From d49c28b6dc4b4dd363ec699ecc8a1a51983a10f9 Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期五, 31 五月 2024 17:27:03 +0800
Subject: [PATCH] 对接原始工时接口

---
 src/components/do/b1-ins-order/add.vue                             |    2 
 src/components/tool/value-table.vue                                |   12 +++
 src/components/do/b3-work-time-management/work-time-statistics.vue |   23 ++++---
 src/components/do/b1-ins-order/fiberoptic-config.vue               |   90 +++++++++++++++++++++--------
 src/assets/api/controller.js                                       |    7 ++
 5 files changed, 96 insertions(+), 38 deletions(-)

diff --git a/src/assets/api/controller.js b/src/assets/api/controller.js
index f2d1feb..607bb11 100644
--- a/src/assets/api/controller.js
+++ b/src/assets/api/controller.js
@@ -29,7 +29,8 @@
     auxiliaryOutputWorkingHours,
     auxiliaryWorkingHoursDay,
     auxiliaryCorrectionHours,
-    insBushing
+    insBushing,
+    auxiliaryOriginalHours,
   }
 }
 
@@ -334,3 +335,7 @@
 const insBushing = {
   selectBushingBySampleId: "/insBushing/selectBushingBySampleId", //閫氳繃鏍峰搧id鑾峰彇鏍峰搧涓嬪厜绾ら厤缃唴瀹�
 }
+
+const auxiliaryOriginalHours = {
+  selectAuxiliaryOriginalHours: "/auxiliaryOriginalHours/selectAuxiliaryOriginalHours", //鏌ヨ鍘熷宸ユ椂
+}
diff --git a/src/components/do/b1-ins-order/add.vue b/src/components/do/b1-ins-order/add.vue
index 78cbd51..2dc6d8a 100644
--- a/src/components/do/b1-ins-order/add.vue
+++ b/src/components/do/b1-ins-order/add.vue
@@ -541,7 +541,7 @@
         </el-row>
       </span>
     </el-dialog>
-    <fiberOpticConfig :currentId="currentId" v-if="configShow"/>
+    <fiberOpticConfig :currentId="currentId" v-if="configShow" :active="active"/>
   </div>
 </template>
 
diff --git a/src/components/do/b1-ins-order/fiberoptic-config.vue b/src/components/do/b1-ins-order/fiberoptic-config.vue
index 6dc61c9..4f1c1b3 100644
--- a/src/components/do/b1-ins-order/fiberoptic-config.vue
+++ b/src/components/do/b1-ins-order/fiberoptic-config.vue
@@ -4,7 +4,7 @@
       <el-row class="title">
         <el-col :span="6" style="padding-left: 20px;">鍏夌氦閰嶇疆</el-col>
         <el-col :span="18" style="text-align: right;">
-          <el-button size="medium" type="primary" @click="save" :loading="saveLoad">淇� 瀛�</el-button>
+          <el-button size="medium" type="primary" @click="save" :loading="saveLoad" v-if="active==1">淇� 瀛�</el-button>
           <el-button size="medium" @click="outConfig">
             <span style="color: #3A7BFA;">杩� 鍥�</span>
           </el-button>
@@ -22,7 +22,7 @@
                 <label style="width: 70px;">鏍峰搧鍨嬪彿</label>
                 <span style="font-size: 14px;">{{models}}</span>
               </div>
-              <el-radio-group v-model="packageInfo.radio" size="small" @change="upNum()">
+              <el-radio-group v-model="packageInfo.radio" size="small" @change="upNum()" :disabled="active!=1">
                 <el-radio :label="0">鍏ㄦ</el-radio>
                 <el-radio :label="1">鎶芥</el-radio>
               </el-radio-group>
@@ -31,25 +31,29 @@
               style="display: flex;align-items: center;justify-content: space-between;margin-bottom: 8px;padding: 0 12px;box-sizing: border-box;">
               <div class="search-item" style="margin-right: 10px;">
                 <label>濂楃鏁扮洰</label>
