From df5b61dcf9d7c6a71ba919b0556ea9aa43aa3f76 Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: 星期一, 08 五月 2023 10:00:43 +0800
Subject: [PATCH] 修改展示
---
src/views/analyse/applyReview/components/reportDialog.vue | 44 ++--
src/views/system/experts/index.vue | 2
src/views/basic/equipment/components/equipmentDialog.vue | 6
src/views/experiment/project/components/selectEquipment.vue | 2
src/views/system/home/index.vue | 22 +
src/utils/toolsValidate.ts | 2
src/views/analyse/identify/index.vue | 59 -----
src/views/experiment/developing/components/selectEquipment.vue | 2
src/views/experiment/developing/index.vue | 2
src/api/systemManage/menu/index.ts | 2
src/views/basic/equipment/index.vue | 6
src/views/experiment/developing/components/applyDialog.vue | 2
src/views/analyse/evaluate/index.vue | 58 -----
src/views/analyse/plan/components/planDialog.vue | 65 +++++
src/views/experiment/project/components/applyDialog.vue | 2
src/views/analyse/plan/index.vue | 149 ++++++++------
src/views/system/user/index.vue | 51 +++--
src/views/analyse/assessApply/components/reportDialog.vue | 44 ++--
src/views/analyse/plan/index.ts | 4
src/views/experiment/developing/components/developDialog.vue | 18 +
src/views/experiment/project/components/projectDialog.vue | 16 +
src/views/loginPage/component/accountLogin.vue | 24 ++
src/views/experiment/project/index.vue | 2
23 files changed, 304 insertions(+), 280 deletions(-)
diff --git a/src/api/systemManage/menu/index.ts b/src/api/systemManage/menu/index.ts
index 84e24af..4f7ac4c 100644
--- a/src/api/systemManage/menu/index.ts
+++ b/src/api/systemManage/menu/index.ts
@@ -17,7 +17,7 @@
// },
getMenuAdmin: () => {
return request({
- url: import.meta.env.VITE_API_URL + `/sys/console/menu/get/all`,
+ url: import.meta.env.VITE_API_URL + `/sys/menu/get/u`,
method: 'get'
});
},
diff --git a/src/utils/toolsValidate.ts b/src/utils/toolsValidate.ts
index 46a6162..da8421e 100644
--- a/src/utils/toolsValidate.ts
+++ b/src/utils/toolsValidate.ts
@@ -210,7 +210,7 @@
*/
export function verifyPhone(val: string) {
// false: 手机号码不正确
- if (!/^((12[0-9])|(13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0|1,5-9]))\d{8}$/.test(val)) return false;
+ if (!/^((12[0-9])|(13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(17([7-9]))|(18[0|1,5-9]))\d{8}$/.test(val)) return false;
// true: 手机号码正确
else return true;
}
diff --git a/src/views/analyse/applyReview/components/reportDialog.vue b/src/views/analyse/applyReview/components/reportDialog.vue
index a675922..66e8843 100644
--- a/src/views/analyse/applyReview/components/reportDialog.vue
+++ b/src/views/analyse/applyReview/components/reportDialog.vue
@@ -107,24 +107,6 @@
<div>{{item.siteType}}</div>
</td>
</tr>
- <tr>
- <td class="w-25 m-color required">评估人</td>
- <td class="w-75 m-color">
-<!-- <el-select style="width: 100%" :disabled="reportDialogState.disabled" v-model="reportDialogState.reportForm.assessPerson" clearable filterable>-->
-<!-- <el-option-->
-<!-- v-for="item in reportDialogState.allPersonList"-->
-<!-- :key="item.id"-->
-<!-- :value="item.id"-->
-<!-- :label="item.personName"-->
-<!-- ></el-option>-->
-<!-- </el-select>-->
- <el-input :disabled="reportDialogState.disabled" v-model="reportDialogState.reportForm.assessPerson" placeholder="评估人" />
- </td>
-<!-- <td class="w-25 m-color required">评估时间</td>-->
-<!-- <td class="w-25 m-color">-->
-<!-- <el-date-picker :disabled="reportDialogState.disabled" type="datetime" format="YYYY/MM/DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" v-model="reportDialogState.reportForm.assessTime" />-->
-<!-- </td>-->
- </tr>
<tr class="m-color b-font" style="text-align: center">实验概况</tr>
<tr>
@@ -162,16 +144,34 @@
<tr>
<td class="m-color" style="width: 100%">
<el-radio-group :disabled="reportDialogState.disabled" v-model="reportDialogState.reportForm.assessLevel">
- <el-radio :label="1">低风险(一级)</el-radio>
- <el-radio :label="2">一般风险(二级)</el-radio>
- <el-radio :label="3">较大风险(三级)</el-radio>
- <el-radio :label="4">重大风险(四级)</el-radio>
+ <el-radio :label="1">重大风险(一级)</el-radio>
+ <el-radio :label="2">较大风险(二级)</el-radio>
+ <el-radio :label="3">一般风险(三级)</el-radio>
+ <el-radio :label="4">低风险(四级)</el-radio>
</el-radio-group>
</td>
</tr>
<tr>
<el-input type="textarea" :autosize="{ minRows: 3}" :disabled="reportDialogState.disabled" v-model="reportDialogState.reportForm.description" placeholder="评定依据(必填)" />
</tr>
+ <tr>
+ <td class="w-25 m-color required">评估人</td>
+ <td class="w-75 m-color">
+ <!-- <el-select style="width: 100%" :disabled="reportDialogState.disabled" v-model="reportDialogState.reportForm.assessPerson" clearable filterable>-->
+ <!-- <el-option-->
+ <!-- v-for="item in reportDialogState.allPersonList"-->
+ <!-- :key="item.id"-->
+ <!-- :value="item.id"-->
+ <!-- :label="item.personName"-->
+ <!-- ></el-option>-->
+ <!-- </el-select>-->
+ <el-input :disabled="reportDialogState.disabled" v-model="reportDialogState.reportForm.assessPerson" placeholder="评估人" />
+ </td>
+ <!-- <td class="w-25 m-color required">评估时间</td>-->
+ <!-- <td class="w-25 m-color">-->
+ <!-- <el-date-picker :disabled="reportDialogState.disabled" type="datetime" format="YYYY/MM/DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" v-model="reportDialogState.reportForm.assessTime" />-->
+ <!-- </td>-->
+ </tr>
<tr v-if="reportDialogState.reportForm.person?.length>0" class="m-color b-font" style="text-align: center">审批内容</tr>
<template v-if="reportDialogState.reportForm.person?.length>0" v-for="item in reportDialogState.reportForm.person">
<tr>
diff --git a/src/views/analyse/assessApply/components/reportDialog.vue b/src/views/analyse/assessApply/components/reportDialog.vue
index f8cca9e..f8d1257 100644
--- a/src/views/analyse/assessApply/components/reportDialog.vue
+++ b/src/views/analyse/assessApply/components/reportDialog.vue
@@ -107,24 +107,6 @@
<div>{{item.siteType}}</div>
</td>
</tr>
- <tr>
- <td class="w-25 m-color required">评估人</td>
- <td class="w-75 m-color">
-<!-- <el-select style="width: 100%" :disabled="reportDialogState.disabled" v-model="reportDialogState.reportForm.assessPerson" clearable filterable>-->
-<!-- <el-option-->
-<!-- v-for="item in reportDialogState.allPersonList"-->
-<!-- :key="item.id"-->
-<!-- :value="item.id"-->
-<!-- :label="item.personName"-->
-<!-- ></el-option>-->
-<!-- </el-select>-->
- <el-input :disabled="reportDialogState.disabled" v-model="reportDialogState.reportForm.assessPerson" placeholder="评估人" />
- </td>
-<!-- <td class="w-25 m-color required">评估时间</td>-->
-<!-- <td class="w-25 m-color">-->
-<!-- <el-date-picker :disabled="reportDialogState.disabled" type="datetime" format="YYYY/MM/DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" v-model="reportDialogState.reportForm.assessTime" />-->
-<!-- </td>-->
- </tr>
<tr class="m-color b-font" style="text-align: center">实验概况</tr>
<tr>
@@ -162,16 +144,34 @@
<tr>
<td class="m-color" style="width: 100%">
<el-radio-group :disabled="reportDialogState.disabled" v-model="reportDialogState.reportForm.assessLevel">
- <el-radio :label="1">低风险(一级)</el-radio>
- <el-radio :label="2">一般风险(二级)</el-radio>
- <el-radio :label="3">较大风险(三级)</el-radio>
- <el-radio :label="4">重大风险(四级)</el-radio>
+ <el-radio :label="1">重大风险(一级)</el-radio>
+ <el-radio :label="2">较大风险(二级)</el-radio>
+ <el-radio :label="3">一般风险(三级)</el-radio>
+ <el-radio :label="4">低风险(四级)</el-radio>
</el-radio-group>
</td>
</tr>
<tr>
<el-input type="textarea" :autosize="{ minRows: 3}" :disabled="reportDialogState.disabled" v-model="reportDialogState.reportForm.description" placeholder="评定依据(必填)" />
</tr>
+ <tr>
+ <td class="w-25 m-color required">评估人</td>
+ <td class="w-75 m-color">
+ <!-- <el-select style="width: 100%" :disabled="reportDialogState.disabled" v-model="reportDialogState.reportForm.assessPerson" clearable filterable>-->
+ <!-- <el-option-->
+ <!-- v-for="item in reportDialogState.allPersonList"-->
+ <!-- :key="item.id"-->
+ <!-- :value="item.id"-->
+ <!-- :label="item.personName"-->
+ <!-- ></el-option>-->
+ <!-- </el-select>-->
+ <el-input :disabled="reportDialogState.disabled" v-model="reportDialogState.reportForm.assessPerson" placeholder="评估人" />
+ </td>
+ <!-- <td class="w-25 m-color required">评估时间</td>-->
+ <!-- <td class="w-25 m-color">-->
+ <!-- <el-date-picker :disabled="reportDialogState.disabled" type="datetime" format="YYYY/MM/DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" v-model="reportDialogState.reportForm.assessTime" />-->
+ <!-- </td>-->
+ </tr>
<tr v-if="reportDialogState.reportForm.person?.length>0" class="m-color b-font" style="text-align: center">审批内容</tr>
<template v-if="reportDialogState.reportForm.person?.length>0" v-for="item in reportDialogState.reportForm.person">
<tr>
diff --git a/src/views/analyse/evaluate/index.vue b/src/views/analyse/evaluate/index.vue
index 81363c1..41ec3e0 100644
--- a/src/views/analyse/evaluate/index.vue
+++ b/src/views/analyse/evaluate/index.vue
@@ -428,64 +428,6 @@
}
}
}
-.stepItem {
- width: 100%;
- display: flex;
- align-items: flex-start;
- margin-bottom: 30px;
- margin-left: 30px;
- padding-bottom: 30px;
- border-left: 2px solid #ccc;
- &:first-of-type {
- margin-top: 30px;
- }
- &:last-of-type {
- margin-bottom: 0;
- border-left: none;
- }
- .stepNum {
- width: 30px;
- height: 30px;
- border-radius: 15px;
- box-sizing: border-box;
- color: #333;
- border: 1px solid #999;
- line-height: 28px;
- text-align: center;
- margin-right: 10px;
- margin-left: -16px;
- margin-top: -30px;
- }
- .stepCard {
- width: 100%;
- margin-top: -30px;
-
- .box-card {
- width: 100%;
- &:deep(.el-card__header) {
- padding: 10px 15px;
- }
- .card-header {
- width: 100%;
- display: flex;
- justify-content: space-between;
- align-items: center;
- & > div:first-of-type {
- margin-right: 80px;
- font-size: 18px;
- font-weight: bold;
- }
- }
- }
- }
- &:hover .card-header {
- color: #0098f5;
- }
- &:hover .stepNum {
- border: 2px solid #0098f5;
- color: #0098f5;
- }
-}
:deep(.el-date-editor) {
width: 100%;
diff --git a/src/views/analyse/identify/index.vue b/src/views/analyse/identify/index.vue
index c6128d4..62b0508 100644
--- a/src/views/analyse/identify/index.vue
+++ b/src/views/analyse/identify/index.vue
@@ -27,6 +27,7 @@
<!-- <el-button type="primary" :icon="Refresh" size="default" />-->
</el-row>
<el-table ref="multipleTableRef" :data="identifyState.identifyData" style="width: 100%" height="calc(100% - 100px)" :header-cell-style="{ background: '#fafafa' }">
+ <el-table-column type="index" label="序号"/>
<el-table-column prop="assessPlanName" label="评估计划名称"/>
<el-table-column prop="identificationMethod" label="辨识方法" show-overflow-tooltip>
<template #default="scope">
@@ -337,64 +338,6 @@
margin-right: 20px;
}
}
- }
-}
-.stepItem {
- width: 100%;
- display: flex;
- align-items: flex-start;
- margin-bottom: 30px;
- margin-left: 30px;
- padding-bottom: 30px;
- border-left: 2px solid #ccc;
- &:first-of-type {
- margin-top: 30px;
- }
- &:last-of-type {
- margin-bottom: 0;
- border-left: none;
- }
- .stepNum {
- width: 30px;
- height: 30px;
- border-radius: 15px;
- box-sizing: border-box;
- color: #333;
- border: 1px solid #999;
- line-height: 28px;
- text-align: center;
- margin-right: 10px;
- margin-left: -16px;
- margin-top: -30px;
- }
- .stepCard {
- width: 100%;
- margin-top: -30px;
-
- .box-card {
- width: 100%;
- &:deep(.el-card__header) {
- padding: 10px 15px;
- }
- .card-header {
- width: 100%;
- display: flex;
- justify-content: space-between;
- align-items: center;
- & > div:first-of-type {
- margin-right: 80px;
- font-size: 18px;
- font-weight: bold;
- }
- }
- }
- }
- &:hover .card-header {
- color: #0098f5;
- }
- &:hover .stepNum {
- border: 2px solid #0098f5;
- color: #0098f5;
}
}
diff --git a/src/views/analyse/plan/components/planDialog.vue b/src/views/analyse/plan/components/planDialog.vue
index 4eec5fc..aab3fce 100644
--- a/src/views/analyse/plan/components/planDialog.vue
+++ b/src/views/analyse/plan/components/planDialog.vue
@@ -37,17 +37,27 @@
</el-select>
</el-form-item>
</el-col>
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20 valueSelect">
<el-form-item label="辨识专家" prop="identificationUserId">
- <el-select :disabled="planDialogState.disabled" v-model="planDialogState.planForm.identificationUserId" style="width:100%" placeholder="负责人" clearable>
- <el-option v-for="item in planDialogState.personList" :key="item.id" :label="item.realName" :value="item.id"></el-option>
+ <el-select :disabled="planDialogState.disabled" v-model="planDialogState.planForm.identificationUserId" style="width:100%" :teleported="false" placeholder="辨识专家" clearable>
+ <el-option v-for="item in planDialogState.bsExperts" :key="item.id" :label="item.realName" :value="item.id">
+ <div class="valueTable">
+ <div><div>姓名:</div><span>{{item.realName}}</span></div>
+ <div><div>专业:</div><span>{{item.userIdentities?.map(i=>i.userIdentity).join(',')}}</span></div>
+ </div>
+ </el-option>
</el-select>
</el-form-item>
</el-col>
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20 valueSelect">
<el-form-item label="评价专家" prop="evaluateUserId">
- <el-select :disabled="planDialogState.disabled" v-model="planDialogState.planForm.evaluateUserId" style="width:100%" placeholder="评价专家" clearable>
- <el-option v-for="item in planDialogState.personList" :key="item.id" :label="item.realName" :value="item.id"></el-option>
+ <el-select :disabled="planDialogState.disabled" v-model="planDialogState.planForm.evaluateUserId" style="width:100%" :teleported="false" placeholder="评价专家" clearable>
+ <el-option v-for="item in planDialogState.pjExperts" :key="item.id" :label="item.realName" :value="item.id">
+ <div class="valueTable">
+ <div><div>姓名:</div><span>{{item.realName}}</span></div>
+ <div><div>专业:</div><span>{{item.userIdentities?.map(i=>i.userIdentity).join(',')}}</span></div>
+ </div>
+ </el-option>
</el-select>
</el-form-item>
</el-col>
@@ -95,13 +105,17 @@
evaluateUserId: [{ required: true, message: '请选择评价专家', trigger: 'change' }],
},
riskUnitList: [],
- personList: []
+ personList: [],
+ bsExperts: [],
+ pjExperts: []
})
-const showPlanDialog = (title: string, value: PlanType, riskUnitList: RiskUnitType [], personList: SystemPersonType []) => {
+const showPlanDialog = (title: string, value: PlanType, riskUnitList: RiskUnitType [], personList: SystemPersonType [],bsExperts:[],pjExperts:[]) => {
planDialogState.planDialogVisible = true;
planDialogState.riskUnitList = riskUnitList;
planDialogState.personList = personList;
+ planDialogState.bsExperts = bsExperts;
+ planDialogState.pjExperts = pjExperts;
planDialogState.disabled = false
setTimeout(() => {
planFormRef.value.clearValidate();
@@ -203,4 +217,39 @@
position: absolute !important;
top: 0 !important;
}
+ .valueSelect{
+ ::v-deep(.el-popper){
+ .el-select-dropdown__item{
+ width: 100%;
+ height: auto;
+ white-space: normal;
+ word-break: break-all;
+ word-wrap: break-word;
+ overflow: auto;
+ padding: 10px 25px;
+ border-bottom: 1px solid #ccc;
+
+ .valueTable{
+ &>div{
+ line-height: 1.5;
+ margin-bottom: 6px;
+ display: flex;
+ align-items: center;
+
+ div{
+ color: #999;
+ }
+
+ span{
+ font-weight: bolder;
+ }
+
+ &:last-of-type{
+ margin-bottom: 0;
+ }
+ }
+ }
+ }
+ }
+ }
</style>
diff --git a/src/views/analyse/plan/index.ts b/src/views/analyse/plan/index.ts
index c64f94f..405aac0 100644
--- a/src/views/analyse/plan/index.ts
+++ b/src/views/analyse/plan/index.ts
@@ -12,6 +12,8 @@
evaluateMethodList: Array<Type>
riskUnitList: Array<RiskUnitType>
personList: Array<SystemPersonType>,
+ bsExperts: [],
+ pjExperts: [],
reSendTitle:string
reSendDialogVisible: boolean
reSendForm: {
@@ -66,4 +68,6 @@
},
riskUnitList: Array<RiskUnitType>
personList: Array<SystemPersonType>
+ bsExperts: []
+ pjExperts: []
}
diff --git a/src/views/analyse/plan/index.vue b/src/views/analyse/plan/index.vue
index 0ec5b78..8b4814d 100644
--- a/src/views/analyse/plan/index.vue
+++ b/src/views/analyse/plan/index.vue
@@ -85,16 +85,26 @@
</div>
<plan-dialog ref="planDialogRef" @refresh="getPlanData"></plan-dialog>
- <el-dialog :title="planState.reSendTitle" v-model="planState.reSendDialogVisible" width="50%">
+ <el-dialog class="chooseExpert" :title="planState.reSendTitle" v-model="planState.reSendDialogVisible" width="50%">
<el-form ref="ruleFormRef" :rules="planState.rules" :model="planState.reSendForm" label-width="120px">
- <el-form-item v-if="planState.reSendTitle == '指派辨识专家'" label="选择辨识专家" prop="identificationUserId">
- <el-select v-model="planState.reSendForm.identificationUserId" style="width:100%" placeholder="辨识专家" clearable>
- <el-option v-for="item in planState.personList" :key="item.id" :label="item.realName" :value="item.id"></el-option>
+ <el-form-item v-if="planState.reSendTitle == '指派辨识专家'" label="选择辨识专家" prop="identificationUserId" class="valueSelect">
+ <el-select v-model="planState.reSendForm.identificationUserId" style="width:100%" :teleported="false" placeholder="辨识专家" clearable>
+ <el-option v-for="item in planState.bsExperts" :key="item.id" :label="item.realName" :value="item.id">
+ <div class="valueTable">
+ <div><div>姓名:</div><span>{{item.realName}}</span></div>
+ <div><div>专业:</div><span>{{item.userIdentities?.map(i=>i.userIdentity).join(',')}}</span></div>
+ </div>
+ </el-option>
</el-select>
</el-form-item>
- <el-form-item v-if="planState.reSendTitle == '指派评价专家'" label="选择评价专家" prop="evaluateUserId">
- <el-select v-model="planState.reSendForm.evaluateUserId" style="width:100%" placeholder="评价专家" clearable>
- <el-option v-for="item in planState.personList" :key="item.id" :label="item.realName" :value="item.id"></el-option>
+ <el-form-item v-if="planState.reSendTitle == '指派评价专家'" label="选择评价专家" prop="evaluateUserId" class="valueSelect">
+ <el-select v-model="planState.reSendForm.evaluateUserId" style="width:100%" :teleported="false" placeholder="评价专家" clearable>
+ <el-option v-for="item in planState.pjExperts" :key="item.id" :label="item.realName" :value="item.id">
+ <div class="valueTable">
+ <div><div>姓名:</div><span>{{item.realName}}</span></div>
+ <div><div>专业:</div><span>{{item.userIdentities?.map(i=>i.userIdentity).join(',')}}</span></div>
+ </div>
+ </el-option>
</el-select>
</el-form-item>
</el-form>
@@ -140,6 +150,8 @@
riskUnitList: [
],
personList: [],
+ bsExperts: [],
+ pjExperts: [],
identificationMethodList: [
{id:1, name: 'PHA'},
{id:2, name: 'JHA'},
@@ -216,8 +228,34 @@
}
};
+const getAllExperts = async () => {
+ let res = await userApi().getExpertsList({
+ pageIndex: 1,
+ pageSize: 99999,
+ searchParams:{
+ userIndentityId: null
+ }
+ });
+ if (res.data.code === 100) {
+ const expertsList = res.data.data;
+ for(let i of expertsList){
+ if(i.roles?.find(obj=>obj.roleId == 2)){
+ planState.bsExperts.push(i)
+ }
+ if(i.roles?.find(obj=>obj.roleId == 3)){
+ planState.pjExperts.push(i)
+ }
+ }
+ } else {
+ ElMessage({
+ type: 'warning',
+ message: res.data.msg
+ });
+ }
+};
+
const openPlanDialog = (title: string, value: PlanType) => {
- planDialogRef.value.showPlanDialog(title, value, planState.riskUnitList, planState.personList);
+ planDialogRef.value.showPlanDialog(title, value, planState.riskUnitList, planState.personList,planState.bsExperts,planState.pjExperts);
};
const refuseIdentify = async(val: PlanType)=>{
@@ -407,6 +445,7 @@
onMounted(() => {
getPlanData();
getAllRiskUnitList();
+ getAllExperts();
getPersonList();
planState.user = Number(userInfos.value.uid)
})
@@ -415,6 +454,13 @@
<style scoped lang="scss">
$homeNavLengh: 8;
+::v-deep(.el-dialog){
+ .el-dialog__body{
+ overflow-y: visible !important;
+ overflow-x: visible !important;
+ }
+}
+
.home-container {
height: calc(100vh - 144px);
box-sizing: border-box;
@@ -481,65 +527,42 @@
}
}
}
-.stepItem {
- width: 100%;
- display: flex;
- align-items: flex-start;
- margin-bottom: 30px;
- margin-left: 30px;
- padding-bottom: 30px;
- border-left: 2px solid #ccc;
- &:first-of-type {
- margin-top: 30px;
- }
- &:last-of-type {
- margin-bottom: 0;
- border-left: none;
- }
- .stepNum {
- width: 30px;
- height: 30px;
- border-radius: 15px;
- box-sizing: border-box;
- color: #333;
- border: 1px solid #999;
- line-height: 28px;
- text-align: center;
- margin-right: 10px;
- margin-left: -16px;
- margin-top: -30px;
- }
- .stepCard {
- width: 100%;
- margin-top: -30px;
- .box-card {
- width: 100%;
- &:deep(.el-card__header) {
- padding: 10px 15px;
- }
- .card-header {
- width: 100%;
- display: flex;
- justify-content: space-between;
- align-items: center;
- & > div:first-of-type {
- margin-right: 80px;
- font-size: 18px;
- font-weight: bold;
- }
- }
+.valueSelect{
+ ::v-deep(.el-popper){
+ .el-select-dropdown__item{
+ width: 100%;
+ height: auto;
+ white-space: normal;
+ word-break: break-all;
+ word-wrap: break-word;
+ overflow: auto;
+ padding: 10px 25px;
+ border-bottom: 1px solid #ccc;
+
+ .valueTable{
+ &>div{
+ line-height: 1.5;
+ margin-bottom: 6px;
+ display: flex;
+ align-items: center;
+
+ div{
+ color: #999;
+ }
+
+ span{
+ font-weight: bolder;
+ }
+
+ &:last-of-type{
+ margin-bottom: 0;
+ }
}
+ }
}
- &:hover .card-header {
- color: #0098f5;
- }
- &:hover .stepNum {
- border: 2px solid #0098f5;
- color: #0098f5;
- }
+ }
}
-
:deep(.el-date-editor) {
width: 100%;
}
diff --git a/src/views/basic/equipment/components/equipmentDialog.vue b/src/views/basic/equipment/components/equipmentDialog.vue
index 369d347..d20f00d 100644
--- a/src/views/basic/equipment/components/equipmentDialog.vue
+++ b/src/views/basic/equipment/components/equipmentDialog.vue
@@ -26,8 +26,8 @@
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="设备功率" prop="devicePower">
- <el-input v-model="equipmentDialogState.equipmentForm.devicePower" placeholder="设备功率" clearable class="input-length"></el-input>
+ <el-form-item label="额定功率" prop="devicePower">
+ <el-input v-model="equipmentDialogState.equipmentForm.devicePower" placeholder="额定功率" clearable class="input-length"></el-input>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
@@ -119,7 +119,7 @@
equipmentFormRules: {
deviceCode: [{ required: true, message: '请填写设备编号', trigger: 'blur' }],
deviceName: [{ required: true, message: '请填写设备名称', trigger: 'blur' }],
- devicePower: [{ required: true, message: '请填写设备功率', trigger: 'blur' }],
+ devicePower: [{ required: true, message: '请填写额定功率', trigger: 'blur' }],
deviceUnit: [{ required: true, message: '请选择计量单位', trigger: 'change' }],
deviceTypeId: [{ required: true, message: '请填写设备类型ID', trigger: 'blur' }],
deviceDesc: [{ required: true, message: '请填写设备型号', trigger: 'blur' }],
diff --git a/src/views/basic/equipment/index.vue b/src/views/basic/equipment/index.vue
index 0ffc56a..153359c 100644
--- a/src/views/basic/equipment/index.vue
+++ b/src/views/basic/equipment/index.vue
@@ -13,8 +13,8 @@
</el-input>
</div>
<div class="basic-line">
- <span>设备功率:</span>
- <el-input v-model="equipmentState.searchQuery.devicePower" clearable filterable class="input-box" placeholder="设备功率">
+ <span>额定功率:</span>
+ <el-input v-model="equipmentState.searchQuery.devicePower" clearable filterable class="input-box" placeholder="额定功率">
</el-input>
</div>
<div class="basic-line">
@@ -46,7 +46,7 @@
</template>
</el-table-column>
<el-table-column prop="deviceDesc" label="设备型号" />
- <el-table-column prop="devicePower" label="设备功率">
+ <el-table-column prop="devicePower" label="额定功率">
<template #default="scope">
<span>{{scope.row.devicePower}}</span>
</template>
diff --git a/src/views/experiment/developing/components/applyDialog.vue b/src/views/experiment/developing/components/applyDialog.vue
index b65f862..4f4b618 100644
--- a/src/views/experiment/developing/components/applyDialog.vue
+++ b/src/views/experiment/developing/components/applyDialog.vue
@@ -9,7 +9,7 @@
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="是否是安全信息化系统 " prop="sisStatus">
+ <el-form-item label="是否使用安全信息化系统" prop="sisStatus">
<el-radio-group v-model="applyStartDialogState.applyStartForm.sisStatus">
<el-radio :label="1">是</el-radio>
<el-radio :label="2">否</el-radio>
diff --git a/src/views/experiment/developing/components/developDialog.vue b/src/views/experiment/developing/components/developDialog.vue
index ffc8c69..147036b 100644
--- a/src/views/experiment/developing/components/developDialog.vue
+++ b/src/views/experiment/developing/components/developDialog.vue
@@ -39,9 +39,17 @@
<td class="w-25 m-color required">负责人</td>
<td class="w-25 m-color">
<el-form-item prop="liabilityUserId">
- <el-select style="width: 100%" disabled v-model="projectDialogState.projectForm.liabilityUserId" clearable filterable>
- <el-option :key="userInfos.uid" :value="userInfos.uid" :label="userInfos.userName"></el-option>
- </el-select>
+<!-- <el-select style="width: 100%" v-model="projectDialogState.projectForm.liabilityUserId" clearable filterable @change="getLiabilityUserPhone($event)">-->
+<!-- <el-option-->
+<!-- v-for="item in projectDialogState.systemPersonList"-->
+<!-- :key="item.id"-->
+<!-- :value="item.id"-->
+<!-- :label="item.realName"-->
+<!-- ></el-option>-->
+<!-- </el-select>-->
+ <el-select style="width: 100%" disabled v-model="projectDialogState.projectForm.liabilityUserId" clearable filterable>
+ <el-option :key="userInfos.uid" :value="userInfos.uid" :label="userInfos.userName"></el-option>
+ </el-select>
</el-form-item>
<!-- <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.liabilityUserId"/>-->
</td>
@@ -296,8 +304,8 @@
const selectMaterialRef = ref()
const selectDangerRef = ref()
const selectEmergencyRef = ref()
-const userInfo = useUserInfo();
-const { userInfos } = storeToRefs(userInfo);
+const userInfo = useUserInfo()
+const { userInfos } = storeToRefs(userInfo)
const projectDialogState = reactive<ProjectDialogType>({
title: '',
diff --git a/src/views/experiment/developing/components/selectEquipment.vue b/src/views/experiment/developing/components/selectEquipment.vue
index c86e11f..fb9db03 100644
--- a/src/views/experiment/developing/components/selectEquipment.vue
+++ b/src/views/experiment/developing/components/selectEquipment.vue
@@ -3,7 +3,7 @@
<tr>
<td class="w-16 m-color">设备名称</td>
<td class="w-16 m-color">编号</td>
- <td class="w-16 m-color">设备功率</td>
+ <td class="w-16 m-color">额定功率</td>
<td class="w-16 m-color">是否特种</td>
<td class="w-16 m-color">设备数量</td>
<td class="w-16 m-color">操作</td>
diff --git a/src/views/experiment/developing/index.vue b/src/views/experiment/developing/index.vue
index d9744bb..a88ac4b 100644
--- a/src/views/experiment/developing/index.vue
+++ b/src/views/experiment/developing/index.vue
@@ -71,7 +71,7 @@
<el-table-column prop="assessLevel" label="风险等级">
<template #default="scope">
<el-tag :type="scope.row.assessLevel == 4?'danger':scope.row.assessLevel == 3 || scope.row.assessLevel == 2?'warning':''">
- {{scope.row.assessLevel == 1?'低风险':scope.row.assessLevel == 2?'一般风险':scope.row.assessLevel == 3?'较大风险':scope.row.assessLevel == 4?'重大风险':'--'}}
+ {{scope.row.assessLevel == 1?'重大风险':scope.row.assessLevel == 2?'较大风险':scope.row.assessLevel == 3?'一般风险':scope.row.assessLevel == 4?'低风险':'--'}}
</el-tag>
</template>
</el-table-column>
diff --git a/src/views/experiment/project/components/applyDialog.vue b/src/views/experiment/project/components/applyDialog.vue
index f77bc86..404c391 100644
--- a/src/views/experiment/project/components/applyDialog.vue
+++ b/src/views/experiment/project/components/applyDialog.vue
@@ -9,7 +9,7 @@
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="是否是安全信息化系统 " prop="sisStatus">
+ <el-form-item label="是否使用安全信息化系统" prop="sisStatus">
<el-radio-group v-model="applyStartDialogState.applyStartForm.sisStatus">
<el-radio :label="1">是</el-radio>
<el-radio :label="2">否</el-radio>
diff --git a/src/views/experiment/project/components/projectDialog.vue b/src/views/experiment/project/components/projectDialog.vue
index 1292685..9248096 100644
--- a/src/views/experiment/project/components/projectDialog.vue
+++ b/src/views/experiment/project/components/projectDialog.vue
@@ -45,6 +45,14 @@
<td class="w-25 m-color required">负责人</td>
<td class="w-25 m-color">
<el-form-item prop="liabilityUserId">
+<!-- <el-select style="width: 100%" v-model="projectDialogState.projectForm.liabilityUserId" clearable filterable @change="getLiabilityUserPhone($event)">-->
+<!-- <el-option-->
+<!-- v-for="item in projectDialogState.systemPersonList"-->
+<!-- :key="item.id"-->
+<!-- :value="item.id"-->
+<!-- :label="item.realName"-->
+<!-- ></el-option>-->
+<!-- </el-select>-->
<el-select style="width: 100%" disabled v-model="projectDialogState.projectForm.liabilityUserId" clearable filterable>
<el-option :key="userInfos.uid" :value="userInfos.uid" :label="userInfos.userName"></el-option>
</el-select>
@@ -369,10 +377,10 @@
projectDialogState.projectForm.liabilityUserPhone = data.phone
}
-const getSafeLiabilityUserPhone = (value: number)=>{
- const data = projectDialogState.allPersonList.find(item => item.id === value) as AllPersonListType
- projectDialogState.projectForm.safeLiabilityUserPhone = data.phone
-}
+// const getSafeLiabilityUserPhone = (value: number)=>{
+// const data = projectDialogState.allPersonList.find(item => item.id === value) as AllPersonListType
+// projectDialogState.projectForm.safeLiabilityUserPhone = data.phone
+// }
const showProjectDialog = (title: string, value: ProjectType, allRoomList: RoomType []) => {
projectDialogState.projectDialogVisible = true;
diff --git a/src/views/experiment/project/components/selectEquipment.vue b/src/views/experiment/project/components/selectEquipment.vue
index 33b2527..7ddf0b9 100644
--- a/src/views/experiment/project/components/selectEquipment.vue
+++ b/src/views/experiment/project/components/selectEquipment.vue
@@ -3,7 +3,7 @@
<tr>
<td class="w-16 m-color required">设备名称</td>
<td class="w-16 m-color">编号</td>
- <td class="w-16 m-color">设备功率</td>
+ <td class="w-16 m-color">额定功率</td>
<td class="w-16 m-color">是否特种</td>
<td class="w-16 m-color required">设备数量</td>
<td class="w-16 m-color">操作</td>
diff --git a/src/views/experiment/project/index.vue b/src/views/experiment/project/index.vue
index 0eb8355..2918ffa 100644
--- a/src/views/experiment/project/index.vue
+++ b/src/views/experiment/project/index.vue
@@ -71,7 +71,7 @@
<el-table-column prop="assessLevel" label="风险等级">
<template #default="scope">
<el-tag :type="scope.row.assessLevel == 4?'danger':scope.row.assessLevel == 3 || scope.row.assessLevel == 2?'warning':''">
- {{scope.row.assessLevel == 1?'低风险':scope.row.assessLevel == 2?'一般风险':scope.row.assessLevel == 3?'较大风险':scope.row.assessLevel == 4?'重大风险':'--'}}
+ {{scope.row.assessLevel == 1?'重大风险':scope.row.assessLevel == 2?'较大风险':scope.row.assessLevel == 3?'一般风险':scope.row.assessLevel == 4?'低风险':'--'}}
</el-tag>
</template>
</el-table-column>
diff --git a/src/views/loginPage/component/accountLogin.vue b/src/views/loginPage/component/accountLogin.vue
index 8f5c014..8ae28b4 100644
--- a/src/views/loginPage/component/accountLogin.vue
+++ b/src/views/loginPage/component/accountLogin.vue
@@ -87,6 +87,7 @@
import {verifyPhone,verifyIdCard} from "/@/utils/toolsValidate"
import { Base64 } from 'js-base64'
+import {useMenuApi} from "/@/api/systemManage/menu";
export default defineComponent({
name: 'accountLogin',
setup() {
@@ -113,7 +114,8 @@
password: '',
rePassword: ''
},
- identifyDialog: false
+ identifyDialog: false,
+ menu: []
});
const identifyRef = ref<FormInstance>()
@@ -227,6 +229,21 @@
// signInSuccess();
// }
};
+
+ const getMenu = async () => {
+ let res = await useMenuApi().getMenuAdmin();
+ if (res.data.code === 100) {
+ state.menu = JSON.parse(JSON.stringify(res.data.data))
+ router.push(state.menu[0].children[0].path);
+ } else {
+ ElMessage({
+ type: 'warning',
+ message: res.data.msg
+ });
+ }
+
+ };
+
// 登录成功后的跳转
const signInSuccess = async () => {
// 初始化登录成功时间问候语
@@ -234,7 +251,9 @@
// 登录成功,跳到转首页
// 如果是复制粘贴的路径,非首页/登录页,那么登录成功后重定向到对应的路径中
// if (route.json.query?.redirect) {
- router.push('/project');
+ getMenu()
+ // console.log(state.menu,'menu')
+
// router.push({
// path: <string>route.json.query?.redirect,
// query: Object.keys(<string>route.json.query?.params).length > 0 ? JSON.parse(<string>route.json.query?.params) : '',
@@ -293,6 +312,7 @@
return {
identifyRef,
identityRules,
+ getMenu,
clearIdentity,
onSignIn,
identify,
diff --git a/src/views/system/experts/index.vue b/src/views/system/experts/index.vue
index 163f222..a4b6a18 100644
--- a/src/views/system/experts/index.vue
+++ b/src/views/system/experts/index.vue
@@ -2,7 +2,7 @@
<div class="system-user-container">
<el-card shadow="hover">
<div class="system-user-search mb15">
- <el-select v-model="userTableData.listQuery.searchParams.userIndentityId" placeholder="专家类型" clearable class="w100" style="max-width: 180px">
+ <el-select v-model="userTableData.listQuery.searchParams.userIndentityId" placeholder="专家类型" clearable class="w100" style="max-width: 180px" size="default">
<el-option v-for="item in expList" :key="item.id" :label="item.identity" :value="item.id"> </el-option>
</el-select>
<el-button size="default" type="primary" class="ml10" @click="searchByName()">
diff --git a/src/views/system/home/index.vue b/src/views/system/home/index.vue
index 91d40aa..9c91967 100644
--- a/src/views/system/home/index.vue
+++ b/src/views/system/home/index.vue
@@ -37,7 +37,7 @@
</el-table-column>
<el-table-column label="权限标识" show-overflow-tooltip>
<template #default="scope">
- <span>{{ scope.row.meta.roles }}</span>
+ <span>{{ scope.row.meta.roles.map(id => state.roleList.find(obj => obj.id === id)?.name).join(',') }}</span>
</template>
</el-table-column>
<el-table-column label="排序" show-overflow-tooltip width="80">
@@ -72,6 +72,7 @@
import { useMenuApi } from "/@/api/systemManage/menu";
import { initBackEndControlRoutes } from "/@/router/backEnd";
import {roomApi} from "/@/api/basic/room";
+import {useRoleApi} from "/@/api/systemManage/role";
// import { setBackEndControlRefreshRoutes } from "/@/router/backEnd";
// 引入组件
@@ -83,9 +84,10 @@
const menuDialogRef = ref();
const state = reactive({
tableData: {
- data: [] as RouteRecordRaw[],
- loading: false,
+ data: [] as RouteRecordRaw[],
+ loading: false,
},
+ roleList: []
});
// 获取路由数据,真实请从接口获取
@@ -101,6 +103,19 @@
});
}
};
+
+const initRoleTableData = async () => {
+ let res = await useRoleApi().getRoleList();
+ if (res.data.code === 100) {
+ state.roleList = res.data.data;
+ } else {
+ ElMessage({
+ type: 'warning',
+ message: res.data.msg
+ });
+ }
+};
+
// 打开新增菜单弹窗
const onOpenAddMenu = (type: string) => {
menuDialogRef.value.openDialog(type);
@@ -140,5 +155,6 @@
// 页面加载时
onMounted(() => {
getTableData();
+ initRoleTableData();
});
</script>
diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue
index ec5954b..473f805 100644
--- a/src/views/system/user/index.vue
+++ b/src/views/system/user/index.vue
@@ -2,7 +2,10 @@
<div class="system-user-container">
<el-card shadow="hover">
<div class="system-user-search mb15">
- <el-input size="default" v-model.trim="searchName" placeholder="真实姓名" style="max-width: 180px"> </el-input>
+ <el-input size="default" v-model.trim="userTableData.listQuery.searchParams.realName" placeholder="真实姓名" style="max-width: 180px;margin-right: 10px"> </el-input>
+ <el-select v-model="userTableData.listQuery.searchParams.roleId" placeholder="角色类型" clearable class="w100" style="max-width: 180px" size="default">
+ <el-option v-for="item in roleList" :key="item.id" :label="item.name" :value="item.id"> </el-option>
+ </el-select>
<el-button size="default" type="primary" class="ml10" @click="searchByName()">
<el-icon>
<ele-Search />
@@ -95,6 +98,7 @@
roleId: number | null;
name: string
realName: string
+ userIndentityId: number | null;
}
};
};
@@ -102,7 +106,7 @@
depList: [];
roleList: [];
expList: [];
- searchName:string
+ searchType: null | number
}
export default defineComponent({
@@ -121,7 +125,8 @@
searchParams:{
roleId: null,
name: '',
- realName: ''
+ realName: '',
+ userIndentityId: null
}
}
},
@@ -134,7 +139,7 @@
depList: [],
roleList: [],
expList: [],
- searchName: ''
+ searchType:null
});
// 初始化表格数据
const initUserTableData = async () => {
@@ -149,28 +154,33 @@
});
}
};
-
- const searchByName = async () =>{
- if(state.searchName == ''){
+ const initRoleTableData = async () => {
+ let res = await useRoleApi().getRoleList();
+ if (res.data.code === 100) {
+ state.roleList = res.data.data;
+ } else {
ElMessage({
type: 'warning',
- message: '请输入搜索内容'
+ message: res.data.msg
});
- }else{
- let res = await userApi().getUserLByRealName(state.searchName);
- if (res.data.code === 100) {
- state.userTableData.data = res.data.data
- } else {
- ElMessage({
- type: 'warning',
- message: res.data.msg
- });
- }
}
- }
+ };
+
+ const searchByName = ()=>{
+ initUserTableData()
+ }
const reset = () =>{
- state.searchName = ''
+ state.userTableData.listQuery = {
+ pageIndex: 1,
+ pageSize: 10,
+ searchParams:{
+ roleId: null,
+ name: '',
+ realName: '',
+ userIndentityId: null
+ }
+ }
initUserTableData()
}
@@ -253,6 +263,7 @@
// 页面加载时
onMounted(() => {
initUserTableData();
+ initRoleTableData();
getRoleData();
getExpertsData();
getDepList()
--
Gitblit v1.9.2