[add] 企标废止流程

This commit is contained in:
lideqin
2023-12-06 13:47:33 +08:00
parent bc870e5f9e
commit a88fd94df6
8 changed files with 407 additions and 50 deletions
+16 -1
View File
@@ -62,6 +62,16 @@ const enterprisePlanApprovalTurnTo = (params) => postAction('/process/es/initCha
// 保存
const enterprisePlanApprovalSave = (params) => postAction('/process/es/initChange/save', params)
// 企标废止流程
// 根据id查询流程数据--办理
const enStandardAnnulGetDataById = (taskId, params) => getAction(`/process/es/abolish/handle/${taskId}`, params)
// 转办
const enStandardAnnulTurnTo = (params) => postAction('/process/es/abolish/transfer', params)
// 同意
const enStandardAnnulAgree = (params) => postAction('/process/es/abolish/agree', params)
// 驳回
const enStandardAnnulReject = (params) => postAction('/process/es/abolish/reject', params)
export {
queryPermissionsByUser,
getFormDictTreeList,
@@ -86,5 +96,10 @@ export {
enterprisePlanApprovalAgree,
enterprisePlanApprovalReject,
enterprisePlanApprovalTurnTo,
enterprisePlanApprovalSave
enterprisePlanApprovalSave,
enStandardAnnulGetDataById,
enStandardAnnulTurnTo,
enStandardAnnulAgree,
enStandardAnnulReject
}
+9
View File
@@ -97,6 +97,15 @@ module.exports = {
superintendent: '所长',
relatedPersonnel: '相关人员'
},
// 企标废止流程
esAnnul: {
standardType: '标准类型',
substituteStandardNumber: '代替企标编号',
replacedByEnStandardNumber: '被代替企标编号',
releaseDate: '发布日期',
materialDate: '实施日期',
annulReason: '废止理由'
},
// 标准征求意见流程
standardConsultation: {
standardText: '标准文本',
+9
View File
@@ -97,6 +97,15 @@ module.exports = {
superintendent: '所长',
relatedPersonnel: '相关人员'
},
// 企标废止流程
esAnnul: {
standardType: '标准类型',
substituteStandardNumber: '代替企标编号',
replacedByEnStandardNumber: '被代替企标编号',
releaseDate: '发布日期',
materialDate: '实施日期',
annulReason: '废止理由'
},
// 标准征求意见流程
standardConsultation: {
standardText: '标准文本',
+1
View File
@@ -168,6 +168,7 @@ export default {
height: calc(100% - 1.11rem - 1.28rem);
overflow: auto;
padding-top: 0.16rem;
background: #F8F9FB;
}
.operate-box {
+10
View File
@@ -9,6 +9,16 @@ export default [
hasBack: true // 这个属性控制页面上面的导航栏 是否有返回按钮
}
},
{
path: '/workCenter/enterpriseStandardAnnul',
name: 'EnterpriseStandardAnnul',
component: (resolve) => require(['@/views/workCenter/enterpriseStandardAnnul/EnterpriseStandardAnnul.vue'], resolve),
meta: {
title: '企标废止流程',
hasNavBar: true, // 这个属性控制页面是否显示上面的导航栏
hasBack: true // 这个属性控制页面上面的导航栏 是否有返回按钮
}
},
// 标准法规入库/变更流程
{
path: '/workCenter/standardEntryOrChangeProcess',
+11
View File
@@ -3,6 +3,7 @@
首页
<van-button type="info" @click="logout">退出登录</van-button>
<van-button type="primary" @click="goEnterpriseStandardInitChange">跳转企标计划立项变更流程审批</van-button>
<van-button type="primary" @click="goESAnnul">跳转企标废止流程</van-button>
</div>
</template>
@@ -31,6 +32,16 @@ export default {
}
})
},
goESAnnul () {
this.$router.push({
path: '/workCenter/enterpriseStandardAnnul',
query: {
processInstanceId: '447681',
taskId: '467520',
nodeId: 'sid-B4157F9F-73E5-48F5-855D-AF87C0DB91C6'
}
})
},
...mapActions(['Logout']),
logout () {
const that = this
@@ -0,0 +1,318 @@
<template>
<process-common-layout class="page-box" :processKey="ProcessKey.ES_ABOLISH.value" :loading="loading">
<template v-slot:process>
<!-- 流程信息 -->
<div class="process-part">
<div class="process-part-title">{{ $t('processInformation') }}</div>
<van-form
ref="form"
input-align="right"
error-message-align="right"
:readonly="readonly"
>
<!-- 流程名称 -->
<van-field
:label="$t('processName')"
:placeholder="$t('pleaseEnter') + $t('processName')"
readonly
type="textarea"
rows="1"
autosize
v-model="processInfoForm.prcName" />
<!-- 截止日期 -->
<calendar-field
:label="$t('expirationDate')"
v-model="processInfoForm.dueTime"
type="date"
readonly
/>
<!-- 流程说明 -->
<van-field
v-model="processInfoForm.prcMes"
:label="$t('processExplain')"
type="textarea"
autosize
disabled
rows="2"
:placeholder="$t('pleaseEnter')+$t('processExplain')"
:border="false"
input-align="left"
class="vertical-form-item"/>
</van-form>
</div>
<van-form
ref="baseInfoFormRef"
input-align="right"
error-message-align="right"
:readonly="readonly"
>
<!-- 业务基本信息 -->
<div class="process-part">
<div class="process-part-title">{{ $t('basicServiceInformation') }}</div>
<!-- 企标编号 -->
<van-field
:label="$t('esInitChange.enterpriseStandardNum')"
:placeholder="$t('pleaseEnter') + $t('esInitChange.enterpriseStandardNum')"
readonly
type="textarea"
autosize
rows="1"
v-model="baseInfoForm.standardNumber" />
<!-- 企标名称 -->
<van-field
:label="$t('esInitChange.enterpriseStandardName')"
:placeholder="$t('pleaseEnter') + $t('esInitChange.enterpriseStandardName')"
readonly
type="textarea"
rows="1"
autosize
v-model="baseInfoForm.standardName" />
<!-- 标准英文名称 -->
<van-field
:label="$t('esInitChange.standardEnglishName')"
:placeholder="$t('pleaseEnter') + $t('esInitChange.standardEnglishName')"
readonly
type="textarea"
rows="1"
autosize
v-model="baseInfoForm.englishName" />
<!-- 标准类型 -->
<picker-dict-field
:label="$t('esAnnul.standardType')"
:placeholder="$t('pleaseEnter') + $t('esAnnul.standardType')"
dict-code="esp_standard_type"
readonly
v-model="baseInfoForm.standardCategory" />
<!-- 代替企标编号 -->
<van-field
:label="$t('esAnnul.substituteStandardNumber')"
:placeholder="$t('pleaseEnter') + $t('esAnnul.substituteStandardNumber')"
readonly
type="textarea"
rows="1"
autosize
v-model="baseInfoForm.substituteStandardNumber" />
<!-- 被代替企标编号 -->
<van-field
:label="$t('esAnnul.replacedByEnStandardNumber')"
:placeholder="$t('pleaseEnter') + $t('esAnnul.replacedByEnStandardNumber')"
readonly
type="textarea"
rows="1"
autosize
v-model="baseInfoForm.replacedByStandardNumber" />
<!-- 发布日期 -->
<calendar-field
:label="$t('esAnnul.releaseDate')"
v-model="baseInfoForm.releaseDate"
type="date"
readonly
/>
<!-- 实施日期 -->
<calendar-field
:label="$t('esAnnul.materialDate')"
v-model="baseInfoForm.implementationDate"
type="date"
readonly
/>
<!-- 废止理由 -->
<van-field
:label="$t('esAnnul.annulReason')"
:placeholder="$t('pleaseEnter') + $t('esAnnul.annulReason')"
readonly
type="textarea"
rows="1"
autosize
v-model="baseInfoForm.abolishReason" />
</div>
</van-form>
<!-- 流程审批信息 -->
<div class="process-part">
<div class="process-part-title">{{ $t('processApprovalInformation') }}</div>
<van-form
ref="processForm"
input-align="right"
error-message-align="right"
:readonly="readonly">
<!-- 备注 -->
<van-field
v-model="processInfoForm.commitText"
:rules="processInfoRules.commitText"
:label="$t('remark')"
name="commitText"
type="textarea"
autosize
rows="2"
:placeholder="$t('pleaseEnter')+$t('remark')"
:border="false"
input-align="left"
class="vertical-form-item"/>
</van-form>
</div>
</template>
<template v-slot:operation>
<!-- 转办 -->
<van-button class="operation-common-btn" @click="handleTurnTo">
<template #icon>
<van-icon class="iconfont" class-prefix="icon" name="xunhuan" />
</template>
{{ $t('turnTo') }}
</van-button>
<!-- 同意 -->
<van-button class="operation-common-btn" type="primary" @click="handleAgree">
<template #icon>
<van-icon class="iconfont" class-prefix="icon" name="check" />
</template>
{{ $t('agree') }}
</van-button>
<!-- 驳回 -->
<van-button class="operation-common-btn light-color-button" @click="handleReject">
<template #icon>
<van-icon class="iconfont" class-prefix="icon" name="close" />
</template>
{{ $t('reject') }}
</van-button>
</template>
<select-user ref="selectUserRef" @selected-change="selectUserChange"></select-user>
</process-common-layout>
</template>
<script>
import ProcessCommonLayout from '@/components/ProcessCommonLayout'
import { ProcessKey } from '@/enums/commonEnums'
import CalendarField from '@/components/CalendarField'
import PickerDictField from '@/components/PickerDictField'
import SelectUser from '@/components/SelectUser'
import {
enStandardAnnulGetDataById,
enStandardAnnulTurnTo,
enStandardAnnulAgree,
enStandardAnnulReject
} from '@/api/api'
export default {
name: 'EnterpriseStandardAnnul',
components: {
ProcessCommonLayout,
CalendarField,
PickerDictField,
SelectUser
},
data () {
return {
ProcessKey,
readonly: false,
loading: false,
processInfoForm: {}, // 流程信息表单
// 流程信息校验
processInfoRules: {
commitText: [
{ required: false, message: this.$t('pleaseEnter') + this.$t('remark') }
]
},
baseInfoForm: {}
}
},
created () {
this.initData()
},
methods: {
// 初始化数据
initData () {
this.loading = true
enStandardAnnulGetDataById(this.$route.query.taskId).then(res => {
if (res.success) {
const result = res.result
this.processInfoForm = result.common
this.baseInfoForm = result.data
} else {
this.$message(res.message)
}
}).finally(() => {
this.loading = false
})
},
// 转办
handleTurnTo () {
if (this.loading) return
// 点击显示选人组件
this.$refs.selectUserRef.open()
},
// 转办选完人的回调
selectUserChange (userIds) {
this.loading = true
const param = {}
param.userId = userIds
param.taskId = this.$route.query.taskId
enStandardAnnulTurnTo(param).then(res => {
if (res.success) {
this.$message.success(res.message)
this.goBack()
} else {
this.$message.warning(res.message)
}
}).finally(() => {
this.loading = false
})
},
// 同意
handleAgree () {
if (this.loading) return
this.processInfoRules.commitText[0].required = false
this.$refs.processForm.validate().then(() => {
const param = {} // 需要传给后端的数据
param.common = Object.assign({}, this.processInfoForm)
param.common.taskId = this.$route.query.taskId
this.loading = true
enStandardAnnulAgree(param).then(res => {
if (res.success) {
this.$message(res.message)
this.goBack()
} else {
this.$message(res.message)
}
}).finally(() => {
this.loading = false
})
}).catch((errorInfo) => {
console.log(errorInfo)
})
},
// 驳回
handleReject () {
if (this.loading) return
this.processInfoRules.commitText[0].required = true
this.$refs.processForm.validate().then(() => {
this.loading = true
const param = {}
param.common = Object.assign({}, this.processInfoForm)
param.common.taskId = this.$route.query.taskId
enStandardAnnulReject(param).then(res => {
if (res.success) {
this.$message.success(res.message)
this.goBack()
} else {
this.$message.warning(res.message)
}
}).finally(() => {
this.loading = false
this.processInfoRules.commitText[0].required = false
})
}).catch((errorInfo) => {
console.log(errorInfo)
if (errorInfo.find(item => item.name === 'commitText')) {
// 没通过校验的有备注,弹窗提示输入备注
this.$message(this.$t('pleaseEnterRemarks'))
}
})
},
goBack () {
this.$router.go(-1)
}
}
}
</script>
<style scoped lang="less">
@import '~@assets/less/common.less';
</style>
@@ -16,7 +16,7 @@
:placeholder="$t('pleaseEnter') + $t('processName')"
readonly
type="textarea"
row="1"
rows="1"
autosize
v-model="processInfoForm.prcName" />
<!-- 截止日期 -->
@@ -75,7 +75,7 @@
:placeholder="$t('pleaseEnter') + $t('esInitChange.enterpriseStandardNum')"
readonly
type="textarea"
row="1"
rows="1"
autosize
v-model="baseInfoForm[0].newEnStandardNo" />
<!-- 企标名称 -->
@@ -84,7 +84,7 @@
:placeholder="$t('pleaseEnter') + $t('esInitChange.enterpriseStandardName')"
readonly
type="textarea"
row="1"
rows="1"
autosize
v-model="baseInfoForm[0].newEnStandardName" />
<!-- 企业标准代号 -->
@@ -117,7 +117,7 @@
:placeholder="$t('pleaseEnter') + $t('esInitChange.enterpriseStandardNum')"
readonly
type="textarea"
row="1"
rows="1"
autosize
v-model="baseInfoForm[0].originEnStandardNo" />
<!-- 企标名称 -->
@@ -126,7 +126,7 @@
:placeholder="$t('pleaseEnter') + $t('esInitChange.enterpriseStandardName')"
readonly
type="textarea"
row="1"
rows="1"
autosize
v-model="baseInfoForm[0].originEnStandardName" />
<!-- 新企标编号 -->
@@ -135,7 +135,7 @@
:placeholder="$t('pleaseEnter') + $t('esInitChange.newEnterpriseStandardNum')"
readonly
type="textarea"
row="1"
rows="1"
autosize
v-model="baseInfoForm[0].newEnStandardNo" />
<!-- 新企标名称 -->
@@ -144,7 +144,7 @@
:placeholder="$t('pleaseEnter') + $t('esInitChange.newEnterpriseStandardName')"
readonly
type="textarea"
row="1"
rows="1"
autosize
v-model="baseInfoForm[0].newEnStandardName" />
</template>
@@ -154,8 +154,8 @@
:placeholder="$t('pleaseEnter') + $t('esInitChange.yearNumber')"
readonly
type="textarea"
row="1"
autosize
rows="1"
autosize
v-model="baseInfoForm[0].decadeCode" />
<!-- 标准英文名称 -->
<van-field
@@ -163,8 +163,8 @@
:placeholder="$t('pleaseEnter') + $t('esInitChange.standardEnglishName')"
readonly
type="textarea"
row="1"
autosize
rows="1"
autosize
v-model="baseInfoForm[0].enStandardEnglishName" />
<!-- 标准体系 -->
<tree-select-multiple
@@ -230,8 +230,8 @@
:placeholder="$t('pleaseEnter') + $t('esInitChange.enterpriseStandardNum')"
readonly
type="textarea"
row="1"
autosize
rows="1"
autosize
v-model="baseInfoForm[0].originEnStandardNo" />
<!-- 企标名称 -->
<van-field
@@ -239,8 +239,8 @@
:placeholder="$t('pleaseEnter') + $t('esInitChange.enterpriseStandardName')"
readonly
type="textarea"
row="1"
autosize
rows="1"
autosize
v-model="baseInfoForm[0].originEnStandardName" />
<!-- 原主起草人 -->
<van-field
@@ -248,8 +248,8 @@
:placeholder="$t('pleaseEnter') + $t('esInitChange.originPrincipalDrafter')"
readonly
type="textarea"
row="1"
autosize
rows="1"
autosize
v-model="baseInfoForm[0].mainDraftingUser_dictText" />
<!-- 原主起草单位 -->
<van-field
@@ -257,8 +257,8 @@
:placeholder="$t('pleaseEnter') + $t('esInitChange.originMainDraftUnit')"
readonly
type="textarea"
row="1"
autosize
rows="1"
autosize
v-model="baseInfoForm[0].mainDraftingUnit_dictText" />
<!-- 原主起草单位负责人 -->
<van-field
@@ -266,8 +266,8 @@
:placeholder="$t('pleaseEnter') + $t('esInitChange.originHeadOfMainDraftingUnit')"
readonly
type="textarea"
row="1"
autosize
rows="1"
autosize
v-model="baseInfoForm[0].mainDraftingUnitResponsiblePerson_dictText" />
<!-- 新主起草人 -->
<select-user-field
@@ -469,7 +469,7 @@
:placeholder="$t('pleaseEnter') + $t('esInitChange.enterpriseStandardNum') + '1'"
readonly
type="textarea"
row="1"
rows="1"
autosize
v-model="baseInfoForm[0].standardNoOne" />
<!-- 企标名称1 -->
@@ -478,7 +478,7 @@
:placeholder="$t('pleaseEnter') + $t('esInitChange.enterpriseStandardName') + '1'"
readonly
type="textarea"
row="1"
rows="1"
autosize
v-model="baseInfoForm[0].standardNameOne" />
<!-- 制修订类型1 -->
@@ -487,7 +487,7 @@
:placeholder="$t('pleaseEnter') + $t('esInitChange.typeOfRevision') + '1'"
readonly
type="textarea"
row="1"
rows="1"
autosize
v-model="baseInfoForm[0].projectTypeOne" />
<!-- 企标编号2 -->
@@ -496,7 +496,7 @@
:placeholder="$t('pleaseEnter') + $t('esInitChange.enterpriseStandardNum') + '2'"
readonly
type="textarea"
row="1"
rows="1"
autosize
v-model="baseInfoForm[0].standardIdTwo" />
<!-- 企标名称2 -->
@@ -505,7 +505,7 @@
:placeholder="$t('pleaseEnter') + $t('esInitChange.enterpriseStandardName') + '2'"
readonly
type="textarea"
row="1"
rows="1"
autosize
v-model="baseInfoForm[0].standardNameTwo" />
<!-- 制修订类型2 -->
@@ -514,7 +514,7 @@
:placeholder="$t('pleaseEnter') + $t('esInitChange.typeOfRevision') + '2'"
readonly
type="textarea"
row="1"
rows="1"
autosize
v-model="baseInfoForm[0].projectTypeTwo" />
<!-- 新企标编号 -->
@@ -523,7 +523,7 @@
:placeholder="$t('pleaseEnter') + $t('esInitChange.newEnterpriseStandardNum')"
readonly
type="textarea"
row="1"
rows="1"
autosize
v-model="baseInfoForm[0].newEnStandardNo" />
<!-- 新企标名称 -->
@@ -532,7 +532,7 @@
:placeholder="$t('pleaseEnter') + $t('esInitChange.newEnterpriseStandardName')"
readonly
type="textarea"
row="1"
rows="1"
autosize
v-model="baseInfoForm[0].newEnStandardName" />
<!-- 标准英文名称 -->
@@ -541,7 +541,7 @@
:placeholder="$t('pleaseEnter') + $t('esInitChange.standardEnglishName')"
readonly
type="textarea"
row="1"
rows="1"
autosize
v-model="baseInfoForm[0].enStandardEnglishName" />
<!-- 标准体系 -->
@@ -577,7 +577,7 @@
:placeholder="$t('pleaseEnter') + $t('esInitChange.yearNumber')"
readonly
type="textarea"
row="1"
rows="1"
autosize
v-model="baseInfoForm[0].decadeCode" />
<!-- 编制说明 -->
@@ -817,7 +817,7 @@ export default {
ProcessKey,
ApplicationCategory,
ProjectType,
readonly: false,
readonly: true,
loading: false,
// 申请类型
applicationCategoryData: [
@@ -1034,8 +1034,7 @@ export default {
], // 业务基本信息
newMainDrafterCanUpdate: false, // 新主起草的三个字段是否可修改
onlyNewMainDrafterCanUpdate: false, // 新主起草人字段是否可修改
currentNode: 1,
isValidatePass: false // 是否通过了校验
currentNode: 1
}
},
created () {
@@ -1270,12 +1269,6 @@ export default {
console.log(errorInfo)
})
},
selectUserFinish (value) {
console.log(value)
},
selectUser () {
this.$refs.selectUserRef.open()
},
goBack () {
this.$router.go(-1)
}
@@ -1285,13 +1278,4 @@ export default {
<style scoped lang="less">
@import '~@assets/less/common.less';
/deep/ .van-collapse-item__title--disabled {
color: #323233;
}
/deep/ .van-collapse {
display: grid;
gap: 0.16rem;
}
</style>