箱管 批量变动导入、批量变动导入_模板管理 单程租入 单程租出
parent
980d6f7011
commit
1ecf5534e4
@ -0,0 +1,110 @@
|
|||||||
|
// @ts-ignore
|
||||||
|
import { request } from '/@/utils/request'
|
||||||
|
import { DataResult, PageRequest } from '/@/api/model/baseModel'
|
||||||
|
enum Api {
|
||||||
|
list = '/containerManagementApi/CM_RentOneWay_In/GetCM_RentOneWay_InList',
|
||||||
|
edit = '/containerManagementApi/CM_RentOneWay_In/EditCM_RentOneWay_In',
|
||||||
|
info = '/containerManagementApi/CM_RentOneWay_In/GetCM_RentOneWay_In',
|
||||||
|
del = '/containerManagementApi/CM_RentOneWay_In/DeleteCM_RentOneWay_In',
|
||||||
|
|
||||||
|
// listDetail = '/containerManagementApi/CM_RentOneWay_Detail/GetCM_RentOneWay_DetailList',
|
||||||
|
// editDetail = '/containerManagementApi/CM_RentOneWay_Detail/EditCM_RentOneWay_Detail',
|
||||||
|
delDetail = '/containerManagementApi/CM_RentOneWay_Detail/DeleteCM_RentOneWay_Detail',
|
||||||
|
|
||||||
|
Confirm = '/containerManagementApi/CM_RentOneWay_In/CM_RentOneWay_In_Confirm',
|
||||||
|
Cancel = '/containerManagementApi/CM_RentOneWay_In/CM_RentOneWay_In_Cancel',
|
||||||
|
|
||||||
|
// DetailView = '/containerManagementApi/CM_RentOut/CM_RentOut_NeedRent_View',
|
||||||
|
// AddCtn = '/containerManagementApi/CM_RentOneWay/CM_RentOneWay_AddCtn',
|
||||||
|
}
|
||||||
|
// 列表 (Auth)
|
||||||
|
export function ApiList(data: PageRequest) {
|
||||||
|
return request<DataResult>({
|
||||||
|
url: Api.list,
|
||||||
|
method: 'post',
|
||||||
|
data,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 编辑 (Auth)
|
||||||
|
export function ApiEdit(data: PageRequest) {
|
||||||
|
return request<DataResult>({
|
||||||
|
url: Api.edit,
|
||||||
|
method: 'post',
|
||||||
|
data,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 详情 (Auth)
|
||||||
|
export function ApiInfo(query) {
|
||||||
|
return request<DataResult>({
|
||||||
|
url: Api.info,
|
||||||
|
method: 'get',
|
||||||
|
params: query,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 删除 (Auth)
|
||||||
|
export function ApiDel(data: PageRequest) {
|
||||||
|
return request<DataResult>({
|
||||||
|
url: Api.del,
|
||||||
|
method: 'post',
|
||||||
|
data,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// // 列表详情 (Auth)
|
||||||
|
// export function ApiListDetail(data: PageRequest) {
|
||||||
|
// return request<DataResult>({
|
||||||
|
// url: Api.listDetail,
|
||||||
|
// method: 'post',
|
||||||
|
// data,
|
||||||
|
// })
|
||||||
|
// }
|
||||||
|
// // 编辑详情 (Auth)
|
||||||
|
// export function ApiEditDetail(data: PageRequest) {
|
||||||
|
// return request<DataResult>({
|
||||||
|
// url: Api.editDetail,
|
||||||
|
// method: 'post',
|
||||||
|
// data,
|
||||||
|
// })
|
||||||
|
// }
|
||||||
|
// 删除详情 (Auth)
|
||||||
|
export function ApiDelDetail(data: PageRequest) {
|
||||||
|
return request<DataResult>({
|
||||||
|
url: Api.delDetail,
|
||||||
|
method: 'post',
|
||||||
|
data,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// _确认 (Auth)
|
||||||
|
export function ApiConfirm(data: PageRequest) {
|
||||||
|
return request<DataResult>({
|
||||||
|
url: Api.Confirm,
|
||||||
|
method: 'post',
|
||||||
|
data,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// _取消 (Auth)
|
||||||
|
export function ApiCancel(data: PageRequest) {
|
||||||
|
return request<DataResult>({
|
||||||
|
url: Api.Cancel,
|
||||||
|
method: 'post',
|
||||||
|
data,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// // 租箱租入明细视图 (Auth)
|
||||||
|
// export function ApiDetailView(data: PageRequest) {
|
||||||
|
// return request<DataResult>({
|
||||||
|
// url: Api.DetailView,
|
||||||
|
// method: 'post',
|
||||||
|
// data,
|
||||||
|
// })
|
||||||
|
// }
|
||||||
|
// // 租箱租入退租_添加 (Auth)
|
||||||
|
// export function ApiAddCtn(data: PageRequest) {
|
||||||
|
// return request<DataResult>({
|
||||||
|
// url: Api.AddCtn,
|
||||||
|
// method: 'post',
|
||||||
|
// data,
|
||||||
|
// })
|
||||||
|
// }
|
@ -0,0 +1,517 @@
|
|||||||
|
import { ref } from 'vue'
|
||||||
|
import moment from 'moment'
|
||||||
|
import { BasicColumn, FormSchema } from '/@/components/Table'
|
||||||
|
import { Tag } from 'ant-design-vue'
|
||||||
|
import { GetCtnSelectList, GetClientListByCode } from '/@/api/common'
|
||||||
|
import { GetDeptList } from '/@/views/operation/seaexport/api/BookingLedger'
|
||||||
|
import { useOptionsStore } from '/@/store/modules/options'
|
||||||
|
const optionsStore = useOptionsStore()
|
||||||
|
// 字典
|
||||||
|
import { getDictOption } from '/@/utils/dictUtil'
|
||||||
|
|
||||||
|
// 业务类型字典
|
||||||
|
const businessTypeDict = ref([])
|
||||||
|
getDictOption('CM_BusinessType').then((res) => {
|
||||||
|
businessTypeDict.value = res
|
||||||
|
})
|
||||||
|
// 租箱类型字典
|
||||||
|
const rentTypeIdDict = ref([])
|
||||||
|
getDictOption('CM_RentType').then((res) => {
|
||||||
|
rentTypeIdDict.value = res
|
||||||
|
})
|
||||||
|
|
||||||
|
export const columns: BasicColumn[] = [
|
||||||
|
{
|
||||||
|
title: '单程业务号',
|
||||||
|
dataIndex: 'billno',
|
||||||
|
sorter: true,
|
||||||
|
width: 150,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '业务类型',
|
||||||
|
dataIndex: 'businessType',
|
||||||
|
sorter: true,
|
||||||
|
width: 150,
|
||||||
|
customRender: ({ text }) => {
|
||||||
|
let RData = '-'
|
||||||
|
businessTypeDict.value.forEach((item: any) => {
|
||||||
|
if (text == item.value) {
|
||||||
|
RData = item.label
|
||||||
|
}
|
||||||
|
})
|
||||||
|
return RData
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '租箱业务',
|
||||||
|
dataIndex: 'rentDirect',
|
||||||
|
sorter: true,
|
||||||
|
width: 150,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '租箱类型',
|
||||||
|
dataIndex: 'rentTypeId',
|
||||||
|
sorter: true,
|
||||||
|
width: 150,
|
||||||
|
customRender: ({ text }) => {
|
||||||
|
let RData = '-'
|
||||||
|
rentTypeIdDict.value.forEach((item: any) => {
|
||||||
|
if (text == item.value) {
|
||||||
|
RData = item.label
|
||||||
|
}
|
||||||
|
})
|
||||||
|
return RData
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '业务状态',
|
||||||
|
dataIndex: 'billState',
|
||||||
|
sorter: true,
|
||||||
|
width: 200,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '租箱客户',
|
||||||
|
dataIndex: 'rentCustomerName',
|
||||||
|
sorter: true,
|
||||||
|
width: 200,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '业务日期',
|
||||||
|
dataIndex: 'bsdate',
|
||||||
|
sorter: true,
|
||||||
|
width: 200,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '会计期间',
|
||||||
|
dataIndex: 'accdate',
|
||||||
|
sorter: true,
|
||||||
|
width: 200,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '业务锁定',
|
||||||
|
dataIndex: 'isBusinessLocking',
|
||||||
|
sorter: true,
|
||||||
|
width: 200,
|
||||||
|
customRender: ({ text }) => {
|
||||||
|
if (text) {
|
||||||
|
return <Tag color="success">是</Tag>
|
||||||
|
} else {
|
||||||
|
return <Tag color="error">否</Tag>
|
||||||
|
}
|
||||||
|
return text
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '费用锁定',
|
||||||
|
dataIndex: 'isFeeLocking',
|
||||||
|
sorter: true,
|
||||||
|
width: 200,
|
||||||
|
customRender: ({ text }) => {
|
||||||
|
if (text) {
|
||||||
|
return <Tag color="success">是</Tag>
|
||||||
|
} else {
|
||||||
|
return <Tag color="error">否</Tag>
|
||||||
|
}
|
||||||
|
return text
|
||||||
|
},
|
||||||
|
},
|
||||||
|
// {
|
||||||
|
// title: '费用状态??',
|
||||||
|
// dataIndex: 'accdate',
|
||||||
|
// sorter: true,
|
||||||
|
// width: 200,
|
||||||
|
// },
|
||||||
|
{
|
||||||
|
title: '备注',
|
||||||
|
dataIndex: 'remark',
|
||||||
|
sorter: true,
|
||||||
|
width: 200,
|
||||||
|
},
|
||||||
|
]
|
||||||
|
|
||||||
|
export const searchFormSchema: FormSchema[] = [
|
||||||
|
{
|
||||||
|
field: 'billno',
|
||||||
|
label: '租箱业务号',
|
||||||
|
component: 'Input',
|
||||||
|
colProps: { span: 4 },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'rentCustomerName',
|
||||||
|
label: '租箱客户',
|
||||||
|
component: 'ApiSelect',
|
||||||
|
required: false,
|
||||||
|
dynamicDisabled: false,
|
||||||
|
colProps: { span: 4 },
|
||||||
|
componentProps: ({ formModel }) => {
|
||||||
|
return {
|
||||||
|
allowClear: true,
|
||||||
|
showSearch: true,
|
||||||
|
api: GetClientListByCode,
|
||||||
|
params: { code: 'leasing' },
|
||||||
|
labelField: 'pinYinCode',
|
||||||
|
showName: 'shortName',
|
||||||
|
valueField: 'shortName',
|
||||||
|
resultField: 'data',
|
||||||
|
immediate: false,
|
||||||
|
filterOption: (input: string, option: any) => {
|
||||||
|
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
// {
|
||||||
|
// field: 'rentDirectId',
|
||||||
|
// label: '租箱业务',
|
||||||
|
// component: 'ApiSelect',
|
||||||
|
// colProps: { span: 4 },
|
||||||
|
// componentProps: ({}) => {
|
||||||
|
// return {
|
||||||
|
// api: () => {
|
||||||
|
// return new Promise((resolve) => {
|
||||||
|
// getDictOption('CM_RentDirect').then((res) => {
|
||||||
|
// let data: any = []
|
||||||
|
// res.forEach((item) => {
|
||||||
|
// item.value = parseInt(item.value)
|
||||||
|
// if (!item.label.indexOf('租入')) {
|
||||||
|
// data.push(item)
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
// resolve(data)
|
||||||
|
// })
|
||||||
|
// })
|
||||||
|
// },
|
||||||
|
// labelField: 'label',
|
||||||
|
// valueField: 'value',
|
||||||
|
// resultField: 'data',
|
||||||
|
// filterOption: (input: string, option: any) => {
|
||||||
|
// return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
||||||
|
// },
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
{
|
||||||
|
field: 'bsdate',
|
||||||
|
label: '业务日期',
|
||||||
|
component: 'DatePicker',
|
||||||
|
colProps: { span: 4 },
|
||||||
|
defaultValue: '',
|
||||||
|
componentProps: {
|
||||||
|
allowClear: true,
|
||||||
|
valueFormat: 'YYYY-MM-DD 00:00:00',
|
||||||
|
style: 'width:100%',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'accdate',
|
||||||
|
label: '会计期间',
|
||||||
|
component: 'MonthPicker',
|
||||||
|
colProps: { span: 4 },
|
||||||
|
defaultValue: '',
|
||||||
|
componentProps: {
|
||||||
|
showTime: true,
|
||||||
|
allowClear: true,
|
||||||
|
valueFormat: 'YYYY-MM',
|
||||||
|
format: 'YYYY-MM',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
// {
|
||||||
|
// field: 'etd',
|
||||||
|
// label: 'ETD',
|
||||||
|
// component: 'DatePicker',
|
||||||
|
// colProps: { span: 4 },
|
||||||
|
// defaultValue: '',
|
||||||
|
// componentProps: {
|
||||||
|
// showTime: true,
|
||||||
|
// style: 'width:100%',
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// field: 'eta',
|
||||||
|
// label: 'ETA',
|
||||||
|
// component: 'DatePicker',
|
||||||
|
// colProps: { span: 4 },
|
||||||
|
// defaultValue: '',
|
||||||
|
// componentProps: {
|
||||||
|
// showTime: true,
|
||||||
|
// style: 'width:100%',
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
]
|
||||||
|
export const formSchema: FormSchema[] = [
|
||||||
|
{
|
||||||
|
label: '',
|
||||||
|
field: 'id',
|
||||||
|
component: 'Input',
|
||||||
|
defaultValue: '',
|
||||||
|
show: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'businessType',
|
||||||
|
label: '业务类型',
|
||||||
|
component: 'ApiSelect',
|
||||||
|
colProps: { span: 6 },
|
||||||
|
defaultValue: 103,
|
||||||
|
dynamicDisabled: ({}) => {
|
||||||
|
return true
|
||||||
|
},
|
||||||
|
componentProps: ({}) => {
|
||||||
|
return {
|
||||||
|
api: () => {
|
||||||
|
return new Promise((resolve) => {
|
||||||
|
getDictOption('CM_BusinessType').then((res) => {
|
||||||
|
res.forEach((item) => {
|
||||||
|
item.value = parseInt(item.value)
|
||||||
|
})
|
||||||
|
resolve(res)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
labelField: 'label',
|
||||||
|
valueField: 'value',
|
||||||
|
resultField: 'data',
|
||||||
|
filterOption: (input: string, option: any) => {
|
||||||
|
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
// {
|
||||||
|
// field: 'rentDirectId',
|
||||||
|
// label: '租箱业务',
|
||||||
|
// component: 'ApiSelect',
|
||||||
|
// colProps: { span: 6 },
|
||||||
|
// defaultValue: 2,
|
||||||
|
// dynamicDisabled: ({ values }) => {
|
||||||
|
// return !!values.id
|
||||||
|
// },
|
||||||
|
// componentProps: ({ formModel, formActionType }) => {
|
||||||
|
// return {
|
||||||
|
// api: () => {
|
||||||
|
// return new Promise((resolve) => {
|
||||||
|
// getDictOption('CM_RentDirect').then((res) => {
|
||||||
|
// let data: any = []
|
||||||
|
// res.forEach((item) => {
|
||||||
|
// item.value = parseInt(item.value)
|
||||||
|
// if (!item.label.indexOf('租出')) {
|
||||||
|
// data.push(item)
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
// resolve(data)
|
||||||
|
// })
|
||||||
|
// })
|
||||||
|
// },
|
||||||
|
// labelField: 'label',
|
||||||
|
// valueField: 'value',
|
||||||
|
// resultField: 'data',
|
||||||
|
// filterOption: (input: string, option: any) => {
|
||||||
|
// return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
||||||
|
// },
|
||||||
|
// onChange: (e, obj) => {
|
||||||
|
// formActionType ? formActionType.submit() : null
|
||||||
|
// if (e && obj) {
|
||||||
|
// formModel.rentDirect = obj.label
|
||||||
|
// } else {
|
||||||
|
// formModel.rentDirect = ''
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// field: 'rentTypeId',
|
||||||
|
// label: '租箱类型',
|
||||||
|
// component: 'ApiSelect',
|
||||||
|
// colProps: { span: 6 },
|
||||||
|
// defaultValue: 1,
|
||||||
|
// dynamicDisabled: ({ values }) => {
|
||||||
|
// return !!values.id
|
||||||
|
// },
|
||||||
|
// componentProps: ({}) => {
|
||||||
|
// return {
|
||||||
|
// api: () => {
|
||||||
|
// return new Promise((resolve) => {
|
||||||
|
// getDictOption('CM_RentType').then((res) => {
|
||||||
|
// res.forEach((item) => {
|
||||||
|
// item.value = parseInt(item.value)
|
||||||
|
// })
|
||||||
|
// resolve(res)
|
||||||
|
// })
|
||||||
|
// })
|
||||||
|
// },
|
||||||
|
// labelField: 'label',
|
||||||
|
// valueField: 'value',
|
||||||
|
// resultField: 'data',
|
||||||
|
// filterOption: (input: string, option: any) => {
|
||||||
|
// return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
||||||
|
// },
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// field: 'billState',
|
||||||
|
// label: '业务状态',
|
||||||
|
// component: 'Input',
|
||||||
|
// colProps: { span: 6 },
|
||||||
|
// dynamicDisabled: ({}) => {
|
||||||
|
// return true
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
{
|
||||||
|
field: 'rentCustomerId',
|
||||||
|
label: '租箱客户',
|
||||||
|
component: 'Input',
|
||||||
|
colProps: { span: 6 },
|
||||||
|
show: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'rentCustomerName',
|
||||||
|
label: '租箱客户',
|
||||||
|
component: 'ApiSelect',
|
||||||
|
required: false,
|
||||||
|
dynamicDisabled: false,
|
||||||
|
colProps: { span: 6 },
|
||||||
|
componentProps: ({ formModel }) => {
|
||||||
|
return {
|
||||||
|
allowClear: true,
|
||||||
|
showSearch: true,
|
||||||
|
api: GetClientListByCode,
|
||||||
|
params: { code: 'leasing' },
|
||||||
|
labelField: 'pinYinCode',
|
||||||
|
showName: 'shortName',
|
||||||
|
valueField: 'shortName',
|
||||||
|
resultField: 'data',
|
||||||
|
immediate: false,
|
||||||
|
filterOption: (input: string, option: any) => {
|
||||||
|
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
||||||
|
},
|
||||||
|
onChange: (e, obj) => {
|
||||||
|
if (e && obj) {
|
||||||
|
formModel.rentCustomerId = obj.id
|
||||||
|
}
|
||||||
|
if (!e && !obj) {
|
||||||
|
formModel.rentCustomerId = ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'bsdate',
|
||||||
|
label: '业务日期',
|
||||||
|
component: 'DatePicker',
|
||||||
|
colProps: { span: 6 },
|
||||||
|
defaultValue: moment(),
|
||||||
|
componentProps: {
|
||||||
|
allowClear: true,
|
||||||
|
valueFormat: 'YYYY-MM-DD 00:00:00',
|
||||||
|
style: 'width:100%',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'accdate',
|
||||||
|
label: '会计期间',
|
||||||
|
component: 'MonthPicker',
|
||||||
|
colProps: { span: 6 },
|
||||||
|
defaultValue: moment(),
|
||||||
|
componentProps: {
|
||||||
|
showTime: true,
|
||||||
|
allowClear: true,
|
||||||
|
valueFormat: 'YYYY-MM',
|
||||||
|
format: 'YYYY-MM',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'isBusinessLocking',
|
||||||
|
label: '业务锁定',
|
||||||
|
component: 'Switch',
|
||||||
|
defaultValue: false,
|
||||||
|
colProps: { span: 6 },
|
||||||
|
componentProps: {
|
||||||
|
checkedChildren: '是',
|
||||||
|
unCheckedChildren: '否',
|
||||||
|
},
|
||||||
|
dynamicDisabled: ({}) => {
|
||||||
|
return true
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'isFeeLocking',
|
||||||
|
label: '费用锁定',
|
||||||
|
component: 'Switch',
|
||||||
|
defaultValue: false,
|
||||||
|
colProps: { span: 6 },
|
||||||
|
componentProps: {
|
||||||
|
checkedChildren: '是',
|
||||||
|
unCheckedChildren: '否',
|
||||||
|
},
|
||||||
|
dynamicDisabled: ({}) => {
|
||||||
|
return true
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'remark',
|
||||||
|
label: '备注',
|
||||||
|
component: 'Input',
|
||||||
|
colProps: { span: 24 },
|
||||||
|
},
|
||||||
|
]
|
||||||
|
|
||||||
|
export const formSearchBoxSchema: FormSchema[] = [
|
||||||
|
{
|
||||||
|
field: 'rentCustomerName',
|
||||||
|
label: '租箱客户',
|
||||||
|
component: 'ApiSelect',
|
||||||
|
required: false,
|
||||||
|
dynamicDisabled: false,
|
||||||
|
colProps: { span: 6 },
|
||||||
|
componentProps: ({ formModel }) => {
|
||||||
|
return {
|
||||||
|
allowClear: true,
|
||||||
|
showSearch: true,
|
||||||
|
api: GetClientListByCode,
|
||||||
|
params: { code: 'leasing' },
|
||||||
|
labelField: 'pinYinCode',
|
||||||
|
showName: 'shortName',
|
||||||
|
valueField: 'shortName',
|
||||||
|
resultField: 'data',
|
||||||
|
immediate: false,
|
||||||
|
filterOption: (input: string, option: any) => {
|
||||||
|
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'ctnall',
|
||||||
|
label: '箱型',
|
||||||
|
component: 'ApiSelect',
|
||||||
|
required: false,
|
||||||
|
dynamicDisabled: false,
|
||||||
|
colProps: { span: 6 },
|
||||||
|
componentProps: () => {
|
||||||
|
return {
|
||||||
|
allowClear: true,
|
||||||
|
showSearch: true,
|
||||||
|
api: GetCtnSelectList,
|
||||||
|
params: { code: 'leasing' },
|
||||||
|
labelField: 'ctnName',
|
||||||
|
showName: 'ctnName',
|
||||||
|
valueField: 'ctnName',
|
||||||
|
resultField: 'data',
|
||||||
|
immediate: false,
|
||||||
|
filterOption: (input: string, option: any) => {
|
||||||
|
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'cntrno',
|
||||||
|
label: '箱号',
|
||||||
|
component: 'Input',
|
||||||
|
colProps: { span: 10 },
|
||||||
|
},
|
||||||
|
]
|
@ -0,0 +1,169 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<BasicTable class="ds-table" @register="registerTable" @row-dbClick="handleAudit">
|
||||||
|
<template #tableTitle>
|
||||||
|
<a-button type="link" @click="handleCreate">
|
||||||
|
<span class="iconfont icon-tianjia"></span>
|
||||||
|
新建
|
||||||
|
</a-button>
|
||||||
|
<a-popconfirm
|
||||||
|
title="确定删除当前选中数据?"
|
||||||
|
ok-text="是"
|
||||||
|
cancel-text="否"
|
||||||
|
@confirm="handleDel"
|
||||||
|
>
|
||||||
|
<a-button type="link">
|
||||||
|
<span class="iconfont icon-shanchu21"></span>
|
||||||
|
删除
|
||||||
|
</a-button>
|
||||||
|
</a-popconfirm>
|
||||||
|
<a-button type="link" @click="Confirm">
|
||||||
|
<span class="iconfont icon-yiwancheng2"></span>
|
||||||
|
确认执行
|
||||||
|
</a-button>
|
||||||
|
<a-button type="link" @click="Cancel">
|
||||||
|
<span class="iconfont icon-weiwancheng"></span>
|
||||||
|
取消确认
|
||||||
|
</a-button>
|
||||||
|
</template>
|
||||||
|
<template #bodyCell="{ column, record }">
|
||||||
|
<template v-if="column.key === 'action'">
|
||||||
|
<TableAction
|
||||||
|
:actions="[
|
||||||
|
{
|
||||||
|
icon: 'clarity:note-edit-line',
|
||||||
|
tooltip: '编辑',
|
||||||
|
onClick: handleAudit.bind(null, record),
|
||||||
|
},
|
||||||
|
]"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
</template>
|
||||||
|
</BasicTable>
|
||||||
|
|
||||||
|
<TenantAuditStepModal @register="registerModal" @success="handleSuccess" />
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script lang="ts" setup>
|
||||||
|
import { ref } from 'vue'
|
||||||
|
import { BasicTable, useTable, TableAction } from '/@/components/Table'
|
||||||
|
import { ApiList, ApiDel, ApiConfirm, ApiCancel } from './api'
|
||||||
|
import { useModal } from '/@/components/Modal'
|
||||||
|
import TenantAuditStepModal from './TenantAuditStepModal.vue'
|
||||||
|
import { columns, searchFormSchema } from './columns'
|
||||||
|
import { useMessage } from '/@/hooks/web/useMessage'
|
||||||
|
const { notification } = useMessage()
|
||||||
|
// 引入处理入参方法
|
||||||
|
import { formatParams } from '/@/hooks/web/common'
|
||||||
|
const [registerModal, { openModal }] = useModal()
|
||||||
|
const [registerTable, { reload, getSelectRows }] = useTable({
|
||||||
|
title: '',
|
||||||
|
api: async (p) => {
|
||||||
|
const res: API.DataResult = await ApiList(p)
|
||||||
|
return new Promise((resolve) => {
|
||||||
|
resolve({ data: [...res.data], total: res.count })
|
||||||
|
})
|
||||||
|
},
|
||||||
|
beforeFetch: (p) => {
|
||||||
|
return formatParams(p, ['rentCustomerName', 'bsdate', 'accdate'])
|
||||||
|
},
|
||||||
|
columns,
|
||||||
|
formConfig: {
|
||||||
|
labelWidth: 120,
|
||||||
|
schemas: searchFormSchema,
|
||||||
|
},
|
||||||
|
isTreeTable: false,
|
||||||
|
pagination: true,
|
||||||
|
striped: true,
|
||||||
|
useSearchForm: true,
|
||||||
|
showTableSetting: true,
|
||||||
|
bordered: true,
|
||||||
|
showIndexColumn: true,
|
||||||
|
indexColumnProps: {
|
||||||
|
width: 60,
|
||||||
|
},
|
||||||
|
canResize: true,
|
||||||
|
resizeHeightOffset: 35,
|
||||||
|
immediate: true,
|
||||||
|
actionColumn: {
|
||||||
|
width: 80,
|
||||||
|
title: '操作',
|
||||||
|
dataIndex: 'action',
|
||||||
|
fixed: 'right',
|
||||||
|
},
|
||||||
|
})
|
||||||
|
function handleCreate() {
|
||||||
|
openModal(true, {
|
||||||
|
isParent: false,
|
||||||
|
isUpdate: false,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
function Confirm() {
|
||||||
|
const select = getSelectRows()
|
||||||
|
let ApiData: any = {
|
||||||
|
id: '',
|
||||||
|
ids: [],
|
||||||
|
}
|
||||||
|
if (select.length === 0) {
|
||||||
|
notification.warning({ message: '请至少选择一条数据', duration: 3 })
|
||||||
|
return false
|
||||||
|
} else {
|
||||||
|
ApiData.ids = select.map((item) => {
|
||||||
|
return item.id
|
||||||
|
})
|
||||||
|
}
|
||||||
|
ApiConfirm(ApiData).then((res) => {
|
||||||
|
reload()
|
||||||
|
notification.success({ message: res.message, duration: 3 })
|
||||||
|
})
|
||||||
|
}
|
||||||
|
function Cancel() {
|
||||||
|
const select = getSelectRows()
|
||||||
|
let ApiData: any = {
|
||||||
|
id: '',
|
||||||
|
ids: [],
|
||||||
|
}
|
||||||
|
if (select.length === 0) {
|
||||||
|
notification.warning({ message: '请至少选择一条数据', duration: 3 })
|
||||||
|
return false
|
||||||
|
} else {
|
||||||
|
ApiData.ids = select.map((item) => {
|
||||||
|
return item.id
|
||||||
|
})
|
||||||
|
}
|
||||||
|
ApiCancel(ApiData).then((res) => {
|
||||||
|
reload()
|
||||||
|
notification.success({ message: res.message, duration: 3 })
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
function handleDel() {
|
||||||
|
const select = getSelectRows()
|
||||||
|
let ApiData: any = {
|
||||||
|
ids: [],
|
||||||
|
}
|
||||||
|
if (select.length === 0) {
|
||||||
|
notification.warning({ message: '请至少选择一条数据', duration: 3 })
|
||||||
|
return false
|
||||||
|
} else {
|
||||||
|
ApiData.ids = select.map((item) => {
|
||||||
|
return item.id
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
ApiDel(ApiData).then((res) => {
|
||||||
|
console.log(res)
|
||||||
|
notification.success({ message: res.message, duration: 3 })
|
||||||
|
reload()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
function handleSuccess() {
|
||||||
|
reload()
|
||||||
|
}
|
||||||
|
function handleAudit(record) {
|
||||||
|
openModal(true, {
|
||||||
|
record,
|
||||||
|
isUpdate: true,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
</script>
|
@ -0,0 +1,60 @@
|
|||||||
|
// @ts-ignore
|
||||||
|
import { request } from '/@/utils/request'
|
||||||
|
import { DataResult, PageRequest } from '/@/api/model/baseModel'
|
||||||
|
enum Api {
|
||||||
|
list = '/containerManagementApi/CM_State_Change_TemplatImport/GetCM_State_Change_TemplatImportList',
|
||||||
|
edit = '/containerManagementApi/CM_State_Change_TemplatImport/EditCM_State_Change_TemplatImport',
|
||||||
|
info = '/containerManagementApi/CM_State_Change_TemplatImport/Get_State_Change_TemplatImport',
|
||||||
|
del = '/containerManagementApi/CM_State_Change_TemplatImport/DeleteCM_State_Change_TemplatImport',
|
||||||
|
delDetail = '/containerManagementApi/CM_State_Change_TemplatImport/DeleteCM_State_Change_Temp',
|
||||||
|
import = '/containerManagementApi/CM_State_Change_TemplatImport/CM_State_Change_TemplatImport_Confirm',
|
||||||
|
}
|
||||||
|
// 列表 (Auth)
|
||||||
|
export function ApiList(data: PageRequest) {
|
||||||
|
return request<DataResult>({
|
||||||
|
url: Api.list,
|
||||||
|
method: 'post',
|
||||||
|
data,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 编辑 (Auth)
|
||||||
|
export function ApiEdit(data: PageRequest) {
|
||||||
|
return request<DataResult>({
|
||||||
|
url: Api.edit,
|
||||||
|
method: 'post',
|
||||||
|
data,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 详情 (Auth)
|
||||||
|
export function ApiInfo(query) {
|
||||||
|
return request<DataResult>({
|
||||||
|
url: Api.info,
|
||||||
|
method: 'get',
|
||||||
|
params: query,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 批量删除 (Auth)
|
||||||
|
export function ApiDel(data: PageRequest) {
|
||||||
|
return request<DataResult>({
|
||||||
|
url: Api.del,
|
||||||
|
method: 'post',
|
||||||
|
data,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除明细 (Auth)
|
||||||
|
export function ApiDelDetail(data: PageRequest) {
|
||||||
|
return request<DataResult>({
|
||||||
|
url: Api.delDetail,
|
||||||
|
method: 'post',
|
||||||
|
data,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 确认引入 (Auth)
|
||||||
|
export function ApiImport(data: PageRequest) {
|
||||||
|
return request<DataResult>({
|
||||||
|
url: Api.import,
|
||||||
|
method: 'post',
|
||||||
|
data,
|
||||||
|
})
|
||||||
|
}
|
@ -0,0 +1,246 @@
|
|||||||
|
import { BasicColumn, FormSchema } from '/@/components/Table'
|
||||||
|
import { Tag } from 'ant-design-vue'
|
||||||
|
import { ApiList } from '../Templat/api'
|
||||||
|
export const columns: BasicColumn[] = [
|
||||||
|
{
|
||||||
|
title: '模板名称',
|
||||||
|
dataIndex: 'templetName',
|
||||||
|
sorter: true,
|
||||||
|
width: 150,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '导入人',
|
||||||
|
dataIndex: 'createUserName',
|
||||||
|
sorter: true,
|
||||||
|
width: 200,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '导入时间',
|
||||||
|
dataIndex: 'createTime',
|
||||||
|
sorter: true,
|
||||||
|
width: 200,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '是否已执行',
|
||||||
|
dataIndex: 'billState',
|
||||||
|
sorter: true,
|
||||||
|
width: 200,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '备注',
|
||||||
|
dataIndex: 'remark',
|
||||||
|
sorter: true,
|
||||||
|
width: 200,
|
||||||
|
},
|
||||||
|
]
|
||||||
|
|
||||||
|
export const searchFormSchema: FormSchema[] = [
|
||||||
|
{
|
||||||
|
field: 'templetName',
|
||||||
|
label: '模板名称',
|
||||||
|
component: 'Input',
|
||||||
|
colProps: { span: 4 },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'remark',
|
||||||
|
label: '备注',
|
||||||
|
component: 'Input',
|
||||||
|
colProps: { span: 4 },
|
||||||
|
},
|
||||||
|
]
|
||||||
|
export const formSchema: FormSchema[] = [
|
||||||
|
{
|
||||||
|
label: '',
|
||||||
|
field: 'id',
|
||||||
|
component: 'Input',
|
||||||
|
defaultValue: '',
|
||||||
|
show: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '模板Id',
|
||||||
|
field: 'templetId',
|
||||||
|
component: 'Input',
|
||||||
|
show: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '模板名称',
|
||||||
|
field: 'templetName',
|
||||||
|
component: 'ApiSelect',
|
||||||
|
required: false,
|
||||||
|
dynamicDisabled: false,
|
||||||
|
colProps: { span: 6 },
|
||||||
|
componentProps: ({ formModel }) => {
|
||||||
|
return {
|
||||||
|
api: () => {
|
||||||
|
return new Promise((resolve) => {
|
||||||
|
ApiList({
|
||||||
|
queryCondition: '[]',
|
||||||
|
pageCondition: { pageIndex: 1, pageSize: 100, sortConditions: [] },
|
||||||
|
}).then((res) => {
|
||||||
|
resolve(res)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
labelField: 'templetName',
|
||||||
|
valueField: 'templetName',
|
||||||
|
resultField: 'data',
|
||||||
|
onChange: (e, obj) => {
|
||||||
|
console.log(e, obj)
|
||||||
|
if (e && obj) {
|
||||||
|
formModel.templetName = obj.label
|
||||||
|
formModel.templetId = obj.value
|
||||||
|
}
|
||||||
|
if (!e && !obj) {
|
||||||
|
formModel.templetName = null
|
||||||
|
formModel.templetId = null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
filterOption: (input: string, option: any) => {
|
||||||
|
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '导入人',
|
||||||
|
field: 'createUserName',
|
||||||
|
component: 'Input',
|
||||||
|
defaultValue: '',
|
||||||
|
dynamicDisabled: true,
|
||||||
|
},
|
||||||
|
// {
|
||||||
|
// label: '导入人',
|
||||||
|
// field: 'createUser',
|
||||||
|
// component: 'ApiSelect',
|
||||||
|
// required: false,
|
||||||
|
// dynamicDisabled: false,
|
||||||
|
// colProps: { span: 6 },
|
||||||
|
// componentProps: ({ formModel }) => {
|
||||||
|
// return {
|
||||||
|
// allowClear: true,
|
||||||
|
// showSearch: true,
|
||||||
|
// api: GetClientListByCode,
|
||||||
|
// params: { code: 'leasing' },
|
||||||
|
// labelField: 'pinYinCode',
|
||||||
|
// showName: 'shortName',
|
||||||
|
// valueField: 'shortName',
|
||||||
|
// resultField: 'data',
|
||||||
|
// immediate: false,
|
||||||
|
// filterOption: (input: string, option: any) => {
|
||||||
|
// return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
||||||
|
// },
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
{
|
||||||
|
label: '导入时间',
|
||||||
|
field: 'createTime',
|
||||||
|
component: 'DatePicker',
|
||||||
|
colProps: { span: 6 },
|
||||||
|
componentProps: {
|
||||||
|
showTime: false,
|
||||||
|
style: 'width:100%',
|
||||||
|
valueFormat: 'YYYY-MM-DD 00:00:00',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '是否已执行',
|
||||||
|
field: 'billState',
|
||||||
|
component: 'Input',
|
||||||
|
defaultValue: '',
|
||||||
|
colProps: { span: 6 },
|
||||||
|
dynamicDisabled: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'remark',
|
||||||
|
label: '备注',
|
||||||
|
component: 'InputTextArea',
|
||||||
|
// required: true,
|
||||||
|
colProps: { span: 12 },
|
||||||
|
componentProps: {
|
||||||
|
rows: 3,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
]
|
||||||
|
export const InfoColumns: BasicColumn[] = [
|
||||||
|
{
|
||||||
|
title: '箱号',
|
||||||
|
dataIndex: 'cntrno',
|
||||||
|
sorter: true,
|
||||||
|
width: 150,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '变动来源',
|
||||||
|
dataIndex: 'changeSource',
|
||||||
|
sorter: true,
|
||||||
|
width: 150,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '业务类型',
|
||||||
|
dataIndex: 'ctnBizState',
|
||||||
|
sorter: true,
|
||||||
|
width: 150,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '箱来源',
|
||||||
|
dataIndex: 'ctnSource',
|
||||||
|
sorter: true,
|
||||||
|
width: 150,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '状态变动',
|
||||||
|
dataIndex: 'ctnFlowState',
|
||||||
|
sorter: true,
|
||||||
|
width: 150,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '新旧箱',
|
||||||
|
dataIndex: 'usedState',
|
||||||
|
sorter: true,
|
||||||
|
width: 150,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '箱型',
|
||||||
|
dataIndex: 'ctnall',
|
||||||
|
sorter: true,
|
||||||
|
width: 150,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '箱状态',
|
||||||
|
dataIndex: 'ctnState',
|
||||||
|
sorter: true,
|
||||||
|
width: 150,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '空重箱',
|
||||||
|
dataIndex: 'isHeavy',
|
||||||
|
sorter: true,
|
||||||
|
width: 80,
|
||||||
|
customRender: ({ text }) => {
|
||||||
|
if (text) {
|
||||||
|
return <Tag color="success">重箱</Tag>
|
||||||
|
} else {
|
||||||
|
return <Tag color="error">空箱</Tag>
|
||||||
|
}
|
||||||
|
return text
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '当前港口',
|
||||||
|
dataIndex: 'port',
|
||||||
|
sorter: true,
|
||||||
|
width: 150,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'DEPOT/TEIMINAL',
|
||||||
|
dataIndex: 'depot',
|
||||||
|
sorter: true,
|
||||||
|
width: 150,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'DATE',
|
||||||
|
dataIndex: 'changeTime',
|
||||||
|
sorter: true,
|
||||||
|
width: 150,
|
||||||
|
},
|
||||||
|
]
|
@ -0,0 +1,121 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<BasicTable class="ds-table" @register="registerTable" @row-dbClick="handleAudit">
|
||||||
|
<template #tableTitle>
|
||||||
|
<a-button type="link" @click="handleCreate">
|
||||||
|
<span class="iconfont icon-tianjia"></span>
|
||||||
|
新建
|
||||||
|
</a-button>
|
||||||
|
<a-popconfirm
|
||||||
|
title="确定删除当前选中数据?"
|
||||||
|
ok-text="是"
|
||||||
|
cancel-text="否"
|
||||||
|
@confirm="handleDel"
|
||||||
|
>
|
||||||
|
<a-button type="link">
|
||||||
|
<span class="iconfont icon-shanchu21"></span>
|
||||||
|
删除
|
||||||
|
</a-button>
|
||||||
|
</a-popconfirm>
|
||||||
|
</template>
|
||||||
|
<template #bodyCell="{ column, record }">
|
||||||
|
<template v-if="column.key === 'action'">
|
||||||
|
<TableAction
|
||||||
|
:actions="[
|
||||||
|
{
|
||||||
|
icon: 'clarity:note-edit-line',
|
||||||
|
tooltip: '编辑',
|
||||||
|
onClick: handleAudit.bind(null, record),
|
||||||
|
},
|
||||||
|
]"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
</template>
|
||||||
|
</BasicTable>
|
||||||
|
<TenantAuditStepModal @register="registerModal" @success="handleSuccess" />
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script lang="ts" setup>
|
||||||
|
import { ref } from 'vue'
|
||||||
|
import { BasicTable, useTable, TableAction, SorterResult } from '/@/components/Table'
|
||||||
|
import { ApiList, ApiDel } from './api'
|
||||||
|
import { useModal } from '/@/components/Modal'
|
||||||
|
import TenantAuditStepModal from './TenantAuditStepModal.vue'
|
||||||
|
import { columns, searchFormSchema } from './columns'
|
||||||
|
import { formatParams } from '/@/hooks/web/common'
|
||||||
|
import { useMessage } from '/@/hooks/web/useMessage'
|
||||||
|
const { notification } = useMessage()
|
||||||
|
const [registerModal, { openModal }] = useModal()
|
||||||
|
const [registerTable, { reload, getForm, getSelectRows }] = useTable({
|
||||||
|
title: '批量变动导入',
|
||||||
|
api: async (p) => {
|
||||||
|
const res: any = await ApiList(p)
|
||||||
|
return new Promise((resolve) => {
|
||||||
|
resolve({ data: [...res.data], total: res.count })
|
||||||
|
})
|
||||||
|
},
|
||||||
|
beforeFetch: (p) => {
|
||||||
|
return formatParams(p)
|
||||||
|
},
|
||||||
|
columns,
|
||||||
|
formConfig: {
|
||||||
|
labelWidth: 120,
|
||||||
|
schemas: searchFormSchema,
|
||||||
|
},
|
||||||
|
isTreeTable: false,
|
||||||
|
pagination: true,
|
||||||
|
striped: true,
|
||||||
|
useSearchForm: true,
|
||||||
|
showTableSetting: true,
|
||||||
|
bordered: true,
|
||||||
|
showIndexColumn: true,
|
||||||
|
indexColumnProps: {
|
||||||
|
width: 60,
|
||||||
|
},
|
||||||
|
canResize: true,
|
||||||
|
resizeHeightOffset: 35,
|
||||||
|
immediate: true,
|
||||||
|
actionColumn: {
|
||||||
|
width: 80,
|
||||||
|
title: '操作',
|
||||||
|
dataIndex: 'action',
|
||||||
|
fixed: 'right',
|
||||||
|
},
|
||||||
|
})
|
||||||
|
function handleCreate() {
|
||||||
|
const select = getSelectRows()
|
||||||
|
openModal(true, {
|
||||||
|
isParent: false,
|
||||||
|
isUpdate: false,
|
||||||
|
select,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
function handleDel() {
|
||||||
|
const select = getSelectRows()
|
||||||
|
let ApiData: any = {
|
||||||
|
ids: [],
|
||||||
|
}
|
||||||
|
if (select.length === 0) {
|
||||||
|
notification.warning({ message: '请至少选择一条数据', duration: 3 })
|
||||||
|
return false
|
||||||
|
} else {
|
||||||
|
ApiData.ids = select.map((item) => {
|
||||||
|
return item.id
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
ApiDel(ApiData).then((res) => {
|
||||||
|
notification.success({ message: res.message, duration: 3 })
|
||||||
|
reload()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
function handleAudit(record) {
|
||||||
|
openModal(true, {
|
||||||
|
record,
|
||||||
|
isUpdate: true,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
function handleSuccess() {
|
||||||
|
reload()
|
||||||
|
}
|
||||||
|
</script>
|
Loading…
Reference in New Issue