|
@@ -17,16 +17,6 @@
|
|
@keyup.enter.native="handleQuery"
|
|
@keyup.enter.native="handleQuery"
|
|
/>
|
|
/>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="任务类型" prop="taskType">
|
|
|
|
- <el-select v-model="queryParams.taskType" placeholder="请选择任务类型" clearable>
|
|
|
|
- <el-option
|
|
|
|
- v-for="dict in dict.type.task_type"
|
|
|
|
- :key="dict.value"
|
|
|
|
- :label="dict.label"
|
|
|
|
- :value="dict.value"
|
|
|
|
- />
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
<el-form-item label="任务状态" prop="taskStatus">
|
|
<el-form-item label="任务状态" prop="taskStatus">
|
|
<el-select v-model="queryParams.taskStatus" placeholder="请选择任务状态" clearable>
|
|
<el-select v-model="queryParams.taskStatus" placeholder="请选择任务状态" clearable>
|
|
<el-option
|
|
<el-option
|
|
@@ -124,11 +114,6 @@
|
|
<el-table-column label="序号" align="center" prop="id" />
|
|
<el-table-column label="序号" align="center" prop="id" />
|
|
<el-table-column label="任务代码" align="center" prop="taskCode" />
|
|
<el-table-column label="任务代码" align="center" prop="taskCode" />
|
|
<el-table-column label="任务名称" align="center" prop="taskName" />
|
|
<el-table-column label="任务名称" align="center" prop="taskName" />
|
|
- <el-table-column label="任务类型" align="center" prop="taskType">
|
|
|
|
- <template slot-scope="scope">
|
|
|
|
- <dict-tag :options="dict.type.task_type" :value="scope.row.taskType" />
|
|
|
|
- </template>
|
|
|
|
- </el-table-column>
|
|
|
|
<el-table-column label="任务状态" align="center" prop="taskStatus">
|
|
<el-table-column label="任务状态" align="center" prop="taskStatus">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
<dict-tag :options="dict.type.task_status" :value="scope.row.taskStatus" />
|
|
<dict-tag :options="dict.type.task_status" :value="scope.row.taskStatus" />
|
|
@@ -164,7 +149,7 @@
|
|
<el-button
|
|
<el-button
|
|
size="mini"
|
|
size="mini"
|
|
type="text"
|
|
type="text"
|
|
- @click="handleUpdate(scope.row)"
|
|
|
|
|
|
+ @click="handleInspection(scope.row)"
|
|
v-hasPermi="['ems:inspection-task:edit']"
|
|
v-hasPermi="['ems:inspection-task:edit']"
|
|
>巡检
|
|
>巡检
|
|
</el-button>
|
|
</el-button>
|
|
@@ -197,16 +182,6 @@
|
|
<el-form-item label="任务名称" prop="taskName">
|
|
<el-form-item label="任务名称" prop="taskName">
|
|
<el-input v-model="form.taskName" placeholder="请输入任务名称" />
|
|
<el-input v-model="form.taskName" placeholder="请输入任务名称" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="任务类型" prop="taskType">
|
|
|
|
- <el-select v-model="form.taskType" placeholder="请选择任务类型">
|
|
|
|
- <el-option
|
|
|
|
- v-for="dict in dict.type.task_type"
|
|
|
|
- :key="dict.value"
|
|
|
|
- :label="dict.label"
|
|
|
|
- :value="parseInt(dict.value)"
|
|
|
|
- ></el-option>
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
<el-form-item label="任务状态" prop="taskStatus">
|
|
<el-form-item label="任务状态" prop="taskStatus">
|
|
<el-radio-group v-model="form.taskStatus">
|
|
<el-radio-group v-model="form.taskStatus">
|
|
<el-radio
|
|
<el-radio
|
|
@@ -241,9 +216,9 @@
|
|
<el-input v-model="form.executor" placeholder="请输入执行人" />
|
|
<el-input v-model="form.executor" placeholder="请输入执行人" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="巡检对象" prop="objType">
|
|
<el-form-item label="巡检对象" prop="objType">
|
|
- <el-radio-group v-model="form.objType">
|
|
|
|
|
|
+ <el-radio-group v-model="form.objType" @input="onObjectCheck">
|
|
<el-radio
|
|
<el-radio
|
|
- v-for="dict in dict.type.obj_type"
|
|
|
|
|
|
+ v-for="dict in taskObjType"
|
|
:key="dict.value"
|
|
:key="dict.value"
|
|
:label="parseInt(dict.value)"
|
|
:label="parseInt(dict.value)"
|
|
>{{ dict.label }}
|
|
>{{ dict.label }}
|
|
@@ -251,13 +226,22 @@
|
|
</el-radio-group>
|
|
</el-radio-group>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="选择巡检对象" prop="objCode">
|
|
<el-form-item label="选择巡检对象" prop="objCode">
|
|
- <el-select v-model="form.objCode" placeholder="请选择选择巡检对象">
|
|
|
|
|
|
+ <el-select
|
|
|
|
+ v-model="form.objCode"
|
|
|
|
+ filterable
|
|
|
|
+ remote
|
|
|
|
+ reserve-keyword
|
|
|
|
+ placeholder="请选择选择巡检对象"
|
|
|
|
+ :remote-method="remoteMethod"
|
|
|
|
+ :loading="loading"
|
|
|
|
+ @change="onObjChange"
|
|
|
|
+ >
|
|
<el-option
|
|
<el-option
|
|
- v-for="dict in dict.type.sys_job_group"
|
|
|
|
- :key="dict.value"
|
|
|
|
- :label="dict.label"
|
|
|
|
- :value="dict.value"
|
|
|
|
- ></el-option>
|
|
|
|
|
|
+ v-for="item in objOptions"
|
|
|
|
+ :key="item.value"
|
|
|
|
+ :label="item.label"
|
|
|
|
+ :value="item.value">
|
|
|
|
+ </el-option>
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="对象名称" prop="objName">
|
|
<el-form-item label="对象名称" prop="objName">
|
|
@@ -269,17 +253,39 @@
|
|
<el-button @click="cancel">取 消</el-button>
|
|
<el-button @click="cancel">取 消</el-button>
|
|
</div>
|
|
</div>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
|
+ <report-form
|
|
|
|
+ title="提交巡检报告"
|
|
|
|
+ :ok-callback="onReportSubmit"
|
|
|
|
+ :is-add="true"
|
|
|
|
+ ref="reportForm"
|
|
|
|
+ :task-info="form"
|
|
|
|
+ >
|
|
|
|
+ </report-form>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script>
|
|
<script>
|
|
|
|
+import { listArea } from '@/api/basecfg/area';
|
|
|
|
+import { listFacs } from '@/api/basecfg/emsfacs';
|
|
|
|
+import { listZoning } from '@/api/basecfg/zoning';
|
|
import {
|
|
import {
|
|
- listInspectionTask, getInspectionTask, delInspectionTask, addInspectionTask, updateInspectionTask,
|
|
|
|
|
|
+ addInspectionTask, delInspectionTask, getInspectionTask, listInspectionTask, updateInspectionTask,
|
|
} from '@/api/task/inspectionTask';
|
|
} from '@/api/task/inspectionTask';
|
|
|
|
+import { OBJ_TYPE } from '@/enums/DeviceFac';
|
|
|
|
+import { TASK_TYPES } from '@/enums/TaskEnums';
|
|
|
|
+import { copyObj } from '@/utils';
|
|
|
|
+import ReportForm from '@/views/task/report/ReportForm.vue';
|
|
|
|
|
|
export default {
|
|
export default {
|
|
name: 'InspectionTask',
|
|
name: 'InspectionTask',
|
|
|
|
+ components: { ReportForm },
|
|
dicts: ['task_status', 'obj_type', 'task_type', 'sys_job_group'],
|
|
dicts: ['task_status', 'obj_type', 'task_type', 'sys_job_group'],
|
|
|
|
+ computed: {
|
|
|
|
+ taskObjType() {
|
|
|
|
+ const temp = copyObj(this.dict.type.obj_type);
|
|
|
|
+ return _.remove(temp, (obj) => obj.value != OBJ_TYPE.devc.value);
|
|
|
|
+ },
|
|
|
|
+ },
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
// 遮罩层
|
|
// 遮罩层
|
|
@@ -300,20 +306,24 @@ export default {
|
|
title: '',
|
|
title: '',
|
|
// 是否显示弹出层
|
|
// 是否显示弹出层
|
|
open: false,
|
|
open: false,
|
|
|
|
+ openInspection: false,
|
|
|
|
+ objOptions: [],
|
|
// 查询参数
|
|
// 查询参数
|
|
queryParams: {
|
|
queryParams: {
|
|
pageNum: 1,
|
|
pageNum: 1,
|
|
pageSize: 10,
|
|
pageSize: 10,
|
|
taskCode: null,
|
|
taskCode: null,
|
|
taskName: null,
|
|
taskName: null,
|
|
- taskType: null,
|
|
|
|
|
|
+ taskType: TASK_TYPES.manual.value,
|
|
taskStatus: null,
|
|
taskStatus: null,
|
|
executor: null,
|
|
executor: null,
|
|
objType: null,
|
|
objType: null,
|
|
objName: null,
|
|
objName: null,
|
|
},
|
|
},
|
|
// 表单参数
|
|
// 表单参数
|
|
- form: {},
|
|
|
|
|
|
+ form: {
|
|
|
|
+ taskType: TASK_TYPES.manual.value,
|
|
|
|
+ },
|
|
// 表单校验
|
|
// 表单校验
|
|
rules: {
|
|
rules: {
|
|
taskCode: [
|
|
taskCode: [
|
|
@@ -323,18 +333,18 @@ export default {
|
|
trigger: 'blur',
|
|
trigger: 'blur',
|
|
},
|
|
},
|
|
],
|
|
],
|
|
- taskName: [
|
|
|
|
|
|
+ executor: [
|
|
{
|
|
{
|
|
required: true,
|
|
required: true,
|
|
- message: '任务名称不能为空',
|
|
|
|
|
|
+ message: '执行人不能为空',
|
|
trigger: 'blur',
|
|
trigger: 'blur',
|
|
},
|
|
},
|
|
],
|
|
],
|
|
- taskType: [
|
|
|
|
|
|
+ taskName: [
|
|
{
|
|
{
|
|
required: true,
|
|
required: true,
|
|
- message: '任务类型不能为空',
|
|
|
|
- trigger: 'change',
|
|
|
|
|
|
+ message: '任务名称不能为空',
|
|
|
|
+ trigger: 'blur',
|
|
},
|
|
},
|
|
],
|
|
],
|
|
taskStatus: [
|
|
taskStatus: [
|
|
@@ -379,6 +389,82 @@ export default {
|
|
this.getList();
|
|
this.getList();
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
|
|
+ objHandle() {
|
|
|
|
+ return {
|
|
|
|
+ [OBJ_TYPE.fac.value]: async ({
|
|
|
|
+ key = '',
|
|
|
|
+ objCode = '',
|
|
|
|
+ }) => {
|
|
|
|
+ const { rows } = await listFacs({
|
|
|
|
+ pageNum: 1,
|
|
|
|
+ pageSize: 99,
|
|
|
|
+ facsName: key,
|
|
|
|
+ facsCode: objCode,
|
|
|
|
+ });
|
|
|
|
+ let result = [];
|
|
|
|
+ if (rows.length > 0) {
|
|
|
|
+ result = rows.map((item) => {
|
|
|
|
+ return {
|
|
|
|
+ value: item.facsCode,
|
|
|
|
+ label: `${item.facsName}(${item.refAreaName})`,
|
|
|
|
+ };
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ this.objOptions = result;
|
|
|
|
+ },
|
|
|
|
+ [OBJ_TYPE.zone.value]: async ({
|
|
|
|
+ key = '',
|
|
|
|
+ objCode = '',
|
|
|
|
+ }) => {
|
|
|
|
+ const { rows } = await listZoning({
|
|
|
|
+ pageNum: 1,
|
|
|
|
+ pageSize: 99,
|
|
|
|
+ zoningName: key,
|
|
|
|
+ zoningCode: objCode,
|
|
|
|
+ });
|
|
|
|
+ let result = [];
|
|
|
|
+ if (rows.length > 0) {
|
|
|
|
+ result = rows.map((item) => {
|
|
|
|
+ return {
|
|
|
|
+ value: item.zoningCode,
|
|
|
|
+ label: `${item.zoningName}(${item.areaPath},${item.usageDetail})`,
|
|
|
|
+ };
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ this.objOptions = result;
|
|
|
|
+ },
|
|
|
|
+ [OBJ_TYPE.area.value]: async ({
|
|
|
|
+ key = '',
|
|
|
|
+ objCode = '',
|
|
|
|
+ }) => {
|
|
|
|
+ const { rows } = await listArea({
|
|
|
|
+ pageNum: 1,
|
|
|
|
+ pageSize: 99,
|
|
|
|
+ areaName: key,
|
|
|
|
+ areaCode: objCode,
|
|
|
|
+ });
|
|
|
|
+ let result = [];
|
|
|
|
+ if (rows.length > 0) {
|
|
|
|
+ result = rows.map((item) => {
|
|
|
|
+ return {
|
|
|
|
+ value: item.areaCode,
|
|
|
|
+ label: item.areaName,
|
|
|
|
+ };
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ this.objOptions = result;
|
|
|
|
+ },
|
|
|
|
+ [OBJ_TYPE.devc.value]: function () {},
|
|
|
|
+ };
|
|
|
|
+ },
|
|
|
|
+
|
|
|
|
+ remoteMethod(key) {
|
|
|
|
+ this.objHandle()[this.form.objType]({ key });
|
|
|
|
+ },
|
|
|
|
+ onObjChange(val) {
|
|
|
|
+ const selectedOption = this.objOptions.find(option => option.value === val);
|
|
|
|
+ this.form.objName = selectedOption ? selectedOption.label : '';
|
|
|
|
+ },
|
|
/** 查询巡检任务列表 */
|
|
/** 查询巡检任务列表 */
|
|
getList() {
|
|
getList() {
|
|
this.loading = true;
|
|
this.loading = true;
|
|
@@ -399,9 +485,9 @@ export default {
|
|
id: null,
|
|
id: null,
|
|
taskCode: null,
|
|
taskCode: null,
|
|
taskName: null,
|
|
taskName: null,
|
|
- taskType: null,
|
|
|
|
taskStatus: null,
|
|
taskStatus: null,
|
|
startTime: null,
|
|
startTime: null,
|
|
|
|
+ taskType: TASK_TYPES.manual.value,
|
|
endTime: null,
|
|
endTime: null,
|
|
executor: null,
|
|
executor: null,
|
|
objType: null,
|
|
objType: null,
|
|
@@ -440,6 +526,9 @@ export default {
|
|
this.form = response.data;
|
|
this.form = response.data;
|
|
this.open = true;
|
|
this.open = true;
|
|
this.title = '修改巡检任务';
|
|
this.title = '修改巡检任务';
|
|
|
|
+ this.$nextTick(() => {
|
|
|
|
+ this.objHandle()[this.form.objType]({ objCode: this.form.objCode });
|
|
|
|
+ });
|
|
});
|
|
});
|
|
},
|
|
},
|
|
/** 提交按钮 */
|
|
/** 提交按钮 */
|
|
@@ -478,6 +567,24 @@ export default {
|
|
...this.queryParams,
|
|
...this.queryParams,
|
|
}, `inspectionTask_${new Date().getTime()}.xlsx`);
|
|
}, `inspectionTask_${new Date().getTime()}.xlsx`);
|
|
},
|
|
},
|
|
|
|
+ onReportSubmit() {
|
|
|
|
+ this.$modal.msgSuccess('提交成功');
|
|
|
|
+ this.openInspection = false;
|
|
|
|
+ this.getList();
|
|
|
|
+ },
|
|
|
|
+ handleInspection(row) {
|
|
|
|
+ const id = row.id;
|
|
|
|
+ getInspectionTask(id).then(response => {
|
|
|
|
+ this.form = response.data;
|
|
|
|
+ this.$nextTick(() => {
|
|
|
|
+ this.$refs.reportForm.show();
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ });
|
|
|
|
+ },
|
|
|
|
+ onObjectCheck(objType) {
|
|
|
|
+ this.objHandle()[objType]();
|
|
|
|
+ },
|
|
},
|
|
},
|
|
};
|
|
};
|
|
</script>
|
|
</script>
|