From a8ef7c1a4b2ab6acd91a0520e6258bd753d17f20 Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: 星期三, 16 八月 2023 15:58:20 +0800
Subject: [PATCH] 人员证书类型

---
 src/views/newSpecialWorkSystem/workTicket/zysq/components/height.vue |  123 +++++++++++++++++-----------------------
 1 files changed, 52 insertions(+), 71 deletions(-)

diff --git a/src/views/newSpecialWorkSystem/workTicket/zysq/components/height.vue b/src/views/newSpecialWorkSystem/workTicket/zysq/components/height.vue
index eb3e76d..f7650ee 100644
--- a/src/views/newSpecialWorkSystem/workTicket/zysq/components/height.vue
+++ b/src/views/newSpecialWorkSystem/workTicket/zysq/components/height.vue
@@ -55,11 +55,11 @@
         </el-col>
         <el-col :span="12">
           <el-form-item label="作业人及证件编号" prop="operatorUids">
-            <el-select v-model="form.operatorUids" multiple clearable>
+            <el-select v-model="form.operatorUids" filterable multiple clearable>
               <el-option
-                  v-for="item in workerList"
+                  v-for="item in spList.opList"
                   :key="item.uid"
-                  :label="item.username"
+                  :label="item.realName"
                   :value="item.uid"
               />
             </el-select>
@@ -74,7 +74,7 @@
         </el-col>
         <el-col :span="12">
           <el-form-item label="作业负责人" prop="headUids">
-            <el-select v-model="form.headUids" multiple @change="getStartEndIds" clearable>
+            <el-select v-model="form.headUids" filterable multiple @change="getStartEndIds" clearable>
               <el-option
                   v-for="item in workerList"
                   :key="item.uid"
@@ -88,25 +88,29 @@
       <el-row>
         <el-col :span="12">
           <el-form-item label="监护人" prop="guardianUids">
-            <el-select v-model="form.guardianUids" multiple @change="getSafetyIds" clearable>
+            <el-select v-model="form.guardianUids" filterable multiple @change="getSafetyIds" clearable>
               <el-option
-                  v-for="item in workerList"
+                  v-for="item in spList.jhList"
                   :key="item.uid"
-                  :label="item.username"
+                  :label="item.realName"
                   :value="item.uid"
               />
             </el-select>
           </el-form-item>
         </el-col>
-        <el-col :span="12">
-          <el-form-item label="关联其他特殊作业" prop="involveOtherWork">
-            <el-select v-model="form.involveOtherWork" multiple clearable>
-              <el-option
-                  v-for="item in otherWorkList"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.label"
-              />
+        <el-col :span="12" class="valueSelect">
+          <el-form-item label="关联其他特殊作业">
+<!--            <el-select v-model="form.involveOtherWork" multiple clearable>-->
+<!--              <el-option-->
+<!--                  v-for="item in otherWorkList"-->
+<!--                  :key="item.value"-->
+<!--                  :label="item.label"-->
+<!--                  :value="item.label"-->
+<!--              />-->
+<!--            </el-select>-->
+            <el-select v-model="form.involveOtherWork" multiple clearable :teleported="false" @click="openWorkSelect">
+              <el-option v-for="item in otherWorks" :key="item.workApplyId" :label="item.workContent" :value="item.workApplyId">
+              </el-option>
             </el-select>
           </el-form-item>
         </el-col>
@@ -174,12 +178,12 @@
         <el-row style="display: flex;justify-content: center">
           <el-table :data="safetyMeasureBasicList" style="width: 90%" border>
             <el-table-column type="index" label="序号" width="100px" align="center"/>
-            <el-table-column prop="measureContent" label="安全措施" align="center"/>
+            <el-table-column prop="measureContent" label="安全措施"/>
           </el-table>
         </el-row>
         <el-row>
           <el-col :span="12">
-            <el-form-item label="安全措施确认人" prop="safetyMeasureUids">
+            <el-form-item label="安全措施确认人" filterable prop="safetyMeasureUids">
               <el-select v-model="form.safetyMeasureUids" multiple clearable>
                 <el-option
                     v-for="item in workerList"
@@ -205,7 +209,7 @@
                 </el-form-item>
               </template>
             </el-table-column>
-            <el-table-column prop="approvalUids" label="审批人" align="center">
+            <el-table-column prop="approvalUids" filterable label="审批人" align="center">
               <template #default="scope">
                 <el-select v-model="scope.row.approvalUids" multiple :disabled="isFirstRow(scope.$index)" clearable>
                   <el-option
@@ -233,7 +237,7 @@
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="现场开始结束确认人" prop="startOrEndUids">
+            <el-form-item label="现场开始结束确认人" filterable prop="startOrEndUids">
               <el-select v-model="form.startOrEndUids" multiple clearable>
                 <el-option
                     v-for="item in workerList"
@@ -250,6 +254,7 @@
 		<div class="applyBtn">
 			<el-button type="primary" size="large" plain @click="submitForm(ruleFormRef)">提交申报</el-button>
 		</div>
