箱管 下线审批调整

zth
张同海 2 weeks ago
parent 01bfc403ff
commit b1d3717428

@ -24,10 +24,21 @@
<div> <div>
<BasicTable class="ds-table" @register="registerTableBotton"> </BasicTable> <BasicTable class="ds-table" @register="registerTableBotton"> </BasicTable>
</div> </div>
<a-modal
v-model:visible="visible"
title="驳回"
width="40%"
@cancel="handleCancel"
@ok="handleOk"
>
<BasicForm @register="modalRegisterForml" />
</a-modal>
</div> </div>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { ref } from 'vue'
import { BasicTable, useTable } from '/@/components/Table' import { BasicTable, useTable } from '/@/components/Table'
import { BasicForm, useForm } from '/@/components/Form/index'
import { ApiList, ApiDetailList, ApiConfirm, ApiCancel } from './api' import { ApiList, ApiDetailList, ApiConfirm, ApiCancel } from './api'
import { columns, searchFormSchema, detailColumns } from './columns' import { columns, searchFormSchema, detailColumns } from './columns'
import { useMessage } from '/@/hooks/web/useMessage' import { useMessage } from '/@/hooks/web/useMessage'
@ -109,40 +120,93 @@
resizeHeightOffset: 35, resizeHeightOffset: 35,
immediate: false, immediate: false,
}) })
const Ctype = ref(true)
async function FnAudit(type, state) { const CApiData = ref('')
function FnAudit(type, state) {
let ApiData: any = { let ApiData: any = {
id: '', id: '',
ids: [], ids: [],
businessType: '',
} }
if (type) { try {
if (getSelectRows()[0].id) { if (type) {
ApiData.id = getSelectRows()[0].id if (getSelectRows()[0]?.id) {
ApiData.id = getSelectRows()[0].id
} else {
notification.warning({ message: '请选择一条数据', duration: 3 })
throw new Error('请选择一条数据')
}
} else { } else {
notification.warning({ message: '请选择一条数据', duration: 3 }) if (getSelectRowsBotton().length) {
getSelectRowsBotton().forEach((item) => {
ApiData.ids.push(item.id)
})
ApiData.id = getSelectRows()[0].id
} else {
notification.warning({ message: '请至少选择一条数据', duration: 3 })
throw new Error('请至少选择一条数据')
}
} }
} else { ApiData.businessType = getSelectRows()[0]?.ctnBizStateId
if (getSelectRowsBotton().length) { if (state == 'cancel') {
getSelectRowsBotton().forEach((item) => { Ctype.value = type
ApiData.ids.push(item.id) CApiData.value = JSON.stringify(ApiData)
}) visible.value = true
ApiData.id = getSelectRows()[0].id
} else { } else {
notification.warning({ message: '请至少选择一条数据', duration: 3 }) FnExamine(type, state, ApiData)
} }
} catch (error) {
// console.log(error)
} }
}
async function FnExamine(type, state, ApiData) {
let res: any = state == 'confirm' ? await ApiConfirm(ApiData) : await ApiCancel(ApiData) let res: any = state == 'confirm' ? await ApiConfirm(ApiData) : await ApiCancel(ApiData)
if (res.succeeded) { if (res.succeeded) {
notification.success({ message: res.message, duration: 3 }) notification.success({ message: res.message, duration: 3 })
console.log(type)
if (type) { if (type) {
reload() reload()
} else { } else {
Ctype.value = true
CApiData.value = ''
modalResetFields()
visible.value = false
reloadBotton() reloadBotton()
} }
} }
} }
const visible = ref(false)
const modalFormSchema = [
{
field: 'remark',
label: '驳回原因',
defaultValue: '',
component: 'InputTextArea',
required: true,
colProps: { span: 24 },
componentProps: {
autoSize: {
minRows: 4,
maxRows: 4,
},
disTrans: true,
},
},
]
const [modalRegisterForml, { resetFields: modalResetFields, validate: modalValidate }] = useForm({
labelWidth: 150,
schemas: modalFormSchema,
showActionButtonGroup: false,
})
const handleOk = async () => {
const res = await modalValidate()
FnExamine(Ctype.value, 'cancel', { ...JSON.parse(CApiData.value), remark: res.remark })
}
const handleCancel = () => {
Ctype.value = true
CApiData.value = ''
modalResetFields()
visible.value = false
}
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.OfflineAudit { .OfflineAudit {

@ -22,16 +22,17 @@ export const TFData = [
{ value: false, label: '否' }, { value: false, label: '否' },
] ]
export const RQueryArr = [ export const RQueryArr = [
'customerId', // 'customerId',
'createTime',
'billType',
'isDebit', 'isDebit',
'stlName',
'currency',
'feeName', 'feeName',
'forwarderId', 'currency',
'dischargePortId', // 'createTime',
'loadPortId', // // 'billType',
// 'isDebit',
// 'stlName',
// 'forwarderId',
// // 'dischargePortId',
// // 'loadPortId',
] ]
// 表单 // 表单
export const schemas: FormSchema[] = [ export const schemas: FormSchema[] = [
@ -90,13 +91,13 @@ export const schemas: FormSchema[] = [
colProps: { span: 4 }, colProps: { span: 4 },
show: false, show: false,
}, },
{ // {
field: 'customNo', // field: 'customNo',
component: 'Input', // component: 'Input',
label: '编号检索', // label: '编号检索',
dynamicDisabled: false, // dynamicDisabled: false,
colProps: { span: 4 }, // colProps: { span: 4 },
}, // },
{ {
field: 'etd', field: 'etd',
label: '业务日期', label: '业务日期',
@ -199,7 +200,7 @@ export const schemas: FormSchema[] = [
}) })
}, },
immediate: true, immediate: true,
valueField: 'id', valueField: 'name',
resultField: 'data', resultField: 'data',
// mode: 'multiple', // mode: 'multiple',
filterOption: (input: string, option: any) => { filterOption: (input: string, option: any) => {
@ -208,26 +209,26 @@ export const schemas: FormSchema[] = [
} }
}, },
}, },
{ // {
field: 'isSeaFreight', // field: 'isSeaFreight',
component: 'Select', // component: 'Select',
label: '是否海运费', // label: '是否海运费',
dynamicDisabled: false, // dynamicDisabled: false,
colProps: { span: 4 }, // colProps: { span: 4 },
componentProps: ({ formModel }) => { // componentProps: ({ formModel }) => {
return { // return {
options: TFData, // options: TFData,
onchange: (e) => { // onchange: (e) => {
if (e) { // if (e) {
formModel.feeName = '海运费' // formModel.feeName = '海运费'
} // }
}, // },
} // }
}, // },
}, // },
{ {
label: '船名', label: '船名',
field: 'vessel', field: 'vesselId',
component: 'ApiSelect', component: 'ApiSelect',
required: false, required: false,
dynamicDisabled: false, dynamicDisabled: false,
@ -256,7 +257,7 @@ export const schemas: FormSchema[] = [
api: GetVoynoSelectList, api: GetVoynoSelectList,
immediate: true, immediate: true,
labelField: 'voyNo', labelField: 'voyNo',
valueField: 'id', valueField: 'voyNo',
resultField: 'data', resultField: 'data',
filterOption: (input: string, option: any) => { filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0 return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
@ -304,7 +305,8 @@ export const schemas: FormSchema[] = [
return new Promise((resolve) => { return new Promise((resolve) => {
GetClientPortSelectList().then((res) => { GetClientPortSelectList().then((res) => {
res.data.forEach((item) => { res.data.forEach((item) => {
if (item.ediCode) item.cnName = item.ediCode + '/' + item.cnName if (item.ediCode)
item.cnName = item.ediCode + '/' + item.cnName + '/' + item.portName
}) })
resolve(res) resolve(res)
}) })
@ -333,7 +335,8 @@ export const schemas: FormSchema[] = [
return new Promise((resolve) => { return new Promise((resolve) => {
GetClientPortSelectList().then((res) => { GetClientPortSelectList().then((res) => {
res.data.forEach((item) => { res.data.forEach((item) => {
if (item.ediCode) item.cnName = item.ediCode + '/' + item.cnName if (item.ediCode)
item.cnName = item.ediCode + '/' + item.cnName + '/' + item.portName
}) })
resolve(res) resolve(res)
}) })

Loading…
Cancel
Save