diff --git a/src/components/File/index.vue b/src/components/File/index.vue index 1a6f43a3..f7ad43ed 100644 --- a/src/components/File/index.vue +++ b/src/components/File/index.vue @@ -123,6 +123,11 @@ show: false, }, }, + // 未传递 ID 时,是否先触发保存 + TriggerSave: { + type: Boolean, + default: false, + }, }) // 弹窗开关 const visible = ref(false) @@ -180,15 +185,19 @@ // 打开附件弹窗 const openFileModel = () => { - if (!props.id) { - return createMessage.warning('未检索到业务id,请先保存数据!') + if (props.TriggerSave && !props.id) { + emits('FnTriggerSave') + } else { + if (!props.id) { + return createMessage.warning('未检索到业务id,请先保存数据!') + } + init() } - init() } const fileForm = ref(null) // 附件列表组件 const dsFileList = ref(null) - const emits = defineEmits(['handleSuccess']) + const emits = defineEmits(['handleSuccess', 'FnTriggerSave']) // 提交上传 const handleOk = async () => { const res = await fileForm.value.validateFields() @@ -237,6 +246,7 @@ defineExpose({ init, dsFileList, + openFileModel, }) diff --git a/src/views/ContainerManagement/BuyCtn/TenantAuditStepModal.vue b/src/views/ContainerManagement/BuyCtn/TenantAuditStepModal.vue index 1086707d..32a43f44 100644 --- a/src/views/ContainerManagement/BuyCtn/TenantAuditStepModal.vue +++ b/src/views/ContainerManagement/BuyCtn/TenantAuditStepModal.vue @@ -85,11 +85,13 @@ --> - + { - activeKey.value = '1' - refresh() - notification.success({ message: res.message, duration: 3 }) - }) - } else { - notification.warning({ message: '请先在电子文档中勾选一个文件。', duration: 3 }) + dsFile.value.openFileModel() + } + } + async function DealExcel() { + if (!rowId.value) { + await handleSave(false) + } + if (dsFile.value.dsFileList.SelectId) { + let ApiData: any = { + id: unref(rowId), + formName: 'CM_BuyCtn', + tableName: '', + fileId: dsFile.value.dsFileList.SelectId, } + ApiDealExcel(ApiData).then((res) => { + activeKey.value = '1' + refresh() + notification.success({ message: res.message, duration: 3 }) + }) } else { - notification.warning({ message: '请先保存', duration: 3 }) + notification.warning({ message: '请先在电子文档中勾选一个文件。', duration: 3 }) } } async function handleSave(exit) { diff --git a/src/views/ContainerManagement/CtnScrap/TenantAuditStepModal.vue b/src/views/ContainerManagement/CtnScrap/TenantAuditStepModal.vue index 6cb130eb..eb546839 100644 --- a/src/views/ContainerManagement/CtnScrap/TenantAuditStepModal.vue +++ b/src/views/ContainerManagement/CtnScrap/TenantAuditStepModal.vue @@ -86,11 +86,13 @@ - + { - activeKey.value = '1' - refresh() - notification.success({ message: res.message, duration: 3 }) - }) - } else { - notification.warning({ message: '请先在电子文档中勾选一个文件。', duration: 3 }) + dsFile.value.openFileModel() + } + } + async function DealExcel() { + if (!rowId.value) { + await handleSave(false) + } + if (dsFile.value.dsFileList.SelectId) { + let ApiData: any = { + id: unref(rowId), + formName: 'CM_CtnScrap', + tableName: '', + fileId: dsFile.value.dsFileList.SelectId, } + ApiDealExcel(ApiData).then((res) => { + activeKey.value = '1' + refresh() + notification.success({ message: res.message, duration: 3 }) + }) } else { - notification.warning({ message: '请先保存', duration: 3 }) + notification.warning({ message: '请先在电子文档中勾选一个文件。', duration: 3 }) } } async function handleSave(exit) { diff --git a/src/views/ContainerManagement/CurrentState/columns.tsx b/src/views/ContainerManagement/CurrentState/columns.tsx index db253911..3d8e0c64 100644 --- a/src/views/ContainerManagement/CurrentState/columns.tsx +++ b/src/views/ContainerManagement/CurrentState/columns.tsx @@ -183,7 +183,7 @@ export const searchFormSchema: FormSchema[] = [ field: 'cntrno', label: '箱号', component: 'Input', - colProps: { span: 4 }, + colProps: { span: 8 }, }, { field: 'ctnOwner', diff --git a/src/views/ContainerManagement/CurrentState/index.vue b/src/views/ContainerManagement/CurrentState/index.vue index 573e38c3..499e9d15 100644 --- a/src/views/ContainerManagement/CurrentState/index.vue +++ b/src/views/ContainerManagement/CurrentState/index.vue @@ -50,7 +50,18 @@ }) }, beforeFetch: (p) => { - return formatParams(p, ['ctnOwner', 'ctnSourceId', 'isOnlineId', 'portid']) + let Rdata = formatParams(p, ['ctnOwner', 'ctnSourceId', 'isOnlineId', 'portid']) + if (!!p.cntrno) { + let data = JSON.parse(Rdata.queryCondition) + data.forEach((item, index) => { + if (item.FieldName == 'cntrno') { + console.log(item) + item.ConditionalType = 15 + } + }) + Rdata.queryCondition = JSON.stringify(data) + } + return Rdata }, columns, formConfig: { diff --git a/src/views/ContainerManagement/RentIn/TenantAuditStepModal.vue b/src/views/ContainerManagement/RentIn/TenantAuditStepModal.vue index baebd96d..186b28fe 100644 --- a/src/views/ContainerManagement/RentIn/TenantAuditStepModal.vue +++ b/src/views/ContainerManagement/RentIn/TenantAuditStepModal.vue @@ -86,11 +86,14 @@ - + + { - activeKey.value = '1' - refresh() - notification.success({ message: res.message, duration: 3 }) - }) - } else { - notification.warning({ message: '请先在电子文档中勾选一个文件。', duration: 3 }) + dsFile.value.openFileModel() + } + } + async function DealExcel() { + if (!rowId.value) { + await handleSave(false) + } + if (dsFile.value.dsFileList.SelectId) { + let ApiData: any = { + id: unref(rowId), + formName: 'CM_RentIn', + tableName: '', + fileId: dsFile.value.dsFileList.SelectId, } + ApiDealExcel(ApiData).then((res) => { + activeKey.value = '1' + refresh() + notification.success({ message: res.message, duration: 3 }) + }) } else { - notification.warning({ message: '请先保存', duration: 3 }) + notification.warning({ message: '请先在电子文档中勾选一个文件。', duration: 3 }) } } async function handleSave(exit) { diff --git a/src/views/ContainerManagement/RentOneWay/TenantAuditStepModal.vue b/src/views/ContainerManagement/RentOneWay/TenantAuditStepModal.vue index efe78583..54b09815 100644 --- a/src/views/ContainerManagement/RentOneWay/TenantAuditStepModal.vue +++ b/src/views/ContainerManagement/RentOneWay/TenantAuditStepModal.vue @@ -86,11 +86,13 @@ - + { - activeKey.value = '1' - refresh() - notification.success({ message: res.message, duration: 3 }) - }) - } else { - notification.warning({ message: '请先在电子文档中勾选一个文件。', duration: 3 }) + dsFile.value.openFileModel() + } + } + async function DealExcel() { + if (!rowId.value) { + await handleSave(false) + } + + if (dsFile.value.dsFileList.SelectId) { + let ApiData: any = { + id: unref(rowId), + formName: 'CM_RentOneWay', + tableName: '', + fileId: dsFile.value.dsFileList.SelectId, } + ApiDealExcel(ApiData).then((res) => { + activeKey.value = '1' + refresh() + notification.success({ message: res.message, duration: 3 }) + }) } else { - notification.warning({ message: '请先保存', duration: 3 }) + notification.warning({ message: '请先在电子文档中勾选一个文件。', duration: 3 }) } } async function handleSave(exit) { diff --git a/src/views/ContainerManagement/RentOneWayIn/TenantAuditStepModal.vue b/src/views/ContainerManagement/RentOneWayIn/TenantAuditStepModal.vue index 7794b3d1..b305ff38 100644 --- a/src/views/ContainerManagement/RentOneWayIn/TenantAuditStepModal.vue +++ b/src/views/ContainerManagement/RentOneWayIn/TenantAuditStepModal.vue @@ -51,11 +51,13 @@ - + { - activeKey.value = '1' - refresh() - notification.success({ message: res.message, duration: 3 }) - }) - } else { - notification.warning({ message: '请先在电子文档中勾选一个文件。', duration: 3 }) + dsFile.value.openFileModel() + } + } + async function DealExcel() { + if (!rowId.value) { + await handleSave(false) + } + if (dsFile.value.dsFileList.SelectId) { + let ApiData: any = { + id: unref(rowId), + formName: 'CM_RentOneWay', + tableName: '', + fileId: dsFile.value.dsFileList.SelectId, } + ApiDealExcel(ApiData).then((res) => { + activeKey.value = '1' + refresh() + notification.success({ message: res.message, duration: 3 }) + }) } else { - notification.warning({ message: '请先保存', duration: 3 }) + notification.warning({ message: '请先在电子文档中勾选一个文件。', duration: 3 }) } } async function handleSave(exit) { diff --git a/src/views/ContainerManagement/RentOut/TenantAuditStepModal.vue b/src/views/ContainerManagement/RentOut/TenantAuditStepModal.vue index 1723bf25..693a561b 100644 --- a/src/views/ContainerManagement/RentOut/TenantAuditStepModal.vue +++ b/src/views/ContainerManagement/RentOut/TenantAuditStepModal.vue @@ -88,11 +88,13 @@ - + { - activeKey.value = '1' - refresh() - notification.success({ message: res.message, duration: 3 }) - }) - } else { - notification.warning({ message: '请先在电子文档中勾选一个文件。', duration: 3 }) + dsFile.value.openFileModel() + } + } + async function DealExcel() { + if (!rowId.value) { + await handleSave(false) + } + if (dsFile.value.dsFileList.SelectId) { + let ApiData: any = { + id: unref(rowId), + formName: 'CM_RentOut', + tableName: '', + fileId: dsFile.value.dsFileList.SelectId, } + ApiDealExcel(ApiData).then((res) => { + activeKey.value = '1' + refresh() + notification.success({ message: res.message, duration: 3 }) + }) } else { - notification.warning({ message: '请先保存', duration: 3 }) + notification.warning({ message: '请先在电子文档中勾选一个文件。', duration: 3 }) } } async function handleSave(exit) { diff --git a/src/views/ContainerManagement/SellCtn/TenantAuditStepModal.vue b/src/views/ContainerManagement/SellCtn/TenantAuditStepModal.vue index 77ba097a..447a40b3 100644 --- a/src/views/ContainerManagement/SellCtn/TenantAuditStepModal.vue +++ b/src/views/ContainerManagement/SellCtn/TenantAuditStepModal.vue @@ -86,11 +86,13 @@ - + { - activeKey.value = '1' - refresh() - notification.success({ message: res.message, duration: 3 }) - }) - } else { - notification.warning({ message: '请先在电子文档中勾选一个文件。', duration: 3 }) + dsFile.value.openFileModel() + } + } + async function DealExcel() { + if (!rowId.value) { + await handleSave(false) + } + if (dsFile.value.dsFileList.SelectId) { + let ApiData: any = { + id: unref(rowId), + formName: 'CM_SellCtn', + tableName: '', + fileId: dsFile.value.dsFileList.SelectId, } + ApiDealExcel(ApiData).then((res) => { + activeKey.value = '1' + refresh() + notification.success({ message: res.message, duration: 3 }) + }) } else { - notification.warning({ message: '请先保存', duration: 3 }) + notification.warning({ message: '请先在电子文档中勾选一个文件。', duration: 3 }) } } async function handleSave(exit) { diff --git a/src/views/ContainerManagement/TemplatImport/TenantAuditStepModal.vue b/src/views/ContainerManagement/TemplatImport/TenantAuditStepModal.vue index 027be735..4af9fb5f 100644 --- a/src/views/ContainerManagement/TemplatImport/TenantAuditStepModal.vue +++ b/src/views/ContainerManagement/TemplatImport/TenantAuditStepModal.vue @@ -51,11 +51,13 @@ - + { - if (res.succeeded) { - activeKey.value = '1' - refresh() - notification.success({ message: res.message, duration: 3 }) - } - }) - } else { - notification.warning({ message: '请先在电子文档中勾选一个文件。', duration: 3 }) + dsFile.value.openFileModel() + } + } + async function DealExcel() { + if (!rowId.value) { + await handleSave(false) + } + if (dsFile.value.dsFileList.SelectId) { + let ApiData: any = { + id: unref(rowId), + formName: 'CM_State_Change_TemplatImport', + tableName: '', + fileId: dsFile.value.dsFileList.SelectId, } + ApiDealExcel(ApiData).then((res) => { + if (res.succeeded) { + activeKey.value = '1' + refresh() + notification.success({ message: res.message, duration: 3 }) + } + }) } else { - notification.warning({ message: '请先保存', duration: 3 }) + notification.warning({ message: '请先在电子文档中勾选一个文件。', duration: 3 }) } } async function Confirm() { diff --git a/src/views/baseinfo/infoclient/columns.tsx b/src/views/baseinfo/infoclient/columns.tsx index f5191110..0b8de01c 100644 --- a/src/views/baseinfo/infoclient/columns.tsx +++ b/src/views/baseinfo/infoclient/columns.tsx @@ -417,7 +417,7 @@ export const searchFormSchema: FormSchema[] = [ label: '客户属性', field: 'clientTag', component: 'ApiSelect', - colProps: { span: 4 }, + colProps: { span: 8 }, componentProps: () => { return { api: () => { diff --git a/src/views/baseinfo/lanes/TenantAuditStepModal.vue b/src/views/baseinfo/lanes/TenantAuditStepModal.vue index cd39d532..4f624d8b 100644 --- a/src/views/baseinfo/lanes/TenantAuditStepModal.vue +++ b/src/views/baseinfo/lanes/TenantAuditStepModal.vue @@ -51,40 +51,41 @@ const loading = ref(false) const rowId = ref('') const { createMessage } = useMessage() - const [registerForm, { resetFields, setFieldsValue, validate, updateSchema, getFieldsValue }] = useForm({ - labelWidth: 100, - schemas: formSchema, - showActionButtonGroup: false, - }) - const [registerModal, { setModalProps, closeModal, updateFormField }] = useModalInner(async (data) => { - resetFields() - setModalProps({ confirmLoading: false, loading: true }) - updateFormField(updateSchema) - isUpdate.value = !!data?.isUpdate - if (unref(isUpdate)) { - // setModalProps({ confirmLoading: true }); - rowId.value = data.record.id - const res: API.DataResult = await ApiInfo({ id: unref(rowId) }) - // getFieldList() - if (res.succeeded) { - setFieldsValue({ - ...res.data - }) - // console.log('返回数据Form', getFieldsValue()); - // setFieldsValue({ trainId: unref(res.data.trainId) }); + const [registerForm, { resetFields, setFieldsValue, validate, updateSchema, getFieldsValue }] = + useForm({ + labelWidth: 100, + schemas: formSchema, + showActionButtonGroup: false, + }) + const [registerModal, { setModalProps, closeModal, updateFormField }] = useModalInner( + async (data) => { + resetFields() + setModalProps({ confirmLoading: false, loading: true }) + updateFormField(updateSchema) + isUpdate.value = !!data?.isUpdate + if (unref(isUpdate)) { + // setModalProps({ confirmLoading: true }); + rowId.value = data.record.id + const res: API.DataResult = await ApiInfo({ id: unref(rowId) }) + // getFieldList() + if (res.succeeded) { + setFieldsValue({ + ...res.data, + }) + // console.log('返回数据Form', getFieldsValue()); + // setFieldsValue({ trainId: unref(res.data.trainId) }); + } + // setModalProps({ confirmLoading: false }); + } else { + setFieldsValue({ permissionIdentity: unref(2) }) } - // setModalProps({ confirmLoading: false }); - } else { - setFieldsValue({ permissionIdentity: unref(2) }) - } - setModalProps({ loading: false }) - }) + setModalProps({ loading: false }) + }, + ) const getTitle = computed(() => (!unref(isUpdate) ? '新增航线信息' : '编辑航线信息')) async function handleSave(exit) { - console.log(getFieldsValue()) - return try { const values = await validate() setModalProps({ confirmLoading: true, loading: true }) diff --git a/src/views/fee/exchangeRate/columns.tsx b/src/views/fee/exchangeRate/columns.tsx index 5b1a9404..7c329ec7 100644 --- a/src/views/fee/exchangeRate/columns.tsx +++ b/src/views/fee/exchangeRate/columns.tsx @@ -1,8 +1,3 @@ -/* - * @Description: 汇率管理设置tsx - * @Author: lijj - * @Date: 2024-04-25 15:48:33 - */ import { BasicColumn, FormSchema } from '/@/components/Table' // 下拉框数据接口 import { GetFeeCurrencySelectList } from '/@/api/common' diff --git a/src/views/finance/feeSettlement/api.js b/src/views/finance/feeSettlement/api.js new file mode 100644 index 00000000..448b7490 --- /dev/null +++ b/src/views/finance/feeSettlement/api.js @@ -0,0 +1,11 @@ +import { request } from '/@/utils/request' + +// 获取列表 (Auth) +export function PaymentSettlementGetList(parameter) { + return request({ + url: '/feeApi/PaymentSettlement/GetList', + method: 'post', + data: parameter, + }) +} + diff --git a/src/views/finance/feeSettlement/columns.tsx b/src/views/finance/feeSettlement/columns.tsx new file mode 100644 index 00000000..af75772e --- /dev/null +++ b/src/views/finance/feeSettlement/columns.tsx @@ -0,0 +1,201 @@ +import { def } from '@vue/shared' +import { BasicColumn, FormSchema } from '/@/components/Table' +import { Tag } from 'ant-design-vue' +export const columns: BasicColumn[] = [ + { + title: '结算单号', + dataIndex: 'applicationNO', + width: 100, + }, + { + title: '状态', + dataIndex: 'isLocked', + width: 100, + }, + { + title: '结算单位', + dataIndex: 'customerName', + width: 100, + }, + { + title: '结算类别', + dataIndex: 'modeText', + width: 100, + }, + { + title: '结算方式', + dataIndex: 'settlementTypeName', + width: 100, + }, + { + title: '币别', + dataIndex: 'currency', + width: 100, + }, + { + title: 'RMB', + dataIndex: 'rmbAmount', + width: 100, + }, + { + title: 'USD', + dataIndex: 'usdAmount', + width: 100, + }, + { + title: '其他币别', + dataIndex: 'otherAmount', + width: 100, + }, + { + title: '未开票', + dataIndex: 'unInvoiceAmount', + width: 100, + }, + { + title: '结算日期', + dataIndex: 'settlementDate', + width: 100, + }, + { + title: '结算人', + dataIndex: 'createByName', + width: 100, + }, + { + title: '结算账户', + dataIndex: 'customerAccount', + width: 100, + }, + { + title: '银行账户', + dataIndex: 'customerBank', + width: 100, + }, + { + title: '是否导出凭证', + dataIndex: 'isExportVoucher', + width: 100, + }, + { + title: '禁止生成凭证', + dataIndex: 'isVoucherDisabled', + width: 100, + }, + { + title: '备注', + dataIndex: 'note', + width: 100, + }, + { + title: '发票号', + dataIndex: 'invoiceNO', + width: 100, + }, + { + title: '相关号码', + dataIndex: 'relativeNO', + width: 100, + }, + { + title: '原始金额', + dataIndex: 'originalAmount', + width: 100, + }, + { + title: '总账凭证号', + dataIndex: 'ledgerVoucherNO', + width: 100, + }, + { + title: '所属分部', + dataIndex: 'saleDeptName', + width: 100, + }, + { + title: '记账资料', + dataIndex: 'accountAmount', + width: 100, + }, + { + title: '预收支资料', + dataIndex: 'advanceAmount', + width: 100, + }, + { + title: '实收支资料', + dataIndex: 'ahsrAmount', + width: 100, + }, + { + title: '财务费用', + dataIndex: 'financialAmount', + width: 100, + }, + { + title: '预收支取用资料', + dataIndex: 'advanceAmount', + width: 100, + }, + { + title: '创建日期', + dataIndex: 'createTime', + width: 100, + }, + { + title: '申请单号', + dataIndex: 'applicationNO', + width: 100, + }, + { + title: '发票申请单号', + dataIndex: 'applicationNO', + width: 100, + }, + { + title: '结算单位银行', + dataIndex: 'customerBank', + width: 100, + }, + { + title: '结算单位账户', + dataIndex: 'customerAccount', + width: 100, + }, + { + title: '锁定时间', + dataIndex: 'lockTime', + width: 100, + }, + { + title: '锁定人', + dataIndex: 'lockUser', + width: 100, + }, + { + title: '撤销锁定时间', + dataIndex: 'unlockTime', + width: 100, + }, + { + title: '撤销锁定人', + dataIndex: 'unlockUser', + width: 100, + }, +] + +export const searchFormSchema: FormSchema[] = [ + { + field: 'mode', + component: 'Input', + defaultValue: '2', + show: false, + colProps: { span: 6 }, + }, + { + field: 'mblno', + label: '主提单号', + component: 'Input', + colProps: { span: 6 }, + }, +] diff --git a/src/views/finance/feeSettlement/index.vue b/src/views/finance/feeSettlement/index.vue new file mode 100644 index 00000000..52212a52 --- /dev/null +++ b/src/views/finance/feeSettlement/index.vue @@ -0,0 +1,242 @@ + + + diff --git a/src/views/operation/invoiceApply/detail/feeTable.vue b/src/views/operation/invoiceApply/detail/feeTable.vue index 18904e64..e90a9597 100644 --- a/src/views/operation/invoiceApply/detail/feeTable.vue +++ b/src/views/operation/invoiceApply/detail/feeTable.vue @@ -26,7 +26,7 @@ 附件上传 -
+
@@ -167,8 +167,8 @@ import { emit } from 'process' function updateList(val, type) { emits('updateListSave', val, type) } -function addLeft(val,data,exchang,type) { - emits('addLeftSave', val,data,exchang,type) +function addLeft(val, data, exchang, type) { + emits('addLeftSave', val, data, exchang, type) } const dsFile = ref('') const route = useRoute() @@ -191,6 +191,7 @@ const row = { quantity: 1, unit: '', specification: '', + applicationId: route.query.id ? route.query.id : 0, } // 表格绑定数据 const list = ref([]) as any @@ -200,6 +201,7 @@ const allCheck = ref(false) // 部分勾选 const someCheck = ref(false) const unitDict = ref([]) as any +const feeDataList = ref([]) // 定义表格所有列 const columns = [ { @@ -219,6 +221,7 @@ const columns = [ source: async (query, process) => { const res = feeDict.value.length ? feeDict.value : (await GetInvoiceCodeList())?.data if (!feeDict.value.length) feeDict.value = res + feeDataList.value = res const dict = res.map((res) => { return res.displayName }) @@ -300,8 +303,7 @@ const columns = [ ] // 表格配置项 const settings = { - width: '100%', - heigth: 300, + height: '300', autoWrapRow: true, autoWrapCol: true, // 每行的高度 @@ -375,6 +377,25 @@ const settings = { (list.value[index].amount || 0) - (list.value[index].noTaxAmount || 0), ).toFixed(2) } + if (changes[0][1] === 'name') { + feeDataList.value.forEach(item => { + if (item.displayName == list.value[index].name) { + list.value[index].taxRate = item.taxRate + // 不含税单价 + list.value[index].unitPrice = Number( + (list.value[index].taxUnitPrice || 0) / ((list.value[index].taxRate || 0) / 100 + 1), + ).toFixed(2) + // 不含税金额 + list.value[index].noTaxAmount = Number( + (list.value[index].unitPrice || 0) * (list.value[index].quantity || 0), + ).toFixed(2) + // 税额 + list.value[index].taxAmount = Number( + (list.value[index].amount || 0) - (list.value[index].noTaxAmount || 0), + ).toFixed(2) + } + }) + } } }, } @@ -666,3 +687,20 @@ defineExpose({ list, dataSource, init, changeCust, open }) margin-bottom: 2px; } + diff --git a/src/views/operation/invoiceIssue/detail/index.vue b/src/views/operation/invoiceIssue/detail/index.vue index adf9de55..5b1d7e3e 100644 --- a/src/views/operation/invoiceIssue/detail/index.vue +++ b/src/views/operation/invoiceIssue/detail/index.vue @@ -783,7 +783,8 @@ function updateListFreeLeft(val) { const data = { invoice: { ...form.value, - ...getFieldsValue() + ...getFieldsValue(), + invoiceDetails:list.value }, bizList: val, } @@ -810,9 +811,9 @@ function handleUpdate(val) { const data = { invoice: { ...form.value, - ...getFieldsValue() + ...getFieldsValue(), + invoiceDetails:list.value }, - invoiceDetails: list.value, applications: val, } loading.value = true @@ -844,7 +845,8 @@ function updateListFree(val) { const data = { invoice: { ...form.value, - ...getFieldsValue() + ...getFieldsValue(), + invoiceDetails:list.value }, details: val, } @@ -1469,6 +1471,11 @@ watchEffect(() => { width: 39%; margin-left: 1%; } +.line { + font-size: 12px; + border-bottom: 1px solid rgba(158, 83, 9, 1); + padding: 5px 0; +} \ No newline at end of file