From 5d156b1e222bab30e4f5517a00626a86fc7c85e1 Mon Sep 17 00:00:00 2001
From: 晏有为 <13214124+yan-youwei@user.noreply.gitee.com>
Date: 星期一, 27 五月 2024 14:10:06 +0800
Subject: [PATCH] 更新检验下单操作
---
src/components/do/b1-inspect-order-plan/Inspection.vue | 122 ++++++++++++++++++++++++++++------------
1 files changed, 85 insertions(+), 37 deletions(-)
diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue
index e0ff6ed..49302c5 100644
--- a/src/components/do/b1-inspect-order-plan/Inspection.vue
+++ b/src/components/do/b1-inspect-order-plan/Inspection.vue
@@ -41,8 +41,13 @@
flex-direction: column;
flex-wrap: wrap;
width: 100%;
- /* overflow-x: hidden; */
- overflow-x: scroll;
+ overflow-x: hidden;
+ /* overflow-x: scroll; */
+ cursor: grab;
+ }
+
+ .center-box:active{
+ cursor: grabbing;
}
.tables {
@@ -65,6 +70,10 @@
padding: 5px;
box-sizing: border-box;
overflow: hidden;
+ user-select: none;
+ }
+
+ .content *{
user-select: none;
}
@@ -212,7 +221,7 @@
size="small">{{ item.templateName }}</el-radio-button>
</el-radio-group>
</div>
- <div class="center-box">
+ <div class="center-box" id="nav">
<table border="1" class="tables" cellpadding="10" v-for="(item,index) in tableList" :key="index">
<tbody>
<tr v-for="(m,i) in item.arr" :key="i">
@@ -232,17 +241,18 @@
<el-input v-else-if="getInspectionValueType(n.i) == 2" class="table_input" type="textarea"
v-model="n.v.v"
:disabled="getInspectionItemType(n.i) == 1 || (n.u != userId && n.u != undefined && n.u != '')"
- @change="saveInsContext()" />
+ @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`)" />
<el-select v-else-if="getInspectionValueType(n.i) == 5" class="table_input" v-model="n.v.v"
- :disabled="state>1" @visible-change="e=>getDic(e,n.i)" @change="saveInsContext()">
+ :disabled="state>1" @visible-change="e=>getDic(e,n.i)"
+ @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`)">
<el-option v-for="(e, i) in enumList" :key="i" :label="e.label" :value="e.value"></el-option>
</el-select>
<span :style="`font-family:${n.v.ff} !important;`"
v-else-if="getInspectionValueType(n.i) == 4">/</span>
</template>
<template v-else-if="n.v.ps!=undefined && n.v.ps.value==='缁撹'">
- <el-select v-if="(getInspectionValueType(n.i) == 2 || getInspectionValueType(n.i) == 5) && state==1" class="table_input" v-model="n.v.v"
- @change="saveInsContext()">
+ <el-select v-if="(getInspectionValueType(n.i) == 2 || getInspectionValueType(n.i) == 5) && state==1"
+ class="table_input" v-model="n.v.v" @change="saveInsContext()">
<el-option label="鍚堟牸" :value="1"></el-option>
<el-option label="涓嶅悎鏍�" :value="0"></el-option>
</el-select>
@@ -263,14 +273,14 @@
<span :style="`font-family:${n.v.ff} !important;`">{{getTell(n.i)}}</span>
</template>
<template v-else-if="n.v.ps!=undefined && n.v.ps.value==='鏈�缁堝��' && state==1">
- <el-input class="table_input" type="textarea"
+ <!-- <el-input class="table_input" type="textarea"
:disabled="getInspectionItemType(n.i) == 1 || (n.u != userId && n.u != undefined && n.u != '')"
v-model="n.v.v" @change="saveInsContext()" v-if="getInspectionValueType(n.i) == 2"></el-input>
<el-select v-else-if="getInspectionValueType(n.i) == 5" class="table_input" v-model="n.v.v"
:disabled="state>1" @visible-change="e=>getDic(e,n.i)" @change="saveInsContext()">
<el-option v-for="(e, i) in enumList" :key="i" :label="e.label" :value="e.value"></el-option>
- </el-select>
- <span v-else :style="`font-family:${n.v.ff} !important;`">{{n.v.v}}</span>
+ </el-select> -->
+ <span :style="`font-family:${n.v.ff} !important;`">{{n.v.v}}</span>
</template>
<span v-else :style="`font-family:${n.v.ff} !important;`">{{n.v.v}}</span>
</div>
@@ -310,7 +320,7 @@
</el-drawer>
<el-drawer title="浠诲姟鍒囨崲" :visible.sync="taskVisible" :size="500">
<ValueTable class="value-table" ref="insOrderPlan" :url="$api.insOrderPlan.selectInsOrderPlanList"
- :componentData="componentData" :key="upIndex" />
+ :componentData="componentData" :key="upIndex" style="height: 100%;"/>
</el-drawer>
<el-dialog title="妫�楠屽鏍�" :visible.sync="reviewDia" width="500px">
<div class="body" style="display: flex;padding: 10px;" v-if="reviewDia">
@@ -426,6 +436,7 @@
this.getInsStateDicts()
this.getComparisonList()
this.getAuthorizedPerson()
+ this.scrollInit()
},
watch: {
id(val) {
@@ -542,7 +553,7 @@
},
selectEnumByCategoryOfSelect(val) {
this.enumList = []
- if(val===undefined||val===null){
+ if (val === undefined || val === null) {
return
}
this.$axios.post(this.$api.enums.selectEnumByCategory, {
@@ -561,7 +572,7 @@
const mySet1 = new Set();
this.tableLists = this.currentSample.insProduct.filter(m => {
let num0 = mySet1.size;
- if (m.templateId != null) {
+ if (m.templateId != null&&m.template != null) {
mySet1.add(JSON.stringify({
template: m.template,
templateId: m.templateId
@@ -833,15 +844,19 @@
if (b[0].r == a.r) {
b.forEach(c => {
if (c.c == a.c) {
- if (!isNaN(parseFloat(c.v.v))) {
- var tableCode = ''
- for (var d in this.comparisonList) {
- if (c.c == this.comparisonList[d].value) {
- tableCode = this.comparisonList[d].label
- break
- }
+ var tableCode = ''
+ for (var d in this.comparisonList) {
+ if (c.c == this.comparisonList[d].value) {
+ tableCode = this.comparisonList[d].label
+ break
}
- comValue[(tableCode + (c.r + 1))] = parseFloat(c.v.v)
+ }
+ if(this.getInspectionValueType(item.i)==1){
+ if (!isNaN(parseFloat(c.v.v))) {
+ comValue[(tableCode + (c.r + 1))] = parseFloat(c.v.v)
+ }
+ }else{
+ comValue[(tableCode + (c.r + 1))] = c.v.v
}
}
})
@@ -855,24 +870,22 @@
let comp = ask.map((m, i) => {
if (m.includes('=')) {
return res == m.split('=')[1]
- }
- if (m.includes('鈮�')) {
+ } else if (m.includes('鈮�')) {
return res >= m.split('鈮�')[1]
- }
- if (m.includes('鈮�')) {
+ }else if (m.includes('鈮�')) {
return res <= m.split('鈮�')[1]
- }
- if (m.includes('<')) {
+ }else if (m.includes('<')) {
return res < m.split('<')[1]
- }
- if (m.includes('>')) {
+ }else if (m.includes('>')) {
return res > m.split('>')[1]
}
})
- if (comp.every(m => m)) {
- item.v.v = 1
- } else {
- item.v.v = 0
+ if(this.getInspectionValueType(item.i)==1){
+ if (comp.every(m => m)) {
+ item.v.v = 1
+ } else {
+ item.v.v = 0
+ }
}
this.saveInsContext()
}
@@ -912,14 +925,18 @@
valueList.forEach(b => {
str = str.replace(b.name, b.value)
})
- if (item.v.f.includes('/') > -1) {
+ if (item.v.f.includes('/')) {
if (Object.getOwnPropertyNames(comValue).length == valueList.length) {
comResult = eval(str)
} else {
comResult = ''
}
} else {
- comResult = eval(str)
+ if(this.getInspectionValueType(item.i)==1){
+ comResult = eval(str)
+ }else{
+ comResult = str
+ }
}
break;
}
@@ -927,8 +944,12 @@
if (a[0].r == item.r && comResult != '') {
for (var b in a) {
if (a[b].c == item.c) {
- let val = parseFloat(comResult.toFixed(3))
- a[b].v.v = isNaN(val) ? '' : val
+ try{
+ let val = parseFloat(comResult.toFixed(3))
+ a[b].v.v = isNaN(val) ? '' : val
+ }catch(e){
+ a[b].v.v = comResult
+ }
break
}
}
@@ -1246,6 +1267,33 @@
this.personList = data
})
},
+ scrollInit() {
+ // 鑾峰彇瑕佺粦瀹氫簨浠剁殑鍏冪礌
+ const nav = document.getElementById("nav")
+ var flag; // 榧犳爣鎸変笅
+ var downX; // 榧犳爣鐐瑰嚮鐨剎涓嬫爣
+ var scrollLeft; // 褰撳墠鍏冪礌婊氬姩鏉$殑鍋忕Щ閲�
+ nav.addEventListener("mousedown", function(event) {
+ flag = true;
+ downX = event.clientX; // 鑾峰彇鍒扮偣鍑荤殑x涓嬫爣
+ scrollLeft = this.scrollLeft; // 鑾峰彇褰撳墠鍏冪礌婊氬姩鏉$殑鍋忕Щ閲�
+ });
+ nav.addEventListener("mousemove", function(event) {
+ if (flag) { // 鍒ゆ柇鏄惁鏄紶鏍囨寜涓嬫粴鍔ㄥ厓绱犲尯鍩�
+ var moveX = event.clientX; // 鑾峰彇绉诲姩鐨剎杞�
+ var scrollX = moveX - downX; // 褰撳墠绉诲姩鐨剎杞翠笅鏍囧噺鍘诲垰鐐瑰嚮涓嬪幓鐨剎杞翠笅鏍囧緱鍒伴紶鏍囨粦鍔ㄨ窛绂�
+ this.scrollLeft = scrollLeft - scrollX // 榧犳爣鎸変笅鐨勬粴鍔ㄦ潯鍋忕Щ閲忓噺鍘诲綋鍓嶉紶鏍囩殑婊戝姩璺濈
+ }
+ });
+ // 榧犳爣鎶捣鍋滄鎷栧姩
+ nav.addEventListener("mouseup", function() {
+ flag = false;
+ });
+ // 榧犳爣绂诲紑鍏冪礌鍋滄鎷栧姩
+ nav.addEventListener("mouseleave", function(event) {
+ flag = false;
+ });
+ }
}
}
</script>
--
Gitblit v1.9.3