From f3fa8866591600d5791d78c99396f4553f169aef Mon Sep 17 00:00:00 2001 From: licp <lichunping@guanfang.com.cn> Date: 星期二, 23 七月 2024 10:11:44 +0800 Subject: [PATCH] Merge branch 'master' of http://114.132.189.42:9002/r/center-lims-before into master --- src/components/tool/formula.vue | 39 +++++++ src/components/do/b1-material-ins-order/customs-inspection.vue | 2 static/js/menu.js | 9 + src/components/view/a6-device-management.vue | 28 ----- src/view/index.vue | 9 + src/components/do/b6-device-management/b6-data-acquisition-config.vue | 172 ++++++++++++++++++++++++++++++++-- 6 files changed, 217 insertions(+), 42 deletions(-) diff --git a/src/components/do/b1-material-ins-order/customs-inspection.vue b/src/components/do/b1-material-ins-order/customs-inspection.vue index 740b459..240003f 100644 --- a/src/components/do/b1-material-ins-order/customs-inspection.vue +++ b/src/components/do/b1-material-ins-order/customs-inspection.vue @@ -159,7 +159,7 @@ </div> </div> <el-table class="el-table sampleTable" ref="sampleTable" :data="sampleList" height="250px" tooltip-effect="dark" - border @selection-change="selectSample" highlight-current-row @row-click="rowClick" style="margin-top: 10px;"> + border @selection-change="selectSample" highlight-current-row @row-click="rowClick" style="margin-bottom: 10px;"> <el-table-column type="selection" width="60" :selectable="selectable" v-if="active==1"></el-table-column> <el-table-column type="index" label="搴忓彿" width="65" align="center"></el-table-column> <el-table-column prop="sample" label="鏍峰搧鍚嶇О" align="center" min-width="100"> diff --git a/src/components/do/b6-device-management/b6-data-acquisition-config.vue b/src/components/do/b6-device-management/b6-data-acquisition-config.vue index 7ffe061..bb598d9 100644 --- a/src/components/do/b6-device-management/b6-data-acquisition-config.vue +++ b/src/components/do/b6-device-management/b6-data-acquisition-config.vue @@ -13,7 +13,7 @@ </div> <div class="table"> <el-table :data="tableList.slice((page.current - 1) * page.size, page.current * page.size)" - border tooltip-effect="dark" style="width: 100%;" height="100%"> + border tooltip-effect="dark" style="width: 100%;" height="100%" :span-method="spanMethod"> <el-table-column type="index" label="搴忓彿" align="center" width="65"></el-table-column> <el-table-column prop="deviceName" align="center" min-width="100" label="璁惧鍚嶇О"></el-table-column> <el-table-column prop="fileType" align="center" label="鏂囦欢鍚庣紑"></el-table-column> @@ -81,9 +81,10 @@ <el-button @click="addDomain" size="small" type="primary" style="position: absolute; bottom: -65px;left: 62px" v-if="index === domains.length-1">鏂板鍩熷悕</el-button> </el-form-item> </div> - <div class="fomItem1"> - <el-form-item class="fomItemInput" label="鍏紡:"> - <el-input v-model="configForm.formula" @change="evalResult"></el-input> + <div class="fomItem2"> + <el-form-item class="fomItemInput1" label="鍏紡:"> + <!-- <formula :returnFormula="evalResult"/> --> + <el-input type="textarea" autosi:autosize="{ minRows: 2, maxRows: 4}"ze placeholder="璇疯緭鍏ュ唴瀹�" v-model="configForm.formula" @change="evalResult"> </el-input> </el-form-item> </div> </el-form> @@ -132,10 +133,13 @@ </template> <script> +import formula from '../../tool/formula.vue' export default { name: "dataAcquisitionConfig", // import 寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢� - components: {}, + components: { + formula + }, props: { deviceId: { type: Number, @@ -176,11 +180,116 @@ {label: 'excel', value: '.xlsx'}, {label: 'txt', value: '.txt'}, {label: 'png', value: '.png'}, - ] + ], + spanList: [], + specialSpanList: [], + spanConfig: { + special: { + main: "inspectionItemSubClass", + rows:[ + { + name:'deviceName', + index:1 + }, + { + name:'fileType', + index:2 + }, + { + name:'collectUrl', + index:3 + }, + { + name:'storageUrl', + index:4 + }, + { + name:'ip', + index:5 + }, + { + name:'inspectionItem', + index:6 + }, + { + name:'inspectionItemSubClass', + index:7 + }, + { + name:'inspectionItemSubClass', + index:12 + }, + { + name:'inspectionItemSubClass', + index:13 + } + ] + } + }, + deleteList: [] } }, // 鏂规硶闆嗗悎 methods: { + rowspan(spanArr, position, spanName) { + this.tableList.forEach((item, index) => { + if (index === 0) { + spanArr.push(1); + position = 0; + } else { + if ( + this.tableList[index][spanName] === + this.tableList[index - 1][spanName] + ) { + spanArr[position] += 1; + spanArr.push(0); + } else { + spanArr.push(1); + position = index; + } + } + }); + }, + spanMethod({ + row, + column, + rowIndex, + columnIndex + }) { + // 涓�鑸殑鍚堝苟琛� + if (this.spanConfig != undefined && this.spanConfig.rows && this.spanConfig.rows.length > 0) { + let i = null; + let obj = this.spanConfig.rows.find((item, index) => { + i = index; + return item.index == columnIndex + }) + if (obj) { + const _row = this.spanList[i].arr[rowIndex]; + const _col = _row > 0 ? 1 : 0; + return { + rowspan: _row, + colspan: _col, + }; + } + } + // 鐗规畩鐨勫悎骞惰 + if (this.spanConfig != undefined && this.spanConfig.special && this.spanConfig.special.main && + this.spanConfig.special.rows && this.spanConfig.special.rows.length > 0) { + let i = null; + let obj = this.spanConfig.special.rows.find((item, index) => { + i = index; + return item.index == columnIndex + }) + if (obj) { + const _row = this.specialSpanList[i].arr[rowIndex]; + const _col = _row > 0 ? 1 : 0; + return { + rowspan: _row, + colspan: _col, + }; + } + } + }, fileConfiguration() { this.dialogVisible4 = true if(this.tableList[0]) { @@ -200,6 +309,31 @@ this.$set(this.configForm, 'storageUrl', this.tableList[0].storageUrl) this.$set(this.configForm, 'ip', this.tableList[0].ip) } + // 涓�鑸殑鍚堝苟琛� + if (this.spanConfig != undefined && this.spanConfig.rows && this.spanConfig.rows.length > + 0) { + this.spanList = []; + this.spanConfig.rows.forEach((item, index) => { + this.spanList.push({ + arr: [], + position: 0 + }) + this.rowspan(this.spanList[index].arr, this.spanList[index].position, item.name); + }) + } + // 鐗规畩鐨勫悎骞惰 + if (this.spanConfig != undefined && this.spanConfig.special && this.spanConfig.special + .main && this.spanConfig.special.rows && this.spanConfig.special.rows.length > 0) { + this.specialSpanList = [] + this.spanConfig.special.rows.forEach((item, index) => { + this.specialSpanList.push({ + arr: [], + position: 0 + }) + this.rowspan(this.specialSpanList[index].arr, this.specialSpanList[index].position, this + .spanConfig.special.main); + }) + } }) }, submitForm4() { @@ -280,6 +414,13 @@ id: '' } ] + if(this.deleteList.length > 0) { + this.$axios.delete(this.$api.deviceScope.deleteDataAcquisitionConfiguration + "?ids=" + this.deleteList.join()).then(res => { + if(res.code == 200) { + this.init() + } + }) + } this.init() this.$message.success('娣诲姞鎴愬姛') }) @@ -293,11 +434,8 @@ const index = this.domains.indexOf(item) if (index !== -1 && this.domains.length > 1) { if(item.id){ - this.$axios.delete(this.$api.deviceScope.deleteDataAcquisitionConfiguration + "?id=" + item.id).then(res => { - if(res.code == 200) { - this.domains.splice(index, 1) - } - }) + this.deleteList.push(item.id) + this.domains.splice(index, 1) } else { this.domains.splice(index, 1) } @@ -315,7 +453,8 @@ id: '' }); }, - evalResult () { + evalResult (val) { + this.configForm.formula = val // 鏍规嵁鍏紡璁$畻鍑虹粨鏋� }, sizeChange(val) { @@ -325,6 +464,7 @@ this.page.current = val }, closeForm () { + this.deleteList = [] this.domains = [{ referx: '', refery: '', @@ -377,10 +517,18 @@ display: flex; height: 74px; } +.fomItem2 { + display: flex; + width: 100%; +} .fomItemInput { width: 180px; margin-right: 6px; } +.fomItemInput1 { + width: 100%; + margin-right: 6px; +} >>>.el-form-item__label { padding-bottom: 0 !important; } diff --git a/src/components/tool/formula.vue b/src/components/tool/formula.vue new file mode 100644 index 0000000..da586a8 --- /dev/null +++ b/src/components/tool/formula.vue @@ -0,0 +1,39 @@ +<template> + <div> + <el-input + type="textarea" + :autosize="{ minRows: 2, maxRows: 4 }" + placeholder="璇疯緭鍏ュ唴瀹�" + v-model="formula" + @change="evalResult" + @input="inputValue" + > + </el-input> + </div> +</template> + +<script> +export default { + props: { + returnFormula: { + type: Function, + default: () => {return Function} + } + }, + data() { + return { + formula: "" + }; + }, + methods: { + // 鍥炴樉 + evalResult() { + this.returnFormula(this.formula) + }, + inputValue(val) { + let lastChar2 = val.slice(-1); + + } + } +}; +</script> diff --git a/src/components/view/a6-device-management.vue b/src/components/view/a6-device-management.vue index 0388057..04f59c8 100644 --- a/src/components/view/a6-device-management.vue +++ b/src/components/view/a6-device-management.vue @@ -225,20 +225,6 @@ </el-upload> </div> </el-form-item> - <el-form-item label="妫�娴嬬殑鏂囦欢绫诲瀷:"> - <el-select :disabled="isUp" v-model="formData.fileType" placeholder="璇烽�夋嫨鏂囦欢绫诲瀷" clearable> - <el-option v-for="item in fileTypeOptions" - :key="item.value" - :label="item.label" - :value="item.value"></el-option> - </el-select> - </el-form-item> - <el-form-item label="閲囬泦鍦板潃:" clearable> - <el-input :disabled="isUp" v-model="formData.collectUrl"></el-input> - </el-form-item> - <el-form-item label="鍌ㄥ瓨鍦板潃:"> - <el-input :disabled="isUp" v-model="formData.storageUrl"></el-input> - </el-form-item> </el-form> </el-col> </el-row> @@ -382,20 +368,6 @@ </el-upload> </div> </el-form-item> - <el-form-item label="妫�娴嬬殑鏂囦欢绫诲瀷:"> - <el-select v-model="formData.fileType" placeholder="璇烽�夋嫨鏂囦欢绫诲瀷" clearable> - <el-option v-for="item in fileTypeOptions" - :key="item.value" - :label="item.label" - :value="item.value"></el-option> - </el-select> - </el-form-item> - <el-form-item label="閲囬泦鍦板潃:" clearable> - <el-input v-model="formData.collectUrl"></el-input> - </el-form-item> - <el-form-item label="鍌ㄥ瓨鍦板潃:"> - <el-input v-model="formData.storageUrl"></el-input> - </el-form-item> </el-form> </el-col> </el-row> diff --git a/src/view/index.vue b/src/view/index.vue index 04edcb4..38dc5a4 100644 --- a/src/view/index.vue +++ b/src/view/index.vue @@ -435,6 +435,15 @@ }, created() { this.menu = menus.menu + if (this.PROJECT !== '瑁呭鐢电紗') { // 妫�娴嬩腑蹇冩殏鏃�'鍘熸潗鏂欐楠屼笅鍗�'鍔熻兘 + const index = this.menu.findIndex(item => item.v === '涓氬姟绠$悊') + if (index > -1) { + const index2 = this.menu[index].c.findIndex(obj => obj.v === '鍘熸潗鏂欐楠屼笅鍗�') + if (index2 > -1) { + this.menu[index].c.splice(index2, 1) + } + } + } }, mounted() { this.userName = JSON.parse(localStorage.getItem("user")).name; diff --git a/static/js/menu.js b/static/js/menu.js index 661aeff..f267eb5 100644 --- a/static/js/menu.js +++ b/static/js/menu.js @@ -14,7 +14,14 @@ v: "涓氬姟绠$悊", i: "font icon-kexueyanjiuheshiyankaifa", p: "selectInsOrderParameter selectInsOrderPlanList pageInsReport costStatistics selectWarehouse", - c: [{ + c: [ + { + v: "鍘熸潗鏂欐楠屼笅鍗�", + i: "font icon-erjidaohang", + u: "b1-material-inspection-order", + p: "selectInsOrderParameter" + }, + { v: "妫�楠屼笅鍗�", i: "font icon-erjidaohang", u: "b1-inspection-order", -- Gitblit v1.9.3