From 8cf49f63d7fa9f172381dcc94d493fdbe155c9ed Mon Sep 17 00:00:00 2001 From: wbc <942429426@qq.com> Date: Mon, 28 Apr 2025 11:09:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E5=8D=95=E5=A4=84=E7=90=86=EF=BC=8C?= =?UTF-8?q?=E5=9B=9E=E9=80=80=E5=BB=B6=E6=9C=9F=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IO/delayPatrol/waitAudit/faultModal.vue | 12 +- .../IO/delayPatrol/waitPatrol/faultModal.vue | 12 +- src/views/IO/patrol/patroling/addModal.vue | 51 ++--- src/views/IO/workOrder/delayAudit/api.ts | 4 +- src/views/IO/workOrder/delayAudit/data.ts | 40 +++- .../IO/workOrder/delayAudit/detailDrawer.vue | 67 ++++-- src/views/IO/workOrder/orderAudit/data.ts | 36 +++- .../IO/workOrder/orderAudit/detailDrawer.vue | 48 ++++- .../IO/workOrder/orderHandle/backModal.vue | 105 ++++++++++ src/views/IO/workOrder/orderHandle/data.ts | 42 +++- .../IO/workOrder/orderHandle/delayModal.vue | 198 ++++++++++++++++++ .../IO/workOrder/orderHandle/detailDrawer.vue | 64 +++++- .../IO/workOrder/orderHandle/handleModal.vue | 181 ++++++++++++++++ src/views/IO/workOrder/orderHandle/index.vue | 43 +++- .../IO/workOrder/orderHandle/receiveModal.vue | 0 src/views/IO/workOrder/orderSearch/data.ts | 40 +++- .../IO/workOrder/orderSearch/detailDrawer.vue | 64 +++++- .../IO/workOrder/orderSearch/faultModal.vue | 15 +- src/views/IO/workOrder/orderSearch/index.vue | 4 +- src/views/IO/workOrder/orderSend/data.ts | 38 +++- .../IO/workOrder/orderSend/detailDrawer.vue | 65 +++++- .../IO/workOrder/orderSend/faultModal.vue | 15 +- src/views/IO/workOrder/orderSend/index.vue | 6 +- .../IO/workOrder/orderSend/sendModal.vue | 4 +- src/views/property/point/pointModal.vue | 12 +- 25 files changed, 1011 insertions(+), 155 deletions(-) create mode 100644 src/views/IO/workOrder/orderHandle/backModal.vue create mode 100644 src/views/IO/workOrder/orderHandle/delayModal.vue create mode 100644 src/views/IO/workOrder/orderHandle/handleModal.vue create mode 100644 src/views/IO/workOrder/orderHandle/receiveModal.vue diff --git a/src/views/IO/delayPatrol/waitAudit/faultModal.vue b/src/views/IO/delayPatrol/waitAudit/faultModal.vue index 788ab5e..7a2fda4 100644 --- a/src/views/IO/delayPatrol/waitAudit/faultModal.vue +++ b/src/views/IO/delayPatrol/waitAudit/faultModal.vue @@ -36,7 +36,7 @@ - + @@ -44,11 +44,6 @@ - - - - - @@ -133,9 +128,10 @@ v-model:file-list="fileLists" :action="`${apiUrl}/resource/oss/upload`" :headers="headers" + accept='.jpg,.jpeg,.png,.gif,.webp' @change="handleChange" > - 上传 + 上传图片 @@ -191,7 +187,6 @@ projectName: '', contractName: null, isAccident: null, - repairer: '', responseTime: '', responseLevel: '', faultCategory: null, @@ -329,7 +324,6 @@ projectName: [{ required: true, message: '请选择' }], contractName: [{ required: true, message: '请选择' }], isAccident: [{ required: true, message: '请选择' }], - repairer: [{ required: true, message: '请输入' }], faultLocation: [{ required: true, message: '请输入' }], organizationName: [{ required: true, message: '请选择' }], responseTime: [{ required: true, message: '请输入' }], diff --git a/src/views/IO/delayPatrol/waitPatrol/faultModal.vue b/src/views/IO/delayPatrol/waitPatrol/faultModal.vue index 9b089ef..6cef4a8 100644 --- a/src/views/IO/delayPatrol/waitPatrol/faultModal.vue +++ b/src/views/IO/delayPatrol/waitPatrol/faultModal.vue @@ -36,7 +36,7 @@ - + @@ -44,11 +44,6 @@ - - - - - @@ -133,9 +128,10 @@ v-model:file-list="fileLists" :action="`${apiUrl}/resource/oss/upload`" :headers="headers" + accept='.jpg,.jpeg,.png,.gif,.webp' @change="handleChange" > - 上传 + 上传图片 @@ -191,7 +187,6 @@ projectName: '', contractName: null, isAccident: null, - repairer: '', responseTime: '', responseLevel: '', faultCategory: null, @@ -329,7 +324,6 @@ projectName: [{ required: true, message: '请选择' }], contractName: [{ required: true, message: '请选择' }], isAccident: [{ required: true, message: '请选择' }], - repairer: [{ required: true, message: '请输入' }], faultLocation: [{ required: true, message: '请输入' }], organizationName: [{ required: true, message: '请选择' }], responseTime: [{ required: true, message: '请输入' }], diff --git a/src/views/IO/patrol/patroling/addModal.vue b/src/views/IO/patrol/patroling/addModal.vue index b6075a8..e0e173a 100644 --- a/src/views/IO/patrol/patroling/addModal.vue +++ b/src/views/IO/patrol/patroling/addModal.vue @@ -66,6 +66,11 @@ v-model:value="form.pointName" :options="pointNameOptions" placeholder="请选择" + :fieldNames="{ + label: 'pointName', + value: 'pointName', + options: 'options', + }" @change="pointNameChange" /> @@ -106,9 +111,10 @@ import { message } from 'ant-design-vue'; import dayjs from 'dayjs'; import AMapLoader from '@amap/amap-jsapi-loader'; + import { queryPointNames } from '@/api/common/index'; export default { setup() { - const title = ref('生成计划') + const title = ref('生成计划'); const visible = ref(false); const form = reactive({ contractName: '', @@ -121,33 +127,18 @@ pointName: '', serviceProject: '', finishStatus: [], - deliverContent:'', - code:'' + deliverContent: '', + code: '', }); //下拉框 - const pointNameOptions = [ - { - value: '1', - label: 'a', - latitude: '29.8537459', - longitude: '121.5591519', - }, - { - value: '2', - label: 'b', - latitude: '29.8572957 ', - longitude: '121.5611743', - }, - { - value: '3', - label: 'c', - latitude: '29.8537459', - longitude: '121.5591519', - }, - ]; - + const pointNameOptions = ref([]); + const getPointNameOptions = async() =>{ + const res = await queryPointNames() + pointNameOptions.value = res + } const showModal = async (id) => { visible.value = true; + getPointNameOptions() const data = await getInfo(id); for (let i in form) { form[i] = data[i]; @@ -159,11 +150,11 @@ for (let i in form) { params[i] = form[i]; } - params.scheduleStartDate = params.dateRange[0] - params.scheduleEndDate = params.dateRange[1] + params.scheduleStartDate = params.dateRange[0]; + params.scheduleEndDate = params.dateRange[1]; if (form.deliverContent != '例行操作') { - delete params['finishStatus'] - delete params['frequency'] + delete params['finishStatus']; + delete params['frequency']; createSpecialInspection(params).then((_) => { message.success('操作成功'); visible.value = false; @@ -285,8 +276,8 @@ } }; const pointNameChange = (val) => { - const obj = pointNameOptions.find((i) => { - return (i.value = val); + const obj = pointNameOptions.value.find((i) => { + return (i.pointName = val); }); initMap(obj.longitude, obj.latitude, obj.organizationName); }; diff --git a/src/views/IO/workOrder/delayAudit/api.ts b/src/views/IO/workOrder/delayAudit/api.ts index dc34703..b8589e2 100644 --- a/src/views/IO/workOrder/delayAudit/api.ts +++ b/src/views/IO/workOrder/delayAudit/api.ts @@ -2,8 +2,8 @@ import { PageQuery, commonExport } from '@/api/base'; import { defHttp } from '@/utils/http/axios'; enum Api { - root = '/platform/workOrder', - list = '/platform/workOrder/list', + root = '/platform/orderDelay', + list = '/platform/orderDelay/list', export = '/workflow/leave/export', getSubcategoryType = '/platform/subcategoryType/list', workOrderAdd = '/platform/workOrder/add', diff --git a/src/views/IO/workOrder/delayAudit/data.ts b/src/views/IO/workOrder/delayAudit/data.ts index f2cfeff..88be6cb 100644 --- a/src/views/IO/workOrder/delayAudit/data.ts +++ b/src/views/IO/workOrder/delayAudit/data.ts @@ -1,6 +1,35 @@ import { BasicColumn } from '@/components/Table'; import { FormSchema } from '@/components/Form'; - +const statusOptions = [ + { + label:'待派遣', + value:0, + }, + { + label:'待接单', + value:1, + }, + { + label:'处理中', + value:2, + }, + { + label:'运维单位处理时回退至派遣', + value:3, + }, + { + label:'初审', + value:4, + }, + { + label:'终审', + value:5, + }, + { + label:'结案', + value:6, + }, +]; export const formSchemas: FormSchema[] = [ { field: 'projectName', @@ -38,4 +67,13 @@ export const columns: BasicColumn[] = [ title: '处理结果', dataIndex: 'handleResult', }, + { + title: '当前状态', + dataIndex: 'status', + customRender: ({ value }) => { + return statusOptions.find((i) => { + return i.value == value; + })?.label; + }, + }, ]; diff --git a/src/views/IO/workOrder/delayAudit/detailDrawer.vue b/src/views/IO/workOrder/delayAudit/detailDrawer.vue index 0683995..32ea209 100644 --- a/src/views/IO/workOrder/delayAudit/detailDrawer.vue +++ b/src/views/IO/workOrder/delayAudit/detailDrawer.vue @@ -31,7 +31,7 @@ -
状态:{{ detail.status }}
+
状态:{{ statusText(detail.status) }}
待处理人:{{ detail.handler }}
@@ -78,14 +78,20 @@
-
故障图片:{{ detail.faultImg }}
+
故障图片: +
+ +
+
- -
-
-
+ +
地图信息: +
+
+
+
@@ -145,12 +151,46 @@ responseTime: '', faultLocation: '', faultDescription: '', - faultImg: '', - longitude:'', - latitude:'' + attachments: '', + longitude: '', + latitude: '', }); - + const statusOptions = [ + { + label: '待派遣', + value: 0, + }, + { + label: '待接单', + value: 1, + }, + { + label: '处理中', + value: 2, + }, + { + label: '运维单位处理时回退至派遣', + value: 3, + }, + { + label: '初审', + value: 4, + }, + { + label: '终审', + value: 5, + }, + { + label: '结案', + value: 6, + }, + ]; + const statusText = (val) => { + return statusOptions.find((i) => { + return i.value == val; + })?.label; + }; // 打开抽屉的方法 const visible = ref(false); const showDrawer = async (id) => { @@ -159,13 +199,13 @@ for (let i in detail) { detail[i] = data[i]; } - initMap(detail.longitude,detail.latitude,detail.faultLocation) + initMap(detail.longitude, detail.latitude, detail.faultLocation); }; // 关闭抽屉的方法 const onClose = () => { visible.value = false; - map.value?.destroy() + map.value?.destroy(); }; const activeKey = ref('1'); @@ -181,7 +221,7 @@ }); // 初始化地图 - map.value = new AMap.Map('orderAuditDetailMap', { + map.value = new AMap.Map('delayAuditDetailMap', { zoom: 17, center: [longitude, latitude], }); @@ -203,6 +243,7 @@ onClose, activeKey, detail, + statusText }; }, }; diff --git a/src/views/IO/workOrder/orderAudit/data.ts b/src/views/IO/workOrder/orderAudit/data.ts index 124d318..55e36bd 100644 --- a/src/views/IO/workOrder/orderAudit/data.ts +++ b/src/views/IO/workOrder/orderAudit/data.ts @@ -1,6 +1,35 @@ import { BasicColumn } from '@/components/Table'; import { FormSchema } from '@/components/Form'; - +const statusOptions = [ + { + label:'待派遣', + value:0, + }, + { + label:'待接单', + value:1, + }, + { + label:'处理中', + value:2, + }, + { + label:'运维单位处理时回退至派遣', + value:3, + }, + { + label:'初审', + value:4, + }, + { + label:'终审', + value:5, + }, + { + label:'结案', + value:6, + }, +]; export const formSchemas: FormSchema[] = [ { label: '编号', @@ -51,5 +80,10 @@ export const columns: BasicColumn[] = [ { title: '当前状态', dataIndex: 'status', + customRender: ({ value }) => { + return statusOptions.find((i) => { + return i.value == value; + })?.label; + }, }, ]; diff --git a/src/views/IO/workOrder/orderAudit/detailDrawer.vue b/src/views/IO/workOrder/orderAudit/detailDrawer.vue index caa0644..8508179 100644 --- a/src/views/IO/workOrder/orderAudit/detailDrawer.vue +++ b/src/views/IO/workOrder/orderAudit/detailDrawer.vue @@ -31,7 +31,7 @@ -
状态:{{ detail.status }}
+
状态:{{statusText(detail.status) }}
待处理人:{{ detail.handler }}
@@ -78,12 +78,18 @@
-
故障图片:{{ detail.faultImg }}
+
故障图片: +
+ +
+
+
地图信息:
+
@@ -190,7 +196,7 @@ responseTime: '', faultLocation: '', faultDescription: '', - faultImg: '', + attachments: '', fixPeople: '', fixTime: '', fixResult: '', @@ -199,6 +205,41 @@ longitude:'', latitude:'' }); + const statusOptions = [ + { + label: '待派遣', + value: 0, + }, + { + label: '待接单', + value: 1, + }, + { + label: '处理中', + value: 2, + }, + { + label: '运维单位处理时回退至派遣', + value: 3, + }, + { + label: '初审', + value: 4, + }, + { + label: '终审', + value: 5, + }, + { + label: '结案', + value: 6, + }, + ]; + const statusText = (val) => { + return statusOptions.find((i) => { + return i.value == val; + })?.label; + }; const historyInfo = ref([]); const historyColumns = [ { @@ -302,6 +343,7 @@ delayInfo, delayColumns, detail, + statusText }; }, }; diff --git a/src/views/IO/workOrder/orderHandle/backModal.vue b/src/views/IO/workOrder/orderHandle/backModal.vue new file mode 100644 index 0000000..ab24e3d --- /dev/null +++ b/src/views/IO/workOrder/orderHandle/backModal.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/views/IO/workOrder/orderHandle/data.ts b/src/views/IO/workOrder/orderHandle/data.ts index 2f66b28..f726b8b 100644 --- a/src/views/IO/workOrder/orderHandle/data.ts +++ b/src/views/IO/workOrder/orderHandle/data.ts @@ -1,7 +1,36 @@ import { BasicColumn } from '@/components/Table'; import { FormSchema } from '@/components/Form'; //列表展示 - +const statusOptions = [ + { + label: '待派遣', + value: 0, + }, + { + label: '待接单', + value: 1, + }, + { + label: '处理中', + value: 2, + }, + { + label: '运维单位处理时回退至派遣', + value: 3, + }, + { + label: '初审', + value: 4, + }, + { + label: '终审', + value: 5, + }, + { + label: '结案', + value: 6, + }, +]; export const formSchemas: FormSchema[] = [ { label: '编号', @@ -17,7 +46,7 @@ export const formSchemas: FormSchema[] = [ component: 'RangePicker', componentProps: { format: 'YYYY-MM-DD', - valueFormat:'YYYY-MM-DD' + valueFormat: 'YYYY-MM-DD', }, }, ]; @@ -47,4 +76,13 @@ export const columns: BasicColumn[] = [ title: '剩余时间', dataIndex: 'restTime', }, + { + title: '当前状态', + dataIndex: 'status', + customRender: ({ value }) => { + return statusOptions.find((i) => { + return i.value == value; + })?.label; + }, + }, ]; diff --git a/src/views/IO/workOrder/orderHandle/delayModal.vue b/src/views/IO/workOrder/orderHandle/delayModal.vue new file mode 100644 index 0000000..70543cd --- /dev/null +++ b/src/views/IO/workOrder/orderHandle/delayModal.vue @@ -0,0 +1,198 @@ + + + + + diff --git a/src/views/IO/workOrder/orderHandle/detailDrawer.vue b/src/views/IO/workOrder/orderHandle/detailDrawer.vue index 0398c79..9393b7f 100644 --- a/src/views/IO/workOrder/orderHandle/detailDrawer.vue +++ b/src/views/IO/workOrder/orderHandle/detailDrawer.vue @@ -31,7 +31,7 @@ -
状态:{{ detail.status }}
+
状态:{{ statusText(detail.status) }}
待处理人:{{ detail.handler }}
@@ -78,14 +78,20 @@
-
故障图片:{{ detail.faultImg }}
+
故障图片: +
+ +
+
- -
-
-
+ +
地图信息: +
+
+
+ @@ -190,15 +196,50 @@ responseTime: '', faultLocation: '', faultDescription: '', - faultImg: '', + attachments: '', fixPeople: '', fixTime: '', fixResult: '', cost: '', handleImg: '', - longitude:'', - latitude:'' + longitude: '', + latitude: '', }); + const statusOptions = [ + { + label: '待派遣', + value: 0, + }, + { + label: '待接单', + value: 1, + }, + { + label: '处理中', + value: 2, + }, + { + label: '运维单位处理时回退至派遣', + value: 3, + }, + { + label: '初审', + value: 4, + }, + { + label: '终审', + value: 5, + }, + { + label: '结案', + value: 6, + }, + ]; + const statusText = (val) => { + return statusOptions.find((i) => { + return i.value == val; + })?.label; + }; const historyInfo = ref([]); const historyColumns = [ { @@ -254,13 +295,13 @@ for (let i in detail) { detail[i] = data[i]; } - initMap(detail.longitude,detail.latitude,detail.faultLocation) + initMap(detail.longitude, detail.latitude, detail.faultLocation); }; // 关闭抽屉的方法 const onClose = () => { visible.value = false; - map.value?.destroy() + map.value?.destroy(); }; const activeKey = ref('1'); @@ -302,6 +343,7 @@ delayInfo, delayColumns, detail, + statusText }; }, }; diff --git a/src/views/IO/workOrder/orderHandle/handleModal.vue b/src/views/IO/workOrder/orderHandle/handleModal.vue new file mode 100644 index 0000000..9a54cec --- /dev/null +++ b/src/views/IO/workOrder/orderHandle/handleModal.vue @@ -0,0 +1,181 @@ + + + + + diff --git a/src/views/IO/workOrder/orderHandle/index.vue b/src/views/IO/workOrder/orderHandle/index.vue index caff5e8..2c62ce5 100644 --- a/src/views/IO/workOrder/orderHandle/index.vue +++ b/src/views/IO/workOrder/orderHandle/index.vue @@ -4,10 +4,24 @@ + + + @@ -17,20 +31,20 @@ import { list, getProjectInfo } from './api'; import { formSchemas, columns } from './data'; import detailDrawer from './detailDrawer.vue'; + import backModal from './backModal.vue'; + import handleModal from './handleModal.vue'; + import delayModal from './delayModal.vue'; import { ref } from 'vue'; - const [registerTable] = useTable({ - rowSelection: { - type: 'checkbox', - }, - title: '工单搜索', + const [registerTable,{reload}] = useTable({ + title: '工单处理', api: list, showIndexColumn: true, rowKey: 'id', useSearchForm: true, formConfig: { schemas: formSchemas, - name: 'orderSearch', + name: 'orderHandle', baseColProps: { xs: 24, sm: 24, @@ -40,7 +54,7 @@ }, columns: columns, actionColumn: { - width: 200, + width: 320, title: '操作', key: 'action', fixed: 'right', @@ -52,6 +66,21 @@ const showDrawer = (id: any) => { detailDrawerRef.value.showDrawer(id); }; + const receive = async (id: any) => { + reload(); + }; + const backModalRef = ref() + const back = (id:any) =>{ + backModalRef.value.showModal(id) + } + const delayModalRef = ref() + const delay = (id:any) =>{ + delayModalRef.value.showModal(id) + } + const handleModalRef = ref() + const handle = (id:any) =>{ + handleModalRef.value.showModal(id) + } const projectOptions = ref([]); const getProjectOptions = async () => { const res = await getProjectInfo(); diff --git a/src/views/IO/workOrder/orderHandle/receiveModal.vue b/src/views/IO/workOrder/orderHandle/receiveModal.vue new file mode 100644 index 0000000..e69de29 diff --git a/src/views/IO/workOrder/orderSearch/data.ts b/src/views/IO/workOrder/orderSearch/data.ts index 66282bd..2cc20cf 100644 --- a/src/views/IO/workOrder/orderSearch/data.ts +++ b/src/views/IO/workOrder/orderSearch/data.ts @@ -12,14 +12,43 @@ const responseLevelOptions = [ value: '特级', }, ]; +const statusOptions = [ + { + label: '待派遣', + value: 0, + }, + { + label: '待接单', + value: 1, + }, + { + label: '处理中', + value: 2, + }, + { + label: '运维单位处理时回退至派遣', + value: 3, + }, + { + label: '初审', + value: 4, + }, + { + label: '终审', + value: 5, + }, + { + label: '结案', + value: 6, + }, +]; export const formSchemas: FormSchema[] = [ { field: 'projectName', label: '项目名称', component: 'Select', componentProps: { - options: [ - ], + options: [], }, }, { @@ -48,8 +77,7 @@ export const formSchemas: FormSchema[] = [ label: '故障小类', component: 'Select', componentProps: { - options: [ - ], + options: [], }, }, ]; @@ -79,7 +107,9 @@ export const columns: BasicColumn[] = [ title: '当前状态', dataIndex: 'status', customRender: ({ value }) => { - return value == 0 ? '启用' : '禁用'; + return statusOptions.find((i) => { + return i.value == value; + })?.label; }, }, ]; diff --git a/src/views/IO/workOrder/orderSearch/detailDrawer.vue b/src/views/IO/workOrder/orderSearch/detailDrawer.vue index 8d0b0f8..7c64fda 100644 --- a/src/views/IO/workOrder/orderSearch/detailDrawer.vue +++ b/src/views/IO/workOrder/orderSearch/detailDrawer.vue @@ -31,7 +31,7 @@ -
状态:{{ detail.status }}
+
状态:{{ statusText(detail.status) }}
待处理人:{{ detail.handler }}
@@ -78,14 +78,20 @@
-
故障图片:{{ detail.faultImg }}
+
故障图片: +
+ +
+
- -
-
-
+ +
地图信息: +
+
+
+
@@ -190,15 +196,50 @@ responseTime: '', faultLocation: '', faultDescription: '', - faultImg: '', + attachments: '', fixPeople: '', fixTime: '', fixResult: '', cost: '', handleImg: '', - longitude:'', - latitude:'' + longitude: '', + latitude: '', }); + const statusOptions = [ + { + label: '待派遣', + value: 0, + }, + { + label: '待接单', + value: 1, + }, + { + label: '处理中', + value: 2, + }, + { + label: '运维单位处理时回退至派遣', + value: 3, + }, + { + label: '初审', + value: 4, + }, + { + label: '终审', + value: 5, + }, + { + label: '结案', + value: 6, + }, + ]; + const statusText = (val) => { + return statusOptions.find((i) => { + return i.value == val; + })?.label; + }; const historyInfo = ref([]); const historyColumns = [ { @@ -254,13 +295,13 @@ for (let i in detail) { detail[i] = data[i]; } - initMap(detail.longitude,detail.latitude,detail.faultLocation) + initMap(detail.longitude, detail.latitude, detail.faultLocation); }; // 关闭抽屉的方法 const onClose = () => { visible.value = false; - map.value?.destroy() + map.value?.destroy(); }; const activeKey = ref('1'); @@ -302,6 +343,7 @@ delayInfo, delayColumns, detail, + statusText, }; }, }; diff --git a/src/views/IO/workOrder/orderSearch/faultModal.vue b/src/views/IO/workOrder/orderSearch/faultModal.vue index cce8d5b..61f6cbc 100644 --- a/src/views/IO/workOrder/orderSearch/faultModal.vue +++ b/src/views/IO/workOrder/orderSearch/faultModal.vue @@ -36,7 +36,7 @@ - + @@ -44,11 +44,6 @@ - - - - - @@ -133,9 +128,10 @@ v-model:file-list="fileLists" :action="`${apiUrl}/resource/oss/upload`" :headers="headers" + accept='.jpg,.jpeg,.png,.gif,.webp' @change="handleChange" > - 上传 + 上传图片 @@ -185,13 +181,12 @@ import { useGlobSetting } from '@/hooks/setting'; import {queryPointNames} from '@/api/common/index' export default { - setup() { + setup(props,{emit}) { const visible = ref(false); const form = reactive({ projectName: '', contractName: null, isAccident: null, - repairer: '', responseTime: '', responseLevel: '', faultCategory: null, @@ -285,6 +280,7 @@ } workOrderAdd(params).then((_) => { message.success('操作成功'); + emit('success') closeModal(); }); } @@ -329,7 +325,6 @@ projectName: [{ required: true, message: '请选择' }], contractName: [{ required: true, message: '请选择' }], isAccident: [{ required: true, message: '请选择' }], - repairer: [{ required: true, message: '请输入' }], faultLocation: [{ required: true, message: '请输入' }], organizationName: [{ required: true, message: '请选择' }], responseTime: [{ required: true, message: '请输入' }], diff --git a/src/views/IO/workOrder/orderSearch/index.vue b/src/views/IO/workOrder/orderSearch/index.vue index 35224cf..d4e3995 100644 --- a/src/views/IO/workOrder/orderSearch/index.vue +++ b/src/views/IO/workOrder/orderSearch/index.vue @@ -10,7 +10,7 @@ - + @@ -24,7 +24,7 @@ import detailDrawer from './detailDrawer.vue'; import { ref } from 'vue'; - const [registerTable] = useTable({ + const [registerTable,{reload}] = useTable({ rowSelection: { type: 'checkbox', }, diff --git a/src/views/IO/workOrder/orderSend/data.ts b/src/views/IO/workOrder/orderSend/data.ts index 2059599..d9737d9 100644 --- a/src/views/IO/workOrder/orderSend/data.ts +++ b/src/views/IO/workOrder/orderSend/data.ts @@ -1,14 +1,42 @@ import { BasicColumn } from '@/components/Table'; import { FormSchema } from '@/components/Form'; - +const statusOptions = [ + { + label: '待派遣', + value: 0, + }, + { + label: '待接单', + value: 1, + }, + { + label: '处理中', + value: 2, + }, + { + label: '运维单位处理时回退至派遣', + value: 3, + }, + { + label: '初审', + value: 4, + }, + { + label: '终审', + value: 5, + }, + { + label: '结案', + value: 6, + }, +]; export const formSchemas: FormSchema[] = [ { field: 'projectName', label: '项目名称', component: 'Select', componentProps: { - options: [ - ], + options: [], }, }, { @@ -51,7 +79,9 @@ export const columns: BasicColumn[] = [ title: '当前状态', dataIndex: 'status', customRender: ({ value }) => { - return value == 0 ? '启用' : '禁用'; + return statusOptions.find((i) => { + return i.value == value; + })?.label; }, }, ]; diff --git a/src/views/IO/workOrder/orderSend/detailDrawer.vue b/src/views/IO/workOrder/orderSend/detailDrawer.vue index d460f4d..1d42849 100644 --- a/src/views/IO/workOrder/orderSend/detailDrawer.vue +++ b/src/views/IO/workOrder/orderSend/detailDrawer.vue @@ -31,7 +31,7 @@ -
状态:{{ detail.status }}
+
状态:{{statusText(detail.status) }}
待处理人:{{ detail.handler }}
@@ -78,14 +78,21 @@
-
故障图片:{{ detail.faultImg }}
+
故障图片: +
+ +
+
- -
-
-
+ +
地图信息: +
+
+
+
@@ -190,15 +197,50 @@ responseTime: '', faultLocation: '', faultDescription: '', - faultImg: '', + attachments: '', fixPeople: '', fixTime: '', fixResult: '', cost: '', handleImg: '', - longitude:'', - latitude:'' + longitude: '', + latitude: '', }); + const statusOptions = [ + { + label: '待派遣', + value: 0, + }, + { + label: '待接单', + value: 1, + }, + { + label: '处理中', + value: 2, + }, + { + label: '运维单位处理时回退至派遣', + value: 3, + }, + { + label: '初审', + value: 4, + }, + { + label: '终审', + value: 5, + }, + { + label: '结案', + value: 6, + }, + ]; + const statusText = (val) => { + return statusOptions.find((i) => { + return i.value == val; + })?.label; + }; const historyInfo = ref([]); const historyColumns = [ { @@ -254,13 +296,13 @@ for (let i in detail) { detail[i] = data[i]; } - initMap(detail.longitude,detail.latitude,detail.faultLocation) + initMap(detail.longitude, detail.latitude, detail.faultLocation); }; // 关闭抽屉的方法 const onClose = () => { visible.value = false; - map.value?.destroy() + map.value?.destroy(); }; const activeKey = ref('1'); @@ -302,6 +344,7 @@ delayInfo, delayColumns, detail, + statusText }; }, }; diff --git a/src/views/IO/workOrder/orderSend/faultModal.vue b/src/views/IO/workOrder/orderSend/faultModal.vue index 45f2c0e..5b40246 100644 --- a/src/views/IO/workOrder/orderSend/faultModal.vue +++ b/src/views/IO/workOrder/orderSend/faultModal.vue @@ -36,7 +36,7 @@ - + @@ -44,11 +44,6 @@ - - - - - @@ -133,9 +128,10 @@ v-model:file-list="fileLists" :action="`${apiUrl}/resource/oss/upload`" :headers="headers" + accept='.jpg,.jpeg,.png,.gif,.webp' @change="handleChange" > - 上传 + 上传图片 @@ -185,13 +181,12 @@ import { useGlobSetting } from '@/hooks/setting'; import {queryPointNames} from '@/api/common/index' export default { - setup() { + setup(props,{emit}) { const visible = ref(false); const form = reactive({ projectName: '', contractName: null, isAccident: null, - repairer: '', responseTime: '', responseLevel: '', faultCategory: null, @@ -285,6 +280,7 @@ } workOrderAdd(params).then((_) => { message.success('操作成功'); + emit('success') closeModal(); }); } @@ -329,7 +325,6 @@ projectName: [{ required: true, message: '请选择' }], contractName: [{ required: true, message: '请选择' }], isAccident: [{ required: true, message: '请选择' }], - repairer: [{ required: true, message: '请输入' }], faultLocation: [{ required: true, message: '请输入' }], organizationName: [{ required: true, message: '请选择' }], responseTime: [{ required: true, message: '请输入' }], diff --git a/src/views/IO/workOrder/orderSend/index.vue b/src/views/IO/workOrder/orderSend/index.vue index e3caab4..4a39467 100644 --- a/src/views/IO/workOrder/orderSend/index.vue +++ b/src/views/IO/workOrder/orderSend/index.vue @@ -11,9 +11,9 @@ - + - + @@ -27,7 +27,7 @@ import sendModal from './sendModal.vue'; import { ref } from 'vue'; - const [registerTable] = useTable({ + const [registerTable,{reload}] = useTable({ rowSelection: { type: 'checkbox', }, diff --git a/src/views/IO/workOrder/orderSend/sendModal.vue b/src/views/IO/workOrder/orderSend/sendModal.vue index 3eefb48..45f3398 100644 --- a/src/views/IO/workOrder/orderSend/sendModal.vue +++ b/src/views/IO/workOrder/orderSend/sendModal.vue @@ -56,7 +56,7 @@ import { message } from 'ant-design-vue'; import { getInfo } from './api'; export default { - setup() { + setup(props,{emit}) { const title = ref('派遣'); const visible = ref(false); const form = reactive({ @@ -108,7 +108,7 @@ const handleOk = () => { formRef.value.validate().then((valid) => { if (valid) { - console.log(form) + emit('success') } }); }; diff --git a/src/views/property/point/pointModal.vue b/src/views/property/point/pointModal.vue index 32e50e8..75ce6a0 100644 --- a/src/views/property/point/pointModal.vue +++ b/src/views/property/point/pointModal.vue @@ -26,7 +26,7 @@ - + @@ -34,11 +34,6 @@ - - - - - @@ -106,9 +101,10 @@ v-model:file-list="fileLists" :action="`${apiUrl}/resource/oss/upload`" :headers="headers" + accept='.jpg,.jpeg,.png,.gif,.webp' @change="handleChange" > - 上传 + 上传图片 @@ -156,7 +152,6 @@ projectName: '', contractName: null, isAccident: null, - repairer: '', responseTime: '', responseLevel: '', faultCategory: null, @@ -272,7 +267,6 @@ projectName: [{ required: true, message: '请选择' }], contractName: [{ required: true, message: '请选择' }], isAccident: [{ required: true, message: '请选择' }], - repairer: [{ required: true, message: '请输入' }], faultLocation: [{ required: true, message: '请输入' }], organizationName: [{ required: true, message: '请选择' }], responseTime: [{ required: true, message: '请输入' }],