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 | 272 ++++++++++++++++++++++++++++++++---------------------- 1 files changed, 160 insertions(+), 112 deletions(-) diff --git a/src/views/laboratory/measure/index.vue b/src/views/laboratory/measure/index.vue index eaa03d0..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,20 +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> + <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}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 +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="浠櫒璁惧鍚嶇О" /> @@ -205,67 +218,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 +289,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: '鍚堟牸', @@ -309,10 +328,10 @@ measureLedgerTable: [], measurePlanTable: [], currentPage: 1, - pageSize: 5, + pageSize: 10, total: 0, currentPagePlan: 1, - pageSizePlan: 5, + pageSizePlan: 10, totalPlan: 0, direction: 'rtl', lookVisible: false, @@ -325,8 +344,8 @@ createPerson: '鏌愭煇璐熻矗浜�', createTime: '2021-09-08' }, - mymodelTop: -700,//14 - addTop: -700, + mymodelTop: -1000,//14 + addTop: -85, planId: 0 } }, @@ -335,40 +354,65 @@ // this.getPlanPageList() }, methods: { - upResult(){ - this.measureData[this.tableIndex].result=this.resultUp - + upResult() { + this.measureData[this.tableIndex].result = this.resultUp + }, - measureUp(scope) { - console.log(scope); - this.dialogVisible = true - this.tableIndex=scope.$index - this.measureUpInfo.result=scope.row.result - }, - measureAdd() { - let add = this.$refs.add.add() - if (add) { - this.addTop = -700 + async upMeasure() { + let res = await updateMetricalInformationInfo(this.measureUpInfo) + if (res) { this.$message({ message: '鎿嶄綔鎴愬姛锛�', type: 'success' }); - this.lookVisible = false + 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) { - 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 +420,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 +452,11 @@ }, combackLookPlan() { this.lookVisible = false - this.mymodelTop = -700 + this.mymodelTop = -1000 + this.selectInfoBtn = false }, blurSearch() { if (this.radioValue === 1) { - console.log("璁″垝"); } }, handleClose() { @@ -430,7 +475,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 @@ -464,6 +508,9 @@ search() { this.getStandingPageList() }, + searchPlan(){ + this.getPlanPageList() + }, reset(formName) { this.searchData.name = '' this.searchData.code = '' @@ -474,26 +521,27 @@ this.reset() }, async getPlanPageList() { + // console.log(111); let param = { - currentPage: this.currentPage, pageSize: this.pageSize, - code: this.searchData.code, name: this.searchData.name, unit: this.searchData.measureunit + currentPage: this.currentPage, + pageSize: this.pageSize, + plannedOrderNumber: this.searchData.code } - console.log(param); 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