QuKatie 4 years ago
parent
commit
c0d6d68867

+ 10 - 0
src/api/basicData/customerInquiry.js

@@ -102,3 +102,13 @@ export function getSpecification(query) {
     params: query
   })
 }
+//生成销售单
+export function saveSell(data) {
+  return request({
+    url: '/api/blade-purchase-sales/exportEnquiry/createMarket',
+    method: 'post',
+    data: {
+      id: data
+    }
+  })
+}

+ 1 - 1
src/components/port-info/index.vue

@@ -150,7 +150,7 @@ export default {
   },
   methods: {
     closed() {
-      this.selectionList = [];
+      this.$refs.crud.toggleSelection();
     },
     importPort() {
       this.$emit("balabala", this.selectionList[0].name);

+ 0 - 1
src/util/contrastData.js

@@ -2,7 +2,6 @@
 export function contrastObj(newval, oldval) {
   let reg = /^[A-Za-z]+$/;
   for (let newitem in newval) {
-    console.log(newval, oldval)
     if (Object.keys(oldval).length == 0) {
       if (newval[newitem]) {
         return true

+ 3 - 2
src/views/exportTrade/customerInquiry/config/customerContact.json

@@ -40,7 +40,7 @@
       "overHidden": true,
       "cell": true,
       "type": "select",
-      "dicUrl": "/api/blade-system/dict-biz/dictionary?code=product_properties",
+      "dicData":[],
       "props": {
         "label": "dictValue",
         "value": "dictKey"
@@ -86,7 +86,8 @@
       "prop": "referrerReason",
       "index": 10,
       "width": 100,
-      "overHidden": true
+      "overHidden": true,
+      "cell": true
     },
     {
       "label": "销售价",

+ 131 - 31
src/views/exportTrade/customerInquiry/detailsPage.vue

@@ -11,6 +11,9 @@
           >返回列表
         </el-button>
       </div>
+      <el-button type="info" class="sell-customer-btn" @click="saveSell"
+        >生成销售单</el-button
+      >
       <el-button type="success" class="copy-customer-btn" disabled>
         复制新单
       </el-button>
@@ -53,8 +56,7 @@
               @change="rateChange"
               placeholder="请输入 汇率"
               :disabled="detailData.status == 1"
-              ><template slot="append">%</template></el-input
-            >
+            />
           </template>
           <template slot="boxNumber">
             <el-input
@@ -209,8 +211,25 @@
             </el-select>
             <span v-else>{{ row.itemType }}</span>
           </template>
+          <template slot="cname" slot-scope="{ row, index }">
+            <el-button
+              size="small"
+              type="text"
+              @click="rePick(row, index)"
+              :disabled="disabled"
+              class="picker"
+              style="padding:4px 10px;float:left"
+              >选择</el-button
+            >
+            <span> {{ row.cname }}</span>
+          </template>
           <template slot="priorityReferrer" slot-scope="{ row }">
-            <el-checkbox :disabled="!row.$cellEdit" v-model="row.priorityReferrer" :true-label="1" :false-label="0" />
+            <el-checkbox
+              :disabled="!row.$cellEdit"
+              v-model="row.priorityReferrer"
+              :true-label="1"
+              :false-label="0"
+            />
           </template>
           <template slot="corpId" slot-scope="{ row, index }">
             <customer-dialog
@@ -226,6 +245,7 @@
               v-if="row.$cellEdit"
               v-model="row.purchaseAmount"
               size="small"
+              placeholder="请输入"
               oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
             ></el-input>
             <span v-else>{{ row.purchaseAmount | micrometerFormat }}</span>
@@ -376,7 +396,8 @@ import {
   savePurchase,
   saveShipping,
   getPorts,
-  getSpecification
+  getSpecification,
+  saveSell
 } from "@/api/basicData/customerInquiry";
 import reportDialog from "@/components/report-dialog/main";
 import { isDiscount, isPercentage, micrometerFormat } from "@/util/validate";
@@ -395,7 +416,9 @@ export default {
         dicData: []
       },
       switchDialog: false,
-      form: {},
+      form: {
+        orderStatus: "录入"
+      },
       disabled: false,
       dialogVisible: false,
       tableOption: {},
@@ -647,9 +670,12 @@ export default {
       selectionList: [],
       treeDeptId: null,
       orderFeesList: [],
-      oldform: {},
+      oldform: {
+        orderStatus: "录入"
+      },
       olddata: [],
-      oldorderFeesList: []
+      oldorderFeesList: [],
+      reData: null
     };
   },
   props: {
@@ -677,6 +703,10 @@ export default {
     if (this.detailData.status == 1) {
       this.option.disabled = true;
     }
+    this.getWorkDicts("product_properties").then(res => {
+      this.findObject(this.tableOption.column, "itemProp").dicData =
+        res.data.data;
+    });
     getPorts().then(res => {
       this.findObject(this.option.column, "portOfLoad").dicData = res.data;
       this.findObject(this.option.column, "portOfDestination").dicData =
@@ -695,6 +725,29 @@ export default {
     }
   },
   methods: {
+    saveSell() {
+      if (!this.form.id) {
+        return this.$message.error("此单据没有提交记录,请先提交");
+      }
+      this.$confirm("是否生成销售单?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(() => {
+        saveSell(this.form.id).then(res => {
+          if (res.data.code == 200) {
+            this.$message.success("生成成功");
+          }
+        });
+      });
+    },
+    rePick(row, index) {
+      this.reData = {
+        ...row,
+        index: index
+      };
+      this.newDetails();
+    },
     getcorpId(row) {
       this.data[row.index].corpId = row.id;
     },
@@ -817,34 +870,68 @@ export default {
       });
     },
     importGoods() {
-      this.selectionList.forEach(e => {
-        this.data.push({
-          itemId: e.id,
-          code: e.code,
-          cname: e.cname,
-          priceCategory: e.goodsTypeName,
-          itemUrl: e.url,
-          itemProp: null,
-          itemDescription: null,
-          itemType: null,
-          tradeTerms: null,
-          price: 0,
-          orderQuantity: 0,
-          insurance: 0,
-          freight: 0,
-          discount: null,
-          amount: 0,
-          taxRate: 0,
-          unit: e.unit,
-          remarks: null,
-          $cellEdit: true
+      if (this.reData) {
+        console.log(this.reData);
+        if (this.selectionList.length != 1) {
+          return this.$message.error("重新选择的时候只能选择一条数据");
+        } else {
+          this.selectionList.forEach(e => {
+            this.data.forEach((item, index) => {
+              if (index == this.reData.index) {
+                item.itemId = e.id;
+                item.code = e.code;
+                item.cname = e.cname;
+                item.priceCategory = e.goodsTypeName;
+                item.itemUrl = e.url;
+                item.itemProp = this.reData.itemProp;
+                item.itemDescription = e.cnameDescription;
+                item.itemType = this.reData.itemType;
+                item.tradeTerms = this.reData.tradeTerms;
+                item.price = this.reData.price;
+                item.orderQuantity = this.reData.orderQuantity;
+                item.insurance = this.reData.insurance;
+                item.freight = this.reData.freight;
+                item.discount = this.reData.discount;
+                item.amount = this.reData.amount;
+                item.taxRate = this.reData.taxRate;
+                item.unit = e.unit;
+                item.remarks = this.reData.remarks;
+                item.$cellEdit = true;
+              }
+            });
+          });
+        }
+      } else {
+        this.selectionList.forEach(e => {
+          this.data.push({
+            itemId: e.id,
+            code: e.code,
+            cname: e.cname,
+            priceCategory: e.goodsTypeName,
+            itemUrl: e.url,
+            itemProp: null,
+            itemDescription: e.cnameDescription,
+            itemType: null,
+            tradeTerms: null,
+            price: 0,
+            orderQuantity: 0,
+            insurance: 0,
+            freight: 0,
+            discount: null,
+            amount: 0,
+            taxRate: 0,
+            unit: e.unit,
+            remarks: null,
+            $cellEdit: true
+          });
         });
-      });
+      }
       this.dialogVisible = false;
     },
     closeGoods() {
       this.selectionList = [];
       this.treeDeptId = "";
+      this.reData = null;
     },
     selectionChange(list) {
       this.selectionList = list;
@@ -935,8 +1022,17 @@ export default {
     //返回列表
     backToList() {
       let orderFeesList = this.$refs.feeInfo.submitData();
+      let form = this.deepClone(this.form);
       if (
-        contrastObj(this.form, this.oldform) ||
+        form.orderStatus == "录入" &&
+        this.oldform.orderStatus == "录入"
+      ) {
+        delete form.orderStatus;
+        delete form.$orderStatus;
+        delete this.oldform.orderStatus;
+      }
+      if (
+        contrastObj(form, this.oldform) ||
         contrastList(this.data, this.olddata) ||
         contrastList(orderFeesList, this.oldorderFeesList)
       ) {
@@ -1054,7 +1150,11 @@ export default {
   font-size: 20px;
   margin-right: 8px;
 }
-
+.sell-customer-btn {
+  position: fixed;
+  right: 244px;
+  top: 115px;
+}
 .copy-customer-btn {
   position: fixed;
   right: 140px;

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

@@ -37,12 +37,12 @@
     {
       "label": "产品属性",
       "prop": "itemProp",
-      "index": 5,
+      "index": 4,
       "width": 100,
       "overHidden": true,
       "cell": true,
       "type": "select",
-      "dicUrl": "/api/blade-system/dict-biz/dictionary?code=product_properties",
+      "dicData":[],
       "props": {
         "label": "dictValue",
         "value": "dictKey"

+ 93 - 31
src/views/exportTrade/invoice/detailsPage.vue

@@ -96,6 +96,18 @@
             </el-select>
             <span v-else>{{ row.itemType }}</span>
           </template>
+          <template slot="cname" slot-scope="{ row, index }">
+            <el-button
+              size="small"
+              type="text"
+              @click="rePick(row, index)"
+              :disabled="disabled"
+              class="picker"
+              style="padding:4px 10px;float:left"
+              >选择</el-button
+            >
+            <span> {{ row.cname }}</span>
+          </template>
           <template slot="taxRate" slot-scope="{ row }">
             <el-input
               v-if="row.$cellEdit"
@@ -270,7 +282,7 @@ export default {
                 trigger: "blur"
               }
             ],
-            span: 8,
+            span: 16,
             slot: true
           },
           {
@@ -293,7 +305,8 @@ export default {
               label: "dictValue",
               value: "dictValue"
             },
-            disabled: true
+            disabled: true,
+            row: true
           },
           {
             label: "仓库名称",
@@ -331,11 +344,6 @@ export default {
             span: 8
           },
           {
-            label: "发货地址",
-            prop: "arrivalAddress",
-            span: 8
-          },
-          {
             label: "联系人",
             prop: "arrivalContact",
             span: 8
@@ -346,6 +354,11 @@ export default {
             span: 8
           },
           {
+            label: "发货地址",
+            prop: "arrivalAddress",
+            span: 8
+          },
+          {
             label: "制单时间",
             prop: "createTime",
             span: 8,
@@ -359,7 +372,7 @@ export default {
             prop: "deliveryRemarks",
             type: "textarea",
             minRows: 2,
-            span: 8
+            span: 24
           }
         ]
       },
@@ -407,7 +420,8 @@ export default {
       },
       olddata: [],
       oldorderFeesList: [],
-      oldorderFilesList: []
+      oldorderFilesList: [],
+      reData: null
     };
   },
   props: {
@@ -439,6 +453,10 @@ export default {
       this.option.disabled = true;
     }
     let _this = this;
+    this.getWorkDicts("product_properties").then(res => {
+      this.findObject(this.tableOption.column, "itemProp").dicData =
+        res.data.data;
+    });
     this.tableOption.column.forEach(e => {
       if (e.prop == "taxRate") {
         e.formatter = function(row) {
@@ -459,6 +477,13 @@ export default {
     });
   },
   methods: {
+    rePick(row, index) {
+      this.reData = {
+        ...row,
+        index: index
+      };
+      this.newDetails();
+    },
     itemTypeFocus(row) {
       this.itemtypeList = [];
       getSpecification({ goodId: row.itemId }).then(res => {
@@ -494,9 +519,9 @@ export default {
       }
     },
     rateChange(row) {
-      if (row >= 100) {
+      if (Number(row.taxRate)>= 100) {
         row.taxRate = 0;
-        this.$message.error("率不能超过100%");
+        this.$message.error("率不能超过100%");
       }
     },
     rowSave(row) {
@@ -527,31 +552,68 @@ export default {
       });
     },
     importGoods() {
-      this.selectionList.forEach(e => {
-        this.data.push({
-          itemId: e.id,
-          code: e.code,
-          cname: e.cname,
-          priceCategory: e.goodsTypeName,
-          itemUrl: e.url,
-          itemProp: null,
-          itemDescription: null,
-          itemType: null,
-          actualQuantity: 0,
-          tradeTerms: null,
-          price: 0,
-          contractAmount: 0,
-          taxRate: 0,
-          unit: e.unit,
-          remarks: null,
-          $cellEdit: true
+      if (this.reData) {
+        console.log(this.reData);
+        if (this.selectionList.length != 1) {
+          return this.$message.error("重新选择的时候只能选择一条数据");
+        } else {
+          this.selectionList.forEach(e => {
+            this.data.forEach((item, index) => {
+              if (index == this.reData.index) {
+                item.itemId = e.id;
+                item.code = e.code;
+                item.cname = e.cname;
+                item.priceCategory = e.goodsTypeName;
+                item.itemUrl = e.url;
+                item.itemProp = this.reData.itemProp;
+                item.itemDescription = e.cnameDescription;
+                item.itemType = this.reData.itemType;
+                item.tradeTerms = this.reData.tradeTerms;
+                item.price = this.reData.price;
+                item.orderQuantity = this.reData.orderQuantity;
+                item.insurance = this.reData.insurance;
+                item.freight = this.reData.freight;
+                item.discount = this.reData.discount;
+                item.amount = this.reData.amount;
+                item.taxRate = this.reData.taxRate;
+                item.unit = e.unit;
+                item.remarks = this.reData.remarks;
+                item.$cellEdit = true;
+              }
+            });
+          });
+        }
+      } else {
+        this.selectionList.forEach(e => {
+          this.data.push({
+            itemId: e.id,
+            code: e.code,
+            cname: e.cname,
+            priceCategory: e.goodsTypeName,
+            itemUrl: e.url,
+            itemProp: null,
+            itemDescription: e.cnameDescription,
+            itemType: null,
+            tradeTerms: null,
+            price: 0,
+            orderQuantity: 0,
+            insurance: 0,
+            freight: 0,
+            discount: null,
+            amount: 0,
+            taxRate: 0,
+            unit: e.unit,
+            remarks: null,
+            $cellEdit: true
+          });
         });
-      });
-      this.dialogVisible = false;
+      }
+       this.dialogVisible = false;
     },
     closeGoods() {
       this.selectionList = [];
       this.treeDeptId = "";
+      this.reData = null;
     },
     selectionChange(list) {
       this.selectionList = list;

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

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

+ 87 - 33
src/views/exportTrade/purchaseContract/detailsPage.vue

@@ -37,11 +37,9 @@
               size="mini"
               v-model="form.exchangeRate"
               oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
-              @change="rateChange"
               placeholder="请输入 汇率"
               :disabled="detailData.status == 1"
-              ><template slot="append">%</template></el-input
-            >
+            />
           </template>
         </avue-form>
       </basic-container>
@@ -77,6 +75,18 @@
               ></el-input>
               <span v-else>{{ row.orderQuantity }}</span>
             </template>
+            <template slot="cname" slot-scope="{ row, index }">
+              <el-button
+                size="small"
+                type="text"
+                @click="rePick(row, index)"
+                :disabled="disabled"
+                class="picker"
+                style="padding:4px 10px;float:left"
+                >选择</el-button
+              >
+              <span> {{ row.cname }}</span>
+            </template>
             <template slot="itemType" slot-scope="{ row }">
               <el-select
                 v-if="row.$cellEdit"
@@ -281,7 +291,9 @@ export default {
         dicData: []
       },
       switchDialog: false,
-      form: {},
+      form: {
+        orderStatus:'录入'
+      },
       disabled: false,
       dialogVisible: false,
       tableOption: tableOption,
@@ -491,7 +503,8 @@ export default {
       orderFilesList: [],
       orderItemIds: [],
       itemtypeList: [],
-      goodsSelections: []
+      goodsSelections: [],
+      reData: null
     };
   },
   props: {
@@ -546,8 +559,19 @@ export default {
         this.form.sysNo = res.data.data;
       });
     }
+    this.getWorkDicts("product_properties").then(res => {
+      this.findObject(this.tableOption.column, "itemProp").dicData =
+        res.data.data;
+    });
   },
   methods: {
+    rePick(row, index) {
+      this.reData = {
+        ...row,
+        index: index
+      };
+      this.newDetails();
+    },
     rowCell(row, index) {
       if (row.$cellEdit == true) {
         this.$set(row, "$cellEdit", false);
@@ -581,13 +605,6 @@ export default {
         row.amount = _.multiply(row.price, row.orderQuantity).toFixed(2);
       }
     },
-    rateChange(row) {
-      console.log(row);
-      if (row >= 100) {
-        this.form.exchangeRate = 0;
-        this.$message.error("汇率不能超过100%");
-      }
-    },
     rowSave(row) {
       console.log(row);
       this.$set(row, "$cellEdit", false);
@@ -616,31 +633,68 @@ export default {
       });
     },
     importGoods() {
-      this.selectionList.forEach(e => {
-        this.data.push({
-          itemId: e.id,
-          code: e.code,
-          cname: e.cname,
-          priceCategory: e.goodsTypeName,
-          itemUrl: e.url,
-          itemProp: null,
-          itemDescription: null,
-          itemType: null,
-          orderQuantity: 0,
-          tradeTerms: null,
-          price: 0,
-          amount: 0,
-          taxRate: 0,
-          unit: e.unit,
-          remarks: null,
-          $cellEdit: true
+      if (this.reData) {
+        console.log(this.reData);
+        if (this.selectionList.length != 1) {
+          return this.$message.error("重新选择的时候只能选择一条数据");
+        } else {
+          this.selectionList.forEach(e => {
+            this.data.forEach((item, index) => {
+              if (index == this.reData.index) {
+                item.itemId = e.id;
+                item.code = e.code;
+                item.cname = e.cname;
+                item.priceCategory = e.goodsTypeName;
+                item.itemUrl = e.url;
+                item.itemProp = this.reData.itemProp;
+                item.itemDescription = e.cnameDescription;
+                item.itemType = this.reData.itemType;
+                item.tradeTerms = this.reData.tradeTerms;
+                item.price = this.reData.price;
+                item.orderQuantity = this.reData.orderQuantity;
+                item.insurance = this.reData.insurance;
+                item.freight = this.reData.freight;
+                item.discount = this.reData.discount;
+                item.amount = this.reData.amount;
+                item.taxRate = this.reData.taxRate;
+                item.unit = e.unit;
+                item.remarks = this.reData.remarks;
+                item.$cellEdit = true;
+              }
+            });
+          });
+        }
+      } else {
+        this.selectionList.forEach(e => {
+          this.data.push({
+            itemId: e.id,
+            code: e.code,
+            cname: e.cname,
+            priceCategory: e.goodsTypeName,
+            itemUrl: e.url,
+            itemProp: null,
+            itemDescription: e.cnameDescription,
+            itemType: null,
+            tradeTerms: null,
+            price: 0,
+            orderQuantity: 0,
+            insurance: 0,
+            freight: 0,
+            discount: null,
+            amount: 0,
+            taxRate: 0,
+            unit: e.unit,
+            remarks: null,
+            $cellEdit: true
+          });
         });
-      });
-      this.dialogVisible = false;
+      }
+       this.dialogVisible = false;
     },
     closeGoods() {
       this.selectionList = [];
       this.treeDeptId = "";
+      this.reData = null;
     },
     goodsSelectionChange(list) {
       this.goodsSelections = list;
@@ -719,7 +773,7 @@ export default {
             billType: "CG"
           }).then(res => {
             this.$message.success(this.form.id ? "修改成功" : "提交成功");
-            this.form.id = res.data.data;
+            this.getDetail(res.data.data);
           });
         } else {
           return false;

+ 3 - 2
src/views/exportTrade/purchaseInquiry/config/customerContact.json

@@ -40,7 +40,7 @@
       "overHidden": true,
       "cell": true,
       "type": "select",
-      "dicUrl": "/api/blade-system/dict-biz/dictionary?code=product_properties",
+      "dicData":[],
       "props": {
         "label": "dictValue",
         "value": "dictKey"
@@ -86,7 +86,8 @@
       "prop": "referrerReason",
       "index": 10,
       "width": 100,
-      "overHidden": true
+      "overHidden": true,
+      "cell": true
     },
     {
       "label": "计价单位",

+ 88 - 34
src/views/exportTrade/purchaseInquiry/detailsPage.vue

@@ -53,10 +53,8 @@
               size="mini"
               v-model="form.exchangeRate"
               oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
-              @change="rateChange"
               placeholder="请输入 汇率"
-              ><template slot="append">%</template></el-input
-            >
+              />
           </template>
         </avue-form>
       </basic-container>
@@ -70,6 +68,18 @@
           @saveColumn="saveColumn"
           :summary-method="summaryMethod"
         >
+          <template slot="cname" slot-scope="{ row, index }">
+            <el-button
+              size="small"
+              type="text"
+              @click="rePick(row, index)"
+              :disabled="disabled"
+              class="picker"
+              style="padding:4px 10px;float:left"
+              >选择</el-button
+            >
+            <span> {{ row.cname }}</span>
+          </template>
           <template slot="price" slot-scope="{ row }">
             <el-input
               v-if="row.$cellEdit"
@@ -261,10 +271,12 @@ export default {
         dicData: []
       },
       switchDialog: false,
-      form: {},
+      form: {
+        orderStatus:'录入'
+      },
       disabled: false,
       dialogVisible: false,
-      tableOption: tableOption,
+      tableOption: {},
       option: {
         menuBtn: false,
         labelWidth: 100,
@@ -391,7 +403,8 @@ export default {
       goodsList: [],
       selectionList: [],
       treeDeptId: null,
-      itemtypeList: []
+      itemtypeList: [],
+      reData: null
     };
   },
   props: {
@@ -437,8 +450,19 @@ export default {
         };
       }
     });
+    this.getWorkDicts("product_properties").then(res => {
+      this.findObject(this.tableOption.column, "itemProp").dicData =
+        res.data.data;
+    });
   },
   methods: {
+    rePick(row, index) {
+      this.reData = {
+        ...row,
+        index: index
+      };
+      this.newDetails();
+    },
     getcorpId(row) {
       console.log(row);
       this.data[row.index].corpId = row.id;
@@ -472,13 +496,6 @@ export default {
         row.amount = _.multiply(row.price, row.orderQuantity).toFixed(2);
       }
     },
-    rateChange(row) {
-      console.log(row);
-      if (row >= 100) {
-        this.form.exchangeRate = 0;
-        this.$message.error("汇率不能超过100%");
-      }
-    },
     rowSave(row) {
       console.log(row);
       this.$set(row, "$cellEdit", false);
@@ -501,31 +518,68 @@ export default {
       }
     },
     importGoods() {
-      this.selectionList.forEach(e => {
-        this.data.push({
-          itemId: e.id,
-          code: e.code,
-          cname: e.cname,
-          priceCategory: e.goodsTypeName,
-          itemUrl: e.url,
-          itemProp: null,
-          itemDescription: null,
-          itemType: null,
-          orderQuantity: 0,
-          tradeTerms: null,
-          price: 0,
-          amount: 0,
-          taxRate: 0,
-          unit: e.unit,
-          remarks: null,
-          $cellEdit: true
+      if (this.reData) {
+        console.log(this.reData);
+        if (this.selectionList.length != 1) {
+          return this.$message.error("重新选择的时候只能选择一条数据");
+        } else {
+          this.selectionList.forEach(e => {
+            this.data.forEach((item, index) => {
+              if (index == this.reData.index) {
+                item.itemId = e.id;
+                item.code = e.code;
+                item.cname = e.cname;
+                item.priceCategory = e.goodsTypeName;
+                item.itemUrl = e.url;
+                item.itemProp = this.reData.itemProp;
+                item.itemDescription = e.cnameDescription;
+                item.itemType = this.reData.itemType;
+                item.tradeTerms = this.reData.tradeTerms;
+                item.price = this.reData.price;
+                item.orderQuantity = this.reData.orderQuantity;
+                item.insurance = this.reData.insurance;
+                item.freight = this.reData.freight;
+                item.discount = this.reData.discount;
+                item.amount = this.reData.amount;
+                item.taxRate = this.reData.taxRate;
+                item.unit = e.unit;
+                item.remarks = this.reData.remarks;
+                item.$cellEdit = true;
+              }
+            });
+          });
+        }
+      } else {
+        this.selectionList.forEach(e => {
+          this.data.push({
+            itemId: e.id,
+            code: e.code,
+            cname: e.cname,
+            priceCategory: e.goodsTypeName,
+            itemUrl: e.url,
+            itemProp: null,
+            itemDescription: e.cnameDescription,
+            itemType: null,
+            tradeTerms: null,
+            price: 0,
+            orderQuantity: 0,
+            insurance: 0,
+            freight: 0,
+            discount: null,
+            amount: 0,
+            taxRate: 0,
+            unit: e.unit,
+            remarks: null,
+            $cellEdit: true
+          });
         });
-      });
-      this.dialogVisible = false;
+      }
+       this.dialogVisible = false;
     },
     closeGoods() {
       this.selectionList = [];
       this.treeDeptId = "";
+      this.reData = null;
     },
     selectionChange(list) {
       this.selectionList = list;
@@ -575,7 +629,7 @@ export default {
           if (status == "save") {
             submit({
               ...this.form,
-              orderItemsList: this.data,
+              orderItemsList: this.data
             }).then(res => {
               this.form = res.data.data;
               this.data = res.data.data.orderItemsList

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

@@ -36,13 +36,13 @@
     },
     {
       "label": "产品属性",
-      "prop": "packageRemarks",
-      "index": 5,
+      "prop": "itemProp",
+      "index": 4,
       "width": 100,
       "overHidden": true,
       "cell": true,
       "type": "select",
-      "dicUrl": "/api/blade-system/dict-biz/dictionary?code=product_properties",
+      "dicData":[],
       "props": {
         "label": "dictValue",
         "value": "dictKey"

+ 80 - 28
src/views/exportTrade/receipt/detailsPage.vue

@@ -278,7 +278,9 @@ export default {
         dicData: []
       },
       switchDialog: false,
-      form: {},
+      form: {
+        deliveryStatus: "录入"
+      },
       disabled: false,
       dialogVisible: false,
       tableOption: tableOption,
@@ -296,7 +298,7 @@ export default {
                 trigger: "blur"
               }
             ],
-            span: 8,
+            span: 16,
             slot: true
           },
           {
@@ -319,7 +321,8 @@ export default {
               label: "dictValue",
               value: "dictValue"
             },
-            disabled: true
+            disabled: true,
+            row: true
           },
           {
             label: "仓库名称",
@@ -337,7 +340,8 @@ export default {
             span: 8,
             type: "date",
             format: "yyyy-MM-dd",
-            valueFormat: "yyyy-MM-dd 00:00:00"
+            valueFormat: "yyyy-MM-dd 00:00:00",
+            row: true
           },
           {
             label: "入库金额",
@@ -368,7 +372,7 @@ export default {
             prop: "deliveryRemarks",
             type: "textarea",
             minRows: 2,
-            span: 8
+            span: 24
           }
         ]
       },
@@ -410,7 +414,8 @@ export default {
       treeDeptId: null,
       orderFeesList: [],
       orderFilesList: [],
-      itemtypeList: []
+      itemtypeList: [],
+      reData: null
     };
   },
   props: {
@@ -460,8 +465,19 @@ export default {
         };
       }
     });
+    this.getWorkDicts("product_properties").then(res => {
+      this.findObject(this.tableOption.column, "itemProp").dicData =
+        res.data.data;
+    });
   },
   methods: {
+    rePick(row, index) {
+      this.reData = {
+        ...row,
+        index: index
+      };
+      this.newDetails();
+    },
     getGenerate(data) {
       this.form = data;
       this.data = data.orderItemsList;
@@ -503,9 +519,9 @@ export default {
       }
     },
     rateChange(row) {
-      if (row >= 100) {
+      if (Number(row.taxRate)>= 100) {
         row.taxRate = 0;
-        this.$message.error("率不能超过100%");
+        this.$message.error("率不能超过100%");
       }
     },
     rowSave(row) {
@@ -536,31 +552,67 @@ export default {
       });
     },
     importGoods() {
-      this.selectionList.forEach(e => {
-        this.data.push({
-          itemId: e.id,
-          code: e.code,
-          cname: e.cname,
-          priceCategory: e.goodsTypeName,
-          itemUrl: e.url,
-          packageRemarks: null,
-          productDesc: null,
-          specificationAndModel: null,
-          actualQuantity: 0,
-          tradeTerms: null,
-          price: 0,
-          contractAmount: 0,
-          taxRate: 0,
-          unit: e.unit,
-          remarks: null,
-          $cellEdit: true
+      if (this.reData) {
+        console.log(this.reData);
+        if (this.selectionList.length != 1) {
+          return this.$message.error("重新选择的时候只能选择一条数据");
+        } else {
+          this.selectionList.forEach(e => {
+            this.data.forEach((item, index) => {
+              if (index == this.reData.index) {
+                item.itemId = e.id;
+                item.code = e.code;
+                item.cname = e.cname;
+                item.priceCategory = e.goodsTypeName;
+                item.itemUrl = e.url;
+                item.itemProp = this.reData.itemProp;
+                item.itemDescription = e.cnameDescription;
+                item.itemType = this.reData.itemType;
+                item.tradeTerms = this.reData.tradeTerms;
+                item.price = this.reData.price;
+                item.orderQuantity = this.reData.orderQuantity;
+                item.insurance = this.reData.insurance;
+                item.freight = this.reData.freight;
+                item.discount = this.reData.discount;
+                item.amount = this.reData.amount;
+                item.taxRate = this.reData.taxRate;
+                item.unit = e.unit;
+                item.remarks = this.reData.remarks;
+                item.$cellEdit = true;
+              }
+            });
+          });
+        }
+      } else {
+        this.selectionList.forEach(e => {
+          this.data.push({
+            itemId: e.id,
+            code: e.code,
+            cname: e.cname,
+            priceCategory: e.goodsTypeName,
+            itemUrl: e.url,
+            itemProp: null,
+            itemDescription: e.cnameDescription,
+            itemType: null,
+            tradeTerms: null,
+            price: 0,
+            orderQuantity: 0,
+            insurance: 0,
+            freight: 0,
+            discount: null,
+            amount: 0,
+            taxRate: 0,
+            unit: e.unit,
+            remarks: null,
+            $cellEdit: true
+          });
         });
-      });
-      this.dialogVisible = false;
+      }
     },
     closeGoods() {
       this.selectionList = [];
       this.treeDeptId = "";
+      this.reData = null;
     },
     selectionChange(list) {
       this.selectionList = list;

+ 95 - 48
src/views/exportTrade/salesContract/config/customerContact.json

@@ -1,95 +1,107 @@
 {
-  "tip":false,
   "searchShow": true,
   "searchMenuSpan": 6,
   "border": true,
   "index": true,
   "viewBtn": false,
   "editBtn": false,
-  "addBtn":false,
-  "delBtn":false, 
+  "addBtn": false,
+  "delBtn": false,
   "align": "center",
-  "menuWidth":150,
+  "menuWidth": 150,
   "refreshBtn": false,
-  "selection": true,
   "showSummary": true,
   "column": [{
       "label": "产品类别",
       "prop": "priceCategory",
       "index": 1,
-      "width": 120,
-      "overHidden":true
+      "width": 100,
+      "overHidden": true
     },
     {
       "label": "产品编号",
       "prop": "code",
       "index": 2,
-      "width": 120,
-      "overHidden":true
+      "width": 100,
+      "overHidden": true
     },
     {
       "label": "产品名称",
       "prop": "cname",
       "index": 3,
-      "width": 120,
-      "overHidden":true
+      "width": 100,
+      "overHidden": true
     },
     {
       "label": "产品属性",
       "prop": "itemProp",
       "index": 4,
-      "width": 120,
-      "overHidden":true,
+      "width": 100,
+      "overHidden": true,
       "cell": true,
       "type": "select",
-      "dicUrl": "/api/blade-system/dict-biz/dictionary?code=product_properties",
+      "dicData": [],
       "props": {
         "label": "dictValue",
         "value": "dictKey"
       }
     },
     {
-      "label": "产品照片",
-      "prop": "itemUrl",
-      "index": 5,
-      "width": 120,
-      "overHidden":true,
-      "hide":true
-    },
-    {
       "label": "产品描述",
       "prop": "itemDescription",
-      "index": 6,
-      "width": 120,
-      "overHidden":true,
+      "index": 5,
+      "width": 100,
+      "overHidden": true,
       "cell": true
     },
     {
       "label": "产品型号",
       "prop": "itemType",
+      "index": 6,
+      "width": 100
+    },
+    {
+      "label": "采购单价",
+      "prop": "purchaseAmount",
       "index": 7,
-      "width": 120
+      "width": 100,
+      "overHidden": true
     },
     {
-      "label": "数量",
-      "prop": "orderQuantity",
+      "label": "供应商",
+      "prop": "corpId",
       "index": 8,
-      "width": 120,
-      "overHidden":true
+      "width": 100,
+      "overHidden": true
     },
     {
-      "label": "发货数量",
-      "prop": "actualQuantity",
+      "label": "重点推荐",
+      "prop": "priorityReferrer",
       "index": 9,
-      "width": 120,
-      "overHidden":true
+      "width": 100,
+      "overHidden": true
+    },
+    {
+      "label": "推荐理由",
+      "prop": "referrerReason",
+      "index": 10,
+      "width": 100,
+      "overHidden": true,
+      "cell": true
+    },
+    {
+      "label": "销售价",
+      "prop": "price",
+      "index": 11,
+      "width": 100,
+      "overHidden": true
     },
     {
       "label": "计价单位",
       "prop": "unit",
-      "index": 10,
-      "width": 120,
-      "overHidden":true,
+      "index": 12,
+      "width": 100,
+      "overHidden": true,
       "cell": true,
       "type": "select",
       "dicUrl": "/api/blade-system/dict-biz/dictionary?code=unit",
@@ -99,25 +111,60 @@
       }
     },
     {
-      "label": "单价",
-      "prop": "price",
-      "index": 11,
-      "width": 120,
-      "overHidden":true
+      "label": "数量",
+      "prop": "orderQuantity",
+      "index": 13,
+      "width": 100,
+      "overHidden": true
+    },
+    {
+      "label": "发货数量",
+      "prop": "actualQuantity",
+      "index": 14,
+      "width": 100,
+      "overHidden": true
+    },
+    {
+      "label": "保险",
+      "prop": "insurance",
+      "index": 15,
+      "width": 100,
+      "overHidden": true
+    },
+    {
+      "label": "运费",
+      "prop": "freight",
+      "index": 16,
+      "width": 100,
+      "overHidden": true
+    },
+    {
+      "label": "折扣",
+      "prop": "discount",
+      "index": 17,
+      "width": 100,
+      "overHidden": true
     },
     {
       "label": "金额",
       "prop": "amount",
-      "index": 12,
-      "width": 120,
-      "overHidden":true
+      "index": 18,
+      "width": 100,
+      "overHidden": true
+    },
+    {
+      "label": "税率",
+      "prop": "taxRate",
+      "index": 19,
+      "width": 100,
+      "overHidden": true
     },
     {
       "label": "备注",
       "prop": "remarks",
-      "index": 13,
-      "width": 120,
-      "overHidden":true,
+      "index": 20,
+      "width": 100,
+      "overHidden": true,
       "cell": true
     }
   ]

+ 211 - 58
src/views/exportTrade/salesContract/detailsPage.vue

@@ -49,11 +49,9 @@
               size="mini"
               v-model="form.exchangeRate"
               oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
-              @change="rateChange"
               placeholder="请输入 汇率"
               :disabled="detailData.status == 1"
-              ><template slot="append">%</template></el-input
-            >
+            />
           </template>
           <template slot="boxNumber">
             <el-input
@@ -140,25 +138,17 @@
             @saveColumn="saveColumn"
             :summary-method="summaryMethod"
           >
-            <template slot="price" slot-scope="{ row }">
-              <el-input
-                v-if="row.$cellEdit"
-                v-model="row.price"
-                size="small"
-                oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
-                @change="priceChange(row)"
-              ></el-input>
-              <span v-else>{{ row.price }}</span>
-            </template>
-            <template slot="orderQuantity" slot-scope="{ row }">
-              <el-input
-                v-if="row.$cellEdit"
-                v-model="row.orderQuantity"
+            <template slot="cname" slot-scope="{ row, index }">
+              <el-button
                 size="small"
-                oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
-                @change="quantityChange(row)"
-              ></el-input>
-              <span v-else>{{ row.orderQuantity }}</span>
+                type="text"
+                @click="rePick(row, index)"
+                :disabled="disabled"
+                class="picker"
+                style="padding:4px 10px;float:left"
+                >选择</el-button
+              >
+              <span> {{ row.cname }}</span>
             </template>
             <template slot="itemType" slot-scope="{ row }">
               <el-select
@@ -180,6 +170,106 @@
               </el-select>
               <span v-else>{{ row.itemType }}</span>
             </template>
+            <template slot="priorityReferrer" slot-scope="{ row }">
+              <el-checkbox
+                :disabled="!row.$cellEdit"
+                v-model="row.priorityReferrer"
+                :true-label="1"
+                :false-label="0"
+              />
+            </template>
+            <template slot="corpId" slot-scope="{ row, index }">
+              <customer-dialog
+                v-if="row.$cellEdit"
+                v-model="row.corpName"
+                :cropIndex="index"
+                @getcorpId="getcorpId"
+              ></customer-dialog>
+              <span v-else>{{ row.corpName }}</span>
+            </template>
+            <template slot="purchaseAmount" slot-scope="{ row }">
+              <el-input
+                v-if="row.$cellEdit"
+                v-model="row.purchaseAmount"
+                size="small"
+                placeholder="请输入"
+                oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
+              ></el-input>
+              <span v-else>{{ row.purchaseAmount | micrometerFormat }}</span>
+            </template>
+            <template slot="price" slot-scope="{ row }">
+              <el-input
+                v-if="row.$cellEdit"
+                v-model="row.price"
+                size="small"
+                oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
+                @change="priceChange(row)"
+              ></el-input>
+              <span v-else>{{ row.price | micrometerFormat }}</span>
+            </template>
+            <template slot="amount" slot-scope="{ row }">
+              <span>{{ row.amount | micrometerFormat }}</span>
+            </template>
+            <template slot="orderQuantity" slot-scope="{ row }">
+              <el-input
+                v-if="row.$cellEdit"
+                v-model="row.orderQuantity"
+                size="small"
+                oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
+                @change="priceChange(row)"
+              ></el-input>
+              <span v-else>{{ row.orderQuantity }}</span>
+            </template>
+            <template slot="orderQuantity" slot-scope="{ row }">
+              <el-input
+                v-if="row.$cellEdit"
+                v-model="row.orderQuantity"
+                size="small"
+                oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
+                @change="quantityChange(row)"
+              ></el-input>
+              <span v-else>{{ row.orderQuantity }}</span>
+            </template>
+            <template slot="discount" slot-scope="{ row }">
+              <el-input
+                v-if="row.$cellEdit"
+                v-model="row.discount"
+                size="small"
+                oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
+                @change="discountChange(row)"
+              ></el-input>
+              <span v-else>{{ row.discount | isDiscount }}</span>
+            </template>
+            <template slot="insurance" slot-scope="{ row }">
+              <el-input
+                v-if="row.$cellEdit"
+                v-model="row.insurance"
+                size="small"
+                oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
+                @change="priceChange(row)"
+              ></el-input>
+              <span v-else>{{ row.insurance | micrometerFormat }}</span>
+            </template>
+            <template slot="freight" slot-scope="{ row }">
+              <el-input
+                v-if="row.$cellEdit"
+                v-model="row.freight"
+                size="small"
+                oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
+                @change="priceChange(row)"
+              ></el-input>
+              <span v-else>{{ row.freight | micrometerFormat }}</span>
+            </template>
+            <template slot="taxRate" slot-scope="{ row }">
+              <el-input
+                v-if="row.$cellEdit"
+                v-model="row.taxRate"
+                size="small"
+                oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
+                @change="rateChange(row)"
+              ></el-input>
+              <span v-else>{{ row.taxRate | isPercentage }}</span>
+            </template>
             <template slot="menuLeft">
               <el-button
                 type="primary"
@@ -338,6 +428,7 @@ import _ from "lodash";
 import reportDialog from "@/components/report-dialog/main";
 import { micrometerFormat } from "@/util/validate";
 import { contrastObj, contrastList } from "@/util/contrastData";
+import customerDialog from "@/components/customer-dialog/main";
 export default {
   name: "detailsPageEdit",
   data() {
@@ -350,10 +441,12 @@ export default {
         dicData: []
       },
       switchDialog: false,
-      form: {},
+      form: {
+        orderStatus: "录入"
+      },
       disabled: false,
       dialogVisible: false,
-      tableOption: tableOption,
+      tableOption: {},
       option: {
         menuBtn: false,
         labelWidth: 100,
@@ -649,7 +742,8 @@ export default {
       orderFeesList: [],
       orderFilesList: [],
       orderItemIds: [],
-      itemtypeList: []
+      itemtypeList: [],
+      reData: null
     };
   },
   props: {
@@ -660,7 +754,8 @@ export default {
   components: {
     reportDialog,
     feeInfo,
-    uploadFile
+    uploadFile,
+    customerDialog
   },
   async created() {
     this.tableOption = await this.getColumnData(
@@ -704,13 +799,22 @@ export default {
       this.findObject(this.option.column, "portOfDestination").dicData =
         res.data;
     });
-    // if (this.detailData.pageType == "new") {
-    //   getSysNo().then(res => {
-    //     this.form.sysNo = res.data.data;
-    //   });
-    // }
+    this.getWorkDicts("product_properties").then(res => {
+      this.findObject(this.tableOption.column, "itemProp").dicData =
+        res.data.data;
+    });
   },
   methods: {
+    getcorpId(row) {
+      this.data[row.index].corpId = row.id;
+    },
+    rePick(row, index) {
+      this.reData = {
+        ...row,
+        index: index
+      };
+      this.newDetails();
+    },
     rowCell(row, index) {
       if (row.$cellEdit == true) {
         this.$set(row, "$cellEdit", false);
@@ -726,12 +830,24 @@ export default {
       });
     },
     priceChange(row) {
-      console.log(row);
-      if (!row.price) {
-        row.price = 0;
-      } else {
-        row.amount = _.multiply(row.price, row.orderQuantity).toFixed(2);
-      }
+      const sum = _.multiply(
+        _.add(
+          Number(
+            _.multiply(
+              row.price ? row.price : 0,
+              row.orderQuantity ? row.orderQuantity : 0
+            )
+          ),
+          Number(
+            _.add(
+              Number(row.insurance ? row.insurance : 0),
+              Number(row.freight ? row.freight : 0)
+            )
+          )
+        ),
+        _.divide(row.discount ? row.discount : 10, 10)
+      );
+      row.amount = Number(sum ? sum : 0).toFixed(2);
     },
     quantityChange(row) {
       if (Number(row.orderQuantity) < Number(row.actualQuantity)) {
@@ -745,9 +861,9 @@ export default {
       }
     },
     rateChange(row) {
-      if (row >= 100) {
-        this.form.exchangeRate = 0;
-        this.$message.error("率不能超过100%");
+      if (Number(row.taxRate)>= 100) {
+        row.taxRate = 0;
+        this.$message.error("率不能超过100%");
       }
     },
     grossProfitRateChange(row) {
@@ -784,31 +900,68 @@ export default {
       });
     },
     importGoods() {
-      this.selectionList.forEach(e => {
-        this.data.push({
-          itemId: e.id,
-          code: e.code,
-          cname: e.cname,
-          priceCategory: e.goodsTypeName,
-          itemUrl: e.url,
-          itemProp: null,
-          itemDescription: null,
-          itemType: null,
-          orderQuantity: 0,
-          tradeTerms: null,
-          price: 0,
-          amount: 0,
-          taxRate: 0,
-          unit: e.unit,
-          remarks: null,
-          $cellEdit: true
+      if (this.reData) {
+        console.log(this.reData);
+        if (this.selectionList.length != 1) {
+          return this.$message.error("重新选择的时候只能选择一条数据");
+        } else {
+          this.selectionList.forEach(e => {
+            this.data.forEach((item, index) => {
+              if (index == this.reData.index) {
+                item.itemId = e.id;
+                item.code = e.code;
+                item.cname = e.cname;
+                item.priceCategory = e.goodsTypeName;
+                item.itemUrl = e.url;
+                item.itemProp = this.reData.itemProp;
+                item.itemDescription = e.cnameDescription;
+                item.itemType = this.reData.itemType;
+                item.tradeTerms = this.reData.tradeTerms;
+                item.price = this.reData.price;
+                item.orderQuantity = this.reData.orderQuantity;
+                item.insurance = this.reData.insurance;
+                item.freight = this.reData.freight;
+                item.discount = this.reData.discount;
+                item.amount = this.reData.amount;
+                item.taxRate = this.reData.taxRate;
+                item.unit = e.unit;
+                item.remarks = this.reData.remarks;
+                item.$cellEdit = true;
+              }
+            });
+          });
+        }
+      } else {
+        this.selectionList.forEach(e => {
+          this.data.push({
+            itemId: e.id,
+            code: e.code,
+            cname: e.cname,
+            priceCategory: e.goodsTypeName,
+            itemUrl: e.url,
+            itemProp: null,
+            itemDescription: e.cnameDescription,
+            itemType: null,
+            tradeTerms: null,
+            price: 0,
+            orderQuantity: 0,
+            insurance: 0,
+            freight: 0,
+            discount: null,
+            amount: 0,
+            taxRate: 0,
+            unit: e.unit,
+            remarks: null,
+            $cellEdit: true
+          });
         });
-      });
+      }
       this.dialogVisible = false;
     },
     closeGoods() {
       this.selectionList = [];
       this.treeDeptId = "";
+      this.reData = null;
     },
     goodsSelectionChange(list) {
       this.orderItemIds = [];

+ 3 - 63
src/views/exportTrade/shippingInquiry/config/customerContact.json

@@ -36,11 +36,11 @@
       "label": "产品属性",
       "prop": "itemProp",
       "index": 4,
-      "width": 120,
-      "overHidden":true,
+      "width": 100,
+      "overHidden": true,
       "cell": true,
       "type": "select",
-      "dicUrl": "/api/blade-system/dict-biz/dictionary?code=product_properties",
+      "dicData":[],
       "props": {
         "label": "dictValue",
         "value": "dictKey"
@@ -76,66 +76,6 @@
       "width": 120,
       "overHidden":true,
       "cell": true
-    },
-    {
-      "label": "计价单位",
-      "prop": "unit",
-      "index": 9,
-      "width": 120,
-      "overHidden":true,
-      "cell": true,
-      "type": "select",
-      "dicUrl": "/api/blade-system/dict-biz/dictionary?code=unit",
-      "props": {
-        "label": "dictValue",
-        "value": "dictValue"
-      }
-    },
-    {
-      "label": "价格条款",
-      "prop": "tradeTerms",
-      "index": 10,
-      "width": 120,
-      "overHidden":true,
-      "cell": true,
-      "type": "select",
-      "dicUrl": "/api/blade-system/dict-biz/dictionary?code=pricing_terms",
-      "props": {
-        "label": "dictValue",
-        "value": "dictKey"
-      }
-    },
-    {
-      "label": "单价",
-      "prop": "price",
-      "index": 11,
-      "width": 120,
-      "overHidden":true,
-      "cell": true
-    },
-    {
-      "label": "金额",
-      "prop": "amount",
-      "index": 12,
-      "width": 120,
-      "overHidden":true,
-      "cell": true
-    },
-    {
-      "label": "税率",
-      "prop": "taxRate",
-      "index": 13,
-      "width": 120,
-      "overHidden":true,
-      "cell": true
-    },
-    {
-      "label": "备注",
-      "prop": "remarks",
-      "index": 14,
-      "width": 120,
-      "overHidden":true,
-      "cell": true
     }
   ]
 }

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

@@ -358,6 +358,10 @@ export default {
       this.findObject(this.option.column, "portOfDestination").dicData =
         res.data;
     });
+    this.getWorkDicts("product_properties").then(res => {
+      this.findObject(this.tableOption.column, "itemProp").dicData =
+        res.data.data;
+    });
   },
   methods: {
     rowCell(row, index) {
@@ -393,12 +397,6 @@ export default {
     getcorpId(row) {
       this.freightData[row.index].shippingHouse = row.id;
     },
-    rateChange(row) {
-      if (row >= 100) {
-        this.form.exchangeRate = 0;
-        this.$message.error("汇率不能超过100%");
-      }
-    },
     rowSave(row) {
       this.$set(row, "$cellEdit", false);
     },