Browse Source

增加采购预付款功能

lxf 1 year ago
parent
commit
a5f1773739
1 changed files with 79 additions and 9 deletions
  1. 79 9
      src/components/process/PurchasePayment.vue

+ 79 - 9
src/components/process/PurchasePayment.vue

@@ -2,19 +2,33 @@
   <div style="width: 100%; padding: 0px 15px">
     <byForm :formConfig="formConfig" :formOption="formOption" v-model="formData.data" :rules="rules" ref="submit">
       <template #deadline>
-        <div>
-          <el-date-picker v-model="formData.data.deadline" type="date" placeholder="请选择付款期限" value-format="YYYY-MM-DD" />
+        <div style="width: 100%">
+          <el-date-picker v-model="formData.data.deadline" type="date" placeholder="请选择付款期限" value-format="YYYY-MM-DD" style="width: 100%" />
         </div>
       </template>
       <template #receiptsNum>
-        <div>
+        <div style="width: 100%">
           <el-input-number
             onmousewheel="return false;"
             v-model="formData.data.receiptsNum"
             placeholder="请输入单据数量"
             :min="0"
             :precision="0"
-            :controls="false" />
+            :controls="false"
+            style="width: 100%" />
+        </div>
+      </template>
+      <template #rate>
+        <div style="width: 100%">
+          <el-input-number
+            onmousewheel="return false;"
+            v-model="formData.data.rate"
+            placeholder="请输入税率"
+            :min="0"
+            :max="100"
+            :precision="2"
+            :controls="false"
+            style="width: 100%" />
         </div>
       </template>
       <template #fileList>
@@ -115,6 +129,9 @@ let formData = reactive({
     userName: "",
     payDetailList: [],
     fileList: [],
+    advanceCode: "",
+    type: "",
+    rate: undefined,
   },
 });
 const submit = ref(null);
@@ -130,6 +147,17 @@ const judgeStatus = () => {
   }
   return false;
 };
+const type = ref([
+  {
+    label: "未核销",
+    value: "0",
+  },
+  {
+    label: "发票核销",
+    value: "1",
+  },
+]);
+const advanceCode = ref([]);
 const formOption = reactive({
   inline: true,
   labelWidth: 100,
@@ -152,21 +180,35 @@ const formConfig = computed(() => {
       fn: (val) => {
         changeSupply(val);
       },
+      style: "width: 100%",
     },
     {
       type: "slot",
       prop: "deadline",
       slotName: "deadline",
       label: "付款期限",
-      itemWidth: 50,
+      itemWidth: 33,
     },
     {
       type: "select",
-      label: "发票类型",
-      prop: "invoiceType",
-      data: invoiceType.value,
-      itemWidth: 50,
+      label: "付款类型",
+      prop: "type",
+      data: type.value,
+      itemWidth: 33,
+      style: "width: 100%",
+      fn: () => {
+        formData.data.advanceCode = "";
+      },
     },
+    // {
+    //   type: "select",
+    //   label: "预付款单号",
+    //   prop: "advanceCode",
+    //   data: advanceCode.value,
+    //   itemWidth: 34,
+    //   style: "width: 100%",
+    //   isShow: formData.data.type == "1",
+    // },
     {
       type: "input",
       prop: "remark",
@@ -178,6 +220,31 @@ const formConfig = computed(() => {
       prop: "receiptsNum",
       slotName: "receiptsNum",
       label: "单据数量",
+      itemWidth: 33,
+    },
+    {
+      type: "select",
+      label: "发票类型",
+      prop: "invoiceType",
+      data: invoiceType.value,
+      itemWidth: 33,
+      style: "width: 100%",
+      fn: (val) => {
+        if (val == "1") {
+          formData.data.rate = 13;
+        } else if (val == "2") {
+          formData.data.rate = 6;
+        } else {
+          formData.data.rate = undefined;
+        }
+      },
+    },
+    {
+      type: "slot",
+      prop: "rate",
+      slotName: "rate",
+      label: "税率 (%)",
+      itemWidth: 34,
     },
     {
       type: "slot",
@@ -262,6 +329,9 @@ const rules = ref({
   purchaseId: [{ required: true, message: "请选择采购合同", trigger: "change" }],
   money: [{ required: true, message: "请输入付款金额", trigger: "blur" }],
   name: [{ required: true, message: "请输入户名", trigger: "blur" }],
+  advanceCode: [{ required: true, message: "请选择预付款单号", trigger: "change" }],
+  type: [{ required: true, message: "请选择付款类型", trigger: "change" }],
+  rate: [{ required: true, message: "请输入税率", trigger: "blur" }],
 });
 const fileList = ref([]);
 const uploadData = ref({});