From c96cb749fc131b5d220ac40a9134ce544e9ef070 Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期二, 07 五月 2024 18:32:07 +0800
Subject: [PATCH] 应发工资报表模块 接口联调+增加日期的筛选和限制+重组数据得到动态表头和动态数据的逻辑处理

---
 src/views/employeeManage/employeeInfo/components/AddEmployee.vue |   51 +++++++++++++++++++++++++++++++++------------------
 1 files changed, 33 insertions(+), 18 deletions(-)

diff --git a/src/views/employeeManage/employeeInfo/components/AddEmployee.vue b/src/views/employeeManage/employeeInfo/components/AddEmployee.vue
index cc662c9..3a3fd14 100644
--- a/src/views/employeeManage/employeeInfo/components/AddEmployee.vue
+++ b/src/views/employeeManage/employeeInfo/components/AddEmployee.vue
@@ -4,8 +4,8 @@
     <div slot="title" class="tac drawerHeader">{{ editRow.title }}浜哄憳</div>
     <div class="dialog-content-box">
       <el-form class="form-box" ref="form" :rules="rules" :model="form" label-width="120px" label-position="right">
-        <el-form-item label="鍛樺伐缂栫爜锛�" prop="id">
-          <el-input v-model="form.id" placeholder="璇疯緭鍏�"></el-input>
+        <el-form-item label="鍛樺伐缂栫爜锛�" prop="id" >
+          <el-input v-model="form.id" placeholder="璇疯緭鍏�" :disabled="editRow.title=='缂栬緫'?true:false"></el-input>
         </el-form-item>
         <el-form-item label="浜哄憳濮撳悕锛�" prop="name">
           <el-input v-model="form.name" placeholder="璇疯緭鍏�"></el-input>
@@ -15,11 +15,12 @@
         </el-form-item>
         <el-form-item label="鍏ヨ亴鏃堕棿锛�" prop="employmentTime">
           <el-date-picker v-model="form.employmentTime" style="width:100%;" type="date" placeholder="閫夋嫨鏃ユ湡"
+          :picker-options="pickerOptions"
             value-format="yyyy-MM-dd">
           </el-date-picker>
         </el-form-item>
         <el-form-item label="杞﹂棿锛�" prop="shopNameObj">
-          <el-select v-model="form.shopNameObj" filterable placeholder="璇烽�夋嫨" style="width: 100%" @change='getGroupNumber'>
+          <el-select v-model="form.shopNameObj" filterable placeholder="璇烽�夋嫨" style="width: 100%" @change="getGroupNumber(false,'shopNameObj')">
             <el-option v-for="item in shopList" :key="item.number"
                   :label="item.name"
                   :value="{ value: item.number, label: item.name }">
@@ -27,15 +28,18 @@
           </el-select>
         </el-form-item>
         <el-form-item label="缁勫埆锛�" prop="groupNumber">
-          <el-select v-model="form.groupNumber" filterable placeholder="璇烽�夋嫨" style="width: 100%">
+          <el-select v-model="form.groupNumber" filterable 
+          placeholder="璇峰厛閫夋嫨杞﹂棿"
+          no-data-text="璇峰厛閫夋嫨杞﹂棿"
+          style="width: 100%">
             <el-option v-for="item in groupNumberList" :key="item" :label="item" :value="item">
             </el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="宸ョ锛�" prop="workTypeObj">
           <el-select v-model="form.workTypeObj" filterable placeholder="璇烽�夋嫨" style="width: 100%">
-            <el-option v-for="item in workTypeList" :key="item.id" :label="item.name" 
-            :value="{ value: item.id, label: item.name }">
+            <el-option v-for="item in workTypeList" :key="item.ID" :label="item.workName" 
+            :value="{ value: item.ID, label: item.workName }">
             </el-option>
           </el-select>
         </el-form-item>
@@ -73,11 +77,16 @@
         employmentTime:'',
         shopNameObj:{},
         groupNumber:'',
-        workTypeObj:{},
+        workTypeObj:null,
       },
       shopList:[],//杞﹂棿
       groupNumberList:[],//缁勫埆
       workTypeList:[], //宸ョ
+      pickerOptions: {
+        disabledDate(time) {
+          return time.getTime() > new Date().getTime();
+        },
+      },
       rules: {
         id: [
           {
@@ -90,6 +99,13 @@
           {
             required: true,
             message: "璇疯緭鍏ュ憳宸ョ紪鐮�",
+            trigger: ["blur", "change"],
+          },
+        ],
+        workTypeObj: [
+          {
+            required: true,
+            message: "璇烽�夋嫨",
             trigger: ["blur", "change"],
           },
         ],
@@ -133,18 +149,22 @@
           employmentTime:'',
           shopNameObj:{},
           groupNumber:'',
-          workTypeObj:{},
+          workTypeObj:null,
         };
         this.$nextTick(()=>{
           this.$refs["form"].resetFields();
           if (this.editRow.id) {
             this.form = JSON.parse(JSON.stringify(this.editRow));
+            this.form.groupNumber=this.form.groupNumber?this.form.groupNumber:null
             this.getGroupNumber(true)
           }
         })
       }
     },
-    getGroupNumber(val){
+    getGroupNumber(val,name){
+      if (name == "shopNameObj") {
+        this.form.groupNumber=''
+      }
       // shopName
       if(this.form.shopNameObj.value){
         //缁勫埆
@@ -156,21 +176,15 @@
                 for(let i in groupNumberList){
                   this.groupNumberList.push(groupNumberList[i])
                 }
-                this.form.shopName=''
-                // 缂栬緫
-                if(val){
-                  setTimeout(()=>{
-                    this.$set(this.form,'shopName',this.form.shopName)
-                  },200)
-                }
+                
               }
             }else{
               this.groupNumberList=[]
-              this.form.shopName=''
+              this.form.groupNumber=''
             }
           });
       }else{
-        this.workshopGroupList =[]
+        this.groupNumberList =[]
       }
     },
     getSelectDataList() {
@@ -208,6 +222,7 @@
           form.shopName=form.shopNameObj.label
           form.workTypeId=form.workTypeObj.value
           form.workType=form.workTypeObj.label
+          form.groupNumber=form.groupNumber?form.groupNumber:null
           if (this.editRow.type == "add") {
             createWorkerInfo(form).then((res) => {
               if (res.code == 200) {

--
Gitblit v1.8.0