|
|
@@ -121,15 +121,19 @@
|
|
|
:prop="item.prop"
|
|
|
:label="item.label"
|
|
|
:width="item.width"
|
|
|
+ :min-width="item.minWidth"
|
|
|
:align="item.align"
|
|
|
:fixed="item.fixed"
|
|
|
+ :show-overflow-tooltip="item.showOverflowTooltip"
|
|
|
>
|
|
|
<template slot-scope="scope">
|
|
|
+ <span v-if="item.isDisplayOnly">{{ scope.row[item.prop] }}</span>
|
|
|
<el-input
|
|
|
+ v-else
|
|
|
v-model="scope.row[item.prop]"
|
|
|
:placeholder="item.label"
|
|
|
:disabled="item.disabled"
|
|
|
- style="width: 80%"
|
|
|
+ style="width: 100%"
|
|
|
></el-input>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
@@ -435,7 +439,7 @@
|
|
|
}),
|
|
|
getCostFormVersionsByTemplateId({
|
|
|
taskId: this.selectedProject.taskId,
|
|
|
- surveyTemplateId: '',
|
|
|
+ surveyTemplateId: this.auditForm.surveyTemplateId,
|
|
|
}),
|
|
|
])
|
|
|
// 处理表头数据
|
|
|
@@ -521,16 +525,26 @@
|
|
|
...item,
|
|
|
prop: item.fieldEname,
|
|
|
label: item.fieldName,
|
|
|
- width: item.fieldName == '序号' ? '80px' : '150px',
|
|
|
+ // 自动宽度:仅"序号"使用固定宽,其余使用最小宽度并开启溢出提示
|
|
|
+ width: item.fieldName == '序号' ? '80px' : undefined,
|
|
|
+ minWidth: item.fieldName == '序号' ? undefined : '150px',
|
|
|
align: 'center',
|
|
|
+ showOverflowTooltip: item.fieldName == '序号' ? false : true,
|
|
|
}
|
|
|
this.costAuditcolumn.push(column)
|
|
|
})
|
|
|
- this.costAuditcolumn.push({
|
|
|
- prop: 'unit',
|
|
|
- label: '单位',
|
|
|
- width: '80px',
|
|
|
- })
|
|
|
+ // 若表头未包含“单位”列,则追加;已包含则不重复添加
|
|
|
+ const hasUnitCol = this.costAuditcolumn.some(
|
|
|
+ (c) => c && (c.label === '单位' || c.fieldName === '单位')
|
|
|
+ )
|
|
|
+ if (!hasUnitCol) {
|
|
|
+ this.costAuditcolumn.push({
|
|
|
+ prop: 'unit',
|
|
|
+ label: '单位',
|
|
|
+ width: '80px',
|
|
|
+ align: 'center',
|
|
|
+ })
|
|
|
+ }
|
|
|
// 检查tableHeadersRes数组是否包含年账面值
|
|
|
const hasBookValueColumn = this.checkHasBookValueColumn()
|
|
|
|
|
|
@@ -675,7 +689,13 @@
|
|
|
if (header && header.fieldEname && header.fieldName) {
|
|
|
let fieldEname = header.fieldEname
|
|
|
let fieldName = header.fieldName
|
|
|
- let fieldValue = item[fieldName] || ''
|
|
|
+ // 优先用中文列名取值,不存在则用英文prop取值
|
|
|
+ let fieldValue =
|
|
|
+ (item &&
|
|
|
+ (item[fieldName] != null ? item[fieldName] : undefined)) !==
|
|
|
+ undefined
|
|
|
+ ? item[fieldName]
|
|
|
+ : item[fieldEname] || ''
|
|
|
|
|
|
// 将字段值添加到行数据中
|
|
|
rowData[fieldEname] = fieldValue
|
|
|
@@ -842,9 +862,12 @@
|
|
|
rvalue: '',
|
|
|
}))
|
|
|
},
|
|
|
- splitFixedTableDataForSave() {
|
|
|
- let fixedHeaders = this.tableHeadersRes
|
|
|
- let fixedTables = this.costAuditData
|
|
|
+ splitFixedTableDataForSave(
|
|
|
+ tables = this.costAuditData,
|
|
|
+ headers = this.tableHeadersRes
|
|
|
+ ) {
|
|
|
+ let fixedHeaders = headers
|
|
|
+ let fixedTables = tables
|
|
|
let fixedFields = fixedHeaders
|
|
|
.map((header) => header.fieldName)
|
|
|
.join(',')
|
|
|
@@ -869,18 +892,28 @@
|
|
|
const correspondingHeader = fixedHeaders.find(
|
|
|
(header) => header.fieldName === title.rkey
|
|
|
)
|
|
|
+ if (!correspondingHeader) {
|
|
|
+ return
|
|
|
+ }
|
|
|
const newItem = {
|
|
|
rkey: title.rkey,
|
|
|
rvalue:
|
|
|
- node[correspondingHeader.prop] ||
|
|
|
- node[correspondingHeader.fieldEname] ||
|
|
|
- '',
|
|
|
+ node[correspondingHeader.prop] !== undefined &&
|
|
|
+ node[correspondingHeader.prop] !== null
|
|
|
+ ? node[correspondingHeader.prop]
|
|
|
+ : node[correspondingHeader.fieldEname] !== undefined &&
|
|
|
+ node[correspondingHeader.fieldEname] !== null
|
|
|
+ ? node[correspondingHeader.fieldEname]
|
|
|
+ : '',
|
|
|
[correspondingHeader.fieldName]:
|
|
|
- node[correspondingHeader.fieldEname] || '',
|
|
|
+ node[correspondingHeader.fieldEname] !== undefined &&
|
|
|
+ node[correspondingHeader.fieldEname] !== null
|
|
|
+ ? node[correspondingHeader.fieldEname]
|
|
|
+ : '',
|
|
|
surveyTemplateId:
|
|
|
node.surveyTemplateId || correspondingHeader.surveyTemplateId,
|
|
|
versionId: node.versionId || correspondingHeader.versionId,
|
|
|
- tabtype: node.tabtype || correspondingHeader.templateType,
|
|
|
+ tabtype: correspondingHeader.tabtype || node.tabtype,
|
|
|
// 添加 headersId 字段(表头的id)
|
|
|
headersId: correspondingHeader ? correspondingHeader.id : null,
|
|
|
// 添加记录的id(itemlist中每条记录的id)
|
|
|
@@ -966,8 +999,8 @@
|
|
|
nextAvailableOrderNum++
|
|
|
}
|
|
|
|
|
|
- // 分配新的orderNum并标记为已使用
|
|
|
- item.orderNum = nextAvailableOrderNum
|
|
|
+ // 分配新的orderNum并标记为已使用(保持原有顺序,不修改行原始顺序号)
|
|
|
+ item.orderNum = item.orderNum
|
|
|
usedOrderNums.add(nextAvailableOrderNum)
|
|
|
nextAvailableOrderNum++
|
|
|
}
|