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