diff --git a/src/enums/commonEnums.js b/src/enums/commonEnums.js index 70e03c2a..c361aad4 100644 --- a/src/enums/commonEnums.js +++ b/src/enums/commonEnums.js @@ -182,6 +182,10 @@ export const ProcessKey = { FB_ENTRY_CHANGE: { text: 'fb-entry-change', value: 'fb-entry-change' }, // 征求意见流程 CONSULTATION: { text: 'fb-standard-consultation', value: 'fb-standard-consultation' }, + // 项目合规评估流程 + PROJECT_COMPLIANCE_EVALUATION: { text: '', value: '' }, + // 未符合项跟踪流程 + NO_MATCH_TRACKING: { text: '', value: '' }, // 法规合规评估流程 REGULATORY_COMPLIANCE_ASSESSMENT: { text: 'fb-standard-compliance-assessment', value: 'fb-standard-compliance-assessment' }, // 法规采购流程 @@ -257,4 +261,13 @@ export const SolicitOpinions = { accept: { text: '采纳', value: '1' }, partialAdoption: { text: '部分采纳', value: '2' }, reject: { text: '不采纳', value: '3' } -} \ No newline at end of file +} + +// 法规采购流程节点 +export const ProcurementProcessNodes = new EsEnums({ + initiate: { text: '发起人申请', value: 'Activity_0fmr3id', btn: ['save', 'submit'] }, + sponsorLeaderApproval: { text: '发起人主管级领导审批', value: 'Activity_1fr1x5i', btn: ['return', 'save', 'agree', 'reject'] }, + standardLeaderApproval: { text: '标准化主管级领导审批', value: 'Activity_06jy4oo', btn: ['return', 'save', 'agree', 'reject'] }, + standardSuperiorLeaderApproval: { text: '标准化主管级上一级领导审批', value: 'Activity_1u5337a', btn: ['return', 'save', 'agree', 'reject'] }, + regulatoryEngineerConfirmation: { text: '法规工程师确认', value: 'Activity_1q01zfq', btn: ['return', 'save', 'agree', 'reject'] } +}) \ No newline at end of file diff --git a/src/mixins/WorkCenterMixin.js b/src/mixins/WorkCenterMixin.js index a0eb23f0..6610bf03 100644 --- a/src/mixins/WorkCenterMixin.js +++ b/src/mixins/WorkCenterMixin.js @@ -5,7 +5,8 @@ import { USER_INFO } from '../store/mutation-types' export const WorkCenterMixin = { data () { return { - personnelInfoData: [] // 需要传给PersonnelInfo的数据 + personnelInfoData: [], // 需要传给PersonnelInfo的数据 + switchValue: 'base', } }, methods: { @@ -64,6 +65,9 @@ export const WorkCenterMixin = { setTimeout(() => { this.$router.go(-1) }, 700) - } + }, + switchChange (value) { + this.switchValue = value + }, } } diff --git a/src/views/workCenter/NewProcess.vue b/src/views/workCenter/NewProcess.vue index b1b827d1..d558a435 100644 --- a/src/views/workCenter/NewProcess.vue +++ b/src/views/workCenter/NewProcess.vue @@ -29,19 +29,19 @@ export default { }, { // 项目合规评估流程 title: this.$t('workCenter.newProcess.projectComplianceAssessmentProcess'), - path: '' + path: '/workCenter/ProjectComplianceEvaluationProcess' }, { // 未符合项跟踪流程 title: this.$t('workCenter.newProcess.noMatchTrackingProcess'), - path: '' + path: '/workCenter/NoMatchTrackingProcess' }, { // 法规合规评估流程 title: this.$t('workCenter.newProcess.regulatoryComplianceAssessmentProcess'), - path: '' + path: '/workCenter/StandardComplianceProcess' }, { // 法规采购流程 title: this.$t('workCenter.newProcess.regulatoryProcurementProcess'), - path: '' + path: '/workCenter/StandardProcurementProcess' } ] }, diff --git a/src/views/workCenter/noMatchTrackingProcess/NoMatchTrackingProcess.vue b/src/views/workCenter/noMatchTrackingProcess/NoMatchTrackingProcess.vue new file mode 100644 index 00000000..e579b938 --- /dev/null +++ b/src/views/workCenter/noMatchTrackingProcess/NoMatchTrackingProcess.vue @@ -0,0 +1,172 @@ + + + + + + + {{ $t('workCenter.basicInformation') }} + + + {{ $t('workCenter.personalInformation') }} + + + + + + + + {{ $t('processInformation') }} + + + + + + event.target.value = event.target.value.trim()" + :maxLength="50" + disabled + v-decorator="['processName']" /> + + + + + + + + + + + + event.target.value = event.target.value.trim()" + :maxLength="500" + type="textarea" + :disabled="disabled" + v-decorator="['processDescription']" /> + + + + + {{ $t('processApprovalInformation') }} + + + + event.target.value = event.target.value.trim()" + :maxLength="500" + type="textarea" + v-decorator="['handleText', validatorRules.handleText]" /> + + + + + + + + + + + + + + + + + + + + + + {{ $t('turnTo') }} + + + + {{ $t('preservation') }} + + + + {{ $t('submit') }} + + + + {{ $t('agree') }} + + + + {{ $t('reject') }} + + + + + + + + \ No newline at end of file diff --git a/src/views/workCenter/projectComplianceEvaluationProcess/ProjectComplianceEvaluationProcess.vue b/src/views/workCenter/projectComplianceEvaluationProcess/ProjectComplianceEvaluationProcess.vue new file mode 100644 index 00000000..ddf01516 --- /dev/null +++ b/src/views/workCenter/projectComplianceEvaluationProcess/ProjectComplianceEvaluationProcess.vue @@ -0,0 +1,172 @@ + + + + + + + {{ $t('workCenter.basicInformation') }} + + + {{ $t('workCenter.personalInformation') }} + + + + + + + + {{ $t('processInformation') }} + + + + + + event.target.value = event.target.value.trim()" + :maxLength="50" + disabled + v-decorator="['processName']" /> + + + + + + + + + + + + event.target.value = event.target.value.trim()" + :maxLength="500" + type="textarea" + :disabled="disabled" + v-decorator="['processDescription']" /> + + + + + {{ $t('processApprovalInformation') }} + + + + event.target.value = event.target.value.trim()" + :maxLength="500" + type="textarea" + v-decorator="['handleText', validatorRules.handleText]" /> + + + + + + + + + + + + + + + + + + + + + + {{ $t('turnTo') }} + + + + {{ $t('preservation') }} + + + + {{ $t('submit') }} + + + + {{ $t('agree') }} + + + + {{ $t('reject') }} + + + + + + + + \ No newline at end of file diff --git a/src/views/workCenter/standardComplianceProcess/StandardComplianceProcess.vue b/src/views/workCenter/standardComplianceProcess/StandardComplianceProcess.vue new file mode 100644 index 00000000..092f609a --- /dev/null +++ b/src/views/workCenter/standardComplianceProcess/StandardComplianceProcess.vue @@ -0,0 +1,172 @@ + + + + + + + {{ $t('workCenter.basicInformation') }} + + + {{ $t('workCenter.personalInformation') }} + + + + + + + + {{ $t('processInformation') }} + + + + + + event.target.value = event.target.value.trim()" + :maxLength="50" + disabled + v-decorator="['processName']" /> + + + + + + + + + + + + event.target.value = event.target.value.trim()" + :maxLength="500" + type="textarea" + :disabled="disabled" + v-decorator="['processDescription']" /> + + + + + {{ $t('processApprovalInformation') }} + + + + event.target.value = event.target.value.trim()" + :maxLength="500" + type="textarea" + v-decorator="['handleText', validatorRules.handleText]" /> + + + + + + + + + + + + + + + + + + + + + + {{ $t('turnTo') }} + + + + {{ $t('preservation') }} + + + + {{ $t('submit') }} + + + + {{ $t('agree') }} + + + + {{ $t('reject') }} + + + + + + + + \ No newline at end of file diff --git a/src/views/workCenter/standardConsultationProcess/StandardConsultationProcess.vue b/src/views/workCenter/standardConsultationProcess/StandardConsultationProcess.vue index f0ed9277..4ba4a928 100644 --- a/src/views/workCenter/standardConsultationProcess/StandardConsultationProcess.vue +++ b/src/views/workCenter/standardConsultationProcess/StandardConsultationProcess.vue @@ -85,18 +85,18 @@ - + - + {{ this.$t('workCenter.standardConsultationProcess.selectText') }} - + @@ -760,6 +760,10 @@ export default { } }, created () { + // 获取人员信息数据 + this.getPersonInfoStructure(ProcessKey.CONSULTATION.value, () => { + this.initPersonInfoData(this.currentNode.indexOf(ConsultationProcess.initiate.value) === 0) + }) // 有流程id或者草稿id点进来的 if (this.$route.query.processInstanceId || this.$route.query.draftId) { this.currentNode = this.$route.query.nodeId @@ -768,8 +772,7 @@ export default { // 找不到这个节点默认使用审批节点页面及按钮,发起除外 this.nodeEnumsKey = this.currentNode ? ConsultationProcess.keyOfValue(this.currentNode) || 'regulatoryEngineerApproval' : 'initiate' this.btnList = ConsultationProcess[this.nodeEnumsKey].btn - // 获取人员信息数据 - this.getPersonInfoStructure(ProcessKey.CONSULTATION.value) + }, methods: { initProcessDetailData () { @@ -1058,6 +1061,7 @@ export default { * 驳回 */ handleReject () { + this.validatorRules.handleText.rules[0].required = true const formData = this.dealFormData() if (!formData) { return diff --git a/src/views/workCenter/standardEntryOrChangeProcess/StandardEntryOrChangeProcess.vue b/src/views/workCenter/standardEntryOrChangeProcess/StandardEntryOrChangeProcess.vue index e44f484d..462622ba 100644 --- a/src/views/workCenter/standardEntryOrChangeProcess/StandardEntryOrChangeProcess.vue +++ b/src/views/workCenter/standardEntryOrChangeProcess/StandardEntryOrChangeProcess.vue @@ -473,7 +473,9 @@ export default { this.initDomesticStandardForm() } // 获取人员信息 - this.getPersonInfoStructure(ProcessKey.FB_ENTRY_CHANGE.value) + this.getPersonInfoStructure(ProcessKey.FB_ENTRY_CHANGE.value, () => { + this.initPersonInfoData(this.currentNode === FGEntryChangeProcessNode.initiate.value) + }) this.getSourceOptions() }, methods: { diff --git a/src/views/workCenter/standardProcurementProcess/StandardProcurementProcess.vue b/src/views/workCenter/standardProcurementProcess/StandardProcurementProcess.vue new file mode 100644 index 00000000..0b157725 --- /dev/null +++ b/src/views/workCenter/standardProcurementProcess/StandardProcurementProcess.vue @@ -0,0 +1,266 @@ + + + + + + + {{ $t('workCenter.basicInformation') }} + + + {{ $t('workCenter.personalInformation') }} + + + + + + + + {{ $t('processInformation') }} + + + + + + event.target.value = event.target.value.trim()" + :maxLength="50" + disabled + v-decorator="['processName']" /> + + + + + + + + + + + + event.target.value = event.target.value.trim()" + :maxLength="500" + type="textarea" + :disabled="disabled" + v-decorator="['processDescription']" /> + + + + + {{ $t('basicServiceInformation') }} + + + {{ $t('newlyAdded') }} + + {{ $t('batchDelete') }} + + + + + + + + {{ $t('processApprovalInformation') }} + + + + event.target.value = event.target.value.trim()" + :maxLength="500" + type="textarea" + v-decorator="['handleText', validatorRules.handleText]" /> + + + + + + + + + + + + + + + + + + + + + + {{ $t('turnTo') }} + + + + {{ $t('preservation') }} + + + + {{ $t('submit') }} + + + + {{ $t('agree') }} + + + + {{ $t('reject') }} + + + + + + + + + + + \ No newline at end of file diff --git a/src/views/workCenter/standardProcurementProcess/modules/TableFormModal.vue b/src/views/workCenter/standardProcurementProcess/modules/TableFormModal.vue new file mode 100644 index 00000000..c78f09be --- /dev/null +++ b/src/views/workCenter/standardProcurementProcess/modules/TableFormModal.vue @@ -0,0 +1,63 @@ + + + + + + + + + + \ No newline at end of file