zhengyiming
3 天以前 c65bd42eb455560e90b99e0897f30fe81c4444d9
src/views/ServiceChargeManage/components/EditAccountInfoDialog.vue
@@ -8,24 +8,87 @@
    :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: '请输入开户支行' }]"
      >
        <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="元"
        ></ProFormInputNumber>
      </ProFormItemV2>
      <ProFormItemV2 label="其他费用:" prop="otherFee">
        <ProFormInputNumber
          placeholder="请输入其他费用:"
          v-model.trim="form.otherFee"
          :controls="false"
          unit="元"
        ></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: '请输入结算金额' }]"
@@ -36,7 +99,7 @@
          :controls="false"
          :min="0"
        ></ProFormInputNumber>
      </ProFormItemV2>
      </ProFormItemV2> -->
      <ProFormItemV2
        label="实发金额:"
        prop="actualSettlementAmount"
@@ -47,7 +110,11 @@
          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>
@@ -68,7 +135,9 @@
  ProFormItemV2,
  ProFormText,
  UploadUserFile,
  ProFormTextArea,
} from '@bole-core/components';
import { EnumEnterpriseWalletAccess } from '@/constants';
defineOptions({
  name: 'EditAccountInfoDialog',
@@ -78,10 +147,18 @@
  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 });
@@ -93,6 +170,14 @@
  (e: 'onCancel'): void;
}>();
const settlementAmount = computed(
  () => (form.value.timeoutFee ?? 0) + (form.value.serviceFee ?? 0) + (form.value.otherFee ?? 0)
);
function onTimeoutHoursChange(val: number) {
  form.value.timeoutFee = form.value.timeoutServiceFee * val;
}
const dialogForm = ref<FormInstance>();
function onDialogClose() {