Browse Source

派遣

ops-management-platform-frontend-dev
wbc 1 month ago
parent
commit
307225c094
  1. 1
      src/views/IO/delayPatrol/waitAudit/faultModal.vue
  2. 1
      src/views/IO/delayPatrol/waitPatrol/faultModal.vue
  3. 2
      src/views/IO/patrolReport/reportModal.vue
  4. 4
      src/views/IO/workOrder/delayAudit/detailDrawer.vue
  5. 4
      src/views/IO/workOrder/orderAudit/api.ts
  6. 4
      src/views/IO/workOrder/orderAudit/data.ts
  7. 36
      src/views/IO/workOrder/orderAudit/detailDrawer.vue
  8. 2
      src/views/IO/workOrder/orderHandle/backModal.vue
  9. 4
      src/views/IO/workOrder/orderHandle/data.ts
  10. 3
      src/views/IO/workOrder/orderHandle/delayModal.vue
  11. 36
      src/views/IO/workOrder/orderHandle/detailDrawer.vue
  12. 5
      src/views/IO/workOrder/orderHandle/handleApi.ts
  13. 3
      src/views/IO/workOrder/orderHandle/handleModal.vue
  14. 2
      src/views/IO/workOrder/orderHandle/index.vue
  15. 4
      src/views/IO/workOrder/orderSearch/api.ts
  16. 4
      src/views/IO/workOrder/orderSearch/data.ts
  17. 78
      src/views/IO/workOrder/orderSearch/detailDrawer.vue
  18. 15
      src/views/IO/workOrder/orderSend/api.ts
  19. 4
      src/views/IO/workOrder/orderSend/data.ts
  20. 36
      src/views/IO/workOrder/orderSend/detailDrawer.vue
  21. 2
      src/views/IO/workOrder/orderSend/index.vue
  22. 39
      src/views/IO/workOrder/orderSend/sendModal.vue
  23. 1
      src/views/document/addModal.vue

1
src/views/IO/delayPatrol/waitAudit/faultModal.vue

