zhengkaixin 4 lat temu
rodzic
commit
1ee8edf00f

+ 4 - 3
src/projects/business/views/Master/Attendance/LeaveForm.vue

@@ -2,7 +2,7 @@
 <div>
 
 	<common @asynCallBack="asynCallBack"></common>
-	<top-header :pageTitle="pageTitle"  ></top-header>
+	<top-header :pageTitle="pageTitle" :routeName="routeName" ></top-header>
 
 	<div class="mui-content vongi-wordcard">
 			<div class="mui-content-padded">
@@ -108,6 +108,7 @@
 
 				},
 				picList: [],
+				routeName: "Master",
 
 			}
 		},
@@ -194,7 +195,7 @@
 					var startTime= _this.tjForm.startTime=='请选择'? new Date():_this.tjForm.startTime;
 
 					var picker = new mui.DtPicker({
-						"type": "date",
+						"type": "datetime",
 						"beginYear": 2020,
 						"endYear": 2040,
 					});
@@ -206,7 +207,7 @@
 				selectEndTime() {
 					var _this = this;
 					var picker = new mui.DtPicker({
-						"type": "date",
+						"type": "datetime",
 						"beginYear": 2020,
 						"endYear": 2040,
 						"beginDate": _this.tjForm.startTime,

+ 2 - 2
src/projects/business/views/Master/Attendance/LeaveInfo.vue

@@ -56,11 +56,11 @@
 						<span>{{detail.approvedName}}</span>
 					</div>
 					<div class="mui-input-row">
-						<label>审核意见</label>
+						<label>审核状态</label>
 						<span>{{detail.approvalOpinions}}</span>
 					</div>
 					<div class="mui-input-row">
-						<label>意见说明</label>
+						<label>审核意见</label>
 						<span>{{detail.approvalExplain}}</span>
 					</div>
 					<div class="mui-input-row">

+ 119 - 13
src/projects/business/views/Master/Attendance/VerifyLeaveList.vue

@@ -8,10 +8,10 @@
             <div id="slider" class="mui-slider mui-fullscreen">
                 <div id="sliderSegmentedControl" class="mui-scroll-wrapper mui-slider-indicator mui-segmented-control mui-segmented-control-inverted">
                     <div class="mui-scroll">
-                        <a class="mui-control-item mui-active" >
-                            <span class="fyy-badge">待处理<span class="mui-badge">5</span></span>
+                        <a class="mui-control-item " @click="reloadList(0)" :class="listForm.type=='0'?'mui-active':''">
+                            <span class="fyy-badge">待处理<span class="mui-badge">{{num}}</span></span>
                         </a>
-                        <a class="mui-control-item" href="#item2mobile">
+                        <a class="mui-control-item" @click="reloadList(1)":class="listForm.type=='1'?'mui-active':''" >
                             已处理
                         </a>
                     </div>
@@ -20,10 +20,24 @@
                     <div id="item1mobile" class="mui-slider-item mui-control-content mui-active">
                         <div id="scroll1" class="mui-scroll-wrapper">
                             <div class="mui-scroll">
-                                <form class="mui-input-group fyy-checkbox">
+
+                                <ul class="mui-table-view mui-table-view-chevron" v-if="listForm.type==1">
+                                    <li class="mui-table-view-cell mui-media" v-for="mod in recordList">
+                                        <router-link class="mui-navigate-right" :to="{name: 'MasterAttendanceLeaveInfo', query: {id:mod.id}}">
+                                            <div class="mui-media-object mui-pull-left">
+                                                <img :src="mod.picUrl"></div>
+                                            <div class="mui-media-body">
+                                                {{mod.name}}
+                                                <p class='mui-ellipsis'><span class="colorfe616c">{{mod.typeN}}</span>请假申请</p>
+                                            </div>
+                                            <button type="button" class="mui-btn  mui-btn-outlined" :class="statusColor[mod.status]" v-text="status[mod.status]"></button>
+                                        </router-link>
+                                    </li>
+                                </ul>
+                                <form class="mui-input-group fyy-checkbox" v-if="listForm.type==0">
                                     <div class="mui-input-row mui-checkbox mui-left" v-for="mod in recordList">
-                                        <label @click="detail(mod.id)" >
-                                            <router-link class="mui-navigate-right" :to="{name: 'MasterAttendanceLeaveInfo', params: {data:iten}}">
+
+                                            <router-link class="mui-navigate-right" :to="{name: 'MasterAttendanceLeaveInfo', query: {id:mod.id}}">
 
 
                                                 <div class="mui-media-object mui-pull-left" >
@@ -33,20 +47,20 @@
                                                     <p class='mui-ellipsis'><span class="colorfe616c">{{mod.typeN}}</span>请假申请</p>
                                                 </div>
                                             </router-link>
-                                        </label>
-                                        <input name="checkbox" v-model="selectIndex" :value="mod.id" type="checkbox"  >
+
+                                        <input name="checkbox" v-model="selectIndex" :value="mod.id" type="checkbox" v-if="listForm.type==0" >
                                     </div>
                                 </form>                               
                             </div>
-                            <div class="fyy-bindfyy-btn">
+                            <div class="fyy-bindfyy-btn" v-if="listForm.type==0">
                                     <form class="mui-input-group">
                                         <div class="mui-input-row mui-checkbox mui-left">
                                             <label>全选</label>
-                                            <input name="checkbox" value="Item 1" type="checkbox">
+                                            <input name="checkbox"  v-model="allclick" value="0" @click="selectAll()"  type="checkbox">
                                         </div>
                                     </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>
@@ -56,6 +70,21 @@
             </div>
 
         </div>
+
+        <!-- 审批弹窗 -->
+        <div v-show="openFromVisible" class="mui-backdrop mui-active"></div>
+        <div v-show="openFromVisible" class="mui-card fyy-popup">
+            <div class="mui-card-header mui-h3">审批意见</div>
+            <div class="mui-card-content">
+                <div class="mui-input-row">
+                    <textarea v-model="subForm.approvalExplain" rows="5" placeholder="请输入"></textarea>
+                </div>
+            </div>
+            <div class="vongi-btn">
+                <button class="mui-btn mui-btn-primary" @click="doAction">提交</button>
+            </div>
+        </div>
+
         <loading :visible="isLoading"></loading>
 
     </div>
@@ -92,11 +121,20 @@
                     totalPage: 1,
                     result: 0,
                 },
+                num:0,
                 recordList: [],
                 status: ['待审核', '已批准', '已拒绝'],
                 statusColor: ['', 'mui-btn-success', 'mui-btn-danger'],
                 selectIndex:[],
-
+                //审批内容弹窗显示
+                openFromVisible: false,
+                subForm:{
+                    id:0,
+                    status:0 ,
+                    approvalOpinions:'' ,//意见
+                    approvalExplain:'' ,//说明
+                },
+                allclick:false
             }
         },
         created() {
@@ -104,6 +142,70 @@
             //this.listForm.result = this.$route.query.result != null ? this.$route.query.result : 0;
         },
         methods: {
+            //同意拒绝
+            doAction() {
+
+                 console.log(this.selectIndex)
+                if (this.checkForm()) {
+                    var btnArray = ['否', '是'];
+                    var _this = this;
+                    mui.confirm('确认当操作?', '提示', btnArray, function(e) {
+                        _this.isLoading = true;
+
+
+                        _this.subForm.id=_this.selectIndex.toString();
+
+                        API_Leave.approved(_this.subForm).then(response => {
+                            _this.isLoading = false;
+
+                            _this.openFromVisible = false;
+                            _this.listForm.pageIndex = 1;
+                            _this.getList();
+                        }).catch(error => {
+                            _this.isLoading = false;
+                            mui.toast(error);
+                        })
+
+                    });
+                }
+            },
+            //检测表单
+            checkForm() {
+                if (!this.subForm.approvalExplain) {
+                    mui.toast('请填写审核意见');
+                    return false;
+                } else {
+                    return true;
+                }
+            },
+            reloadList(status){
+                this.listForm.type = status;
+                this.listForm.pageIndex = 1;
+                this.getList();
+            },
+            //选择所有
+            selectAll() {
+                console.log()
+                if (this.allclick) {
+                    this.selectIndex=[];
+                }else{
+                    this.selectIndex=[];
+                    for(var i in this.recordList){
+                      var mod=  this.recordList[i];
+                        this.selectIndex.push(mod.id);
+                    }
+                }
+            },
+            //显示内容表单
+            openFrom(status,val) {
+                if (!this.selectIndex.length) {
+                    mui.toast('请选择要处理的信息');
+                } else {
+                    this.subForm.status = status;
+                    this.subForm.approvalOpinions = val;
+                    this.openFromVisible = true;
+                }
+            },
             //info
             detail(id) {
                 this.$router.push({
@@ -130,6 +232,10 @@
                             this.recordList = response.data;
                             this.listForm.pageIndex = response.pageNumber;
                             this.listForm.totalPage = response.totalPage;
+                            if( this.listForm.type=='0'){
+                                this.num=response.recordsTotal;
+
+                            }
                         } else {
                             this.recordList = [
                                 ...this.recordList,