Browse Source

延期,审核

ops-management-platform-frontend-dev
wbc 7 days ago
parent
commit
2d84fa3984
  1. 22
      src/views/IO/workOrder/delayAudit/auditModal.vue
  2. 3
      src/views/IO/workOrder/delayAudit/index.vue
  3. 13
      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-form-item label="接单超期" name="isOrderTakingOverTime">
<a-radio-group v-model:value="form.isOrderTakingOverTime">
<a-radio :value="1"></a-radio>
<a-radio :value="0"></a-radio>
<a-radio value="是"></a-radio>
<a-radio value="否"></a-radio>
</a-radio-group>
</a-form-item>
</a-col>
@ -41,8 +41,8 @@
<a-col :span="12">
<a-form-item label="处理超期" name="isHandleOverTime">
<a-radio-group v-model:value="form.isHandleOverTime">
<a-radio :value="1"></a-radio>
<a-radio :value="0"></a-radio>
<a-radio value="是"></a-radio>
<a-radio value="否"></a-radio>
</a-radio-group>
</a-form-item>
</a-col>
@ -75,10 +75,10 @@
</a-row>
<a-row :gutter="[16, 16]">
<a-col :span="24">
<a-form-item label="是否结案" name="closeCase">
<a-radio-group v-model:value="form.closeCase">
<a-radio :value="1"></a-radio>
<a-radio :value="0"></a-radio>
<a-form-item label="是否结案" name="isCloseCase">
<a-radio-group v-model:value="form.isCloseCase">
<a-radio value="是"></a-radio>
<a-radio value="否"></a-radio>
</a-radio-group>
</a-form-item>
</a-col>
@ -93,7 +93,7 @@
import { getInfo } from './api';
export default {
setup() {
const title = ref('派遣');
const title = ref('审核');
const visible = ref(false);
const form = reactive({
projectName: '',
@ -106,7 +106,7 @@
otherCost: '',
otherCostReason: '',
auditOpinion:'',
closeCase:null,
isCloseCase:null,
id: null,
});
//
@ -147,7 +147,7 @@
otherCost: [{ required: true, message: '请输入' }],
otherCostReason: [{ required: true, message: '请输入' }],
auditOpinion: [{ required: true, message: '请输入' }],
closeCase: [{ required: true, message: '请选择' }],
isCloseCase: [{ required: true, message: '请选择' }],
};
return {
visible,

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

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

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

@ -12,6 +12,9 @@ enum Api {
getContractNamesByProjectName = '/platform/contractInfo/getContractNamesByProjectName',
queryProcess = '/platform/orderProcess/queryProcess',
dealInfo = '/platform/dealInfo/getInfoByOrderId',
initReviewOrder = '/platform/workOrder/initReviewOrder',
lastReviewOrder = '/platform/workOrder/lastReviewOrder',
}
export function list(params?: PageQuery) {
@ -59,4 +62,12 @@ export function queryProcess(id: any) {
export function dealInfo(id: any) {
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>
<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">
@ -18,7 +18,11 @@
<a-row :gutter="[16, 16]">
<a-col :span="24">
<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-col>
</a-row>
@ -75,10 +79,10 @@
</a-row>
<a-row :gutter="[16, 16]">
<a-col :span="24">
<a-form-item label="是否结案" name="closeCase">
<a-radio-group v-model:value="form.closeCase">
<a-radio :value="1"></a-radio>
<a-radio :value="0"></a-radio>
<a-form-item label="是否结案" name="isCloseCase" v-if="form.handleResult == '通过'">
<a-radio-group v-model:value="form.isCloseCase" :disabled="status == 5">
<a-radio value="是"></a-radio>
<a-radio value="否"></a-radio>
</a-radio-group>
</a-form-item>
</a-col>
@ -90,10 +94,10 @@
<script>
import { reactive, ref } from 'vue';
import { message } from 'ant-design-vue';
import { getInfo } from './api';
import { getInfo, initReviewOrder,lastReviewOrder } from './api';
export default {
setup() {
const title = ref('派遣');
setup(props, { emit }) {
const title = ref('审核');
const visible = ref(false);
const form = reactive({
projectName: '',
@ -105,10 +109,11 @@
handleCost: null,
otherCost: '',
otherCostReason: '',
auditOpinion:'',
closeCase:null,
auditOpinion: '',
isCloseCase: null,
id: null,
});
const status = ref(null);
//
const handleResultOptions = [
{
@ -118,18 +123,43 @@
value: '退回',
},
];
const showModal = async (id) => {
const showModal = async (id, statusData) => {
visible.value = true;
const data = await getInfo(id);
for (let i in form) {
form[i] = data[i];
}
status.value = statusData;
if (status.value == 5) {
form.isCloseCase = '是';
}
};
const handleOk = () => {
formRef.value.validate().then((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: '请输入' }],
otherCostReason: [{ required: true, message: '请输入' }],
auditOpinion: [{ required: true, message: '请输入' }],
closeCase: [{ required: true, message: '请选择' }],
// isCloseCase: [{ required: true, message: '' }],
};
return {
visible,
@ -159,6 +189,7 @@
closeModal,
formRef,
rules,
status
};
},
};

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

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

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

@ -12,6 +12,8 @@ enum Api {
dealOrder = '/platform/workOrder/dealOrder',
dealInfo = '/platform/dealInfo/getInfoByOrderId',
takeOrder = '/platform/workOrder/takeOrder',
rollBackOrder = '/platform/workOrder/rollBackOrder',
delayOrder = '/platform/workOrder/delayOrder',
}
export function list(params?: any) {
@ -60,4 +62,10 @@ export function dealInfo(id: any) {
}
export function takeOrder(id: any) {
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>
import { reactive, ref } from 'vue';
import { message } from 'ant-design-vue';
import { getInfo } from './api';
import { getInfo,rollBackOrder } from './api';
import { getToken } from '@/utils/auth';
import { useGlobSetting } from '@/hooks/setting';
export default {
@ -69,7 +69,15 @@
const handleOk = () => {
formRef.value.validate().then((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>
import { reactive, ref } from 'vue';
import { message } from 'ant-design-vue';
import { getInfo,getSubcategoryType } from './api';
import { getInfo,getSubcategoryType,delayOrder} from './api';
import { getToken } from '@/utils/auth';
import { useGlobSetting } from '@/hooks/setting';
export default {
@ -132,7 +132,15 @@
const handleOk = () => {
formRef.value.validate().then((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');
closeModal()
})
}
});
};

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

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

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

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

Loading…
Cancel
Save