From a0b1fdec2bc5ddad11e981936b80d0fdf1e4bc69 Mon Sep 17 00:00:00 2001 From: licp <lichunping@guanfang.com.cn> Date: 星期三, 03 七月 2024 09:25:06 +0800 Subject: [PATCH] Merge branch 'master' of http://114.132.189.42:9002/r/center-lims-before into master --- src/components/do/b1-ins-order/add.vue | 307 ++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 288 insertions(+), 19 deletions(-) diff --git a/src/components/do/b1-ins-order/add.vue b/src/components/do/b1-ins-order/add.vue index 8c77e2a..d6e3822 100644 --- a/src/components/do/b1-ins-order/add.vue +++ b/src/components/do/b1-ins-order/add.vue @@ -70,6 +70,23 @@ line-height: 24px; margin-top: 5px; } + .circulateTable { + display: flex; + flex-direction: row; + justify-content: space-between; + .opticalProject { + width: 38%; + } + .temperatureList { + width: 60%; + .temperatureListTitle { + display: flex; + flex-direction: row; + justify-content: space-between; + line-height: 30px; + } + } + } </style> <style> .ins_order_add .el-input-group__append, @@ -419,6 +436,7 @@ <div style="display: flex;align-items: center;flex-direction: column;font-size: 14px"> <span>妫�楠岄」</span> <el-input + v-if="active==1" v-model="inspectionItem" @input="searchFilterList" size="mini" @@ -432,6 +450,7 @@ <div style="display: flex;align-items: center;flex-direction: column;font-size: 14px"> <span>妫�楠岄」瀛愰」</span> <el-input + v-if="active==1" v-model="inspectionItemSubclass" @input="searchFilterList" size="mini" @@ -446,6 +465,7 @@ <div style="display: flex;align-items: center;flex-direction: column;font-size: 14px"> <span>璇曢獙鏂规硶</span> <el-input + v-if="active==1" v-model="methodS" @input="searchFilterList" size="mini" @@ -734,6 +754,86 @@ </el-row> </span> </el-dialog> + <el-dialog title="娓╁害寰幆瑕佹眰濉啓" :visible.sync="circulateShow" width="900px" :before-close="beforeCirculateShowClose" :show-close="false"> + <div class="search" style="display: flex;background: transparent;"> + <div class="search_thing"> + <div class="search_label">淇濇俯鏃堕棿锛�</div> + <div class="search_input"> + <el-input v-model="circulateForm.entrustTime" size="small" placeholder="" type="number"></el-input> + </div> + </div> + <div class="search_thing"> + <div class="search_label">寰幆娆℃暟锛�</div> + <div class="search_input"> + <el-input v-model="circulateForm.entrustNum" size="small" placeholder="" type="number"></el-input> + </div> + </div> + <div class="search_thing"> + <div class="search_label">娓╁害鐐癸細</div> + <div class="search_input"> + <el-input @blur="changeTemperatureData" v-model="circulateForm.entrustPoint" size="small" placeholder="" type="number"></el-input> + </div> + </div> + </div> + <div class="circulateTable"> + <div class="opticalProject"> + <div style="line-height: 30px;">鍏夌氦椤圭洰</div> + <el-divider></el-divider> + <div> + <el-table + ref="multipleTable" + border + :header-cell-style="{'text-align':'center'}" + :cell-style="{'text-align':'center'}" + :data="opticalProject" + tooltip-effect="dark" + style="width: 100%" + @selection-change="handleSelectionChange"> + <el-table-column + type="selection" + width="55"> + </el-table-column> + <el-table-column prop="value" label="鍏夌氦椤圭洰" show-overflow-tooltip></el-table-column> + </el-table> + </div> + </div> + <div class="temperatureList"> + <div class="temperatureListTitle"> + <span>娓╁害鐐归泦鍚�(璇锋寜鐓ч『搴忓~鍐欙紝20鈩冨繀椤讳负棣栦綅)</span> + <span> + <el-button type="primary" size="mini" @click="addTemperatureData">鏂板</el-button> + <el-button size="mini" @click="deleteTemperatureData">鍒犻櫎</el-button> + </span> + </div> + <el-divider></el-divider> + <el-table + :data="temperatureData" + border + :header-cell-style="{'text-align':'center'}" + :cell-style="{'text-align':'center'}" + style="width: 100%"> + <el-table-column prop="date" label="娓╁害鐐�(鈩�)" width="120px"> + <template slot-scope="scope"> + <el-input size="small" v-model="scope.row.temperaturePoint" clearable placeholder="璇疯緭鍏�"></el-input> + </template> + </el-table-column> + <el-table-column prop="name" label="瑕佹眰(dB/Km)"> + <template slot-scope="scope"> + <span>x</span> + <el-select v-model="scope.row.askSymbol" placeholder="璇烽�夋嫨" size="small" style="width: 120px"> + <el-option v-for="item in temperatureDataList" :key="item.value" :label="item.label" :value="item.value"> + </el-option> + </el-select> + <el-input size="small" v-model="scope.row.askNum" clearable placeholder="璇疯緭鍏�" style="width: 120px"></el-input> + </template> + </el-table-column> + </el-table> + </div> + </div> + <span slot="footer" class="dialog-footer"> + <el-button type="primary" @click="spliceData">淇濆瓨</el-button> + </span> + </el-dialog> </div> </template> @@ -743,6 +843,7 @@ import equipConfig from './equip-config.vue' import cableConfig from './cable-config.vue' import Vue from 'vue' +import {iuCharts} from "../../../util/echarts"; export default { components: { @@ -852,6 +953,7 @@ productList0: [], bsm1DiaList: [], productIds: [], + productListSelected: [], getProductLoad: false, saveLoad: false, templateDia: false, @@ -903,6 +1005,23 @@ inspectionItem:null, inspectionItemSubclass:null, methodS:null, + circulateShow:false, + circulateForm:{ + entrustTime: '', + entrustNum: '', + entrustPoint: '' + }, + isBsm2Val2:false, + opticalProject: [], // 娓╁害寰幆寮规鍏夌氦椤圭洰鍒楄〃 + opticalProjectList: [], // 娓╁害寰幆寮规鍏夌氦椤圭洰閫変腑鐨勬暟缁� + temperatureData: [], // 娓╁害寰幆寮规娓╁害鐐归泦鍚堝垪琛� + temperatureDataList: [ + {label: '<', value: '<'}, + {label: '鈮�', value: '鈮�'}, + {label: '锛�', value: '锛�'}, + {label: '鈮�', value: '鈮�'}, + {label: '锛�', value: '锛�'}, + ] } }, watch: { @@ -977,6 +1096,109 @@ } }, methods: { + spliceData () { + if (!this.circulateForm.entrustNum || !this.circulateForm.entrustTime || !this.circulateForm.entrustPoint || this.opticalProjectList.length === 0 || this.temperatureData.length === 0) { + this.$message.error('璇峰~鍐欏畬鏁存暟鎹�') + return + } + + const opticalProjectList = JSON.parse(JSON.stringify(this.opticalProjectList)) + let entrustTime = this.circulateForm.entrustTime + let entrustNum = this.circulateForm.entrustNum + let temperaturePoint1 = JSON.parse(JSON.stringify(this.temperatureData)) + temperaturePoint1.forEach(t => { + if (!t.temperaturePoint || !t.askSymbol || !t.askNum) { + throw this.$message.error('璇峰~鍐欏畬鏁存暟鎹�') + } + }) + let temperaturePoint = JSON.parse(JSON.stringify(this.temperatureData)) + temperaturePoint.unshift({temperaturePoint: 20}) + let askArr = [] + let opticalProjectArr = [] + // 鎷兼帴瑕佹眰鍊糰sk + opticalProjectList.forEach(o => { + opticalProjectArr.push(o.value) + temperaturePoint.forEach(t => { + if (!t.askSymbol) { + const askObj = t.temperaturePoint + '鈩�' + ',' + o.value + ',' + null + askArr.push(askObj) + } else { + const askObj = t.temperaturePoint + '鈩�' + ',' + o.value + ',' + t.askSymbol + t.askNum + askArr.push(askObj) + } + }) + }) + askArr.push(this.circulateForm.entrustNum) + const ask = askArr.join(';') + // 鎷兼帴瑕佹眰鎻忚堪tell + let askNum = [] + let temperaturePointList = [] + let temperaturePointList2 = [] + entrustTime = entrustTime + 'h' + entrustNum = entrustNum + '娆�' + temperaturePoint.forEach(t => { + t.temperaturePoint = t.temperaturePoint + '鈩�' + temperaturePointList.push(t.temperaturePoint) + }) + temperaturePoint1.forEach(t => { + t.temperaturePoint = t.temperaturePoint + '鈩�' + askNum.push(t.askSymbol + t.askNum + 'dB/Km') + temperaturePointList2.push(t.temperaturePoint) + }) + let additionArr = [] + askNum.forEach(a => { + additionArr.push(temperaturePointList2.join(',') + a) + }) + temperaturePointList2.unshift(20 + '鈩�') + const tell = '娓╁害鑼冨洿:' + temperaturePointList2.join(',') + ';' + '淇濇俯鏃堕棿:' + entrustTime + ';' + '寰幆娆℃暟:' + + entrustNum + ';' + '鍏夌氦(' + opticalProjectArr.join(',') + ')' + '闄勫姞琛板噺缁濆鍊�:' + additionArr.join(';') + this.productList.forEach(item => { + if (item.inspectionItem === '娓╁害寰幆') { + item.ask = ask + item.tell = tell + } + }) + console.log('ask---', ask) + console.log('tell---', tell) + this.circulateShow = false + }, + beforeCirculateShowClose () { + if (!this.circulateForm.entrustNum || !this.circulateForm.entrustTime || !this.circulateForm.entrustPoint || this.opticalProjectList.length === 0 || this.temperatureData.length === 0) { + this.$message.error('璇峰~鍐欏畬鏁存暟鎹�') + return + } + let temperaturePoint1 = JSON.parse(JSON.stringify(this.temperatureData)) + temperaturePoint1.forEach(t => { + if (!t.temperaturePoint || !t.askSymbol || !t.askNum) { + throw this.$message.error('璇峰~鍐欏畬鏁存暟鎹�') + } + }) + }, + handleSelectionChange(val) { + this.opticalProjectList = val; + }, + addTemperatureData () { + const obj = {} + this.temperatureData.push(obj) + }, + deleteTemperatureData () { + if (this.temperatureData.length > 0) { + this.temperatureData = this.temperatureData.slice(0,-1) + } + }, + changeTemperatureData () { + const length = this.temperatureData.length + const entrustPoint = Number(this.circulateForm.entrustPoint) + if (entrustPoint > length) { + for (let i = 0; i < (entrustPoint - length); i++) { + const obj = {} + this.temperatureData.push(obj) + } + } else if (entrustPoint < length) { + const deleteNum = length - entrustPoint + this.temperatureData = this.temperatureData.slice(0,-deleteNum) + } + }, searchFilterList () { const vtw = { inspectionItem: this.inspectionItem, // 妫�楠岄」 @@ -1105,6 +1327,19 @@ } else if (!this.sampleList.every(m => m.standardMethodListId)) { this.$message.error('璇烽�夋嫨妫�楠屾爣鍑�') } else { + const select = this.selectTree.split(' - ') + const productListSelected = this.productListSelected.some(item => item.inspectionItem === '娓╁害寰幆') + let isHaveBushing = '' + this.sampleList.forEach(item => { + if (!item.bushing || item.bushing.length === 0) { + isHaveBushing = false + } + }) + console.log('isHaveBushing===', isHaveBushing) + if (productListSelected && select[2] === '鍏夌紗' && isHaveBushing === false) { + this.$message.error('鍏夌紗娓╁害寰幆椤圭洰蹇呴』杩涜鍏夌氦閰嶇疆') + return + } let sampleList = this.HaveJson(this.sampleList) let projectNum = this.totalArr.filter(a => a.state == 1).length if(projectNum==0){ @@ -1158,18 +1393,36 @@ }) }else if(type==1){ let arr = this.editTable.filter(b => b.sampleId == item.id) - arr.forEach(f => { - if(a.ask.includes(f.symbolItem)){ - let ask = calBack(a.ask, f.symbolItem,f.value) - if (ask) { - a.ask = ask + for (var i=0;i<arr.length;i++){ + if(a.ask){ + if(a.ask.includes(arr[i].symbolItem)){ + let ask = calBack(a.ask, arr[i].symbolItem,arr[i].value) + if (ask) { + a.ask = ask + } + let tell = this.handleTell(a.tell, arr[i].symbolItem,arr[i].value) + if (tell) { + a.tell = tell + } } - let tell = this.handleTell(a.tell, f.symbolItem,f.value) - if (tell) { - a.tell = tell - } + }else{ + this.$message.error('瑕佹眰鍊间负绌猴紝闇�瑕佸幓鏍囧噯搴撶淮鎶わ紒') } - }) + } + // arr.forEach(f => { + // if(a.ask){ + // if(a.ask.includes(f.symbolItem)){ + // let ask = calBack(a.ask, f.symbolItem,f.value) + // if (ask) { + // a.ask = ask + // } + // let tell = this.handleTell(a.tell, f.symbolItem,f.value) + // if (tell) { + // a.tell = tell + // } + // } + // }else{} + // }) } } }) @@ -1354,7 +1607,8 @@ this.$axios.post(this.$api.insOrder.upInsOrderOfState, { state, id: this.currentId, - companyId:this.addObj.companyId + companyId:this.addObj.companyId, + laboratory:this.addObj.laboratory }, { headers: { 'Content-Type': 'application/json' @@ -1584,6 +1838,7 @@ this.$refs.sampleTable.doLayout() }, selectProduct(val) { + this.productListSelected = val this.productIds = [] val.forEach(a => { this.productIds.push(a.id) @@ -1613,7 +1868,6 @@ this.$refs.productTable.toggleRowSelection(row, true); }, upProductSelect(selection, row) { - console.log('danxuan', row) this.bsm1DiaList = [] row.state = row.state == 1 ? 0 : 1 if (row.bsm === '1' && row.section !== '' && row.section !== null && row.state === 1) { @@ -1626,7 +1880,7 @@ } else if (row.bsm === '1' && row.section !== '' && row.section !== null && row.state === 0) { row.bsm1 = false } - if (row.bsm === '1' && row.inspectionItem === '鐔旀帴鎹熻��' && this.sampleList.length > 1 && row.state === 1) { + if (row.bsm === '1' && row.inspectionItem === '鍏夌氦鎺ュご鎹熻��' && this.sampleList.length > 1 && row.state === 1&&!this.isBsm2Val2) { this.bsm2 = true this.bsm1Dia = true if (this.bsm2Val2.length === 0) { @@ -1634,9 +1888,9 @@ this.computationalPairing(this.sampleList.length) this.bsm2Val2 = this.HaveJson(this.bsm2Val3) } - } else if (row.bsm === '1' && row.inspectionItem === '鐔旀帴鎹熻��' && row.state === 1 && this.sampleList.length > 1) { + } else if (row.bsm === '1' && row.inspectionItem === '鍏夌氦鎺ュご鎹熻��' && row.state === 1 && this.sampleList.length > 1) { this.bsm2 = false - } else if (row.bsm === '1' && row.inspectionItem === '鐔旀帴鎹熻��' && this.sampleList.length < 2) { + } else if (row.bsm === '1' && row.inspectionItem === '鍏夌氦鎺ュご鎹熻��' && this.sampleList.length < 2) { this.$message.error('鏍峰搧鏁伴噺涓嶈冻澶熻繘琛岄厤瀵规搷浣�') row.state = row.state == 1 ? 0 : 1 this.$refs.productTable.toggleRowSelection(row, false) @@ -1662,7 +1916,21 @@ } return item }) + const select = this.selectTree.split(' - ') + if (row.inspectionItem === '娓╁害寰幆' && select[2] === '鍏夌紗' && row.state === 1) { + this.circulateShow = true; + return + } else if (row.inspectionItem === '娓╁害寰幆' && select[2] === '鍏夌紗' && row.state === 0) { + this.circulateShow = false; + } this.getProNum() + }, + searchProject () { + this.$axios.post(this.$api.enums.selectEnumByCategory, { + category: "鍏夌氦椤圭洰" + }).then(res => { + this.opticalProject = res.data + }) }, permute(nums) { const result = []; @@ -1825,6 +2093,7 @@ }) }, 200) }) + this.searchProject() }, changeModel() { this.sampleList.forEach(a => { @@ -1884,7 +2153,6 @@ } }, handleAll(e) { - console.log('鍏ㄩ��') if (e.length > 0) { this.productList.map(m => { m.state = 1 @@ -1909,7 +2177,7 @@ } else if (p.bsm === '1' && p.section !== '' && p.section !== null && p.state === 0) { p.bsm1 = false } - if (p.bsm === '1' && p.inspectionItem === '鐔旀帴鎹熻��' && this.sampleList.length > 1 && p.state === 1) { + if (p.bsm === '1' && p.inspectionItem === '鍏夌氦鎺ュご鎹熻��' && this.sampleList.length > 1 && p.state === 1&&!this.isBsm2Val2) { this.bsm2 = true this.bsm1Dia = true if (this.bsm2Val2.length === 0) { @@ -1917,9 +2185,9 @@ this.computationalPairing(this.sampleList.length) this.bsm2Val2 = this.HaveJson(this.bsm2Val3) } - } else if (p.bsm === '1' && p.inspectionItem === '鐔旀帴鎹熻��' && p.state === 1 && this.sampleList.length > 1) { + } else if (p.bsm === '1' && p.inspectionItem === '鍏夌氦鎺ュご鎹熻��' && p.state === 1 && this.sampleList.length > 1) { this.bsm2 = false - } else if (p.bsm === '1' && p.inspectionItem === '鐔旀帴鎹熻��' && this.sampleList.length < 2) { + } else if (p.bsm === '1' && p.inspectionItem === '鍏夌氦鎺ュご鎹熻��' && this.sampleList.length < 2) { this.$message.error('鏍峰搧鏁伴噺涓嶈冻澶熻繘琛岄厤瀵规搷浣�') this.$refs.productTable.clearSelection() return @@ -2162,6 +2430,7 @@ return } } + this.isBsm2Val2 = true; } // if(this.bsm3){ // if(!this.bsm3Val){ -- Gitblit v1.9.3