浏览代码

修改bug

QuKatie 3 年之前
父节点
当前提交
0be7a88487

+ 3 - 2
src/styles/variables.scss

@@ -69,6 +69,7 @@ p{
 .el-dialog__footer {
   padding: 10px 20px 10px !important;
 }
-.avue-crud th {
-  font-size: 14px;
+.el-form-item__label {
+  font-size: 12px !important;
+  // font-weight: 600;
 }

+ 13 - 5
src/util/calculate.js

@@ -33,18 +33,26 @@ export function amountCal(num, num2, num3, num4, num5) {
   const insurance = Number(num4 ? num4 : 0)
   //折扣
   const discount = Number(num5 || num5 === 0 ? num5 : 10)
-  
+
   const sum = _.multiply(_.add(_.multiply(sell, quantity), _.add(freight, insurance)), _.divide(discount, 10))
   return Number(sum).toFixed(2)
 }
 //保险、运费转换汇率
-export function transformCal(num, num2,num3) {
+export function transformCal(num, num2, num3) {
   //采购价格
   const cost = Number(num ? num : 0)
   //旧汇率
-  const oldExchangeRate=Number(Number(num2) ? num2 : 1)
+  const oldExchangeRate = Number(Number(num2) ? num2 : 1)
   //汇率
   const exchangeRate = Number(Number(num3) ? num3 : 1)
-  const sum =_.divide(_.multiply(cost,oldExchangeRate),exchangeRate) 
+  const sum = _.divide(_.multiply(cost, oldExchangeRate), exchangeRate)
   return Number(sum).toFixed(2)
-}
+}
+// 采购报价=单价 / (1+税率/100) *(1+FOB系数/100)
+export function purchaseCal(num, num2, num3) {
+  const price = Number(num ? num : 0)
+  const taxRate = Number(num2 ? num2 : 0)
+  const fob = Number(num3 ? num3 : 0)
+  const sum = _.multiply(_.divide(price, _.add(1, _.divide(taxRate, 100))), _.add(1, _.divide(fob, 100)))
+  return Number(sum).toFixed(2)
+}

+ 3 - 3
src/views/exportTrade/customerInquiry/config/mainList.json

@@ -24,7 +24,7 @@
       "searchSpan": 8
     },
     {
-      "label": "订单日期",
+      "label": "报价日期",
       "prop": "businesDate",
       "search": true,
       "index": 2,
@@ -127,14 +127,14 @@
       "overHidden": true
     },
     {
-      "label": "毛利",
+      "label": "产品毛利",
       "prop": "grossProfit",
       "index": 13,
       "minWidth": 80,
       "overHidden": true
     },
     {
-      "label": "利率",
+      "label": "产品利率",
       "prop": "grossProfitRate",
       "index": 14,
       "minWidth": 80,

+ 37 - 41
src/views/exportTrade/customerInquiry/detailsPage.vue

@@ -118,8 +118,7 @@
             <el-input
               size="small"
               v-model="form.exchangeRate"
-              oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d\d\d).*$/,
-            "$1.$2")'
+              oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
               placeholder="请输入 汇率"
               :disabled="detailData.status == 1"
               @change="exchangeRateChange"
@@ -129,8 +128,7 @@
             <el-input
               size="small"
               v-model="form.boxNumber"
-              oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/,
-            "$1.$2")'
+              oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
               placeholder="请输入 起订量"
               :disabled="detailData.status == 1"
             />
@@ -139,8 +137,7 @@
             <el-input
               size="small"
               v-model="form.minOrder"
-              oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/,
-            "$1.$2")'
+              oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
               placeholder="请输入 起订量"
               :disabled="detailData.status == 1"
             />
@@ -149,8 +146,7 @@
             <el-input
               size="small"
               v-model="form.predictOceanFreight"
-              oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/,
-            "$1.$2")'
+              oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
               placeholder="请输入 预计海运费"
               :disabled="detailData.status == 1"
             />
@@ -159,8 +155,7 @@
             <el-input
               size="small"
               v-model="form.referenceOceanFreight"
-              oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/,
-            "$1.$2")'
+              oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
               placeholder="请输入 参考海运费"
               :disabled="detailData.status == 1"
             />
