Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
yanyizhou
2021-11-18 16:17:08 +08:00
14 changed files with 5086 additions and 395 deletions
@@ -0,0 +1,361 @@
<template>
<div>
<process-title>
<template slot="title">取消企标信息</template>
</process-title>
<el-form
ref="qbfsForm"
:model="qbfsForm"
:rules="formRules"
class="label-input-form prc-content-border"
label-width="150px"
>
<div >
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="选择标准" prop="orgName" class="add-form-item form-item-disabled">
<el-button size="mini" type="primary" style="margin-left: 10px;" @click="choiceShow">选择取消标准</el-button>
</el-form-item>
<el-form-item v-if="false" label="" prop="type" class="add-form-item form-item-disabled">
<el-input
v-model="qbfsForm.type"
clearable
></el-input>
</el-form-item>
<el-form-item label="企标名称" prop="esName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.esName"
placeholder="请输入企标名称"
clearable
></el-input>
</el-form-item>
<el-form-item prop="reviseStatus" label="制修订状态" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-select v-model="qbfsForm.reviseStatus" placeholder="请选择制修订状态">
<el-option label="制定完成" value="制定完成"></el-option>
<el-option label="制定中" value="制定中"></el-option>
<el-option label="未制定" value="未制定"></el-option>
</el-select>
</el-form-item>
<el-form-item label="评审责任人" prop="resPerson" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.resPerson"
placeholder="请输入评审责任人"
clearable
></el-input>
</el-form-item>
<el-form-item label="初稿完成时间" prop="draftTime" class="add-form-item form-item-disabled">
<el-date-picker
v-model="qbfsForm.draftTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择初稿完成时间">
</el-date-picker>
</el-form-item>
<el-form-item label="取消原因" prop="cancelReason" class="add-form-item form-item-disabled">
<el-input
type="textarea"
v-model="qbfsForm.cancelReason"
placeholder="请输入取消原因"
clearable
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="planStatus" label="计划状态" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-select v-model="qbfsForm.planStatus" placeholder="请选择计划状态">
<el-option label="制定" value="制定"></el-option>
<el-option label="修订" value="修订"></el-option>
<el-option label="完成" value="完成"></el-option>
</el-select>
</el-form-item>
<el-form-item label="起草人" prop="drafter" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.drafter"
placeholder="请输入起草人"
clearable
></el-input>
</el-form-item>
<el-form-item label="工作组组长" prop="wgLeader" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.wgLeader"
placeholder="请输入工作组组长"
clearable
></el-input>
</el-form-item>
<el-form-item label="标准发布时间" prop="releaseTime" class="add-form-item form-item-disabled">
<el-date-picker
v-model="qbfsForm.releaseTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择标准发布时间">
</el-date-picker>
</el-form-item>
<el-form-item label="起草责任单位" prop="unit" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.unit"
placeholder="请输入起草责任单位"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
<!-- 选择企标计划抽屉-->
<el-drawer
title="选择企业标准"
:visible.sync="ListModel"
size="900px"
custom-class="demo-drawer"
>
<div class="demo-drawer-content">
<div style="position: absolute;bottom: 48px;top:60px;left: 0;right: 0">
<div style="position: absolute;bottom: 55px;top: 0;right: 0;left: 0">
<div class="left">
<el-form :modal="standardSearch" :inline="true" class="label-input-form" style="margin-left:10px">
<el-form-item label="企标名称" class="search-item search-item-last">
<el-input
v-model="standardSearch.standName"
placeholder="根据企标名称查找"
></el-input>
</el-form-item>
<el-form-item label="制修订状态" class="search-item search-item-last">
<el-select v-model="standardSearch.reviseStatus" placeholder="请选择制修订状态">
<el-option label="制定完成" value="制定完成"></el-option>
<el-option label="制定中" value="制定中"></el-option>
<el-option label="未制定" value="未制定"></el-option>
</el-select>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
type="primary"
class="common-button-primary"
size="small"
@click="getStandDataBtn">
查询
</el-button>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
class="common-button-default"
size="small"
@click="clearSearch">清空
</el-button>
</el-form-item>
</el-form>
</div>
<el-table
:data="standinfoList"
tooltip-effect="dark"
style="width: 100%"
border
height="100%"
:header-cell-style="{background: '#f5f1f1', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
@selection-change="selectListChange"
ref="selection"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="esName"
label="企标名称"
align="center">
</el-table-column>
<el-table-column
prop="planStatus"
label="计划状态"
align="center">
</el-table-column>
<el-table-column
prop="reviseStatus"
align="center"
label="制修订状态">
</el-table-column>
<el-table-column
prop="drafter"
align="center"
label="起草人">
</el-table-column>
<el-table-column
prop="resPerson"
align="center"
label="评审责任人">
</el-table-column>
<el-table-column
prop="wgLeader"
align="center"
label="工作组组长">
</el-table-column>
<el-table-column
prop="draftTime"
align="center"
label="计划标准初稿完成时间">
<template slot-scope="scope">
<span>{{ scope.row.draftTime ? $moment(scope.row.draftTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="releaseTime"
align="center"
label="计划标准发布时间">
<template slot-scope="scope">
<span>{{ scope.row.releaseTime ? $moment(scope.row.releaseTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
align="center"
prop="unit"
label="起草责任单位">
</el-table-column>
</el-table>
</div>
<pagination
:page="page"
:pageSize="pageSize"
:total="total"
@pageChange="pageChange"
@pageSizeChange="pageSizeChange"
/>
</div>
</div>
<div class="demo-drawer-footer">
<el-button size="mini" @click="closeDrawer">取消</el-button>
<el-button type="primary" size="mini" @click="OkDrawer">带入</el-button>
</div>
</el-drawer>
</div>
</template>
<script>
import ProcessTitle from "process/components/ProcessTitle";
export default {
name: "cancel",
components: {
ProcessTitle
},
data(){
return{
formRules: {
cancelReason: [
{required: true, message: '请输入延期原因', trigger:'blur'},
]
},
ListModel: false,
standinfoList: [],
page: 1,
total: 0,
pageSize: this.$store.getters.userInfo.configContent,
standardSearch: {
reviseStatus: "",
standName: "",
},
qbfsForm: {
type:'3',
standCode: "",
standName: "",
enName: '',
entCategory: '',
replaceNumber: '',
replacedNumber: '',
releaseDate: '',
implementDate: '',
reviewDate: '',
abolishCause:'',
},
}
},
methods: {
validateForm () {
let flag = null
this.$refs['qbfsForm'].validate((valid) => {
if (valid) {
flag = true
} else {
flag = false
}
})
return flag
},
choiceShow(){
this.getStandDataBtn()
this.ListModel = true
},
//企业标准查询
getStandDataBtn(){
this.$http.post('esRevisePlan/es-revise-plan/queryAllPlans',{
reviseStatus: this.standardSearch.reviseStatus,
esName: this.standardSearch.standName,
page: this.page,
pageSize: this.pageSize,
}, {
_this: this,
}, res => {
this.standinfoList = res.data.list
this.total = res.data.count
})
},
//企业标准清空
clearSearch(){
this.standardSearch = {
standCode: '',
standName: ''
}
this.getStandDataBtn()
},
// 取消带入
closeDrawer(){
this.ListModel = false
},
//带入标准
OkDrawer(){
if(this.selectList.length > 1){
this.$message.warning('您只能带入一条标准')
}else if(this.selectList.length < 1){
this.$message.warning('请至少选择一条数据进行带入')
}else{
this.qbfsForm.esName = this.selectList[0].esName
this.qbfsForm.draftTime = this.selectList[0].draftTime
this.qbfsForm.drafter = this.selectList[0].drafter
this.qbfsForm.planStatus = this.selectList[0].planStatus
this.qbfsForm.releaseTime = this.selectList[0].releaseTime
this.qbfsForm.resPerson = this.selectList[0].resPerson
this.qbfsForm.reviseStatus = this.selectList[0].reviseStatus
this.qbfsForm.unit = this.selectList[0].unit
this.qbfsForm.wgLeader = this.selectList[0].wgLeader
this.ListModel = false
}
},
pageChange(page) {
this.page = page;
this.getStandDataBtn();
},
pageSizeChange(pageSize) {
this.pageSize = pageSize;
this.getStandDataBtn();
},
//企业标准选中项改变
selectListChange(data){
console.log(data);
this.selectList = data
},
},
};
</script>
<style scoped>
</style>
@@ -0,0 +1,382 @@
<template>
<div>
<process-title>
<template slot="title">延期企标信息</template>
</process-title>
<el-form
ref="qbfsForm"
:model="qbfsForm"
:rules="formRules"
class="label-input-form prc-content-border"
label-width="150px"
>
<div >
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="选择标准" prop="orgName" class="add-form-item form-item-disabled">
<el-button size="mini" type="primary" style="margin-left: 10px;" @click="choiceShow">选择延期标准</el-button>
</el-form-item>
<el-form-item v-if="false" label="" prop="type" class="add-form-item form-item-disabled">
<el-input
v-model="qbfsForm.type"
clearable
></el-input>
</el-form-item>
<el-form-item label="企标名称" prop="esName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.esName"
placeholder="请输入企标名称"
clearable
></el-input>
</el-form-item>
<el-form-item prop="reviseStatus" label="制修订状态" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-select v-model="qbfsForm.reviseStatus" placeholder="请选择制修订状态">
<el-option label="制定完成" value="制定完成"></el-option>
<el-option label="制定中" value="制定中"></el-option>
<el-option label="未制定" value="未制定"></el-option>
</el-select>
</el-form-item>
<el-form-item label="评审责任人" prop="resPerson" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.resPerson"
placeholder="请输入评审责任人"
clearable
></el-input>
</el-form-item>
<el-form-item label="初稿完成时间" prop="draftTime" class="add-form-item form-item-disabled">
<el-date-picker
v-model="qbfsForm.draftTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择初稿完成时间">
</el-date-picker>
</el-form-item>
<el-form-item label="延期后初稿完成时间" prop="yqDraftTime" class="add-form-item form-item-disabled">
<el-date-picker
v-model="qbfsForm.yqDraftTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择延期后初稿完成时间">
</el-date-picker>
</el-form-item>
<el-form-item label="延期原因" prop="delayReason" class="add-form-item form-item-disabled">
<el-input
type="textarea"
v-model="qbfsForm.delayReason"
placeholder="请输入延期原因"
clearable
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="planStatus" label="计划状态" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-select v-model="qbfsForm.planStatus" placeholder="请选择计划状态">
<el-option label="制定" value="制定"></el-option>
<el-option label="修订" value="修订"></el-option>
<el-option label="完成" value="完成"></el-option>
</el-select>
</el-form-item>
<el-form-item label="起草人" prop="drafter" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.drafter"
placeholder="请输入起草人"
clearable
></el-input>
</el-form-item>
<el-form-item label="工作组组长" prop="wgLeader" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.wgLeader"
placeholder="请输入工作组组长"
clearable
></el-input>
</el-form-item>
<el-form-item label="标准发布时间" prop="releaseTime" class="add-form-item form-item-disabled">
<el-date-picker
v-model="qbfsForm.releaseTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择标准发布时间">
</el-date-picker>
</el-form-item>
<el-form-item label="起草责任单位" prop="unit" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.unit"
placeholder="请输入起草责任单位"
clearable
></el-input>
</el-form-item>
<el-form-item label="延期后标准发布时间" prop="yqReleaseTime" class="add-form-item form-item-disabled">
<el-date-picker
v-model="qbfsForm.yqReleaseTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择延期后标准发布时间">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
<!-- 选择企标计划抽屉-->
<el-drawer
title="选择企业标准"
:visible.sync="ListModel"
size="900px"
custom-class="demo-drawer"
>
<div class="demo-drawer-content">
<div style="position: absolute;bottom: 48px;top:60px;left: 0;right: 0">
<div style="position: absolute;bottom: 55px;top: 0;right: 0;left: 0">
<div class="left">
<el-form :modal="standardSearch" :inline="true" class="label-input-form" style="margin-left:10px">
<el-form-item label="企标名称" class="search-item search-item-last">
<el-input
v-model="standardSearch.standName"
placeholder="根据企标名称查找"
></el-input>
</el-form-item>
<el-form-item label="制修订状态" class="search-item search-item-last">
<el-select v-model="standardSearch.reviseStatus" placeholder="请选择制修订状态">
<el-option label="制定完成" value="制定完成"></el-option>
<el-option label="制定中" value="制定中"></el-option>
<el-option label="未制定" value="未制定"></el-option>
</el-select>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
type="primary"
class="common-button-primary"
size="small"
@click="getStandDataBtn">
查询
</el-button>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
class="common-button-default"
size="small"
@click="clearSearch">清空
</el-button>
</el-form-item>
</el-form>
</div>
<el-table
:data="standinfoList"
tooltip-effect="dark"
style="width: 100%"
border
height="100%"
:header-cell-style="{background: '#f5f1f1', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
@selection-change="selectListChange"
ref="selection"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="esName"
label="企标名称"
align="center">
</el-table-column>
<el-table-column
prop="planStatus"
label="计划状态"
align="center">
</el-table-column>
<el-table-column
prop="reviseStatus"
align="center"
label="制修订状态">
</el-table-column>
<el-table-column
prop="drafter"
align="center"
label="起草人">
</el-table-column>
<el-table-column
prop="resPerson"
align="center"
label="评审责任人">
</el-table-column>
<el-table-column
prop="wgLeader"
align="center"
label="工作组组长">
</el-table-column>
<el-table-column
prop="draftTime"
align="center"
label="计划标准初稿完成时间">
<template slot-scope="scope">
<span>{{ scope.row.draftTime ? $moment(scope.row.draftTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="releaseTime"
align="center"
label="计划标准发布时间">
<template slot-scope="scope">
<span>{{ scope.row.releaseTime ? $moment(scope.row.releaseTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
align="center"
prop="unit"
label="起草责任单位">
</el-table-column>
</el-table>
</div>
<pagination
:page="page"
:pageSize="pageSize"
:total="total"
@pageChange="pageChange"
@pageSizeChange="pageSizeChange"
/>
</div>
</div>
<div class="demo-drawer-footer">
<el-button size="mini" @click="closeDrawer">取消</el-button>
<el-button type="primary" size="mini" @click="OkDrawer">带入</el-button>
</div>
</el-drawer>
</div>
</template>
<script>
import ProcessTitle from "process/components/ProcessTitle";
export default {
name: "delay",
components: {
ProcessTitle
},
data(){
return{
formRules: {
yqDraftTime: [
{ required: true, message: '请选择延期后初稿完成时间', trigger: 'blur' },
],
yqReleaseTime: [
{ required: true, message: '请选择延期后标准发布时间', trigger: 'blur' },
],
delayReason: [
{required: true, message: '请输入延期原因', trigger:'blur'},
]
},
ListModel: false,
standinfoList: [],
page: 1,
total: 0,
pageSize: this.$store.getters.userInfo.configContent,
standardSearch: {
reviseStatus: "",
standName: "",
},
qbfsForm: {
type: '2',
standCode: "",
standName: "",
enName: '',
entCategory: '',
replaceNumber: '',
replacedNumber: '',
releaseDate: '',
implementDate: '',
reviewDate: '',
abolishCause:'',
},
}
},
methods: {
validateForm () {
let flag = null
this.$refs['qbfsForm'].validate((valid) => {
if (valid) {
flag = true
} else {
flag = false
}
})
return flag
},
choiceShow(){
this.getStandDataBtn()
this.ListModel = true
},
//企业标准查询
getStandDataBtn(){
this.$http.post('esRevisePlan/es-revise-plan/queryAllPlans',{
reviseStatus: this.standardSearch.reviseStatus,
esName: this.standardSearch.standName,
page: this.page,
pageSize: this.pageSize,
}, {
_this: this,
}, res => {
this.standinfoList = res.data.list
this.total = res.data.count
})
},
//企业标准清空
clearSearch(){
this.standardSearch = {
standCode: '',
standName: ''
}
this.getStandDataBtn()
},
// 取消带入
closeDrawer(){
this.ListModel = false
},
//带入标准
OkDrawer(){
if(this.selectList.length > 1){
this.$message.warning('您只能带入一条标准')
}else if(this.selectList.length < 1){
this.$message.warning('请至少选择一条数据进行带入')
}else{
this.qbfsForm.esName = this.selectList[0].esName
this.qbfsForm.draftTime = this.selectList[0].draftTime
this.qbfsForm.drafter = this.selectList[0].drafter
this.qbfsForm.planStatus = this.selectList[0].planStatus
this.qbfsForm.releaseTime = this.selectList[0].releaseTime
this.qbfsForm.resPerson = this.selectList[0].resPerson
this.qbfsForm.reviseStatus = this.selectList[0].reviseStatus
this.qbfsForm.unit = this.selectList[0].unit
this.qbfsForm.wgLeader = this.selectList[0].wgLeader
this.ListModel = false
}
},
pageChange(page) {
this.page = page;
this.getStandDataBtn();
},
pageSizeChange(pageSize) {
this.pageSize = pageSize;
this.getStandDataBtn();
},
//企业标准选中项改变
selectListChange(data){
console.log(data);
this.selectList = data
},
},
};
</script>
<style scoped>
</style>
@@ -0,0 +1,169 @@
<template>
<div>
<process-title>
<template slot="title">立项信息</template>
</process-title>
<el-form :model="qbfsForm" class="label-input-form prc-content-border"
label-width="150px" :rules="qbfsFormRules" ref="qbfsForm">
<el-form-item v-if="false" label="" prop="type" class="add-form-item form-item-disabled">
<el-input
v-model="qbfsForm.type"
clearable
></el-input>
</el-form-item>
<el-form-item prop="esName" label="企标名称" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input
v-model="qbfsForm.esName"
placeholder="请输入企标名称"
:maxlength="500"/>
</el-form-item>
<el-form-item prop="planStatus" label="计划状态" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-select v-model="qbfsForm.planStatus" placeholder="请选择计划状态">
<el-option label="制定" value="制定"></el-option>
<el-option label="修订" value="修订"></el-option>
<el-option label="完成" value="完成"></el-option>
</el-select>
</el-form-item>
<el-form-item prop="reviseStatus" label="制修订状态" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-select v-model="qbfsForm.reviseStatus" placeholder="请选择制修订状态">
<el-option label="制定完成" value="制定完成"></el-option>
<el-option label="制定中" value="制定中"></el-option>
<el-option label="未制定" value="未制定"></el-option>
</el-select>
</el-form-item>
<el-form-item prop="drafter" label="起草人" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input
v-model="qbfsForm.drafter"
placeholder="请输入起草人"
:maxlength="500"/>
</el-form-item>
<el-form-item prop="resPerson" label="评审责任人" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input
v-model="qbfsForm.resPerson"
placeholder="请输入评审责任人"
:maxlength="500"/>
</el-form-item>
<el-form-item prop="wgLeader" label="工作组组长" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input
v-model="qbfsForm.wgLeader"
placeholder="请输入工作组组长"
:maxlength="500"/>
</el-form-item>
<el-form-item label="计划标准初稿完成时间" style="width: 100%; margin-right:10px" prop="draftTime" class="add-form-item form-item-disabled">
<el-date-picker
v-model="qbfsForm.draftTime"
value-format="yyyy-MM-dd"
type="date"
placeholder="请选择计划标准初稿完成时间">
</el-date-picker>
</el-form-item>
<el-form-item label="计划标准发布时间" style="width: 100%; margin-right:10px" prop="releaseTime" class="add-form-item form-item-disabled">
<el-date-picker
v-model="qbfsForm.releaseTime"
value-format="yyyy-MM-dd"
type="date"
placeholder="请选择计划标准发布时间">
</el-date-picker>
</el-form-item>
<el-form-item label="起草责任单位" style="width: 100%; margin-right:10px" prop="unit" class="add-form-item form-item-disabled">
<el-input
v-model="qbfsForm.unit"
placeholder="请输入起草责任单位"
:maxlength="500"/>
</el-form-item>
<el-form-item label="新增原因" style="width: 100%; margin-right:10px" prop="newReason" class="add-form-item form-item-disabled">
<el-input
type="textarea"
v-model="qbfsForm.newReason"
placeholder="请输入新增原因"
:maxlength="500"/>
</el-form-item>
<!-- <el-form-item label="备注" style="width: 100%; margin-right:10px" class="add-form-item" prop="remarks">-->
<!-- <el-input-->
<!-- v-model="qbfsForm.remarks"-->
<!-- placeholder="请输入备注"-->
<!-- :maxlength="500"/>-->
<!-- </el-form-item>-->
</el-form>
</div>
</template>
<script>
import ProcessTitle from "process/components/ProcessTitle";
export default {
name: "establish",
components: {
ProcessTitle
},
data(){
return {
qbfsForm: {
type: '5',
unit: '', // 单位
esName: '', // 企标名称
planStatus: '', // 计划状态
reviseStatus: '', // 制修订状态
resPerson: '', // 评审责任人
wgLeader: '', // 工作组组长
draftTime: '', // 计划标准初稿完成时间
releaseTime: '', // 计划标准发布时间
drafter: '', // 起草人
newReason: '', //新增原因
// remarks: '', // 备注
},
qbfsFormRules: {
unit: [
{required: true, message: '请输入单位', trigger: 'blur'},
],
esName: [
{required: true, message: '请输入企标名称', trigger: 'blur'},
],
planStatus: [
{required: true, message: '请选择计划状态', trigger: 'change'},
],
reviseStatus: [
{required: true, message: '请选择制修订状态', trigger: 'change'},
],
resPerson: [
{required: true, message: '请输入评审责任人', trigger: 'blur'},
],
wgLeader: [
{required: true, message: '请输入工作组组长', trigger: 'blur'},
],
draftTime: [
{required: true, message: '请输入计划标准初稿完成时间', trigger: 'blur'},
],
releaseTime: [
{required: true, message: '请输入计划标准发布时间', trigger: 'blur'},
],
drafter: [
{required: true, message: '请输入起草人', trigger: 'blur'},
],
newReason: [
{required: true, message: '请输入新增原因', trigger: 'blur'},
],
},
}
},
methods: {
validateForm () {
let flag = null
this.$refs['qbfsForm'].validate((valid) => {
if (valid) {
flag = true
} else {
flag = false
}
})
return flag
}
}
};
</script>
<style scoped>
</style>
@@ -0,0 +1,470 @@
<template>
<div class="merge">
<process-title>
<template slot="title">合并企标信息</template>
</process-title>
<el-form
ref="qbzxdForm"
:model="qbzxdForm"
:rules="formRules"
class="label-input-form prc-content-border"
label-width="150px"
>
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="选择合并标准1" prop="orgName" class="add-form-item form-item-disabled">
<el-button size="mini" type="primary" style="margin-left: 10px;" @click="choiceShow">根据企标编号名称查询</el-button>
</el-form-item>
<el-form-item label="企标名称" prop="esName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbzxdForm.esName"
placeholder="请输入企标名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="计划状态" prop="planStatus" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbzxdForm.planStatus"
placeholder="请输入计划状态"
clearable
></el-input>
</el-form-item>
<el-form-item v-show="standShow" label="制修订状态" prop="reviseStatus" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbzxdForm.reviseStatus"
placeholder="请输入制修订状态"
clearable
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="选择合并标准2" prop="orgName" class="add-form-item form-item-disabled">
<el-button size="mini" type="primary" style="margin-left: 10px;" @click="choiceShow2">根据企标编号名称类别查询</el-button>
</el-form-item>
<el-form-item label="企标名称" prop="esName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbzxdForm2.esName"
placeholder="请输入企标名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="计划状态" prop="planStatus" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbzxdForm2.planStatus"
placeholder="请输入计划状态"
clearable
></el-input>
</el-form-item>
<el-form-item v-show="standShow2" label="制修订状态" prop="reviseStatus" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbzxdForm2.reviseStatus"
placeholder="请输入制修订状态"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<process-title>
<template slot="title">合并后企标信息</template>
</process-title>
<el-form
ref="qbfsForm"
:model="qbfsForm"
:rules="formRules"
class="label-input-form prc-content-border"
label-width="150px"
>
<div v-if="foldFormFlag">
<el-row :gutter="24">
<el-col :span="12">
<el-form-item v-if="false" label="" prop="type" class="add-form-item form-item-disabled">
<el-input
v-model="qbfsForm.type"
clearable
></el-input>
</el-form-item>
<el-form-item label="企标名称" prop="esName" class="add-form-item form-item-disabled">
<el-input
v-model="qbfsForm.esName"
placeholder="请输入企标名称"
clearable
></el-input>
</el-form-item>
<el-form-item prop="reviseStatus" label="制修订状态" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-select v-model="qbfsForm.reviseStatus" placeholder="请选择制修订状态">
<el-option label="制定完成" value="制定完成"></el-option>
<el-option label="制定中" value="制定中"></el-option>
<el-option label="未制定" value="未制定"></el-option>
</el-select>
</el-form-item>
<el-form-item label="评审责任人" prop="resPerson" class="add-form-item form-item-disabled">
<el-input
v-model="qbfsForm.resPerson"
placeholder="请输入评审责任人"
clearable
></el-input>
</el-form-item>
<el-form-item label="初稿完成时间" prop="draftTime" class="add-form-item form-item-disabled">
<el-date-picker
v-model="qbfsForm.draftTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择初稿完成时间">
</el-date-picker>
</el-form-item>
<el-form-item label="起草责任单位" prop="unit" class="add-form-item form-item-disabled">
<el-input
v-model="qbfsForm.unit"
placeholder="请输入起草责任单位"
clearable
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="planStatus" label="计划状态" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-select v-model="qbfsForm.planStatus" placeholder="请选择计划状态">
<el-option label="制定" value="制定"></el-option>
<el-option label="修订" value="修订"></el-option>
<el-option label="完成" value="完成"></el-option>
</el-select>
</el-form-item>
<el-form-item label="起草人" prop="drafter" class="add-form-item form-item-disabled">
<el-input
v-model="qbfsForm.drafter"
placeholder="请输入起草人"
clearable
></el-input>
</el-form-item>
<el-form-item label="工作组组长" prop="wgLeader" class="add-form-item form-item-disabled">
<el-input
v-model="qbfsForm.wgLeader"
placeholder="请输入工作组组长"
clearable
></el-input>
</el-form-item>
<el-form-item label="标准发布时间" prop="releaseTime" class="add-form-item form-item-disabled">
<el-date-picker
v-model="qbfsForm.releaseTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择标准发布时间">
</el-date-picker>
</el-form-item>
<el-form-item label="合并原因" prop="mergeReason" class="add-form-item form-item-disabled">
<el-input
type="textarea"
v-model="qbfsForm.mergeReason"
placeholder="请输入合并原因"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
<!-- 选择企标计划抽屉-->
<el-drawer
title="选择企业标准"
:visible.sync="ListModel"
size="900px"
custom-class="demo-drawer"
>
<div class="demo-drawer-content">
<div style="position: absolute;bottom: 48px;top:60px;left: 0;right: 0">
<div style="position: absolute;bottom: 55px;top: 0;right: 0;left: 0">
<div class="left">
<el-form :modal="standardSearch" :inline="true" class="label-input-form" style="margin-left:10px">
<el-form-item label="企标名称" class="search-item search-item-last">
<el-input
v-model="standardSearch.standName"
placeholder="根据企标名称查找"
></el-input>
</el-form-item>
<el-form-item label="制修订状态" class="search-item search-item-last">
<el-select v-model="standardSearch.reviseStatus" placeholder="请选择制修订状态">
<el-option label="制定完成" value="制定完成"></el-option>
<el-option label="制定中" value="制定中"></el-option>
<el-option label="未制定" value="未制定"></el-option>
</el-select>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
type="primary"
class="common-button-primary"
size="small"
@click="getStandDataBtn">
查询
</el-button>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
class="common-button-default"
size="small"
@click="clearSearch">清空
</el-button>
</el-form-item>
</el-form>
</div>
<el-table
:data="standinfoList"
tooltip-effect="dark"
style="width: 100%"
border
height="100%"
:header-cell-style="{background: '#f5f1f1', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
@selection-change="selectListChange"
ref="selection"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="esName"
label="企标名称"
align="center">
</el-table-column>
<el-table-column
prop="planStatus"
label="计划状态"
align="center">
</el-table-column>
<el-table-column
prop="reviseStatus"
align="center"
label="制修订状态">
</el-table-column>
<el-table-column
prop="drafter"
align="center"
label="起草人">
</el-table-column>
<el-table-column
prop="resPerson"
align="center"
label="评审责任人">
</el-table-column>
<el-table-column
prop="wgLeader"
align="center"
label="工作组组长">
</el-table-column>
<el-table-column
prop="draftTime"
align="center"
label="计划标准初稿完成时间">
<template slot-scope="scope">
<span>{{ scope.row.draftTime ? $moment(scope.row.draftTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="releaseTime"
align="center"
label="计划标准发布时间">
<template slot-scope="scope">
<span>{{ scope.row.releaseTime ? $moment(scope.row.releaseTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
align="center"
prop="unit"
label="起草责任单位">
</el-table-column>
</el-table>
</div>
<pagination
:page="page"
:pageSize="pageSize"
:total="total"
@pageChange="pageChange"
@pageSizeChange="pageSizeChange"
/>
</div>
</div>
<div class="demo-drawer-footer">
<el-button size="mini" @click="closeDrawer">取消</el-button>
<el-button type="primary" size="mini" @click="OkDrawer">带入</el-button>
</div>
</el-drawer>
</div>
</template>
<script>
import ProcessTitle from "process/components/ProcessTitle";
export default {
name: "merge",
components: {
ProcessTitle
},
data(){
return {
standShow: false,
standShow2: false,
ListModel: false,
foldFormFlag: true,
showType: '',
page: 1,
total: 0,
pageSize: this.$store.getters.userInfo.configContent,
selectList: [],
formRules: {},
standinfoList: [],
standardSearch: {
reviseStatus: "",
standName: "",
},
qbfsForm: {
type: '1',
standName: "",
nextStatus: "",
reviewer: "",
draftTime: "",
isSubTime: "",
mergeReason: "",
company: "",
groupLeader: "",
drafterPeople: "",
formulateStatus: "",
},
associationOptions: [{
value: "修订",
label: "修订"
}, {
value: "有效",
label: "有效"
}],
qbzxdForm: {
standCode: "",
standName: "",
enName: '',
entCategory: '',
replaceNumber: '',
replacedNumber: '',
releaseDate: '',
implementDate: '',
reviewDate: '',
abolishCause:'',
},
qbzxdForm2: {
standCode: "",
standName: "",
enName: '',
entCategory: '',
replaceNumber: '',
replacedNumber: '',
releaseDate: '',
implementDate: '',
reviewDate: '',
abolishCause:'',
},
}
},
mounted() {
this.getStandDataBtn()
},
methods: {
validateForm () {
let flag = null
this.$refs['qbfsForm'].validate((valid) => {
if (valid) {
flag = true
} else {
flag = false
}
})
return flag
},
choiceShow(){
this.showType = 'one'
this.getStandDataBtn()
this.ListModel = true;
},
choiceShow2(){
this.showType = 'two'
this.getStandDataBtn()
this.ListModel = true;
},
// 取消带入
closeDrawer(){
this.ListModel = false
},
//带入标准
OkDrawer(){
if(this.selectList.length > 1){
this.$message.warning('您只能带入一条标准')
}else if(this.selectList.length < 1){
this.$message.warning('请至少选择一条数据进行带入')
}else{
if(this.showType === 'one'){
this.qbzxdForm.esName = this.selectList[0].esName || '--'
this.qbzxdForm.planStatus = this.selectList[0].planStatus || '--'
this.qbzxdForm.reviseStatus = this.selectList[0].reviseStatus || '--'
this.standShow = true
}else{
this.qbzxdForm2.esName = this.selectList[0].esName || '--'
this.qbzxdForm2.planStatus = this.selectList[0].planStatus || '--'
this.qbzxdForm2.reviseStatus = this.selectList[0].reviseStatus || '--'
this.standShow2 = true
}
this.ListModel = false
}
},
//企业标准查询
getStandDataBtn(){
this.$http.post('esRevisePlan/es-revise-plan/queryAllPlans',{
reviseStatus: this.standardSearch.reviseStatus,
esName: this.standardSearch.standName,
page: this.page,
pageSize: this.pageSize,
}, {
_this: this,
}, res => {
this.standinfoList = res.data.list
this.total = res.data.count
})
},
//企业标准清空
clearSearch(){
this.standardSearch = {
standCode: '',
standName: ''
}
this.getStandDataBtn()
},
pageChange(page) {
this.page = page;
this.getStandDataBtn();
},
pageSizeChange(pageSize) {
this.pageSize = pageSize;
this.getStandDataBtn();
},
foldForm() {
this.foldFormFlag = !this.foldFormFlag;
},
//企业标准选中项改变
selectListChange(data){
console.log(data);
this.selectList = data
},
}
};
</script>
<style lang="less" scoped>
.merge {
}
</style>
@@ -0,0 +1,371 @@
<template>
<div>
<process-title>
<template slot="title">更名企标信息</template>
</process-title>
<el-form
ref="qbfsForm"
:model="qbfsForm"
:rules="formRules"
class="label-input-form prc-content-border"
label-width="150px"
>
<div >
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="选择标准" prop="orgName" class="add-form-item form-item-disabled">
<el-button size="mini" type="primary" style="margin-left: 10px;" @click="choiceShow">选择更名标准</el-button>
</el-form-item>
<el-form-item v-if="false" label="" prop="type" class="add-form-item form-item-disabled">
<el-input
v-model="qbfsForm.type"
clearable
></el-input>
</el-form-item>
<el-form-item label="企标名称" prop="esName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.esName"
placeholder="请输入企标名称"
clearable
></el-input>
</el-form-item>
<el-form-item prop="reviseStatus" label="制修订状态" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-select v-model="qbfsForm.reviseStatus" placeholder="请选择制修订状态">
<el-option label="制定完成" value="制定完成"></el-option>
<el-option label="制定中" value="制定中"></el-option>
<el-option label="未制定" value="未制定"></el-option>
</el-select>
</el-form-item>
<el-form-item label="评审责任人" prop="resPerson" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.resPerson"
placeholder="请输入评审责任人"
clearable
></el-input>
</el-form-item>
<el-form-item label="初稿完成时间" prop="draftTime" class="add-form-item form-item-disabled">
<el-date-picker
v-model="qbfsForm.draftTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择初稿完成时间">
</el-date-picker>
</el-form-item>
<el-form-item label="更名后企标名称" prop="renameEs" class="add-form-item form-item-disabled">
<el-input
v-model="qbfsForm.renameEs"
placeholder="请输入更名后企标名称"
clearable
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="planStatus" label="计划状态" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-select v-model="qbfsForm.planStatus" placeholder="请选择计划状态">
<el-option label="制定" value="制定"></el-option>
<el-option label="修订" value="修订"></el-option>
<el-option label="完成" value="完成"></el-option>
</el-select>
</el-form-item>
<el-form-item label="起草人" prop="drafter" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.drafter"
placeholder="请输入起草人"
clearable
></el-input>
</el-form-item>
<el-form-item label="工作组组长" prop="wgLeader" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.wgLeader"
placeholder="请输入工作组组长"
clearable
></el-input>
</el-form-item>
<el-form-item label="标准发布时间" prop="releaseTime" class="add-form-item form-item-disabled">
<el-date-picker
v-model="qbfsForm.releaseTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择标准发布时间">
</el-date-picker>
</el-form-item>
<el-form-item label="起草责任单位" prop="unit" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.unit"
placeholder="请输入起草责任单位"
clearable
></el-input>
</el-form-item>
<el-form-item label="更名原因" prop="renameReason" class="add-form-item form-item-disabled">
<el-input
type="textarea"
v-model="qbfsForm.renameReason"
placeholder="请输入更名原因"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
<!-- 选择企标计划抽屉-->
<el-drawer
title="选择企业标准"
:visible.sync="ListModel"
size="900px"
custom-class="demo-drawer"
>
<div class="demo-drawer-content">
<div style="position: absolute;bottom: 48px;top:60px;left: 0;right: 0">
<div style="position: absolute;bottom: 55px;top: 0;right: 0;left: 0">
<div class="left">
<el-form :modal="standardSearch" :inline="true" class="label-input-form" style="margin-left:10px">
<el-form-item label="企标名称" class="search-item search-item-last">
<el-input
v-model="standardSearch.standName"
placeholder="根据企标名称查找"
></el-input>
</el-form-item>
<el-form-item label="制修订状态" class="search-item search-item-last">
<el-select v-model="standardSearch.reviseStatus" placeholder="请选择制修订状态">
<el-option label="制定完成" value="制定完成"></el-option>
<el-option label="制定中" value="制定中"></el-option>
<el-option label="未制定" value="未制定"></el-option>
</el-select>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
type="primary"
class="common-button-primary"
size="small"
@click="getStandDataBtn">
查询
</el-button>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
class="common-button-default"
size="small"
@click="clearSearch">清空
</el-button>
</el-form-item>
</el-form>
</div>
<el-table
:data="standinfoList"
tooltip-effect="dark"
style="width: 100%"
border
height="100%"
:header-cell-style="{background: '#f5f1f1', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
@selection-change="selectListChange"
ref="selection"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="esName"
label="企标名称"
align="center">
</el-table-column>
<el-table-column
prop="planStatus"
label="计划状态"
align="center">
</el-table-column>
<el-table-column
prop="reviseStatus"
align="center"
label="制修订状态">
</el-table-column>
<el-table-column
prop="drafter"
align="center"
label="起草人">
</el-table-column>
<el-table-column
prop="resPerson"
align="center"
label="评审责任人">
</el-table-column>
<el-table-column
prop="wgLeader"
align="center"
label="工作组组长">
</el-table-column>
<el-table-column
prop="draftTime"
align="center"
label="计划标准初稿完成时间">
<template slot-scope="scope">
<span>{{ scope.row.draftTime ? $moment(scope.row.draftTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="releaseTime"
align="center"
label="计划标准发布时间">
<template slot-scope="scope">
<span>{{ scope.row.releaseTime ? $moment(scope.row.releaseTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
align="center"
prop="unit"
label="起草责任单位">
</el-table-column>
</el-table>
</div>
<pagination
:page="page"
:pageSize="pageSize"
:total="total"
@pageChange="pageChange"
@pageSizeChange="pageSizeChange"
/>
</div>
</div>
<div class="demo-drawer-footer">
<el-button size="mini" @click="closeDrawer">取消</el-button>
<el-button type="primary" size="mini" @click="OkDrawer">带入</el-button>
</div>
</el-drawer>
</div>
</template>
<script>
import ProcessTitle from "process/components/ProcessTitle";
export default {
name: "rename",
components: {
ProcessTitle
},
data(){
return{
formRules: {
renameEs: [
{required: true, message: '请输入更名后企标名称', trigger:'blur'},
],
cancelReason: [
{required: true, message: '请输入更名原因', trigger:'blur'},
]
},
ListModel: false,
standinfoList: [],
page: 1,
total: 0,
pageSize: this.$store.getters.userInfo.configContent,
standardSearch: {
reviseStatus: "",
standName: "",
},
qbfsForm: {
type: '4',
standCode: "",
standName: "",
enName: '',
entCategory: '',
replaceNumber: '',
replacedNumber: '',
releaseDate: '',
implementDate: '',
reviewDate: '',
abolishCause:'',
},
}
},
methods: {
validateForm () {
let flag = null
this.$refs['qbfsForm'].validate((valid) => {
if (valid) {
flag = true
} else {
flag = false
}
})
return flag
},
choiceShow(){
this.getStandDataBtn()
this.ListModel = true
},
//企业标准查询
getStandDataBtn(){
this.$http.post('esRevisePlan/es-revise-plan/queryAllPlans',{
reviseStatus: this.standardSearch.reviseStatus,
esName: this.standardSearch.standName,
page: this.page,
pageSize: this.pageSize,
}, {
_this: this,
}, res => {
this.standinfoList = res.data.list
this.total = res.data.count
})
},
//企业标准清空
clearSearch(){
this.standardSearch = {
standCode: '',
standName: ''
}
this.getStandDataBtn()
},
// 取消带入
closeDrawer(){
this.ListModel = false
},
//带入标准
OkDrawer(){
if(this.selectList.length > 1){
this.$message.warning('您只能带入一条标准')
}else if(this.selectList.length < 1){
this.$message.warning('请至少选择一条数据进行带入')
}else{
this.qbfsForm.esName = this.selectList[0].esName
this.qbfsForm.draftTime = this.selectList[0].draftTime
this.qbfsForm.drafter = this.selectList[0].drafter
this.qbfsForm.planStatus = this.selectList[0].planStatus
this.qbfsForm.releaseTime = this.selectList[0].releaseTime
this.qbfsForm.resPerson = this.selectList[0].resPerson
this.qbfsForm.reviseStatus = this.selectList[0].reviseStatus
this.qbfsForm.unit = this.selectList[0].unit
this.qbfsForm.wgLeader = this.selectList[0].wgLeader
this.ListModel = false
}
},
pageChange(page) {
this.page = page;
this.getStandDataBtn();
},
pageSizeChange(pageSize) {
this.pageSize = pageSize;
this.getStandDataBtn();
},
//企业标准选中项改变
selectListChange(data){
console.log(data);
this.selectList = data
},
},
};
</script>
<style scoped>
</style>
@@ -1,13 +1,440 @@
<template> <template>
<div class="qbzxd-jhgk">
<ProcessHeader toggle>
<template slot="proName">企标制修订计划管控</template>
<template slot="proNode">发起流程</template>
</ProcessHeader>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">人员信息</div>
</div>
<div class="content" v-show="active === '1'">
<div style="flex: auto; overflow: auto">
<process-title>
<template slot="title">基础信息</template>
</process-title>
<el-form
class="label-input-form prc-content-border"
label-width="150px"
>
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="调整类型" class="add-form-item form-item-disabled">
<el-button size="small" type="primary" style="margin: 10px;" @click="toggleComName('merge')">合并</el-button>
<el-button size="small" type="primary" style="margin: 10px;" @click="toggleComName('delay')">延期</el-button>
<el-button size="small" type="primary" style="margin: 10px;" @click="toggleComName('cancel')">取消</el-button>
<el-button size="small" type="primary" style="margin: 10px;" @click="toggleComName('rename')">更名</el-button>
<el-button size="small" type="primary" style="margin: 10px;" @click="toggleComName('establish')">立项</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
<component ref="childForm" :is="comName" ></component>
</div>
<div>
<el-collapse accordion>
<el-collapse-item title="回执说明">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
</div>
<div class="content" v-show="active === '2'">
<div class="block" style="padding-top: 20px;">
<el-timeline>
<el-form
ref="roleForm"
:roleMessage="roleForm"
:model="roleForm"
:rules="roleFormRules"
class="label-input-form">
<el-timeline-item timestamp="发起流程" placement="top" :color="roleForm.startUser ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="startUserName" style="margin-bottom: 0">
<h4>标准法规工程师</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.prcCreateUser" style="display: none;"></el-input>
<el-input v-model="roleForm.prcCreateUserName" placeholder="流程发起人"
disabled></el-input>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="选择申请部门高级经理审核" placement="top"
:color="roleForm.dockUser ? '#66b1ff' : ''" >
<el-card>
<el-form-item prop="dockUserName" style="margin-bottom: 0">
<h4>申请部门高级经理</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.dockUser" style="display: none;"></el-input>
<el-input v-model="roleForm.dockUserName" placeholder="选择申请部门高级经理"
@click.native="choiceZRR('dockUser', '选择申请部门高级经理', roleForm.dockUser)">
</el-input>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="选择申请部门中心主任会签" placement="top"
:color="roleForm.countersigner ? '#66b1ff' : ''" >
<el-card>
<el-form-item prop="countersignerName" style="margin-bottom: 0">
<h4>申请部门中心主任</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.countersigner" style="display: none;"></el-input>
<el-input v-model="roleForm.countersignerName" placeholder="选择申请部门中心主任"
@click.native="choiceZRRS">
</el-input>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="选择标准法规工作组组长审定" placement="top"
:color="roleForm.examine ? '#66b1ff' : ''" >
<el-card>
<el-form-item prop="examineName" style="margin-bottom: 0">
<h4>标准法规工作组组长</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.examine" style="display: none;"></el-input>
<el-input v-model="roleForm.examineName" placeholder="选择标准法规工作组组长"
@click.native="choiceZRR('examine', '选择标准法规工作组组长', roleForm.examine)">
</el-input>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="选择标准法规部部长批准" placement="top"
:color="roleForm.approver ? '#66b1ff' : ''" >
<el-card>
<el-form-item prop="approverName" style="margin-bottom: 0">
<h4>标准法规部部长</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.approver" style="display: none;"></el-input>
<el-input v-model="roleForm.approverName" placeholder="选择标准法规部部长"
@click.native="choiceZRR('approver', '选择标准法规部部长', roleForm.approver)">
</el-input>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="选择标准法规部工程师抄送" placement="top"
:color="roleForm.engineer ? '#66b1ff' : ''" >
<el-card>
<el-form-item prop="engineerName" style="margin-bottom: 0">
<h4>标准法规部工程师</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.engineer" style="display: none;"></el-input>
<el-input v-model="roleForm.engineerName" placeholder="选择标准法规部工程师"
@click.native="choiceZRR('engineer', '选择标准法规部工程师', roleForm.engineer)">
</el-input>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
</el-form>
</el-timeline>
</div>
</div>
<ProcessFooter
show-save
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@save="handleSave"
@submit="handleSubmit"
>
</ProcessFooter>
<!-- 多选择责任人-->
<Role-tree
is-title="选择责任部门对接人"
:is-visible.sync="modalshowflag2"
@checkedRole="checkedRole2"
:nodeList="nodeList2"
></Role-tree>
<!-- 单选人-->
<Role-tree
check-box
:is-title="drawerTitle"
:is-visible.sync="modalshowflag"
@checkedRole="checkedRole"
:nodeList="nodeList"
></Role-tree>
</div>
</template> </template>
<script> <script>
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import merge from "process/creatProcess/qbzxdjhgk/component/merge";
import rename from "process/creatProcess/qbzxdjhgk/component/rename";
import establish from "process/creatProcess/qbzxdjhgk/component/establish";
import delay from "process/creatProcess/qbzxdjhgk/component/delay";
import cancel from "process/creatProcess/qbzxdjhgk/component/cancel";
import {saveTaskFirst,queryTaskFirst, inboundLiaisonDetail } from "api/process";
export default { export default {
name: "qbzxdjhgkStep1" name: "qbzxdjhgkStep1",
components:{
ProcessHeader,
ProcessFooter,
ProcessTitle,
merge,
rename,
establish,
delay,
cancel,
},
data(){
return{
active: '1',
commentText: '',
comName: 'merge',
drawerTitle: '',
nodeList: [],
nodeList2: [],
isSubmit: false,
saveLoading: false,
modalshowflag: false,
modalshowflag2: false,
roleForm: {
prcCreateUserName: this.$store.getters.userInfo.userName,
prcCreateUser: this.$store.getters.userInfo.userId,
dockUser: '',
dockUserName: '',
countersigner: '',
countersignerName: '',
approver: '',
approverName: '',
engineer: "",
engineerName: "",
examine: '',
examineName: '',
},
//必填人员校验规则
roleFormRules: {
dockUserName: [
{required: true, message: "请选择工作组组长", trigger: "change"}
],
},
}
},
methods: {
handleTabs(name){
this.active = name
},
toggleComName(name){
this.comName = name
},
//流程保存
handleSave(){
},
//流程提交
handleSubmit(){
let flag = this.$refs['childForm'].validateForm()
let qbzxdFrom = this.$refs["childForm"].qbfsForm
if(flag){
this.$refs['roleForm'].validate((valid) => {
if(valid){
this.isSubmit = true
var json = Object.assign(qbzxdFrom, this.roleForm)
this.$http.get('lawss/activiti/startProcess', {type: '25'}, {
_this: this
}, res => {
if (res.ok) {
this.$http.post('lawss/activiti/completeTask', {
taskIds: res.data,
userId : this.$store.getters.userInfo.userId,
json: JSON.stringify(json)
}, {
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message)
this.isSubmit = false
this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
}
})
}
})
}else{
this.$message.warning('请完善人员信息')
}
})
}else{
this.$message.warning('请完善基础信息')
}
},
// 流程阶段负责人选择
choiceZRR(type, title, id) {
this.nodeList = [];
this.nodeList.push(id);
this.type = type;
this.drawerTitle = title;
this.modalshowflag = true;
},
checkedRole (data) {
if (this.type === "dockUser") {
this.roleForm.dockUser = data[0].id;
this.roleForm.dockUserName = data[0].name;
}else if(this.type === 'examine'){
this.roleForm.examine = data[0].id;
this.roleForm.examineName = data[0].name;
}else if(this.type === 'approver'){
this.roleForm.approver = data[0].id;
this.roleForm.approverName = data[0].name;
}else if(this.type === 'engineer'){
this.roleForm.engineer = data[0].id;
this.roleForm.engineerName = data[0].name;
}
this.modalshowflag = false;
},
choiceZRRS() {
this.nodeList2 = [];
if (this.roleForm.countersigner.length > 0) {
this.nodeList2 = this.roleForm.countersigner.split(",");
}
this.modalshowflag2 = true;
},
checkedRole2(data) {
var idList = "";
var nameList = "";
data.forEach(item => {
if (nameList.length > 0) {
nameList += ",";
idList += ",";
}
idList += item.id;
nameList += item.name;
});
this.roleForm.countersigner = idList;
this.roleForm.countersignerName = nameList;
},
},
}; };
</script> </script>
<style scoped> <style lang="less" scoped>
@import '~@/assets/styles/style';
.qbzxd-jhgk {
/deep/ .el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
.fileClass {
cursor: pointer;
}
.fileClass:hover {
color: #0c91e5;
}
p {
& > a {
cursor: pointer;
}
& > i {
display: inline-block;
margin-left: 3px;
width: 18px;
height: 16px;
background-repeat: no-repeat;
background-size: 100% 100%;
background-position: center center;
vertical-align: sub;
cursor: pointer;
}
.icon-download {
background-image: url("~assets/images/shangqi/img/download.png");
}
.icon-download2 {
background-image: url("~assets/images/shangqi/img/download2.png");
}
}
.choiceBtn {
.el-button--primary {
width: 150px;
}
}
position: relative;
height: 100%;
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 0;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content {
display: flex;
flex-direction: column;
justify-content: space-between;
height: calc(~'100% - 103px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
.accessStandardsAndRegulations {
height: 100%;
}
}
}
.add-form-el-select {
/deep/ .el-select {
width: 210px;
}
}
.demo-drawer-content {
margin-top: 10px;
}
}
</style> </style>
@@ -0,0 +1,532 @@
<template>
<div class="qbzxd-jhgk">
<ProcessHeader toggle>
<template slot="proName">企标制修订计划管控</template>
<template slot="proNode">申请部门高级经理审核</template>
</ProcessHeader>
<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" v-show="active === '1'">
<div style="flex: auto; overflow: auto">
<process-title>
<template slot="title">基础信息</template>
</process-title>
<el-form :model="qbfsForm" class="label-input-form prc-content-border"
label-width="150px">
<el-form-item prop="esName" label="企标名称" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="qbfsForm.esName"
placeholder="请输入企标名称"
:maxlength="500"/>
</el-form-item>
<el-form-item prop="planStatus" label="计划状态" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-select disabled v-model="qbfsForm.planStatus" placeholder="请选择计划状态">
<el-option label="制定" value="制定"></el-option>
<el-option label="修订" value="修订"></el-option>
<el-option label="完成" value="完成"></el-option>
</el-select>
</el-form-item>
<el-form-item prop="reviseStatus" label="制修订状态" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-select disabled v-model="qbfsForm.reviseStatus" placeholder="请选择制修订状态">
<el-option label="制定完成" value="制定完成"></el-option>
<el-option label="制定中" value="制定中"></el-option>
<el-option label="未制定" value="未制定"></el-option>
</el-select>
</el-form-item>
<el-form-item prop="drafter" label="起草人" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="qbfsForm.drafter"
placeholder="请输入起草人"
:maxlength="500"/>
</el-form-item>
<el-form-item prop="resPerson" label="评审责任人" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="qbfsForm.resPerson"
placeholder="请输入评审责任人"
:maxlength="500"/>
</el-form-item>
<el-form-item prop="wgLeader" label="工作组组长" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="qbfsForm.wgLeader"
placeholder="请输入工作组组长"
:maxlength="500"/>
</el-form-item>
<el-form-item label="计划标准初稿完成时间" style="width: 100%; margin-right:10px" prop="draftTime" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="qbfsForm.draftTime"
value-format="yyyy-MM-dd"
type="date"
placeholder="请选择计划标准初稿完成时间">
</el-date-picker>
</el-form-item>
<el-form-item label="计划标准发布时间" style="width: 100%; margin-right:10px" prop="releaseTime" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="qbfsForm.releaseTime"
value-format="yyyy-MM-dd"
type="date"
placeholder="请选择计划标准发布时间">
</el-date-picker>
</el-form-item>
<el-form-item label="起草责任单位" style="width: 100%; margin-right:10px" prop="unit" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="qbfsForm.unit"
placeholder="请输入起草责任单位"
:maxlength="500"/>
</el-form-item>
<el-form-item v-if="type === '5'" label="新增原因" style="width: 100%; margin-right:10px" prop="newReason" class="add-form-item form-item-disabled">
<el-input
type="textarea"
disabled
v-model="qbfsForm.newReason"
placeholder="请输入新增原因"
:maxlength="500"/>
</el-form-item>
<el-form-item v-if="type === '1'" label="合并原因" prop="mergeReason" class="add-form-item form-item-disabled">
<el-input
type="textarea"
v-model="qbfsForm.mergeReason"
placeholder="请输入合并原因"
clearable
></el-input>
</el-form-item>
<el-form-item v-if="type === '2'" label="延期后初稿完成时间" prop="yqDraftTime" class="add-form-item form-item-disabled">
<el-date-picker
v-model="qbfsForm.yqDraftTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择延期后初稿完成时间">
</el-date-picker>
</el-form-item>
<el-form-item v-if="type === '2'" label="延期后标准发布时间" prop="yqReleaseTime" class="add-form-item form-item-disabled">
<el-date-picker
v-model="qbfsForm.yqReleaseTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择延期后标准发布时间">
</el-date-picker>
</el-form-item>
<el-form-item v-if="type === '2'" label="延期原因" prop="delayReason" class="add-form-item form-item-disabled">
<el-input
type="textarea"
v-model="qbfsForm.delayReason"
placeholder="请输入延期原因"
clearable
></el-input>
</el-form-item>
<el-form-item v-if="type === '3'" label="取消原因" prop="cancelReason" class="add-form-item form-item-disabled">
<el-input
type="textarea"
v-model="qbfsForm.cancelReason"
placeholder="请输入取消原因"
clearable
></el-input>
</el-form-item>
<el-form-item v-if="type === '4'" label="更名原因" prop="renameReason" class="add-form-item form-item-disabled">
<el-input
type="textarea"
v-model="qbfsForm.renameReason"
placeholder="请输入更名原因"
clearable
></el-input>
</el-form-item>
<!-- <el-form-item label="备注" style="width: 100%; margin-right:10px" class="add-form-item" prop="remarks">-->
<!-- <el-input-->
<!-- v-model="qbfsForm.remarks"-->
<!-- placeholder="请输入备注"-->
<!-- :maxlength="500"/>-->
<!-- </el-form-item>-->
</el-form>
</div>
<div>
<el-collapse accordion>
<el-collapse-item title="回执说明">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
</div>
<div class="content" v-show="active === '3'">
<div class="flow-list">
<el-table
height="100%"
ref="selection"
:data="detailData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="name"
label="任务步骤"
align="center"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
sortable="custom"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="流程信息"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.commentText }}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? "已完成" : "未完成" }}</span>
</template>
</el-table-column>
</el-table>
<loading :loading="loading">流程列表加载中</loading>
</div>
</div>
<ProcessFooter
show-back
show-transfer
show-submit
:transfer-loading="isTransfer"
:submitLoading="isSubmit"
:saveLoading="saveLoading"
:approval="true"
@back="beforeBack"
@transfer="handleTransfer"
@submit="handleSubmit"
>
</ProcessFooter>
<!-- 福田全公司选人解决方案 -->
<Role-tree
check-box
:is-title="drawerTitle"
:is-visible.sync="drawerModal"
@checkedRole="checkedRole"
:nodeList="nodeList"
></Role-tree>
</div>
</template>
<script>
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import { changeAssigneeNew, inboundLiaisonDetail, saveTaskFirst } from "api/process";
export default {
name: "qbzxdjhgkStep2",
components:{
ProcessHeader,
ProcessFooter,
ProcessTitle
},
data(){
return {
active: '1',
type: '',
commentText: '',
qbfsForm: {},
isTransfer: false,
isSubmit: false,
saveLoading: false,
loading: false,
// 调整处理人抽屉状态
drawerModal: false,
nodeList:[],
drawerTitle: '',
detailData: [],
}
},
mounted() {
this.processTable()
this.getData()
},
methods:{
processTable() {
this.$http.get("lawss/activiti/get_list_by_instance", {
prcNum: this.$route.query.prcNum,
sortWord: this.shunxu ? this.paixu : "",
shunxu: this.shunxu
}, {
loading: "loading",
_this: this
}, res => {
this.detailData = res
}, e => {
})
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
}).then(res => {
if (res) {
const processForm = JSON.parse(res.mesg)
this.getFormFieldList(processForm)
}
}).catch(e => {
})
})
},
/**
* @description: 动态表单读取
*/
getFormFieldList (item) {
console.log(item);
this.$nextTick(() => {
this.qbfsForm = JSON.parse(JSON.stringify(item))
this.type = item.type
})
},
handleTabs(name){
this.active = name
},
//转办事件
handleTransfer(){
this.drawerModal = true
this.drawerTitle = '转办处理人'
this.selectPeople = row
},
//确认转办
checkedRole (data) {
this.assigneeNewLoading = true
changeAssigneeNew({
taskId: this.$route.query.taskIds, // 任务id
assignee: data[0].id, // 被委托人
userId: this.$store.getters.userInfo.userId, // 委托人
pId: this.$route.query.prcId // 流程实例
}).then(res => {
this.isTransfer = false
if (res.success) {
this.drawerModal = false
this.$message.success('调整成功')
this.$router.push("/processCenter");
this.processNum()
} else {
this.$message.warning(res.message)
}
})
},
// 请求转换流程图
processNum (row) {
axios.request({
url: '/api/lawss/activiti/getImg?_t=' + new Date().getTime(),
responseType: 'blob',
method: 'get',
params: {
prcNum: this.$route.query.prcNum
}
}).then(res => {
// let blob = new Blob([res.data], {type: 'image/jpg'})
// let url = window.URL.createObjectURL(res.data)
this.processStep = window.URL.createObjectURL(res.data)
})
},
handleSubmit(){
this.isSubmit = true
this.qbfsForm.passFlag = '0'
this.qbfsForm.commentText = this.commentText
let json = JSON.stringify(this.qbfsForm);
this.$http.post('lawss/activiti/completeTask', {
taskIds: this.$route.query.taskIds,
userId: this.$store.getters.userInfo.userId,
json: json,
}, {
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message)
this.$router.push('/processCenter')
}
this.isSubmit = false
}, e => {
});
},
beforeBack(){
this.isSubmit = true
this.qbfsForm.passFlag = '1'
this.qbfsForm.commentText = this.commentText
let json = JSON.stringify(this.qbfsForm);
this.$http.post('lawss/activiti/completeTask', {
taskIds: this.$route.query.taskIds,
userId: this.$store.getters.userInfo.userId,
json: json,
}, {
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message)
this.$router.push('/processCenter')
}
this.isSubmit = false
}, e => {
});
},
},
};
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.qbzxd-jhgk {
/deep/ .el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
.fileClass {
cursor: pointer;
}
.fileClass:hover {
color: #0c91e5;
}
p {
& > a {
cursor: pointer;
}
& > i {
display: inline-block;
margin-left: 3px;
width: 18px;
height: 16px;
background-repeat: no-repeat;
background-size: 100% 100%;
background-position: center center;
vertical-align: sub;
cursor: pointer;
}
.icon-download {
background-image: url("~assets/images/shangqi/img/download.png");
}
.icon-download2 {
background-image: url("~assets/images/shangqi/img/download2.png");
}
}
.choiceBtn {
.el-button--primary {
width: 150px;
}
}
position: relative;
height: 100%;
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 0;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content {
display: flex;
flex-direction: column;
justify-content: space-between;
height: calc(~'100% - 103px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
.accessStandardsAndRegulations {
height: 100%;
}
}
}
.add-form-el-select {
/deep/ .el-select {
width: 210px;
}
}
.demo-drawer-content {
margin-top: 10px;
}
}
</style>
@@ -0,0 +1,532 @@
<template>
<div class="qbzxd-jhgk">
<ProcessHeader toggle>
<template slot="proName">企标制修订计划管控</template>
<template slot="proNode">申请部门中心主任会签</template>
</ProcessHeader>
<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" v-show="active === '1'">
<div style="flex: auto; overflow: auto">
<process-title>
<template slot="title">基础信息</template>
</process-title>
<el-form :model="qbfsForm" class="label-input-form prc-content-border"
label-width="150px">
<el-form-item prop="esName" label="企标名称" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="qbfsForm.esName"
placeholder="请输入企标名称"
:maxlength="500"/>
</el-form-item>
<el-form-item prop="planStatus" label="计划状态" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-select disabled v-model="qbfsForm.planStatus" placeholder="请选择计划状态">
<el-option label="制定" value="制定"></el-option>
<el-option label="修订" value="修订"></el-option>
<el-option label="完成" value="完成"></el-option>
</el-select>
</el-form-item>
<el-form-item prop="reviseStatus" label="制修订状态" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-select disabled v-model="qbfsForm.reviseStatus" placeholder="请选择制修订状态">
<el-option label="制定完成" value="制定完成"></el-option>
<el-option label="制定中" value="制定中"></el-option>
<el-option label="未制定" value="未制定"></el-option>
</el-select>
</el-form-item>
<el-form-item prop="drafter" label="起草人" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="qbfsForm.drafter"
placeholder="请输入起草人"
:maxlength="500"/>
</el-form-item>
<el-form-item prop="resPerson" label="评审责任人" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="qbfsForm.resPerson"
placeholder="请输入评审责任人"
:maxlength="500"/>
</el-form-item>
<el-form-item prop="wgLeader" label="工作组组长" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="qbfsForm.wgLeader"
placeholder="请输入工作组组长"
:maxlength="500"/>
</el-form-item>
<el-form-item label="计划标准初稿完成时间" style="width: 100%; margin-right:10px" prop="draftTime" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="qbfsForm.draftTime"
value-format="yyyy-MM-dd"
type="date"
placeholder="请选择计划标准初稿完成时间">
</el-date-picker>
</el-form-item>
<el-form-item label="计划标准发布时间" style="width: 100%; margin-right:10px" prop="releaseTime" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="qbfsForm.releaseTime"
value-format="yyyy-MM-dd"
type="date"
placeholder="请选择计划标准发布时间">
</el-date-picker>
</el-form-item>
<el-form-item label="起草责任单位" style="width: 100%; margin-right:10px" prop="unit" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="qbfsForm.unit"
placeholder="请输入起草责任单位"
:maxlength="500"/>
</el-form-item>
<el-form-item v-if="type === '5'" label="新增原因" style="width: 100%; margin-right:10px" prop="newReason" class="add-form-item form-item-disabled">
<el-input
type="textarea"
disabled
v-model="qbfsForm.newReason"
placeholder="请输入新增原因"
:maxlength="500"/>
</el-form-item>
<el-form-item v-if="type === '1'" label="合并原因" prop="mergeReason" class="add-form-item form-item-disabled">
<el-input
type="textarea"
v-model="qbfsForm.mergeReason"
placeholder="请输入合并原因"
clearable
></el-input>
</el-form-item>
<el-form-item v-if="type === '2'" label="延期后初稿完成时间" prop="yqDraftTime" class="add-form-item form-item-disabled">
<el-date-picker
v-model="qbfsForm.yqDraftTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择延期后初稿完成时间">
</el-date-picker>
</el-form-item>
<el-form-item v-if="type === '2'" label="延期后标准发布时间" prop="yqReleaseTime" class="add-form-item form-item-disabled">
<el-date-picker
v-model="qbfsForm.yqReleaseTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择延期后标准发布时间">
</el-date-picker>
</el-form-item>
<el-form-item v-if="type === '2'" label="延期原因" prop="delayReason" class="add-form-item form-item-disabled">
<el-input
type="textarea"
v-model="qbfsForm.delayReason"
placeholder="请输入延期原因"
clearable
></el-input>
</el-form-item>
<el-form-item v-if="type === '3'" label="取消原因" prop="cancelReason" class="add-form-item form-item-disabled">
<el-input
type="textarea"
v-model="qbfsForm.cancelReason"
placeholder="请输入取消原因"
clearable
></el-input>
</el-form-item>
<el-form-item v-if="type === '4'" label="更名原因" prop="renameReason" class="add-form-item form-item-disabled">
<el-input
type="textarea"
v-model="qbfsForm.renameReason"
placeholder="请输入更名原因"
clearable
></el-input>
</el-form-item>
<!-- <el-form-item label="备注" style="width: 100%; margin-right:10px" class="add-form-item" prop="remarks">-->
<!-- <el-input-->
<!-- v-model="qbfsForm.remarks"-->
<!-- placeholder="请输入备注"-->
<!-- :maxlength="500"/>-->
<!-- </el-form-item>-->
</el-form>
</div>
<div>
<el-collapse accordion>
<el-collapse-item title="回执说明">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
</div>
<div class="content" v-show="active === '3'">
<div class="flow-list">
<el-table
height="100%"
ref="selection"
:data="detailData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="name"
label="任务步骤"
align="center"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
sortable="custom"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="流程信息"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.commentText }}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? "已完成" : "未完成" }}</span>
</template>
</el-table-column>
</el-table>
<loading :loading="loading">流程列表加载中</loading>
</div>
</div>
<ProcessFooter
show-back
show-transfer
show-submit
:transfer-loading="isTransfer"
:submitLoading="isSubmit"
:saveLoading="saveLoading"
:approval="true"
@back="beforeBack"
@transfer="handleTransfer"
@submit="handleSubmit"
>
</ProcessFooter>
<!-- 福田全公司选人解决方案 -->
<Role-tree
check-box
:is-title="drawerTitle"
:is-visible.sync="drawerModal"
@checkedRole="checkedRole"
:nodeList="nodeList"
></Role-tree>
</div>
</template>
<script>
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import { changeAssigneeNew, inboundLiaisonDetail, saveTaskFirst } from "api/process";
export default {
name: "qbzxdjhgkStep3",
components:{
ProcessHeader,
ProcessFooter,
ProcessTitle
},
data(){
return {
active: '1',
type: '',
commentText: '',
qbfsForm: {},
isTransfer: false,
isSubmit: false,
saveLoading: false,
loading: false,
// 调整处理人抽屉状态
drawerModal: false,
nodeList:[],
drawerTitle: '',
detailData: [],
}
},
mounted() {
this.processTable()
this.getData()
},
methods:{
processTable() {
this.$http.get("lawss/activiti/get_list_by_instance", {
prcNum: this.$route.query.prcNum,
sortWord: this.shunxu ? this.paixu : "",
shunxu: this.shunxu
}, {
loading: "loading",
_this: this
}, res => {
this.detailData = res
}, e => {
})
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
}).then(res => {
if (res) {
const processForm = JSON.parse(res.mesg)
this.getFormFieldList(processForm)
}
}).catch(e => {
})
})
},
/**
* @description: 动态表单读取
*/
getFormFieldList (item) {
console.log(item);
this.$nextTick(() => {
this.qbfsForm = JSON.parse(JSON.stringify(item))
this.type = item.type
})
},
handleTabs(name){
this.active = name
},
//转办事件
handleTransfer(){
this.drawerModal = true
this.drawerTitle = '转办处理人'
this.selectPeople = row
},
//确认转办
checkedRole (data) {
this.assigneeNewLoading = true
changeAssigneeNew({
taskId: this.$route.query.taskIds, // 任务id
assignee: data[0].id, // 被委托人
userId: this.$store.getters.userInfo.userId, // 委托人
pId: this.$route.query.prcId // 流程实例
}).then(res => {
this.isTransfer = false
if (res.success) {
this.drawerModal = false
this.$message.success('调整成功')
this.$router.push("/processCenter");
this.processNum()
} else {
this.$message.warning(res.message)
}
})
},
// 请求转换流程图
processNum (row) {
axios.request({
url: '/api/lawss/activiti/getImg?_t=' + new Date().getTime(),
responseType: 'blob',
method: 'get',
params: {
prcNum: this.$route.query.prcNum
}
}).then(res => {
// let blob = new Blob([res.data], {type: 'image/jpg'})
// let url = window.URL.createObjectURL(res.data)
this.processStep = window.URL.createObjectURL(res.data)
})
},
handleSubmit(){
this.isSubmit = true
this.qbfsForm.deptCenterFlag = '0'
this.qbfsForm.commentText = this.commentText
let json = JSON.stringify(this.qbfsForm);
this.$http.post('lawss/activiti/completeTask', {
taskIds: this.$route.query.taskIds,
userId: this.$store.getters.userInfo.userId,
json: json,
}, {
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message)
this.$router.push('/processCenter')
}
this.isSubmit = false
}, e => {
});
},
beforeBack(){
this.isSubmit = true
this.qbfsForm.deptCenterFlag = '1'
this.qbfsForm.commentText = this.commentText
let json = JSON.stringify(this.qbfsForm);
this.$http.post('lawss/activiti/completeTask', {
taskIds: this.$route.query.taskIds,
userId: this.$store.getters.userInfo.userId,
json: json,
}, {
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message)
this.$router.push('/processCenter')
}
this.isSubmit = false
}, e => {
});
},
},
};
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.qbzxd-jhgk {
/deep/ .el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
.fileClass {
cursor: pointer;
}
.fileClass:hover {
color: #0c91e5;
}
p {
& > a {
cursor: pointer;
}
& > i {
display: inline-block;
margin-left: 3px;
width: 18px;
height: 16px;
background-repeat: no-repeat;
background-size: 100% 100%;
background-position: center center;
vertical-align: sub;
cursor: pointer;
}
.icon-download {
background-image: url("~assets/images/shangqi/img/download.png");
}
.icon-download2 {
background-image: url("~assets/images/shangqi/img/download2.png");
}
}
.choiceBtn {
.el-button--primary {
width: 150px;
}
}
position: relative;
height: 100%;
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 0;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content {
display: flex;
flex-direction: column;
justify-content: space-between;
height: calc(~'100% - 103px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
.accessStandardsAndRegulations {
height: 100%;
}
}
}
.add-form-el-select {
/deep/ .el-select {
width: 210px;
}
}
.demo-drawer-content {
margin-top: 10px;
}
}
</style>
@@ -0,0 +1,532 @@
<template>
<div class="qbzxd-jhgk">
<ProcessHeader toggle>
<template slot="proName">企标制修订计划管控</template>
<template slot="proNode">标准法规工作组组长审定</template>
</ProcessHeader>
<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" v-show="active === '1'">
<div style="flex: auto; overflow: auto">
<process-title>
<template slot="title">基础信息</template>
</process-title>
<el-form :model="qbfsForm" class="label-input-form prc-content-border"
label-width="150px">
<el-form-item prop="esName" label="企标名称" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="qbfsForm.esName"
placeholder="请输入企标名称"
:maxlength="500"/>
</el-form-item>
<el-form-item prop="planStatus" label="计划状态" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-select disabled v-model="qbfsForm.planStatus" placeholder="请选择计划状态">
<el-option label="制定" value="制定"></el-option>
<el-option label="修订" value="修订"></el-option>
<el-option label="完成" value="完成"></el-option>
</el-select>
</el-form-item>
<el-form-item prop="reviseStatus" label="制修订状态" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-select disabled v-model="qbfsForm.reviseStatus" placeholder="请选择制修订状态">
<el-option label="制定完成" value="制定完成"></el-option>
<el-option label="制定中" value="制定中"></el-option>
<el-option label="未制定" value="未制定"></el-option>
</el-select>
</el-form-item>
<el-form-item prop="drafter" label="起草人" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="qbfsForm.drafter"
placeholder="请输入起草人"
:maxlength="500"/>
</el-form-item>
<el-form-item prop="resPerson" label="评审责任人" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="qbfsForm.resPerson"
placeholder="请输入评审责任人"
:maxlength="500"/>
</el-form-item>
<el-form-item prop="wgLeader" label="工作组组长" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="qbfsForm.wgLeader"
placeholder="请输入工作组组长"
:maxlength="500"/>
</el-form-item>
<el-form-item label="计划标准初稿完成时间" style="width: 100%; margin-right:10px" prop="draftTime" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="qbfsForm.draftTime"
value-format="yyyy-MM-dd"
type="date"
placeholder="请选择计划标准初稿完成时间">
</el-date-picker>
</el-form-item>
<el-form-item label="计划标准发布时间" style="width: 100%; margin-right:10px" prop="releaseTime" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="qbfsForm.releaseTime"
value-format="yyyy-MM-dd"
type="date"
placeholder="请选择计划标准发布时间">
</el-date-picker>
</el-form-item>
<el-form-item label="起草责任单位" style="width: 100%; margin-right:10px" prop="unit" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="qbfsForm.unit"
placeholder="请输入起草责任单位"
:maxlength="500"/>
</el-form-item>
<el-form-item v-if="type === '5'" label="新增原因" style="width: 100%; margin-right:10px" prop="newReason" class="add-form-item form-item-disabled">
<el-input
type="textarea"
disabled
v-model="qbfsForm.newReason"
placeholder="请输入新增原因"
:maxlength="500"/>
</el-form-item>
<el-form-item v-if="type === '1'" label="合并原因" prop="mergeReason" class="add-form-item form-item-disabled">
<el-input
type="textarea"
v-model="qbfsForm.mergeReason"
placeholder="请输入合并原因"
clearable
></el-input>
</el-form-item>
<el-form-item v-if="type === '2'" label="延期后初稿完成时间" prop="yqDraftTime" class="add-form-item form-item-disabled">
<el-date-picker
v-model="qbfsForm.yqDraftTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择延期后初稿完成时间">
</el-date-picker>
</el-form-item>
<el-form-item v-if="type === '2'" label="延期后标准发布时间" prop="yqReleaseTime" class="add-form-item form-item-disabled">
<el-date-picker
v-model="qbfsForm.yqReleaseTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择延期后标准发布时间">
</el-date-picker>
</el-form-item>
<el-form-item v-if="type === '2'" label="延期原因" prop="delayReason" class="add-form-item form-item-disabled">
<el-input
type="textarea"
v-model="qbfsForm.delayReason"
placeholder="请输入延期原因"
clearable
></el-input>
</el-form-item>
<el-form-item v-if="type === '3'" label="取消原因" prop="cancelReason" class="add-form-item form-item-disabled">
<el-input
type="textarea"
v-model="qbfsForm.cancelReason"
placeholder="请输入取消原因"
clearable
></el-input>
</el-form-item>
<el-form-item v-if="type === '4'" label="更名原因" prop="renameReason" class="add-form-item form-item-disabled">
<el-input
type="textarea"
v-model="qbfsForm.renameReason"
placeholder="请输入更名原因"
clearable
></el-input>
</el-form-item>
<!-- <el-form-item label="备注" style="width: 100%; margin-right:10px" class="add-form-item" prop="remarks">-->
<!-- <el-input-->
<!-- v-model="qbfsForm.remarks"-->
<!-- placeholder="请输入备注"-->
<!-- :maxlength="500"/>-->
<!-- </el-form-item>-->
</el-form>
</div>
<div>
<el-collapse accordion>
<el-collapse-item title="回执说明">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
</div>
<div class="content" v-show="active === '3'">
<div class="flow-list">
<el-table
height="100%"
ref="selection"
:data="detailData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="name"
label="任务步骤"
align="center"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
sortable="custom"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="流程信息"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.commentText }}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? "已完成" : "未完成" }}</span>
</template>
</el-table-column>
</el-table>
<loading :loading="loading">流程列表加载中</loading>
</div>
</div>
<ProcessFooter
show-back
show-transfer
show-submit
:transfer-loading="isTransfer"
:submitLoading="isSubmit"
:saveLoading="saveLoading"
:approval="true"
@back="beforeBack"
@transfer="handleTransfer"
@submit="handleSubmit"
>
</ProcessFooter>
<!-- 福田全公司选人解决方案 -->
<Role-tree
check-box
:is-title="drawerTitle"
:is-visible.sync="drawerModal"
@checkedRole="checkedRole"
:nodeList="nodeList"
></Role-tree>
</div>
</template>
<script>
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import { changeAssigneeNew, inboundLiaisonDetail, saveTaskFirst } from "api/process";
export default {
name: "qbzxdjhgkStep4",
components:{
ProcessHeader,
ProcessFooter,
ProcessTitle
},
data(){
return {
active: '1',
type: '',
commentText: '',
qbfsForm: {},
isTransfer: false,
isSubmit: false,
saveLoading: false,
loading: false,
// 调整处理人抽屉状态
drawerModal: false,
nodeList:[],
drawerTitle: '',
detailData: [],
}
},
mounted() {
this.processTable()
this.getData()
},
methods:{
processTable() {
this.$http.get("lawss/activiti/get_list_by_instance", {
prcNum: this.$route.query.prcNum,
sortWord: this.shunxu ? this.paixu : "",
shunxu: this.shunxu
}, {
loading: "loading",
_this: this
}, res => {
this.detailData = res
}, e => {
})
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
}).then(res => {
if (res) {
const processForm = JSON.parse(res.mesg)
this.getFormFieldList(processForm)
}
}).catch(e => {
})
})
},
/**
* @description: 动态表单读取
*/
getFormFieldList (item) {
console.log(item);
this.$nextTick(() => {
this.qbfsForm = JSON.parse(JSON.stringify(item))
this.type = item.type
})
},
handleTabs(name){
this.active = name
},
//转办事件
handleTransfer(){
this.drawerModal = true
this.drawerTitle = '转办处理人'
this.selectPeople = row
},
//确认转办
checkedRole (data) {
this.assigneeNewLoading = true
changeAssigneeNew({
taskId: this.$route.query.taskIds, // 任务id
assignee: data[0].id, // 被委托人
userId: this.$store.getters.userInfo.userId, // 委托人
pId: this.$route.query.prcId // 流程实例
}).then(res => {
this.isTransfer = false
if (res.success) {
this.drawerModal = false
this.$message.success('调整成功')
this.$router.push("/processCenter");
this.processNum()
} else {
this.$message.warning(res.message)
}
})
},
// 请求转换流程图
processNum (row) {
axios.request({
url: '/api/lawss/activiti/getImg?_t=' + new Date().getTime(),
responseType: 'blob',
method: 'get',
params: {
prcNum: this.$route.query.prcNum
}
}).then(res => {
// let blob = new Blob([res.data], {type: 'image/jpg'})
// let url = window.URL.createObjectURL(res.data)
this.processStep = window.URL.createObjectURL(res.data)
})
},
handleSubmit(){
this.isSubmit = true
this.qbfsForm.bzFlag = '0'
this.qbfsForm.commentText = this.commentText
let json = JSON.stringify(this.qbfsForm);
this.$http.post('lawss/activiti/completeTask', {
taskIds: this.$route.query.taskIds,
userId: this.$store.getters.userInfo.userId,
json: json,
}, {
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message)
this.$router.push('/processCenter')
}
this.isSubmit = false
}, e => {
});
},
beforeBack(){
this.isSubmit = true
this.qbfsForm.bzFlag = '1'
this.qbfsForm.commentText = this.commentText
let json = JSON.stringify(this.qbfsForm);
this.$http.post('lawss/activiti/completeTask', {
taskIds: this.$route.query.taskIds,
userId: this.$store.getters.userInfo.userId,
json: json,
}, {
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message)
this.$router.push('/processCenter')
}
this.isSubmit = false
}, e => {
});
},
},
};
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.qbzxd-jhgk {
/deep/ .el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
.fileClass {
cursor: pointer;
}
.fileClass:hover {
color: #0c91e5;
}
p {
& > a {
cursor: pointer;
}
& > i {
display: inline-block;
margin-left: 3px;
width: 18px;
height: 16px;
background-repeat: no-repeat;
background-size: 100% 100%;
background-position: center center;
vertical-align: sub;
cursor: pointer;
}
.icon-download {
background-image: url("~assets/images/shangqi/img/download.png");
}
.icon-download2 {
background-image: url("~assets/images/shangqi/img/download2.png");
}
}
.choiceBtn {
.el-button--primary {
width: 150px;
}
}
position: relative;
height: 100%;
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 0;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content {
display: flex;
flex-direction: column;
justify-content: space-between;
height: calc(~'100% - 103px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
.accessStandardsAndRegulations {
height: 100%;
}
}
}
.add-form-el-select {
/deep/ .el-select {
width: 210px;
}
}
.demo-drawer-content {
margin-top: 10px;
}
}
</style>
@@ -0,0 +1,532 @@
<template>
<div class="qbzxd-jhgk">
<ProcessHeader toggle>
<template slot="proName">企标制修订计划管控</template>
<template slot="proNode">标准法规部部长批准</template>
</ProcessHeader>
<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" v-show="active === '1'">
<div style="flex: auto; overflow: auto">
<process-title>
<template slot="title">基础信息</template>
</process-title>
<el-form :model="qbfsForm" class="label-input-form prc-content-border"
label-width="150px">
<el-form-item prop="esName" label="企标名称" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="qbfsForm.esName"
placeholder="请输入企标名称"
:maxlength="500"/>
</el-form-item>
<el-form-item prop="planStatus" label="计划状态" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-select disabled v-model="qbfsForm.planStatus" placeholder="请选择计划状态">
<el-option label="制定" value="制定"></el-option>
<el-option label="修订" value="修订"></el-option>
<el-option label="完成" value="完成"></el-option>
</el-select>
</el-form-item>
<el-form-item prop="reviseStatus" label="制修订状态" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-select disabled v-model="qbfsForm.reviseStatus" placeholder="请选择制修订状态">
<el-option label="制定完成" value="制定完成"></el-option>
<el-option label="制定中" value="制定中"></el-option>
<el-option label="未制定" value="未制定"></el-option>
</el-select>
</el-form-item>
<el-form-item prop="drafter" label="起草人" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="qbfsForm.drafter"
placeholder="请输入起草人"
:maxlength="500"/>
</el-form-item>
<el-form-item prop="resPerson" label="评审责任人" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="qbfsForm.resPerson"
placeholder="请输入评审责任人"
:maxlength="500"/>
</el-form-item>
<el-form-item prop="wgLeader" label="工作组组长" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="qbfsForm.wgLeader"
placeholder="请输入工作组组长"
:maxlength="500"/>
</el-form-item>
<el-form-item label="计划标准初稿完成时间" style="width: 100%; margin-right:10px" prop="draftTime" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="qbfsForm.draftTime"
value-format="yyyy-MM-dd"
type="date"
placeholder="请选择计划标准初稿完成时间">
</el-date-picker>
</el-form-item>
<el-form-item label="计划标准发布时间" style="width: 100%; margin-right:10px" prop="releaseTime" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="qbfsForm.releaseTime"
value-format="yyyy-MM-dd"
type="date"
placeholder="请选择计划标准发布时间">
</el-date-picker>
</el-form-item>
<el-form-item label="起草责任单位" style="width: 100%; margin-right:10px" prop="unit" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="qbfsForm.unit"
placeholder="请输入起草责任单位"
:maxlength="500"/>
</el-form-item>
<el-form-item v-if="type === '5'" label="新增原因" style="width: 100%; margin-right:10px" prop="newReason" class="add-form-item form-item-disabled">
<el-input
type="textarea"
disabled
v-model="qbfsForm.newReason"
placeholder="请输入新增原因"
:maxlength="500"/>
</el-form-item>
<el-form-item v-if="type === '1'" label="合并原因" prop="mergeReason" class="add-form-item form-item-disabled">
<el-input
type="textarea"
v-model="qbfsForm.mergeReason"
placeholder="请输入合并原因"
clearable
></el-input>
</el-form-item>
<el-form-item v-if="type === '2'" label="延期后初稿完成时间" prop="yqDraftTime" class="add-form-item form-item-disabled">
<el-date-picker
v-model="qbfsForm.yqDraftTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择延期后初稿完成时间">
</el-date-picker>
</el-form-item>
<el-form-item v-if="type === '2'" label="延期后标准发布时间" prop="yqReleaseTime" class="add-form-item form-item-disabled">
<el-date-picker
v-model="qbfsForm.yqReleaseTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择延期后标准发布时间">
</el-date-picker>
</el-form-item>
<el-form-item v-if="type === '2'" label="延期原因" prop="delayReason" class="add-form-item form-item-disabled">
<el-input
type="textarea"
v-model="qbfsForm.delayReason"
placeholder="请输入延期原因"
clearable
></el-input>
</el-form-item>
<el-form-item v-if="type === '3'" label="取消原因" prop="cancelReason" class="add-form-item form-item-disabled">
<el-input
type="textarea"
v-model="qbfsForm.cancelReason"
placeholder="请输入取消原因"
clearable
></el-input>
</el-form-item>
<el-form-item v-if="type === '4'" label="更名原因" prop="renameReason" class="add-form-item form-item-disabled">
<el-input
type="textarea"
v-model="qbfsForm.renameReason"
placeholder="请输入更名原因"
clearable
></el-input>
</el-form-item>
<!-- <el-form-item label="备注" style="width: 100%; margin-right:10px" class="add-form-item" prop="remarks">-->
<!-- <el-input-->
<!-- v-model="qbfsForm.remarks"-->
<!-- placeholder="请输入备注"-->
<!-- :maxlength="500"/>-->
<!-- </el-form-item>-->
</el-form>
</div>
<div>
<el-collapse accordion>
<el-collapse-item title="回执说明">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
</div>
<div class="content" v-show="active === '3'">
<div class="flow-list">
<el-table
height="100%"
ref="selection"
:data="detailData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="name"
label="任务步骤"
align="center"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
sortable="custom"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="流程信息"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.commentText }}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? "已完成" : "未完成" }}</span>
</template>
</el-table-column>
</el-table>
<loading :loading="loading">流程列表加载中</loading>
</div>
</div>
<ProcessFooter
show-back
show-transfer
show-submit
:transfer-loading="isTransfer"
:submitLoading="isSubmit"
:saveLoading="saveLoading"
:approval="true"
@back="beforeBack"
@transfer="handleTransfer"
@submit="handleSubmit"
>
</ProcessFooter>
<!-- 福田全公司选人解决方案 -->
<Role-tree
check-box
:is-title="drawerTitle"
:is-visible.sync="drawerModal"
@checkedRole="checkedRole"
:nodeList="nodeList"
></Role-tree>
</div>
</template>
<script>
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import { changeAssigneeNew, inboundLiaisonDetail, saveTaskFirst } from "api/process";
export default {
name: "qbzxdjhgkStep5",
components:{
ProcessHeader,
ProcessFooter,
ProcessTitle
},
data(){
return {
active: '1',
type: '',
commentText: '',
qbfsForm: {},
isTransfer: false,
isSubmit: false,
saveLoading: false,
loading: false,
// 调整处理人抽屉状态
drawerModal: false,
nodeList:[],
drawerTitle: '',
detailData: [],
}
},
mounted() {
this.processTable()
this.getData()
},
methods:{
processTable() {
this.$http.get("lawss/activiti/get_list_by_instance", {
prcNum: this.$route.query.prcNum,
sortWord: this.shunxu ? this.paixu : "",
shunxu: this.shunxu
}, {
loading: "loading",
_this: this
}, res => {
this.detailData = res
}, e => {
})
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
}).then(res => {
if (res) {
const processForm = JSON.parse(res.mesg)
this.getFormFieldList(processForm)
}
}).catch(e => {
})
})
},
/**
* @description: 动态表单读取
*/
getFormFieldList (item) {
console.log(item);
this.$nextTick(() => {
this.qbfsForm = JSON.parse(JSON.stringify(item))
this.type = item.type
})
},
handleTabs(name){
this.active = name
},
//转办事件
handleTransfer(){
this.drawerModal = true
this.drawerTitle = '转办处理人'
this.selectPeople = row
},
//确认转办
checkedRole (data) {
this.assigneeNewLoading = true
changeAssigneeNew({
taskId: this.$route.query.taskIds, // 任务id
assignee: data[0].id, // 被委托人
userId: this.$store.getters.userInfo.userId, // 委托人
pId: this.$route.query.prcId // 流程实例
}).then(res => {
this.isTransfer = false
if (res.success) {
this.drawerModal = false
this.$message.success('调整成功')
this.$router.push("/processCenter");
this.processNum()
} else {
this.$message.warning(res.message)
}
})
},
// 请求转换流程图
processNum (row) {
axios.request({
url: '/api/lawss/activiti/getImg?_t=' + new Date().getTime(),
responseType: 'blob',
method: 'get',
params: {
prcNum: this.$route.query.prcNum
}
}).then(res => {
// let blob = new Blob([res.data], {type: 'image/jpg'})
// let url = window.URL.createObjectURL(res.data)
this.processStep = window.URL.createObjectURL(res.data)
})
},
handleSubmit(){
this.isSubmit = true
this.qbfsForm.bzfgbzFlag = '0'
this.qbfsForm.commentText = this.commentText
let json = JSON.stringify(this.qbfsForm);
this.$http.post('lawss/activiti/completeTask', {
taskIds: this.$route.query.taskIds,
userId: this.$store.getters.userInfo.userId,
json: json,
}, {
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message)
this.$router.push('/processCenter')
}
this.isSubmit = false
}, e => {
});
},
beforeBack(){
this.isSubmit = true
this.qbfsForm.bzfgbzFlag = '1'
this.qbfsForm.commentText = this.commentText
let json = JSON.stringify(this.qbfsForm);
this.$http.post('lawss/activiti/completeTask', {
taskIds: this.$route.query.taskIds,
userId: this.$store.getters.userInfo.userId,
json: json,
}, {
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message)
this.$router.push('/processCenter')
}
this.isSubmit = false
}, e => {
});
},
},
};
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.qbzxd-jhgk {
/deep/ .el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
.fileClass {
cursor: pointer;
}
.fileClass:hover {
color: #0c91e5;
}
p {
& > a {
cursor: pointer;
}
& > i {
display: inline-block;
margin-left: 3px;
width: 18px;
height: 16px;
background-repeat: no-repeat;
background-size: 100% 100%;
background-position: center center;
vertical-align: sub;
cursor: pointer;
}
.icon-download {
background-image: url("~assets/images/shangqi/img/download.png");
}
.icon-download2 {
background-image: url("~assets/images/shangqi/img/download2.png");
}
}
.choiceBtn {
.el-button--primary {
width: 150px;
}
}
position: relative;
height: 100%;
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 0;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content {
display: flex;
flex-direction: column;
justify-content: space-between;
height: calc(~'100% - 103px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
.accessStandardsAndRegulations {
height: 100%;
}
}
}
.add-form-el-select {
/deep/ .el-select {
width: 210px;
}
}
.demo-drawer-content {
margin-top: 10px;
}
}
</style>
@@ -1640,6 +1640,53 @@ export default {
}) })
} }
break break
case '25':
if (row.taskInfo === '部门高级经理审批') {
this.$router.push({
name: 'qbzxdjhgkStep2',
query:{
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if(row.taskInfo === '部门中心主任会签') {
this.$router.push({
name: 'qbzxdjhgkStep3',
query:{
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}else if(row.taskInfo === '标准法规工作组组长审定') {
this.$router.push({
name: 'qbzxdjhgkStep4',
query:{
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}else if(row.taskInfo === '标准法规部部长审批') {
this.$router.push({
name: 'qbzxdjhgkStep5',
query:{
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}
break
} }
}, },
...mapMutations(['setProcess', 'setHandleInfo']), ...mapMutations(['setProcess', 'setHandleInfo']),
@@ -25,7 +25,7 @@
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" size="small" @click="queryForm">查询</el-button> <el-button type="primary" size="small" @click="queryForm">查询</el-button>
<el-button type="" size="small" @click="resetForm('form')">清空</el-button> <el-button type="" size="small" @click="resetForm()">清空</el-button>
</el-form-item> </el-form-item>
<el-divider/> <el-divider/>
<div style="float: left"> <div style="float: left">
@@ -2,38 +2,32 @@
<template> <template>
<div id="listOfSociety" class="child1"> <div id="listOfSociety" class="child1">
<!-- 查询框 --> <!-- 查询框 -->
<el-form :inline="true" :model="formQuery"> <el-form :inline="true" :model="form" class="demo-form-inline">
<el-form-item label="协会名称:"> <el-form-item label="协会名称">
<el-input v-model="formQuery.name" size="small" placeholder="请填写协会名称"></el-input> <el-input v-model="form.scName" size="small" placeholder="请填写协会名称"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="会员角色:"> <el-form-item label="会员角色">
<el-input v-model="formQuery.role" size="small" placeholder="请输入会员角色"></el-input> <el-input v-model="form.role" size="small" placeholder="请输入会员角色"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="协会性质:"> <el-form-item label="协会性质">
<el-select v-model="formQuery.nature" size="small" placeholder="请输入协会性质"> <el-input v-model="form.asProper" size="small" placeholder="请填写协会性质"></el-input>
<el-option label="1" value="one"></el-option>
<el-option label="2" value="two"></el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="协会状态:"> <el-form-item label="协会状态">
<el-select v-model="formQuery.state" size="small" placeholder="请选择协会状态"> <el-input v-model="form.asStatus" size="small" placeholder="请选择协会状态"></el-input>
<el-option label="1" value="one"></el-option>
<el-option label="2" value="two"></el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" size="small" @click="queryForm">查询</el-button> <el-button type="primary" size="small" @click="queryForm">查询</el-button>
<el-button type="" size="small" @click="resetForm('formQuery')">清空</el-button> <el-button type="" size="small" @click="resetForm()">清空</el-button>
</el-form-item> </el-form-item>
<el-divider/> <el-divider/>
<div style="float: left;"> <div style="float: left;">
<el-button type="primary" size="small" @click="formDataAdd">新增</el-button> <el-button type="primary" size="small" @click="formDataAdd">新增</el-button>
<el-button type="primary" size="small" @click="dialogVisible1 = true">导入</el-button> <!-- <el-button type="primary" size="small" @click="dialogVisible1 = true">导入</el-button>-->
<el-button type="primary" size="small" @click="dialogVisible2 = true">导出</el-button> <!-- <el-button type="primary" size="small" @click="dialogVisible2 = true">导出</el-button>-->
<el-button type="danger" size="small" @click="deleteDetail" icon="el-icon-delete"> <el-button type="danger" size="small" @click="deleteDetail" icon="el-icon-delete">
批量删除 批量删除
</el-button> </el-button>
<el-button type="primary" size="small" onclick="">模板下载</el-button> <!-- <el-button type="primary" size="small" onclick="">模板下载</el-button>-->
</div> </div>
</el-form> </el-form>
<el-divider/> <el-divider/>
@@ -49,43 +43,68 @@
fontWeight: 'bold', height: '48px'}" fontWeight: 'bold', height: '48px'}"
@selection-change="handleSelectionChange"> @selection-change="handleSelectionChange">
<el-table-column align="center" type="selection" width="50"/> <el-table-column align="center" type="selection" width="50"/>
<el-table-column align="center" type="index" label="序号" width="50"/> <el-table-column align="center" prop="scName" label="协会名称-标委会" width="150"/>
<el-table-column align="center" prop="totalName" label="协会名称-标委" width="150"/> <el-table-column align="center" prop="sscName" label="协会名称-标委" width="150"/>
<el-table-column align="center" prop="branchName" label="协会名称-分标委" width="150"/> <el-table-column align="center" prop="wgName" label="协会名称-工作组" width="150"/>
<el-table-column align="center" prop="workName" label="协会名称-工作组" width="150"/> <el-table-column align="center" prop="role" label="会员角色" width="150"/>
<el-table-column align="center" prop="vipRole" label="会员角色" width="150"/> <el-table-column align="center" prop="attend" label="参与人" width="150"/>
<el-table-column align="center" prop="players" label="参与人" width="150"/>
<el-table-column align="center" prop="standard" label="标准" width="150"/> <el-table-column align="center" prop="standard" label="标准" width="150"/>
<el-table-column align="center" prop="standardLeader" label="标准负责人" width="150"/> <el-table-column align="center" prop="charge" label="标准负责人" width="150"/>
<el-table-column align="center" prop="leader" label="责任领导" width="150"/> <el-table-column align="center" prop="leader" label="责任领导" width="150"/>
<el-table-column align="center" prop="startTime" label="初始入会时间" width="150"/> <el-table-column align="center" prop="iniTime" label="初始入会时间" width="150">
<el-table-column align="center" prop="thisTime" label="本届入会时间" width="150"/> <template slot-scope="scope">
<el-table-column align="center" prop="costStandard" label="会费标准" width="150"/> <span>{{ scope.row.iniTime ? $moment(scope.row.iniTime).format("YYYY-MM-DD HH:mm:ss") : "" }}</span>
<el-table-column align="center" prop="cost" label="会费列支" width="150"/> </template>
<el-table-column align="center" prop="lastTime" label="上次缴纳时间" width="150"/> </el-table-column>
<el-table-column align="center" prop="costYears" label="缴费年限" width="150"/> <el-table-column align="center" prop="curTime" label="本届入会时间" width="150">
<el-table-column align="center" prop="cost2017" label="2017缴费" width="150"/> <template slot-scope="scope">
<el-table-column align="center" prop="cost2018" label="2018缴费" width="150"/> <span>{{ scope.row.curTime ? $moment(scope.row.curTime).format("YYYY-MM-DD HH:mm:ss") : "" }}</span>
<el-table-column align="center" prop="cost2019" label="2019缴费" width="150"/> </template>
<el-table-column align="center" prop="cost2020" label="2020缴费" width="150"/> </el-table-column>
<el-table-column align="center" prop="cost2021" label="2021缴费" width="150"/> <el-table-column align="center" prop="costStandard" label="费用标准" width="150"/>
<el-table-column align="center" prop="person" label="经办人" width="150"/> <el-table-column align="center" prop="costOutlay" label="费用列支" width="150"/>
<el-table-column align="center" prop="partment" label="部门" width="150"/> <el-table-column align="center" prop="lastPayTime" label="上次缴纳时间" width="150">
<el-table-column align="center" prop="nature" label="协会性质" width="150"/> <template slot-scope="scope">
<el-table-column align="center" prop="state" label="协会状态" width="150"/> <span>{{ scope.row.lastPayTime ? $moment(scope.row.lastPayTime).format("YYYY-MM-DD HH:mm:ss") : "" }}</span>
<el-table-column align="center" prop="linkMan" label="协会联络人" width="150"/> </template>
<el-table-column align="center" prop="num" label="协会联络人电话" width="150"/> </el-table-column>
<el-table-column align="center" prop="email" label="协会联络人邮箱" width="150"/> <el-table-column align="center" prop="payPeriod" label="缴费年限" width="150"/>
<el-table-column align="center" prop="handler" label="经办人" width="150"/>
<el-table-column align="center" prop="department" label="部门" width="150"/>
<el-table-column align="center" prop="asProper" label="协会性质" width="150"/>
<el-table-column align="center" prop="asStatus" label="协会状态" width="150"/>
<el-table-column align="center" prop="asContact" label="协会联络人" width="150"/>
<el-table-column align="center" prop="tel" label="协会联络人电话" width="150"/>
<el-table-column align="center" prop="mail" label="协会联络人邮箱" width="150"/>
<el-table-column align="center" prop="p17" label="2017缴费" width="150"/>
<el-table-column align="center" prop="p18" label="2018缴费" width="150"/>
<el-table-column align="center" prop="p19" label="2019缴费" width="150"/>
<el-table-column align="center" prop="p20" label="2020缴费" width="150"/>
<el-table-column align="center" prop="p21" label="2021缴费" width="150"/>
<el-table-column align="center" prop="p22" label="2022缴费" width="150"/>
<el-table-column align="center" prop="p23" label="2023缴费" width="150"/>
<el-table-column align="center" prop="p24" label="2024缴费" width="150"/>
<el-table-column align="center" prop="p25" label="2025缴费" width="150"/>
<el-table-column align="center" prop="p26" label="2026缴费" width="150"/>
<el-table-column align="center" prop="p27" label="2027缴费" width="150"/>
<el-table-column align="center" prop="p28" label="2028缴费" width="150"/>
<el-table-column align="center" prop="p29" label="2029缴费" width="150"/>
<el-table-column align="center" prop="p30" label="2030缴费" width="150"/>
<el-table-column align="center" prop="p31" label="2031缴费" width="150"/>
<el-table-column align="center" prop="p32" label="2032缴费" width="150"/>
<el-table-column label="操作" align="center" width="50" fixed="right"> <el-table-column label="操作" align="center" width="50" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<div @click.stop style="display: inline-block"> <div @click.stop style="display: inline-block">
<el-dropdown trigger="click" @command="handleCommand"> <el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i> <i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="[scope.row, '编辑']" v-btn-permission="''"> <el-dropdown-item :command="[scope.row, '查看']">
查看
</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '编辑']">
编辑 编辑
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item :command="[scope.row, '删除']" v-btn-permission="''"> <el-dropdown-item :command="[scope.row, '删除']">
删除 删除
</el-dropdown-item> </el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
@@ -96,7 +115,7 @@
</el-table> </el-table>
<loading :loading="loading">加载中...</loading> <loading :loading="loading">加载中...</loading>
<pagination <pagination
:page="formQuery.page" :page="form.page"
:total="tableTotal" :total="tableTotal"
@pageChange="pageChange" @pageChange="pageChange"
@pageSizeChange="pageSizeChange"/> @pageSizeChange="pageSizeChange"/>
@@ -107,15 +126,12 @@
:before-close="addDrawerClose" :before-close="addDrawerClose"
:title="drawerTitle" :title="drawerTitle"
:visible.sync="drawerTable"> :visible.sync="drawerTable">
<div style="margin: 10px;"></div> <div class="demo-drawer-content" v-if="drawerTable">
<div class="content">
<div class="standard-table-search">
<el-row :gutter="24">
<el-col :span="24">
<el-form :model="addForm" inline class="label-input-form" label-width="180px" :rules="formRules" ref="addForm"> <el-form :model="addForm" inline class="label-input-form" label-width="180px" :rules="formRules" ref="addForm">
<el-form-item prop="unit" label="提报单位名称" style="width: 100%; margin-right:10px" class="add-form-item" :class="DrawerType === 'see' ? 'form-item-disabled' : ''">
<el-input
:disabled="DrawerType === 'see'"
v-model="addForm.unit"
placeholder="请输入提报单位名称"
:maxlength="500"/>
</el-form-item>
<el-form-item prop="scName" label="协会名称-委员会" style="width: 100%; margin-right:10px" class="add-form-item" :class="DrawerType === 'see' ? 'form-item-disabled' : ''"> <el-form-item prop="scName" label="协会名称-委员会" style="width: 100%; margin-right:10px" class="add-form-item" :class="DrawerType === 'see' ? 'form-item-disabled' : ''">
<el-input <el-input
:disabled="DrawerType === 'see'" :disabled="DrawerType === 'see'"
@@ -176,8 +192,8 @@
<el-date-picker <el-date-picker
v-model="addForm.iniTime" v-model="addForm.iniTime"
:disabled="DrawerType === 'see'" :disabled="DrawerType === 'see'"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss"
type="date" type="datetime"
placeholder="请选择初始入会时间"> placeholder="请选择初始入会时间">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
@@ -185,8 +201,8 @@
<el-date-picker <el-date-picker
v-model="addForm.curTime" v-model="addForm.curTime"
:disabled="DrawerType === 'see'" :disabled="DrawerType === 'see'"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss"
type="date" type="datetime"
placeholder="请选择本届入会时间"> placeholder="请选择本届入会时间">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
@@ -208,8 +224,8 @@
<el-date-picker <el-date-picker
v-model="addForm.lastPayTime" v-model="addForm.lastPayTime"
:disabled="DrawerType === 'see'" :disabled="DrawerType === 'see'"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss"
type="date" type="datetime"
placeholder="请选择上次缴纳时间"> placeholder="请选择上次缴纳时间">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
@@ -382,9 +398,25 @@
:maxlength="500"/> :maxlength="500"/>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div class="demo-drawer-footer"> </el-col>
<el-button size="small" @click="addDrawerClose">取消</el-button> </el-row>
<el-button size="small" type="primary" @click="submit">提交</el-button> </div>
</div>
</div>
<div class="demo-drawer-footer" v-if="DrawerType !== 'see'">
<el-button
size="mini"
class="common-button-primary"
icon="el-icon-check"
type="primary"
:loading="subLoading"
@click="submit">提交
</el-button>
<el-button
size="mini"
class="common-button-default"
icon="el-icon-close"
@click="addDrawerClose">取消</el-button>
</div> </div>
</el-drawer> </el-drawer>
</div> </div>
@@ -396,32 +428,181 @@
export default { export default {
name: "child1", name: "child1",
components: {},
data() { data() {
return { return {
subLoading: false,
// 表格加载loading // 表格加载loading
loading: false, loading: false,
formQuery: { form: {
name: '', scName: '',
role: '', role: '',
nature: '', asProper: '',
state: '', asStatus: '',
currentPage: 1,
page: 1, page: 1,
pageSize: 10, pageSize: this.$store.getters.userInfo.configContent,
}, },
tableTotal: 0, tableTotal: 0,
tableData: [], tableData: [],
multipleSelection: [], multipleSelection: [],
drawer: false,
size: '600px',
// 新增的集合 // 新增的集合
addForm: {}, addForm: {
scName: '',
sscName: '',
wgName: '',
role: '',
attend: '',
standard: '',
charge: '',
leader: '',
iniTime: '',
curTime: '',
costStandard: '',
costOutlay: '',
lastPayTime: '',
payPeriod: '',
handler: '',
department: '',
asProper: '',
asStatus: '',
asContact: '',
tel: '',
mail: '',
p17: '',
p18: '',
p19: '',
p20: '',
p21: '',
p22: '',
p23: '',
p24: '',
p25: '',
p26: '',
p27: '',
p28: '',
p29: '',
p30: '',
p31: '',
p32: '',
},
// 新增,编辑框 // 新增,编辑框
drawerTitle: '', drawerTitle: '',
drawerTable: false, drawerTable: false,
DrawerType: '', DrawerType: '',
formRules: {}, formRules: {
scName: [
{required: true, message: '请输入协会名称-标委会', trigger: 'blur'},
],
sscName: [
{required: true, message: '请输入协会名称-分标委', trigger: 'blur'},
],
wgName: [
{required: true, message: '请输入协会名称-工作组', trigger: 'blur'},
],
role: [
{required: true, message: '请输入会员角色', trigger: 'blur'},
],
attend: [
{required: true, message: '请输入参与人', trigger: 'blur'},
],
standard: [
{required: true, message: '请输入标准', trigger: 'blur'},
],
charge: [
{required: true, message: '请输入标准负责人', trigger: 'blur'},
],
leader: [
{required: true, message: '请输入责任领导', trigger: 'blur'},
],
iniTime: [
{required: true, message: '请选择初始入会时间', trigger: 'change'},
],
curTime: [
{required: true, message: '请选择本届入会时间', trigger: 'change'},
],
costStandard: [
{required: true, message: '请输入费用标准', trigger: 'blur'},
],
costOutlay: [
{required: true, message: '请输入费用列支', trigger: 'blur'},
],
lastPayTime: [
{required: true, message: '请选择上次缴纳时间', trigger: 'change'},
],
payPeriod: [
{required: true, message: '请输入缴费年限', trigger: 'blur'},
],
handler: [
{required: true, message: '请输入经办人', trigger: 'blur'},
],
department: [
{required: true, message: '请输入部门', trigger: 'blur'},
],
asProper: [
{required: true, message: '请输入协会性质', trigger: 'blur'},
],
asStatus: [
{required: true, message: '请输入协会状态', trigger: 'blur'},
],
asContact: [
{required: true, message: '请输入协会联络人', trigger: 'blur'},
],
tel: [
{required: true, message: '请输入协会联络人电话', trigger: 'blur'},
],
mail: [
{required: true, message: '请输入协会联络人邮箱', trigger: 'blur'},
],
p17: [
{required: true, message: '请输入缴费信息', trigger: 'blur'},
],
p18: [
{required: true, message: '请输入缴费信息', trigger: 'blur'},
],
p19: [
{required: true, message: '请输入缴费信息', trigger: 'blur'},
],
p20: [
{required: true, message: '请输入缴费信息', trigger: 'blur'},
],
p21: [
{required: true, message: '请输入缴费信息', trigger: 'blur'},
],
p22: [
{required: true, message: '请输入缴费信息', trigger: 'blur'},
],
p23: [
{required: true, message: '请输入缴费信息', trigger: 'blur'},
],
p24: [
{required: true, message: '请输入缴费信息', trigger: 'blur'},
],
p25: [
{required: true, message: '请输入缴费信息', trigger: 'blur'},
],
p26: [
{required: true, message: '请输入缴费信息', trigger: 'blur'},
],
p27: [
{required: true, message: '请输入缴费信息', trigger: 'blur'},
],
p28: [
{required: true, message: '请输入缴费信息', trigger: 'blur'},
],
p29: [
{required: true, message: '请输入缴费信息', trigger: 'blur'},
],
p30: [
{required: true, message: '请输入缴费信息', trigger: 'blur'},
],
p31: [
{required: true, message: '请输入缴费信息', trigger: 'blur'},
],
p32: [
{required: true, message: '请输入缴费信息', trigger: 'blur'},
],
},
} }
}, },
@@ -431,82 +612,197 @@ export default {
methods: { methods: {
/** 获取该页面内的列表数据 */ /** 获取该页面内的列表数据 */
getData() { getData() {
console.log(2) this.loading = true
this.$http.get('wgdCensusZ/wgd-assoc-info/queryAllAssocInfos', this.form, {
_this: this
}, res => {
this.loading = false
if (res.ok) {
this.tableData = res.data.list
this.tableTotal = res.data.count
}
})
}, },
//新增方法
submit() { submit() {
this.$refs['addForm'].validate((valid) => {
}, if (valid) {
addDrawerClose () {}, this.subLoading = true
//删除方法 let url = ''
deleteDetail(index, rows) { let tips = ''
}, if (this.DrawerType === 'edit') {
/** 查询 */ url = 'wgdCensusZ/wgd-assoc-info/modAssocInfo'
queryForm() {}, tips = '编辑'
//清空 }else if (this.DrawerType === 'add') {
resetForm() { url = 'wgdCensusZ/wgd-assoc-info/addAssocInfo'
this.formQuery = {}; tips = '添加'
},
handleSelectionChange(val) {
this.multipleSelection = val;
},
/** 新增 */
formDataAdd() {},
// 列表更多按钮
handleCommand(command) {
switch (command[1]) {
case "编辑":
this.editRowOne(command[0]);
break;
case "删除":
this.deleteRowOne("delOne", command[0].id);
break;
} }
}, this.$http.post(url, this.addForm, {
/** 列表编辑 */ _this: this
editRowOne(item) { }, res => {
this.drawerTitle = '编辑' this.subLoading = false
this.formShowData = item if (res.ok) {
this.drawerTable = true this.drawerTable = false
}, this.$message.success(tips + '成功')
// 行内删除 this.getData()
deleteRowOne(val) { } else {
let delId = { this.$message.warning(tips + '失败')
id: val
} }
this.$confirm('确定删除这些数据?', '提示', { })
confirmButtonText: this.$t('m.determine'), } else {
cancelButtonText: this.$t('m.cancel'), this.$message.warning('请检查表单是否填写正确')
}
})
}, // 提交
addDrawerClose () {
this.addForm = {}
this.drawerTable = false
},// 关闭
deleteDetail() {
if (this.multipleSelection.length) {
this.$confirm('您是否确认删除选中数据?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning', type: 'warning',
confirmButtonClass: 'common-button-primary', confirmButtonClass: 'common-button-primary',
roundButton: true roundButton: true
}).then(() => { }).then(() => {
delOnlyOne(delId).then(res => { let ids = ''
this.multipleSelection.forEach(item => {
if (ids.length > 0) {
ids += ','
ids += item.id
} else {
ids = item.id
}
})
this.$http.post('wgdCensusZ/wgd-assoc-info/delAssocInfos', {
ids: ids
}, {
_this: this
}, res => {
if (res.ok) { if (res.ok) {
this.$message.success('删除成功') this.$message.success('删除成功')
this.pageNo = 1 this.form.page = 1
this.multipleSelection = '' this.getData()
this.getTableData()
} else { } else {
this.$message.warning('删除失败') this.$message.warning('删除失败')
} }
}) })
}).catch(() => { }).catch(() => {})
this.$message({ } else {
type: 'info', this.$message.warning('请选择要删除的数据')
message: '已取消删除' }
}) }, // 删除
/** 查询 */
queryForm() {
this.form.page = 1
this.getData()
},
resetForm() {
this.form.scName = ''
this.form.role = ''
this.form.asProper = ''
this.form.asStatus = ''
this.form.page = 1
this.getData()
}, //清空
handleSelectionChange(val) {
this.multipleSelection = val;
},
/** 新增 */
formDataAdd() {
this.DrawerType = 'add'
this.drawerTitle = '新增'
this.drawerTable = true
},
// 列表更多按钮
handleCommand(command) {
switch (command[1]) {
case "查看":
this.drawerTitle = '查看'
this.DrawerType = 'see'
this.drawerTable = true
this.addForm = command[0]
break;
case "编辑":
this.DrawerType = 'edit'
this.drawerTitle = '编辑'
this.drawerTable = true
this.addForm = {
id: command[0].id,
scName: command[0].scName,
sscName: command[0].sscName,
wgName: command[0].wgName,
role: command[0].role,
attend: command[0].attend,
standard: command[0].standard,
charge: command[0].charge,
leader: command[0].leader,
iniTime: this.$moment(command[0].iniTime).format("YYYY-MM-DD HH:mm:ss"),
curTime: this.$moment(command[0].curTime).format("YYYY-MM-DD HH:mm:ss"),
costStandard: command[0].costStandard,
costOutlay: command[0].costOutlay,
lastPayTime: this.$moment(command[0].lastPayTime).format("YYYY-MM-DD HH:mm:ss"),
payPeriod: command[0].payPeriod,
handler: command[0].handler,
department: command[0].department,
asProper: command[0].asProper,
asStatus: command[0].asStatus,
asContact: command[0].asContact,
tel: command[0].tel,
mail: command[0].mail,
p17: command[0].p17,
p18: command[0].p18,
p19: command[0].p19,
p20: command[0].p20,
p21: command[0].p21,
p22: command[0].p22,
p23: command[0].p23,
p24: command[0].p24,
p25: command[0].p25,
p26: command[0].p26,
p27: command[0].p27,
p28: command[0].p28,
p29: command[0].p29,
p30: command[0].p30,
p31: command[0].p31,
p32: command[0].p32,
}
break;
case "删除":
this.$confirm('您是否确认删除选中数据?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
confirmButtonClass: 'common-button-primary',
roundButton: true
}).then(() => {
this.$http.post('wgdCensusZ/wgd-assoc-info/delAssocInfos', {
ids: command[0].id
}, {
_this: this
}, res => {
if (res.ok) {
this.$message.success('删除成功')
this.form.page = 1
this.getData()
} else {
this.$message.warning('删除失败')
}
}) })
}).catch(() => {})
break;
}
}, },
/** 分页 */ /** 分页 */
pageChange(page) { pageChange(page) {
this.page = page this.form.page = page
this.getData()
}, },
pageSizeChange(pageSize) { pageSizeChange(pageSize) {
this.pageSize = pageSize this.form.pageSize = pageSize
this.getData()
}, },
} }
} }
</script> </script>
@@ -516,7 +812,11 @@ export default {
height: 100%; height: 100%;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
.add-form-item {
/deep/.el-form-item__content {
width: calc(~'100% - 180px');
}
}
.pagination { .pagination {
position: inherit!important; position: inherit!important;
} }
+36
View File
@@ -1522,6 +1522,42 @@ const routes = [
title: '企标制修订计划管控流程' title: '企标制修订计划管控流程'
} }
}, },
{
path: '/qbzxdjhgkStep2',
name: 'qbzxdjhgkStep2',
component: () => import('@/pages/processCenter/pages/creatProcess/qbzxdjhgk/step2.vue'),
meta: {
requireAuth: true,
title: '企标制修订计划管控流程'
}
},
{
path: '/qbzxdjhgkStep3',
name: 'qbzxdjhgkStep3',
component: () => import('@/pages/processCenter/pages/creatProcess/qbzxdjhgk/step3.vue'),
meta: {
requireAuth: true,
title: '企标制修订计划管控流程'
}
},
{
path: '/qbzxdjhgkStep4',
name: 'qbzxdjhgkStep4',
component: () => import('@/pages/processCenter/pages/creatProcess/qbzxdjhgk/step4.vue'),
meta: {
requireAuth: true,
title: '企标制修订计划管控流程'
}
},
{
path: '/qbzxdjhgkStep5',
name: 'qbzxdjhgkStep5',
component: () => import('@/pages/processCenter/pages/creatProcess/qbzxdjhgk/step5.vue'),
meta: {
requireAuth: true,
title: '企标制修订计划管控流程'
}
},
// 外部标准化协会入会流程 // 外部标准化协会入会流程
{ {
path: '/bzrhStep1', path: '/bzrhStep1',