[update 标准解读流程] 完善

This commit is contained in:
danshihao
2024-07-16 13:52:54 +08:00
parent 14e287c749
commit 2cd3640aa7
8 changed files with 76 additions and 17 deletions
+1 -1
View File
@@ -132,7 +132,7 @@ export default {
}, },
// 通过val获取字典项 // 通过val获取字典项
getDictLabelByValue (val) { getDictLabelByValue (val) {
const dictItem = this.dictOptions.find(item => item.value === val) const dictItem = this.dictOptions.find(item => item.value === val) || {}
return dictItem.text || dictItem.label return dictItem.text || dictItem.label
}, },
setCurrentDictOptions (dictOptions) { setCurrentDictOptions (dictOptions) {
+1 -1
View File
@@ -157,7 +157,7 @@ export default {
}, },
// 通过val获取字典项 // 通过val获取字典项
getDictLabelByValue (val) { getDictLabelByValue (val) {
const dictItem = this.dictOptions.find(item => item.value === val) const dictItem = this.dictOptions.find(item => item.value === val) || {}
return dictItem.text || dictItem.label return dictItem.text || dictItem.label
}, },
// 选中的回调 // 选中的回调
@@ -111,7 +111,7 @@
<!-- 操作按钮 --> <!-- 操作按钮 -->
<div class="detail-page-bottom-operate-box"> <div class="detail-page-bottom-operate-box">
<!-- 加签 --> <!-- 加签 -->
<a-button v-if="btn.includes('countersign')" type="primary" ghost :loading="loading" @click="handleCountersign" icon="arrow-up">{{ $t('countersign') }}</a-button> <a-button v-if="btn.includes('countersign')" type="primary" ghost :loading="loading" @click="handleCountersign" icon="plus">{{ $t('countersign') }}</a-button>
<!-- 转办 --> <!-- 转办 -->
<a-button v-if="btn.includes('transfer')" type="primary" ghost :loading="loading" @click="handleTurnTo" icon="arrow-up">{{ $t('turnTo') }}</a-button> <a-button v-if="btn.includes('transfer')" type="primary" ghost :loading="loading" @click="handleTurnTo" icon="arrow-up">{{ $t('turnTo') }}</a-button>
<!-- 保存 --> <!-- 保存 -->
@@ -73,7 +73,7 @@
import SplitClauseDetail from '@views/documentTool/documentSplit/modules/SplitClauseDetail' import SplitClauseDetail from '@views/documentTool/documentSplit/modules/SplitClauseDetail'
import InterpretationClauseTableModal import InterpretationClauseTableModal
from '@views/workCenter/standardInterpretationProcess/modules/InterpretationClauseTableModal' from '@views/workCenter/standardInterpretationProcess/modules/InterpretationClauseTableModal'
import { filterObj, randomUUID } from '@/utils/util' import { randomUUID } from '@/utils/util'
import UserSelectModal from '@comp/selection/UserSelectModal' import UserSelectModal from '@comp/selection/UserSelectModal'
import { downFile } from '@api/manage' import { downFile } from '@api/manage'
import { StandardInterpretationNodes } from '@/enums/commonEnums' import { StandardInterpretationNodes } from '@/enums/commonEnums'
@@ -128,6 +128,12 @@ export default {
type: Boolean, type: Boolean,
default: false, default: false,
required: false required: false
},
// 标准信息
standardInfo: {
type: Object,
default: () => ({}),
required: false
} }
}, },
data () { data () {
@@ -631,8 +637,13 @@ export default {
}, },
// 导出 // 导出
handleExport (fileName, fileSuffix = '.xlsx') { handleExport (fileName, fileSuffix = '.xlsx') {
if (!fileName || typeof fileName !== 'string') { const { standardNumber, standardName } = this.standardInfo || {}
fileName = '导出文件' if (this.isDistribute) {
// 分发:编号 + 名称 + 解读分发
fileName = `${standardNumber} ${standardName}-解读分发`
} else {
// 不分发和汇总:编号 + 名称 + 解读表
fileName = `${standardNumber} ${standardName}-解读表`
} }
const param = { const param = {
projectId: this.$route.query.projectId, projectId: this.$route.query.projectId,
@@ -642,18 +653,19 @@ export default {
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) { if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
param.selections = this.selectedRowKeys.join(',') param.selections = this.selectedRowKeys.join(',')
} }
console.log('导出参数', param) console.log('导出参数', param, fileName)
// 加一个大的提示 // 加一个大的提示
const modalLoading = this.$info({ const modalLoading = this.$info({
title: '提示', title: this.$t('tips'),
content: <span>正在导出请稍候 <a-spin size="small" /></span>, content: <span>{this.$t('exportTip')} <a-spin size="small" /></span>,
keyboard: false, keyboard: false,
// 不显示 知道了 按钮 // 不显示 知道了 按钮
okButtonProps: { okButtonProps: {
style: 'display: none' style: 'display: none'
} }
}) })
let url = '' // 汇总节点也用不分发的导出
let url = this.url.exportUnDistribute
// 解读人分发节点 // 解读人分发节点
if (this.isMainInterpreterDistribute) { if (this.isMainInterpreterDistribute) {
// 根据是否分发选择对应的接口 // 根据是否分发选择对应的接口
@@ -661,7 +673,7 @@ export default {
} }
downFile(url, param).then((data) => { downFile(url, param).then((data) => {
if (!data) { if (!data) {
this.$message.warning('文件下载失败') this.$message.warning(this.$t('fileDownloadFail'))
return return
} }
if (typeof window.navigator.msSaveBlob !== 'undefined') { if (typeof window.navigator.msSaveBlob !== 'undefined') {
@@ -725,7 +737,7 @@ export default {
*/ */
editCallback (formData) { editCallback (formData) {
// 过滤没有值的字段 // 过滤没有值的字段
const form = filterObj(formData) const form = formData
// 有id就是编辑,没有就是批量编辑 // 有id就是编辑,没有就是批量编辑
if (formData[this.rowKey]) { if (formData[this.rowKey]) {
const row = this.dataSource.find(item => item[this.rowKey] === formData[this.rowKey]) const row = this.dataSource.find(item => item[this.rowKey] === formData[this.rowKey])
@@ -303,8 +303,15 @@ export default {
this.model = Object.assign({}, record) this.model = Object.assign({}, record)
this.visible = true this.visible = true
this.$nextTick(() => { this.$nextTick(() => {
// 是否与上一版相同(多个值就不回显)
if (!this.model.isSameAsPrevVersion || this.model.isSameAsPrevVersion.split(',').length > 1) {
delete this.model.isSameAsPrevVersion
}
// 专业领域
if (typeof this.model.domainArea === 'string' && this.model.domainArea.length) { if (typeof this.model.domainArea === 'string' && this.model.domainArea.length) {
this.model.domainArea = this.model.domainArea.split(',').map(item => ({ value: item })) this.model.domainArea = this.model.domainArea.split(',').map(item => ({ value: item }))
} else {
this.model.domainArea = []
} }
this.form.setFieldsValue(this.model) this.form.setFieldsValue(this.model)
}) })
@@ -319,6 +326,7 @@ export default {
if (Array.isArray(formData.domainArea)) { if (Array.isArray(formData.domainArea)) {
formData.domainArea = formData.domainArea.map(item => item.value).join(',') formData.domainArea = formData.domainArea.map(item => item.value).join(',')
} }
console.log(formData)
this.$emit('ok', formData) this.$emit('ok', formData)
this.close() this.close()
} }
@@ -3,8 +3,11 @@
<a-spin :spinning="loading"> <a-spin :spinning="loading">
<div class="process-part-title">{{ $t('dispatchInformation') }}</div> <div class="process-part-title">{{ $t('dispatchInformation') }}</div>
<!-- 条款表格 --> <!-- 条款表格 -->
<interpretation-clause-table ref="interpretationClauseTable" :disabled="disabled" :current-node-id="currentNodeId"/> <interpretation-clause-table ref="interpretationClauseTable"
<a-form :form="form" :labelCol="labelCol" :wrapperCol="wrapperCol" v-if="isStandardInterpreterSummary"> :disabled="disabled"
:standard-info="formInline"
:current-node-id="currentNodeId"/>
<a-form :form="form" class="prc-form" :labelCol="labelCol" :wrapperCol="wrapperCol" v-if="isStandardInterpreterSummary">
<a-row> <a-row>
<a-col :span="8"> <a-col :span="8">
<a-form-item :label="$t('workCenter.standardInterpretationProcess.countersigningPerson')" :colon="false"> <a-form-item :label="$t('workCenter.standardInterpretationProcess.countersigningPerson')" :colon="false">
@@ -164,4 +167,15 @@ export default {
.mb-20 { .mb-20 {
margin-bottom: 20px; margin-bottom: 20px;
} }
.prc-form {
/deep/ .ant-form-item-label {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
margin-right: 16px;
}
/deep/ .user-organ-wrap {
height: 40px;
}
}
</style> </style>
@@ -4,7 +4,7 @@
<div class="process-part-title">{{ $t('dispatchInformation') }}</div> <div class="process-part-title">{{ $t('dispatchInformation') }}</div>
<!-- 条款的表格 --> <!-- 条款的表格 -->
<interpretation-clause-table v-if="showClauseTable" ref="interpretationClauseTable" :disabled="disabled" :current-node-id="currentNodeId"/> <interpretation-clause-table v-if="showClauseTable" ref="interpretationClauseTable" :disabled="disabled" :current-node-id="currentNodeId"/>
<a-form :form="form" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form :form="form" class="prc-form" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-row> <a-row>
<a-col :span="8"> <a-col :span="8">
<a-form-item :label="$t('workCenter.standardInterpretationProcess.mainInterpreter')" :colon="false"> <a-form-item :label="$t('workCenter.standardInterpretationProcess.mainInterpreter')" :colon="false">
@@ -119,4 +119,16 @@ export default {
.mb-20 { .mb-20 {
margin-bottom: 20px; margin-bottom: 20px;
} }
.prc-form {
/deep/ .ant-form-item-label {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
margin-right: 16px;
}
/deep/ .user-organ-wrap {
height: 40px;
}
}
</style> </style>
@@ -20,7 +20,7 @@
</template> </template>
</j-table> </j-table>
</div> </div>
<a-form :form="form" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form :form="form" class="prc-form" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-row> <a-row>
<a-col :span="8"> <a-col :span="8">
<a-form-item :label="$t('workCenter.standardInterpretationProcess.interpretingTasksIsDistribute')" :colon="false"> <a-form-item :label="$t('workCenter.standardInterpretationProcess.interpretingTasksIsDistribute')" :colon="false">
@@ -45,10 +45,11 @@
:current-node-id="currentNodeId" :current-node-id="currentNodeId"
:import-params="importParams" :import-params="importParams"
:disabled-import="disabledImport" :disabled-import="disabledImport"
:standard-info="formInline"
:is-distribute="isDistribute"/> :is-distribute="isDistribute"/>
<!-- 不分发的表单 --> <!-- 不分发的表单 -->
<template v-if="!isDistribute"> <template v-if="!isDistribute">
<a-form :form="userForm" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form :form="userForm" class="prc-form" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-row> <a-row>
<a-col :span="8"> <a-col :span="8">
<a-form-item :label="$t('workCenter.standardInterpretationProcess.countersigningPerson')" :colon="false"> <a-form-item :label="$t('workCenter.standardInterpretationProcess.countersigningPerson')" :colon="false">
@@ -359,4 +360,16 @@ export default {
.mb-20 { .mb-20 {
margin-bottom: 20px; margin-bottom: 20px;
} }
.prc-form {
/deep/ .ant-form-item-label {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
margin-right: 16px;
}
/deep/ .user-organ-wrap {
height: 40px;
}
}
</style> </style>