From 7d9cfe6dae6f3bc1016cdacb497e4724e22ca3db Mon Sep 17 00:00:00 2001 From: zouyu <2723363702@qq.com> Date: 星期一, 28 八月 2023 14:30:37 +0800 Subject: [PATCH] Merge branch 'master' of http://192.168.110.209:9001/r/lims-before --- src/views/laboratory/measure/index.vue | 2 src/views/experiment/inspectionApplication/index.vue | 214 +++++++++++++++++++++++++----------------- src/router/index.js | 3 src/views/experiment/inspectionApplication/Viewdetails/index.vue | 44 ++++++-- src/api/experiment/planAssignments.js | 16 +++ 5 files changed, 183 insertions(+), 96 deletions(-) diff --git a/src/api/experiment/planAssignments.js b/src/api/experiment/planAssignments.js index 51f20e3..6930a4e 100644 --- a/src/api/experiment/planAssignments.js +++ b/src/api/experiment/planAssignments.js @@ -71,3 +71,19 @@ params }) } +//妯欐簴搴� +export function lookProByVer(params) { + return request({ + url: '/inspection/lookProByVer', + method: 'get', + params + }) +} +//閫夋嫨璐d换浜� +export function chooseinstum(params) { + return request({ + url: '/plan/chooseinstum', + method: 'get', + params + }) +} diff --git a/src/router/index.js b/src/router/index.js index 5f0ac20..e932803 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -527,6 +527,8 @@ function createRouter(Routees) { if (JSON.parse(sessionStorage.getItem("user")) != undefined && JSON.parse(sessionStorage.getItem("user")) != null) { + let sessionLayerId=JSON.parse(sessionStorage.getItem("user")).sessionLayerId + if(sessionLayerId!='c3284d0f94606de1fd2af172aba15bf3'){ let role = JSON.parse(sessionStorage.getItem("user")).role let menuFather = baseRouter const dataMenuFather = fn3(menuFather) @@ -583,6 +585,7 @@ dataMenuFather.push({path: '*', redirect: '/404', hidden: true}) dataMenuFather.push() Routees = dataMenuFather + } } else { Routees = baseRouter } diff --git a/src/views/experiment/inspectionApplication/Viewdetails/index.vue b/src/views/experiment/inspectionApplication/Viewdetails/index.vue index e61c489..8e0fb3c 100644 --- a/src/views/experiment/inspectionApplication/Viewdetails/index.vue +++ b/src/views/experiment/inspectionApplication/Viewdetails/index.vue @@ -87,6 +87,7 @@ <el-card style="margin: 10px;"> <el-table :data="insProducts" + height="calc(80vh - 250px)" border style="width: 100%"> <el-table-column @@ -122,10 +123,10 @@ <el-table-column prop="inspectionMaterialId" label="瀹為獙璁惧"> - <template> - <!-- <el-select v-model="scope.row.checker" size="small" slot="append" style="width: 260px;"> - <el-option v-for="item in checkeroptions" :key="item.value" :label="item.label">{{ item.label }}</el-option> - </el-select> --> + <template slot-scope="scope"> + <el-select v-model="SHEbei" size="small" slot="append" style="width: 220px;"> + <el-option v-for="item in getDevices" :key="item.id" :label="item.name"></el-option> + </el-select> </template> </el-table-column> </el-table> @@ -136,20 +137,32 @@ </div> </template> <script> - import { selectInspectsListById,selectUser} from '@/api/experiment/planAssignments' + import { selectInspectsListById,selectUser,chooseinstum} from '@/api/experiment/planAssignments' export default { data(){ return { searchData:{ }, insProducts:[], - uu:'', - value:'' + value:'', + SHEbei:'', + aaa:{}, + ZERENren:[], + // getDevices:[] } }, created(){ - this.uu = this.$route.query.id; + // if(this.$route.query){ + // this.uu = this.$route.query.id; + // } + this.aaa = this.$route.query + // if(this.$route.query){ + // this.aaa = this.$router.query.data1 + // console.log(this.aaa); + // } + console.log(this.aaa); this.selectInspectsListById() this.selectUser() + this.chooseinstum() }, methods: { //杩斿洖 @@ -160,11 +173,22 @@ async selectUser(){ const res = await selectUser() this.ZERENren = res.data - // console.log(this.ZERENren); + console.log(this.ZERENren); }, + //璁惧 + // getDevices() { + // get(this.$url.chooseinstum).then(res => { + // this.devices = res.data + // }) + // }, + async chooseinstum(){ + const res = await chooseinstum() + this.getDevices = res.data + console.log(this.getDevices); + }, //妫�楠屽崟琛� async selectInspectsListById() { - const res = await selectInspectsListById({id:this.uu}) + const res = await selectInspectsListById({id:this.aaa.id}) this.searchData = res.data this.insProducts = res.data.insProducts } diff --git a/src/views/experiment/inspectionApplication/index.vue b/src/views/experiment/inspectionApplication/index.vue index e6f5023..0ebe171 100644 --- a/src/views/experiment/inspectionApplication/index.vue +++ b/src/views/experiment/inspectionApplication/index.vue @@ -194,7 +194,7 @@ <el-row :gutter="100"> <el-col :span="10"> <el-form-item label="鏉ユ枡鏃ユ湡锛�"> - <el-input style="width: 300px" type="text" :value="infoForm.dateSurvey" placeholder="璇疯緭鍏ユ潵鏂欐棩鏈�" autocomplete="off" /> + <el-input style="width: 300px" type="text" :value="infoForm.startTime" placeholder="璇疯緭鍏ユ潵鏂欐棩鏈�" autocomplete="off" /> </el-form-item> </el-col> <el-col :span="10"> @@ -206,19 +206,19 @@ <el-row :gutter="100"> <el-col :span="10"> <el-form-item label="鍘熸潗鏂欑紪鐮侊細"> - <el-input style="width: 300px" type="text" :value="infoForm.materialCoding" placeholder="璇疯緭鍏ュ師鏉愭枡缂栫爜" autocomplete="off" /> + <el-input style="width: 300px" type="text" :value="infoForm.mcode" placeholder="璇疯緭鍏ュ師鏉愭枡缂栫爜" autocomplete="off" /> </el-form-item> </el-col> <el-col :span="10"> <el-form-item label="鍘熸潗鏂欏悕绉帮細"> - <el-input style="width: 300px" type="text" :value="infoForm.materialName" placeholder="璇疯緭鍏ュ師鏉愭枡鍚嶇О" autocomplete="off" /> + <el-input style="width: 300px" type="text" :value="infoForm.name" placeholder="璇疯緭鍏ュ師鏉愭枡鍚嶇О" autocomplete="off" /> </el-form-item> </el-col> </el-row> <el-row :gutter="100"> <el-col :span="10"> <el-form-item label="瑙勬牸鍨嬪彿锛�"> - <el-input style="width: 300px" type="text" :value="infoForm.specificationsModels" placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�" autocomplete="off" /> + <el-input style="width: 300px" type="text" :value="infoForm.specifications" placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�" autocomplete="off" /> </el-form-item> </el-col> <el-col :span="10"> @@ -230,13 +230,13 @@ <el-row :gutter="100"> <el-col :span="10"> <el-form-item label="鏁伴噺锛�"> - <el-input style="width: 300px" type="text" :value="infoForm.quantity" placeholder="璇疯緭鍏ユ暟閲�" autocomplete="off" /> + <el-input style="width: 300px" type="text" :value="infoForm.num" placeholder="璇疯緭鍏ユ暟閲�" autocomplete="off" /> </el-form-item> </el-col> <el-col :span="10"> <el-form-item label="妫�楠屾椂闂达細"> <el-date-picker - v-model="infoForm.checkdate" + v-model="infoForm.endTime" type="daterange" range-separator="鑷�" start-placeholder="寮�濮嬫棩鏈�" @@ -249,7 +249,7 @@ </el-form> </div> <div v-if="type === 1"> - <el-form :model="commisionSelection" ref="commisionTable" class="checkTypeForm" label-position="top" label-width="200px" size="mini"> + <el-form :model="commisionSelection" ref="commisionSelection" class="checkTypeForm" label-position="top" label-width="200px" size="mini"> <el-row :gutter="100"> <el-col :span="10"> <el-form-item label="濮旀墭缂栧彿"> @@ -258,31 +258,31 @@ </el-col> <el-col :span="10"> <el-form-item label="濮旀墭鍗曚綅"> - <el-input style="width: 300px" type="text" :value="commisionSelection.entrusted" placeholder="璇疯緭鍏ュ鎵樺崟浣�" autocomplete="off" /> + <el-input style="width: 300px" type="text" :value="commisionSelection.supplier" placeholder="璇疯緭鍏ュ鎵樺崟浣�" autocomplete="off" /> </el-form-item> </el-col> </el-row> <el-row :gutter="100"> <el-col :span="10"> <el-form-item label="鏍峰搧缂栧彿"> - <el-input style="width: 300px" type="text" :value="commisionSelection.samples_number" placeholder="璇疯緭鍏ユ牱鍝佺紪鍙�" autocomplete="off" /> + <el-input style="width: 300px" type="text" :value="commisionSelection.mcode" placeholder="璇疯緭鍏ユ牱鍝佺紪鍙�" autocomplete="off" /> </el-form-item> </el-col> <el-col :span="10"> <el-form-item label="鏍峰搧鍚嶇О"> - <el-input style="width: 300px" type="text" :value="commisionSelection.sample_name" placeholder="璇疯緭鍏ユ牱鍝佸悕绉�" autocomplete="off" /> + <el-input style="width: 300px" type="text" :value="commisionSelection.name" placeholder="璇疯緭鍏ユ牱鍝佸悕绉�" autocomplete="off" /> </el-form-item> </el-col> </el-row> <el-row :gutter="100"> <el-col :span="10"> <el-form-item label="瑙勬牸鍨嬪彿锛�"> - <el-input style="width: 300px" type="text" :value="commisionSelection.specifications_models" placeholder="璇疯緭鍏ュ瀷鍙疯鏍�" autocomplete="off" /> + <el-input style="width: 300px" type="text" :value="commisionSelection.specifications" placeholder="璇疯緭鍏ュ瀷鍙疯鏍�" autocomplete="off" /> </el-form-item> </el-col> <el-col :span="10"> <el-form-item label="閫佽揪鏃堕棿"> - <el-input style="width: 300px" type="text" :value="commisionSelection.dateSurvey" placeholder="璇疯緭鍏ュ崟浣�" autocomplete="off" /> + <el-input style="width: 300px" type="text" :value="commisionSelection.supplier" placeholder="璇疯緭鍏ュ崟浣�" autocomplete="off" /> </el-form-item> </el-col> </el-row> @@ -379,21 +379,24 @@ <el-dialog title="鏍囧噯搴�" :visible.sync="Standardframe" - width="48%"> + width="49%" + > <el-card> <template slot-scope="scope" > <span>鐗堟湰閫夋嫨锛�</span> - <el-select v-model="commisionTable" size="small" slot="append" style="width: 220px;"> - <el-option v-for="item in BANben" :key="item.id" :label="item.name" :value="item.name"></el-option> + <el-select @change="ccc" v-model="selectedValue" size="small" slot="append" style="width: 220px;"> + <el-option v-for="item in BANben" :key="item" :label="item" + :value="item"></el-option> + </el-select> </template> </el-card> <el-table :data="tableData" style="width: 100%; margin-bottom: 20px" - row-key="name" + row-key="id" border - + height="calc(80vh - 250px)" default-expand-all ref="multipleTable" :tree-props="{ children: 'children', hasChildren: 'hasChildren' }" @@ -415,7 +418,7 @@ > {{ scope.row.code == "[1]" ? "01" : "02" }} </div> - <span style="color: black">{{ scope.row.name }}</span></el-tag + <span style="color: black">{{ scope.row.name }}</span></el-tag > </template> </el-table-column> @@ -447,7 +450,7 @@ </el-table> <span slot="footer" class="dialog-footer"> <el-button @click="Standardframe = false">鍙� 娑�</el-button> - <el-button type="primary" @click="Standardframe = false">纭� 瀹�</el-button> + <el-button type="primary" @click="GOfrom">纭� 瀹�</el-button> </span> </el-dialog> @@ -465,7 +468,7 @@ :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}" :data="rawMaterialTable" style="width: 100%" - @selection-change="handleSelectionChange_0" + @selection-change="handleSelectionChange" > <el-table-column type="selection" @@ -477,7 +480,7 @@ min-width="8%" /> <el-table-column - prop="createTime" + prop="startTime" label="鏉ユ枡鏃ユ湡" min-width="8%" /> @@ -487,17 +490,17 @@ min-width="12%" /> <el-table-column - prop="materialCoding" + prop="mcode" label="鏉愭枡缂栫爜" min-width="8%" /> <el-table-column - prop="materialName" + prop="name" label="鏉愭枡鍚嶇О" min-width="8%" /> <el-table-column - prop="specificationsModels" + prop="specifications" label="瑙勬牸鍨嬪彿" min-width="12%" /> @@ -507,22 +510,22 @@ min-width="5%" /> <el-table-column - prop="quantity" + prop="num" label="鏁伴噺" min-width="5%" /> <el-table-column - prop="inspectionDate" + prop="endTime" label="鎶ユ鏃ユ湡" min-width="8%" /> <el-table-column - prop="surveyor" + prop="supplier" label="妫�楠屼汉" min-width="8%" /> <el-table-column - prop="dateSurvey" + prop="startTime" label="妫�楠屾棩鏈�" min-width="8%" /> @@ -562,14 +565,14 @@ <el-table-column type="selection" min-width="10%" /> <el-table-column type="index" label="搴忓彿" min-width="10%" /> <el-table-column prop="entrust_coding" label="濮旀墭缂栧彿" min-width="10%" /> - <el-table-column prop="entrusted" label="濮旀墭鍗曚綅" min-width="12%" /> - <el-table-column prop="samples_number" label="鏍峰搧缂栧彿" min-width="8%" /> - <el-table-column prop="sample_name" label="鏍峰搧鍚嶇О" min-width="8%" /> - <el-table-column prop="specifications_models" label="瑙勬牸鍨嬪彿" min-width="12%" /> - <el-table-column prop="dateSurvey" label="閫佽揪鏃堕棿" min-width="8%" /> - <el-table-column prop="completionDeadline" label="瀹屾垚鏈熼檺" min-width="8%" /> + <el-table-column prop="supplier" label="濮旀墭鍗曚綅" min-width="12%" /> + <el-table-column prop="mcode" label="鏍峰搧缂栧彿" min-width="8%" /> + <el-table-column prop="name" label="鏍峰搧鍚嶇О" min-width="8%" /> + <el-table-column prop="specifications" label="瑙勬牸鍨嬪彿" min-width="12%" /> + <el-table-column prop="endTime" label="閫佽揪鏃堕棿" min-width="8%" /> + <el-table-column prop="formTime" label="瀹屾垚鏈熼檺" min-width="8%" /> <el-table-column prop="contacts" label="濮旀墭缂栧埗浜�" min-width="8%" /> - <el-table-column prop="inspectionTime" label="妫�楠屾棩鏈�" min-width="8%" /> + <el-table-column prop="endTime" label="妫�楠屾棩鏈�" min-width="8%" /> <el-table-column prop="inspection_status" label="鐘舵��" min-width="8%"> <template slot-scope="scope"> <div v-if="scope.row.inspection_status === 1"> @@ -600,9 +603,10 @@ </template> <script> - import { selectInspectsList, selectAll, addInspect,getCommisionList,YANcailiso,chooseVer} from '@/api/experiment/planAssignments' + import { selectInspectsList, selectAll, addInspect,chooseVer,lookProByVer} from '@/api/experiment/planAssignments' export default { data() { + return { showDetail: false, searchData: { @@ -611,6 +615,7 @@ state: '', }, valu:{}, + inputValue: '', icode:'', inspectionTable: [], rawMaterialTable: [], @@ -625,6 +630,7 @@ amount: '', checkdate: [] }, + selectedValue:1, infoForm:{}, commisionSelection:{ entrust_coding: '', @@ -674,7 +680,8 @@ tableData: [], tableRow:{}, BANben:[], - select_1: [] + select_1: [], + aa:{} } }, watch: { @@ -694,33 +701,59 @@ if (this.$route.name === 'ForInspectionDetail') this.showDetail = true }, methods: { + async selectAll(){ + const res = selectAll({type:0}) + // console.log(res); + this.rawMaterialTable = res.data + }, + async selectAll(){ + const res = selectAll({type:2}) + // console.log(res); + this.commisionTable = res.data + }, async handleClick(row){ this.inspectionTable = row; this.id = row.id this.$router.push({name:'Viewdetails',query: {id:row.id}}); this.selectInspectsList() }, + // validateInput() { + // if (this.inputValue.trim() === '') { + // } + // }, // 杈撳叆鍊间负绌猴紝寮瑰嚭鎻愮ず淇℃伅鎴栬繘琛屽叾浠栧鐞� + // alert('杈撳叆鍊间笉鑳戒负绌�'); + // return; + //鐗堟湰搴� async chooseVer() { + console.log(this.tmp.materialCoding); + console.log(this.tmp.materialName); + console.log(this.tmp.specificationsModels); const res = await chooseVer ({ - mcode:this.commisionTable.entrust_coding, - name:this.commisionTable.entrusted, - scifications:this.commisionTable.specifications_models + mcode:this.tmp.mcode, + name:this.tmp.name, + specifications:this.tmp.specifications }) - console.log(res); - this.BANben = res.data.row + this.BANben = res.data + console.log(res.data); + this.aa = this.BANben[0] + this.lookProByVer() }, - //濮旀墭妫�楠� - async getCommisionList() { - const res = await getCommisionList({pageNo:1,pageSize:10 }) + //鏍囧噯搴� + async lookProByVer() { + const res = await lookProByVer({ + mcode:this.tmp.mcode, + name:this.tmp.name, + specifications:this.tmp.specifications, + version:this.aa + }) console.log(res); - this.commisionTable = res.data + this.tableData = res.data }, - //鍘熸潗鏂� - async selecYANcailisotAllAPI() { - const res = await YANcailiso({pageNo:1,pageSize:10 }) - console.log(res); - this.rawMaterialTable = res.data.row + ccc(val){ + // console.log(val); + this.aa = val + this.lookProByVer() }, async selectInspectsList() { // 鑾峰彇鍒嗛〉鍒楄〃 @@ -733,7 +766,7 @@ var startTime = item["DATE_FORMAT(i"]["`start_time`,'%Y-%m-%d')"] var endTime = item["DATE_FORMAT(i"]["`end_time`,'%Y-%m-%d')"] var checkdate = startTime + '~' + endTime - var createTime = item["DATE_FORMAT(i"]["`create_time`,'%Y-%m-%d')"] + var createTime = item["DATE_FORMAT(i"]["`create_time`,'%Y-%d')"] item['formTime'] = formTime // 鏉ユ枡鏃ユ湡 item['checkdate'] = checkdate // 妫�楠屾棩鏈� item['createTime'] = createTime // 鐧昏鏃ユ湡 @@ -787,6 +820,7 @@ this.$refs.multipleTable.toggleRowSelection(val.pop()) } this.tmp = val[0] + // console.log(this.tmp); }, handleCommisionSelection(){ this.commisionSelection = this.tmp @@ -794,29 +828,35 @@ }, handleRawMaterialSelection(){ this.infoForm = this.tmp + // console.log(this.infoForm); + this.rawmaterialVisible = false }, handleRadioChange(){ setTimeout(()=>{ if(this.type === 0){ - // 鍘熸潗鏂欐姤妫� - this.rawmaterialVisible = true - selectAll({type: this.type}).then(res=>{ - var data = res.data - data.forEach((item)=>{ - var checkdate = [] - checkdate.push(item['createTime']) - checkdate.push(item['updateTime']) - item['checkdate'] = checkdate // 妫�楠屾棩鏈� - }) - this.rawMaterialTable = res.data - }) - // this.$router.push({ name: 'ReportForInspection' }); - }else if(this.type === 1){ + // 鍘熸潗鏂欐姤妫� + this.rawmaterialVisible = true + selectAll({type:0}).then(res=>{ + // console.log(res); + // var data = res.data + // data.forEach((item)=>{ + // var checkdate = [] + // checkdate.push(item['createTime']) + // checkdate.push(item['updateTime']) + // item['checkdate'] = checkdate // 妫�楠屾棩鏈� + // }) + console.log(res); + this.rawMaterialTable = res.data + }) + + // this.infoForm = res.data + // this.$router.push({ name: 'ReportForInspection' }); + }else if(this.type === 1){ this.commisionVisible = true - getCnList({pageNo:1,pageSize:10}).then(res=>{ - // consommisioole.log(res); - this.commisionTable = res.data.row + selectAll({type:2}).then(res=>{ + + this.commisionTable = res.data }) } },100) @@ -885,25 +925,29 @@ //纭畾璺宠浆 QUEding(){ // this.tableRow = a + this.Standardframe = true - chooseVer({mcode:this.select_1[0].materialCoding, - name:this.select_1[0].materialName, - scifications:this.select_1[0].specificationsModels}).then(res => { - this.BANben = res.data.row - console.log(this.BANben); - }) + + this.chooseVer() + + }, + //纰哄畾瑭虫儏闋� + GOfrom( ){ + this.Standardframe = false + // console.log(this.tmp.materialCoding); + // console.log(this.tmp.materialName); + // console.log(this.tmp.specificationsModels); + // console.log(this.aa) + // const data = { + // // mcode : this.tmp.mcode, + // // name:this.tmp.name, + // // specifications:this.tmp.specifications, + // version:this.tmp.id + // } + + this.$router.push({name:'Viewdetails',query:{id:this.tmp.id}}) }, - handleSelectionChange_0(val){ - this.select_1 = [] - val.forEach(v => { - let obj = {} - obj.materialCoding = v.materialCoding - obj.materialName = v.materialName - obj.specificationsModels = v.specificationsModels - this.select_1.push(obj) - }) - } } } </script> diff --git a/src/views/laboratory/measure/index.vue b/src/views/laboratory/measure/index.vue index d234cce..d70dd9c 100644 --- a/src/views/laboratory/measure/index.vue +++ b/src/views/laboratory/measure/index.vue @@ -388,7 +388,7 @@ }, async handleSizeChangePlan(num) { this.pageSizePlan = num - this.currentPagePlan=1 + this.currentPage await this.limitGetPlanMeasureInstrument() }, handleCurrentChangePllan(num) { -- Gitblit v1.9.3