布局政策征求意见流程

This commit is contained in:
范强强
2023-10-18 15:35:01 +08:00
parent a001162dda
commit 7c3c229485
7 changed files with 2649 additions and 2543 deletions
@@ -1,231 +1,235 @@
<!-- 流程组件公共数据 --> <!-- 流程组件公共数据 -->
<script> <script>
import { changeAssigneeNew } from "api/process"; import {changeAssigneeNew} from "api/process";
export default { export default {
name: "ProcessMixins", name: "ProcessMixins",
mixins: [], mixins: [],
components: {}, components: {},
data() { data() {
return { return {
processTypeList: [ processTypeList: [
{ {
label: "标准调研流程", label: "标准调研流程",
value: "2" value: "2"
},
{
label: "标准入库流程",
value: "1"
},
{
label: "政策入库流程",
value: "laws1"
},
{
label: "企标制修订-技术标准",
value: "buss1"
},
{
label: "企标制修订-产品标准",
value: "buss2"
}, {
label: "企标复审流程",
value: "buss3"
},
{
label: "标准征求意见流程",
value: "3"
},
{
label: "标准清单发布/更新流程",
value: "4"
},
{
label: "标准合规评估流程",
value: "5"
},
{
label: "项目合规评估流程-项目",
value: "6"
},
{
label: "政策征求意见流程",
value: "laws2"
},
{
label: "未符合项整改流程",
value: "8"
},
{
label: "标准解读流程",
value: "9"
},
{
label: '项目清单确认流程',
value: "10"
},
{
label: "政策课题组参会流程",
value: "18"
},
{
label: "政策课题组入会流程",
value: "17"
},
{
label: "外部署名推荐审批流程",
value: "16"
},
{
label: "加入标准化协会信息提报流程",
value: "15"
},
{
label: "参与外部标准制修订信息提报流程",
value: "14"
},
{
label: "重点认证标准/政策合规性项目审查流程",
value: "laws3"
},
{
label: '外部标准化协会入会流程',
value: "20"
},
{
label: '外部标准化协会参会流程',
value: "21"
},
{
label: '外部标准化会后管理流程',
value: "22"
},
{
label: "企标废止流程",
value: "24"
},
{
label: "企标制修订计划管控",
value: "25"
},
{
label: "企标制修订立项",
value: "26"
},
{
label: "问答流程",
value: "27"
},
{
label: "政策征求意见流程",
value: "29"
}
],
formDisableFlag: false,
pickerOptions: {
disabledDate(time) {
const start = new Date(new Date().toLocaleDateString());
start.setTime(start.getTime());
return time.getTime() < start;
}
}
};
}, },
{ methods: {
label: "标准入库流程", getPrcNameFilter(row) {
value: "1" if (row && row.prcType === '25' && row.taskInfo === '技术标准起草') {
let _index = row.prcName.lastIndexOf('-')
return row.prcName.slice(0, _index + 1) + '企标制修订'
} else if (row && row.prcType === 'buss3' && row.taskInfo === '产品标准起草') {
let _index = row.prcName.lastIndexOf('-')
return row.prcName.slice(0, _index + 1) + '企标制修订'
} else if (row && row.prcType === 'buss3' && row.taskInfo === '技术标准起草') {
let _index = row.prcName.lastIndexOf('-')
return row.prcName.slice(0, _index + 1) + '企标制修订'
} else {
return row.prcName
}
},
/**
* @description: 根据流程类型获取流程名称
* @date: 2020-11-25 15:47:12
* @auth: chenxiaoxi
*/
getPrcName(prcType, taskInfo) {
let prcName = "";
if (prcType === '25' && taskInfo === '技术标准起草') {
prcName = '企标制修订-技术标准'
return prcName
}
if (prcType === 'buss3' && taskInfo === '产品标准起草') {
prcName = '企标制修订-产品标准'
return prcName
}
if (prcType === 'buss3' && taskInfo === '技术标准起草') {
prcName = '企标制修订-技术标准'
return prcName
}
this.processTypeList.map(item => {
if (item.value === prcType) {
prcName = item.label;
}
});
return prcName;
},
/**
* @description: 委托
* @date: 2020-12-14 15:51:10
* @auth: chenxiaoxi
*/
changeAssigneeNew(treeNode) {
changeAssigneeNew({
taskId: this.$store.getters.getHandleInfo.taskIds, // 任务id
assignee: treeNode.id, // 被委托人
userId: this.$store.getters.userInfo.userId, // 委托人
pId: this.$store.getters.getHandleInfo.prcId // 流程实例
}).then(res => {
if (res.success) {
this.$message.success("委托成功");
setTimeout(() => {
this.$router.push("/processCenter");
}, 100);
this.visibleTree = false;
} else {
this.$message.warning(res.message);
}
});
},
/**
* @description: 对表单部分字段进行校验
* @date: 2021-01-15 10:00:16
* @auth: chenxiaoxi
*/
handleValidField(field) {
this.$refs["prcForm"].validateField(field);
},
/**
* @description: 查询下一节点处理人(高级经理)
* @date: 2021-03-11
* @auth: WangXu
*/
getResByCurrentRoleId(roleIds, roleName, callback) {
// 获取当前 foRoleId 有 otherFORoleId 就一定是 其他起草人填写的 FO
// 否则一定是主起草人填写的 FO
this.$http.get("sys/role/getParentsByFOs", {
ids: roleIds, // 当前登录人的角色
roleHierarchyName: roleName // 上级角色
}, {}, res => {
if (res.ok) {
callback.call(this, res.data);
} else {
this.$message.warning(res.message);
}
});
}
}, },
{ computed: {},
label: "政策入库流程", watch: {},
value: "laws1" mounted() {
},
{
label: "企标制修订-技术标准",
value: "buss1"
},
{
label: "企标制修订-产品标准",
value: "buss2"
},{
label: "企标复审流程",
value: "buss3"
},
{
label: "标准征求意见流程",
value: "3"
},
{
label: "标准清单发布/更新流程",
value: "4"
},
{
label: "标准合规评估流程",
value: "5"
},
{
label: "项目合规评估流程-项目",
value: "6"
},
{
label: "政策征求意见流程",
value: "laws2"
},
{
label: "未符合项整改流程",
value: "8"
},
{
label: "标准解读流程",
value: "9"
},
{
label: '项目清单确认流程',
value: "10"
},
{
label: "政策课题组参会流程",
value: "18"
},
{
label: "政策课题组入会流程",
value: "17"
},
{
label: "外部署名推荐审批流程",
value: "16"
},
{
label: "加入标准化协会信息提报流程",
value: "15"
},
{
label: "参与外部标准制修订信息提报流程",
value: "14"
},
{
label: "重点认证标准/政策合规性项目审查流程",
value: "laws3"
},
{
label: '外部标准化协会入会流程',
value: "20"
},
{
label: '外部标准化协会参会流程',
value: "21"
},
{
label: '外部标准化会后管理流程',
value: "22"
},
{
label: "企标废止流程",
value: "24"
},
{
label: "企标制修订计划管控",
value: "25"
},
{
label: "企标制修订立项",
value: "26"
},
{
label: "问答流程",
value: "27"
}
],
formDisableFlag: false,
pickerOptions: {
disabledDate(time) {
const start = new Date(new Date().toLocaleDateString());
start.setTime(start.getTime());
return time.getTime() < start;
} }
}
}; };
},
methods: {
getPrcNameFilter(row){
if(row && row.prcType === '25' && row.taskInfo === '技术标准起草'){
let _index = row.prcName.lastIndexOf('-')
return row.prcName.slice(0 , _index + 1) + '企标制修订'
}else if(row && row.prcType === 'buss3' && row.taskInfo === '产品标准起草'){
let _index = row.prcName.lastIndexOf('-')
return row.prcName.slice(0 , _index + 1) + '企标制修订'
}else if(row && row.prcType === 'buss3' && row.taskInfo === '技术标准起草'){
let _index = row.prcName.lastIndexOf('-')
return row.prcName.slice(0 , _index + 1) + '企标制修订'
}else {
return row.prcName
}
},
/**
* @description: 根据流程类型获取流程名称
* @date: 2020-11-25 15:47:12
* @auth: chenxiaoxi
*/
getPrcName(prcType, taskInfo) {
let prcName = "";
if(prcType === '25' && taskInfo === '技术标准起草'){
prcName = '企标制修订-技术标准'
return prcName
}
if(prcType === 'buss3' && taskInfo === '产品标准起草'){
prcName = '企标制修订-产品标准'
return prcName
}
if(prcType === 'buss3' && taskInfo === '技术标准起草'){
prcName = '企标制修订-技术标准'
return prcName
}
this.processTypeList.map(item => {
if (item.value === prcType) {
prcName = item.label;
}
});
return prcName;
},
/**
* @description: 委托
* @date: 2020-12-14 15:51:10
* @auth: chenxiaoxi
*/
changeAssigneeNew(treeNode) {
changeAssigneeNew({
taskId: this.$store.getters.getHandleInfo.taskIds, // 任务id
assignee: treeNode.id, // 被委托人
userId: this.$store.getters.userInfo.userId, // 委托人
pId: this.$store.getters.getHandleInfo.prcId // 流程实例
}).then(res => {
if (res.success) {
this.$message.success("委托成功");
setTimeout(() => {
this.$router.push("/processCenter");
}, 100);
this.visibleTree = false;
} else {
this.$message.warning(res.message);
}
});
},
/**
* @description: 对表单部分字段进行校验
* @date: 2021-01-15 10:00:16
* @auth: chenxiaoxi
*/
handleValidField(field) {
this.$refs["prcForm"].validateField(field);
},
/**
* @description: 查询下一节点处理人(高级经理)
* @date: 2021-03-11
* @auth: WangXu
*/
getResByCurrentRoleId(roleIds, roleName, callback) {
// 获取当前 foRoleId 有 otherFORoleId 就一定是 其他起草人填写的 FO
// 否则一定是主起草人填写的 FO
this.$http.get("sys/role/getParentsByFOs", {
ids: roleIds, // 当前登录人的角色
roleHierarchyName: roleName // 上级角色
}, {}, res => {
if (res.ok) {
callback.call(this, res.data);
} else {
this.$message.warning(res.message);
}
});
}
},
computed: {},
watch: {},
mounted() {
}
};
</script> </script>
@@ -181,7 +181,7 @@
fileName: '', fileName: '',
accept: '', accept: '',
fileMax_M: 0, fileMax_M: 0,
taskKey: this.$route.query.taskKey, taskKey: this.$route.query.taskDefinitionKey,
} }
}, },
@@ -64,7 +64,9 @@
} }
}, },
mounted() { mounted() {
// this.getHistoryData() if (this.$route.query.prcNum) {
this.getHistoryData()
}
}, },
methods: { methods: {
getHistoryData() { getHistoryData() {
@@ -285,6 +285,38 @@
} }
}) })
}, },
getData(item) {
let row = item ? JSON.parse(JSON.stringify(item)) : {}
this.roleForm = {
djrUserIds: row.djrUserIds,
djrUserNames: row.djrUserNames,
glyUserId: row.glyUserId,
glyUserName: row.glyUserName,
pzr1UserId: row.pzr1UserId,
pzr1UserName: row.pzr1UserName,
pzr2UserId: row.pzr2UserId,
pzr2UserName: row.pzr2UserName,
sdr1UserIds: row.sdr1UserIds,
sdr1UserNames: row.sdr1UserNames,
sdr2UserIds: row.sdr2UserIds,
sdr2UserNames: row.sdr2UserNames,
shr1UserIds: row.shr1UserIds,
shr1UserNames: row.shr1UserNames,
shr2UserIds: row.shr2UserIds,
shr2UserNames: row.shr2UserNames,
startUser: row.startUser,
startUserName: row.startUserName,
}
this.roleForm = {...this.roleForm}
},
} }
} }
</script> </script>
@@ -183,7 +183,7 @@
editNum: 0, editNum: 0,
selectList: [], selectList: [],
deleteList: [], deleteList: [],
taskKey: this.$route.query.taskKey,//流程节点key taskKey: this.$route.query.taskDefinitionKey,//流程节点key
} }
}, },
computed: { computed: {
@@ -271,7 +271,7 @@
import solicitationList from "./components/solicitationList";//征求意见列表 import solicitationList from "./components/solicitationList";//征求意见列表
import policySolicitingOpinions from "./components/policySolicitingOpinions"; import policySolicitingOpinions from "./components/policySolicitingOpinions";
import processFile from "../../components/processFile"; import processFile from "../../components/processFile";
import {queryTaskFirst, saveTaskFirst, taskDel, changeAssigneeNew} from "api/process"; import {queryTaskFirst, saveTaskFirst, taskDel, changeAssigneeNew, inboundLiaisonDetail} from "api/process";
import axios from "axios"; import axios from "axios";
export default { export default {
@@ -332,11 +332,12 @@
commentText: '', commentText: '',
fileListName: '', fileListName: '',
fileName: '', fileName: '',
taskKey: this.$route.query.taskKey, taskKey: this.$route.query.taskDefinitionKey,
title: '', title: '',
checkBox: false, checkBox: false,
selectType: '', selectType: '',
roleForm:{}, roleForm: {},
bpnId: '',
} }
}, },
computed: { computed: {
@@ -437,6 +438,9 @@
return true return true
}, },
}, },
mounted() {
this.getData()
},
methods: { methods: {
handlePreview(file) { handlePreview(file) {
let attId = "" let attId = ""
@@ -484,16 +488,22 @@
//保存事件 //保存事件
handleSave() { handleSave() {
this.saveLoading = true; this.saveLoading = true;
if (!this.taskKey || this.taskKey == 'PolicySolicitOpinionProcessKey1') {
this.draftSaving()
}
},
//草稿保存
draftSaving() {
let _formData = new FormData(); let _formData = new FormData();
let json = this.form let json = this.dataForm
json.commentText = this.commentText json.commentText = this.commentText
_formData.append('id', this.bpnId || '') _formData.append('id', this.bpnId || '')
_formData.append("createUser", this.$store.getters.userInfo.userId); _formData.append("createUser", this.$store.getters.userInfo.userId);
_formData.append("createUserName", this.$store.getters.userInfo.userName); _formData.append("createUserName", this.$store.getters.userInfo.userName);
_formData.append("prcType", "laws2"); _formData.append("prcType", "29");
_formData.append("json", JSON.stringify({ _formData.append("json", JSON.stringify({
form: json, form: json,
roleForm: this.roleForm, roleForm: this.$refs.personnelInformationRef.roleForm,
commentText: this.commentText commentText: this.commentText
})); }));
saveTaskFirst(_formData).then(res => { saveTaskFirst(_formData).then(res => {
@@ -508,13 +518,23 @@
handleSubmit() { handleSubmit() {
this.$refs['zczqyjForm'].validate((valid) => { this.$refs['zczqyjForm'].validate((valid) => {
if (valid) { if (valid) {
if (this.showPersonnel) { if (!this.taskKey || this.taskKey == 'PolicySolicitOpinionProcessKey1') {
this.$refs.personnelInformationRef.submit((row) => { this.$refs.personnelInformationRef.submit((row) => {
this.isSubmit = true this.isSubmit = true
this.saveLoading = true; this.saveLoading = true;
this.roleForm = row this.startProcessRollBack(row)
this.startProcessRollBack()
}) })
} else if (this.taskKey == 'PolicySolicitOpinionProcessKey2') {
this.isSubmit = true
this.saveLoading = true;
const json = Object.assign(this.dataForm);
json.commentText = this.commentText
json.approvalFlag = 0
let query = {
form: json,
commentText: this.commentText
}
this.completeTask(this.$route.query.taskIds, query)
} }
} else { } else {
return this.$message.warning('请完善基础信息') return this.$message.warning('请完善基础信息')
@@ -523,23 +543,33 @@
}, },
handleReject() { handleReject() {
// approvalFlag value:0通过 1驳回 // approvalFlag value:0通过 1驳回
if (this.taskKey == 'PolicySolicitOpinionProcessKey2') {
const json = Object.assign(this.dataForm);
json.commentText = this.commentText
json.approvalFlag = 1
let query = {
form: json,
commentText: this.commentText
}
this.completeTask(this.$route.query.taskIds,query)
}
}, },
//启动流程 //启动流程
startProcessRollBack() { startProcessRollBack(roleForm) {
const json = Object.assign(this.dataForm, this.roleForm); const json = Object.assign(this.dataForm, roleForm);
json.commentText = this.commentText json.commentText = this.commentText
let query = {
form: json,
commentText: this.commentText
}
this.$http.post('lawss/activiti/startProcessRollBack', { this.$http.post('lawss/activiti/startProcessRollBack', {
createUser: this.$store.getters.userInfo.userId, createUser: this.$store.getters.userInfo.userId,
createUserName: this.$store.getters.userInfo.userName, createUserName: this.$store.getters.userInfo.userName,
type: '29', type: '29',
json: JSON.stringify({ json: JSON.stringify(query)
form: json,
roleForm: this.roleForm,
commentText: this.commentText
})
}, {_this: this}, res => { }, {_this: this}, res => {
if (res.ok) { if (res.ok) {
this.completeTask(res.data) this.completeTask(res.data, query)
} else { } else {
this.$message.warning('流程启动失败') this.$message.warning('流程启动失败')
this.isSubmit = false this.isSubmit = false
@@ -548,11 +578,9 @@
}) })
}, },
//提交流程 //提交流程
completeTask(taskId) { completeTask(taskId, query) {
const json = Object.assign(this.dataForm, this.roleForm);
json.commentText = this.commentText
this.$http.post('lawss/activiti/completeTask', { this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json), json: JSON.stringify(query),
taskId: taskId || this.taskId, taskId: taskId || this.taskId,
userId: this.$store.getters.userInfo.userId userId: this.$store.getters.userInfo.userId
}, {_this: this}, res => { }, {_this: this}, res => {
@@ -641,6 +669,27 @@
this.dataForm.zrdwUserName = '' this.dataForm.zrdwUserName = ''
this.dataForm = {...this.dataForm} this.dataForm = {...this.dataForm}
}, },
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.formProcessing(processForm)
}
}).catch(e => {
});
});
},
formProcessing(row) {
this.dataForm = row
this.dataForm = {...this.dataForm}
if (this.showPersonnel) {
this.$refs.personnelInformationRef.getData(row)
}
},
} }
} }
</script> </script>
File diff suppressed because it is too large Load Diff