From 809f8b1279bf84f28bccabc4f95a8eba6c22a24d Mon Sep 17 00:00:00 2001
From: Fixiaobai <fixiaobai@163.com>
Date: 星期二, 29 八月 2023 10:30:04 +0800
Subject: [PATCH] 放行委托新增

---
 src/views/laboratory/measure/index.vue |  207 +++++++++++++++++++++++++++++----------------------
 1 files changed, 118 insertions(+), 89 deletions(-)

diff --git a/src/views/laboratory/measure/index.vue b/src/views/laboratory/measure/index.vue
index eaa03d0..d70dd9c 100644
--- a/src/views/laboratory/measure/index.vue
+++ b/src/views/laboratory/measure/index.vue
@@ -117,12 +117,19 @@
           </div>
         </div>
       </div>
+      <div>
+        <el-button v-if="selectInfoBtn" @click="combackLookPlan" style="position: fixed;top: 43px;right: 14px; z-index: 1000;" type="primary" icon="el-icon-refresh-left" size="mini" plain >杩斿洖</el-button>
+        <div v-if="addBtn" style="display: flex;justify-content: center;width: 10%;position: fixed;top: 43px;right: 14px; z-index: 1000;">
+          <el-button @click="addTop = -82;addBtn=false" size="mini" style="width: 60px;" >杩斿洖</el-button>
+          <el-button size="mini" @click="measureAdd" style="width: 60px;" type="primary">淇濆瓨</el-button>
+        </div>
+      </div>
       <div
-        :style="`position: absolute;top:${addTop}px;left: 9px;transition: 1s;width: 99%;height: 82vh;background-color: #fff;z-index: 21;`">
+        :style="`position: absolute;top:${addTop}vh;left: 9px;transition: 1s;width: 99%;height: 82vh;background-color: #fff;z-index: 21;`">
         <Add ref="add" />
       </div>
       <div id="myMOdel"
-        :style="`position: absolute;transition: 1s;top:${mymodelTop}px; left: 9px; width: 99%; height: 85vh; background-color: #fff;z-index: 20;`">
+        :style="`position: absolute;transition: 1s;top:${mymodelTop}px; left: 9px; width: 99%; height: 100vh; background-color: #fff;z-index: 20;`">
         <el-col :span="10">
           <p style="font-size: 13px;padding-left: 40px;">璁″垝淇℃伅</p>
         </el-col>
@@ -150,7 +157,7 @@
           </el-col>
         </el-col>
         <el-col style="width:93%;height: 20vh;margin-top: 30px; margin-left: 40px;">
-          <el-table :data="measureData">
+          <el-table max-height="300" :data="measureData">
             <el-table-column type="index" label="搴忓彿" />
             <el-table-column prop="equipmentCode" label="浠櫒璁惧缂栧彿" />
             <el-table-column prop="equipmentName" label="浠櫒璁惧鍚嶇О" />
@@ -205,67 +212,68 @@
         </el-col>
       </div>
       <el-dialog class="measureForm" title="璁¢噺" :visible.sync="dialogVisible">