-                <el-input v-model="packageInfo.num1" placeholder="璇疯緭鍏�" size="small" @change="upNum"></el-input>
+                <el-input v-model="packageInfo.num1" placeholder="璇疯緭鍏�" size="small" @change="upNum" :disabled="active!=1"></el-input>
               </div>
               <div class="search-item" style="margin-right: 10px;">
                 <label style="width: 70px;">鏍囧噯閲�</label>
-                <el-input v-model="packageInfo.standNum" placeholder="璇疯緭鍏�" size="small" @change="upNum"></el-input>
+                <el-input v-model="packageInfo.standNum" placeholder="璇疯緭鍏�" size="small" @change="upNum" :disabled="active!=1"></el-input>
               </div>
               <div class="search-item">
                 <label style="width: 70px;">妫�娴嬮噺</label>
                 <el-input v-model="packageInfo.testNum" placeholder="璇疯緭鍏�" size="small" @change="upNum"
-                  :disabled="packageInfo.radio===0"></el-input>
+                  :disabled="packageInfo.radio===0||active!=1"></el-input>
               </div>
             </div>
             <el-table ref="table0" :data="bushing" tooltip-effect="dark" style="width: 100%" height="203px" size="small"
-              @selection-change="handleSelectionChange1">
-              <el-table-column type="selection" width="45">
+              @selection-change="handleSelectionChange1"
+              :header-cell-class-name="setClassName0">
+              <el-table-column
+              type="selection"
+              width="45"
+              :selectable="()=>(active==1)">
               </el-table-column>
               <el-table-column label="绠¤壊鏍�" show-overflow-tooltip>
                 <template slot-scope="scope">
-                  <el-select v-model="scope.row.color" size="mini">
+                  <el-select v-model="scope.row.color" size="mini" :disabled="active!=1">
                     <el-option v-for="(color,i) in colors" :key="i" :label="color.lable"
                       :value="color.value"></el-option>
                   </el-select>
@@ -74,7 +78,7 @@
               @select="upProductSelect"
               >
               <el-table-column type="selection" width="55"
-              :selectable="()=>(currentDetectionItems||this.multiFiberList.length > 0)">
+              :selectable="()=>((currentDetectionItems||this.multiFiberList.length > 0)&&active==1)">
               </el-table-column>
               <el-table-column label="瀹為獙瀹�" show-overflow-tooltip prop="sonLaboratory" ></el-table-column>
               <el-table-column prop="inspectionItem" label="妫�楠岄」" show-overflow-tooltip>
@@ -91,7 +95,8 @@
               </el-table-column>
               <el-table-column prop="ask" label="妫�娴嬭姹�" show-overflow-tooltip width="200px">
                 <template slot-scope="scope">
-                  <el-input v-model="scope.row.ask" placeholder="璇疯緭鍏�" size="small"></el-input>
+                  <el-input v-model="scope.row.ask" placeholder="璇疯緭鍏�" size="small" :disabled="active!=1" v-if="!isAskOnlyRead"></el-input>
+                  <span v-else>{{ scope.row.ask }}</span>
                 </template>
               </el-table-column>
             </el-table>
@@ -103,15 +108,15 @@
           <div class="grid-content">
             <h5>鍏夌氦甯�
               <el-button size="mini" type="primary" class="btns" @click="addFibers"
-                :disabled="packageInfo.ismiers===false||miresModel===null||miresStandard===null">鐢熸垚鍏夌氦甯�</el-button>
-              <el-button size="mini" class="btns" @click="clearFibers" :disabled="selectBushing.length === 0">娓呴櫎</el-button>
+                :disabled="packageInfo.ismiers===false||miresModel===null||miresStandard===null" v-if="active==1">鐢熸垚鍏夌氦甯�</el-button>
+              <el-button size="mini" class="btns" @click="clearFibers" :disabled="selectBushing.length === 0" v-if="active==1">娓呴櫎</el-button>
             </h5>
             <div
               style="display: flex;align-items: center;justify-content: space-between;margin:4px 0 6px 0;padding: 0 12px;box-sizing: border-box;">
               <div class="search-item" style="width: 50%;margin-right: 16px;">
                 <label style="width: 80px;">绾ゅ甫绫诲瀷</label>
                 <el-select v-model="miresModel" placeholder="璇烽�夋嫨" size="small" style="width: 100%;"
