Browse Source

合并保存

asd26269546 1 year ago
parent
commit
14f0aca584

+ 128 - 0
src/views/finance/fundManage/accountStatement/index.vue

@@ -29,6 +29,10 @@
             text: '添加流水',
             action: () => openModal('add'),
           },
+          {
+            text: '结汇',
+            action: () => openSettlementModal('add'),
+          },
         ]"
         @get-list="getList"
       >
@@ -91,6 +95,24 @@
         >
       </template>
     </el-dialog>
+    <!-- 结汇 -->
+    <el-dialog
+      title="结汇"
+      v-if="settlementModal"
+      v-model="settlementModal"
+      width="600"
+      v-loading="loadingDialog"
+    >
+      <byForm
+        :formConfig="settlementFormConfig"
+        :formOption="formOption"
+        v-model="formData3.data"
+        :rules="rules"
+        ref="submit"
+      >
+
+      </byForm>
+    </el-dialog>
     <el-dialog
       :title="modalType == 'add' ? '添加流水' : '编辑流水'"
       v-if="dialogVisible"
@@ -762,6 +784,112 @@ const formData = reactive({
     taxRefundDetailsList: [],
   },
 });
+
+const settlementModal = ref(false);
+const openSettlementModal = (type, row) => {
+  modalType.value = type;
+  if (type == "add") {
+    formData2.data = {
+      transactionTime: moment().format("yyyy-MM-DD HH:mm:ss"),
+    };
+  } else {
+    formData2.data = { ...row };
+  }
+  settlementModal.value = true;
+};
+
+const formData3 = reactive({
+  data: {},
+});
+
+const settlementFormConfig = computed(() => {
+  return [
+    {
+      type: "title",
+      title: "结汇信息",
+    },
+    {
+      type: "select",
+      prop: "accountManagementId",
+      label: "汇出账户",
+      data: accountList.value,
+    },
+    {
+      type: "selectInput",
+      label: "汇出金额",
+      prop: "amount",
+      itemWidth: 60,
+      data: accountCurrency.value,
+      placeholder: "请输入",
+      selectPlaceholder: "币种",
+      selectProp: "currency",
+      fn: (value) => {
+        //判断value的类型
+        if (isNaN(value)) {
+          formData3.data.inCurrency = formData3.data.currency;
+          formData3.data.commissionCurrency = formData3.data.currency;
+        } else {
+          if (value != "") {
+            if (value.indexOf(".") > -1) {
+              formData3.data.amount = value.slice(0, value.indexOf(".") + 3);
+            } else {
+              formData3.data.amount = value;
+            }
+          }
+          formData3.data.inAmount = formData3.data.amount;
+        }
+      },
+    },
+    {
+      type: "select",
+      prop: "inAccountManagementId",
+      label: "汇入账户",
+      data: accountList.value,
+    },
+    {
+      type: "selectInput",
+      label: "汇出金额",
+      prop: "inAmount",
+      itemWidth: 60,
+      data: accountCurrency.value,
+      placeholder: "请输入",
+      selectPlaceholder: "币种",
+      selectProp: "inCurrency",
+      fn: (value) => {
+        //判断value的类型
+        if (isNaN(value)) {
+          formData2.data.inCurrency = formData2.data.currency;
+          formData2.data.commissionCurrency = formData2.data.currency;
+        } else {
+          if (value != "") {
+            if (value.indexOf(".") > -1) {
+              formData2.data.amount = value.slice(0, value.indexOf(".") + 3);
+            } else {
+              formData2.data.amount = value;
+            }
+          }
+          formData2.data.inAmount = formData2.data.amount;
+        }
+      },
+    },
+    {
+      type: "input",
+      prop: "rate",
+      label: "汇率",
+      itemType: "text",
+    },
+    {
+      type: "selectInput",
+      label: "手续费",
+      prop: "commissionAmount",
+      itemWidth: 60,
+      data: accountCurrency.value,
+      placeholder: "请输入",
+      selectPlaceholder: "币种",
+      selectProp: "commissionCurrency",
+    },
+  ];
+});
 const formConfig = computed(() => {
   return [
     {

+ 38 - 9
src/views/salesMange/shipmentMange/packing/index.vue

@@ -335,6 +335,26 @@ let boxFormData = ref({
 });
 
 const openCustom = (type) => {
+  if(type == '2' && boxFormData.value.packDetailGoodsList.length == 0) {
+    for (let i = 0; i < boxFormData.value.packDetailProductList.length; i++) {
+      const item = boxFormData.value.packDetailProductList[i];
+      if (item.quantity == null) {
+        ElMessage.error("请填写装箱数量");
+        return;
+      }
+      if (item.productId == null) {
+          ElMessage.error("请填写选择产品");
+          return;
+      }
+    }
+    boxFormData.value.packDetailGoodsList = boxFormData.value.packDetailProductList.map(item => {
+      return {
+        remark:item.productName,
+        unit:null,
+        quantity:item.quantity
+      }
+    })
+  }
   encasementType.value = type
 }
 
@@ -375,15 +395,24 @@ const openDtlModal = () => {
 const boxIndex = ref(0);
 
 const packDetailProductListPush = (index) => {
-  boxFormData.value.packDetailProductList.push({
-    contractId: null,
-    productName: null,
-    contractProductId: null,
-    quantity: null,
-    productId: null,
-    productModel: null,
-    remark:null,
-  });
+  if(encasementType.value == '1') {
+    boxFormData.value.packDetailGoodsList.push({
+      remark:null,
+      unit:null,
+      quantity:null,
+    })
+  }else{
+    boxFormData.value.packDetailProductList.push({
+      contractId: null,
+      productName: null,
+      contractProductId: null,
+      quantity: null,
+      productId: null,
+      productModel: null,
+      remark:null,
+    });
+  }
+  
 };
 
 let boxFormType = 'add'