|
@@ -7,79 +7,49 @@
|
|
<div id="slider" class="mui-slider mui-fullscreen vongi-over">
|
|
<div id="slider" class="mui-slider mui-fullscreen vongi-over">
|
|
<div id="sliderSegmentedControl" class="mui-scroll-wrapper mui-slider-indicator mui-segmented-control mui-segmented-control-inverted">
|
|
<div id="sliderSegmentedControl" class="mui-scroll-wrapper mui-slider-indicator mui-segmented-control mui-segmented-control-inverted">
|
|
<div class="mui-scroll">
|
|
<div class="mui-scroll">
|
|
- <a class="mui-control-item mui-active" href="#item1mobile">
|
|
|
|
- <span class="fyy-badge">待处理<span class="mui-badge">5</span></span>
|
|
|
|
|
|
+ <a @click="reloadList('0')" :class="'mui-control-item '+(listForm.status=='0'?'mui-active':'')">
|
|
|
|
+ <span class="fyy-badge">待处理<span class="mui-badge" v-if="firstRecordsTotal" v-text="firstRecordsTotal"></span></span>
|
|
</a>
|
|
</a>
|
|
- <a class="mui-control-item" href="#item2mobile">
|
|
|
|
|
|
+ <a @click="reloadList('1')" :class="'mui-control-item '+(listForm.status=='1'?'mui-active':'')">
|
|
已处理
|
|
已处理
|
|
</a>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="mui-slider-group vongi-cchai">
|
|
<div class="mui-slider-group vongi-cchai">
|
|
- <div id="item1mobile" class="mui-slider-item mui-control-content mui-active">
|
|
|
|
- <div id="scroll1" class="mui-scroll-wrapper vongi-over-hei">
|
|
|
|
|
|
+ <div v-if="listForm.status=='0'" class="mui-slider-item mui-control-content mui-active">
|
|
|
|
+ <div class="mui-scroll-wrapper vongi-over-hei">
|
|
<div class="mui-scroll">
|
|
<div class="mui-scroll">
|
|
<form class="mui-input-group fyy-checkbox">
|
|
<form class="mui-input-group fyy-checkbox">
|
|
- <div class="mui-input-row mui-checkbox mui-left">
|
|
|
|
- <a href="">
|
|
|
|
- <h4>赵刚的出差申请<span class="mui-h6 mui-pull-right">10-17</span></h4>
|
|
|
|
- <p class='mui-ellipsis'>出差事由:去长沙沟通设备调试问题</p>
|
|
|
|
|
|
+ <div v-for="(item,index) in recordList" class="mui-input-row mui-checkbox mui-left">
|
|
|
|
+ <router-link :to="{name:'MasterBusinessTravelVerifyInfo',query:{id:item.id}}">
|
|
|
|
+ <h4>{{item.personName}}的出差申请<span class="mui-h6 mui-pull-right" v-text="item.startTime.substr(5)"></span></h4>
|
|
|
|
+ <p class='mui-ellipsis'>出差事由:{{item.content}}</p>
|
|
<p class='mui-ellipsis flew-items flew-sp'>
|
|
<p class='mui-ellipsis flew-items flew-sp'>
|
|
- 预估天数:2天
|
|
|
|
- <button type="button" class="mui-btn mui-btn-primary mui-btn-outlined">审批中</button>
|
|
|
|
|
|
+ 预估天数:{{item.estimatedTime}}天
|
|
|
|
+ <button type="button" class="mui-btn mui-btn-primary mui-btn-outlined" :style="getColor(item.status)"
|
|
|
|
+ v-text="item.statusN"></button>
|
|
</p>
|
|
</p>
|
|
- </a>
|
|
|
|
- <input name="checkbox" value="Item 1" type="checkbox" checked>
|
|
|
|
- </div>
|
|
|
|
- <div class="mui-input-row mui-checkbox mui-left">
|
|
|
|
- <a href="">
|
|
|
|
- <h4>赵刚的出差申请<span class="mui-h6 mui-pull-right">10-17</span></h4>
|
|
|
|
- <p class='mui-ellipsis'>出差事由:去长沙沟通设备调试问题</p>
|
|
|
|
- <p class='mui-ellipsis flew-items flew-sp'>
|
|
|
|
- 预估天数:2天
|
|
|
|
- <button type="button" class="mui-btn mui-btn-primary mui-btn-outlined">审批中</button>
|
|
|
|
- </p>
|
|
|
|
- </a>
|
|
|
|
- <input name="checkbox" value="Item 1" type="checkbox">
|
|
|
|
- </div>
|
|
|
|
- <div class="mui-input-row mui-checkbox mui-left">
|
|
|
|
- <a href="">
|
|
|
|
- <h4>赵刚的出差申请<span class="mui-h6 mui-pull-right">10-17</span></h4>
|
|
|
|
- <p class='mui-ellipsis'>出差事由:去长沙沟通设备调试问题</p>
|
|
|
|
- <p class='mui-ellipsis flew-items flew-sp'>
|
|
|
|
- 预估天数:2天
|
|
|
|
- <button type="button" class="mui-btn mui-btn-primary mui-btn-outlined">审批中</button>
|
|
|
|
- </p>
|
|
|
|
- </a>
|
|
|
|
- <input name="checkbox" value="Item 1" type="checkbox">
|
|
|
|
|
|
+ </router-link>
|
|
|
|
+ <input name="checkbox" v-model="selectIdList" :value="item.id" type="checkbox">
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <div id="item2mobile" class="mui-slider-item mui-control-content">
|
|
|
|
|
|
+ <div v-if="listForm.status=='1'" class="mui-slider-item mui-control-content">
|
|
<div class="mui-scroll-wrapper">
|
|
<div class="mui-scroll-wrapper">
|
|
<div class="mui-scroll">
|
|
<div class="mui-scroll">
|
|
<ul class="mui-table-view mui-table-view-chevron">
|
|
<ul class="mui-table-view mui-table-view-chevron">
|
|
- <li class="mui-table-view-cell mui-media">
|
|
|
|
- <a href="">
|
|
|
|
- <h4>赵刚的出差申请<span class="mui-h6 mui-pull-right">10-17</span></h4>
|
|
|
|
- <p class='mui-ellipsis'>出差事由:去长沙沟通设备调试问题</p>
|
|
|
|
|
|
+ <li v-for="(item,index) in recordList" class="mui-table-view-cell mui-media">
|
|
|
|
+ <router-link :to="{name:'MasterBusinessTravelVerifyInfo',query:{id:item.id}}">
|
|
|
|
+ <h4>{{item.personName}}的出差申请<span class="mui-h6 mui-pull-right" v-text="item.startTime.substr(5)"></span></h4>
|
|
|
|
+ <p class='mui-ellipsis'>出差事由:{{item.content}}</p>
|
|
<p class='mui-ellipsis flew-items flew-sp'>
|
|
<p class='mui-ellipsis flew-items flew-sp'>
|
|
- 预估天数:2天
|
|
|
|
- <button type="button" class="mui-btn mui-btn-success mui-btn-outlined">已通过</button>
|
|
|
|
|
|
+ 预估天数:{{item.estimatedTime}}天
|
|
|
|
+ <button type="button" class="mui-btn mui-btn-primary mui-btn-outlined" :style="getColor(item.status)"
|
|
|
|
+ v-text="item.statusN"></button>
|
|
</p>
|
|
</p>
|
|
- </a>
|
|
|
|
- </li>
|
|
|
|
- <li class="mui-table-view-cell mui-media">
|
|
|
|
- <a href="">
|
|
|
|
- <h4>赵刚的出差申请<span class="mui-h6 mui-pull-right">10-17</span></h4>
|
|
|
|
- <p class='mui-ellipsis'>出差事由:去长沙沟通设备调试问题去长沙沟通设备调试问题去长沙沟通设备调试问题</p>
|
|
|
|
- <p class='mui-ellipsis flew-items flew-sp'>
|
|
|
|
- 预估天数:2天
|
|
|
|
- <button type="button" class="mui-btn mui-btn-danger mui-btn-outlined">已拒绝</button>
|
|
|
|
- </p>
|
|
|
|
- </a>
|
|
|
|
|
|
+ </router-link>
|
|
</li>
|
|
</li>
|
|
</ul>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
@@ -87,15 +57,15 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <div class="fyy-bindfyy-btn">
|
|
|
|
|
|
+ <div v-show="recordList.length>0 && listForm.status==0" class="fyy-bindfyy-btn">
|
|
<form class="mui-input-group">
|
|
<form class="mui-input-group">
|
|
<div class="mui-input-row mui-checkbox mui-left">
|
|
<div class="mui-input-row mui-checkbox mui-left">
|
|
<label>全选</label>
|
|
<label>全选</label>
|
|
- <input name="checkbox" value="Item 1" type="checkbox">
|
|
|
|
|
|
+ <input v-model="allSelect" value="1" type="checkbox" @click="selectAll" :checked="recordList.length==selectIdList.length">
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</form>
|
|
- <button type="button" class="mui-btn mui-btn-danger">拒绝</button>
|
|
|
|
- <button type="button" class="mui-btn mui-btn-success">同意</button>
|
|
|
|
|
|
+ <button type="button" class="mui-btn mui-btn-danger" @click="openFrom('2')">拒绝</button>
|
|
|
|
+ <button type="button" class="mui-btn mui-btn-success" @click="openFrom('1')">同意</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
@@ -115,7 +85,7 @@
|
|
mapMutations
|
|
mapMutations
|
|
} from 'vuex'
|
|
} from 'vuex'
|
|
export default {
|
|
export default {
|
|
- name: 'MasterBusinessTravelList',
|
|
|
|
|
|
+ name: 'MasterBusinessTravelVerifyList',
|
|
components: {
|
|
components: {
|
|
Common,
|
|
Common,
|
|
Loading,
|
|
Loading,
|
|
@@ -129,11 +99,23 @@
|
|
isLoading: false,
|
|
isLoading: false,
|
|
|
|
|
|
listForm: {
|
|
listForm: {
|
|
|
|
+ type: '3',
|
|
pageIndex: 1,
|
|
pageIndex: 1,
|
|
pageSize: 20,
|
|
pageSize: 20,
|
|
totalPage: 1,
|
|
totalPage: 1,
|
|
|
|
+ status: '0'
|
|
},
|
|
},
|
|
recordList: [],
|
|
recordList: [],
|
|
|
|
+
|
|
|
|
+ subForm: {
|
|
|
|
+ ids: '',
|
|
|
|
+ approvalContent: '',
|
|
|
|
+ status: ''
|
|
|
|
+ },
|
|
|
|
+
|
|
|
|
+ selectIdList: [],
|
|
|
|
+ allSelect: [],
|
|
|
|
+ firstRecordsTotal: 0,
|
|
}
|
|
}
|
|
},
|
|
},
|
|
created() {},
|
|
created() {},
|
|
@@ -141,7 +123,7 @@
|
|
//获取列表
|
|
//获取列表
|
|
getList() {
|
|
getList() {
|
|
this.isLoading = true;
|
|
this.isLoading = true;
|
|
- API_BusinessTravel.pageList(this.listForm).then(response => {
|
|
|
|
|
|
+ API_BusinessTravel.verifyList(this.listForm).then(response => {
|
|
if (response) {
|
|
if (response) {
|
|
if (this.listForm.pageIndex == 1) {
|
|
if (this.listForm.pageIndex == 1) {
|
|
this.recordList = response.data;
|
|
this.recordList = response.data;
|
|
@@ -154,6 +136,11 @@
|
|
];
|
|
];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ if (this.listForm.status == 0) {
|
|
|
|
+ this.firstRecordsTotal = response.recordsTotal;
|
|
|
|
+ }
|
|
|
|
+
|
|
this.listForm.pageIndex++;
|
|
this.listForm.pageIndex++;
|
|
this.isLoading = false;
|
|
this.isLoading = false;
|
|
}).catch(error => {
|
|
}).catch(error => {
|
|
@@ -172,12 +159,80 @@
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
+ //切换
|
|
|
|
+ reloadList(status) {
|
|
|
|
+ this.listForm.status = status;
|
|
|
|
+ this.listForm.pageIndex = 1;
|
|
|
|
+ this.getList();
|
|
|
|
+ },
|
|
|
|
+ //选择所有
|
|
|
|
+ selectAll() {
|
|
|
|
+ if (this.allSelect.length) {
|
|
|
|
+ this.selectIdList = [];
|
|
|
|
+ } else {
|
|
|
|
+ var selectIdList = [];
|
|
|
|
+ this.recordList.forEach(function(item, index) {
|
|
|
|
+ selectIdList.push(item.id);
|
|
|
|
+ })
|
|
|
|
+ this.selectIdList = selectIdList;
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ //显示内容表单
|
|
|
|
+ openFrom(status) {
|
|
|
|
+ if (!this.selectIdList.length) {
|
|
|
|
+ mui.toast('请选择要处理的信息');
|
|
|
|
+ } else {
|
|
|
|
+ this.subForm.status = status;
|
|
|
|
+ this.subForm.content = status == 1 ? '同意' : '拒绝';
|
|
|
|
+ //this.openFromVisible = true;
|
|
|
|
+ //直接点击处理,不需要弹窗理由框
|
|
|
|
+ this.doAction();
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ //检测表单
|
|
|
|
+ checkForm() {
|
|
|
|
+ if (!this.subForm.ids) {
|
|
|
|
+ mui.toast('请选择要处理的信息');
|
|
|
|
+ return false;
|
|
|
|
+ } else {
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ //同意拒绝
|
|
|
|
+ doAction() {
|
|
|
|
+ this.subForm.ids = this.selectIdList.join(',');
|
|
|
|
+ if (this.checkForm()) {
|
|
|
|
+ this.isLoading = true;
|
|
|
|
+ API_BusinessTravel.businessOutApproval(this.subForm).then(response => {
|
|
|
|
+ this.isLoading = false;
|
|
|
|
+
|
|
|
|
+ this.openFromVisible = false;
|
|
|
|
+ this.listForm.pageIndex = 1;
|
|
|
|
+ this.getList();
|
|
|
|
+ }).catch(error => {
|
|
|
|
+ this.isLoading = false;
|
|
|
|
+ mui.toast(error);
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ //获取状态颜色
|
|
|
|
+ getColor(status) {
|
|
|
|
+ var color = '';
|
|
|
|
+ if (status == '0') {
|
|
|
|
+ color = '#4fc5f7';
|
|
|
|
+ } else if (status == '1') {
|
|
|
|
+ color = '#55f868';
|
|
|
|
+ } else if (status == '2') {
|
|
|
|
+ color = '#fe616c';
|
|
|
|
+ }
|
|
|
|
+ return 'color:' + color + ';border-color:' + color + ';';
|
|
|
|
+ },
|
|
asynCallBack() {
|
|
asynCallBack() {
|
|
|
|
|
|
},
|
|
},
|
|
},
|
|
},
|
|
mounted() {
|
|
mounted() {
|
|
- //this.getList();
|
|
|
|
|
|
+ this.getList();
|
|
//监控下拉加载事件
|
|
//监控下拉加载事件
|
|
var _this = this;
|
|
var _this = this;
|
|
window.addEventListener('scroll', _this.handleScrool);
|
|
window.addEventListener('scroll', _this.handleScrool);
|
|
@@ -193,6 +248,16 @@
|
|
token: 'token',
|
|
token: 'token',
|
|
})
|
|
})
|
|
},
|
|
},
|
|
|
|
+ //keepalive监控判断
|
|
|
|
+ beforeRouteLeave(to, from, next) {
|
|
|
|
+ console.log(to.name);
|
|
|
|
+ if (['MasterBusinessTravelInfo'].indexOf(to.name) > -1) {
|
|
|
|
+ this.$store.commit('SET_KEEP_ALIVE_COMPONENTS', ['MasterBusinessTravelVerifyList'])
|
|
|
|
+ } else {
|
|
|
|
+ this.$store.commit('SET_KEEP_ALIVE_COMPONENTS', [])
|
|
|
|
+ }
|
|
|
|
+ next()
|
|
|
|
+ },
|
|
}
|
|
}
|
|
</script>
|
|
</script>
|
|
|
|
|