diff --git a/src/common/lang/workCenter/zh.js b/src/common/lang/workCenter/zh.js
index 44b3688f..1a744421 100644
--- a/src/common/lang/workCenter/zh.js
+++ b/src/common/lang/workCenter/zh.js
@@ -378,5 +378,10 @@ module.exports = {
preNodePeople: '上一节点处理人',
evaluationFeedback:'评估反馈',
ccPerson: '抄送人员'
+ },
+ // 未符合项跟踪流程
+ noMatchTracking: {
+ queryByCondition: '按条件查询',
+ problemTypes: '问题类型'
}
}
diff --git a/src/enums/commonEnums.js b/src/enums/commonEnums.js
index 2500ff50..5332b965 100644
--- a/src/enums/commonEnums.js
+++ b/src/enums/commonEnums.js
@@ -368,6 +368,14 @@ export const EsAnnulNodes = new EsEnums({
standardizationApproval: { text: '标准化审批', value: 'sid-9C90582D-F71F-4516-B54F-1E9F896C30D8' }
})
+// 未符合项跟踪流程
+export const NoMatchTrackingNodes = new EsEnums({
+ initial: { text: '法规工程师发起整改', value: '1', btn: ['save', 'submit'] },
+ designEngineer: { text: '设计工程师上传整改材料', value: '2', btn: ['return', 'save', 'submit'] },
+ directorLevelLeader: { text: '主管级领导审批', value: '3', btn: ['return', 'save', 'agree', 'reject'] },
+ regulatoryEngineer: { text: '法规工程师审批', value: '4', btn: ['return', 'save', 'agree', 'reject'] }
+})
+
// 企标封存流程
export const EsSealSaveNodes = new EsEnums({
initiatorStart: { text: '发起人发起', value: 'sid-5F5FC475-64DE-4F98-A52D-5F6837C39B63' },
diff --git a/src/views/workCenter/noMatchTrackingProcess/NoMatchTrackingProcess.vue b/src/views/workCenter/noMatchTrackingProcess/NoMatchTrackingProcess.vue
index e579b938..15dd4193 100644
--- a/src/views/workCenter/noMatchTrackingProcess/NoMatchTrackingProcess.vue
+++ b/src/views/workCenter/noMatchTrackingProcess/NoMatchTrackingProcess.vue
@@ -55,6 +55,61 @@
+
+
{{ $t('basicServiceInformation') }}
+
+
+
+
+
+
+
+
+
+ {{ text || text === 0 ? text : global.emptyLine }}
+ {{ text }}
+ {{ global.emptyLine }}
+
+
+
+
{{ $t('processApprovalInformation') }}
@@ -105,6 +160,9 @@
{{ $t('reject') }}
+
+
+
@@ -113,17 +171,14 @@ import PersonnelInfo from '../../../components/PersonnelInfo'
import InternalDetailPage from '../../../components/InternalDetailPage'
import ProcessDetailList from '../../../components/ProcessDetailList'
import { WorkCenterMixin } from '../../../mixins/WorkCenterMixin'
-import { ProcessKey } from '../../../enums/commonEnums'
+import { ProcessKey, NoMatchTrackingNodes } from '../../../enums/commonEnums'
+import UserSelection from '../../../components/selection/UserSelection'
+import NoMatchItemSelectDrawer from './modules/NoMatchItemSelectDrawer'
export default {
name: 'NoMatchTrackingProcess',
- components: { ProcessDetailList, InternalDetailPage, PersonnelInfo },
+ components: { ProcessDetailList, InternalDetailPage, PersonnelInfo, UserSelection, NoMatchItemSelectDrawer },
mixins: [WorkCenterMixin],
- computed: {
- pageTitle () {
- return `${this.$t('flowCenter')}${this.$route.meta.title}`
- }
- },
data () {
return {
loading: false,
@@ -135,6 +190,10 @@ export default {
// 审批信息的表单
approvalInfoForm: this.$form.createForm(this),
approvalInfo: {},
+ // 业务基本信息表单(发起时候的查询条件)
+ businessInfoForm: this.$form.createForm(this),
+ businessInfo: {},
+ currentNode: '2',
labelCol: {
xs: { span: 24 },
sm: { span: 4 }
@@ -156,12 +215,210 @@ export default {
handleText: {
rules: [{ required: false, message: this.$t('pleaseEnter') + this.$t('remarks') }],
validateTrigger: 'blur'
+ },
+ // 标准编号/标准名称
+ standardNumberName: {
+ rules: [{ required: true, message: this.$t('pleaseEnter') + this.$t('projectLibrary.vehicleItemLibrary.standardNumberStandardName') }],
+ validateTrigger: 'blur'
+ },
+ // 设计工程师
+ designEngineer: {
+ rules: [{ required: true, message: this.$t('pleaseSelect') + this.$t('workCenter.standardConsultationProcess.designEngineer') }],
+ validateTrigger: 'change'
}
+ },
+ columns: [
+ // 标准编号
+ {
+ dataIndex: 'standardNumber',
+ title: this.$t('standardNumber'),
+ width: 150,
+ align: 'center',
+ scopedSlots: { customRender: 'detail' }
+ },
+ // 标准名称
+ {
+ dataIndex: 'standardName',
+ title: this.$t('standardName'),
+ width: 150,
+ scopedSlots: { customRender: 'detail' }
+ },
+ // 问题类型
+ {
+ dataIndex: '1',
+ title: this.$t('workCenter.noMatchTracking.problemTypes'),
+ width: 150,
+ align: 'center',
+ scopedSlots: { customRender: 'text' }
+ },
+ // 条款号
+ {
+ dataIndex: 'termNumber',
+ title: this.$t('workCenter.enStandardRevision.clauseNumber'),
+ width: 150,
+ align: 'center',
+ scopedSlots: { customRender: 'text' }
+ },
+ // 条款名称
+ {
+ title: this.$t('workCenter.enStandardRevision.clauseName'),
+ width: 150,
+ dataIndex: 'termName',
+ align: 'center',
+ scopedSlots: { customRender: 'text' }
+ },
+ // 相关项目
+ {
+ title: this.$t('projectLibrary.noncoincidenceItem.relevantProject'),
+ width: 150,
+ dataIndex: '2',
+ align: 'center',
+ scopedSlots: { customRender: 'text' }
+ },
+ // 责任部门
+ {
+ dataIndex: 'departmentId_dictText',
+ title: this.$t('projectLibrary.vehicleItemLibrary.responsibleDepartment'),
+ width: 120,
+ align: 'center',
+ scopedSlots: { customRender: 'text' }
+ },
+ // 设计工程师
+ {
+ dataIndex: 'engineerName',
+ title: this.$t('workCenter.standardConsultationProcess.designEngineer'),
+ width: 120,
+ align: 'center',
+ scopedSlots: { customRender: 'text' }
+ },
+ // 预计整改完成日期
+ {
+ dataIndex: 'expectedTime',
+ title: this.$t('projectLibrary.vehicleItemLibrary.estimatedDateOfCompletionOfRectification'),
+ width: 180,
+ align: 'center',
+ scopedSlots: { customRender: 'text' }
+ }
+ ],
+ dataSource: [{ id: 1, standardNumber: '124' }],
+ // 展开表格的规则
+ extraForm: {
+ rules: {
+ // 依据描述
+ basisDescription: {
+ required: true,
+ message: this.$t('pleaseEnter') + this.$t('projectLibrary.specialProjectLibrary.basisDescription'),
+ trigger: 'blur'
+ },
+ // 佐证材料
+ basisFile: {
+ required: false,
+ message: this.$t('pleaseUpload') + this.$t('projectLibrary.specialProjectLibrary.supportingMaterial'),
+ trigger: 'change'
+ }
+ },
+ formArr: [
+ {
+ fieldShowType: 1,
+ dbFieldTxt: this.$t('projectLibrary.specialProjectLibrary.basisDescription'),
+ dbFieldName: 'basisDescription'
+ },
+ {
+ fieldShowType: 2,
+ dbFieldTxt: this.$t('projectLibrary.specialProjectLibrary.supportingMaterial'),
+ dbFieldName: 'basisFile',
+ fileType: 'pdf,doc,docx,pptx,ppt,jpg,jpeg,png,xls,xlsx,bmp'
+ }
+ ]
}
}
},
+ computed: {
+ pageTitle () {
+ return `${this.$t('flowCenter')}${this.$route.meta.title}`
+ },
+ // 是否展示选择标准的表单
+ showSelectStandardForm () {
+ return this.currentNode === NoMatchTrackingNodes.initial.value
+ },
+ // 表格用哪个组件
+ tableComponent () {
+ if (this.showSelectStandardForm) {
+ return resolve => require(['../../../components/jero/JTable.vue'], resolve)
+ }
+ return resolve => require(['../../../components/JExpandTable.vue'], resolve)
+ },
+ // 展开表格是否禁用,设计工程师上传整改材料节点不禁用
+ expandTableDisabled () {
+ return this.currentNode !== NoMatchTrackingNodes.designEngineer.value
+ }
+ },
created () {
- this.getPersonInfoStructure(ProcessKey.NO_MATCH_TRACKING.value)
+ // if (this.$route.query.processInstanceId || this.$route.query.draftId) {
+ // this.currentNode = this.$route.query.nodeId
+ // this.initProcessInfo()
+ // } else {
+ // this.currentNode = NoMatchTrackingNodes.initial.value
+ // }
+ // 如果节点不是固定节点,就默认显示审批节点的信息
+ this.btnList = NoMatchTrackingNodes.propertyOfValue('btn', this.currentNode) || NoMatchTrackingNodes.regulatoryEngineer.btn
+ this.getPersonInfoStructure(ProcessKey.NO_MATCH_TRACKING.value, () => {
+ this.initPersonInfoData(this.current)
+ })
+ },
+ methods: {
+ /**
+ * 获取流程信息
+ */
+ initProcessInfo () {
+
+ },
+ /**
+ * 选择标准
+ */
+ selectStandard () {
+ this.businessInfoForm.validateFields((errors, values) => {
+ if (!errors) {
+ this.$refs.selectStandardDrawer.open(values)
+ }
+ })
+ },
+ handleStandardSelected (list) {
+ this.dataSource = list
+ },
+ /**
+ * 跳转标准详情
+ * @param record
+ */
+ toDetailPage ({ standardId, splitStandardSource }) {
+ let path
+ // 根据来源跳转不同的详情页
+ switch (splitStandardSource) {
+ // 国内
+ case StandardSource.DOMESTIC.value:
+ path = '/standardRegulationLibrary/DomesticStandardDetail'
+ break
+ // 海外
+ case StandardSource.OVERSEAS.value:
+ path = '/standardRegulationLibrary/OverseasStandardDetail'
+ break
+ // 企标
+ case StandardSource.ENTERPRISE.value:
+ path = '/enterpriseStandardLibrary/enterpriseStandardDetail'
+ break
+ default:
+ break
+ }
+ if (!path) {
+ return
+ }
+ const query = {
+ id: standardId
+ }
+ this.$openPageNewSheet({
+ path, query
+ })
+ }
}
}
@@ -169,4 +426,19 @@ export default {
\ No newline at end of file
diff --git a/src/views/workCenter/noMatchTrackingProcess/modules/NoMatchItemSelectDrawer.vue b/src/views/workCenter/noMatchTrackingProcess/modules/NoMatchItemSelectDrawer.vue
new file mode 100644
index 00000000..c958844c
--- /dev/null
+++ b/src/views/workCenter/noMatchTrackingProcess/modules/NoMatchItemSelectDrawer.vue
@@ -0,0 +1,264 @@
+
+
+
+
+
+
{{ $t('cancel') }}
+
{{ $t('submit') }}
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/workCenter/projectComplianceEvaluationProcess/ProjectComplianceEvaluationProcess.vue b/src/views/workCenter/projectComplianceEvaluationProcess/ProjectComplianceEvaluationProcess.vue
index d2456264..f58a778d 100644
--- a/src/views/workCenter/projectComplianceEvaluationProcess/ProjectComplianceEvaluationProcess.vue
+++ b/src/views/workCenter/projectComplianceEvaluationProcess/ProjectComplianceEvaluationProcess.vue
@@ -547,7 +547,7 @@ export default {
},
// 节点显示的按钮
btnList () {
- let btnList = ProjectComplianceEvaluationProcessNode.propertyOfValue('btn', this.currentNode)
+ let btnList = ProjectComplianceEvaluationProcessNode.propertyOfValue('btn', this.currentNode) || ProjectComplianceEvaluationProcessNode.moduleOwnerApproval.btn
if (this.currentNode === ProjectComplianceEvaluationProcessNode.initiate.value) {
switch (this.currentStep) {
case 0:
@@ -677,9 +677,9 @@ export default {
}
])
}
- // 设计工程师评估、模块负责人审批、各部门主管级领导审批、法规工程师归档
+ // 设计工程师评估、模块负责人审批、各部门主管级领导审批、法规工程师归档,及用户新增的审批节点都显示审批节点的表头
const showNode = [ProjectComplianceEvaluationProcessNode.designEngineerEvaluation.value, ProjectComplianceEvaluationProcessNode.moduleOwnerApproval.value, ProjectComplianceEvaluationProcessNode.departLeaderApproval.value, ProjectComplianceEvaluationProcessNode.regulatoryEngineerFiling.value]
- if (showNode.includes(this.currentNode)) {
+ if (showNode.includes(this.currentNode) || !ProjectComplianceEvaluationProcessNode.keyOfValue(this.currentNode)) {
return this.basicColumns.concat([
// 上一节点处理人
{
@@ -709,7 +709,7 @@ export default {
showExpandTable () {
// 设计工程师评估及之后节点都是
const showNode = [ProjectComplianceEvaluationProcessNode.designEngineerEvaluation.value, ProjectComplianceEvaluationProcessNode.moduleOwnerApproval.value, ProjectComplianceEvaluationProcessNode.departLeaderApproval.value, ProjectComplianceEvaluationProcessNode.regulatoryEngineerFiling.value]
- return showNode.includes(this.currentNode)
+ return showNode.includes(this.currentNode) || !ProjectComplianceEvaluationProcessNode.keyOfValue(this.currentNode)
},
// 展开表格的禁用
expandTableDisabled () {