Browse Source

新增销售订单商品导入

caojunjie 4 years ago
parent
commit
6ebc4bf49d

+ 93 - 0
src/api/basicData/configuration.js

@@ -0,0 +1,93 @@
+import request from '@/router/axios';
+
+//客户资料列表查询
+export function customerList(data) {
+    return request({
+        url: '/api/blade-purchase-sales/order/page',
+        method: 'get',
+        params: data
+    })
+}
+//客户资料列表修改和新增
+export function typeSave(data) {
+    return request({
+        url: '/api/blade-purchase-sales/order/submit',
+        method: 'post',
+        data: data
+    })
+}
+//客户资料列表查看明细
+export function detail(data) {
+    return request({
+        url: '/api/blade-purchase-sales/order/detail?id='+data,
+        method: 'get'
+    })
+}
+//客户资料列表删除
+export function deleteDetails(data) {
+    return request({
+        url: '/api/blade-client/corpsdesc/update',
+        method: 'post',
+        data: {
+            id:data
+        }
+    })
+}
+//客户轮胎列表删除
+export function corpsattn(data) {
+    return request({
+        url: '/api/blade-purchase-sales/orderitems/update',
+        method: 'post',
+        data: {
+            id:data
+        }
+    })
+}
+//客户银行列表删除
+export function corpsbank(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
+        }
+    })
+}
+//客户优势项目列表删除
+export function corpsitem(data) {
+    return request({
+        url: '/api/blade-purchase-sales/orderfees/update',
+        method: 'post',
+        data: {
+            id:data
+        }
+    })
+}
+//查询客户类型主页下拉
+export function getDeptLazyTree(parentId){
+    return request({
+        url: '/api/blade-client/corpstype/lazy-tree',
+        method: 'get',
+        params: {
+            parentId
+        }
+    })
+}
+
+//查询客户类型下拉
+export function corpstypeTree() {
+    return request({
+        url: '/api/blade-client/corpstype/tree',
+        method: 'get'
+    })
+}

+ 15 - 42
src/router/views/index.js

@@ -73,46 +73,7 @@ export default [{
         },
         component: () => import( /* webpackChunkName: "views" */ '@/views/system/userinfo')
     }]
