|
|
@ -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"> |
|
|
@ -17,52 +17,43 @@ |
|
|
|
</a-row> |
|
|
|
<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-form-item label="延期前时间" name="beforeDelayTime"> |
|
|
|
<a-date-picker |
|
|
|
:show-time="{ format: 'HH:mm:ss' }" |
|
|
|
valueFormat="YYYY-MM-DD HH:mm:ss" |
|
|
|
v-model:value="form.beforeDelayTime" |
|
|
|
placeholder="请选择" |
|
|
|
disabled |
|
|
|
/> |
|
|
|
</a-form-item> |
|
|
|
</a-col> |
|
|
|
</a-row> |
|
|
|
<a-row :gutter="[16, 16]"> |
|
|
|
<a-col :span="12"> |
|
|
|
<a-form-item label="接单超期" name="isOrderTakingOverTime"> |
|
|
|
<a-radio-group v-model:value="form.isOrderTakingOverTime"> |
|
|
|
<a-radio value="是">是</a-radio> |
|
|
|
<a-radio value="否">否</a-radio> |
|
|
|
</a-radio-group> |
|
|
|
</a-form-item> |
|
|
|
</a-col> |
|
|
|
<a-col :span="12"> |
|
|
|
<a-form-item label="接单超期扣款" name="orderTakingCost"> |
|
|
|
<a-input v-model:value="form.orderTakingCost" placeholder="接单超期扣款(元/小时)" /> |
|
|
|
</a-form-item> |
|
|
|
</a-col> |
|
|
|
</a-row> |
|
|
|
<a-row :gutter="[16, 16]"> |
|
|
|
<a-col :span="12"> |
|
|
|
<a-form-item label="处理超期" name="isHandleOverTime"> |
|
|
|
<a-radio-group v-model:value="form.isHandleOverTime"> |
|
|
|
<a-radio value="是">是</a-radio> |
|
|
|
<a-radio value="否">否</a-radio> |
|
|
|
</a-radio-group> |
|
|
|
</a-form-item> |
|
|
|
</a-col> |
|
|
|
<a-col :span="12"> |
|
|
|
<a-form-item label="处理超期扣款" name="handleCost"> |
|
|
|
<a-input v-model:value="form.handleCost" placeholder="处理超期扣款(元/小时)" /> |
|
|
|
<a-col :span="24"> |
|
|
|
<a-form-item label="延期后时间" name="afterDelayTime"> |
|
|
|
<a-date-picker |
|
|
|
:show-time="{ format: 'HH:mm:ss' }" |
|
|
|
valueFormat="YYYY-MM-DD HH:mm:ss" |
|
|
|
v-model:value="form.afterDelayTime" |
|
|
|
placeholder="请选择" |
|
|
|
disabled |
|
|
|
/> |
|
|
|
</a-form-item> |
|
|
|
</a-col> |
|
|
|
</a-row> |
|
|
|
<a-row :gutter="[16, 16]"> |
|
|
|
<a-col :span="24"> |
|
|
|
<a-form-item label="其他扣款费用" name="otherCost"> |
|
|
|
<a-input v-model:value="form.otherCost" placeholder="请输入" /> |
|
|
|
<a-form-item label="延期原因" name="delayReason"> |
|
|
|
<a-textarea v-model:value="form.delayReason" :rows="4" placeholder="请输入" disabled /> |
|
|
|
</a-form-item> |
|
|
|
</a-col> |
|
|
|
</a-row> |
|
|
|
<a-row :gutter="[16, 16]"> |
|
|
|
<a-col :span="24"> |
|
|
|
<a-form-item label="其他扣款原因" name="otherCostReason"> |
|
|
|
<a-input v-model:value="form.otherCostReason" placeholder="请输入" /> |
|
|
|
<a-form-item label="延期图片" name="attachments"> |
|
|
|
<div v-for="(item, index) in form.attachments" :key="index"> |
|
|
|
<img alt="" :src="item.url" /> |
|
|
|
</div> |
|
|
|
</a-form-item> |
|
|
|
</a-col> |
|
|
|
</a-row> |
|
|
@ -75,11 +66,12 @@ |
|
|
|
</a-row> |
|
|
|
<a-row :gutter="[16, 16]"> |
|
|
|
<a-col :span="24"> |
|
|
|
<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 label="处理结果" name="handleResult"> |
|
|
|
<a-select |
|
|
|
v-model:value="form.handleResult" |
|
|
|
:options="handleResultOptions" |
|
|
|
placeholder="请选择" |
|
|
|
/> |
|
|
|
</a-form-item> |
|
|
|
</a-col> |
|
|
|
</a-row> |
|
|
@ -90,7 +82,7 @@ |
|
|
|
<script> |
|
|
|
import { reactive, ref } from 'vue'; |
|
|
|
import { message } from 'ant-design-vue'; |
|
|
|
import { getInfo } from './api'; |
|
|
|
import { getInfo, delaySumbmit } from './api'; |
|
|
|
export default { |
|
|
|
setup() { |
|
|
|
const title = ref('审核'); |
|
|
@ -98,24 +90,21 @@ |
|
|
|
const form = reactive({ |
|
|
|
projectName: '', |
|
|
|
contractName: '', |
|
|
|
beforeDelayTime: '', |
|
|
|
afterDelayTime: '', |
|
|
|
attachments: null, |
|
|
|
delayReason: '', |
|
|
|
auditOpinion: '', |
|
|
|
handleResult: null, |
|
|
|
isOrderTakingOverTime: null, |
|
|
|
orderTakingCost: '', |
|
|
|
isHandleOverTime: '', |
|
|
|
handleCost: null, |
|
|
|
otherCost: '', |
|
|
|
otherCostReason: '', |
|
|
|
auditOpinion:'', |
|
|
|
isCloseCase:null, |
|
|
|
id: null, |
|
|
|
}); |
|
|
|
//下拉框 |
|
|
|
const handleResultOptions = [ |
|
|
|
{ |
|
|
|
value: '通过', |
|
|
|
value: '审核通过', |
|
|
|
}, |
|
|
|
{ |
|
|
|
value: '退回', |
|
|
|
value: '审核拒绝', |
|
|
|
}, |
|
|
|
]; |
|
|
|
const showModal = async (id) => { |
|
|
@ -124,12 +113,21 @@ |
|
|
|
for (let i in form) { |
|
|
|
form[i] = data[i]; |
|
|
|
} |
|
|
|
form.handleResult = null |
|
|
|
}; |
|
|
|
|
|
|
|
const handleOk = () => { |
|
|
|
formRef.value.validate().then((valid) => { |
|
|
|
if (valid) { |
|
|
|
console.log(form) |
|
|
|
const params = {}; |
|
|
|
for (let i in form) { |
|
|
|
params[i] = form[i]; |
|
|
|
} |
|
|
|
delaySumbmit(params).then((_) => { |
|
|
|
message.success('操作成功'); |
|
|
|
emit('success'); |
|
|
|
closeModal(); |
|
|
|
}); |
|
|
|
} |
|
|
|
}); |
|
|
|
}; |
|
|
@ -140,14 +138,7 @@ |
|
|
|
const formRef = ref(); |
|
|
|
const rules = { |
|
|
|
handleResult: [{ required: true, message: '请选择' }], |
|
|
|
isOrderTakingOverTime: [{ required: true, message: '请选择' }], |
|
|
|
orderTakingCost: [{ required: true, message: '请输入' }], |
|
|
|
isHandleOverTime: [{ required: true, message: '请选择' }], |
|
|
|
handleCost: [{ required: true, message: '请输入' }], |
|
|
|
otherCost: [{ required: true, message: '请输入' }], |
|
|
|
otherCostReason: [{ required: true, message: '请输入' }], |
|
|
|
auditOpinion: [{ required: true, message: '请输入' }], |
|
|
|
isCloseCase: [{ required: true, message: '请选择' }], |
|
|
|
}; |
|
|
|
return { |
|
|
|
visible, |
|
|
|