Browse Source

Merge remote-tracking branch 'origin/dev' into dev

qinbai 3 years ago
parent
commit
b48e96cc97
26 changed files with 656 additions and 176 deletions
  1. 74 66
      src/api/basicData/customerInformation.js
  2. 30 15
      src/components/price-Library/configuration/mainList.json
  3. 96 3
      src/components/property-dialog/main.vue
  4. 10 1
      src/util/calculate.js
  5. 23 3
      src/views/exportTrade/customerInquiry/config/commodity.json
  6. 95 5
      src/views/exportTrade/customerInquiry/detailsPage.vue
  7. 2 2
      src/views/exportTrade/customerInquiry/index.vue
  8. 23 3
      src/views/exportTrade/invoice/config/commodity.json
  9. 3 3
      src/views/exportTrade/invoice/detailsPage.vue
  10. 2 2
      src/views/exportTrade/invoice/index.vue
  11. 23 3
      src/views/exportTrade/purchaseContract/config/commodity.json
  12. 34 6
      src/views/exportTrade/purchaseContract/detailsPage.vue
  13. 2 2
      src/views/exportTrade/purchaseContract/index.vue
  14. 23 3
      src/views/exportTrade/purchaseInquiry/config/commodity.json
  15. 2 2
      src/views/exportTrade/purchaseInquiry/detailsPage.vue
  16. 1 1
      src/views/exportTrade/purchaseInquiry/index.vue
  17. 23 3
      src/views/exportTrade/receipt/config/commodity.json
  18. 3 3
      src/views/exportTrade/receipt/detailsPage.vue
  19. 2 2
      src/views/exportTrade/receipt/index.vue
  20. 23 3
      src/views/exportTrade/salesContract/config/commodity.json
  21. 9 2
      src/views/exportTrade/salesContract/config/customerContact.json
  22. 85 10
      src/views/exportTrade/salesContract/detailsPage.vue
  23. 2 2
      src/views/exportTrade/salesContract/index.vue
  24. 23 3
      src/views/exportTrade/shippingInquiry/config/commodity.json
  25. 1 1
      src/views/exportTrade/shippingInquiry/detailsPage.vue
  26. 42 27
      src/views/maintenance/priceLibrary/config/mainList.json

+ 74 - 66
src/api/basicData/customerInformation.js

@@ -2,101 +2,101 @@ import request from '@/router/axios';
 
 //客户资料列表查询
 export function customerList(data) {
-    return request({
-        url: '/api/blade-client/corpsdesc/list',
-        method: 'get',
-        params: data
-    })
+  return request({
+    url: '/api/blade-client/corpsdesc/list',
+    method: 'get',
+    params: data
+  })
 }
 //客户资料列表查询
 export function allCropList(data) {
-    return request({
-        url: '/api/blade-client/corpsdesc/corpsDescList',
-        method: 'get',
-        params: data
-    })
+  return request({
+    url: '/api/blade-client/corpsdesc/corpsDescList',
+    method: 'get',
+    params: data
+  })
 }
 //客户资料列表修改和新增
 export function typeSave(data) {
-    return request({
-        url: '/api/blade-client/corpsdesc/submit',
-        method: 'post',
-        data: data
-    })
+  return request({
+    url: '/api/blade-client/corpsdesc/submit',
+    method: 'post',
+    data: data
+  })
 }
 //客户资料列表查看明细
 export function detail(data) {
-    return request({
-        url: '/api/blade-client/corpsdesc/detail?id='+data,
-        method: 'get'
-    })
+  return request({
+    url: '/api/blade-client/corpsdesc/detail?id=' + data,
+    method: 'get'
+  })
 }
 //客户资料列表删除
 export function deleteDetails(data) {
-    return request({
-        url: '/api/blade-client/corpsdesc/update',
-        method: 'post',
-        data: {
-            id:data
-        }
-    })
+  return request({
+    url: '/api/blade-client/corpsdesc/update',
+    method: 'post',
+    data: {
+      id: data
+    }
+  })
 }
 //客户联系人列表删除
 export function corpsattn(data) {
-    return request({
-        url: '/api/blade-client/corpsattn/update',
-        method: 'post',
-        data: {
-            id:data
-        }
-    })
+  return request({
+    url: '/api/blade-client/corpsattn/update',
+    method: 'post',
+    data: {
+      id: data
+    }
+  })
 }
 //客户银行列表删除
 export function corpsbank(data) {
-    return request({
-        url: '/api/blade-client/corpsbank/update',
-        method: 'post',
-        data: {
-            id:data
-        }
-    })
+  return request({
+    url: '/api/blade-client/corpsbank/update',
+    method: 'post',
+    data: {
+      id: data
+    }
+  })
 }
 //客户文件列表删除
 export function corpsfiles(data) {
-    return request({
-        url: '/api/blade-client/corpsfiles/update',
-        method: 'post',
-        data: {
-            id:data
-        }
-    })
+  return request({
+    url: '/api/blade-client/corpsfiles/update',
+    method: 'post',
+    data: {
+      id: data
+    }
+  })
 }
 //客户优势项目列表删除
 export function corpsitem(data) {
-    return request({
-        url: '/api/blade-client/corpsitem/update',
-        method: 'post',
-        data: {
-            id:data
-        }
-    })
+  return request({
+    url: '/api/blade-client/corpsitem/update',
+    method: 'post',
+    data: {
+      id: data
+    }
+  })
 }
 //查询客户类型主页下拉
-export function getDeptLazyTree(query){
-    return request({
-        url: '/api/blade-client/corpstype/lazy-tree',
-        method: 'get',
-        params:query
-    })
+export function getDeptLazyTree(query) {
+  return request({
+    url: '/api/blade-client/corpstype/lazy-tree',
+    method: 'get',
+    params: query
+  })
 }
 
 //查询客户类型下拉
 export function corpstypeTree(query) {
-    return request({
-        url: '/api/blade-client/corpstype/tree',
-        method: 'get',
-        params:query
-    })
+  return request({
+    url: '/api/blade-client/corpstype/tree',
+    method: 'get',
+    params: query
+  })
 }
 
 //查询区域下拉
@@ -121,7 +121,15 @@ export function corpsAddrDelete(data) {
     url: '/api/blade-client/corpsAddr/remove',
     method: 'post',
     data: {
-      ids:data
+      ids: data
     }
   })
 }
