From 358ef2f69f3c6fac1065b38f4f25710c82125326 Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: 星期二, 26 十一月 2024 16:06:51 +0800
Subject: [PATCH] 项目管理
---
src/views/safetyReview/projectManage/components/basicInfo.vue | 8 +++++++-
src/views/safetyReview/projectManage/components/chooseExpert.vue | 20 ++++++++++++++------
src/views/safetyReview/projectManage/components/projectArchive.vue | 11 ++++++++++-
src/views/safetyReview/projectManage/components/expertsList.vue | 5 +++++
src/views/safetyReview/projectManage/components/projectApproval.vue | 15 ++++++++++++---
5 files changed, 48 insertions(+), 11 deletions(-)
diff --git a/src/views/safetyReview/projectManage/components/basicInfo.vue b/src/views/safetyReview/projectManage/components/basicInfo.vue
index ae1400d..e26a50e 100644
--- a/src/views/safetyReview/projectManage/components/basicInfo.vue
+++ b/src/views/safetyReview/projectManage/components/basicInfo.vue
@@ -113,7 +113,8 @@
projectAddress: [{ required: true, message: "项目地点不能为空", trigger: "blur" }],
deptUserName: [{ required: true, message: "处室带队人员不能为空", trigger: "blur" }],
remark: [{ required: true, message: "概况描述不能为空", trigger: "blur" }],
- }
+ },
+ isAdmin: false
})
const formRef = ref();
const userInfo = ref()
@@ -121,6 +122,7 @@
userInfo.value = JSON.parse(Cookies.get('userInfo'))
state.formData.deptName = userInfo.value.dept.deptName
state.formData.deptId = userInfo.value.deptId
+ state.isAdmin = userInfo.value.admin
})
@@ -129,6 +131,10 @@
let valid = null
if(type === 'add' || type === 'clickEdit'){
valid = await formRef.value.validate();
+ if (state.isAdmin) {
+ ElMessage.warning("当前用户暂无权限");
+ return;
+ }
}
if(type === 'add'){
if(valid){
diff --git a/src/views/safetyReview/projectManage/components/chooseExpert.vue b/src/views/safetyReview/projectManage/components/chooseExpert.vue
index 3fd836d..495fbf7 100644
--- a/src/views/safetyReview/projectManage/components/chooseExpert.vue
+++ b/src/views/safetyReview/projectManage/components/chooseExpert.vue
@@ -3,7 +3,7 @@
<div style="margin-bottom: 50px">
<div class="fTop">
<span style="font-weight: 600">固定选用部分</span>
- <el-button type="primary" :disabled="state.info.step == 4" style="width: 100px" @click="chooseExpert('选取专家')">选取专家</el-button>
+ <el-button type="primary" :disabled="state.info.step == 4 || state.isAdmin" style="width: 100px" @click="chooseExpert('选取专家')">选取专家</el-button>
</div>
<el-table v-loading="fLoading" :data="fixedDataList" :border="true" ref="fTableRef" style="width: 100%;">
<el-table-column label="姓名" prop="name" align="center" />
@@ -21,7 +21,7 @@
<el-table-column label="专业领域" prop="domain" align="center" />
<el-table-column fixed="right" label="操作" align="center" class-name="small-padding fixed-width" width="180">
<template #default="scope">
- <el-button link type="primary" @click="delF(scope.row)" :disabled="state.info.step == 4">删除</el-button>
+ <el-button link type="primary" @click="delF(scope.row)" :disabled="state.info.step == 4 || state.isAdmin">删除</el-button>
</template>
</el-table-column>
</el-table>
@@ -54,7 +54,7 @@
</el-col>
<el-col :span="8">
<el-form-item style="float: right;">
- <el-button style="width: 100px;margin-right: -32px;" :disabled="state.info.step == 4" type="primary" @click="random">随机抽取</el-button>
+ <el-button style="width: 100px;margin-right: -32px;" :disabled="state.info.step == 4 || state.isAdmin" type="primary" @click="random">随机抽取</el-button>
</el-form-item>
</el-col>
</el-row>
@@ -88,7 +88,7 @@
<el-table-column label="专业领域" prop="domain" align="center" />
<el-table-column fixed="right" label="操作" align="center" class-name="small-padding fixed-width" width="180">
<template #default="scope">
- <el-button link type="primary" @click="delR(scope.row)" :disabled="state.info.step == 4">删除</el-button>
+ <el-button link type="primary" @click="delR(scope.row)" :disabled="state.info.step == 4 || state.isAdmin">删除</el-button>
</template>
</el-table-column>
</el-table>
@@ -103,6 +103,7 @@
import {getExpertTypes} from "@/api/form";
import {ElMessage} from "element-plus";
import {addProject, choose, expertRound, getCheckInfo} from "@/api/projectManage";
+import Cookies from "js-cookie";
const emit = defineEmits(["getNextStatus"]);
const fTableRef = ref(null);
@@ -139,17 +140,24 @@
id: 3,
name: '三级'
},
- ]
+ ],
+ isAdmin: false
})
-
+const userInfo = ref()
onMounted(() =>{
+ userInfo.value = JSON.parse(Cookies.get('userInfo'))
+ state.isAdmin = userInfo.value.admin
getDomain()
})
const riskOpen = async (type,val) => {
console.log("type",type,val)
if(type === 'add' || type === 'clickEdit'){
+ if (state.isAdmin) {
+ ElMessage.warning("当前用户暂无权限");
+ return;
+ }
if(fixedDataList.value.length === 0 && randomDataList.value.length === 0){
ElMessage.warning('请选择专家')
return;
diff --git a/src/views/safetyReview/projectManage/components/expertsList.vue b/src/views/safetyReview/projectManage/components/expertsList.vue
index 84be597..cf258f0 100644
--- a/src/views/safetyReview/projectManage/components/expertsList.vue
+++ b/src/views/safetyReview/projectManage/components/expertsList.vue
@@ -139,6 +139,9 @@
const openDialog = (type,choosedData,domainList) => {
research()
+ nextTick(() => {
+ tableRef.value.clearSelection()
+ })
data.dialogVisible = true
data.choosed = choosedData.map(item => {
return{
@@ -166,6 +169,8 @@
emit('getName',data.title,data.choosed)
tableRef.value.clearSelection()
data.dialogVisible = false
+ }else{
+ ElMessage.warning('请选择专家')
}
}
diff --git a/src/views/safetyReview/projectManage/components/projectApproval.vue b/src/views/safetyReview/projectManage/components/projectApproval.vue
index 48674bf..863986d 100644
--- a/src/views/safetyReview/projectManage/components/projectApproval.vue
+++ b/src/views/safetyReview/projectManage/components/projectApproval.vue
@@ -60,8 +60,8 @@
</el-table-column>
<el-table-column fixed="right" label="操作" align="center" class-name="small-padding fixed-width" width="180">
<template #default="scope">
- <el-button link type="primary" :disabled="state.dataForm.state >= 2 " v-if="scope.row.teamLeader === 1" @click="scope.row.teamLeader = 0">取消组长</el-button>
- <el-button link type="primary" :disabled="state.dataForm.state >= 2" v-else @click="scope.row.teamLeader = 1">设为组长</el-button>
+ <el-button link type="primary" :disabled="state.dataForm.state >= 2 || state.isAdmin" v-if="scope.row.teamLeader === 1" @click="scope.row.teamLeader = 0">取消组长</el-button>
+ <el-button link type="primary" :disabled="state.dataForm.state >= 2 || state.isAdmin" v-else @click="scope.row.teamLeader = 1">设为组长</el-button>
</template>
</el-table-column>
</el-table>
@@ -107,6 +107,7 @@
import axios from "axios";
import {generateWordDocument} from "@/views/safetyReview/projectManage/components/exportWord";
import {addProject, checkProject, choose, getCheckInfo, getFileInfo, getProjectList} from "@/api/projectManage";
+import Cookies from "js-cookie";
const emit = defineEmits(["getNextStatus","backStatus"]);
const prop = defineProps(['projectId'])
const tableRef = ref()
@@ -135,15 +136,19 @@
Authorization: getToken()
},
fileList: [],
- projectId: null
+ projectId: null,
+ isAdmin: false
});
const projectType = ref('')
+const userInfo = ref()
onMounted(async () => {
if(prop.projectId){
state.projectId = prop.projectId
await getList()
}
+ userInfo.value = JSON.parse(Cookies.get('userInfo'))
+ state.isAdmin = userInfo.value.admin
})
const isView = ref(false)
@@ -153,6 +158,10 @@
console.log("type",type,val)
//生成审批按钮
if(type === 'confirmApproval'){
+ if (state.isAdmin) {
+ ElMessage.warning("当前用户暂无权限");
+ return;
+ }
isView.value = false
if(state.dataForm.state == 2){
dialogVisible.value = true
diff --git a/src/views/safetyReview/projectManage/components/projectArchive.vue b/src/views/safetyReview/projectManage/components/projectArchive.vue
index 18af4ec..ee47574 100644
--- a/src/views/safetyReview/projectManage/components/projectArchive.vue
+++ b/src/views/safetyReview/projectManage/components/projectArchive.vue
@@ -49,6 +49,7 @@
import {ElMessage, ElMessageBox} from "element-plus";
import axios from "axios";
import {archiveProject, checkProject, getFileInfo, getProjectInfo} from "@/api/projectManage";
+import Cookies from "js-cookie";
const emit = defineEmits(["getNextStatus"]);
const prop = defineProps(['projectId'])
@@ -68,13 +69,17 @@
Authorization: getToken()
},
fileList: [],
- projectId: null
+ projectId: null,
+ isAdmin: false
});
+const userInfo = ref()
onMounted(async () => {
if(prop.projectId){
state.projectId = prop.projectId
}
+ userInfo.value = JSON.parse(Cookies.get('userInfo'))
+ state.isAdmin = userInfo.value.admin
})
const formRef = ref()
@@ -84,6 +89,10 @@
let valid = null
if(type === 'confirm'){
valid = await formRef.value.validate();
+ if (state.isAdmin) {
+ ElMessage.warning("当前用户暂无权限");
+ return;
+ }
}
if(type === 'confirm'){
if(valid){
--
Gitblit v1.9.2