From 8270696d8c0ac14e47e341ddabf65acfb5a10a6b Mon Sep 17 00:00:00 2001 From: licp <lichunping@guanfang.com.cn> Date: 星期六, 03 八月 2024 11:31:30 +0800 Subject: [PATCH] Merge branch 'master' of http://114.132.189.42:9002/r/center-lims-before into master --- src/components/view/b1-report-preparation.vue | 2 src/components/do/b1-inspect-order-plan/Inspection.vue | 53 ++++++++++++++--- src/components/tool/onlyoffice.vue | 2 src/components/do/b6-device-management/b6-data-acquisition-config.vue | 112 ++++++++++++++++++++++++++++++------- 4 files changed, 136 insertions(+), 33 deletions(-) diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue index cf3a9cd..8bd547b 100644 --- a/src/components/do/b1-inspect-order-plan/Inspection.vue +++ b/src/components/do/b1-inspect-order-plan/Inspection.vue @@ -226,6 +226,9 @@ display: flex; align-items: center; } + .custom-dialog .el-dialog__body { + max-width: 1000px; /* 璁剧疆鏈�澶у搴� */ + } </style> <template> <div v-loading="loading" class="inspection"> @@ -784,7 +787,7 @@ <el-button type="primary" @click="submit()">纭� 瀹�</el-button> </span> </el-dialog> - <el-dialog title="鏁版嵁閲囬泦" :visible.sync="dataGetDia" min-width="400px" :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false"> + <el-dialog title="鏁版嵁閲囬泦-璁$畻鏁版嵁閫夋嫨" :visible.sync="dataGetDia" :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false" custom-class="custom-dialog"> <div> <table border="1" cellpadding="10" class="thermal-table"> <tr> @@ -796,19 +799,19 @@ <tr> <td :rowspan="item.child.length">{{item.faName}}</td> <td>{{ item.child[0].name }}</td> - <td> + <td style="text-align: left;"> <el-checkbox-group - v-model="getDataIndex"> + v-model="getDataIndex" :max="item.child[0].maxNum"> <el-checkbox v-for="(n,j) in item.child[0].arr" :label="j" :key="j+'ppppppppp'">{{n}}</el-checkbox> </el-checkbox-group> </td> </tr> <tr v-for="(m,i) in item.child" :key="i+'bbbbbbbbbbbbbb'" v-show="i>0"> <td>{{ m.name }}</td> - <td> + <td style="text-align: left;"> <el-checkbox-group - v-model="getDataIndex"> - <el-checkbox v-for="(n,j) in m.arr" :label="j" :key="j+'bbbbbbbbbbbbbb'">{{n}}</el-checkbox> + v-model="getDataIndex" :max="m.maxNum"> + <el-checkbox v-for="(n,j) in m.arr" :label="j" :key="j+'bbbbbbbbbbbbbb'" >{{n}}</el-checkbox> </el-checkbox-group> </td> </tr> @@ -1273,16 +1276,48 @@ child:[] } for(let j in data[i]){ - console.log(j,data[i][j]) if(j!='frequency'&&data[i][j]&&!data[i][j].isCalculation){ this.dataAcquisitionInfo[i+','+j] = { value:data[i][j].result, frequency:data[i].frequency } }else if(j!='frequency'&&data[i][j]&&data[i][j].isCalculation){ + let str0 = i+','+j + let list = this.tableList[0].arr + let maxNum = 0 + list.forEach((item,index)=>{ + let num0 = 0; + let str = '' + item.forEach(m=>{ + if(m.v.ps&&(m.v.ps.value=='妫�楠屽瓙椤�'||m.v.ps.value=='妫�楠岄」')){ + if(m.v.ps&&m.v.ps.value=='妫�楠岄」'){ + if(num0==0){ + str = m.v.v+',' + num0++ + } + } + if(m.v.ps&&m.v.ps.value=='妫�楠屽瓙椤�'){ + if(num0==1){ + str = str+m.v.v + } + } + let num = 0; + list[index].forEach(n=>{ + if(n.v.ps&&n.v.ps.value&&typeof n.v.ps.value == 'string'&&n.v.ps.value.includes('妫�楠屽��')){ + num++ + } + }) + if(str0==str){ + maxNum = num + } + } + }) + }) + console.log(44444444444,maxNum) let obj0 = { name:j, - arr:data[i][j].result + arr:data[i][j].result, + maxNum:maxNum } obj.child.push(obj0) } @@ -1336,7 +1371,7 @@ this.getDataIndex.sort((a, b) => a - b); for (let i in this.dataAcquisitionInfoNew){ for(let j in this.dataAcquisitionInfoNew[i]){ - if(j!='frequency'&&this.dataAcquisitionInfoNew[i][j].isCalculation){ + if(j!='frequency'&&this.dataAcquisitionInfoNew[i]&&this.dataAcquisitionInfoNew[i][j]&&this.dataAcquisitionInfoNew[i][j].isCalculation){ let arr = [] for(let k = 0;k<this.dataAcquisitionInfoNew[i][j].result.length;k++){ if(this.getDataIndex.includes(k)){ 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 322ba4d..a1c0f07 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 @@ -87,23 +87,9 @@ <el-form-item class="fomItemInput1"> <template v-slot="label"> 鍏紡锛� - <el-tooltip class="itemFomItem" effect="dark" content="姹傚弬鏁版渶澶у�硷紝鍙傛暟涓暟鏈�灏戜袱涓紝濡傦細MAX(A1,B2)" placement="top"> - <label>MAX()</label> - </el-tooltip> - <el-tooltip class="itemFomItem" effect="dark" content="姹傚弬鏁版渶灏忓�硷紝鍙傛暟涓暟鏈�灏戜袱涓紝濡傦細MIN(A1,B2)" placement="top"> - <label>MIN()</label> - </el-tooltip> - <el-tooltip class="itemFomItem" effect="dark" content="姹傚拰锛屽弬鏁颁釜鏁版渶灏戜袱涓紝濡傦細SUM(A1,B2)" placement="top"> - <label>SUM()</label> - </el-tooltip> - <el-tooltip class="itemFomItem" effect="dark" content="姹傜粷瀵瑰�硷紝鍙傛暟涓暟鏈�灏戜竴涓紝濡傦細ABS(A1)" placement="top"> - <label>ABS()</label> - </el-tooltip> - <el-tooltip class="itemFomItem" effect="dark" content="姹傚钩鍧囧�硷紝鍙傛暟涓暟鏈�灏戜袱涓釜锛屽锛欰VERAGE(A1,B2)" placement="top"> - <label>AVERAGE()</label> - </el-tooltip> - <el-tooltip class="itemFomItem" effect="dark" content="姹備腑鍊硷紝鍙傛暟涓暟鏈�灏戜袱涓釜锛屽锛歁EDIAN(A1,B2)" placement="top"> - <label>MEDIAN()</label> + <el-tooltip v-for="(formula, key) in formulas" class="itemFomItem" effect="dark" :content="formula.content" :key="key" + placement="top"> + <label>{{ formula.label }}()</label> </el-tooltip> <el-input type="textarea" autosi:autosize="{ minRows: 2, maxRows: 4}" ze placeholder="璇疯緭鍏ュ唴瀹�" v-model="configForm.formula" @change="evalResult"> @@ -184,6 +170,32 @@ data() { // 杩欓噷瀛樻斁鏁版嵁 return { + formulas: [ + { + label: "MAX", + content: "姹傚弬鏁版渶澶у�硷紝鍙傛暟涓暟鏈�灏戜袱涓紝濡傦細MAX(A1,B2)" + }, + { + label: "MIN", + content: "姹傚弬鏁版渶灏忓�硷紝鍙傛暟涓暟鏈�灏戜袱涓紝濡傦細MIN(A1,B2)" + }, + { + label: "SUM", + content: "姹傚拰锛屽弬鏁颁釜鏁版渶灏戜袱涓紝濡傦細SUM(A1,B2)" + }, + { + label: "ABS", + content: "姹傜粷瀵瑰�硷紝鍙傛暟涓暟鏈�灏戜竴涓紝濡傦細ABS(A1)" + }, + { + label: "AVERAGE", + content: "姹傚钩鍧囧�硷紝鍙傛暟涓暟鏈�灏戜袱涓釜锛屽锛欰VERAGE(A1,B2)" + }, + { + label: "MEDIAN", + content: "姹備腑鍊硷紝鍙傛暟涓暟鏈�灏戜袱涓釜锛屽锛歁EDIAN(A1,B2)" + }, + ], dialogVisible4: false, tableList: [], page: { @@ -192,7 +204,12 @@ }, dialogVisible3: false, configForm: { - formula: "" + formula: "", + collectUrl: "", + storageUrl: "", + entrustCode: "", + sampleCode: "", + dbFileName: "" }, domains: [ { @@ -338,6 +355,21 @@ this.$set(this.configForm, "collectUrl", this.tableList[0].collectUrl); this.$set(this.configForm, "storageUrl", this.tableList[0].storageUrl); this.$set(this.configForm, "ip", this.tableList[0].ip); + this.$set( + this.configForm, + "entrustCode", + this.tableList[0].entrustCode + ); + this.$set( + this.configForm, + "sampleCode", + this.tableList[0].sampleCode + ); + this.$set( + this.configForm, + "dbFileName", + this.tableList[0].dbFileName + ); } }, init() { @@ -352,7 +384,17 @@ .then(res => { this.tableList = res.data; this.tableList.forEach(i => { - // replace(/=/g, ' ') + let isIncludes = false + if (i.formula && i.formula != "") { + this.formulas.forEach(j => { + if (i.formula.includes(j.label)) { + isIncludes = true + } + }) + } + if (!isIncludes && i.formula) { + i.formula = i.formula.slice(1, -1) + } i.sample = i.sample .replace(/"/g, "") .replace(/],/g, "锛�") @@ -457,7 +499,7 @@ ) .then(res => { if (res.code == 200) { - this.tableList = res.data; + // this.tableList = res.data; this.dialogVisible4 = false; this.init(); this.$message.success("鎿嶄綔鎴愬姛"); @@ -492,7 +534,21 @@ const data = res.data; if (data[0]) { this.domains.splice(0, 1); - this.$set(this.configForm, "formula", data[0].formula); + 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, @@ -516,7 +572,19 @@ } }); this.domains.forEach((i, index) => { - i.formula = this.configForm.formula; + let isIncludes = false + if (this.configForm.formula && this.configForm.formula != "") { + for (let formula in this.formulas) { + if (this.configForm.formula.includes(this.formulas[formula].label)) { + isIncludes = true + } + } + } + if (isIncludes === false) { + i.formula = "(" + this.configForm.formula + ")"; + } else { + i.formula = this.configForm.formula; + } i.deviceId = this.deviceId; i.inspectionItem = this.configForm.inspectionItem; i.inspectionItemSubclass = this.configForm.inspectionItemSubclass; diff --git a/src/components/tool/onlyoffice.vue b/src/components/tool/onlyoffice.vue index 209b12a..1371068 100644 --- a/src/components/tool/onlyoffice.vue +++ b/src/components/tool/onlyoffice.vue @@ -97,7 +97,7 @@ lang: option.lang, //璇█璁剧疆 //瀹氬埗 customization: { - autosave: false, //鏄惁鑷姩淇濆瓨 + autosave: true, //鏄惁鑷姩淇濆瓨 chat: true, comments: false, help: false, diff --git a/src/components/view/b1-report-preparation.vue b/src/components/view/b1-report-preparation.vue index 8230629..4d86d78 100644 --- a/src/components/view/b1-report-preparation.vue +++ b/src/components/view/b1-report-preparation.vue @@ -128,7 +128,7 @@ <i class="el-icon-full-screen" style="cursor: pointer;font-size: 18px" @click="fullscreen=true;" v-if="!fullscreen"></i> <img src="../../../static/img/no-full.svg" alt="" v-else style="cursor: pointer;" @click="fullscreen=false;" > </div> - <div style="height: 80vh;"> + <div style="height: 80vh;" v-if="issuedVisible"> <onlyoffice ref="onlyoffice" :options="option" style="width: 100%;height: 100%;" /> </div> <span slot="footer" class="dialog-footer"> -- Gitblit v1.9.3