+//客户id查找联系人手机号
+export function getCorpsattn(query) {
+  return request({
+    url: '/api/blade-client/corpsattn/list',
+    method: 'get',
+    params: query
+  })
+}

+ 30 - 15
src/components/price-Library/configuration/mainList.json

@@ -11,12 +11,20 @@
   "menuWidth": "180",
   "selection": true,
   "tip": false,
-  "column": [{
+  "column": [
+    {
+      "label": "商品编号",
+      "prop": "code",
+      "index": 1,
+      "width": 100,
+      "overHidden": true
+    },
+    {
       "label": "商品类别",
       "prop": "goodsTypeName",
       "search": true,
       "searchSpan": 8,
-      "index": 1,
+      "index": 2,
       "width": 100,
       "type": "select",
       "filterable": true,
@@ -32,91 +40,98 @@
       "search": true,
       "searchSpan": 8,
       "prop": "cname",
-      "index": 2,
+      "index": 3,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "采购价格",
       "prop": "purchaseAmount",
-      "index": 3,
+      "index": 4,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "供应商",
       "prop": "corpId",
-      "index": 4,
+      "index": 5,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "税率",
       "prop": "taxRate",
-      "index": 5,
+      "index": 6,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "币别",
       "prop": "currency",
-      "index": 6,
+      "index": 7,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "推荐理由",
       "prop": "referrerReason",
-      "index": 7,
+      "index": 8,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "有效截止日期",
       "prop": "endTime",
-      "index": 8,
+      "index": 9,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "历史价格1",
       "prop": "priceOne",
-      "index": 9,
+      "index": 10,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "历史日期1",
       "prop": "priceOneTime",
-      "index": 10,
+      "index": 11,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "历史价格2",
       "prop": "priceTwo",
-      "index": 11,
+      "index": 12,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "历史日期2",
       "prop": "priceTwoTime",
-      "index": 12,
+      "index": 13,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "历史价格3",
       "prop": "priceThree",
-      "index": 13,
+      "index": 14,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "历史日期3",
       "prop": "priceThreeTime",
-      "index": 14,
+      "index": 15,
+      "width": 100,
+      "overHidden": true
+    },
+    {
+      "label": "英文描述",
+      "prop": "cnameDescription",
+      "index": 27,
       "width": 100,
       "overHidden": true
     }

+ 96 - 3
src/components/property-dialog/main.vue

@@ -11,7 +11,63 @@
       v-dialog-drag
     >
       <span>
-        <avue-form ref="form" v-model="form" :option="option" />
+        <div class="settingBut">
+          <el-button
+            size="mini"
+            @click="saveSetting"
+            v-if="labelShow"
+            type="primary"
+            >保存</el-button
+          >
+          <el-button size="mini" @click="labelShow = false" v-if="labelShow"
+            >取消</el-button
+          >
+          <el-tooltip
+            effect="dark"
+            content="Label名设置"
+            placement="bottom"
+            v-if="!labelShow"
+          >
+            <el-button
+              icon="el-icon-setting"
+              circle
+              size="mini"
+              @click="setting"
+            ></el-button>
+          </el-tooltip>
+        </div>
+        <avue-form ref="form" v-model="form" :option="option">
+          <template slot="remarksOneLabel" v-if="labelShow">
+            <el-input
+              v-model="labelForm.label1"
+              placeholder="请输入内容"
+            ></el-input>
+          </template>
+          <template slot="customTwoLabel" v-if="labelShow">
+            <el-input
+              v-model="labelForm.label2"
+              placeholder="请输入内容"
+            ></el-input>
+          </template>
+          <template slot="customThreeLabel" v-if="labelShow">
+            <el-input
+              v-model="labelForm.label3"
+              placeholder="请输入内容"
+            ></el-input>
+          </template>
+          <template slot="customFourLabel" v-if="labelShow">
+            <el-input
+              v-model="labelForm.label4"
+              placeholder="请输入内容"
+            ></el-input>
+          </template>
+          <template slot="customFiveLabel" v-if="labelShow">
+            <el-input
+              v-model="labelForm.label5"
+              placeholder="请输入内容"
+            ></el-input>
+          </template>
+        </avue-form>
       </span>
       <span slot="footer" class="dialog-footer">
         <el-button @click="visible = false">取 消</el-button>
@@ -36,6 +92,7 @@ export default {
           {
             label: "螺纹",
             prop: "remarksOne",
+            labelslot: true,
             span: 12,
             type: "select",
             dicUrl: "/api/blade-system/dict-biz/dictionary?code=Thread",
@@ -83,11 +140,15 @@ export default {
             span: 24
           }
         ]
-      }
+      },
+      labelShow: false,
+      labelForm: {}
     };
   },
   props: {},
-  created() {},
+  async created() {
+    this.option = await this.getColumnData(this.getColumnName(52), this.option);
+  },
   methods: {
     init(row, index) {
       this.form = {
@@ -114,10 +175,42 @@ export default {
       };
       this.$emit("importProperty", data, this.fromIndex);
       this.visible = false;
+    },
+    setting() {
+      this.labelShow = true;
+      this.labelForm = {
+        label1: this.option.column[0].label,
+        label2: this.option.column[1].label,
+        label3: this.option.column[2].label,
+        label4: this.option.column[3].label,
+        label5: this.option.column[4].label
+      };
+    },
+    saveSetting() {
+      this.option.column[0].label = this.labelForm.label1;
+      this.option.column[1].label = this.labelForm.label2;
+      this.option.column[2].label = this.labelForm.label3;
+      this.option.column[3].label = this.labelForm.label4;
+      this.option.column[4].label = this.labelForm.label5;
+      this.saveColumn();
+    },
+    async saveColumn() {
+      const inSave = await this.saveColumnData(
+        this.getColumnName(52),
+        this.option
+      );
+      if (inSave) {
+        this.$message.success("保存成功");
+        this.labelShow = false;
+      }
     }
   }
 };
 </script>
 
 <style lang="scss" scoped>
