zhouwx
2024-11-26 358ef2f69f3c6fac1065b38f4f25710c82125326
项目管理
已修改5个文件
59 ■■■■ 文件已修改
src/views/safetyReview/projectManage/components/basicInfo.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/safetyReview/projectManage/components/chooseExpert.vue 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/safetyReview/projectManage/components/expertsList.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/safetyReview/projectManage/components/projectApproval.vue 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/safetyReview/projectManage/components/projectArchive.vue 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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){
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;
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('请选择专家')
  }
}
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
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){