src/api/cnas/resourceDemand/device.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/CNAS/resourceDemand/device/component/acquisitionConfig.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/business/inspectionTask/components/NetworkAnalyzerDataAcquisition.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/business/inspectionTask/inspection.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/api/cnas/resourceDemand/device.js
@@ -1243,3 +1243,12 @@ params: query, }); } //éè¿è®¾å¤åç§°ï¼è®¾å¤ç¼å·æ¥è¯¢æ°éé ç½® export function queryDataAcquisitionConfigurationTwo(query) { return request({ url: "/deviceScope/queryDataAcquisitionConfigurationTwo", method: "get", params: query, }); } src/views/CNAS/resourceDemand/device/component/acquisitionConfig.vue
@@ -28,13 +28,24 @@ <el-table-column prop="inspectionItemClass" align="center" label="æ£éªé¡¹åç±»" min-width="120"></el-table-column> <el-table-column prop="inspectionItem" align="center" label="æ£éªé¡¹" min-width="100"></el-table-column> <el-table-column prop="inspectionItemSubclass" align="center" label="æ£éªå项" min-width="100"></el-table-column> <el-table-column prop="referx" align="center" label="åç §X" min-width="100"></el-table-column> <el-table-column prop="x" align="center" label="X"></el-table-column> <el-table-column prop="refery" align="center" label="åç §Y" min-width="100"></el-table-column> <el-table-column prop="y" align="center" label="Y"></el-table-column> <el-table-column prop="anotherName" align="center" label="å«å" min-width="100"></el-table-column> <el-table-column prop="matchingName" align="center" label="å¹é åç§°" min-width="100"></el-table-column> <el-table-column prop="formula" align="center" label="å ¬å¼"></el-table-column> <el-table-column prop="importedParts" align="center" label="é¨ä½" min-width="100" v-if="deviceName && deviceName.includes('ç½ç»åæ')"></el-table-column> <el-table-column prop="importedChannel" align="center" label="éé" min-width="100" v-if="deviceName && deviceName.includes('ç½ç»åæ')"></el-table-column> <el-table-column prop="referx" align="center" label="åç §X" min-width="100" v-if="deviceName && !deviceName.includes('ç½ç»åæ')"></el-table-column> <el-table-column prop="x" align="center" label="X" v-if="deviceName && !deviceName.includes('ç½ç»åæ')"></el-table-column> <el-table-column prop="refery" align="center" label="åç §Y" min-width="100" v-if="deviceName && !deviceName.includes('ç½ç»åæ')"></el-table-column> <el-table-column prop="y" align="center" label="Y" v-if="deviceName && !deviceName.includes('ç½ç»åæ')"></el-table-column> <el-table-column prop="anotherName" align="center" label="å«å" min-width="100" v-if="deviceName && !deviceName.includes('ç½ç»åæ')"></el-table-column> <el-table-column prop="matchingName" align="center" label="å¹é åç§°" min-width="100" v-if="deviceName && !deviceName.includes('ç½ç»åæ')"></el-table-column> <el-table-column prop="formula" align="center" label="å ¬å¼" v-if="deviceName && !deviceName.includes('ç½ç»åæ')"></el-table-column> <el-table-column fixed="right" label="æä½" width="120" align="center"> <template slot-scope="scope"> <el-button type="text" @click="dataConfig(scope.row)">æ°éé ç½®</el-button> @@ -127,7 +138,7 @@ <div class="search_thing" style="margin-bottom: 14px;" v-if="deviceName && deviceName.includes('ç½ç»åæ')"> <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>端å£ï¼ </div> <el-input size="small" placeholder="请è¾å ¥(ç½ç»åæä»ªå¿ å¡«)" clearable v-model="configForm.port"></el-input> <el-input size="small" placeholder="请è¾å ¥" clearable v-model="configForm.port"></el-input> </div> <div class="search_thing" style="margin-bottom: 14px;" v-if="deviceName && !deviceName.includes('ç½ç»åæ')"> <div class="search_label"> @@ -173,6 +184,25 @@ <el-row> <el-button @click="dialogVisible4 = false">å æ¶</el-button> <el-button type="primary" @click="submitForm4" :loading="upLoad4">ç¡® å®</el-button> </el-row> </span> </el-dialog> <el-dialog title="æ°éé ç½®" :visible.sync="dialogVisible5" width="400px"> <div class="search_thing" style="margin-bottom: 14px;"> <div class="search_label"> <span style="color:red;margin-right: 4px;">*</span>é¨ä½ï¼ </div> <el-input size="small" placeholder="请è¾å ¥" clearable v-model="configForm.importedParts"></el-input> </div> <div class="search_thing" style="margin-bottom: 14px;"> <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>ééï¼ </div> <el-input size="small" placeholder="请è¾å ¥" clearable v-model="configForm.importedChannel"></el-input> </div> <span slot="footer" class="dialog-footer"> <el-row> <el-button @click="dialogVisible5 = false">å æ¶</el-button> <el-button type="primary" @click="submitForm5" :loading="upLoad5">ç¡® å®</el-button> </el-row> </span> </el-dialog> @@ -316,7 +346,9 @@ } }, deleteList: [], channelList: [] channelList: [], dialogVisible5: false, upLoad5: false, }; }, // æ¹æ³éå @@ -576,46 +608,52 @@ structureItemParameterId: row.structureItemParameterId, inspectionItemClass: row.inspectionItemClass, }; this.dialogVisible3 = true; queryDataAcquisitionConfiguration({ deviceId: this.deviceId, inspectionItem: row.inspectionItem.trim(), isDevice: true, inspectionItemSubclass: row.inspectionItemSubclass.trim(), inspectionItemClass: row.inspectionItemClass ? row.inspectionItemClass.trim() : '', structureItemParameterId: row.structureItemParameterId }).then(res => { const data = res.data; if (data[0]) { this.domains.splice(0, 1); let formula = data[0].formula let isIncludes = false if (formula && formula != "") { for (let key in this.formulas) { if (formula.includes(this.formulas[key].label)) { isIncludes = true if (this.deviceName && this.deviceName.includes('ç½ç»åæ')) { this.dialogVisible5 = true; this.$set(this.configForm, 'importedParts', row.importedParts ? row.importedParts : '') this.$set(this.configForm, 'importedChannel', row.importedChannel ? row.importedChannel : '') } else { this.dialogVisible3 = true; queryDataAcquisitionConfiguration({ deviceId: this.deviceId, inspectionItem: row.inspectionItem.trim(), isDevice: true, inspectionItemSubclass: row.inspectionItemSubclass.trim(), inspectionItemClass: row.inspectionItemClass ? row.inspectionItemClass.trim() : '', structureItemParameterId: row.structureItemParameterId }).then(res => { const data = res.data; if (data[0]) { this.domains.splice(0, 1); let formula = data[0].formula let isIncludes = false if (formula && formula != "") { for (let key in this.formulas) { if (formula.includes(this.formulas[key].label)) { isIncludes = true } } } } if (!isIncludes && formula) { let formulaValue = formula.slice(1, -1) this.$set(this.configForm, "formula", formulaValue); } else { this.$set(this.configForm, "formula", data[0].formula); } data.forEach(i => { this.domains.push({ referx: i.referx, refery: i.refery, x: i.x, y: i.y, anotherName: i.anotherName, matchingName: i.matchingName, id: i.id if (!isIncludes && formula) { let formulaValue = formula.slice(1, -1) this.$set(this.configForm, "formula", formulaValue); } else { this.$set(this.configForm, "formula", data[0].formula); } data.forEach(i => { this.domains.push({ referx: i.referx, refery: i.refery, x: i.x, y: i.y, anotherName: i.anotherName, matchingName: i.matchingName, id: i.id }); }); }); } }); } }); } }, submitForm3() { this.$refs.configForm.validate(valid => { @@ -725,6 +763,18 @@ ]; this.dialogVisible3 = false; this.$refs.configForm.resetFields(); }, submitForm5() { saveDataAcquisitionConfiguration({ deviceId: this.deviceId, isDevice: true, importedParts: this.configForm.importedParts, importedChannel: this.configForm.importedChannel, }).then(res => { this.dialogVisible5 = false; this.init(); this.$message.success("æ·»å æå"); }); } } }; src/views/business/inspectionTask/components/NetworkAnalyzerDataAcquisition.vue
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,285 @@ <template> <div class="btns"> <el-button type="primary" size="small" @click="getMetadata()">è¿å£ç½å仪æ°é</el-button> <el-button type="primary" size="small">å½äº§ç½å仪æ°é</el-button> </div> </template> <script> import { queryDataAcquisitionConfigurationTwo, } from '@/api/cnas/resourceDemand/device.js' export default { props: ['itemList', 'param', 'equipOptions'], data() { return { itemConfig: [], itemListNew: [] } }, mounted() { // console.log(this.param, this.itemList) }, methods: { async getMetadata() { console.log(this.param, this.itemList) this.itemListNew = this.HaveJson(this.itemList) let equip = null; for (let n in this.param) { let obj = this.equipOptions.find(m => m.value == this.param[n].equipValue[0].v.v) if (obj && obj.label && obj.label.indexOf('ç½ç»åæä»ª') > -1) { equip = obj } } if (equip) { await this.getItemConfig(equip) this.itemListNew.forEach(item => { if (item.inspectionItemType == 1) { let obj = this.itemConfig.find(m => m.inspectionItem == item.inspectionItem) if (obj) { item.aisle = obj.importedChannel item.position = obj.importedParts } } }) this.gatherNetworkAnalyzerSampleItem() } }, async getItemConfig(param) { let res = await queryDataAcquisitionConfigurationTwo({ ...param }) if (res.code == 200) { this.itemConfig = res.data } }, // è¿å£ç½å仪 gatherNetworkAnalyzerSampleItem() { // ä¼ åæ° // çæè¯·æ±ä¿¡æ¯ const preStr = '<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><CalValue xmlns="zhrf_CollectData"><dataGridView>' const ednStr = '</dataGridView></CalValue></soap:Body></soap:Envelope>' let requireData = '' const electricItem = this.itemListNew.find(m => m.inspectionItem == 'çµå®¹ï¼æµè¯å¼ï¼') if (electricItem) { electricItem.itemValue = this.param[electricItem.id].resValue.v.v } const dataArr = [] let dataItem let flag = true let flagMsg = '' const temperatureItem = this.itemListNew.find(m => m.inspectionItem == '温度') if (temperatureItem) { temperatureItem.itemValue = this.param[temperatureItem.id].resValue.v.v } const temperature = temperatureItem ? temperatureItem.itemValue : null const cdItem = this.itemListNew.find(m => m.inspectionItem == 'çµç¼é¿åº¦') if (cdItem) { cdItem.itemValue = this.param[cdItem.id].resValue.v.v } const cdItems = this.itemListNew.find(m => m.inspectionItem == '鿣é¿åº¦è½¬æ¢ç³»æ°') if (cdItems) { cdItems.itemValue = this.param[cdItems.id].resValue.v.v } const res = (cdItem ? cdItem.itemValue : 0) * (cdItems ? cdItems.itemValue : 0) const num = this.roundFun(res, 6) const cd = cdItem && cdItems ? num : null console.log('cd', cd) if (cd && cd != null) { if (temperature && temperature != null) { if ( electricItem && electricItem != null && electricItem.itemValue != null ) { let phaseDifferenceFlag = true this.itemListNew.forEach(item => { if (item.inspectionItem.indexOf('è¡°å') > -1 && item.inspectionItemType == 1) { dataItem = { Column1: item.inspectionItem, TD: item.aisle == null ? '0' : item.aisle, BW: item.position == null ? '0' : item.position, temperture: temperature, cd: cd } dataArr.push(dataItem) // 夿æ¯å¦æé¨ä½ãéé if (item.aisle == null || item.aisle == '') { flag = false flagMsg = flagMsg + item.inspectionItem + ',ééå¼ä¸ºç©ºï¼' } if (item.position == null || item.position == '') { flag = false flagMsg = flagMsg + item.inspectionItem + ',é¨ä½å¼ä¸ºç©ºï¼' } } else if (item.inspectionItem.indexOf('驻波æ¯') > -1 && item.inspectionItemType == 1 ) { dataItem = { Column1: item.inspectionItem, TD: item.aisle == null ? '0' : item.aisle, BW: item.position == null ? '0' : item.position } dataArr.push(dataItem) // 夿æ¯å¦æé¨ä½ãéé if (item.aisle == null || item.aisle == '') { flag = false flagMsg = flagMsg + item.inspectionItem + ',ééå¼ä¸ºç©ºï¼' } if (item.position == null || item.position == '') { flag = false flagMsg = flagMsg + item.inspectionItem + ',é¨ä½å¼ä¸ºç©ºï¼' } } else if (item.inspectionItem.indexOf('ç¸ä½å·®') > -1 && item.inspectionItemType == 1 ) { dataItem = { Column1: item.inspectionItem, Column2: item.itemReference,// TODO: ç¸ä½å·®-å¨ææ° TD: item.aisle == null ? '0' : item.aisle, BW: item.position == null ? '0' : item.position } dataArr.push(dataItem) // 夿æ¯å¦æé¨ä½ãéé if (item.aisle == null || item.aisle == '') { flag = false flagMsg = flagMsg + item.inspectionItem + ',ééå¼ä¸ºç©ºï¼' } if (item.position == null || item.position == '') { flag = false flagMsg = flagMsg + item.inspectionItem + ',é¨ä½å¼ä¸ºç©ºï¼' } if ( item.itemReference == null || item.itemReference.indexOf('æ°') < 0 ) { phaseDifferenceFlag = false } } else if (item.inspectionItem.indexOf('ç¹æ§é»æ') > -1 && item.inspectionItemType == 1 ) { dataItem = { Column1: item.inspectionItem, TD: item.aisle == null ? '0' : item.aisle, BW: item.position == null ? '0' : item.position, DR: electricItem ? electricItem.itemValue : '0' } dataArr.push(dataItem) // 夿æ¯å¦æé¨ä½ãéé if (item.aisle == null || item.aisle == '') { flag = false flagMsg = flagMsg + item.inspectionItem + ',ééå¼ä¸ºç©ºï¼' } if (item.position == null || item.position == '') { flag = false flagMsg = flagMsg + item.inspectionItem + ',é¨ä½å¼ä¸ºç©ºï¼' } } }) if (phaseDifferenceFlag) { const _that = this if (dataArr.length > 0) { // 夿ç¸ä½å·®ãç¹æ§é»æç顺åºä½ç½®ï¼ç¸ä½å·®å¨åãå¹³åç¹æ§é»æå¨å const index0 = dataArr.findIndex((item) => { return item.Column1.indexOf('ç¸ä½å·®') >= 0 }) const index1 = dataArr.findIndex((item) => { return item.Column1.indexOf('ç¹æ§é»æ') >= 0 }) if (index0 >= 0) { if (index1 >= 0) { if (index0 < index1) { if (flag) { const dataArrStr = JSON.stringify(dataArr) requireData = preStr + dataArrStr + ednStr this.gatherLoadingShow = true $.ajax({ type: 'post', url: 'http://127.0.0.1:8089/zhrf_CollectData.asmx?op=CalValue', headers: { 'Content-Type': 'text/xml;charset=utf-8' }, data: requireData, success: function (response) { console.log('response', response) const resJson = response // TODO if (resJson.message) { const resData = resJson.data if (resData.length > 0) { resData.forEach((resDataEle) => { const paramItem = _that.dataList[ 'éé项' ].find((ele) => { return ele.itemName == resDataEle.Column1 }) if (paramItem) { paramItem.acqItemValue = resDataEle.Column3 paramItem.calItemValue = resDataEle.Column4 paramItem.itemValue = resDataEle.Column5 } }) } } else { console.log('è·åç½åä»ªæ°æ®å¤±è´¥') } _that.gatherLoadingShow = false }, error: function ( XMLHttpRequest, textStatus, errorThrown ) { console.log('è·åç½å仪æ¥å£å¼å¸¸') _that.gatherLoadingShow = false } }) } else { this.$message.error(flagMsg) } } else { this.$message.error('ç¸ä½å·®éå¹³åç¹æ§é»æä¹å') } } else { this.$message.error('æ å¹³åç¹æ§é»æ') } } else { this.$message.error('æ ç¸ä½å·®') } } else { this.$message.error('æ æ£æµé¡¹ç®éè¿è¡éé') } } else { this.$message.error('ç¸ä½å·®è¦æ±èå´æ ¼å¼é误') } } else { this.$message.error('çµå®¹æ åä¸è½ä¸ºç©º') } } else { this.$message.error('温度ä¸è½ä¸ºç©º') } } else { this.$message.error('çµç¼é¿åº¦å鿣é¿åº¦è½¬æ¢ç³»æ°ä¸è½ä¸ºç©º') } }, roundFun(value, n) { if (value === null) { return null } return Math.round(value * Math.pow(10, n)) / Math.pow(10, n) }, }, } </script> <style scoped> .btns { display: flex; align-items: center; margin-right: 10px; } </style> src/views/business/inspectionTask/inspection.vue
@@ -91,9 +91,9 @@ </el-radio-group> </div> <div style="display: flex; align-items: center"> <el-button v-if="state == 1" size="small" type="primary" @click="openAddUnpass">æ°å¢ä¸åæ ¼å¤æµ</el-button> <!-- <el-button v-if="state == 1" size="small" type="primary" @click="openAddUnpass">æ°å¢ä¸åæ ¼å¤æµ</el-button> <el-button v-if="state == 1" size="small" type="primary" @click="unpassCheck">ä¸åæ ¼å¤æµ</el-button> <el-button v-if="state > 1" size="small" type="primary" @click="viewUnpassCheck">æ¥çä¸åæ ¼å¤æµ</el-button> <el-button v-if="state > 1" size="small" type="primary" @click="viewUnpassCheck">æ¥çä¸åæ ¼å¤æµ</el-button> --> <span v-if="cableTagList.length > 0"> çµç¼é ç½®ï¼</span> <el-select v-if="cableTagList.length > 0" v-model="currentTab" clearable placeholder="è¯·éæ©" size="small" @change="(m) => handleChangeCableTag(currentSample.id, 0, 'cableTag', m) @@ -138,6 +138,10 @@ type="success">å·²æ£</el-tag> </el-option> </el-select> <!-- ç½å仪æ°éå½äº§/è¿å£ --> <NetworkAnalyzerDataAcquisition :itemList="currentSample.insProduct" :param="param" :equipOptions="equipOptions" v-if="currentSample.insProduct && currentSample.insProduct.length > 0 && param" /> <el-button :loading="dataAcquisitionLoading" v-if="state == 1" size="small" type="primary" @click="getDataAcquisitionDevice">æ°æ®éé</el-button> <el-button :type="dataAcquisitionEidtAble ? '' : 'primary'" v-if="state == 1" size="small" @@ -529,6 +533,7 @@ import UnPassDialog from "../unpass/components/unPassDialog.vue"; import AddUnPass from "../unpass/components/addUnPass.vue"; import InspectionWord from "./components/InspectionWord.vue"; import NetworkAnalyzerDataAcquisition from "./components/NetworkAnalyzerDataAcquisition.vue"; import PurchaseVerification from "../unpass/components/PurchaseVerification.vue"; import { doInsOrder, @@ -563,6 +568,7 @@ limsTable, UnPassDialog, InspectionWord, NetworkAnalyzerDataAcquisition, }, data() { return { @@ -966,7 +972,7 @@ // èµå¼å½åæ ·åå表 this.sampleProduct = res.data.sampleProduct; this.currentSample = this.HaveJson(this.sampleProduct[0]); let insProduct = this.HaveJson(this.currentSample.insProduct); // let insProduct = this.HaveJson(this.currentSample.insProduct); // æ¸©åº¦ãæ¹¿åº¦èµå¼ this.otherForm = { temperature: this.insOrder.temperature