style:供应商信息-新增/编辑字段调整

main
黄伟杰 2 days ago
parent 4ba131c4a3
commit 1a3e648dbc

@ -33,11 +33,6 @@
<el-input v-model="formData.email" placeholder="请输入电子邮箱" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="传真" prop="fax">
<el-input v-model="formData.fax" placeholder="请输入传真" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="开启状态" prop="status">
<el-radio-group v-model="formData.status">
@ -61,37 +56,6 @@
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="纳税人识别号" prop="taxNo">
<el-input v-model="formData.taxNo" placeholder="请输入纳税人识别号" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="税率(%)" prop="taxPercent">
<el-input-number
v-model="formData.taxPercent"
:min="0"
:precision="2"
placeholder="请输入税率"
class="!w-1/1"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="开户行" prop="bankName">
<el-input v-model="formData.bankName" placeholder="请输入开户行" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="开户账号" prop="bankAccount">
<el-input v-model="formData.bankAccount" placeholder="请输入开户账号" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="开户地址" prop="bankAddress">
<el-input v-model="formData.bankAddress" placeholder="请输入开户地址" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input type="textarea" v-model="formData.remark" placeholder="请输入备注" />
@ -127,15 +91,9 @@ const formData = ref({
mobile: undefined,
telephone: undefined,
email: undefined,
fax: undefined,
remark: undefined,
status: undefined,
sort: undefined,
taxNo: undefined,
taxPercent: undefined,
bankName: undefined,
bankAccount: undefined,
bankAddress: undefined
})
const formRules = reactive({
name: [{ required: true, message: '名称不能为空', trigger: 'blur' }],
@ -144,6 +102,14 @@ const formRules = reactive({
})
const formRef = ref() // Ref
const omittedSubmitFields = ['fax', 'taxNo', 'taxPercent', 'bankName', 'bankAccount', 'bankAddress']
const buildSubmitData = () => {
const data = { ...(formData.value as Record<string, unknown>) }
omittedSubmitFields.forEach((field) => delete data[field])
return data as unknown as SupplierVO
}
/** 打开弹窗 */
const open = async (type: string, id?: number) => {
dialogVisible.value = true
@ -170,7 +136,7 @@ const submitForm = async () => {
//
formLoading.value = true
try {
const data = formData.value as unknown as SupplierVO
const data = buildSubmitData()
if (formType.value === 'create') {
await SupplierApi.createSupplier(data)
message.success(t('common.createSuccess'))
@ -195,15 +161,9 @@ const resetForm = () => {
mobile: undefined,
telephone: undefined,
email: undefined,
fax: undefined,
remark: undefined,
status: CommonStatusEnum.ENABLE,
sort: undefined,
taxNo: undefined,
taxPercent: undefined,
bankName: undefined,
bankAccount: undefined,
bankAddress: undefined
}
formRef.value?.resetFields()
}

@ -344,7 +344,7 @@
<el-table-column v-if="currentSelectRow?.outMode === 2" :label="t('ErpStock.Item.outPackageCount')"
min-width="130">
<template #default="{ row }">
<el-input-number v-model="row.packageCount" controls-position="right" :min="0" :precision="0" class="!w-100%"
<el-input-number v-model="row.packageCount" controls-position="right" :min="1" :precision="0" class="!w-100%"
@change="handlePalletPackageCountChange($event, row)" @click.stop />
</template>
</el-table-column>
@ -630,11 +630,16 @@ const showRelatedMaintainColumn = computed(
)
function validatePallets(_: any, value: any[], callback: (error?: Error) => void) {
if (!isProductStockOut.value || (Array.isArray(value) && value.length > 0)) {
if (!isProductStockOut.value) {
callback()
return
}
callback(new Error(t('ErpStock.Item.validatorPalletRequired')))
if (!Array.isArray(value) || value.length === 0) {
callback(new Error(t('ErpStock.Item.validatorPalletRequired')))
return
}
const hasInvalidPackageCount = value.some((item) => !Number.isFinite(Number(item?.packageCount)) || Number(item?.packageCount) <= 0)
callback(hasInvalidPackageCount ? new Error(t('ErpStock.Item.validatorPackageCountRequired')) : undefined)
}
const productCascaderProps = {
@ -1176,7 +1181,10 @@ const getPalletLockedPackageCount = (pallet: PalletVO) => {
return Number.isFinite(lockedPackageCount) ? Math.max(lockedPackageCount, 0) : 0
}
const hasPositiveAvailablePackageCount = (pallet: PalletVO) => getPalletAvailablePackageCount(pallet) > 0
const isPalletSelectable = (pallet: PalletVO) => {
if (!hasPositiveAvailablePackageCount(pallet)) return false
if (Number(currentSelectRow.value?.outMode) !== 1) return true
return getPalletLockedPackageCount(pallet) === 0
}

Loading…
Cancel
Save