+.settingBut {
+  display: flex;
+  justify-content: flex-end;
+}
 </style>

+ 10 - 1
src/util/calculate.js

@@ -16,7 +16,7 @@ export function sellingCal(num, num2) {
   const product = Number(num ? num : 0)
   //汇率
   const exchangeRate = Number(Number(num2) ? num2 : 1)
-  const sum = _.divide(product,exchangeRate)
+  const sum = _.divide(product, exchangeRate)
   return Number(sum).toFixed(2)
 }
 //销售价格乘以数量加运费加保险乘以(折扣除以10) 计算出金额
@@ -54,3 +54,12 @@ export function purchaseCal(num, num2, num3) {
   const sum = _.multiply(_.divide(price, _.add(1, _.divide(taxRate, 100))), _.add(1, _.divide(fob, 100)))
   return Number(sum).toFixed(2)
 }
+// 单品毛利率:( 销售价*汇率 -(采购价格+配件价格))/销售价*汇率
+export function grossProfitCal(num, num2, num3, num4) {
+  const purchase = Number(num ? num : 0)
+  const fitting = Number(num2 ? num2 : 0)
+  const price = Number(num3 ? num3 : 0)
+  const exchangeRate = Number(Number(num4) ? num4 : 1)
+  const sum = _.multiply(_.divide(_.subtract(_.multiply(price, exchangeRate), _.add(purchase, fitting)), _.multiply(price, exchangeRate)), 100)
+  return Number(sum).toFixed(2)
+}

+ 23 - 3
src/views/exportTrade/customerInquiry/config/commodity.json

@@ -14,9 +14,16 @@
   "tip": false,
   "column": [
     {
+      "label": "商品编号",
+      "prop": "code",
+      "index": 1,
+      "width": 100,
+      "overHidden": true
+    },
+    {
       "label": "商品类别",
       "prop": "goodsTypeName",
-      "index": 1,
+      "index": 2,
       "width": 100,
       "overHidden": true
     },
@@ -25,50 +32,63 @@
       "search": true,
       "searchSpan": 16,
       "prop": "cname",
-      "index": 2,
+      "index": 3,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "规格尺寸",
       "prop": "specs",
+      "index": 4,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "产品类别",
       "prop": "category",
+      "index": 5,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "产品分类",
       "prop": "categoryitem",
+      "index": 6,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "供应商",
       "prop": "providers",
+      "index": 7,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "计量单位",
       "prop": "unit",
+      "index": 8,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "包装单位",
       "prop": "packgeunit",
-      "slot": true,
+      "index": 9,
+      "width": 100,
+      "overHidden": true
+    },
+    {
+      "label": "英文描述",
+      "prop": "cnameDescription",
+      "index": 10,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "备注",
       "prop": "remarks",
+      "index": 11,
       "width": 100,
       "overHidden": true
     }

+ 95 - 5
src/views/exportTrade/customerInquiry/detailsPage.vue

@@ -15,7 +15,7 @@
           >生成销售单</el-button
         >
         <el-button type="success" disabled size="small">
-          复制
+          复制单
         </el-button>
         <el-button
           type="primary"
@@ -24,7 +24,7 @@
           :loading="subLoading"
           v-if="detailData.status != 1"
           size="small"
-          >{{ form.id ? "确认修改" : "确认新增" }}
+          >保存数据
         </el-button>
       </div>
     </div>
@@ -57,6 +57,23 @@
               :disabled="detailData.status == 1"
             ></crop-select>
           </template>
+          <template slot="corpAttn">
+            <el-select
+              size="small"
+              v-model="form.corpAttn"
+              placeholder="请选择"
+              @change="corpAttnChange"
+              clearable
+            >
+              <el-option
+                v-for="item in corpsattns"
+                :key="item.id"
+                :label="item.cname"
+                :value="item.cname"
+              >
+              </el-option>
+            </el-select>
+          </template>
           <template slot="belongToCorpId">
             <crop-select
               v-model="form.belongToCorpId"
@@ -190,7 +207,7 @@
               size="small"
               @click.stop="newDetails"
               :disabled="detailData.status == 1"
-              >新增明细</el-button
+              >录入明细</el-button
             >
             <el-button
               type="primary"
@@ -411,6 +428,9 @@
             ></el-input>
             <span v-else>{{ row.taxRate | isPercentage }}</span>
           </template>
+          <template slot="itemMargin" slot-scope="{ row }">
+            <span>{{ row.itemMargin | isPercentage }}</span>
+          </template>
         </avue-crud>
       </basic-container>
       <fee-info
@@ -513,6 +533,7 @@ import {
   getSpecification,
   saveSell
 } from "@/api/basicData/customerInquiry";
+import { getCorpsattn } from "@/api/basicData/customerInformation";
 import reportDialog from "@/components/report-dialog/main";
 import priceLibrary from "@/components/price-Library/main";
 import { isDiscount, isPercentage, micrometerFormat } from "@/util/validate";
@@ -522,8 +543,10 @@ import {
   productCal,
   sellingCal,
   amountCal,
-  transformCal
+  transformCal,
+  grossProfitCal
 } from "@/util/calculate";
