[update] 外部标准流程查看详情
This commit is contained in:
@@ -531,25 +531,22 @@ export default {
|
|||||||
)
|
)
|
||||||
},
|
},
|
||||||
// 保存快照
|
// 保存快照
|
||||||
saveParamJsonStr () {
|
saveParamJsonStr (callback) {
|
||||||
// 流程信息表单
|
// 流程信息表单
|
||||||
const processInfoForm = Object.assign(this.processInfo, this.processInfoForm.getFieldsValue())
|
const processInfoForm = Object.assign(this.processInfo, this.processInfoForm.getFieldsValue())
|
||||||
// 流程审批信息
|
// 流程审批信息
|
||||||
const approvalInfoForm = Object.assign(this.approvalInfo, this.approvalInfoForm.getFieldsValue())
|
const approvalInfoForm = Object.assign(this.approvalInfo, this.approvalInfoForm.getFieldsValue())
|
||||||
// 人员信息的数据, 处理成对象
|
|
||||||
const personnelObj = this.$refs.personnelInfo.getDataObj()
|
|
||||||
const params = { ...processInfoForm, ...approvalInfoForm }
|
const params = { ...processInfoForm, ...approvalInfoForm }
|
||||||
params.infoJsonStr = JSON.stringify({
|
params.infoJsonStr = JSON.stringify(this.dealSaveJsonData())
|
||||||
processInfo: processInfoForm,
|
|
||||||
approvalInfo: approvalInfoForm,
|
|
||||||
userInfoMap: personnelObj,
|
|
||||||
dataSource: this.dataSource
|
|
||||||
})
|
|
||||||
params.taskId = this.$route.query.taskId
|
params.taskId = this.$route.query.taskId
|
||||||
params.prcType = ProcessType.NO_MATCH_TRACKING.value
|
params.prcType = ProcessType.NO_MATCH_TRACKING.value
|
||||||
saveSnapShot(params).then(res => {
|
saveSnapShot(params).then(async res => {
|
||||||
if (!res.success) {
|
if (res.success) {
|
||||||
console.log(res.message)
|
callback && await callback()
|
||||||
|
} else {
|
||||||
|
this.$message.warning(res.message)
|
||||||
|
this.loading = false
|
||||||
|
this.disabledBtnClick = false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@@ -710,21 +707,34 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
submitFunc = submitNoMatchTrackingProcess
|
submitFunc = submitNoMatchTrackingProcess
|
||||||
}
|
}
|
||||||
submitFunc(formData).then(async res => {
|
if (this.currentNode === NoMatchTrackingNodes.initial.value && (!this.$route.query.processInstanceId || this.$route.query.draftId)) {
|
||||||
if (res.success) {
|
submitFunc(formData).then(res => {
|
||||||
this.$message.success(res.message)
|
if (res.success) {
|
||||||
if (!(this.currentNode === NoMatchTrackingNodes.initial.value && (!this.$route.query.processInstanceId || this.$route.query.draftId))) {
|
this.$message.success(res.message)
|
||||||
// 保存快照
|
this.goBack()
|
||||||
await this.saveParamJsonStr()
|
} else {
|
||||||
|
this.$message.warning(res.message)
|
||||||
|
this.disabledBtnClick = false
|
||||||
}
|
}
|
||||||
this.goBack()
|
}).finally(() => {
|
||||||
} else {
|
this.loading = false
|
||||||
this.$message.warning(res.message)
|
})
|
||||||
this.disabledBtnClick = false
|
} else {
|
||||||
}
|
// 保存快照后提交
|
||||||
}).finally(() => {
|
this.saveParamJsonStr(() => {
|
||||||
this.loading = false
|
submitFunc(formData).then(res => {
|
||||||
})
|
if (res.success) {
|
||||||
|
this.$message.success(res.message)
|
||||||
|
this.goBack()
|
||||||
|
} else {
|
||||||
|
this.$message.warning(res.message)
|
||||||
|
this.disabledBtnClick = false
|
||||||
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* 同意
|
* 同意
|
||||||
@@ -744,18 +754,19 @@ export default {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
this.loading = true
|
this.loading = true
|
||||||
agreeNoMatchTrackingProcess(formData).then(async res => {
|
// 保存快照
|
||||||
if (res.success) {
|
this.saveParamJsonStr(() => {
|
||||||
this.$message.success(res.message)
|
agreeNoMatchTrackingProcess(formData).then(res => {
|
||||||
// 保存快照
|
if (res.success) {
|
||||||
await this.saveParamJsonStr()
|
this.$message.success(res.message)
|
||||||
this.goBack()
|
this.goBack()
|
||||||
} else {
|
} else {
|
||||||
this.$message.warning(res.message)
|
this.$message.warning(res.message)
|
||||||
this.disabledBtnClick = false
|
this.disabledBtnClick = false
|
||||||
}
|
}
|
||||||
}).finally(() => {
|
}).finally(() => {
|
||||||
this.loading = false
|
this.loading = false
|
||||||
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
@@ -774,18 +785,19 @@ export default {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
this.loading = true
|
this.loading = true
|
||||||
rejectNoMatchTrackingProcess(formData).then(async res => {
|
// 保存快照
|
||||||
if (res.success) {
|
this.saveParamJsonStr(() => {
|
||||||
this.$message.success(res.message)
|
rejectNoMatchTrackingProcess(formData).then(res => {
|
||||||
// 保存快照
|
if (res.success) {
|
||||||
await this.saveParamJsonStr()
|
this.$message.success(res.message)
|
||||||
this.goBack()
|
this.goBack()
|
||||||
} else {
|
} else {
|
||||||
this.$message.warning(res.message)
|
this.$message.warning(res.message)
|
||||||
this.disabledBtnClick = false
|
this.disabledBtnClick = false
|
||||||
}
|
}
|
||||||
}).finally(() => {
|
}).finally(() => {
|
||||||
this.loading = false
|
this.loading = false
|
||||||
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
handleDesignEngineerNameChange (name) {
|
handleDesignEngineerNameChange (name) {
|
||||||
|
|||||||
+136
-57
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<internal-detail-page :content-padding="0" :title="pageTitle" :loading="loading">
|
<internal-detail-page :content-padding="0" :title="pageTitle" :loading="loading">
|
||||||
<!-- 标题右侧tab -->
|
<!-- 标题右侧tab -->
|
||||||
<template v-slot:titleRightCustom>
|
<template v-slot:titleRightCustom v-if="!isLook">
|
||||||
<div class="table-operator-tab">
|
<div class="table-operator-tab">
|
||||||
<!--基础信息-->
|
<!--基础信息-->
|
||||||
<a class="switch-item" :class="switchValue === 'base' ? 'table-operator-tab-active' : ''"
|
<a class="switch-item" :class="switchValue === 'base' ? 'table-operator-tab-active' : ''"
|
||||||
@@ -31,7 +31,7 @@
|
|||||||
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" :label="$t('processName')">
|
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" :label="$t('processName')">
|
||||||
<a-input :placeholder="$t('pleaseEnter') + $t('processName')"
|
<a-input :placeholder="$t('pleaseEnter') + $t('processName')"
|
||||||
:maxLength="50"
|
:maxLength="50"
|
||||||
:disabled="processInfoDisabled"
|
:disabled="processInfoDisabled || isLook"
|
||||||
v-decorator="['processName', validatorRules.processName]" />
|
v-decorator="['processName', validatorRules.processName]" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
format="YYYY-MM-DD"
|
format="YYYY-MM-DD"
|
||||||
value-format="YYYY-MM-DD"
|
value-format="YYYY-MM-DD"
|
||||||
v-decorator="['processDueDate']"
|
v-decorator="['processDueDate']"
|
||||||
:disabled="processInfoDisabled"
|
:disabled="processInfoDisabled || isLook"
|
||||||
style="width: 100%" />
|
style="width: 100%" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
@@ -83,7 +83,7 @@
|
|||||||
<a-input :placeholder="$t('pleaseEnter') + $t('processExplain')"
|
<a-input :placeholder="$t('pleaseEnter') + $t('processExplain')"
|
||||||
:maxLength="500"
|
:maxLength="500"
|
||||||
type="textarea"
|
type="textarea"
|
||||||
:disabled="processInfoDisabled"
|
:disabled="processInfoDisabled || isLook"
|
||||||
:rows="4"
|
:rows="4"
|
||||||
v-decorator="['processDescription']" />
|
v-decorator="['processDescription']" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@@ -95,6 +95,7 @@
|
|||||||
v-if="comp"
|
v-if="comp"
|
||||||
ref="projectStandardTable"
|
ref="projectStandardTable"
|
||||||
:project-id="projectId"
|
:project-id="projectId"
|
||||||
|
:disabled="isLook"
|
||||||
:echo-data-source="currentStep === 1 ? projectDataSource : standardDataSource" />
|
:echo-data-source="currentStep === 1 ? projectDataSource : standardDataSource" />
|
||||||
</keep-alive>
|
</keep-alive>
|
||||||
|
|
||||||
@@ -103,11 +104,11 @@
|
|||||||
<div class="process-part-title">{{ middlePartTitle }}</div>
|
<div class="process-part-title">{{ middlePartTitle }}</div>
|
||||||
<div class="table-operator" v-if="!showExpandTable">
|
<div class="table-operator" v-if="!showExpandTable">
|
||||||
<!--批量选择人员-->
|
<!--批量选择人员-->
|
||||||
<a-button type="primary" ghost @click="batchSelector">
|
<a-button type="primary" ghost @click="batchSelector" :disabled="isLook">
|
||||||
{{ $t('workCenter.projectComplianceEvaluationProcess.batchSelector') }}
|
{{ $t('workCenter.projectComplianceEvaluationProcess.batchSelector') }}
|
||||||
</a-button>
|
</a-button>
|
||||||
<!--批量删除-->
|
<!--批量删除-->
|
||||||
<a-button type="primary" icon="delete" ghost @click="batchDel" v-if="isInit">
|
<a-button type="primary" icon="delete" ghost @click="batchDel" v-if="isInit" :disabled="isLook">
|
||||||
{{ $t('batchDelete') }}
|
{{ $t('batchDelete') }}
|
||||||
</a-button>
|
</a-button>
|
||||||
</div>
|
</div>
|
||||||
@@ -145,6 +146,7 @@
|
|||||||
:value="record.responsibleUnitLeaders"
|
:value="record.responsibleUnitLeaders"
|
||||||
:placeholder="$t('pleaseSelect') + $t('workCenter.projectComplianceEvaluationProcess.responsibleUnitHead')"
|
:placeholder="$t('pleaseSelect') + $t('workCenter.projectComplianceEvaluationProcess.responsibleUnitHead')"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
|
:disabled="isLook"
|
||||||
@listChange="value => handleUserChange(value, record, index, 'responsibleUnitLeaders')" />
|
@listChange="value => handleUserChange(value, record, index, 'responsibleUnitLeaders')" />
|
||||||
<div class="table-text" v-else>{{ global.emptyLine }}</div>
|
<div class="table-text" v-else>{{ global.emptyLine }}</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -162,6 +164,7 @@
|
|||||||
:placeholder="$t('pleaseSelect') + $t('workCenter.standardConsultationProcess.moduleOwner')"
|
:placeholder="$t('pleaseSelect') + $t('workCenter.standardConsultationProcess.moduleOwner')"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
v-if="!record.notInvolved && record.canAssignFlag + '' === '1'"
|
v-if="!record.notInvolved && record.canAssignFlag + '' === '1'"
|
||||||
|
:disabled="isLook"
|
||||||
@listChange="value => handleUserChange(value, record, index, 'moduleOwners')" />
|
@listChange="value => handleUserChange(value, record, index, 'moduleOwners')" />
|
||||||
<div v-else>{{ global.emptyLine }}</div>
|
<div v-else>{{ global.emptyLine }}</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -179,18 +182,19 @@
|
|||||||
:placeholder="$t('pleaseSelect') + $t('workCenter.standardConsultationProcess.designEngineer')"
|
:placeholder="$t('pleaseSelect') + $t('workCenter.standardConsultationProcess.designEngineer')"
|
||||||
type="radio"
|
type="radio"
|
||||||
v-if="!record.notInvolved && record.canAssignFlag + '' === '1'"
|
v-if="!record.notInvolved && record.canAssignFlag + '' === '1'"
|
||||||
|
:disabled="isLook"
|
||||||
@listChange="value => handleUserChange(value, record, index, 'designEngineers')" />
|
@listChange="value => handleUserChange(value, record, index, 'designEngineers')" />
|
||||||
<div v-else>{{ global.emptyLine }}</div>
|
<div v-else>{{ global.emptyLine }}</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<!--操作(删除)-->
|
<!--操作(删除)-->
|
||||||
<template v-slot:action="{text, record}">
|
<template v-slot:action="{text, record}">
|
||||||
<a @click="handleDelete(record.tableRowKey)">{{ $t('delete') }}</a>
|
<a @click="handleDelete(record.tableRowKey)" :disabled="isLook">{{ $t('delete') }}</a>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<!--操作(不涉及/不涉及原因)-->
|
<!--操作(不涉及/不涉及原因)-->
|
||||||
<template v-slot:notInvolved="{text, record}">
|
<template v-slot:notInvolved="{text, record}">
|
||||||
<a @click="handleUninvolved(record)" :disabled="record.canAssignFlag + '' !== '1'">
|
<a @click="handleUninvolved(record)" :disabled="record.canAssignFlag + '' !== '1' || isLook">
|
||||||
{{
|
{{
|
||||||
!record.notInvolved ? $t('projectLibrary.vehicleItemLibrary.uninvolved') : $t('workCenter.projectComplianceEvaluationProcess.noCauseInvolved')
|
!record.notInvolved ? $t('projectLibrary.vehicleItemLibrary.uninvolved') : $t('workCenter.projectComplianceEvaluationProcess.noCauseInvolved')
|
||||||
}}
|
}}
|
||||||
@@ -204,7 +208,7 @@
|
|||||||
:columns="columns"
|
:columns="columns"
|
||||||
:data-source="dataSource"
|
:data-source="dataSource"
|
||||||
:pagination="ipagination"
|
:pagination="ipagination"
|
||||||
:all-disabled="expandTableDisabled"
|
:all-disabled="expandTableDisabled || isLook"
|
||||||
form-is-depend="evaluationFeedback"
|
form-is-depend="evaluationFeedback"
|
||||||
:extra-form="extraForm"
|
:extra-form="extraForm"
|
||||||
:scroll="{x: '100%'}"
|
:scroll="{x: '100%'}"
|
||||||
@@ -232,7 +236,7 @@
|
|||||||
:placeholder="$t('pleaseSelect') + $t('workCenter.projectComplianceEvaluationProcess.evaluationFeedback')"
|
:placeholder="$t('pleaseSelect') + $t('workCenter.projectComplianceEvaluationProcess.evaluationFeedback')"
|
||||||
:value="record.evaluationFeedback"
|
:value="record.evaluationFeedback"
|
||||||
dict-code="assess_results"
|
dict-code="assess_results"
|
||||||
:disabled="!!record.notInvolved"
|
:disabled="!!record.notInvolved || isLook"
|
||||||
@change="value => handleEvaluationFeedBackChange(value, record, index)" />
|
@change="value => handleEvaluationFeedBackChange(value, record, index)" />
|
||||||
|
|
||||||
<template v-else>
|
<template v-else>
|
||||||
@@ -255,6 +259,7 @@
|
|||||||
:label="$t('workCenter.projectComplianceEvaluationProcess.ccPerson')">
|
:label="$t('workCenter.projectComplianceEvaluationProcess.ccPerson')">
|
||||||
<user-selection :placeholder="$t('pleaseSelect') + $t('workCenter.projectComplianceEvaluationProcess.ccPerson')"
|
<user-selection :placeholder="$t('pleaseSelect') + $t('workCenter.projectComplianceEvaluationProcess.ccPerson')"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
|
:disabled="isLook"
|
||||||
:name-str="dispatchInfo.carbonCopyPersonnels_dictText"
|
:name-str="dispatchInfo.carbonCopyPersonnels_dictText"
|
||||||
v-decorator="['carbonCopyPersonnels', validatorRules.carbonCopyPersonnels]"
|
v-decorator="['carbonCopyPersonnels', validatorRules.carbonCopyPersonnels]"
|
||||||
@nameChange="handleCarbonCopyNameChange" />
|
@nameChange="handleCarbonCopyNameChange" />
|
||||||
@@ -274,11 +279,12 @@
|
|||||||
:maxLength="500"
|
:maxLength="500"
|
||||||
type="textarea"
|
type="textarea"
|
||||||
:rows="4"
|
:rows="4"
|
||||||
|
:disabled="isLook"
|
||||||
v-decorator="['handleText', validatorRules.handleText]" />
|
v-decorator="['handleText', validatorRules.handleText]" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<!--附件-->
|
<!--附件-->
|
||||||
<a-form-item :labelCol="longLabelCol" :wrapperCol="longWrapperCol" :label="$t('businessSupport.questionAnswer.attach')">
|
<a-form-item :labelCol="longLabelCol" :wrapperCol="longWrapperCol" :label="$t('businessSupport.questionAnswer.attach')">
|
||||||
<j-upload v-decorator="['handleFile']" return-id multiple />
|
<j-upload v-decorator="['handleFile']" return-id multiple :disabled="isLook" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-form>
|
</a-form>
|
||||||
</div>
|
</div>
|
||||||
@@ -294,7 +300,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!--底部按钮-->
|
<!--底部按钮-->
|
||||||
<div class="detail-page-bottom-operate-box">
|
<div v-if="!isLook" class="detail-page-bottom-operate-box">
|
||||||
<!--转办-->
|
<!--转办-->
|
||||||
<a-button type="primary" :loading="loading" ghost icon="arrow-up" v-if="btnList.includes('return')" @click="handleTurnTo">
|
<a-button type="primary" :loading="loading" ghost icon="arrow-up" v-if="btnList.includes('return')" @click="handleTurnTo">
|
||||||
{{ $t('turnTo') }}
|
{{ $t('turnTo') }}
|
||||||
@@ -324,6 +330,16 @@
|
|||||||
{{ $t('reject') }}
|
{{ $t('reject') }}
|
||||||
</a-button>
|
</a-button>
|
||||||
</div>
|
</div>
|
||||||
|
<div v-else class="detail-page-bottom-operate-box">
|
||||||
|
<!--上一步-->
|
||||||
|
<a-button type="primary" :loading="loading" ghost icon="arrow-up" v-if="btnList.includes('pre')" @click="handleLastStep">
|
||||||
|
{{ $t('workCenter.projectComplianceEvaluationProcess.lastStep') }}
|
||||||
|
</a-button>
|
||||||
|
<!--下一步-->
|
||||||
|
<a-button type="primary" :loading="loading" icon="arrow-down" v-if="btnList.includes('next')" @click="handleNextStep">
|
||||||
|
{{ $t('workCenter.projectComplianceEvaluationProcess.nextStep') }}
|
||||||
|
</a-button>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!--选人-->
|
<!--选人-->
|
||||||
<user-select-modal :type="userSelectType" ref="userSelectModal" @listChange="handleBatchSelectorOk" @change="continueTransfer" />
|
<user-select-modal :type="userSelectType" ref="userSelectModal" @listChange="handleBatchSelectorOk" @change="continueTransfer" />
|
||||||
@@ -344,7 +360,8 @@ import {
|
|||||||
EvaluationResultType,
|
EvaluationResultType,
|
||||||
ProcessKey,
|
ProcessKey,
|
||||||
ProjectComplianceEvaluationProcessNode,
|
ProjectComplianceEvaluationProcessNode,
|
||||||
StandardSource
|
StandardSource,
|
||||||
|
ProcessType
|
||||||
} from '../../../enums/commonEnums'
|
} 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'
|
||||||
@@ -360,7 +377,9 @@ import {
|
|||||||
queryProjectComplianceEvaluation,
|
queryProjectComplianceEvaluation,
|
||||||
processTransfer,
|
processTransfer,
|
||||||
agreeProjectComplianceEvaluation,
|
agreeProjectComplianceEvaluation,
|
||||||
rejectProjectComplianceEvaluation
|
rejectProjectComplianceEvaluation,
|
||||||
|
saveSnapShot,
|
||||||
|
getLookData
|
||||||
} from '../../../api/workCenter'
|
} from '../../../api/workCenter'
|
||||||
import SplitClauseDetail from '../../documentTool/documentSplit/modules/SplitClauseDetail'
|
import SplitClauseDetail from '../../documentTool/documentSplit/modules/SplitClauseDetail'
|
||||||
import moment from 'moment'
|
import moment from 'moment'
|
||||||
@@ -640,7 +659,8 @@ export default {
|
|||||||
},
|
},
|
||||||
businessId: null,
|
businessId: null,
|
||||||
isTransfer: false, // 是否转办选人
|
isTransfer: false, // 是否转办选人
|
||||||
tableLoading: false
|
tableLoading: false,
|
||||||
|
isLook: false // 是否是查看
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@@ -897,28 +917,47 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
created () {
|
created () {
|
||||||
if (this.$route.query.processInstanceId || this.$route.query.draftId) {
|
if (this.$route.query.isLook + '' === '1') {
|
||||||
this.currentNode = this.$route.query.nodeId || ProjectComplianceEvaluationProcessNode.initiate.value
|
// 是查看
|
||||||
|
this.isLook = true
|
||||||
|
// 设置当前节点
|
||||||
|
this.currentNode = this.$route.query.nodeId
|
||||||
|
// 人员信息全部不可选
|
||||||
|
this.initPersonInfoData(false)
|
||||||
|
// 查询数据
|
||||||
this.initProcessInfo()
|
this.initProcessInfo()
|
||||||
} else {
|
} else {
|
||||||
this.currentNode = ProjectComplianceEvaluationProcessNode.initiate.value
|
if (this.$route.query.processInstanceId || this.$route.query.draftId) {
|
||||||
|
this.currentNode = this.$route.query.nodeId || ProjectComplianceEvaluationProcessNode.initiate.value
|
||||||
|
this.initProcessInfo()
|
||||||
|
} else {
|
||||||
|
this.currentNode = ProjectComplianceEvaluationProcessNode.initiate.value
|
||||||
|
}
|
||||||
|
this.getPersonInfoStructure(ProcessKey.PROJECT_COMPLIANCE_EVALUATION.value, () => {
|
||||||
|
this.initPersonInfoData(this.currentNode === ProjectComplianceEvaluationProcessNode.initiate.value)
|
||||||
|
})
|
||||||
}
|
}
|
||||||
this.getPersonInfoStructure(ProcessKey.PROJECT_COMPLIANCE_EVALUATION.value, () => {
|
|
||||||
this.initPersonInfoData(this.currentNode === ProjectComplianceEvaluationProcessNode.initiate.value)
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
/**
|
/**
|
||||||
* 获取流程数据
|
* 获取流程数据
|
||||||
*/
|
*/
|
||||||
initProcessInfo () {
|
initProcessInfo () {
|
||||||
const params = {
|
let params = {}
|
||||||
draftId: this.$route.query.draftId,
|
let func
|
||||||
processInstanceId: this.$route.query.draftId ? null : this.$route.query.processInstanceId,
|
if (this.isLook) {
|
||||||
taskId: this.$route.query.taskId
|
params.snapshotId = this.$route.query.snapshotId
|
||||||
|
func = getLookData
|
||||||
|
} else {
|
||||||
|
params = {
|
||||||
|
draftId: this.$route.query.draftId,
|
||||||
|
processInstanceId: this.$route.query.draftId ? null : this.$route.query.processInstanceId,
|
||||||
|
taskId: this.$route.query.taskId
|
||||||
|
}
|
||||||
|
func = queryProjectComplianceEvaluation
|
||||||
}
|
}
|
||||||
this.loading = true
|
this.loading = true
|
||||||
queryProjectComplianceEvaluation(params).then(res => {
|
func(params).then(res => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
const { result = {} } = res
|
const { result = {} } = res
|
||||||
this.approvalInfo = Object.assign({}, result.basicTaskInfoDTO)
|
this.approvalInfo = Object.assign({}, result.basicTaskInfoDTO)
|
||||||
@@ -1399,6 +1438,26 @@ export default {
|
|||||||
this.loading = false
|
this.loading = false
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
// 保存快照
|
||||||
|
saveParamJsonStr (callback) {
|
||||||
|
// 流程信息表单
|
||||||
|
const processInfoForm = Object.assign(this.processInfo, this.processInfoForm.getFieldsValue())
|
||||||
|
// 流程审批信息
|
||||||
|
const approvalInfoForm = Object.assign(this.approvalInfo, this.approvalInfoForm.getFieldsValue())
|
||||||
|
const params = { ...processInfoForm, ...approvalInfoForm }
|
||||||
|
params.infoJsonStr = JSON.stringify(this.dealSaveJsonData())
|
||||||
|
params.taskId = this.$route.query.taskId
|
||||||
|
params.prcType = ProcessType.PROJECT_COMPLIANCE_EVALUATION.value
|
||||||
|
saveSnapShot(params).then(async res => {
|
||||||
|
if (res.success) {
|
||||||
|
callback && await callback()
|
||||||
|
} else {
|
||||||
|
this.$message.warning(res.message)
|
||||||
|
this.loading = false
|
||||||
|
this.disabledBtnClick = false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
/**
|
/**
|
||||||
* 提交
|
* 提交
|
||||||
*/
|
*/
|
||||||
@@ -1422,20 +1481,34 @@ export default {
|
|||||||
formData.infoJsonStr = JSON.stringify(saveJsonObj)
|
formData.infoJsonStr = JSON.stringify(saveJsonObj)
|
||||||
}
|
}
|
||||||
submitFunc = initiateProjectComplianceEvaluation
|
submitFunc = initiateProjectComplianceEvaluation
|
||||||
|
submitFunc(formData).then(res => {
|
||||||
|
if (res.success) {
|
||||||
|
this.$message.success(res.message)
|
||||||
|
this.goBack()
|
||||||
|
} else {
|
||||||
|
this.$message.warning(res.message)
|
||||||
|
this.disabledBtnClick = false
|
||||||
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
} else {
|
} else {
|
||||||
submitFunc = submitProjectComplianceEvaluation
|
submitFunc = submitProjectComplianceEvaluation
|
||||||
|
// 保存快照后提交
|
||||||
|
this.saveParamJsonStr(() => {
|
||||||
|
submitFunc(formData).then(res => {
|
||||||
|
if (res.success) {
|
||||||
|
this.$message.success(res.message)
|
||||||
|
this.goBack()
|
||||||
|
} else {
|
||||||
|
this.$message.warning(res.message)
|
||||||
|
this.disabledBtnClick = false
|
||||||
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
|
})
|
||||||
}
|
}
|
||||||
submitFunc(formData).then(res => {
|
|
||||||
if (res.success) {
|
|
||||||
this.$message.success(res.message)
|
|
||||||
this.goBack()
|
|
||||||
} else {
|
|
||||||
this.$message.warning(res.message)
|
|
||||||
this.disabledBtnClick = false
|
|
||||||
}
|
|
||||||
}).finally(() => {
|
|
||||||
this.loading = false
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* 转办
|
* 转办
|
||||||
@@ -1487,16 +1560,19 @@ export default {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
this.loading = true
|
this.loading = true
|
||||||
agreeProjectComplianceEvaluation(formData).then(res => {
|
// 保存快照后提交
|
||||||
if (res.success) {
|
this.saveParamJsonStr(() => {
|
||||||
this.$message.success(res.message)
|
agreeProjectComplianceEvaluation(formData).then(res => {
|
||||||
this.goBack()
|
if (res.success) {
|
||||||
} else {
|
this.$message.success(res.message)
|
||||||
this.$message.warning(res.message)
|
this.goBack()
|
||||||
this.disabledBtnClick = false
|
} else {
|
||||||
}
|
this.$message.warning(res.message)
|
||||||
}).finally(() => {
|
this.disabledBtnClick = false
|
||||||
this.loading = false
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
@@ -1514,16 +1590,19 @@ export default {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
this.loading = true
|
this.loading = true
|
||||||
rejectProjectComplianceEvaluation(formData).then(res => {
|
// 保存快照后提交
|
||||||
if (res.success) {
|
this.saveParamJsonStr(() => {
|
||||||
this.$message.success(res.message)
|
rejectProjectComplianceEvaluation(formData).then(res => {
|
||||||
this.goBack()
|
if (res.success) {
|
||||||
} else {
|
this.$message.success(res.message)
|
||||||
this.$message.warning(res.message)
|
this.goBack()
|
||||||
this.disabledBtnClick = false
|
} else {
|
||||||
}
|
this.$message.warning(res.message)
|
||||||
}).finally(() => {
|
this.disabledBtnClick = false
|
||||||
this.loading = false
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
handleTableChange (pagination) {
|
handleTableChange (pagination) {
|
||||||
|
|||||||
@@ -3,9 +3,9 @@
|
|||||||
<div class="process-part-title">{{ $t('project') }}</div>
|
<div class="process-part-title">{{ $t('project') }}</div>
|
||||||
<div class="table-operator">
|
<div class="table-operator">
|
||||||
<!-- 新增-->
|
<!-- 新增-->
|
||||||
<a-button icon="plus" type="primary" @click="handleAdd">{{ $t('newlyAdded') }}</a-button>
|
<a-button icon="plus" type="primary" @click="handleAdd" :disabled="disabled">{{ $t('newlyAdded') }}</a-button>
|
||||||
<!-- 批量删除-->
|
<!-- 批量删除-->
|
||||||
<a-button type="primary" icon="delete" ghost @click="batchDel">{{ $t('delete') }}</a-button>
|
<a-button type="primary" icon="delete" ghost @click="batchDel" :disabled="disabled">{{ $t('delete') }}</a-button>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<j-table
|
<j-table
|
||||||
@@ -41,6 +41,11 @@ export default {
|
|||||||
default: () => {
|
default: () => {
|
||||||
return []
|
return []
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
disabled: {
|
||||||
|
type: Boolean,
|
||||||
|
required: false,
|
||||||
|
default: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data () {
|
data () {
|
||||||
|
|||||||
@@ -3,9 +3,9 @@
|
|||||||
<div class="process-part-title">{{ $t('workCenter.projectComplianceEvaluationProcess.rDComplianceList') }}</div>
|
<div class="process-part-title">{{ $t('workCenter.projectComplianceEvaluationProcess.rDComplianceList') }}</div>
|
||||||
<div class="table-operator">
|
<div class="table-operator">
|
||||||
<!-- 新增-->
|
<!-- 新增-->
|
||||||
<a-button icon="plus" type="primary" @click="handleAdd">{{ $t('newlyAdded') }}</a-button>
|
<a-button icon="plus" type="primary" @click="handleAdd" :disabled="disabled">{{ $t('newlyAdded') }}</a-button>
|
||||||
<!-- 批量删除-->
|
<!-- 批量删除-->
|
||||||
<a-button type="primary" icon="delete" ghost @click="batchDel">{{ $t('delete') }}</a-button>
|
<a-button type="primary" icon="delete" ghost @click="batchDel" :disabled="disabled">{{ $t('delete') }}</a-button>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<j-table
|
<j-table
|
||||||
@@ -25,6 +25,7 @@
|
|||||||
<a-select :placeholder="$t('pleaseSelect') + $t('workCenter.projectComplianceEvaluationProcess.salvageListSource')"
|
<a-select :placeholder="$t('pleaseSelect') + $t('workCenter.projectComplianceEvaluationProcess.salvageListSource')"
|
||||||
:value="record.decompositionOrderSource"
|
:value="record.decompositionOrderSource"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
|
:disabled="disabled"
|
||||||
@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">
|
<a-select-option v-for="item in record.dictOptions" :key="item.value" :value="item.value" :disabled="item.disabled">
|
||||||
{{ item.text }}
|
{{ item.text }}
|
||||||
@@ -60,6 +61,11 @@ export default {
|
|||||||
default: () => {
|
default: () => {
|
||||||
return []
|
return []
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
disabled: {
|
||||||
|
type: Boolean,
|
||||||
|
required: false,
|
||||||
|
default: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data () {
|
data () {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<internal-detail-page :content-padding="0" :title="pageTitle" :loading="loading">
|
<internal-detail-page :content-padding="0" :title="pageTitle" :loading="loading">
|
||||||
<!-- 标题右侧tab -->
|
<!-- 标题右侧tab -->
|
||||||
<template v-slot:titleRightCustom>
|
<template v-slot:titleRightCustom v-if="!isLook">
|
||||||
<div class="table-operator-tab">
|
<div class="table-operator-tab">
|
||||||
<!--基础信息-->
|
<!--基础信息-->
|
||||||
<a class="switch-item" :class="switchValue === 'base' ? 'table-operator-tab-active' : ''"
|
<a class="switch-item" :class="switchValue === 'base' ? 'table-operator-tab-active' : ''"
|
||||||
@@ -38,7 +38,7 @@
|
|||||||
format="YYYY-MM-DD"
|
format="YYYY-MM-DD"
|
||||||
value-format="YYYY-MM-DD"
|
value-format="YYYY-MM-DD"
|
||||||
v-decorator="['processDueDate']"
|
v-decorator="['processDueDate']"
|
||||||
:disabled="!isInitial"
|
:disabled="!isInitial || isLook"
|
||||||
style="width: 100%" />
|
style="width: 100%" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
@@ -48,7 +48,7 @@
|
|||||||
<a-input :placeholder="$t('pleaseEnter') + $t('processExplain')"
|
<a-input :placeholder="$t('pleaseEnter') + $t('processExplain')"
|
||||||
:maxLength="500"
|
:maxLength="500"
|
||||||
type="textarea"
|
type="textarea"
|
||||||
:disabled="!isInitial"
|
:disabled="!isInitial || isLook"
|
||||||
:rows="4"
|
:rows="4"
|
||||||
v-decorator="['processDescription']" />
|
v-decorator="['processDescription']" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@@ -69,37 +69,40 @@
|
|||||||
<initial-basic-service-info ref="standardList"
|
<initial-basic-service-info ref="standardList"
|
||||||
:selected-standard="selectedStandard"
|
:selected-standard="selectedStandard"
|
||||||
@source:change="handleSourceChange"
|
@source:change="handleSourceChange"
|
||||||
@standard:change="handleStandardChange" />
|
@standard:change="handleStandardChange"
|
||||||
|
:disabled="isLook"/>
|
||||||
<!--业务分派信息-->
|
<!--业务分派信息-->
|
||||||
<initial-assign-table ref="termList"
|
<initial-assign-table ref="termList"
|
||||||
:selected-spilt-info-id="selectedSpiltInfoId"
|
:selected-spilt-info-id="selectedSpiltInfoId"
|
||||||
:selected-standard="selectedStandard"
|
:selected-standard="selectedStandard"
|
||||||
:display-data-source="dispatchDataSource" />
|
:display-data-source="dispatchDataSource"
|
||||||
|
:disabled="isLook"/>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<!--部所主管级领导下发-->
|
<!--部所主管级领导下发-->
|
||||||
<depart-leader-issue-table v-if="isDepartLeaderIssue" ref="termList" :display-data-source="dispatchDataSource" />
|
<depart-leader-issue-table v-if="isDepartLeaderIssue" ref="termList" :display-data-source="dispatchDataSource" :disabled="isLook" />
|
||||||
|
|
||||||
<!--模块责任人分发-->
|
<!--模块责任人分发-->
|
||||||
<module-owner-issue-table v-if="isModuleOwnerIssue" ref="termList" :display-data-source="dispatchDataSource" />
|
<module-owner-issue-table v-if="isModuleOwnerIssue" ref="termList" :display-data-source="dispatchDataSource" :disabled="isLook" />
|
||||||
|
|
||||||
<!--设计工程师评估-->
|
<!--设计工程师评估-->
|
||||||
<design-engineer-assess v-if="isDesignEngineerAssess"
|
<design-engineer-assess v-if="isDesignEngineerAssess"
|
||||||
ref="asyncTermList"
|
ref="asyncTermList"
|
||||||
:display-data-source="dispatchDataSource"
|
:display-data-source="dispatchDataSource"
|
||||||
:pre-node-user="preNodeUser" />
|
:pre-node-user="preNodeUser"
|
||||||
|
:disabled="isLook"/>
|
||||||
|
|
||||||
<!--模块负责人评审-->
|
<!--模块负责人评审-->
|
||||||
<module-owner-approve-table v-if="isModuleOwnerApprove" ref="termList" :display-data-source="dispatchDataSource" />
|
<module-owner-approve-table v-if="isModuleOwnerApprove" ref="termList" :display-data-source="dispatchDataSource" />
|
||||||
|
|
||||||
<!--部所主管级领导审批-->
|
<!--部所主管级领导审批-->
|
||||||
<depart-leader-approve-table v-if="isDepartLeaderApprove" ref="termList" :display-data-source="dispatchDataSource" />
|
<depart-leader-approve-table v-if="isDepartLeaderApprove" ref="termList" :display-data-source="dispatchDataSource" :disabled="isLook" />
|
||||||
|
|
||||||
<!--法规工程师审批-->
|
<!--法规工程师审批-->
|
||||||
<regulatory-engineer-approval v-if="isRegulatoryEngineerApproval" ref="termList" :display-data-source="dispatchDataSource" />
|
<regulatory-engineer-approval v-if="isRegulatoryEngineerApproval" ref="termList" :display-data-source="dispatchDataSource" :disabled="isLook" />
|
||||||
|
|
||||||
<!--设计工程师补充立项项目号-->
|
<!--设计工程师补充立项项目号-->
|
||||||
<design-engineer-write-project v-if="isDesignEngineerWriteProject" ref="termList" :display-data-source="dispatchDataSource" />
|
<design-engineer-write-project v-if="isDesignEngineerWriteProject" ref="termList" :display-data-source="dispatchDataSource" :disabled="isLook" />
|
||||||
|
|
||||||
<!--流程审批信息-->
|
<!--流程审批信息-->
|
||||||
<div class="process-part-title">{{ $t('processApprovalInformation') }}</div>
|
<div class="process-part-title">{{ $t('processApprovalInformation') }}</div>
|
||||||
@@ -110,11 +113,12 @@
|
|||||||
:maxLength="500"
|
:maxLength="500"
|
||||||
type="textarea"
|
type="textarea"
|
||||||
:rows="4"
|
:rows="4"
|
||||||
|
:disabled="isLook"
|
||||||
v-decorator="['handleText', validatorRules.handleText]" />
|
v-decorator="['handleText', validatorRules.handleText]" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<!--附件-->
|
<!--附件-->
|
||||||
<a-form-item :labelCol="longLabelCol" :wrapperCol="longWrapperCol" :label="$t('businessSupport.questionAnswer.attach')">
|
<a-form-item :labelCol="longLabelCol" :wrapperCol="longWrapperCol" :label="$t('businessSupport.questionAnswer.attach')">
|
||||||
<j-upload v-decorator="['handleFile']" return-id multiple />
|
<j-upload v-decorator="['handleFile']" return-id multiple :disabled="isLook" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-form>
|
</a-form>
|
||||||
</div>
|
</div>
|
||||||
@@ -132,7 +136,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!--底部按钮-->
|
<!--底部按钮-->
|
||||||
<div class="detail-page-bottom-operate-box">
|
<div v-if="!isLook" class="detail-page-bottom-operate-box">
|
||||||
<!--转办 审批节点存在-->
|
<!--转办 审批节点存在-->
|
||||||
<a-button type="primary" :loading="loading" ghost icon="arrow-up" v-if="btnList.includes('return')" @click="handleTurnTo">
|
<a-button type="primary" :loading="loading" ghost icon="arrow-up" v-if="btnList.includes('return')" @click="handleTurnTo">
|
||||||
{{ $t('turnTo') }}
|
{{ $t('turnTo') }}
|
||||||
@@ -165,7 +169,7 @@ 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, StandardComplianceNodes, StandardSource } from '../../../enums/commonEnums'
|
import { ProcessKey, StandardComplianceNodes, StandardSource, ProcessType } from '../../../enums/commonEnums'
|
||||||
import InitialBasicServiceInfo from './components/InitialBasicServiceInfo'
|
import InitialBasicServiceInfo from './components/InitialBasicServiceInfo'
|
||||||
import InitialAssignTable from './components/InitialAssignTable'
|
import InitialAssignTable from './components/InitialAssignTable'
|
||||||
import DepartLeaderIssueTable from './components/DepartLeaderIssueTable'
|
import DepartLeaderIssueTable from './components/DepartLeaderIssueTable'
|
||||||
@@ -182,7 +186,9 @@ import {
|
|||||||
queryStandardCompliance,
|
queryStandardCompliance,
|
||||||
processTransfer,
|
processTransfer,
|
||||||
agreeStandardCompliance,
|
agreeStandardCompliance,
|
||||||
rejectStandardCompliance
|
rejectStandardCompliance,
|
||||||
|
saveSnapShot,
|
||||||
|
getLookData
|
||||||
} from '../../../api/workCenter'
|
} from '../../../api/workCenter'
|
||||||
import UserSelectModal from '../../../components/selection/UserSelectModal'
|
import UserSelectModal from '../../../components/selection/UserSelectModal'
|
||||||
|
|
||||||
@@ -245,7 +251,8 @@ export default {
|
|||||||
dispatchDataSource: [], // 业务分派信息的数据
|
dispatchDataSource: [], // 业务分派信息的数据
|
||||||
currentNodePrefix: null, // 判断节点的前缀
|
currentNodePrefix: null, // 判断节点的前缀
|
||||||
preNodeUser: null, // 上一节点处理人
|
preNodeUser: null, // 上一节点处理人
|
||||||
disabledBtnClick: false
|
disabledBtnClick: false,
|
||||||
|
isLook: false // 是否是查看
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@@ -287,29 +294,48 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
created () {
|
created () {
|
||||||
this.getPersonInfoStructure(ProcessKey.REGULATORY_COMPLIANCE_ASSESSMENT.value, () => {
|
if (this.$route.query.isLook + '' === '1') {
|
||||||
if (this.$route.query.processInstanceId || this.$route.query.draftId) {
|
// 是查看
|
||||||
this.currentNode = this.$route.query.nodeId || StandardComplianceNodes.initial.value
|
this.isLook = true
|
||||||
this.initProcessData()
|
// 设置当前节点
|
||||||
|
this.currentNode = this.$route.query.nodeId
|
||||||
|
// 人员信息全部不可选
|
||||||
|
this.initPersonInfoData(false)
|
||||||
|
// 查询数据
|
||||||
|
this.initProcessData()
|
||||||
|
} else {
|
||||||
|
this.getPersonInfoStructure(ProcessKey.REGULATORY_COMPLIANCE_ASSESSMENT.value, () => {
|
||||||
|
if (this.$route.query.processInstanceId || this.$route.query.draftId) {
|
||||||
|
this.currentNode = this.$route.query.nodeId || StandardComplianceNodes.initial.value
|
||||||
|
this.initProcessData()
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
this.currentNode = StandardComplianceNodes.initial.value
|
this.currentNode = StandardComplianceNodes.initial.value
|
||||||
}
|
}
|
||||||
const key = StandardComplianceNodes.keyOfValueByLike(this.currentNode)
|
const key = StandardComplianceNodes.keyOfValueByLike(this.currentNode)
|
||||||
this.btnList = StandardComplianceNodes[key].btn || []
|
this.btnList = StandardComplianceNodes[key].btn || []
|
||||||
this.currentNodePrefix = StandardComplianceNodes[key].value
|
this.currentNodePrefix = StandardComplianceNodes[key].value
|
||||||
this.initPersonInfoData()
|
this.initPersonInfoData()
|
||||||
})
|
})
|
||||||
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
initProcessData () {
|
initProcessData () {
|
||||||
this.loading = true
|
this.loading = true
|
||||||
const params = {
|
let params = {}
|
||||||
taskId: this.$route.query.taskId,
|
let func
|
||||||
processInstanceId: this.$route.query.processInstanceId,
|
if (this.isLook) {
|
||||||
draftId: this.$route.query.draftId
|
params.snapshotId = this.$route.query.snapshotId
|
||||||
|
func = getLookData
|
||||||
|
} else {
|
||||||
|
params = {
|
||||||
|
taskId: this.$route.query.taskId,
|
||||||
|
processInstanceId: this.$route.query.processInstanceId,
|
||||||
|
draftId: this.$route.query.draftId
|
||||||
|
}
|
||||||
|
func = queryStandardCompliance
|
||||||
}
|
}
|
||||||
queryStandardCompliance(params).then(res => {
|
func(params).then(res => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
let { result = {} } = res
|
let { result = {} } = res
|
||||||
if (result.infoJsonStr) {
|
if (result.infoJsonStr) {
|
||||||
@@ -507,6 +533,27 @@ export default {
|
|||||||
this.loading = false
|
this.loading = false
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
// 保存快照
|
||||||
|
async saveParamJsonStr (callback) {
|
||||||
|
// 流程信息表单
|
||||||
|
const processInfoForm = Object.assign(this.processInfo, this.processInfoForm.getFieldsValue())
|
||||||
|
// 流程审批信息
|
||||||
|
const approvalInfoForm = Object.assign(this.approvalInfo, this.approvalInfoForm.getFieldsValue())
|
||||||
|
const params = { ...processInfoForm, ...approvalInfoForm }
|
||||||
|
const saveForm = await this.dealSaveFormData()
|
||||||
|
params.infoJsonStr = JSON.stringify(saveForm)
|
||||||
|
params.taskId = this.$route.query.taskId
|
||||||
|
params.prcType = ProcessType.REGULATORY_COMPLIANCE_ASSESSMENT.value
|
||||||
|
saveSnapShot(params).then(async res => {
|
||||||
|
if (res.success) {
|
||||||
|
callback && await callback()
|
||||||
|
} else {
|
||||||
|
this.$message.warning(res.message)
|
||||||
|
this.loading = false
|
||||||
|
this.disabledBtnClick = false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
/**
|
/**
|
||||||
* 提交
|
* 提交
|
||||||
*/
|
*/
|
||||||
@@ -531,17 +578,34 @@ export default {
|
|||||||
submitFunc = submitStandardCompliance
|
submitFunc = submitStandardCompliance
|
||||||
}
|
}
|
||||||
this.loading = true
|
this.loading = true
|
||||||
submitFunc(formData).then(res => {
|
if (this.currentNode.indexOf(StandardComplianceNodes.initial.value) === 0) {
|
||||||
if (res.success) {
|
submitFunc(formData).then(res => {
|
||||||
this.$message.success(res.message)
|
if (res.success) {
|
||||||
this.goBack()
|
this.$message.success(res.message)
|
||||||
} else {
|
this.goBack()
|
||||||
this.$message.warning(res.message)
|
} else {
|
||||||
this.disabledBtnClick = false
|
this.$message.warning(res.message)
|
||||||
}
|
this.disabledBtnClick = false
|
||||||
}).finally(() => {
|
}
|
||||||
this.loading = false
|
}).finally(() => {
|
||||||
})
|
this.loading = false
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
// 保存快照后提交
|
||||||
|
this.saveParamJsonStr(() => {
|
||||||
|
submitFunc(formData).then(res => {
|
||||||
|
if (res.success) {
|
||||||
|
this.$message.success(res.message)
|
||||||
|
this.goBack()
|
||||||
|
} else {
|
||||||
|
this.$message.warning(res.message)
|
||||||
|
this.disabledBtnClick = false
|
||||||
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* 同意
|
* 同意
|
||||||
@@ -562,16 +626,19 @@ export default {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
this.loading = true
|
this.loading = true
|
||||||
agreeStandardCompliance(formData).then(res => {
|
// 保存快照后提交
|
||||||
if (res.success) {
|
this.saveParamJsonStr(() => {
|
||||||
this.$message.success(res.message)
|
agreeStandardCompliance(formData).then(res => {
|
||||||
this.goBack()
|
if (res.success) {
|
||||||
} else {
|
this.$message.success(res.message)
|
||||||
this.$message.warning(res.message)
|
this.goBack()
|
||||||
this.disabledBtnClick = false
|
} else {
|
||||||
}
|
this.$message.warning(res.message)
|
||||||
}).finally(() => {
|
this.disabledBtnClick = false
|
||||||
this.loading = false
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
@@ -590,16 +657,19 @@ export default {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
this.loading = true
|
this.loading = true
|
||||||
rejectStandardCompliance(formData).then(res => {
|
// 保存快照后提交
|
||||||
if (res.success) {
|
this.saveParamJsonStr(() => {
|
||||||
this.$message.success(res.message)
|
rejectStandardCompliance(formData).then(res => {
|
||||||
this.goBack()
|
if (res.success) {
|
||||||
} else {
|
this.$message.success(res.message)
|
||||||
this.$message.warning(res.message)
|
this.goBack()
|
||||||
this.disabledBtnClick = false
|
} else {
|
||||||
}
|
this.$message.warning(res.message)
|
||||||
}).finally(() => {
|
this.disabledBtnClick = false
|
||||||
this.loading = false
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
toStandardDetail () {
|
toStandardDetail () {
|
||||||
|
|||||||
+6
-1
@@ -15,7 +15,7 @@
|
|||||||
|
|
||||||
<!--是否立项-->
|
<!--是否立项-->
|
||||||
<template v-slot:projectApprovalFlag="{text,record,index}">
|
<template v-slot:projectApprovalFlag="{text,record,index}">
|
||||||
<j-dict-select-tag v-model="record.projectApprovalFlag" dict-code="yn" style="width: 100%" />
|
<j-dict-select-tag v-model="record.projectApprovalFlag" dict-code="yn" :disabled="disabled" style="width: 100%" />
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<!--条文内容-->
|
<!--条文内容-->
|
||||||
@@ -54,6 +54,11 @@ export default {
|
|||||||
default: () => {
|
default: () => {
|
||||||
return []
|
return []
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
disabled: {
|
||||||
|
type: Boolean,
|
||||||
|
required: false,
|
||||||
|
default: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data () {
|
data () {
|
||||||
|
|||||||
+8
-2
@@ -4,7 +4,7 @@
|
|||||||
<div class="process-part-title">{{ $t('workCenter.dispatchInformation') }}</div>
|
<div class="process-part-title">{{ $t('workCenter.dispatchInformation') }}</div>
|
||||||
<div class="table-operator">
|
<div class="table-operator">
|
||||||
<!--批量选择人员-->
|
<!--批量选择人员-->
|
||||||
<a-button type="primary" @click="handleSelectPerson">
|
<a-button type="primary" @click="handleSelectPerson" :disabled="disabled">
|
||||||
{{ $t('workCenter.projectComplianceEvaluationProcess.batchSelector') }}
|
{{ $t('workCenter.projectComplianceEvaluationProcess.batchSelector') }}
|
||||||
</a-button>
|
</a-button>
|
||||||
</div>
|
</div>
|
||||||
@@ -31,6 +31,7 @@
|
|||||||
v-model="record.moduleOwner"
|
v-model="record.moduleOwner"
|
||||||
:name-str="record.moduleOwner_dictText"
|
:name-str="record.moduleOwner_dictText"
|
||||||
v-if="!record.notInvolved"
|
v-if="!record.notInvolved"
|
||||||
|
:disabled="disabled"
|
||||||
:placeholder="$t('pleaseSelect') + $t('workCenter.standardCompliance.moduleOwner')"
|
:placeholder="$t('pleaseSelect') + $t('workCenter.standardCompliance.moduleOwner')"
|
||||||
@nameChange="nameStr => record.moduleOwner_dictText = nameStr" />
|
@nameChange="nameStr => record.moduleOwner_dictText = nameStr" />
|
||||||
<div v-else>{{ global.emptyLine }}</div>
|
<div v-else>{{ global.emptyLine }}</div>
|
||||||
@@ -47,7 +48,7 @@
|
|||||||
<!--操作-->
|
<!--操作-->
|
||||||
<template v-slot:action="{text,record,index}">
|
<template v-slot:action="{text,record,index}">
|
||||||
<div class="action-span-cell">
|
<div class="action-span-cell">
|
||||||
<a @click="handleUninvolved(record, index)">
|
<a :disabled="disabled" @click="handleUninvolved(record, index)">
|
||||||
{{
|
{{
|
||||||
!record.notInvolved ? $t('projectLibrary.vehicleItemLibrary.uninvolved') : $t('workCenter.projectComplianceEvaluationProcess.noCauseInvolved')
|
!record.notInvolved ? $t('projectLibrary.vehicleItemLibrary.uninvolved') : $t('workCenter.projectComplianceEvaluationProcess.noCauseInvolved')
|
||||||
}}
|
}}
|
||||||
@@ -84,6 +85,11 @@ export default {
|
|||||||
default: () => {
|
default: () => {
|
||||||
return []
|
return []
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
disabled: {
|
||||||
|
type: Boolean,
|
||||||
|
required: false,
|
||||||
|
default: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data () {
|
data () {
|
||||||
|
|||||||
@@ -47,6 +47,7 @@
|
|||||||
:options="resultOptions"
|
:options="resultOptions"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
:value="record.assessResults"
|
:value="record.assessResults"
|
||||||
|
:disabled="disabled"
|
||||||
@change="value => handleEvaluationResultChange(value, record, record.dataSourceIndex)" />
|
@change="value => handleEvaluationResultChange(value, record, record.dataSourceIndex)" />
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -62,6 +63,7 @@
|
|||||||
prop="isRelate">
|
prop="isRelate">
|
||||||
<j-dict-select-tag v-model="record.isRelate"
|
<j-dict-select-tag v-model="record.isRelate"
|
||||||
dict-code="yn"
|
dict-code="yn"
|
||||||
|
:disabled="disabled"
|
||||||
type="radio" />
|
type="radio" />
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
<!--不符合车型系列-->
|
<!--不符合车型系列-->
|
||||||
@@ -71,6 +73,7 @@
|
|||||||
prop="modelSeries"
|
prop="modelSeries"
|
||||||
v-if="record.isRelate === yesValue">
|
v-if="record.isRelate === yesValue">
|
||||||
<j-multi-select-tag v-model="record.modelSeries"
|
<j-multi-select-tag v-model="record.modelSeries"
|
||||||
|
:disabled="disabled"
|
||||||
dict-code="model_series" />
|
dict-code="model_series" />
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
</template>
|
</template>
|
||||||
@@ -80,7 +83,7 @@
|
|||||||
:labelCol="{span: 4}"
|
:labelCol="{span: 4}"
|
||||||
:wrapperCol="{span: 18}"
|
:wrapperCol="{span: 18}"
|
||||||
prop="description">
|
prop="description">
|
||||||
<a-input type="textarea" :maxLength="500" v-model="record.description" />
|
<a-input type="textarea" :maxLength="500" :disabled="disabled" v-model="record.description" />
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
<!--佐证材料-->
|
<!--佐证材料-->
|
||||||
<a-form-model-item :label="$t('projectLibrary.specialProjectLibrary.supportingMaterial')"
|
<a-form-model-item :label="$t('projectLibrary.specialProjectLibrary.supportingMaterial')"
|
||||||
@@ -90,6 +93,7 @@
|
|||||||
<j-upload return-id
|
<j-upload return-id
|
||||||
multiple
|
multiple
|
||||||
v-model="record.fileId"
|
v-model="record.fileId"
|
||||||
|
:disabled="disabled"
|
||||||
file-type="pdf,doc,docx,pptx,ppt,jpg,jpeg,png,xls,xlsx,bmp" />
|
file-type="pdf,doc,docx,pptx,ppt,jpg,jpeg,png,xls,xlsx,bmp" />
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
</template>
|
</template>
|
||||||
@@ -127,6 +131,11 @@ export default {
|
|||||||
type: String,
|
type: String,
|
||||||
required: false,
|
required: false,
|
||||||
default: ''
|
default: ''
|
||||||
|
},
|
||||||
|
disabled: {
|
||||||
|
type: Boolean,
|
||||||
|
required: false,
|
||||||
|
default: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data () {
|
data () {
|
||||||
|
|||||||
+6
-1
@@ -15,7 +15,7 @@
|
|||||||
|
|
||||||
<!--操作-->
|
<!--操作-->
|
||||||
<template v-slot:action="{text, record, index}">
|
<template v-slot:action="{text, record, index}">
|
||||||
<a @click="handleEdit(record)">{{ $t('edit') }}</a>
|
<a @click="handleEdit(record)" :disabled="disabled">{{ $t('edit') }}</a>
|
||||||
</template>
|
</template>
|
||||||
</j-table>
|
</j-table>
|
||||||
</div>
|
</div>
|
||||||
@@ -42,6 +42,11 @@ export default {
|
|||||||
default: () => {
|
default: () => {
|
||||||
return []
|
return []
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
disabled: {
|
||||||
|
type: Boolean,
|
||||||
|
required: false,
|
||||||
|
default: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data () {
|
data () {
|
||||||
|
|||||||
@@ -4,11 +4,11 @@
|
|||||||
<div class="process-part-title">{{ $t('workCenter.dispatchInformation') }}</div>
|
<div class="process-part-title">{{ $t('workCenter.dispatchInformation') }}</div>
|
||||||
<div class="table-operator">
|
<div class="table-operator">
|
||||||
<!--批量选择人员-->
|
<!--批量选择人员-->
|
||||||
<a-button type="primary" @click="handleSelectPerson">
|
<a-button type="primary" @click="handleSelectPerson" :disabled="disabled">
|
||||||
{{ $t('workCenter.projectComplianceEvaluationProcess.batchSelector') }}
|
{{ $t('workCenter.projectComplianceEvaluationProcess.batchSelector') }}
|
||||||
</a-button>
|
</a-button>
|
||||||
<!--批量删除-->
|
<!--批量删除-->
|
||||||
<a-button type="primary" ghost @click="batchDelete">
|
<a-button type="primary" ghost @click="batchDelete" :disabled="disabled">
|
||||||
{{ $t('batchDelete') }}
|
{{ $t('batchDelete') }}
|
||||||
</a-button>
|
</a-button>
|
||||||
</div>
|
</div>
|
||||||
@@ -37,6 +37,7 @@
|
|||||||
v-model="record.responsibleUnitLeader"
|
v-model="record.responsibleUnitLeader"
|
||||||
:name-str="record.responsibleUnitLeader_dictText"
|
:name-str="record.responsibleUnitLeader_dictText"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
|
:disabled="disabled"
|
||||||
:placeholder="$t('pleaseSelect') + $t('workCenter.standardCompliance.responsibleUnitContactPerson')"
|
:placeholder="$t('pleaseSelect') + $t('workCenter.standardCompliance.responsibleUnitContactPerson')"
|
||||||
@nameChange="nameStr => record.responsibleUnitLeader_dictText = nameStr" />
|
@nameChange="nameStr => record.responsibleUnitLeader_dictText = nameStr" />
|
||||||
</template>
|
</template>
|
||||||
@@ -52,7 +53,7 @@
|
|||||||
<!--操作-->
|
<!--操作-->
|
||||||
<template v-slot:action="{text,record,index}">
|
<template v-slot:action="{text,record,index}">
|
||||||
<div class="action-span-cell">
|
<div class="action-span-cell">
|
||||||
<a :disabled="index === 0 && dataSource.length === 1" @click="handleDelete(record.rowKey)">{{ $t('delete') }}</a>
|
<a :disabled="index === 0 && dataSource.length === 1 || disabled" @click="handleDelete(record.rowKey)">{{ $t('delete') }}</a>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</j-table>
|
</j-table>
|
||||||
@@ -97,6 +98,11 @@ export default {
|
|||||||
default: () => {
|
default: () => {
|
||||||
return []
|
return []
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
disabled: {
|
||||||
|
type: Boolean,
|
||||||
|
required: false,
|
||||||
|
default: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
|
|||||||
+8
-2
@@ -4,11 +4,11 @@
|
|||||||
<div class="process-part-title">{{ $t('basicServiceInformation') }}</div>
|
<div class="process-part-title">{{ $t('basicServiceInformation') }}</div>
|
||||||
<div class="table-operator">
|
<div class="table-operator">
|
||||||
<!--添加标准-->
|
<!--添加标准-->
|
||||||
<a-button type="primary" @click="handleAdd">
|
<a-button type="primary" @click="handleAdd" :disabled="disabled">
|
||||||
{{ $t('workCenter.standardCompliance.addStandard') }}
|
{{ $t('workCenter.standardCompliance.addStandard') }}
|
||||||
</a-button>
|
</a-button>
|
||||||
<!--删除-->
|
<!--删除-->
|
||||||
<a-button type="primary" ghost @click="handleDelete">
|
<a-button type="primary" ghost @click="handleDelete" :disabled="disabled">
|
||||||
{{ $t('delete') }}
|
{{ $t('delete') }}
|
||||||
</a-button>
|
</a-button>
|
||||||
</div>
|
</div>
|
||||||
@@ -36,6 +36,7 @@
|
|||||||
v-model="record.decompositionOrderSource"
|
v-model="record.decompositionOrderSource"
|
||||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
|
:disabled="disabled"
|
||||||
@change="value => handleSourceChange(value, record)">
|
@change="value => handleSourceChange(value, record)">
|
||||||
<a-select-option v-for="item in record.decompositionOrderSourceVOList"
|
<a-select-option v-for="item in record.decompositionOrderSourceVOList"
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
@@ -71,6 +72,11 @@ export default {
|
|||||||
default: () => {
|
default: () => {
|
||||||
return {}
|
return {}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
disabled: {
|
||||||
|
type: Boolean,
|
||||||
|
required: false,
|
||||||
|
default: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
<div class="process-part-title">{{ $t('workCenter.dispatchInformation') }}</div>
|
<div class="process-part-title">{{ $t('workCenter.dispatchInformation') }}</div>
|
||||||
<div class="table-operator">
|
<div class="table-operator">
|
||||||
<!--批量选择人员-->
|
<!--批量选择人员-->
|
||||||
<a-button type="primary" @click="handleSelectPerson">
|
<a-button type="primary" @click="handleSelectPerson" :disabled="disabled">
|
||||||
{{ $t('workCenter.projectComplianceEvaluationProcess.batchSelector') }}
|
{{ $t('workCenter.projectComplianceEvaluationProcess.batchSelector') }}
|
||||||
</a-button>
|
</a-button>
|
||||||
</div>
|
</div>
|
||||||
@@ -32,6 +32,7 @@
|
|||||||
:name-str="record.designEngineer_dictText"
|
:name-str="record.designEngineer_dictText"
|
||||||
v-if="!record.notInvolved"
|
v-if="!record.notInvolved"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
|
:disabled="disabled"
|
||||||
:placeholder="$t('pleaseSelect') + $t('workCenter.standardConsultationProcess.designEngineer')"
|
:placeholder="$t('pleaseSelect') + $t('workCenter.standardConsultationProcess.designEngineer')"
|
||||||
@nameChange="nameStr => record.designEngineer_dictText = nameStr" />
|
@nameChange="nameStr => record.designEngineer_dictText = nameStr" />
|
||||||
<div v-else>{{ global.emptyLine }}</div>
|
<div v-else>{{ global.emptyLine }}</div>
|
||||||
@@ -48,7 +49,7 @@
|
|||||||
<!--操作-->
|
<!--操作-->
|
||||||
<template v-slot:action="{text,record}">
|
<template v-slot:action="{text,record}">
|
||||||
<div class="action-span-cell">
|
<div class="action-span-cell">
|
||||||
<a @click="handleUninvolved(record)">{{
|
<a :disabled="disabled" @click="handleUninvolved(record)">{{
|
||||||
!record.notInvolved ? $t('projectLibrary.vehicleItemLibrary.uninvolved') : $t('workCenter.projectComplianceEvaluationProcess.noCauseInvolved')
|
!record.notInvolved ? $t('projectLibrary.vehicleItemLibrary.uninvolved') : $t('workCenter.projectComplianceEvaluationProcess.noCauseInvolved')
|
||||||
}}</a>
|
}}</a>
|
||||||
</div>
|
</div>
|
||||||
@@ -83,6 +84,11 @@ export default {
|
|||||||
default: () => {
|
default: () => {
|
||||||
return []
|
return []
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
disabled: {
|
||||||
|
type: Boolean,
|
||||||
|
required: false,
|
||||||
|
default: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data () {
|
data () {
|
||||||
|
|||||||
+10
-3
@@ -5,11 +5,11 @@
|
|||||||
<div>
|
<div>
|
||||||
<div class="table-operator">
|
<div class="table-operator">
|
||||||
<!--批量选择设计工程师-->
|
<!--批量选择设计工程师-->
|
||||||
<a-button type="primary" @click="handleSelectPerson('designEngineer')">
|
<a-button type="primary" @click="handleSelectPerson('designEngineer')" :disabled="disabled">
|
||||||
{{ $t('workCenter.standardCompliance.batchSelectDesignEngineer') }}
|
{{ $t('workCenter.standardCompliance.batchSelectDesignEngineer') }}
|
||||||
</a-button>
|
</a-button>
|
||||||
<!--批量选择抄送人员-->
|
<!--批量选择抄送人员-->
|
||||||
<a-button type="primary" @click="handleSelectPerson('carbonCopyPersonnels')">
|
<a-button type="primary" @click="handleSelectPerson('carbonCopyPersonnels')" :disabled="disabled">
|
||||||
{{ $t('workCenter.standardCompliance.batchSelectCCPersonnel') }}
|
{{ $t('workCenter.standardCompliance.batchSelectCCPersonnel') }}
|
||||||
</a-button>
|
</a-button>
|
||||||
</div>
|
</div>
|
||||||
@@ -45,7 +45,7 @@
|
|||||||
|
|
||||||
<!--是否立项-->
|
<!--是否立项-->
|
||||||
<template v-slot:projectApprovalFlag="{text,record}">
|
<template v-slot:projectApprovalFlag="{text,record}">
|
||||||
<j-dict-select-tag v-model="record.projectApprovalFlag" dict-code="yn" style="width: 100%" />
|
<j-dict-select-tag v-model="record.projectApprovalFlag" dict-code="yn" :disabled="disabled" style="width: 100%" />
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<!--设计工程师-->
|
<!--设计工程师-->
|
||||||
@@ -58,6 +58,7 @@
|
|||||||
:placeholder="$t('pleaseSelect') + $t('workCenter.standardConsultationProcess.designEngineer')"
|
:placeholder="$t('pleaseSelect') + $t('workCenter.standardConsultationProcess.designEngineer')"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
type="radio"
|
type="radio"
|
||||||
|
:disabled="disabled"
|
||||||
@nameChange="nameStr => record.designEngineer_dictText = nameStr" />
|
@nameChange="nameStr => record.designEngineer_dictText = nameStr" />
|
||||||
<div v-else>{{ global.emptyLine }}</div>
|
<div v-else>{{ global.emptyLine }}</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -70,6 +71,7 @@
|
|||||||
:placeholder="$t('pleaseSelect') + $t('workCenter.projectComplianceEvaluationProcess.ccPerson')"
|
:placeholder="$t('pleaseSelect') + $t('workCenter.projectComplianceEvaluationProcess.ccPerson')"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
|
:disabled="disabled"
|
||||||
@nameChange="nameStr => record.carbonCopyPersonnels_dictText = nameStr" />
|
@nameChange="nameStr => record.carbonCopyPersonnels_dictText = nameStr" />
|
||||||
<!--<div>{{ global.emptyLine }}</div>-->
|
<!--<div>{{ global.emptyLine }}</div>-->
|
||||||
</template>
|
</template>
|
||||||
@@ -127,6 +129,11 @@ export default {
|
|||||||
default: () => {
|
default: () => {
|
||||||
return []
|
return []
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
disabled: {
|
||||||
|
type: Boolean,
|
||||||
|
required: false,
|
||||||
|
default: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data () {
|
data () {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<internal-detail-page :content-padding="0" :title="pageTitle" :loading="loading">
|
<internal-detail-page :content-padding="0" :title="pageTitle" :loading="loading">
|
||||||
<!-- 标题右侧tab -->
|
<!-- 标题右侧tab -->
|
||||||
<template v-slot:titleRightCustom>
|
<template v-slot:titleRightCustom v-if="!isLook">
|
||||||
<div class="table-operator-tab">
|
<div class="table-operator-tab">
|
||||||
<!--基础信息-->
|
<!--基础信息-->
|
||||||
<a class="switch-item" :class="switchValue === 'base' ? 'table-operator-tab-active' : ''"
|
<a class="switch-item" :class="switchValue === 'base' ? 'table-operator-tab-active' : ''"
|
||||||
@@ -38,7 +38,7 @@
|
|||||||
format="YYYY-MM-DD"
|
format="YYYY-MM-DD"
|
||||||
value-format="YYYY-MM-DD"
|
value-format="YYYY-MM-DD"
|
||||||
v-decorator="['processDueDate']"
|
v-decorator="['processDueDate']"
|
||||||
:disabled="processInfoDisabled"
|
:disabled="processInfoDisabled || isLook"
|
||||||
style="width: 100%" />
|
style="width: 100%" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
@@ -48,7 +48,7 @@
|
|||||||
<a-input :placeholder="$t('pleaseEnter') + $t('processExplain')"
|
<a-input :placeholder="$t('pleaseEnter') + $t('processExplain')"
|
||||||
:maxLength="500"
|
:maxLength="500"
|
||||||
type="textarea"
|
type="textarea"
|
||||||
:disabled="processInfoDisabled"
|
:disabled="processInfoDisabled || isLook"
|
||||||
:rows="4"
|
:rows="4"
|
||||||
v-decorator="['processDescription']" />
|
v-decorator="['processDescription']" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@@ -62,7 +62,7 @@
|
|||||||
<!--标准编号-->
|
<!--标准编号-->
|
||||||
<a-form-item :label="$t('standardNumber')">
|
<a-form-item :label="$t('standardNumber')">
|
||||||
<standard-selection v-decorator="['standardNumber', validatorRules.standardNumber]"
|
<standard-selection v-decorator="['standardNumber', validatorRules.standardNumber]"
|
||||||
:disabled="basicServiceInfoDisabled"
|
:disabled="basicServiceInfoDisabled || isLook"
|
||||||
:placeholder="$t('pleaseSelect') + $t('standardNumber')"
|
:placeholder="$t('pleaseSelect') + $t('standardNumber')"
|
||||||
:can-selected-source="[StandardSource.DOMESTIC.value]"
|
:can-selected-source="[StandardSource.DOMESTIC.value]"
|
||||||
type="radio"
|
type="radio"
|
||||||
@@ -99,7 +99,7 @@
|
|||||||
<div class="form-flex-item custom-flex-form-item">
|
<div class="form-flex-item custom-flex-form-item">
|
||||||
<!--相关文件-->
|
<!--相关文件-->
|
||||||
<a-form-item :label="$t('workCenter.standardConsultationProcess.relevantDocument')">
|
<a-form-item :label="$t('workCenter.standardConsultationProcess.relevantDocument')">
|
||||||
<j-upload multiple return-id v-decorator="['relatedFile', validatorRules.relatedFile]" :disabled="basicServiceInfoDisabled" />
|
<j-upload multiple return-id v-decorator="['relatedFile', validatorRules.relatedFile]" :disabled="basicServiceInfoDisabled || isLook" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-flex-item custom-flex-form-item">
|
<div class="form-flex-item custom-flex-form-item">
|
||||||
@@ -108,7 +108,7 @@
|
|||||||
<j-date show-type="day"
|
<j-date show-type="day"
|
||||||
:placeholder="$t('pleaseSelect') + $t('workCenter.standardConsultationProcess.endDate')"
|
:placeholder="$t('pleaseSelect') + $t('workCenter.standardConsultationProcess.endDate')"
|
||||||
v-decorator="['consultationDueDate', validatorRules.consultationDueDate]"
|
v-decorator="['consultationDueDate', validatorRules.consultationDueDate]"
|
||||||
:disabled="basicServiceInfoDisabled"
|
:disabled="basicServiceInfoDisabled || isLook"
|
||||||
:disabled-date="consultationDueDateDisabledDate" />
|
:disabled-date="consultationDueDateDisabledDate" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</div>
|
</div>
|
||||||
@@ -128,6 +128,7 @@
|
|||||||
type="select"
|
type="select"
|
||||||
dict-code="sender_type"
|
dict-code="sender_type"
|
||||||
:triggerChange="false"
|
:triggerChange="false"
|
||||||
|
:disabled="isLook"
|
||||||
@change="handleSenderTypeChange" />
|
@change="handleSenderTypeChange" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</div>
|
</div>
|
||||||
@@ -139,6 +140,7 @@
|
|||||||
<user-selection v-decorator="['moduleOwnerId', validatorRules.moduleOwnerId]"
|
<user-selection v-decorator="['moduleOwnerId', validatorRules.moduleOwnerId]"
|
||||||
:name-str="dispatchInfo.moduleOwnerId_dictText"
|
:name-str="dispatchInfo.moduleOwnerId_dictText"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
|
:disabled="isLook"
|
||||||
:placeholder="$t('pleaseSelect') + $t('workCenter.standardConsultationProcess.moduleOwner')"
|
:placeholder="$t('pleaseSelect') + $t('workCenter.standardConsultationProcess.moduleOwner')"
|
||||||
@nameChange="handleModuleOwnerNameChange" />
|
@nameChange="handleModuleOwnerNameChange" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@@ -151,6 +153,7 @@
|
|||||||
<user-selection v-decorator="['designEngineerId', validatorRules.designEngineerId]"
|
<user-selection v-decorator="['designEngineerId', validatorRules.designEngineerId]"
|
||||||
:name-str="dispatchInfo.designEngineerId_dictText"
|
:name-str="dispatchInfo.designEngineerId_dictText"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
|
:disabled="isLook"
|
||||||
:placeholder="$t('pleaseSelect') + $t('workCenter.standardConsultationProcess.designEngineer')"
|
:placeholder="$t('pleaseSelect') + $t('workCenter.standardConsultationProcess.designEngineer')"
|
||||||
@nameChange="handleDesignEngineerNameChange" />
|
@nameChange="handleDesignEngineerNameChange" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@@ -166,9 +169,9 @@
|
|||||||
<template v-if="currentNode.indexOf(ConsultationProcess.designEngineerFillIn.value) === 0">
|
<template v-if="currentNode.indexOf(ConsultationProcess.designEngineerFillIn.value) === 0">
|
||||||
<div class="table-operator">
|
<div class="table-operator">
|
||||||
<!-- 新增-->
|
<!-- 新增-->
|
||||||
<a-button icon="plus" type="primary" @click="handleAdd">{{ $t('newlyAdded') }}</a-button>
|
<a-button icon="plus" type="primary" :disabled="isLook" @click="handleAdd">{{ $t('newlyAdded') }}</a-button>
|
||||||
<!-- 批量删除-->
|
<!-- 批量删除-->
|
||||||
<a-button type="primary" icon="delete" ghost @click="batchDel">{{ $t('delete') }}</a-button>
|
<a-button type="primary" icon="delete" ghost :disabled="isLook" @click="batchDel">{{ $t('delete') }}</a-button>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<j-table
|
<j-table
|
||||||
@@ -190,7 +193,7 @@
|
|||||||
|
|
||||||
<!-- 操作栏 -->
|
<!-- 操作栏 -->
|
||||||
<div slot="action" slot-scope="{record, index}" class="action-span-cell">
|
<div slot="action" slot-scope="{record, index}" class="action-span-cell">
|
||||||
<a @click="handleEdit(record, index)" class="table-ope-btn">{{ $t('edit') }}</a>
|
<a @click="handleEdit(record, index)" class="table-ope-btn" :disabled="isLook">{{ $t('edit') }}</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</j-table>
|
</j-table>
|
||||||
@@ -201,7 +204,7 @@
|
|||||||
<template v-if="showAuditTable">
|
<template v-if="showAuditTable">
|
||||||
<div class="table-operator">
|
<div class="table-operator">
|
||||||
<!--批量操作,汇总节点才有的按钮-->
|
<!--批量操作,汇总节点才有的按钮-->
|
||||||
<a-button type="primary" icon="delete" ghost @click="batchOperate" v-if="isSummaryNode">
|
<a-button type="primary" icon="delete" ghost @click="batchOperate" v-if="isSummaryNode" :disabled="isLook">
|
||||||
{{ $t('batchOperation') }}
|
{{ $t('batchOperation') }}
|
||||||
</a-button>
|
</a-button>
|
||||||
</div>
|
</div>
|
||||||
@@ -215,7 +218,7 @@
|
|||||||
:locale="tableLocale"
|
:locale="tableLocale"
|
||||||
:class="{'empty-no-opinion': tableEmptyShowNoOpinion}"
|
:class="{'empty-no-opinion': tableEmptyShowNoOpinion}"
|
||||||
:extra-form="collectExtraForm"
|
:extra-form="collectExtraForm"
|
||||||
:all-disabled="disabledConsultationList"
|
:all-disabled="disabledConsultationList || isLook"
|
||||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }">
|
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }">
|
||||||
|
|
||||||
<!--表头插槽 start-->
|
<!--表头插槽 start-->
|
||||||
@@ -238,6 +241,7 @@
|
|||||||
:triggerChange="false"
|
:triggerChange="false"
|
||||||
class="opinion-select"
|
class="opinion-select"
|
||||||
dict-code="consultation_opinion"
|
dict-code="consultation_opinion"
|
||||||
|
:disabled="isLook"
|
||||||
:placeholder="$t('pleaseSelect') + $t('workCenter.esInspectionPlan.opinion')"
|
:placeholder="$t('pleaseSelect') + $t('workCenter.esInspectionPlan.opinion')"
|
||||||
@change="value => {handleOpinionChange(value, index, record)}" />
|
@change="value => {handleOpinionChange(value, index, record)}" />
|
||||||
</template>
|
</template>
|
||||||
@@ -254,11 +258,12 @@
|
|||||||
:maxLength="500"
|
:maxLength="500"
|
||||||
type="textarea"
|
type="textarea"
|
||||||
:rows="4"
|
:rows="4"
|
||||||
|
:disabled="isLook"
|
||||||
v-decorator="['handleText', validatorRules.handleText]" />
|
v-decorator="['handleText', validatorRules.handleText]" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<!--附件-->
|
<!--附件-->
|
||||||
<a-form-item :labelCol="longLabelCol" :wrapperCol="longWrapperCol" :label="$t('businessSupport.questionAnswer.attach')">
|
<a-form-item :labelCol="longLabelCol" :wrapperCol="longWrapperCol" :label="$t('businessSupport.questionAnswer.attach')">
|
||||||
<j-upload v-decorator="['handleFile']" return-id multiple />
|
<j-upload v-decorator="['handleFile']" return-id multiple :disabled="isLook" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-form>
|
</a-form>
|
||||||
</div>
|
</div>
|
||||||
@@ -275,7 +280,7 @@
|
|||||||
</process-detail-list>
|
</process-detail-list>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="detail-page-bottom-operate-box">
|
<div v-if="!isLook" class="detail-page-bottom-operate-box">
|
||||||
<!--转办 审批节点存在-->
|
<!--转办 审批节点存在-->
|
||||||
<a-button type="primary" :loading="loading" ghost icon="arrow-up" v-if="btnList.includes('return')" @click="handleTurnTo">
|
<a-button type="primary" :loading="loading" ghost icon="arrow-up" v-if="btnList.includes('return')" @click="handleTurnTo">
|
||||||
{{ $t('turnTo') }}
|
{{ $t('turnTo') }}
|
||||||
@@ -314,7 +319,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import InternalDetailPage from '../../../components/InternalDetailPage.vue'
|
import InternalDetailPage from '../../../components/InternalDetailPage.vue'
|
||||||
import StandardSelection from '../../../components/selection/StandardSelection.vue'
|
import StandardSelection from '../../../components/selection/StandardSelection.vue'
|
||||||
import { ConsultationProcess, SenderType, ProcessKey, StandardSource } from '../../../enums/commonEnums'
|
import { ConsultationProcess, SenderType, ProcessKey, StandardSource, ProcessType } from '../../../enums/commonEnums'
|
||||||
import UserSelection from '../../../components/selection/UserSelection'
|
import UserSelection from '../../../components/selection/UserSelection'
|
||||||
import JTable from '../../../components/jero/JTable'
|
import JTable from '../../../components/jero/JTable'
|
||||||
import ConsultationModal from './modules/ConsultationModal'
|
import ConsultationModal from './modules/ConsultationModal'
|
||||||
@@ -332,7 +337,9 @@ import {
|
|||||||
submitConsultationProcess,
|
submitConsultationProcess,
|
||||||
transferConsultationProcess,
|
transferConsultationProcess,
|
||||||
agreeConsultationProcess,
|
agreeConsultationProcess,
|
||||||
rejectConsultationProcess
|
rejectConsultationProcess,
|
||||||
|
saveSnapShot,
|
||||||
|
getLookData
|
||||||
} from '../../../api/workCenter'
|
} from '../../../api/workCenter'
|
||||||
import UserSelectModal from '../../../components/selection/UserSelectModal'
|
import UserSelectModal from '../../../components/selection/UserSelectModal'
|
||||||
import { getFileInfo } from '../../../api/api'
|
import { getFileInfo } from '../../../api/api'
|
||||||
@@ -755,7 +762,8 @@ export default {
|
|||||||
tableEmptyShowNoOpinion: false, // 表格暂无数据文本在汇总节点显示无意见
|
tableEmptyShowNoOpinion: false, // 表格暂无数据文本在汇总节点显示无意见
|
||||||
tableLocale: {
|
tableLocale: {
|
||||||
emptyText: <a-empty image={Empty.PRESENTED_IMAGE_SIMPLE}><span slot="description"> {this.$t('noData')} </span></a-empty>
|
emptyText: <a-empty image={Empty.PRESENTED_IMAGE_SIMPLE}><span slot="description"> {this.$t('noData')} </span></a-empty>
|
||||||
}
|
},
|
||||||
|
isLook: false // 是否是查看
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@@ -831,36 +839,55 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
created () {
|
created () {
|
||||||
// 获取人员信息数据
|
if (this.$route.query.isLook + '' === '1') {
|
||||||
this.getPersonInfoStructure(this.processKey, () => {
|
// 是查看
|
||||||
// 有流程id或者草稿id点进来的
|
this.isLook = true
|
||||||
if (this.$route.query.processInstanceId || this.$route.query.draftId) {
|
// 设置当前节点
|
||||||
this.currentNode = this.$route.query.nodeId || ConsultationProcess.initiate.value
|
this.currentNode = this.$route.query.nodeId
|
||||||
this.initPersonInfoData(this.currentNode.indexOf(ConsultationProcess.initiate.value) === 0)
|
// 人员信息全部不可选
|
||||||
this.initProcessDetailData()
|
this.initPersonInfoData(false)
|
||||||
} else {
|
// 查询数据
|
||||||
this.currentNode = ConsultationProcess.initiate.value
|
this.initProcessDetailData()
|
||||||
this.initPersonInfoData(this.currentNode.indexOf(ConsultationProcess.initiate.value) === 0)
|
} else {
|
||||||
}
|
// 获取人员信息数据
|
||||||
// 找不到这个节点默认使用审批节点页面及按钮,发起除外
|
this.getPersonInfoStructure(this.processKey, () => {
|
||||||
this.nodeEnumsKey = this.currentNode ? ConsultationProcess.keyOfValueByLike(this.currentNode) || 'regulatoryEngineerApproval' : 'initiate'
|
// 有流程id或者草稿id点进来的
|
||||||
this.currentNodePrefix = ConsultationProcess[this.nodeEnumsKey].value
|
if (this.$route.query.processInstanceId || this.$route.query.draftId) {
|
||||||
this.btnList = ConsultationProcess[this.nodeEnumsKey].btn
|
this.currentNode = this.$route.query.nodeId || ConsultationProcess.initiate.value
|
||||||
})
|
this.initPersonInfoData(this.currentNode.indexOf(ConsultationProcess.initiate.value) === 0)
|
||||||
|
this.initProcessDetailData()
|
||||||
|
} else {
|
||||||
|
this.currentNode = ConsultationProcess.initiate.value
|
||||||
|
this.initPersonInfoData(this.currentNode.indexOf(ConsultationProcess.initiate.value) === 0)
|
||||||
|
}
|
||||||
|
// 找不到这个节点默认使用审批节点页面及按钮,发起除外
|
||||||
|
this.nodeEnumsKey = this.currentNode ? ConsultationProcess.keyOfValueByLike(this.currentNode) || 'regulatoryEngineerApproval' : 'initiate'
|
||||||
|
this.currentNodePrefix = ConsultationProcess[this.nodeEnumsKey].value
|
||||||
|
this.btnList = ConsultationProcess[this.nodeEnumsKey].btn
|
||||||
|
})
|
||||||
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
initProcessDetailData () {
|
initProcessDetailData () {
|
||||||
this.loading = true
|
this.loading = true
|
||||||
const params = {
|
let params = {}
|
||||||
taskId: this.$route.query.taskId,
|
let func
|
||||||
projectId: this.$route.query.projectId
|
if (this.isLook) {
|
||||||
}
|
params.snapshotId = this.$route.query.snapshotId
|
||||||
if (this.$route.query.draftId) {
|
func = getLookData
|
||||||
params.draftId = this.$route.query.draftId
|
|
||||||
} else {
|
} else {
|
||||||
params.processInstanceId = this.$route.query.processInstanceId
|
params = {
|
||||||
|
taskId: this.$route.query.taskId,
|
||||||
|
projectId: this.$route.query.projectId
|
||||||
|
}
|
||||||
|
if (this.$route.query.draftId) {
|
||||||
|
params.draftId = this.$route.query.draftId
|
||||||
|
} else {
|
||||||
|
params.processInstanceId = this.$route.query.processInstanceId
|
||||||
|
}
|
||||||
|
func = queryConsultationProcessDetail
|
||||||
}
|
}
|
||||||
queryConsultationProcessDetail(params).then(async res => {
|
func(params).then(async res => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
let result = res.result || {}
|
let result = res.result || {}
|
||||||
// 草稿有数据需要从草稿里取
|
// 草稿有数据需要从草稿里取
|
||||||
@@ -1193,6 +1220,27 @@ export default {
|
|||||||
this.loading = false
|
this.loading = false
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
// 保存快照
|
||||||
|
async saveParamJsonStr (callback) {
|
||||||
|
// 流程信息表单
|
||||||
|
const processInfoForm = Object.assign(this.processInfo, this.processInfoForm.getFieldsValue())
|
||||||
|
// 流程审批信息
|
||||||
|
const approvalInfoForm = Object.assign(this.approvalInfo, this.approvalInfoForm.getFieldsValue())
|
||||||
|
const params = { ...processInfoForm, ...approvalInfoForm }
|
||||||
|
const saveForm = await this.dealFormData(true)
|
||||||
|
params.infoJsonStr = JSON.stringify(saveForm)
|
||||||
|
params.taskId = this.$route.query.taskId
|
||||||
|
params.prcType = ProcessType.CONSULTATION.value
|
||||||
|
saveSnapShot(params).then(async res => {
|
||||||
|
if (res.success) {
|
||||||
|
callback && await callback()
|
||||||
|
} else {
|
||||||
|
this.$message.warning(res.message)
|
||||||
|
this.loading = false
|
||||||
|
this.disabledBtnClick = false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
/**
|
/**
|
||||||
* 提交
|
* 提交
|
||||||
*/
|
*/
|
||||||
@@ -1214,20 +1262,34 @@ export default {
|
|||||||
if (saveForm) {
|
if (saveForm) {
|
||||||
formData.infoJsonStr = JSON.stringify(saveForm)
|
formData.infoJsonStr = JSON.stringify(saveForm)
|
||||||
}
|
}
|
||||||
|
func(formData).then(res => {
|
||||||
|
if (res.success) {
|
||||||
|
this.$message.success(res.message)
|
||||||
|
this.goBack()
|
||||||
|
} else {
|
||||||
|
this.$message.warning(res.message)
|
||||||
|
this.disabledBtnClick = false
|
||||||
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
} else {
|
} else {
|
||||||
func = submitConsultationProcess
|
func = submitConsultationProcess
|
||||||
|
// 保存快照后提交
|
||||||
|
this.saveParamJsonStr(() => {
|
||||||
|
func(formData).then(res => {
|
||||||
|
if (res.success) {
|
||||||
|
this.$message.success(res.message)
|
||||||
|
this.goBack()
|
||||||
|
} else {
|
||||||
|
this.$message.warning(res.message)
|
||||||
|
this.disabledBtnClick = false
|
||||||
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
|
})
|
||||||
}
|
}
|
||||||
func(formData).then(res => {
|
|
||||||
if (res.success) {
|
|
||||||
this.$message.success(res.message)
|
|
||||||
this.goBack()
|
|
||||||
} else {
|
|
||||||
this.$message.warning(res.message)
|
|
||||||
this.disabledBtnClick = false
|
|
||||||
}
|
|
||||||
}).finally(() => {
|
|
||||||
this.loading = false
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* 同意
|
* 同意
|
||||||
@@ -1248,16 +1310,19 @@ export default {
|
|||||||
}
|
}
|
||||||
this.loading = true
|
this.loading = true
|
||||||
formData.basicTaskInfoDTO.commitFlag = 1 // 同意就传1,驳回传2,其他都为空
|
formData.basicTaskInfoDTO.commitFlag = 1 // 同意就传1,驳回传2,其他都为空
|
||||||
agreeConsultationProcess(formData).then(res => {
|
// 保存快照后提交
|
||||||
if (res.success) {
|
this.saveParamJsonStr(() => {
|
||||||
this.$message.success(res.message)
|
agreeConsultationProcess(formData).then(res => {
|
||||||
this.goBack()
|
if (res.success) {
|
||||||
} else {
|
this.$message.success(res.message)
|
||||||
this.$message.warning(res.message)
|
this.goBack()
|
||||||
this.disabledBtnClick = false
|
} else {
|
||||||
}
|
this.$message.warning(res.message)
|
||||||
}).finally(() => {
|
this.disabledBtnClick = false
|
||||||
this.loading = false
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
@@ -1276,16 +1341,19 @@ export default {
|
|||||||
}
|
}
|
||||||
this.loading = true
|
this.loading = true
|
||||||
formData.basicTaskInfoDTO.commitFlag = 2 // 同意就传1,驳回传2,其他都为空
|
formData.basicTaskInfoDTO.commitFlag = 2 // 同意就传1,驳回传2,其他都为空
|
||||||
rejectConsultationProcess(formData).then(res => {
|
// 保存快照后提交
|
||||||
if (res.success) {
|
this.saveParamJsonStr(() => {
|
||||||
this.$message.success(res.message)
|
rejectConsultationProcess(formData).then(res => {
|
||||||
this.goBack()
|
if (res.success) {
|
||||||
} else {
|
this.$message.success(res.message)
|
||||||
this.$message.warning(res.message)
|
this.goBack()
|
||||||
this.disabledBtnClick = false
|
} else {
|
||||||
}
|
this.$message.warning(res.message)
|
||||||
}).finally(() => {
|
this.disabledBtnClick = false
|
||||||
this.loading = false
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
|
|||||||
+177
-106
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<internal-detail-page :title="pageTitle" :content-padding="0" :loading="loading">
|
<internal-detail-page :title="pageTitle" :content-padding="0" :loading="loading">
|
||||||
<!-- 标题右侧tab -->
|
<!-- 标题右侧tab -->
|
||||||
<template v-slot:titleRightCustom>
|
<template v-slot:titleRightCustom v-if="!isLook">
|
||||||
<div class="table-operator-tab">
|
<div class="table-operator-tab">
|
||||||
<!--基础信息-->
|
<!--基础信息-->
|
||||||
<a class="switch-item" :class="switchValue === 'base' ? 'table-operator-tab-active' : ''"
|
<a class="switch-item" :class="switchValue === 'base' ? 'table-operator-tab-active' : ''"
|
||||||
@@ -37,7 +37,7 @@
|
|||||||
format="YYYY-MM-DD"
|
format="YYYY-MM-DD"
|
||||||
value-format="YYYY-MM-DD"
|
value-format="YYYY-MM-DD"
|
||||||
v-decorator="['processDueDate']"
|
v-decorator="['processDueDate']"
|
||||||
:disabled="disabled"
|
:disabled="disabled || isLook"
|
||||||
style="width: 100%" />
|
style="width: 100%" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
@@ -47,7 +47,7 @@
|
|||||||
<a-input :placeholder="$t('pleaseEnter') + $t('processExplain')"
|
<a-input :placeholder="$t('pleaseEnter') + $t('processExplain')"
|
||||||
:maxLength="500"
|
:maxLength="500"
|
||||||
type="textarea"
|
type="textarea"
|
||||||
:disabled="disabled"
|
:disabled="disabled || isLook"
|
||||||
:rows="4"
|
:rows="4"
|
||||||
v-decorator="['processDescription']" />
|
v-decorator="['processDescription']" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@@ -78,7 +78,7 @@
|
|||||||
<a-form-model-item class="item-model" prop="source">
|
<a-form-model-item class="item-model" prop="source">
|
||||||
<j-dict-select-tag class="box-input"
|
<j-dict-select-tag class="box-input"
|
||||||
v-model="formInline.source"
|
v-model="formInline.source"
|
||||||
:disabled="disabled || disabledFieldList.includes('source') || isFromList"
|
:disabled="disabled || disabledFieldList.includes('source') || isFromList || isLook"
|
||||||
:placeholder="$t('pleaseSelect')+$t('standardSelect.source')"
|
:placeholder="$t('pleaseSelect')+$t('standardSelect.source')"
|
||||||
:type="'select'"
|
:type="'select'"
|
||||||
:triggerChange="false"
|
:triggerChange="false"
|
||||||
@@ -95,7 +95,7 @@
|
|||||||
<a-form-model-item class="item-model" prop="operateType">
|
<a-form-model-item class="item-model" prop="operateType">
|
||||||
<j-dict-select-tag class="box-input"
|
<j-dict-select-tag class="box-input"
|
||||||
v-model="formInline.operateType"
|
v-model="formInline.operateType"
|
||||||
:disabled="disabled || disabledFieldList.includes('operateType') || isFromList"
|
:disabled="disabled || disabledFieldList.includes('operateType') || isFromList || isLook"
|
||||||
:placeholder="$t('pleaseSelect')+$t('log.operationType')"
|
:placeholder="$t('pleaseSelect')+$t('log.operationType')"
|
||||||
:type="'select'"
|
:type="'select'"
|
||||||
:triggerChange="false"
|
:triggerChange="false"
|
||||||
@@ -123,7 +123,7 @@
|
|||||||
:name-str="formInline.standard_number_temp"
|
:name-str="formInline.standard_number_temp"
|
||||||
:source="formInline.source"
|
:source="formInline.source"
|
||||||
:disabledSourceSearch="true"
|
:disabledSourceSearch="true"
|
||||||
:disabled="disabled || disabledFieldList.includes(item.dbFieldName)"
|
:disabled="disabled || disabledFieldList.includes(item.dbFieldName) || isLook"
|
||||||
type="radio"
|
type="radio"
|
||||||
select-only
|
select-only
|
||||||
:placeholder="$t('pleaseEnter')+item.dbFieldTxt"
|
:placeholder="$t('pleaseEnter')+item.dbFieldTxt"
|
||||||
@@ -132,7 +132,7 @@
|
|||||||
<!--文本框-->
|
<!--文本框-->
|
||||||
<a-input v-else
|
<a-input v-else
|
||||||
class="box-input"
|
class="box-input"
|
||||||
:disabled="disabled || disabledFieldList.includes(item.dbFieldName)"
|
:disabled="disabled || disabledFieldList.includes(item.dbFieldName) || isLook"
|
||||||
v-model="formInline[item.dbFieldName]"
|
v-model="formInline[item.dbFieldName]"
|
||||||
:maxLength="50"
|
:maxLength="50"
|
||||||
:placeholder="specialPlaceholder[item.dbFieldName] || $t('pleaseEnter')+item.dbFieldTxt" />
|
:placeholder="specialPlaceholder[item.dbFieldName] || $t('pleaseEnter')+item.dbFieldTxt" />
|
||||||
@@ -146,7 +146,7 @@
|
|||||||
format="YYYY-MM-DD"
|
format="YYYY-MM-DD"
|
||||||
value-format="YYYY-MM-DD"
|
value-format="YYYY-MM-DD"
|
||||||
v-model="formInline[item.dbFieldName]"
|
v-model="formInline[item.dbFieldName]"
|
||||||
:disabled="disabled || disabledFieldList.includes(item.dbFieldName)"
|
:disabled="disabled || disabledFieldList.includes(item.dbFieldName) || isLook"
|
||||||
style="width: 100%" />
|
style="width: 100%" />
|
||||||
<!-- 2, 单选用户 -->
|
<!-- 2, 单选用户 -->
|
||||||
<user-selection v-else-if="item.fieldShowType === FieldType.USER_SINGLE.value"
|
<user-selection v-else-if="item.fieldShowType === FieldType.USER_SINGLE.value"
|
||||||
@@ -156,22 +156,22 @@
|
|||||||
@nameChange="userSelectNameChange"
|
@nameChange="userSelectNameChange"
|
||||||
:nameStr="formInline[item.dbFieldName + '_dictText']"
|
:nameStr="formInline[item.dbFieldName + '_dictText']"
|
||||||
type="radio"
|
type="radio"
|
||||||
:disabled="disabled || disabledFieldList.includes(item.dbFieldName)" />
|
:disabled="disabled || disabledFieldList.includes(item.dbFieldName) || isLook" />
|
||||||
<!-- 3, 单选组织机构 -->
|
<!-- 3, 单选组织机构 -->
|
||||||
<j-select-depart v-else-if="item.fieldShowType === FieldType.ORGAN_SINGLE.value"
|
<j-select-depart v-else-if="item.fieldShowType === FieldType.ORGAN_SINGLE.value"
|
||||||
v-model="formInline[item.dbFieldName]"
|
v-model="formInline[item.dbFieldName]"
|
||||||
:disabled="disabled || disabledFieldList.includes(item.dbFieldName)"
|
:disabled="disabled || disabledFieldList.includes(item.dbFieldName) || isLook"
|
||||||
:backDepart="true" />
|
:backDepart="true" />
|
||||||
<!-- 4, 日期多选 -->
|
<!-- 4, 日期多选 -->
|
||||||
<j-multiple-date-picker v-else-if="item.fieldShowType === FieldType.DATE_MORE.value"
|
<j-multiple-date-picker v-else-if="item.fieldShowType === FieldType.DATE_MORE.value"
|
||||||
class="box-input"
|
class="box-input"
|
||||||
v-model="formInline[item.dbFieldName]"
|
v-model="formInline[item.dbFieldName]"
|
||||||
:fieldName="item.dbFieldName"
|
:fieldName="item.dbFieldName"
|
||||||
:disabled="disabled || disabledFieldList.includes(item.dbFieldName)" />
|
:disabled="disabled || disabledFieldList.includes(item.dbFieldName) || isLook" />
|
||||||
<!-- 5, 多行文本 -->
|
<!-- 5, 多行文本 -->
|
||||||
<a-textarea v-else-if="item.fieldShowType === FieldType.TEXTAREA.value"
|
<a-textarea v-else-if="item.fieldShowType === FieldType.TEXTAREA.value"
|
||||||
:placeholder="$t('pleaseEnter')+item.dbFieldTxt"
|
:placeholder="$t('pleaseEnter')+item.dbFieldTxt"
|
||||||
:disabled="disabled || disabledFieldList.includes(item.dbFieldName)"
|
:disabled="disabled || disabledFieldList.includes(item.dbFieldName) || isLook"
|
||||||
:maxLength="500"
|
:maxLength="500"
|
||||||
v-model="formInline[item.dbFieldName]" :rows="4" />
|
v-model="formInline[item.dbFieldName]" :rows="4" />
|
||||||
<!-- 6, 标准多选 -->
|
<!-- 6, 标准多选 -->
|
||||||
@@ -179,13 +179,13 @@
|
|||||||
:placeholder="specialPlaceholder[item.dbFieldName] || $t('pleaseSelectStandard')"
|
:placeholder="specialPlaceholder[item.dbFieldName] || $t('pleaseSelectStandard')"
|
||||||
:source="getStandardSource(item)"
|
:source="getStandardSource(item)"
|
||||||
:disabledSourceSearch="true"
|
:disabledSourceSearch="true"
|
||||||
:disabled="disabled || disabledFieldList.includes(item.dbFieldName)"
|
:disabled="disabled || disabledFieldList.includes(item.dbFieldName) || isLook"
|
||||||
:exclude-standard-numbers="excludeStandardFields.includes(item.dbFieldName) ? excludeStandardNumbers : null"
|
:exclude-standard-numbers="excludeStandardFields.includes(item.dbFieldName) ? excludeStandardNumbers : null"
|
||||||
v-model="formInline[item.dbFieldName]" />
|
v-model="formInline[item.dbFieldName]" />
|
||||||
<!-- 7, 多选组织机构 -->
|
<!-- 7, 多选组织机构 -->
|
||||||
<j-select-depart v-else-if="item.fieldShowType === FieldType.ORGAN_MORE.value"
|
<j-select-depart v-else-if="item.fieldShowType === FieldType.ORGAN_MORE.value"
|
||||||
v-model="formInline[item.dbFieldName]"
|
v-model="formInline[item.dbFieldName]"
|
||||||
:disabled="disabled || disabledFieldList.includes(item.dbFieldName)"
|
:disabled="disabled || disabledFieldList.includes(item.dbFieldName) || isLook"
|
||||||
:multi="true"
|
:multi="true"
|
||||||
:backDepart="true"
|
:backDepart="true"
|
||||||
:treeOpera="true" />
|
:treeOpera="true" />
|
||||||
@@ -206,7 +206,7 @@
|
|||||||
<!-- 9, 文本框 -->
|
<!-- 9, 文本框 -->
|
||||||
<a-input v-else-if="item.fieldShowType === FieldType.TEXT_BOX.value"
|
<a-input v-else-if="item.fieldShowType === FieldType.TEXT_BOX.value"
|
||||||
class="box-input"
|
class="box-input"
|
||||||
:disabled="disabled || disabledFieldList.includes(item.dbFieldName)"
|
:disabled="disabled || disabledFieldList.includes(item.dbFieldName) || isLook"
|
||||||
v-model="formInline[item.dbFieldName]"
|
v-model="formInline[item.dbFieldName]"
|
||||||
:maxLength="item.dbLength"
|
:maxLength="item.dbLength"
|
||||||
:placeholder="specialPlaceholder[item.dbFieldName] || $t('pleaseEnter')+item.dbFieldTxt" />
|
:placeholder="specialPlaceholder[item.dbFieldName] || $t('pleaseEnter')+item.dbFieldTxt" />
|
||||||
@@ -214,7 +214,7 @@
|
|||||||
<j-dict-select-tag v-else-if="item.fieldShowType === FieldType.OPTION_SINGLE.value"
|
<j-dict-select-tag v-else-if="item.fieldShowType === FieldType.OPTION_SINGLE.value"
|
||||||
class="box-input"
|
class="box-input"
|
||||||
v-model="formInline[item.dbFieldName]"
|
v-model="formInline[item.dbFieldName]"
|
||||||
:disabled="disabled || disabledFieldList.includes(item.dbFieldName)"
|
:disabled="disabled || disabledFieldList.includes(item.dbFieldName) || isLook"
|
||||||
:placeholder="$t('pleaseSelect')+item.dbFieldTxt"
|
:placeholder="$t('pleaseSelect')+item.dbFieldTxt"
|
||||||
:type="'select'"
|
:type="'select'"
|
||||||
:triggerChange="false"
|
:triggerChange="false"
|
||||||
@@ -224,7 +224,7 @@
|
|||||||
<j-multi-select-tag v-else-if="item.fieldShowType === FieldType.OPTION_MORE.value"
|
<j-multi-select-tag v-else-if="item.fieldShowType === FieldType.OPTION_MORE.value"
|
||||||
class="box-input"
|
class="box-input"
|
||||||
v-model="formInline[item.dbFieldName]"
|
v-model="formInline[item.dbFieldName]"
|
||||||
:disabled="disabled || disabledFieldList.includes(item.dbFieldName)"
|
:disabled="disabled || disabledFieldList.includes(item.dbFieldName) || isLook"
|
||||||
:placeholder="$t('pleaseSelect')+item.dbFieldTxt"
|
:placeholder="$t('pleaseSelect')+item.dbFieldTxt"
|
||||||
:type="'select'"
|
:type="'select'"
|
||||||
:triggerChange="false"
|
:triggerChange="false"
|
||||||
@@ -233,7 +233,7 @@
|
|||||||
<s-tree-select
|
<s-tree-select
|
||||||
v-else-if="item.fieldShowType === FieldType.TREE.value"
|
v-else-if="item.fieldShowType === FieldType.TREE.value"
|
||||||
v-model="formInline[item.dbFieldName]"
|
v-model="formInline[item.dbFieldName]"
|
||||||
:disabled="disabled || disabledFieldList.includes(item.dbFieldName)"
|
:disabled="disabled || disabledFieldList.includes(item.dbFieldName) || isLook"
|
||||||
:tree-data="optionsData[item.dbFieldName]"
|
:tree-data="optionsData[item.dbFieldName]"
|
||||||
tree-checkable
|
tree-checkable
|
||||||
treeCheckStrictly
|
treeCheckStrictly
|
||||||
@@ -242,7 +242,7 @@
|
|||||||
<!-- 14, 年份选择 -->
|
<!-- 14, 年份选择 -->
|
||||||
<j-date v-else-if="item.fieldShowType === FieldType.YEAR_PICKER.value"
|
<j-date v-else-if="item.fieldShowType === FieldType.YEAR_PICKER.value"
|
||||||
show-type="year"
|
show-type="year"
|
||||||
:disabled="disabled || disabledFieldList.includes(item.dbFieldName)"
|
:disabled="disabled || disabledFieldList.includes(item.dbFieldName) || isLook"
|
||||||
v-model="formInline[item.dbFieldName]"
|
v-model="formInline[item.dbFieldName]"
|
||||||
:default-value="defaultValue[item.dbFieldName]"
|
:default-value="defaultValue[item.dbFieldName]"
|
||||||
date-format="YYYY"
|
date-format="YYYY"
|
||||||
@@ -250,7 +250,7 @@
|
|||||||
<!-- 15, 树选择(单选) -->
|
<!-- 15, 树选择(单选) -->
|
||||||
<s-tree-select v-else-if="item.fieldShowType === FieldType.TREE_SINGLE.value"
|
<s-tree-select v-else-if="item.fieldShowType === FieldType.TREE_SINGLE.value"
|
||||||
v-model="formInline[item.dbFieldName]"
|
v-model="formInline[item.dbFieldName]"
|
||||||
:disabled="disabled || disabledFieldList.includes(item.dbFieldName)"
|
:disabled="disabled || disabledFieldList.includes(item.dbFieldName) || isLook"
|
||||||
:tree-data="optionsData[item.dbFieldName]"
|
:tree-data="optionsData[item.dbFieldName]"
|
||||||
:label-in-value="false"
|
:label-in-value="false"
|
||||||
:placeholder="$t('pleaseSelect')+item.dbFieldTxt" />
|
:placeholder="$t('pleaseSelect')+item.dbFieldTxt" />
|
||||||
@@ -264,7 +264,7 @@
|
|||||||
:options-href="item.fieldHref"
|
:options-href="item.fieldHref"
|
||||||
:nameStr="formInline[item.dbFieldName + '_dictText']"
|
:nameStr="formInline[item.dbFieldName + '_dictText']"
|
||||||
:dict-id="item.dictId"
|
:dict-id="item.dictId"
|
||||||
:disabled="disabled || disabledFieldList.includes(item.dbFieldName)" />
|
:disabled="disabled || disabledFieldList.includes(item.dbFieldName) || isLook" />
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -282,11 +282,12 @@
|
|||||||
:maxLength="500"
|
:maxLength="500"
|
||||||
type="textarea"
|
type="textarea"
|
||||||
:rows="4"
|
:rows="4"
|
||||||
|
:disabled="isLook"
|
||||||
v-decorator="['handleText', validatorRules.handleText]" />
|
v-decorator="['handleText', validatorRules.handleText]" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<!--附件-->
|
<!--附件-->
|
||||||
<a-form-item :labelCol="longLabelCol" :wrapperCol="longWrapperCol" :label="$t('businessSupport.questionAnswer.attach')">
|
<a-form-item :labelCol="longLabelCol" :wrapperCol="longWrapperCol" :label="$t('businessSupport.questionAnswer.attach')">
|
||||||
<j-upload v-decorator="['handleFile']" return-id multiple />
|
<j-upload v-decorator="['handleFile']" return-id multiple :disabled="isLook" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-form>
|
</a-form>
|
||||||
</div>
|
</div>
|
||||||
@@ -298,7 +299,7 @@
|
|||||||
</template>
|
</template>
|
||||||
</process-detail-list>
|
</process-detail-list>
|
||||||
</div>
|
</div>
|
||||||
<div class="detail-page-bottom-operate-box">
|
<div v-if="!isLook" class="detail-page-bottom-operate-box">
|
||||||
<!--转办 审批节点存在-->
|
<!--转办 审批节点存在-->
|
||||||
<a-button type="primary" :loading="loading" ghost icon="arrow-up" v-if="btnList.includes('return')" @click="handleTurnTo">
|
<a-button type="primary" :loading="loading" ghost icon="arrow-up" v-if="btnList.includes('return')" @click="handleTurnTo">
|
||||||
{{ $t('turnTo') }}
|
{{ $t('turnTo') }}
|
||||||
@@ -321,7 +322,7 @@
|
|||||||
</a-button>
|
</a-button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<upload-file ref="uploadFile" @change="uploadFileChange" :return-url="false" :disabled="disabled" />
|
<upload-file ref="uploadFile" @change="uploadFileChange" :return-url="false" :disabled="disabled || isLook" />
|
||||||
|
|
||||||
<!--转办选人-->
|
<!--转办选人-->
|
||||||
<user-select-modal ref="userSelectModal" check-required @change="continueTurnTo" />
|
<user-select-modal ref="userSelectModal" check-required @change="continueTurnTo" />
|
||||||
@@ -337,7 +338,8 @@ import {
|
|||||||
StandardProperty,
|
StandardProperty,
|
||||||
ProcessKey,
|
ProcessKey,
|
||||||
FGEntryChangeProcessNode,
|
FGEntryChangeProcessNode,
|
||||||
StandardStatus
|
StandardStatus,
|
||||||
|
ProcessType
|
||||||
} from '../../../enums/commonEnums.js'
|
} from '../../../enums/commonEnums.js'
|
||||||
import {
|
import {
|
||||||
getDomesticStandardDocumentInfo,
|
getDomesticStandardDocumentInfo,
|
||||||
@@ -360,7 +362,10 @@ import {
|
|||||||
saveStandardECProcess,
|
saveStandardECProcess,
|
||||||
queryStandardECProcessData,
|
queryStandardECProcessData,
|
||||||
turnToStandardECProcess,
|
turnToStandardECProcess,
|
||||||
agreeStandardECProcess, rejectStandardECProcess
|
agreeStandardECProcess,
|
||||||
|
rejectStandardECProcess,
|
||||||
|
saveSnapShot,
|
||||||
|
getLookData, queryProcurementProcessInfo
|
||||||
} from '../../../api/workCenter'
|
} from '../../../api/workCenter'
|
||||||
import { WorkCenterMixin } from '../../../mixins/WorkCenterMixin'
|
import { WorkCenterMixin } from '../../../mixins/WorkCenterMixin'
|
||||||
import STreeSelect from '../../../components/STreeSelect'
|
import STreeSelect from '../../../components/STreeSelect'
|
||||||
@@ -443,7 +448,8 @@ export default {
|
|||||||
},
|
},
|
||||||
businessId: null,
|
businessId: null,
|
||||||
standardGetState: null, // 标准从接口获取到数据时候的标准状态值
|
standardGetState: null, // 标准从接口获取到数据时候的标准状态值
|
||||||
disabledBtnClick: false // 防连点
|
disabledBtnClick: false, // 防连点
|
||||||
|
isLook: false // 是否是查看
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@@ -523,53 +529,64 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
created () {
|
created () {
|
||||||
// 获取人员信息
|
if (this.$route.query.isLook + '' === '1') {
|
||||||
this.getPersonInfoStructure(this.processKey, () => {
|
// 是查看
|
||||||
if (this.$route.query.processInstanceId || this.$route.query.draftId) {
|
this.isLook = true
|
||||||
this.currentNode = this.$route.query.nodeId || FGEntryChangeProcessNode.initiate.value
|
// 设置当前节点
|
||||||
this.initPersonInfoData(this.currentNode === FGEntryChangeProcessNode.initiate.value)
|
this.currentNode = this.$route.query.nodeId
|
||||||
this.initProcessData()
|
// 人员信息全部不可选
|
||||||
} else {
|
this.initPersonInfoData(false)
|
||||||
this.currentNode = FGEntryChangeProcessNode.initiate.value
|
// 查询数据
|
||||||
this.initPersonInfoData(this.currentNode === FGEntryChangeProcessNode.initiate.value)
|
this.initProcessData()
|
||||||
// 处理非管理员从国内/海外标准模块进入发起页面,不可修改来源和操作类型
|
} else {
|
||||||
if (this.$route.query.source && this.$route.query.operateType) {
|
// 获取人员信息
|
||||||
this.formInline = {
|
this.getPersonInfoStructure(this.processKey, () => {
|
||||||
source: this.$route.query.source,
|
if (this.$route.query.processInstanceId || this.$route.query.draftId) {
|
||||||
operateType: this.$route.query.operateType
|
this.currentNode = this.$route.query.nodeId || FGEntryChangeProcessNode.initiate.value
|
||||||
}
|
this.initPersonInfoData(this.currentNode === FGEntryChangeProcessNode.initiate.value)
|
||||||
switch (this.$route.query.source) {
|
this.initProcessData()
|
||||||
// 国内标准
|
|
||||||
case StandardSource.DOMESTIC.value:
|
|
||||||
this.initDomesticStandardForm()
|
|
||||||
if (this.$route.query.standardId) {
|
|
||||||
this.initDomesticFormData(this.$route.query.standardId)
|
|
||||||
}
|
|
||||||
break
|
|
||||||
// 海外标准
|
|
||||||
case StandardSource.OVERSEAS.value:
|
|
||||||
this.initOverseasStandardForm()
|
|
||||||
if (this.$route.query.standardId) {
|
|
||||||
this.initOverseasFormData(this.$route.query.standardId)
|
|
||||||
}
|
|
||||||
break
|
|
||||||
default:
|
|
||||||
break
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
// 默认选中国内
|
this.currentNode = FGEntryChangeProcessNode.initiate.value
|
||||||
this.initDomesticStandardForm()
|
this.initPersonInfoData(this.currentNode === FGEntryChangeProcessNode.initiate.value)
|
||||||
|
// 处理非管理员从国内/海外标准模块进入发起页面,不可修改来源和操作类型
|
||||||
|
if (this.$route.query.source && this.$route.query.operateType) {
|
||||||
|
this.formInline = {
|
||||||
|
source: this.$route.query.source,
|
||||||
|
operateType: this.$route.query.operateType
|
||||||
|
}
|
||||||
|
switch (this.$route.query.source) {
|
||||||
|
// 国内标准
|
||||||
|
case StandardSource.DOMESTIC.value:
|
||||||
|
this.initDomesticStandardForm()
|
||||||
|
if (this.$route.query.standardId) {
|
||||||
|
this.initDomesticFormData(this.$route.query.standardId)
|
||||||
|
}
|
||||||
|
break
|
||||||
|
// 海外标准
|
||||||
|
case StandardSource.OVERSEAS.value:
|
||||||
|
this.initOverseasStandardForm()
|
||||||
|
if (this.$route.query.standardId) {
|
||||||
|
this.initOverseasFormData(this.$route.query.standardId)
|
||||||
|
}
|
||||||
|
break
|
||||||
|
default:
|
||||||
|
break
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// 默认选中国内
|
||||||
|
this.initDomesticStandardForm()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
// 获取按钮清单
|
||||||
// 获取按钮清单
|
const btnList = FGEntryChangeProcessNode.propertyOfValue('btn', this.currentNode)
|
||||||
const btnList = FGEntryChangeProcessNode.propertyOfValue('btn', this.currentNode)
|
if (btnList && btnList.length > 0) {
|
||||||
if (btnList && btnList.length > 0) {
|
this.btnList = btnList
|
||||||
this.btnList = btnList
|
} else {
|
||||||
} else {
|
this.btnList = FGEntryChangeProcessNode.approve.btn
|
||||||
this.btnList = FGEntryChangeProcessNode.approve.btn
|
}
|
||||||
}
|
this.disabled = FGEntryChangeProcessNode.propertyOfValue('disabled', this.currentNode) || false
|
||||||
this.disabled = FGEntryChangeProcessNode.propertyOfValue('disabled', this.currentNode) || false
|
})
|
||||||
})
|
}
|
||||||
this.getSourceOptions()
|
this.getSourceOptions()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
@@ -598,7 +615,18 @@ export default {
|
|||||||
initProcessData () {
|
initProcessData () {
|
||||||
this.loading = true
|
this.loading = true
|
||||||
const { processInstanceId, draftId, taskId, projectId } = this.$route.query
|
const { processInstanceId, draftId, taskId, projectId } = this.$route.query
|
||||||
queryStandardECProcessData({ processInstanceId, draftId, taskId, projectId }).then(async res => {
|
let params = {}
|
||||||
|
let func
|
||||||
|
if (this.isLook) {
|
||||||
|
params.snapshotId = this.$route.query.snapshotId
|
||||||
|
func = getLookData
|
||||||
|
} else {
|
||||||
|
params = {
|
||||||
|
processInstanceId, draftId, taskId, projectId
|
||||||
|
}
|
||||||
|
func = queryStandardECProcessData
|
||||||
|
}
|
||||||
|
func(params).then(async res => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
let result = res.result || {}
|
let result = res.result || {}
|
||||||
// 如果草稿中有内容,就从草稿里取值
|
// 如果草稿中有内容,就从草稿里取值
|
||||||
@@ -613,9 +641,9 @@ export default {
|
|||||||
// 获取对应类型的表单
|
// 获取对应类型的表单
|
||||||
await this.handleSourceChange()
|
await this.handleSourceChange()
|
||||||
// 处理流程信息回显
|
// 处理流程信息回显
|
||||||
this.processInfo = Object.assign({}, res.result.basicProcessInfoDTO || {})
|
this.processInfo = Object.assign({}, res.result.basicProcessInfoDTO || result.basicProcessInfoDTO || {})
|
||||||
// 处理流程审批信息
|
// 处理流程审批信息
|
||||||
this.approvalInfo = Object.assign({}, res.result.basicTaskInfoDTO || {})
|
this.approvalInfo = Object.assign({}, res.result.basicTaskInfoDTO || result.basicTaskInfoDTO || {})
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
// 处理表单数据回显
|
// 处理表单数据回显
|
||||||
this.processInfoForm.setFieldsValue(this.processInfo)
|
this.processInfoForm.setFieldsValue(this.processInfo)
|
||||||
@@ -990,6 +1018,26 @@ export default {
|
|||||||
this.loading = false
|
this.loading = false
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
// 保存快照
|
||||||
|
saveParamJsonStr (callback) {
|
||||||
|
// 流程信息表单
|
||||||
|
const processInfoForm = Object.assign(this.processInfo, this.processInfoForm.getFieldsValue())
|
||||||
|
// 流程审批信息
|
||||||
|
const approvalInfoForm = Object.assign(this.approvalInfo, this.approvalInfoForm.getFieldsValue())
|
||||||
|
const params = { ...processInfoForm, ...approvalInfoForm }
|
||||||
|
params.infoJsonStr = JSON.stringify(this.dealSaveJsonData())
|
||||||
|
params.taskId = this.$route.query.taskId
|
||||||
|
params.prcType = ProcessType.FB_ENTRY_CHANGE.value
|
||||||
|
saveSnapShot(params).then(async res => {
|
||||||
|
if (res.success) {
|
||||||
|
callback && await callback()
|
||||||
|
} else {
|
||||||
|
this.$message.warning(res.message)
|
||||||
|
this.loading = false
|
||||||
|
this.disabledBtnClick = false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
/**
|
/**
|
||||||
* 提交(发起)
|
* 提交(发起)
|
||||||
*/
|
*/
|
||||||
@@ -1014,17 +1062,34 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
submitFunc = agreeStandardECProcess
|
submitFunc = agreeStandardECProcess
|
||||||
}
|
}
|
||||||
submitFunc(formData).then(res => {
|
if (this.currentNode === FGEntryChangeProcessNode.initiate.value && (!this.$route.query.processInstanceId || this.$route.query.draftId)) {
|
||||||
if (res.success) {
|
submitFunc(formData).then(res => {
|
||||||
this.$message.success(res.message)
|
if (res.success) {
|
||||||
this.goBack()
|
this.$message.success(res.message)
|
||||||
} else {
|
this.goBack()
|
||||||
this.$message.warning(res.message)
|
} else {
|
||||||
this.disabledBtnClick = false
|
this.$message.warning(res.message)
|
||||||
}
|
this.disabledBtnClick = false
|
||||||
}).finally(() => {
|
}
|
||||||
this.loading = false
|
}).finally(() => {
|
||||||
})
|
this.loading = false
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
// 保存快照后提交
|
||||||
|
this.saveParamJsonStr(() => {
|
||||||
|
submitFunc(formData).then(res => {
|
||||||
|
if (res.success) {
|
||||||
|
this.$message.success(res.message)
|
||||||
|
this.goBack()
|
||||||
|
} else {
|
||||||
|
this.$message.warning(res.message)
|
||||||
|
this.disabledBtnClick = false
|
||||||
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* 同意
|
* 同意
|
||||||
@@ -1045,16 +1110,19 @@ export default {
|
|||||||
}
|
}
|
||||||
formData.basicTaskInfoDTO.commitFlag = 1 // 同意就传1,驳回传2,其他都为空
|
formData.basicTaskInfoDTO.commitFlag = 1 // 同意就传1,驳回传2,其他都为空
|
||||||
this.loading = true
|
this.loading = true
|
||||||
agreeStandardECProcess(formData).then(res => {
|
// 保存快照后提交
|
||||||
if (res.success) {
|
this.saveParamJsonStr(() => {
|
||||||
this.$message.success(res.message)
|
agreeStandardECProcess(formData).then(res => {
|
||||||
this.goBack()
|
if (res.success) {
|
||||||
} else {
|
this.$message.success(res.message)
|
||||||
this.$message.warning(res.message)
|
this.goBack()
|
||||||
this.disabledBtnClick = false
|
} else {
|
||||||
}
|
this.$message.warning(res.message)
|
||||||
}).finally(() => {
|
this.disabledBtnClick = false
|
||||||
this.loading = false
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
@@ -1073,16 +1141,19 @@ export default {
|
|||||||
}
|
}
|
||||||
formData.basicTaskInfoDTO.commitFlag = 2 // 同意就传1,驳回传2,其他都为空
|
formData.basicTaskInfoDTO.commitFlag = 2 // 同意就传1,驳回传2,其他都为空
|
||||||
this.loading = true
|
this.loading = true
|
||||||
rejectStandardECProcess(formData).then(res => {
|
// 保存快照后提交
|
||||||
if (res.success) {
|
this.saveParamJsonStr(() => {
|
||||||
this.$message.success(res.message)
|
rejectStandardECProcess(formData).then(res => {
|
||||||
this.goBack()
|
if (res.success) {
|
||||||
} else {
|
this.$message.success(res.message)
|
||||||
this.$message.warning(res.message)
|
this.goBack()
|
||||||
this.disabledBtnClick = false
|
} else {
|
||||||
}
|
this.$message.warning(res.message)
|
||||||
}).finally(() => {
|
this.disabledBtnClick = false
|
||||||
this.loading = false
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<internal-detail-page :content-padding="0" :title="pageTitle" :loading="loading">
|
<internal-detail-page :content-padding="0" :title="pageTitle" :loading="loading">
|
||||||
<!-- 标题右侧tab -->
|
<!-- 标题右侧tab -->
|
||||||
<template v-slot:titleRightCustom>
|
<template v-slot:titleRightCustom v-if="!isLook">
|
||||||
<div class="table-operator-tab">
|
<div class="table-operator-tab">
|
||||||
<!--基础信息-->
|
<!--基础信息-->
|
||||||
<a class="switch-item" :class="switchValue === 'base' ? 'table-operator-tab-active' : ''"
|
<a class="switch-item" :class="switchValue === 'base' ? 'table-operator-tab-active' : ''"
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" :label="$t('processName')">
|
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" :label="$t('processName')">
|
||||||
<a-input :placeholder="$t('pleaseEnter') + $t('processName')"
|
<a-input :placeholder="$t('pleaseEnter') + $t('processName')"
|
||||||
:maxLength="50"
|
:maxLength="50"
|
||||||
:disabled="processInfoDisabled"
|
:disabled="processInfoDisabled || isLook"
|
||||||
v-decorator="['processName', validatorRules.processName]" />
|
v-decorator="['processName', validatorRules.processName]" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
@@ -38,7 +38,7 @@
|
|||||||
format="YYYY-MM-DD"
|
format="YYYY-MM-DD"
|
||||||
value-format="YYYY-MM-DD"
|
value-format="YYYY-MM-DD"
|
||||||
v-decorator="['processDueDate']"
|
v-decorator="['processDueDate']"
|
||||||
:disabled="processInfoDisabled"
|
:disabled="processInfoDisabled || isLook"
|
||||||
style="width: 100%" />
|
style="width: 100%" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
@@ -48,7 +48,7 @@
|
|||||||
<a-input :placeholder="$t('pleaseEnter') + $t('processExplain')"
|
<a-input :placeholder="$t('pleaseEnter') + $t('processExplain')"
|
||||||
:maxLength="500"
|
:maxLength="500"
|
||||||
type="textarea"
|
type="textarea"
|
||||||
:disabled="processInfoDisabled"
|
:disabled="processInfoDisabled || isLook"
|
||||||
:rows="4"
|
:rows="4"
|
||||||
v-decorator="['processDescription']" />
|
v-decorator="['processDescription']" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@@ -58,9 +58,9 @@
|
|||||||
<div class="process-part-title">{{ $t('basicServiceInformation') }}</div>
|
<div class="process-part-title">{{ $t('basicServiceInformation') }}</div>
|
||||||
<div class="table-operator">
|
<div class="table-operator">
|
||||||
<!-- 新增-->
|
<!-- 新增-->
|
||||||
<a-button icon="plus" type="primary" @click="handleAdd" v-if="canTableOperate">{{ $t('newlyAdded') }}</a-button>
|
<a-button icon="plus" type="primary" @click="handleAdd" v-if="canTableOperate && !isLook">{{ $t('newlyAdded') }}</a-button>
|
||||||
<!-- 批量删除-->
|
<!-- 批量删除-->
|
||||||
<a-button type="primary" icon="delete" ghost @click="batchDel" v-if="canTableOperate">{{ $t('batchDelete') }}</a-button>
|
<a-button type="primary" icon="delete" ghost @click="batchDel" v-if="canTableOperate && !isLook">{{ $t('batchDelete') }}</a-button>
|
||||||
<a-button icon="upload" type="primary" ghost @click="handleExportXls" v-if="!canTableOperate">
|
<a-button icon="upload" type="primary" ghost @click="handleExportXls" v-if="!canTableOperate">
|
||||||
{{ $t('export') }}
|
{{ $t('export') }}
|
||||||
</a-button>
|
</a-button>
|
||||||
@@ -77,9 +77,9 @@
|
|||||||
:loading="loading">
|
:loading="loading">
|
||||||
|
|
||||||
<template v-slot:action="{text, record, index}">
|
<template v-slot:action="{text, record, index}">
|
||||||
<a @click="handleEdit(record, index)">{{ $t('edit') }}</a>
|
<a @click="handleEdit(record, index)" :disabled="isLook">{{ $t('edit') }}</a>
|
||||||
<a-divider type="vertical" />
|
<a-divider type="vertical" />
|
||||||
<a @click="handleDelete(index)">{{ $t('delete') }}</a>
|
<a @click="handleDelete(index)" :disabled="isLook">{{ $t('delete') }}</a>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
</j-table>
|
</j-table>
|
||||||
@@ -95,6 +95,7 @@
|
|||||||
type="radio"
|
type="radio"
|
||||||
v-decorator="['confirmEngineer', validatorRules.confirmEngineer]"
|
v-decorator="['confirmEngineer', validatorRules.confirmEngineer]"
|
||||||
@nameChange="userSelectNameChange"
|
@nameChange="userSelectNameChange"
|
||||||
|
:disabled="isLook"
|
||||||
filedName="confirmEngineer"
|
filedName="confirmEngineer"
|
||||||
:nameStr="businessFormData.confirmEngineer_dictText" />
|
:nameStr="businessFormData.confirmEngineer_dictText" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@@ -110,11 +111,12 @@
|
|||||||
:maxLength="500"
|
:maxLength="500"
|
||||||
type="textarea"
|
type="textarea"
|
||||||
:rows="4"
|
:rows="4"
|
||||||
|
:disabled="isLook"
|
||||||
v-decorator="['handleText', validatorRules.handleText]" />
|
v-decorator="['handleText', validatorRules.handleText]" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<!--附件-->
|
<!--附件-->
|
||||||
<a-form-item :labelCol="longLabelCol" :wrapperCol="longWrapperCol" :label="$t('businessSupport.questionAnswer.attach')">
|
<a-form-item :labelCol="longLabelCol" :wrapperCol="longWrapperCol" :label="$t('businessSupport.questionAnswer.attach')">
|
||||||
<j-upload v-decorator="['handleFile']" return-id multiple />
|
<j-upload v-decorator="['handleFile']" return-id multiple :disabled="isLook" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-form>
|
</a-form>
|
||||||
</div>
|
</div>
|
||||||
@@ -129,7 +131,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!--底部按钮-->
|
<!--底部按钮-->
|
||||||
<div class="detail-page-bottom-operate-box">
|
<div v-if="!isLook" class="detail-page-bottom-operate-box">
|
||||||
<!--转办 审批节点存在-->
|
<!--转办 审批节点存在-->
|
||||||
<a-button type="primary" :loading="loading" ghost icon="arrow-up" v-if="btnList.includes('return')" @click="handleTurnTo">
|
<a-button type="primary" :loading="loading" ghost icon="arrow-up" v-if="btnList.includes('return')" @click="handleTurnTo">
|
||||||
{{ $t('turnTo') }}
|
{{ $t('turnTo') }}
|
||||||
@@ -172,7 +174,7 @@ import InternalDetailPage from '../../../components/InternalDetailPage'
|
|||||||
import { WorkCenterMixin } from '../../../mixins/WorkCenterMixin'
|
import { WorkCenterMixin } from '../../../mixins/WorkCenterMixin'
|
||||||
import PersonnelInfo from '../../../components/PersonnelInfo'
|
import PersonnelInfo from '../../../components/PersonnelInfo'
|
||||||
import ProcessDetailList from '../../../components/ProcessDetailList'
|
import ProcessDetailList from '../../../components/ProcessDetailList'
|
||||||
import { ProcessKey, ProcurementProcessNodes } from '../../../enums/commonEnums'
|
import { ProcessKey, ProcurementProcessNodes, ProcessType } from '../../../enums/commonEnums'
|
||||||
import JTable from '../../../components/jero/JTable'
|
import JTable from '../../../components/jero/JTable'
|
||||||
import TableFormModal from './modules/TableFormModal'
|
import TableFormModal from './modules/TableFormModal'
|
||||||
import {
|
import {
|
||||||
@@ -182,7 +184,9 @@ import {
|
|||||||
agreeProcurementProcess,
|
agreeProcurementProcess,
|
||||||
rejectProcurementProcess,
|
rejectProcurementProcess,
|
||||||
transferProcurementProcess,
|
transferProcurementProcess,
|
||||||
carbonCopyProcurementProcess
|
carbonCopyProcurementProcess,
|
||||||
|
saveSnapShot,
|
||||||
|
getLookData
|
||||||
} from '../../../api/workCenter'
|
} from '../../../api/workCenter'
|
||||||
import UserSelection from '../../../components/selection/UserSelection'
|
import UserSelection from '../../../components/selection/UserSelection'
|
||||||
import UserSelectModal from '../../../components/selection/UserSelectModal'
|
import UserSelectModal from '../../../components/selection/UserSelectModal'
|
||||||
@@ -271,7 +275,8 @@ export default {
|
|||||||
isTransfer: true, // 是否转办
|
isTransfer: true, // 是否转办
|
||||||
businessId: null,
|
businessId: null,
|
||||||
carbonCopyPersonIds: null, // 抄送选择人的id
|
carbonCopyPersonIds: null, // 抄送选择人的id
|
||||||
disabledBtnClick: false
|
disabledBtnClick: false,
|
||||||
|
isLook: false // 是否是查看
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@@ -305,20 +310,31 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
created () {
|
created () {
|
||||||
this.getPersonInfoStructure(this.processKey, () => {
|
if (this.$route.query.isLook + '' === '1') {
|
||||||
if (this.$route.query.processInstanceId || this.$route.query.draftId) {
|
// 是查看
|
||||||
this.currentNode = this.$route.query.nodeId || ProcurementProcessNodes.initiate.value
|
this.isLook = true
|
||||||
this.initPersonInfoData(this.currentNode === ProcurementProcessNodes.initiate.value)
|
// 设置当前节点
|
||||||
this.initProcessInfo()
|
this.currentNode = this.$route.query.nodeId
|
||||||
} else {
|
// 人员信息全部不可选
|
||||||
this.currentNode = ProcurementProcessNodes.initiate.value
|
this.initPersonInfoData(false)
|
||||||
this.initPersonInfoData(this.currentNode === ProcurementProcessNodes.initiate.value)
|
// 查询数据
|
||||||
}
|
this.initProcessInfo()
|
||||||
if (this.currentNode === ProcurementProcessNodes.initiate.value) {
|
} else {
|
||||||
this.columns.push(this.operateColumn)
|
this.getPersonInfoStructure(this.processKey, () => {
|
||||||
}
|
if (this.$route.query.processInstanceId || this.$route.query.draftId) {
|
||||||
this.btnList = ProcurementProcessNodes.propertyOfValue('btn', this.currentNode)
|
this.currentNode = this.$route.query.nodeId || ProcurementProcessNodes.initiate.value
|
||||||
})
|
this.initPersonInfoData(this.currentNode === ProcurementProcessNodes.initiate.value)
|
||||||
|
this.initProcessInfo()
|
||||||
|
} else {
|
||||||
|
this.currentNode = ProcurementProcessNodes.initiate.value
|
||||||
|
this.initPersonInfoData(this.currentNode === ProcurementProcessNodes.initiate.value)
|
||||||
|
}
|
||||||
|
if (this.currentNode === ProcurementProcessNodes.initiate.value) {
|
||||||
|
this.columns.push(this.operateColumn)
|
||||||
|
}
|
||||||
|
this.btnList = ProcurementProcessNodes.propertyOfValue('btn', this.currentNode)
|
||||||
|
})
|
||||||
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
// 选择用户得到用户名
|
// 选择用户得到用户名
|
||||||
@@ -371,13 +387,21 @@ export default {
|
|||||||
},
|
},
|
||||||
initProcessInfo () {
|
initProcessInfo () {
|
||||||
this.loading = true
|
this.loading = true
|
||||||
const params = {
|
let params = {}
|
||||||
processInstanceId: this.$route.query.processInstanceId,
|
let func
|
||||||
draftId: this.$route.query.draftId,
|
if (this.isLook) {
|
||||||
taskId: this.$route.query.taskId,
|
params.snapshotId = this.$route.query.snapshotId
|
||||||
projectId: this.$route.query.projectId
|
func = getLookData
|
||||||
|
} else {
|
||||||
|
params = {
|
||||||
|
processInstanceId: this.$route.query.processInstanceId,
|
||||||
|
draftId: this.$route.query.draftId,
|
||||||
|
taskId: this.$route.query.taskId,
|
||||||
|
projectId: this.$route.query.projectId
|
||||||
|
}
|
||||||
|
func = queryProcurementProcessInfo
|
||||||
}
|
}
|
||||||
queryProcurementProcessInfo(params).then(res => {
|
func(params).then(res => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
let result = res.result || {}
|
let result = res.result || {}
|
||||||
if (result.infoJsonStr) {
|
if (result.infoJsonStr) {
|
||||||
@@ -480,6 +504,26 @@ export default {
|
|||||||
}
|
}
|
||||||
return !flag ? flag : formData
|
return !flag ? flag : formData
|
||||||
},
|
},
|
||||||
|
// 保存快照
|
||||||
|
saveParamJsonStr (callback) {
|
||||||
|
// 流程信息表单
|
||||||
|
const processInfoForm = Object.assign(this.processInfo, this.processInfoForm.getFieldsValue())
|
||||||
|
// 流程审批信息
|
||||||
|
const approvalInfoForm = Object.assign(this.approvalInfo, this.approvalInfoForm.getFieldsValue())
|
||||||
|
const params = { ...processInfoForm, ...approvalInfoForm }
|
||||||
|
params.infoJsonStr = JSON.stringify(this.dealFormData(true))
|
||||||
|
params.taskId = this.$route.query.taskId
|
||||||
|
params.prcType = ProcessType.LEGAL_PROCUREMENT.value
|
||||||
|
saveSnapShot(params).then(async res => {
|
||||||
|
if (res.success) {
|
||||||
|
callback && await callback()
|
||||||
|
} else {
|
||||||
|
this.$message.warning(res.message)
|
||||||
|
this.loading = false
|
||||||
|
this.disabledBtnClick = false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
/**
|
/**
|
||||||
* 转办
|
* 转办
|
||||||
*/
|
*/
|
||||||
@@ -587,17 +631,34 @@ export default {
|
|||||||
submitFunc = agreeProcurementProcess
|
submitFunc = agreeProcurementProcess
|
||||||
}
|
}
|
||||||
this.loading = true
|
this.loading = true
|
||||||
submitFunc(formData).then(res => {
|
if (this.currentNode === ProcurementProcessNodes.initiate.value && (!this.$route.query.processInstanceId || this.$route.query.draftId)) {
|
||||||
if (res.success) {
|
submitFunc(formData).then(res => {
|
||||||
this.$message.success(res.message)
|
if (res.success) {
|
||||||
this.goBack()
|
this.$message.success(res.message)
|
||||||
} else {
|
this.goBack()
|
||||||
this.$message.warning(res.message)
|
} else {
|
||||||
this.disabledBtnClick = false
|
this.$message.warning(res.message)
|
||||||
}
|
this.disabledBtnClick = false
|
||||||
}).finally(() => {
|
}
|
||||||
this.loading = false
|
}).finally(() => {
|
||||||
})
|
this.loading = false
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
// 保存快照后提交
|
||||||
|
this.saveParamJsonStr(() => {
|
||||||
|
submitFunc(formData).then(res => {
|
||||||
|
if (res.success) {
|
||||||
|
this.$message.success(res.message)
|
||||||
|
this.goBack()
|
||||||
|
} else {
|
||||||
|
this.$message.warning(res.message)
|
||||||
|
this.disabledBtnClick = false
|
||||||
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* 同意
|
* 同意
|
||||||
@@ -618,16 +679,19 @@ export default {
|
|||||||
}
|
}
|
||||||
formData.basicTaskInfoDTO.commitFlag = 1 // 同意就传1,驳回传2,其他都为空
|
formData.basicTaskInfoDTO.commitFlag = 1 // 同意就传1,驳回传2,其他都为空
|
||||||
this.loading = true
|
this.loading = true
|
||||||
agreeProcurementProcess(formData).then(res => {
|
// 保存快照
|
||||||
if (res.success) {
|
this.saveParamJsonStr(() => {
|
||||||
this.$message.success(res.message)
|
agreeProcurementProcess(formData).then(res => {
|
||||||
this.goBack()
|
if (res.success) {
|
||||||
} else {
|
this.$message.success(res.message)
|
||||||
this.$message.warning(res.message)
|
this.goBack()
|
||||||
this.disabledBtnClick = false
|
} else {
|
||||||
}
|
this.$message.warning(res.message)
|
||||||
}).finally(() => {
|
this.disabledBtnClick = false
|
||||||
this.loading = false
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
@@ -646,16 +710,19 @@ export default {
|
|||||||
}
|
}
|
||||||
formData.basicTaskInfoDTO.commitFlag = 2 // 同意就传1,驳回传2,其他都为空
|
formData.basicTaskInfoDTO.commitFlag = 2 // 同意就传1,驳回传2,其他都为空
|
||||||
this.loading = true
|
this.loading = true
|
||||||
rejectProcurementProcess(formData).then(res => {
|
// 保存快照
|
||||||
if (res.success) {
|
this.saveParamJsonStr(() => {
|
||||||
this.$message.success(res.message)
|
rejectProcurementProcess(formData).then(res => {
|
||||||
this.goBack()
|
if (res.success) {
|
||||||
} else {
|
this.$message.success(res.message)
|
||||||
this.$message.warning(res.message)
|
this.goBack()
|
||||||
this.disabledBtnClick = false
|
} else {
|
||||||
}
|
this.$message.warning(res.message)
|
||||||
}).finally(() => {
|
this.disabledBtnClick = false
|
||||||
this.loading = false
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
handleExportXls () {
|
handleExportXls () {
|
||||||
|
|||||||
Reference in New Issue
Block a user