zhouwx
2024-11-22 cdd53ad94b779da51c8e9213b504527c182418eb
项目管理
已修改5个文件
48 ■■■■■ 文件已修改
src/views/safetyReview/projectManage/components/chooseExpert.vue 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/safetyReview/projectManage/components/expertsList.vue 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/safetyReview/projectManage/components/projectApproval.vue 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/safetyReview/projectManage/components/projectArchive.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/safetyReview/projectManage/process.vue 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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" style="width: 100px" @click="chooseExpert('选取专家')">选取专家</el-button>
        <el-button type="primary" :disabled="state.info.step == 4" 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)" >删除</el-button>
            <el-button link type="primary" @click="delF(scope.row)" :disabled="state.info.step == 4">删除</el-button>
          </template>
        </el-table-column>
      </el-table>
@@ -36,7 +36,7 @@
                  style="width: 100%"
                  v-model="expertType"
                  :options="domainList"
                  :props="{ expandTrigger: 'hover',value: 'id',label: 'classifyName',multiple: true }"
                  :props="{ expandTrigger: 'hover',value: 'classifyName',label: 'classifyName',multiple: true }"
                  @change="professionChange"
                  collapse-tags
                  collapse-tags-tooltip
@@ -54,7 +54,7 @@
          </el-col>
          <el-col :span="8">
            <el-form-item style="float: right;">
              <el-button style="width: 100px;margin-right: -32px;" type="primary" @click="random">随机抽取</el-button>
              <el-button style="width: 100px;margin-right: -32px;" :disabled="state.info.step == 4" 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)" >删除</el-button>
            <el-button link type="primary" @click="delR(scope.row)" :disabled="state.info.step == 4">删除</el-button>
          </template>
        </el-table-column>
      </el-table>
@@ -125,6 +125,7 @@
    saveData: [],
    delData: []
  },
  info: {},
  levelList: [
    {
      id: 1,
@@ -234,6 +235,7 @@
    if(res.code == 200){
      fixedDataList.value = res.data.projectExpertCheckResp.filter(item => item.selectionMode === 1)
      randomDataList.value = res.data.projectExpertCheckResp.filter(item => item.selectionMode === 2)
      state.info = res.data
      console.log('res',fixedDataList.value)
    }else{
      ElMessage.warning(res.message)
src/views/safetyReview/projectManage/components/expertsList.vue
@@ -10,6 +10,7 @@
              <el-input
                  v-model.trim="queryParams.name"
                  placeholder="姓名"
                  clearable
                  style="width: 250px"
              />
            </el-form-item>
@@ -17,25 +18,27 @@
              <el-input
                  v-model.trim="queryParams.phone"
                  placeholder="手机号"
                  clearable
                  style="width: 250px"
              />
            </el-form-item>
            <el-form-item label="等级">
              <el-select v-model="queryParams.ratingLevel" style="width: 250px" placeholder="等级" >
              <el-select v-model="queryParams.ratingLevel"   clearable style="width: 250px" placeholder="等级" >
                <el-option
                    v-for="item in levelList"
                    :key="item.id"
                    :label="item.name"
                    :value="item.name"
                    :value="item.id"
                />
              </el-select>
            </el-form-item>
            <el-form-item label="专业领域">
              <el-cascader
                  clearable
                  style="width: 100%"
                  v-model="expertType"
                  :options="domainList"
                  :props="{ expandTrigger: 'hover',value: 'id',label: 'classifyName' }"
                  :props="{ expandTrigger: 'hover',value: 'classifyName',label: 'classifyName' }"
                  @change="professionChange"
                  >
              </el-cascader>
@@ -258,8 +261,7 @@
const professionChange=(value)=> {
  console.log(value,'val')
  data.queryParams.bigClassify = value[0]
  data.queryParams.smallClassify = value[1]
  data.queryParams.domain = value[1]
}
defineExpose({
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  " 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>
        </template>
      </el-table-column>
    </el-table>
@@ -157,6 +157,15 @@
    if(state.dataForm.state == 2){
      dialogVisible.value = true
    }else {
      ElMessageBox.confirm(
        '生成后不可更改,确定生成审批单?',
        '提示',
        {
          confirmButtonText: '确定',
          cancelButtonText: '取消',
          type: 'warning',
        })
        .then( async() => {
      const data = {
        id: state.projectId,
        step: 3,
@@ -164,10 +173,12 @@
      }
      const res = await choose(data);
      if(res.code == 200){
            await getList()
        dialogVisible.value = true
      }else{
        ElMessage.warning(res.message)
      }
        })
    }
  }else if(type === 'viewWord'){
    //查看审批单
@@ -258,6 +269,7 @@
    state.fileList = state.fileList.map(item => {
      return {
        name: item.name,
        originalFileName: item.name,
        filePath: item.response.url,
        fileName:item.response.fileName,
        projectId: state.projectId,
src/views/safetyReview/projectManage/components/projectArchive.vue
@@ -148,6 +148,7 @@
    state.fileList = state.fileList.map(item => {
      return {
        name: item.name,
        originalFileName: item.name,
        filePath: item.response.url,
        fileName:item.response.fileName,
        projectId: state.projectId,
src/views/safetyReview/projectManage/process.vue
@@ -35,7 +35,7 @@
            <el-button type="primary" v-if="selectedObj.id !== 1" style="width: 80px" @click="back">上一步</el-button>
            <el-button type="warning" style="width: 80px"  v-if="(projectStatus === 'add' || projectStatus === 'edit') && selectedObj.status ===1 && selectedObj.id !==4 && selectedObj.id !==3 && newProgress !== 4" @click="save">保存</el-button>
            <el-button type="warning" style="width: 110px"  v-if="(projectStatus === 'add' || projectStatus === 'edit')  && selectedObj.id !==4 && (selectedObj.id ===3 && selectedObj.status !==2) && newProgress !== 4" @click="confirmApproval">确认生成审批单</el-button>
            <el-button type="warning" style="width: 80px" v-if="projectStatus === 'view' || selectedObj.id ===3 && selectedObj.status === 2"  @click="viewWord">查看审批单</el-button>
            <el-button type="warning" style="width: 80px" v-if="(projectStatus === 'view' &&  selectedObj.id ===3) || selectedObj.id ===3 && selectedObj.status === 2"  @click="viewWord">查看审批单</el-button>
            <el-button type="warning" style="width: 80px"  v-if="(projectStatus === 'add' || projectStatus === 'edit') && selectedObj.status !==1 && selectedObj.id !==3 && newProgress !== 4 " @click="clickEdit">变更</el-button>
            <el-button type="warning" style="width: 80px"   v-if="selectedObj.id === 4 && selectedObj.status === 1 && newProgress !== 4" @click="confirm">确认完结</el-button>
            <el-button type="primary" style="width: 80px" v-if="selectedObj.id !== 4"  @click="next">下一步</el-button>
@@ -58,9 +58,9 @@
import expert from './components/chooseExpert.vue'
import approval from './components/projectApproval.vue'
import archive from  './components/projectArchive.vue'
import {ElMessage} from "element-plus";
import {ElMessage, ElMessageBox} from "element-plus";
import {get} from "@vueuse/core";
import {getProjectInfo} from "@/api/projectManage";
import {delProject, getProjectInfo} from "@/api/projectManage";
const selectedObj = ref({})
const nextObj = ref({})
@@ -130,6 +130,7 @@
  goRouter(selectedObj.value.id,'add')
}
const confirmApproval = () => {
  goRouter(selectedObj.value.id,'confirmApproval')
}