Browse Source

点位修改

ops-management-platform-frontend-dev
wbc 2 weeks ago
parent
commit
c44d679fbf
  1. 4
      src/views/IO/workOrder/orderAudit/auditModal.vue
  2. 2
      src/views/IO/workOrder/orderSearch/api.ts
  3. 24
      src/views/IO/workOrder/orderSearch/data.ts
  4. 40
      src/views/IO/workOrder/orderSearch/index.vue
  5. 2
      src/views/IO/workOrder/orderSend/index.vue
  6. 77
      src/views/IO/workOrder/orderSend/sendModal.vue
  7. 8
      src/views/property/point/data.ts
  8. 1
      src/views/property/point/index.vue

4
src/views/IO/workOrder/orderAudit/auditModal.vue

@ -174,8 +174,8 @@
orderTakingCost: [{ required: true, message: '请输入' }],
isHandleOverTime: [{ required: true, message: '请选择' }],
handleCost: [{ required: true, message: '请输入' }],
otherCost: [{ required: true, message: '请输入' }],
otherCostReason: [{ required: true, message: '请输入' }],
// otherCost: [{ required: true, message: '' }],
// otherCostReason: [{ required: true, message: '' }],
auditOpinion: [{ required: true, message: '请输入' }],
// isCloseCase: [{ required: true, message: '' }],
};

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

