From a970199e2417318743ca3f7852dca896906ac574 Mon Sep 17 00:00:00 2001 From: zouyu <2723363702@qq.com> Date: 星期三, 30 八月 2023 09:09:23 +0800 Subject: [PATCH] Merge branch 'master' of http://192.168.110.209:9001/r/lims-before --- src/views/inspectionManagement/commissionInspection/addCommision.vue | 139 ++++++++++++++++++++++++++++++---------------- 1 files changed, 90 insertions(+), 49 deletions(-) diff --git a/src/views/inspectionManagement/commissionInspection/addCommision.vue b/src/views/inspectionManagement/commissionInspection/addCommision.vue index ce5d9d4..42dbefa 100644 --- a/src/views/inspectionManagement/commissionInspection/addCommision.vue +++ b/src/views/inspectionManagement/commissionInspection/addCommision.vue @@ -15,20 +15,17 @@ style="width: 200px;" > </el-input>--> - <el-button type="primary" size="small" style="background-color: rgb(1, 102, 226);">閲嶇疆</el-button> </div> <el-table ref="detectionInfo" :max-height="800" :cell-style="{textAlign: 'center'}" :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}" :data="detectionInfo" style="width: 100%;margin-bottom: 20px;"> <el-table-column type="index" label="搴忓彿" min-width="10%" /> <el-table-column prop="sampleNumber" label="鏍峰搧缂栧彿" min-width="8%" /> - <el-table-column prop="sampleName" label="鏍峰搧鍚嶇О" min-width="10%" /> - <el-table-column prop="specificationsModels" label="瑙勬牸鍨嬪彿" min-width="10%" /> <el-table-column prop="unit" label="鍗曚綅" min-width="8%" /> <el-table-column prop="samplesNumber" label="鏁伴噺" min-width="8%" /> - <el-table-column prop="addway" label="娣诲姞鏂瑰紡" min-width="8%"> + <!-- <el-table-column prop="addway" label="娣诲姞鏂瑰紡" min-width="8%"> <template slot-scope="scope"> <div v-if="scope.row.addway === 0"> <el-tag type="success" disable-transitions>鎵弿</el-tag> @@ -38,12 +35,12 @@ </div> <div v-else></div> </template> - </el-table-column> + </el-table-column> --> <el-table-column prop="remarks" label="澶囨敞" min-width="8%" /> <el-table-column label="鎿嶄綔" min-width="8%"> <template slot-scope="scope"> - <el-button type="text" size="small">淇敼</el-button> - <el-button type="text" size="small" @click="deleteRow(scope.row)">鍒犻櫎</el-button> + <el-button type="text" size="small" + @click.native.prevent="deleteRow(scope.$index, detectionInfo)">鍒犻櫎</el-button> </template> </el-table-column> </el-table> @@ -103,8 +100,8 @@ <el-col :span="5"> <el-form-item label="閫佹牱鏂瑰紡锛�"> <el-select style="width: 200px;" v-model="infoForm.way" size="small" placeholder="閫佹牱"> - <el-option v-for="options in sampleDeliveryMode" :key="options.key" - :value="options.value">{{ options.value }}</el-option> + <el-option v-for="options in sampleDeliveryMode" :key="options.key" :value="options.key" + :label="options.value">{{ options.value }}</el-option> </el-select> </el-form-item> </el-col> @@ -176,41 +173,39 @@ </el-col> <el-col :span="11"> <el-form-item label="瑙勬牸鍨嬪彿锛�"> - <el-select v-model="addPointerForm.specificationsModels" size="small" placeholder="璇峰厛閫夋嫨鏍峰搧鍚嶇О"> - <el-option v-for="options in model_spe_options" :value="options.value" + <el-select v-model="addPointerForm.specificationsModels" size="small" placeholder="璇峰厛閫夋嫨鏍峰搧鍚嶇О" + @change="getProductList"> + <el-option v-for="options in model_sta_options" :value="options.key" :label="options.value" :key="options.key">{{ options.value }}</el-option> </el-select> </el-form-item> </el-col> - </el-row> <el-row :gutter="50"> - <el-col :span="11"> <el-form-item label="鏍峰搧鍗曚綅锛�"> <el-input type="text" v-model="addPointerForm.unit" placeholder="璇疯緭鍏ュ崟浣�" autocomplete="off" /> </el-form-item> </el-col> - <el-col :span="11"> <el-form-item label="鏍峰搧鏁伴噺锛�"> <el-input type="text" v-model="addPointerForm.samplesNumber" placeholder="璇疯緭鍏ユ暟閲�" autocomplete="off" /> </el-form-item> </el-col> - </el-row> <el-row :gutter="50"> - <el-col :span="9"> + <el-col :span="11"> <el-form-item label="娣诲姞椤圭洰锛�"> <el-checkbox-group v-model="addPointerForm.experiment" style="display: flex; flex-direction: column;"> - <el-checkbox v-for="expers in experList" :label="expers.label" - :key="expers.key">{{ expers.label }}</el-checkbox> + <el-checkbox v-for="(expers, ai) in productList" :label="expers" + :key="ai">{{ expers }}</el-checkbox> </el-checkbox-group> </el-form-item> </el-col> - <el-col :span="41"> + <el-col :span="11"> <el-form-item label="澶囨敞锛�"> - <el-input type="textarea" :autosize="{ minRows: 4, maxRows: 20}" style="width: 200px;" v-model="addPointerForm.remarks" placeholder="璇疯緭鍏ュ娉�" autocomplete="off" /> + <el-input type="textarea" :autosize="{ minRows: 4, maxRows: 20}" style="width: 200px;" + v-model="addPointerForm.remarks" placeholder="璇疯緭鍏ュ娉�" autocomplete="off" /> </el-form-item> </el-col> </el-row> @@ -231,7 +226,9 @@ getModelSpecification, getlink, addInspection, - isIfViewUUID + isIfViewUUID, + getProductList, + getContractsSampleInfo } from '@/api/inspection/commisioninspection' export default { data() { @@ -276,18 +273,11 @@ key: '4', label: '缁濈紭閮ㄥ垎浜ゆ祦鑰愬帇璇曢獙' }], - sampleoptions: [{ - key: '1', - value: '閫夐」1' - }, { - key: '2', - value: '閫夐」2' - }], - samplecodeoptions: [{ - key: '1', - value: '' - }], + sampleoptions: [], + samplecodeoptions: [], model_spe_options: [], + model_sta_options: [], + model_options: [], sampleDeliveryMode: [{ key: '1', value: '閫佹牱' @@ -297,7 +287,28 @@ }], dialogueFormVisible: false, showDetail: false, - viewId: null + viewId: null, + productList: [] + } + }, + watch: { + addPointerForm: { + handler: function(val) { + if (val.addway != "") { + this.model_sta_options = [] + this.model_options.forEach(a => { + if (a.specificationsName == val.addway) { + this.model_sta_options = a.children.map(item => { + return { + key: item.modelId, + value: item.modelName + } + }) + } + }) + } + }, + deep: true } }, created() { @@ -321,6 +332,8 @@ if (!res.data) { this.$message.error('褰撳墠閾炬帴涓嶅湪鏈夋晥鏈熷唴,绯荤粺鑷姩鍏抽棴') this.$router.push('/404') + } else { + this.getContractsSampleInfo() } }) }, @@ -338,6 +351,7 @@ const res = await getModelSpecification({ materialId: val }) + this.model_options = res.data this.model_spe_options = res.data.map((item) => { return { key: item.specificationsId, @@ -351,8 +365,6 @@ for (let i = 1; i < this.addPointerForm.experiment.length; i++) { exper += ',' + this.addPointerForm.experiment[i] } - - // console.log(exper) this.addPointerForm.experiment = exper let tmp = this.addPointerForm this.detectionInfo.push(tmp) @@ -392,11 +404,9 @@ this.infoForm.commisioncode = res.data if (res.data) { this.$message({ - message: '鎭枩浣�!', + message: '娣诲姞鎴愬姛!', type: 'success' }) - // 璺宠浆椤甸潰 - this.$router.push('/inspectionManagement/commissionInspection') this.showDetail = true } else { this.$message.error(res.message) @@ -408,8 +418,8 @@ handleCurrentChange(pageNo) { this.pageParams.pageNo = pageNo }, - deleteRow(row) { - + deleteRow(index, rows) { + rows.splice(index, 1); }, upMaterialName(val) { this.sampleoptions.forEach(a => { @@ -418,21 +428,52 @@ } }) this.getModelSpecification(val) + }, + getProductList(val) { + getProductList({ + modelId: val + }).then(res => { + this.productList = res.data.map(item => { + return item.name + }) + }) + }, + getContractsSampleInfo() { + getContractsSampleInfo({ + viewId: this.viewId + }).then(res => { + this.infoForm = { + commisioncode: res.data.entrustCoding, + deadline: res.data.completionDeadline, + address: res.data.contactAddress, + tel: res.data.contactNumber, + contacter: res.data.contacts, + other: res.data.entrustRemarks, + department: res.data.entrusted, + time: res.data.inspectionTime, + detectionInfo: res.data.linkDetectionList, + num: res.data.reportNumber, + way: '' + res.data.sampleDeliveryMode, + sendertel: res.data.sampleDeliveryPhone, + sender: res.data.sampleSender + } + this.detectionInfo = res.data.linkDetectionList + }) } } } </script> <style lang="scss" scoped> -.content-main{ - padding: 20px 40px; - background-color: #f0f2f5; - width: 100%; - height: 100vh; - display: flex; - flex-direction: column; - justify-content: space-between; - // align-items: center; + .content-main { + padding: 20px 40px; + background-color: #f0f2f5; + width: 100%; + height: 100vh; + display: flex; + flex-direction: column; + justify-content: space-between; + // align-items: center; .firstBox { .title { -- Gitblit v1.9.3