布局政策征求意见流程

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>
import { changeAssigneeNew } from "api/process";
import {changeAssigneeNew} from "api/process";
export default {
name: "ProcessMixins",
mixins: [],
components: {},
data() {
return {
processTypeList: [
{
label: "标准调研流程",
value: "2"
export default {
name: "ProcessMixins",
mixins: [],
components: {},
data() {
return {
processTypeList: [
{
label: "标准调研流程",
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;
}
}
};
},
{
label: "标准入库流程",
value: "1"
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);
}
});
}
},
{
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"
}
],
formDisableFlag: false,
pickerOptions: {
disabledDate(time) {
const start = new Date(new Date().toLocaleDateString());
start.setTime(start.getTime());
return time.getTime() < start;
computed: {},
watch: {},
mounted() {
}
}
};
},
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>
@@ -181,7 +181,7 @@
fileName: '',
accept: '',
fileMax_M: 0,
taskKey: this.$route.query.taskKey,
taskKey: this.$route.query.taskDefinitionKey,
}
},
@@ -64,7 +64,9 @@
}
},
mounted() {
// this.getHistoryData()
if (this.$route.query.prcNum) {
this.getHistoryData()
}
},
methods: {
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>
@@ -183,7 +183,7 @@
editNum: 0,
selectList: [],
deleteList: [],
taskKey: this.$route.query.taskKey,//流程节点key
taskKey: this.$route.query.taskDefinitionKey,//流程节点key
}
},
computed: {
@@ -271,7 +271,7 @@
import solicitationList from "./components/solicitationList";//征求意见列表
import policySolicitingOpinions from "./components/policySolicitingOpinions";
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";
export default {
@@ -332,11 +332,12 @@
commentText: '',
fileListName: '',
fileName: '',
taskKey: this.$route.query.taskKey,
taskKey: this.$route.query.taskDefinitionKey,
title: '',
checkBox: false,
selectType: '',
roleForm:{},
roleForm: {},
bpnId: '',
}
},
computed: {
@@ -437,6 +438,9 @@
return true
},
},
mounted() {
this.getData()
},
methods: {
handlePreview(file) {
let attId = ""
@@ -484,16 +488,22 @@
//保存事件
handleSave() {
this.saveLoading = true;
if (!this.taskKey || this.taskKey == 'PolicySolicitOpinionProcessKey1') {
this.draftSaving()
}
},
//草稿保存
draftSaving() {
let _formData = new FormData();
let json = this.form
let json = this.dataForm
json.commentText = this.commentText
_formData.append('id', this.bpnId || '')
_formData.append("createUser", this.$store.getters.userInfo.userId);
_formData.append("createUserName", this.$store.getters.userInfo.userName);
_formData.append("prcType", "laws2");
_formData.append("prcType", "29");
_formData.append("json", JSON.stringify({
form: json,
roleForm: this.roleForm,
roleForm: this.$refs.personnelInformationRef.roleForm,
commentText: this.commentText
}));
saveTaskFirst(_formData).then(res => {
@@ -508,13 +518,23 @@
handleSubmit() {
this.$refs['zczqyjForm'].validate((valid) => {
if (valid) {
if (this.showPersonnel) {
if (!this.taskKey || this.taskKey == 'PolicySolicitOpinionProcessKey1') {
this.$refs.personnelInformationRef.submit((row) => {
this.isSubmit = true
this.saveLoading = true;
this.roleForm = row
this.startProcessRollBack()
this.startProcessRollBack(row)
})
} 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 {
return this.$message.warning('请完善基础信息')
@@ -523,23 +543,33 @@
},
handleReject() {
// approvalFlag value0通过 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() {
const json = Object.assign(this.dataForm, this.roleForm);
startProcessRollBack(roleForm) {
const json = Object.assign(this.dataForm, roleForm);
json.commentText = this.commentText
let query = {
form: json,
commentText: this.commentText
}
this.$http.post('lawss/activiti/startProcessRollBack', {
createUser: this.$store.getters.userInfo.userId,
createUserName: this.$store.getters.userInfo.userName,
type: '29',
json: JSON.stringify({
form: json,
roleForm: this.roleForm,
commentText: this.commentText
})
json: JSON.stringify(query)
}, {_this: this}, res => {
if (res.ok) {
this.completeTask(res.data)
this.completeTask(res.data, query)
} else {
this.$message.warning('流程启动失败')
this.isSubmit = false
@@ -548,11 +578,9 @@
})
},
//提交流程
completeTask(taskId) {
const json = Object.assign(this.dataForm, this.roleForm);
json.commentText = this.commentText
completeTask(taskId, query) {
this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json),
json: JSON.stringify(query),
taskId: taskId || this.taskId,
userId: this.$store.getters.userInfo.userId
}, {_this: this}, res => {
@@ -641,6 +669,27 @@
this.dataForm.zrdwUserName = ''
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>
File diff suppressed because it is too large Load Diff