Jelajahi Sumber

隐患排查修改

yanghao 2 hari lalu
induk
melakukan
9b19e86781

+ 14 - 0
src/views/pms/qhse/monthlyReport/MonthlyReport.vue

@@ -780,4 +780,18 @@ onMounted(async () => {
     }
   }
 }
+
+:deep(.el-input.is-disabled) {
+  .el-input__inner {
+    color: #606266 !important;
+    -webkit-text-fill-color: #606266 !important;
+  }
+}
+
+:deep(.el-textarea.is-disabled) {
+  .el-textarea__inner {
+    color: #606266 !important;
+    -webkit-text-fill-color: #606266 !important;
+  }
+}
 </style>

+ 83 - 18
src/views/pms/qhse/safety/index.vue

@@ -159,6 +159,8 @@
               <span v-else>-</span>
             </template>
           </zm-table-column>
+          <zm-table-column label="整改人" align="center" prop="correctPersonName" />
+          <zm-table-column label="整改要求" align="center" prop="correctStandard" />
 
           <zm-table-column label="整改情况" align="center" prop="rectifyDesc" />
 
@@ -178,7 +180,7 @@
 
           <zm-table-column prop="createTime" label="排查时间" align="center" min-width="150">
             <template #default="{ row }">
-              {{ formatDate(row.createTime) }}
+              {{ formatDate(row.checkTime) }}
             </template>
           </zm-table-column>
 
@@ -246,17 +248,6 @@
       :rules="formRules"
       label-width="120px"
       v-loading="formLoading">
-      <el-form-item label="所属队伍" prop="deptId">
-        <el-tree-select
-          clearable
-          v-model="formData.deptId"
-          :data="deptList2"
-          :props="defaultProps"
-          :check-strictly="false"
-          node-key="id"
-          filterable
-          placeholder="请选择所属队伍" />
-      </el-form-item>
       <el-form-item label="隐患排查类型" prop="classify">
         <el-tree-select
           style="width: 500px; overflow: auto"
@@ -269,7 +260,11 @@
       </el-form-item>
 
       <el-form-item label="隐患排查来源" prop="source">
-        <el-select v-model="formData.source" placeholder="请选择隐患排查来源" clearable>
+        <el-select
+          v-model="formData.source"
+          placeholder="请选择隐患排查来源"
+          clearable
+          @change="handleChange">
           <el-option
             v-for="dict in getStrDictOptions(DICT_TYPE.QHSE_HAZARD_SOURCE)"
             :key="dict.value"
@@ -278,6 +273,52 @@
         </el-select>
       </el-form-item>
 
+      <el-form-item label="所属队伍" prop="deptId">
+        <el-tree-select
+          clearable
+          v-model="formData.deptId"
+          :data="deptList2"
+          :props="defaultProps"
+          :check-strictly="
+            formData.source === 'xm' || formData.source === 'zfjf' || formData.source === 'gsjt'
+          "
+          node-key="id"
+          filterable
+          placeholder="请选择所属队伍" />
+      </el-form-item>
+
+      <el-form-item label="排查时间" prop="checkTime">
+        <el-date-picker
+          v-model="formData.checkTime"
+          type="datetime"
+          value-format="x"
+          placeholder="请选择排查时间"
+          style="width: 100%" />
+      </el-form-item>
+
+      <el-form-item label="整改要求" prop="correctStandard">
+        <el-input
+          type="textarea"
+          :rows="2"
+          v-model="formData.correctStandard"
+          placeholder="请输入整改要求" />
+      </el-form-item>
+
+      <el-form-item label="整改人" prop="correctPerson">
+        <el-select
+          v-model="formData.correctPerson"
+          filterable
+          clearable
+          placeholder="请选择整改人"
+          style="width: 100%">
+          <el-option
+            v-for="item in userList"
+            :key="item.id"
+            :label="item.nickname"
+            :value="item.id" />
+        </el-select>
+      </el-form-item>
+
       <el-form-item label="地点" prop="address">
         <el-input v-model="formData.address" placeholder="请输入地点" />
       </el-form-item>
@@ -385,8 +426,9 @@
 import { ref, reactive, watch, nextTick } from 'vue'
 import { IotHiddenApi, IotHiddenTypeApi } from '@/api/pms/qhse/index'
 import DeptTree from '@/views/system/user/DeptTree2.vue'
-
+import { getUserProfile } from '@/api/system/user/profile'
 import * as DeptApi from '@/api/system/dept'
+import { selectedDeptsEmployee } from '@/api/system/user'
 import { ElMessageBox, ElMessage } from 'element-plus'
 const deptList2 = ref<Tree[]>([]) // 树形结构
 import { formatDate } from '@/utils/formatTime'
@@ -456,7 +498,10 @@ const formData = ref({
   rectifyFile: '',
   status: '',
   classify: '',
-  source: ''
+  source: '',
+  checkTime: '',
+  correctStandard: '',
+  correctPerson: ''
 })
 
 // 表单验证规则
@@ -469,7 +514,10 @@ const formRules = {
   rectifyFile: [{ required: true, message: '整改附件不能为空', trigger: 'blur' }],
   hazardFile: [{ required: true, message: '照片不能为空', trigger: 'blur' }],
   classify: [{ required: true, message: '分类不能为空', trigger: 'blur' }],
-  source: [{ required: true, message: '来源不能为空', trigger: 'blur' }]
+  source: [{ required: true, message: '来源不能为空', trigger: 'blur' }],
+  checkTime: [{ required: true, message: '检查时间不能为空', trigger: 'blur' }],
+  correctStandard: [{ required: true, message: '整改标准不能为空', trigger: 'blur' }],
+  correctPerson: [{ required: true, message: '整改人不能为空', trigger: 'blur' }]
 }
 
 /** 查询列表 */
@@ -518,6 +566,12 @@ const resetQuery = () => {
   handleQuery()
 }
 
+const handleChange = (val) => {
+  console.log('handleChange', val)
+  if (val === 'dw') {
+    formData.value.deptId = ''
+  }
+}
 // 显示新增对话框
 const handleAdd = async () => {
   isEdit.value = false
@@ -811,11 +865,22 @@ const resizePieChart = () => {
 
 let pieChartResizeObserver: ResizeObserver | null = null
 
+let userList = ref([])
 onMounted(async () => {
+  const users = await getUserProfile()
+
+  userList.value = await selectedDeptsEmployee({
+    deptIds: users.dept.id
+  })
   getList()
+
   deptList2.value = handleTree(await DeptApi.getSimpleDeptList())
 
-  getStatic()
+  try {
+    getStatic()
+  } catch (error) {
+    console.error(error)
+  }
 
   window.addEventListener('resize', resizePieChart)
 
@@ -827,7 +892,7 @@ onMounted(async () => {
   }
 })
 
-onUnmounted(() => {
+onUnmounted(async () => {
   if (pieChart) {
     pieChart.dispose()
     pieChart = null