From 45912514c086d19f83235bf98a8ebc50786f88cb Mon Sep 17 00:00:00 2001 From: xy <271556543@qq.com> Date: Tue, 9 Jul 2024 17:19:54 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=A7=E5=B1=8F=E6=95=B0=E6=8D=AE=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E5=90=8E=E7=9A=84=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/component/table.vue | 27 +++++++++++++------------ src/views/lease/index.vue | 30 ++++++++++++++-------------- src/views/lease/let.vue | 27 +++++++++++++------------ src/views/lease/plan.vue | 27 +++++++++++++------------ src/views/safety/safetyPlan.vue | 35 +++++++++++++++++++-------------- 5 files changed, 77 insertions(+), 69 deletions(-) diff --git a/src/views/component/table.vue b/src/views/component/table.vue index fc8ab3a..df89d2c 100644 --- a/src/views/component/table.vue +++ b/src/views/component/table.vue @@ -588,25 +588,26 @@ export default { if (data.length < 2) return; try { this.form.filter(i => i.list_show).forEach((i) => { - let lengthTemp; + let maxLength = -Infinity; + let minLength = Infinity; + let numberLength = 0; let temp = 0; - while (!lengthTemp || temp < data.length) { - lengthTemp = data[temp][i.field]?.length??0; + while (temp < data.length) { + maxLength = Math.max(maxLength, data[temp][i.field]?.length??0); + minLength = Math.min(minLength, data[temp][i.field]?.length??0); + numberLength += /^-?[0-9]+(\.[0-9]+)?$/.test(data[temp][i.field]) ? 1 : 0; temp++; } - for (let j = 0;j < data.length;j++) { - if (/^-?\d+\.\d+/.test(data[j][i.field])) { - this.table.find(a => a.prop === i.field).align = 'right'; - return - } - if (Math.abs(lengthTemp - (data[j][i.field]?.length)??0) > 4) { - this.table.find(a => a.prop === i.field).align = 'left'; - return - } + if (numberLength === temp) { + this.table.find(a => a.prop === i.field).align = 'right'; + } + else if (Math.abs(maxLength - minLength) > 4) { + this.table.find(a => a.prop === i.field).align = 'left'; } }) + console.log(this.table) } catch (e) { - + console.error(e) } this.$nextTick(() => { this.$refs['xyTable'].doLayout(); diff --git a/src/views/lease/index.vue b/src/views/lease/index.vue index 6169ff3..4d248bb 100644 --- a/src/views/lease/index.vue +++ b/src/views/lease/index.vue @@ -584,26 +584,26 @@ export default { if (data.length < 2) return; try { this.form.filter(i => i.list_show).forEach((i) => { - let lengthTemp; + let maxLength = -Infinity; + let minLength = Infinity; + let numberLength = 0; let temp = 0; - while (!lengthTemp || temp < data.length) { - lengthTemp = data[temp][i.field]?.length??0; + while (temp < data.length) { + maxLength = Math.max(maxLength, data[temp][i.field]?.length??0); + minLength = Math.min(minLength, data[temp][i.field]?.length??0); + numberLength += /^-?[0-9]+(\.[0-9]+)?$/.test(data[temp][i.field]) ? 1 : 0; temp++; } - for (let j = 0;j < data.length;j++) { - if (!data[j] || !data[j][i.field]) return; - if (/^-?\d+\.\d+/.test(data[j][i.field])) { - console.log(data[j][i.field]) - this.table.find(a => a.prop === i.field).align = 'right'; - return - } - if (Math.abs(lengthTemp - (data[j][i.field]?.length)??0) > 4) { - this.table.find(a => a.prop === i.field).align = 'left'; - return - } + if (numberLength === temp) { + this.table.find(a => a.prop === i.field).align = 'right'; + } + else if (Math.abs(maxLength - minLength) > 4) { + this.table.find(a => a.prop === i.field).align = 'left'; } }) - } catch (err) { + console.log(this.table) + } catch (e) { + console.error(e) } this.$nextTick(() => { this.$refs['xyTable'].doLayout(); diff --git a/src/views/lease/let.vue b/src/views/lease/let.vue index 0917202..5237f1b 100644 --- a/src/views/lease/let.vue +++ b/src/views/lease/let.vue @@ -589,25 +589,26 @@ export default { if (data.length < 2) return; try { this.form.filter(i => i.list_show).forEach((i) => { - let lengthTemp; + let maxLength = -Infinity; + let minLength = Infinity; + let numberLength = 0; let temp = 0; - while (!lengthTemp || temp < data.length) { - lengthTemp = data[temp][i.field]?.length??0; + while (temp < data.length) { + maxLength = Math.max(maxLength, data[temp][i.field]?.length??0); + minLength = Math.min(minLength, data[temp][i.field]?.length??0); + numberLength += /^-?[0-9]+(\.[0-9]+)?$/.test(data[temp][i.field]) ? 1 : 0; temp++; } - for (let j = 0;j < data.length;j++) { - if (/^-?\d+\.\d+/.test(data[j][i.field])) { - this.table.find(a => a.prop === i.field).align = 'right'; - return - } - if (Math.abs(lengthTemp - (data[j][i.field]?.length)??0) > 4) { - this.table.find(a => a.prop === i.field).align = 'left'; - return - } + if (numberLength === temp) { + this.table.find(a => a.prop === i.field).align = 'right'; + } + else if (Math.abs(maxLength - minLength) > 4) { + this.table.find(a => a.prop === i.field).align = 'left'; } }) + console.log(this.table) } catch (e) { - + console.error(e) } this.$nextTick(() => { this.$refs['xyTable'].doLayout(); diff --git a/src/views/lease/plan.vue b/src/views/lease/plan.vue index f9a9b77..8b33e8d 100644 --- a/src/views/lease/plan.vue +++ b/src/views/lease/plan.vue @@ -579,25 +579,26 @@ export default { if (data.length < 2) return; try { this.form.filter(i => i.list_show).forEach((i) => { - let lengthTemp; + let maxLength = -Infinity; + let minLength = Infinity; + let numberLength = 0; let temp = 0; - while (!lengthTemp || temp < data.length) { - lengthTemp = data[temp][i.field]?.length??0; + while (temp < data.length) { + maxLength = Math.max(maxLength, data[temp][i.field]?.length??0); + minLength = Math.min(minLength, data[temp][i.field]?.length??0); + numberLength += /^-?[0-9]+(\.[0-9]+)?$/.test(data[temp][i.field]) ? 1 : 0; temp++; } - for (let j = 0;j < data.length;j++) { - if (/^-?\d+\.\d+/.test(data[j][i.field])) { - this.table.find(a => a.prop === i.field).align = 'right'; - return - } - if (Math.abs(lengthTemp - (data[j][i.field]?.length)??0) > 4) { - this.table.find(a => a.prop === i.field).align = 'left'; - return - } + if (numberLength === temp) { + this.table.find(a => a.prop === i.field).align = 'right'; + } + else if (Math.abs(maxLength - minLength) > 4) { + this.table.find(a => a.prop === i.field).align = 'left'; } }) + console.log(this.table) } catch (e) { - + console.error(e) } this.$nextTick(() => { this.$refs['xyTable'].doLayout(); diff --git a/src/views/safety/safetyPlan.vue b/src/views/safety/safetyPlan.vue index d07a454..41bbb51 100644 --- a/src/views/safety/safetyPlan.vue +++ b/src/views/safety/safetyPlan.vue @@ -572,25 +572,30 @@ export default { adjustAlignment () { if (this.firstAdjustTable) { const data = this.$refs['xyTable'].getListData(); - if (data.length === 0) return; - this.form.filter(i => i.list_show).forEach((i) => { - let lengthTemp; - let temp = 0; - while (!lengthTemp || temp < data.length) { - lengthTemp = data[temp][i.field]?.length??0; - temp++; - } - for (let j = 0;j < data.length;j++) { - if (/^-?\d+\.\d+/.test(data[j][i.field])) { + if (data.length < 2) return; + try { + this.form.filter(i => i.list_show).forEach((i) => { + let maxLength = -Infinity; + let minLength = Infinity; + let numberLength = 0; + let temp = 0; + while (temp < data.length) { + maxLength = Math.max(maxLength, data[temp][i.field]?.length??0); + minLength = Math.min(minLength, data[temp][i.field]?.length??0); + numberLength += /^-?[0-9]+(\.[0-9]+)?$/.test(data[temp][i.field]) ? 1 : 0; + temp++; + } + if (numberLength === temp) { this.table.find(a => a.prop === i.field).align = 'right'; - return } - if (Math.abs(lengthTemp - (data[j][i.field]?.length)??0) > 4) { + else if (Math.abs(maxLength - minLength) > 4) { this.table.find(a => a.prop === i.field).align = 'left'; - return } - } - }) + }) + console.log(this.table) + } catch (e) { + console.error(e) + } this.$nextTick(() => { this.$refs['xyTable'].doLayout(); this.firstAdjustTable = false;