QuKatie 3 vuotta sitten
vanhempi
commit
9086818fbf

+ 35 - 1
src/components/fee-info/main.vue

@@ -89,9 +89,31 @@
             oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
             @change="rateChange(row)"
             placeholder="请输入"
+            disabled
           ></el-input>
           <span v-else>{{ row.exchangeRate | isPercentage }}</span>
         </template>
+        <template slot="currency" slot-scope="{ row }">
+          <el-select
+            v-if="row.$cellEdit"
+            v-model="row.currency"
+            filterable
+            allow-create
+            default-first-option
+            placeholder="请输入"
+            size="small"
+            @change="currencyChange(row)"
+          >
+            <el-option
+              v-for="(item, index) in currencyList"
+              :key="index"
+              :label="item.dictValue"
+              :value="item.dictValue"
+            >
+            </el-option>
+          </el-select>
+          <span v-else>{{ row.currency }}</span>
+        </template>
       </avue-crud>
     </basic-container>
     <el-dialog
@@ -200,7 +222,8 @@ export default {
       data: [],
       feeData: [],
       selectionList: [],
-      reData: null
+      reData: null,
+      currencyList: []
     };
   },
   props: {
@@ -227,6 +250,9 @@ export default {
       this.getColumnName(33),
       feeOption
     );
+    this.getWorkDicts("currency").then(res => {
+      this.currencyList = res.data.data;
+    });
   },
   components: {
     customerDialog,
@@ -252,6 +278,14 @@ export default {
     getcorpId(row) {
       this.feeData[row.index].corpId = row.id;
     },
+    currencyChange(row) {
+      if (row.currency == "CNY") {
+        row.exchangeRate = 1;
+      }
+      if (row.currency == "USD") {
+        row.exchangeRate = 6.3843;
+      }
+    },
     rowDel(row, index) {
       console.log(row, index);
       this.$confirm("确定删除数据?", {

+ 2 - 1
src/util/validate.js

@@ -20,7 +20,8 @@ export function isPercentage(val) {
 }
 // 折扣
 export function isDiscount(val) {
-  if(Number(val)>0){
+  // console.log(val)
+  if(Number(val)>=0&&val){
     return Number(val) + '折'
   }else{
     return '—'

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

@@ -544,10 +544,10 @@ export default {
               value: "dictValue"
             },
             change: ({ value }) => {
-              if (value == "人民币") {
+              if (value == "CNY") {
                 this.form.exchangeRate = 1;
               }
-              if (value == "美元") {
+              if (value == "USD") {
                 this.form.exchangeRate = 6.3843;
               }
             }
@@ -704,8 +704,7 @@ export default {
         res.data.data;
     });
     this.getWorkDicts("unit").then(res => {
-      this.findObject(this.tableOption.column, "unit").dicData =
-        res.data.data;
+      this.findObject(this.tableOption.column, "unit").dicData = res.data.data;
     });
     getPorts().then(res => {
       this.findObject(this.option.column, "portOfLoad").dicData = res.data;
@@ -737,6 +736,7 @@ export default {
         saveSell(this.form.id).then(res => {
           if (res.data.code == 200) {
             this.$message.success("生成成功");
+            this.getDetail(this.detailData.id);
           }
         });
       });
@@ -784,33 +784,37 @@ export default {
         _.divide(row.discount ? row.discount : 10, 10)
       );
       row.amount = Number(sum ? sum : 0).toFixed(2);
-      let amountSum = 0;
-      let purchaseAmountSum = 0;
-      let grossProfitRate = 0;
-      let grossProfit = 0;
-      this.data.forEach(e => {
-        amountSum = _.add(amountSum, Number(e.amount));
-        purchaseAmountSum = _.add(
-          purchaseAmountSum,
-          Number(
-            _.multiply(
-              Number(e.purchaseAmount ? e.purchaseAmount : 0),
-              Number(e.orderQuantity)
-            )
-          )
-        );
-        grossProfit = _.subtract(amountSum, purchaseAmountSum);
-        grossProfitRate = _.multiply(
-          _.divide(_.subtract(amountSum, purchaseAmountSum), amountSum),
-          100
-        );
-        this.form.grossProfit = Number(grossProfit ? grossProfit : 0).toFixed(
-          2
-        );
-        this.form.grossProfitRate = Number(
-          grossProfitRate ? grossProfitRate : 0
-        ).toFixed(2);
-      });
+      // let amountSum = 0;
+      // let purchaseAmountSum = 0;
+      // let grossProfitRate = 0;
+      // let grossProfit = 0;
+      // this.data.forEach(e => {
+      //   amountSum = _.add(amountSum, Number(e.amount));
+      //   purchaseAmountSum = _.add(
+      //     purchaseAmountSum,
+      //     Number(
+      //       _.multiply(
+      //         Number(e.purchaseAmount ? e.purchaseAmount : 0),
+      //         Number(e.orderQuantity)
+      //       )
+      //     )
+      //   );
+      //   grossProfit = _.subtract(amountSum, purchaseAmountSum);
+      //   grossProfitRate =
+      //     amountSum != 0
+      //       ? _.multiply(
+      //           _.divide(_.subtract(amountSum, purchaseAmountSum), amountSum),
+      //           100
+      //         )
+      //       : 0;
+      //   this.form.grossProfit = Number(grossProfit ? grossProfit : 0).toFixed(
+      //     2
+      //   );
+
+      //   this.form.grossProfitRate = Number(
+      //     grossProfitRate ? grossProfitRate : 0
+      //   ).toFixed(2);
+      // });
     },
     discountChange(row) {
       if (row.discount >= 10) {
@@ -1151,7 +1155,8 @@ export default {
         this.$refs.goodsCrud.$refs.dialogColumn.columnBox = false;
       }
     }
-  }
+  },
+
 };
 </script>
 

+ 11 - 11
src/views/exportTrade/customerInquiry/index.vue

@@ -117,7 +117,7 @@
 
 <script>
 import option from "./config/mainList.json";
-import { getList, remove,gainUser } from "@/api/basicData/customerInquiry";
+import { getList, remove, gainUser } from "@/api/basicData/customerInquiry";
 import detailPage from "./detailsPage.vue";
 import { defaultDate } from "@/util/date";
 import { micrometerFormat } from "@/util/validate";
@@ -196,17 +196,17 @@ export default {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
         type: "warning"
-      })
-        .then(() => {
-          remove(row.id);
-          this.$message({
-            type: "success",
-            message: "删除成功!"
-          });
-        })
-        .finally(() => {
-          this.onLoad(this.page, this.search);
+      }).then(() => {
+        remove(row.id).then(res => {
+          if (res.data.code == 200) {
+            this.$message({
+              type: "success",
+              message: "删除成功!"
+            });
+            this.onLoad(this.page, this.search);
+          }
         });
+      });
     },
     //查看跳转页面
     beforeOpenPage(row, status) {

+ 1 - 1
src/views/exportTrade/invoice/config/customerContact.json

@@ -92,7 +92,7 @@
       "overHidden": true,
       "cell": true,
       "type": "select",
-      "dicUrl": "/api/blade-system/dict-biz/dictionary?code=unit",
+      "dicData":[],
       "props": {
         "label": "dictValue",
         "value": "dictValue"

+ 7 - 2
src/views/exportTrade/invoice/detailsPage.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="borderless">
+  <div class="borderless" v-loading="loading">
     <div class="customer-head">
       <div class="customer-back">
         <!--        <i class="back-icon el-icon-arrow-left"></i><i style="font-style:normal">返回管理列表</i>-->
@@ -446,7 +446,9 @@ export default {
       olddata: [],
       oldorderFeesList: [],
       oldorderFilesList: [],
-      reData: null
+      reData: null,
+      subLoading: false,
+      showBut:true,
     };
   },
   props: {
@@ -500,6 +502,9 @@ export default {
         };
       }
     });
+    this.getWorkDicts("unit").then(res => {
+      this.findObject(this.tableOption.column, "unit").dicData = res.data.data;
+    });
   },
   methods: {
     rePick(row, index) {

+ 8 - 6
src/views/exportTrade/invoice/index.vue

@@ -196,13 +196,15 @@ export default {
         cancelButtonText: "取消",
         type: "warning"
       }).then(() => {
-        remove(row.id);
-        this.$message({
-          type: "success",
-          message: "删除成功!"
+        remove(row.id).then(res => {
+          if (res.data.code == 200) {
+            this.$message({
+              type: "success",
+              message: "删除成功!"
+            });
+            this.onLoad(this.page, this.search);
+          }
         });
-        this.page.currentPage = 1;
-        this.onLoad(this.page);
       });
     },
     //查看跳转页面

+ 1 - 1
src/views/exportTrade/purchaseContract/config/customerContact.json

@@ -92,7 +92,7 @@
       "overHidden": true,
       "cell": true,
       "type": "select",
-      "dicUrl": "/api/blade-system/dict-biz/dictionary?code=unit",
+      "dicData":[],
       "props": {
         "label": "dictValue",
         "value": "dictValue"

+ 48 - 25
src/views/exportTrade/purchaseContract/detailsPage.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="borderless">
+  <div class="borderless" v-loading="loading">
     <div class="customer-head">
       <div class="customer-back">
         <el-button
@@ -10,7 +10,7 @@
           >返回列表
         </el-button>
       </div>
-      <div class="add-customer-btn">
+      <div class="add-customer-btn" v-if="showBut">
         <el-button type="success" disabled>
           复制新单
         </el-button>
@@ -45,6 +45,15 @@
               ><template slot="append">%</template></el-input
             >
           </template>
+          <template slot="orderNo">
+            <el-input
+              size="mini"
+              v-model="form.orderNo"
+              oninput='this.value=this.value.toUpperCase()'
+              placeholder="请输入 "
+              :disabled="detailData.status == 1"
+            />
+          </template>
         </avue-form>
       </basic-container>
       <div>
@@ -304,7 +313,7 @@ export default {
       option: {
         menuBtn: false,
         labelWidth: 100,
-        disabled:false,
+        disabled: false,
         column: [
           {
             label: "客户名称",
@@ -537,7 +546,9 @@ export default {
       },
       olddata: [],
       oldorderFeesList: [],
-      oldorderFilesList: []
+      oldorderFilesList: [],
+      subLoading: false,
+      showBut: true
     };
   },
   props: {
@@ -591,6 +602,9 @@ export default {
       this.findObject(this.tableOption.column, "itemProp").dicData =
         res.data.data;
     });
+    this.getWorkDicts("unit").then(res => {
+      this.findObject(this.tableOption.column, "unit").dicData = res.data.data;
+    });
   },
   methods: {
     rePick(row, index) {
@@ -762,27 +776,36 @@ export default {
       this.dialogVisible = !this.dialogVisible;
     },
     getDetail(id) {
-      detail(id).then(res => {
-        this.form = res.data.data;
-        this.data = res.data.data.itemsVOList ? res.data.data.itemsVOList : [];
-        this.orderFeesList = res.data.data.orderFeesList
-          ? res.data.data.orderFeesList
-          : [];
-        this.orderFilesList = res.data.data.orderFilesList
-          ? res.data.data.orderFilesList
-          : [];
-        this.configuration.dicData = this.form.corpsName;
-        this.oldform = res.data.data;
-        this.olddata = this.deepClone(
-          res.data.data.itemsVOList ? res.data.data.itemsVOList : []
-        );
-        this.oldorderFeesList = this.deepClone(
-          res.data.data.orderFeesList ? res.data.data.orderFeesList : []
-        );
-        this.oldorderFilesList = this.deepClone(
-          res.data.data.orderFilesList ? res.data.data.orderFilesList : []
-        );
-      });
+      this.loading = true;
+      this.showBut = false;
+      detail(id)
+        .then(res => {
+          this.form = res.data.data;
+          this.data = res.data.data.itemsVOList
+            ? res.data.data.itemsVOList
+            : [];
+          this.orderFeesList = res.data.data.orderFeesList
+            ? res.data.data.orderFeesList
+            : [];
+          this.orderFilesList = res.data.data.orderFilesList
+            ? res.data.data.orderFilesList
+            : [];
+          this.configuration.dicData = this.form.corpsName;
+          this.oldform = res.data.data;
+          this.olddata = this.deepClone(
+            res.data.data.itemsVOList ? res.data.data.itemsVOList : []
+          );
+          this.oldorderFeesList = this.deepClone(
+            res.data.data.orderFeesList ? res.data.data.orderFeesList : []
+          );
+          this.oldorderFilesList = this.deepClone(
+            res.data.data.orderFilesList ? res.data.data.orderFilesList : []
+          );
+        })
+        .finally(() => {
+          this.loading = false;
+          this.showBut = true;
+        });
     },
     //修改提交触发
     editCustomer(status) {

+ 8 - 6
src/views/exportTrade/purchaseContract/index.vue

@@ -191,13 +191,15 @@ export default {
         cancelButtonText: "取消",
         type: "warning"
       }).then(() => {
-        remove(row.id);
-        this.$message({
-          type: "success",
-          message: "删除成功!"
+        remove(row.id).then(res => {
+          if (res.data.code == 200) {
+            this.$message({
+              type: "success",
+              message: "删除成功!"
+            });
+            this.onLoad(this.page, this.search);
+          }
         });
-        this.page.currentPage = 1;
-        this.onLoad(this.page);
       });
     },
     //查看跳转页面

+ 1 - 1
src/views/exportTrade/purchaseInquiry/config/customerContact.json

@@ -97,7 +97,7 @@
       "overHidden": true,
       "cell": true,
       "type": "select",
-      "dicUrl": "/api/blade-system/dict-biz/dictionary?code=unit",
+      "dicData":[],
       "props": {
         "label": "dictValue",
         "value": "dictValue"

+ 7 - 2
src/views/exportTrade/purchaseInquiry/detailsPage.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="borderless">
+  <div class="borderless" v-loading="loading">
     <div class="customer-head">
       <div class="customer-back">
         <!--        <i class="back-icon el-icon-arrow-left"></i><i style="font-style:normal">返回管理列表</i>-->
@@ -408,7 +408,9 @@ export default {
       oldform: {
         orderStatus: "录入"
       },
-      olddata: []
+      olddata: [],
+      subLoading: false,
+      showBut:true,
     };
   },
   props: {
@@ -458,6 +460,9 @@ export default {
       this.findObject(this.tableOption.column, "itemProp").dicData =
         res.data.data;
     });
+    this.getWorkDicts("unit").then(res => {
+      this.findObject(this.tableOption.column, "unit").dicData = res.data.data;
+    });
   },
   methods: {
     rePick(row, index) {

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

@@ -174,18 +174,20 @@ export default {
     },
     //删除列表后面的删除按钮触发触发(row, index, done)
     rowDel(row, index, done) {
-      this.$confirm("确定将选择数据删除?", {
+      this.$confirm("确定删除数据?", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
         type: "warning"
       }).then(() => {
-        remove(row.id);
-        this.$message({
-          type: "success",
-          message: "操作成功!"
+        remove(row.id).then(res => {
+          if (res.data.code == 200) {
+            this.$message({
+              type: "success",
+              message: "删除成功!"
+            });
+            this.onLoad(this.page, this.search);
+          }
         });
-        this.page.currentPage = 1;
-        this.onLoad(this.page);
       });
     },
     //查看跳转页面

+ 1 - 1
src/views/exportTrade/receipt/config/customerContact.json

@@ -85,7 +85,7 @@
       "overHidden": true,
       "cell": true,
       "type": "select",
-      "dicUrl": "/api/blade-system/dict-biz/dictionary?code=unit",
+      "dicData":[],
       "props": {
         "label": "dictValue",
         "value": "dictValue"

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

@@ -1,5 +1,5 @@
 <template>
-  <div class="borderless">
+  <div class="borderless" v-loading="loading">
     <div class="customer-head">
       <div class="customer-back">
         <!--        <i class="back-icon el-icon-arrow-left"></i><i style="font-style:normal">返回管理列表</i>-->
@@ -457,7 +457,9 @@ export default {
       },
       olddata: [],
       oldorderFeesList: [],
-      oldorderFilesList: []
+      oldorderFilesList: [],
+      subLoading: false,
+      showBut:true,
     };
   },
   props: {
@@ -511,6 +513,9 @@ export default {
       this.findObject(this.tableOption.column, "itemProp").dicData =
         res.data.data;
     });
+    this.getWorkDicts("unit").then(res => {
+      this.findObject(this.tableOption.column, "unit").dicData = res.data.data;
+    });
   },
   methods: {
     rePick(row, index) {
@@ -702,7 +707,7 @@ export default {
       });
     },
     //修改提交触发
-    editCustomer(status,status2) {
+    editCustomer(status, status2) {
       this.$refs["form"].validate((valid, done) => {
         done();
         if (valid) {
@@ -740,7 +745,7 @@ export default {
               );
               this.configuration.dicData = this.form.corpName;
               this.$message.success(this.form.id ? "修改成功" : "提交成功");
-              if(status2=='goBack'){
+              if (status2 == "goBack") {
                 this.$emit("goBack");
               }
             });
@@ -824,7 +829,7 @@ export default {
           type: "warning"
         })
           .then(() => {
-            this.editCustomer("submit","goBack");
+            this.editCustomer("submit", "goBack");
           })
           .catch(() => {
             this.$emit("goBack");

+ 8 - 6
src/views/exportTrade/receipt/index.vue

@@ -180,13 +180,15 @@ export default {
         cancelButtonText: "取消",
         type: "warning"
       }).then(() => {
-        remove(row.id);
-        this.$message({
-          type: "success",
-          message: "删除成功!"
+        remove(row.id).then(res => {
+          if (res.data.code == 200) {
+            this.$message({
+              type: "success",
+              message: "删除成功!"
+            });
+            this.onLoad(this.page, this.search);
+          }
         });
-        this.page.currentPage = 1;
-        this.onLoad(this.page);
       });
     },
     //查看跳转页面

+ 1 - 1
src/views/exportTrade/salesContract/config/customerContact.json

@@ -106,7 +106,7 @@
       "overHidden": true,
       "cell": true,
       "type": "select",
-      "dicUrl": "/api/blade-system/dict-biz/dictionary?code=unit",
+      "dicData":[],
       "props": {
         "label": "dictValue",
         "value": "dictValue"

+ 42 - 26
src/views/exportTrade/salesContract/detailsPage.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="borderless">
+  <div class="borderless" v-loading="loading">
     <div class="customer-head">
       <div class="customer-back">
         <el-button
@@ -97,6 +97,15 @@
               :disabled="detailData.status == 1"
             />
           </template>
+          <template slot="orderNo">
+            <el-input
+              size="mini"
+              v-model="form.orderNo"
+              oninput="this.value=this.value.toUpperCase()"
+              placeholder="请输入 "
+              :disabled="detailData.status == 1"
+            />
+          </template>
         </avue-form>
       </basic-container>
       <div>
@@ -280,7 +289,6 @@
           </avue-crud>
         </basic-container>
       </div>
-
       <fee-info
         ref="feeInfo"
         :orderFeesList="orderFeesList"
@@ -735,7 +743,9 @@ export default {
       },
       olddata: [],
       oldorderFeesList: [],
-      oldorderFilesList: []
+      oldorderFilesList: [],
+      subLoading: false,
+      showBut: true
     };
   },
   props: {
@@ -795,6 +805,9 @@ export default {
       this.findObject(this.tableOption.column, "itemProp").dicData =
         res.data.data;
     });
+    this.getWorkDicts("unit").then(res => {
+      this.findObject(this.tableOption.column, "unit").dicData = res.data.data;
+    });
   },
   methods: {
     saveSell() {
@@ -856,29 +869,32 @@ export default {
         _.divide(row.discount ? row.discount : 10, 10)
       );
       row.amount = Number(sum ? sum : 0).toFixed(2);
-      let amountSum = 0;
-      let purchaseAmountSum = 0;
-      let grossProfitRate = 0;
-      this.data.forEach(e => {
-        amountSum = _.add(amountSum, Number(e.amount));
-        purchaseAmountSum = _.add(
-          purchaseAmountSum,
-          Number(
-            _.multiply(
-              Number(e.purchaseAmount ? e.purchaseAmount : 0),
-              Number(e.orderQuantity)
-            )
-          )
-        );
-        this.form.grossProfit = _.subtract(amountSum, purchaseAmountSum);
-        grossProfitRate = _.multiply(
-          _.divide(_.subtract(amountSum, purchaseAmountSum), amountSum),
-          100
-        );
-        this.form.grossProfitRate = Number(
-          grossProfitRate ? grossProfitRate : 0
-        ).toFixed(2);
-      });
+      // let amountSum = 0;
+      // let purchaseAmountSum = 0;
+      // let grossProfitRate = 0;
+      // this.data.forEach(e => {
+      //   amountSum = _.add(amountSum, Number(e.amount));
+      //   purchaseAmountSum = _.add(
+      //     purchaseAmountSum,
+      //     Number(
+      //       _.multiply(
+      //         Number(e.purchaseAmount ? e.purchaseAmount : 0),
+      //         Number(e.orderQuantity)
+      //       )
+      //     )
+      //   );
+      //   this.form.grossProfit = _.subtract(amountSum, purchaseAmountSum);
+      //   grossProfitRate =
+      //     amountSum != 0
+      //       ? _.multiply(
+      //           _.divide(_.subtract(amountSum, purchaseAmountSum), amountSum),
+      //           100
+      //         )
+      //       : 0;
+      //   this.form.grossProfitRate = Number(
+      //     grossProfitRate ? grossProfitRate : 0
+      //   ).toFixed(2);
+      // });
     },
     quantityChange(row) {
       if (Number(row.orderQuantity) < Number(row.actualQuantity)) {

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

@@ -201,12 +201,13 @@ export default {
         type: "warning"
       }).then(() => {
         remove(row.id).then(res => {
-          this.$message({
-            type: "success",
-            message: "删除成功!"
-          });
-          this.page.currentPage = 1;
-          this.onLoad(this.page);
+          if (res.data.code == 200) {
+            this.$message({
+              type: "success",
+              message: "删除成功!"
+            });
+            this.onLoad(this.page, this.search);
+          }
         });
       });
     },

+ 4 - 2
src/views/exportTrade/shippingInquiry/detailsPage.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="borderless">
+  <div class="borderless" v-loading="loading">
     <div class="customer-head">
       <div class="customer-back">
         <!--        <i class="back-icon el-icon-arrow-left"></i><i style="font-style:normal">返回管理列表</i>-->
@@ -328,7 +328,9 @@ export default {
       freightData: [],
       oldform: {},
       olddata: [],
-      oldfreightData: []
+      oldfreightData: [],
+      subLoading: false,
+      showBut:true,
     };
   },
   props: {