From 620880da2e11fe0a56d24662f4736332bf08e9e5 Mon Sep 17 00:00:00 2001
From: value <z1292839451@163.com>
Date: 星期五, 31 五月 2024 15:48:50 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/components/do/b1-ins-order/add.vue                             |   21 ++++
 src/components/do/b3-work-time-management/work-time-management.vue |  169 +++++++++++++++++++++++++++---------------
 src/components/do/b3-work-time-management/work-time-statistics.vue |   33 +++++---
 src/components/view/b3-classes.vue                                 |    6 
 src/components/view/a6-personnel-detail.vue                        |    2 
 src/assets/api/controller.js                                       |    5 +
 6 files changed, 156 insertions(+), 80 deletions(-)

diff --git a/src/assets/api/controller.js b/src/assets/api/controller.js
index d51b04d..5b3cbdc 100644
--- a/src/assets/api/controller.js
+++ b/src/assets/api/controller.js
@@ -28,6 +28,7 @@
     companies,
     auxiliaryOutputWorkingHours,
     auxiliaryWorkingHoursDay,
+    auxiliaryCorrectionHours,
     insBushing
   }
 }
@@ -325,6 +326,10 @@
   approve: "/auxiliaryWorkingHoursDay/approve", //鎵瑰噯
 }
 
+const auxiliaryCorrectionHours = {
+  selectAuxiliaryCorrectionHours: "/auxiliaryCorrectionHours/selectAuxiliaryCorrectionHours", //鏌ヨ淇宸ユ椂
+}
+
 const insBushing = {
   selectBushingBySampleId: "/insBushing/selectBushingBySampleId", //閫氳繃鏍峰搧id鑾峰彇鏍峰搧涓嬪厜绾ら厤缃唴瀹�
 }
diff --git a/src/components/do/b1-ins-order/add.vue b/src/components/do/b1-ins-order/add.vue
index d8cd2c6..78cbd51 100644
--- a/src/components/do/b1-ins-order/add.vue
+++ b/src/components/do/b1-ins-order/add.vue
@@ -373,8 +373,9 @@
         <el-table-column prop="section" label="鍖洪棿" width="120" show-overflow-tooltip></el-table-column>
         <el-table-column prop="ask" label="瑕佹眰鍊�" min-width="220px">
           <template slot-scope="scope">
-            <el-input size="small" placeholder="瑕佹眰鍊�" v-model="scope.row.ask" clearable type="textarea" readonly
-              :autosize="{ minRows: 1, maxRows: 3}" @change="e=>requestChange(e,scope.row)" :readonly="active>1"></el-input>
+            <el-input size="small" placeholder="瑕佹眰鍊�" v-model="scope.row.ask" clearable type="textarea"
+              :autosize="{ minRows: 1, maxRows: 3}" @change="e=>requestChange(e,scope.row)" v-if="active==1&&isAskOnlyRead"></el-input>
+              <span v-else>{{ scope.row.ask }}</span>
           </template>
         </el-table-column>
       </el-table>
@@ -672,6 +673,8 @@
         filters: [],
         formType: [],
         configShow: false,
+        currentMethod: null,
+        isAskOnlyRead:false,
         sampleId: null
       }
     },