-                  :disabled="selectBushing.length===0">
+                  :disabled="selectBushing.length===0||active!=1">
                   <el-option v-for="(item,a) in miresModels" :key="a" :label="item.label" :value="item.value">
                   </el-option>
                 </el-select>
@@ -119,7 +124,7 @@
               <div class="search-item" style="width: 50%;">
                 <label style="width: 80px;">鍙傝�冩爣鍑�</label>
                 <el-select v-model="miresStandard" placeholder="璇烽�夋嫨" size="small" style="width: 100%;"
-                  :disabled="miresModel===null" @focus="selectsStandardMethodByFLSSM2()"
+                  :disabled="miresModel===null||active!=1" @focus="selectsStandardMethodByFLSSM2()"
                   @change="(value)=>methodChange2(value)">
                   <el-option v-for="item in miresStandards" :key="item.id" :label="item.code" :value="item.id">
                   </el-option>
@@ -127,8 +132,12 @@
               </div>
             </div>
             <el-table ref="table2" :data="fibersList" tooltip-effect="dark" style="width: 100%" height="270px"
-              size="small" @selection-change="handleSelectionChange" highlight-current-row @row-click="rowClickFiber">
-              <el-table-column type="selection" width="55">
+              size="small" @selection-change="handleSelectionChange" highlight-current-row @row-click="(row, column, event)=>rowClickFiber(row, column, event,0)"
+              :header-cell-class-name="setClassName0">
+              <el-table-column
+              type="selection"
+              width="55"
+              :selectable="()=>(active==1)">
               </el-table-column>
               <el-table-column prop="code" label="鍏夌氦甯︾紪鍙�" show-overflow-tooltip align="center">
               </el-table-column>
@@ -144,13 +153,13 @@
         <el-col :span="12">
           <div class="grid-content">
             <h5>鍏夌氦<el-button size="mini" type="primary" class="btns" @click="addFiber"
-                :disabled="mireModel===null||mireStandard===null">鍏夌氦閰嶈壊</el-button></h5>
+                :disabled="mireModel===null||mireStandard===null" v-if="active==1">鍏夌氦閰嶈壊</el-button></h5>
             <div
               style="display: flex;align-items: center;justify-content: space-between;margin: 4px 0 6px 0;padding: 0 12px;box-sizing: border-box;">
               <div class="search-item" style="width: 50%;margin-right: 16px;">
                 <label style="width: 80px;">鍏夌氦绫诲瀷</label>
                 <el-select v-model="mireModel" placeholder="璇烽�夋嫨" size="small" style="width: 100%;"
-                  :disabled="selectBushing.length===0">
+                  :disabled="selectBushing.length===0||active!=1">
                   <el-option v-for="(item,a) in mireModels" :key="a" :label="item.label" :value="item.value">
                   </el-option>
                 </el-select>
@@ -158,7 +167,7 @@
               <div class="search-item" style="width: 50%;">
                 <label style="width: 80px;">鍙傝�冩爣鍑�</label>
                 <el-select v-model="mireStandard" placeholder="璇烽�夋嫨" size="small" style="width: 100%;"
-                  :disabled="mireModel===null" @focus="selectsStandardMethodByFLSSM()"
+                  :disabled="mireModel===null||active!=1" @focus="selectsStandardMethodByFLSSM()"
                   @change="(value)=>methodChange(value)" :loading="mireStandardLoading">
                   <el-option v-for="item in mireStandards" :key="item.id" :label="item.code" :value="item.id">
                   </el-option>
