From f2245cb7f6dfc7cd83ae257b235fc41e3c5cabab Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期六, 09 九月 2023 11:54:28 +0800
Subject: [PATCH] 	modified:   src/views/CNAS/reviewAnnualPlan/index.vue 	modified:   src/views/experiment/checkTheReport/index.vue 	modified:   src/views/experiment/inspectionApplication/index.vue 	modified:   src/views/experiment/nonConformingFeedback/index.vue 	modified:   src/views/experiment/reportAuditing/index.vue 	modified:   src/views/laboratory/measure/index.vue 	modified:   src/views/laboratory/personnel/index.vue

---
 src/views/laboratory/measure/index.vue |  268 +++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 215 insertions(+), 53 deletions(-)

diff --git a/src/views/laboratory/measure/index.vue b/src/views/laboratory/measure/index.vue
index d133f34..e6f2e0d 100644
--- a/src/views/laboratory/measure/index.vue
+++ b/src/views/laboratory/measure/index.vue
@@ -2,29 +2,32 @@
   <div>
     <div class="content-main">
       <div class="top-bar">
-        <el-form :hidden="lookVisible" ref="form" :inline="true" :model="searchData">
+        <el-form style="margin-top: 10px;" :hidden="lookVisible" ref="form" :inline="true" :model="searchData">
           <el-form-item :label="this.radioValue === 0 ? '浠櫒璁惧缂栧彿:' : '璁″垝缂栧彿:'" class="sermargin">
-            <el-input v-model="searchData.code" @blur="blurSearch()" class="input-form" placeholder="璇疯緭鍏�">
+            <el-input size="small" v-model="searchData.code" @blur="blurSearch()" class="input-form" placeholder="璇疯緭鍏�">
             </el-input>
+          </el-form-item>
+          <el-form-item v-if="this.radioValue === 1">
+            <el-button size="small" type="primary" @click="searchPlan">鏌ヨ</el-button>
           </el-form-item>
           <el-form-item v-if="this.radioValue === 0" :label="this.radioValue === 0 ? '浠櫒璁惧鍚嶇О:' : '璁惧鍚嶇О'"
             class="sermargin">
-            <el-input v-model="searchData.name" class="input-form" placeholder="璇疯緭鍏�">
+            <el-input size="small" v-model="searchData.name" class="input-form" placeholder="璇疯緭鍏�">
             </el-input>
           </el-form-item>
           <el-form-item v-if="this.radioValue === 0" :label="this.radioValue === 0 ? '璁¢噺鍗曚綅:' : '璁¢噺鍗曚綅锛�'"
             style="margin-right: 20px;">
-            <el-input v-model="searchData.measureunit" class="input-form" placeholder="璇疯緭鍏�">
+            <el-input size="small" v-model="searchData.measureunit" class="input-form" placeholder="璇疯緭鍏�">
             </el-input>
           </el-form-item>
         </el-form>
-        <el-form :hidden="lookVisible">
+        <el-form :hidden="lookVisible" style="margin-top: 10px;">
           <el-form-item v-if="this.radioValue === 0" class="rightBtn">
-            <el-button type="primary" @click="search">鏌ヨ</el-button>
-            <el-button type="primary" plain @click="reset()">閲嶇疆</el-button>
+            <el-button size="small" type="primary" @click="search">鏌ヨ</el-button>
+            <el-button size="small" type="primary" plain @click="reset()">閲嶇疆</el-button>
           </el-form-item>
           <el-form-item v-if="this.radioValue === 1" class="rightBtn">
-            <el-button type="primary" @click="addPlan()" icon="el-icon-plus">鏂板璁″垝</el-button>
+            <el-button size="small" type="primary" @click="addPlan()" icon="el-icon-plus">鏂板璁″垝</el-button>
           </el-form-item>
         </el-form>
       </div>
@@ -39,8 +42,8 @@
           </div>
         </div>
         <div class="table-box">
-          <el-table v-if="this.radioValue == 0" :max-height="800" :cell-style="{ textAlign: 'center' }"
-            :header-cell-style="{ border: '0px', background: '#f5f7fa', color: '#606266', boxShadow: 'inset 0 1px 0 #ebeef5', textAlign: 'center' }"
+          <el-table v-if="this.radioValue == 0" :max-height="600" :cell-style="{ textAlign: 'left' }"
+            :header-cell-style="{ border: '0px', background: '#f5f7fa', color: '#606266', boxShadow: 'inset 0 1px 0 #ebeef5', textAlign: 'left' }"
             :data="measureLedgerTable" style="width: 100%">
             <el-table-column type="index" min-width="10%" />
             <el-table-column prop="equipmentCode" label="浠櫒璁惧缂栧彿" min-width="10%" />