@ -4,7 +4,6 @@ import { defHttp } from '@/utils/http/axios';
enum Api {
root = '/platform/workOrder',
list = '/platform/workOrder/list',
export = '/workflow/leave/export',
getSubcategoryType = '/platform/subcategoryType/list',
workOrderAdd = '/platform/workOrder/add',
getProjectInfo = '/platform/projectInfo/getNames',
@ -14,6 +13,7 @@ enum Api {
dealInfo = '/platform/dealInfo/getInfoByOrderId',
getOrderDelayHistory = '/platform/orderDelayHistory/queryByWorkOrderId',
getIoCompanyByName = '/platform/contractInfo/getIoCompany',
export = '/platform/excel/ExportPointInfo',
}

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

@ -88,6 +88,30 @@ export const formSchemas: FormSchema[] = [
options: [],
},
},
{
label: '编号',
field: 'id',
component: 'Input',
componentProps: {
placeholder: '输入编号',
},
},
{
field: 'faultLocation',
label: '故障地点',
component: 'Select',
componentProps: {
options: [],
},
},
{
field: 'status',
label: '当前状态',
component: 'Select',
componentProps: {
options: statusOptions,
},
},
];
export const columns: BasicColumn[] = [

40
src/views/IO/workOrder/orderSearch/index.vue

@ -2,7 +2,11 @@
<PageWrapper dense>
<BasicTable @register="registerTable">
<template #toolbar>
<a-button type="primary" @click="showFaultModal">故障上报</a-button>
<!-- <a-button type="primary" @click="showFaultModal">故障上报</a-button> -->
<a-button
@click="downloadExcel(exportExcel, '工单信息', getForm().getFieldsValue())"
>工单导出</a-button
>
</template>
<template #bodyCell="{ column, record }">
<template v-if="column && record && column.key === 'action'">
@ -10,21 +14,22 @@
</template>
</template>
</BasicTable>
<faultModal ref="falutModalRef" @success="reload()"/>
<detailDrawer ref="detailDrawerRef"/>
<faultModal ref="falutModalRef" @success="reload()" />
<detailDrawer ref="detailDrawerRef" />
</PageWrapper>
</template>
<script setup lang="ts">
import { PageWrapper } from '@/components/Page';
import { BasicTable, useTable } from '@/components/Table';
import { list, getProjectInfo,getSubcategoryType } from './api';
import { queryPointNames } from '@/api/common/index';
import { list, getProjectInfo, getSubcategoryType, exportExcel } from './api';
import { formSchemas, columns } from './data';
import faultModal from './faultModal.vue';
import detailDrawer from './detailDrawer.vue';
import { ref,onActivated } from 'vue';
const [registerTable,{reload}] = useTable({
import { ref, onActivated } from 'vue';
import { downloadExcel } from '@/utils/file/download';
const [registerTable, { getForm, reload }] = useTable({
title: '工单搜索',
api: list,
showIndexColumn: true,
@ -76,16 +81,27 @@
i.value = i.typeName;
i.label = i.typeName;
});
formSchemas[4].componentProps.options = projectOptions.value;
formSchemas[4].componentProps.options = faultSubcategoryOptions.value;
};
const faultLocationOptions = ref([]);
const getFaultLocationOptions = async () => {
const res = await queryPointNames();
faultLocationOptions.value = res;
faultLocationOptions.value.forEach((i: any) => {
i.value = i.pointName;
i.label = i.pointName;
});
formSchemas[6].componentProps.options = faultLocationOptions.value;
};
const getOptions = () => {
getProjectOptions();
getFaultSubcategoryOptions()
getFaultSubcategoryOptions();
getFaultLocationOptions();
};
getOptions();
onActivated(()=>{
reload()
})
onActivated(() => {
reload();
});
//
</script>

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'">

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

@ -1,5 +1,5 @@
<template>
<a-modal v-model:open="visible" :title="title" @ok="handleOk" width="50%" @cancel="closeModal">
<a-modal v-model:open="visible" :title="title" @ok="handleOk" width="50%" @cancel="closeModal">
<a-form :model="form" layout="vertical" ref="formRef" :rules="rules">
<a-row :gutter="[16, 16]">
<a-col :span="24">
@ -11,14 +11,25 @@
<a-row :gutter="[16, 16]">
<a-col :span="24">
<a-form-item label="所属合同" name="contractName">
<a-input v-model:value="form.contractName" disabled />
<a-select
v-model:value="form.contractName"
:options="contractNameOptions"
placeholder="请选择"
:disabled="!form.projectName"
:fieldNames="{
label: 'contractName',
value: 'contractName',
options: 'options',
}"
@change="contractNameChange"
/>
</a-form-item>
</a-col>
</a-row>
<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,25 +40,28 @@
v-model:value="form.maintenanceRequirement"
:options="maintenanceRequirementOptions"
placeholder="请选择"
/>
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="[16, 16]" v-if="form.handle=='事件派遣'">
<a-row :gutter="[16, 16]" v-if="form.handle != '事件作废'">
<a-col :span="24">
<a-form-item label="维护单位" name="maintenanceUnit" >
<a-select
<a-form-item label="维护单位" name="maintenanceUnit">
<!-- <a-select
v-model:value="form.maintenanceUnit"
:options="maintenanceUnitOptions"
placeholder="请选择"
/>
/> -->
<a-input v-model:value="form.maintenanceUnit" disabled />
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="[16, 16]">
<a-col :span="24">
<a-form-item :label="form.handle=='事件作废'?'作废原因':'派遣意见'" 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>
@ -59,9 +73,9 @@
<script>
import { reactive, ref } from 'vue';
import { message } from 'ant-design-vue';
import { getInfo,dispatchOrder,getIoCompanyNames} from './api';
import { getInfo, dispatchOrder, getIoCompanyNames, getIoCompanyByName,getContractNamesByProjectName } from './api';
export default {
setup(props,{emit}) {
setup(props, { emit }) {
const title = ref('派遣');
const visible = ref(false);
const form = reactive({
@ -95,40 +109,40 @@
{
value: '事件派遣',
},
{
value: '事件转派',
},
{
value: '事件作废',
},
];
const maintenanceUnitOptions = ref([])
const getMaintenanceUnitOptions = async() =>{
const res = await getIoCompanyNames();
maintenanceUnitOptions.value = res.map((i) => {
return {
value: i,
};
});
}
const contractNameOptions = ref([])
const contractNameChange = async (val) => {
const res = await getIoCompanyByName(val);
form.maintenanceUnit = res;
};
const showModal = async (id) => {
visible.value = true;
const data = await getInfo(id);
for (let i in form) {
form[i] = data[i];
}
getMaintenanceUnitOptions()
const res = await getContractNamesByProjectName({ projectName: form.projectName });
contractNameOptions.value = res;
};
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')
})
const params = {};
for (let i in form) {
params[i] = form[i];
}
dispatchOrder(params).then((_) => {
message.success('操作成功');
closeModal();
emit('success');
});
}
});
};
@ -148,13 +162,14 @@
title,
form,
maintenanceRequirementOptions,
maintenanceUnitOptions,
contractNameOptions,
handleOptions,
showModal,
handleOk,
closeModal,
formRef,
rules,
contractNameChange
};
},
};

8
src/views/property/point/data.ts

@ -17,10 +17,10 @@ export const columns: BasicColumn[] = [
title: '点位名称',
dataIndex: 'pointName',
},
{
title: '地址',
dataIndex: 'address',
},
// {
// title: '地址',
// dataIndex: 'address',
// },
{
title: '链路维护单位',
dataIndex: 'linkUnit',

1
src/views/property/point/index.vue

@ -30,7 +30,6 @@
</a-upload>
<a-button
v-auth="'system:role:export'"
@click="downloadExcel(exportExcel, '点位信息', getForm().getFieldsValue())"
>导出</a-button
>

Loading…
Cancel
Save