+
 import _ from "lodash";
 export default {
   name: "detailsPageEdit",
@@ -841,7 +864,8 @@ export default {
       goodsoptions: [],
       priceTermsList: [],
       paymentTermList: [],
-      currencyList: []
+      currencyList: [],
+      corpsattns: []
     };
   },
   props: {
@@ -923,6 +947,8 @@ export default {
       return "padding:0;height:40px;";
     },
     getCorpData(row) {
+      this.form.corpAttn = null;
+      this.form.corpTel = null;
       this.form.coefficient = row.coefficient;
       if (this.data.length > 0) {
         this.data.forEach(e => {
@@ -939,9 +965,22 @@ export default {
             e.insurance,
             e.discount
           );
+          e.itemMargin = grossProfitCal(
+            e.purchaseAmount,
+            e.partsPrice,
+            e.price,
+            this.form.exchangeRate
+          );
         });
       }
     },
+    corpAttnChange() {
+      this.corpsattns.forEach(e => {
+        if (this.form.corpId == e.pid) {
+          this.form.corpTel = e.tel;
+        }
+      });
+    },
     rowCorpData(row) {
       this.data[row.index].corpName = row.cname;
     },
@@ -1028,6 +1067,12 @@ export default {
         this.data[index].insurance,
         this.data[index].discount
       );
+      this.data[index].itemMargin = grossProfitCal(
+        this.data[index].purchaseAmount,
+        this.data[index].partsPrice,
+        this.data[index].price,
+        this.form.exchangeRate
+      );
       const names = [];
       const namePrices = [];
       rows.map(e => {
@@ -1083,6 +1128,12 @@ export default {
         row.insurance,
         row.discount
       );
+      row.itemMargin = grossProfitCal(
+        row.purchaseAmount,
+        row.partsPrice,
+        row.price,
+        this.form.exchangeRate
+      );
     },
     priceChange(row) {
       row.amount = amountCal(
@@ -1092,6 +1143,12 @@ export default {
         row.insurance,
         row.discount
       );
+      row.itemMargin = grossProfitCal(
+        row.purchaseAmount,
+        row.partsPrice,
+        row.price,
+        this.form.exchangeRate
+      );
     },
     currencyChange(row) {
       this.currencyList.forEach(e => {
@@ -1119,6 +1176,12 @@ export default {
             e.insurance,
             e.discount
           );
+          e.itemMargin = grossProfitCal(
+            e.purchaseAmount,
+            e.partsPrice,
+            e.price,
+            this.form.exchangeRate
+          );
         });
       }
       this.oldExchange = this.deepClone(this.form.exchangeRate);
@@ -1136,6 +1199,12 @@ export default {
             e.insurance,
             e.discount
           );
+          e.itemMargin = grossProfitCal(
+            e.purchaseAmount,
+            e.partsPrice,
+            e.price,
+            this.form.exchangeRate
+          );
         });
       }
       this.oldExchange = this.deepClone(row);
@@ -1242,6 +1311,7 @@ export default {
                 item.discount = this.reData.discount;
                 item.amount = this.reData.amount;
                 item.taxRate = this.reData.taxRate;
+                item.itemMargin = this.reData.taxRate;
                 item.unit = e.unit;
                 item.remarks = this.reData.remarks;
                 item.$cellEdit = true;
@@ -1276,6 +1346,7 @@ export default {
             amount: 0,
             taxRate: 0,
             unit: e.unit,
+            itemMargin: 0,
             remarks: null,
             $cellEdit: true
           });
@@ -1355,6 +1426,15 @@ export default {
           ),
           taxRate: 0,
           unit: e.unit,
+          itemMargin: grossProfitCal(
+            e.purchaseAmount,
+            0,
+            sellingCal(
+              productCal(e.purchaseAmount, 0, this.form.coefficient),
+              this.form.exchangeRate
+            ),
+            this.form.exchangeRate
+          ),
           remarks: null,
           $cellEdit: true
         });
@@ -1552,6 +1632,16 @@ export default {
         this.$refs.goodsCrud.$refs.dialogColumn.columnBox = false;
       }
     }
+  },
+  watch: {
+    "form.corpId": function(id) {
+      if (id) {
+        this.corpsattns = [];
+        getCorpsattn({ pid: id }).then(res => {
+          this.corpsattns = res.data.data.records;
+        });
+      }
+    }
   }
 };
 </script>

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

@@ -70,9 +70,9 @@
             icon="el-icon-plus"
             size="small"
             @click.stop="newAdd()"
-            >新单</el-button
+            >创建单据 </el-button
           >
-          <el-button type="success" size="small" disabled>复制单</el-button>
+          <el-button type="success" size="small" disabled>复制单</el-button>
           <el-button type="info" size="small">报表</el-button>
         </template>
         <template slot="corpIdSearch">

+ 23 - 3
src/views/exportTrade/invoice/config/commodity.json

@@ -14,9 +14,16 @@
   "tip": false,
   "column": [
     {
+      "label": "商品编号",
+      "prop": "code",
+      "index": 1,
+      "width": 100,
+      "overHidden": true
+    },
+    {
       "label": "商品类别",
       "prop": "goodsTypeName",
-      "index": 1,
+      "index": 2,
       "width": 100,
       "overHidden": true
     },
@@ -25,50 +32,63 @@
       "search": true,
       "searchSpan": 16,
       "prop": "cname",
-      "index": 2,
+      "index": 3,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "规格尺寸",
       "prop": "specs",
+      "index": 4,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "产品类别",
       "prop": "category",
+      "index": 5,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "产品分类",
       "prop": "categoryitem",
+      "index": 6,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "供应商",
       "prop": "providers",
+      "index": 7,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "计量单位",
       "prop": "unit",
+      "index": 8,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "包装单位",
       "prop": "packgeunit",
-      "slot": true,
+      "index": 9,
+      "width": 100,
+      "overHidden": true
+    },
+    {
+      "label": "英文描述",
+      "prop": "cnameDescription",
+      "index": 10,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "备注",
       "prop": "remarks",
+      "index": 11,
       "width": 100,
       "overHidden": true
     }

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

@@ -27,7 +27,7 @@
           >撤销发货</el-button
         >
         <el-button type="success" disabled size="small">
-          复制
+          复制单
         </el-button>
         <el-button
           type="primary"
@@ -36,7 +36,7 @@
           :loading="subLoading"
           v-if="detailData.status != 1"
           size="small"
-          >{{ form.id ? "确认修改" : "确认新增" }}
+          >保存数据
         </el-button>
       </div>
     </div>
@@ -83,7 +83,7 @@
               size="small"
               @click.stop="newDetails"
               :disabled="detailData.status == 1"
