马宇豪
2025-05-09 cbb23429b8beed72b58cbb57f9b3c56a0fb2b5d2
src/views/analyse/evaluate/index.vue
@@ -109,6 +109,7 @@
                        </el-table-column>
                        <el-table-column label="操作" width="250">
                          <template #default="scope">
                            <el-button size="small" text :icon="View" type="primary" @click="openProjectDialog('查看',scope.row)">实验信息</el-button>
                            <el-button size="small" v-if="scope.row.planExecStatus===3 && scope.row.evaluateUsers?.find(i=>i.evaluateUserId== evaluateState.user)" text type="primary" :icon="DocumentChecked" @click="accessEvaluate(scope.row)">提交</el-button>
                            <el-button size="small" v-if="scope.row.planExecStatus===3 && scope.row.evaluateUsers?.find(i=>i.evaluateUserId== evaluateState.user)" text type="primary" :icon="Edit" @click="openEvaluate(scope.row)">评价</el-button>
                            <el-button size="small" v-if="scope.row.planExecStatus===4" text :icon="View" type="primary" @click="openEvaluate(scope.row)">查看评价</el-button>
@@ -161,7 +162,7 @@
            </el-table-column>
          </el-table>
        </el-dialog>
        <develop-dialog ref="DevelopDialogRef" @refresh="getEvaluateData"></develop-dialog>
        <evaluate-dialog ref="evaluateDialogRef" @refresh="getDataAndClose"></evaluate-dialog>
    </div>
</template>
@@ -176,16 +177,20 @@
import {userApi} from "/@/api/systemManage/user";
import {useUserInfo} from "/@/stores/userInfo";
import {storeToRefs} from "pinia";
import {roomApi} from "/@/api/basic/room";
import {projectApi} from "/@/api/experiment/project";
const DevelopDialog = defineAsyncComponent(() => import('../../experiment/developing/components/developDialog.vue'));
const EvaluateDialog = defineAsyncComponent(() => import('./components/evaluateDialog.vue'));
const evaluateDialogRef = ref();
const DevelopDialogRef = ref()
const userInfo = useUserInfo();
const { userInfos } = storeToRefs(userInfo);
const evaluateState = reactive<EvaluateStateType>({
    evaluateData: [],
    user: null,
    currentEvalute:{},
    allRoomList: [],
    evaluateDialog: false,
    searchQuery: {
        pageIndex: 1,
@@ -230,6 +235,47 @@
            message: res.data.msg
        });
    }
};
const getRoomData = async () => {
  let res = await roomApi().getAllRoom();
  if(res.data.code === 100){
    evaluateState.allRoomList = JSON.parse(JSON.stringify(res.data.data));
  }else{
    ElMessage({
      type: 'warning',
      message: res.data.msg
    });
  }
};
const openProjectDialog = async (title: string, value: {}) => {
  let res = await projectApi().getProjectByList({
    pageIndex: 1,
    pageSize: 10,
    searchParams: {
      experimentName: '',
      experimentType: null,
      assessLevel: null,
      id: value.experimentId
    }
  },);
  if(res.data.code === 100){
    if(Array.isArray(res.data.data) && res.data.data.length>0){
      DevelopDialogRef.value.showDevelopDialog(title, res.data.data[0], evaluateState.allRoomList);
    }else{
      ElMessage({
        type: 'warning',
        message: '查询不到实验信息'
      });
    }
  }else{
    ElMessage({
      type: 'warning',
      message: res.data.msg
    });
  }
};
const getDataAndClose =()=>{
@@ -355,6 +401,7 @@
    getEvaluateData();
    getAllPlanList();
    getPersonList();
  getRoomData()
    evaluateState.user = Number(userInfos.value.uid)
});