|  |  |  | 
|---|
|  |  |  | :width="700" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <ProForm :model="form" ref="dialogForm" label-width="120px"> | 
|---|
|  |  |  | <ProFormItemV2 label="所属银行:" prop="bank" :check-rules="[{ message: '请输入所属银行' }]"> | 
|---|
|  |  |  | <ProFormText placeholder="请输入所属银行" v-model.trim="form.bank"></ProFormText> | 
|---|
|  |  |  | </ProFormItemV2> | 
|---|
|  |  |  | <ProFormItemV2 | 
|---|
|  |  |  | <template v-if="form.settlementAccess === EnumEnterpriseWalletAccess.PingAnPay"> | 
|---|
|  |  |  | <ProFormItemV2 | 
|---|
|  |  |  | label="所属银行:" | 
|---|
|  |  |  | prop="bank" | 
|---|
|  |  |  | :check-rules="[{ message: '请输入所属银行' }]" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <ProFormText placeholder="请输入所属银行" v-model.trim="form.bank"></ProFormText> | 
|---|
|  |  |  | </ProFormItemV2> | 
|---|
|  |  |  | <!-- <ProFormItemV2 | 
|---|
|  |  |  | label="开户支行:" | 
|---|
|  |  |  | prop="bankBranch" | 
|---|
|  |  |  | :check-rules="[{ message: '请输入所属银行' }]" | 
|---|
|  |  |  | :check-rules="[{ message: '请输入开户支行' }]" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <ProFormText placeholder="请输入开户支行" v-model.trim="form.bankBranch"></ProFormText> | 
|---|
|  |  |  | </ProFormItemV2> --> | 
|---|
|  |  |  | <ProFormItemV2 | 
|---|
|  |  |  | label="收款账户:" | 
|---|
|  |  |  | prop="receiveAccount" | 
|---|
|  |  |  | :check-rules="[{ message: '请输入收款账户' }]" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <ProFormText | 
|---|
|  |  |  | placeholder="请输入收款账户" | 
|---|
|  |  |  | v-model.trim="form.receiveAccount" | 
|---|
|  |  |  | ></ProFormText> | 
|---|
|  |  |  | </ProFormItemV2> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- <ProFormItemV2 label="调整工时:" prop="totalWorkHours"> | 
|---|
|  |  |  | <ProFormInputNumber | 
|---|
|  |  |  | placeholder="请输入调整工时" | 
|---|
|  |  |  | v-model.trim="form.totalWorkHours" | 
|---|
|  |  |  | :controls="false" | 
|---|
|  |  |  | :min="0" | 
|---|
|  |  |  | ></ProFormInputNumber> | 
|---|
|  |  |  | </ProFormItemV2> --> | 
|---|
|  |  |  | <ProFormItemV2 label="服务费:" prop="serviceFee"> | 
|---|
|  |  |  | <ProFormInputNumber | 
|---|
|  |  |  | placeholder="请输入服务费:" | 
|---|
|  |  |  | v-model.trim="form.serviceFee" | 
|---|
|  |  |  | :controls="false" | 
|---|
|  |  |  | :min="0" | 
|---|
|  |  |  | disabled | 
|---|
|  |  |  | unit="元" | 
|---|
|  |  |  | ></ProFormInputNumber> | 
|---|
|  |  |  | </ProFormItemV2> | 
|---|
|  |  |  | <ProFormItemV2 | 
|---|
|  |  |  | label="收款账户:" | 
|---|
|  |  |  | prop="receiveAccount" | 
|---|
|  |  |  | :check-rules="[{ message: '请输入收款账户' }]" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <ProFormText placeholder="请输入收款账户" v-model.trim="form.receiveAccount"></ProFormText> | 
|---|
|  |  |  | <ProFormItemV2 label="超时:" prop="timeoutHours"> | 
|---|
|  |  |  | <ProFormInputNumber | 
|---|
|  |  |  | placeholder="请输入超时:" | 
|---|
|  |  |  | v-model.trim="form.timeoutHours" | 
|---|
|  |  |  | :controls="false" | 
|---|
|  |  |  | :min="0" | 
|---|
|  |  |  | unit="小时" | 
|---|
|  |  |  | @change="onTimeoutHoursChange" | 
|---|
|  |  |  | ></ProFormInputNumber> | 
|---|
|  |  |  | </ProFormItemV2> | 
|---|
|  |  |  | <ProFormItemV2 | 
|---|
|  |  |  | <ProFormItemV2 label="超时费用:" prop="timeoutFee"> | 
|---|
|  |  |  | <ProFormInputNumber | 
|---|
|  |  |  | placeholder="请输入超时费用:" | 
|---|
|  |  |  | v-model.trim="form.timeoutFee" | 
|---|
|  |  |  | :controls="false" | 
|---|
|  |  |  | :min="0" | 
|---|
|  |  |  | unit="元" | 
|---|
|  |  |  | @change="onActualSettlementAmountChange" | 
|---|
|  |  |  | ></ProFormInputNumber> | 
|---|
|  |  |  | </ProFormItemV2> | 
|---|
|  |  |  | <ProFormItemV2 label="其他费用:" prop="otherFee"> | 
|---|
|  |  |  | <ProFormInputNumber | 
|---|
|  |  |  | placeholder="请输入其他费用:" | 
|---|
|  |  |  | v-model.trim="form.otherFee" | 
|---|
|  |  |  | :controls="false" | 
|---|
|  |  |  | unit="元" | 
|---|
|  |  |  | @change="onActualSettlementAmountChange" | 
|---|
|  |  |  | ></ProFormInputNumber> | 
|---|
|  |  |  | </ProFormItemV2> | 
|---|
|  |  |  | <ProFormItemV2 label="结算金额:" prop="settlementAmount" mode="read"> | 
|---|
|  |  |  | <ProFormInputNumber | 
|---|
|  |  |  | :modelValue="settlementAmount" | 
|---|
|  |  |  | :controls="false" | 
|---|
|  |  |  | :min="0" | 
|---|
|  |  |  | unit="元" | 
|---|
|  |  |  | ></ProFormInputNumber> | 
|---|
|  |  |  | </ProFormItemV2> | 
|---|
|  |  |  | <!-- <ProFormItemV2 | 
|---|
|  |  |  | label="结算金额:" | 
|---|
|  |  |  | prop="settlementAmount" | 
|---|
|  |  |  | :check-rules="[{ message: '请输入结算金额' }]" | 
|---|
|  |  |  | 
|---|
|  |  |  | :controls="false" | 
|---|
|  |  |  | :min="0" | 
|---|
|  |  |  | ></ProFormInputNumber> | 
|---|
|  |  |  | </ProFormItemV2> | 
|---|
|  |  |  | </ProFormItemV2> --> | 
|---|
|  |  |  | <ProFormItemV2 | 
|---|
|  |  |  | label="实发金额:" | 
|---|
|  |  |  | prop="actualSettlementAmount" | 
|---|
|  |  |  | 
|---|
|  |  |  | v-model.trim="form.actualSettlementAmount" | 
|---|
|  |  |  | :controls="false" | 
|---|
|  |  |  | :min="0" | 
|---|
|  |  |  | unit="元" | 
|---|
|  |  |  | ></ProFormInputNumber> | 
|---|
|  |  |  | </ProFormItemV2> | 
|---|
|  |  |  | <ProFormItemV2 label="备注:" prop="remark"> | 
|---|
|  |  |  | <ProFormTextArea placeholder="请输入备注" v-model="form.remark"></ProFormTextArea> | 
|---|
|  |  |  | </ProFormItemV2> | 
|---|
|  |  |  | </ProForm> | 
|---|
|  |  |  | <template #footer> | 
|---|
|  |  |  | 
|---|
|  |  |  | ProFormItemV2, | 
|---|
|  |  |  | ProFormText, | 
|---|
|  |  |  | UploadUserFile, | 
|---|
|  |  |  | ProFormTextArea, | 
|---|
|  |  |  | } from '@bole-core/components'; | 
|---|
|  |  |  | import { EnumEnterpriseWalletAccess } from '@/constants'; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | defineOptions({ | 
|---|
|  |  |  | name: 'EditAccountInfoDialog', | 
|---|
|  |  |  | 
|---|
|  |  |  | title?: string; | 
|---|
|  |  |  | id?: string; | 
|---|
|  |  |  | settlementAmount: number; | 
|---|
|  |  |  | // totalWorkHours: number; | 
|---|
|  |  |  | actualSettlementAmount: number; | 
|---|
|  |  |  | receiveAccount: string; | 
|---|
|  |  |  | bank: string; | 
|---|
|  |  |  | bankBranch?: string; | 
|---|
|  |  |  | settlementAccess: EnumEnterpriseWalletAccess; | 
|---|
|  |  |  | timeoutServiceFee: number; | 
|---|
|  |  |  | serviceFee: number; | 
|---|
|  |  |  | timeoutHours: number; | 
|---|
|  |  |  | timeoutFee: number; | 
|---|
|  |  |  | otherFee: number; | 
|---|
|  |  |  | remark: string; | 
|---|
|  |  |  | }; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const visible = defineModel({ type: Boolean }); | 
|---|
|  |  |  | 
|---|
|  |  |  | (e: 'onCancel'): void; | 
|---|
|  |  |  | }>(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const settlementAmount = computed(() => sumSettlementAmount()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | function sumSettlementAmount() { | 
|---|
|  |  |  | return (form.value.timeoutFee ?? 0) + (form.value.serviceFee ?? 0) + (form.value.otherFee ?? 0); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | function onTimeoutHoursChange(val: number) { | 
|---|
|  |  |  | form.value.timeoutFee = form.value.timeoutServiceFee * val; | 
|---|
|  |  |  | onActualSettlementAmountChange(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | function onActualSettlementAmountChange() { | 
|---|
|  |  |  | form.value.actualSettlementAmount = sumSettlementAmount(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const dialogForm = ref<FormInstance>(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | function onDialogClose() { | 
|---|