-      <el-form label-position="top" ref="upmeasureForm" :model="measureUpInfo">
-        <el-row :gutter="20">
-          <el-col :span="24">
-            <el-form-item label="妫�瀹氭湁鏁堟湡" prop="date" :rules="[{ required: true, message: '璇烽�夋嫨妫�瀹氭湁鏁堟湡', trigger: 'change' }]">
-              <el-date-picker v-model="measureUpInfo.date" type="daterange" range-separator="鑷�" start-placeholder="寮�濮嬫棩鏈�"
-                end-placeholder="缁撴潫鏃ユ湡" />
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row :gutter="20">
-          <el-col :span="12">
-            <el-form-item label="涓嶇‘瀹氬害" prop="uncertainty"
-              :rules="[{ required: true, message: '璇峰~鍐欎笉纭畾搴�', trigger: 'blur' }]">
-              <el-input placeholder="璇峰~鍐欎笉纭畾搴�" v-model="measureUpInfo.uncertainty" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="缁撴灉" prop="result" :rules="[{ required: true, message: '璇烽�夋嫨缁撴灉', trigger: 'change' }]">
-              <el-select v-model="measureUpInfo.result" clearable filterable :allow-create="true" placeholder="璇烽�夋嫨缁撴灉"
-                style="width:100%">
-                <el-option v-for="item in result" :key="item.id" :label="item.label" :value="item.value" />
-              </el-select>
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row :gutter="20">
-          <el-col :span="24">
-            <el-form-item label="鎬ц兘鎸囨爣">
-              <el-input v-model="measureUpInfo.performanceIndex" type="textarea" :rows="2" placeholder="璇疯緭鍏ュ唴瀹�" />
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row :gutter="20">
-          <el-col :span="24">
-            <el-form-item label="澶囨敞">
-              <el-input v-model="measureUpInfo.remarks" type="textarea" :rows="2" placeholder="璇疯緭鍏ュ唴瀹�" />
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row :gutter="20">
-          <el-col :span="24">
-            <el-form-item label="">
-              <el-upload class="upload-demo" action="#" :on-change="handleUpload" :auto-upload="false">
-                <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button>
-              </el-upload>
-            </el-form-item>
-          </el-col>
-        </el-row>
-      </el-form>
-      <span slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="addMeasure">纭� 瀹�</el-button>
+        <el-form label-position="top" ref="upmeasureForm" :model="measureUpInfo">
+          <el-row :gutter="20">
+            <el-col :span="24">
+              <el-form-item label="妫�瀹氭湁鏁堟湡" prop="date"
+                :rules="[{ required: true, message: '璇烽�夋嫨妫�瀹氭湁鏁堟湡', trigger: 'change' }]">
+                <el-date-picker v-model="measureUpInfo.date" type="date" placeholder="閫夋嫨鏃ユ湡">
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row :gutter="20">
+            <el-col :span="12">
+              <el-form-item label="涓嶇‘瀹氬害" prop="uncertainty"
+                :rules="[{ required: true, message: '璇峰~鍐欎笉纭畾搴�', trigger: 'blur' }]">
+                <el-input placeholder="璇峰~鍐欎笉纭畾搴�" v-model="measureUpInfo.uncertainty" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="缁撴灉" prop="result" :rules="[{ required: true, message: '璇烽�夋嫨缁撴灉', trigger: 'change' }]">
+                <el-select v-model="measureUpInfo.result" clearable filterable :allow-create="true" placeholder="璇烽�夋嫨缁撴灉"
+                  style="width:100%">
+                  <el-option v-for="item in result" :key="item.id" :label="item.label" :value="item.value" />
+                </el-select>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row :gutter="20">
+            <el-col :span="24">
+              <el-form-item label="鎬ц兘鎸囨爣">
+                <el-input v-model="measureUpInfo.performanceIndex" type="textarea" :rows="2" placeholder="璇疯緭鍏ュ唴瀹�" />
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row :gutter="20">
+            <el-col :span="24">
+              <el-form-item label="澶囨敞">
+                <el-input v-model="measureUpInfo.remarks" type="textarea" :rows="2" placeholder="璇疯緭鍏ュ唴瀹�" />
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row :gutter="20">
+            <el-col :span="24">
+              <el-form-item label="">
+                <el-upload class="upload-demo" action="#" :on-change="handleUploadupdated" :auto-upload="false">
+                  <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button>
+                </el-upload>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+        <span slot="footer" class="dialog-footer">
+          <el-button type="primary" @click="upMeasure">纭� 瀹�</el-button>
 
-        <el-button @click="dialogVisible=false">鍙� 娑�</el-button>
-      </span>
-    </el-dialog>
+          <el-button @click="dialogVisible = false">鍙� 娑�</el-button>
+        </span>
+      </el-dialog>
     </div>
   </div>
 </template>
 
 <script>
