|
@@ -158,6 +158,7 @@
|
|
|
:template="frontendTemplate"
|
|
:template="frontendTemplate"
|
|
|
:defaults="templateDefaults"
|
|
:defaults="templateDefaults"
|
|
|
:is-view="isView"
|
|
:is-view="isView"
|
|
|
|
|
+ :show-required="fullCheckEnabled"
|
|
|
/>
|
|
/>
|
|
|
<experimentationProcessNew
|
|
<experimentationProcessNew
|
|
|
v-else-if="!rawExtension"
|
|
v-else-if="!rawExtension"
|
|
@@ -167,7 +168,7 @@
|
|
|
<!-- 未匹配到前端模板时,降级展示已保存的原始作业票内容 -->
|
|
<!-- 未匹配到前端模板时,降级展示已保存的原始作业票内容 -->
|
|
|
<div v-else class="raw-extension">
|
|
<div v-else class="raw-extension">
|
|
|
<div
|
|
<div
|
|
|
- v-for="(value, key) in rawExtension"
|
|
|
|
|
|
|
+ v-for="(value, key) in displayRawExtension"
|
|
|
:key="key"
|
|
:key="key"
|
|
|
class="raw-extension-row"
|
|
class="raw-extension-row"
|
|
|
>
|
|
>
|
|
@@ -175,7 +176,7 @@
|
|
|
<span class="raw-extension-value">{{ value }}</span>
|
|
<span class="raw-extension-value">{{ value }}</span>
|
|
|
</div>
|
|
</div>
|
|
|
<div
|
|
<div
|
|
|
- v-if="!Object.keys(rawExtension).length"
|
|
|
|
|
|
|
+ v-if="!Object.keys(displayRawExtension).length"
|
|
|
class="raw-extension-row"
|
|
class="raw-extension-row"
|
|
|
>
|
|
>
|
|
|
暂无作业票内容
|
|
暂无作业票内容
|
|
@@ -238,6 +239,8 @@
|
|
|
} from './templates';
|
|
} from './templates';
|
|
|
import {
|
|
import {
|
|
|
DRAFT_STATUS,
|
|
DRAFT_STATUS,
|
|
|
|
|
+ FULL_CHECK_ENABLED,
|
|
|
|
|
+ FULL_CHECK_KEY,
|
|
|
getProcessDefinitionKey,
|
|
getProcessDefinitionKey,
|
|
|
getProcessInstanceId
|
|
getProcessInstanceId
|
|
|
} from './constants';
|
|
} from './constants';
|
|
@@ -386,6 +389,16 @@
|
|
|
!!this.rawExtension
|
|
!!this.rawExtension
|
|
|
);
|
|
);
|
|
|
},
|
|
},
|
|
|
|
|
+ // 降级展示的原始作业票内容:整体校验标记属于控制参数,不作为票面内容展示
|
|
|
|
|
+ displayRawExtension() {
|
|
|
|
|
+ const raw = { ...(this.rawExtension || {}) };
|
|
|
|
|
+ delete raw[FULL_CHECK_KEY];
|
|
|
|
|
+ return raw;
|
|
|
|
|
+ },
|
|
|
|
|
+ // 是否整体校验作业票内容(按环境区分,不可人工调整)
|
|
|
|
|
+ fullCheckEnabled() {
|
|
|
|
|
+ return FULL_CHECK_ENABLED;
|
|
|
|
|
+ },
|
|
|
// 模板默认值:取自所属危险作业
|
|
// 模板默认值:取自所属危险作业
|
|
|
// 作业计划开始/结束时间默认留空,由申请人按实际计划填写
|
|
// 作业计划开始/结束时间默认留空,由申请人按实际计划填写
|
|
|
templateDefaults() {
|
|
templateDefaults() {
|
|
@@ -723,22 +736,27 @@
|
|
|
} else {
|
|
} else {
|
|
|
delete extension.remark;
|
|
delete extension.remark;
|
|
|
}
|
|
}
|
|
|
|
|
+ // 整体校验标记随作业票内容一起保存,便于后端/审批流识别提交时的校验模式
|
|
|
|
|
+ extension[FULL_CHECK_KEY] = FULL_CHECK_ENABLED;
|
|
|
return extension;
|
|
return extension;
|
|
|
},
|
|
},
|
|
|
// 业务校验并组装作业票保存参数
|
|
// 业务校验并组装作业票保存参数
|
|
|
// 校验不通过时给出提示并返回 null
|
|
// 校验不通过时给出提示并返回 null
|
|
|
buildSaveParams() {
|
|
buildSaveParams() {
|
|
|
- if (
|
|
|
|
|
- !this.frontendTemplate &&
|
|
|
|
|
- !this.templateData?.id &&
|
|
|
|
|
- !this.rawExtension
|
|
|
|
|
- ) {
|
|
|
|
|
- this.$message.warning('请选择作业票模板');
|
|
|
|
|
- return null;
|
|
|
|
|
|
|
+ // 整体校验开启:必须选择作业票模板,并完整填写作业票内容
|
|
|
|
|
+ if (FULL_CHECK_ENABLED) {
|
|
|
|
|
+ if (
|
|
|
|
|
+ !this.frontendTemplate &&
|
|
|
|
|
+ !this.templateData?.id &&
|
|
|
|
|
+ !this.rawExtension
|
|
|
|
|
+ ) {
|
|
|
|
|
+ this.$message.warning('请选择作业票模板');
|
|
|
|
|
+ return null;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
const extension = this.getExtension();
|
|
const extension = this.getExtension();
|
|
|
- // 前端内置模板按源系统表单做必填校验
|
|
|
|
|
- if (this.frontendTemplate) {
|
|
|
|
|
|
|
+ // 前端内置模板按源系统表单做必填校验(整体校验开启时才校验)
|
|
|
|
|
+ if (FULL_CHECK_ENABLED && this.frontendTemplate) {
|
|
|
const unfilled = getUnfilledRequiredFields(
|
|
const unfilled = getUnfilledRequiredFields(
|
|
|
this.frontendTemplate,
|
|
this.frontendTemplate,
|
|
|
extension
|
|
extension
|