Files
laws-sinotruk-client/src/views/workCenter/enterpriseStandardRevision/modules/BaseInfoForm.vue
T

684 lines
32 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<template>
<a-spin :spinning="loading">
<a-form-model v-if="isFormInline" :model="formInline" :rules="rules" ref="ruleForm">
<div class="form-flex-box">
<!-- 制修订类型 -->
<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.typeOfRevision')">
{{ $t('workCenter.enterpriseInitChangePlan.typeOfRevision') }}
</span>
</div>
<a-form-model-item class="item-model" prop="typeOfRevision">
<j-dict-select-tag
:placeholder="$t('pleaseSelect')+$t('workCenter.enterpriseInitChangePlan.typeOfRevision')"
dict-code="esp_revision_type"
disabled
v-model="formInline.typeOfRevision">
</j-dict-select-tag>
</a-form-model-item>
</div>
<!-- 是新建流程,新增企标编号字段从企标计划选择 -->
<!-- 企标编号选择企标计划 -->
<div v-if="flowInitType === 'newProcess'" class="box-title-text form-flex-item">
<div class="title-text">
<span class="required">*</span>
<span class="title-text-text" :title="$t('workCenter.enterpriseInitChangePlan.enterpriseStandardNum')">
{{ $t('workCenter.enterpriseInitChangePlan.enterpriseStandardNum') }}
</span>
</div>
<a-form-model-item class="item-model" prop="espId">
<enterprise-plan-selection type="radio"
:placeholder="$t('pleaseSelect')+$t('workCenter.enStandardRevision.esPlan')"
v-model="formInline.espId"
:standard-number="formInline.standard_number"
:searchParam="{projectStatus: 1}"
@listChange="listChange"
:disabled="disabled"/>
</a-form-model-item>
</div>
<!--
标签管理中企标库的基础信息部分字段
1去掉三个代号一个年代号
2加零部件名称和代替标准号
3企标编号如果是自动发起的就带入从新建流程点入的话就从企标计划选择
4从企标计划选择企标编号的话把其他字段也回显
-->
<template v-for="(item, index) of dataList">
<div :key="index" class="box-title-text form-flex-item">
<div class="title-text">
<span class="required" v-if="item.fieldMustInput === '1'">*</span>
<span class="title-text-text" :title="item.dbFieldTxt">{{ item.dbFieldTxt }}</span>
</div>
<a-form-model-item class="item-model" :prop="item.dbFieldName">
<!-- 1, 日期单选 -->
<a-date-picker v-if="item.fieldShowType === FieldType.DATE_SINGLE.value"
class="box-input"
:placeholder="$t('pleaseSelect')+item.dbFieldTxt"
:getCalendarContainer="(trigger) => trigger.parentNode"
format="YYYY-MM-DD"
value-format="YYYY-MM-DD"
v-model="formInline[item.dbFieldName]"
:disabled="disabled || disabledFieldList.includes(item.dbFieldName)"
style="width: 100%" />
<!-- 2, 单选用户 -->
<user-selection v-else-if="item.fieldShowType === FieldType.USER_SINGLE.value"
:placeholder="$t('pleaseSelect')+item.dbFieldTxt"
v-model="formInline[item.dbFieldName]"
:filedName="item.dbFieldName"
@nameChange="userSelectNameChange"
:nameStr="formInline[item.dbFieldName + '_dictText']"
type="radio"
:disabled="disabled || disabledFieldList.includes(item.dbFieldName)" />
<!-- 3, 单选组织机构 -->
<j-select-depart v-else-if="item.fieldShowType === FieldType.ORGAN_SINGLE.value"
v-model="formInline[item.dbFieldName]"
:backDepart="true" />
<!-- 4, 日期多选 -->
<j-multiple-date-picker v-else-if="item.fieldShowType === FieldType.DATE_MORE.value"
class="box-input"
v-model="formInline[item.dbFieldName]"
:fieldName="item.dbFieldName"
:disabled="disabled || disabledFieldList.includes(item.dbFieldName)" />
<!-- 5, 多行文本 -->
<a-textarea v-else-if="item.fieldShowType === FieldType.TEXTAREA.value"
:placeholder="$t('pleaseEnter')+item.dbFieldTxt"
:disabled="disabled || disabledFieldList.includes(item.dbFieldName)"
:maxLength="500"
v-model="formInline[item.dbFieldName]" :rows="4" />
<!-- 6, 标准多选 -->
<standard-selection v-else-if="item.fieldShowType === FieldType.STANDARD_MORE.value"
:source="StandardSource.ENTERPRISE.value"
:disabledSourceSearch="true"
:disabled="disabled || disabledFieldList.includes(item.dbFieldName)"
v-model="formInline[item.dbFieldName]" />
<!-- 7, 多选组织机构 -->
<j-select-depart v-else-if="item.fieldShowType === FieldType.ORGAN_MORE.value"
v-model="formInline[item.dbFieldName]"
:multi="true"
:backDepart="true"
:disabled="disabled || innerDisabledField.includes(item.dbFieldName)"
:selectRange="item.dbFieldName === 'auth_dept' ? departSelectRange : []"
:treeOpera="true" />
<!-- 8, 上传文件 -->
<a-button v-else-if="item.fieldShowType === FieldType.FILE_UP.value" type="primary" class="button-text"
@click="clickButtonToUpload(item)">
{{
(formInline[item.dbFieldName] === 'null' || formInline[item.dbFieldName] === ''
|| formInline[item.dbFieldName] === null || formInline[item.dbFieldName] === undefined)
? $t('uploadFile.clickUpload')
: $t('uploadFile.viewUploadedFiles')
}}
</a-button>
<!-- 9, 文本框 -->
<a-input v-else-if="item.fieldShowType === FieldType.TEXT_BOX.value"
class="box-input"
:disabled="disabled || disabledFieldList.includes(item.dbFieldName)"
v-model.trim="formInline[item.dbFieldName]"
:maxLength="50"
@change="event => event.target.value = event.target.value.trim()"
:placeholder="$t('pleaseEnter')+item.dbFieldTxt" />
<!-- 10, 下拉单选数据字典 -->
<j-dict-select-tag v-else-if="item.fieldShowType === FieldType.OPTION_SINGLE.value"
class="box-input"
v-model="formInline[item.dbFieldName]"
:disabled="disabled || disabledFieldList.includes(item.dbFieldName)"
:placeholder="$t('pleaseSelect')+item.dbFieldTxt"
:type="'select'"
:triggerChange="false"
:dictCode="item.dictField" />
<!-- 11, 下拉多选数据字典 -->
<j-multi-select-tag v-else-if="item.fieldShowType === FieldType.OPTION_MORE.value"
class="box-input"
v-model="formInline[item.dbFieldName]"
:disabled="disabled || disabledFieldList.includes(item.dbFieldName)"
:placeholder="$t('pleaseSelect')+item.dbFieldTxt"
:type="'select'"
:triggerChange="false"
:dictCode="item.dictField" />
<!-- 12, 树选择 -->
<a-tree-select
v-else-if="item.fieldShowType === FieldType.TREE.value"
v-model="formInline[item.dbFieldName]"
:getPopupContainer="triggerNode=> triggerNode.parentNode"
style="width: 100%"
:disabled="disabled || disabledFieldList.includes(item.dbFieldName)"
:tree-data="optionsData[item.dbFieldName]"
tree-checkable
treeCheckStrictly
:label-in-value="false"
:placeholder="$t('pleaseSelect')+item.dbFieldTxt" />
<!-- 14, 年份选择 -->
<j-date v-else-if="item.fieldShowType === FieldType.YEAR_PICKER.value"
show-type="year"
:disabled="disabled || disabledFieldList.includes(item.dbFieldName)"
v-model="formInline[item.dbFieldName]"
:default-value="defaultValue[item.dbFieldName]"
date-format="YYYY"
:placeholder="$t('pleaseSelect')+item.dbFieldTxt" />
<!-- 15, 树选择单选 -->
<a-tree-select v-else-if="item.fieldShowType === FieldType.TREE_SINGLE.value"
v-model="formInline[item.dbFieldName]"
:getPopupContainer="triggerNode=> triggerNode.parentNode"
style="width: 100%"
:disabled="disabled || disabledFieldList.includes(item.dbFieldName)"
:tree-data="optionsData[item.dbFieldName]"
:label-in-value="false"
:placeholder="$t('pleaseSelect')+item.dbFieldTxt" />
<!--16树形弹框选择-->
<tree-selection v-else-if="item.fieldShowType === FieldType.TREE_MODAL_SELECT.value"
:placeholder="$t('pleaseSelect')+item.dbFieldTxt"
v-model="formInline[item.dbFieldName]"
@nameChange="treeSelectNameChange"
:filedName="item.dbFieldName"
type="checkbox"
:nameStr="formInline[item.dbFieldName + '_dictText']"
:dict-id="item.dictId"
:disabled="disabled || disabledFieldList.includes(item.dbFieldName)" />
</a-form-model-item>
</div>
</template>
</div>
<upload-file ref="uploadFile" @change="uploadFileChange" :disabled="disabled" :return-url="false"></upload-file>
</a-form-model>
</a-spin>
</template>
<script>
import {
getEnterpriseStandardAddForm,
getStandardGradeClassification,
getEnterpriseStandardPlanInfoById
} from '@/api/enterpriseStandardLibraryApi'
import { StandardSource, FieldType, ApplicationCategory, IsTrial, StandardGradeClassify } from '@/enums/commonEnums'
import { getAction } from '@/api/manage'
import { getFormDictTreeList } from '@/api/api'
import UserSelection from '@/components/selection/UserSelection'
import JMultipleDatePicker from '@/components/JMultipleDatePicker'
import StandardSelection from '@/components/selection/StandardSelection'
import UploadFile from '@/components/UploadFile'
import EnterprisePlanSelection from '@/components/selection/EnterprisePlanSelection'
import TreeSelection from '@/components/selection/TreeSelection'
export default {
name: 'BaseInfoForm',
components: {
UserSelection,
JMultipleDatePicker,
StandardSelection,
UploadFile,
EnterprisePlanSelection,
TreeSelection
},
props: {
// 流程发起类型,是自动发起(auto)的还是从新建流程发起的(newProcess)
flowInitType: {
type: String,
required: false,
default: ''
},
disabled: {
type: Boolean,
required: false,
default: false
}
},
watch: {
// 标准等级分类改变后授权部门需要自动带出
'formInline.grade_classification' (val) {
if (val && !this.isEditSetData) {
if (val === StandardGradeClassify.ZERO_LEVEL.value) {
// 选的是0级,授权部门带出不可编辑
this.formInline.auth_dept = this.standardGradeClassification.find(item => item.level + '' === '0').deptIds
if (!this.innerDisabledField.includes('auth_dept')) {
this.innerDisabledField.push('auth_dept')
}
} else if (val === StandardGradeClassify.ONE_LEVEL.value) {
// 选的是1级
// 带出主起草单位
this.formInline.auth_dept = this.formInline.main_drafting_unit
// 设置可选择项
this.departSelectRange = this.standardGradeClassification.find(item => item.level + '' === '1').deptIds.split(',')
this.formInline = JSON.parse(JSON.stringify(this.formInline))
// 设置授权部门可编辑
if (this.innerDisabledField.includes('auth_dept')) {
this.innerDisabledField = this.innerDisabledField.filter(item => item !== 'auth_dept')
}
} else if (val === StandardGradeClassify.TWO_LEVEL.value) {
// 选的是2级
// 带出主起草单位
this.formInline.auth_dept = this.formInline.main_drafting_unit
// 设置可选择项
this.departSelectRange = this.standardGradeClassification.find(item => item.level + '' === '2').deptIds.split(',')
this.formInline = JSON.parse(JSON.stringify(this.formInline))
// 设置授权部门可编辑
if (this.innerDisabledField.includes('auth_dept')) {
this.innerDisabledField = this.innerDisabledField.filter(item => item !== 'auth_dept')
}
} else if (val === StandardGradeClassify.THREE_LEVEL.value) {
// 选的是3级,带出主起草单位,不可编辑
this.formInline.auth_dept = this.formInline.main_drafting_unit
if (!this.innerDisabledField.includes('auth_dept')) {
this.innerDisabledField.push('auth_dept')
}
}
} else if (val && this.isEditSetData) {
// 使用定时器是因为有可能授权部门组件还没有获取完部门列表
setTimeout(() => {
if (val === StandardGradeClassify.ZERO_LEVEL.value) {
// 选的是0级,授权部门带出不可编辑
if (!this.innerDisabledField.includes('auth_dept')) {
this.innerDisabledField.push('auth_dept')
}
} else if (val === StandardGradeClassify.ONE_LEVEL.value) {
// 选的是1级
// 设置可选择项
this.departSelectRange = this.standardGradeClassification.find(item => item.level + '' === '1').deptIds.split(',')
// 设置授权部门可编辑
if (this.innerDisabledField.includes('auth_dept')) {
this.innerDisabledField = this.innerDisabledField.filter(item => item !== 'auth_dept')
}
} else if (val === StandardGradeClassify.TWO_LEVEL.value) {
// 选的是2级
// 设置可选择项
this.departSelectRange = this.standardGradeClassification.find(item => item.level + '' === '2').deptIds.split(',')
// 设置授权部门可编辑
if (this.innerDisabledField.includes('auth_dept')) {
this.innerDisabledField = this.innerDisabledField.filter(item => item !== 'auth_dept')
}
} else if (val === StandardGradeClassify.THREE_LEVEL.value) {
// 选的是3级,授权部门带出不可编辑
if (!this.innerDisabledField.includes('auth_dept')) {
this.innerDisabledField.push('auth_dept')
}
}
}, 500)
}
},
// 主起草单位改变后,需要将选中的主起草单位增加到授权部门
'formInline.main_drafting_unit' (val) {
if (val && !this.isEditSetData) {
if (this.formInline.grade_classification === StandardGradeClassify.ONE_LEVEL.value ||
this.formInline.grade_classification === StandardGradeClassify.TWO_LEVEL.value) {
// 标准等级分类是1级或者2级需要,把主起草单位追加到授权部门
let authDeptArr = (this.formInline.auth_dept || '').split(',')
// 把旧的主起草部门刨出去,否则每换一次企标编号都会把其主起草单位累计
authDeptArr = authDeptArr.filter(item => item !== this.oldMainDraftingUnit)
authDeptArr.push(val)
this.formInline.auth_dept = authDeptArr.join(',')
} else if (this.formInline.grade_classification === StandardGradeClassify.THREE_LEVEL.value) {
// 标准等级分类是3级,把授权部门替换成主起草单位
this.formInline.auth_dept = val
}
this.oldMainDraftingUnit = val
}
},
// 企标是否试行改变,试行周期必填校验也跟着变
'formInline.try_flag' (val) {
if (val) {
if (val === IsTrial.YES.value) {
// 试行周期给默认值24
this.formInline.trial_period = '24'
this.formInline = JSON.parse(JSON.stringify(this.formInline))
// 试行,试行周期必填
this.rules.trial_period[0].required = true
} else {
// 试行周期置空
this.formInline.trial_period = undefined
// 不试行,试行周期非必填
this.rules.trial_period[0].required = false
}
}
},
// 企标名称
'formInline.standard_name' (val) {
// 设置流程名称
const processName = (this.formInline.standard_number || '') + '-' + (val || '') + '-' + (this.formInline.typeOfRevision_dictText || '')
this.$emit('processNameChange', processName)
}
},
data () {
return {
StandardSource,
FieldType,
ApplicationCategory,
loading: false,
dataList: [],
isFormInline: false, // 是否展示表单
disabledFieldList: ['standard_number'], // 不可修改字段
formInline: {},
rules: {
// 制修订类型校验
typeOfRevision: [{
required: true,
message: this.$t('workCenter.enterpriseInitChangePlan.typeOfRevision') + this.$t('cannotEmpty'),
trigger: 'change'
}],
// 企标计划选择
espId: [{
required: true,
message: this.$t('workCenter.enStandardRevision.esPlan') + this.$t('cannotEmpty'),
trigger: 'change'
}]
},
optionsData: {}, // 标签管理中维护字段的下拉框数据
isEditSetData: false, // 是否正在初始化设置值,为了不执行某些watch
innerDisabledField: [], // 不可更改的字段
departSelectRange: [], // 授权部门的可选范围
standardGradeClassification: [], // 企标级别映射数据,用于标准等级分类和授权部门的对应
oldMainDraftingUnit: '' // 上一次的主起草单位
}
},
mounted () {
this.getStandardGradeClassificationArr()
this.getForm()
},
methods: {
initData (data) {
this.isEditSetData = true
if (this.flowInitType === 'auto' && !data.businessJson) {
// 说明是刚刚自动发起的流程
getEnterpriseStandardPlanInfoById({ id: data.espId }).then(res => {
if (res.success) {
const formInline = {}
// 制修订类型
formInline.typeOfRevision = res.result.applicationCategory
formInline.typeOfRevision_dictText = res.result.applicationCategory_dictText
// 企标编号
formInline.standard_number = res.result.newEnStandardNo
// 企标名称
formInline.standard_name = res.result.newEnStandardName
// 标准英文名称
formInline.standard_english_name = res.result.enStandardEnglishName
// 标准体系
formInline.standard_system = res.result.enStandardSystem ? res.result.enStandardSystem.split(',').map(item => {
return { value: item }
}) : []
// 标准等级分类
formInline.grade_classification = res.result.enStandardClassification
// 授权部门??
// formInline.auth_dept = res.result.authDept
// 发布日期??
// formInline.release_date = res.result.applicationCategory
// 实施日期??
// formInline.implementation_date = res.result.applicationCategory
// 编制说明
formInline.comp_illustration = res.result.compilationDescription
// 是否试行??
// formInline.try_flag = res.result.applicationCategory
// 试行周期??
// formInline.trial_period = res.result.applicationCategory
// 代替标准号
// formInline.standard_number = res.result.applicationCategory
// 主起草单位,初始化是因为标准等级分类需要带出
formInline.main_drafting_unit = res.result.mainDraftingUnit
// 征求意见稿计划完成日期,因为部所联络人节点征求意见截止日期需要限制比征求意见稿计划完成日期早
formInline.solicitationDraftPlanCompleteDate = res.result.solicitationDraftPlanCompleteDate
this.formInline = Object.assign({}, formInline)
}
}).finally(() => {
this.isEditSetData = false
})
} else {
this.formInline = JSON.parse(data.businessJson)
this.formInline.standard_system = this.formInline.standard_system ? this.formInline.standard_system.split(',').map(item => {
return { value: item }
}) : []
setTimeout(() => {
this.isEditSetData = false
}, 500)
}
},
getData () {
const formInline = Object.assign({}, this.formInline)
Object.keys(formInline).forEach(res => {
if (formInline[res] instanceof Array) {
if (formInline[res][0] instanceof Object) {
// 说明是树选择
formInline[res] = formInline[res].map(item => item.value).join(',')
} else {
formInline[res] = formInline[res].join(',')
}
}
})
return formInline
},
// 外层获取数据要过校验,返回false表示没有通过校验
async getDataValidate () {
let data = {}
console.log(this.rules)
await this.$refs.ruleForm.validate(valid => {
console.log(valid)
if (valid) {
if (this.formInline.release_date && this.formInline.implementation_date) {
// 实施日期需要比发布日期至少大15天
// 发布日期15天后的日期
const releaseDate = new Date(Date.parse(this.formInline.release_date))
const releaseDateAfter = releaseDate.setDate(releaseDate.getDate() + 15)
if (new Date(Date.parse(this.formInline.implementation_date)) <= releaseDateAfter) {
// 实施日期小于等于发布日期的15天后
this.$message.warning(this.$t('implementationNeedGreaterThan'))
data = false
} else {
const formInline = JSON.parse(JSON.stringify(this.formInline))
Object.keys(formInline).forEach(res => {
if (formInline[res] instanceof Array) {
if (formInline[res][0] instanceof Object) {
// 说明是树选择
formInline[res] = formInline[res].map(item => item.value).join(',')
} else {
formInline[res] = formInline[res].join(',')
}
}
})
data.formInline = formInline
}
} else {
const formInline = JSON.parse(JSON.stringify(this.formInline))
Object.keys(formInline).forEach(res => {
if (formInline[res] instanceof Array) {
if (formInline[res][0] instanceof Object) {
// 说明是树选择
formInline[res] = formInline[res].map(item => item.value).join(',')
} else {
formInline[res] = formInline[res].join(',')
}
}
})
data.formInline = formInline
}
} else {
data = false
}
})
return data
},
// 获取表单列表
getForm (callBack) {
this.confirmLoading = true
const params = {
module: StandardSource.ENTERPRISE.value,
type: 2
}
getEnterpriseStandardAddForm(params).then((res) => {
if (res.success) {
let dataList = res.result.基础信息
// 1、去掉三个代号一个年代号
dataList = dataList.filter(item => !['standard_code', 'name_code', 'category_code', 'year_number', 'standard_state'].includes(item.dbFieldName))
// 2、加零部件名称和代替标准号
const partName = res.result.适用范围.find(item => item.dbFieldName === 'part_name')
const substituteStandardNumber = res.result.关联信息.find(item => item.dbFieldName === 'substitute_standard_number')
if (partName) {
dataList.push(partName)
}
if (substituteStandardNumber) {
dataList.push(substituteStandardNumber)
}
// 3、企标编号如果是自动发起的就带入(文本框),从新建流程点入的话就从企标计划选择(选择企标计划组件)
if (this.flowInitType === 'newProcess') {
// 是新建流程,删除企标编号字段,在html中设置显示企标计划选择
if (dataList[0].dbFieldName === 'standard_number') {
dataList.shift()
}
}
console.log(dataList)
this.dataList = dataList
this.ruleList = dataList
this.integrateData()
this.getOptionsData() // 获取下拉数据
callBack && callBack()
}
})
},
// 设置表单校验
integrateData () {
this.isFormInline = false
const ruleList = this.ruleList
const rules = {}
ruleList.forEach((res, index) => {
const rule = []
if (res.fieldMustInput === '1') {
if ([FieldType.TEXT_BOX.value, FieldType.TEXTAREA.value].includes(res.fieldShowType)) {
rule.push({
required: true,
message: res.dbFieldTxt + this.$t('cannotEmpty'),
trigger: 'blur'
})
} else {
rule.push({
required: true,
message: res.dbFieldTxt + this.$t('cannotEmpty'),
trigger: 'change'
})
}
} else {
if ([FieldType.TEXT_BOX.value, FieldType.TEXTAREA.value].includes(res.fieldShowType)) {
rule.push({
required: false,
message: res.dbFieldTxt + this.$t('cannotEmpty'),
trigger: 'blur'
})
} else {
rule.push({
required: false,
message: res.dbFieldTxt + this.$t('cannotEmpty'),
trigger: 'change'
})
}
}
if (rule.length > 0) {
rules[res.dbFieldName] = rule
}
})
this.rules = { ...this.rules, ...rules }
this.isFormInline = true
this.confirmLoading = false
},
/**
* 处理需要通过接口获取的下拉数据
*/
getOptionsData () {
const formList = this.dataList
formList.forEach(item => {
if (item.fieldShowType === FieldType.TREE.value || item.fieldShowType === FieldType.TREE_SINGLE.value) {
// 展示类型是树选择,且有接口的
if (item.fieldHref) {
getAction(item.fieldHref).then(res => {
if (res.success) {
this.$set(this.optionsData, item.dbFieldName, res.result)
}
})
} else if (item.dictId) {
getFormDictTreeList({ dictId: item.dictId }).then(res => {
if (res.success) {
this.$set(this.optionsData, item.dbFieldName, res.result)
}
})
}
}
})
},
getStandardGradeClassificationArr () {
getStandardGradeClassification().then(res => {
if (res.success) {
this.standardGradeClassification = res.result
}
})
},
// 选择用户得到用户名
userSelectNameChange (value, fieldName) {
this.formInline[fieldName + '_dictText'] = value
},
// 4、从企标计划选择企标编号的话,把其他字段也回显
listChange (value) {
console.log(value)
// 回显企标编号
this.formInline.standard_number = value[0].newEnStandardNo
// 回显制修订类型
this.formInline.typeOfRevision = value[0].applicationCategory
this.formInline.typeOfRevision_dictText = value[0].applicationCategory_dictText
this.$refs.ruleForm.clearValidate('typeOfRevision')
// 企标名称
this.formInline.standard_name = value[0].newEnStandardName
// 标准英文名称
this.formInline.standard_english_name = value[0].enStandardEnglishName
// 标准体系
this.formInline.standard_system = value[0].enStandardSystem ? value[0].enStandardSystem.split(',').map(item => {
return { value: item }
}) : []
// 标准等级分类
this.formInline.grade_classification = value[0].enStandardClassification
// 授权部门
this.formInline.auth_dept = value[0].authDept
// 发布日期??
// this.formInline.release_date = value[0].applicationCategory
// 实施日期??
// this.formInline.implementation_date = value[0].applicationCategory
// 编制说明
this.formInline.comp_illustration = value[0].compilationDescription
// 是否试行??
// this.formInline.try_flag = value[0].applicationCategory
// 试行周期??
// this.formInline.trial_period = value[0].applicationCategory
// 代替标准号
// this.formInline.standard_number = value[0].applicationCategory
// 设置主起草单位,改变标准等级分类的时候设置授权部门有时会需要主起草单位
this.formInline.main_drafting_unit = value[0].mainDraftingUnit
// 征求意见稿计划完成日期,因为部所联络人节点征求意见截止日期需要限制比征求意见稿计划完成日期早
this.formInline.solicitationDraftPlanCompleteDate = value[0].solicitationDraftPlanCompleteDate
this.formInline = Object.assign({}, this.formInline)
// 设置流程名称
const processName = this.formInline.standard_number + '-' + (this.formInline.standard_name || '') + '-' + this.formInline.typeOfRevision_dictText
this.$emit('processNameChange', processName)
this.$forceUpdate()
},
// 点击点击上传按钮
clickButtonToUpload (item) {
this.$refs.uploadFile.open(this.formInline[item.dbFieldName])
this.uploadName = item.dbFieldName
},
// 树弹框选择改变
treeSelectNameChange (value, fieldName) {
this.formInline[fieldName + '_dictText'] = value
},
// 文件上传改变后的回调
uploadFileChange (data) {
const attIdList = []
if (data && data.length > 0) {
data.map(item => {
attIdList.push(item.id)
})
}
/** 赋值给当前对应的表单文件 */
this.formInline[this.uploadName] = attIdList.join(',')
this.formInline = { ...this.formInline }
}
}
}
</script>
<style scoped lang="less">
@import '~@assets/less/common.less';
</style>