@@ -167,14 +176,18 @@
             </div>
             <el-table ref="table3" :data="fiberList" tooltip-effect="dark" style="width: 100%" height="270px"
               size="small" highlight-current-row @selection-change="handleSelectionChange4"
-              @row-click="rowClickFiber">
-              <el-table-column type="selection" width="55">
+              @row-click="(row, column, event)=>rowClickFiber(row, column, event,1)"
+              :header-cell-class-name="setClassName0">
+              <el-table-column
+              type="selection"
+              width="55"
+              :selectable="()=>(active==1)">
               </el-table-column>
               <el-table-column prop="bushColor" label="绠″鑹叉爣" width="90" align="center">
               </el-table-column>
               <el-table-column prop="color" label="鍏夌氦鑹叉爣" width="120">
                 <template slot-scope="scope">
-                  <el-select v-model="scope.row.color" size="mini">
+                  <el-select v-model="scope.row.color" size="mini" :disabled="active!=1">
                     <el-option v-for="(color,i) in colors" :key="i" :label="color.lable"
                       :value="color.value"></el-option>
                   </el-select>
@@ -194,6 +207,12 @@
 
 <script>
   export default {
+    props: {
+      active: {
+        type: Number,
+        default: () => 0
+      },
+    },
     data() {
       return {
         saveLoad: false,
@@ -231,12 +250,13 @@
         detectionItems:[],
         currentDetectionItems:null,
         mireStandardLoading:false,
-        multiFiberList:[]
+        multiFiberList:[],
+        isAskOnlyRead:true
       }
     },
     computed: {
       isAllDisabled() {
-        return this.multiFiberList.length > 0||this.currentDetectionItems
+        return this.multiFiberList.length > 0||this.currentDetectionItems||this.active!=1
       },
     },
     watch: {
@@ -525,7 +545,22 @@
           }
         })
       },
-      rowClickFiber(row, column, event){
+      rowClickFiber(row, column, event,type){
+        if(type==0){
+          let standard = this.miresStandards.find(a => a.id == this.miresStandard)
+          if(standard&&standard.code=='濮旀墭瑕佹眰'){
+            this.isAskOnlyRead = false;
+          }else{
+            this.isAskOnlyRead = true;
+          }
+        }else{
+          let standard = this.mireStandards.find(a => a.id == this.mireStandard)
+          if(standard&&standard.code=='濮旀墭瑕佹眰'){
+            this.isAskOnlyRead = false;
+          }else{
+            this.isAskOnlyRead = true;
+          }
+        }
         this.currentDetectionItems = row
         this.detectionItems = row.productList
         if(this.detectionItems === null) return
@@ -620,6 +655,11 @@
           return 'all-disabled'
         }
       },
