Ver código fonte

尔泓部分新功能

cz 1 ano atrás
pai
commit
15543a630e

+ 7 - 0
src/assets/styles/element-ui.scss

@@ -15,6 +15,13 @@
   display: none;
 }
 
+
+
+.el-upload-list--text .el-upload-list__item {
+  min-width: 200px !important;
+  width: auto;
+}
+
 .cell {
   .el-tag {
     margin-right: 0px;

+ 10 - 0
src/components/byForm/index.vue

@@ -397,6 +397,16 @@ const handleSubmit = async (onSubmit) => {
       return true;
     }
   } catch (err) {
+    setTimeout(() => {
+      const errorDiv = document.getElementsByClassName("is-error");
+      if (errorDiv && errorDiv[0]) {
+        errorDiv[0].scrollIntoView({
+          behavior: "smooth",
+          block: "center",
+          inline: "nearest",
+        });
+      }
+    }, 0);
     console.log("请检查表单!", err);
     return false;
   }

+ 50 - 10
src/components/process/EHSD/AfterSales.vue

@@ -34,8 +34,7 @@
             <el-table-column label="备注" min-width="150">
               <template #default="{ row, $index }">
                 <div style="width: 100%">
-                  <el-form-item :prop="'afterSalesDetailList.' + $index + '.remark'" :rules="rules.remark" :inline-message="true"
-                                class="shrinkPadding">
+                  <el-form-item :prop="'afterSalesDetailList.' + $index + '.remark'" :inline-message="true" class="shrinkPadding">
                     <el-input v-model="row.remark" placeholder="请输入" type="text"></el-input>
                   </el-form-item>
                 </div>
@@ -81,11 +80,14 @@ const afterSalesType = computed(
 const afterSalesReason = computed(
   () => proxy.useUserStore().allDict["after_sales_reason"]
 );
-
+const accountCurrency = computed(
+  () => proxy.useUserStore().allDict["account_currency"]
+);
 const openMaterial = ref(false);
 const formData = reactive({
   data: {
     afterSalesDetailList: [],
+    fileList: [],
   },
 });
 const formOption = reactive({
@@ -144,7 +146,6 @@ const formConfig = computed(() => {
       data: afterSalesReason.value,
       disabled: false,
     },
-
     {
       type: "input",
       itemType: "textarea",
@@ -154,12 +155,21 @@ const formConfig = computed(() => {
       itemWidth: 100,
     },
     {
+      type: "select",
+      prop: "currency",
+      label: "币种",
+      required: true,
+      itemWidth: 25,
+      data: accountCurrency.value,
+      disabled: true,
+    },
+    {
       type: "input",
       itemType: "text",
       prop: "amount",
       label: "售后金额",
       disabled: true,
-      itemWidth: 50,
+      itemWidth: 25,
     },
     {
       type: "input",
@@ -195,12 +205,25 @@ const formConfig = computed(() => {
       itemWidth: 50,
     },
     {
+      type: "upload",
+      listType: "text",
+      prop: "fileList",
+      label: "附件",
+    },
+    {
+      type: "title",
+      title: "客户收款信息",
+      haveLine: true,
+      isShow: formData.data.type == "10" || formData.data.type == "20",
+    },
+    {
       type: "input",
       itemType: "text",
       prop: "accountBank",
       label: "开户行",
       required: true,
       itemWidth: 50,
+      isShow: formData.data.type == "10" || formData.data.type == "20",
     },
     {
       type: "input",
@@ -209,6 +232,7 @@ const formConfig = computed(() => {
       label: "户名",
       required: true,
       itemWidth: 50,
+      isShow: formData.data.type == "10" || formData.data.type == "20",
     },
     {
       type: "input",
@@ -217,12 +241,9 @@ const formConfig = computed(() => {
       label: "账号",
       required: true,
       itemWidth: 50,
+      isShow: formData.data.type == "10" || formData.data.type == "20",
     },
-    // {
-    //   type: "title",
-    //   title: "客户账户信息",
-    //   haveLine: true,
-    // },
+
     {
       type: "title",
       title: "售后明细",
@@ -297,6 +318,7 @@ const handleSelect = (row) => {
     formData.data.afterSalesDetailList.length == 0
   ) {
     formData.data.contractId = row.contractId;
+    formData.data.currency = row.currency;
     formData.data.afterSalesDetailList.push({
       contractProductId: row.id,
       productId: row.productId,
@@ -379,6 +401,24 @@ const getAllData = (businessId) => {
         fileAtt: "fileList",
         filePathAtt: "fileUrl",
       });
+
+      proxy
+        .post("/fileInfo/getList", { businessIdList: [businessId] })
+        .then((fileObj) => {
+          if (fileObj[businessId] && fileObj[businessId].length > 0) {
+            formData.data.fileList = fileObj[businessId]
+              .filter((x) => x.businessType == "0")
+              .map((item) => {
+                return {
+                  ...item,
+                  name: item.fileName,
+                  url: item.fileUrl,
+                };
+              });
+          } else {
+            formData.data.fileList = [];
+          }
+        });
     });
   }
 };

+ 6 - 6
src/components/process/EHSD/Contract.vue

@@ -1130,12 +1130,12 @@ const changeCustomer = (val) => {
           });
         }
         // 回填客户的账户信息
-        formData.data.beneficiaryName = res.beneficiaryName;
-        formData.data.beneficiaryBank = res.beneficiaryBank;
-        formData.data.beneficiaryBankAddress = res.beneficiaryBankAddress;
-        formData.data.beneficiaryAccountNumber = res.beneficiaryAccountNumber;
-        formData.data.swiftCode = res.swiftCode;
-        formData.data.beneficiaryAddress = res.beneficiaryAddress;
+        // formData.data.beneficiaryName = res.beneficiaryName;
+        // formData.data.beneficiaryBank = res.beneficiaryBank;
+        // formData.data.beneficiaryBankAddress = res.beneficiaryBankAddress;
+        // formData.data.beneficiaryAccountNumber = res.beneficiaryAccountNumber;
+        // formData.data.swiftCode = res.swiftCode;
+        // formData.data.beneficiaryAddress = res.beneficiaryAddress;
 
         formData.data.countryId = res.countryId;
         formData.data.provinceId = res.provinceId;

+ 6 - 6
src/components/process/EHSD/ContractChange.vue

@@ -1160,12 +1160,12 @@ const changeCustomer = (val) => {
           });
         }
         // 回填客户的账户信息
-        formData.data.beneficiaryName = res.beneficiaryName;
-        formData.data.beneficiaryBank = res.beneficiaryBank;
-        formData.data.beneficiaryBankAddress = res.beneficiaryBankAddress;
-        formData.data.beneficiaryAccountNumber = res.beneficiaryAccountNumber;
-        formData.data.swiftCode = res.swiftCode;
-        formData.data.beneficiaryAddress = res.beneficiaryAddress;
+        // formData.data.beneficiaryName = res.beneficiaryName;
+        // formData.data.beneficiaryBank = res.beneficiaryBank;
+        // formData.data.beneficiaryBankAddress = res.beneficiaryBankAddress;
+        // formData.data.beneficiaryAccountNumber = res.beneficiaryAccountNumber;
+        // formData.data.swiftCode = res.swiftCode;
+        // formData.data.beneficiaryAddress = res.beneficiaryAddress;
 
         formData.data.countryId = res.countryId;
         formData.data.provinceId = res.provinceId;

+ 5 - 1
src/components/process/EHSD/Purchase.vue

@@ -1503,7 +1503,11 @@ const handleSubmit = async () => {
   } else {
     setTimeout(() => {
       const errorDiv = document.getElementsByClassName("is-error");
-      errorDiv[0].scrollIntoView();
+      errorDiv[0].scrollIntoView({
+        behavior: "smooth",
+        block: "center",
+        inline: "nearest",
+      });
     }, 0);
   }
   return status;

+ 57 - 57
src/views/customer/addCustomer.vue

@@ -335,107 +335,107 @@ const formConfig = computed(() => {
         width: "100%",
       },
     },
-    {
-      type: "input",
-      prop: "beneficiaryName",
-      label: "Beneficiary Name",
-      required: true,
-      itemWidth: 50,
-      itemType: "text",
-    },
-    {
-      type: "input",
-      prop: "beneficiaryAccountNumber",
-      label: "Beneficiary Account Number",
-      required: true,
-      itemWidth: 50,
-      itemType: "text",
-    },
-    {
-      type: "input",
-      prop: "beneficiaryBank",
-      label: "Beneficiary Bank",
-      required: true,
-      itemWidth: 50,
-      itemType: "text",
-    },
-    {
-      type: "input",
-      prop: "swiftCode",
-      label: "Swift Code",
-      required: true,
-      itemWidth: 50,
-      itemType: "text",
-    },
-    {
-      type: "input",
-      prop: "beneficiaryBankAddress",
-      label: "Beneficiary Bank Address",
-      required: true,
-      itemWidth: 50,
-      itemType: "text",
-    },
-    {
-      type: "input",
-      prop: "beneficiaryAddress",
-      label: "Beneficiary Address",
-      required: true,
-      itemWidth: 50,
-      itemType: "text",
-    },
+    // {
+    //   type: "input",
+    //   prop: "beneficiaryName",
+    //   label: "Beneficiary Name",
+    //   required: true,
+    //   itemWidth: 50,
+    //   itemType: "text",
+    // },
+    // {
+    //   type: "input",
+    //   prop: "beneficiaryAccountNumber",
+    //   label: "Beneficiary Account Number",
+    //   required: true,
+    //   itemWidth: 50,
+    //   itemType: "text",
+    // },
+    // {
+    //   type: "input",
+    //   prop: "beneficiaryBank",
+    //   label: "Beneficiary Bank",
+    //   required: true,
+    //   itemWidth: 50,
+    //   itemType: "text",
+    // },
+    // {
+    //   type: "input",
+    //   prop: "swiftCode",
+    //   label: "Swift Code",
+    //   required: true,
+    //   itemWidth: 50,
+    //   itemType: "text",
+    // },
+    // {
+    //   type: "input",
+    //   prop: "beneficiaryBankAddress",
+    //   label: "Beneficiary Bank Address",
+    //   required: true,
+    //   itemWidth: 50,
+    //   itemType: "text",
+    // },
+    // {
+    //   type: "input",
+    //   prop: "beneficiaryAddress",
+    //   label: "Beneficiary Address",
+    //   required: true,
+    //   itemWidth: 50,
+    //   itemType: "text",
+    // },
     {
       type: "input",
       prop: "shortName",
-      label: "小满客户简称",
+      label: "客户简称",
       itemWidth: 50,
       itemType: "text",
     },
     {
       type: "input",
       prop: "homepage",
-      label: "小满公司网址",
+      label: "公司网址",
       itemWidth: 50,
       itemType: "text",
     },
     {
       type: "input",
       prop: "scaleId",
-      label: "小满客户规模",
+      label: "客户规模",
       itemWidth: 50,
       itemType: "text",
     },
     {
       type: "input",
       prop: "fax",
-      label: "小满传真",
+      label: "传真",
       itemWidth: 50,
       itemType: "text",
     },
     {
       type: "input",
       prop: "telAreaCode",
-      label: "小满电话区号",
+      label: "电话区号",
       itemWidth: 50,
       itemType: "text",
     },
     {
       type: "input",
       prop: "tel",
-      label: "小满电话",
+      label: "电话",
       itemWidth: 50,
       itemType: "text",
     },
     {
       type: "input",
       prop: "remark",
-      label: "小满备注",
+      label: "备注",
       itemWidth: 50,
       itemType: "text",
     },
     {
       type: "input",
-      prop: "countryName",
-      label: "小满国家",
+      prop: "xmCountryName",
+      label: "国家",
       itemWidth: 50,
       itemType: "text",
     },

+ 5 - 5
src/views/customer/file/index.vue

@@ -565,7 +565,7 @@ const config = computed(() => {
     },
     {
       attrs: {
-        label: "所在城市",
+        label: "所在地区",
         slot: "address",
         width: 160,
       },
@@ -1278,7 +1278,7 @@ const formSearchConfig = computed(() => {
     {
       type: "slot",
       slotName: "address",
-      label: "所在城市",
+      label: "所在地区",
     },
     {
       type: "select",
@@ -1373,9 +1373,9 @@ const refreshList = () => {
 const updateList = () => {
   proxy.msgTip("更新中", 2);
   proxy.post("/xiaomanCustomer/updateList").then((res) => {
-    setTimeout(() => {
-      proxy.msgTip("更新成功", 1);
-    }, 300);
+    // setTimeout(() => {
+    //   proxy.msgTip("更新成功", 1);
+    // }, 300);
   });
 };
 

+ 5 - 5
src/views/customer/highseas/index.vue

@@ -509,7 +509,7 @@ const config = computed(() => {
     },
     {
       attrs: {
-        label: "所在城市",
+        label: "所在地区",
         slot: "address",
         width: 160,
       },
@@ -1297,7 +1297,7 @@ const formSearchConfig = computed(() => {
     {
       type: "slot",
       slotName: "address",
-      label: "所在城市",
+      label: "所在地区",
     },
     {
       type: "select",
@@ -1390,9 +1390,9 @@ const refreshList = () => {
 const updateList = () => {
   proxy.msgTip("更新中", 2);
   proxy.post("/xiaomanCustomer/updateList").then((res) => {
-    setTimeout(() => {
-      proxy.msgTip("更新成功", 1);
-    }, 300);
+    // setTimeout(() => {
+    //   proxy.msgTip("更新成功", 1);
+    // }, 300);
   });
 };
 </script>

+ 5 - 5
src/views/customer/privatesea/index.vue

@@ -509,7 +509,7 @@ const config = computed(() => {
     },
     {
       attrs: {
-        label: "所在城市",
+        label: "所在地区",
         slot: "address",
         width: 160,
       },
@@ -1297,7 +1297,7 @@ const formSearchConfig = computed(() => {
     {
       type: "slot",
       slotName: "address",
-      label: "所在城市",
+      label: "所在地区",
     },
     {
       type: "select",
@@ -1390,9 +1390,9 @@ const refreshList = () => {
 const updateList = () => {
   proxy.msgTip("更新中", 2);
   proxy.post("/xiaomanCustomer/updateList").then((res) => {
-    setTimeout(() => {
-      proxy.msgTip("更新成功", 1);
-    }, 300);
+    // setTimeout(() => {
+    //   proxy.msgTip("更新成功", 1);
+    // }, 300);
   });
 };
 </script>

+ 37 - 0
src/views/finance/fundManage/accountPayment/index.vue

@@ -205,6 +205,11 @@ const selectConfig = computed(() => {
       prop: "paymentStatus",
       data: paymentType.value,
     },
+    {
+      label: "付款类型",
+      prop: "type",
+      data: paymentTypeOne.value,
+    },
   ];
 });
 const config = computed(() => {
@@ -646,6 +651,38 @@ const paymentType = ref([
     value: 20,
   },
 ]);
+const foundsType = computed(() => proxy.useUserStore().allDict["founds_type"]);
+const paymentTypeOne = computed(() => {
+  if (foundsType.value && foundsType.value.length > 0) {
+    return [
+      ...foundsType.value.map((x) => ({
+        ...x,
+        label: "请款: " + x.dictValue,
+        value: x.dictKey,
+      })),
+      {
+        label: "采购付款",
+        value: 20,
+      },
+      {
+        label: "售后",
+        value: 40,
+      },
+    ];
+  } else {
+    return [
+      {
+        label: "采购付款",
+        value: 20,
+      },
+      {
+        label: "售后",
+        value: 40,
+      },
+    ];
+  }
+});
+
 const selection = ref({
   data: [],
 });

+ 8 - 0
src/views/process/processApproval/index.vue

@@ -600,6 +600,14 @@ const handleSubmit = async (_type) => {
     }
   } catch (err) {
     console.log("数据未填完整!", err);
+    setTimeout(() => {
+      const errorDiv = document.getElementsByClassName("is-error");
+      errorDiv[0].scrollIntoView({
+        behavior: "smooth",
+        block: "center",
+        inline: "nearest",
+      });
+    }, 0);
   }
 };
 // 页面跳转

+ 17 - 2
src/views/salesMange/afterSales/index.vue

@@ -13,9 +13,15 @@
           },
         ]" @get-list="getList">
 
+        <template #code="{ item }">
+          <div style="width:100%">
+            <span class="el-click" style="cursor:pointer;color:#409EFF" @click="getDtl(item)">{{item.code}}</span>
+          </div>
+        </template>
+
         <template #amount="{ item }">
           <div style="width:100%">
-            <span class="el-click" style="cursor:pointer;color:#409EFF" @click="getDtl(item)">{{moneyFormat(item.amount,2)}}</span>
+            <span style="cursor:pointer;color:#409EFF" @click="getDtl(item)">{{item.currency}} {{moneyFormat(item.amount,2)}}</span>
           </div>
         </template>
 
@@ -279,6 +285,14 @@ const config = computed(() => {
   return [
     {
       attrs: {
+        label: "售后单号",
+        slot: "code",
+        width: 150,
+        fixed: "left",
+      },
+    },
+    {
+      attrs: {
         label: "订单号",
         prop: "contractCode",
         width: 150,
@@ -311,7 +325,7 @@ const config = computed(() => {
       attrs: {
         label: "售后原因",
         prop: "reason",
-        width: 80,
+        width: 130,
       },
       render(val) {
         return proxy.dictKeyValue(val, afterSalesReason.value);
@@ -329,6 +343,7 @@ const config = computed(() => {
         label: "售后金额",
         prop: "amount",
         slot: "amount",
+        align: "right",
         width: 100,
       },
       render(val) {