diff --git a/src/views/wms/deliversettlementManage/customerSaleInvoiceRequestMain/CustomerSaleInvoiceBasicForm.vue b/src/views/wms/deliversettlementManage/customerSaleInvoiceRequestMain/CustomerSaleInvoiceBasicForm.vue new file mode 100644 index 000000000..d16bb0b12 --- /dev/null +++ b/src/views/wms/deliversettlementManage/customerSaleInvoiceRequestMain/CustomerSaleInvoiceBasicForm.vue @@ -0,0 +1,250 @@ + + + \ No newline at end of file diff --git a/src/views/wms/deliversettlementManage/customerSaleInvoiceRequestMain/index.vue b/src/views/wms/deliversettlementManage/customerSaleInvoiceRequestMain/index.vue index d960b2589..5b5e64477 100644 --- a/src/views/wms/deliversettlementManage/customerSaleInvoiceRequestMain/index.vue +++ b/src/views/wms/deliversettlementManage/customerSaleInvoiceRequestMain/index.vue @@ -39,49 +39,7 @@ - + import download from '@/utils/download' +import CustomerSaleInvoiceBasicForm from './CustomerSaleInvoiceBasicForm.vue' import { CustomerSaleInvoiceMain,CustomerSaleInvoiceMainRules,CustomerSaleInvoiceDetailRules,CustomerSaleInvoiceDetail} from './customerSaleInvoiceRequestMain.data' import * as CustomerSaleInvoiceMainApi from '@/api/wms/customerSaleInvoiceMain' import * as CustomerSaleInvoiceDetailApi from '@/api/wms/customerSaleInvoiceDetail' @@ -143,68 +102,7 @@ const updataTableColumns = (val) => { tableColumns.value = val } -// 查询页面返回 -const searchTableSuccess = (formField, searchField, val, formRef, type, row ) => { - nextTick(async () => { - if (type == 'tableForm') { - if(formField == 'itemCode') { - let itemCodes = val.filter(item=>tableData.value.find(item1=>item1['itemCode']==item['itemCode'])) - if(itemCodes.length>0){ - itemCodes = itemCodes.map(item=>(item['itemCode'])) - message.warning(`物料${itemCodes.join(',')}已经存在`) - } - val = val.filter(item=>!tableData.value.find(item1=>item1['itemCode']==item['itemCode'])) - if(val.length==0) return - val.forEach(item=>{ - const newRow = JSON.parse(JSON.stringify({...tableFormKeys,...item})) - row[formField] = item[searchField] - newRow['uom'] = item['customerUom'] - newRow['id'] = item['id'] - tableData.value.push(newRow) - }) - }else{ - row[formField] = val[0][searchField] - } - // if(formField == 'itemCode') { - // row['uom'] = val[0]['customerUom'] - // } - // 明细查询页赋值 - - } else { - const setV = {} - if(formField == 'customerStatementNumber') { - //客户对账单 - setV['customerCode'] = val[0]['customerCode'] - setV['customerName'] = val[0]['customerName'] - CustomerStatementDetailApi.getCustomerStatementDetailPage({ - pageNo:1, - pageNSize: 100, - masterId:val[0]['id'] - }).then((res) => { - console.log(55,res) - tableData.value = res.list && res.list.length > 0 ?res.list : [] - tableData.value.forEach(item=>{ - item['sumPrice'] = item['price'] + item['allocationPrice'] - // 未税金额 默认等于数量*合计单价,可修改,必填,最多可输入2位小数 - item['beforeTaxAmount'] = item['sumPrice']*item['qty'] - // 含税金额 未税价格+税额,四舍五入保留2位小数 - item['afterTaxAmount'] = item['beforeTaxAmount'] + item['taxAmount'] //含税金额 - - // 税额:taxAmount 未税价格*税率/100,四舍五入保留2位小数 - item['taxAmount'] = (item['beforeTaxAmount'] * formRef.formModel['taxRate'])/100 //含税金额 - - - }) - - }) - // tableData.value = [] - - } - setV[formField] = val[0][searchField] - formRef.setValues(setV) - } - }) -} + // 查询页面返回——详情 const searchTableSuccessDetail = (formField, searchField, val, formRef ) => { nextTick(() => { @@ -282,13 +180,7 @@ const butttondata = (row,$index) => { return [] } return [ - // defaultButtons.mainListPlanOpeBtn({hide:isShowMainButton(row,['5']),hasPermi:`wms:customer-sale-invoice-request-main:open`}), // 打开 - // defaultButtons.mainListPlanCloBtn({hide:isShowMainButton(row,['1','2','3','4']),hasPermi:`wms:customer-sale-invoice-request-main:close`}), // 关闭 - // defaultButtons.mainListPlanSubBtn({hide:isShowMainButton(row,['1']),hasPermi:`wms:customer-sale-invoice-request-main:submit`}), // 提交审批 - // defaultButtons.mainListPlanTurBtn({hide:isShowMainButton(row,['2']),hasPermi:`wms:customer-sale-invoice-request-main:reject`}), // 驳回 - // defaultButtons.mainListPlanAppBtn({hide:isShowMainButton(row,['2']),hasPermi:`wms:customer-sale-invoice-request-main:agree`}), // 审批通过 defaultButtons.mainListPlanPubBtn({hide:isShowMainButton(row,['0']),hasPermi:`wms:customer-sale-invoice-request-main:publish`}), // 发布 - // defaultButtons.mainListPlanResBtn({hide:isShowMainButton(row,['4']),hasPermi:`wms:customer-sale-invoice-request-main:resetting`}), // 重置 defaultButtons.mainListEditBtn({hide:isShowMainButton(row,['0']),hasPermi:`wms:customer-sale-invoice-request-main:update`}), // 编辑 defaultButtons.mainListCancelBtn({hide: isShowMainButton(row,['0']),hasPermi:'wms:customer-sale-invoice-request-main:cancel'}), //作废 @@ -329,16 +221,7 @@ const buttonTableClick = async (val, row) => { /** 添加/修改操作 */ const formRef = ref() const openForm =async (type: string, row?: any) => { - CustomerSaleInvoiceMain.allSchemas.formSchema.forEach((item) => { - if(item.field == 'customerStatementNumber'){ - item.componentProps.disabled = type=='update' - item.componentProps.isSearchList = type!='update' - item.componentProps.enterSearch = type!='update' - - } - }) - tableData.value = [] // 重置明细数据 - formRef.value.open(type, row) + formRef.value.openForm(type,row) } /** 详情操作 */ @@ -347,20 +230,7 @@ const openDetail = (row: any, titleName: any, titleValue: any) => { detailRef.value.openDetail(row, titleName, titleValue,'planDeliverMain') } -/** 删除按钮操作 */ -const handleDelete = async (id: number) => { - try { - // 删除的二次确认 - await message.delConfirm() - tableObject.loading = true - // 发起删除 - await CustomerSaleInvoiceMainApi.deleteCustomerSaleInvoiceMain(id) - tableObject.loading = false - message.success(t('common.delSuccess')) - // 刷新列表 - buttonBaseClick('refresh',null) - } catch {} -} + /** 导出按钮操作 */ const handleExport = async () => { @@ -378,123 +248,6 @@ const handleExport = async () => { } } -/** - * tableForm方法 -*/ -const tableFormKeys = {} -CustomerSaleInvoiceDetail.allSchemas.tableFormColumns.forEach(item => { - tableFormKeys[item.field] = item.default ? item.default : '' -}) -const tableData = ref([]) - -// 添加明细 -const handleAddTable = () => { - tableData.value.push(JSON.parse(JSON.stringify(tableFormKeys))) -} -// 删除明细 -const handleDeleteTable = (item, index) => { - let itemIndex = tableData.value.indexOf(item) - if(itemIndex>-1){ - tableData.value.splice(itemIndex, 1) - } -} -const tableSelectionDelete = (selection) => { - tableData.value = tableData.value.filter(item => !selection.includes(item)) -} - -const onChange = (field, cur, formRef)=>{ - - console.log('onChange',field, cur, formRef) - - if(field == 'taxRate'){ - // 税额:taxAmount 未税价格*税率/100,四舍五入保留2位小数 - tableData.value.forEach(item=>{ - item['taxAmount'] = (item['beforeTaxAmount'] * cur)/100 //含税金额 - }) - } -} - -const inputNumberChange = (field, index, row, val) => { - console.log('inputNumberChange',field, index, row, val) - // 合计单价 = 销售单价 + 模具分摊单价 - row['sumPrice'] = row['price'] + row['allocationPrice'] - - // 含税金额 = 未税价格+税额,四舍五入保留2位小数 - row['afterTaxAmount'] = row['beforeTaxAmount'] + row['taxAmount'] - - // 模具分摊单价 默认从模具分摊对账单带出,未税金额修改后重新计算,等于未税金额/数量-销售单价 - row['allocationPrice'] = row['beforeTaxAmount']/row['qty'] - row['price'] - - -} -//为true表示子表数据中存在数量为0的数据 -const flag = ref(false) - -// 主子数据 提交 -const submitForm = async (formType, submitData) => { - let data = {...submitData} - if(data.masterId){ - data.id = data.masterId - } - data.subList = tableData.value // 拼接子表数据参数 - data.subList.forEach(item=>{ - item.toWarehouseCode = data.toWarehouseCode - item.toLocationCode = data.toLocationCode - }) - data.businessType = businessType.value - // 判断是否重复物料 - let isExist = false - tableData.value.forEach(item => { - let rs = tableData.value.filter(filterItem => (filterItem.itemCode == item.itemCode)) - if(rs.length > 1) isExist = true - }) - if (isExist) { - formRef.value.formLoading = false - return message.warning('物料代码重复') - } - data.subList.forEach(obj => { - if(obj.qty == 0){ - message.error(`数量不能为0!`) - flag.value = true - return; - } - }) - if(flag.value){ - return - } - var isHave =CustomerSaleInvoiceMain.allSchemas.formSchema.some(function (item) { - return item.field === 'beginTime' || item.field === 'endTime'; - }); - if(isHave){ - if(data.beginTime && data.endTime && data.beginTime >=data.expireTime){ - message.error('结束时间要大于开始时间') - return; - } - } - console.log(data.beginTime) - if(!data.beginTime)data.beginTime = null; - if(!data.planDate)data.planDate = null; - if(!data.endTime)data.endTime = null; - formRef.value.formLoading = true - try { - if (formType === 'create') { - await CustomerSaleInvoiceMainApi.createCustomerSaleInvoiceMain(data) - message.success(t('common.createSuccess')) - } else { - await CustomerSaleInvoiceMainApi.updateCustomerSaleInvoiceMain(data) - message.success(t('common.updateSuccess')) - } - formRef.value.dialogVisible = false - // 刷新当前列表 - if (formType === 'create') { - getList() - }else{ - buttonBaseClick('refresh',null) - } - } finally { - formRef.value.formLoading = false - } -} /** 导入 */ const importFormRef = ref()