update 项目合规流程
This commit is contained in:
+11
-1
@@ -359,7 +359,14 @@ const savePostMeetingManage = (params) => postAction('/process/meetingManageFlow
|
|||||||
const getPostMeetingManageDataById = (params) => getAction('/meetingmanage/processMeetingManage/queryByProjectId', params)
|
const getPostMeetingManageDataById = (params) => getAction('/meetingmanage/processMeetingManage/queryByProjectId', params)
|
||||||
|
|
||||||
/* 项目合规评估流程 */
|
/* 项目合规评估流程 */
|
||||||
|
// 获取项目法规清单
|
||||||
const queryProjectRegulationList = (params) => getAction('/projectLibrary/lawsAssess/page', params)
|
const queryProjectRegulationList = (params) => getAction('/projectLibrary/lawsAssess/page', params)
|
||||||
|
// 发起-通过法规获取标准/条款列表
|
||||||
|
const queryStandardClauseList = (params) => postAction('/process/projectAssess/processProjectAssessGetList', params)
|
||||||
|
// 发起
|
||||||
|
const initiateProjectComplianceEvaluation = (params) => postAction('/process/projectAssess/startProcess', params)
|
||||||
|
// 提交
|
||||||
|
const submitProjectComplianceEvaluation = (params) => postAction('/process/projectAssess/submit', params)
|
||||||
|
|
||||||
export {
|
export {
|
||||||
getProcessNodeList,
|
getProcessNodeList,
|
||||||
@@ -542,5 +549,8 @@ export {
|
|||||||
savePostMeetingManage,
|
savePostMeetingManage,
|
||||||
getPostMeetingManageDataById,
|
getPostMeetingManageDataById,
|
||||||
|
|
||||||
queryProjectRegulationList
|
queryProjectRegulationList,
|
||||||
|
queryStandardClauseList,
|
||||||
|
initiateProjectComplianceEvaluation,
|
||||||
|
submitProjectComplianceEvaluation
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -239,7 +239,7 @@ module.exports = {
|
|||||||
designEngineer: '设计工程师',
|
designEngineer: '设计工程师',
|
||||||
solicitationList: '征求意见列表',
|
solicitationList: '征求意见列表',
|
||||||
chapterName: '章节名称',
|
chapterName: '章节名称',
|
||||||
pleaseSelectCriteriaFirst: '请先选择标准',
|
pleaseSelectCriteriaFirst: '请先选择标准'
|
||||||
},
|
},
|
||||||
// 企标稽查计划
|
// 企标稽查计划
|
||||||
esInspectionPlan: {
|
esInspectionPlan: {
|
||||||
@@ -377,24 +377,37 @@ module.exports = {
|
|||||||
noCauseInvolved: '不涉及原因',
|
noCauseInvolved: '不涉及原因',
|
||||||
cancelNotInvolve: '取消不涉及',
|
cancelNotInvolve: '取消不涉及',
|
||||||
preNodePeople: '上一节点处理人',
|
preNodePeople: '上一节点处理人',
|
||||||
evaluationFeedback:'评估反馈',
|
evaluationFeedback: '评估反馈',
|
||||||
ccPerson: '抄送人员'
|
ccPerson: '抄送人员',
|
||||||
|
pleaseSelectResponsibleUnit: '请选择责任单位',
|
||||||
|
pleaseSelectResponsibleUnitLeader: '请选择责任单位负责人',
|
||||||
|
aUnitOnlyALeader: '一个责任单位只能选择一个责任单位负责人,请检查'
|
||||||
},
|
},
|
||||||
// 未符合项跟踪流程
|
// 未符合项跟踪流程
|
||||||
noMatchTracking: {
|
noMatchTracking: {
|
||||||
queryByCondition: '按条件查询',
|
queryByCondition: '按条件查询',
|
||||||
problemTypes: '问题类型'
|
problemTypes:
|
||||||
},
|
'问题类型'
|
||||||
|
}
|
||||||
|
,
|
||||||
// 法规合规评估流程
|
// 法规合规评估流程
|
||||||
standardCompliance: {
|
standardCompliance: {
|
||||||
addStandard: '添加标准',
|
addStandard: '添加标准',
|
||||||
responsibleUnitContactPerson: '责任单位联络人',
|
responsibleUnitContactPerson:
|
||||||
pleaseSelectDeleteData: '请选择要删除的数据',
|
'责任单位联络人',
|
||||||
moduleOwner: '模块责任人',
|
pleaseSelectDeleteData:
|
||||||
projectAppraisal: '项目评估',
|
'请选择要删除的数据',
|
||||||
stronglyRelatedVehicleType: '是否与车型强关联',
|
moduleOwner:
|
||||||
doesNotFitModel: '不符合车型系列',
|
'模块责任人',
|
||||||
projectApproval: '项目审批',
|
projectAppraisal:
|
||||||
projectFiling: '项目归档'
|
'项目评估',
|
||||||
|
stronglyRelatedVehicleType:
|
||||||
|
'是否与车型强关联',
|
||||||
|
doesNotFitModel:
|
||||||
|
'不符合车型系列',
|
||||||
|
projectApproval:
|
||||||
|
'项目审批',
|
||||||
|
projectFiling:
|
||||||
|
'项目归档'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -339,7 +339,11 @@ export const InspectionExtensionRequestProcess = new EsEnums({
|
|||||||
initiate: { text: '稽查负责人申请延期', value: 'responsible_start', btn: ['save', 'submit'] },
|
initiate: { text: '稽查负责人申请延期', value: 'responsible_start', btn: ['save', 'submit'] },
|
||||||
directorLeaderApproval: { text: '负责人主管级领导审批', value: 'leader_approval', btn: ['transfer', 'save', 'agree', 'reject'] },
|
directorLeaderApproval: { text: '负责人主管级领导审批', value: 'leader_approval', btn: ['transfer', 'save', 'agree', 'reject'] },
|
||||||
contactEvaluation: { text: '稽查联络人评估', value: 'liaisons_assess', btn: ['transfer', 'save', 'agree', 'reject'] },
|
contactEvaluation: { text: '稽查联络人评估', value: 'liaisons_assess', btn: ['transfer', 'save', 'agree', 'reject'] },
|
||||||
directorSuperiorLeaderApproval: { text: '负责人主管级上一级领导审批', value: 'leader_up_level', btn: ['transfer', 'save', 'agree', 'reject'] }
|
directorSuperiorLeaderApproval: {
|
||||||
|
text: '负责人主管级上一级领导审批',
|
||||||
|
value: 'leader_up_level',
|
||||||
|
btn: ['transfer', 'save', 'agree', 'reject']
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
// 企标稽查整改
|
// 企标稽查整改
|
||||||
@@ -397,13 +401,14 @@ export const ProcurementProcessNodes = new EsEnums({
|
|||||||
|
|
||||||
// 项目合规评估流程节点
|
// 项目合规评估流程节点
|
||||||
export const ProjectComplianceEvaluationProcessNode = new EsEnums({
|
export const ProjectComplianceEvaluationProcessNode = new EsEnums({
|
||||||
initiate: { text: '法规工程师发起', value: '1', btn: ['save', 'pre', 'next', 'submit'] },
|
initiate: { text: '法规工程师发起', value: 'fggcsfq', btn: ['save', 'pre', 'next', 'submit'] },
|
||||||
departLeaderIssued: { text: '各部门主管级领导下发', value: '2', btn: ['return', 'save', 'submit'] },
|
departLeaderIssued: { text: '各部门主管级领导下发', value: 'gbmzgjldxf', btn: ['return', 'save', 'submit'] },
|
||||||
moduleOwnerIssued: { text: '模块负责人分发', value: '3', btn: ['return', 'save', 'submit'] },
|
moduleOwnerIssued: { text: '模块负责人分发', value: 'mkfzrff', btn: ['return', 'save', 'submit'] },
|
||||||
designEngineerEvaluation: { text: '设计工程师评估', value: '4', btn: ['return', 'save', 'submit'] },
|
designEngineerEvaluation: { text: '设计工程师评估', value: 'sjgcspg', btn: ['return', 'save', 'submit'] },
|
||||||
moduleOwnerApproval: { text: '模块负责人审批', value: '5', btn: ['return', 'save', 'agree', 'reject'] },
|
moduleOwnerApproval: { text: '模块负责人审批', value: 'mkfzrsp', btn: ['return', 'save', 'agree', 'reject'] },
|
||||||
departLeaderApproval: { text: '各部门主管级领导审批', value: '6', btn: ['return', 'save', 'agree', 'reject'] },
|
departLeaderApproval: { text: '各部门主管级领导审批', value: 'gbmzgjldsp', btn: ['return', 'save', 'agree', 'reject'] },
|
||||||
regulatoryEngineerFiling: { text: '法规工程师归档', value: '7', btn: ['return', 'save', 'submit'] }
|
moduleOwnerModification: { text: '模块负责人修改', value: 'mkfzrxg', btn: ['return', 'save', 'agree', 'reject'] },
|
||||||
|
regulatoryEngineerFiling: { text: '法规工程师归档', value: 'fggcsgd', btn: ['return', 'save', 'submit'] }
|
||||||
})
|
})
|
||||||
|
|
||||||
// 企标立项、变更流程
|
// 企标立项、变更流程
|
||||||
|
|||||||
+181
-30
@@ -92,7 +92,7 @@
|
|||||||
|
|
||||||
<!--发起第二步选择项目、第三步添加标准,采用引入组件的方式-->
|
<!--发起第二步选择项目、第三步添加标准,采用引入组件的方式-->
|
||||||
<keep-alive>
|
<keep-alive>
|
||||||
<component :is="comp" v-if="comp" ref="projectStandardTable" :project-id="projectId"/>
|
<component :is="comp" v-if="comp" ref="projectStandardTable" :project-id="projectId" />
|
||||||
</keep-alive>
|
</keep-alive>
|
||||||
|
|
||||||
<!--业务分派信息-->
|
<!--业务分派信息-->
|
||||||
@@ -109,29 +109,42 @@
|
|||||||
:can-drag="true"
|
:can-drag="true"
|
||||||
:scroll="{x: '100%'}"
|
:scroll="{x: '100%'}"
|
||||||
ref="table"
|
ref="table"
|
||||||
rowKey="id"
|
:rowKey="(record,index)=>{return index}"
|
||||||
:columns="columns"
|
:columns="columns"
|
||||||
:dataSource="dataSource"
|
:dataSource="dataSource"
|
||||||
:pagination="false"
|
:pagination="ipagination"
|
||||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||||
|
@change="handleTableChange"
|
||||||
v-bind="$attrs">
|
v-bind="$attrs">
|
||||||
|
|
||||||
|
<!--条文内容-->
|
||||||
|
<template v-slot:clauseContent="{text}">
|
||||||
|
<div class="table-text" @click="showContent(text)" v-if="text">
|
||||||
|
{{ text && text !== 'null' ? text.replace(/<.*?>/ig, ' ') : '' }}
|
||||||
|
</div>
|
||||||
|
<div class="table-text" v-else>{{ global.emptyLine }}</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
<!--责任单位-->
|
<!--责任单位-->
|
||||||
<template v-slot:depart="{text, record, index}">
|
<template v-slot:depart="{text, record, index}">
|
||||||
<j-select-depart multi
|
<j-select-depart v-if="record.canAssignFlag"
|
||||||
|
multi
|
||||||
:back-depart="true"
|
:back-depart="true"
|
||||||
:value="record.depart"
|
:value="record.responsibleUnits"
|
||||||
@change="value => handleDepartChange(value, record, index)" />
|
@change="value => handleDepartChange(value, record, index)" />
|
||||||
|
<div class="table-text" v-else>{{ global.emptyLine }}</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<!--责任单位负责人-->
|
<!--责任单位负责人-->
|
||||||
<template v-slot:user="{text, record, index}">
|
<template v-slot:user="{text, record, index}">
|
||||||
<user-selection :name-str="record.user_dictText"
|
<user-selection v-if="record.canAssignFlag"
|
||||||
|
:name-str="record.responsibleUnitLeader_dictText"
|
||||||
:show-btn="false"
|
:show-btn="false"
|
||||||
:value="record.user"
|
:value="record.responsibleUnitLeaders"
|
||||||
:placeholder="$t('pleaseSelect') + $t('workCenter.projectComplianceEvaluationProcess.responsibleUnitHead')"
|
:placeholder="$t('pleaseSelect') + $t('workCenter.projectComplianceEvaluationProcess.responsibleUnitHead')"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
@listChange="value => handleUserChange(value, record, index, 'user')" />
|
@listChange="value => handleUserChange(value, record, index, 'responsibleUnitLeaders')" />
|
||||||
|
<div class="table-text" v-else>{{ global.emptyLine }}</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<!--模块负责人-->
|
<!--模块负责人-->
|
||||||
@@ -291,6 +304,8 @@
|
|||||||
<user-select-modal type="checkbox" ref="userSelectModal" @listChange="handleBatchSelectorOk" />
|
<user-select-modal type="checkbox" ref="userSelectModal" @listChange="handleBatchSelectorOk" />
|
||||||
<!--不涉及-->
|
<!--不涉及-->
|
||||||
<uninvolved-modal ref="uninvolvedModal" @ok="handleUninvolvedOk" />
|
<uninvolved-modal ref="uninvolvedModal" @ok="handleUninvolvedOk" />
|
||||||
|
<!--条文内容-->
|
||||||
|
<split-clause-detail ref="clauseDetail" />
|
||||||
</internal-detail-page>
|
</internal-detail-page>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -299,13 +314,15 @@ import PersonnelInfo from '../../../components/PersonnelInfo'
|
|||||||
import InternalDetailPage from '../../../components/InternalDetailPage'
|
import InternalDetailPage from '../../../components/InternalDetailPage'
|
||||||
import ProcessDetailList from '../../../components/ProcessDetailList'
|
import ProcessDetailList from '../../../components/ProcessDetailList'
|
||||||
import { WorkCenterMixin } from '../../../mixins/WorkCenterMixin'
|
import { WorkCenterMixin } from '../../../mixins/WorkCenterMixin'
|
||||||
import { ProcessKey, ProjectComplianceEvaluationProcessNode } from '../../../enums/commonEnums'
|
import { ProcessKey, ProjectComplianceEvaluationProcessNode, StandardSource } from '../../../enums/commonEnums'
|
||||||
import JTable from '../../../components/jero/JTable'
|
import JTable from '../../../components/jero/JTable'
|
||||||
import ProjectTable from './components/ProjectTable'
|
import ProjectTable from './components/ProjectTable'
|
||||||
import UserSelection from '../../../components/selection/UserSelection'
|
import UserSelection from '../../../components/selection/UserSelection'
|
||||||
import UserSelectModal from '../../../components/selection/UserSelectModal'
|
import UserSelectModal from '../../../components/selection/UserSelectModal'
|
||||||
import UninvolvedModal from './modules/UninvolvedModal'
|
import UninvolvedModal from './modules/UninvolvedModal'
|
||||||
import JExpandTable from '../../../components/JExpandTable'
|
import JExpandTable from '../../../components/JExpandTable'
|
||||||
|
import { queryStandardClauseList, initiateProjectComplianceEvaluation, submitProjectComplianceEvaluation } from '../../../api/workCenter'
|
||||||
|
import SplitClauseDetail from '../../documentTool/documentSplit/modules/SplitClauseDetail'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'ProjectComplianceEvaluationProcess',
|
name: 'ProjectComplianceEvaluationProcess',
|
||||||
@@ -318,7 +335,8 @@ export default {
|
|||||||
ProjectTable,
|
ProjectTable,
|
||||||
UserSelection,
|
UserSelection,
|
||||||
UserSelectModal,
|
UserSelectModal,
|
||||||
UninvolvedModal
|
UninvolvedModal,
|
||||||
|
SplitClauseDetail
|
||||||
},
|
},
|
||||||
mixins: [WorkCenterMixin],
|
mixins: [WorkCenterMixin],
|
||||||
data () {
|
data () {
|
||||||
@@ -350,6 +368,18 @@ export default {
|
|||||||
xs: { span: 24 },
|
xs: { span: 24 },
|
||||||
sm: { span: 21 }
|
sm: { span: 21 }
|
||||||
},
|
},
|
||||||
|
/* 分页参数 */
|
||||||
|
ipagination: {
|
||||||
|
current: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
pageSizeOptions: ['10', '30', '50', '100', '150', '200'],
|
||||||
|
showTotal: (total, range) => {
|
||||||
|
return range[0] + '-' + range[1] + ' ' + this.$t('total') + total + this.$t('strip')
|
||||||
|
},
|
||||||
|
showQuickJumper: true,
|
||||||
|
showSizeChanger: true,
|
||||||
|
total: 0
|
||||||
|
},
|
||||||
validatorRules: {
|
validatorRules: {
|
||||||
// 流程名称
|
// 流程名称
|
||||||
processName: {
|
processName: {
|
||||||
@@ -402,7 +432,7 @@ export default {
|
|||||||
},
|
},
|
||||||
// 标准编号/条款号
|
// 标准编号/条款号
|
||||||
{
|
{
|
||||||
dataIndex: 'workNumber',
|
dataIndex: 'termNumber',
|
||||||
title: this.$t('projectLibrary.vehicleItemLibrary.standardNumberClauseNumber'),
|
title: this.$t('projectLibrary.vehicleItemLibrary.standardNumberClauseNumber'),
|
||||||
width: 150,
|
width: 150,
|
||||||
align: 'center',
|
align: 'center',
|
||||||
@@ -410,7 +440,7 @@ export default {
|
|||||||
},
|
},
|
||||||
// 标准名称/条款名称
|
// 标准名称/条款名称
|
||||||
{
|
{
|
||||||
dataIndex: 'projectName',
|
dataIndex: 'termName',
|
||||||
title: this.$t('workCenter.projectComplianceEvaluationProcess.standardNameClauseName'),
|
title: this.$t('workCenter.projectComplianceEvaluationProcess.standardNameClauseName'),
|
||||||
width: 160,
|
width: 160,
|
||||||
align: 'center',
|
align: 'center',
|
||||||
@@ -418,11 +448,11 @@ export default {
|
|||||||
},
|
},
|
||||||
// 条款内容
|
// 条款内容
|
||||||
{
|
{
|
||||||
dataIndex: 'projectSource_dictText',
|
dataIndex: 'termText',
|
||||||
title: this.$t('workCenter.projectComplianceEvaluationProcess.terms'),
|
title: this.$t('workCenter.projectComplianceEvaluationProcess.terms'),
|
||||||
width: 150,
|
width: 150,
|
||||||
align: 'center',
|
align: 'center',
|
||||||
scopedSlots: { customRender: 'text' }
|
scopedSlots: { customRender: 'clauseContent' }
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
dataSource: [],
|
dataSource: [],
|
||||||
@@ -614,14 +644,14 @@ export default {
|
|||||||
// 责任单位
|
// 责任单位
|
||||||
{
|
{
|
||||||
title: this.$t('workCenter.projectComplianceEvaluationProcess.accountabilityUnit'),
|
title: this.$t('workCenter.projectComplianceEvaluationProcess.accountabilityUnit'),
|
||||||
dataIndex: 'depart',
|
dataIndex: 'responsibleUnits',
|
||||||
width: 150,
|
width: 150,
|
||||||
scopedSlots: { customRender: 'depart' }
|
scopedSlots: { customRender: 'depart' }
|
||||||
},
|
},
|
||||||
// 责任单位负责人
|
// 责任单位负责人
|
||||||
{
|
{
|
||||||
title: this.$t('workCenter.projectComplianceEvaluationProcess.responsibleUnitHead'),
|
title: this.$t('workCenter.projectComplianceEvaluationProcess.responsibleUnitHead'),
|
||||||
dataIndex: 'user',
|
dataIndex: 'responsibleUnitLeaders',
|
||||||
width: 150,
|
width: 150,
|
||||||
scopedSlots: { customRender: 'user' }
|
scopedSlots: { customRender: 'user' }
|
||||||
},
|
},
|
||||||
@@ -767,11 +797,12 @@ export default {
|
|||||||
// 第三步选择标准
|
// 第三步选择标准
|
||||||
if (this.currentStep === 2) {
|
if (this.currentStep === 2) {
|
||||||
this.standardDataSource = this.$refs.projectStandardTable.getData()
|
this.standardDataSource = this.$refs.projectStandardTable.getData()
|
||||||
|
console.log(this.standardDataSource)
|
||||||
if (!this.standardDataSource || this.standardDataSource.length === 0) {
|
if (!this.standardDataSource || this.standardDataSource.length === 0) {
|
||||||
this.$message.warning(this.$t('addAtLeastOneRowOfData'))
|
this.$message.warning(this.$t('addAtLeastOneRowOfData'))
|
||||||
flag = false
|
flag = false
|
||||||
} else {
|
} else {
|
||||||
// TODO 这块应该需要调接口把标准转成第四步要的条款
|
this.getDispatchList()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!flag) {
|
if (!flag) {
|
||||||
@@ -779,6 +810,23 @@ export default {
|
|||||||
}
|
}
|
||||||
this.currentStep++
|
this.currentStep++
|
||||||
},
|
},
|
||||||
|
/**
|
||||||
|
* 获取业务分派信息列表
|
||||||
|
*/
|
||||||
|
getDispatchList () {
|
||||||
|
const params = this.standardDataSource.map(item => {
|
||||||
|
return {
|
||||||
|
sarFileSplitInfoId: item.sarFileSplitInfoId,
|
||||||
|
standardNumber: item.standardNumber,
|
||||||
|
standardName: item.standardName
|
||||||
|
}
|
||||||
|
})
|
||||||
|
queryStandardClauseList(params).then(res => {
|
||||||
|
if (res.success) {
|
||||||
|
this.dataSource = res.result || []
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
/**
|
/**
|
||||||
* 跳转项目详情
|
* 跳转项目详情
|
||||||
*/
|
*/
|
||||||
@@ -794,9 +842,34 @@ export default {
|
|||||||
/**
|
/**
|
||||||
* 跳转标准详情
|
* 跳转标准详情
|
||||||
*/
|
*/
|
||||||
toStandardDetail (standard) {
|
toStandardDetail ({ source, standardId }) {
|
||||||
// todo 需要标准类别
|
let path
|
||||||
console.log(standard)
|
// 根据来源跳转不同的详情页
|
||||||
|
switch (source) {
|
||||||
|
// 国内
|
||||||
|
case StandardSource.DOMESTIC.value:
|
||||||
|
path = '/standardRegulationLibrary/DomesticStandardDetail'
|
||||||
|
break
|
||||||
|
// 海外
|
||||||
|
case StandardSource.OVERSEAS.value:
|
||||||
|
path = '/standardRegulationLibrary/OverseasStandardDetail'
|
||||||
|
break
|
||||||
|
// 企标
|
||||||
|
case StandardSource.ENTERPRISE.value:
|
||||||
|
path = '/enterpriseStandardLibrary/enterpriseStandardDetail'
|
||||||
|
break
|
||||||
|
default:
|
||||||
|
break
|
||||||
|
}
|
||||||
|
if (!path) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
const query = {
|
||||||
|
id: standardId
|
||||||
|
}
|
||||||
|
this.$openPageNewSheet({
|
||||||
|
path, query
|
||||||
|
})
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* 批量选择人员
|
* 批量选择人员
|
||||||
@@ -813,7 +886,7 @@ export default {
|
|||||||
switch (this.currentNode) {
|
switch (this.currentNode) {
|
||||||
// 发起节点,批量选择的是责任单位负责人
|
// 发起节点,批量选择的是责任单位负责人
|
||||||
case ProjectComplianceEvaluationProcessNode.initiate.value:
|
case ProjectComplianceEvaluationProcessNode.initiate.value:
|
||||||
fieldName = 'user'
|
fieldName = 'responsibleUnitLeaders'
|
||||||
break
|
break
|
||||||
// 各部门主管级领导下发,批量选择的是模块负责人
|
// 各部门主管级领导下发,批量选择的是模块负责人
|
||||||
case ProjectComplianceEvaluationProcessNode.departLeaderIssued.value:
|
case ProjectComplianceEvaluationProcessNode.departLeaderIssued.value:
|
||||||
@@ -830,12 +903,13 @@ export default {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
this.dataSource.forEach((item, index) => {
|
this.dataSource.forEach((item, index) => {
|
||||||
if (this.selectedRowKeys.includes(item.id)) {
|
if (this.selectedRowKeys.includes(index)) {
|
||||||
item[fieldName] = list.map(tt => tt.id).join(',')
|
item[fieldName] = list.map(tt => tt.id).join(',')
|
||||||
item[fieldName + '_dictText'] = list.map(tt => tt.realname + '(' + tt.username + ')').join(',')
|
item[fieldName + '_dictText'] = list.map(tt => tt.realname + '(' + tt.username + ')').join(',')
|
||||||
this.$set(this.dataSource, index, item)
|
this.$set(this.dataSource, index, item)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
console.log(this.dataSource)
|
||||||
this.selectedRowKeys = []
|
this.selectedRowKeys = []
|
||||||
},
|
},
|
||||||
onSelectChange (selectedRowKeys) {
|
onSelectChange (selectedRowKeys) {
|
||||||
@@ -848,7 +922,7 @@ export default {
|
|||||||
* @param index
|
* @param index
|
||||||
*/
|
*/
|
||||||
handleDepartChange (value, record, index) {
|
handleDepartChange (value, record, index) {
|
||||||
record.depart = value
|
record.responsibleUnits = value
|
||||||
this.$set(this.dataSource, index, record)
|
this.$set(this.dataSource, index, record)
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
@@ -896,21 +970,92 @@ export default {
|
|||||||
record.evaluationFeedback = value
|
record.evaluationFeedback = value
|
||||||
this.$set(this.dataSource, index, record)
|
this.$set(this.dataSource, index, record)
|
||||||
},
|
},
|
||||||
dealFormData (isSave) {
|
dealFormData () {
|
||||||
let formData = {}, processProjectAssess = {}
|
let formData = {}, basicTaskInfoDTO = {}, flag = true
|
||||||
// 流程信息
|
// 流程信息
|
||||||
formData.basicProcessInfoDTO = { ...this.processInfo }
|
formData.basicProcessInfoDTO = { ...this.processInfo }
|
||||||
// 业务基本信息(项目信息)
|
// 发起节点需要多传一些参数
|
||||||
if (this.projectDataSource && this.projectDataSource.length > 0) {
|
if (this.currentNode === ProjectComplianceEvaluationProcessNode.initiate.value) {
|
||||||
processProjectAssess.projectId = this.projectDataSource[0].id
|
let processProjectAssess = {}, processProjectAssessLinkList = [], processProjectAssessTermList = []
|
||||||
|
// 项目信息(发起第二步)
|
||||||
|
if (this.projectDataSource && this.projectDataSource.length > 0) {
|
||||||
|
processProjectAssess.projectId = this.projectDataSource[0].id
|
||||||
|
}
|
||||||
|
// 关联标准列表(发起第三步)
|
||||||
|
processProjectAssessLinkList = JSON.parse(JSON.stringify(this.standardDataSource))
|
||||||
|
// 关联条款列表(发起第四步)
|
||||||
|
processProjectAssessTermList = JSON.parse(JSON.stringify(this.dataSource))
|
||||||
|
// 校验责任单位必填
|
||||||
|
if (processProjectAssessTermList.some(tt => !tt.responsibleUnits)) {
|
||||||
|
this.$message.warning(this.$t('workCenter.projectComplianceEvaluationProcess.pleaseSelectResponsibleUnit'))
|
||||||
|
flag = false
|
||||||
|
}
|
||||||
|
// 校验责任单位负责人必填
|
||||||
|
if (processProjectAssessTermList.some(tt => !tt.responsibleUnitLeaders)) {
|
||||||
|
this.$message.warning(this.$t('workCenter.projectComplianceEvaluationProcess.pleaseSelectResponsibleUnitLeader'))
|
||||||
|
flag = false
|
||||||
|
}
|
||||||
|
// 校验责任单位和责任单位负责人是一对一的关系
|
||||||
|
if (processProjectAssessTermList.some(tt => {
|
||||||
|
const responsibleUnitList = (tt.responsibleUnits || '').split(',')
|
||||||
|
const responsibleUnitLeadersList = (tt.responsibleUnitLeaders || '').split(',')
|
||||||
|
return responsibleUnitList.length !== responsibleUnitLeadersList.length
|
||||||
|
})) {
|
||||||
|
this.$message.warning(this.$t('workCenter.projectComplianceEvaluationProcess.aUnitOnlyALeader'))
|
||||||
|
flag = false
|
||||||
|
}
|
||||||
|
formData.businessInfoDTO = {
|
||||||
|
processProjectAssess, processProjectAssessLinkList, processProjectAssessTermList
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 流程审批意见数据
|
||||||
|
this.approvalInfoForm.validateFields((errors, values) => {
|
||||||
|
if (!errors) {
|
||||||
|
basicTaskInfoDTO = Object.assign(this.approvalInfo, values)
|
||||||
|
} else {
|
||||||
|
flag = false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
formData.basicTaskInfoDTO = basicTaskInfoDTO
|
||||||
|
console.log(formData)
|
||||||
|
if (!flag) {
|
||||||
|
return false
|
||||||
}
|
}
|
||||||
return formData
|
return formData
|
||||||
},
|
},
|
||||||
handleSave () {
|
handleSave () {
|
||||||
const formData = this.dealFormData(true)
|
|
||||||
console.log('保存表单数据===', formData)
|
|
||||||
},
|
},
|
||||||
|
/**
|
||||||
|
* 提交
|
||||||
|
*/
|
||||||
handleSubmit () {
|
handleSubmit () {
|
||||||
|
const formData = this.dealFormData()
|
||||||
|
console.log('提交表单数据===', formData)
|
||||||
|
if (!formData) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
let submitFunc
|
||||||
|
// 发起和提交的接口判断
|
||||||
|
if (this.currentNode === ProjectComplianceEvaluationProcessNode.initiate.value) {
|
||||||
|
submitFunc = initiateProjectComplianceEvaluation
|
||||||
|
} else {
|
||||||
|
submitFunc = submitProjectComplianceEvaluation
|
||||||
|
}
|
||||||
|
if (!submitFunc) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.loading = true
|
||||||
|
submitFunc(formData).then(res => {
|
||||||
|
if (res.success) {
|
||||||
|
this.$message.success(res.message)
|
||||||
|
this.goBack()
|
||||||
|
} else {
|
||||||
|
this.$message.warning(res.message)
|
||||||
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
},
|
},
|
||||||
handleTurnTo () {
|
handleTurnTo () {
|
||||||
|
|
||||||
@@ -920,6 +1065,12 @@ export default {
|
|||||||
},
|
},
|
||||||
handleReject () {
|
handleReject () {
|
||||||
|
|
||||||
|
},
|
||||||
|
handleTableChange (pagination) {
|
||||||
|
this.ipagination = pagination
|
||||||
|
},
|
||||||
|
showContent (text) {
|
||||||
|
this.$refs.clauseDetail.open(text)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
beforeRouteLeave (to, form, next) {
|
beforeRouteLeave (to, form, next) {
|
||||||
|
|||||||
+30
-21
@@ -22,10 +22,14 @@
|
|||||||
|
|
||||||
<!--分解单来源-->
|
<!--分解单来源-->
|
||||||
<template v-slot:salvageListSource="{text, record, index}">
|
<template v-slot:salvageListSource="{text, record, index}">
|
||||||
<j-dict-select-tag style="width: 100%"
|
<a-select :placeholder="$t('pleaseSelect') + $t('workCenter.projectComplianceEvaluationProcess.salvageListSource')"
|
||||||
:value="record.salvageSource"
|
:value="record.decompositionOrderSource"
|
||||||
:options="standardFileType"
|
style="width: 100%"
|
||||||
@change="value => handleSourceChange(value, record, index)" />
|
@change="value => handleSourceChange(value, record, index)">
|
||||||
|
<a-select-option v-for="item in record.dictOptions" :key="item.value" :value="item.value" :disabled="item.disabled">
|
||||||
|
{{ item.text }}
|
||||||
|
</a-select-option>
|
||||||
|
</a-select>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
</j-table>
|
</j-table>
|
||||||
@@ -38,7 +42,6 @@
|
|||||||
<script>
|
<script>
|
||||||
import JTable from '../../../../components/jero/JTable'
|
import JTable from '../../../../components/jero/JTable'
|
||||||
import SelectStandardListDrawer from '../modules/SelectStandardListDrawer'
|
import SelectStandardListDrawer from '../modules/SelectStandardListDrawer'
|
||||||
import { ajaxGetDictItems } from '../../../../api/api'
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'StandardList',
|
name: 'StandardList',
|
||||||
@@ -87,7 +90,7 @@ export default {
|
|||||||
// 分解单来源
|
// 分解单来源
|
||||||
{
|
{
|
||||||
title: this.$t('workCenter.projectComplianceEvaluationProcess.salvageListSource'),
|
title: this.$t('workCenter.projectComplianceEvaluationProcess.salvageListSource'),
|
||||||
dataIndex: 'salvageSource',
|
dataIndex: 'decompositionOrderSource',
|
||||||
width: 150,
|
width: 150,
|
||||||
scopedSlots: { customRender: 'salvageListSource' }
|
scopedSlots: { customRender: 'salvageListSource' }
|
||||||
},
|
},
|
||||||
@@ -112,21 +115,10 @@ export default {
|
|||||||
],
|
],
|
||||||
dataSource: [],
|
dataSource: [],
|
||||||
selectedRowKeys: [],
|
selectedRowKeys: [],
|
||||||
rowIds: [],
|
rowIds: []
|
||||||
standardFileType: []
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created () {
|
|
||||||
this.initDict()
|
|
||||||
},
|
|
||||||
methods: {
|
methods: {
|
||||||
initDict () {
|
|
||||||
ajaxGetDictItems('decomposition_order_source').then(res => {
|
|
||||||
if (res.success) {
|
|
||||||
this.standardFileType = res.result
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
handleAdd () {
|
handleAdd () {
|
||||||
this.$refs.selectStandardDrawer.open(this.projectId)
|
this.$refs.selectStandardDrawer.open(this.projectId)
|
||||||
},
|
},
|
||||||
@@ -150,8 +142,18 @@ export default {
|
|||||||
},
|
},
|
||||||
handleOk (rows) {
|
handleOk (rows) {
|
||||||
this.dataSource = rows.map(item => {
|
this.dataSource = rows.map(item => {
|
||||||
if (!item.salvageSource) {
|
// 默认选中不带入
|
||||||
item.salvageSource = '0'
|
if (!item.decompositionOrderSource) {
|
||||||
|
item.decompositionOrderSource = '0'
|
||||||
|
}
|
||||||
|
// 处理没有拆分单的来源禁用
|
||||||
|
if (item.decompositionOrderSourceVOList && item.decompositionOrderSourceVOList.length > 0) {
|
||||||
|
item.dictOptions = item.decompositionOrderSourceVOList.map(dictItem => {
|
||||||
|
if (dictItem.value !== '0' && !dictItem.sarFileSplitInfoId) {
|
||||||
|
dictItem.disabled = true
|
||||||
|
}
|
||||||
|
return dictItem
|
||||||
|
})
|
||||||
}
|
}
|
||||||
return item
|
return item
|
||||||
})
|
})
|
||||||
@@ -159,8 +161,15 @@ export default {
|
|||||||
getData () {
|
getData () {
|
||||||
return this.dataSource
|
return this.dataSource
|
||||||
},
|
},
|
||||||
|
/**
|
||||||
|
* 分解单来源变化
|
||||||
|
* @param value
|
||||||
|
* @param record
|
||||||
|
* @param index
|
||||||
|
*/
|
||||||
handleSourceChange (value, record, index) {
|
handleSourceChange (value, record, index) {
|
||||||
record.salvageSource = value
|
record.decompositionOrderSource = value
|
||||||
|
record.sarFileSplitInfoId = record.dictOptions.find(tt => tt.value === value).sarFileSplitInfoId
|
||||||
this.$set(this.dataSource, index, record)
|
this.$set(this.dataSource, index, record)
|
||||||
},
|
},
|
||||||
handleTableChange (pagination) {
|
handleTableChange (pagination) {
|
||||||
|
|||||||
Reference in New Issue
Block a user