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 {
form.attachments = null;
}
console.log(fileLists);
};
return {
visible,

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

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

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

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

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

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

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

@ -14,6 +14,7 @@ enum Api {
dealInfo = '/platform/dealInfo/getInfoByOrderId',
initReviewOrder = '/platform/workOrder/initReviewOrder',
lastReviewOrder = '/platform/workOrder/lastReviewOrder',
getOrderDelayHistory = '/platform/orderDelayHistory/queryByWorkOrderId',
}
@ -71,3 +72,6 @@ export function initReviewOrder(data:any) {
export function lastReviewOrder(data:any) {
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: '处理中(已延期)',
value: 7,
},
{
label: '作废',
value: 8,
},
{
label:'运维单位处理时回退至派遣',
value:3,

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

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

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

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

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

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

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

@ -89,7 +89,7 @@
<script>
import { reactive, ref } from '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 { useGlobSetting } from '@/hooks/setting';
export default {
@ -173,7 +173,6 @@
} else {
form.attachments = null;
}
console.log(fileLists);
};
return {
visible,

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

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

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',
rollBackOrder = '/platform/workOrder/rollBackOrder',
delayOrder = '/platform/workOrder/delayOrder',
getOrderDelayHistory = '/platform/orderDelayHistory/queryByWorkOrderId',
}
export function list(params?: any) {
@ -57,6 +58,7 @@ export function queryProcess(id: any) {
export function dealOrder(data:any) {
return defHttp.post({ url: Api.dealOrder,data });
}
export function getDealInfo(id: any) {
return defHttp.get({ url: `${Api.dealInfo}?workOrderId=${id}` });
}
@ -68,4 +70,7 @@ export function rollBackOrder(data:any) {
}
export function delayOrder(data:any) {
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>
import { reactive, ref } from '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 { useGlobSetting } from '@/hooks/setting';
export default {
@ -156,7 +156,6 @@
} else {
form.attachments = null;
}
console.log(fileLists);
};
return {
visible,

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

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

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

@ -12,6 +12,7 @@ enum Api {
getContractNamesByProjectName = '/platform/contractInfo/getContractNamesByProjectName',
queryProcess = '/platform/orderProcess/queryProcess',
dealInfo = '/platform/dealInfo/getInfoByOrderId',
getOrderDelayHistory = '/platform/orderDelayHistory/queryByWorkOrderId',
}
export function list(params?: PageQuery) {
@ -58,4 +59,7 @@ export function queryProcess(id: any) {
}
export function dealInfo(id: any) {
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: '处理中(已延期)',
value: 7,
},
{
label: '作废',
value: 8,
},
{
label: '运维单位处理时回退至派遣',
value: 3,

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

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

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

@ -3,7 +3,7 @@ import { defHttp } from '@/utils/http/axios';
enum Api {
root = '/platform/workOrder',
list = '/platform/workOrder/list',
list = '/platform/workOrder/dispatchList',
export = '/workflow/leave/export',
getSubcategoryType = '/platform/subcategoryType/list',
workOrderAdd = '/platform/workOrder/add',
@ -12,6 +12,9 @@ enum Api {
getContractNamesByProjectName = '/platform/contractInfo/getContractNamesByProjectName',
queryProcess = '/platform/orderProcess/queryProcess',
dealInfo = '/platform/dealInfo/getInfoByOrderId',
getOrderDelayHistory = '/platform/orderDelayHistory/queryByWorkOrderId',
dispatchOrder = '/platform/workOrder/dispatchOrder',
getIoCompanyNames = '/platform/inspectPlanInfo/getIoCompanyNames',
}
export function list(params?: PageQuery) {
@ -58,4 +61,14 @@ export function queryProcess(id: any) {
}
export function dealInfo(id: any) {
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: '处理中(已延期)',
value: 7,
},
{
label: '作废',
value: 8,
},
{
label: '运维单位处理时回退至派遣',
value: 3,

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

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

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

@ -2,7 +2,7 @@
<PageWrapper dense>
<BasicTable @register="registerTable">
<template #toolbar>
<a-button type="primary" @click="showFaultModal">故障上报</a-button>
<!-- <a-button type="primary" @click="showFaultModal">故障上报</a-button> -->
</template>
<template #bodyCell="{ column, record }">
<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-col :span="24">
<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-col>
</a-row>
@ -29,20 +29,25 @@
v-model:value="form.maintenanceRequirement"
:options="maintenanceRequirementOptions"
placeholder="请选择"
/>
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="[16, 16]">
<a-row :gutter="[16, 16]" v-if="form.handle=='事件派遣'">
<a-col :span="24">
<a-form-item label="维护单位" name="maintenanceUnit">
<a-input v-model:value="form.maintenanceUnit" placeholder="请输入" disbaled />
<a-form-item label="维护单位" name="maintenanceUnit" >
<a-select
v-model:value="form.maintenanceUnit"
:options="maintenanceUnitOptions"
placeholder="请选择"
/>
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="[16, 16]">
<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-form-item>
</a-col>
@ -54,7 +59,7 @@
<script>
import { reactive, ref } from 'vue';
import { message } from 'ant-design-vue';
import { getInfo } from './api';
import { getInfo,dispatchOrder,getIoCompanyNames} from './api';
export default {
setup(props,{emit}) {
const title = ref('派遣');
@ -90,25 +95,40 @@
{
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) => {
visible.value = true;
const data = await getInfo(id);
for (let i in form) {
form[i] = data[i];
}
getMaintenanceUnitOptions()
};
const handleOk = () => {
formRef.value.validate().then((valid) => {
if (valid) {
const params = {}
for(let i in form){
params[i] = form[i]
}
dispatchOrder(params).then(_=>{
message.success('操作成功')
closeModal()
emit('success')
})
}
});
};
@ -128,6 +148,7 @@
title,
form,
maintenanceRequirementOptions,
maintenanceUnitOptions,
handleOptions,
showModal,
handleOk,

1
src/views/document/addModal.vue

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

Loading…
Cancel
Save