|
|
@@ -247,15 +247,15 @@
|
|
|
<div v-if="contentEditForm.templateType === '1'">
|
|
|
<div class="button-group">
|
|
|
<el-button
|
|
|
+ v-if="!viewDetail"
|
|
|
type="primary"
|
|
|
- :disabled="viewDetail"
|
|
|
@click="handleAddTableHeader('单记录')"
|
|
|
>
|
|
|
添加项目
|
|
|
</el-button>
|
|
|
<el-button
|
|
|
+ v-if="!viewDetail"
|
|
|
type="primary"
|
|
|
- :disabled="viewDetail"
|
|
|
@click="handleSaveContent('单记录')"
|
|
|
>
|
|
|
保存
|
|
|
@@ -498,15 +498,15 @@
|
|
|
<div v-if="contentEditForm.templateType === '2'">
|
|
|
<div class="button-group">
|
|
|
<el-button
|
|
|
+ v-if="!viewDetail"
|
|
|
type="primary"
|
|
|
- :disabled="viewDetail"
|
|
|
@click="handleAddTableHeader('固定表表头')"
|
|
|
>
|
|
|
添加表头
|
|
|
</el-button>
|
|
|
<el-button
|
|
|
+ v-if="!viewDetail"
|
|
|
type="primary"
|
|
|
- :disabled="viewDetail"
|
|
|
@click="handleSaveContent('固定表表头')"
|
|
|
>
|
|
|
下一步
|
|
|
@@ -765,15 +765,15 @@
|
|
|
<div>
|
|
|
<div class="button-group">
|
|
|
<el-button
|
|
|
+ v-if="!viewDetail"
|
|
|
type="primary"
|
|
|
- :disabled="viewDetail"
|
|
|
@click="handleAddTableHeader('固定表项目')"
|
|
|
>
|
|
|
添加项目
|
|
|
</el-button>
|
|
|
<el-button
|
|
|
+ v-if="!viewDetail"
|
|
|
type="primary"
|
|
|
- :disabled="viewDetail"
|
|
|
@click="handleSaveContent('固定表项目')"
|
|
|
>
|
|
|
保存
|
|
|
@@ -955,15 +955,15 @@
|
|
|
<div v-if="contentEditForm.templateType === '3'">
|
|
|
<div class="button-group">
|
|
|
<el-button
|
|
|
+ v-if="!viewDetail"
|
|
|
type="primary"
|
|
|
- :disabled="viewDetail"
|
|
|
@click="handleAddTableHeader('动态表表头')"
|
|
|
>
|
|
|
添加表头
|
|
|
</el-button>
|
|
|
<el-button
|
|
|
+ v-if="!viewDetail"
|
|
|
type="primary"
|
|
|
- :disabled="viewDetail"
|
|
|
@click="handleSaveContent('动态表表头')"
|
|
|
>
|
|
|
下一步
|
|
|
@@ -1206,15 +1206,15 @@
|
|
|
<div>
|
|
|
<div class="button-group">
|
|
|
<el-button
|
|
|
+ v-if="!viewDetail"
|
|
|
type="primary"
|
|
|
- :disabled="viewDetail"
|
|
|
@click="handleAddTableHeader('动态表项目')"
|
|
|
>
|
|
|
添加项目
|
|
|
</el-button>
|
|
|
<el-button
|
|
|
+ v-if="!viewDetail"
|
|
|
type="primary"
|
|
|
- :disabled="viewDetail"
|
|
|
@click="handleSaveContent('动态表项目')"
|
|
|
>
|
|
|
保存
|
|
|
@@ -1364,11 +1364,11 @@
|
|
|
<el-dialog
|
|
|
title="计算公式"
|
|
|
:visible.sync="calculationFormulaDialogVisible"
|
|
|
- width="500px"
|
|
|
+ width="30%"
|
|
|
:before-close="handleDialogClose"
|
|
|
>
|
|
|
<!-- 单选按钮组:切换“当前指标项”/“其他模板指标项” -->
|
|
|
- <el-radio-group v-model="radioType">
|
|
|
+ <el-radio-group v-model="radioType" class="mb20">
|
|
|
<el-radio label="current">当前指标项</el-radio>
|
|
|
<el-radio label="other">其他模板指标项</el-radio>
|
|
|
</el-radio-group>
|
|
|
@@ -1385,15 +1385,16 @@
|
|
|
|
|
|
<!-- 「其他模板指标项」内容区域 -->
|
|
|
<div v-else class="other-panel">
|
|
|
+ <span>版本号:</span>
|
|
|
<el-select
|
|
|
v-model="selectedTemplateId"
|
|
|
- placeholder="请选择模板"
|
|
|
+ placeholder="请选择版本号"
|
|
|
@change="handleTemplateChange"
|
|
|
>
|
|
|
<el-option
|
|
|
v-for="(item, index) in templateList"
|
|
|
:key="index"
|
|
|
- :label="item.surveyTemplateName"
|
|
|
+ :label="item.versionNo"
|
|
|
:value="item.pkVal"
|
|
|
></el-option>
|
|
|
</el-select>
|
|
|
@@ -1415,8 +1416,25 @@
|
|
|
></el-checkbox>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="code" label="指标编号"></el-table-column>
|
|
|
- <el-table-column prop="name" label="项目名称"></el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="指标编号"
|
|
|
+ prop="cellCode"
|
|
|
+ align="center"
|
|
|
+ ></el-table-column>
|
|
|
+ <!--循环表头 -->
|
|
|
+ <el-table-column
|
|
|
+ v-for="(item, index) in indicatorTableHeaders"
|
|
|
+ :key="index"
|
|
|
+ :label="item.rkey"
|
|
|
+ align="center"
|
|
|
+ show-overflow-tooltip
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{
|
|
|
+ scope.row.fixedValues ? scope.row.fixedValues[item.rkey] : ''
|
|
|
+ }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
</el-table>
|
|
|
<el-input
|
|
|
v-model="formulaText"
|
|
|
@@ -1463,6 +1481,7 @@
|
|
|
batchDeleteCostForm,
|
|
|
} from '@/api/costSurveyTemplateVersion'
|
|
|
import { getListFixedEnabled } from '@/api/costSurveyTemplate'
|
|
|
+ import { listByCurrentTemplateId } from '@/api/catalogManage.js'
|
|
|
import {
|
|
|
getListBySurveyTemplateId,
|
|
|
getListBySurveyTemplateIdAndVersion,
|
|
|
@@ -1503,6 +1522,7 @@
|
|
|
templateName: '',
|
|
|
templateList: [],
|
|
|
indicatorTableData: [],
|
|
|
+ indicatorTableHeaders: [],
|
|
|
selectedIndicatorCodes: [],
|
|
|
selectedIndicatorsPerTemplate: {},
|
|
|
dialogTitle: '',
|
|
|
@@ -1793,7 +1813,15 @@
|
|
|
this.handleSearch()
|
|
|
},
|
|
|
handleRowClick(row, column, event) {
|
|
|
+ // 只有点击非 checkbox 列才触发
|
|
|
if (column && column.property !== 'checked') {
|
|
|
+ // 如果没有 cellCode,则不允许选中
|
|
|
+ if (!row.cellCode) {
|
|
|
+ // this.$message.warning('该数据没有指标编号,无法选择')
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 切换选中状态
|
|
|
this.toggleRowSelection(row)
|
|
|
}
|
|
|
},
|
|
|
@@ -1810,6 +1838,12 @@
|
|
|
this.$forceUpdate()
|
|
|
},
|
|
|
handleCheckboxChange(row) {
|
|
|
+ // 如果没有 cellCode,则不允许选中
|
|
|
+ if (!row.cellCode) {
|
|
|
+ this.$message.warning('该数据没有指标编号,无法选择')
|
|
|
+ this.$set(row, 'checked', false)
|
|
|
+ return
|
|
|
+ }
|
|
|
this.$set(row, 'checked', !row.checked)
|
|
|
|
|
|
if (row.checked) {
|
|
|
@@ -1888,9 +1922,25 @@
|
|
|
},
|
|
|
|
|
|
getListFixedEnabled() {
|
|
|
- getListFixedEnabled().then((res) => {
|
|
|
- this.templateList = res.value
|
|
|
- })
|
|
|
+ // 修改为调用状态为现行的数据
|
|
|
+ const params = {
|
|
|
+ surveyTemplateId: this.surveyTemplateId,
|
|
|
+ status: '0',
|
|
|
+ // pageNum: this.pagination.currentPage,
|
|
|
+ // pageSize: this.pagination.pageSize,
|
|
|
+ }
|
|
|
+
|
|
|
+ // 根据成本调查表ID获取所有版本数据
|
|
|
+ getCostSurveyTemplateVersionsByTemplateId(params)
|
|
|
+ .then((response) => {
|
|
|
+ this.templateList = response.value || []
|
|
|
+ })
|
|
|
+ .catch((error) => {
|
|
|
+ console.error('查询失败:', error)
|
|
|
+ })
|
|
|
+ // getListFixedEnabled().then((res) => {
|
|
|
+ // this.templateList = res.value
|
|
|
+ // })
|
|
|
},
|
|
|
// 处理模板选择变化
|
|
|
handleTemplateChange(templateId) {
|
|
|
@@ -1901,7 +1951,33 @@
|
|
|
)
|
|
|
|
|
|
if (selectedTemplate && selectedTemplate.surveyTemplateId) {
|
|
|
- this.getCellCodesByTemplateId(selectedTemplate.surveyTemplateId)
|
|
|
+ // this.getCellCodesByTemplateId(selectedTemplate.surveyTemplateId)
|
|
|
+ listByCurrentTemplateId({
|
|
|
+ surveyTemplateId: selectedTemplate.surveyTemplateId,
|
|
|
+ }).then((responseData) => {
|
|
|
+ //解析并显示数据
|
|
|
+ if (responseData.value && responseData.value.itemlist) {
|
|
|
+ const itemList = responseData.value.itemlist
|
|
|
+ let fixedTablesTitle = this.stringToObjects(
|
|
|
+ responseData.value.fixedFields || ''
|
|
|
+ )
|
|
|
+ this.indicatorTableHeaders = fixedTablesTitle
|
|
|
+ // 遍历itemList,为每个项目创建一行数据
|
|
|
+ itemList.forEach((item, index) => {
|
|
|
+ const newRow = {
|
|
|
+ ...item,
|
|
|
+ checked: false,
|
|
|
+ cellCode: item.cellCode || '',
|
|
|
+ fixedValues: {},
|
|
|
+ }
|
|
|
+ // 初始化fixedValues并填充实际值
|
|
|
+ fixedTablesTitle.forEach((title) => {
|
|
|
+ newRow.fixedValues[title.rkey] = item[title.rkey] || ''
|
|
|
+ })
|
|
|
+ this.indicatorTableData.push(newRow)
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
} else {
|
|
|
this.indicatorTableData = []
|
|
|
}
|
|
|
@@ -3383,7 +3459,7 @@
|
|
|
delSurveyTemplateVersionById(row.id)
|
|
|
.then((res) => {
|
|
|
if (res.code === 200) {
|
|
|
- this.$message.success(res.message)
|
|
|
+ this.$message.success(res.message || '删除成功')
|
|
|
this.handleSearch()
|
|
|
this.loading = false
|
|
|
}
|
|
|
@@ -3417,7 +3493,7 @@
|
|
|
batchDeleteCostForm(ids)
|
|
|
.then((res) => {
|
|
|
this.selectedRows = []
|
|
|
- this.$message.success(res.message)
|
|
|
+ this.$message.success(res.message || '删除成功')
|
|
|
this.handleSearch()
|
|
|
this.loading = false
|
|
|
})
|