[update] 联调企标立项、变更计划

This commit is contained in:
lideqin
2023-10-13 18:08:38 +08:00
parent 667656fc5d
commit bf517b5d37
23 changed files with 747 additions and 563 deletions
+1 -1
View File
@@ -54,7 +54,7 @@ const initReview = (params) => getAction('', params)
// 企标计划-根据id获取计划详情
const getEnterpriseStandardPlanInfoById = (params) => getAction('/enterprise/plan/detail', params)
// 企标计划-分页获取(选择企标计划组件中用)
const getEnterpriseStandardPlanPage = (params) => getAction('/enterprise/plan/page', params)
const getEnterpriseStandardPlanPage = (params) => getAction('/process/es/initChange/getESPList', params)
export {
getEnterpriseStandardTableHeader,
+3
View File
@@ -24,6 +24,8 @@ const enterprisePlanApproval = (params) => postAction('/process/es/initChange/st
const enterprisePlanApprovalSave = (params) => postAction('/process/es/initChange/save', params)
// 根据三个编号和年代号获取企标编号
const getEnStandardNo = (params) => postAction('/process/es/initChange/getStandardNo', params)
// 根据流程id获取流程信息
const getProcessDataById = (params) => getAction('/process/center/handle', params)
// 流程中心
// 待办-转办
@@ -43,6 +45,7 @@ export {
enterprisePlanApproval,
enterprisePlanApprovalSave,
getEnStandardNo,
getProcessDataById,
toDoTurnTo,
compulsoryWithdrawal
+1
View File
@@ -155,6 +155,7 @@ module.exports = {
projectStatement: 'Project Statement',
pleaseFillInAtLeastOneItem: 'Please Fill In At Least One Item',
addAtLeastOneRowOfData: 'Please Add At Least One Row Of Data',
mergeStandardInformation: '合并标准信息',
// 树右键
treeRight: {
addFolder: 'Create New Folder',
+7 -1
View File
@@ -76,7 +76,13 @@ module.exports = {
originalPlanSubmissionDate: '原计划报批日期',
changeReason: '变更原因',
superintendent: '所长',
relatedPersonnel: '相关人员'
relatedPersonnel: '相关人员',
originPrincipalDrafter: '原主起草人',
originMainDraftUnit: '原主起草单位',
originHeadOfMainDraftingUnit: '原起草单位负责人',
typeOfRevision: '制修订类型',
scopeOfApplication: '标准适用范围',
pleaseSelectTwoSameProjectTypePlan: '请选择两个制修订类型一样的企标计划'
},
// 年度制修订计划(各部门主动上报)
revisionPlanActivelyReport: {
+2 -1
View File
@@ -81,7 +81,8 @@ module.exports = {
originMainDraftUnit: '原主起草单位',
originHeadOfMainDraftingUnit: '原起草单位负责人',
typeOfRevision: '制修订类型',
scopeOfApplication: '标准适用范围'
scopeOfApplication: '标准适用范围',
pleaseSelectTwoSameProjectTypePlan: '请选择两个制修订类型一样的企标计划'
},
// 年度制修订计划(各部门主动上报)
revisionPlanActivelyReport: {
+1
View File
@@ -158,6 +158,7 @@ module.exports = {
projectStatement: '立项说明',
pleaseFillInAtLeastOneItem: '请至少填写一项',
addAtLeastOneRowOfData: '请至少添加一行数据',
mergeStandardInformation: '合并标准信息',
// 树右键
treeRight: {
addFolder: '新增文件夹',
+3 -3
View File
@@ -29,9 +29,9 @@
<div class="personnel-container-content-text">
<template v-if="step.canChoose && index >= currentNodeIndex">
<!-- TODO 数据库设计确定后处理数据抛出格式-->
<user-select-by-work-group v-show="step.chooseSource === 'workGroup'" v-model="step.user" :type="step.chooseType" input-type="textarea"/>
<user-select-by-contact v-show="step.chooseSource === 'contactManage'" v-model="step.user" :type="step.chooseType" input-type="textarea"/>
<user-selection v-show="!['contactManage', 'workGroup'].includes(step.chooseSource)" :type="step.chooseType" v-model="step.user" input-type="textarea" />
<user-select-by-work-group v-if="step.chooseSource === 'workGroup'" v-model="step.user" :type="step.chooseType" input-type="textarea"/>
<user-select-by-contact v-else-if="step.chooseSource === 'contactManage'" v-model="step.user" :type="step.chooseType" input-type="textarea"/>
<user-selection v-else-if="!['contactManage', 'workGroup'].includes(step.chooseSource)" :type="step.chooseType" v-model="step.user" input-type="textarea" />
</template>
<div class="personnel-container-content-echo-text" v-else>{{ step.userList }}</div>
</div>
@@ -57,8 +57,8 @@
<a-form-item :label="$t('enterpriseStandardLibrary.plan.revisionType')" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-dict-select-tag
:placeholder="$t('pleaseEnter')+$t('enterpriseStandardLibrary.plan.revisionType')"
dict-code="esp_application_category"
v-model="queryParam.applicationCategory">
dict-code="esp_revision_type"
v-model="queryParam.revisionType">
</j-dict-select-tag>
</a-form-item>
</a-col>
@@ -106,7 +106,7 @@ export default {
required: false,
default: 'checkbox'
},
searchParam: {
searchParam: { // 根据不同模块传入固定的查询参数
type: Object,
required: false,
default () {
@@ -17,7 +17,7 @@
{{ $t('userSelect.select') }}
</a-button>
</div>
<user-select-by-contact-modal v-bind="$attrs" :nameStr="nameStr" ref="selectModal" @change="selectChange" @nameChange="nameChange"></user-select-by-contact-modal>
<user-select-by-contact-modal v-bind="$attrs" :nameStr="nameStr" ref="selectModal" @change="selectChange" @listChange="listChange" @nameChange="nameChange"></user-select-by-contact-modal>
</div>
</template>
@@ -78,6 +78,9 @@ export default {
selectChange (ids) {
this.$emit('change', ids)
},
listChange (value) {
this.$emit('listChange', value)
},
nameChange (value) {
this.checkedValue = value
this.$emit('nameChange', value, this.filedName)
@@ -12,7 +12,7 @@
<a-row :gutter="24">
<a-col :span="6">
<a-form-item :label="$t('system.contact.departName')" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input :placeholder="$t('pleaseEnter')+$t('system.contact.departName')" v-model="queryParam.departName"></a-input>
<j-input :placeholder="$t('pleaseEnter')+$t('system.contact.departName')" v-model="queryParam.departName"></j-input>
</a-form-item>
</a-col>
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
@@ -25,7 +25,7 @@
<div class="modal-content">
<a-table
:columns="columns"
rowKey="id"
rowKey="contactId"
bordered
:scroll="{x: '100%'}"
:data-source="dataSource"
@@ -96,28 +96,28 @@ export default {
title: this.$t('system.contact.departName'),
align: 'center',
width: 180,
dataIndex: 'departName',
dataIndex: 'departId_dictText',
scopedSlots: { customRender: 'text' }
},
{ // 标准化工程师
title: this.$t('system.contact.standardizationEngineer'),
align: 'center',
width: 180,
dataIndex: 'standardizationEngineer',
dataIndex: 'engineerId_dictText',
scopedSlots: { customRender: 'text' }
},
{ // 联络人
title: this.$t('system.contact.contactPerson'),
align: 'center',
width: 180,
dataIndex: 'contactPerson',
dataIndex: 'contactId_dictText',
scopedSlots: { customRender: 'text' }
},
{ // 部门联络人主管级领导
title: this.$t('system.contact.contactPersonSupervisorLevelLeader'),
align: 'center',
width: 240,
dataIndex: 'contactPersonSupervisorLevelLeader',
dataIndex: 'leaderId_dictText',
scopedSlots: { customRender: 'text' }
}
],
@@ -137,7 +137,7 @@ export default {
loadingLeft: false,
dataSourceRight: [],
url: {
userList: '',
userList: '/laws/system/lawsContactManage/page',
userListByIds: '/sys/user/queryByIds'
}
}
@@ -244,6 +244,7 @@ export default {
},
handleOk () {
this.$emit('change', this.selectedRowKeys.join(','))
this.$emit('listChange', this.dataSourceRight)
this.$emit('nameChange', this.dataSourceRight.map(item => item.realname + '(' + item.username + ')').join(','))
this.close()
},
@@ -65,12 +65,18 @@
</span>
</div>
<a-form-model-item class="item-model" prop="applicationCategory">
<a-select v-model="formInline.applicationCategory"
:disabled="disabled"
:placeholder="$t('pleaseSelect')+$t('workCenter.enterpriseInitChangePlan.applicationType')">
<a-select-option :value="ApplicationCategory.INITIATION.value">{{ $t('workCenter.enterpriseInitChangePlan.standardProjectEstablishment') }}</a-select-option>
<a-select-option :value="ApplicationCategory.CHANGE.value">{{ $t('workCenter.enterpriseInitChangePlan.change') }}</a-select-option>
</a-select>
<j-dict-select-tag v-model="formInline.applicationCategory"
:disabled="disabled"
:placeholder="$t('pleaseSelect')+$t('workCenter.enterpriseInitChangePlan.applicationType')"
:type="'select'"
:triggerChange="false"
dictCode="esp_application_category" />
<!--<a-select v-model="formInline.applicationCategory"-->
<!-- :disabled="disabled"-->
<!-- :placeholder="$t('pleaseSelect')+$t('workCenter.enterpriseInitChangePlan.applicationType')">-->
<!-- <a-select-option :value="ApplicationCategory.INITIATION.value">{{ $t('workCenter.enterpriseInitChangePlan.standardProjectEstablishment') }}</a-select-option>-->
<!-- <a-select-option :value="ApplicationCategory.CHANGE.value">{{ $t('workCenter.enterpriseInitChangePlan.change') }}</a-select-option>-->
<!--</a-select>-->
</a-form-model-item>
</div>
<!-- 项目类别 -->
@@ -85,6 +91,7 @@
<a-select v-if="formInline.applicationCategory === ApplicationCategory.INITIATION.value"
v-model="formInline.projectType"
:disabled="disabled"
@change="projectTypeChange"
:placeholder="$t('pleaseSelect')+$t('workCenter.enterpriseInitChangePlan.itemCategory')">
<a-select-option :value="ProjectType.ENACT.value">{{ $t('workCenter.enterpriseInitChangePlan.formulate') }}</a-select-option>
<a-select-option :value="ProjectType.MODIFY.value">{{ $t('workCenter.enterpriseInitChangePlan.revise') }}</a-select-option>
@@ -105,7 +112,7 @@
</a-form-model>
<!-- 申请类型为立项时的业务基本信息部分组件 -->
<approval-base-info
v-show="formInline.applicationCategory === ApplicationCategory.INITIATION.value"
v-if="formInline.applicationCategory === ApplicationCategory.INITIATION.value"
ref="approvalBaseInfo"
:disabled="disabled"
:currentNode="currentNode"
@@ -113,10 +120,11 @@
</approval-base-info>
<!-- 申请类型为变更,项目类型为完成时间变更时的业务基本信息部分组件 -->
<finish-time-change-base-info
v-if="formInline.applicationCategory === ApplicationCategory.CHANGE.value && formInline.projectType === ProjectType.COMPLETE_TIME_CHANGE.value"
v-else-if="formInline.applicationCategory === ApplicationCategory.CHANGE.value && formInline.projectType === ProjectType.COMPLETE_TIME_CHANGE.value"
ref="changeBaseInfo"
:disabled="disabled"
:currentNode="currentNode"
:projectType="formInline.projectType"
>
</finish-time-change-base-info>
<!-- 申请类型为变更,项目类型为工作终止时的业务基本信息部分组件 -->
@@ -125,6 +133,7 @@
ref="changeBaseInfo"
:disabled="disabled"
:currentNode="currentNode"
:projectType="formInline.projectType"
>
</job-end-base-info>
<!-- 申请类型为变更,项目类型为责任部门变更的业务基本信息部分组件 -->
@@ -132,6 +141,7 @@
v-else-if="formInline.applicationCategory === ApplicationCategory.CHANGE.value && formInline.projectType === ProjectType.RESPONSIBLE_DEPT_CHANGE.value"
ref="changeBaseInfo"
:disabled="disabled"
:projectType="formInline.projectType"
>
</duty-depart-change-base-info>
<!-- 申请类型为变更,项目类型为合并的业务基本信息部分组件 -->
@@ -139,6 +149,7 @@
v-else-if="formInline.applicationCategory === ApplicationCategory.CHANGE.value && formInline.projectType === ProjectType.MERGE.value"
ref="changeBaseInfo"
:disabled="disabled"
:projectType="formInline.projectType"
>
</merge-base-info>
@@ -238,7 +249,8 @@ import {
enterprisePlanApprovalReject,
enterprisePlanApprovalDetermine,
enterprisePlanApprovalSave,
enterprisePlanApproval
enterprisePlanApproval,
getProcessDataById
} from '@/api/workCenter'
import ApprovalBaseInfo from './modules/ApprovalBaseInfo'
import FinishTimeChangeBaseInfo from './modules/FinishTimeChangeBaseInfo'
@@ -263,7 +275,7 @@ const approvalPersonalInfo = [ // 人员信息的数据
canChoose: true,
chooseType: 'radio',
// todo: 还没有联络人管理模块,暂时用选用户
// chooseSource: 'contactManage',
chooseSource: 'contactManage',
fieldName: 'contactUser'
},
{
@@ -314,60 +326,65 @@ const changePersonalInfo = [
nodeRoleName: '部所联络人',
canChoose: true,
chooseType: 'radio',
chooseSource: 'contactManage'
// todo: 还没有联络人管理模块,暂时用选用户
chooseSource: 'contactManage',
fieldName: 'contactUser'
},
{
id: 3,
nodeName: '主起草人主管级领导审批',
nodeRoleName: '主起草人主管级领导',
canChoose: true,
chooseType: 'radio'
chooseType: 'radio',
fieldName: 'mainDraftUserLeader'
},
{
id: 4,
nodeName: '主起草人主管级上一级领导审批',
nodeRoleName: '主起草人主管级上一级领导',
canChoose: true,
chooseType: 'radio'
chooseType: 'radio',
fieldName: 'mainDraftUserLeaderLeader'
},
{
id: 5,
nodeName: '标准化审批',
nodeRoleName: '标准化',
canChoose: true,
chooseType: 'radio'
chooseType: 'radio',
fieldName: 'standardizationApprovalUser'
},
{
id: 6,
nodeName: '新起草部门主管级上一级领导下发',
nodeRoleName: '新起草部门主管级上一级领导',
canChoose: true,
canChoose: false,
chooseType: 'radio',
disabled: true
fieldName: 'newMainDraftUserLeaderLeader'
},
{
id: 7,
nodeName: '新起草部门主管级领导确认',
nodeRoleName: '新起草部门主管级领导',
canChoose: true,
canChoose: false,
chooseType: 'radio',
disabled: true
fieldName: 'newMainDraftUserLeader'
},
{
id: 8,
nodeName: '相关人员会签',
nodeRoleName: '相关人员',
canChoose: true,
canChoose: false,
chooseType: 'checkbox',
disabled: true
fieldName: 'relatedUser'
},
{
id: 9,
nodeName: '抄送主起草人',
nodeRoleName: '主起草人',
canChoose: true,
canChoose: false,
chooseType: 'checkbox',
disabled: true
fieldName: 'copyUser'
}
]
@@ -417,6 +434,10 @@ export default {
}
},
mounted () {
if (this.$route.query.processId) {
// 有流程id说明是从流程中心来的,需要初始化数据
this.getProcessData(this.$route.query.processId)
}
if (this.currentNode === 1) {
this.personnelInfoData = approvalPersonalInfo
} else {
@@ -424,7 +445,7 @@ export default {
return { ...item, canChoose: false }
})
}
// 如果是查看进入的,不可编辑
// 如果是查看进入的,不可编辑,不可操作
if (this.$route.query.onlyLook) {
this.onlyLook = this.$route.query.onlyLook
this.disabled = this.$route.query.onlyLook
@@ -514,6 +535,16 @@ export default {
}
},
methods: {
// 根据流程id获取数据
getProcessData (processId) {
getProcessDataById({ processInstanceId: processId }).then(res => {
if (res.success) {
console.log(res.result)
} else {
this.$message.warning(res.message)
}
})
},
// 头部tab改变
switchChange (value) {
this.switchValue = value
@@ -550,22 +581,70 @@ export default {
const flag = Object.values(param).some(v => !!v || v === 0)
if (!flag) {
// 提示至少填写一项
this.$message.error(this.$t('pleaseFillInAtLeastOneItem'))
this.$message.warning(this.$t('pleaseFillInAtLeastOneItem'))
return
}
arr.push(param)
} else if (this.formInline.projectType === ProjectType.COMPLETE_TIME_CHANGE.value) {
// 业务基本信息-变更-完成时间变更
const param = { ...processInfoForm, ...ruleForm, ...approvalInfoForm }
const flag = Object.values(param).some(v => !!v || v === 0)
if (!flag && this.$refs.changeBaseInfo.dataSource.length <= 0) {
// 提示至少填写一项
this.$message.warning(this.$t('pleaseFillInAtLeastOneItem'))
return
}
arr = this.$refs.changeBaseInfo.dataSource.map(item => { return { ...item, ...param } })
} else if (this.formInline.projectType === ProjectType.WORK_TERMINATE.value) {
// 业务基本信息-变更-工作终止
const param = { ...processInfoForm, ...ruleForm, ...approvalInfoForm }
const flag = Object.values(param).some(v => !!v || v === 0)
if (!flag && this.$refs.changeBaseInfo.dataSource.length <= 0) {
// 提示至少填写一项
this.$message.warning(this.$t('pleaseFillInAtLeastOneItem'))
return
}
arr = this.$refs.changeBaseInfo.dataSource.map(item => { return { ...item, ...param } })
} else if (this.formInline.projectType === ProjectType.RESPONSIBLE_DEPT_CHANGE.value) {
// 业务基本信息-变更-责任部门变更
let dutyDepartChangeForm = {}
if (this.$refs.changeBaseInfo) {
dutyDepartChangeForm = this.$refs.changeBaseInfo.formInline
}
const param = { ...processInfoForm, ...ruleForm, ...dutyDepartChangeForm, ...approvalInfoForm }
const flag = Object.values(param).some(v => !!v || v === 0)
if (!flag) {
// 提示至少填写一项
this.$message.warning(this.$t('pleaseFillInAtLeastOneItem'))
return
}
arr.push(param)
} else if (this.formInline.projectType === ProjectType.MERGE.value) {
// 业务基本信息-变更-合并
let mergeForm = {}
if (this.$refs.changeBaseInfo) {
mergeForm = this.$refs.changeBaseInfo.formInline
}
const param = { ...processInfoForm, ...ruleForm, ...mergeForm, ...approvalInfoForm }
const flag = Object.values(param).some(v => !!v || v === 0)
if (!flag) {
// 提示至少填写一项
this.$message.warning(this.$t('pleaseFillInAtLeastOneItem'))
return
}
arr.push(param)
} else {
// 还没有选择申请类型和项目类别,需要外层信息至少填了一项
const param = { ...processInfoForm, ...ruleForm, ...approvalBaseInfo, ...approvalInfoForm }
const flag = Object.values(param).some(v => !!v || v === 0)
if (!flag) {
// 提示至少填写一项
this.$message.warning(this.$t('pleaseFillInAtLeastOneItem'))
return
}
}
// 是节点一的保存,保存到草稿
if (this.currentNode === 1) {
console.log(arr)
enterprisePlanApprovalSave(arr).then(res => {
if (res.success) {
this.$message.success(res.message)
@@ -581,7 +660,8 @@ export default {
this.processInfoForm.validateFields((err, values) => {
this.$refs.ruleForm.validate(valid => {
this.approvalInfoForm.validateFields((approvalErr, approvalValues) => {
let arr = []
let arr = [] // 需要传给后端的数据
let haveErr = false // 是否有错误,有错,则不能提交,false没有错
// 立项和变更的数据不一样,分开判断
if (this.formInline.applicationCategory === ApplicationCategory.INITIATION.value) {
// 是立项
@@ -600,28 +680,87 @@ export default {
// 企标体系处理成逗号分隔
param.enStandardSystem = param.enStandardSystem.map(item => item.value).join(',')
arr.push(param)
} else {
haveErr = true
}
})
} else if (this.formInline.projectType === ProjectType.COMPLETE_TIME_CHANGE.value ||
this.formInline.projectType === ProjectType.WORK_TERMINATE.value) {
// 是变更-完成时间 或者 变更-工作终止变更
if (valid && !err && !approvalErr && this.$refs.changeBaseInfo && this.$refs.changeBaseInfo.dataSource.length >= 0) {
if (valid && !err && !approvalErr && this.$refs.changeBaseInfo && this.$refs.changeBaseInfo.dataSource.length > 0) {
this.loading = true
const param = { ...values, ...this.formInline, ...approvalValues }
// 人员信息的数据, 处理成对象
const personnelInfo = this.$refs.personnelInfo.stepsData
const personnelObj = {}
for (const item of personnelInfo) {
if (item.fieldName) {
personnelObj[item.fieldName] = item.user
}
}
const param = { ...values, ...this.formInline, ...approvalValues, ...personnelObj }
arr = this.$refs.changeBaseInfo.dataSource.map(item => { return { ...item, ...param } })
} else {
this.$message.warning(this.$t('addAtLeastOneRowOfData'))
return
haveErr = true
if (this.$refs.changeBaseInfo.dataSource.length <= 0) {
this.$message.warning(this.$t('addAtLeastOneRowOfData'))
}
}
} else {
// 校验特定节点需要填写人的必填
this.userForm.validateFields((userErr, userValues) => {
if (valid && !err && !approvalErr && !userErr) {
} else if (this.formInline.projectType === ProjectType.RESPONSIBLE_DEPT_CHANGE.value) {
// 是变更-责任部门变更
this.$refs.changeBaseInfo.$refs.ruleForm.validate(changeBaseValid => {
if (valid && changeBaseValid && !err && !approvalErr) {
this.loading = true
const param = this.$refs.changeBaseInfo.dataSource
console.log(param)
// 人员信息的数据, 处理成对象
const personnelInfo = this.$refs.personnelInfo.stepsData
const personnelObj = {}
for (const item of personnelInfo) {
if (item.fieldName) {
personnelObj[item.fieldName] = item.user
}
}
const param = Object.assign({}, values, this.formInline, approvalValues, this.$refs.changeBaseInfo.formInline, personnelObj)
arr.push(param)
} else {
haveErr = true
}
})
} else if (this.formInline.projectType === ProjectType.MERGE.value) {
// 是变更-合并
this.$refs.changeBaseInfo.$refs.ruleForm.validate(changeBaseValid => {
if (valid && changeBaseValid && !err && !approvalErr) {
const changeBaseInfo = this.$refs.changeBaseInfo.formInline
if (changeBaseInfo.projectTypeOne !== changeBaseInfo.projectTypeTwo) {
// 合并时候的两个计划需要限定修订+修订,或者制定+制定
this.$message.warning(this.$t('workCenter.enterpriseInitChangePlan.pleaseSelectTwoSameProjectTypePlan'))
return
}
this.loading = true
// 人员信息的数据, 处理成对象
const personnelInfo = this.$refs.personnelInfo.stepsData
const personnelObj = {}
for (const item of personnelInfo) {
if (item.fieldName) {
personnelObj[item.fieldName] = item.user
}
}
const param = Object.assign({}, values, this.formInline, approvalValues, this.$refs.changeBaseInfo.formInline, personnelObj)
arr.push(param)
} else {
haveErr = true
}
})
} else {
// 校验特定节点需要填写人的必填
// this.userForm.validateFields((userErr, userValues) => {
// if (valid && !err && !approvalErr && !userErr) {
// this.loading = true
// const param = this.$refs.changeBaseInfo.dataSource
// console.log(param)
// }
// })
}
if (haveErr) {
return
}
enterprisePlanApproval(arr).then(res => {
if (res.success) {
@@ -626,14 +626,9 @@ export default {
default: false
}
},
// computed: {
// yearNumberDefaultValue () {
// return new Date().getFullYear() + ''
// }
// },
watch: {
projectType () {
console.log('projectType改变了————————————————————————---')
this.$refs.ruleForm.resetFields()
this.formInline.decadeCode = new Date().getFullYear() + ''
},
// 企业标准代号
@@ -874,9 +869,12 @@ export default {
}
})
} else {
const standardNo = this.formInline.originEnStandardNo.split('-')[0] + '-' + this.formInline.decadeCode
this.$set(this.formInline, 'newEnStandardNo', standardNo)
this.$forceUpdate()
// 是修订,通过选中的企标编号和年代号拼接新企标编号
if (this.formInline.originEnStandardNo && this.formInline.decadeCode) {
const standardNo = this.formInline.originEnStandardNo.split('-')[0] + '-' + this.formInline.decadeCode
this.$set(this.formInline, 'newEnStandardNo', standardNo)
this.$forceUpdate()
}
}
},
// 获取零部件名称下拉框数据
@@ -11,12 +11,13 @@
{{ $t('workCenter.enterpriseInitChangePlan.enterpriseStandardNum') }}
</span>
</div>
<a-form-model-item class="item-model" prop="enterpriseStandardPlanId">
<a-form-model-item class="item-model" prop="espId">
<enterprise-plan-selection type="radio"
:placeholder="$t('pleaseSelect')+$t('workCenter.enterpriseInitChangePlan.enterpriseStandardNum')"
v-model="formInline.enterpriseStandardPlanId"
:standard-number="formInline.standardNo"
v-model="formInline.espId"
:standard-number="formInline.originEnStandardNo"
@standardNumberChange="standardNumberChange"
:searchParam="{ projectType: projectType }"
@listChange="listChange"/>
</a-form-model-item>
</div>
@@ -28,10 +29,10 @@
{{ $t('workCenter.enterpriseInitChangePlan.enterpriseStandardName') }}
</span>
</div>
<a-form-model-item class="item-model" prop="standardName">
<a-form-model-item class="item-model" prop="originEnStandardName">
<a-input class="box-input"
disabled
v-model="formInline.standardName"
v-model="formInline.originEnStandardName"
:maxLength="50"
:placeholder="$t('pleaseEnter')+$t('workCenter.enterpriseInitChangePlan.enterpriseStandardName')" />
</a-form-model-item>
@@ -39,31 +40,29 @@
<!-- 原主起草人 -->
<div class="box-title-text form-flex-item">
<div class="title-text">
<span class="required">*</span>
<span class="title-text-text" :title="$t('workCenter.enterpriseInitChangePlan.originPrincipalDrafter')">
{{ $t('workCenter.enterpriseInitChangePlan.originPrincipalDrafter') }}
</span>
</div>
<a-form-model-item class="item-model" prop="principalDrafter">
<a-form-model-item class="item-model" prop="mainDraftingUser">
<user-selection :placeholder="$t('pleaseSelect')+$t('workCenter.enterpriseInitChangePlan.originPrincipalDrafter')"
v-model="formInline.principalDrafter"
v-model="formInline.mainDraftingUser"
disabled
filedName="originPrincipalDrafter"
filedName="mainDraftingUser"
@nameChange="userSelectNameChange"
:nameStr="formInline.originPrincipalDrafter_dictText"
:nameStr="formInline.mainDraftingUser_dictText"
type="radio" />
</a-form-model-item>
</div>
<!-- 原主起草单位 -->
<div class="box-title-text form-flex-item">
<div class="title-text">
<span class="required">*</span>
<span class="title-text-text" :title="$t('workCenter.enterpriseInitChangePlan.originMainDraftUnit')">
{{ $t('workCenter.enterpriseInitChangePlan.originMainDraftUnit') }}
</span>
</div>
<a-form-model-item class="item-model" prop="originMainDraftUnit">
<j-select-depart v-model="formInline.originMainDraftUnit"
<a-form-model-item class="item-model" prop="mainDraftingUnit">
<j-select-depart v-model="formInline.mainDraftingUnit"
disabled
:backDepart="true" />
</a-form-model-item>
@@ -71,49 +70,46 @@
<!-- 原起草单位负责人 -->
<div class="box-title-text form-flex-item">
<div class="title-text">
<span class="required">*</span>
<span class="title-text-text" :title="$t('workCenter.enterpriseInitChangePlan.originHeadOfMainDraftingUnit')">
{{ $t('workCenter.enterpriseInitChangePlan.originHeadOfMainDraftingUnit') }}
</span>
</div>
<a-form-model-item class="item-model" prop="originHeadOfMainDraftingUnit">
<a-form-model-item class="item-model" prop="mainDraftingUnitResponsiblePerson">
<user-selection :placeholder="$t('pleaseSelect')+$t('workCenter.enterpriseInitChangePlan.originHeadOfMainDraftingUnit')"
v-model="formInline.originHeadOfMainDraftingUnit"
v-model="formInline.mainDraftingUnitResponsiblePerson"
disabled
filedName="originHeadOfMainDraftingUnit"
filedName="mainDraftingUnitResponsiblePerson"
@nameChange="userSelectNameChange"
:nameStr="formInline.originHeadOfMainDraftingUnit_dictText"
:nameStr="formInline.mainDraftingUnitResponsiblePerson_dictText"
type="radio" />
</a-form-model-item>
</div>
<!-- 主起草人 -->
<div class="box-title-text form-flex-item">
<div class="title-text">
<span class="required">*</span>
<span class="title-text-text" :title="$t('workCenter.enterpriseInitChangePlan.principalDrafter')">
{{ $t('workCenter.enterpriseInitChangePlan.principalDrafter') }}
</span>
</div>
<a-form-model-item class="item-model" prop="principalDrafter">
<a-form-model-item class="item-model" prop="newMainDraftingUser">
<user-selection :placeholder="$t('pleaseSelect')+$t('workCenter.enterpriseInitChangePlan.principalDrafter')"
v-model="formInline.principalDrafter"
v-model="formInline.newMainDraftingUser"
:disabled="disabled"
filedName="principalDrafter"
filedName="newMainDraftingUser"
@nameChange="userSelectNameChange"
:nameStr="formInline.principalDrafter_dictText"
:nameStr="formInline.newMainDraftingUser_dictText"
type="radio" />
</a-form-model-item>
</div>
<!-- 主起草单位 -->
<div class="box-title-text form-flex-item">
<div class="title-text">
<span class="required">*</span>
<span class="title-text-text" :title="$t('workCenter.enterpriseInitChangePlan.mainDraftUnit')">
{{ $t('workCenter.enterpriseInitChangePlan.mainDraftUnit') }}
</span>
</div>
<a-form-model-item class="item-model" prop="mainDraftUnit">
<j-select-depart v-model="formInline.mainDraftUnit"
<a-form-model-item class="item-model" prop="newMainDraftingUnit">
<j-select-depart v-model="formInline.newMainDraftingUnit"
:disabled="disabled"
:backDepart="true" />
</a-form-model-item>
@@ -121,18 +117,17 @@
<!-- 起草单位负责人 -->
<div class="box-title-text form-flex-item">
<div class="title-text">
<span class="required">*</span>
<span class="title-text-text" :title="$t('workCenter.enterpriseInitChangePlan.headOfMainDraftingUnit')">
{{ $t('workCenter.enterpriseInitChangePlan.headOfMainDraftingUnit') }}
</span>
</div>
<a-form-model-item class="item-model" prop="headOfMainDraftingUnit">
<a-form-model-item class="item-model" prop="newMainDraftingUnitResponsiblePerson">
<user-selection :placeholder="$t('pleaseSelect')+$t('workCenter.enterpriseInitChangePlan.headOfMainDraftingUnit')"
v-model="formInline.headOfMainDraftingUnit"
v-model="formInline.newMainDraftingUnitResponsiblePerson"
:disabled="disabled"
filedName="headOfMainDraftingUnit"
filedName="newMainDraftingUnitResponsiblePerson"
@nameChange="userSelectNameChange"
:nameStr="formInline.headOfMainDraftingUnit_dictText"
:nameStr="formInline.newMainDraftingUnitResponsiblePerson_dictText"
type="radio" />
</a-form-model-item>
</div>
@@ -167,44 +162,25 @@ export default {
type: Boolean,
required: false,
default: false
},
projectType: {
type: [Number, String],
required: false,
default: 1
}
},
data () {
return {
formInline: {},
rules: {
// 企标编号
enterpriseStandardPlanId: [
// 企标计划id
espId: [
{
required: true,
message: this.$t('workCenter.enterpriseInitChangePlan.enterpriseStandardNum') + this.$t('cannotEmpty'),
trigger: 'change'
}
],
// 草稿计划完成日期
draftPlanFinishDate: [
{
required: true,
message: this.$t('workCenter.enterpriseInitChangePlan.draftPlanFinishDate') + this.$t('cannotEmpty'),
trigger: ['change', 'blur']
}
],
// 征求意见稿计划完成日期
exposureDraftPlanFinishDate: [
{
required: true,
message: this.$t('workCenter.enterpriseInitChangePlan.exposureDraftPlanFinishDate') + this.$t('cannotEmpty'),
trigger: ['change', 'blur']
}
],
// 计划报批日期
planSubmissionDate: [
{
required: true,
message: this.$t('workCenter.enterpriseInitChangePlan.planSubmissionDate') + this.$t('cannotEmpty'),
trigger: ['change', 'blur']
}
],
// 变更原因
changeReason: [
{
@@ -219,17 +195,17 @@ export default {
methods: {
// 企标计划选择完成的企标编号回调
standardNumberChange (value) {
this.formInline.standardNo = value
this.formInline.originEnStandardNo = value
},
// 企标选编号选择完成的回调
listChange (value) {
console.log(value)
if (value && value.length > 0) {
this.formInline.standardName = value[0].originEnStandardName
this.formInline.principalDrafter_dictText = value[0].mainDraftingUser
this.formInline.mainDraftUnit = value[0].mainDraftingUnit
this.formInline.originPrincipalDrafter_dictText = value[0].mainDraftingUser
this.formInline.originMainDraftUnit = value[0].mainDraftingUnit
this.formInline.originEnStandardName = value[0].originEnStandardName
this.formInline.mainDraftingUser_dictText = value[0].mainDraftingUser
this.formInline.mainDraftingUnit = value[0].mainDraftingUnit
this.formInline.newMainDraftingUser_dictText = value[0].mainDraftingUser
this.formInline.newMainDraftingUnit = value[0].mainDraftingUnit
}
},
// 选择用户得到用户名
@@ -42,7 +42,7 @@
</j-table>
</div>
<finish-time-change-base-info-drawer ref="changeBaseInfoDrawer" @ok="changeBaseInfoDrawerOk"></finish-time-change-base-info-drawer>
<finish-time-change-base-info-drawer v-bind="$attrs" ref="changeBaseInfoDrawer" @ok="changeBaseInfoDrawerOk"></finish-time-change-base-info-drawer>
</div>
</template>
@@ -23,11 +23,11 @@
</div>
<a-form-model-item class="item-model" prop="espId">
<!-- 搜索项目状态为未开始和进行中的数据 -->
<!-- todo 暂时先注掉查询条件不然没数据 :searchParam="{projectStatus: '1,2'}"-->
<enterprise-plan-selection type="radio"
:placeholder="$t('pleaseSelect')+$t('workCenter.enterpriseInitChangePlan.enterpriseStandardNum')"
v-model="formInline.espId"
:standard-number="formInline.originEnStandardNo"
:searchParam="{ projectType: projectType }"
@standardNumberChange="standardNumberChange"
@listChange="listChange"/>
</a-form-model-item>
@@ -204,6 +204,13 @@ import EnterprisePlanSelection from '@/components/selection/EnterprisePlanSelect
export default {
name: 'FinishTimeChangeBaseInfoDrawer',
components: { EnterprisePlanSelection, UserSelection },
props: {
projectType: {
type: [Number, String],
required: false,
default: 1
}
},
data () {
return {
visible: false,
@@ -42,7 +42,7 @@
</j-table>
</div>
<job-end-base-info-drawer ref="jobEndBaseInfoDrawer" @ok="jobEndBaseInfoDrawerOk"></job-end-base-info-drawer>
<job-end-base-info-drawer v-bind="$attrs" ref="jobEndBaseInfoDrawer" @ok="jobEndBaseInfoDrawerOk"></job-end-base-info-drawer>
</div>
</template>
@@ -27,6 +27,7 @@
v-model="formInline.espId"
:standard-number="formInline.originEnStandardNo"
@standardNumberChange="standardNumberChange"
:searchParam="{ projectType: projectType }"
@listChange="listChange"/>
</a-form-model-item>
</div>
@@ -108,6 +109,13 @@ import EnterprisePlanSelection from '@/components/selection/EnterprisePlanSelect
export default {
name: 'JobEndBaseInfoDrawer',
components: { EnterprisePlanSelection, UserSelection },
props: {
projectType: {
type: [Number, String],
required: false,
default: 1
}
},
data () {
return {
visible: false,
File diff suppressed because it is too large Load Diff
@@ -7,22 +7,22 @@
<!-- 流程名称 -->
<a-col :span="6">
<a-form-item :label="$t('processName')" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input :placeholder="$t('pleaseEnter')+$t('processName')" v-model="queryParam.processName"></a-input>
<a-input :placeholder="$t('pleaseEnter')+$t('processName')" v-model="queryParam.prcName"></a-input>
</a-form-item>
</a-col>
<!-- 流程编号 -->
<a-col :span="6">
<a-form-item :label="$t('workCenter.processCenter.processNumber')" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input :placeholder="$t('pleaseEnter')+$t('workCenter.processCenter.processNumber')" v-model="queryParam.processNumber"></a-input>
<a-input :placeholder="$t('pleaseEnter')+$t('workCenter.processCenter.processNumber')" v-model="queryParam.prcNum"></a-input>
</a-form-item>
</a-col>
<!-- 流程类型 -->
<!-- 流程类型 todo流程类型是字典还是什么后端还没确定 -->
<a-col :span="6">
<a-form-item :label="$t('workCenter.processCenter.processType')" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-dict-select-tag
:placeholder="$t('pleaseSelect')+$t('workCenter.processCenter.processType')"
dict-code="esp_project_status"
v-model="queryParam.projectStatus">
v-model="queryParam.prcType">
</j-dict-select-tag>
</a-form-item>
</a-col>
@@ -142,7 +142,7 @@ export default {
}
],
url: {
list: ''
list: '/process/center/doneTaskList'
}
}
},
@@ -4,13 +4,13 @@
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
<!-- 流程类型 -->
<!-- 流程类型 todo流程类型是字典还是什么后端还没确定 -->
<a-col :span="6">
<a-form-item :label="$t('workCenter.processCenter.processType')" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-dict-select-tag
:placeholder="$t('pleaseSelect')+$t('workCenter.processCenter.processType')"
dict-code="esp_project_status"
v-model="queryParam.projectStatus">
v-model="queryParam.prcType">
</j-dict-select-tag>
</a-form-item>
</a-col>
@@ -103,7 +103,7 @@ export default {
}
],
url: {
list: ''
list: '/process/center/draftList'
}
}
},
@@ -7,22 +7,22 @@
<!-- 流程名称 -->
<a-col :span="6">
<a-form-item :label="$t('processName')" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input :placeholder="$t('pleaseEnter')+$t('processName')" v-model="queryParam.processName"></a-input>
<a-input :placeholder="$t('pleaseEnter')+$t('processName')" v-model="queryParam.prcName"></a-input>
</a-form-item>
</a-col>
<!-- 流程编号 -->
<a-col :span="6">
<a-form-item :label="$t('workCenter.processCenter.processNumber')" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input :placeholder="$t('pleaseEnter')+$t('workCenter.processCenter.processNumber')" v-model="queryParam.processNumber"></a-input>
<a-input :placeholder="$t('pleaseEnter')+$t('workCenter.processCenter.processNumber')" v-model="queryParam.prcNum"></a-input>
</a-form-item>
</a-col>
<!-- 流程类型 -->
<!-- 流程类型 todo流程类型是字典还是什么后端还没确定 -->
<a-col :span="6">
<a-form-item :label="$t('workCenter.processCenter.processType')" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-dict-select-tag
:placeholder="$t('pleaseSelect')+$t('workCenter.processCenter.processType')"
dict-code="esp_project_status"
v-model="queryParam.processType">
v-model="queryParam.prcType">
</j-dict-select-tag>
</a-form-item>
</a-col>
@@ -153,7 +153,7 @@ export default {
}
],
url: {
list: ''
list: '/process/center/monitorTaskList'
}
}
},
@@ -7,33 +7,33 @@
<!-- 流程名称 -->
<a-col :span="6">
<a-form-item :label="$t('processName')" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input :placeholder="$t('pleaseEnter')+$t('processName')" v-model="queryParam.processName"></a-input>
<a-input :placeholder="$t('pleaseEnter')+$t('processName')" v-model="queryParam.prcName"></a-input>
</a-form-item>
</a-col>
<!-- 流程编号 -->
<a-col :span="6">
<a-form-item :label="$t('workCenter.processCenter.processNumber')" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input :placeholder="$t('pleaseEnter')+$t('workCenter.processCenter.processNumber')" v-model="queryParam.processNumber"></a-input>
<a-input :placeholder="$t('pleaseEnter')+$t('workCenter.processCenter.processNumber')" v-model="queryParam.prcNum"></a-input>
</a-form-item>
</a-col>
<!-- 流程类型 -->
<!-- 流程类型 todo流程类型是字典还是什么后端还没确定 -->
<a-col :span="6">
<a-form-item :label="$t('workCenter.processCenter.processType')" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-dict-select-tag
:placeholder="$t('pleaseSelect')+$t('workCenter.processCenter.processType')"
dict-code="esp_project_status"
v-model="queryParam.processType">
v-model="queryParam.prcType">
</j-dict-select-tag>
</a-form-item>
</a-col>
<template v-if="toggleSearchStatus">
<!-- 流程状态 -->
<!-- 流程状态 todo流程状态是字典还是什么后端还没确定 -->
<a-col :span="6">
<a-form-item :label="$t('workCenter.processCenter.processState')" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-dict-select-tag
:placeholder="$t('pleaseSelect')+$t('workCenter.processCenter.processState')"
dict-code="esp_project_status"
v-model="queryParam.processState">
v-model="queryParam.prcState">
</j-dict-select-tag>
</a-form-item>
</a-col>
@@ -162,7 +162,7 @@ export default {
}
],
url: {
list: ''
list: '/process/center/sendTaskList'
}
}
},
@@ -7,22 +7,22 @@
<!-- 流程名称 -->
<a-col :span="6">
<a-form-item :label="$t('processName')" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input :placeholder="$t('pleaseEnter')+$t('processName')" v-model="queryParam.processName"></a-input>
<a-input :placeholder="$t('pleaseEnter')+$t('processName')" v-model="queryParam.prcName"></a-input>
</a-form-item>
</a-col>
<!-- 流程编号 -->
<a-col :span="6">
<a-form-item :label="$t('workCenter.processCenter.processNumber')" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input :placeholder="$t('pleaseEnter')+$t('workCenter.processCenter.processNumber')" v-model="queryParam.processNumber"></a-input>
<a-input :placeholder="$t('pleaseEnter')+$t('workCenter.processCenter.processNumber')" v-model="queryParam.prcNum"></a-input>
</a-form-item>
</a-col>
<!-- 流程类型 -->
<!-- 流程类型 todo流程类型是字典还是什么后端还没确定 -->
<a-col :span="6">
<a-form-item :label="$t('workCenter.processCenter.processType')" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-dict-select-tag
:placeholder="$t('pleaseSelect')+$t('workCenter.processCenter.processType')"
dict-code="esp_project_status"
v-model="queryParam.projectStatus">
v-model="queryParam.prcType">
</j-dict-select-tag>
</a-form-item>
</a-col>
@@ -138,15 +138,17 @@ export default {
// 办理
handleTransact (record) {
// 跳转到对应流程页面
let path = ''
switch (record.processType) {
case '':
path = ''
}
// todo 暂时没有流程类型字段
let path = '/workCenter/enterpriseStandardInitChange/planApprovalChangeFlow'
// switch (record.processType) {
// case '':
// path = ''
// }
this.$router.push({
path: path,
query: {
currentNode: record.currentNode
currentNode: record.currentNode,
processId: record.prcId // 流程id
}
})
},