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

This commit is contained in:
yanyizhou
2021-11-17 10:39:14 +08:00
22 changed files with 949 additions and 200 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

@@ -419,6 +419,28 @@ export default {
this.qbfsForm.jgUserId = idList;
this.qbfsForm.jgUser = nameList;
},
/**
* @Description: 点击下载
*/
downloadFile(attId) {
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
} else {
this.$message.error("请选择要下载的文件");
}
},
downloadFileByWater(attId, fileSuffix) {
let fileExtension = fileSuffix.substring(fileSuffix.lastIndexOf(".") + 1);
if (fileExtension !== "pdf" && fileExtension !== "PDF") {
this.$message.error("水印下载仅支持PDF,pdf格式文件");
} else {
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSarWaterMark?fileId=" + attId;
} else {
this.$message.error("请选择要下载的文件");
}
}
},
},
computed: {
listNoDataText() {
@@ -404,6 +404,28 @@ export default {
this.processStep = window.URL.createObjectURL(res.data)
})
},
/**
* @Description: 点击下载
*/
downloadFile(attId) {
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
} else {
this.$message.error("请选择要下载的文件");
}
},
downloadFileByWater(attId, fileSuffix) {
let fileExtension = fileSuffix.substring(fileSuffix.lastIndexOf(".") + 1);
if (fileExtension !== "pdf" && fileExtension !== "PDF") {
this.$message.error("水印下载仅支持PDF,pdf格式文件");
} else {
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSarWaterMark?fileId=" + attId;
} else {
this.$message.error("请选择要下载的文件");
}
}
},
},
computed: {
listNoDataText() {
@@ -63,6 +63,16 @@
clearable
></el-input>
</el-form-item>
<el-form-item label="下一步状态" prop="nextStatus" class="add-form-item ">
<el-select v-model="qbfsForm.nextStatus" placeholder="请选择下一步状态">
<el-option
v-for="item in associationOptions"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被代替企标编号" prop="replacedNumber" class="add-form-item form-item-disabled">
@@ -119,6 +129,8 @@
暂无数据
</div>
</el-form-item>
<el-form-item class="add-form-item ">
</el-form-item>
<!-- <el-form-item label="工作组成员" prop="jgUser" class="add-form-item form-item-disabled">-->
<!-- <el-input-->
<!-- v-model="qbfsForm.jgUser"-->
@@ -126,23 +138,13 @@
<!-- clearable-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="下一步状态" prop="nextStatus" class="add-form-item ">-->
<!-- <el-select v-model="qbfsForm.nextStatus" placeholder="请选择下一步状态">-->
<!-- <el-option-->
<!-- v-for="item in associationOptions"-->
<!-- :key="item.value"-->
<!-- :label="item.label"-->
<!-- :value="item.value">-->
<!-- </el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
</el-col>
</el-row>
</div>
</el-form>
<el-button style="width: 100%" :icon="foldFormFlag ? 'el-icon-caret-top' : 'el-icon-caret-bottom'"
@click="foldForm">{{ foldFormFlag ? "隐藏基础信息" : "展开基础信息" }}
</el-button>
@click="foldForm">{{ foldFormFlag ? "隐藏基础信息" : "展开基础信息" }}
</el-button>
<process-title>
<template slot="title">审核信息</template>
</process-title>
@@ -159,12 +161,12 @@
align="center">
</el-table-column>
<el-table-column
prop="issueTime"
prop="opinion"
align="center"
label="审核状态">
label="审核意见">
</el-table-column>
<el-table-column
prop="XCXSSRQ"
prop="people"
align="center"
label="审核人">
</el-table-column>
@@ -283,42 +285,42 @@ import { changeAssigneeNew, inboundLiaisonDetail, saveTaskFirst } from "api/proc
export default {
name: "qbfsStep4",
components:{
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
data() {
return {
active: '1',
active: "1",
isTransfer: false,
isSubmit: false,
saveLoading: false,
drawerModal: false,
drawerTitle: '',
drawerTitle: "",
nodeList: [],
fileList: [],
commentText: '',
commentText: "",
dataList: [],
detailData: [],
loading: false,
foldFormFlag: true,
qbfsForm:{
entNumber: '',
cnName: '',
enName: '',
entCategory: '',
replaceNumber: '',
replacedNumber: '',
releaseDate: '',
implementDate: '',
reviewDate: '',
nextStatus: '',
qbfsForm: {
entNumber: "",
cnName: "",
enName: "",
entCategory: "",
replaceNumber: "",
replacedNumber: "",
releaseDate: "",
implementDate: "",
reviewDate: "",
nextStatus: ""
},
formRules: {
nextStatus: [
{required: true, message: "请选择下一步状态", trigger: "change"}
],
{ required: true, message: "请选择下一步状态", trigger: "change" }
]
},
associationOptions: [{
value: "修订",
@@ -330,13 +332,13 @@ export default {
value: "有效",
label: "有效"
}]
}
};
},
mounted() {
this.processTable()
this.getData()
this.processTable();
this.getData();
},
methods:{
methods: {
processTable() {
this.$http.get("lawss/activiti/get_list_by_instance", {
prcNum: this.$route.query.prcNum,
@@ -346,50 +348,81 @@ export default {
loading: "loading",
_this: this
}, res => {
this.detailData = res
this.detailData = res;
}, e => {
})
});
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
pId: this.$route.query.prcId
}).then(res => {
if (res) {
const processForm = JSON.parse(res.mesg)
this.getFormFieldList(processForm)
const processForm = JSON.parse(res.mesg);
this.getFormFieldList(processForm);
}
}).catch(e => {
})
})
});
});
},
/**
* @description: 动态表单读取
*/
getFormFieldList (item) {
console.log(item);
getFormFieldList(item) {
this.$nextTick(() => {
this.qbfsForm = JSON.parse(JSON.stringify(item))
})
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]
});
});
let list = [];
this.dataList.forEach(item => {
list.push(item.opinion);
this.findMost(list);
});
});
},
findMost(arr) {
if (!arr.length) return;
if (arr.length === 1) return 1;
let res = {};
let maxName, maxNum = 0;
// 遍历数组
arr.forEach((item) => {
res[item] ? res[item] += 1 : res[item] = 1;
if (res[item] > maxNum) {
maxName = item;
maxNum = res[item];
}
});
this.qbfsForm.nextStatus = maxName
// return "出现次数最多的元素为:" + maxName + ", 出现次数为:" + maxNum;
},
//流程提交
handleSubmit(){
this.isSubmit = true
this.qbfsForm.commentText = this.commentText
handleSubmit() {
this.isSubmit = true;
this.qbfsForm.commentText = this.commentText;
this.qbfsForm.dataList = this.dataList;
let json = JSON.stringify(this.qbfsForm);
this.$http.post('lawss/activiti/completeTask', {
this.$http.post("lawss/activiti/completeTask", {
taskIds: this.$route.query.taskIds,
userId: this.$store.getters.userInfo.userId,
json: json,
json: json
}, {
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message)
this.$router.push('/processCenter')
this.$message.success(res.message);
this.$router.push("/processCenter");
}
this.isSubmit = false
this.isSubmit = false;
}, e => {
});
},
@@ -401,52 +434,74 @@ export default {
this.foldFormFlag = !this.foldFormFlag;
},
//转办事件
handleTransfer(){
this.drawerModal = true
this.drawerTitle = '转办处理人'
this.selectPeople = row
handleTransfer() {
this.drawerModal = true;
this.drawerTitle = "转办处理人";
this.selectPeople = row;
},
//确认转办
checkedRole (data) {
this.assigneeNewLoading = true
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
this.isTransfer = false;
if (res.success) {
this.drawerModal = false
this.$message.success('调整成功')
this.drawerModal = false;
this.$message.success("调整成功");
this.$router.push("/processCenter");
this.processNum()
this.processNum();
} else {
this.$message.warning(res.message)
this.$message.warning(res.message);
}
})
});
},
// 请求转换流程图
processNum (row) {
processNum(row) {
axios.request({
url: '/api/lawss/activiti/getImg?_t=' + new Date().getTime(),
responseType: 'blob',
method: 'get',
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)
})
this.processStep = window.URL.createObjectURL(res.data);
});
},
/**
* @Description: 点击下载
*/
downloadFile(attId) {
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
} else {
this.$message.error("请选择要下载的文件");
}
},
downloadFileByWater(attId, fileSuffix) {
let fileExtension = fileSuffix.substring(fileSuffix.lastIndexOf(".") + 1);
if (fileExtension !== "pdf" && fileExtension !== "PDF") {
this.$message.error("水印下载仅支持PDF,pdf格式文件");
} else {
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSarWaterMark?fileId=" + attId;
} else {
this.$message.error("请选择要下载的文件");
}
}
}
},
computed: {
listNoDataText() {
return this.processType === 1 ? "暂无待办流程" : "暂无已办流程";
}
},
}
};
</script>
@@ -496,7 +496,7 @@ export default {
this.getStandDataBtn()
this.ListModel = true;
},
//企业标准查询this.standardSearch,
//企业标准查询
getStandDataBtn(){
this.$http.get('lawss/sarBussionessStand/getSarBussionStandPage',{
standCode: this.standardSearch.standCode,
@@ -570,7 +570,7 @@ export default {
_formData.append('prcType', '23')
_formData.append('json', JSON.stringify({
roleForm: this.roleForm,
qbfsForm: this.qbfsForm,
qbfsForm: this.standardSearch,
commentText: this.commentText
}))
saveTaskFirst(_formData).then(res => {
@@ -589,9 +589,9 @@ export default {
this.$refs['roleForm'].validate((valid) => {
if (valid) {
this.isSubmit = true
this.qbfsForm.commentText = this.commentText
var json = Object.assign(this.qbfsForm, this.roleForm)
this.$http.get('lawss/activiti/startProcess', {type: '23'}, {
this.standardSearch.commentText = this.commentText
var json = Object.assign(this.standardSearch, this.roleForm)
this.$http.get('lawss/activiti/startProcess', {type: '24'}, {
_this: this
}, res => {
if (res.ok) {
@@ -624,8 +624,8 @@ export default {
this.$refs['roleForm'].validate((valid) => {
if (valid) {
this.isSubmit = true
this.qbfsForm.commentText = this.commentText
var json = Object.assign(this.qbfsForm, this.roleForm)
this.standardSearch.commentText = this.commentText
var json = Object.assign(this.standardSearch, this.roleForm)
this.$http.post('lawss/activiti/completeTask', {
taskIds: res.data,
userId : this.$store.getters.userInfo.userId,
@@ -22,18 +22,18 @@
>
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="企标编号" prop="entNumber" class="add-form-item form-item-disabled">
<el-form-item label="企标编号" prop="standCode" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.entNumber"
v-model="qbfsForm.standCode"
placeholder="请输入企标编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="中文名称" prop="cnName" class="add-form-item form-item-disabled">
<el-form-item label="中文名称" prop="standName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.cnName"
v-model="qbfsForm.standName"
placeholder="请输入中文名称"
clearable
></el-input>
@@ -309,11 +309,29 @@ export default {
},
//流程驳回
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 => {
});
},
//流程提交
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', {
@@ -22,18 +22,18 @@
>
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="企标编号" prop="entNumber" class="add-form-item form-item-disabled">
<el-form-item label="企标编号" prop="standCode" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.entNumber"
v-model="qbfsForm.standCode"
placeholder="请输入企标编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="中文名称" prop="cnName" class="add-form-item form-item-disabled">
<el-form-item label="中文名称" prop="standName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.cnName"
v-model="qbfsForm.standName"
placeholder="请输入中文名称"
clearable
></el-input>
@@ -191,14 +191,12 @@
</div>
</div>
<ProcessFooter
show-back
show-transfer
show-submit
:transfer-loading="isTransfer"
:submitLoading="isSubmit"
:saveLoading="saveLoading"
:approval="true"
@back="beforeBack"
@transfer="handleTransfer"
@submit="handleSubmit"
>
@@ -250,8 +248,8 @@ export default {
modalshowflag: false, // drawer开关
loading: false,
qbfsForm:{
entNumber: '',
cnName: '',
standCode: '',
standName: '',
enName: '',
entCategory: '',
replaceNumber: '',
@@ -325,6 +323,8 @@ export default {
handleSubmit(){
this.isSubmit = true
this.qbfsForm.commentText = this.commentText
this.qbfsForm.presentPeople = this.$store.getters.userInfo.userName
this.qbfsForm.presentPeopleId = this.$store.getters.userInfo.userId
let json = JSON.stringify(this.qbfsForm);
this.$http.post('lawss/activiti/completeTask', {
taskIds: this.$route.query.taskIds,
@@ -0,0 +1,622 @@
<template>
<div class="qbfz-step4">
<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>
<process-title>
<template slot="title">基础信息</template>
</process-title>
<div class="content" v-show="active === '1'">
<div style="flex: auto; overflow: auto">
<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 label="企标编号" prop="entNumber" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.entNumber"
placeholder="请输入企标编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="中文名称" prop="cnName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.cnName"
placeholder="请输入中文名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="英文名称" prop="enName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.enName"
placeholder="请输入英文名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="企标类别" prop="entCategory" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.entCategory"
placeholder="请输入企标类别"
clearable
></el-input>
</el-form-item>
<el-form-item label="代替企标编号" prop="replaceNumber" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.replaceNumber"
placeholder="请输入代替企标编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="下一步状态" prop="nextStatus" class="add-form-item ">
<el-select v-model="qbfsForm.nextStatus" placeholder="请选择下一步状态">
<el-option
v-for="item in associationOptions"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被代替企标编号" prop="replacedNumber" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.replacedNumber"
placeholder="请输入被代替企标编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="发布日期" prop="releaseDate" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.releaseDate"
placeholder="请输入发布日期"
clearable
></el-input>
</el-form-item>
<el-form-item label="实施日期" prop="implementDate" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.implementDate"
placeholder="请输入实施日期"
clearable
></el-input>
</el-form-item>
<el-form-item label="复审日期" prop="reviewDate" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.reviewDate"
placeholder="请输入复审日期"
clearable
></el-input>
</el-form-item>
<el-form-item label="附件" prop="fileName" class="add-form-item form-item-disabled">
<div class="file-box" v-if="fileList.length > 0">
<p v-for="item in fileList"
:key="item.id"> {{ item.name }}
<i
title="下载"
@click="downloadFile(item.id)"
class="icon-download"
v-btn-permission="''"
/>
<i
title="下载带水印"
@click="downloadFileByWater(item.id, item.name)"
class="icon-download2"
v-btn-permission="''"
/>
</p>
</div>
<div v-else>
暂无数据
</div>
</el-form-item>
<el-form-item class="add-form-item ">
</el-form-item>
<!-- <el-form-item label="工作组成员" prop="jgUser" class="add-form-item form-item-disabled">-->
<!-- <el-input-->
<!-- v-model="qbfsForm.jgUser"-->
<!-- placeholder="请选择工作组成员"-->
<!-- clearable-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
</el-col>
</el-row>
</div>
</el-form>
<el-button style="width: 100%" :icon="foldFormFlag ? 'el-icon-caret-top' : 'el-icon-caret-bottom'"
@click="foldForm">{{ foldFormFlag ? "隐藏基础信息" : "展开基础信息" }}
</el-button>
<process-title>
<template slot="title">审核信息</template>
</process-title>
<el-table
:data="dataList"
border
height="52%"
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"
label="审核意见">
</el-table-column>
<el-table-column
prop="people"
align="center"
label="审核人">
</el-table-column>
</el-table>
</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"
:no-data-text="listNoDataText"
: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-transfer
show-submit
:transfer-loading="isTransfer"
:submitLoading="isSubmit"
:saveLoading="saveLoading"
:approval="true"
@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: "qbfzStep4",
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
data() {
return {
active: "1",
isTransfer: false,
isSubmit: false,
saveLoading: false,
drawerModal: false,
drawerTitle: "",
nodeList: [],
fileList: [],
commentText: "",
dataList: [],
detailData: [],
loading: false,
foldFormFlag: true,
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) {
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]
});
});
let list = [];
this.dataList.forEach(item => {
list.push(item.opinion);
this.findMost(list);
});
});
},
findMost(arr) {
if (!arr.length) return;
if (arr.length === 1) return 1;
let res = {};
let maxName, maxNum = 0;
// 遍历数组
arr.forEach((item) => {
res[item] ? res[item] += 1 : res[item] = 1;
if (res[item] > maxNum) {
maxName = item;
maxNum = res[item];
}
});
this.qbfsForm.nextStatus = maxName
// return "出现次数最多的元素为:" + maxName + ", 出现次数为:" + maxNum;
},
//流程提交
handleSubmit() {
this.isSubmit = true;
this.qbfsForm.commentText = this.commentText;
this.qbfsForm.dataList = this.dataList;
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 => {
});
},
handleTabs(name) {
this.active = name;
},
foldForm() {
this.foldFormFlag = !this.foldFormFlag;
},
//转办事件
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);
});
},
/**
* @Description: 点击下载
*/
downloadFile(attId) {
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
} else {
this.$message.error("请选择要下载的文件");
}
},
downloadFileByWater(attId, fileSuffix) {
let fileExtension = fileSuffix.substring(fileSuffix.lastIndexOf(".") + 1);
if (fileExtension !== "pdf" && fileExtension !== "PDF") {
this.$message.error("水印下载仅支持PDF,pdf格式文件");
} else {
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSarWaterMark?fileId=" + attId;
} else {
this.$message.error("请选择要下载的文件");
}
}
}
},
computed: {
listNoDataText() {
return this.processType === 1 ? "暂无待办流程" : "暂无已办流程";
}
}
};
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.qbfz-step4 {
/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>
@@ -1570,6 +1570,43 @@ export default {
})
}
break
case '24':
if (row.taskInfo === '标准法规部部长审核') {
this.$router.push({
name: 'qbfzStep2',
query:{
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if(row.taskInfo === '会签并填写意见') {
this.$router.push({
name: 'qbfzStep3',
query:{
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}
// else if(row.taskInfo === '工作组组长审批') {
// this.$router.push({
// name: 'qbfsStep4',
// query:{
// taskIds: row.taskIds,
// prcId: row.prcId,
// prcNum: row.prcNum,
// prcName: row.prcName,
// prcType: row.prcType
// }
// })
// }
break
}
},
...mapMutations(['setProcess', 'setHandleInfo']),
@@ -79,22 +79,23 @@ export default {
}
}
});
if(this.country === true){
this.tabValue = "listOfCountries"
return;
}else if(this.project === true){
this.tabValue = "listProject"
return;
}else if(this.tracking === true){
this.tabValue = "listTracking"
return;
}else if(this.other === true){
this.tabValue = "listOther"
return;
}else if(this.library === true){
this.tabValue = "localProductsOrProjectLibrary"
return;
}
this.tabValue = this.country ? 'listOfCountries' : (this.project ? 'listProject' : (this.tracking ? 'listTracking' : (this.other ? 'listOther' : (this.library ? 'localProductsOrProjectLibrary' : ''))))
// if(this.country){
// this.tabValue = "listOfCountries"
// return;
// }else if(this.project){
// this.tabValue = "listProject"
// return;
// }else if(this.tracking){
// this.tabValue = "listTracking"
// return;
// }else if(this.other){
// this.tabValue = "listOther"
// return;
// }else if(this.library){
// this.tabValue = "localProductsOrProjectLibrary"
// return;
// }
},
beforeRouteLeave(to, from, next) {
const toName = ["ListOfStandardsAndRegulationsDetails", "AccessStandardDetails", "LocalProductDetail", "OtherAddEit"];
@@ -1,88 +1,50 @@
<template>
<div class="data-statis">
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="协会信息数据统计" name="first" ref="listOfSociety" :key="'first'">
<child1 v-if="isChildUpdate1"></child1>
<el-tab-pane label="协会信息数据统计" name="listOfSociety">
<list-of-society></list-of-society>
</el-tab-pane>
<el-tab-pane label="委员信息数据统计" name="second" ref="listOfMember" :key="'second'">
<child2 v-if="isChildUpdate2"></child2>
<el-tab-pane label="委员信息数据统计" name="listOfMember">
<list-of-member></list-of-member>
</el-tab-pane>
<el-tab-pane label="参与外部协会会议统计" name="third" :key="'third'">
<child3 v-if="isChildUpdate3"></child3>
<el-tab-pane label="参与外部协会会议统计" name="listOfMeeting">
<list-of-meeting></list-of-meeting>
</el-tab-pane>
<el-tab-pane label="参与外部标准制修订信息统计" name="fourth" :key="'fourth'">
<child4 v-if="isChildUpdate4"></child4>
<el-tab-pane label="参与外部标准制修订信息统计" name="listOfStandard">
<list-of-standard></list-of-standard>
</el-tab-pane>
<el-tab-pane label="标准法规研究项目费用统计信息" name="fifth" :key="'fifth'">
<child5 v-if="isChildUpdate5"></child5>
<el-tab-pane label="标准法规研究项目费用统计信息" name="listOfCost">
<list-of-cost></list-of-cost>
</el-tab-pane>
</el-tabs>
</div>
</template>
<script>
import listOfSociety from "../dataStatis/page/listOfSociety";
import listOfMember from "../dataStatis/page/listOfMember";
import listOfMeeting from "../dataStatis/page/listOfMeeting";
import listOfStandard from "../dataStatis/page/listOfStandard";
import listOfCost from "../dataStatis/page/listOfCost";
import listOfSociety from "./page/listOfSociety";
import listOfMember from "./page/listOfMember";
import listOfMeeting from "./page/listOfMeeting";
import listOfStandard from "./page/listOfStandard";
import listOfCost from "./page/listOfCost";
export default {
name: "dataStatisComments",
components: {
child1: listOfSociety,
child2: listOfMember,
child3: listOfMeeting,
child4: listOfStandard,
child5: listOfCost
listOfSociety,
listOfMember,
listOfMeeting,
listOfStandard,
listOfCost
},
data() {
return {
activeName: 'first',
isChildUpdate1: true,
isChildUpdate2: false,
isChildUpdate3: false,
isChildUpdate4: false,
isChildUpdate5: false
activeName: 'listOfSociety',
}
},
mounted() {
},
methods: {
handleClick(tab) {
if (tab.name === 'first') {
this.isChildUpdate1 = true
this.isChildUpdate2 = false
this.isChildUpdate3 = false
this.isChildUpdate4 = false
this.isChildUpdate5 = false
} else if (tab.name === 'second') {
this.isChildUpdate1 = false
this.isChildUpdate2 = true
this.isChildUpdate3 = false
this.isChildUpdate4 = false
this.isChildUpdate5 = false
} else if (tab.name === 'third') {
this.isChildUpdate1 = false
this.isChildUpdate2 = false
this.isChildUpdate3 = true
this.isChildUpdate4 = false
this.isChildUpdate5 = false
} else if (tab.name === 'fourth') {
this.isChildUpdate1 = false
this.isChildUpdate2 = false
this.isChildUpdate3 = false
this.isChildUpdate4 = true
this.isChildUpdate5 = false
} else if (tab.name === 'fifth') {
this.isChildUpdate1 = false
this.isChildUpdate2 = false
this.isChildUpdate3 = false
this.isChildUpdate4 = false
this.isChildUpdate5 = true
}
}
}
@@ -95,7 +95,7 @@
<loading :loading="loading">加载中...</loading>
<pagination
:page="formQuery.page"
:total="formQuery.tableTotal"
:total="tableTotal"
@pageChange="pageChange"
@pageSizeChange="pageSizeChange"/>
</div>
@@ -161,8 +161,8 @@ export default {
current: 1,
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
tableTotal: 0
},
tableTotal: 0,
tableData: [],
multipleSelection: [],
formShowData: {
@@ -227,7 +227,7 @@ export default {
flex-direction: column;
.el-form-item {
margin-bottom: 0px;
margin-bottom: 10px;
}
.el-divider--horizontal {
@@ -95,7 +95,7 @@
<loading :loading="loading">加载中...</loading>
<pagination
:page="formQuery.page"
:total="formQuery.tableTotal"
:total="tableTotal"
@pageChange="pageChange"
@pageSizeChange="pageSizeChange"/>
</div>
@@ -183,8 +183,8 @@ export default {
current: 1,
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
tableTotal: 0
},
tableTotal: 0,
tableData: [],
multipleSelection: [],
formShowData: {
@@ -253,7 +253,7 @@ export default {
flex-direction: column;
.el-form-item {
margin-bottom: 0px;
margin-bottom: 10px;
}
.el-divider--horizontal {
@@ -171,7 +171,7 @@
<loading :loading="loading">加载中...</loading>
<pagination
:page="formQuery.page"
:total="formQuery.tableTotal"
:total="tableTotal"
@pageChange="pageChange"
@pageSizeChange="pageSizeChange"/>
</div>
@@ -294,8 +294,8 @@ export default {
current: 1,
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
tableTotal: 0
},
tableTotal: 0,
tableData: [],
multipleSelection: [],
formShowData: {
@@ -373,7 +373,7 @@ export default {
position: inherit!important;
}
.el-form-item {
margin-bottom: 0px;
margin-bottom: 10px;
}
.el-divider--horizontal {
@@ -172,7 +172,7 @@
<loading :loading="loading">加载中...</loading>
<pagination
:page="formQuery.page"
:total="formQuery.tableTotal"
:total="tableTotal"
@pageChange="pageChange"
@pageSizeChange="pageSizeChange"/>
</div>
@@ -293,8 +293,8 @@ export default {
current: 1,
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
tableTotal: 0
},
tableTotal: 0,
tableData: [],
multipleSelection: [],
@@ -390,7 +390,7 @@ export default {
position: inherit!important;
}
.el-form-item {
margin-bottom: 0px;
margin-bottom: 10px;
}
.el-divider--horizontal {
@@ -97,7 +97,7 @@
<loading :loading="loading">加载中...</loading>
<pagination
:page="formQuery.page"
:total="formQuery.tableTotal"
:total="tableTotal"
@pageChange="pageChange"
@pageSizeChange="pageSizeChange"/>
</div>
@@ -270,10 +270,10 @@ export default {
nature: '',
state: '',
currentPage: 1,
tableTotal: 0,
page: 1,
pageSize: 10,
},
tableTotal: 0,
tableData: [],
multipleSelection: [],
drawer: false,
@@ -420,7 +420,7 @@ export default {
position: inherit!important;
}
.el-form-item {
margin-bottom: 0px;
margin-bottom: 10px;
}
.el-divider--horizontal {
@@ -233,7 +233,7 @@
<loading :loading="loading">加载中...</loading>
<pagination
:page="formQuery.page"
:total="formQuery.tableTotal"
:total="tableTotal"
@pageChange="pageChange"
@pageSizeChange="pageSizeChange"/>
</div>
@@ -395,8 +395,9 @@ export default {
current: 1,
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
tableTotal: 0
},
tableTotal: 0,
tableData: [],
multipleSelection: [],
@@ -483,7 +484,7 @@ export default {
position: inherit!important;
}
.el-form-item {
margin-bottom: 0px;
margin-bottom: 10px;
}
.el-divider--horizontal {
@@ -99,7 +99,7 @@
<loading :loading="loading">加载中...</loading>
<pagination
:page="formQuery.page"
:total="formQuery.tableTotal"
:total="tableTotal"
@pageChange="pageChange"
@pageSizeChange="pageSizeChange"/>
</div>
@@ -167,8 +167,8 @@ export default {
current: 1,
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
tableTotal: 0
},
tableTotal: 0,
tableData: [],
multipleSelection: [],
@@ -241,7 +241,7 @@ export default {
position: inherit!important;
}
.el-form-item {
margin-bottom: 0px;
margin-bottom: 10px;
}
.el-divider--horizontal {
@@ -115,7 +115,7 @@
<loading :loading="loading">加载中...</loading>
<pagination
:page="formQuery.page"
:total="formQuery.tableTotal"
:total="tableTotal"
@pageChange="pageChange"
@pageSizeChange="pageSizeChange"/>
</div>
@@ -210,8 +210,8 @@ export default {
current: 1,
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
tableTotal: 0
},
tableTotal: 0,
tableData: [],
multipleSelection: [],
@@ -276,7 +276,7 @@ export default {
position: inherit!important;
}
.el-form-item {
margin-bottom: 0px;
margin-bottom: 10px;
}
.el-divider--horizontal {
@@ -101,7 +101,7 @@
<loading :loading="loading">加载中...</loading>
<pagination
:page="formQuery.page"
:total="formQuery.tableTotal"
:total="tableTotal"
@pageChange="pageChange"
@pageSizeChange="pageSizeChange"/>
</div>
@@ -179,8 +179,8 @@ export default {
current: 1,
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
tableTotal: 0
},
tableTotal: 0,
tableData: [],
multipleSelection: [],
dialogVisible1: false,
@@ -221,7 +221,7 @@ export default {
this.loading = false
}
this.tableData = res.data.list
this.formQuery.tableTotal = res.data.count
this.tableTotal = res.data.count
})
},
/** 表格多选 */
@@ -304,7 +304,7 @@ export default {
queryForm() {
queryStatistics(this.formQuery).then(res=>{
this.tableData = res.data.list
this.formQuery.tableTotal = res.data.count
this.tableTotal = res.data.count
})
},
//清空
@@ -106,7 +106,7 @@
<loading :loading="loading">加载中...</loading>
<pagination
:page="formQuery.page"
:total="formQuery.tableTotal"
:total="tableTotal"
@pageChange="pageChange"
@pageSizeChange="pageSizeChange"/>
</div>
@@ -205,8 +205,8 @@ export default {
current: 1,
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
tableTotal: 0
},
tableTotal: 0,
tableData: [],
multipleSelection: [],
formShowData: {
@@ -280,7 +280,7 @@ export default {
position: inherit!important;
}
.el-form-item {
margin-bottom: 0px;
margin-bottom: 10px;
}
.el-divider--horizontal {
+9
View File
@@ -1476,6 +1476,15 @@ const routes = [
title: '企标废止流程'
}
},
{
path: '/qbfzStep4',
name: 'qbfzStep4',
component: () => import('@/pages/processCenter/pages/creatProcess/qbfz/step4.vue'),
meta: {
requireAuth: true,
title: '企标废止流程'
}
},
//企标制修订计划管控流程
{
path: '/qbzxdjhgkStep1',