-              >新增明细</el-button
+              >录入明细</el-button
             >
             <el-button
               type="info"

+ 2 - 2
src/views/exportTrade/invoice/index.vue

@@ -66,9 +66,9 @@
             icon="el-icon-plus"
             size="small"
             @click.stop="newAdd()"
-            >新单</el-button
+            >创建单据 </el-button
           >
-          <el-button type="success" size="small" disabled>复制单</el-button>
+          <el-button type="success" size="small" disabled>复制单</el-button>
           <el-button type="info" size="small">报表</el-button>
         </template>
         <template slot="corpIdSearch">

+ 23 - 3
src/views/exportTrade/purchaseContract/config/commodity.json

@@ -14,9 +14,16 @@
   "tip": false,
   "column": [
     {
+      "label": "商品编号",
+      "prop": "code",
+      "index": 1,
+      "width": 100,
+      "overHidden": true
+    },
+    {
       "label": "商品类别",
       "prop": "goodsTypeName",
-      "index": 1,
+      "index": 2,
       "width": 100,
       "overHidden": true
     },
@@ -25,50 +32,63 @@
       "search": true,
       "searchSpan": 16,
       "prop": "cname",
-      "index": 2,
+      "index": 3,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "规格尺寸",
       "prop": "specs",
+      "index": 4,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "产品类别",
       "prop": "category",
+      "index": 5,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "产品分类",
       "prop": "categoryitem",
+      "index": 6,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "供应商",
       "prop": "providers",
+      "index": 7,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "计量单位",
       "prop": "unit",
+      "index": 8,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "包装单位",
       "prop": "packgeunit",
-      "slot": true,
+      "index": 9,
+      "width": 100,
+      "overHidden": true
+    },
+    {
+      "label": "英文描述",
+      "prop": "cnameDescription",
+      "index": 10,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "备注",
       "prop": "remarks",
+      "index": 11,
       "width": 100,
       "overHidden": true
     }

+ 34 - 6
src/views/exportTrade/purchaseContract/detailsPage.vue

@@ -11,9 +11,33 @@
         </el-button>
       </div>
       <div class="add-customer-btn" v-if="showBut" size="small">
-        <el-button type="success" disabled size="small">
-          复制新单
-        </el-button>
+        <el-dropdown style="margin-right: 8px;">
+          <el-button type="primary" size="small">
+            审核处理<i class="el-icon-arrow-down el-icon--right"></i>
+          </el-button>
+          <el-dropdown-menu slot="dropdown">
+            <el-dropdown-item disabled>请核数据</el-dropdown-item>
+            <el-dropdown-item disabled>审核进度</el-dropdown-item>
+            <el-dropdown-item disabled>撤销请核</el-dropdown-item>
+          </el-dropdown-menu>
+        </el-dropdown>
+        <el-dropdown style="margin-right: 8px;">
+          <el-button type="warning" size="small">
+            账单处理<i class="el-icon-arrow-down el-icon--right"></i>
+          </el-button>
+          <el-dropdown-menu slot="dropdown">
+            <el-dropdown-item disabled>生成账单 </el-dropdown-item>
+            <el-dropdown-item disabled>申请退款</el-dropdown-item>
+          </el-dropdown-menu>
+        </el-dropdown>
+        <el-dropdown style="margin-right: 8px;">
+          <el-button type="success" size="small">
+            业务处理<i class="el-icon-arrow-down el-icon--right"></i>
+          </el-button>
+          <el-dropdown-menu slot="dropdown">
+            <el-dropdown-item disabled>复制单据</el-dropdown-item>
+          </el-dropdown-menu>
+        </el-dropdown>
         <el-button
           type="primary"
           :disabled="disabled"
@@ -21,7 +45,7 @@
           :loading="subLoading"
           v-if="detailData.status != 1"
           size="small"
-          >{{ form.id ? "确认修改" : "确认新增" }}
+          >保存数据
         </el-button>
       </div>
     </div>
@@ -136,7 +160,7 @@
                 size="small"
                 @click.stop="newDetails"
                 :disabled="detailData.status == 1"
-                >新增明细</el-button
+                >录入明细</el-button
               >
               <el-button
                 type="info"
@@ -220,7 +244,11 @@
             <div>
               <el-scrollbar>
                 <basic-container>
-                  <avue-tree :option="treeOption" @node-click="nodeClick" :style="treeStyle"/>
+                  <avue-tree
+                    :option="treeOption"
+                    @node-click="nodeClick"
+                    :style="treeStyle"
+                  />
                 </basic-container>
               </el-scrollbar>
             </div>

+ 2 - 2
src/views/exportTrade/purchaseContract/index.vue

@@ -35,9 +35,9 @@
             icon="el-icon-plus"
             size="small"
             @click.stop="newAdd('new')"
-            >新单</el-button
+            >创建单据 </el-button
           >
-          <el-button type="success" size="small" disabled>复制单</el-button>
+          <el-button type="success" size="small" disabled>复制单</el-button>
           <el-button type="info" size="small">报表</el-button>
         </template>
         <template slot="corpIdSearch">

+ 23 - 3
src/views/exportTrade/purchaseInquiry/config/commodity.json

@@ -14,9 +14,16 @@
   "tip": false,
   "column": [
     {
+      "label": "商品编号",
+      "prop": "code",
+      "index": 1,
+      "width": 100,
+      "overHidden": true
+    },
+    {
       "label": "商品类别",
       "prop": "goodsTypeName",
-      "index": 1,
+      "index": 2,
       "width": 100,
       "overHidden": true
     },
@@ -25,50 +32,63 @@
       "search": true,
       "searchSpan": 16,
       "prop": "cname",
-      "index": 2,
+      "index": 3,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "规格尺寸",
       "prop": "specs",
+      "index": 4,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "产品类别",
       "prop": "category",
+      "index": 5,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "产品分类",
       "prop": "categoryitem",
+      "index": 6,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "供应商",
       "prop": "providers",
+      "index": 7,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "计量单位",
       "prop": "unit",
+      "index": 8,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "包装单位",
       "prop": "packgeunit",
-      "slot": true,
+      "index": 9,
+      "width": 100,
+      "overHidden": true
+    },
+    {
+      "label": "英文描述",
+      "prop": "cnameDescription",
+      "index": 10,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "备注",
       "prop": "remarks",
+      "index": 11,
       "width": 100,
       "overHidden": true
     }

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

