|
@@ -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>
|
|
|
|