@@ -1054,6 +1057,13 @@
         })
       },
       rowClick(row, column, event) {
+        this.currentMethod = row
+        let obj = this.methods.find(a=>a.id==this.currentMethod.standardMethodListId)
+        if(obj&&obj.code=='濮旀墭瑕佹眰'){
+          this.isAskOnlyRead = true
+        }else{
+          this.isAskOnlyRead = false
+        }
         this.sampleId = row.id
         if(this.active!==1){
           this.sampleIds = []
@@ -1186,6 +1196,13 @@
       },
       methodChange(val, row) {
         if(val===null||val==='')return
+        this.currentMethod = row
+        let obj = this.methods.find(a=>a.id==this.currentMethod.standardMethodListId)
+        if(obj&&obj.code=='濮旀墭瑕佹眰'){
+          this.isAskOnlyRead = true
+        }else{
+          this.isAskOnlyRead = false
+        }
         this.getProductLoad = true
         this.$axios.post(this.$api.standardTree.selectStandardProductList, {
           model: row.model + '-' + row.modelNum,
diff --git a/src/components/do/b3-work-time-management/work-time-management.vue b/src/components/do/b3-work-time-management/work-time-management.vue
index e5dbe6f..0135ba5 100644
--- a/src/components/do/b3-work-time-management/work-time-management.vue
+++ b/src/components/do/b3-work-time-management/work-time-management.vue
@@ -174,13 +174,13 @@
               <el-input v-model="formData0.number" size="small" :disabled="title=='鎵瑰噯'"></el-input>
             </el-form-item>
             <el-form-item label="鏁伴噺:" required>
-              <el-input v-model="formData0.amount" size="small" :disabled="title=='鎵瑰噯'"></el-input>
+              <el-input v-model="formData0.reviewerNumber" size="small" :disabled="title=='鎵瑰噯'"></el-input>
             </el-form-item>
             <el-form-item label="鏍稿噯宸ユ椂:">
               <el-input v-model="formData0.approvedWorkingHour" size="small" disabled></el-input>
             </el-form-item>
-            <el-form-item label="杈呭姪宸ユ椂:">
-              <el-input v-model="formData0.nonproductiveTime" size="small" disabled></el-input>
+            <el-form-item label="澶嶆牳宸ユ椂:">
+              <el-input v-model="formData0.reviewerNonproductiveTime" size="small" disabled></el-input>
             </el-form-item>
             <el-form-item label="杈呭姪椤圭洰:">
               <el-input v-model="formData0.auxiliaryProject" size="small" disabled></el-input>
@@ -254,11 +254,55 @@
 					tagField: {
             shift:{
               select:[]
+            },
+            state:{
+              select:[
+                {
+                  label:'宸叉彁浜�',
+                  value:'宸叉彁浜�',
+                  type:'primary'
+                },
+                {
+                  label:'宸插鏍�',
+                  value:'宸插鏍�',
+                  type:'warning'
+                },
+                {
+                  label:'宸叉壒鍑�',
+                  value:'宸叉壒鍑�',
+                  type:'success'
+                },
+              ]
+            },
+            weekDay:{
+              select:[]
             }
           },
 					linkEvent: {},
 					selectField: {
             shift:{
+              select:[]
+            },
+            state:{
+              select:[
+                {
+                  label:'宸叉彁浜�',
+                  value:'宸叉彁浜�',
+                  type:'primary'
+                },
+                {
+                  label:'宸插鏍�',
+                  value:'宸插鏍�',
+                  type:'warning'
+                },
+                {
+                  label:'宸叉壒鍑�',
+                  value:'宸叉壒鍑�',
+                  type:'success'
+                },
+              ]
+            },
+            weekDay:{
               select:[]
             }
           },
@@ -292,13 +336,13 @@
       entityCopy1: {},
       upIndex1:100,
       weekList:[
-        {label: '鏄熸湡涓�', value: '1'},
-        {label: '鏄熸湡浜�', value: '2'},
-        {label: '鏄熸湡涓�', value: '3'},
-        {label: '鏄熸湡鍥�', value: '4'},
-        {label: '鏄熸湡浜�', value: '5'},
-        {label: '鏄熸湡鍏�', value: '6'},
-        {label: '鏄熸湡鏃�', value: '7'}
+        {label: '鏄熸湡涓�', value: '1',type:'primary'},
+        {label: '鏄熸湡浜�', value: '2',type:'primary'},
+        {label: '鏄熸湡涓�', value: '3',type:'primary'},
+        {label: '鏄熸湡鍥�', value: '4',type:'primary'},
+        {label: '鏄熸湡浜�', value: '5',type:'primary'},
+        {label: '鏄熸湡鍏�', value: '6',type:'primary'},
+        {label: '鏄熸湡鏃�', value: '7',type:'primary'}
       ],
       currentTable:'ValueTable0',
       addVisible:false,
@@ -324,9 +368,9 @@
         createUser:'',
         shift:'',
         number:'',
-        amount:'',
+        reviewerNumber:'',
         approvedWorkingHour:'',
-        nonproductiveTime:'',
+        reviewerNonproductiveTime:'',
         auxiliaryProject:'',
         reviewerRemark:'',
       },
@@ -387,21 +431,21 @@
         this.formData.nonproductiveTime = this.formData.amount*val
       }
     },
-    'formData0.amount'(val){
+    'formData0.reviewerNumber'(val){
       if(val){
         if(!isNaN(val)){
           if(this.formData0.approvedWorkingHour){
-            this.formData0.nonproductiveTime = this.formData0.approvedWorkingHour*val
+            this.formData0.reviewerNonproductiveTime = this.formData0.approvedWorkingHour*val
           }
         }else{
           this.$message.error('璇疯緭鍏ユ暟瀛�')
-          this.formData0.amount = ''
+          this.formData0.reviewerNumber = ''
         }
       }
     },
     'formData0.approvedWorkingHour'(val){
-      if(val&&this.formData0.amount){
-        this.formData0.nonproductiveTime = this.formData0.amount*val
+      if(val&&this.formData0.reviewerNumber){
+        this.formData0.reviewerNonproductiveTime = this.formData0.reviewerNumber*val
       }
     }
   },
@@ -412,6 +456,8 @@
     this.selectshiftByUser()
     this.entityCopy = this.HaveJson(this.componentData.entity);
     this.entityCopy1 = this.HaveJson(this.componentData1.entity);
+    this.componentData.tagField.weekDay.select = this.weekList
+    this.componentData.selectField.weekDay.select = this.weekList
   },
   methods:{
     getYearAndMonthAndDays(date){
@@ -421,9 +467,13 @@
       let entity = {}
       if(this.entity.week1&&this.entity.week2){
         entity.week = JSON.stringify([this.entity.week1,this.entity.week2])
+      }else{
+        entity.week = ''
       }
       if(this.entity.dateTime){
         entity.dateTime = JSON.stringify(this.entity.dateTime)
+      }else{
+        entity.dateTime = ''
       }
       entity.weekDay = this.entity.weekDay
       entity.name = this.entity.name
@@ -534,14 +584,16 @@
         this.$message.error('璇疯緭鍏ユ暟閲�')
         return
       }
-      this.checkLoadY = true
+
       if(this.title == '瀹℃牳'){
-        // if(e==0){
-        //   // 瀹℃牳涓嶉�氳繃
-        // }else{
-        //   // 瀹℃牳閫氳繃
-        // }
-        this.formData0.state = e==0?'瀹℃牳涓嶉�氳繃':'瀹℃牳閫氳繃'
+        if(e==0){
+          // 瀹℃牳涓嶉�氳繃
+          this.checkLoadN = true
+        }else{
+          // 瀹℃牳閫氳繃
+          this.checkLoadY = true
+        }
+        this.formData0.state = e==0?this.formData0.state:'宸插鏍�'
         this.$axios.post(this.$api.auxiliaryWorkingHoursDay.check, {
             ...this.formData0
         }, {
@@ -549,7 +601,13 @@
             'Content-Type': 'application/json'
           }
         }).then(res => {
-          this.checkLoadY = false
+          if(e==0){
+            // 瀹℃牳涓嶉�氳繃
+            this.checkLoadN = false
+          }else{
+            // 瀹℃牳閫氳繃
+            this.checkLoadY = false
+          }
           if (res.code == 201) return
           this.$message.success('鎿嶄綔鎴愬姛')
           this.checkVisible = false
@@ -557,20 +615,24 @@
           this.collectWorkingHours()
         })
       }else{
-        // if(e==0){
-        //   // 瀹℃牳涓嶉�氳繃
-        // }else{
-        //   // 瀹℃牳閫氳繃
-        // }
+        if(e==0){
+          this.checkLoadN = true
+        }else{
+          this.checkLoadY = true
+        }
         this.$axios.post(this.$api.auxiliaryWorkingHoursDay.approve, {
             id:this.formData0.id,
-            state:e==0?'鎵瑰噯涓嶉�氳繃':'鎵瑰噯閫氳繃'
+            state:e==0?'宸叉彁浜�':'宸叉壒鍑�'
         }, {
           headers: {
             'Content-Type': 'application/json'
           }
         }).then(res => {
-          this.checkLoadY = false
+          if(e==0){
+            this.checkLoadN = false
+          }else{
+            this.checkLoadY = false
+          }
           if (res.code == 201) return
           this.$message.success('鎿嶄綔鎴愬姛')
           this.checkVisible = false
@@ -628,42 +690,27 @@
       if(this.formData.number){
         this.$axios.post(this.$api.auxiliaryWorkingHoursDay.selectAuxiliaryWorkingHoursByNumber+'?number='+this.formData.number).then(res => {
         this.auxiliaryWorking = res.data
-        this.formData.approvedWorkingHour = this.auxiliaryWorking.approvedWorkingHour
-        this.formData.auxiliaryProject = this.auxiliaryWorking.auxiliaryProject
+        if(this.addVisible){
+          this.formData.approvedWorkingHour = this.auxiliaryWorking.approvedWorkingHour
+          this.formData.auxiliaryProject = this.auxiliaryWorking.auxiliaryProject
+        }else if(this.title=='瀹℃牳'&&this.checkVisible){
+          this.formData0.approvedWorkingHour = this.auxiliaryWorking.approvedWorkingHour
+          this.formData0.auxiliaryProject = this.auxiliaryWorking.auxiliaryProject
+        }
       })
       }
     },
     handleOut(){
       this.outLoading = true
-      this.$axios.post(this.$api.auxiliaryOutputWorkingHours.exportWorkingHours,{responseType: 'blob'}).then(res => {
+      this.$axios.post(this.$api.auxiliaryOutputWorkingHours.exportWorkingHours,{responseType: "blob"}).then(res => {
         this.outLoading = false
         this.$message.success('瀵煎嚭鎴愬姛')
-        // let fileName="鏃ュ伐鏃舵眹鎬昏〃";
-        // const blob = new Blob([res], {
-        //   type: 'application/force-download'
-        // })
-        // const filename = decodeURI(fileName+'.xlsx')
-        // // 鍒涘缓涓�涓秴閾炬帴锛屽皢鏂囦欢娴佽祴杩涘幓锛岀劧鍚庡疄鐜拌繖涓秴閾炬帴鐨勫崟鍑讳簨浠�
-        // const elink = document.createElement('a')
-        // elink.download = filename
-        // elink.style.display = 'none'
-        // elink.href = URL.createObjectURL(blob)
-        // document.body.appendChild(elink)
-        // elink.click()
-        // URL.revokeObjectURL(elink.href) // 閲婃斁URL 瀵硅薄
-        // document.body.removeChild(elink)
-        const blob = new Blob([res], {
-          type: 'application/force-download'
-        })
-        const link = document.createElement('a')
-        link.href = URL.createObjectURL(blob)
-        link.download = decodeURI('鏃ュ伐鏃舵眹鎬昏〃'+'.xlsx')
-        document.body.appendChild(link)
-        link.click()
-        window.setTimeout(function () {
-            URL.revokeObjectURL(blob)
-            document.body.removeChild(link)
-        }, 0)
+        const blob = new Blob([res.data]);
+        const url = URL.createObjectURL(blob);
+        const link = document.createElement('a');
+        link.href = url;
+        link.download = '鏃ュ伐鏃舵眹鎬昏〃.xlsx';
+        link.click();
       })
     },
   }
diff --git a/src/components/do/b3-work-time-management/work-time-statistics.vue b/src/components/do/b3-work-time-management/work-time-statistics.vue
index 321f637..57777e9 100644
--- a/src/components/do/b3-work-time-management/work-time-statistics.vue
+++ b/src/components/do/b3-work-time-management/work-time-statistics.vue
@@ -5,17 +5,17 @@
 				<div class="search_label">鏃ユ湡锛�</div>
 				<div class="search_input" style="display: flex;align-items: center;">
           <el-date-picker
-            v-model="componentData.entity.laboratory"
+            v-model="componentData.entity.month"
             type="month"
-            format="yyyy-MM-dd HH:mm:ss"
-            value-format="yyyy-MM-dd HH:mm:ss"
+            format="yyyy-MM"
+            value-format="yyyy"
             placeholder="閫夋嫨鏈�" size="small" style="width: 100%;">
           </el-date-picker>
         </div>
 			</div>
 			<div class="search_thing">
 				<div class="search_label">鍛樺伐锛�</div>
-				<el-select v-model="componentData.entity.laboratory" placeholder="鍏ㄩ儴" size="small" @change="refreshTable()">
+				<el-select v-model="componentData.entity.name" placeholder="鍏ㄩ儴" size="small" @change="refreshTable()">
 					<el-option v-for="item in personList" :key="item.id" :label="item.name" :value="item.id">
 					</el-option>
 				</el-select>
@@ -28,7 +28,7 @@
             </el-option>
           </el-select> -->
           <el-input size="small" placeholder="璇疯緭鍏�" clearable
-						v-model="componentData.entity.department" @keyup.enter.native="refreshTable()"></el-input>
+						v-model="componentData.entity.departLims" @keyup.enter.native="refreshTable()"></el-input>
         </div>
 			</div>
 			<div class="search_thing" style="padding-left: 30px;width: 100px;">
@@ -52,8 +52,8 @@
 				:url="$api.auxiliaryWorkingHours.selectAuxiliaryWorkingHours"
 				:componentData="componentData" :inputUrl="$api.auxiliaryWorkingHours.selectAuxiliaryWorkingHours" :downUrl="$api.auxiliaryWorkingHours.selectAuxiliaryWorkingHours" :key="upIndex" />
       <ValueTable ref="ValueTable1"
-        v-show="currentTable == 'value1'"
-				:url="$api.auxiliaryWorkingHours.selectAuxiliaryWorkingHours"
+        v-if="currentTable == 'value1'"
+				:url="$api.auxiliaryCorrectionHours.selectAuxiliaryCorrectionHours"
 				:componentData="componentData0" :key="upIndex" />
     </div>
   </div>
@@ -61,6 +61,9 @@
 
 <script>
 import ValueTable from '../../tool/value-table.vue'
+import {
+		getYearAndMonthAndDays
+	} from '../../../util/date'
 export default {
   components: {
     ValueTable
@@ -69,9 +72,9 @@
     return{
       componentData: {
 					entity: {
-						number: null,
-						department: null,
-						laboratory: null,
+						month: null,
+						name: null,
+						departLims: null,
 						orderBy: {
 							field: 'id',
 							order: 'desc'
@@ -118,9 +121,9 @@
 			},
       componentData0: {
 					entity: {
-						number: null,
-						department: null,
-						laboratory: null,
+						month: getYearAndMonthAndDays().split('-')[0]+'-'+getYearAndMonthAndDays().split('-')[1],
+						name: null,
+						departLims: null,
 						orderBy: {
 							field: 'id',
 							order: 'desc'
@@ -165,6 +168,7 @@
 					requiredAdd: [],
 					requiredUp: []
 			},
+      entity:{},
       upIndex:0,
       weekList:[],
       personList:[],
@@ -175,6 +179,9 @@
     this.getUsers()
   },
   methods: {
+    getYearAndMonthAndDays(date){
+      return getYearAndMonthAndDays(date)
+    },
     refresh(){},
     refreshTable(){},
     getUsers(){
diff --git a/src/components/view/a6-personnel-detail.vue b/src/components/view/a6-personnel-detail.vue
index 21598f0..0179f59 100644
--- a/src/components/view/a6-personnel-detail.vue
+++ b/src/components/view/a6-personnel-detail.vue
@@ -313,7 +313,7 @@
         }
         this.selectTree = data2.replace(' - ', '')
         this.addOb.fatherId = val.id;
-        this.componentData.entity.departLimsId = val.id+',';
+        this.componentData.entity.departLimsId = val.id;
         this.refreshTable()
       },
       getNodeParent(val) {
diff --git a/src/components/view/b3-classes.vue b/src/components/view/b3-classes.vue
index 0171ca0..90cc096 100644
--- a/src/components/view/b3-classes.vue
+++ b/src/components/view/b3-classes.vue
@@ -68,7 +68,7 @@
             </div>
           </div>
         </div>
-        <div class="scroll-right" id="nav" style="cursor: move;">
+        <div class="scroll-right">
           <div class="content">
             <div class="content-title content-title-right" style="border-bottom: 0;">
               <div class="content-title-item" v-for="(item,index) in weeks" :key="'b'+index">
@@ -324,13 +324,13 @@
     }
     this.monthList.reverse()
     // this.getPower()
-    this.scrollInit()
   },
   methods: {
     refresh(){
       this.list = [];
       this.yearList = []
       this.keyMap = {};
+      this.finishLoding = false;
       this.currentPage = 1
       this.query = {
         userName:'',
@@ -347,6 +347,7 @@
     refreshTable(){
       this.keyMap = {};
       this.currentPage = 1
+      this.finishLoding = false;
       if(this.query.month){
         this.list = [];
         this.init()
@@ -727,7 +728,6 @@
   margin-left: 220px;
   overflow-x: scroll;
   /* overflow-x: hidden; */
-  cursor: move;
 }
 
 .content {

--
Gitblit v1.9.3