@@ -27,7 +27,7 @@
           :loading="subLoading"
           v-if="detailData.status != 1"
           size="small"
-          >{{ form.id ? "确认修改" : "确认新增" }}
+          >保存数据
         </el-button>
       </div>
     </div>
@@ -175,7 +175,7 @@
               size="small"
               @click.stop="newDetails"
               :disabled="detailData.status == 1"
-              >新增明细</el-button
+              >录入明细</el-button
             >
             <el-button
               type="info"

+ 1 - 1
src/views/exportTrade/purchaseInquiry/index.vue

@@ -24,7 +24,7 @@
             icon="el-icon-plus"
             size="small"
             @click.stop="newAdd()"
-            >新单</el-button
+            >创建单据 </el-button
           >
           <el-button type="info" size="small">报表</el-button>
         </template>

+ 23 - 3
src/views/exportTrade/receipt/config/commodity.json

@@ -14,9 +14,16 @@
   "tip": false,
   "column": [
     {
+      "label": "商品编号",
+      "prop": "code",
+      "index": 1,
+      "width": 100,
+      "overHidden": true
+    },
+    {
       "label": "商品类别",
       "prop": "goodsTypeName",
-      "index": 1,
+      "index": 2,
       "width": 100,
       "overHidden": true
     },
@@ -25,50 +32,63 @@
       "search": true,
       "searchSpan": 16,
       "prop": "cname",
-      "index": 2,
+      "index": 3,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "规格尺寸",
       "prop": "specs",
+      "index": 4,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "产品类别",
       "prop": "category",
+      "index": 5,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "产品分类",
       "prop": "categoryitem",
+      "index": 6,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "供应商",
       "prop": "providers",
+      "index": 7,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "计量单位",
       "prop": "unit",
+      "index": 8,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "包装单位",
       "prop": "packgeunit",
-      "slot": true,
+      "index": 9,
+      "width": 100,
+      "overHidden": true
+    },
+    {
+      "label": "英文描述",
+      "prop": "cnameDescription",
+      "index": 10,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "备注",
       "prop": "remarks",
+      "index": 11,
       "width": 100,
       "overHidden": true
     }

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

@@ -27,7 +27,7 @@
           >撤销收货</el-button
         >
         <el-button type="success" disabled size="small">
-          复制
+          复制单
         </el-button>
         <el-button
           type="primary"
@@ -36,7 +36,7 @@
           :loading="subLoading"
           v-if="detailData.status != 1"
           size="small"
-          >{{ form.id ? "确认修改" : "确认新增" }}
+          >保存数据
         </el-button>
       </div>
     </div>
@@ -83,7 +83,7 @@
               size="small"
               @click.stop="newDetails"
               :disabled="detailData.status == 1"
-              >新增明细</el-button
+              >录入明细</el-button
             >
             <el-button
               type="info"

+ 2 - 2
src/views/exportTrade/receipt/index.vue

@@ -24,9 +24,9 @@
             icon="el-icon-plus"
             size="small"
             @click.stop="newAdd()"
-            >新单</el-button
+            >创建单据 </el-button
           >
-          <el-button type="success" size="small" disabled>复制单</el-button>
+          <el-button type="success" size="small" disabled>复制单</el-button>
           <el-button type="info" size="small">报表</el-button>
         </template>
         <template slot-scope="{ row }" slot="storageId">

+ 23 - 3
src/views/exportTrade/salesContract/config/commodity.json

@@ -14,9 +14,16 @@
   "tip": false,
   "column": [
     {
+      "label": "商品编号",
+      "prop": "code",
+      "index": 1,
+      "width": 100,
+      "overHidden": true
+    },
+    {
       "label": "商品类别",
       "prop": "goodsTypeName",
-      "index": 1,
+      "index": 2,
       "width": 100,
       "overHidden": true
     },
@@ -25,50 +32,63 @@
       "search": true,
       "searchSpan": 16,
       "prop": "cname",
-      "index": 2,
+      "index": 3,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "规格尺寸",
       "prop": "specs",
+      "index": 4,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "产品类别",
       "prop": "category",
+      "index": 5,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "产品分类",
       "prop": "categoryitem",
+      "index": 6,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "供应商",
       "prop": "providers",
+      "index": 7,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "计量单位",
       "prop": "unit",
+      "index": 8,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "包装单位",
       "prop": "packgeunit",
-      "slot": true,
+      "index": 9,
+      "width": 100,
+      "overHidden": true
+    },
+    {
+      "label": "英文描述",
+      "prop": "cnameDescription",
+      "index": 10,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "备注",
       "prop": "remarks",
+      "index": 11,
       "width": 100,
       "overHidden": true
     }

+ 9 - 2
src/views/exportTrade/salesContract/config/customerContact.json

