手机端-标准入库流程-会签

This commit is contained in:
zyn
2023-11-14 09:20:10 +08:00
parent fd7cbaabdd
commit 37168a9bfe
7 changed files with 712 additions and 0 deletions
@@ -0,0 +1,150 @@
<template>
<div class="prc-content-border">
<RadioGroupFormItem
label="标准来源"
prop="standInData"
v-model="form.standInData"
:options="standInDataOptions"
:disabled="disabled"
></RadioGroupFormItem>
<InputFormItem
label="标准编号"
prop="standNumber"
v-model="form.standNumber"
:disabled="disabled"
></InputFormItem>
<RadioGroupFormItem
label="是否需要会签"
prop="signFlag"
v-model="form.signFlag"
:options="signFlagOptions"
:disabled="disabled"
></RadioGroupFormItem>
<SelectFormItem
label="标准类别"
prop="standSort"
v-model="form.standSort"
:options="dict.STANDCLASSIFY || []"
:disabled="disabled"
></SelectFormItem>
<InputFormItem
label="标准年份"
prop="standYear"
v-model="form.standYear"
:disabled="disabled"
></InputFormItem>
<SelectFormItem
v-if="form.standInData === '0'"
label="标准性质"
prop="standNature"
v-model="form.standNature"
:options="dict.SARPROPERTY || []"
:disabled="disabled"
></SelectFormItem>
<SelectMultipleFormItem
v-if="form.standInData === '1'"
label="国家/地区"
prop="country"
v-model="form.country"
:options="dict.COUNTRY || []"
:disabled="disabled"
></SelectMultipleFormItem>
<TextareaFormItem
label="标准体系"
prop="standSystem"
v-model="form.standSystem"
:disabled="disabled"
></TextareaFormItem>
<TextareaFormItem
label="标准中文名称"
prop="standName"
v-model="form.standName"
:disabled="disabled"
></TextareaFormItem>
<TextareaFormItem
label="标准英文名称"
prop="standEnName"
v-model="form.standEnName"
:disabled="disabled"
></TextareaFormItem>
<DatePickerFormItem
label="标准发布日期"
prop="issueTime"
v-model="form.issueTime"
:disabled="disabled"
></DatePickerFormItem>
<SelectFormItem
label="文本状态"
prop="textStatus"
v-model="form.textStatus"
:options="dict.WBZTCLASS || []"
:disabled="disabled"
></SelectFormItem>
<TextareaFormItem
label="归档位置"
prop="treeListName"
v-model="form.treeListName"
:disabled="disabled"
></TextareaFormItem>
<InputFormItem
v-if="form.standInData === '1'"
label="标签"
prop="gxhbq"
v-model="form.gxhbq"
:disabled="disabled"
></InputFormItem>
</div>
</template>
<script>
import RadioGroupFormItem from '@/components/hzwlComponents/RadioGroupFormItem'
import InputFormItem from '@/components/hzwlComponents/InputFormItem'
import SelectFormItem from '@/components/hzwlComponents/SelectFormItem'
import TextareaFormItem from '@/components/hzwlComponents/TextareaFormItem'
import DatePickerFormItem from '@/components/hzwlComponents/DatePickerFormItem'
import SelectMultipleFormItem from '@/components/hzwlComponents/SelectMultipleFormItem'
export default {
name: "Basic",
components: {
RadioGroupFormItem,
InputFormItem,
SelectFormItem,
TextareaFormItem,
DatePickerFormItem,
SelectMultipleFormItem
},
props: {
form: {
type: Object,
default: () => {}
},
disabled: {
type: Boolean,
default: false
},
dict: {
type: Object,
default: () => {}
}
},
data () {
const standInDataOptions = [
{ label: '0', value: '国内标准入库' },
{ label: '1', value: '国外标准入库' },
]
const signFlagOptions = [
{ label: '1', value: '是' },
{ label: '2', value: '否' },
]
return {
standInDataOptions,
signFlagOptions
}
}
}
</script>
<style scoped>
</style>
@@ -0,0 +1,51 @@
<template>
<div class="prc-content-border">
<DatePickerGroupFormItem
label="实施日期(标准文本)"
prop="ssrq"
v-model="form.ssrq"
:disabled="disabled"
></DatePickerGroupFormItem>
<DatePickerGroupFormItem
label="在产车实施日期(标准文本)"
prop="zccssrq"
v-model="form.zccssrq"
:disabled="disabled"
></DatePickerGroupFormItem>
<DatePickerGroupFormItem
label="新车型实施日期(标准文本)"
prop="xcxssrq"
v-model="form.xcxssrq"
:disabled="disabled"
></DatePickerGroupFormItem>
</div>
</template>
<script>
import DatePickerGroupFormItem from "@/components/hzwlComponents/DatePickerGroupFormItem";
export default {
name: "ImplementationDate",
props: {
form: {
type: Object,
default: () => {}
},
disabled: {
type: Boolean,
default: false
},
dict: {
type: Object,
default: () => {}
}
},
components: {
DatePickerGroupFormItem
},
}
</script>
<style scoped>
</style>
@@ -0,0 +1,123 @@
<template>
<div class="prc-content-border">
<SelectMultipleFormItem
label="适用车型"
prop="cllx"
v-model="form.cllx"
:options="dict.ENERGYTYPES || []"
:disabled="disabled"
></SelectMultipleFormItem>
<SelectMultipleFormItem
label="能源类型"
prop="nylx"
v-model="form.nylx"
:options="dict.NYLXCLASS || []"
:disabled="disabled"
></SelectMultipleFormItem>
<SelectMultipleFormItem
label="适用产品线"
prop="sycpx"
v-model="form.sycpx"
:options="dict.SYCPXCLASS || []"
:disabled="disabled"
></SelectMultipleFormItem>
<!--<TextareaFormItem-->
<!-- label="关联模块&#45;&#45;乘用车VPPS编码"-->
<!-- prop="cycvppsbm"-->
<!-- v-model="form.cycvppsbm"-->
<!-- :disabled="disabled"-->
<!--&gt;</TextareaFormItem>-->
<!--<TextareaFormItem-->
<!-- label="关联模块&#45;&#45;卡车VPPS编码"-->
<!-- prop="kccvppsbm"-->
<!-- v-model="form.kccvppsbm"-->
<!-- :disabled="disabled"-->
<!--&gt;</TextareaFormItem>-->
<!--<TextareaFormItem-->
<!-- label="关联模块&#45;&#45;乘用车vpps中文名称"-->
<!-- prop="cycvppscn"-->
<!-- v-model="form.cycvppscn"-->
<!-- :disabled="disabled"-->
<!--&gt;</TextareaFormItem>-->
<!--<TextareaFormItem-->
<!-- label="关联模块&#45;&#45;卡车vpps中文名称"-->
<!-- prop="kccvppscn"-->
<!-- v-model="form.kccvppscn"-->
<!-- :disabled="disabled"-->
<!--&gt;</TextareaFormItem>-->
<van-field label="关联模块--乘用车VPPS编码" v-model="form.cycvppsbm" readonly placeholder=""/>
<van-field label="关联模块--卡车VPPS编码" v-model="form.kccvppsbm" readonly placeholder=""/>
<van-field label="关联模块--乘用车vpps中文名称" v-model="form.cycvppscn" readonly placeholder="" />
<van-field label="关联模块--卡车vpps中文名称" v-model="form.kccvppscn" placeholder="" readonly />
<SelectFormItem
v-if="form.standInData === '0'"
label="归口管理部门"
prop="gkdw"
v-model="form.gkdw"
:options="dict.GKGLBM || []"
:disabled="disabled"
></SelectFormItem>
<SelectMultipleFormItem
v-if="form.standInData === '0'"
label="起草单位"
prop="qcdw"
v-model="form.qcdw"
:options="dict.QCDW || []"
:disabled="disabled"
></SelectMultipleFormItem>
<van-field
v-if="form.standInData === '0'"
label="我司署名人"
v-model="form.wssmr" readonly placeholder=""/>
<SelectFormItem
v-if="form.standInData === '0'"
label="我司参与深度"
prop="cysd"
v-model="form.cysd"
:options="dict.WSCYSD || []"
:disabled="disabled"
></SelectFormItem>
<SelectFormItem
v-if="form.standInData === '0'"
label="我司参与制标排名"
prop="cyzbpm"
v-model="form.cyzbpm"
:options="dict.CYZBPM || []"
:disabled="disabled"
></SelectFormItem>
</div>
</template>
<script>
import SelectFormItem from '@/components/hzwlComponents/SelectFormItem'
import SelectMultipleFormItem from '@/components/hzwlComponents/SelectMultipleFormItem'
import TextareaFormItem from '@/components/hzwlComponents/TextareaFormItem'
export default {
name: "Range",
components: {
SelectFormItem,
SelectMultipleFormItem,
TextareaFormItem
},
props: {
form: {
type: Object,
default: () => {}
},
disabled: {
type: Boolean,
default: false
},
dict: {
type: Object,
default: () => {}
}
},
}
</script>
<style scoped>
</style>
@@ -0,0 +1,69 @@
<template>
<div class="prc-content-border">
<TextareaFormItem
label="代替标准号"
prop="dtbjh"
v-model="form.dtbjh"
></TextareaFormItem>
<SelectFormItem
v-if="form.standInData === '0'"
label="采标程度"
prop="cbcd"
v-model="form.cbcd"
:options="dict.DEGREESTANDARD || []"
:disabled="disabled"
></SelectFormItem>
<UploadFormItem
label="关联文件"
prop="glwjName"
:ids.sync="form.glwj"
:names.sync="form.glwjName"
view
:disabled="disabled">
</UploadFormItem>
<TextareaFormItem
v-if="form.standInData === '0'"
label="采标编号"
prop="cbbh"
v-model="form.cbbh"
></TextareaFormItem>
<TextareaFormItem
label="引用标准"
prop="yybj"
v-model="form.yybj"
></TextareaFormItem>
</div>
</template>
<script>
import TextareaFormItem from '@/components/hzwlComponents/TextareaFormItem'
import SelectFormItem from '@/components/hzwlComponents/SelectFormItem'
import UploadFormItem from "@/components/hzwlComponents/UploadFormItem";
export default {
name: "RelatesInformation",
props: {
form: {
type: Object,
default: () => {}
},
disabled: {
type: Boolean,
default: false
},
dict: {
type: Object,
default: () => {}
}
},
components: {
TextareaFormItem,
SelectFormItem,
UploadFormItem
}
}
</script>
<style scoped>
</style>
@@ -0,0 +1,130 @@
<template>
<div class="prc-content-border">
<UploadFormItem
v-if="form.standInData === '0'"
label="修改单"
prop="xgdName"
:ids.sync="form.xgd"
:names.sync="form.xgdName"
view
:disabled="disabled">
</UploadFormItem>
<UploadFormItem
label="发布稿(原文)"
prop="fbgbjbdName"
:ids.sync="form.fbgbjbd"
:names.sync="form.fbgbjbdName"
view
:disabled="disabled">
</UploadFormItem>
<UploadFormItem
label="发布稿(译文)"
prop="fbgywbdName"
:ids.sync="form.fbgywbd"
:names.sync="form.fbgywbdName"
view
:disabled="disabled">
</UploadFormItem>
<UploadFormItem
label="草案"
prop="caName"
:ids.sync="form.ca"
:names.sync="form.caName"
view
:disabled="disabled">
</UploadFormItem>
<UploadFormItem
v-if="form.standInData === '0'"
label="送审稿"
prop="ssgName"
:ids.sync="form.ssg"
:names.sync="form.ssgName"
view
:disabled="disabled">
</UploadFormItem>
<UploadFormItem
v-if="form.standInData === '1'"
label="增补件"
prop="zbjbdName"
:ids.sync="form.zbjbd"
:names.sync="form.zbjbdName"
view
:disabled="disabled">
</UploadFormItem>
<UploadFormItem
v-if="form.standInData === '0'"
label="相关文件"
prop="jdwjName"
:ids.sync="form.jdwj"
:names.sync="form.jdwjName"
view
:disabled="disabled">
</UploadFormItem>
<UploadFormItem
v-if="form.standInData === '0'"
label="报批稿"
prop="bpgName"
:ids.sync="form.bpg"
:names.sync="form.bpgName"
view
:disabled="disabled">
</UploadFormItem>
<UploadFormItem
v-if="form.standInData === '0'"
label="征求意见稿"
prop="zqyjgName"
:ids.sync="form.zqyjg"
:names.sync="form.zqyjgName"
view
:disabled="disabled">
</UploadFormItem>
<UploadFormItem
v-if="form.standInData === '1'"
label="修订本"
prop="xdbName"
:ids.sync="form.xdb"
:names.sync="form.xdbName"
view
:disabled="disabled">
</UploadFormItem>
<UploadFormItem
v-if="form.standInData === '1'"
label="勘误件"
prop="kwjName"
:ids.sync="form.kwj"
:names.sync="form.kwjName"
view
:disabled="disabled">
</UploadFormItem>
</div>
</template>
<script>
import UploadFormItem from "@/components/hzwlComponents/UploadFormItem";
export default {
name: "TextInfo",
components: {
UploadFormItem
},
props: {
form: {
type: Object,
default: () => {}
},
disabled: {
type: Boolean,
default: false
},
dict: {
type: Object,
default: () => {}
}
},
}
</script>
<style scoped>
</style>
@@ -0,0 +1,177 @@
<template>
<div class="phoneBox">
<ProcessHeaderPhone toggle>
<template slot="proName">标准入库流程</template>
<template slot="proNode">会签</template>
</ProcessHeaderPhone>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
</div>
<div class="content">
<el-form
v-if="reloadForm"
ref="form"
:model="form"
class="label-input-form"
label-width="112px"
style="height: 100%;"
>
<div v-if="active === '1'">
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<Basic :form="form" :dict="dict" :disabled="disabled"></Basic>
<ProcessTitle>
<template slot="title">实施日期</template>
</ProcessTitle>
<ImplementationDate :form="form" :dict="dict" :disabled="disabled"></ImplementationDate>
<ProcessTitle>
<template slot="title">文本信息</template>
</ProcessTitle>
<TextInfo :form="form" :dict="dict" :disabled="disabled"></TextInfo>
<ProcessTitle>
<template slot="title">适用范围</template>
</ProcessTitle>
<Range :form="form" :dict="dict" :disabled="disabled"></Range>
<ProcessTitle>
<template slot="title">关联信息</template>
</ProcessTitle>
<RelatesInformation :form="form" :dict="dict" :disabled="disabled"></RelatesInformation>
<ReceiptDescription v-model="form.commentText" title="审批意见"></ReceiptDescription>
</div>
<template v-if="active === '3'">
<PhoneHistortTable :prcNum="this.$route.query.prcNum"></PhoneHistortTable>
</template>
</el-form>
</div>
<ProcessFooter
show-submit
:submitLoading="footerLoading"
:saveLoading="footerLoading"
@submit="handleSubmit"
>
</ProcessFooter>
</div>
</template>
<script>
import ProcessHeaderPhone from '@/pages/processCenter/pages/components/ProcessHeaderPhone'
import ProcessTitle from '@/pages/processCenter/pages/components/ProcessTitle'
import ProcessFooter from '@/pages/processCenter/pages/components/ProcessFooter'
import PhoneHistortTable from '@/components/hzwlComponents/phoneComponents/phoneApprovalHistory'
import Basic from "./components/Basic";
import ImplementationDate from "./components/ImplementationDate";
import TextInfo from "./components/TextInfo";
import Range from "./components/Range";
import RelatesInformation from "./components/RelatesInformation";
import ReceiptDescription from "@/components/hzwlComponents/ReceiptDescription";
import {inboundLiaisonDetail, processCreateStand, changeAssigneeNew} from 'api/process'
export default {
name: "step3",
components: {
ProcessHeaderPhone,
PhoneHistortTable,
ProcessTitle,
ProcessFooter,
Basic,
ImplementationDate,
TextInfo,
Range,
RelatesInformation,
ReceiptDescription
},
data () {
const form = {}
return {
active: '1',
reloadForm: true,
form,
disabled: true,
dict: {},
footerLoading: false
}
},
created() {
this.getData()
this.getDicTypeListCode()
},
methods: {
handleTabs(name) {
this.active = name
},
getData () {
const { taskIds, prcId } = this.$route.query
inboundLiaisonDetail({
taskIds,
pId: prcId
}).then(res => {
if (res) {
this.reloadForm = false
const processForm = JSON.parse(res.mesg)
this.form = JSON.parse(JSON.stringify(processForm))
this.form.commentText = ''
this.$nextTick(() => {
this.reloadForm = true
})
}
})
},
async handleSubmit () {
this.footerLoading = true;
this.form.commentText = this.commentText;
this.form.menuIds = this.form.treeListId;
this.form.BBFDTBZ = this.form.bfbdtbzh
const json = JSON.stringify(this.form);
const query = {
taskIds: this.$route.query.taskIds,
userId : this.$store.getters.userInfo.userId,
json
}
const completeTaskRef = await this.$http._post('lawss/activiti/completeTask', query)
if (!completeTaskRef.success) {
this.footerLoading = false
return this.$message.error(completeTaskRef.message)
}
this.$message.success(completeTaskRef.message)
this.footerLoading = false
setTimeout(() => {
this.$router.go(-2)
}, 100)
},
getDicTypeListCode () {
this.$http._getData('sys/dictype/getDicTypeListCode').then(res => {
this.dict = { ...res.data }
})
}
}
}
</script>
<style scoped lang="less">
.phoneBox .content {
border-top: 1px solid #DCDFE6;
margin-top: 51px;
height: calc(100% - 156px);
background-color: #fff;
padding: 0 10px;
box-sizing: border-box;
overflow: auto;
}
.phoneBox /deep/ .van-field__label {
width: 112px !important;
margin-right: 0 !important;
padding-left: 10px !important;
}
.phoneBox /deep/ .van-field__control {
padding-left: 10px !important;
}
</style>
+12
View File
@@ -3205,6 +3205,18 @@ const routes = [
title: '政策征求意见流程' title: '政策征求意见流程'
} }
}, },
// 会签
{
path: '/phoneBzrkStep3',
name: 'phoneBzrkStep3',
component: () => import('@/pages/processCenter/pages/phone/bzrk/step3.vue'),
meta: {
isBoolean: true,
requireAuth: true,
title: '标准入库流程'
}
},
// 批准
{ {
path: '/phoneBzrkStep2', path: '/phoneBzrkStep2',
name: 'phoneBzrkStep2', name: 'phoneBzrkStep2',