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;