فهرست منبع

1.大中型绩效相关统计筛选日期调整为不可清空
2.大中型产品抽检新增字段归属时间(modified字段)
3.其他相关调整

GouGengquan 2 روز پیش
والد
کامیت
8349deacfc

+ 0 - 2
src/views/hr/payslipEmail.vue

@@ -251,7 +251,6 @@ export default {
     },
     // 上传
     handleUploadForm(param) {
-      console.log(this.fileData);
       let thisInfo = this;
       let formData = new FormData();
       // 在formData中加入我们需要的参数
@@ -300,7 +299,6 @@ export default {
     // 上传文件并发送邮件
     sendEmail() {
       this.$refs.sendEmailForm.validate((valid) => {
-        console.log(valid);
         if (valid) {
           this.$refs.upload.submit();
         }

+ 1 - 1
src/views/statistical/major/departmentPerformanceOverview.vue

@@ -7,7 +7,7 @@
             <div style="width: 100%; height: 50px;">
                 <el-date-picker style="margin-right: 20px;float: left;" v-model="selectDate" type="daterange"
                     :picker-options="pickerOptions" format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd" range-separator="至"
-                    start-placeholder="开始日期" end-placeholder="结束日期" align="right">
+                    start-placeholder="开始日期" end-placeholder="结束日期" align="right" :clearable="false">
                 </el-date-picker>
                 <el-button class="filter-item" style="margin-left: 10px;float: left;" type="primary" @click="searchList()"
                     round>搜索

+ 2 - 2
src/views/statistical/major/evaluateEfficiency.vue

@@ -9,7 +9,7 @@
                     <div style="width: 100%; height: 50px;">
                         <el-date-picker style="margin-right: 20px;float: left;" v-model="selectDate1" type="daterange"
                             :picker-options="pickerOptions" format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd"
-                            range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" align="right">
+                            range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" align="right" :clearable="false">
                         </el-date-picker>
                         <el-select v-model="listQueryByDepartment.departmentId" filterable placeholder="接单部门" :disabled="majorLeader || majorUser"
                             style=" width: 200px;margin-left: 10px;float: left;">
@@ -196,7 +196,7 @@
                     <div style="width: 100%; height: 50px;">
                         <el-date-picker style="margin-right: 20px;float: left;" v-model="selectDate2" type="daterange"
                             :picker-options="pickerOptions" format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd"
-                            range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" align="right">
+                            range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" align="right" :clearable="false">
                         </el-date-picker>
                         <el-select v-model="listQueryByEvaluator.departmentId" filterable placeholder="接单部门" :disabled="majorLeader || majorUser"
                             style=" width: 200px;margin-left: 10px;float: left;">

+ 136 - 54
src/views/statistical/major/ledgerList.vue

@@ -210,7 +210,7 @@
         </parentTable>
       </y-page-list-layout>
     </div>
-    <el-dialog :visible.sync="checkDialogVisible" center width="70%" top="5vh">
+    <el-dialog :visible.sync="checkDialogVisible" center width="70%" top="5vh" @close="clearCheckFrom()">
       <el-divider content-position="left">抽检扣分</el-divider>
       <el-form ref="spotCheck" :model="spotCheck">
         <div>
@@ -230,6 +230,16 @@
                 <el-input-number :min="0" style="width:100%;" type="number" v-model="spotCheck.fatalMistake" class="filter-item" />
               </el-form-item>
             </el-col>
+            <el-col :span="6">
+              <el-form-item
+                prop="modified"
+                label-width="120px"
+                label="归属时间:"
+                :rules="[{ required: spotCheck.normalMistake || spotCheck.hardMistake || spotCheck.fatalMistake, message: '请选择归属时间', trigger: 'change' }]"
+              >
+                <el-date-picker value-format="yyyy-MM-dd HH:mm:ss" style="width:100%;" v-model="spotCheck.modified" type="date" placeholder="选择日期"></el-date-picker>
+              </el-form-item>
+            </el-col>
           </el-row>
           <el-row>
             <el-col :xs="24" :sm="12" :lg="24" :span="12">
@@ -264,6 +274,16 @@
                 <el-input-number :min="0" style="width:100%;" type="number" v-model="outsideCheck.serviceAttitude" class="filter-item" />
               </el-form-item>
             </el-col>
+            <el-col :span="6">
+              <el-form-item
+                prop="modified"
+                label-width="120px"
+                label="归属时间:"
+                :rules="[{ required: outsideCheck.normalMistake || outsideCheck.hardMistake || outsideCheck.fatalMistake, message: '请选择归属时间', trigger: 'change' }]"
+              >
+                <el-date-picker value-format="yyyy-MM-dd HH:mm:ss" style="width:100%;" v-model="outsideCheck.modified" type="date" placeholder="选择日期"></el-date-picker>
+              </el-form-item>
+            </el-col>
           </el-row>
           <el-row>
             <el-col :xs="24" :sm="12" :lg="24" :span="12">
@@ -298,6 +318,16 @@
                 <el-input-number :min="0" style="width:100%;" type="number" v-model="insideCheck.serviceAttitude" class="filter-item" />
               </el-form-item>
             </el-col>
+            <el-col :span="6">
+              <el-form-item
+                prop="modified"
+                label-width="120px"
+                label="归属时间:"
+                :rules="[{ required: insideCheck.normalMistake || insideCheck.hardMistake || insideCheck.fatalMistake, message: '请选择归属时间', trigger: 'change' }]"
+              >
+                <el-date-picker value-format="yyyy-MM-dd HH:mm:ss" style="width:100%;" v-model="insideCheck.modified" type="date" placeholder="选择日期"></el-date-picker>
+              </el-form-item>
+            </el-col>
           </el-row>
           <el-row>
             <el-col :xs="24" :sm="12" :lg="24" :span="12">
@@ -311,12 +341,17 @@
       <el-divider content-position="left">额外加减分</el-divider>
       <el-form ref="bonusPoints1" :model="bonusPoints1">
         <el-row>
-          <el-col :span="8">
+          <el-col :span="6">
             <el-form-item prop="score" label-width="120px" label="疑难项目加减分:">
               <el-input-number style="width:100%;" type="number" v-model="bonusPoints1.score" class="filter-item" />
             </el-form-item>
           </el-col>
-          <el-col :span="16">
+          <el-col :span="6">
+            <el-form-item prop="modified" label-width="120px" label="归属时间:" :rules="[{ required: bonusPoints1.score, message: '请选择归属时间', trigger: 'change' }]">
+              <el-date-picker value-format="yyyy-MM-dd HH:mm:ss" style="width:100%;" v-model="bonusPoints1.modified" type="date" placeholder="选择日期"></el-date-picker>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
             <el-form-item prop="reason" label-width="120px" label="加减分原因:">
               <el-input v-model="bonusPoints1.reason" class="filter-item" type="textarea" />
             </el-form-item>
@@ -325,12 +360,17 @@
       </el-form>
       <el-form ref="bonusPoints2" :model="bonusPoints2">
         <el-row>
-          <el-col :span="8">
+          <el-col :span="6">
             <el-form-item prop="score" label-width="120px" label="总经理加减分:">
               <el-input-number style="width:100%;" type="number" v-model="bonusPoints2.score" class="filter-item" />
             </el-form-item>
           </el-col>
-          <el-col :span="16">
+          <el-col :span="6">
+            <el-form-item prop="modified" label-width="120px" label="归属时间:" :rules="[{ required: bonusPoints2.score, message: '请选择归属时间', trigger: 'change' }]">
+              <el-date-picker value-format="yyyy-MM-dd HH:mm:ss" style="width:100%;" v-model="bonusPoints2.modified" type="date" placeholder="选择日期"></el-date-picker>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
             <el-form-item prop="reason" label-width="120px" label="加减分原因:">
               <el-input v-model="bonusPoints2.reason" class="filter-item" type="textarea" />
             </el-form-item>
@@ -340,12 +380,17 @@
       <el-form ref="bonusPoints3" :model="bonusPoints3">
         <div>
           <el-row>
-            <el-col :span="8">
+            <el-col :span="6">
               <el-form-item prop="score" label-width="120px" label="部门综合加减分:">
                 <el-input-number style="width:100%;" type="number" v-model="bonusPoints3.score" class="filter-item" />
               </el-form-item>
             </el-col>
-            <el-col :span="16">
+            <el-col :span="6">
+              <el-form-item prop="modified" label-width="120px" label="归属时间:" :rules="[{ required: bonusPoints3.score, message: '请选择归属时间', trigger: 'change' }]">
+                <el-date-picker value-format="yyyy-MM-dd HH:mm:ss" style="width:100%;" v-model="bonusPoints3.modified" type="date" placeholder="选择日期"></el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
               <el-form-item prop="reason" label-width="120px" label="加减分原因:">
                 <el-input v-model="bonusPoints3.reason" class="filter-item" type="textarea" />
               </el-form-item>
@@ -511,7 +556,7 @@ export default {
       if (this.selectDate) {
         this.listQuery.startTime = this.selectDate[0] + ' 00:00:00';
         this.listQuery.endTime = this.selectDate[1] + ' 23:59:59';
-      }else {
+      } else {
         this.listQuery.startTime = null;
         this.listQuery.endTime = null;
       }
@@ -548,11 +593,11 @@ export default {
     },
     // 打开抽检弹窗
     openCheckDialog(productionId) {
-      this.checkDialogVisible = true;
       this.initProQuality({ productionId: productionId, checkLoop: '抽检', businessType: 'MAJOR_BUSINESS' });
       this.initProQuality({ productionId: productionId, checkLoop: '内部', businessType: 'MAJOR_BUSINESS' });
       this.initProQuality({ productionId: productionId, checkLoop: '外部', businessType: 'MAJOR_BUSINESS' });
       this.initProBonusPoints(productionId, 'MAJOR_BUSINESS');
+      this.checkDialogVisible = true;
     },
     // 质检信息基础信息赋值
     initProQuality(productionPerformance) {
@@ -572,27 +617,13 @@ export default {
         if (res.code === 200 && res.data !== null) {
           switch (productionPerformance.checkLoop) {
             case '抽检':
-              this.spotCheck.id = res.data.id;
-              this.spotCheck.fatalMistake = res.data.fatalMistake;
-              this.spotCheck.hardMistake = res.data.hardMistake;
-              this.spotCheck.normalMistake = res.data.normalMistake;
-              this.spotCheck.reason = res.data.reason;
+              this.spotCheck = res.data;
               break;
             case '内部':
-              this.insideCheck.id = res.data.id;
-              this.insideCheck.fatalMistake = res.data.fatalMistake;
-              this.insideCheck.hardMistake = res.data.hardMistake;
-              this.insideCheck.normalMistake = res.data.normalMistake;
-              this.insideCheck.serviceAttitude = res.data.serviceAttitude;
-              this.insideCheck.reason = res.data.reason;
+              this.insideCheck = res.data;
               break;
             case '外部':
-              this.outsideCheck.id = res.data.id;
-              this.outsideCheck.fatalMistake = res.data.fatalMistake;
-              this.outsideCheck.hardMistake = res.data.hardMistake;
-              this.outsideCheck.normalMistake = res.data.normalMistake;
-              this.outsideCheck.serviceAttitude = res.data.serviceAttitude;
-              this.outsideCheck.reason = res.data.reason;
+              this.outsideCheck = res.data;
               break;
             default:
               break;
@@ -635,40 +666,91 @@ export default {
       });
     },
     // 保存质检信息
-    saveOrUpdateCheck() {
-      const performances = [];
-      performances.push(this.spotCheck);
-      performances.push(this.insideCheck);
-      performances.push(this.outsideCheck);
-      this.$api.businessProductionPerformance.saveOrUpdate(performances).then((res) => {
-        if (res.code === 200 && res.data) {
-          this.$notify({
-            title: '成功',
-            message: '质检信息保存成功!',
-            type: 'success',
-            duration: 3000,
+    async saveOrUpdateCheck() {
+      try {
+        await Promise.all([
+          this.$refs.spotCheck.validate(),
+          this.$refs.insideCheck.validate(),
+          this.$refs.outsideCheck.validate(),
+          this.$refs.bonusPoints1.validate(),
+          this.$refs.bonusPoints2.validate(),
+          this.$refs.bonusPoints3.validate(),
+        ]);
+        const performances = [];
+        if (this.spotCheck.normalMistake || this.spotCheck.hardMistake || this.spotCheck.fatalMistake) {
+          performances.push(this.spotCheck);
+        }
+        if (this.insideCheck.normalMistake || this.insideCheck.hardMistake || this.insideCheck.fatalMistake) {
+          performances.push(this.insideCheck);
+        }
+        if (this.outsideCheck.normalMistake || this.outsideCheck.hardMistake || this.outsideCheck.fatalMistake) {
+          performances.push(this.outsideCheck);
+        }
+        if (performances.length > 0) {
+          this.$api.businessProductionPerformance.saveOrUpdate(performances).then((res) => {
+            if (res.code === 200 && res.data) {
+              this.$notify({
+                title: '成功',
+                message: '质检信息保存成功!',
+                type: 'success',
+                duration: 3000,
+              });
+              this.clearCheckFrom();
+            }
           });
-          this.checkDialogVisible = false;
         }
-      });
+      } catch (error) {
+        console.log('校验未通过');
+        return;
+      }
     },
     // 保存额外加减分
-    saveOrUpdateBonusPoints() {
-      const bonusPointsArr = [];
-      bonusPointsArr.push(this.bonusPoints1);
-      bonusPointsArr.push(this.bonusPoints2);
-      bonusPointsArr.push(this.bonusPoints3);
-      this.$api.businessProductionBonusPoints.saveOrUpdate(bonusPointsArr).then((res) => {
-        if (res.code === 200 && res.data) {
-          this.$notify({
-            title: '成功',
-            message: '额外加减分信息保存成功!',
-            type: 'success',
-            duration: 3000,
+    async saveOrUpdateBonusPoints() {
+      try {
+        await Promise.all([
+          this.$refs.spotCheck.validate(),
+          this.$refs.insideCheck.validate(),
+          this.$refs.outsideCheck.validate(),
+          this.$refs.bonusPoints1.validate(),
+          this.$refs.bonusPoints2.validate(),
+          this.$refs.bonusPoints3.validate(),
+        ]);
+        const bonusPointsArr = [];
+        if (this.bonusPoints1.score) {
+          bonusPointsArr.push(this.bonusPoints1);
+        }
+        if (this.bonusPoints2.score) {
+          bonusPointsArr.push(this.bonusPoints2);
+        }
+        if (this.bonusPoints3.score) {
+          bonusPointsArr.push(this.bonusPoints3);
+        }
+        if (bonusPointsArr.length > 0) {
+          this.$api.businessProductionBonusPoints.saveOrUpdate(bonusPointsArr).then((res) => {
+            if (res.code === 200 && res.data) {
+              this.$notify({
+                title: '成功',
+                message: '额外加减分信息保存成功!',
+                type: 'success',
+                duration: 3000,
+              });
+              this.clearCheckFrom();
+            }
           });
-          this.checkDialogVisible = false;
         }
-      });
+      } catch (error) {
+        console.log('校验未通过');
+        return;
+      }
+    },
+    clearCheckFrom() {
+      this.$refs.spotCheck.resetFields();
+      this.$refs.insideCheck.resetFields();
+      this.$refs.outsideCheck.resetFields();
+      this.$refs.bonusPoints1.resetFields();
+      this.$refs.bonusPoints2.resetFields();
+      this.$refs.bonusPoints3.resetFields();
+      this.checkDialogVisible = false;
     },
   },
 };

+ 2 - 2
src/views/statistical/major/marketEfficiency.vue

@@ -9,7 +9,7 @@
                     <div style="width: 100%; height: 50px;">
                         <el-date-picker style="margin-right: 20px;float: left;" v-model="selectDate1" type="daterange"
                             :picker-options="pickerOptions" format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd"
-                            range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" align="right">
+                            range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" align="right" :clearable="false">
                         </el-date-picker>
                         <el-select v-model="listQueryByDepartment.departmentId" filterable placeholder="下单部门"
                             style=" width: 200px;margin-left: 10px;float: left;">
@@ -185,7 +185,7 @@
                     <div style="width: 100%; height: 50px;">
                         <el-date-picker style="margin-right: 20px;float: left;" v-model="selectDate2" type="daterange"
                             :picker-options="pickerOptions" format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd"
-                            range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" align="right">
+                            range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" align="right" :clearable="false">
                         </el-date-picker>
                         <el-select v-model="listQueryByManager.departmentId" filterable placeholder="下单部门"
                             style=" width: 200px;margin-left: 10px;float: left;">

+ 3 - 1
src/views/statistical/major/performanceDeduction.vue

@@ -18,6 +18,7 @@
               start-placeholder="开始日期"
               end-placeholder="结束日期"
               align="right"
+              :clearable="false"
             ></el-date-picker>
             <el-select v-model="listQueryByDepartment.departmentId" filterable placeholder="接单部门" style=" width: 200px;margin-left: 10px;float: left;">
               <el-option v-for="(d, id) in allotDepartment" :label="d.name" :value="d.id"></el-option>
@@ -281,6 +282,7 @@
               start-placeholder="开始日期"
               end-placeholder="结束日期"
               align="right"
+              :clearable="false"
             ></el-date-picker>
             <el-select v-model="listQueryByEvaluator.departmentId" filterable placeholder="接单部门" style=" width: 200px;margin-left: 10px;float: left;">
               <el-option v-for="(d, id) in allotDepartment" :label="d.name" :value="d.id"></el-option>
@@ -654,7 +656,7 @@
               <span>{{ row.operatorName }}</span>
             </template>
           </el-table-column>
-          <el-table-column label="操作时间" align="center">
+          <el-table-column label="加减分时间" align="center">
             <template slot-scope="{row}">
               <span>{{ row.operationDate }}</span>
             </template>

+ 1 - 0
src/views/statistical/major/performanceDeductionDepInternal.vue

@@ -16,6 +16,7 @@
           start-placeholder="开始日期"
           end-placeholder="结束日期"
           align="right"
+          :clearable="false"
         ></el-date-picker>
         <el-input v-model="listQuery.userName" placeholder="姓名" clearable style="margin-left: 20px;width: 200px;float: left;"></el-input>
         <el-button class="filter-item" style="margin-left: 10px;float: left;" type="primary" @click="searchList()" round>搜索</el-button>

+ 1 - 0
src/views/statistical/major/performanceDeductionErrorType.vue

@@ -16,6 +16,7 @@
           start-placeholder="开始日期"
           end-placeholder="结束日期"
           align="right"
+          :clearable="false"
         ></el-date-picker>
         <el-select v-model="listQuery.checkType" filterable placeholder style=" width: 200px;margin-left: 10px;float: left;">
           <el-option label="公司审核错误统计" value="com"></el-option>