@@ -169,8 +164,7 @@
             <el-input
               size="small"
               v-model="form.oceanFreight"
-              oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/,
-            "$1.$2")'
+              oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
               placeholder="请输入 实际海运费"
               :disabled="detailData.status == 1"
             />
@@ -342,7 +336,7 @@
               size="small"
               placeholder="请输入"
               @change="purchaseAmountChange(row)"
-              oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
+              oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
             ></el-input>
             <span v-else>{{ row.purchaseAmount | micrometerFormat }}</span>
           </template>
@@ -351,7 +345,7 @@
               v-if="row.$cellEdit"
               v-model="row.price"
               size="small"
-              oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
+              oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
               @change="priceChange(row)"
             ></el-input>
             <span v-else>{{ row.price | micrometerFormat }}</span>
@@ -364,7 +358,7 @@
               v-if="row.$cellEdit"
               v-model="row.orderQuantity"
               size="small"
-              oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
+              oninput='this.value=this.value.replace(/[^(\d)]/g,"")'
               @change="priceChange(row)"
             ></el-input>
             <span v-else>{{ row.orderQuantity }}</span>
@@ -374,7 +368,7 @@
               v-if="row.$cellEdit"
               v-model="row.discount"
               size="small"
-              oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
+              oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
               @change="discountChange(row)"
             ></el-input>
             <span v-else>{{ row.discount | isDiscount }}</span>
@@ -384,7 +378,7 @@
               v-if="row.$cellEdit"
               v-model="row.insurance"
               size="small"
-              oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
+              oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
               @change="priceChange(row)"
             ></el-input>
             <span v-else>{{ row.insurance | micrometerFormat }}</span>
@@ -394,7 +388,7 @@
               v-if="row.$cellEdit"
               v-model="row.freight"
               size="small"
-              oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
+              oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
               @change="priceChange(row)"
             ></el-input>
             <span v-else>{{ row.freight | micrometerFormat }}</span>
@@ -404,7 +398,7 @@
               v-if="row.$cellEdit"
               v-model="row.taxRate"
               size="small"
-              oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
+              oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
               @change="taxRateChange(row)"
             ></el-input>
             <span v-else>{{ row.taxRate | isPercentage }}</span>