@ -351,7 +351,6 @@
} else { } else {
form.attachments = null; form.attachments = null;
} }
console.log(fileLists);
}; };
return { return {
visible, visible,

1
src/views/IO/delayPatrol/waitPatrol/faultModal.vue

@ -351,7 +351,6 @@
} else { } else {
form.attachments = null; form.attachments = null;
} }
console.log(fileLists);
}; };
return { return {
visible, visible,

2
src/views/IO/patrolReport/reportModal.vue

@ -260,7 +260,6 @@
}else{ }else{
form.attachments = null; form.attachments = null;
} }
console.log(fileLists)
}; };
const handlePhotoChange = (info) => { const handlePhotoChange = (info) => {
if (info.fileList.length > 0) { if (info.fileList.length > 0) {
@ -276,7 +275,6 @@
}else{ }else{
form.inspectionPhotos = null; form.inspectionPhotos = null;
} }
console.log(fileLists)
}; };
return { return {
visible, visible,

4
src/views/IO/workOrder/delayAudit/detailDrawer.vue

@ -168,6 +168,10 @@
label: '处理中(已延期)', label: '处理中(已延期)',
value: 7, value: 7,
}, },
{
label: '作废',
value: 8,
},
{ {
label: '运维单位处理时回退至派遣', label: '运维单位处理时回退至派遣',
value: 3, value: 3,

4
src/views/IO/workOrder/orderAudit/api.ts

@ -14,6 +14,7 @@ enum Api {
dealInfo = '/platform/dealInfo/getInfoByOrderId', dealInfo = '/platform/dealInfo/getInfoByOrderId',
initReviewOrder = '/platform/workOrder/initReviewOrder', initReviewOrder = '/platform/workOrder/initReviewOrder',
lastReviewOrder = '/platform/workOrder/lastReviewOrder', lastReviewOrder = '/platform/workOrder/lastReviewOrder',
getOrderDelayHistory = '/platform/orderDelayHistory/queryByWorkOrderId',
} }
@ -71,3 +72,6 @@ export function initReviewOrder(data:any) {
export function lastReviewOrder(data:any) { export function lastReviewOrder(data:any) {
return defHttp.post({ url: Api.lastReviewOrder,data }); return defHttp.post({ url: Api.lastReviewOrder,data });
} }
export function getOrderDelayHistory(id: any) {
return defHttp.get({ url: `${Api.getOrderDelayHistory}?workOrderId=${id}` });
}

4
src/views/IO/workOrder/orderAudit/data.ts

@ -17,6 +17,10 @@ const statusOptions = [
label: '处理中(已延期)', label: '处理中(已延期)',
value: 7, value: 7,
}, },
{
label: '作废',
value: 8,
},
{ {
label:'运维单位处理时回退至派遣', label:'运维单位处理时回退至派遣',
value:3, value:3,

36
src/views/IO/workOrder/orderAudit/detailDrawer.vue

@ -151,11 +151,11 @@
</a-tab-pane> </a-tab-pane>
<a-tab-pane key="5" tab="延期信息"> <a-tab-pane key="5" tab="延期信息">
<a-table :dataSource="delayInfo" :columns="delayColumns" bordered> <a-table :dataSource="delayInfo" :columns="delayColumns" bordered>
<template #bodyCell="{ column }"> <!-- <template #bodyCell="{ column }">
<template v-if="column.key === 'action'"> <template v-if="column.key === 'action'">
<a-button type="link">查看</a-button> <a-button type="link">查看</a-button>
</template> </template>
</template> </template> -->
</a-table> </a-table>
</a-tab-pane> </a-tab-pane>
</a-tabs> </a-tabs>
@ -165,7 +165,7 @@
<script> <script>
import { reactive, ref,defineComponent } from 'vue'; import { reactive, ref,defineComponent } from 'vue';
import { getInfo,dealInfo, queryProcess } from './api'; import { getInfo,dealInfo, queryProcess,getOrderDelayHistory } from './api';
import AMapLoader from '@amap/amap-jsapi-loader'; import AMapLoader from '@amap/amap-jsapi-loader';
import Icon from '@/components/Icon/Icon.vue'; import Icon from '@/components/Icon/Icon.vue';
export default defineComponent({ export default defineComponent({
@ -217,6 +217,10 @@
label: '处理中(已延期)', label: '处理中(已延期)',
value: 7, value: 7,
}, },
{
label: '作废',
value: 8,
},
{ {
label: '运维单位处理时回退至派遣', label: '运维单位处理时回退至派遣',
value: 3, value: 3,
@ -263,25 +267,25 @@
]; ];
const delayInfo = ref([]); const delayInfo = ref([]);
const delayColumns = [ const delayColumns = [
{ {
title: '申请时间', title: '申请时间',
dataIndex: 'applyTime', dataIndex: 'createTime',
key: 'applyTime', key: 'createTime',
}, },
{ {
title: '申请原因', title: '申请原因',
dataIndex: 'applyReason', dataIndex: 'delayReason',
key: 'applyReason', key: 'delayReason',
}, },
{ {
title: '延期时间', title: '延期时间',
dataIndex: 'delayTime', dataIndex: 'afterDelayTime',
key: 'delayTime', key: 'afterDelayTime',
}, },
{ {
title: '详细信息', title: '详细信息',
dataIndex: 'action', dataIndex: 'handleResult',
key: 'action ', key: 'handleResult ',
}, },
]; ];
@ -297,9 +301,15 @@
progress.value = progressLine; progress.value = progressLine;
console.log(progress.value); console.log(progress.value);
const data1 = await dealInfo(id); const data1 = await dealInfo(id);
for (let i in dealDetail) { if(data1){
for (let i in dealDetail) {
dealDetail[i] = data1[i]; dealDetail[i] = data1[i];
} }
}
const data2 = await getOrderDelayHistory(id);
if (data2) {
delayInfo.value = data2;
}
initMap(detail.longitude, detail.latitude, detail.faultLocation); initMap(detail.longitude, detail.latitude, detail.faultLocation);
}; };

2
src/views/IO/workOrder/orderHandle/backModal.vue

@ -43,7 +43,7 @@
<script> <script>
import { reactive, ref } from 'vue'; import { reactive, ref } from 'vue';
import { message } from 'ant-design-vue'; import { message } from 'ant-design-vue';
import { getInfo,rollBackOrder } from './api'; import { getInfo,rollBackOrder } from './handleApi';
import { getToken } from '@/utils/auth'; import { getToken } from '@/utils/auth';
import { useGlobSetting } from '@/hooks/setting'; import { useGlobSetting } from '@/hooks/setting';
export default { export default {

4
src/views/IO/workOrder/orderHandle/data.ts

@ -18,6 +18,10 @@ const statusOptions = [
label: '处理中(已延期)', label: '处理中(已延期)',
value: 7, value: 7,
}, },
{
label: '作废',
value: 8,
},
{ {
label: '运维单位处理时回退至派遣', label: '运维单位处理时回退至派遣',
value: 3, value: 3,

3
src/views/IO/workOrder/orderHandle/delayModal.vue

@ -89,7 +89,7 @@
<script> <script>
import { reactive, ref } from 'vue'; import { reactive, ref } from 'vue';
import { message } from 'ant-design-vue'; import { message } from 'ant-design-vue';
import { getInfo,getSubcategoryType,delayOrder} from './api'; import { getInfo,getSubcategoryType,delayOrder} from './handleApi';
import { getToken } from '@/utils/auth'; import { getToken } from '@/utils/auth';
import { useGlobSetting } from '@/hooks/setting'; import { useGlobSetting } from '@/hooks/setting';
export default { export default {
@ -173,7 +173,6 @@
} else { } else {
form.attachments = null; form.attachments = null;
} }
console.log(fileLists);
}; };
return { return {
visible, visible,

36
src/views/IO/workOrder/orderHandle/detailDrawer.vue

@ -153,11 +153,11 @@
</a-tab-pane> </a-tab-pane>
<a-tab-pane key="5" tab="延期信息"> <a-tab-pane key="5" tab="延期信息">
<a-table :dataSource="delayInfo" :columns="delayColumns" bordered> <a-table :dataSource="delayInfo" :columns="delayColumns" bordered>
<template #bodyCell="{ column }"> <!-- <template #bodyCell="{ column }">
<template v-if="column.key === 'action'"> <template v-if="column.key === 'action'">
<a-button type="link">查看</a-button> <a-button type="link">查看</a-button>
</template> </template>
</template> </template> -->
</a-table> </a-table>
</a-tab-pane> </a-tab-pane>
</a-tabs> </a-tabs>
@ -167,7 +167,7 @@
<script> <script>
import { reactive, ref, defineComponent } from 'vue'; import { reactive, ref, defineComponent } from 'vue';
import { getInfo, getDealInfo, queryProcess } from './api'; import { getInfo, getDealInfo, queryProcess,getOrderDelayHistory } from './handleApi';
import AMapLoader from '@amap/amap-jsapi-loader'; import AMapLoader from '@amap/amap-jsapi-loader';
import Icon from '@/components/Icon/Icon.vue'; import Icon from '@/components/Icon/Icon.vue';
export default defineComponent({ export default defineComponent({
@ -219,6 +219,10 @@
label: '处理中(已延期)', label: '处理中(已延期)',
value: 7, value: 7,
}, },
{
label: '作废',
value: 8,
},
{ {
label: '运维单位处理时回退至派遣', label: '运维单位处理时回退至派遣',
value: 3, value: 3,
@ -265,25 +269,25 @@
]; ];
const delayInfo = ref([]); const delayInfo = ref([]);
const delayColumns = [ const delayColumns = [
{ {
title: '申请时间', title: '申请时间',
dataIndex: 'applyTime', dataIndex: 'createTime',
key: 'applyTime', key: 'createTime',
}, },
{ {
title: '申请原因', title: '申请原因',
dataIndex: 'applyReason', dataIndex: 'delayReason',
key: 'applyReason', key: 'delayReason',
}, },
{ {
title: '延期时间', title: '延期时间',
dataIndex: 'delayTime', dataIndex: 'afterDelayTime',
key: 'delayTime', key: 'afterDelayTime',
}, },
{ {
title: '详细信息', title: '详细信息',
dataIndex: 'action', dataIndex: 'handleResult',
key: 'action ', key: 'handleResult ',
}, },
]; ];
@ -299,9 +303,15 @@
progress.value = progressLine; progress.value = progressLine;
console.log(progress.value); console.log(progress.value);
const data1 = await getDealInfo(id); const data1 = await getDealInfo(id);
for (let i in dealDetail) { if(data1){
for (let i in dealDetail) {
dealDetail[i] = data1[i]; dealDetail[i] = data1[i];
} }
}
const data2 = await getOrderDelayHistory(id);
if (data2) {
delayInfo.value = data2;
}
initMap(detail.longitude, detail.latitude, detail.faultLocation); initMap(detail.longitude, detail.latitude, detail.faultLocation);
}; };

5
src/views/IO/workOrder/orderHandle/api.ts → src/views/IO/workOrder/orderHandle/handleApi.ts

@ -14,6 +14,7 @@ enum Api {
takeOrder = '/platform/workOrder/takeOrder', takeOrder = '/platform/workOrder/takeOrder',
rollBackOrder = '/platform/workOrder/rollBackOrder', rollBackOrder = '/platform/workOrder/rollBackOrder',
delayOrder = '/platform/workOrder/delayOrder', delayOrder = '/platform/workOrder/delayOrder',
getOrderDelayHistory = '/platform/orderDelayHistory/queryByWorkOrderId',
} }
export function list(params?: any) { export function list(params?: any) {
@ -57,6 +58,7 @@ export function queryProcess(id: any) {
export function dealOrder(data:any) { export function dealOrder(data:any) {
return defHttp.post({ url: Api.dealOrder,data }); return defHttp.post({ url: Api.dealOrder,data });
} }
export function getDealInfo(id: any) { export function getDealInfo(id: any) {
return defHttp.get({ url: `${Api.dealInfo}?workOrderId=${id}` }); return defHttp.get({ url: `${Api.dealInfo}?workOrderId=${id}` });
} }
@ -68,4 +70,7 @@ export function rollBackOrder(data:any) {
} }
export function delayOrder(data:any) { export function delayOrder(data:any) {
return defHttp.post({ url: Api.delayOrder,data }); return defHttp.post({ url: Api.delayOrder,data });
}
export function getOrderDelayHistory(id: any) {
return defHttp.get({ url: `${Api.getOrderDelayHistory}?workOrderId=${id}` });
} }

3
src/views/IO/workOrder/orderHandle/handleModal.vue

@ -77,7 +77,7 @@
<script> <script>
import { reactive, ref } from 'vue'; import { reactive, ref } from 'vue';
import { message } from 'ant-design-vue'; import { message } from 'ant-design-vue';
import { getInfo,getSubcategoryType,dealOrder } from './api'; import { getInfo,getSubcategoryType,dealOrder } from './handleApi';
import { getToken } from '@/utils/auth'; import { getToken } from '@/utils/auth';
import { useGlobSetting } from '@/hooks/setting'; import { useGlobSetting } from '@/hooks/setting';
export default { export default {
@ -156,7 +156,6 @@
} else { } else {
form.attachments = null; form.attachments = null;
} }
console.log(fileLists);
}; };
return { return {
visible, visible,

2
src/views/IO/workOrder/orderHandle/index.vue

@ -28,7 +28,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { PageWrapper } from '@/components/Page'; import { PageWrapper } from '@/components/Page';
import { BasicTable, useTable } from '@/components/Table'; import { BasicTable, useTable } from '@/components/Table';
import { list, getProjectInfo,takeOrder } from './api'; import { list, getProjectInfo,takeOrder } from './handleApi';
import { formSchemas, columns } from './data'; import { formSchemas, columns } from './data';
import detailDrawer from './detailDrawer.vue'; import detailDrawer from './detailDrawer.vue';
import backModal from './backModal.vue'; import backModal from './backModal.vue';

4
src/views/IO/workOrder/orderSearch/api.ts

@ -12,6 +12,7 @@ enum Api {
getContractNamesByProjectName = '/platform/contractInfo/getContractNamesByProjectName', getContractNamesByProjectName = '/platform/contractInfo/getContractNamesByProjectName',
queryProcess = '/platform/orderProcess/queryProcess', queryProcess = '/platform/orderProcess/queryProcess',
dealInfo = '/platform/dealInfo/getInfoByOrderId', dealInfo = '/platform/dealInfo/getInfoByOrderId',
getOrderDelayHistory = '/platform/orderDelayHistory/queryByWorkOrderId',
} }
export function list(params?: PageQuery) { export function list(params?: PageQuery) {
@ -58,4 +59,7 @@ export function queryProcess(id: any) {
} }
export function dealInfo(id: any) { export function dealInfo(id: any) {
return defHttp.get({ url: `${Api.dealInfo}?workOrderId=${id}` }); return defHttp.get({ url: `${Api.dealInfo}?workOrderId=${id}` });
}
export function getOrderDelayHistory(id: any) {
return defHttp.get({ url: `${Api.getOrderDelayHistory}?workOrderId=${id}` });
} }

4
src/views/IO/workOrder/orderSearch/data.ts

@ -29,6 +29,10 @@ const statusOptions = [
label: '处理中(已延期)', label: '处理中(已延期)',
value: 7, value: 7,
}, },
{
label: '作废',
value: 8,
},
{ {
label: '运维单位处理时回退至派遣', label: '运维单位处理时回退至派遣',
value: 3, value: 3,

78
src/views/IO/workOrder/orderSearch/detailDrawer.vue

@ -130,32 +130,34 @@
<a-tab-pane key="3" tab="流程信息"> <a-tab-pane key="3" tab="流程信息">
<div style="margin-left: 20px"> <div style="margin-left: 20px">
<a-timeline> <a-timeline>
<a-timeline-item v-for="(item, index) in progress" :key="index" > <a-timeline-item v-for="(item, index) in progress" :key="index">
<template #dot><span class="stage">{{ item.stage }}</span></template> <template #dot
><span class="stage">{{ item.stage }}</span></template
>
<div class="timeText" <div class="timeText"
><span class="person">{{ item.operator }}</span ><span class="person">{{ item.operator }}</span
>{{item.description}}</div >{{ item.description }}</div
> >
<div class="timeText">{{ item.feedback }}</div> <div class="timeText">{{ item.feedback }}</div>
<div class="operationTime">{{ item.operationTime }}</div> <div class="operationTime">{{ item.operationTime }}</div>
<div class="duration" v-if="item.duration"> <Icon icon="ant-design:dashboard-outlined" />用时{{item.duration}}</div> <div class="duration" v-if="item.duration">
<Icon icon="ant-design:dashboard-outlined" />用时{{ item.duration }}</div
>
<a-divider></a-divider> <a-divider></a-divider>
</a-timeline-item> </a-timeline-item>
</a-timeline> </a-timeline>
</div> </div>
</a-tab-pane> </a-tab-pane>
<a-tab-pane key="4" tab="历史信息"> <a-tab-pane key="4" tab="历史信息">
<a-table :dataSource="progress" :columns="historyColumns" bordered> <a-table :dataSource="progress" :columns="historyColumns" bordered> </a-table>
</a-table>
</a-tab-pane> </a-tab-pane>
<a-tab-pane key="5" tab="延期信息"> <a-tab-pane key="5" tab="延期信息">
<a-table :dataSource="delayInfo" :columns="delayColumns" bordered> <a-table :dataSource="delayInfo" :columns="delayColumns" bordered>
<template #bodyCell="{ column }"> <!-- <template #bodyCell="{ column }">
<template v-if="column.key === 'action'"> <template v-if="column.key === 'action'">
<a-button type="link">查看</a-button> <a-button type="link">查看</a-button>
</template> </template>
</template> </template> -->
</a-table> </a-table>
</a-tab-pane> </a-tab-pane>
</a-tabs> </a-tabs>
@ -164,12 +166,12 @@
</template> </template>
<script> <script>
import { reactive, ref,defineComponent } from 'vue'; import { reactive, ref, defineComponent } from 'vue';
import { getInfo,dealInfo, queryProcess } from './api'; import { getInfo, dealInfo, queryProcess, getOrderDelayHistory } from './api';
import AMapLoader from '@amap/amap-jsapi-loader'; import AMapLoader from '@amap/amap-jsapi-loader';
import Icon from '@/components/Icon/Icon.vue'; import Icon from '@/components/Icon/Icon.vue';
export default defineComponent({ export default defineComponent({
components:{Icon}, components: { Icon },
setup(props, { emit }) { setup(props, { emit }) {
// //
let detail = reactive({ let detail = reactive({
@ -217,6 +219,10 @@
label: '处理中(已延期)', label: '处理中(已延期)',
value: 7, value: 7,
}, },
{
label: '作废',
value: 8,
},
{ {
label: '运维单位处理时回退至派遣', label: '运维单位处理时回退至派遣',
value: 3, value: 3,
@ -240,7 +246,7 @@
})?.label; })?.label;
}; };
const historyColumns = [ const historyColumns = [
{ {
title: '环节', title: '环节',
dataIndex: 'stage', dataIndex: 'stage',
key: 'stage', key: 'stage',
@ -263,25 +269,25 @@
]; ];
const delayInfo = ref([]); const delayInfo = ref([]);
const delayColumns = [ const delayColumns = [
{ {
title: '环节', title: '申请时间',
dataIndex: 'stage', dataIndex: 'createTime',
key: 'stage', key: 'createTime',
}, },
{ {
title: '操作', title: '申请原因',
dataIndex: 'operationName', dataIndex: 'delayReason',
key: 'operationName', key: 'delayReason',
}, },
{ {
title: '操作人', title: '延期时间',
dataIndex: 'operator', dataIndex: 'afterDelayTime',
key: 'operator', key: 'afterDelayTime',
}, },
{ {
title: '操作时间', title: '详细信息',
dataIndex: 'operationTime', dataIndex: 'handleResult',
key: 'operationTime ', key: 'handleResult ',
}, },
]; ];
@ -297,8 +303,14 @@
progress.value = progressLine; progress.value = progressLine;
console.log(progress.value); console.log(progress.value);
const data1 = await dealInfo(id); const data1 = await dealInfo(id);
for (let i in dealDetail) { if (data1) {
dealDetail[i] = data1[i]; for (let i in dealDetail) {
dealDetail[i] = data1[i];
}
}
const data2 = await getOrderDelayHistory(id);
if (data2) {
delayInfo.value = data2;
} }
initMap(detail.longitude, detail.latitude, detail.faultLocation); initMap(detail.longitude, detail.latitude, detail.faultLocation);
}; };
@ -306,8 +318,8 @@
// //
const onClose = () => { const onClose = () => {
visible.value = false; visible.value = false;
for(let i in dealDetail){ for (let i in dealDetail) {
dealDetail[i] = '' dealDetail[i] = '';
} }
map.value?.destroy(); map.value?.destroy();
}; };
@ -370,7 +382,7 @@
div { div {
margin-bottom: 1%; margin-bottom: 1%;
} }
.stage{ .stage {
font-weight: 600; font-weight: 600;
} }
.timeText { .timeText {
@ -383,13 +395,13 @@
.operationTime { .operationTime {
color: gray; color: gray;
font-weight: 550; font-weight: 550;
margin-left:80% margin-left: 80%;
} }
.duration { .duration {
color: #00bbff; color: #00bbff;
position: absolute; position: absolute;
font-weight: 550; font-weight: 550;
margin-left:80%; margin-left: 80%;
top: 0.1%; top: 0.1%;
} }
.titleLabel { .titleLabel {

15
src/views/IO/workOrder/orderSend/api.ts

@ -3,7 +3,7 @@ import { defHttp } from '@/utils/http/axios';
enum Api { enum Api {
root = '/platform/workOrder', root = '/platform/workOrder',
list = '/platform/workOrder/list', list = '/platform/workOrder/dispatchList',
export = '/workflow/leave/export', export = '/workflow/leave/export',
getSubcategoryType = '/platform/subcategoryType/list', getSubcategoryType = '/platform/subcategoryType/list',
workOrderAdd = '/platform/workOrder/add', workOrderAdd = '/platform/workOrder/add',
@ -12,6 +12,9 @@ enum Api {
getContractNamesByProjectName = '/platform/contractInfo/getContractNamesByProjectName', getContractNamesByProjectName = '/platform/contractInfo/getContractNamesByProjectName',
queryProcess = '/platform/orderProcess/queryProcess', queryProcess = '/platform/orderProcess/queryProcess',
dealInfo = '/platform/dealInfo/getInfoByOrderId', dealInfo = '/platform/dealInfo/getInfoByOrderId',
getOrderDelayHistory = '/platform/orderDelayHistory/queryByWorkOrderId',
dispatchOrder = '/platform/workOrder/dispatchOrder',
getIoCompanyNames = '/platform/inspectPlanInfo/getIoCompanyNames',
} }
export function list(params?: PageQuery) { export function list(params?: PageQuery) {
@ -58,4 +61,14 @@ export function queryProcess(id: any) {
} }
export function dealInfo(id: any) { export function dealInfo(id: any) {
return defHttp.get({ url: `${Api.dealInfo}?workOrderId=${id}` }); return defHttp.get({ url: `${Api.dealInfo}?workOrderId=${id}` });
}
export function getOrderDelayHistory(id: any) {
return defHttp.get({ url: `${Api.getOrderDelayHistory}?workOrderId=${id}` });
}
export function dispatchOrder(data:any) {
return defHttp.post({ url: Api.dispatchOrder,data });
}
export function getIoCompanyNames() {
return defHttp.get({ url: Api.getIoCompanyNames });
} }

4
src/views/IO/workOrder/orderSend/data.ts

@ -17,6 +17,10 @@ const statusOptions = [
label: '处理中(已延期)', label: '处理中(已延期)',
value: 7, value: 7,
}, },
{
label: '作废',
value: 8,
},
{ {
label: '运维单位处理时回退至派遣', label: '运维单位处理时回退至派遣',
value: 3, value: 3,

36
src/views/IO/workOrder/orderSend/detailDrawer.vue

@ -151,11 +151,11 @@
</a-tab-pane> </a-tab-pane>
<a-tab-pane key="5" tab="延期信息"> <a-tab-pane key="5" tab="延期信息">
<a-table :dataSource="delayInfo" :columns="delayColumns" bordered> <a-table :dataSource="delayInfo" :columns="delayColumns" bordered>
<template #bodyCell="{ column }"> <!-- <template #bodyCell="{ column }">
<template v-if="column.key === 'action'"> <template v-if="column.key === 'action'">
<a-button type="link">查看</a-button> <a-button type="link">查看</a-button>
</template> </template>
</template> </template> -->
</a-table> </a-table>
</a-tab-pane> </a-tab-pane>
</a-tabs> </a-tabs>
@ -165,7 +165,7 @@
<script> <script>
import { reactive, ref,defineComponent } from 'vue'; import { reactive, ref,defineComponent } from 'vue';
import { getInfo, dealInfo,queryProcess } from './api'; import { getInfo, dealInfo,queryProcess,getOrderDelayHistory } from './api';
import AMapLoader from '@amap/amap-jsapi-loader'; import AMapLoader from '@amap/amap-jsapi-loader';
import Icon from '@/components/Icon/Icon.vue'; import Icon from '@/components/Icon/Icon.vue';
export default defineComponent({ export default defineComponent({
@ -217,6 +217,10 @@
label: '处理中(已延期)', label: '处理中(已延期)',
value: 7, value: 7,
}, },
{
label: '作废',
value: 8,
},
{ {
label: '运维单位处理时回退至派遣', label: '运维单位处理时回退至派遣',
value: 3, value: 3,
@ -263,25 +267,25 @@
]; ];
const delayInfo = ref([]); const delayInfo = ref([]);
const delayColumns = [ const delayColumns = [
{ {
title: '申请时间', title: '申请时间',
dataIndex: 'applyTime', dataIndex: 'createTime',
key: 'applyTime', key: 'createTime',
}, },
{ {
title: '申请原因', title: '申请原因',
dataIndex: 'applyReason', dataIndex: 'delayReason',
key: 'applyReason', key: 'delayReason',
}, },
{ {
title: '延期时间', title: '延期时间',
dataIndex: 'delayTime', dataIndex: 'afterDelayTime',
key: 'delayTime', key: 'afterDelayTime',
}, },
{ {
title: '详细信息', title: '详细信息',
dataIndex: 'action', dataIndex: 'handleResult',
key: 'action ', key: 'handleResult ',
}, },
]; ];
@ -297,9 +301,15 @@
progress.value = progressLine; progress.value = progressLine;
console.log(progress.value); console.log(progress.value);
const data1 = await dealInfo(id); const data1 = await dealInfo(id);
for (let i in dealDetail) { if(data1){
for (let i in dealDetail) {
dealDetail[i] = data1[i]; dealDetail[i] = data1[i];
} }
}
const data2 = await getOrderDelayHistory(id);
if (data2) {
delayInfo.value = data2;
}
initMap(detail.longitude, detail.latitude, detail.faultLocation); initMap(detail.longitude, detail.latitude, detail.faultLocation);
}; };

2
src/views/IO/workOrder/orderSend/index.vue

@ -2,7 +2,7 @@
<PageWrapper dense> <PageWrapper dense>
<BasicTable @register="registerTable"> <BasicTable @register="registerTable">
<template #toolbar> <template #toolbar>
<a-button type="primary" @click="showFaultModal">故障上报</a-button> <!-- <a-button type="primary" @click="showFaultModal">故障上报</a-button> -->
</template> </template>
<template #bodyCell="{ column, record }"> <template #bodyCell="{ column, record }">
<template v-if="column && record && column.key === 'action'"> <template v-if="column && record && column.key === 'action'">

39
src/views/IO/workOrder/orderSend/sendModal.vue

@ -18,7 +18,7 @@
<a-row :gutter="[16, 16]"> <a-row :gutter="[16, 16]">
<a-col :span="24"> <a-col :span="24">
<a-form-item label="操作处理" name="handle"> <a-form-item label="操作处理" name="handle">
<a-select v-model:value="form.handle" :options="handleOptions" placeholder="请选择" /> <a-select v-model:value="form.handle" :options="handleOptions" placeholder="请选择" />
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> </a-row>
@ -29,20 +29,25 @@
v-model:value="form.maintenanceRequirement" v-model:value="form.maintenanceRequirement"
:options="maintenanceRequirementOptions" :options="maintenanceRequirementOptions"
placeholder="请选择" placeholder="请选择"
/> />
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> </a-row>
<a-row :gutter="[16, 16]"> <a-row :gutter="[16, 16]" v-if="form.handle=='事件派遣'">
<a-col :span="24"> <a-col :span="24">
<a-form-item label="维护单位" name="maintenanceUnit"> <a-form-item label="维护单位" name="maintenanceUnit" >
<a-input v-model:value="form.maintenanceUnit" placeholder="请输入" disbaled /> <a-select
v-model:value="form.maintenanceUnit"
:options="maintenanceUnitOptions"
placeholder="请选择"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> </a-row>
<a-row :gutter="[16, 16]"> <a-row :gutter="[16, 16]">
<a-col :span="24"> <a-col :span="24">
<a-form-item label="派遣意见" name="dispatchOpinion"> <a-form-item :label="form.handle=='事件作废'?'作废原因':'派遣意见'" name="dispatchOpinion">
<a-textarea v-model:value="form.dispatchOpinion" :rows="4" placeholder="请输入" /> <a-textarea v-model:value="form.dispatchOpinion" :rows="4" placeholder="请输入" />
</a-form-item> </a-form-item>
</a-col> </a-col>
@ -54,7 +59,7 @@
<script> <script>
import { reactive, ref } from 'vue'; import { reactive, ref } from 'vue';
import { message } from 'ant-design-vue'; import { message } from 'ant-design-vue';
import { getInfo } from './api'; import { getInfo,dispatchOrder,getIoCompanyNames} from './api';
export default { export default {
setup(props,{emit}) { setup(props,{emit}) {
const title = ref('派遣'); const title = ref('派遣');
@ -90,25 +95,40 @@
{ {
value: '事件派遣', value: '事件派遣',
}, },
{
value: '事件转派',
},
{ {
value: '事件作废', value: '事件作废',
}, },
]; ];
const maintenanceUnitOptions = ref([])
const getMaintenanceUnitOptions = async() =>{
const res = await getIoCompanyNames();
maintenanceUnitOptions.value = res.map((i) => {
return {
value: i,
};
});
}
const showModal = async (id) => { const showModal = async (id) => {
visible.value = true; visible.value = true;
const data = await getInfo(id); const data = await getInfo(id);
for (let i in form) { for (let i in form) {
form[i] = data[i]; form[i] = data[i];
} }
getMaintenanceUnitOptions()
}; };
const handleOk = () => { const handleOk = () => {
formRef.value.validate().then((valid) => { formRef.value.validate().then((valid) => {
if (valid) { if (valid) {
const params = {}
for(let i in form){
params[i] = form[i]
}
dispatchOrder(params).then(_=>{
message.success('操作成功')
closeModal()
emit('success') emit('success')
})
} }
}); });
}; };
@ -128,6 +148,7 @@
title, title,
form, form,
maintenanceRequirementOptions, maintenanceRequirementOptions,
maintenanceUnitOptions,
handleOptions, handleOptions,
showModal, showModal,
handleOk, handleOk,

1
src/views/document/addModal.vue

@ -152,7 +152,6 @@
} else { } else {
form.attachments = null; form.attachments = null;
} }
console.log(fileLists);
}; };
return { return {
visible, visible,

Loading…
Cancel
Save