szh-new
张同海 5 months ago
parent b136d4b291
commit f895069d69

@ -0,0 +1,7 @@
import { intersection } from 'lodash-es'
import { usePermissionStore } from '/@/store/modules/permission'
export function checkPermissions(key) {
const permissionStore = usePermissionStore()
const allCodeList = permissionStore.getPermCodeList as string[]
return !((intersection([key], allCodeList) as string[]).length > 0)
}

@ -4,11 +4,13 @@ export const columns: BasicColumn[] = [
{
title: '商品类型代码',
dataIndex: 'goodsTypeCode',
sorter: true,
width: 150,
},
{
title: '商品类型名称',
dataIndex: 'goodsTypeName',
sorter: true,
width: 200,
},
// {
@ -19,12 +21,14 @@ export const columns: BasicColumn[] = [
{
title: '描述',
dataIndex: 'description',
sorter: true,
width: 200,
},
{
title: '是否启用',
dataIndex: 'status',
width: 80,
sorter: true,
width: 100,
customRender: ({ text }) => {
if (text === 0) {
return <Tag color="success"></Tag>
@ -37,11 +41,13 @@ export const columns: BasicColumn[] = [
{
title: '备注',
dataIndex: 'note',
sorter: true,
width: 150,
},
{
title: '创建时间',
dataIndex: 'createTime',
sorter: true,
width: 200,
},
]

@ -2,8 +2,20 @@
<div>
<BasicTable @register="registerTable">
<template #toolbar>
<a-button type="primary" @click="handleCreate"> </a-button>
<a-button type="primary" @click="importFlow"> </a-button>
<a-button
type="primary"
@click="handleCreate"
:disabled="checkPermissions('op:seaexport:add')"
>
添加商品类型
</a-button>
<a-button
type="primary"
@click="importFlow"
:disabled="checkPermissions('op:seaexport:import')"
>
导入商品类型
</a-button>
</template>
<template #bodyCell="{ column, record }">
<template v-if="column.key === 'action'">
@ -13,6 +25,7 @@
icon: 'clarity:note-edit-line',
tooltip: '编辑',
onClick: handleAudit.bind(null, record),
auth: 'op:goodstype:edit',
},
// {
// icon: 'ant-design:delete-outlined',
@ -45,6 +58,7 @@
</template>
<script lang="ts" setup>
import { defineComponent, onMounted, ref } from 'vue'
import { checkPermissions } from '/@/hooks/Permissions/index'
import { BasicTable, useTable, TableAction, SorterResult } from '/@/components/Table'
import ImportFlow from './importFlow.vue'
import { getCodeGoodsTypeList, importCodeGoodsType } from './api'
@ -53,7 +67,7 @@
import { columns, searchFormSchema } from './columns'
import { useMessage } from '/@/hooks/web/useMessage'
const { notification } = useMessage()
let filterInfo: Partial<Recordable<string[]>> = []
// let filterInfo: Partial<Recordable<string[]>> = []
let sortInfo: SorterResult = {}
const visible = ref<boolean>(false)
const refImportFlow = ref()
@ -78,17 +92,17 @@
},
}
/* 排序字段 */
// if (!!sortInfo.columnKey) {
// postParam.pageCondition.sortConditions.push({
// sortField: sortInfo.field,
// listSortDirection: sortInfo.order === 'ascend' ? 0 : 1,
// })
// } else {
// postParam.pageCondition.sortConditions.push({
// sortField: 'auditTime',
// listSortDirection: 0,
// })
// }
if (!!sortInfo.columnKey) {
postParam.pageCondition.sortConditions.push({
sortField: sortInfo.field,
listSortDirection: sortInfo.order === 'ascend' ? 0 : 1,
})
} else {
postParam.pageCondition.sortConditions.push({
sortField: 'goodsTypeCode',
listSortDirection: 0,
})
}
let condition: API.ConditionItem[] = []
if (!!data.GoodsTypeName) {
condition.push({
@ -119,13 +133,12 @@
schemas: searchFormSchema,
},
sortFn: (sorter) => {
// console.log(':' + sorter);
sortInfo = sorter
},
filterFn: (filters) => {
// console.log(':' + filters);
filterInfo = filters
},
// filterFn: (filters) => {
// // console.log(':' + filters);
// filterInfo = filters
// },
pagination: true,
bordered: true,
useSearchForm: true,

@ -14,17 +14,25 @@
<div class="TableBox">
<div class="BoxUnit">
<div class="model-botton-box">
<a-button class="btn" type="primary" @click="AddLlist"></a-button>
<a-button class="btn btn-delete" @click="DelLlist"></a-button>
<a-upload
:file-list="fileList"
:before-upload="beforeUpload"
name="file"
:custom-request="uploadFile"
>
<a-button class="btn" type="primary">导入对账excel</a-button>
</a-upload>
<!-- <a-button class="btn" type="primary" @click="Addlist"></a-button> -->
<!-- <a-button class="btn btn-delete" @click="Dellist"></a-button> -->
</div>
<div style="position: relative">
<input
class="ds-tb-check"
type="checkbox"
v-model="allCheckL"
:indeterminate="someCheckL"
v-model="allCheck"
:indeterminate="someCheck"
/>
<hot-table :data="Llist" :settings="Lsettings"> </hot-table>
<hot-table ref="hotTb" :data="list" :settings="Lsettings"> </hot-table>
</div>
</div>
</div>
@ -58,7 +66,8 @@
</template>
<script lang="ts" setup>
import { ref, computed, unref, watchEffect, watch } from 'vue'
import { ApiEdit, ApiInfo } from './api'
import { ApiEdit, ApiInfo, ApiBasicsList, ApiImport } from './api'
import { GetClientListByCode } from '/@/api/common'
import { BasicForm, useForm } from '/@/components/Form/index'
import { formSchema } from './columns'
import { useMessage } from '/@/hooks/web/useMessage'
@ -68,6 +77,8 @@
import { registerAllModules } from 'handsontable/registry'
import 'handsontable/dist/handsontable.full.min.css'
registerAllModules()
import { useOptionsStore } from '/@/store/modules/options'
const optionsStore = useOptionsStore()
// ------------------------------------------------------------------------------
const getTitle = computed(() => (!unref(isUpdate) ? '新增对账模板' : '编辑对账模板'))
const emit = defineEmits(['success'])
@ -76,8 +87,8 @@
const rowId = ref('')
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
resetFields()
allCheckL.value = false
someCheckL.value = false
allCheck.value = false
someCheck.value = false
setModalProps({ confirmLoading: false, loading: true })
isUpdate.value = !!data?.isUpdate
if (unref(isUpdate)) {
@ -88,7 +99,24 @@
setFieldsValue({
...res.data,
})
Llist.value.push(...res.data)
let ApiData = {
queryCondition: JSON.stringify({
FieldName: 'checkId',
FieldValue: rowId.value,
ConditionalType: 1,
}),
pageCondition: {
pageIndex: 1,
pageSize: 9999,
sortConditions: [],
},
}
const e: API.DataResult = await ApiBasicsList(ApiData)
if (e.succeeded) {
list.value.push(...e.data)
} else {
setModalProps({ confirmLoading: false })
}
}
setModalProps({ confirmLoading: false })
} else {
@ -102,15 +130,15 @@
setFieldsValue({
...res.data,
})
Llist.value.splice(0)
Llist.value.push(...res.data)
list.value.splice(0)
list.value.push(...res.data)
}
}
//
async function handleSave(exit) {
try {
const values = await validate()
values.feeList = Llist.value
values.feeList = list.value
setModalProps({ confirmLoading: true, loading: true })
const res: API.DataResult = await ApiEdit(values)
console.log(res)
@ -138,7 +166,7 @@
}
}
function FnClose() {
Llist.value.splice(0)
list.value.splice(0)
closeModal()
}
async function refresh() {
@ -157,25 +185,25 @@
})
// ------------------------------------------------------------------------------
//
const allCheckL = ref(false)
const allCheck = ref(false)
//
const someCheckL = ref(false)
const Llist = ref<any>([])
const someCheck = ref(false)
const list = ref<any>([])
watchEffect(() => {
//
if (allCheckL.value) {
Llist.value.forEach((item) => {
if (allCheck.value) {
list.value.forEach((item) => {
item.selected = true
})
} else {
//
Llist.value.forEach((item) => {
list.value.forEach((item) => {
item.selected = false
})
}
})
watch(
Llist.value,
list.value,
(val) => {
let a = 0
let b = 0
@ -187,23 +215,37 @@
}
})
if (a == 0) {
allCheckL.value = false
allCheck.value = false
}
if (b == 0) {
allCheckL.value = true
allCheck.value = true
}
if (a != 0 && b != 0) {
someCheckL.value = true
someCheck.value = true
} else {
someCheckL.value = false
someCheck.value = false
}
},
{
deep: true,
},
)
const LColumns = [
const hotTb = ref()
//
const companyDict = ref([])
//
const vesselDict = ref([])
const isEqualData = ref([
{
name: '是',
value: true,
},
{
name: '否',
value: false,
},
])
const Columns = [
{
data: 'selected',
type: 'checkbox',
@ -218,84 +260,158 @@
data: 'id',
},
{
title: '模板Id',
title: '对账Id',
width: 120,
data: 'checkId',
},
{
title: '结算单位Id',
width: 120,
data: 'templateId',
data: 'customerId',
},
{
title: '船名Id',
width: 120,
data: 'vesselId',
},
{
title: '操作员Id',
width: 120,
data: 'operatorId',
},
{
title: '揽货人Id',
width: 120,
data: 'saleId',
},
{
title: '主提单号',
width: 120,
data: 'feeName',
data: 'mblno',
},
{
title: '本地RMB金额',
width: 120,
data: 'currency',
type: 'numeric',
data: 'rmbLocalAmount',
},
{
title: '本地USD金额',
width: 120,
data: 'currency',
type: 'numeric',
data: 'usdLocalAmount',
},
{
title: '对账RMB金额',
width: 120,
data: 'currency',
type: 'numeric',
data: 'rmbCheckAmount',
},
{
title: '对账USD金额',
width: 120,
data: 'currency',
type: 'numeric',
data: 'usdCheckAmount',
},
{
title: 'RMB差异',
title: 'RMB差异金额',
width: 120,
data: 'currency',
type: 'numeric',
data: 'rmbDifferenceAmount',
},
{
title: '委托单位',
title: 'USD差异金额',
width: 120,
data: 'currency',
type: 'numeric',
data: 'usdDifferenceAmount',
},
{
title: '结算USD',
width: 120,
data: 'currency',
title: '结算单位',
width: 130,
data: 'customerName',
type: 'dropdown',
source: async (query, process) => {
const rowIndex = hotTb.value.hotInstance.getActiveEditor().row
const code = list.value[rowIndex]?.customerType || null
GetClientListByCode({ code }).then((res) => {
const { data } = res
data.forEach((item) => {
item['label'] = item.shortName
item['value'] = item.codeName
})
companyDict.value = data
const dict = data.map((item) => {
return item.codeName + '-' + item.shortName
})
process(dict)
})
},
},
{
title: '船名',
title: '开船日期',
width: 120,
data: 'currency',
data: 'etd',
type: 'date',
dateFormat: 'YYYY-MM-DD',
},
{
title: '航次',
title: '船名',
width: 120,
data: 'currency',
data: 'vessel',
type: 'dropdown',
source: async (query, process) => {
let data = optionsStore.getOptionsByCode('GetVesselSelectList')
vesselDict.value = data
const dict = data.map((item) => {
return item.vesselName
})
process(dict)
},
},
{
title: '开船日期',
title: '海关航次',
width: 120,
data: 'currency',
data: 'voyno',
},
{
title: '操作员',
width: 120,
data: 'currency',
data: 'operatorName',
type: 'dropdown',
source: async (query, process) => {
let data = optionsStore.getOptionsByCode('GetCustomerServiceList')
vesselDict.value = data
const dict = data.map((item) => {
return item.userName
})
process(dict)
},
},
{
title: '揽货人',
width: 120,
data: 'currency',
},
{
title: '说明',
width: 120,
data: 'currency',
data: 'saleName',
type: 'dropdown',
source: async (query, process) => {
let data = optionsStore.getOptionsByCode('GetSaleList')
vesselDict.value = data
const dict = data.map((item) => {
return item.userName
})
process(dict)
},
},
{
title: '一致',
width: 120,
data: 'currency',
title: '是否一致',
width: 80,
data: 'isEqual',
type: 'dropdown',
source: async (query, process) => {
const dict = isEqualData.value.map((res) => {
return res.name
})
process(dict)
},
},
]
const Lsettings = {
@ -308,7 +424,7 @@
fixedColumnsLeft: 1,
//
hiddenColumns: {
columns: [1, 2],
columns: [1, 2, 3, 4, 5, 6],
indicators: true,
},
columnSorting: true,
@ -323,29 +439,88 @@
// hotTb.value.hotInstance.setDataAtRowProp(row, prop, '')
// }
// },
columns: LColumns,
columns: Columns,
// ()
licenseKey: 'non-commercial-and-evaluation',
enterMoves: 'row',
//
afterChange(changes, source) {},
afterChange(changes, source) {
if (source === 'edit' || source === 'Autofill.fill' || source === 'CopyPaste.paste') {
let dict = {}
changes.forEach((res) => {
//
if (res[1] === 'customerName') {
const item: any = companyDict.value.filter((item: any) => {
return changes[0][3].includes(item.codeName + '-' + item.shortName)
})
if (item) dict = item[0]
list.value[res[0]]['customerId'] = dict['id']
}
//
if (res[1] === 'vessel') {
const item: any = vesselDict.value.filter((item: any) => {
return changes[0][3].includes(item.vesselName)
})
if (item) dict = item[0]
list.value[res[0]]['vesselId'] = dict['id']
}
//
if (res[1] === 'operatorName') {
const item: any = vesselDict.value.filter((item: any) => {
return changes[0][3].includes(item.userName)
})
if (item) dict = item[0]
list.value[res[0]]['operatorId'] = dict['id']
}
//
if (res[1] === 'saleName') {
const item: any = vesselDict.value.filter((item: any) => {
return changes[0][3].includes(item.userName)
})
if (item) dict = item[0]
list.value[res[0]]['saleId'] = dict['id']
}
})
}
},
}
// EXCEL
const fileList = ref([])
function beforeUpload(file) {
console.log(file)
}
function uploadFile(file) {
const formData = new FormData()
let Did: any = rowId.value
formData.append('id', Did)
formData.append('file', file.file)
ApiImport({
data: formData,
// parameter: { LinkId: Did, TypeCode: 'other', TypeName: '' },
}).then((res) => {
if (res.succeeded) {
list.value.push(...res.data)
} else {
notification.error({ message: res.message, duration: 3 })
}
})
}
function AddLlist() {
Llist.value.push({})
function Addlist() {
list.value.push({})
}
async function DelLlist() {
async function Dellist() {
const data = await validate()
if (data.id) {
let ApiData: any = { id: data.id, ids: [] }
Llist.value.forEach((e, i) => {
list.value.forEach((e, i) => {
if (e.selected && e.id) {
ApiData.ids.push(e.id)
}
})
} else {
Llist.value.forEach((e, i) => {
list.value.forEach((e, i) => {
if (e.selected) {
Llist.value.splice(i, 1)
list.value.splice(i, 1)
}
})
}

@ -2,13 +2,12 @@
import { request } from '/@/utils/request'
import { DataResult, PageRequest } from '/@/api/model/baseModel'
enum Api {
list = '/mainApi/CodeCtn/GetCodeCtnList',
edit = '/mainApi/CodeCtn/EditCodeCtn',
info = '/mainApi/CodeCtn/GetCodeCtnInfo',
list = '/checkApi/CheckBillAuto/GetCheckBillAutoList',
edit = '/checkApi/CheckBillAuto/EditCheckBillAutoInfo',
info = '/checkApi/CheckBillAuto/GetCheckBillAutoInfo',
BasicsList = '/mainApi/CodeCtn/GetBasicsCodeCtnList',
ExistList = '/mainApi/CodeCtn/GetExistCodeCtnList',
Import = '/mainApi/CodeCtn/ImportCodeCtn',
BasicsList = '/checkApi/CheckBillAuto/GetCheckBillAutoDetailList',
Import = '/checkApi/CheckBillAuto/ImportExcel',
}
// 列表 (Auth)
export function ApiList(data: PageRequest) {
@ -35,7 +34,7 @@ export function ApiInfo(query) {
})
}
// 获取商品类型列表-基础库 (Auth)
// 自动对账明细列表 (Auth)
export function ApiBasicsList(data: PageRequest) {
return request<DataResult>({
url: Api.BasicsList,
@ -43,18 +42,11 @@ export function ApiBasicsList(data: PageRequest) {
data,
})
}
// 获取当前租户已有的商品类型 (Auth)
export function ApiExistList() {
return request<DataResult>({
url: Api.ExistList,
method: 'get',
})
}
// 导入商品类型列表-基础库 (Auth)
export function ApiImport(data: PageRequest) {
// 导入对账excel (Auth)
export function ApiImport(data) {
return request<DataResult>({
url: Api.Import,
method: 'post',
data,
data:data.data,
})
}

@ -1,109 +1,322 @@
import { BasicColumn, FormSchema } from '/@/components/Table'
import { Tag } from 'ant-design-vue'
import { getOptions } from '/@/hooks/dict'
export const columns: BasicColumn[] = [
{
title: '对账编号',
dataIndex: 'ctnSize0',
title: '自动对账编号',
dataIndex: 'autoBillNo',
width: 150,
},
{
title: '对账客户',
dataIndex: 'ctnSize1',
title: '对账单名称',
dataIndex: 'billName',
width: 150,
},
{
title: '对账名称',
dataIndex: 'ctnSize2',
title: '对账日期',
dataIndex: 'checkDate',
width: 150,
},
// {
// title: '业务类型',
// dataIndex: 'businessType',
// width: 150,
// },
// {
// title: '对账方式',
// dataIndex: 'checkType',
// width: 150,
// },
{
title: '起始时间',
dataIndex: 'startTime',
width: 150,
},
{
title: '对账人',
dataIndex: 'ctnSize3',
title: '结束时间',
dataIndex: 'endTime',
width: 150,
},
// {
// title: '收付类型',
// dataIndex: 'billType',
// width: 150,
// },
{
title: '对账日期',
dataIndex: 'ctnSize4',
title: '对账客户',
dataIndex: 'customerName',
width: 150,
},
{
title: '对账编号',
dataIndex: 'ctnSize5',
title: '费用范围',
dataIndex: 'feeScope',
width: 150,
},
{
title: '结算人',
dataIndex: 'ctnSize5',
dataIndex: 'settlerName',
width: 150,
},
{
title: '结算日期',
dataIndex: 'ctnSize5',
dataIndex: 'settlementTime',
width: 150,
},
{
title: '账单编号',
dataIndex: 'billNo',
width: 150,
},
{
title: '对账人',
dataIndex: 'checkUserName',
width: 150,
},
{
title: '备注',
dataIndex: 'note',
width: 150,
},
]
export const searchFormSchema: FormSchema[] = [
{
field: 'ctnSize0',
label: '对账记录号',
field: 'autoBillNo',
label: '自动对账编号',
component: 'Input',
colProps: { span: 4 },
},
]
let businessTypeData = [
{ label: '全部', value: '0' },
{ label: '海运出口', value: '1' },
]
let checkTypeData = [
{ label: 'Excel导入', value: '1' },
{ label: '区间统计', value: '2' },
]
let billTypeData = [
{ label: '全部', value: '0' },
{ label: '应收', value: '1' },
{ label: '应付', value: '2' },
]
export const formSchema: FormSchema[] = [
{
field: 'ctnSize0',
label: '对账编号',
label: '',
field: 'id',
component: 'Input',
colProps: { span: 5 },
defaultValue: '',
show: false,
},
{
field: 'ctnSize0',
label: '对账名称',
field: 'autoBillNo',
label: '自动对账编号',
component: 'Input',
dynamicDisabled: true,
colProps: { span: 5 },
},
{
field: 'ctnSize0',
label: '队长客户',
field: 'billName',
label: '对账单名称',
component: 'Input',
colProps: { span: 5 },
},
{
field: 'ctnSize0',
field: 'checkDate',
label: '对账日期',
component: 'Input',
component: 'DatePicker',
required: false,
dynamicDisabled: false,
colProps: { span: 5 },
componentProps: {
showTime: true,
allowClear: true,
},
},
{
field: 'ctnSize0',
label: '对账人',
field: 'businessType',
label: '业务类型',
component: 'Select',
required: false,
dynamicDisabled: false,
colProps: { span: 5 },
componentProps: {
options: businessTypeData,
allowClear: true,
showSearch: true,
filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
},
},
},
{
field: 'checkType',
label: '对账方式',
component: 'Select',
required: false,
dynamicDisabled: false,
colProps: { span: 5 },
componentProps: {
options: checkTypeData,
allowClear: true,
showSearch: true,
filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
},
},
},
{
field: 'startTime',
label: '起始时间',
component: 'DatePicker',
required: false,
dynamicDisabled: false,
colProps: { span: 5 },
componentProps: {
showTime: true,
allowClear: true,
},
},
{
field: 'endTime',
label: '结束时间',
component: 'DatePicker',
required: false,
dynamicDisabled: false,
colProps: { span: 5 },
componentProps: {
showTime: true,
allowClear: true,
},
},
{
field: 'billType',
label: '收付类型',
component: 'Select',
required: false,
dynamicDisabled: false,
colProps: { span: 5 },
componentProps: {
options: billTypeData,
allowClear: true,
showSearch: true,
filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
},
},
},
{
label: '对账客户Nmae',
field: 'customerName',
component: 'Input',
colProps: { span: 4 },
show: false,
},
{
field: 'ctnSize0',
label: '对账客户',
field: 'customerId',
component: 'ApiSelect',
required: false,
dynamicDisabled: false,
// defaultValue: '',
colProps: { span: 5 },
componentProps: ({ formModel }) => {
return {
allowClear: true,
showSearch: true,
api: () => {
return new Promise((resolve) => {
const arr = getOptions('controller')
resolve(arr)
})
},
labelField: 'name',
valueField: 'id',
resultField: 'data',
filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
},
onChange: (e, obj) => {
if (obj) {
formModel.customerName = obj.label
} else {
formModel.customerName = ''
}
},
}
},
},
{
field: 'feeScope',
label: '费用范围',
component: 'InputNumber',
colProps: { span: 5 },
},
{
label: '结算人名称',
field: 'settlerName',
component: 'Input',
show: false,
},
{
label: '结算人',
field: 'settlerId',
component: 'ApiSelect',
required: false,
dynamicDisabled: false,
// defaultValue: '',
colProps: { span: 5 },
componentProps: ({ formModel }) => {
return {
allowClear: true,
showSearch: true,
api: () => {
return new Promise((resolve) => {
const arr = getOptions('controller')
resolve(arr)
})
},
labelField: 'name',
valueField: 'id',
resultField: 'data',
filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
},
onChange: (e, obj) => {
if (obj) {
formModel.settlerName = obj.label
} else {
formModel.settlerName = ''
}
},
}
},
},
{
field: 'settlementTime',
label: '结算日期',
component: 'DatePicker',
required: false,
dynamicDisabled: false,
colProps: { span: 5 },
componentProps: {
showTime: true,
allowClear: true,
},
},
{
field: 'ctnSize0',
label: '结算账单编号',
field: 'billNo',
label: '账单编号',
component: 'Input',
colProps: { span: 5 },
},
{
field: 'ctnSize0',
label: '结算日期',
field: 'checkUserName',
label: '对账人',
component: 'Input',
colProps: { span: 5 },
},
{
field: 'ctnSize0',
label: '结算人',
field: 'note',
label: '备注',
component: 'Input',
colProps: { span: 5 },
},

@ -39,7 +39,12 @@
import { columns, searchFormSchema } from './columns'
import { useMessage } from '/@/hooks/web/useMessage'
const { notification } = useMessage()
import { useOptionsStore } from '/@/store/modules/options'
const optionsStore = useOptionsStore()
const [registerModal, { openModal }] = useModal()
optionsStore.getOptionsByCode('GetVesselSelectList')
optionsStore.getOptionsByCode('GetCustomerServiceList')
optionsStore.getOptionsByCode('GetSaleList')
const [registerTable, { reload, getForm, getPaginationRef }] = useTable({
api: async (p) => {
const res: API.DataResult = await ApiList(p)
@ -59,10 +64,10 @@
},
}
let condition: API.ConditionItem[] = []
if (!!data.ctnSize0) {
if (!!data.autoBillNo) {
condition.push({
FieldName: 'ctnSize0',
FieldValue: data.ctnSize0,
FieldName: 'autoBillNo',
FieldValue: data.autoBillNo,
ConditionalType: 1,
})
}

Loading…
Cancel
Save