zhouwx
2024-12-09 2adbfd2aed024bf8fda3b85b3e7af07108329f85
src/views/safetyReview/expertManage/postEvaluation/index.vue
@@ -2,20 +2,20 @@
    <div class="app-container">
      <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
        <el-form-item label="项目名称">
          <el-input v-model="queryParams.name" placeholder="请输入姓名" />
          <el-input v-model="queryParams.projectName" placeholder="请输入项目名称" />
        </el-form-item>
        <el-form-item label="评估情况" prop="dutyStatus">
          <el-select v-model="queryParams.dutyStatus" placeholder="岗位状态" clearable>
            <el-option :key="0" label="已评估" :value="0"/>
            <el-option :key="1" label="未评估" :value="1"/>
        <el-form-item label="评估情况">
          <el-select v-model="queryParams.evaluationState" placeholder="评估情况" clearable>
            <el-option :key="0" label="未评估" :value="0"/>
            <el-option :key="1" label="已评估" :value="1"/>
          </el-select>
        </el-form-item>
        <el-form-item label="审批时间" prop="searchTime">
        <el-form-item label="审批时间">
          <el-date-picker
              v-model="searchTime"
              type="date"
              v-model="queryParams.projectCheckTime"
              type="datetime"
              @change="changeTime"
              value-format="YYYY-MM-DD"
              value-format="YYYY-MM-DD HH:mm:ss"
          />
        </el-form-item>
        <el-form-item>
@@ -31,26 +31,26 @@
<!--      </el-row>-->
      <el-table v-loading="loading" :data="expertList" :border="true">
        <el-table-column type="index" width="55" align="center" />
        <el-table-column label="项目名称" align="center" prop="name" />
        <el-table-column label="审批单时间" align="center" prop="birthday" />
        <el-table-column label="结束时间" align="center" prop="birthday" />
        <el-table-column label="部门" align="center" prop="degree" />
        <el-table-column label="专家人数" align="center">
        <el-table-column label="项目名称" align="center" prop="projectName"/>
        <el-table-column label="审批单时间" align="center" prop="projectCheckTime"/>
        <el-table-column label="结束时间" align="center" prop="projectEndTime" />
        <el-table-column label="部门" align="center" prop="deptName"/>
        <el-table-column label="专家人数" align="center" prop="expertNum">
          <template #default="scope">
            {{findNodeById(expertTypes,scope.row.bigClassify)}}/{{findNodeById(expertTypes,scope.row.smallClassify)}}
            <el-button type="primary" link @click="openDialog('view',scope.row)">{{scope.row.expertNum}}</el-button>
          </template>
        </el-table-column>
        <el-table-column label="评估状态" align="center" prop="state">
        <el-table-column label="评估状态" align="center" prop="evaluationState">
          <template #default="scope">
            <el-tag :type="scope.row.state==0?'info':scope.row.state==1?'':scope.row.state==2?'success':scope.row.state==3?'danger':'warning'">
              {{scope.row.state==0?'暂存':scope.row.state==1?'审核中':scope.row.state==2?'审核通过':scope.row.state==3?'审核驳回':scope.row.state==4?'已作废':'--'}}
            <el-tag :type="scope.row.evaluationState == 0?'info':scope.row.evaluationState==1?'success':''">
              {{scope.row.evaluationState ==0?'未完成':scope.row.evaluationState==1?'已完成':'--'}}
            </el-tag>
          </template>
        </el-table-column>
        <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
          <template #default="scope">
            <el-button type="primary" link @click="openDialog('edit',scope.row)">开始评估</el-button>
            <el-button type="primary" link @click="openDialog('edit',scope.row)">修改评估</el-button>
            <el-button type="primary" v-if="scope.row.evaluationState == 0" link @click="openDialog('edit',scope.row)">开始评估</el-button>
            <el-button type="primary" v-if="scope.row.evaluationState == 1" link @click="openDialog('edit',scope.row)">修改评估</el-button>
          </template>
        </el-table-column>
      </el-table>
@@ -71,6 +71,7 @@
import ExpertDialog from "./components/expertList";
import {delExpert, getExpertsList, getExpertTypes} from "../../../../api/form";
import { Plus } from '@element-plus/icons-vue'
import {getProjectExpertList} from "@/api/backManage/evaluate";
const loading = ref(false)
const data = reactive({
@@ -81,14 +82,9 @@
  queryParams: {
    pageNum: 1,
    pageSize: 10,
    bigClassify: null,
    smallClassify: null,
    dutyStatus: null,
    name: '',
    params: {
      startTime: '',
      endTime: ''
    }
    projectName: '',
    evaluationState: null,
    projectCheckTime: ''
  },
  classiFy: [],
  searchTime: []
@@ -98,7 +94,7 @@
const expertListRef = ref()
onMounted(()=>{
  // getList()
  getList()
  // getTypes()
})
@@ -113,20 +109,6 @@
  }else{
    ElMessage.warning(res.msg)
  }
}
const handleChange=(value)=> {
    if(!value){
        data.classiFy = []
        data.queryParams.bigClassify = ""
        data.queryParams.smallClassify = ""
    }
}
const changeTime=(value)=>{
    if(!value){
        data.queryParams.params.endTime = ""
        data.queryParams.params.startTime = ""
    }
}
const findNodeById = (data,value)=> {
@@ -146,31 +128,23 @@
const handleQuery=()=> {
  data.queryParams.pageNum = 1
  if(data.classiFy && data.classiFy.length>0){
    data.queryParams.bigClassify = data.classiFy[0]
    data.queryParams.smallClassify = data.classiFy[1]
  }
  if(data.searchTime && data.searchTime.length>0){
    data.queryParams.params.startTime = data.searchTime[0]
    data.queryParams.params.endTime = data.searchTime[1]
  }
  getList()
}
const getList = async () => {
  loading.value = true;
  const res = await getExpertsList(data.queryParams)
  const res = await getProjectExpertList(data.queryParams)
  if(res.code == 200){
    data.expertList = res.data.list
    data.total = res.data.total
    data.expertList = res.rows
    data.total = res.total
  }else{
    ElMessage.warning(res.msg)
  }
  loading.value = false;
}
const openDialog = async (type, value) => {
  expertListRef.value.openDialog(type, value)
const openDialog = async (type,value) => {
  expertListRef.value.openDialog(type,value)
}
const handleDelete = (val) => {
@@ -196,17 +170,10 @@
  data.queryParams = {
    pageNum: 1,
    pageSize: 10,
    bigClassify: null,
    smallClassify: null,
    dutyStatus: null,
    name: '',
    params: {
      startTime: '',
      endTime: ''
    }
  };
  data.classiFy = []
  data.searchTime = []
    projectName: '',
    evaluationState: null,
    projectCheckTime: ''
  }
  handleQuery()
}