-import { getPlanPageList, getStandingPageList, getPlanMeasureInstrument, limitGetPlanMeasureRequest } from '@/api/laboratory/measure'
+import { getPlanPageList, getStandingPageList, getPlanMeasureInstrument, limitGetPlanMeasureRequest, updateMetricalInformationInfo } from '@/api/laboratory/measure'
 import { default as Add } from "./Add.vue";
 export default {
   components: {
@@ -275,13 +283,18 @@
     return {
       dialogVisible: false,
       tableIndex: null,
-      measureUpInfo:{
+      selectInfoBtn: false,
+      addBtn: false,
+      measureUpInfo: {
+        id: null,
+        code: null,
         result: null,
         date: null,
         uncertainty: null,
         performanceIndex: null,
         remarks: null,
-        file: null
+        file: null,
+        termValidity: null
       },
       result: [{
         label: '鍚堟牸',
@@ -325,8 +338,8 @@
         createPerson: '鏌愭煇璐熻矗浜�',
         createTime: '2021-09-08'
       },
-      mymodelTop: -700,//14
-      addTop: -700,
+      mymodelTop: -1000,//14
+      addTop: -85,
       planId: 0
     }
   },
@@ -335,40 +348,58 @@
     // this.getPlanPageList()
   },
   methods: {
-    upResult(){
-        this.measureData[this.tableIndex].result=this.resultUp
-        
+    upResult() {
+      this.measureData[this.tableIndex].result = this.resultUp
+
+    },
+    async upMeasure() {
+      let res = await updateMetricalInformationInfo(this.measureUpInfo)
+      if (res) {
+        this.$message({
+          message: '鎿嶄綔鎴愬姛锛�',
+          type: 'success'
+        });
+        this.limitGetPlanMeasureInstrument()
+        this.dialogVisible = false
+      }
+    },
+    handleUploadupdated() {
+
     },
     measureUp(scope) {
-      console.log(scope);
       this.dialogVisible = true
-      this.tableIndex=scope.$index
-      this.measureUpInfo.result=scope.row.result
+      this.tableIndex = scope.$index
+      this.measureUpInfo.result = scope.row.result
+      this.measureUpInfo.code = scope.row.code
+      this.measureUpInfo.date = scope.row.endDate
+      this.measureUpInfo.id = scope.row.imId
+      this.measureUpInfo.uncertainty = scope.row.uncertainty
+      this.measureUpInfo.performanceIndex = scope.row.performanceIndex
+      this.measureUpInfo.remarks = scope.row.remarks
+      this.measureUpInfo.termValidity = scope.row.termValidity
     },
     measureAdd() {
-      let add = this.$refs.add.add()
-      if (add) {
-        this.addTop = -700
+      this.addTop = -82
         this.$message({
           message: '鎿嶄綔鎴愬姛锛�',
           type: 'success'
         });
         this.lookVisible = false
-      }
     },
     async handleSizeChangePlan(num) {
-      console.log(num);
       this.pageSizePlan = num
+      this.currentPage
       await this.limitGetPlanMeasureInstrument()
     },
-    async handleCurrentChangePllan(num) {
-      this.currentPagePlan = num
-      await this.limitGetPlanMeasureInstrument()
+    handleCurrentChangePllan(num) {
+      this.currentPagePlan = num;
+      this.limitGetPlanMeasureInstrument();
     },
     addPlan() {
-      this.addTop = 14
+      this.addTop = 2
       this.lookVisible = true
       this.$parent.mainShowAdd()
+      this.addBtn=true
     },
     async limitGetPlanMeasureInstrument() {
       let param = {
@@ -376,21 +407,22 @@
         currentPage: this.currentPagePlan,
         pageSize: this.pageSizePlan
       }
-      console.log(param);
-      let res = await limitGetPlanMeasureRequest(param)
-      this.totalPlan = res.data.taotal
-      this.measureData = res.data.list
+      const res = await limitGetPlanMeasureRequest(param);
+      console.log(res.data.total);
+      // this.totalPlan = res.data.taotal;
+      this.measureData = res.data.list;
+      console.log(this.totalPlan);
     },
     lookPalan(id) {
       this.planId = id
       this.getPlanAndInfoAndIns(id)
       this.lookVisible = true
-      this.mymodelTop = 10
+      this.mymodelTop = 2
+      this.selectInfoBtn=true
       this.$parent.triggerMainBtnPlan()
     },
     async getPlanAndInfoAndIns(id) {
       let res = await getPlanMeasureInstrument({ "id": id, "currentPage": this.currentPagePlan, "pageSize": this.pageSize });
-      console.log(res);
       for (const key in res.data.list) {
         this.planInfo[key] = res.data.list[key]
       }
@@ -407,11 +439,11 @@
     },
     combackLookPlan() {
       this.lookVisible = false
-      this.mymodelTop = -700
+      this.mymodelTop = -1000
+      this.selectInfoBtn=false
     },
     blurSearch() {
       if (this.radioValue === 1) {
-        console.log("璁″垝");
       }
     },
     handleClose() {
@@ -430,7 +462,6 @@
         currentPage: this.currentPage, pageSize: this.pageSize,
         code: this.searchData.code, name: this.searchData.name, unit: this.searchData.measureunit
       }
-      console.log(param);
       const res = await getStandingPageList(param)
       this.measureLedgerTable = res.data.records
       this.total = res.data.total
@@ -478,7 +509,6 @@
         currentPage: this.currentPage, pageSize: this.pageSize,
         code: this.searchData.code, name: this.searchData.name, unit: this.searchData.measureunit
       }
-      console.log(param);
       const res = await getPlanPageList(param)
       res.data.list.forEach(item => {
         item.palanDate = item.beginTime + " ~ " + item.endTime
@@ -487,13 +517,12 @@
       this.total = res.data.total
     },
     async lookMeasurement(code) {
-      console.log(code);
     },
   }
 }
 </script>
 
-<style scoped>
+<style scoped lang="scss">
 .top-bar {
   margin: -25px -15px;
   background: #fff;

--
Gitblit v1.9.3