hmm 8 mēneši atpakaļ
vecāks
revīzija
ec2c90c138

+ 9 - 0
src/api/inspectionWork/riskManagement.ts

@@ -51,3 +51,12 @@ export const getSubtaskList = (task_id: string) => {
   });
 };
 
+//查询结果
+export const getSubtaskResultList = (children_task_id: string) => {
+  return request({
+    url: `/api/riskManagement/risk/children/task/result/${children_task_id}/list`,
+    method: 'get',
+  });
+};
+
+

+ 3 - 5
src/types/components.d.ts

@@ -19,8 +19,6 @@ declare module 'vue' {
     Dialog: typeof import('./../components/Dialog/index.vue')['default']
     DictTag: typeof import('./../components/DictTag/index.vue')['default']
     Editor: typeof import('./../components/Editor/index.vue')['default']
-    ElAnchor: typeof import('element-plus/es')['ElAnchor']
-    ElAnchorLink: typeof import('element-plus/es')['ElAnchorLink']
     ElAutocomplete: typeof import('element-plus/es')['ElAutocomplete']
     ElBadge: typeof import('element-plus/es')['ElBadge']
     ElButton: typeof import('element-plus/es')['ElButton']
@@ -55,15 +53,12 @@ declare module 'vue' {
     ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup']
     ElRow: typeof import('element-plus/es')['ElRow']
     ElScrollbar: typeof import('element-plus/es')['ElScrollbar']
-    ElSegmented: typeof import('element-plus/es')['ElSegmented']
     ElSelect: typeof import('element-plus/es')['ElSelect']
     ElSlider: typeof import('element-plus/es')['ElSlider']
     ElSubMenu: typeof import('element-plus/es')['ElSubMenu']
     ElSwitch: typeof import('element-plus/es')['ElSwitch']
     ElTable: typeof import('element-plus/es')['ElTable']
     ElTableColumn: typeof import('element-plus/es')['ElTableColumn']
-    ElTabPane: typeof import('element-plus/es')['ElTabPane']
-    ElTabs: typeof import('element-plus/es')['ElTabs']
     ElTag: typeof import('element-plus/es')['ElTag']
     ElText: typeof import('element-plus/es')['ElText']
     ElTimeline: typeof import('element-plus/es')['ElTimeline']
@@ -82,6 +77,9 @@ declare module 'vue' {
     HikvisionPlayer: typeof import('./../components/HKVideo/hikvision-player.vue')['default']
     HKVideo: typeof import('./../components/HKVideo/index.vue')['default']
     IconSelect: typeof import('./../components/IconSelect/index.vue')['default']
+    IEpCaretBottom: typeof import('~icons/ep/caret-bottom')['default']
+    IEpCaretTop: typeof import('~icons/ep/caret-top')['default']
+    IEpUploadFilled: typeof import('~icons/ep/upload-filled')['default']
     IFrame: typeof import('./../components/iFrame/index.vue')['default']
     ImagePreview: typeof import('./../components/ImagePreview/index.vue')['default']
     ImageUpload: typeof import('./../components/ImageUpload/index.vue')['default']

+ 28 - 2
src/views/inspectionWork/riskManagement.vue

@@ -103,8 +103,34 @@
                 <el-radio value="4" size="large">一次</el-radio>
               </el-radio-group>
             </el-form-item>
-            <el-form-item  label="选择时间:" prop="corn_query">
-              <el-date-picker v-model="form.corn_query" type="dates" placeholder="选择日期时间"></el-date-picker>
+            <el-form-item v-if="form.cycle ==='0'" label="选择时间:" prop="corn_query">
+              <el-date-picker v-model="form.corn_query" type="date" placeholder="选择日期时间" value-format="YYYY-MM-DD"></el-date-picker>
+            </el-form-item>
+            <el-form-item v-if="form.cycle ==='1'" label="选择时间:" prop="corn_query">
+              <el-date-picker v-model="form.corn_query" type="date" placeholder="选择日期时间" value-format="MM-DD"></el-date-picker>
+            </el-form-item>
+            <el-form-item v-if="form.cycle === '2'" label="选择时间:" prop="corn_query">
+              <div class="weekday-selector">
+                <el-radio-group v-model="form.corn_query">
+                  <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="5">周五</el-radio>
+                  <el-radio label="6">周六</el-radio>
+                  <el-radio label="7">周日</el-radio>
+                </el-radio-group>
+              </div>
+            </el-form-item>
+            <el-form-item v-if="form.cycle ==='3'" label="选择时间:" prop="corn_query">
+              <el-date-picker v-model="form.corn_query" type="datetime" placeholder="选择日期时间"
+                              format="YYYY-MM-DD HH:mm:ss"
+              ></el-date-picker>
+            </el-form-item>
+            <el-form-item v-if="form.cycle ==='4'" label="选择时间:" prop="corn_query">
+              <el-date-picker v-model="form.corn_query" type="datetime" placeholder="选择日期时间"
+                              format="HH:mm:ss"
+              ></el-date-picker>
             </el-form-item>
             <el-form-item label="排查范围:" prop="task_range">
               <el-radio-group v-model="form.task_range">

+ 128 - 20
src/views/inspectionWork/riskdetails.vue

@@ -88,7 +88,7 @@
           </el-table-column>
           <el-table-column label="操作" width="150">
             <template #default="scope">
-              <el-button size="small" @click="handleresult(scope.$index, scope.row)">巡查结果</el-button>
+              <el-button size="small" @click="handleResult()">巡查结果</el-button>
             </template>
           </el-table-column>
         </el-table>
@@ -120,8 +120,34 @@
             <el-radio value="4" size="large">一次</el-radio>
           </el-radio-group>
         </el-form-item>
-        <el-form-item  label="选择时间:" prop="corn_query">
-          <el-date-picker v-model="form.corn_query" type="dates" placeholder="选择日期时间"></el-date-picker>
+        <el-form-item v-if="form.cycle ==='0'" label="选择时间:" prop="corn_query">
+          <el-date-picker v-model="form.corn_query" type="date" placeholder="选择日期时间" value-format="YYYY-MM-DD"></el-date-picker>
+        </el-form-item>
+        <el-form-item v-if="form.cycle ==='1'" label="选择时间:" prop="corn_query">
+          <el-date-picker v-model="form.corn_query" type="month" placeholder="选择日期时间" value-format="MM"></el-date-picker>
+        </el-form-item>
+        <el-form-item v-if="form.cycle === '2'" label="选择时间:" prop="corn_query">
+          <div class="weekday-selector">
+            <el-radio-group v-model="form.corn_query">
+              <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="5">周五</el-radio>
+              <el-radio label="6">周六</el-radio>
+              <el-radio label="7">周日</el-radio>
+            </el-radio-group>
+          </div>
+        </el-form-item>
+        <el-form-item v-if="form.cycle ==='3'" label="选择时间:" prop="corn_query">
+          <el-date-picker v-model="form.corn_query" type="datetime" placeholder="选择日期时间"
+                          format="YYYY-MM-DD HH:mm:ss"
+          ></el-date-picker>
+        </el-form-item>
+        <el-form-item v-if="form.cycle ==='4'" label="选择时间:" prop="corn_query">
+          <el-date-picker v-model="form.corn_query" type="datetime" placeholder="选择日期时间"
+                          format="HH:mm:ss"
+          ></el-date-picker>
         </el-form-item>
         <el-form-item label="排查范围:" prop="task_range">
           <el-radio-group v-model="form.task_range">
@@ -137,23 +163,100 @@
         <el-button @click="cancel">取 消</el-button>
       </div>
     </el-dialog>
+<!--    巡查结果-->
+    <el-dialog v-model="visible" title="巡查结果" width="500px" append-to-body>
+      <div v-show="showSearch">
+        <el-form ref="queryFormRef" :model="queryParams">
+          <el-row :gutter="20">
+            <el-col :span="6">
+              <el-form-item label="所属区划:" prop="area" label-width="auto">
+                <el-tree-select
+                  v-model="divisionSelectedId"
+                  :data="formattedDivisionData"
+                  :props="{ label: 'label', value: 'code', children: 'children' }"
+                  :render-after-expand="false"
+                  style="width: 468px"
+                  @change="onDivisionChange"
+                />
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="巡查结果:" prop="inspection_result" label-width="auto">
+                <el-select v-model="queryParams.inspection_result" placeholder="全部" clearable>
+                  <el-option v-for="item in risk_result" :key="item.value" :label="item.label" :value="item.value"></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item prop="nick_name" label-width="auto">
+                <el-input v-model="queryParams.nick_name" placeholder="请输入巡查人"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-button type="primary" @click="handleQuery">搜索</el-button>
+              <el-button @click="resetQuery">重置</el-button>
+            </el-col>
+          </el-row>
+        </el-form>
+      </div>
+<!--      表格组件-->
+      <el-table v-loading="loading" :data="SubtaskResultList" border style="width: 100%">
+        <el-table-column prop="point_name" label="排查点" align="center" width="180" />
+        <el-table-column prop="area" label="所属区划" width="180" />
+        <el-table-column prop="create_time" label="执行日期" width="180" />
+        <el-table-column prop="nick_name" label="排查人" width="180" />
+        <el-table-column prop="result" label="排查结果" />
+        <el-table-column prop="fileList" label="现场照片" />
+        <el-table-column prop="remark" label="备注" />
+      </el-table>
+      <pagination v-show="total > 0" v-model:page="queryParams.page" v-model:limit="queryParams.pageSize" :total="total" @pagination="getList" />
+    </el-dialog>
+
   </div>
 </template>
 
 <script setup name="planList" lang="ts">
 import { to } from 'await-to-js';
-import  { ElMessageBox } from 'element-plus';
-import {deleteRisk, getRiskDetail, updatetask, getSubtaskList} from "@/api/inspectionWork/riskManagement";
+import {ElMessage, ElMessageBox} from 'element-plus';
+import {
+  deleteRisk,
+  getRiskDetail,
+  updatetask,
+  getSubtaskList,
+  getSubtaskResultList
+} from "@/api/inspectionWork/riskManagement";
+import {ref} from "vue";
+const divisionSelectedId = ref(null);
+const formattedDivisionData = ref([]);
+const onDivisionChange = (value) => {
+  // 确认选中的项存在
+  const selectedDivision = findNode(formattedDivisionData.value, value);
+  if (!selectedDivision) {
+    ElMessage.warning('未找到匹配的责任区划。');
+    // 将选中的值重置为 null 或空字符串,防止后续逻辑错误
+    divisionSelectedId.value = null;
+  } else {
+    console.log('Selected Division:', selectedDivision); // 调试输出
+  }
+};
+const queryParams = reactive({
+  page: 1,
+  pageSize: '10',
+  inspection_result: '',
+  area_code: '',
+  nick_name: ''
+});
+const { page, pageSize } = toRefs(queryParams);
 const router = useRouter();
-
 const goBack = () => {
   proxy?.$tab.closePage();
 };
 
 const route = useRoute();
 const { proxy } = getCurrentInstance() as ComponentInternalInstance;
-const { risk_type,risk_range,risk_cycle,risk_status } = toRefs<any>(proxy?.useDict('risk_type','risk_range','risk_cycle','risk_status'));
+const { risk_type,risk_range,risk_cycle,risk_status,risk_result } = toRefs<any>(proxy?.useDict('risk_type','risk_range','risk_cycle','risk_status','risk_result'));
 const subtaskData = ref([]);
+const SubtaskResultList = ref([]);
 
 //已完成/未完成的页面跳转
 const handleClick = (value: number, type: string) => {
@@ -181,17 +284,7 @@ const detailData = ref({
   task_range: ''
 });
 
-// const subtaskData = ref({
-//   id: '',
-//   create_time: '',
-//   cycle: '',
-//   incomplete_num: '',
-//   task_id: '',
-//   task_number: '',
-//   task_range: '',
-//   task_time: '',
-//   completed_num: ''
-// });
+
 let id = ref();
 let task_number = ref();
 let visible = ref(false);
@@ -209,6 +302,18 @@ let form = ref({
   task_range: ''
 });
 
+// const handleResult = async () => {
+//   try {
+//     loading.value = true;
+//     const res = await getSubtaskResultList(subtaskData.value[0]?.id);
+//     SubtaskResultList.value = res.data;
+//   } catch (error) {
+//     console.error('获取子任务结果失败:', error);
+//   } finally {
+//     loading.value = false;
+//   }
+// }
+
 
 
 /** 编辑按钮操作 */
@@ -295,9 +400,12 @@ onMounted(() => {
     detailData.value = res.data;
   });
   getSubtaskList(task_number.value).then((res) => {
-    debugger
+
     subtaskData.value = res.data;
-  })
+  });
+  // getSubtaskResultList(subtaskData.value[0]?.id).then((res) => {
+  //   SubtaskResultList.value = res.data;
+  // });
 });
 </script>