[update] 修改企标制修订流程

This commit is contained in:
lideqin
2023-12-22 14:11:41 +08:00
parent 525a36341d
commit be10e66144
9 changed files with 335 additions and 190 deletions
@@ -15,7 +15,7 @@
<a-col :span="24">
<!-- 起草单位 todo:数据来源起草单位还不知道对接过来的起草部门是什么形式,没做处理 -->
<a-form-item :label="$t('workCenter.enStandardRevision.draftingUnit')" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-select-depart v-decorator="['draftingUnit', validatorRules.draftingUnit]"
<j-select-depart v-decorator="['dept', validatorRules.dept]"
@back="draftingUnitBack"
:backDepart="true" />
</a-form-item>
@@ -24,27 +24,27 @@
<!-- 起草人 todo: 选人应该在起草单位的基础上选,还没处理 -->
<a-form-item :label="$t('workCenter.enStandardRevision.drafter')" :labelCol="labelCol" :wrapperCol="wrapperCol">
<user-selection :placeholder="$t('pleaseSelect')+$t('workCenter.enStandardRevision.drafter')"
v-decorator="['drafter', validatorRules.drafter]"
filedName="drafter"
v-decorator="['user', validatorRules.user]"
filedName="user"
@nameChange="userSelectNameChange"
:nameStr="model.drafter_dictText"
:nameStr="model.user_dictText"
type="radio" />
</a-form-item>
</a-col>
<a-col :span="24">
<!-- 起草范围 -->
<a-form-item :label="$t('workCenter.enStandardRevision.draftingScope')" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input :placeholder="$t('pleaseEnter') + $t('standardRegulationLibrary.standardDetail.standardNumber')"
<a-input :placeholder="$t('pleaseEnter') + $t('workCenter.enStandardRevision.draftingScope')"
@change="event => event.target.value = event.target.value.trim()"
:maxLength="50"
v-decorator="['draftingScope', validatorRules.draftingScope]" />
v-decorator="['scope', validatorRules.scope]" />
</a-form-item>
</a-col>
<a-col :span="24">
<!-- 截止日期 -->
<a-form-item :label="$t('expirationDate')" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-date-picker :placeholder="$t('pleaseSelect') + $t('expirationDate')"
v-decorator="['expirationDate', validatorRules.expirationDate]"
v-decorator="['deadline', validatorRules.deadline]"
value-format="YYYY-MM-DD"
:showTime="false"
style="width: 100%" />
@@ -86,19 +86,19 @@ export default {
sm: { span: 20 }
},
validatorRules: {
draftingUnit: {
dept: {
rules: [{ required: true, message: this.$t('pleaseSelect') + this.$t('workCenter.enStandardRevision.draftingUnit') }],
validateTrigger: 'change'
},
drafter: {
user: {
rules: [{ required: true, message: this.$t('pleaseSelect') + this.$t('workCenter.enStandardRevision.drafter') }],
validateTrigger: 'change'
},
draftingScope: {
scope: {
rules: [{ required: true, message: this.$t('pleaseEnter') + this.$t('workCenter.enStandardRevision.draftingScope') }],
validateTrigger: 'blur'
},
expirationDate: {
deadline: {
rules: [{ required: true, message: this.$t('pleaseSelect') + this.$t('expirationDate') }],
validateTrigger: 'change'
}
@@ -114,7 +114,7 @@ export default {
this.form.resetFields()
this.model = Object.assign({}, record)
this.$nextTick(() => {
this.form.setFieldsValue(pick(this.model, 'draftingUnit', 'drafter', 'draftingScope', 'expirationDate'))
this.form.setFieldsValue(pick(this.model, 'dept', 'user', 'scope', 'deadline'))
})
},
// 选择用户得到用户名
@@ -124,7 +124,7 @@ export default {
// 起草单位回调
draftingUnitBack (value) {
console.log(value)
this.model.draftingUnit_dictText = value.map(item => item.text).join(',')
this.model.dept_dictText = value.map(item => item.text).join(',')
},
handleOk () {
if (this.confirmLoading) return
@@ -28,11 +28,12 @@
{{ $t('workCenter.enterpriseInitChangePlan.enterpriseStandardNum') }}
</span>
</div>
<a-form-model-item class="item-model" prop="applicationCategory">
<a-form-model-item class="item-model" prop="espId">
<enterprise-plan-selection type="radio"
:placeholder="$t('pleaseSelect')+$t('workCenter.enterpriseInitChangePlan.enterpriseStandardNum')"
v-model="formInline.standardPlanId"
: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>
@@ -48,11 +49,9 @@
<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>
<span class="title-text-text" :title="item.dbFieldTxt">{{ item.dbFieldTxt }}</span>
</div>
<a-form-model-item class="item-model" prop="applicationCategory">
<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"
@@ -99,6 +98,8 @@
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"
@@ -186,9 +187,10 @@
<script>
import {
getEnterpriseStandardAddForm
getEnterpriseStandardAddForm,
getStandardGradeClassification
} from '@/api/enterpriseStandardLibraryApi'
import { StandardSource, FieldType, ApplicationCategory, IsTrial } from '@/enums/commonEnums'
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'
@@ -217,9 +219,97 @@ export default {
}
},
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级
// // 带出3级的部门:起草部门
// this.formInline.auth_dept = this.standardGradeClassification.find(item => item.level + '' === '3').deptIds
// 带出主起草单位
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) {
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')
}
}
}
},
// 主起草单位改变后,需要将选中的主起草单位增加到授权部门
'formInline.main_drafting_unit' (val) {
if (val) {
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 && this.flag === StandardSource.ENTERPRISE.value) {
if (val) {
if (val === IsTrial.YES.value) {
// 试行周期给默认值24
this.formInline.trial_period = '24'
@@ -233,6 +323,12 @@ export default {
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 () {
@@ -245,21 +341,61 @@ export default {
isFormInline: false, // 是否展示表单
disabledFieldList: ['standard_number'], // 不可修改字段
formInline: {},
rules: {},
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'
}]
},
disabled: false,
optionsData: {} // 标签管理中维护字段的下拉框数据
optionsData: {}, // 标签管理中维护字段的下拉框数据
isEditSetData: false, // 是否正在初始化设置值,为了不执行某些watch
innerDisabledField: [], // 不可更改的字段
departSelectRange: [], // 授权部门的可选范围
standardGradeClassification: [], // 企标级别映射数据,用于标准等级分类和授权部门的对应
oldMainDraftingUnit: '' // 上一次的主起草单位
}
},
mounted () {
this.getForm()
this.getStandardGradeClassificationArr()
},
methods: {
initData (data) {
this.isEditSetData = true
this.formInline = JSON.parse(data.businessJson)
this.formInline.standard_system = this.formInline.standard_system ? this.formInline.standard_system.split(',').map(item => {
return { value: item }
}) : []
this.isEditSetData = false
},
// 外层获取数据要过校验,返回false表示没有通过校验
async getDataValidate () {
let data = {}
console.log(this.rules)
await this.$refs.ruleForm.validate(valid => {
console.log(valid)
if (valid) {
data.formInline = this.formInline
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
}
@@ -343,7 +479,7 @@ export default {
rules[res.dbFieldName] = rule
}
})
this.rules = rules
this.rules = { ...this.rules, ...rules }
this.isFormInline = true
this.confirmLoading = false
},
@@ -371,6 +507,13 @@ export default {
}
})
},
getStandardGradeClassificationArr () {
getStandardGradeClassification().then(res => {
if (res.success) {
this.standardGradeClassification = res.result
}
})
},
// 4、从企标计划选择企标编号的话,把其他字段也回显
listChange (value) {
console.log(value)
@@ -378,6 +521,14 @@ export default {
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.main_drafting_unit = value[0].mainDraftingUnit
// 设置流程名称
const processName = this.formInline.standard_number + '-' + (this.formInline.standard_name || '') + '-' + this.formInline.typeOfRevision_dictText
this.$emit('processNameChange', processName)
this.$forceUpdate()
},
// 点击点击上传按钮
clickButtonToUpload (item) {
@@ -17,7 +17,7 @@
<a-tooltip overlay-class-name="tooltip-style">
<template slot="title">{{ text || text === 0 ? text : global.emptyLine }}</template>
<div class="standard-file-div">
<a class="link-a" @click="handleLookUploadStandard(record)">{{ record.standardFile_dictText }}</a>
<a class="link-a" @click="handleLookUploadStandard(record)">{{ record.fileId_dictText }}</a>
<a class="download-a" @click="handleDownloadUploadStandard(record)">{{ $t('download') }}</a>
</div>
</a-tooltip>
@@ -26,103 +26,82 @@
</j-table>
</div>
<a-form-model :model="formInline" class="form-add" :rules="rules" ref="ruleForm">
<div class="collapsible-panel-form">
<div class="form-flex-box collapsible-panel-form-content collapsible-content-no-head">
<!-- 标准文本 -->
<div class="box-title-text form-flex-item">
<div class="title-text">
<div class="form-flex-box">
<!-- 标准文本 -->
<div class="box-title-text form-flex-item">
<div class="title-text">
<span class="title-text-text" :title="$t('workCenter.enStandardRevision.standardText')">
{{ $t('workCenter.enStandardRevision.standardText') }}
</span>
</div>
<a-form-model-item class="item-model">
<div class="online-edit-wrapper">
<!-- todo: 还不确定这里展示的是什么 -->
<p>企业标准</p>
<a-button type="primary">{{ $t('workCenter.enStandardRevision.onLineEditing') }}</a-button>
</div>
</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.enStandardRevision.conferee')">
<a-form-model-item class="item-model">
<div class="online-edit-wrapper">
<!-- todo: 还不确定这里展示的是什么 -->
<p>企业标准</p>
<a-button type="primary">{{ $t('workCenter.enStandardRevision.onLineEditing') }}</a-button>
</div>
</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.enStandardRevision.conferee')">
{{ $t('workCenter.enStandardRevision.conferee') }}
</span>
</div>
<a-form-model-item class="item-model" prop="conferee">
<user-selection v-model="formInline.conferee"
:placeholder="$t('pleaseSelect')+$t('workCenter.enStandardRevision.conferee')"
:disabled="disabled"
filedName="conferee"
@nameChange="userSelectNameChange"
:nameStr="formInline.conferee_dictText"
type="checkbox"/>
</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.enStandardRevision.meetingSummary')">
<a-form-model-item class="item-model" prop="meetingUsers">
<user-selection v-model="formInline.meetingUsers"
:placeholder="$t('pleaseSelect')+$t('workCenter.enStandardRevision.conferee')"
:disabled="disabled"
filedName="meetingUsers"
@nameChange="userSelectNameChange"
:nameStr="formInline.meetingUsers_dictText"
type="checkbox"/>
</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.enStandardRevision.meetingSummary')">
{{ $t('workCenter.enStandardRevision.meetingSummary') }}
</span>
</div>
<a-form-model-item class="item-model" prop="meetingSummary">
<a-button type="primary" class="button-text" style="width: 200px" @click="clickButtonToUpload('meetingSummary')">
{{
(formInline.meetingSummary === 'null' || formInline.meetingSummary === ''
|| formInline.meetingSummary === null || formInline.meetingSummary === undefined)
? $t('uploadFile.clickUpload')
: $t('uploadFile.viewUploadedFiles')
}}
</a-button>
</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.enStandardRevision.compilationIllustration')">
{{ $t('workCenter.enStandardRevision.compilationIllustration') }}
</span>
</div>
<a-form-model-item class="item-model" prop="comp_illustration">
<a-button type="primary" class="button-text" style="width: 200px" @click="clickButtonToUpload('comp_illustration')">
{{
(formInline.comp_illustration === 'null' || formInline.comp_illustration === ''
|| formInline.comp_illustration === null || formInline.comp_illustration === undefined)
? $t('uploadFile.clickUpload')
: $t('uploadFile.viewUploadedFiles')
}}
</a-button>
</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.enStandardRevision.isNeedAudit')">
<a-form-model-item class="item-model" prop="meetingSummary">
<a-button type="primary" class="button-text" style="width: 200px" @click="clickButtonToUpload('meetingSummary')">
{{
(formInline.meetingSummary === 'null' || formInline.meetingSummary === ''
|| formInline.meetingSummary === null || formInline.meetingSummary === undefined)
? $t('uploadFile.clickUpload')
: $t('uploadFile.viewUploadedFiles')
}}
</a-button>
</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.enStandardRevision.isNeedAudit')">
{{ $t('workCenter.enStandardRevision.isNeedAudit') }}
</span>
</div>
<a-form-model-item class="item-model" prop="isNeedAudit">
<a-radio-group v-model="formInline.isNeedAudit">
<a-radio :value="1">
{{ $t('yes') }}
</a-radio>
<a-radio :value="2">
{{ $t('not') }}
</a-radio>
</a-radio-group>
</a-form-model-item>
</div>
<a-form-model-item class="item-model" prop="inspectFlag">
<a-radio-group v-model="formInline.inspectFlag">
<a-radio :value="1">
{{ $t('yes') }}
</a-radio>
<a-radio :value="0">
{{ $t('not') }}
</a-radio>
</a-radio-group>
</a-form-model-item>
</div>
</div>
</a-form-model>
<!-- 是否需要稽查选择是,需要填写稽查内容,否则隐藏稽查内容区域 -->
<template v-if="formInline.isNeedAudit === 1">
<template v-if="formInline.inspectFlag === 1">
<!-- 稽查内容 -->
<p class="base-info-inner-title">{{ $t('enterpriseStandardLibrary.standard.auditContent') }}</p>
@@ -205,32 +184,32 @@ export default {
title: this.$t('workCenter.enStandardRevision.draftingUnit'),
align: 'center',
width: 180,
dataIndex: 'draftingUnit_dictText',
dataIndex: 'dept_dictText',
scopedSlots: { customRender: 'text' }
},
{ // 起草人
title: this.$t('workCenter.enStandardRevision.drafter'),
align: 'center',
width: 180,
dataIndex: 'drafter_dictText',
dataIndex: 'user_dictText',
scopedSlots: { customRender: 'text' }
},
{ // 起草范围
title: this.$t('workCenter.enStandardRevision.draftingScope'),
align: 'center',
width: 180,
dataIndex: 'draftingScope',
dataIndex: 'scope',
scopedSlots: { customRender: 'text' }
},
{ // 截止日期
title: this.$t('expirationDate'),
align: 'center',
width: 180,
dataIndex: 'expirationDate',
dataIndex: 'deadline',
scopedSlots: { customRender: 'text' }
},
{ // 企标文本
dataIndex: 'standardFile_dictText',
dataIndex: 'fileId_dictText',
title: this.$t('workCenter.enStandardRevision.enterpriseStandardText'),
scopedSlots: { customRender: 'standardFile' },
align: 'center',
@@ -238,12 +217,12 @@ export default {
}
],
// 起草人表格数据
drafterDataSource: [{id: 1, standardFile: '1715299701232504833', standardFile_dictText: '测试上传excel测试测试测试测试.xls'}],
drafterDataSource: [],
drafterLoading: false,
formInline: {},
rules: {
// 参会人员
conferee: [
meetingUsers: [
{
required: true,
message: this.$t('workCenter.enStandardRevision.conferee') + this.$t('cannotEmpty'),
@@ -259,7 +238,7 @@ export default {
}
],
// 是否需要稽查
isNeedAudit: [
inspectFlag: [
{
required: true,
message: this.$t('workCenter.enStandardRevision.isNeedAudit') + this.$t('cannotEmpty'),
@@ -269,25 +248,35 @@ export default {
},
// 稽查内容表格列
columns: [
{
{ // 条款
title: this.$t('enterpriseStandardLibrary.standard.subjectToClause'),
align: 'center',
width: 180,
dataIndex: 'clause',
scopedSlots: { customRender: 'text' }
},
{
{ // 标准内容和要求
title: this.$t('enterpriseStandardLibrary.standard.standardContentOrRequirements'),
align: 'center',
width: 180,
dataIndex: 'requirement',
scopedSlots: { customRender: 'text' }
},
{ // 整改部门
title: this.$t('enterpriseStandardLibrary.standard.rectificationDepartment'),
align: 'center',
width: 200,
dataIndex: 'rectificationDepartment',
customRender: (value, row, index) => {
return <j-select-depart v-model={this.dataSource[index].rectificationDepartment}
backDepart={true} />
}
},
{
title: this.$t('operation'),
scopedSlots: { customRender: 'action' },
align: 'center',
width: 200
width: 150
}
],
// 稽查内容表格数据
@@ -302,13 +291,13 @@ export default {
// 拿到外面传进来的数据初始化,因为套了几层就不在外层初始化数据了
initData (data) {
// 给表格赋值,在线编辑不知道要怎么赋值?
// this.drafterDataSource =
this.drafterDataSource = data.otherDraftUserVOS
// this.dataSource =
// this.formInline =
// 给表单赋值
// this.$nextTick(() => {
// this.$refs.baseInfoForm.formInline =
// })
this.$nextTick(() => {
this.$refs.baseInfoForm.initData(data)
})
},
// 外层要获取数据
getData () {
@@ -340,7 +329,7 @@ export default {
// 查看企标文本
handleLookUploadStandard (record) {
// 截取文件后缀名
const fileSuffix = record.standardFile_dictText ? record.standardFile_dictText.split('.')[record.standardFile_dictText.split('.').length - 1].toLowerCase() : ''
const fileSuffix = record.fileId_dictText ? record.fileId_dictText.split('.')[record.fileId_dictText.split('.').length - 1].toLowerCase() : ''
const canPreview = CAN_PREVIEW_FILE_SUFFIX.some(tt => fileSuffix.toLowerCase() === tt)
// 判断是否为可预览格式的文件
if (!canPreview) {
@@ -349,10 +338,10 @@ export default {
})
return
}
const fileFullUrl = `${window._CONFIG.domianWebSocketURL}/sys/common/view/${record.standardFile}?token=${Vue.ls.get(ACCESS_TOKEN)}&fullfilename=${record.standardFile_dictText}`
const fileFullUrl = `${window._CONFIG.domianWebSocketURL}/sys/common/view/${record.fileId}?token=${Vue.ls.get(ACCESS_TOKEN)}&fullfilename=${record.fileId_dictText}`
// 图片预览,使用自己添加的组件
if (canPreview && FILE_TYPE_IMGS.includes(fileSuffix)) {
this.imageUrl = getFileAccessHttpUrl(record.standardFile)
this.imageUrl = getFileAccessHttpUrl(record.fileId)
// 获取viewer实例
const viewer = this.$el.querySelector('.image').$viewer
// 调用show方法进行显示预览图
@@ -362,7 +351,7 @@ export default {
}
// pdf预览
if (canPreview && FILE_TYPE_PDF.includes(fileSuffix)) {
const url = previewPdf(record.standardFile)
const url = previewPdf(record.fileId)
window.open(url)
return
}
@@ -373,7 +362,7 @@ export default {
// 下载企标文本
handleDownloadUploadStandard (record) {
// 下载文件
downloadFile(`/sys/common/download/${record.standardFile}`, record.standardFile_dictText)
downloadFile(`/sys/common/download/${record.fileId}`, record.fileId_dictText)
},
// 选择用户得到用户名
userSelectNameChange (value, fieldName) {
@@ -436,9 +425,9 @@ export default {
<style scoped lang="less">
@import '~@assets/less/common.less';
.collapsible-content-no-head {
border-top: 1px solid #E5E6EB;
border-radius: 8px 8px 8px 8px;
.form-add {
margin-top: 30px;
}
.online-edit-wrapper {
@@ -1,6 +1,6 @@
<template>
<div>
<base-info-form ref="baseInfoForm" v-bind="$attrs" :disabled="disabled"></base-info-form>
<base-info-form ref="baseInfoForm" v-bind="$attrs" :disabled="disabled" @processNameChange="processNameChange"></base-info-form>
<!-- 标准文本 -->
<div class="box-title-text form-flex-item">
<div class="title-text">
@@ -73,28 +73,28 @@ export default {
title: this.$t('workCenter.enStandardRevision.draftingUnit'),
align: 'center',
width: 180,
dataIndex: 'draftingUnit_dictText',
dataIndex: 'dept_dictText',
scopedSlots: { customRender: 'text' }
},
{ // 起草人
title: this.$t('workCenter.enStandardRevision.drafter'),
align: 'center',
width: 180,
dataIndex: 'drafter_dictText',
dataIndex: 'user_dictText',
scopedSlots: { customRender: 'text' }
},
{ // 起草范围
title: this.$t('workCenter.enStandardRevision.draftingScope'),
align: 'center',
width: 180,
dataIndex: 'draftingScope',
dataIndex: 'scope',
scopedSlots: { customRender: 'text' }
},
{ // 截止日期
title: this.$t('expirationDate'),
align: 'center',
width: 180,
dataIndex: 'expirationDate',
dataIndex: 'deadline',
scopedSlots: { customRender: 'text' }
},
{ // 操作
@@ -114,11 +114,11 @@ export default {
// 拿到外面传进来的数据初始化,因为套了几层就不在外层初始化数据了
initData (data) {
// 给表格赋值,在线编辑不知道要怎么赋值?
// this.dataSource =
this.dataSource = data.otherDraftUserVOS
// 给表单赋值
// this.$nextTick(() => {
// this.$refs.baseInfoForm.formInline =
// })
this.$nextTick(() => {
this.$refs.baseInfoForm.initData(data)
})
},
// 外层要获取数据
getData () {
@@ -129,19 +129,22 @@ export default {
return data
},
// 外层获取数据要过校验,返回false表示没有通过校验
getDataValidate () {
const formData = this.$refs.baseInfoForm.getDataValidate()
if (formData && this.dataSource && this.dataSource.length > 0) {
async getDataValidate () {
const formData = await this.$refs.baseInfoForm.getDataValidate()
console.log(formData)
if (formData) {
// 有数据可以抛出
const data = {}
data.dataSource = this.dataSource
data.formInline = formData.formInline
return data
} else {
this.$message.warning(this.$t('addAtLeastOneRowOfData'))
return false
}
},
processNameChange (value) {
this.$emit('processNameChange', value)
},
handleAdd () {
this.modalType = 'add'
this.$refs.addEditDrafterDrawer.add()
@@ -88,13 +88,7 @@ export default {
width: 200
}
],
dataSource: [
{
id: 1,
expirationDate: '2023-10-08',
drafter: 'e9ca23d68d884d4ebb19d07889727dae'
}
],
dataSource: [],
loading: false,
userInfo: {}, // 当前登录人信息
currentDate: '',
@@ -109,11 +103,11 @@ export default {
// 拿到外面传进来的数据初始化,因为套了几层就不在外层初始化数据了
initData (data) {
// 给表格赋值,在线编辑不知道要怎么赋值?
// this.dataSource =
this.dataSource = data.otherDraftUserVOS
// 给表单赋值
// this.$nextTick(() => {
// this.$refs.baseInfoForm.formInline =
// })
this.$nextTick(() => {
this.$refs.baseInfoForm.initData(data)
})
},
// 外层要获取数据
getData () {