update 会后管理流程
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<internal-detail-page :title="pageTitle" :content-padding="0">
|
||||
<internal-detail-page :title="pageTitle" :content-padding="0" :loading="loading">
|
||||
<!-- 标题右侧tab -->
|
||||
<template v-slot:titleRightCustom>
|
||||
<div class="table-operator-tab">
|
||||
@@ -27,7 +27,7 @@
|
||||
@change="event => event.target.value = event.target.value.trim()"
|
||||
:maxLength="50"
|
||||
:disabled="disabled || processDisabled"
|
||||
v-decorator="['processName', validatorRules.processName]" />
|
||||
v-decorator="['prcName', validatorRules.processName]" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
@@ -36,8 +36,8 @@
|
||||
<a-date-picker :placeholder="$t('pleaseSelect') + $t('expirationDate')"
|
||||
style="width: 100%"
|
||||
:disabled="disabled || processDisabled"
|
||||
value-format="YYYY-MM-DD"
|
||||
v-decorator="['expirationDate']" />
|
||||
value-format="YYYY-MM-DD hh:mm:ss"
|
||||
v-decorator="['dueTime']" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
@@ -47,7 +47,7 @@
|
||||
:maxLength="500"
|
||||
:rows="4"
|
||||
:disabled="disabled || processDisabled"
|
||||
v-decorator="['processExplain']" />
|
||||
v-decorator="['prcMes']" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
@@ -56,7 +56,7 @@
|
||||
<!-- 业务基本信息 -->
|
||||
<div class="process-part-title">{{ $t('basicServiceInformation') }}</div>
|
||||
|
||||
<base-info-form :disabled="currentNode > 1" :current-node="currentNode"/>
|
||||
<base-info-form ref="baseInfoForm" :disabled="currentNode !== PostMeetingManage.initiate.value" :current-node="currentNode"/>
|
||||
|
||||
<!-- 流程审批信息 -->
|
||||
<div class="process-part-title">{{ $t('processApprovalInformation') }}</div>
|
||||
@@ -66,38 +66,58 @@
|
||||
<a-textarea :placeholder="$t('pleaseEnter') + $t('remarks')"
|
||||
:maxLength="500"
|
||||
:rows="4"
|
||||
v-decorator="['remarks', validatorRules.remarks]" />
|
||||
v-decorator="['commitText', validatorRules.remarks]" />
|
||||
</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="['commitFile']" return-id />
|
||||
</a-form-item>
|
||||
</a-form>
|
||||
</div>
|
||||
<!-- 人员信息 -->
|
||||
<div v-if="switchValue === 'user'" class="detail-page-scroll-content p-0">
|
||||
<process-detail-list :url="url">
|
||||
<personnel-info slot="personnelInfo" :data="personnelInfoData" :currentNode="currentNode"></personnel-info>
|
||||
<div v-show="switchValue === 'user'" class="detail-page-scroll-content p-0">
|
||||
<process-detail-list :process-key="processKey">
|
||||
<template #personnelInfo>
|
||||
<personnel-info ref="personnelInfo" :data="personnelInfoData" :current-node="currentNodeName" />
|
||||
</template>
|
||||
</process-detail-list>
|
||||
</div>
|
||||
|
||||
<div class="detail-page-bottom-operate-box">
|
||||
<a-button type="primary" :loading="loading" @click="handleSave" ghost><i class="iconfont icon-save" />{{ $t('preservation') }}</a-button>
|
||||
<a-button type="primary" :loading="loading" @click="handleSubmit" icon="upload">{{ $t('submit') }}</a-button>
|
||||
<a-button type="primary" :loading="loading" @click="handleAgree" icon="check-circle">{{ $t('agree') }}</a-button>
|
||||
<!--未参加-->
|
||||
<a-button v-if="1 & btn" type="primary" :loading="loading" @click="handleUncommitted" ghost icon="arrow-up">{{ $t('turnTo') }}</a-button>
|
||||
<!--转办-->
|
||||
<a-button v-if="2 & btn" type="primary" :loading="loading" @click="handleTurnTo" ghost icon="arrow-up">{{ $t('turnTo') }}</a-button>
|
||||
<!--保存-->
|
||||
<a-button v-if="4 & btn" type="primary" :loading="loading" @click="handleSave" ghost><i class="iconfont icon-save" />{{ $t('preservation') }}</a-button>
|
||||
<!--提交-->
|
||||
<a-button v-if="8 & btn" type="primary" :loading="loading" @click="handleSubmit" icon="upload">{{ $t('submit') }}</a-button>
|
||||
</div>
|
||||
<!--转办选人-->
|
||||
<user-select-modal ref="userSelectModal" check-required @change="continueTurnTo" />
|
||||
</internal-detail-page>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import '@assets/less/common.less'
|
||||
import PersonnelInfo from '@comp/PersonnelInfo'
|
||||
import ProcessDetailList from '@comp/ProcessDetailList'
|
||||
import InternalDetailPage from '@comp/InternalDetailPage'
|
||||
import BaseInfoForm from '@views/workCenter/postMeetingManageProcess/modules/BaseInfoForm'
|
||||
import { WorkCenterMixin } from '@/mixins/WorkCenterMixin'
|
||||
import UserSelectModal from '@comp/selection/UserSelectModal'
|
||||
import { PostMeetingManage, ProcessKey } from '@/enums/commonEnums'
|
||||
import {
|
||||
approvalPostMeetingManage,
|
||||
getPostMeetingManageDataById,
|
||||
getPostMeetingManageDetail,
|
||||
getPostMeetingManageProjectId, savePostMeetingManage, startPostMeetingManage, transferPostMeetingManage
|
||||
} from '@api/workCenter'
|
||||
|
||||
export default {
|
||||
name: 'PostMeetingManageProcess',
|
||||
components: { BaseInfoForm, PersonnelInfo, ProcessDetailList, InternalDetailPage },
|
||||
components: { UserSelectModal, BaseInfoForm, PersonnelInfo, ProcessDetailList, InternalDetailPage },
|
||||
mixins: [WorkCenterMixin],
|
||||
data () {
|
||||
return {
|
||||
loading: false,
|
||||
@@ -119,8 +139,17 @@ export default {
|
||||
xs: { span: 24 },
|
||||
sm: { span: 22 }
|
||||
},
|
||||
currentNode: '1',
|
||||
personnelInfoData: [], // 人员信息数据
|
||||
// 流程key
|
||||
processKey: ProcessKey.POST_MEETING_MANAGE.value,
|
||||
// 当前流程信息
|
||||
PostMeetingManage,
|
||||
info: {},
|
||||
formInfo: {},
|
||||
currentNode: '',
|
||||
currentNodeName: '',
|
||||
// 项目id
|
||||
projectId: '',
|
||||
btn: 0,
|
||||
validatorRules: {
|
||||
// 流程名称
|
||||
processName: {
|
||||
@@ -144,8 +173,9 @@ export default {
|
||||
validateTrigger: 'blur'
|
||||
}
|
||||
},
|
||||
// 流程表单
|
||||
processInfoForm: this.$form.createForm(this),
|
||||
baseInfoForm: this.$form.createForm(this),
|
||||
// 流程审批信息表单
|
||||
approvalInfoForm: this.$form.createForm(this),
|
||||
url: {
|
||||
list: '' // 人员信息右侧表的分页查询接口
|
||||
@@ -154,27 +184,280 @@ export default {
|
||||
},
|
||||
computed: {
|
||||
pageTitle () {
|
||||
return this.$t('flowCenter') + this.$route.meta.title
|
||||
return this.$t('flowCenter') + this.$route.meta.title + '(' + this.nodeTitle + ')'
|
||||
},
|
||||
// 节点标题
|
||||
nodeTitle () {
|
||||
return this.$route.query.taskName || PostMeetingManage.initiate.text
|
||||
},
|
||||
processDisabled () {
|
||||
return +this.currentNode > 1
|
||||
return this.currentNode !== PostMeetingManage.initiate.value
|
||||
}
|
||||
},
|
||||
created () {
|
||||
const { projectId, nodeId, taskName } = this.$route.query
|
||||
// 发起、草稿进来没有nodeId,就默认发起节点
|
||||
this.currentNode = nodeId || PostMeetingManage.initiate.value
|
||||
this.currentNodeName = taskName || PostMeetingManage.initiate.text
|
||||
this.projectId = projectId
|
||||
this.btn = PostMeetingManage.propertyOfValue('btn', this.currentNode) || 0
|
||||
// 如果有nodeId,但是匹配不到任何节点,就是是增加的审批节点
|
||||
if (nodeId && !PostMeetingManage.keyOfValue(nodeId)) {
|
||||
// 审批和同意按钮
|
||||
this.btn = 8
|
||||
}
|
||||
// 查询人员信息
|
||||
this.getPersonInfoStructure(this.processKey, () => {
|
||||
this.initPersonInfoData(this.currentNode === PostMeetingManage.initiate.value)
|
||||
})
|
||||
// 如果是待办进来,就获取详情数据
|
||||
if (this.$route.query.projectId) {
|
||||
this.loadPage()
|
||||
return
|
||||
}
|
||||
// 如果是新建进来,就获取项目id
|
||||
this.getProjectId()
|
||||
},
|
||||
methods: {
|
||||
switchChange (value) {
|
||||
this.switchValue = value
|
||||
/**
|
||||
* 获取项目id
|
||||
*/
|
||||
getProjectId () {
|
||||
this.loading = true
|
||||
// 否则就是创建一个新的流程
|
||||
getPostMeetingManageProjectId().then(res => {
|
||||
if (res) {
|
||||
this.projectId = res + ''
|
||||
}
|
||||
}).finally(() => {
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
handleSave () {
|
||||
// if (this.loading) return
|
||||
/**
|
||||
* 获取页面详情
|
||||
*/
|
||||
loadPage () {
|
||||
const { projectId, taskId } = this.$route.query
|
||||
this.loading = true
|
||||
// 获取业务数据
|
||||
getPostMeetingManageDataById({ projectId: this.projectId }).then(res => {
|
||||
if (res.success) {
|
||||
const data = res.result || {}
|
||||
// 保存并回显表单信息
|
||||
this.formInfo = data
|
||||
this.$nextTick(() => {
|
||||
this.$refs.baseInfoForm.initData(data)
|
||||
})
|
||||
}
|
||||
})
|
||||
getPostMeetingManageDetail({
|
||||
projectId,
|
||||
taskId
|
||||
}).then(res => {
|
||||
if (res.success) {
|
||||
const data = res.result || {}
|
||||
const processAll = data.processAll || {}
|
||||
const processApprovalRecord = data.processApprovalRecord || {}
|
||||
this.info = data
|
||||
// 页面回显
|
||||
this.processInfoForm && this.processInfoForm.setFieldsValue({
|
||||
prcName: processAll.prcName,
|
||||
dueTime: processAll.dueTime,
|
||||
prcMes: processAll.prcMes
|
||||
})
|
||||
this.approvalInfoForm && this.approvalInfoForm.setFieldsValue({
|
||||
commitText: processApprovalRecord.commitText,
|
||||
commitFile: processApprovalRecord.commitFile
|
||||
})
|
||||
}
|
||||
}).finally(() => {
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
// 获取人员信息
|
||||
getPersonInfo (isValidate = true) {
|
||||
let personnelObj = {}
|
||||
const funName = isValidate ? 'getDataObjVerify' : 'getDataObj'
|
||||
// 节点1:所有的人员信息
|
||||
if (this.currentNode === PostMeetingManage.initiate.value) {
|
||||
// 人员信息的数据, 处理成对象
|
||||
personnelObj = this.$refs.personnelInfo[funName]()
|
||||
if (!personnelObj) {
|
||||
return false
|
||||
}
|
||||
// List拆成数组
|
||||
for (const key in personnelObj) {
|
||||
if (personnelObj[key] && key.includes('List')) {
|
||||
personnelObj[key] = personnelObj[key].split(',')
|
||||
}
|
||||
}
|
||||
}
|
||||
return personnelObj
|
||||
},
|
||||
// 获取页面参数
|
||||
async getPageParams (isValidate = true) {
|
||||
const params = {}
|
||||
// 收集所有表单信息
|
||||
let formDataList = []
|
||||
if (isValidate) {
|
||||
formDataList = await this.validateFormList(this.processInfoForm, this.approvalInfoForm)
|
||||
formDataList[2] = await this.$refs.baseInfoForm.getDataValidate()
|
||||
} else {
|
||||
formDataList = [
|
||||
this.processInfoForm.getFieldsValue(),
|
||||
this.approvalInfoForm.getFieldsValue(),
|
||||
this.$refs.baseInfoForm.getData()
|
||||
]
|
||||
}
|
||||
// 收集人员信息
|
||||
const getPersonInfo = this.getPersonInfo(isValidate)
|
||||
if (!getPersonInfo) {
|
||||
throw new Error('user')
|
||||
}
|
||||
|
||||
// 开始处理信息
|
||||
// 流程信息
|
||||
params.processAll = Object.assign({}, this.info.processAll, formDataList[0], {
|
||||
projectId: this.projectId,
|
||||
taskId: this.$route.query.taskId
|
||||
})
|
||||
|
||||
// 处理其他参数
|
||||
params.map = Object.assign({}, getPersonInfo)
|
||||
|
||||
// 流程审批信息
|
||||
params.processApprovalRecord = Object.assign({}, this.info.processApprovalRecord, formDataList[1], {
|
||||
projectId: this.projectId
|
||||
})
|
||||
|
||||
// 流程业务信息
|
||||
params.processMeetingManage = Object.assign({}, formDataList[2], {
|
||||
projectId: this.projectId,
|
||||
id: this.formInfo.id
|
||||
})
|
||||
|
||||
return params
|
||||
},
|
||||
/**
|
||||
* 转办弹框
|
||||
*/
|
||||
handleTurnTo () {
|
||||
this.$refs.userSelectModal.open()
|
||||
},
|
||||
/**
|
||||
* 转办
|
||||
*/
|
||||
continueTurnTo (userId) {
|
||||
if (this.loading) return
|
||||
this.loading = true
|
||||
const params = {
|
||||
taskId: this.$route.query.taskId,
|
||||
userId
|
||||
}
|
||||
transferPostMeetingManage(params).then(res => {
|
||||
if (res.success) {
|
||||
this.$message.success(res.message)
|
||||
this.goBack()
|
||||
} else {
|
||||
this.$message.warn(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 保存
|
||||
*/
|
||||
handleSave () {
|
||||
if (this.loading) return
|
||||
this.loading = true
|
||||
this.getPageParams(false).then(res => {
|
||||
console.log(res)
|
||||
return savePostMeetingManage(res)
|
||||
}).then(res => {
|
||||
if (res.success) {
|
||||
this.$message.success(res.message)
|
||||
this.goBack()
|
||||
} else {
|
||||
this.$message.warn(res.message)
|
||||
}
|
||||
}).catch((err) => {
|
||||
console.log(err)
|
||||
}).finally(() => {
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 提交
|
||||
*/
|
||||
handleSubmit () {
|
||||
if (this.loading) return
|
||||
this.currentNode = +this.currentNode + 1 + ''
|
||||
// 发起流程并且没有被驳回,调发起接口,否则调审批接口
|
||||
if (!(this.currentNode === PostMeetingManage.initiate.value && this.$route.query.taskId)) {
|
||||
this.handleAgree()
|
||||
return
|
||||
}
|
||||
this.loading = true
|
||||
this.getPageParams().then(res => {
|
||||
console.log(res)
|
||||
return startPostMeetingManage(res)
|
||||
}).then(res => {
|
||||
if (res.success) {
|
||||
this.$message.success(res.message)
|
||||
this.goBack()
|
||||
} else {
|
||||
this.$message.warn(res.message)
|
||||
}
|
||||
}).catch((err) => {
|
||||
this.switchChange(err.message)
|
||||
}).finally(() => {
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 同意
|
||||
*/
|
||||
handleAgree () {
|
||||
if (this.loading) return
|
||||
this.currentNode = +this.currentNode + 1 + ''
|
||||
this.loading = true
|
||||
this.getPageParams().then(res => {
|
||||
res.map.pass = true
|
||||
return approvalPostMeetingManage(res)
|
||||
}).then(res => {
|
||||
if (res.success) {
|
||||
this.$message.success(res.message)
|
||||
this.goBack()
|
||||
} else {
|
||||
this.$message.warn(res.message)
|
||||
}
|
||||
}).catch((err) => {
|
||||
this.switchChange(err.message)
|
||||
}).finally(() => {
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 验证所有表单
|
||||
* @param formList - 多个需要校验的表单实例
|
||||
*/
|
||||
validateFormList (...formList) {
|
||||
const promiseList = []
|
||||
for (const form of formList) {
|
||||
promiseList.push(
|
||||
new Promise((resolve, reject) => {
|
||||
form.validateFields((err, val) => {
|
||||
if (!err) {
|
||||
resolve(val)
|
||||
} else {
|
||||
reject(err)
|
||||
}
|
||||
})
|
||||
})
|
||||
)
|
||||
}
|
||||
return Promise.all(promiseList).catch(() => {
|
||||
throw new Error('base')
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<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="form-flex-box">
|
||||
<!-- 分标委名称 -->
|
||||
<div class="box-title-text form-flex-item">
|
||||
<div class="title-text">
|
||||
@@ -10,9 +10,10 @@
|
||||
{{ $t('workCenter.postMeetingManageProcess.subStandardizationCommitteeName') }}
|
||||
</span>
|
||||
</div>
|
||||
<a-form-model-item class="item-model" prop="subStandardizationCommitteeName">
|
||||
<a-select v-model="formInline.subStandardizationCommitteeName"
|
||||
<a-form-model-item class="item-model" prop="standardizationFirstId">
|
||||
<a-select v-model="formInline.standardizationFirstId"
|
||||
:disabled="disabled"
|
||||
@change="changeSubStandardizationCommitteeList"
|
||||
:placeholder="$t('pleaseSelect')+$t('workCenter.postMeetingManageProcess.subStandardizationCommitteeName')">
|
||||
<a-select-option v-for="item in subStandardizationCommitteeList" :key="item.id" :value="item.id">{{ item.name }}</a-select-option>
|
||||
</a-select>
|
||||
@@ -25,8 +26,8 @@
|
||||
{{ $t('workCenter.postMeetingManageProcess.workGroupName') }}
|
||||
</span>
|
||||
</div>
|
||||
<a-form-model-item class="item-model" prop="workGroupName">
|
||||
<a-select v-model="formInline.workGroupName"
|
||||
<a-form-model-item class="item-model" prop="standardizationSecondId">
|
||||
<a-select v-model="formInline.standardizationSecondId"
|
||||
:disabled="disabled"
|
||||
:placeholder="$t('pleaseSelect')+$t('workCenter.postMeetingManageProcess.workGroupName')">
|
||||
<a-select-option v-for="item in workGroupList" :key="item.id" :value="item.id">{{ item.name }}</a-select-option>
|
||||
@@ -40,13 +41,13 @@
|
||||
{{ $t('workCenter.postMeetingManageProcess.standardNumber') }}
|
||||
</span>
|
||||
</div>
|
||||
<a-form-model-item class="item-model" prop="standardNumber">
|
||||
<a-form-model-item class="item-model" prop="standardNo">
|
||||
<standard-selection source="1"
|
||||
:disabledSourceSearch="true"
|
||||
:disabled="disabled"
|
||||
:placeholder="$t('pleaseSelect')+$t('workCenter.postMeetingManageProcess.standardNumber')"
|
||||
@nameChange="changeStandardName"
|
||||
v-model="formInline.standardNumber" />
|
||||
v-model="formInline.standardNo" />
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
<!-- 标准名称 -->
|
||||
@@ -71,9 +72,10 @@
|
||||
{{ $t('workCenter.postMeetingManageProcess.meetingName') }}
|
||||
</span>
|
||||
</div>
|
||||
<a-form-model-item class="item-model" prop="meetingName">
|
||||
<a-input v-model="formInline.meetingName"
|
||||
<a-form-model-item class="item-model" prop="name">
|
||||
<a-input v-model="formInline.name"
|
||||
:maxLength="50"
|
||||
:disabled="disabled"
|
||||
:placeholder="$t('pleaseEnter')+$t('workCenter.postMeetingManageProcess.meetingName')" />
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
@@ -85,23 +87,23 @@
|
||||
{{ $t('workCenter.postMeetingManageProcess.attendanceDate') }}
|
||||
</span>
|
||||
</div>
|
||||
<a-form-model-item class="item-model" prop="attendanceDate">
|
||||
<a-form-model-item class="item-model" prop="participationTime">
|
||||
<j-date date-format="YYYY-MM-DD" style="width: 100%" showType="day" :disabled="disabled"
|
||||
:placeholder="$t('pleaseSelect') + $t('workCenter.postMeetingManageProcess.attendanceDate')"
|
||||
v-model="formInline.attendanceDate" />
|
||||
v-model="formInline.participationTime" />
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
<!-- 相关材料 -->
|
||||
<div class="box-title-text form-flex-item" v-if="currentNode === '2'">
|
||||
<div class="box-title-text form-flex-item" v-if="isAttendeesUploadMaterials">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text" :title="$t('workCenter.postMeetingManageProcess.relevantData')">
|
||||
{{ $t('workCenter.postMeetingManageProcess.relevantData') }}
|
||||
</span>
|
||||
</div>
|
||||
<a-form-model-item class="item-model" prop="relevantData">
|
||||
<a-button type="primary" class="button-text" @click="clickButtonToUpload" :disabled="disabled">
|
||||
<a-button type="primary" class="button-text" @click="clickButtonToUpload">
|
||||
{{
|
||||
(formInline.relevantData === 'null' || formInline.relevantData === '' || formInline.relevantData === null || formInline.relevantData === undefined)
|
||||
(formInline.fileIds === 'null' || formInline.fileIds === '' || formInline.fileIds === null || formInline.fileIds === undefined)
|
||||
? $t('uploadFile.clickUpload')
|
||||
: $t('uploadFile.viewUploadedFiles')
|
||||
}}
|
||||
@@ -111,7 +113,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<!-- 上传 -->
|
||||
<upload-file ref="uploadFile" @change="uploadFileChange" :return-url="false"></upload-file>
|
||||
<upload-file ref="uploadFile" @change="uploadFileChange" :return-url="false" :disabled="disabled"></upload-file>
|
||||
</a-form-model>
|
||||
</template>
|
||||
|
||||
@@ -119,6 +121,7 @@
|
||||
import UploadFile from '@comp/UploadFile'
|
||||
import StandardSelection from '@comp/selection/StandardSelection'
|
||||
import { queryTreeList } from '@api/businessSupport'
|
||||
import { PostMeetingManage } from '@/enums/commonEnums'
|
||||
|
||||
export default {
|
||||
name: 'BaseInfoForm',
|
||||
@@ -139,13 +142,15 @@ export default {
|
||||
formInline: {},
|
||||
// 操作类型
|
||||
operationType: null,
|
||||
// 分标委-工作组树结构
|
||||
treeData: [],
|
||||
// 分标委
|
||||
subStandardizationCommitteeList: [],
|
||||
// 工作组
|
||||
workGroupList: [],
|
||||
rules: {
|
||||
// 分标委名称
|
||||
subStandardizationCommitteeName: [
|
||||
standardizationFirstId: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t('workCenter.postMeetingManageProcess.subStandardizationCommitteeName') + this.$t('cannotEmpty'),
|
||||
@@ -153,7 +158,7 @@ export default {
|
||||
}
|
||||
],
|
||||
// 会议名称
|
||||
meetingName: [
|
||||
name: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t('workCenter.postMeetingManageProcess.meetingName') + this.$t('cannotEmpty'),
|
||||
@@ -161,7 +166,7 @@ export default {
|
||||
}
|
||||
],
|
||||
// 参会日期
|
||||
attendanceDate: [
|
||||
participationTime: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t('workCenter.postMeetingManageProcess.attendanceDate') + this.$t('cannotEmpty'),
|
||||
@@ -171,6 +176,16 @@ export default {
|
||||
}
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
// 是否第一个节点
|
||||
isBaseInfo () {
|
||||
return this.currentNode === PostMeetingManage.initiate.value
|
||||
},
|
||||
// 是否第二个节点
|
||||
isAttendeesUploadMaterials () {
|
||||
return this.currentNode === PostMeetingManage.attendeesUploadMaterials.value
|
||||
}
|
||||
},
|
||||
created () {
|
||||
// 分标委、工作组下拉
|
||||
this.initWorkList()
|
||||
@@ -183,45 +198,49 @@ export default {
|
||||
queryTreeList().then(res => {
|
||||
if (res.success) {
|
||||
console.log(res)
|
||||
for (const item of res.result.children) {
|
||||
this.subStandardizationCommitteeList.push(item)
|
||||
if (item.children && item.children.length) {
|
||||
this.workGroupList.push(...item.children)
|
||||
}
|
||||
}
|
||||
this.treeData = res.result.children || []
|
||||
this.subStandardizationCommitteeList.push(...this.treeData)
|
||||
}
|
||||
})
|
||||
},
|
||||
// 联动二级
|
||||
changeSubStandardizationCommitteeList (id) {
|
||||
this.$set(this.formInline, 'standardizationSecondId', undefined)
|
||||
const findNode = this.treeData.find(item => item.id === id)
|
||||
this.workGroupList = findNode.children
|
||||
},
|
||||
// 拿到外面传进来的数据初始化,因为套了几层就不在外层初始化数据了
|
||||
initData (data) {
|
||||
this.data = data
|
||||
this.model = Object.assign({}, data)
|
||||
// 给表单赋值
|
||||
// this.formInline =
|
||||
this.formInline = {
|
||||
...data
|
||||
}
|
||||
},
|
||||
// 外层要获取数据
|
||||
getData () {
|
||||
// 把数据抛出,在线编辑不知道要不要抛
|
||||
const data = {}
|
||||
data.formInline = this.formInline
|
||||
return data
|
||||
return { ...this.formInline }
|
||||
},
|
||||
// 外层获取数据要过校验,返回false表示没有通过校验
|
||||
getDataValidate (callback) {
|
||||
this.$refs.ruleForm.validate(valid => {
|
||||
if (valid) {
|
||||
const data = {}
|
||||
data.formInline = this.formInline
|
||||
callback(data)
|
||||
}
|
||||
// 获取数据并验证
|
||||
getDataValidate () {
|
||||
return new Promise((resolve, reject) => {
|
||||
this.$refs.ruleForm.validate(valid => {
|
||||
if (valid) {
|
||||
const data = { ...this.formInline }
|
||||
resolve(data)
|
||||
} else {
|
||||
reject(new Error('base'))
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
// 选择标准带出名称
|
||||
changeStandardName (val) {
|
||||
this.formInline.esName = val
|
||||
this.formInline.standardName = val
|
||||
},
|
||||
// 点击点击上传按钮
|
||||
clickButtonToUpload (item) {
|
||||
this.$refs.uploadFile.open(item.fileId)
|
||||
clickButtonToUpload () {
|
||||
this.$refs.uploadFile.open(this.formInline.fileIds)
|
||||
// this.uploadName = item.dbFieldName
|
||||
},
|
||||
// 文件上传改变后的回调
|
||||
@@ -233,7 +252,8 @@ export default {
|
||||
})
|
||||
}
|
||||
/** 赋值给当前对应的表单文件 */
|
||||
this.form.file = attIdList.join(',')
|
||||
this.$set(this.formInline, 'fileIds', attIdList.join(','))
|
||||
// this.formInline.attachment = attIdList.join(',')
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -241,8 +261,5 @@ 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;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user