@@ -70,15 +73,15 @@
             <el-table-column prop="name" label="璐熻矗浜�" min-width="10%" />
             <el-table-column prop="createTime" label="鍒涘缓鏃ユ湡" min-width="10%" />
             <el-table-column prop="name" label="鍒涘缓浜�" min-width="8%" />
-            <el-table-column prop="code" label="璁¢噺缂栧彿" min-width="8%" />
+            <el-table-column prop="code" label="璁¢噺缂栧彿" min-width="12%" />
             <el-table-column label="鎿嶄綔" min-width="15%">
               <template slot-scope="scope">
-                <el-button type="text" @click="lookMeasurement(scope.row.equipmentCode)" size="small">鏌ョ湅璁¢噺灞ュ巻</el-button>
+                <!-- <el-button type="text" @click="lookMeasurement(scope.row.equipmentCode)" size="small">鏌ョ湅璁¢噺灞ュ巻</el-button> -->
                 <el-button type="text" size="small">鏌ョ湅闄勪欢</el-button>
               </template>
             </el-table-column>
           </el-table>
-          <el-table v-show="this.radioValue == 1" :max-height="800" :cell-style="{ textAlign: 'center' }"
+          <el-table v-show="this.radioValue == 1" :max-height="500" :cell-style="{ textAlign: 'center' }"
             :header-cell-style="{ border: '0px', background: '#f5f7fa', color: '#606266', boxShadow: 'inset 0 1px 0 #ebeef5', textAlign: 'center' }"
             :data="measurePlanTable" style="width: 100%">
             <el-table-column type="index" min-width="10%" />
@@ -109,19 +112,30 @@
             </el-table-column>
           </el-table>
           <!-- 鍒嗛〉鍣� -->
-          <div style="display: flex;justify-content: end;">
+          <div style="display: flex;justify-content: end;padding: 10px 0;">
             <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
-              :current-page="currentPage" :page-sizes="[5, 10, 20]" :page-size="pageSize"
+              :current-page="currentPage" :page-sizes="[10, 20, 30]" :page-size="pageSize"
               layout="total, sizes, prev, pager, next, jumper" :total="total">
             </el-pagination>
           </div>
         </div>
       </div>
-      <div style="position: absolute;top:14px;left: 9px;transition: 1s;width: 99%;height: 82vh;background-color: #fff;z-index: 21;">
-          <Add/>
+      <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;lookVisible= 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}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: 65vh; 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>
@@ -149,7 +163,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="浠櫒璁惧鍚嶇О" />
@@ -188,22 +202,84 @@
             <el-table-column prop="imCreateTime" label="鍒涘缓鏃ユ湡" />
             <el-table-column prop="measurementName" label="鍒涘缓浜�" />
             <el-table-column prop="measurementUnit" label="璁¢噺鍗曚綅" />
-            <el-table-column prop="equipmentCode" label="璁¢噺缂栧彿" />
+            <el-table-column prop="code" label="璁¢噺缂栧彿" />
+            <el-table-column prop="equipmentCode" label="鎿嶄綔">
+              <template slot-scope="scope">
+                <a @click="measureUp(scope)" style="color: deepskyblue;">璁¢噺</a>
+              </template>
+            </el-table-column>
           </el-table>
         </el-col>
-        <el-col style="width: 93%;margin-left: 40px; margin-top: 90px;display: flex;justify-content: end;">
+        <el-col style="width: 93%;margin-left: 40px; margin-top: 250px;display: flex;justify-content: end;">
           <el-pagination @size-change="handleSizeChangePlan" @current-change="handleCurrentChangePllan"