+      setClassName0({ column }){
+        if (column.type == 'selection' && this.active!=1) {
+          return 'all-disabled'
+        }
+      },
       clearFibers(){
         this.packageInfo.ismiers = false
         this.fibersList = []
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 4bf2a47..8ffa444 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
@@ -9,16 +9,19 @@
             type="month"
             format="yyyy-MM"
             value-format="yyyy-MM"
-            placeholder="閫夋嫨鏈�" size="small" style="width: 100%;">
+            placeholder="閫夋嫨鏈�" size="small" style="width: 100%;"
+            :clearable="false">
           </el-date-picker>
         </div>
 			</div>
 			<div class="search_thing">
 				<div class="search_label">鍛樺伐锛�</div>
-				<el-select v-model="entity.name" placeholder="鍏ㄩ儴" size="small" @change="refreshTable()">
+				<!-- <el-select v-model="entity.name" placeholder="鍏ㄩ儴" size="small" @change="refreshTable()" clearable>
 					<el-option v-for="item in personList" :key="item.id" :label="item.name" :value="item.id">
 					</el-option>
-				</el-select>
+				</el-select> -->
+        <el-input size="small" placeholder="璇疯緭鍏�" clearable
+          v-model="entity.name" @keyup.enter.native="refreshTable()"></el-input>
 			</div>
 			<div class="search_thing">
 				<div class="search_label">閮ㄩ棬锛�</div>
@@ -51,8 +54,8 @@
     <div class="table">
       <ValueTable ref="ValueTable0"
         v-if="currentTable == 'value0'"
-				:url="$api.auxiliaryWorkingHours.selectAuxiliaryWorkingHours"
-				:componentData="componentData" :inputUrl="$api.auxiliaryWorkingHours.selectAuxiliaryWorkingHours" :downUrl="$api.auxiliaryWorkingHours.selectAuxiliaryWorkingHours" :key="upIndex" />
+				:url="$api.auxiliaryOriginalHours.selectAuxiliaryOriginalHours"
+				:componentData="componentData" :downUrl="$api.auxiliaryWorkingHours.selectAuxiliaryWorkingHours" :key="upIndex" />
       <ValueTable ref="ValueTable1"
         v-if="currentTable == 'value1'"
 				:url="$api.auxiliaryCorrectionHours.selectAuxiliaryCorrectionHours"
@@ -79,10 +82,6 @@
 						month: getYearAndMonthAndDays().split('-')[0]+'-'+getYearAndMonthAndDays().split('-')[1],
 						name: null,
 						departLims: null,
-						orderBy: {
-							field: 'id',
-							order: 'desc'
-						}
 					},
 					isIndex: true,
 					showSelect: false,
@@ -94,7 +93,10 @@
 					requiredAdd: [],
 					requiredUp: [],
           accept:聽'.xlsx',
-          inputType:聽'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
+          inputType:聽'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
+          cellSpecialStyle:{
+            redColorByKey:'Hours'
+          }
 			},
       componentData0: {
 					entity: {
@@ -152,6 +154,7 @@
     },
     refreshTable(){
       let entity = {...this.entity}
+      entity.month = entity.month.split('-')[0]+'-'+entity.month.split('-')[1]
       if(this.currentTable=='value0'){
         this.componentData.entity = {...this.componentData.entity,...entity}
         this.$refs['ValueTable0'].selectList()
diff --git a/src/components/tool/value-table.vue b/src/components/tool/value-table.vue
index 9f76c3b..127e63e 100644
--- a/src/components/tool/value-table.vue
+++ b/src/components/tool/value-table.vue
@@ -49,6 +49,9 @@
   .handleBtn.is-disabled {
     color: #C0C4CC;
   }
+  .red{
+    color: red !important;
+  }
 </style>
 <style>
   /* .value-table .highlight-warning-row-border td {
@@ -136,7 +139,7 @@
               @click="handleLinkEvent(scope.row,data.linkEvent[a.label])">{{scope.row[a.label]}}</span>
             <img style="width: 40px;height: 40px;margin-top: 10px;" :src="javaApi+'/img/'+scope.row[a.label]"
               v-else-if="showUpload(a.label)&&scope.row[a.label]" alt="">
-            <span v-else>{{scope.row[a.label]}}</span>
+            <span v-else :class="{red:getRedColor(a.label,scope.row)}" >{{scope.row[a.label]}}</span>
           </template>
         </el-table-column>
         <el-table-column fixed="right" align="center" label="鎿嶄綔" :width="getWidth()" v-if="data.do.length > 0">
@@ -1094,6 +1097,13 @@
           this.$message.error('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁')
         }
       },
+      getRedColor(label,row){
+        if(this.data.cellSpecialStyle&&this.data.cellSpecialStyle.redColorByKey&&label.includes(this.data.cellSpecialStyle.redColorByKey)&&row[(label.replace(this.data.cellSpecialStyle.redColorByKey, ""))]){
+          return true
+        }else{
+          return false
+        }
+      }
     }
   }
 </script>

--
Gitblit v1.9.3