+    <work-select ref="workSelectRef" @refreshWorks="getSelected()"></work-select>
 	</div>
 </template>
 
@@ -263,10 +268,10 @@
 	import { ElMessage, ElMessageBox } from 'element-plus'
 	import type { FormInstance, FormRules } from 'element-plus'
 	import { workApplyApi } from '/@/api/specialWorkSystem/workApply';
+  import workSelect from "/@/views/newSpecialWorkSystem/workTicket/zysq/components/workSelect.vue";
 	interface stateType {
 		form: Object,
 		workLevelList: Array<any>,
-		otherWorkList: Array<any>,
 		equipmentDialog: boolean,
     props:{},
     depProps:{},
@@ -274,8 +279,8 @@
 	}
 	export default defineComponent({
 		name: 'heightForm',
-		components: {},
-		props:['departList','departList2','workerList','deviceList'],
+		components: {workSelect},
+		props:['departList','departList2','workerList','deviceList','otherWorks','spList'],
 		setup(props: any, context: any) {
 			const userInfo = useUserInfo()
 			const { userInfos } = storeToRefs(userInfo);
@@ -296,7 +301,7 @@
           workContent: '',
           workLocation: '',
           riskIdentification: '',
-          involveOtherWork: '',
+          involveOtherWork: [],
           safetyMeasureUids: [],
           approvalDepBasicList: [],
           acceptUid: null,
@@ -324,40 +329,6 @@
             value: 7
           }
         ],
-				otherWorkList: [
-					{
-						label: "动火作业",
-						value: 1
-					},
-					{
-						label: "受限空间作业",
-						value: 2
-					},
-					{
-						label: "吊装作业",
-						value: 3
-					},
-					{
-						label: "动土作业",
-						value: 4
-					},
-					{
-						label: "断路作业",
-						value: 5
-					},
-					{
-						label: "高处作业",
-						value: 6
-					},
-					{
-						label: "临时用电作业",
-						value: 7
-					},
-					{
-						label: "盲板抽堵作业",
-						value: 8
-					}
-				],
         props:{
           expandTrigger: 'hover',
           label: 'depName',
@@ -381,7 +352,6 @@
         operatorUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
         workDepId: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
         headUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-        involveOtherWork: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
         guardianUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
         riskIdentification: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
         cameraIds: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
@@ -392,12 +362,18 @@
         startOrEndUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
 				"workDetail.hight": [{ required: true, message: '该内容不能为空', trigger: 'blur' }]
 			});
-
+      const workSelectRef = ref()
 			// 页面载入时执行方法
 			onMounted(() => {
 
       });
+      const openWorkSelect = ()=>{
+        workSelectRef.value.openDialog(state.form.involveOtherWork)
+      }
 
+      const getSelected = ()=>{
+        state.form.involveOtherWork = workSelectRef.value.selected
+      }
       const findParent = ()=>{
         state.form.seDepId = findNearestDepLevel2DepId(props.departList2,state.form.applyDepId)
       }
@@ -451,9 +427,9 @@
                 return
               }
             }
-            if(Array.isArray(state.form.involveOtherWork)){
-              state.form.involveOtherWork = state.form.involveOtherWork.join(',')
-            }
+            // if(Array.isArray(state.form.involveOtherWork)){
+            //   state.form.involveOtherWork = state.form.involveOtherWork.join(',')
+            // }
             const res = await workApplyApi().submitHeightApply(state.form)
             if (res.data.code === '200') {
               ElMessage({
@@ -467,7 +443,7 @@
                 type: 'warning',
                 message: res.data.msg
               });
-              state.form.involveOtherWork = state.form.involveOtherWork.split(',')
+              // state.form.involveOtherWork = state.form.involveOtherWork.split(',')
             }
           } else {
             console.log('error submit!', fields)
@@ -519,6 +495,9 @@
         isFirstRow,
         submitForm,
         findParent,
+        openWorkSelect,
+        getSelected,
+        workSelectRef,
 				Search,
 				ruleFormRef,
 				applyRules,
@@ -533,9 +512,11 @@
 		width: 100%;
     height: 100vh;
 		overflow: hidden;
-		position: relative;
     overflow-y: scroll;
-    padding: 0 0 120px;
+    &::-webkit-scrollbar{
+      width: 0;
+      background-color: transparent;
+    }
 		.homeCard{
 			width: 100%;
 			padding: 20px;
@@ -545,10 +526,6 @@
 			margin-bottom: 20px;
 		}
 		.applyBtn{
-      position: fixed;
-      left: 0;
-      bottom: 0;
-      z-index: 999;
 			width: 100%;
 			background: #fff;
 			padding: 20px 0;
@@ -576,7 +553,11 @@
 			width: 100% !important;
 		}
 	}
-
+  .valueSelect{
+    ::v-deep(.el-popper){
+      display: none !important;
+    }
+  }
 	.tab-i{
 		margin-bottom: 15px;
 

--
Gitblit v1.9.2