企标废止--起草人修改标准状态

This commit is contained in:
zhoulingpo
2023-11-20 16:42:16 +08:00
parent 5f66128bcc
commit b642bed2f1
2 changed files with 371 additions and 0 deletions
@@ -0,0 +1,361 @@
<template>
<div class="phoneQbfzStep5 phoneBox">
<ProcessHeaderPhone toggle>
<template slot="proName">企标废止流程</template>
<template slot="proNode">起草人修改标准状态</template>
</ProcessHeaderPhone>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">审批历史</div>
</div>
<div class="content" v-show="active === '1'">
<div>
<el-form
ref="qbfsForm"
v-if="!foldFormFlag"
:model="qbfsForm"
class="label-input-form"
:rules="formRules"
label-width="150px"
>
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<el-collapse-transition>
<el-row :gutter="24">
<el-col :span="24">
<van-field label="企标编号" v-model="qbfsForm.standCode" readonly placeholder="请输入企标编号" />
<van-field label="中文名称" v-model="qbfsForm.standName" readonly placeholder="请输入中文名称" />
<van-field label="英文名称" v-model="qbfsForm.enName" readonly placeholder="请输入英文名称" />
<van-field label="企标类别" v-model="qbfsForm.entCategory" readonly placeholder="请输入企标类别" />
<van-field label="代替企标编号" v-model="qbfsForm.replaceNumber" readonly placeholder="请输入代替企标编号" />
<van-field label="被代替企标编号" v-model="qbfsForm.replacedNumber" readonly placeholder="请输入被代替企标编号" />
<van-field label="发布日期" v-model="qbfsForm.releaseDate" readonly placeholder="请输入发布日期" />
<van-field label="实施日期" v-model="qbfsForm.implementDate" readonly placeholder="请输入实施日期" />
<van-field label="废止理由" v-model="qbfsForm.abolishCause" readonly placeholder="请输入废止理由" />
<van-field label="下一步状态" v-model="qbfsForm.nextStatus" readonly placeholder="请输入下一步状态" />
</el-col>
</el-row>
</el-collapse-transition>
</el-form>
<el-button v-if="foldFormFlag === false" style="width: 100%" icon="el-icon-caret-top" @click="foldForm">隐藏基础信息</el-button>
<el-button v-if="foldFormFlag === true" style="width: 100%" icon="el-icon-caret-bottom" @click="foldForm">展开基础信息</el-button>
</div>
<ProcessTitle style="margin-top: 10px;">
<template slot="title">会签信息</template>
</ProcessTitle>
<div class="tableBox">
<el-table
:data="dataList"
border
height="100%"
style="width: 100%;"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="opinion"
align="center"
min-width="300"
label="会签意见">
</el-table-column>
<el-table-column
prop="people"
align="center"
min-width="300"
label="会签人">
</el-table-column>
</el-table>
</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 class="content" v-show="active === '2'">
<Phone-histort-table :prc-num="$route.query.prcNum"></Phone-histort-table>
</div>
<ProcessFooter
show-transfer
show-submit
show-back
:submitLoading="isSubmit"
:isSubmitBack="isSubmit"
:saveLoading="isSubmit"
:approval="true"
@back="beforeBack"
@transfer="handleTransfer"
@submit="handleSubmit"
>
</ProcessFooter>
<phone-role
:role-title="drawerTitle"
:result-list="phoneRoleList"
:is-show-phone.sync="phoneshowflag"
@checkedRole="drawerCheck"
/>
</div>
</template>
<script>
import { Dialog } from 'vant';
import ProcessHeaderPhone from '../../components/ProcessHeaderPhone'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import { inboundLiaisonDetail, processCreateStand, changeAssigneeNew, execTask, saveTaskForPub } from "api/process";
import axios from "axios";
import ProcessHeader from "process/components/ProcessHeader";
import hwh5 from '@/api/hwh5-cloudonline.js'
export default {
name: "phoneQbfzStep5",
components: {
ProcessTitle,
ProcessHeader,
ProcessHeaderPhone,
ProcessFooter
},
data() {
return {
phoneshowflag: false,
phoneRoleList: [],
phoneDrawerTitle: '',
active: "1",
isTransfer: false,
isSubmit: false,
saveLoading: false,
drawerModal: false,
drawerTitle: "",
nodeList: [],
fileList: [],
commentText: "",
dataList: [],
detailData: [],
loading: false,
foldFormFlag: false,
qbfsForm: {
entNumber: "",
cnName: "",
enName: "",
entCategory: "",
replaceNumber: "",
replacedNumber: "",
releaseDate: "",
implementDate: "",
reviewDate: "",
nextStatus: ""
},
formRules: {
nextStatus: [
{ required: true, message: "请选择下一步状态", trigger: "change" }
]
},
associationOptions: [{
value: "修订",
label: "修订"
}, {
value: "废止",
label: "废止"
}, {
value: "有效",
label: "有效"
}]
};
},
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));
let res = item.res ? item.res.substring(1, item.res.lastIndexOf("]")) : "";
res = res.split(",");
this.dataList = [];
res.forEach(item => {
this.dataList.push({
opinion: item.split("-")[1],
people: item.split("-")[0]
});
});
});
},
//流程驳回
beforeBack(){
this.$message({
dangerouslyUseHTMLString: true,
message: <div style="word-break: keep-all;color: #F56C6C">当前任务不支持手机端处理</div>,
type: 'error'
})
},
//流程提交
handleSubmit() {
this.$message({
dangerouslyUseHTMLString: true,
message: <div style="word-break: keep-all;color: #F56C6C">当前任务不支持手机端处理</div>,
type: 'error'
})
},
handleTabs(name) {
this.active = name;
},
foldForm() {
this.foldFormFlag = !this.foldFormFlag;
},
//转办按钮
handleTransfer(){
this.$message({
dangerouslyUseHTMLString: true,
message: <div style="word-break: keep-all;color: #F56C6C">当前任务不支持手机端处理</div>,
type: 'error'
})
},
//确认转办
drawerCheck (data) {
this.roleTransfer = data
this.phoneRoleList = this.roleTransfer
this.turnLoading = true
this.isSubmit = true
changeAssigneeNew({
taskId: this.$route.query.taskIds, // 任务id
assignee: data[0].id, // 被委托人
userId: this.$store.getters.userInfo.account, // 委托人
pId: this.$route.query.prcId // 流程实例
}).then(res =>{
if (res.success) {
this.turnLoading = false
this.$message.success('调整成功')
// hwh5.close()
this.$router.go(-2)
// this.$router.push("/processCenter")
} else {
this.$message.warning(res.message)
}
}).finally(() => {
this.isSubmit = false
})
this.modalshowflag = false
},
// 请求转换流程图
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);
});
},
/**
* @Description: 点击下载
*/
downloadFile(attId) {
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSarNew?fileId=" + attId;
} else {
this.$message.error("请选择要下载的文件");
}
}
},
computed: {
listNoDataText() {
return this.processType === 1 ? "暂无待办流程" : "暂无已办流程";
}
}
};
</script>
<style lang="less" scoped>
@import '~@/assets/styles/phone';
.phoneQbfzStep5 {
.tableBox{
height: 150px;
flex-shrink:1;
}
/deep/.van-dialog__content {
min-height: 300px;
padding: 10px;
}
.prc-content-border {
//overflow: auto;
}
/deep/.prc-content-border .el-form-item__content {
width: 270px;
}
.content {
border-top: 1px solid #DCDFE6;
display: flex;
flex-direction: column;
justify-content: space-between;
margin-top: 52px;
//height: calc(~'100% - 155px');
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;
}
}
}
}
</style>
+10
View File
@@ -2530,6 +2530,16 @@ const routes = [
title: '企标废止流程'
}
},
{
path: '/phoneqbfzStep4',
name: 'phoneqbfzStep4',
component: () => import('@/pages/processCenter/pages/phone/qbfz/step4.vue'),
meta: {
isBoolean: true,
requireAuth: true,
title: '企标废止流程'
}
},
{
path: '/qbfzStep4-1',
name: 'qbfzStep4-1',