@@ -169,16 +169,23 @@
       "overHidden": true
     },
     {
+      "label": "单品毛利率",
+      "prop": "itemMargin",
+      "index": 23,
+      "width": 100,
+      "overHidden": true
+    },
+    {
       "label": "税率",
       "prop": "taxRate",
-      "index": 22,
+      "index": 24,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "备注",
       "prop": "remarks",
-      "index": 23,
+      "index": 25,
       "width": 100,
       "overHidden": true,
       "cell": true

+ 85 - 10
src/views/exportTrade/salesContract/detailsPage.vue

@@ -11,12 +11,36 @@
         </el-button>
       </div>
       <div class="add-customer-btn" v-if="showBut">
-        <el-button type="info" @click="saveSell" size="small"
-          >生成采购单</el-button
-        >
-        <el-button type="success" disabled size="small">
-          复制新单
-        </el-button>
+        <el-dropdown style="margin-right: 8px;">
+          <el-button type="primary" size="small">
+            审核处理<i class="el-icon-arrow-down el-icon--right"></i>
+          </el-button>
+          <el-dropdown-menu slot="dropdown">
+            <el-dropdown-item disabled>请核数据</el-dropdown-item>
+            <el-dropdown-item disabled>审核进度</el-dropdown-item>
+            <el-dropdown-item disabled>撤销请核</el-dropdown-item>
+          </el-dropdown-menu>
+        </el-dropdown>
+        <el-dropdown style="margin-right: 8px;">
+          <el-button type="warning" size="small">
+            账单处理<i class="el-icon-arrow-down el-icon--right"></i>
+          </el-button>
+          <el-dropdown-menu slot="dropdown">
+            <el-dropdown-item disabled>生成账单 </el-dropdown-item>
+            <el-dropdown-item disabled>申请退款</el-dropdown-item>
+          </el-dropdown-menu>
+        </el-dropdown>
+        <el-dropdown style="margin-right: 8px;">
+          <el-button type="success" size="small">
+            业务处理<i class="el-icon-arrow-down el-icon--right"></i>
+          </el-button>
+          <el-dropdown-menu slot="dropdown">
+            <el-dropdown-item @click.native="saveSell"
+              >生成采购
+            </el-dropdown-item>
+            <el-dropdown-item disabled>复制单据</el-dropdown-item>
+          </el-dropdown-menu>
+        </el-dropdown>
         <el-button
           type="primary"
           :disabled="disabled"
@@ -24,7 +48,7 @@
           :loading="subLoading"
           v-if="detailData.status != 1"
           size="small"
-          >{{ form.id ? "确认修改" : "确认新增" }}
+          >保存数据
         </el-button>
       </div>
     </div>
@@ -364,6 +388,9 @@
               ></el-input>
               <span v-else>{{ row.taxRate | isPercentage }}</span>
             </template>
+            <template slot="itemMargin" slot-scope="{ row }">
+              <span>{{ row.itemMargin | isPercentage }}</span>
+            </template>
             <template slot="menuLeft">
               <el-button
                 type="primary"
@@ -371,7 +398,7 @@
                 size="small"
                 @click.stop="newDetails"
                 :disabled="detailData.status == 1"
-                >新增明细</el-button
+                >录入明细</el-button
               >
               <el-button
                 type="primary"
@@ -567,7 +594,8 @@ import {
   productCal,
   sellingCal,
   amountCal,
-  transformCal
+  transformCal,
+  grossProfitCal
 } from "@/util/calculate";
 export default {
   name: "detailsPageEdit",
@@ -1048,6 +1076,12 @@ export default {
             e.insurance,
             e.discount
           );
+          e.itemMargin = grossProfitCal(
+            e.purchaseAmount,
+            e.partsPrice,
+            e.price,
+            this.form.exchangeRate
+          );
         });
       }
     },
@@ -1096,6 +1130,12 @@ export default {
         this.data[index].insurance,
         this.data[index].discount
       );
+      this.data[index].itemMargin = grossProfitCal(
+        this.data[index].purchaseAmount,
+        this.data[index].partsPrice,
+        this.data[index].price,
+        this.form.exchangeRate
+      );
       const names = [];
       const namePrices = [];
       rows.map(e => {
@@ -1174,6 +1214,12 @@ export default {
         row.insurance,
         row.discount
       );
+      row.itemMargin = grossProfitCal(
+        row.purchaseAmount,
+        row.partsPrice,
+        row.price,
+        this.form.exchangeRate
+      );
     },
     priceChange(row) {
       row.amount = amountCal(
@@ -1183,6 +1229,12 @@ export default {
         row.insurance,
         row.discount
       );
+      row.itemMargin = grossProfitCal(
+        row.purchaseAmount,
+        row.partsPrice,
+        row.price,
+        this.form.exchangeRate
+      );
     },
     quantityChange(row) {
       if (Number(row.orderQuantity) < Number(row.actualQuantity)) {
@@ -1227,6 +1279,12 @@ export default {
             e.insurance,
             e.discount
           );
+          e.itemMargin = grossProfitCal(
+            e.purchaseAmount,
+            e.partsPrice,
+            e.price,
+            this.form.exchangeRate
+          );
         });
       }
       this.oldExchange = this.deepClone(this.form.exchangeRate);
@@ -1244,6 +1302,12 @@ export default {
             e.insurance,
             e.discount
           );
+          e.itemMargin = grossProfitCal(
+            e.purchaseAmount,
+            e.partsPrice,
+            e.price,
+            this.form.exchangeRate
+          );
         });
       }
       this.oldExchange = this.deepClone(row);
@@ -1318,6 +1382,7 @@ export default {
                 item.discount = this.reData.discount;
                 item.amount = this.reData.amount;
                 item.taxRate = this.reData.taxRate;
+                item.itemMargin = this.reData.taxRate;
                 item.unit = e.unit;
                 item.remarks = this.reData.remarks;
                 item.$cellEdit = true;
@@ -1352,6 +1417,7 @@ export default {
             amount: 0,
             taxRate: 0,
             unit: e.unit,
+            itemMargin: 0,
             remarks: null,
             $cellEdit: true
           });
@@ -1430,6 +1496,15 @@ export default {
           ),
           taxRate: 0,
           unit: e.unit,
+          itemMargin: grossProfitCal(
+            e.purchaseAmount,
+            0,
+            sellingCal(
+              productCal(e.purchaseAmount, 0, this.form.coefficient),
+              this.form.exchangeRate
+            ),
+            this.form.exchangeRate
+          ),
           remarks: null,
           $cellEdit: true
         });
