Merge branch 'test_20240409_for39' into 'master'

标准征求意见流程 意见反馈节点

See merge request laws-foton-slrs/foton-laws-system-front!184
This commit is contained in:
王晓勇
2024-05-22 09:57:29 +00:00
17 changed files with 2040 additions and 1753 deletions
@@ -48,6 +48,10 @@ export default {
// this.getActiveName()
},
mounted () {
if (this.$route.query.keynoteActiveName) {
this.keynoteActiveName = this.$route.query.keynoteActiveName
this.$router.replace({ query: null })
}
var list = [];
const menuList = this.$store.getters.getMenuList;
let menuData = [];
@@ -345,7 +345,7 @@
<h4>费用管理部门</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input :disabled="disabledXX" v-model="roleForm.feeUserId" style="display: none;"></el-input>
<el-input :disabled="disabledXX" v-model="roleForm.feeUser" readonly placeholder="选择费用管理部门" @click.native="choiceZRR('feeUser', '选择费用管理部门', roleForm.feeUser)">
<el-input :disabled="disabledXX" v-model="roleForm.feeUser" readonly placeholder="选择费用管理部门" @click.native="choiceFEE('feeUser', '选择费用管理部门', roleForm.feeUserId)">
</el-input>
</div>
</el-form-item>
@@ -425,6 +425,12 @@
:nodeList="nodeList"
@checkedRole="drawerCheck"
/>
<Role-tree v-if="!disabledXX"
is-title="选择人员信息"
:is-visible.sync="roleShowflagFEE"
:nodeList="nodeList"
@checkedRole="drawerCheckFEE"
/>
<Role-tree v-if="!disabledXX"
check-box
is-title="选择联络人"
@@ -529,7 +535,7 @@ export default {
directorUserId: '',
directorUserName: '',
},
rh_rules: {},
rh_rules: { comityName:[{required: true, message:' 请选择标委会', trigger: ['blur', 'change']}],},
roleFormRules: {
dockUserName: [{required: true, message: "请选择标准法规工程师", trigger: ['blur', 'change']}],
startUserName: [{required: true, message: "请选择标准法规部人员", trigger: ['blur', 'change']}],
@@ -541,6 +547,7 @@ export default {
roleShowflag: false,
roleShowflagOne: false,
telShowflag: false,
roleShowflagFEE: false,
nodeList: [],
nodeListOne: [],
nodeListTel: [],
@@ -759,11 +766,19 @@ export default {
// 流程阶段负责人选择
choiceZRR(type, title, id) {
this.nodeList = []
this.nodeList.push(id)
if (id && id.length > 0) {
this.nodeList = id.split(',')
}
this.type = type
this.drawerTitle = title
this.roleShowflag = true
},
choiceFEE(type, title, id) {
this.nodeList = []
this.nodeList = JSON.parse(JSON.stringify(id.split(',')))
this.drawerTitle = title
this.roleShowflagFEE = true
},
drawerCheck(data) {
var idList = ''
var nameList = ''
@@ -786,6 +801,21 @@ export default {
}
this.roleShowflag = false
},
drawerCheckFEE(data) {
var idList = ''
var nameList = ''
data.forEach(item => {
if (nameList.length > 0) {
nameList += ','
idList += ','
}
idList += item.id;
nameList += item.name;
});
this.roleForm.feeUser = nameList
this.roleForm.feeUserId = idList
this.roleShowflag = false
},
// 流程阶段人选择
choiceZRROne(type, title, id) {
@@ -381,6 +381,7 @@ export default {
},
// 退回按钮
handleSubmitNo() {
this.$refs['rh_pageData'].clearValidate('comityOpRoleId')
if (this.commentText === '') {
this.$message.warning('请输入审批意见')
} else {
@@ -391,22 +392,18 @@ export default {
commentText: this.commentText,
rh_pageData: this.rh_pageData,
}
this.$refs['rh_pageData'].validate((valid) => {
if (valid) {
this.isSubmit = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('退回成功')
this.$router.push("/processCenter");
}
}).finally(() => {
this.isSubmit = false
})
this.isSubmit = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('退回成功')
this.$router.push("/processCenter");
}
}).finally(() => {
this.isSubmit = false
})
}
},
@@ -393,6 +393,7 @@ export default {
let json = {
passFlag: '0',
rh_pageData: this.rh_pageData,
commentText: this.textarea,
roleList: this.roleForm
}
if (this.taskInfo === '标准法规部主管领导审核') {
@@ -273,7 +273,7 @@
<h4>管理推进部</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input :disabled="disabledXX" v-model="roleForm.feeUserId" style="display: none;"></el-input>
<el-input :disabled="disabledXX" v-model="roleForm.feeUser" readonly placeholder="选择费用管理部门" @click.native="choiceZRR('feeUser', '选择费用管理部门', roleForm.feeUser)">
<el-input :disabled="disabledXX" v-model="roleForm.feeUser" readonly placeholder="选择管理推进部" @click.native="choiceZRRFEE('feeUser', '选择费用管理部门', roleForm.feeUserId)">
</el-input>
</div>
</el-form-item>
@@ -346,6 +346,12 @@
:nodeList="nodeListOne"
@checkedRole="drawerCheckOne"
/>
<Role-tree v-if="!disabledXX"
is-title="选择人员信息"
:is-visible.sync="roleShowflagFEE"
:nodeList="nodeListOne"
@checkedRole="drawerCheckFEE"
/>
<Role-tree v-if="!disabledXX"
is-title="选择人员信息"
:is-visible.sync="roleShowflag"
@@ -461,6 +467,7 @@ export default {
roleShowflagOne: false,
isSubmit: false,
saveLoading: false,
roleShowflagFEE: false,
commentInfo: '',
bpnId: '',
// 设置当前日期之前不可选择
@@ -666,7 +673,7 @@ export default {
// 流程阶段负责人选择
choiceZRR(type, title, id) {
this.nodeList = []
this.nodeList.push(id)
this.nodeList = JSON.parse(JSON.stringify(id.split(',')))
this.type = type
this.drawerTitle = title
this.roleShowflag = true
@@ -700,6 +707,29 @@ export default {
this.drawerTitleOne = title
this.roleShowflagOne = true
},
choiceZRRFEE(type, title, id) {
this.nodeListOne = []
if (id && id.length > 0) {
this.nodeListOne = id.split(',')
}
this.drawerTitleOne = title
this.roleShowflagFEE = true
},
drawerCheckFEE(data) {
var idList = ''
var nameList = ''
data.forEach(item => {
if (nameList.length > 0) {
nameList += ','
idList += ','
}
idList += item.id;
nameList += item.name;
});
this.roleForm.feeUser = nameList
this.roleForm.feeUserId = idList
this.roleShowflag = false
},
drawerCheckOne(data) {
this.unqualidiedData.forEach(item => {
item.engineer = data[0].name
@@ -50,7 +50,7 @@
<div style="margin-top: 10px;width: 300px;">
<el-input :disabled="disabledXX" v-model="roleForm.directorUser" style="display: none;"></el-input>
<el-input :disabled="disabledXX" v-model="roleForm.directorUserName" readonly placeholder="选择标准法规部部长"
@click.native="choiceZRR('directorUser', '选择标准法规部部长', roleForm.directorUser)"></el-input>
@click.native="choiceDirector('directorUser', '选择标准法规部部长', roleForm.directorUser)"></el-input>
</div>
</el-form-item>
</el-card>
@@ -73,6 +73,13 @@
@checkedRole="checkedRole"
:nodeList="nodeList"
></Role-tree>
<Role-tree v-if="!disabledXX"
check-box
:is-title="drawerTitle"
:is-visible.sync="modalshowflagDirector"
@checkedRole="checkedRole"
:nodeList="nodeList"
></Role-tree>
<ProcessFooter v-show="!disabledXX"
show-save
show-submit
@@ -106,6 +113,7 @@ export default {
saveLoading: false,
modalshowflag: false, // drawer开关
modalshowflag2: false,
modalshowflagDirector:false,
nodeList2: [],
drawerTitle: "", //drawer标题
nodeList: [],
@@ -151,6 +159,13 @@ export default {
this.drawerTitle = title;
this.modalshowflag = true;
},
choiceDirector(type, title, id) {
this.nodeList = [];
this.nodeList.push(id);
this.type = type;
this.drawerTitle = title;
this.modalshowflagDirector = true;
},
// choiceZRRS() {
// this.nodeList2 = [];
// if (this.roleForm.dockUser.length > 0) {
@@ -165,6 +180,7 @@ export default {
} else if (this.type === "directorUser") {
this.roleForm.directorUser = data[0].id;
this.roleForm.directorUserName = data[0].name;
this.modalshowflagDirector = false
}
this.modalshowflag = false;
},
@@ -50,7 +50,7 @@
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.workPeople" style="display: none;"></el-input>
<el-input v-model="roleForm.workPeopleName" placeholder="选择责任工程师"
@click.native="choiceZRR('workPeople', '选择责任工程师', roleForm.workPeople)">
@click.native="choiceZRRS('workPeople', '选择责任工程师', roleForm.workPeople)">
</el-input>
</div>
</el-form-item>
@@ -88,7 +88,6 @@
:nodeList="nodeList"
></Role-tree>
<ProcessFooter
show-save
show-submit
:submitLoading="isSubmit"
:saveLoading="isSubmit"
@@ -179,7 +178,7 @@ export default {
},
choiceZRRS() {
this.nodeList2 = [];
if (this.roleForm.workPeople.length > 0) {
if (this.roleForm.workPeople && this.roleForm.workPeople.length > 0) {
this.nodeList2 = this.roleForm.workPeople.split(",");
}
this.modalshowflag2 = true;
@@ -441,6 +441,7 @@ export default {
loading: false,
detailData: [], //审批历史信息
standardData: [],
selectList: [],
standModel: false,
pageNo: 1,
pageSizeNo: this.$store.getters.userInfo.configContent,
@@ -680,6 +681,7 @@ export default {
this.$http.post("lawss/activiti/completeTask", {
taskIds: this.$route.query.taskIds,
userId: this.$store.getters.userInfo.userId,
commentText: this.commentStep,
json: JSON.stringify(json)
}, {
_this: this
@@ -692,18 +694,24 @@ export default {
});
},
handleSubmit() {
let isValid = true
if (this.participantsData.length < 1) {
this.$message.warning("项目信息不能为空");
} else {
this.participantsData.forEach(item => {
if (item.projectNumber === undefined) {
if (item.projectNumber === undefined || item.projectNumber === '') {
this.$message.warning("请完善项目信息");
isValid = false
}
});
if (!isValid){
return
}
this.wbbzform.commentText = this.commentStep;
let json = {
participantsData: this.participantsData,
wbbzform: this.wbbzform,
commentText: this.commentStep,
signFlag: '1',
};
this.isSubmit = true;
@@ -723,6 +731,7 @@ export default {
this.isSubmit = false
});
} else {
this.isSubmit = false
return this.$message.warning("请完善基础信息");
}
});
@@ -735,15 +744,46 @@ export default {
projectName: this.projectName,
expenses: this.expenses,
costBudget: this.costBudget,
delId: Date.now()
};
this.participantsData.push(list);
},
//批量刪除按鈕事件
deleteProject() {
if(this.selectList.length < 1){
this.$message.warning('请选择一条数据进行删除')
}else{
this.$confirm('您确认删除这些数据?', '提示', {
confirmButtonText: "确认",
confirmButtonClass: "common-button-primary",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
let exits = [];
this.selectList.map(item => {
let index;
index = this.participantsData.findIndex(items => {
return items.delId === item;
});
if (index > -1) {
this.participantsData.splice(index, 1);
}
exits.push(item);
});
this.selectList = [];
}).catch(() => {
});
}
},
handleSelectionChange1(data) {
if (this.participantsData.length === 0){
this.selectList = []
return
}
this.selectList = []
for (let i = 0; i < data.length; i++){
this.selectList.push(data[i].delId)
}
}
},
computed: {
@@ -373,6 +373,7 @@ export default {
let json = {
participantsData: this.participantsData,
wbbzform: this.wbbzform,
commentText: this.commentText,
signFlag: '2',
};
this.$refs["wbbzForm"].validate((valid) => {
@@ -410,6 +411,7 @@ export default {
let json = {
participantsData: this.participantsData,
wbbzform: this.wbbzform,
commentText: this.commentText,
signFlag: '1',
};
this.$refs["wbbzForm"].validate((valid) => {
@@ -373,6 +373,7 @@ export default {
let json = {
participantsData: this.participantsData,
wbbzform: this.wbbzform,
commentText: this.commentText,
signFlag: "2"
};
this.$refs["wbbzForm"].validate((valid) => {
@@ -410,6 +411,7 @@ export default {
let json = {
participantsData: this.participantsData,
wbbzform: this.wbbzform,
commentText: this.commentText,
signFlag: '1',
};
this.$refs["wbbzForm"].validate((valid) => {
@@ -373,6 +373,7 @@ export default {
let json = {
participantsData: this.participantsData,
wbbzform: this.wbbzform,
commentText: this.commentText,
bzFlag: '2',
};
this.$refs["wbbzForm"].validate((valid) => {
@@ -410,6 +411,7 @@ export default {
let json = {
participantsData: this.participantsData,
wbbzform: this.wbbzform,
commentText: this.commentText,
bzFlag: '1',
};
this.$refs["wbbzForm"].validate((valid) => {
@@ -548,18 +548,16 @@ export default {
parList.forEach(items => {
if(items.name === item.workPeople){
this.$message.warning('请勿重复添加参与人')
return
}else{
throw new Error('请勿重复添加参与人')
}
})
})
}else{
this.participantsData = data
this.participantsData.forEach(item => {
}
this.participantsData[this.selectedId] = data[0]
this.participantsData.forEach(item => {
this.$set(item, "workPeople", item.name)
});
this.participantsData = JSON.parse(JSON.stringify(this.participantsData));
}
this.participantsData = JSON.parse(JSON.stringify(this.participantsData));
},
handleTabs(type) {
@@ -618,6 +616,33 @@ export default {
//流程提交
handleSubmit() {
this.isSubmit = true
let isValid1 = true
let isValid2 = true
this.participantsData.forEach(item => {
if (Array.isArray(item) && item.length === 0) {
this.isSubmit = false
isValid1 = false
}else if (typeof item === 'object') {
if (!item.accounts || !item.duties || !item.email || !item.passwords) {
this.isSubmit = false
isValid1 = false
}
}
})
this.associationData.forEach(item => {
if (!item.contactPerson || !item.mailbox || !item.telephone) {
this.isSubmit = false
isValid2 = false
}
})
if (!isValid1) {
this.$message.warning('请完善参与人信息')
return
}
if (!isValid2) {
this.$message.warning('请完善协会信息')
return
}
this.wbbzform.dlFlag = '1'
this.wbbzform.comityOptionsOne = this.comityOptionsOne
this.wbbzform.comityOptionsTwo = this.comityOptionsTwo
@@ -645,13 +670,23 @@ export default {
});
},
handleSelectionChange1(data){
if (this.participantsData.length === 0){
this.selectList1 = []
return
}
this.selectList1 = []
for (let i = 0; i < data.length; i++){
this.selectList1.push(data[i].account)
}
},
handleSelectionChange2(data){
if (this.associationData.length === 0){
this.selectList2 = []
return
}
this.selectList2 = []
for (let i = 0; i < data.length; i++){
this.selectList2.push(data[i].id)
this.selectList2.push(data[i].delId)
}
},
//添加参与人信息
@@ -692,13 +727,37 @@ export default {
contactPerson: this.contactPerson,
telephone: this.telephone,
mailbox: this.mailbox,
delId: Date.now()
}
console.log(this.associationData);
this.associationData.push(list)
},
//批量删除协会信息
deleteSociety(){
if(this.selectList2.length < 1){
this.$message.warning('请选择一条数据进行删除')
}else{
this.$confirm('您确认删除这些数据?', '提示', {
confirmButtonText: "确认",
confirmButtonClass: "common-button-primary",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
let exits = [];
this.selectList2.map(item => {
let index;
index = this.associationData.findIndex(items => {
return items.delId === item;
});
if (index > -1) {
this.associationData.splice(index, 1);
}
exits.push(item);
});
this.selectList2 = [];
}).catch(() => {
});
}
},
// 删除上传的文件
delFileInfo(file, fileList) {
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -136,7 +136,7 @@
<div style="margin-top: 10px;width: 300px;">
<el-input :disabled="disabledXX" v-model="roleForm.dockUser" style="display: none;"></el-input>
<el-input :disabled="disabledXX" v-model="roleForm.dockUserName" readonly placeholder="选择署名人领导"
@click.native="choiceZRR('dockUser', '选择署名人领导', roleForm.dockUser)">
@click.native="choiceDOCK('dockUser', '选择署名人领导', roleForm.dockUser)">
</el-input>
</div>
</el-form-item>
@@ -163,7 +163,7 @@
<div style="margin-top: 10px;width: 300px;">
<el-input :disabled="disabledXX" v-model="roleForm.directorUser" style="display: none;"></el-input>
<el-input :disabled="disabledXX" v-model="roleForm.directorUserName" readonly placeholder="选择技术管理中心主任"
@click.native="choiceZRR('directorUser', '选择技术管理中心主任', roleForm.directorUser)"></el-input>
@click.native="choiceDirector('directorUser', '选择技术管理中心主任', roleForm.directorUser)"></el-input>
</div>
</el-form-item>
</el-card>
@@ -349,6 +349,19 @@
@checkedRole="checkedRole"
:nodeList="nodeList"
></Role-tree>
<Role-tree v-if="!disabledXX"
check-box
:is-title="drawerTitle"
:is-visible.sync="modalshowflagDirector"
@checkedRole="checkedRole"
:nodeList="nodeList"
></Role-tree>
<Role-tree v-if="!disabledXX"
:is-title="drawerTitle"
:is-visible.sync="modalshowflagDOCK"
@checkedRole="checkedRoleDOCK"
:nodeList="nodeList"
></Role-tree>
<!-- 多选责任人-->
<Role-tree v-if="!disabledXX"
is-title="选择署名人"
@@ -382,6 +395,8 @@ export default {
drawerTitle: "", //drawer标题
modalshowflag: false, // 选择人员drawer开关
modalshowflag2: false,
modalshowflagDOCK: false,
modalshowflagDirector: false,
standModel: false, //添加标准抽屉
zrIndex: "",
nodeList: [], //存放人员信息数组
@@ -690,6 +705,7 @@ export default {
this.dataList.forEach(item => {
if( item.workPeople === ''){
this.$message.warning('请选择推荐署名人及单位')
throw new Error('请选择推荐署名人及单位')
}
})
let json = {
@@ -753,6 +769,7 @@ export default {
this.dataList.forEach(item => {
if( item.workPeople === ''){
this.$message.warning('请选择推荐署名人及单位')
throw new Error('请选择推荐署名人及单位')
}
})
let json = {
@@ -794,6 +811,35 @@ export default {
this.drawerTitle = title;
this.modalshowflag = true;
},
choiceDirector(type, title, id) {
this.nodeList = [];
this.nodeList.push(id);
this.drawerTitle = title;
this.type = type;
this.modalshowflagDirector = true;
},
choiceDOCK(type, title, id) {
this.nodeList = [];
if (id && id.length > 0) {
this.nodeList = id.split(',')
}
this.drawerTitle = title;
this.modalshowflagDOCK = true;
},
checkedRoleDOCK (data) {
let idList = "";
let nameList = "";
data.forEach(item => {
if (nameList.length) {
nameList += ",";
idList += ",";
}
idList += item.id;
nameList += item.name;
});
this.roleForm.dockUser = idList
this.roleForm.dockUserName = nameList
},
checkedRole (data) {
if (this.type === "dockUser") {
this.roleForm.dockUser = data[0].id;
@@ -801,6 +847,7 @@ export default {
} else if (this.type === "directorUser") {
this.roleForm.directorUser = data[0].id;
this.roleForm.directorUserName = data[0].name;
this.modalshowflagDirector = false
}else if(this.type === 'ministerUser'){
this.roleForm.ministerUser = data[0].id;
this.roleForm.ministerUserName = data[0].name;
@@ -381,11 +381,8 @@ export default {
this.searchSarAccess()
},
back() {
this.$router.push({
name: 'NonConfomity',
query:{
activeName:'keynote'
}
this.$router.replace({
name: 'ProblemControl'
})
},
// 清空 查询条件
@@ -567,11 +567,10 @@ export default {
this.getTableBtn()
},
back () {
this.$router.push({
name: 'NonConfomity',
query:{
activeName:'keynote',
keynoteActiveName:'product'
this.$router.replace({
name: 'ProblemControl',
query: {
keynoteActiveName: 'product'
}
})
},