-            :current-page="currentPagePlan" :page-sizes="[5, 10, 20]" :page-size="pageSizePlan"
+            :current-page="currentPagePlan" :page-sizes="[5, 10]" :page-size="pageSizePlan"
             layout="total, sizes, prev, pager, next, jumper" :total="totalPlan">
           </el-pagination>
         </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="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>
     </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: {
@@ -211,6 +287,31 @@
   },
   data() {
     return {
+      dialogVisible: false,
+      tableIndex: null,
+      selectInfoBtn: false,
+      addBtn: false,
+      measureUpInfo: {
+        id: null,
+        code: null,
+        result: null,
+        date: null,
+        uncertainty: null,
+        performanceIndex: null,
+        remarks: null,
+        file: null,
+        termValidity: null
+      },
+      result: [{
+        label: '鍚堟牸',
+        value: 1
+      }, {
+        label: '鐭鍚庡彲鐢�',
+        value: 2
+      }, {
+        label: '涓嶅悎鏍�',
+        value: 3
+      }],
       searchData: {
         code: '',
         name: '',
@@ -227,14 +328,13 @@
       measureLedgerTable: [],
       measurePlanTable: [],
       currentPage: 1,
-      pageSize: 5,
+      pageSize: 10,
       total: 0,
       currentPagePlan: 1,
-      pageSizePlan: 5,
+      pageSizePlan: 10,
       totalPlan: 0,
-      drawer: false,
       direction: 'rtl',
-      lookVisible: true,
+      lookVisible: false,
       measureData: [],
       planInfo: {
         plannedOrderNumber: 7897897987,
@@ -244,7 +344,8 @@
         createPerson: '鏌愭煇璐熻矗浜�',
         createTime: '2021-09-08'
       },
-      mymodelTop: -600,//14
+      mymodelTop: -1000,//14
+      addTop: -85,
       planId: 0
     }
   },
@@ -253,36 +354,88 @@
     // this.getPlanPageList()
   },
   methods: {
+    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) {
+      this.dialogVisible = true
+      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
+    },
+    async measureAdd() {
+      let res = await this.$refs.add.add()
+      if (!res) {
+        return
+      }
+      this.addTop = -82
+      this.$message({
+        message: '鎿嶄綔鎴愬姛锛�',
+        type: 'success'
+      });
+      this.lookVisible = false
+      this.addBtn = false
+      // this.limitGetPlanMeasureInstrument()
+      this.getPlanPageList()
+    },
     async handleSizeChangePlan(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.drawer = true
+      this.addTop = 2
+      this.lookVisible = true
+      this.$parent.mainShowAdd()
+      this.addBtn = true
     },
     async limitGetPlanMeasureInstrument() {
-      let res = await limitGetPlanMeasureRequest({
+      let param = {
         id: this.planId,
         currentPage: this.currentPagePlan,
-        pageSize: this.pageSize
-      })
-      this.totalPlan = res.data.taotal
-      this.measureData = res.data.list
+        pageSize: this.pageSizePlan
+      }
+      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]
       }
@@ -299,27 +452,30 @@
     },
     combackLookPlan() {
       this.lookVisible = false
-      this.mymodelTop = -600
+      this.mymodelTop = -1000
+      this.selectInfoBtn = false
     },
     blurSearch() {
       if (this.radioValue === 1) {
-        console.log("璁″垝");
       }
     },
     handleClose() {
       this.drawer = false
     },
-    handleCurrentChange() {
-      this.getStandingPageList()
+    handleCurrentChange(num) {
+      this.currentPage = num
+      this.radioValue ? this.getPlanPageList() : this.getStandingPageList()
     },
-    handleSizeChange() {
-      this.getStandingPageList()
+    handleSizeChange(num) {
+      this.pageSize = num
+      this.radioValue ? this.getPlanPageList() : this.getStandingPageList()
     },
     async getStandingPageList() {
-      const res = await getStandingPageList({
+      let param = {
         currentPage: this.currentPage, pageSize: this.pageSize,
         code: this.searchData.code, name: this.searchData.name, unit: this.searchData.measureunit
-      })
+      }
+      const res = await getStandingPageList(param)
       this.measureLedgerTable = res.data.records
       this.total = res.data.total
       this.measureLedgerTable.forEach(item => {
@@ -352,6 +508,9 @@
     search() {
       this.getStandingPageList()
     },
+    searchPlan(){
+      this.getPlanPageList()
+    },
     reset(formName) {
       this.searchData.name = ''
       this.searchData.code = ''
@@ -362,24 +521,27 @@
       this.reset()
     },
     async getPlanPageList() {
-      const res = await getPlanPageList({
-        currentPage: this.currentPage, pageSize: this.pageSize,
-        code: this.searchData.code, name: this.searchData.name, unit: this.searchData.measureunit
-      })
+      // console.log(111);
+      let param = {
+        currentPage: this.currentPage,
+        pageSize: this.pageSize,
+        plannedOrderNumber: this.searchData.code
+      }
+      const res = await getPlanPageList(param)
       res.data.list.forEach(item => {
         item.palanDate = item.beginTime + " ~ " + item.endTime
       })
       this.measurePlanTable = res.data.list
       this.total = res.data.total
+      console.log(333);
     },
     async lookMeasurement(code) {
-      console.log(code);
     },
   }
 }
 </script>
 
-<style scoped>
+<style scoped lang="scss">
 .top-bar {
   margin: -25px -15px;
   background: #fff;

--
Gitblit v1.9.3