@@ -1630,7 +1705,7 @@ export default {
       );
       if (inSave) {
         this.$message.success("重置成功");
-       this.$refs.crud.$refs.dialogColumn.columnBox = false;
+        this.$refs.crud.$refs.dialogColumn.columnBox = false;
       }
     },
     summaryMethod({ columns, data }) {

+ 2 - 2
src/views/exportTrade/salesContract/index.vue

@@ -29,9 +29,9 @@
             icon="el-icon-plus"
             size="small"
             @click.stop="newAdd('new')"
-            >新单</el-button
+            >创建单据 </el-button
           >
-          <el-button type="success" size="small" disabled>复制单</el-button>
+          <el-button type="success" size="small" disabled>复制单</el-button>
           <el-button type="info" size="small">报表</el-button>
         </template>
         <template slot="corpIdSearch">

+ 23 - 3
src/views/exportTrade/shippingInquiry/config/commodity.json

@@ -14,9 +14,16 @@
   "tip": false,
   "column": [
     {
+      "label": "商品编号",
+      "prop": "code",
+      "index": 1,
+      "width": 100,
+      "overHidden": true
+    },
+    {
       "label": "商品类别",
       "prop": "goodsTypeName",
-      "index": 1,
+      "index": 2,
       "width": 100,
       "overHidden": true
     },
@@ -25,50 +32,63 @@
       "search": true,
       "searchSpan": 16,
       "prop": "cname",
-      "index": 2,
+      "index": 3,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "规格尺寸",
       "prop": "specs",
+      "index": 4,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "产品类别",
       "prop": "category",
+      "index": 5,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "产品分类",
       "prop": "categoryitem",
+      "index": 6,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "供应商",
       "prop": "providers",
+      "index": 7,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "计量单位",
       "prop": "unit",
+      "index": 8,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "包装单位",
       "prop": "packgeunit",
-      "slot": true,
+      "index": 9,
+      "width": 100,
+      "overHidden": true
+    },
+    {
+      "label": "英文描述",
+      "prop": "cnameDescription",
+      "index": 10,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "备注",
       "prop": "remarks",
+      "index": 11,
       "width": 100,
       "overHidden": true
     }

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

@@ -18,7 +18,7 @@
           v-if="form.id && detailData.status != 1"
           :loading="subLoading"
           size="small"
-          >确认修改
+          >保存数据
         </el-button>
         <el-button
           type="primary"

+ 42 - 27
src/views/maintenance/priceLibrary/config/mainList.json

@@ -12,11 +12,19 @@
   "showSummary": true,
   "searchIcon": true,
   "searchIndex": 2,
-  "column": [{
+  "column": [
+    {
+      "label": "商品编号",
+      "prop": "code",
+      "index": 1,
+      "width": 100,
+      "overHidden": true
+    },
+    {
       "label": "商品名称",
       "prop": "cname",
       "search": true,
-      "index": 1,
+      "index": 2,
       "width": 100,
       "overHidden": true,
       "searchSpan": 8
@@ -26,14 +34,14 @@
       "prop": "specs",
       "search": true,
       "searchSpan": 8,
-      "index": 2,
+      "index": 3,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "产品属性",
       "prop": "goodNature",
-      "index": 3,
+      "index": 4,
       "width": 100,
       "overHidden": true
     },
@@ -42,14 +50,14 @@
       "prop": "corpId",
       "search": true,
       "searchSpan": 8,
-      "index": 4,
+      "index": 5,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "币别",
       "prop": "currency",
-      "index": 5,
+      "index": 6,
       "width": 100,
       "overHidden": true
     },
@@ -57,20 +65,20 @@
       "label": "汇率",
       "prop": "exchangeRate",
       "width": 100,
-      "index": 6,
+      "index": 7,
       "overHidden": true
     },
     {
       "label": "FOB系数",
       "prop": "coefficient",
-      "index": 7,
+      "index": 8,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "价格类型",
       "prop": "billType",
-      "index": 8,
+      "index": 9,
       "width": 100,
       "overHidden": true,
       "dicData": [],
@@ -82,21 +90,21 @@
     {
       "label": "税率",
       "prop": "taxRate",
-      "index": 9,
+      "index": 10,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "最新价格",
       "prop": "price",
-      "index": 10,
+      "index": 11,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "采购价格",
       "prop": "purchaseAmount",
-      "index": 11,
+      "index": 12,
       "width": 100,
       "overHidden": true
     },
@@ -105,7 +113,7 @@
       "prop": "goodsTypeName",
       "search": true,
       "searchSpan": 8,
-      "index": 12,
+      "index": 13,
       "width": 100,
       "type": "select",
       "filterable": true,
@@ -119,84 +127,84 @@
     {
       "label": "是否重点推荐",
       "prop": "priorityReferrer",
-      "index": 13,
+      "index": 14,
       "width": 120,
       "overHidden": true
     },
     {
       "label": "推荐理由",
       "prop": "referrerReason",
-      "index": 14,
+      "index": 15,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "历史价格1",
       "prop": "priceOne",
-      "index": 15,
+      "index": 16,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "历史日期1",
       "prop": "priceOneTime",
-      "index": 16,
+      "index": 17,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "历史价格2",
       "prop": "priceTwo",
-      "index": 17,
+      "index": 18,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "历史日期2",
       "prop": "priceTwoTime",
-      "index": 18,
+      "index": 19,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "历史价格3",
       "prop": "priceThree",
-      "index": 19,
+      "index": 20,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "历史日期3",
       "prop": "priceThreeTime",
-      "index": 20,
+      "index": 21,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "备注",
       "prop": "remarks",
-      "index": 21,
+      "index": 22,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "有效期开始",
       "prop": "startTime",
-      "index": 22,
+      "index": 23,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "有效期结束",
       "prop": "endTime",
-      "index": 23,
+      "index": 24,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "有效日期",
       "prop": "dateValidity",
-      "index": 24,
+      "index": 25,
       "width": 100,
       "search": true,
       "searchSpan": 8,
@@ -207,14 +215,21 @@
     {
       "label": "业务员",
       "prop": "person",
-      "index": 25,
+      "index": 26,
+      "width": 100,
+      "overHidden": true
+    },
+    {
+      "label": "英文描述",
+      "prop": "cnameDescription",
+      "index": 27,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "状态",
       "prop": "status",
-      "index": 26,
+      "index": 28,
       "width": 100,
       "overHidden": true
     }