-}, {
-    path: '/detailsPage',
-    component: Layout,
-    redirect: 'customerInformation/detailsPage',
-    children: [{
-        path: '/detailsPage',
-        name: '客户资料详情',
-        meta: {
-            i18n: 'detailsPage'
-        },
-        component: () => import( /* webpackChunkName: "views" */ '@/views/basicData/customerInformation/detailsPage')
-    }]
 },{
-    path: '/detailsPageE',
-    component: Layout,
-    redirect: 'customerInformation/detailsPageE',
-    children: [{
-        path: '/detailsPageE',
-        name: '客户资料详情1',
-        meta: {
-            i18n: 'detailsPage'
-        },
-        component: () => import( /* webpackChunkName: "views" */ '@/views/basicData/customerInformation/detailsPage')
-    }]
-},
-//     {
-//     path: '/detailsPageEdit',
-//     component: Layout,
-//     hidden: false,
-//     redirect: '/detailsPageEdit',
-//     children: [{
-//         path: '/detailsPageEdit',
-//         name: '客户资料编辑',
-//         meta: {
-//             i18n: 'detailsPageEdit'
-//         },
-//         component: () => import( /* webpackChunkName: "views" */ '@/views/basicData/customerInformation/detailsPageEdit')
-//     }]
-// },
-    {
         path: '/detailsPageEdit',
         component: Layout,
         hidden: true,
@@ -122,11 +83,23 @@ export default [{
                 meta: {
                     i18n: 'detailsPageEdit'
                 },
-        component: () => import( /* webpackChunkName: "views" */ '@/views/basicData/customerInformation/detailsPageEdit')
+                component: () => import( /* webpackChunkName: "views" */ '@/views/basicData/customerInformation/detailsPageEdit')
+            }
+        ]
+    },{
+        path: '/salesOrder_detailsPageEdit',
+        component: Layout,
+        hidden: true,
+        children: [
+            {
+                path: '/salesOrder_detailsPageEdit',
+                meta: {
+                    i18n: 'salesOrder_detailsPageEdit'
+                },
+                component: () => import( /* webpackChunkName: "views" */ '@/views/businessManagement/salesOrder/detailsPageEdit')
             }
         ]
-    },
-    {
+    },{
         path: '/work/process/leave',
         component: Layout,
         redirect: '/work/process/leave/form',

+ 0 - 1
src/views/basicData/basicStorageDesc/index.vue

@@ -125,7 +125,6 @@ export default {
     //新增修改时保存触发
     rowSave(row, done, loading) {
       console.log(row)
-      row.storageTypeId = row.storageTypeId.join(',')
       typeSave(row).then(res => {
         console.log(res)
         this.page.currentPage = 1;

+ 1 - 1
src/views/basicData/commodityType/configuration/mainList.json

@@ -100,7 +100,7 @@
       "slot": true
     },
     {
-      "label": "系统背景",
+      "label": "商品图片",
       "prop": "url",
       "type": "upload",
       "listType": "picture-img",

+ 3 - 0
src/views/basicData/customerInformation/detailsPageEdit.vue

@@ -10,6 +10,7 @@
       <el-button
           class="el-button--small-yh add-customer-btn"
           type="primary"
+          :disabled="disabled"
           @click="editCustomer"
       >{{form.id?'确认修改':'确认新增'}}
       </el-button>
@@ -109,6 +110,7 @@ export default {
   data() {
     return {
       form: {},
+      disabled:false,
       contactsForm: {},
       advantageProjectForm: {},
       bankOfDepositForm: {},
@@ -524,6 +526,7 @@ export default {
           if (typeof this.form.corpsTypeId == 'object'){
             this.form.corpsTypeId = this.form.corpsTypeId.join(",")
           }
+          this.disabled = true
           typeSave(this.form).then(res => {
             console.log(res.data)
             this.$message({

+ 1 - 1
src/views/basicData/customerInformation/index.vue

@@ -216,7 +216,7 @@ export default {
       console.log('1')
     },
     onLoad(page, params = {parentId:0}) {
-      let queryParams = Object.assign({}, params, {pageSize: page.pageSize, pageNum: page.currentPage,corpsTypeId:this.treeDeptId})
+      let queryParams = Object.assign({}, params, {size: page.pageSize, current: page.currentPage,corpsTypeId:this.treeDeptId})
       customerList(queryParams).then(res => {
         this.dataList = res.data.data.records
         this.page.total = res.data.data.total

+ 38 - 13
src/views/businessManagement/salesOrder/configuration/advantageProject.json

@@ -13,57 +13,82 @@
   "dialogClickModal": false,
   "column":[
     {
-      "label": "编号",
-      "prop": "code",
+      "label": "费用名称",
+      "prop": "itemId",
       "index": 1,
       "width":100,
       "rules": [
         {
           "required": true,
-          "message": "请输入编号",
+          "message": "请输入费用名称",
           "trigger": "blur"
         }
       ]
     },{
-      "label": "名称",
-      "prop": "cname",
+      "label": "编号",
+      "prop": "code",
       "index": 2,
       "width":100,
       "rules": [
         {
           "required": true,
-          "message": "请输入名称",
+          "message": "请输入编号",
           "trigger": "blur"
         }
       ]
     },{
-      "label": "价格",
-      "prop": "price",
+      "label": "国内支付方",
+      "prop": "corpId",
       "index": 3,
       "width":100,
       "rules": [
         {
           "required": false,
-          "message": "请输入价格",
+          "message": "请输入国内支付方",
           "trigger": "blur"
         }
       ]
     },{
-      "label": "单位",
-      "prop": "unit",
+      "label": "支付金额",
+      "prop": "amount",
       "index": 4,
       "width":100,
       "rules": [
         {
           "required": false,
-          "message": "请输入单位",
+          "message": "请输入支付金额",
+          "trigger": "blur"
+        }
+      ]
+    },{
+      "label": "核销金额",
+      "prop": "settlmentAmount",
+      "index": 5,
+      "width":100,
+      "rules": [
+        {
+          "required": false,
+          "message": "请输入核销金额",
+          "trigger": "blur"
+        }
+      ]
+    },{
+      "label": "排序",
+      "prop": "sort",
+      "type": "number",
+      "index": 6,
+      "width":100,
+      "rules": [
+        {
+          "required": true,
+          "message": "请输入排序",
           "trigger": "blur"
         }
       ]
     },{
       "label": "备注",
       "prop": "remarks",
-      "index": 5,
+      "index": 7,
       "width":100,
       "rules": [
         {

+ 21 - 30
src/views/businessManagement/salesOrder/configuration/bankOfDeposit.json

@@ -13,50 +13,27 @@
   "dialogClickModal": false,
   "column":[
     {
-      "label": "账户名称",
-      "prop": "accountName",
+      "label": "排序",
+      "prop": "sort",
+      "type": "number",
       "index": 1,
       "width":100,
       "rules": [
         {
           "required": true,
-          "message": "请输入账户名称",
+          "message": "请输入排序",
           "trigger": "blur"
         }
       ]
     },{
-      "label": "开户银行",
-      "prop": "accountBank",
+      "label": "文件名称",
+      "prop": "fileName",
       "index": 2,
       "width":100,
       "rules": [
         {
           "required": true,
-          "message": "请输入开户银行",
-          "trigger": "blur"
-        }
-      ]
-    },{
-      "label": "银行账号",
-      "prop": "accountNo",
-      "index": 3,
-      "width":100,
-      "rules": [
-        {
-          "required": true,
-          "message": "请输入银行账号",
-          "trigger": "blur"
-        }
-      ]
-    },{
-      "label": "币别",
-      "prop": "fcyno",
-      "index": 4,
-      "width":100,
-      "rules": [
-        {
-          "required": true,
-          "message": "请输入币别",
+          "message": "请输入文件名称",
           "trigger": "blur"
         }
       ]
@@ -72,6 +49,20 @@
           "trigger": "blur"
         }
       ]
+    },{
+      "label": "附件",
+      "prop": "url",
+      "type": "upload",
+      "listType": "picture-img",
+      "dataType": "string",
+      "action": "/api/blade-resource/oss/endpoint/put-file",
+      "propsHttp": {
+        "res": "data",
+        "url": "link",
+        "fileName": "originalName"
+      },
+      "hide": true,
+      "span": 24
     }
   ]
 }

+ 126 - 0
src/views/businessManagement/salesOrder/configuration/commodity.json

@@ -0,0 +1,126 @@
+
+{
+  "height": "auto",
+  "calcHeight": 80,
+  "tip": false,
+  "addBtn": false,
+  "searchShow": false,
+  "searchShowBtn": false,
+  "refreshBtn": false,
+  "menu": false,
+  "searchMenuSpan": 6,
+  "border": true,
+  "index": true,
+  "selection": true,
+  "viewBtn": true,
+  "dialogClickModal": false,
+  "column": [
+    {
+      "label": "商品编码",
+      "prop": "code",
+      "search": true,
+      "width": 100,
+      "rules": [
+        {
+          "required": true,
+          "message": " ",
+          "trigger": "blur"
+        }
+      ]
+    },
+    {
+      "label": "商品名称",
+      "prop": "cname",
+      "slot": true,
+      "width": 100,
+      "rules": [
+        {
+          "required": true,
+          "message": " ",
+          "trigger": "blur"
+        }
+      ]
+    },
+    {
+      "label": "商品类别",
+      "prop": "goodsTypeId",
+      "dicData": [],
+      "type": "tree",
+      "hide": true,
+      "addDisabled": false,
+      "multiple": true,
+      "props": {
+        "label": "title"
+      },
+      "rules": [{
+        "required": true,
+        "message": " ",
+        "trigger": "click"
+      }]
+    },
+    {
+      "label": "规格编码",
+      "prop": "typeno",
+      "search": true
+    },
+    {
+      "label": "品牌",
+      "prop": "brand",
+      "slot": true
+    },
+    {
+      "label": "花纹",
+      "prop": "brandItem",
+      "slot": true
+    },
+    {
+      "label": "规格尺寸",
+      "prop": "specs",
+      "slot": true
+    },
+    {
+      "label": "产品类别",
+      "prop": "category",
+      "slot": true
+    },
+    {
+      "label": "产品分类",
+      "prop": "categoryitem",
+      "slot": true
+    },
+    {
+      "label": "供应商",
+      "prop": "providers",
+      "slot": true
+    },
+    {
+      "label": "计量单位",
+      "prop": "unit",
+      "slot": true
+    },
+    {
+      "label": "包装单位",
+      "prop": "packgeunit",
+      "slot": true
+    },
+    {
+      "label": "商品图片",
+      "prop": "url",
+      "type": "upload",
+      "listType": "picture-img",
+      "dataType": "string",
+      "action": "/api/blade-resource/oss/endpoint/put-file",
+      "propsHttp": {
+        "res": "data",
+        "url": "link"
+      },
+      "hide": true,
+      "span": 24
+    },
+    {
+      "label": "备注",
+      "prop": "remarks",
+      "slot": true
+    }
+  ]
+}

+ 86 - 23
src/views/businessManagement/salesOrder/configuration/customerContact.json

@@ -3,6 +3,11 @@
   "tip": false,
   "simplePage": true,
   "searchShow": true,
+  "addBtn":false,
+  "editBtn":false,
+  "addRowBtn":true,
+  "cellBtn":false,
+  "cancelBtn":false,
   "searchMenuSpan": 6,
   "dialogWidth": "60%",
   "tree": true,
@@ -13,74 +18,132 @@
   "dialogClickModal": false,
   "column":[
     {
-      "label": "编号",
-      "prop": "code",
+      "label": "排序",
+      "prop": "sort",
       "index": 1,
       "width":100,
+      "cell": true,
       "rules": [
         {
           "required": true,
-          "message": "请输入编号",
+          "message": "请输入排序",
           "trigger": "blur"
         }
       ]
     },{
-      "label": "名称",
-      "prop": "cname",
-      "index": 2,
+      "label": "类别",
+      "prop": "priceCategory",
+      "index": 1,
       "width":100,
+      "cell": true,
       "rules": [
         {
           "required": true,
-          "message": "请输入名称",
+          "message": "请输入类别",
+          "trigger": "blur"
+        }
+      ]
+    },{
+      "label": "编码",
+      "prop": "code",
+      "index": 2,
+      "width":100,
+      "cell": true,
+      "rules": [
+        {
+          "required": false,
+          "message": "请输入编码",
           "trigger": "blur"
         }
       ]
     },{
-      "label": "联系方式",
-      "prop": "attn",
+      "label": "规格编码",
+      "prop": "typeno",
       "index": 3,
       "width":100,
+      "cell": true,
       "rules": [
         {
-          "required": true,
-          "message": "请输入联系方式",
+          "required": false,
+          "message": "请输入规格编码",
           "trigger": "blur"
         }
       ]
     },{
-      "label": "电话",
-      "prop": "tel",
+      "label": "规格型号",
+      "prop": "specificationAndModel",
       "index": 4,
       "width":100,
+      "cell": true,
       "rules": [
         {
-          "required": true,
-          "message": "请输入电话",
+          "required": false,
+          "message": "请输入规格型号",
           "trigger": "blur"
         }
       ]
     },{
-      "label": "岗位",
-      "prop": "positoin",
+      "label": "订货数量",
+      "prop": "orderQuantity",
       "index": 5,
       "width":100,
+      "cell": true,
       "rules": [
         {
-          "required": true,
-          "message": "请输入岗位",
+          "required": false,
+          "message": "请输入订货数量",
           "trigger": "blur"
         }
       ]
     },{
-      "label": "公司地址",
-      "prop": "addr",
+      "label": "发货数量",
+      "prop": "actualQuantity",
       "index": 6,
       "width":100,
+      "cell": true,
       "rules": [
         {
-          "required": true,
-          "message": "请输入公司地址",
+          "required": false,
+          "message": "请输入发货数量",
+          "trigger": "blur"
+        }
+      ]
+    },{
+      "label": "库存",
+      "prop": "storageQuantity",
+      "index": 6,
+      "width":100,
+      "cell": true,
+      "rules": [
+        {
+          "required": false,
+          "message": "请输入库存",
+          "trigger": "blur"
+        }
+      ]
+    },{
+      "label": "最新单价",
+      "prop": "price",
+      "index": 6,
+      "width":100,
+      "cell": true,
+      "rules": [
+        {
+          "required": false,
+          "message": "请输入最新单价",
+          "trigger": "blur"
+        }
+      ]
+    },{
+      "label": "金额",
+      "prop": "amount",
+      "index": 6,
+      "width":100,
+      "cell": true,
+      "rules": [
+        {
+          "required": false,
+          "message": "请输入金额",
           "trigger": "blur"
         }
       ]

+ 35 - 66
src/views/businessManagement/salesOrder/configuration/mainList.json

@@ -14,112 +14,81 @@
     "delBtn": false,
     "menuWidth": 300,
     "dialogClickModal": false,
+    "searchLabelWidth": 100,
     "column":[
         {
             "label": "系统编号",
             "prop": "sysNo",
             "search": true,
             "index": 1,
-            "width":100,
-            "rules": [
-                {
-                    "required": true,
-                    "message": "请输入系统编号",
-                    "trigger": "blur"
-                }
-            ]
+            "width":100
         },
         {
             "label": "销售订单号",
             "prop": "orderNo",
             "search": true,
             "index": 1,
-            "width":100,
-            "rules": [
-                {
-                    "required": true,
-                    "message": "请输入销售订单号",
-                    "trigger": "blur"
-                }
-            ]
+            "width":100
         },{
             "label": "主订单号",
-            "prop": "mOrderNo",
+            "prop": "morderNo",
             "search": true,
             "index": 2,
-            "width":100,
-            "rules": [
-                {
-                    "required": true,
-                    "message": "请输入主订单号",
-                    "trigger": "blur"
-                }
-            ]
+            "width":100
         },{
             "label": "发货地址",
             "prop": "shippingAddress",
             "search": true,
             "index": 4,
-            "width":100,
-            "rules": [
-                {
-                    "required": true,
-                    "message": "请输入发货地址",
-                    "trigger": "blur"
-                }
-            ]
+            "width":100
         },{
             "label": "到货地址",
             "prop": "arrivalAddress",
             "search": true,
             "index": 5,
-            "width":100,
-            "rules": [
-                {
-                    "required": true,
-                    "message": "请输入到货地址",
-                    "trigger": "blur"
-                }
-            ]
+            "width":100
         },{
             "label": "付款方式",
-            "prop": "attn",
+            "prop": "paymentType",
             "search": true,
             "index": 6,
-            "width":100,
-            "rules": [
-                {
-                    "required": true,
-                    "message": "请输入付款方式",
-                    "trigger": "blur"
-                }
-            ]
+            "width":100
         },{
             "label": "包装要求",
             "prop": "packageRemarks",
             "search": true,
             "index": 7,
-            "width":100,
-            "rules": [
-                {
-                    "required": true,
-                    "message": "请输入包装要求",
-                    "trigger": "blur"
-                }
-            ]
+            "width":100
         },{
             "label": "运费",
             "prop": "creditLevel",
             "search": true,
             "index": 8,
-            "width":100,
-            "rules": [
-                {
-                    "required": true,
-                    "message": "请输入运费",
-                    "trigger": "blur"
-                }
-            ]
+            "width":100
+        },{
+            "label": "银行帐号",
+            "prop": "banks",
+            "search": true,
+            "index": 8,
+            "width":100
+        },{
+            "label": "要求发货日期",
+            "prop": "requiredDeliveryDate",
+            "search": true,
+            "index": 8,
+            "width":100
+        },{
+            "label": "要求到货日期",
+            "prop": "requiredArrivalDate",
+            "search": true,
+            "index": 8,
+            "width":100
+        },{
+            "label": "公司户头",
+            "prop": "banksAccountName",
+            "search": true,
+            "index": 8,
+            "width":100
         }
     ]
 }

+ 368 - 129
src/views/businessManagement/salesOrder/detailsPageEdit.vue

@@ -10,64 +10,67 @@
       <el-button
           class="el-button--small-yh add-customer-btn"
           type="primary"
+          :disabled="disabled"
           @click="editCustomer"
       >{{form.id?'确认修改':'确认新增'}}
       </el-button>
     </div>
     <div style="margin-top: 60px">
-      <el-form :model="form" ref="form" label-width="100px" class="demo-ruleForm">
+      <el-form :model="form" ref="form" label-width="130px" class="demo-ruleForm">
         <containerTitle title="基础资料"></containerTitle>
         <basic-container style="margin-bottom: 10px">
           <el-row>
             <el-col v-for="item in basicData.column" :span="item.span?item.span:8">
               <el-form-item :label="item.label" :prop="item.prop" :rules="item.rules">
-                <avue-input-tree v-if="item.prop === 'corpsTypeId'"  leaf-only multiple :props="{label:'title'}" v-model="form[item.prop]" placeholder="请选择内容" type="tree" :dic="dic"
-                ></avue-input-tree>
+<!--                <avue-input-tree v-if="item.prop === 'corpsTypeId'"  leaf-only multiple :props="{label:'title'}" v-model="form[item.prop]" placeholder="请选择内容" type="tree" :dic="dic"-->
+<!--                ></avue-input-tree>-->
+                <el-date-picker v-if="item.type === 'datetime'" style="width: 100%;" v-model="form[item.prop]" size="small" type="datetime" placeholder="选择日期" value-format="yyyy-MM-dd HH:mm:ss"/>
                 <el-input type="age" v-else v-model="form[item.prop]" size="small" autocomplete="off"></el-input>
               </el-form-item>
             </el-col>
           </el-row>
         </basic-container>
-        <containerTitle title="联系方式"></containerTitle>
+        <containerTitle title="发货信息"></containerTitle>
         <basic-container style="margin-bottom: 10px">
           <el-row>
             <el-col v-for="item in contactInformation.column" :span="item.span?item.span:8">
               <el-form-item :label="item.label" :prop="item.prop" :rules="item.rules">
-                <el-input type="age" v-model="form[item.prop]" size="small" autocomplete="off"></el-input>
-              </el-form-item>
-            </el-col>
-          </el-row>
-        </basic-container>
-        <containerTitle title="财务资料"></containerTitle>
-        <basic-container style="margin-bottom: 10px">
-          <el-row>
-            <el-col v-for="item in financialInformation.column" :span="item.span?item.span:8">
-              <el-form-item :label="item.label" :prop="item.prop" :rules="item.rules">
-                <el-switch
-                    v-if="item.prop === 'creditstatus'"
-                    v-model="form[item.prop]"
-                    active-value="0"
-                    inactive-value="1"
-                    active-text="开启"
-                    inactive-text="关闭">
-                </el-switch>
+                <el-date-picker v-if="item.type === 'datetime'" style="width: 100%;" v-model="form[item.prop]" size="small" type="datetime" placeholder="选择日期" value-format="yyyy-MM-dd HH:mm:ss"/>
                 <el-input v-else type="age" v-model="form[item.prop]" size="small" autocomplete="off"></el-input>
               </el-form-item>
             </el-col>
           </el-row>
         </basic-container>
-        <containerTitle title="客户联系人"></containerTitle>
+        <containerTitle title="商品信息"></containerTitle>
         <basic-container style="margin-bottom: 10px">
           <avue-crud
               :option="customerContact"
               v-model="contactsForm"
               :data="contactsData"
+              ref="crudContact"
               @row-save="rowSave"
+              @row-click="handleRowClick"
               @row-update="rowUpdate"
               @row-del="rowDel"
-          ></avue-crud>
+          >
+            <template slot-scope="{row,index}" slot="menu">
+              <el-button
+                  type="text"
+                  size="small"
+                  @click="rowCell(row,index)"
+              >{{row.$cellEdit?'保存':'修改'}}</el-button>
+            </template>
+            <template slot="menuLeft" slot-scope="{size}">
+              <el-button type="success"
+                         icon="el-icon-edit"
+                         size="small"
+                         plain
+                         @click="dialogVisible = !dialogVisible"
+              >导入</el-button>
+            </template>
+          </avue-crud>
         </basic-container>
-        <containerTitle title="客户优势项目"></containerTitle>
+        <containerTitle title="费用明细"></containerTitle>
         <basic-container style="margin-bottom: 10px">
           <avue-crud
               :option="advantageProject"
@@ -78,7 +81,7 @@
               @row-del="rowDelProject"
           ></avue-crud>
         </basic-container>
-        <containerTitle title="客户开户行"></containerTitle>
+        <containerTitle title="附件上传"></containerTitle>
         <basic-container style="margin-bottom: 40px">
           <avue-crud
               :option="bankOfDeposit"
@@ -91,6 +94,41 @@
         </basic-container>
       </el-form>
     </div>
+    <el-dialog
+        title="导入商品"
+        append-to-body
+        class="el-dialogDeep"
+        :visible.sync="dialogVisible"
+        width="80%"
+        :close-on-click-modal="false"
+        :close-on-press-escape="false">
+      <el-row style="height: 0;">
+        <el-col :span="5">
+          <div>
+            <el-scrollbar>
+              <basic-container>
+                <avue-tree :option="treeOption" :data="treeData" @node-click="nodeClick"/>
+              </basic-container>
+            </el-scrollbar>
+          </div>
+        </el-col>
+        <el-col :span="19">
+          <basic-container>
+            <avue-crud :option="optionTwo"
+                       :table-loading="loading"
+                       :data="data"
+                       ref="crud"
+                       @selection-change="selectionChange"
+                       :page.sync="page"
+                       @on-load="onLoad"></avue-crud>
+          </basic-container>
+        </el-col>
+      </el-row>
+        <span slot="footer" class="dialog-footer">
+          <el-button @click="dialogVisible = false">取 消</el-button>
+          <el-button type="primary" @click="importGoods" :disabled="tableData.length>1?true:false">导入</el-button>
+        </span>
+    </el-dialog>
   </div>
 </template>
 
@@ -100,95 +138,127 @@ import {customerList, typeSave, detail, deleteDetails,
   corpsattn,
   corpsbank,
   corpsfiles,
-  corpsitem} from "@/api/basicData/customerInformation"
+  corpsitem} from "@/api/basicData/configuration"
 import customerContact from "./configuration/customerContact.json"
 import advantageProject from "./configuration/advantageProject.json"
 import bankOfDeposit from "./configuration/bankOfDeposit.json"
+import commodity from "./configuration/commodity.json"
+import {getDeptLazyTree, getList} from "@/api/basicData/commodityType";
 export default {
   name: "detailsPage",
   data() {
     return {
       form: {},
+      data:[],
+      page:{
+        pageSize: 10,
+        currentPage: 1,
+        total: 0
+      },
+      loading:false,
       contactsForm: {},
+      optionTwo:commodity,
+      treeOption: {
+        nodeKey: 'id',
+        lazy: true,
+        treeLoad: function (node, resolve) {
+          const parentId = (node.level === 0) ? 0 : node.data.id;
+          getDeptLazyTree(parentId).then(res => {
+            resolve(res.data.data.map(item => {
+              return {
+                ...item,
+                leaf: !item.hasChildren
+              }
+            }))
+          });
+        },
+        addBtn: false,
+        menu: false,
+        size: 'small',
+        props: {
+          labelText: '标题',
+          label: 'title',
+          value: 'value',
+          children: 'children'
+        }
+      },
+      dialogVisible:false,
       advantageProjectForm: {},
       bankOfDepositForm: {},
       contactsData: [],
       advantageProjectData: [],
+      disabled:false,
       bankOfDepositData: [],
       dic:[],
+      tableData:[],
       customerContact:customerContact,
       advantageProject:advantageProject,
       bankOfDeposit:bankOfDeposit,
       contactInformation: {
         column: [
           {
-            label: '联系人',
-            prop: 'attn',
+            label: '销售金额',
+            prop: 'orderAmount',//无
             rules: [
               {
                 required: false,
-                message: '请输入联系人',
+                message: ' ',
                 trigger: 'blur'
               }
             ]
-          }, {
-            label: '联系电话',
-            prop: 'tel',
+          },{
+            label: '其他费用',
+            prop: 'otherAmount',
             rules: [
               {
                 required: false,
-                message: '请输入联系电话',
+                message: ' ',
                 trigger: 'blur'
               }
             ]
-          }, {
-            label: '职位',
-            prop: 'positoin',
+          },{
+            label: '应收账款',
+            prop: 'debitAmount',
             rules: [
               {
                 required: false,
-                message: '请输入联系电话',
+                message: ' ',
                 trigger: 'blur'
               }
             ]
-          }, {
-            label: '单位地址',
-            prop: 'addr',
+          },{
+            label: '单据状态',
+            prop: 'status1',
             rules: [
               {
                 required: false,
-                message: '请输入单位地址',
+                message: ' ',
                 trigger: 'blur'
               }
             ]
-          }, {
-            label: '仓库地址',
-            prop: 'storageAddr',
+          },{
+            label: '溢付款',
+            prop: 'overPayment',
             rules: [
               {
                 required: false,
-                message: '请输入仓库地址',
+                message: ' ',
                 trigger: 'blur'
               }
             ]
-          }, {
-            label: '分仓地址',
-            prop: 'subStorageAddr',
+          },{
+            label: '应收预付款',
+            prop: 'advancePayment',
             rules: [
               {
                 required: false,
-                message: '请输入分仓地址',
+                message: ' ',
                 trigger: 'blur'
               }
             ]
-          }
-        ]
-      },
-      financialInformation: {
-        column: [
-          {
-            label: '账户名称',
-            prop: 'accountName',
+          },{
+            label: '已收款',
+            prop: 'settlmentAmount',
             rules: [
               {
                 required: false,
@@ -196,9 +266,9 @@ export default {
                 trigger: 'blur'
               }
             ]
-          }, {
-            label: '开户银行',
-            prop: 'accountBank',
+          },{
+            label: '应收未收款',
+            prop: 'settlmentAmount',//无
             rules: [
               {
                 required: false,
@@ -206,9 +276,9 @@ export default {
                 trigger: 'blur'
               }
             ]
-          }, {
-            label: '银行帐号',
-            prop: 'accountNo',
+          },{
+            label: '保证金',
+            prop: 'deposit',
             rules: [
               {
                 required: false,
@@ -216,9 +286,9 @@ export default {
                 trigger: 'blur'
               }
             ]
-          }, {
-            label: '外币账户名称',
-            prop: 'accountNameFcy',
+          },{
+            label: '逾期账款',
+            prop: 'overDueAccounts',
             rules: [
               {
                 required: false,
@@ -226,9 +296,10 @@ export default {
                 trigger: 'blur'
               }
             ]
-          }, {
-            label: '外币开户银行',
-            prop: 'accountBankFcy',
+          },{
+            label: '合同日期',
+            prop: 'businesDate',
+            type:'datetime',
             rules: [
               {
                 required: false,
@@ -236,9 +307,10 @@ export default {
                 trigger: 'blur'
               }
             ]
-          }, {
-            label: '外币银行账号',
-            prop: 'accountNoFcy',
+          },{
+            label: '实际发货日期',
+            prop: 'actualDeliveryDate',
+            type:'datetime',
             rules: [
               {
                 required: false,
@@ -246,9 +318,10 @@ export default {
                 trigger: 'blur'
               }
             ]
-          }, {
-            label: '授信状态',
-            prop: 'creditstatus',
+          },{
+            label: '制单日期',
+            prop: 'createTime',
+            type:'datetime',
             rules: [
               {
                 required: false,
@@ -256,9 +329,9 @@ export default {
                 trigger: 'blur'
               }
             ]
-          }, {
-            label: '授信等级',
-            prop: 'creditLevel',
+          },{
+            label: '制单人',
+            prop: 'createUser',
             rules: [
               {
                 required: false,
@@ -266,9 +339,9 @@ export default {
                 trigger: 'blur'
               }
             ]
-          }, {
-            label: '授信额度',
-            prop: 'creditGrant',
+          },{
+            label: '毛利率',
+            prop: 'grossProfitRate',
             rules: [
               {
                 required: false,
@@ -276,9 +349,9 @@ export default {
                 trigger: 'blur'
               }
             ]
-          }, {
-            label: '授信天数',
-            prop: 'creditDay',
+          },{
+            label: '毛利额',
+            prop: 'grossProfit',
             rules: [
               {
                 required: false,
@@ -286,9 +359,61 @@ export default {
                 trigger: 'blur'
               }
             ]
-          }, {
-            label: '授信利率',
-            prop: 'creditRate',
+          },{
+            label: '所属公司',
+            prop: 'belongToCorpId',
+            rules: [
+              {
+                required: false,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          },{
+            label: '历史运费(元/条)',
+            prop: 'freightAmountHistory',
+            rules: [
+              {
+                required: false,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          },{
+            label: '到货日期',
+            prop: 'arrivalDate',
+            type:'datetime',
+            rules: [
+              {
+                required: false,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          },{
+            label: '预收款日期',
+            type:'datetime',
+            prop: 'advanceCollectionDate',
+            rules: [
+              {
+                required: false,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          },{
+            label: '积分倍数',
+            prop: 'pointMutiple',
+            rules: [
+              {
+                required: false,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          },{
+            label: '特别提醒',
+            prop: 'specialRemarks',
             rules: [
               {
                 required: false,
@@ -302,8 +427,8 @@ export default {
       basicData: {
         column: [
           {
-            label: '客户编码',
-            prop: 'code',
+            label: '销售订单号',
+            prop: 'orderNo',
             rules: [
               {
                 required: true,
@@ -312,8 +437,8 @@ export default {
               }
             ]
           }, {
-            label: '代理品牌',
-            prop: 'goodtypes',
+            label: '主订单号',
+            prop: 'morderNo',
             rules: [
               {
                 required: true,
@@ -322,8 +447,18 @@ export default {
               }
             ]
           }, {
-            label: '所属公司',
-            prop: 'belongtocompany',
+            label: '发货地址',
+            prop: 'shippingAddress',
+            rules: [
+              {
+                required: true,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          }, {
+            label: '到货地址',
+            prop: 'arrivalAddress',
             rules: [
               {
                 required: true,
@@ -332,8 +467,8 @@ export default {
               }
             ]
           }, {
-            label: '客户名称',
-            prop: 'cname',
+            label: '付款方式',
+            prop: 'paymentType',
             rules: [
               {
                 required: true,
@@ -342,8 +477,8 @@ export default {
               }
             ]
           }, {
-            label: '客户类别',
-            prop: 'corpsTypeId',
+            label: '包装要求',
+            prop: 'packageRemarks',
             rules: [
               {
                 required: true,
@@ -352,8 +487,8 @@ export default {
               }
             ]
           }, {
-            label: '企业类型',
-            prop: 'companytype',
+            label: '运费',
+            prop: 'packageRemarks',
             rules: [
               {
                 required: true,
@@ -362,9 +497,62 @@ export default {
               }
             ]
           }, {
-            label: "代理区域",
+            label: '银行帐号',
+            prop: 'banks',
+            rules: [
+              {
+                required: true,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          }, {
+            label: '要求发货日期',
+            prop: 'requiredDeliveryDate',
+            type:'datetime',
+            rules: [
+              {
+                required: true,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          }, {
+            label: '要求到货日期',
+            prop: 'requiredArrivalDate',
+            type:'datetime',
+            rules: [
+              {
+                required: true,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          }, {
+            label: '公司户头',
+            prop: 'banksAccountName',
+            rules: [
+              {
+                required: false,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          }, {
+            label: '信用证到期日',
+            type:'datetime',
+            prop: 'creditDate',
+            rules: [
+              {
+                required: true,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          }, {
+            label: "订单备注",
             span: 24,
-            prop: "belongtoarea",
+            prop: "orderRemark",
             mock: {
               type: 'county'
             }
@@ -374,21 +562,21 @@ export default {
     }
   },
   created() {
-    corpstypeTree().then(res=>{
-      this.dic = res.data.data
-    })
+    // corpstypeTree().then(res=>{
+    //   this.dic = res.data.data
+    // })
     if (this.$route.query.id){
       let id = this.$route.query.id.replace(/\"/g, "")
       // let id = parseInt(this.$route.query.id)
       detail(id).then(res => {
         console.log(res.data.data)
         this.form = res.data.data;
-        this.contactsData = this.form.corpsAttnList
-        this.bankOfDepositData = this.form.corpsBankList
-        this.advantageProjectData = this.form.corpsItems
-        delete this.form.corpsAttnList
-        delete this.form.corpsBankList
-        delete this.form.corpsItems
+        this.contactsData = this.form.orderItemsList
+        this.advantageProjectData = this.form.orderFeesList
+        this.bankOfDepositData = this.form.orderFilesList
+        delete this.form.orderItemsList
+        delete this.form.orderFeesList
+        delete this.form.orderFilesList
       });
     }
   },
@@ -407,17 +595,47 @@ export default {
     }
   },
   methods: {
-    //新增客户联系人保存触发
+    //点击行可编辑
+    handleRowClick(row, event, column) {
+      this.$message({
+        showClose: true,
+        message: '序号' + row.$index,
+        type: 'success',
+      });
+    },
+    rowCell(row, index) {
+      console.log(row)
+      this.$refs.crudContact.rowCell(row, index)
+    },
+    //确认导入触发
+    importGoods(){
+      this.contactsData = this.contactsData.concat(this.tableData)
+      this.dialogVisible = false
+    },
+    //选中触发
+    selectionChange(list){
+      console.log(list);
+      this.tableData = list
+      if (list.length > 1){
+        this.$message({
+          showClose: true,
+          message: '警告,只允许导入一条',
+          type: 'warning'
+        });
+      }
+    },
+    //新增商品信息保存触发
     rowSave(row, done, loading){
-      console.log(row,done,loading)
-      this.contactsData.push(row)
+      console.log(row)
+      console.log(this.contactsData)
+      // this.contactsData.push(row)
       done()
     },
-    //修改客户联系人触发
+    //修改商品信息触发
     rowUpdate(row, index, done, loading) {
       done(row);
     },
-    //删除客户联系人触发
+    //删除商品信息触发
     rowDel(row, index, donerowDel) {
       this.$confirm("确定将选择数据删除?", {
         confirmButtonText: "确定",
@@ -442,17 +660,26 @@ export default {
         }
       })
     },
-    //新增客户优势项目保存触发
+    //新增费用明细保存触发
     rowSaveProject(row, done, loading){
-      console.log(row,done,loading)
       this.advantageProjectData.push(row)
       done()
     },
-    //修改客户优势项目触发
+    //修改费用明细触发
     rowUpdateProject(row, index, done, loading) {
       done(row);
     },
-    //删除客户优势项目触发
+    //商品列表查询
+    onLoad(page, params = {}) {
+      this.loading = true;
+      getList(page.currentPage, page.pageSize, Object.assign(params, this.query), this.treeDeptId).then(res => {
+        const data = res.data.data;
+        this.page.total = data.total;
+        this.data = data.records;
+        this.loading = false;
+      });
+    },
+    //删除费用明细触发
     rowDelProject(row, index, donerowDel) {
       this.$confirm("确定将选择数据删除?", {
         confirmButtonText: "确定",
@@ -476,17 +703,16 @@ export default {
         }
       })
     },
-    //新增客户优势项目保存触发
+    //新增附件上传保存触发
     rowSaveBankOfDeposit(row, done, loading){
-      console.log(row,done,loading)
       this.bankOfDepositData.push(row)
       done()
     },
-    //修改客户优势项目触发
+    //修改附件上传触发
     rowUpdateBankOfDeposit(row, index, done, loading) {
       done(row);
     },
-    //删除客户优势项目触发
+    //删除附件上传触发
     rowDelBankOfDeposit(row, index, donerowDel) {
       this.$confirm("确定将选择数据删除?", {
         confirmButtonText: "确定",
@@ -515,15 +741,18 @@ export default {
       console.log(this.form)
       this.$refs["form"].validate((valid) => {
         if (valid) {
-          this.form.corpsAttnList = this.contactsData
-          this.form.corpsBankList = this.bankOfDepositData
-          this.form.corpsItems = this.advantageProjectData
+          //商品信息
+          this.form.orderItemsList = this.contactsData
+          this.form.orderFeesList = this.advantageProjectData
+          this.form.orderFilesList = this.bankOfDepositData
           // console.log(typeof(this.form.companytype))
           // this.form.corpsTypeId = JSON.stringify(this.form.corpsTypeId).replace(/[\[\]]/g,"")
           // console.log(typeof this.form.corpsTypeId)
           if (typeof this.form.corpsTypeId == 'object'){
             this.form.corpsTypeId = this.form.corpsTypeId.join(",")
           }
+          this.disabled = true
+          this.form.billType = 'XS'
           typeSave(this.form).then(res => {
             console.log(res.data)
             this.$message({
@@ -532,7 +761,7 @@ export default {
             });
             this.$router.$avueRouter.closeTag();
             this.$router.push({
-              path: '/basicData/customerInformation/index',
+              path: '/businessManagement/salesOrder/index',
               query: {}
             });
           })
@@ -544,7 +773,7 @@ export default {
     backToList() {
       this.$router.$avueRouter.closeTag();
       this.$router.push({
-        path: '/basicData/customerInformation/index',
+        path: '/businessManagement/salesOrder/index',
         query: {}
       });
     }
@@ -589,4 +818,14 @@ export default {
 ::v-deep .el-form-item {
   margin-bottom: 0;
 }
+.el-dialogDeep {
+  ::v-deep .el-dialog {
+    margin: 1vh auto 0!important;
+    padding-bottom: 10px!important;
+    .el-dialog__body,.el-dialog__footer{
+      padding-bottom: 0 !important;
+      padding-top: 0!important;
+    }
+  }
+}
 </style>

+ 64 - 102
src/views/businessManagement/salesOrder/index.vue

@@ -1,66 +1,53 @@
 <template>
-  <el-row>
-    <el-col :span="5">
-      <div class="box">
-        <el-scrollbar>
-          <basic-container>
-            <avue-tree :option="treeOption" :data="treeData" @node-click="nodeClick"/>
-          </basic-container>
-        </el-scrollbar>
-      </div>
-    </el-col>
-    <el-col :span="19">
-      <basic-container>
-        <avue-crud :option="option"
-                   :data="dataList"
-                   ref="crud"
-                   v-model="form"
-                   :page.sync="page"
-                   @row-del="rowDel"
-                   @row-update="rowUpdate"
-                   :before-open="beforeOpen"
-                   :before-close="beforeClose"
-                   @row-save="rowSave"
-                   @search-change="searchChange"
-                   @search-reset="searchReset"
-                   @selection-change="selectionChange"
-                   @current-change="currentChange"
-                   @size-change="sizeChange"
-                   @refresh-change="refreshChange"
-                   @on-load="onLoad"
-                   @tree-load="treeLoad">
-          <template slot-scope="scope" slot="menu">
-            <el-button
-                type="text"
-                icon="el-icon-view"
-                size="small"
-                @click.stop="beforeOpenPage(scope.row,scope.index)"
-            >查看
-            </el-button>
-            <el-button
-                type="text"
-                icon="el-icon-edit"
-                size="small"
-                @click.stop="editOpen(scope.row,scope.index)"
-            >编辑
-            </el-button>
-            <el-button
-                type="text"
-                icon="el-icon-delete"
-                size="small"
-                @click.stop="rowDel(scope.row,scope.index)"
-            >删除
-            </el-button>
-          </template>
-        </avue-crud>
-      </basic-container>
-    </el-col>
-  </el-row>
+  <basic-container>
+    <avue-crud :option="option"
+               :data="dataList"
+               ref="crud"
+               v-model="form"
+               :page.sync="page"
+               @row-del="rowDel"
+               @row-update="rowUpdate"
+               :before-open="beforeOpen"
+               :before-close="beforeClose"
+               @row-save="rowSave"
+               @search-change="searchChange"
+               @search-reset="searchReset"
+               @selection-change="selectionChange"
+               @current-change="currentChange"
+               @size-change="sizeChange"
+               @refresh-change="refreshChange"
+               @on-load="onLoad"
+               @tree-load="treeLoad">
+      <template slot-scope="scope" slot="menu">
+        <el-button
+            type="text"
+            icon="el-icon-view"
+            size="small"
+            @click.stop="beforeOpenPage(scope.row,scope.index)"
+        >查看
+        </el-button>
+        <el-button
+            type="text"
+            icon="el-icon-edit"
+            size="small"
+            @click.stop="editOpen(scope.row,scope.index)"
+        >编辑
+        </el-button>
+        <el-button
+            type="text"
+            icon="el-icon-delete"
+            size="small"
+            @click.stop="rowDel(scope.row,scope.index)"
+        >删除
+        </el-button>
+      </template>
+    </avue-crud>
+  </basic-container>
 </template>
 
 <script>
 import option from "./configuration/mainList.json";
-import {customerList, typeSave,detail,deleteDetails,getDeptLazyTree} from "@/api/basicData/customerInformation"
+import {customerList, typeSave, deleteDetails} from "@/api/basicData/configuration"
 
 export default {
   name: "customerInformation",
@@ -68,32 +55,8 @@ export default {
     return {
       form: {},
       option: option,
-      parentId:0,
+      parentId: 0,
       dataList: [],
-      treeOption: {
-        nodeKey: 'id',
-        lazy: true,
-        treeLoad: function (node, resolve) {
-          const parentId = (node.level === 0) ? 0 : node.data.id;
-          getDeptLazyTree(parentId).then(res => {
-            resolve(res.data.data.map(item => {
-              return {
-                ...item,
-                leaf: !item.hasChildren
-              }
-            }))
-          });
-        },
-        addBtn: false,
-        menu: false,
-        size: 'small',
-        props: {
-          labelText: '标题',
-          label: 'title',
-          value: 'value',
-          children: 'children'
-        }
-      },
       page: {
         pageSize: 10,
         pagerCount: 5,
@@ -106,11 +69,6 @@ export default {
     // this.onLoad()
   },
   methods: {
-    nodeClick(data) {
-      this.treeDeptId = data.id;
-      this.page.currentPage = 1;
-      this.onLoad(this.page);
-    },
     //删除列表后面的删除按钮触发触发(row, index, done)
     rowDel(row, index, done) {
       this.$confirm("确定将选择数据删除?", {
@@ -125,7 +83,7 @@ export default {
           message: "操作成功!"
         });
         this.page.currentPage = 1;
-        this.onLoad(this.page, {parentId:0});
+        this.onLoad(this.page, {parentId: 0});
       });
     },
     //修改时的修改按钮点击触发
@@ -150,7 +108,7 @@ export default {
       })
     },
     //查询全部
-    initData(){
+    initData() {
       customerList().then(res => {
         console.log(this.form);
         const column = this.findObject(this.option.column, "parentId");
@@ -166,23 +124,23 @@ export default {
       this.$refs.crud.rowAdd();
     },
     //查看跳转页面
-    beforeOpenPage(row,index) {
+    beforeOpenPage(row, index) {
       this.$router.push({
-        path: "/detailsPageEdit",
-        query: { id: JSON.stringify(row.id) },
+        path: "/salesOrder_detailsPageEdit",
+        query: {id: JSON.stringify(row.id)},
       });
     },
     //新增跳转页面
-    beforeOpen(row,index) {
+    beforeOpen(row, index) {
       this.$router.push({
-        path: "/detailsPageEdit",
-        query: { id: JSON.stringify(row.id) },
+        path: "/salesOrder_detailsPageEdit",
+        query: {id: JSON.stringify(row.id)},
       });
     },
-    editOpen(row,index){
+    editOpen(row, index) {
       this.$router.push({
-        path: "/detailsPageEdit",
-        query: { id: JSON.stringify(row.id) },
+        path: "/salesOrder_detailsPageEdit",
+        query: {id: JSON.stringify(row.id)},
       });
     },
     //点击新增时触发
@@ -215,8 +173,12 @@ export default {
     refreshChange() {
       console.log('1')
     },
-    onLoad(page, params = {parentId:0}) {
-      let queryParams = Object.assign({}, params, {pageSize: page.pageSize, pageNum: page.currentPage,corpsTypeId:this.treeDeptId})
+    onLoad(page, params = {parentId: 0}) {
+      let queryParams = Object.assign({}, params, {
+        pageSize: page.pageSize,
+        pageNum: page.currentPage,
+        corpsTypeId: this.treeDeptId
+      })
       customerList(queryParams).then(res => {
         this.dataList = res.data.data.records
         this.page.total = res.data.data.total
@@ -225,7 +187,7 @@ export default {
     //树桩列点击展开触发
     treeLoad(tree, treeNode, resolve) {
       const parentId = tree.id;
-      customerList({parentId:parentId}).then(res => {
+      customerList({parentId: parentId}).then(res => {
         resolve(res.data.data.records);
       });
     },