[update] 联调企标计划立项/变更流程

This commit is contained in:
lideqin
2023-10-12 18:54:39 +08:00
parent 999ca5f719
commit 64bf3e05da
13 changed files with 483 additions and 512 deletions
@@ -12,7 +12,7 @@
</div>
</template>
<!-- 基础信息 -->
<div v-if="switchValue === 'base'" class="scroll-content">
<div v-show="switchValue === 'base'" class="scroll-content">
<!-- 流程信息 -->
<div class="process-part-title">{{ $t('processInformation') }}</div>
<a-form :form="processInfoForm">
@@ -34,7 +34,7 @@
style="width: 100%"
:disabled="disabled"
value-format="YYYY-MM-DD"
v-decorator="['expirationDate']" />
v-decorator="['deadlineDate']" />
</a-form-item>
</a-col>
<a-col :span="24">
@@ -44,7 +44,7 @@
:maxLength="500"
:rows="4"
:disabled="disabled"
v-decorator="['processExplain']" />
v-decorator="['processDescription']" />
</a-form-item>
</a-col>
</a-row>
@@ -64,12 +64,12 @@
{{ $t('workCenter.enterpriseInitChangePlan.applicationType') }}
</span>
</div>
<a-form-model-item class="item-model" prop="applicationType">
<a-select v-model="formInline.applicationType"
<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="1">{{ $t('workCenter.enterpriseInitChangePlan.standardProjectEstablishment') }}</a-select-option>
<a-select-option :value="2">{{ $t('workCenter.enterpriseInitChangePlan.change') }}</a-select-option>
<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>
@@ -81,23 +81,22 @@
{{ $t('workCenter.enterpriseInitChangePlan.itemCategory') }}
</span>
</div>
<a-form-model-item class="item-model" prop="itemCategory">
<a-select v-if="formInline.applicationType === 1"
v-model="formInline.itemCategory"
<a-form-model-item class="item-model" prop="projectType">
<a-select v-if="formInline.applicationCategory === ApplicationCategory.INITIATION.value"
v-model="formInline.projectType"
:disabled="disabled"
@change="itemCategoryChange"
:placeholder="$t('pleaseSelect')+$t('workCenter.enterpriseInitChangePlan.itemCategory')">
<a-select-option :value="1">{{ $t('workCenter.enterpriseInitChangePlan.formulate') }}</a-select-option>
<a-select-option :value="2">{{ $t('workCenter.enterpriseInitChangePlan.revise') }}</a-select-option>
<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>
</a-select>
<a-select v-else
v-model="formInline.itemCategory"
v-model="formInline.projectType"
:disabled="disabled"
:placeholder="$t('pleaseSelect')+$t('workCenter.enterpriseInitChangePlan.itemCategory')">
<a-select-option :value="1">{{ $t('workCenter.enterpriseInitChangePlan.completionTimeChange') }}</a-select-option>
<a-select-option :value="2">{{ $t('workCenter.enterpriseInitChangePlan.terminationOfWork') }}</a-select-option>
<a-select-option :value="3">{{ $t('workCenter.enterpriseInitChangePlan.dutyDepartChange') }}</a-select-option>
<a-select-option :value="4">{{ $t('workCenter.enterpriseInitChangePlan.merge') }}</a-select-option>
<a-select-option :value="ProjectType.COMPLETE_TIME_CHANGE.value">{{ $t('workCenter.enterpriseInitChangePlan.completionTimeChange') }}</a-select-option>
<a-select-option :value="ProjectType.WORK_TERMINATE.value">{{ $t('workCenter.enterpriseInitChangePlan.terminationOfWork') }}</a-select-option>
<a-select-option :value="ProjectType.RESPONSIBLE_DEPT_CHANGE.value">{{ $t('workCenter.enterpriseInitChangePlan.dutyDepartChange') }}</a-select-option>
<a-select-option :value="ProjectType.MERGE.value">{{ $t('workCenter.enterpriseInitChangePlan.merge') }}</a-select-option>
</a-select>
</a-form-model-item>
</div>
@@ -106,15 +105,15 @@
</a-form-model>
<!-- 申请类型为立项时的业务基本信息部分组件 -->
<approval-base-info
v-if="formInline.applicationType === 1"
v-show="formInline.applicationCategory === ApplicationCategory.INITIATION.value"
ref="approvalBaseInfo"
:disabled="disabled"
:currentNode="currentNode"
:itemCategory="formInline.itemCategory">
:projectType="formInline.projectType">
</approval-base-info>
<!-- 申请类型为变更,项目类型为完成时间变更时的业务基本信息部分组件 -->
<finish-time-change-base-info
v-else-if="formInline.applicationType === 2 && formInline.itemCategory === 1"
v-if="formInline.applicationCategory === ApplicationCategory.CHANGE.value && formInline.projectType === ProjectType.COMPLETE_TIME_CHANGE.value"
ref="changeBaseInfo"
:disabled="disabled"
:currentNode="currentNode"
@@ -122,7 +121,7 @@
</finish-time-change-base-info>
<!-- 申请类型为变更项目类型为工作终止时的业务基本信息部分组件 -->
<job-end-base-info
v-else-if="formInline.applicationType === 2 && formInline.itemCategory === 2"
v-else-if="formInline.applicationCategory === ApplicationCategory.CHANGE.value && formInline.projectType === ProjectType.WORK_TERMINATE.value"
ref="changeBaseInfo"
:disabled="disabled"
:currentNode="currentNode"
@@ -130,21 +129,21 @@
</job-end-base-info>
<!-- 申请类型为变更项目类型为责任部门变更的业务基本信息部分组件 -->
<duty-depart-change-base-info
v-else-if="formInline.applicationType === 2 && formInline.itemCategory === 3"
v-else-if="formInline.applicationCategory === ApplicationCategory.CHANGE.value && formInline.projectType === ProjectType.RESPONSIBLE_DEPT_CHANGE.value"
ref="changeBaseInfo"
:disabled="disabled"
>
</duty-depart-change-base-info>
<!-- 申请类型为变更项目类型为合并的业务基本信息部分组件 -->
<merge-base-info
v-else-if="formInline.applicationType === 2 && formInline.itemCategory === 4"
v-else-if="formInline.applicationCategory === ApplicationCategory.CHANGE.value && formInline.projectType === ProjectType.MERGE.value"
ref="changeBaseInfo"
:disabled="disabled"
>
</merge-base-info>
<!-- 部分节点需要选人 -->
<a-form v-if="formInline.applicationType === 2 && [6, 7].includes(currentNode)" class="user-form" :form="userForm">
<a-form v-if="formInline.applicationCategory === ApplicationCategory.CHANGE.value && [6, 7].includes(currentNode)" class="user-form" :form="userForm">
<a-row :gutter="24">
<a-col :span="12">
<!-- 所长节点6需要选所长 -->
@@ -179,14 +178,14 @@
</a-form-item>
<!--附件-->
<a-form-item :labelCol="longLabelCol" :wrapperCol="longWrapperCol" :label="$t('businessSupport.questionAnswer.attach')">
<j-upload v-decorator="['file']" return-id />
<j-upload v-decorator="['attachment']" return-id />
</a-form-item>
</a-form>
</div>
<!-- 人员信息 -->
<div v-if="switchValue === 'user'" class="scroll-content">
<div v-show="switchValue === 'user'" class="scroll-content">
<process-detail-list :url="url">
<personnel-info slot="personnelInfo" :data="personnelInfoData" :currentNode="currentNode"></personnel-info>
<personnel-info slot="personnelInfo" ref="personnelInfo" :data="personnelInfoData" :currentNode="currentNode + ''"></personnel-info>
</process-detail-list>
</div>
<!-- 操作按钮 -->
@@ -196,18 +195,18 @@
<!-- 保存 -->
<a-button type="primary" ghost :loading="loading" @click="handleSave"><i class="iconfont icon-save"></i> {{ $t('preservation') }}</a-button>
<!-- 提交 -->
<a-button type="primary" :loading="loading" @click="handleSubmit" icon="upload">{{ $t('agree') }}</a-button>
<a-button type="primary" :loading="loading" @click="handleStart" icon="upload">{{ $t('submit') }}</a-button>
</template>
<!-- 变更的新起草部门主管级上一级领导下发节点 -->
<template v-else-if="formInline.applicationType === 2 && [6, 7].includes(currentNode)">
<template v-else-if="formInline.applicationCategory === ApplicationCategory.CHANGE.value && [6, 7].includes(currentNode)">
<!-- 转办 -->
<a-button type="primary" ghost :loading="loading" @click="handleTurnTo" icon="arrow-up">{{ $t('turnTo') }}</a-button>
<!-- 保存 -->
<a-button type="primary" ghost :loading="loading" @click="handleSave"><i class="iconfont icon-save"></i> {{ $t('preservation') }}</a-button>
<a-button type="primary" ghost :loading="loading" @click="handleSave"><i class="iconfont icon-save"></i> {{ $t('save') }}</a-button>
<!-- 提交 -->
<a-button type="primary" :loading="loading" @click="handleSubmit" icon="upload">{{ $t('agree') }}</a-button>
<a-button type="primary" :loading="loading" @click="handleSubmit" icon="upload">{{ $t('submit') }}</a-button>
</template>
<template v-else-if="formInline.applicationType === 2 && currentNode === 9">
<template v-else-if="formInline.applicationCategory === ApplicationCategory.CHANGE.value && currentNode === 9">
<!-- 确定, 谁发起的谁点确定抄送消息 -->
<a-button type="primary" :loading="loading" @click="handleDetermine" icon="upload">{{ $t('determine') }}</a-button>
</template>
@@ -215,7 +214,7 @@
<!-- 转办 -->
<a-button type="primary" ghost :loading="loading" @click="handleTurnTo" icon="arrow-up">{{ $t('turnTo') }}</a-button>
<!-- 保存 -->
<a-button type="primary" ghost :loading="loading" @click="handleSave"><i class="iconfont icon-save"></i> {{ $t('preservation') }}</a-button>
<a-button type="primary" ghost :loading="loading" @click="handleSave"><i class="iconfont icon-save"></i> {{ $t('save') }}</a-button>
<!-- 同意 -->
<a-button type="primary" :loading="loading" @click="handleAgree" icon="check-circle">{{ $t('agree') }}</a-button>
<!-- 驳回 -->
@@ -237,14 +236,17 @@ import {
enterprisePlanApprovalTurnTo,
enterprisePlanApprovalAgree,
enterprisePlanApprovalReject,
enterprisePlanApprovalDetermine
enterprisePlanApprovalDetermine,
enterprisePlanApprovalSave,
enterprisePlanApproval
} from '@/api/workCenter'
import ApprovalBaseInfo from './modules/ApprovalBaseInfo'
import FinishTimeChangeBaseInfo from './modules/FinishTimeChangeBaseInfo'
import ProcessDetailList from '../../../components/ProcessDetailList'
import ProcessDetailList from '@/components/ProcessDetailList'
import JobEndBaseInfo from './modules/JobEndBaseInfo'
import DutyDepartChangeBaseInfo from './modules/DutyDepartChangeBaseInfo'
import MergeBaseInfo from './modules/MergeBaseInfo'
import { ProjectType, ApplicationCategory } from '@/enums/commonEnums'
// 标准立项的人员信息
const approvalPersonalInfo = [ // 人员信息的数据
@@ -260,7 +262,9 @@ const approvalPersonalInfo = [ // 人员信息的数据
nodeRoleName: '部所联络人',
canChoose: true,
chooseType: 'radio',
chooseSource: 'contactManage'
// todo: 还没有联络人管理模块,暂时用选用户
// chooseSource: 'contactManage',
fieldName: 'contactUser'
},
{
id: 3,
@@ -268,28 +272,32 @@ const approvalPersonalInfo = [ // 人员信息的数据
nodeRoleName: '专家',
canChoose: true,
chooseType: 'checkbox',
chooseSource: 'workGroup'
chooseSource: 'workGroup',
fieldName: 'standardExpert'
},
{
id: 4,
nodeName: '发起人主管级领导审批',
nodeRoleName: '发起人主管级领导',
canChoose: true,
chooseType: 'radio'
chooseType: 'radio',
fieldName: 'mainDraftUserLeader'
},
{
id: 5,
nodeName: '发起人主管级上级领导审批',
nodeRoleName: '发起人主管级上级领导',
canChoose: true,
chooseType: 'radio'
chooseType: 'radio',
fieldName: 'mainDraftUserLeaderLeader'
},
{
id: 6,
nodeName: '标准化审批',
nodeRoleName: '标准化',
canChoose: true,
chooseType: 'radio'
chooseType: 'radio',
fieldName: 'standardizationApprovalUser'
}
]
// 变更的人员信息
@@ -383,9 +391,9 @@ export default {
}
},
watch: {
'formInline.applicationType' (value) {
'formInline.applicationCategory' (value) {
if (value) {
if (this.formInline.applicationType === 1) {
if (this.formInline.applicationCategory === ApplicationCategory.INITIATION.value) {
if (this.currentNode === 1) {
this.personnelInfoData = approvalPersonalInfo
} else {
@@ -403,8 +411,8 @@ export default {
}
}
}
if (this.formInline.itemCategory) {
this.formInline.itemCategory = undefined
if (this.formInline.projectType) {
this.formInline.projectType = undefined
}
}
},
@@ -424,11 +432,13 @@ export default {
},
data () {
return {
ProjectType,
ApplicationCategory,
loading: false,
switchValue: 'base', // 头部tab选中值
disabled: false,
onlyLook: false, // 是否仅查看
currentNode: 2, // 当前节点
currentNode: 1, // 当前节点
model: {},
processInfoForm: this.$form.createForm(this),
labelCol: {
@@ -479,7 +489,7 @@ export default {
formInline: {},
rules: {
// 申请类型
applicationType: [
applicationCategory: [
{
required: true,
message: this.$t('workCenter.enterpriseInitChangePlan.applicationType') + this.$t('cannotEmpty'),
@@ -487,7 +497,7 @@ export default {
}
],
// 项目类别
itemCategory: [
projectType: [
{
required: true,
message: this.$t('workCenter.enterpriseInitChangePlan.itemCategory') + this.$t('cannotEmpty'),
@@ -508,18 +518,123 @@ export default {
switchChange (value) {
this.switchValue = value
},
// 项目类别改变
itemCategoryChange (value) {
console.log(value)
if (value === 1) {
this.$refs.approvalBaseInfo.rules.enterpriseStandardName[0].required = true
} else {
this.$refs.approvalBaseInfo.rules.enterpriseStandardName[0].required = false
// 保存(业务基本信息那里是表格的就穿给后端数组里多条数据,是表单的就在数组里放一条数据)
handleSave () {
// 有任意一项填了即可
// 流程信息表单
const processInfoForm = this.processInfoForm.getFieldsValue()
// 业务基本信息-申请类型和项目类别
const ruleForm = this.formInline
// 流程审批信息
const approvalInfoForm = this.approvalInfoForm.getFieldsValue()
// 人员信息的数据, 处理成对象
const personnelInfo = this.$refs.personnelInfo.stepsData
const personnelObj = {}
for (const item of personnelInfo) {
if (item.fieldName) {
personnelObj[item.fieldName] = item.user
}
}
// 需要传给后端的数组
let arr = []
// 业务基本信息-立项表单
let approvalBaseInfo = {}
if (this.$refs.approvalBaseInfo) {
approvalBaseInfo = this.$refs.approvalBaseInfo.formInline
console.log(approvalBaseInfo.enStandardSystem)
// 企标体系处理成逗号分隔
if (approvalBaseInfo.enStandardSystem && approvalBaseInfo.enStandardSystem.length > 0) {
approvalBaseInfo.enStandardSystem = approvalBaseInfo.enStandardSystem.map(item => item.value).join(',')
}
const param = { ...processInfoForm, ...ruleForm, ...approvalBaseInfo, ...approvalInfoForm }
const flag = Object.values(param).some(v => !!v || v === 0)
if (!flag) {
// 提示至少填写一项
this.$message.error(this.$t('pleaseFillInAtLeastOneItem'))
return
}
arr.push(param)
} else if (this.formInline.projectType === ProjectType.COMPLETE_TIME_CHANGE.value) {
// 业务基本信息-变更-完成时间变更
const param = { ...processInfoForm, ...ruleForm, ...approvalInfoForm }
arr = this.$refs.changeBaseInfo.dataSource.map(item => { return { ...item, ...param } })
} else if (this.formInline.projectType === ProjectType.WORK_TERMINATE.value) {
// 业务基本信息-变更-工作终止
const param = { ...processInfoForm, ...ruleForm, ...approvalInfoForm }
arr = this.$refs.changeBaseInfo.dataSource.map(item => { return { ...item, ...param } })
}
// 是节点一的保存,保存到草稿
if (this.currentNode === 1) {
console.log(arr)
enterprisePlanApprovalSave(arr).then(res => {
if (res.success) {
this.$message.success(res.message)
} else {
this.$message.warning(res.message)
}
})
}
},
// 保存
handleSave () {
// 节点一时候的提交,发起立项变更申请(业务基本信息那里是表格的就穿给后端数组里多条数据,是表单的就在数组里放一条数据)
handleStart () {
if (this.loading) return
this.processInfoForm.validateFields((err, values) => {
this.$refs.ruleForm.validate(valid => {
this.approvalInfoForm.validateFields((approvalErr, approvalValues) => {
let arr = []
// 立项和变更的数据不一样,分开判断
if (this.formInline.applicationCategory === ApplicationCategory.INITIATION.value) {
// 是立项
this.$refs.approvalBaseInfo.$refs.ruleForm.validate(approvalBaseValid => {
if (valid && approvalBaseValid && !err && !approvalErr) {
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.approvalBaseInfo.formInline, personnelObj)
// 企标体系处理成逗号分隔
param.enStandardSystem = param.enStandardSystem.map(item => item.value).join(',')
arr.push(param)
}
})
} 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) {
this.loading = true
const param = { ...values, ...this.formInline, ...approvalValues }
arr = this.$refs.changeBaseInfo.dataSource.map(item => { return { ...item, ...param } })
} else {
this.$message.warning(this.$t('addAtLeastOneRowOfData'))
return
}
} else {
// 校验特定节点需要填写人的必填
this.userForm.validateFields((userErr, userValues) => {
if (valid && !err && !approvalErr && !userErr) {
this.loading = true
const param = this.$refs.changeBaseInfo.dataSource
console.log(param)
}
})
}
enterprisePlanApproval(arr).then(res => {
if (res.success) {
this.$message.success(res.message)
} else {
this.$message.warning(res.message)
}
}).finally(() => {
this.loading = false
})
})
})
})
},
// 提交
handleSubmit () {
@@ -528,7 +643,7 @@ export default {
this.$refs.ruleForm.validate(valid => {
this.approvalInfoForm.validateFields((approvalErr, approvalValues) => {
// 立项和变更的数据不一样,分开判断
if (this.formInline.applicationType === 1) {
if (this.formInline.applicationCategory === ApplicationCategory.INITIATION.value) {
// 是立项
this.$refs.approvalBaseInfo.$refs.ruleForm.validate(approvalBaseValid => {
if (valid && approvalBaseValid && !err && !approvalErr) {
@@ -3,15 +3,16 @@
<!-- 基础信息部分 -->
<div class="collapsible-panel-form">
<div class="collapsible-panel-form-header">
<span>基础信息</span>
<!-- 基础信息 -->
<span>{{ $t('basicInformation') }}</span>
<div class="retractable-btn" @click="handleChangeRetractable('baseInfo')">
<a-icon type="double-right" :class="retractableFlag.baseInfo ? 'pack-up-btn' : 'unfold-btn'" />
{{ retractableFlag.baseInfo ? '收起' : '展开' }}
{{ retractableFlag.baseInfo ? $t('putAway') : $t('open') }}
</div>
</div>
<div class="form-flex-box collapsible-panel-form-content" v-show="retractableFlag.baseInfo">
<!-- 标准立项-制定 -->
<template v-if="itemCategory && itemCategory === 1">
<template v-if="projectType && projectType === ProjectType.ENACT.value">
<!-- 企标编号 -->
<div class="box-title-text form-flex-item">
<div class="title-text">
@@ -20,9 +21,9 @@
{{ $t('workCenter.enterpriseInitChangePlan.enterpriseStandardNum') }}
</span>
</div>
<a-form-model-item class="item-model" prop="enterpriseStandardNum">
<a-form-model-item class="item-model" prop="newEnStandardNo">
<a-input class="box-input"
v-model="formInline.enterpriseStandardNum"
v-model="formInline.newEnStandardNo"
:maxLength="50"
disabled
:placeholder="$t('pleaseEnter')+$t('workCenter.enterpriseInitChangePlan.enterpriseStandardNum')" />
@@ -36,9 +37,9 @@
{{ $t('workCenter.enterpriseInitChangePlan.enterpriseStandardName') }}
</span>
</div>
<a-form-model-item class="item-model" prop="enterpriseStandardName">
<a-form-model-item class="item-model" prop="newEnStandardName">
<a-input class="box-input"
v-model="formInline.enterpriseStandardName"
v-model="formInline.newEnStandardName"
:disabled="disabled"
:maxLength="50"
:placeholder="$t('pleaseEnter')+$t('workCenter.enterpriseInitChangePlan.enterpriseStandardName')" />
@@ -52,10 +53,10 @@
{{ $t('workCenter.enterpriseInitChangePlan.enterpriseStandardCode') }}
</span>
</div>
<a-form-model-item class="item-model" prop="enterpriseStandardCode">
<a-form-model-item class="item-model" prop="enStandardCode">
<j-dict-select-tag class="box-input"
:disabled="disabled"
v-model="formInline.enterpriseStandardCode"
v-model="formInline.enStandardCode"
:placeholder="$t('pleaseSelect')+$t('workCenter.enterpriseInitChangePlan.enterpriseStandardCode')"
:type="'select'"
:triggerChange="false"
@@ -70,10 +71,10 @@
{{ $t('workCenter.enterpriseInitChangePlan.enterpriseNameCode') }}
</span>
</div>
<a-form-model-item class="item-model" prop="enterpriseNameCode">
<a-form-model-item class="item-model" prop="enNameCode">
<j-dict-select-tag class="box-input"
:disabled="disabled"
v-model="formInline.enterpriseNameCode"
v-model="formInline.enNameCode"
:placeholder="$t('pleaseSelect')+$t('workCenter.enterpriseInitChangePlan.enterpriseNameCode')"
:type="'select'"
:triggerChange="false"
@@ -106,18 +107,18 @@
{{ $t('workCenter.enterpriseInitChangePlan.yearNumber') }}
</span>
</div>
<a-form-model-item class="item-model" prop="yearNumber">
<a-form-model-item class="item-model" prop="decadeCode">
<j-date show-type="year"
:disabled="disabled"
v-model="formInline.yearNumber"
:default-value="yearNumberDefaultValue"
v-model="formInline.decadeCode"
date-format="YYYY"
@change="decadeCodeChange"
:placeholder="$t('pleaseSelect')+$t('workCenter.enterpriseInitChangePlan.yearNumber')" />
</a-form-model-item>
</div>
</template>
<!-- 标准立项-修订 -->
<template v-else-if="itemCategory && itemCategory === 2">
<template v-else-if="projectType && projectType === ProjectType.MODIFY.value">
<!-- 企标编号 -->
<div class="box-title-text form-flex-item">
<div class="title-text">
@@ -126,12 +127,12 @@
{{ $t('workCenter.enterpriseInitChangePlan.enterpriseStandardNum') }}
</span>
</div>
<a-form-model-item class="item-model" prop="enterpriseStandardNum">
<a-form-model-item class="item-model" prop="originEnStandardNo">
<standard-selection :source="StandardSource.ENTERPRISE.value"
:disabled="disabled"
:disabledSourceSearch="true"
type="radio"
v-model="formInline.enterpriseStandardNum"
v-model="formInline.originEnStandardNo"
@nameChange="nameChange"/>
</a-form-model-item>
</div>
@@ -142,9 +143,9 @@
{{ $t('workCenter.enterpriseInitChangePlan.enterpriseStandardName') }}
</span>
</div>
<a-form-model-item class="item-model" prop="enterpriseStandardName">
<a-form-model-item class="item-model" prop="originEnStandardName">
<a-input class="box-input"
v-model="formInline.enterpriseStandardName"
v-model="formInline.originEnStandardName"
:maxLength="50"
disabled
:placeholder="$t('pleaseEnter')+$t('workCenter.enterpriseInitChangePlan.enterpriseStandardName')" />
@@ -158,9 +159,9 @@
{{ $t('workCenter.enterpriseInitChangePlan.newEnterpriseStandardNum') }}
</span>
</div>
<a-form-model-item class="item-model" prop="newEnterpriseStandardNum">
<a-form-model-item class="item-model" prop="newEnStandardNo">
<a-input class="box-input"
v-model="formInline.newEnterpriseStandardNum"
v-model="formInline.newEnStandardNo"
:maxLength="50"
disabled
:placeholder="$t('pleaseEnter')+$t('workCenter.enterpriseInitChangePlan.newEnterpriseStandardNum')" />
@@ -174,10 +175,10 @@
{{ $t('workCenter.enterpriseInitChangePlan.newEnterpriseStandardName') }}
</span>
</div>
<a-form-model-item class="item-model" prop="newEnterpriseStandardName">
<a-form-model-item class="item-model" prop="newEnStandardName">
<a-input class="box-input"
:disabled="disabled"
v-model="formInline.newEnterpriseStandardName"
v-model="formInline.newEnStandardName"
:maxLength="50"
:placeholder="$t('pleaseEnter')+$t('workCenter.enterpriseInitChangePlan.newEnterpriseStandardName')" />
</a-form-model-item>
@@ -190,12 +191,12 @@
{{ $t('workCenter.enterpriseInitChangePlan.yearNumber') }}
</span>
</div>
<a-form-model-item class="item-model" prop="yearNumber">
<a-form-model-item class="item-model" prop="decadeCode">
<j-date show-type="year"
:disabled="disabled"
v-model="formInline.yearNumber"
:default-value="yearNumberDefaultValue"
v-model="formInline.decadeCode"
date-format="YYYY"
@change="decadeCodeChange"
:placeholder="$t('pleaseSelect')+$t('workCenter.enterpriseInitChangePlan.yearNumber')" />
</a-form-model-item>
</div>
@@ -207,10 +208,10 @@
{{ $t('workCenter.enterpriseInitChangePlan.standardEnglishName') }}
</span>
</div>
<a-form-model-item class="item-model" prop="standardEnglishName">
<a-form-model-item class="item-model" prop="enStandardEnglishName">
<a-input class="box-input"
:disabled="disabled"
v-model="formInline.standardEnglishName"
v-model="formInline.enStandardEnglishName"
:maxLength="50"
:placeholder="$t('pleaseEnter')+$t('workCenter.enterpriseInitChangePlan.standardEnglishName')" />
</a-form-model-item>
@@ -222,14 +223,15 @@
{{ $t('workCenter.enterpriseInitChangePlan.standardSystem') }}
</span>
</div>
<a-form-model-item class="item-model" prop="standardSystem">
<j-dict-select-tag class="box-input"
:disabled="disabled"
v-model="formInline.standardSystem"
:placeholder="$t('pleaseSelect')+$t('workCenter.enterpriseInitChangePlan.standardSystem')"
:type="'select'"
:triggerChange="false"
dictCode="standard_system" />
<a-form-model-item class="item-model" prop="enStandardSystem">
<a-tree-select
v-model="formInline.enStandardSystem"
:getPopupContainer="triggerNode=> triggerNode.parentNode"
style="width: 100%"
:tree-data="standardSystemOptions"
tree-checkable
treeCheckStrictly
:placeholder="$t('pleaseSelect')+$t('workCenter.enterpriseInitChangePlan.standardSystem')" />
</a-form-model-item>
</div>
<!-- 标准类型 -->
@@ -256,10 +258,10 @@
{{ $t('workCenter.enterpriseInitChangePlan.standardGradeClassification') }}
</span>
</div>
<a-form-model-item class="item-model" prop="standardGradeClassification">
<a-form-model-item class="item-model" prop="enStandardClassification">
<j-dict-select-tag class="box-input"
:disabled="disabled"
v-model="formInline.standardGradeClassification"
v-model="formInline.enStandardClassification"
:placeholder="$t('pleaseSelect')+$t('workCenter.enterpriseInitChangePlan.standardGradeClassification')"
:type="'select'"
:triggerChange="false"
@@ -273,11 +275,11 @@
{{ $t('workCenter.enterpriseInitChangePlan.compilationIllustration') }}
</span>
</div>
<a-form-model-item class="item-model" prop="compilationIllustration">
<a-button type="primary" class="button-text" @click="clickButtonToUpload('compilationIllustration')">
<a-form-model-item class="item-model" prop="compilationDescription">
<a-button type="primary" class="button-text" @click="clickButtonToUpload('compilationDescription')">
{{
(formInline.compilationIllustration === 'null' || formInline.compilationIllustration === ''
|| formInline.compilationIllustration === null || formInline.compilationIllustration === undefined)
(formInline.compilationDescription === 'null' || formInline.compilationDescription === ''
|| formInline.compilationDescription === null || formInline.compilationDescription === undefined)
? $t('uploadFile.clickUpload')
: $t('uploadFile.viewUploadedFiles')
}}
@@ -289,10 +291,11 @@
<!-- 完成日期部分 -->
<div class="collapsible-panel-form">
<div class="collapsible-panel-form-header">
<span>完成日期</span>
<!-- 完成日期 -->
<span>{{ $t('finishDate') }}</span>
<div class="retractable-btn" @click="handleChangeRetractable('finishDate')">
<a-icon type="double-right" :class="retractableFlag.finishDate ? 'pack-up-btn' : 'unfold-btn'" />
{{ retractableFlag.finishDate ? '收起' : '展开' }}
{{ retractableFlag.finishDate ? $t('putAway') : $t('open') }}
</div>
</div>
<div class="form-flex-box collapsible-panel-form-content" v-show="retractableFlag.finishDate">
@@ -304,9 +307,9 @@
{{ $t('workCenter.enterpriseInitChangePlan.draftPlanFinishDate') }}
</span>
</div>
<a-form-model-item class="item-model" prop="draftPlanFinishDate">
<a-form-model-item class="item-model" prop="draftPlannedCompleteDate">
<a-date-picker
v-model="formInline.draftPlanFinishDate"
v-model="formInline.draftPlannedCompleteDate"
:showTime="false"
:disabled="disabled"
value-format="YYYY-MM-DD">
@@ -321,9 +324,9 @@
{{ $t('workCenter.enterpriseInitChangePlan.exposureDraftPlanFinishDate') }}
</span>
</div>
<a-form-model-item class="item-model" prop="exposureDraftPlanFinishDate">
<a-form-model-item class="item-model" prop="solicitationDraftPlanCompleteDate">
<a-date-picker
v-model="formInline.exposureDraftPlanFinishDate"
v-model="formInline.solicitationDraftPlanCompleteDate"
:showTime="false"
:disabled="disabled"
value-format="YYYY-MM-DD">
@@ -338,9 +341,9 @@
{{ $t('workCenter.enterpriseInitChangePlan.planSubmissionDate') }}
</span>
</div>
<a-form-model-item class="item-model" prop="planSubmissionDate">
<a-form-model-item class="item-model" prop="planApprovalDate">
<a-date-picker
v-model="formInline.planSubmissionDate"
v-model="formInline.planApprovalDate"
:showTime="false"
:disabled="disabled"
value-format="YYYY-MM-DD">
@@ -352,10 +355,11 @@
<!-- 适用范围部分 -->
<div class="collapsible-panel-form">
<div class="collapsible-panel-form-header">
<span>适用范围</span>
<!-- 适用范围 -->
<span>{{ $t('rangeOfApplication') }}</span>
<div class="retractable-btn" @click="handleChangeRetractable('rangeOfApplication')">
<a-icon type="double-right" :class="retractableFlag.rangeOfApplication ? 'pack-up-btn' : 'unfold-btn'" />
{{ retractableFlag.rangeOfApplication ? '收起' : '展开' }}
{{ retractableFlag.rangeOfApplication ? $t('putAway') : $t('open') }}
</div>
</div>
<div class="form-flex-box collapsible-panel-form-content" v-show="retractableFlag.rangeOfApplication">
@@ -367,8 +371,8 @@
{{ $t('workCenter.enterpriseInitChangePlan.partName') }}
</span>
</div>
<a-form-model-item class="item-model" prop="partName">
<a-tree-select v-model="formInline.partName"
<a-form-model-item class="item-model" prop="componentName">
<a-tree-select v-model="formInline.componentName"
:disabled="disabled"
:getPopupContainer="triggerNode=> triggerNode.parentNode"
style="width: 100%"
@@ -385,8 +389,8 @@
{{ $t('workCenter.enterpriseInitChangePlan.authorizationDepart') }}
</span>
</div>
<a-form-model-item class="item-model" prop="authorizationDepart">
<j-select-depart v-model="formInline.authorizationDepart"
<a-form-model-item class="item-model" prop="authDept">
<j-select-depart v-model="formInline.authDept"
:disabled="disabled"
:backDepart="true" />
</a-form-model-item>
@@ -399,13 +403,13 @@
{{ $t('workCenter.enterpriseInitChangePlan.principalDrafter') }}
</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.principalDrafter')"
v-model="formInline.principalDrafter"
v-model="formInline.mainDraftingUser"
:disabled="disabled"
filedName="principalDrafter"
filedName="mainDraftingUser"
@nameChange="userSelectNameChange"
:nameStr="formInline.principalDrafter_dictText"
:nameStr="formInline.mainDraftingUser_dictText"
type="radio" />
</a-form-model-item>
</div>
@@ -417,8 +421,8 @@
{{ $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="mainDraftingUnit">
<j-select-depart v-model="formInline.mainDraftingUnit"
:disabled="disabled"
:backDepart="true" />
</a-form-model-item>
@@ -431,13 +435,13 @@
{{ $t('workCenter.enterpriseInitChangePlan.headOfMainDraftingUnit') }}
</span>
</div>
<a-form-model-item class="item-model" prop="headOfMainDraftingUnit">
<a-form-model-item class="item-model" prop="mainDraftingUnitResponsiblePerson">
<user-selection :placeholder="$t('pleaseSelect')+$t('workCenter.enterpriseInitChangePlan.headOfMainDraftingUnit')"
v-model="formInline.headOfMainDraftingUnit"
v-model="formInline.mainDraftingUnitResponsiblePerson"
:disabled="disabled"
filedName="headOfMainDraftingUnit"
filedName="mainDraftingUnitResponsiblePerson"
@nameChange="userSelectNameChange"
:nameStr="formInline.headOfMainDraftingUnit_dictText"
:nameStr="formInline.mainDraftingUnitResponsiblePerson_dictText"
type="radio" />
</a-form-model-item>
</div>
@@ -449,13 +453,13 @@
{{ $t('workCenter.enterpriseInitChangePlan.standardPusher') }}
</span>
</div>
<a-form-model-item class="item-model" prop="standardPusher">
<a-form-model-item class="item-model" prop="standardPromoter">
<user-selection :placeholder="$t('pleaseSelect')+$t('workCenter.enterpriseInitChangePlan.standardPusher')"
v-model="formInline.standardPusher"
v-model="formInline.standardPromoter"
:disabled="disabled"
filedName="standardPusher"
filedName="standardPromoter"
@nameChange="userSelectNameChange"
:nameStr="formInline.standardPusher_dictText"
:nameStr="formInline.standardPromoter_dictText"
type="radio" />
</a-form-model-item>
</div>
@@ -467,8 +471,8 @@
{{ $t('workCenter.enterpriseInitChangePlan.suitUnit') }}
</span>
</div>
<a-form-model-item class="item-model" prop="suitUnit">
<j-select-depart v-model="formInline.suitUnit"
<a-form-model-item class="item-model" prop="cooperationUnit">
<j-select-depart v-model="formInline.cooperationUnit"
:disabled="disabled"
:backDepart="true" />
</a-form-model-item>
@@ -478,10 +482,11 @@
<!-- 立项说明部分 -->
<div class="collapsible-panel-form">
<div class="collapsible-panel-form-header">
<span>立项说明</span>
<!-- 立项说明 -->
<span>{{ $t('projectStatement') }}</span>
<div class="retractable-btn" @click="handleChangeRetractable('projectStatement')">
<a-icon type="double-right" :class="retractableFlag.projectStatement ? 'pack-up-btn' : 'unfold-btn'" />
{{ retractableFlag.projectStatement ? '收起' : '展开' }}
{{ retractableFlag.projectStatement ? $t('putAway') : $t('open') }}
</div>
</div>
<div class="form-flex-box collapsible-panel-form-content" v-show="retractableFlag.projectStatement">
@@ -492,11 +497,11 @@
{{ $t('workCenter.enterpriseInitChangePlan.projectApprovalChangeReason') }}
</span>
</div>
<a-form-model-item class="item-model" prop="projectApprovalChangeReason">
<a-form-model-item class="item-model" prop="changeReason">
<a-textarea :placeholder="$t('pleaseEnter')+$t('workCenter.enterpriseInitChangePlan.projectApprovalChangeReason')"
:maxLength="500"
:disabled="disabled"
v-model="formInline.projectApprovalChangeReason" :rows="4" />
v-model="formInline.changeReason" :rows="4" />
</a-form-model-item>
</div>
<!-- 立项背景立项依据 -->
@@ -520,11 +525,11 @@
{{ $t('workCenter.enterpriseInitChangePlan.homogeneousStandardAnalysis') }}
</span>
</div>
<a-form-model-item class="item-model" prop="homogeneousStandardAnalysis">
<a-form-model-item class="item-model" prop="similarNaStandardsAnalysis">
<a-textarea :placeholder="$t('pleaseEnter')+$t('workCenter.enterpriseInitChangePlan.homogeneousStandardAnalysis')"
:maxLength="500"
:disabled="disabled"
v-model="formInline.homogeneousStandardAnalysis" :rows="4" />
v-model="formInline.similarNaStandardsAnalysis" :rows="4" />
</a-form-model-item>
</div>
<!-- 企业同类标准对比分析 -->
@@ -534,11 +539,11 @@
{{ $t('workCenter.enterpriseInitChangePlan.standardContrastiveAnalysis') }}
</span>
</div>
<a-form-model-item class="item-model" prop="standardContrastiveAnalysis">
<a-form-model-item class="item-model" prop="similarEnStandardsAnalysis">
<a-textarea :placeholder="$t('pleaseEnter')+$t('workCenter.enterpriseInitChangePlan.standardContrastiveAnalysis')"
:maxLength="500"
:disabled="disabled"
v-model="formInline.standardContrastiveAnalysis" :rows="4" />
v-model="formInline.similarEnStandardsAnalysis" :rows="4" />
</a-form-model-item>
</div>
<!-- 立项标准的领先性与必要性 -->
@@ -548,11 +553,11 @@
{{ $t('workCenter.enterpriseInitChangePlan.leadershipAndNecessity') }}
</span>
</div>
<a-form-model-item class="item-model" prop="leadershipAndNecessity">
<a-form-model-item class="item-model" prop="standardLeadingNecessity">
<a-textarea :placeholder="$t('pleaseEnter')+$t('workCenter.enterpriseInitChangePlan.leadershipAndNecessity')"
:maxLength="500"
:disabled="disabled"
v-model="formInline.leadershipAndNecessity" :rows="4" />
v-model="formInline.standardLeadingNecessity" :rows="4" />
</a-form-model-item>
</div>
<!-- 立项目的及预期效果等 -->
@@ -562,11 +567,11 @@
{{ $t('workCenter.enterpriseInitChangePlan.initiatedProject') }}
</span>
</div>
<a-form-model-item class="item-model" prop="initiatedProject">
<a-form-model-item class="item-model" prop="projectExpectedEffects">
<a-textarea :placeholder="$t('pleaseEnter')+$t('workCenter.enterpriseInitChangePlan.initiatedProject')"
:maxLength="500"
:disabled="disabled"
v-model="formInline.initiatedProject" :rows="4" />
v-model="formInline.projectExpectedEffects" :rows="4" />
</a-form-model-item>
</div>
<!-- 上传附件 -->
@@ -598,20 +603,22 @@
<script>
import Vue from 'vue'
import { USER_INFO } from '@/store/mutation-types'
import { StandardSource } from '@/enums/commonEnums.js'
import { StandardSource, ProjectType } from '@/enums/commonEnums.js'
import StandardSelection from '@/components/selection/StandardSelection'
import UserSelection from '@/components/selection/UserSelection'
import UploadFile from '@/components/UploadFile'
import { getFormDictTreeList } from '@/api/api'
import { getEnStandardNo } from '@/api/workCenter'
import { getTreeList } from '../../../../api/enterpriseStandardLibraryApi'
export default {
name: 'ApprovalBaseInfo',
components: { StandardSelection, UserSelection, UploadFile },
props: {
itemCategory: {
type: Number,
projectType: {
type: [Number, String],
required: false,
default: 1
default: ProjectType.ENACT.value
},
disabled: {
type: Boolean,
@@ -619,20 +626,44 @@ export default {
default: false
}
},
computed: {
yearNumberDefaultValue () {
return new Date().getFullYear() + ''
// computed: {
// yearNumberDefaultValue () {
// return new Date().getFullYear() + ''
// }
// },
watch: {
projectType () {
console.log('projectType改变了————————————————————————---')
this.formInline.decadeCode = new Date().getFullYear() + ''
},
// 企业标准代号
'formInline.enStandardCode' (value) {
this.getEnStandardNo()
},
// 企业名称代号
'formInline.enNameCode' (value) {
this.getEnStandardNo()
},
// 标准类别代号
'formInline.standardCategoryCode' (value) {
this.getEnStandardNo()
},
// 原企标编号改变,新企标编号随之改变
'formInline.originEnStandardNo' (value) {
this.getEnStandardNo()
}
},
data () {
return {
StandardSource,
partNameOptions: [],
ProjectType,
partNameOptions: [], // 零部件名称下拉框数据
standardSystemOptions: [], // 标准体系下拉框数据
formInline: {},
isFormInline: true,
rules: {
// 企标编号
enterpriseStandardNum: [
originEnStandardNo: [
{
required: true,
message: this.$t('workCenter.enterpriseInitChangePlan.enterpriseStandardNum') + this.$t('cannotEmpty'),
@@ -640,23 +671,23 @@ export default {
}
],
// 企标名称
enterpriseStandardName: [
originEnStandardName: [
{
required: true,
required: false,
message: this.$t('workCenter.enterpriseInitChangePlan.enterpriseStandardName') + this.$t('cannotEmpty'),
trigger: 'blur'
}
],
// 企业标准代号
enterpriseStandardCode: [
enStandardCode: [
{
required: true,
message: this.$t('workCenter.enterpriseInitChangePlan.enterpriseStandardName') + this.$t('cannotEmpty'),
message: this.$t('workCenter.enterpriseInitChangePlan.enterpriseStandardCode') + this.$t('cannotEmpty'),
trigger: 'change'
}
],
// 企业名称代号
enterpriseNameCode: [
enNameCode: [
{
required: true,
message: this.$t('workCenter.enterpriseInitChangePlan.enterpriseNameCode') + this.$t('cannotEmpty'),
@@ -672,7 +703,7 @@ export default {
}
],
// 年代号
yearNumber: [
decadeCode: [
{
required: true,
message: this.$t('workCenter.enterpriseInitChangePlan.yearNumber') + this.$t('cannotEmpty'),
@@ -680,7 +711,7 @@ export default {
}
],
// 新企标号
newEnterpriseStandardNum: [
newEnStandardNo: [
{
required: true,
message: this.$t('workCenter.enterpriseInitChangePlan.newEnterpriseStandardNum') + this.$t('cannotEmpty'),
@@ -688,7 +719,7 @@ export default {
}
],
// 新企标名称
newEnterpriseStandardName: [
newEnStandardName: [
{
required: true,
message: this.$t('workCenter.enterpriseInitChangePlan.newEnterpriseStandardName') + this.$t('cannotEmpty'),
@@ -696,7 +727,7 @@ export default {
}
],
// 标准体系
standardSystem: [
enStandardSystem: [
{
required: true,
message: this.$t('workCenter.enterpriseInitChangePlan.standardSystem') + this.$t('cannotEmpty'),
@@ -712,7 +743,7 @@ export default {
}
],
// 标准等级分类
standardGradeClassification: [
enStandardClassification: [
{
required: true,
message: this.$t('workCenter.enterpriseInitChangePlan.standardGradeClassification') + this.$t('cannotEmpty'),
@@ -720,7 +751,7 @@ export default {
}
],
// 草稿计划完成日期
draftPlanFinishDate: [
draftPlannedCompleteDate: [
{
required: true,
message: this.$t('workCenter.enterpriseInitChangePlan.draftPlanFinishDate') + this.$t('cannotEmpty'),
@@ -728,7 +759,7 @@ export default {
}
],
// 征求意见稿计划完成日期
exposureDraftPlanFinishDate: [
solicitationDraftPlanCompleteDate: [
{
required: true,
message: this.$t('workCenter.enterpriseInitChangePlan.exposureDraftPlanFinishDate') + this.$t('cannotEmpty'),
@@ -736,7 +767,7 @@ export default {
}
],
// 计划报批日期
planSubmissionDate: [
planApprovalDate: [
{
required: true,
message: this.$t('workCenter.enterpriseInitChangePlan.planSubmissionDate') + this.$t('cannotEmpty'),
@@ -744,7 +775,7 @@ export default {
}
],
// 授权部门
authorizationDepart: [
authDept: [
{
required: true,
message: this.$t('workCenter.enterpriseInitChangePlan.authorizationDepart') + this.$t('cannotEmpty'),
@@ -752,7 +783,7 @@ export default {
}
],
// 主起草人
principalDrafter: [
mainDraftingUser: [
{
required: true,
message: this.$t('workCenter.enterpriseInitChangePlan.principalDrafter') + this.$t('cannotEmpty'),
@@ -760,7 +791,7 @@ export default {
}
],
// 主起草单位
mainDraftUnit: [
mainDraftingUnit: [
{
required: true,
message: this.$t('workCenter.enterpriseInitChangePlan.mainDraftUnit') + this.$t('cannotEmpty'),
@@ -768,7 +799,7 @@ export default {
}
],
// 起草单位负责人
headOfMainDraftingUnit: [
mainDraftingUnitResponsiblePerson: [
{
required: true,
message: this.$t('workCenter.enterpriseInitChangePlan.headOfMainDraftingUnit') + this.$t('cannotEmpty'),
@@ -776,7 +807,7 @@ export default {
}
],
// 标准推进人
standardPusher: [
standardPromoter: [
{
required: true,
message: this.$t('workCenter.enterpriseInitChangePlan.standardPusher') + this.$t('cannotEmpty'),
@@ -784,7 +815,7 @@ export default {
}
],
// 配合单位
suitUnit: [
cooperationUnit: [
{
required: true,
message: this.$t('workCenter.enterpriseInitChangePlan.suitUnit') + this.$t('cannotEmpty'),
@@ -806,14 +837,48 @@ export default {
mounted () {
const userInfo = Vue.ls.get(USER_INFO)
// 初始化主起草人信息
this.formInline.principalDrafter = userInfo.id
this.formInline.principalDrafter_dictText = userInfo.realname
this.formInline.mainDraftingUser = userInfo.id
this.formInline.mainDraftingUser_dictText = userInfo.realname
// 初始化主起草单位信息
this.formInline.mainDraftUnit = userInfo.departIds
this.formInline.mainDraftingUnit = userInfo.departIds
// 获取零部件名称下拉框数据
this.initPartNameOptions()
// 获取标准体系下拉框数据
this.initStandardSystemOptions()
// 初始化年代号
this.formInline.decadeCode = new Date().getFullYear() + ''
},
methods: {
// watch监视年代号会滞后
decadeCodeChange (value) {
this.getEnStandardNo()
},
// 根据三个代号和一个年代号获取企标编号
getEnStandardNo () {
// 如果是制定根据填的三个代号和一个年代号获取
if (this.projectType === ProjectType.ENACT.value) {
if (!this.formInline.enStandardCode || !this.formInline.enNameCode ||
!this.formInline.standardCategoryCode || !this.formInline.decadeCode) {
return
}
const param = {}
param.enStandardCode = this.formInline.enStandardCode
param.enNameCode = this.formInline.enNameCode
param.standardCategoryCode = this.formInline.standardCategoryCode
param.decadeCode = this.formInline.decadeCode
getEnStandardNo(param).then(res => {
console.log(res)
if (res.success) {
this.$set(this.formInline, 'newEnStandardNo', res.message)
this.$forceUpdate()
}
})
} else {
const standardNo = this.formInline.originEnStandardNo.split('-')[0] + '-' + this.formInline.decadeCode
this.$set(this.formInline, 'newEnStandardNo', standardNo)
this.$forceUpdate()
}
},
// 获取零部件名称下拉框数据
initPartNameOptions () {
getFormDictTreeList({ dictId: '1696821512600637441' }).then(res => {
@@ -822,6 +887,14 @@ export default {
}
})
},
// 获取标准体系下拉框数据
initStandardSystemOptions () {
getTreeList({ option: 1 }).then(res => {
if (res.success) {
this.standardSystemOptions = res.result
}
})
},
// 改变内容区域收起和展开
handleChangeRetractable (module) {
this.$set(this.retractableFlag, module, !this.retractableFlag[module])
@@ -829,7 +902,7 @@ export default {
},
// 标准选择组件返回标准名称的回调
nameChange (value) {
this.formInline.enterpriseStandardName = value
this.formInline.originEnStandardName = value
},
// 点击文件上传
clickButtonToUpload (fieldName) {
@@ -874,6 +947,6 @@ export default {
}
.title-text-long {
width: 220px;
width: 220px !important;
}
</style>
@@ -83,49 +83,49 @@ export default {
title: this.$t('workCenter.enterpriseInitChangePlan.enterpriseStandardNum'),
align: 'center',
width: 180,
dataIndex: 'standardNo',
dataIndex: 'originEnStandardNo',
scopedSlots: { customRender: 'toDetail' }
},
{ // 企标名称
title: this.$t('workCenter.enterpriseInitChangePlan.enterpriseStandardName'),
align: 'center',
width: 180,
dataIndex: 'standardName',
dataIndex: 'originEnStandardName',
scopedSlots: { customRender: 'toDetail' }
},
{ // 主起草人
title: this.$t('workCenter.enterpriseInitChangePlan.principalDrafter'),
align: 'center',
width: 180,
dataIndex: 'principalDrafter_dictText',
dataIndex: 'mainDraftingUser_dictText',
scopedSlots: { customRender: 'text' }
},
{ // 主起草单位
title: this.$t('workCenter.enterpriseInitChangePlan.mainDraftUnit'),
align: 'center',
width: 180,
dataIndex: 'mainDraftUnit',
dataIndex: 'mainDraftingUnit',
scopedSlots: { customRender: 'text' }
},
{ // 原草稿计划完成日期
title: this.$t('workCenter.enterpriseInitChangePlan.originalDraftPlanFinishDate'),
align: 'center',
width: 180,
dataIndex: 'originalDraftPlanFinishDate',
dataIndex: 'originDraftPlannedCompleteDate',
scopedSlots: { customRender: 'text' }
},
{ // 原征求意见稿计划完成日期
title: this.$t('workCenter.enterpriseInitChangePlan.originalExposureDraftPlanFinishDate'),
align: 'center',
width: 210,
dataIndex: 'originalExposureDraftPlanFinishDate',
dataIndex: 'originSolicitationDraftPlanCompleteDate',
scopedSlots: { customRender: 'text' }
},
{ // 原计划报批日期
title: this.$t('workCenter.enterpriseInitChangePlan.originalPlanSubmissionDate'),
align: 'center',
width: 180,
dataIndex: 'originalPlanSubmissionDate',
dataIndex: 'originPlanApprovalDate',
scopedSlots: { customRender: 'text' }
},
{ // 草稿计划完成日期
@@ -184,9 +184,6 @@ export default {
// 新增或编辑完成
changeBaseInfoDrawerOk (value) {
console.log(value, this.modalType)
value.draftPlannedCompleteDate = value.originalDraftPlanFinishDate
value.solicitationDraftPlanCompleteDate = value.originalExposureDraftPlanFinishDate
value.planApprovalDate = value.originalPlanSubmissionDate
if (this.modalType === 'add') {
this.dataSource.push(value)
} else if (this.modalType && this.modalType.split(',')[0] === 'edit') {
@@ -21,11 +21,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">
<!-- 搜索项目状态为未开始和进行中的数据 -->
<!-- todo 暂时先注掉查询条件不然没数据 :searchParam="{projectStatus: '1,2'}"-->
<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"
@listChange="listChange"/>
</a-form-model-item>
@@ -38,10 +40,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>
@@ -53,12 +55,12 @@
{{ $t('workCenter.enterpriseInitChangePlan.principalDrafter') }}
</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.principalDrafter')"
v-model="formInline.principalDrafter"
filedName="principalDrafter"
v-model="formInline.mainDraftingUser"
filedName="mainDraftingUser"
@nameChange="userSelectNameChange"
:nameStr="formInline.principalDrafter_dictText"
:nameStr="formInline.mainDraftingUser_dictText"
type="radio" />
</a-form-model-item>
</div>
@@ -69,8 +71,8 @@
{{ $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="mainDraftingUnit">
<j-select-depart v-model="formInline.mainDraftingUnit"
:backDepart="true" />
</a-form-model-item>
</div>
@@ -81,9 +83,9 @@
{{ $t('workCenter.enterpriseInitChangePlan.originalDraftPlanFinishDate') }}
</span>
</div>
<a-form-model-item class="item-model" prop="originalDraftPlanFinishDate">
<a-form-model-item class="item-model" prop="orginDraftPlannedCompleteDate">
<a-date-picker
v-model="formInline.originalDraftPlanFinishDate"
v-model="formInline.originDraftPlannedCompleteDate"
:showTime="false"
disabled
value-format="YYYY-MM-DD">
@@ -97,9 +99,9 @@
{{ $t('workCenter.enterpriseInitChangePlan.originalExposureDraftPlanFinishDate') }}
</span>
</div>
<a-form-model-item class="item-model" prop="originalExposureDraftPlanFinishDate">
<a-form-model-item class="item-model" prop="originSolicitationDraftPlanCompleteDate">
<a-date-picker
v-model="formInline.originalExposureDraftPlanFinishDate"
v-model="formInline.originSolicitationDraftPlanCompleteDate"
:showTime="false"
disabled
value-format="YYYY-MM-DD">
@@ -113,9 +115,9 @@
{{ $t('workCenter.enterpriseInitChangePlan.originalPlanSubmissionDate') }}
</span>
</div>
<a-form-model-item class="item-model" prop="originalPlanSubmissionDate">
<a-form-model-item class="item-model" prop="originPlanApprovalDate">
<a-date-picker
v-model="formInline.originalPlanSubmissionDate"
v-model="formInline.originPlanApprovalDate"
:showTime="false"
disabled
value-format="YYYY-MM-DD">
@@ -130,9 +132,9 @@
{{ $t('workCenter.enterpriseInitChangePlan.draftPlanFinishDate') }}
</span>
</div>
<a-form-model-item class="item-model" prop="draftPlanFinishDate">
<a-form-model-item class="item-model" prop="draftPlannedCompleteDate">
<a-date-picker
v-model="formInline.draftPlanFinishDate"
v-model="formInline.draftPlannedCompleteDate"
:showTime="false"
value-format="YYYY-MM-DD">
</a-date-picker>
@@ -146,9 +148,9 @@
{{ $t('workCenter.enterpriseInitChangePlan.exposureDraftPlanFinishDate') }}
</span>
</div>
<a-form-model-item class="item-model" prop="exposureDraftPlanFinishDate">
<a-form-model-item class="item-model" prop="solicitationDraftPlanCompleteDate">
<a-date-picker
v-model="formInline.exposureDraftPlanFinishDate"
v-model="formInline.solicitationDraftPlanCompleteDate"
:showTime="false"
value-format="YYYY-MM-DD">
</a-date-picker>
@@ -162,9 +164,9 @@
{{ $t('workCenter.enterpriseInitChangePlan.planSubmissionDate') }}
</span>
</div>
<a-form-model-item class="item-model" prop="planSubmissionDate">
<a-form-model-item class="item-model" prop="planApprovalDate">
<a-date-picker
v-model="formInline.planSubmissionDate"
v-model="formInline.planApprovalDate"
:showTime="false"
value-format="YYYY-MM-DD">
</a-date-picker>
@@ -209,8 +211,8 @@ export default {
model: {},
formInline: {},
rules: {
// 企标编号
enterpriseStandardPlanId: [
// 企标计划id
espId: [
{
required: true,
message: this.$t('workCenter.enterpriseInitChangePlan.enterpriseStandardNum') + this.$t('cannotEmpty'),
@@ -218,7 +220,7 @@ export default {
}
],
// 草稿计划完成日期
draftPlanFinishDate: [
draftPlannedCompleteDate: [
{
required: true,
message: this.$t('workCenter.enterpriseInitChangePlan.draftPlanFinishDate') + this.$t('cannotEmpty'),
@@ -226,7 +228,7 @@ export default {
}
],
// 征求意见稿计划完成日期
exposureDraftPlanFinishDate: [
solicitationDraftPlanCompleteDate: [
{
required: true,
message: this.$t('workCenter.enterpriseInitChangePlan.exposureDraftPlanFinishDate') + this.$t('cannotEmpty'),
@@ -234,7 +236,7 @@ export default {
}
],
// 计划报批日期
planSubmissionDate: [
planApprovalDate: [
{
required: true,
message: this.$t('workCenter.enterpriseInitChangePlan.planSubmissionDate') + this.$t('cannotEmpty'),
@@ -263,22 +265,22 @@ export default {
},
// 企标计划选择完成的企标编号回调
standardNumberChange (value) {
this.formInline.standardNo = value
this.formInline.originEnStandardNo = value
},
// 企标选编号选择完成的回调
listChange (value) {
// todo: 三个有校验的日期验证不会消失
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.originalDraftPlanFinishDate = value[0].draftPlannedCompleteDate
this.formInline.originalExposureDraftPlanFinishDate = value[0].solicitationDraftPlanCompleteDate
this.formInline.originalPlanSubmissionDate = value[0].planApprovalDate
this.formInline.draftPlanFinishDate = value[0].draftPlannedCompleteDate
this.formInline.exposureDraftPlanFinishDate = value[0].solicitationDraftPlanCompleteDate
this.formInline.planSubmissionDate = value[0].planApprovalDate
this.formInline.originEnStandardName = value[0].originEnStandardName
this.formInline.mainDraftingUser_dictText = value[0].mainDraftingUser
this.formInline.mainDraftingUnit = value[0].mainDraftingUnit
this.formInline.originDraftPlannedCompleteDate = value[0].draftPlannedCompleteDate
this.formInline.originSolicitationDraftPlanCompleteDate = value[0].solicitationDraftPlanCompleteDate
this.formInline.originPlanApprovalDate = value[0].planApprovalDate
this.formInline.draftPlannedCompleteDate = value[0].draftPlannedCompleteDate
this.formInline.solicitationDraftPlanCompleteDate = value[0].solicitationDraftPlanCompleteDate
this.formInline.planApprovalDate = value[0].planApprovalDate
}
},
// 选择用户得到用户名
@@ -82,28 +82,28 @@ export default {
title: this.$t('workCenter.enterpriseInitChangePlan.enterpriseStandardNum'),
align: 'center',
width: 180,
dataIndex: 'standardNo',
dataIndex: 'originEnStandardNo',
scopedSlots: { customRender: 'toDetail' }
},
{ // 企标名称
title: this.$t('workCenter.enterpriseInitChangePlan.enterpriseStandardName'),
align: 'center',
width: 180,
dataIndex: 'standardName',
dataIndex: 'originEnStandardName',
scopedSlots: { customRender: 'toDetail' }
},
{ // 主起草人
title: this.$t('workCenter.enterpriseInitChangePlan.principalDrafter'),
align: 'center',
width: 180,
dataIndex: 'principalDrafter_dictText',
dataIndex: 'mainDraftingUser_dictText',
scopedSlots: { customRender: 'text' }
},
{ // 主起草单位
title: this.$t('workCenter.enterpriseInitChangePlan.mainDraftUnit'),
align: 'center',
width: 180,
dataIndex: 'mainDraftUnit',
dataIndex: 'mainDraftingUnit',
scopedSlots: { customRender: 'text' }
},
{ // 变更原因
@@ -136,7 +136,7 @@ export default {
this.$openPageNewSheet({
path: '/enterpriseStandardLibrary/enterpriseStandardDetail',
query: {
standardNumber: record.standardNo
standardNumber: record.originEnStandardNo
}
})
},
@@ -148,9 +148,6 @@ export default {
// 新增或编辑完成
jobEndBaseInfoDrawerOk (value) {
console.log(value, this.modalType)
value.draftPlannedCompleteDate = value.originalDraftPlanFinishDate
value.solicitationDraftPlanCompleteDate = value.originalExposureDraftPlanFinishDate
value.planApprovalDate = value.originalPlanSubmissionDate
if (this.modalType === 'add') {
this.dataSource.push(value)
} else if (this.modalType && this.modalType.split(',')[0] === 'edit') {
@@ -21,11 +21,11 @@
{{ $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"
@listChange="listChange"/>
</a-form-model-item>
@@ -38,10 +38,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>
@@ -53,13 +53,13 @@
{{ $t('workCenter.enterpriseInitChangePlan.principalDrafter') }}
</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.principalDrafter')"
v-model="formInline.principalDrafter"
filedName="principalDrafter"
v-model="formInline.mainDraftingUser"
filedName="mainDraftingUser"
disabled
@nameChange="userSelectNameChange"
:nameStr="formInline.principalDrafter_dictText"
:nameStr="formInline.mainDraftingUser_dictText"
type="radio" />
</a-form-model-item>
</div>
@@ -70,8 +70,8 @@
{{ $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="mainDraftingUnit">
<j-select-depart v-model="formInline.mainDraftingUnit"
disabled
:backDepart="true" />
</a-form-model-item>
@@ -115,8 +115,8 @@ export default {
model: {},
formInline: {},
rules: {
// 企标编号
enterpriseStandardPlanId: [
// 企标计划id
espId: [
{
required: true,
message: this.$t('workCenter.enterpriseInitChangePlan.enterpriseStandardNum') + this.$t('cannotEmpty'),
@@ -145,15 +145,15 @@ export default {
},
// 企标计划选择完成的企标编号回调
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.originEnStandardName = value[0].originEnStandardName
this.formInline.mainDraftingUser_dictText = value[0].mainDraftingUser
this.formInline.mainDraftingUnit = value[0].mainDraftingUnit
}
},
// 选择用户得到用户名