@@ -530,19 +524,11 @@ export default {
       oldExchange: 1,
       treeStyle: "height:" + (window.innerHeight - 315) + "px",
       itemtypeList: [],
-      configuration: {
-        multipleChoices: false,
-        multiple: false,
-        collapseTags: false,
-        placeholder: "请点击右边按钮选择",
-        dicData: []
-      },
       switchDialog: false,
       form: {
         orderStatus: "录入",
         businesDate: dateFormat(new Date(), "yyyy-MM-dd") + " 00:00:00",
-        currency: "CNY",
-        exchangeRate: "1"
+        currency: "USD"
       },
       disabled: false,
       dialogVisible: false,
@@ -665,7 +651,7 @@ export default {
             span: 16
           },
           {
-            label: "订单日期",
+            label: "报价日期",
             prop: "businesDate",
             span: 8,
             type: "date",
@@ -747,20 +733,25 @@ export default {
             span: 8
           },
           {
-            label: "毛利",
+            label: "产品毛利",
             prop: "grossProfit",
             span: 8,
             disabled: true
           },
           {
-            label: "利率",
+            label: "产品利率",
             prop: "grossProfitRate",
             span: 8,
-            row: true,
             append: "%",
             disabled: true
           },
           {
+            label: "单票毛利",
+            prop: "singleTicketMargin",
+            span: 8,
+            disabled: true
+          },
+          {
             label: "备注",
             prop: "orderRemark",
             type: "textarea",
@@ -822,8 +813,7 @@ export default {
       oldform: {
         orderStatus: "录入",
         businesDate: dateFormat(new Date(), "yyyy-MM-dd") + " 00:00:00",
-        currency: "CNY",
-        exchangeRate: "1"
+        currency: "USD"
       },
       olddata: [],
       oldorderFeesList: [],
@@ -883,6 +873,14 @@ export default {
     });
     this.getWorkDicts("currency").then(res => {
       this.currencyList = res.data.data;
+      if (!this.detailData.id) {
+        this.currencyList.forEach(e => {
+          if (e.dictValue == "USD") {
+            this.form.exchangeRate = e.remark;
+            this.oldform.exchangeRate = e.remark;
+          }
+        });
+      }
     });
     getPorts().then(res => {
       this.findObject(this.option.column, "portOfLoad").dicData = res.data;
@@ -1083,13 +1081,11 @@ export default {
       );
     },
     currencyChange(row) {
-      if (row == "CNY") {
-        this.form.exchangeRate = 1;
-      } else if (row == "USD") {
-        this.form.exchangeRate = 6.3843;
-      } else {
-        this.form.exchangeRate = 1;
-      }
+      this.currencyList.forEach(e => {
+        if (e.dictValue == row) {
+          this.form.exchangeRate = e.remark;
+        }
+      });
       if (this.data.length > 0) {
         this.data.forEach(e => {
           e.freight = transformCal(

+ 0 - 8
src/views/exportTrade/customerInquiry/index.vue

@@ -124,14 +124,6 @@ export default {
   name: "customerInformation",
   data() {
     return {
-      configuration: {
-        multipleChoices: false,
-        multiple: false,
-        collapseTags: false,
-        placeholder: "请点击右边按钮选择",
-        dicData: [],
-        clearable: true
-      },
       search: {
         businesDate: defaultDate()
       },

+ 3 - 10
src/views/exportTrade/invoice/detailsPage.vue

@@ -133,7 +133,7 @@
               v-if="row.$cellEdit"
               size="mini"
               v-model="row.taxRate"
-              oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
+              oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
               @change="taxRateChange(row)"
               placeholder="请输入"
             />
@@ -161,7 +161,7 @@
               v-if="row.$cellEdit"
               v-model="row.price"
               size="small"
-              oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
+              oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
               @change="priceChange(row)"
             ></el-input>
             <span v-else>{{ row.price }}</span>
@@ -171,7 +171,7 @@
               v-if="row.$cellEdit"
               v-model="row.actualQuantity"
               size="small"
-              oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
+              oninput='this.value=this.value.replace(/[^(\d)]/g,"")'
               @change="quantityChange(row)"
             ></el-input>
             <span v-else>{{ row.actualQuantity }}</span>
@@ -276,13 +276,6 @@ export default {
   name: "detailsPageEdit",
   data() {
     return {
-      configuration: {
-        multipleChoices: false,
-        multiple: false,
-        collapseTags: false,
-        placeholder: "请点击右边按钮选择",
-        dicData: []
-      },
       configuration2: {
         multipleChoices: false,
         multiple: false,

+ 0 - 7
src/views/exportTrade/invoice/index.vue

@@ -111,13 +111,6 @@ export default {
   name: "customerInformation",
   data() {
     return {
-      configuration: {
-        multipleChoices: false,
-        multiple: false,
-        collapseTags: false,
-        placeholder: "请点击右边按钮选择",
-        dicData: []
-      },
       configuration2: {
         multipleChoices: false,
         multiple: false,

+ 3 - 10
src/views/exportTrade/purchaseContract/detailsPage.vue

@@ -45,7 +45,7 @@
             <el-input
               size="mini"
               v-model="form.exchangeRate"
-              oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
+              oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
               @change="rateChange"
               placeholder="请输入 汇率"
               :disabled="detailData.status == 1"
@@ -81,7 +81,7 @@
                 v-if="row.$cellEdit"
                 v-model="row.price"
                 size="small"
-                oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
+                oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
                 @change="priceChange(row)"
               ></el-input>
               <span v-else>{{ row.price }}</span>
@@ -91,7 +91,7 @@
                 v-if="row.$cellEdit"
                 v-model="row.orderQuantity"
                 size="small"
-                oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
+                oninput='this.value=this.value.replace(/[^(\d)]/g,"")'
                 @change="quantityChange(row)"
               ></el-input>
               <span v-else>{{ row.orderQuantity }}</span>
@@ -312,13 +312,6 @@ export default {
       }
     };
     return {
-      configuration: {
-        multipleChoices: false,
-        multiple: false,
-        collapseTags: false,
-        placeholder: "请点击右边按钮选择",
-        dicData: []
-      },
       switchDialog: false,
       form: {
         orderStatus: "录入"

+ 0 - 7
src/views/exportTrade/purchaseContract/index.vue

@@ -116,13 +116,6 @@ export default {
   name: "customerInformation",
   data() {
     return {
-      configuration: {
-        multipleChoices: false,
-        multiple: false,
-        collapseTags: false,
-        placeholder: "请点击右边按钮选择",
-        dicData: []
-      },
       search: {
         businesDate: defaultDate()
       },

+ 15 - 53
src/views/exportTrade/purchaseInquiry/detailsPage.vue

@@ -91,7 +91,7 @@
               v-if="row.$cellEdit"
               v-model="row.price"
               size="small"
-              oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
+              oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
               @change="priceChange(row)"
             ></el-input>
             <span v-else>{{ row.price }}</span>
@@ -101,7 +101,7 @@
               v-if="row.$cellEdit"
               v-model="row.taxRate"
               size="small"
-              oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
+              oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
               @change="priceChange(row)"
             ></el-input>
             <span v-else>{{ row.taxRate ? row.taxRate : 0 }}%</span>
@@ -111,7 +111,7 @@
               v-if="row.$cellEdit"
               v-model="row.coefficient"
               size="small"
-              oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
+              oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
               @change="priceChange(row)"
             ></el-input>
             <span v-else>{{ row.coefficient ? row.coefficient : 0 }}%</span>
@@ -121,7 +121,7 @@
               v-if="row.$cellEdit"
               v-model="row.orderQuantity"
               size="small"
-              oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
+              oninput='this.value=this.value.replace(/[^(\d)]/g,"")'
               @change="quantityChange(row)"
             ></el-input>
             <span v-else>{{ row.orderQuantity }}</span>
@@ -283,18 +283,18 @@ import customerDialog from "@/components/customer-dialog/main";
 import reportDialog from "@/components/report-dialog/main";
 import { micrometerFormat } from "@/util/validate";
 import { contrastObj, contrastList } from "@/util/contrastData";
+import {
+  productCal,
+  sellingCal,
+  amountCal,
+  transformCal,
+  purchaseCal
+} from "@/util/calculate";
 import _ from "lodash";
 export default {
   name: "detailsPageEdit",
   data() {
     return {
-      configuration: {
-        multipleChoices: false,
-        multiple: false,
-        collapseTags: false,
-        placeholder: "请点击右边按钮选择",
-        dicData: []
-      },
       switchDialog: false,
       form: {
         orderStatus: "录入",
@@ -547,47 +547,9 @@ export default {
       });
     },
     priceChange(row) {
-      row.purchaseAmount = Number(
-        _.divide(
-          Number(row.price ? row.price : 0),
-          _.multiply(
-            _.add(1, _.divide(Number(row.taxRate ? row.taxRate : 0), 100)),
-            _.add(
-              1,
-              _.divide(Number(row.coefficient ? row.coefficient : 0), 100)
-            )
-          )
-        )
-      ).toFixed(2);
+      row.purchaseAmount = purchaseCal(row.price, row.taxRate, row.coefficient);
       row.amount = Number(
-        _.multiply(
-          _.divide(
-            Number(row.price ? row.price : 0),
-            _.multiply(
-              _.add(1, _.divide(Number(row.taxRate ? row.taxRate : 0), 100)),
-              _.add(
-                1,
-                _.divide(Number(row.coefficient ? row.coefficient : 0), 100)
-              )
-            )
-          ),
-          row.orderQuantity
-        )
-      ).toFixed(2);
-      row.greenback = Number(
-        _.divide(
-          _.divide(
-            Number(row.price ? row.price : 0),
-            _.multiply(
-              _.add(1, _.divide(Number(row.taxRate ? row.taxRate : 0), 100)),
-              _.add(
-                1,
-                _.divide(Number(row.coefficient ? row.coefficient : 0), 100)
-              )
-            )
-          ),
-          6.3843
-        )
+        _.multiply(Number(row.purchaseAmount), row.orderQuantity)
       ).toFixed(2);
     },
     quantityChange(row) {
@@ -756,12 +718,12 @@ export default {
                   "第" + (Number(i) + 1) + "行的单价不能为空或不能为0"
                 );
               }
-              if (this.data[i].taxRate=="") {
+              if (this.data[i].taxRate == "") {
                 return this.$message.error(
                   "第" + (Number(i) + 1) + "行的税率不能为空"
                 );
               }
-              if (this.data[i].coefficient=="") {
+              if (this.data[i].coefficient == "") {
                 return this.$message.error(
                   "第" + (Number(i) + 1) + "行的FOB系数不能为空"
                 );

+ 0 - 7
src/views/exportTrade/purchaseInquiry/index.vue

@@ -111,13 +111,6 @@ export default {
   name: "customerInformation",
   data() {
     return {
-      configuration: {
-        multipleChoices: false,
-        multiple: false,
-        collapseTags: false,
-        placeholder: "请点击右边按钮选择",
-        dicData: []
-      },
       search: {
         businesDate: defaultDate()
       },

+ 3 - 10
src/views/exportTrade/receipt/detailsPage.vue

@@ -98,7 +98,7 @@
               v-if="row.$cellEdit"
               size="mini"
               v-model="row.taxRate"
-              oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
+              oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
               @change="taxRateChange(row)"
               placeholder="请输入"
             />
@@ -146,7 +146,7 @@
               v-if="row.$cellEdit"
               v-model="row.price"
               size="small"
-              oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
+              oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
               @change="priceChange(row)"
             ></el-input>
             <span v-else>{{ row.price }}</span>
@@ -156,7 +156,7 @@
               v-if="row.$cellEdit"
               v-model="row.actualQuantity"
               size="small"
-              oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
+              oninput='this.value=this.value.replace(/[^(\d)]/g,"")'
               @change="quantityChange(row)"
             ></el-input>
             <span v-else>{{ row.actualQuantity }}</span>
@@ -289,13 +289,6 @@ export default {
       }
     };
     return {
-      configuration: {
-        multipleChoices: false,
-        multiple: false,
-        collapseTags: false,
-        placeholder: "请点击右边按钮选择",
-        dicData: []
-      },
       configuration2: {
         multipleChoices: false,
         multiple: false,

+ 0 - 7
src/views/exportTrade/receipt/index.vue

@@ -98,13 +98,6 @@ export default {
   name: "customerInformation",
   data() {
     return {
-      configuration: {
-        multipleChoices: false,
-        multiple: false,
-        collapseTags: false,
-        placeholder: "请点击右边按钮选择",
-        dicData: []
-      },
       search: {
         businessDate: defaultDate()
       },

+ 2 - 2
src/views/exportTrade/salesContract/config/mainList.json

@@ -172,14 +172,14 @@
       "overHidden": true
     },
     {
-      "label": "毛利",
+      "label": "产品毛利",
       "prop": "grossProfit",
       "index": 13,
       "minWidth": 80,
       "overHidden": true
     },
     {
-      "label": "利率",
+      "label": "产品利率",
       "prop": "grossProfitRate",
       "index": 14,
       "minWidth": 80,

+ 36 - 33
src/views/exportTrade/salesContract/detailsPage.vue

@@ -118,8 +118,7 @@
             <el-input
               size="small"
               v-model="form.exchangeRate"
-              oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d\d\d).*$/,
-            "$1.$2")'
+              oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
               placeholder="请输入 汇率"
               :disabled="detailData.status == 1"
               @change="exchangeRateChange"
@@ -129,8 +128,7 @@
             <el-input
               size="mini"
               v-model="form.boxNumber"
-              oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/,
-            "$1.$2")'
+              oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
               placeholder="请输入 起订量"
               :disabled="detailData.status == 1"
             />
@@ -139,8 +137,7 @@
             <el-input
               size="mini"
               v-model="form.minOrder"
-              oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/,
-            "$1.$2")'
+              oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
               placeholder="请输入 起订量"
               :disabled="detailData.status == 1"
             />
@@ -149,8 +146,7 @@
             <el-input
               size="mini"
               v-model="form.predictOceanFreight"
-              oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/,
-            "$1.$2")'
+              oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
               placeholder="请输入 预计海运费"
               :disabled="detailData.status == 1"
             />
@@ -159,8 +155,7 @@
             <el-input
               size="mini"
               v-model="form.referenceOceanFreight"
-              oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/,
-            "$1.$2")'
+              oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
               placeholder="请输入 参考海运费"
               :disabled="detailData.status == 1"
             />
@@ -169,8 +164,7 @@
             <el-input
               size="mini"
               v-model="form.oceanFreight"
-              oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/,
-            "$1.$2")'
+              oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
               placeholder="请输入 实际海运费"
               :disabled="detailData.status == 1"
             />
@@ -295,7 +289,7 @@
                 size="small"
                 placeholder="请输入"
                 @change="purchaseAmountChange(row)"
-                oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
+                oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
               ></el-input>
               <span v-else>{{ row.purchaseAmount | micrometerFormat }}</span>
             </template>
@@ -304,7 +298,7 @@
                 v-if="row.$cellEdit"
                 v-model="row.price"
                 size="small"
-                oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
+                oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
                 @change="priceChange(row)"
               ></el-input>
               <span v-else>{{ row.price | micrometerFormat }}</span>
@@ -317,7 +311,7 @@
                 v-if="row.$cellEdit"
                 v-model="row.orderQuantity"
                 size="small"
-                oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
+                oninput='this.value=this.value.replace(/[^(\d)]/g,"")'
                 @change="priceChange(row)"
               ></el-input>
               <span v-else>{{ row.orderQuantity }}</span>
@@ -327,7 +321,7 @@
                 v-if="row.$cellEdit"
                 v-model="row.discount"
                 size="small"
-                oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
+                oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
                 @change="discountChange(row)"
               ></el-input>
               <span v-else>{{ row.discount | isDiscount }}</span>
@@ -337,7 +331,7 @@
                 v-if="row.$cellEdit"
                 v-model="row.insurance"
                 size="small"
-                oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
+                oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
                 @change="priceChange(row)"
               ></el-input>
               <span v-else>{{ row.insurance | micrometerFormat }}</span>
@@ -347,7 +341,7 @@
                 v-if="row.$cellEdit"
                 v-model="row.freight"
                 size="small"
-                oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
+                oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
                 @change="priceChange(row)"
               ></el-input>
               <span v-else>{{ row.freight | micrometerFormat }}</span>
@@ -357,7 +351,7 @@
                 v-if="row.$cellEdit"
                 v-model="row.taxRate"
                 size="small"
-                oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
+                oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
                 @change="taxRateChange(row)"
               ></el-input>
               <span v-else>{{ row.taxRate | isPercentage }}</span>
@@ -583,8 +577,7 @@ export default {
       form: {
         orderStatus: "录入",
         businesDate: dateFormat(new Date(), "yyyy-MM-dd") + " 00:00:00",
-        currency: "CNY",
-        exchangeRate: "1"
+        currency: "USD"
       },
       disabled: false,
       dialogVisible: false,
@@ -790,20 +783,25 @@ export default {
             span: 8
           },
           {
-            label: "毛利",
+            label: "产品毛利",
             prop: "grossProfit",
             span: 8,
             disabled: true
           },
           {
-            label: "利率",
+            label: "产品利率",
             prop: "grossProfitRate",
             span: 8,
-            row: true,
             append: "%",
             disabled: true
           },
           {
+            label: "单票毛利",
+            prop: "singleTicketMargin",
+            span: 8,
+            disabled: true
+          },
+          {
             label: "备注",
             prop: "orderRemark",
             type: "textarea",
@@ -914,8 +912,7 @@ export default {
       oldform: {
         orderStatus: "录入",
         businesDate: dateFormat(new Date(), "yyyy-MM-dd") + " 00:00:00",
-        currency: "CNY",
-        exchangeRate: "1"
+        currency: "USD"
       },
       olddata: [],
       oldorderFeesList: [],
@@ -983,6 +980,14 @@ export default {
     });
     this.getWorkDicts("currency").then(res => {
       this.currencyList = res.data.data;
+      if (!this.detailData.id) {
+        this.currencyList.forEach(e => {
+          if (e.dictValue == "USD") {
+            this.form.exchangeRate = e.remark;
+            this.oldform.exchangeRate = e.remark;
+          }
+        });
+      }
     });
     getGoods(1, 500).then(res => {
       this.goodsoptions = res.data.data.records;
@@ -1183,13 +1188,11 @@ export default {
       }
     },
     currencyChange(row) {
-      if (row == "CNY") {
-        this.form.exchangeRate = 1;
-      } else if (row == "USD") {
-        this.form.exchangeRate = 6.3843;
-      } else {
-        this.form.exchangeRate = 1;
-      }
+      this.currencyList.forEach(e => {
+        if (e.dictValue == row) {
+          this.form.exchangeRate = e.remark;
+        }
+      });
       if (this.data.length > 0) {
         this.data.forEach(e => {
           e.freight = transformCal(

+ 0 - 7
src/views/exportTrade/salesContract/index.vue

@@ -120,13 +120,6 @@ export default {
   name: "customerInformation",
   data() {
     return {
-      configuration: {
-        multipleChoices: false,
-        multiple: false,
-        collapseTags: false,
-        placeholder: "请点击右边按钮选择",
-        dicData: []
-      },
       search: {
         businesDate: defaultDate()
       },

+ 1 - 9
src/views/exportTrade/shippingInquiry/detailsPage.vue

@@ -101,8 +101,7 @@
             <el-input
               size="small"
               v-model="row.oceanFreight"
-              oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/,
-            "$1.$2")'
+              oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
               placeholder="请输入"
               :disabled="detailData.status == 1"
               v-if="row.$cellEdit"
@@ -222,13 +221,6 @@ export default {
   name: "detailsPageEdit",
   data() {
     return {
-      configuration: {
-        multipleChoices: false,
-        multiple: false,
-        collapseTags: false,
-        placeholder: "请点击右边按钮选择",
-        dicData: []
-      },
       switchDialog: false,
       form: {},
       disabled: false,

+ 0 - 7
src/views/exportTrade/shippingInquiry/index.vue

@@ -91,13 +91,6 @@ export default {
   name: "customerInformation",
   data() {
     return {
-      configuration: {
-        multipleChoices: false,
-        multiple: false,
-        collapseTags: false,
-        placeholder: "请点击右边按钮选择",
-        dicData: []
-      },
       search: {},
       option: {},
       parentId: 0,

+ 18 - 25
src/views/maintenance/priceLibrary/config/mainList.json

@@ -80,15 +80,15 @@
       }
     },
     {
-      "label": "最新价格",
-      "prop": "price",
+      "label": "税率",
+      "prop": "taxRate",
       "index": 9,
       "width": 100,
       "overHidden": true
     },
     {
-      "label": "美元价格",
-      "prop": "greenback",
+      "label": "最新价格",
+      "prop": "price",
       "index": 10,
       "width": 100,
       "overHidden": true
@@ -101,18 +101,11 @@
       "overHidden": true
     },
     {
-      "label": "税率",
-      "prop": "taxRate",
-      "index": 12,
-      "width": 100,
-      "overHidden": true
-    },
-    {
       "label": "商品类别",
       "prop": "goodsTypeName",
       "search": true,
       "searchSpan": 8,
-      "index": 13,
+      "index": 12,
       "width": 100,
       "type": "select",
       "filterable": true,
@@ -126,84 +119,84 @@
     {
       "label": "是否重点推荐",
       "prop": "priorityReferrer",
-      "index": 14,
-      "width": 100,
+      "index": 13,
+      "width": 120,
       "overHidden": true
     },
     {
       "label": "推荐理由",
       "prop": "referrerReason",
-      "index": 15,
+      "index": 14,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "历史价格1",
       "prop": "priceOne",
-      "index": 16,
+      "index": 15,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "历史日期1",
       "prop": "priceOneTime",
-      "index": 17,
+      "index": 16,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "历史价格2",
       "prop": "priceTwo",
-      "index": 18,
+      "index": 17,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "历史日期2",
       "prop": "priceTwoTime",
-      "index": 19,
+      "index": 18,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "历史价格3",
       "prop": "priceThree",
-      "index": 20,
+      "index": 19,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "历史日期3",
       "prop": "priceThreeTime",
-      "index": 21,
+      "index": 20,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "备注",
       "prop": "remarks",
-      "index": 22,
+      "index": 21,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "有效期开始",
       "prop": "startTime",
-      "index": 23,
+      "index": 22,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "有效期结束",
       "prop": "endTime",
-      "index": 24,
+      "index": 23,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "有效日期",
       "prop": "dateValidity",
-      "index": 25,
+      "index": 24,
       "width": 100,
       "search": true,
       "searchSpan": 8,

+ 57 - 16
src/views/maintenance/priceLibrary/index.vue

@@ -67,25 +67,52 @@
           >
           </el-date-picker>
         </template>
-        <template slot-scope="scope" slot="corpId">
-          {{ scope.row.corpName }}
+        <template slot-scope="{ row }" slot="corpId">
+          {{ row.corpName }}
         </template>
-        <template slot-scope="scope" slot="grossProfitRate">
-          {{ scope.row.grossProfitRate ? scope.row.grossProfitRate : 0 }}%
+        <template slot-scope="{ row }" slot="grossProfitRate">
+          {{ row.grossProfitRate ? scope.row.grossProfitRate : 0 }}%
         </template>
-        <template slot-scope="scope" slot="status">
-          {{ scope.row.status | orderStateFormat }}
+        <template slot-scope="{ row }" slot="status">
+          {{ row.status | orderStateFormat }}
         </template>
-        <template slot-scope="scope" slot="taxRate">
-          {{ scope.row.taxRate | taxRateFormat }}
+        <template slot-scope="{ row }" slot="coefficient">
+          <el-input
+            v-if="row.$cellEdit"
+            v-model="row.coefficient"
+            size="small"
+            oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
+            @change="priceChange(row)"
+          ></el-input>
+          <span v-else>{{ row.coefficient }}</span>
+        </template>
+        <template slot-scope="{ row }" slot="price">
+          <el-input
+            v-if="row.$cellEdit"
+            v-model="row.price"
+            size="small"
+            oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
+            @change="priceChange(row)"
+          ></el-input>
+          <span v-else>{{ row.price }}</span>
+        </template>
+        <template slot-scope="{ row }" slot="taxRate">
+          <el-input
+            v-if="row.$cellEdit"
+            v-model="row.taxRate"
+            size="small"
+            oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
+            @change="priceChange(row)"
+          ></el-input>
+          <span v-else>{{ row.taxRate | taxRateFormat }}</span>
         </template>
-        <template slot-scope="scope" slot="menu">
+        <template slot-scope="{ row, index }" slot="menu">
           <el-button
             type="text"
             icon="el-icon-edit"
             size="small"
-            @click.stop="editOpen(scope.row, 2)"
-            >修改
+            @click.stop="editOpen(row, index)"
+            >{{ row.$cellEdit ? "保存" : "修改" }}
           </el-button>
           <el-button
             type="text"
@@ -116,11 +143,16 @@
 <script>
 import option from "./config/mainList.json";
 import { getToken } from "@/util/auth";
-import { getList, remove, getGoodstype } from "@/api/maintenance/priceLibrary";
-import { defaultDate } from "@/util/date";
+import {
+  getList,
+  remove,
+  getGoodstype,
+  submit
+} from "@/api/maintenance/priceLibrary";
 import { micrometerFormat } from "@/util/validate";
 import { orderStateFormat } from "@/enums/order-stauts";
 import { taxRateFormat } from "@/enums/tax-rate";
+import { purchaseCal } from "@/util/calculate";
 import _ from "lodash";
 export default {
   name: "customerInformation",
@@ -205,6 +237,9 @@ export default {
     cellStyle() {
       return "padding:0;height:40px;";
     },
+    priceChange(row) {
+      row.purchaseAmount = purchaseCal(row.price, row.taxRate, row.coefficient);
+    },
     uploadAfter(res, done, loading, column) {
       if (res != "导入成功") {
         this.$message.error(res);
@@ -246,9 +281,15 @@ export default {
         });
       });
     },
-    editOpen(row, status) {
-      this.$message.warning("暂不支持修改");
-      console.log(row, status);
+    editOpen(row, index) {
+      if (row.$cellEdit == true) {
+        submit({ ...row, tradeType: "CK" }).then(res => {
+          console.log(res)
+          this.$set(row, "$cellEdit", false);
+        });
+      } else {
+        this.$set(row, "$cellEdit", true);
+      }
     },
     //点击搜索按钮触发
     searchChange(params, done) {