Browse Source

延期,审核

ops-management-platform-frontend-dev
wbc 2 months ago
parent
commit
2d84fa3984
  1. 22
      src/views/IO/workOrder/delayAudit/auditModal.vue
  2. 3
      src/views/IO/workOrder/delayAudit/index.vue
  3. 11
      src/views/IO/workOrder/orderAudit/api.ts
  4. 59
      src/views/IO/workOrder/orderAudit/auditModal.vue
  5. 13
      src/views/IO/workOrder/orderAudit/index.vue
  6. 8
      src/views/IO/workOrder/orderHandle/api.ts
  7. 12
      src/views/IO/workOrder/orderHandle/backModal.vue
  8. 12
      src/views/IO/workOrder/orderHandle/delayModal.vue
  9. 1
      src/views/IO/workOrder/orderHandle/handleModal.vue
  10. 5
      src/views/IO/workOrder/orderSearch/index.vue
  11. 3
      src/views/IO/workOrder/orderSend/index.vue

22
src/views/IO/workOrder/delayAudit/auditModal.vue

@ -26,8 +26,8 @@
<a-col :span="12"> <a-col :span="12">
<a-form-item label="接单超期" name="isOrderTakingOverTime"> <a-form-item label="接单超期" name="isOrderTakingOverTime">
<a-radio-group v-model:value="form.isOrderTakingOverTime"> <a-radio-group v-model:value="form.isOrderTakingOverTime">
<a-radio :value="1"></a-radio> <a-radio value="是"></a-radio>
<a-radio :value="0"></a-radio> <a-radio value="否"></a-radio>
</a-radio-group> </a-radio-group>
</a-form-item> </a-form-item>
</a-col> </a-col>
@ -41,8 +41,8 @@
<a-col :span="12"> <a-col :span="12">
<a-form-item label="处理超期" name="isHandleOverTime"> <a-form-item label="处理超期" name="isHandleOverTime">
<a-radio-group v-model:value="form.isHandleOverTime"> <a-radio-group v-model:value="form.isHandleOverTime">
<a-radio :value="1"></a-radio> <a-radio value="是"></a-radio>
<a-radio :value="0"></a-radio> <a-radio value="否"></a-radio>
</a-radio-group> </a-radio-group>
</a-form-item> </a-form-item>
</a-col> </a-col>
@ -75,10 +75,10 @@
</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="closeCase"> <a-form-item label="是否结案" name="isCloseCase">
<a-radio-group v-model:value="form.closeCase"> <a-radio-group v-model:value="form.isCloseCase">
<a-radio :value="1"></a-radio> <a-radio value="是"></a-radio>
<a-radio :value="0"></a-radio> <a-radio value="否"></a-radio>
</a-radio-group> </a-radio-group>
</a-form-item> </a-form-item>
</a-col> </a-col>
@ -93,7 +93,7 @@
import { getInfo } from './api'; import { getInfo } from './api';
export default { export default {
setup() { setup() {
const title = ref('派遣'); const title = ref('审核');
const visible = ref(false); const visible = ref(false);
const form = reactive({ const form = reactive({
projectName: '', projectName: '',
@ -106,7 +106,7 @@
otherCost: '', otherCost: '',
otherCostReason: '', otherCostReason: '',
auditOpinion:'', auditOpinion:'',
closeCase:null, isCloseCase:null,
id: null, id: null,
}); });
// //
@ -147,7 +147,7 @@
otherCost: [{ required: true, message: '请输入' }], otherCost: [{ required: true, message: '请输入' }],
otherCostReason: [{ required: true, message: '请输入' }], otherCostReason: [{ required: true, message: '请输入' }],
auditOpinion: [{ required: true, message: '请输入' }], auditOpinion: [{ required: true, message: '请输入' }],
closeCase: [{ required: true, message: '请选择' }], isCloseCase: [{ required: true, message: '请选择' }],
}; };
return { return {
visible, visible,

3
src/views/IO/workOrder/delayAudit/index.vue

@ -24,9 +24,6 @@
import { ref } from 'vue'; import { ref } from 'vue';
const [registerTable] = useTable({ const [registerTable] = useTable({
rowSelection: {
type: 'checkbox',
},
title: '延期审核', title: '延期审核',
api: list, api: list,
showIndexColumn: true, showIndexColumn: true,

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

@ -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',
initReviewOrder = '/platform/workOrder/initReviewOrder',
lastReviewOrder = '/platform/workOrder/lastReviewOrder',
} }
export function list(params?: PageQuery) { export function list(params?: PageQuery) {
@ -60,3 +63,11 @@ 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 initReviewOrder(data:any) {
return defHttp.post({ url: Api.initReviewOrder,data });
}
export function lastReviewOrder(data:any) {
return defHttp.post({ url: Api.lastReviewOrder,data });
}

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

@ -1,5 +1,5 @@
<template> <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-form :model="form" layout="vertical" ref="formRef" :rules="rules">
<a-row :gutter="[16, 16]"> <a-row :gutter="[16, 16]">
<a-col :span="24"> <a-col :span="24">
@ -18,7 +18,11 @@
<a-row :gutter="[16, 16]"> <a-row :gutter="[16, 16]">
<a-col :span="24"> <a-col :span="24">
<a-form-item label="处理结果" name="handleResult"> <a-form-item label="处理结果" name="handleResult">
<a-select v-model:value="form.handleResult" :options="handleResultOptions" placeholder="请选择" /> <a-select
v-model:value="form.handleResult"
:options="handleResultOptions"
placeholder="请选择"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> </a-row>
@ -75,10 +79,10 @@
</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="closeCase"> <a-form-item label="是否结案" name="isCloseCase" v-if="form.handleResult == '通过'">
<a-radio-group v-model:value="form.closeCase"> <a-radio-group v-model:value="form.isCloseCase" :disabled="status == 5">
<a-radio :value="1"></a-radio> <a-radio value="是"></a-radio>
<a-radio :value="0"></a-radio> <a-radio value="否"></a-radio>
</a-radio-group> </a-radio-group>
</a-form-item> </a-form-item>
</a-col> </a-col>
@ -90,10 +94,10 @@
<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, initReviewOrder,lastReviewOrder } from './api';
export default { export default {
setup() { setup(props, { emit }) {
const title = ref('派遣'); const title = ref('审核');
const visible = ref(false); const visible = ref(false);
const form = reactive({ const form = reactive({
projectName: '', projectName: '',
@ -105,10 +109,11 @@
handleCost: null, handleCost: null,
otherCost: '', otherCost: '',
otherCostReason: '', otherCostReason: '',
auditOpinion:'', auditOpinion: '',
closeCase:null, isCloseCase: null,
id: null, id: null,
}); });
const status = ref(null);
// //
const handleResultOptions = [ const handleResultOptions = [
{ {
@ -118,18 +123,43 @@
value: '退回', value: '退回',
}, },
]; ];
const showModal = async (id) => { const showModal = async (id, statusData) => {
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];
} }
status.value = statusData;
if (status.value == 5) {
form.isCloseCase = '是';
}
}; };
const handleOk = () => { const handleOk = () => {
formRef.value.validate().then((valid) => { formRef.value.validate().then((valid) => {
if (valid) { if (valid) {
console.log(form) const params = {};
for (let i in form) {
params[i] = form[i];
}
if (params.handleResult == '退回') {
delete params.isCloseCase;
}
if (status.value == 4) {
initReviewOrder(params).then((_) => {
message.success('操作成功');
emit('success');
closeModal();
});
} else if (status.value == 5) {
lastReviewOrder(params).then((_) => {
message.success('操作成功');
emit('success');
closeModal();
});
}else{
closeModal()
}
} }
}); });
}; };
@ -147,7 +177,7 @@
otherCost: [{ required: true, message: '请输入' }], otherCost: [{ required: true, message: '请输入' }],
otherCostReason: [{ required: true, message: '请输入' }], otherCostReason: [{ required: true, message: '请输入' }],
auditOpinion: [{ required: true, message: '请输入' }], auditOpinion: [{ required: true, message: '请输入' }],
closeCase: [{ required: true, message: '请选择' }], // isCloseCase: [{ required: true, message: '' }],
}; };
return { return {
visible, visible,
@ -159,6 +189,7 @@
closeModal, closeModal,
formRef, formRef,
rules, rules,
status
}; };
}, },
}; };

13
src/views/IO/workOrder/orderAudit/index.vue

@ -4,12 +4,12 @@
<template #bodyCell="{ column, record }"> <template #bodyCell="{ column, record }">
<template v-if="column && record && column.key === 'action'"> <template v-if="column && record && column.key === 'action'">
<a-button type="link" @click="showAuditModal(record.id)">审核</a-button> <a-button type="link" @click="showAuditModal(record.id,record.status)">审核</a-button>
<a-button type="link" @click="showDrawer(record.id)">详情</a-button> <a-button type="link" @click="showDrawer(record.id)">详情</a-button>
</template> </template>
</template> </template>
</BasicTable> </BasicTable>
<auditModal ref="auditModalRef" /> <auditModal ref="auditModalRef" @success="reload()"/>
<detailDrawer ref="detailDrawerRef" /> <detailDrawer ref="detailDrawerRef" />
</PageWrapper> </PageWrapper>
</template> </template>
@ -23,10 +23,7 @@
import detailDrawer from './detailDrawer.vue'; import detailDrawer from './detailDrawer.vue';
import { ref } from 'vue'; import { ref } from 'vue';
const [registerTable] = useTable({ const [registerTable,{reload}] = useTable({
rowSelection: {
type: 'checkbox',
},
title: '工单审核', title: '工单审核',
api: list, api: list,
showIndexColumn: true, showIndexColumn: true,
@ -52,8 +49,8 @@
}); });
// //
const auditModalRef = ref(); const auditModalRef = ref();
const showAuditModal = (id:any) => { const showAuditModal = (id:any,status:any) => {
auditModalRef.value.showModal(id); auditModalRef.value.showModal(id,status);
}; };
// //
const detailDrawerRef = ref(); const detailDrawerRef = ref();

8
src/views/IO/workOrder/orderHandle/api.ts

@ -12,6 +12,8 @@ enum Api {
dealOrder = '/platform/workOrder/dealOrder', dealOrder = '/platform/workOrder/dealOrder',
dealInfo = '/platform/dealInfo/getInfoByOrderId', dealInfo = '/platform/dealInfo/getInfoByOrderId',
takeOrder = '/platform/workOrder/takeOrder', takeOrder = '/platform/workOrder/takeOrder',
rollBackOrder = '/platform/workOrder/rollBackOrder',
delayOrder = '/platform/workOrder/delayOrder',
} }
export function list(params?: any) { export function list(params?: any) {
@ -61,3 +63,9 @@ export function dealInfo(id: any) {
export function takeOrder(id: any) { export function takeOrder(id: any) {
return defHttp.get({ url: `${Api.takeOrder}?workOrderId=${id}` }); return defHttp.get({ url: `${Api.takeOrder}?workOrderId=${id}` });
} }
export function rollBackOrder(data:any) {
return defHttp.post({ url: Api.rollBackOrder,data });
}
export function delayOrder(data:any) {
return defHttp.post({ url: Api.delayOrder,data });
}

12
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 } from './api'; import { getInfo,rollBackOrder } from './api';
import { getToken } from '@/utils/auth'; import { getToken } from '@/utils/auth';
import { useGlobSetting } from '@/hooks/setting'; import { useGlobSetting } from '@/hooks/setting';
export default { export default {
@ -69,7 +69,15 @@
const handleOk = () => { const handleOk = () => {
formRef.value.validate().then((valid) => { formRef.value.validate().then((valid) => {
if (valid) { if (valid) {
emit('success'); const params = {}
for(let i in form){
params[i] = form[i]
}
rollBackOrder(params).then(_=>{
message.success('操作成功')
emit('success')
closeModal()
})
} }
}); });
}; };

12
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 } from './api'; import { getInfo,getSubcategoryType,delayOrder} from './api';
import { getToken } from '@/utils/auth'; import { getToken } from '@/utils/auth';
import { useGlobSetting } from '@/hooks/setting'; import { useGlobSetting } from '@/hooks/setting';
export default { export default {
@ -132,7 +132,15 @@
const handleOk = () => { const handleOk = () => {
formRef.value.validate().then((valid) => { formRef.value.validate().then((valid) => {
if (valid) { if (valid) {
emit('success'); const params = {}
for(let i in form){
params[i] = form[i]
}
delayOrder(params).then(_=>{
message.success('操作成功')
emit('success');
closeModal()
})
} }
}); });
}; };

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

@ -121,7 +121,6 @@
emit('success'); emit('success');
closeModal() closeModal()
}) })
} }
}); });
}; };

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

@ -11,7 +11,7 @@
</template> </template>
</BasicTable> </BasicTable>
<faultModal ref="falutModalRef" @success="reload()"/> <faultModal ref="falutModalRef" @success="reload()"/>
<detailDrawer ref="detailDrawerRef" @open-modal="showFaultModal" /> <detailDrawer ref="detailDrawerRef"/>
</PageWrapper> </PageWrapper>
</template> </template>
@ -25,9 +25,6 @@
import { ref } from 'vue'; import { ref } from 'vue';
const [registerTable,{reload}] = useTable({ const [registerTable,{reload}] = useTable({
rowSelection: {
type: 'checkbox',
},
title: '工单搜索', title: '工单搜索',
api: list, api: list,
showIndexColumn: true, showIndexColumn: true,

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

@ -28,9 +28,6 @@
import { ref } from 'vue'; import { ref } from 'vue';
const [registerTable,{reload}] = useTable({ const [registerTable,{reload}] = useTable({
rowSelection: {
type: 'checkbox',
},
title: '工单派遣', title: '工单派遣',
api: list, api: list,
showIndexColumn: true, showIndexColumn: true,

Loading…
Cancel
Save