chenrui 3 年 前
コミット
daacc6db3a

+ 115 - 88
src/views/reportData/allocationDetails/list.vue

@@ -18,56 +18,17 @@
               </a-form-model-item>
               </a-form-model-item>
             </a-col>
             </a-col>
             <a-col :md="5" :sm="24">
             <a-col :md="5" :sm="24">
-              <a-form-model-item label="调拨单号">
-                <a-input id="allocationDetailsList-allocateNo" v-model.trim="queryParam.allocateNo" allowClear placeholder="请输入调拨单号"/>
+              <a-form-model-item label="产品名称">
+                <a-input id="allocationDetailsList-name" v-model.trim="queryParam.name" allowClear placeholder="请输入产品名称"/>
               </a-form-model-item>
               </a-form-model-item>
             </a-col>
             </a-col>
             <a-col :md="5" :sm="24">
             <a-col :md="5" :sm="24">
-              <a-form-model-item label="产品编码">
-                <a-input id="allocationDetailsList-queryWord" v-model.trim="queryParam.queryWord" allowClear placeholder="请输入产品编码"/>
+              <a-form-model-item label="品牌分类">
+                <v-select code="BRAND_TYPE" id="allocationDetailsList-dealerLevel" v-model="queryParam.dealerLevel" allowClear placeholder="请选择品牌分类"></v-select>
               </a-form-model-item>
               </a-form-model-item>
             </a-col>
             </a-col>
             <template v-if="advanced">
             <template v-if="advanced">
-              <a-col :md="6" :sm="24">
-                <a-form-model-item label="所在区域">
-                  <!-- <a-select id="allocationDetailsList-allocateTypeSn" v-model="queryParam.allocateTypeSn" placeholder="请选择区域" allowClear >
-                    <a-select-option v-for="item in allocateTypeList" :key="item.allocateTypeSn" :value="item.allocateTypeSn">{{ item.name }}</a-select-option>
-                  </a-select> -->
-                  <subarea id="allocationDetailsList-subarea" v-model="queryParam.subareaSn"></subarea>
-                </a-form-model-item>
-              </a-col>
-              <a-col :md="6" :sm="24">
-                <a-form-model-item label="省份">
-                  <a-select id="allocationDetailsList-state" v-model="queryParam.state" placeholder="请选择省份" allowClear >
-                    <a-select-option v-for="item in allocateTypeList" :key="item.allocateTypeSn" :value="item.allocateTypeSn">{{ item.name }}</a-select-option>
-                  </a-select>
-                </a-form-model-item>
-              </a-col>
-              <a-col :md="6" :sm="24">
-                <a-form-model-item label="排序">
-                  <a-select id="allocationDetailsList-state" v-model="queryParam.state" placeholder="请选择排序" allowClear >
-                    <a-select-option v-for="item in allocateTypeList" :key="item.allocateTypeSn" :value="item.allocateTypeSn">{{ item.name }}</a-select-option>
-                  </a-select>
-                </a-form-model-item>
-              </a-col>
-              <a-col :md="6" :sm="24">
-                <a-form-model-item label="操作员">
-                  <a-select id="allocationDetailsList-state" v-model="queryParam.state" placeholder="请选择操作员" allowClear >
-                    <a-select-option v-for="item in allocateTypeList" :key="item.allocateTypeSn" :value="item.allocateTypeSn">{{ item.name }}</a-select-option>
-                  </a-select>
-                </a-form-model-item>
-              </a-col>
-              <a-col :md="6" :sm="24">
-                <a-form-model-item label="产品名称">
-                  <a-input id="allocationDetailsList-name" v-model.trim="queryParam.name" allowClear placeholder="请输入产品名称"/>
-                </a-form-model-item>
-              </a-col>
-              <a-col :md="6" :sm="24">
-                <a-form-model-item label="客户名称">
-                  <a-input id="allocationDetailsList-name" v-model.trim="queryParam.name" allowClear placeholder="请输入客户名称"/>
-                </a-form-model-item>
-              </a-col>
-              <a-col :md="6" :sm="24">
+              <a-col :md="7" :sm="24">
                 <a-form-model-item label="产品品牌">
                 <a-form-model-item label="产品品牌">
                   <a-select
                   <a-select
                     placeholder="请选择"
                     placeholder="请选择"
@@ -82,32 +43,28 @@
                 </a-form-model-item>
                 </a-form-model-item>
               </a-col>
               </a-col>
               <a-col :md="6" :sm="24">
               <a-col :md="6" :sm="24">
-                <a-form-model-item label="客户级别">
-                  <a-select
-                    placeholder="请选择"
-                    id="allocationDetailsList-productBrandSn"
-                    allowClear
-                    v-model="queryParam.productBrandSn"
-                    :showSearch="true"
-                    option-filter-prop="children"
-                    :filter-option="filterOption">
-                    <a-select-option v-for="item in productBrandList" :key="item.brandSn" :value="item.brandSn">{{ item.brandName }}</a-select-option>
+                <a-form-model-item label="产品编码">
+                  <a-input id="allocationDetailsList-queryWord" v-model.trim="queryParam.queryWord" allowClear placeholder="请输入产品编码"/>
+                </a-form-model-item>
+              </a-col>
+              <a-col :md="6" :sm="24">
+                <a-form-model-item label="调拨类型名称">
+                  <a-select id="allocationDetailsList-allocateTypeSn" v-model="queryParam.allocateTypeSn" placeholder="请选择调拨类型名称" allowClear >
+                    <a-select-option v-for="item in allocateTypeList" :key="item.allocateTypeSn" :value="item.allocateTypeSn">{{ item.name }}</a-select-option>
                   </a-select>
                   </a-select>
                 </a-form-model-item>
                 </a-form-model-item>
               </a-col>
               </a-col>
               <a-col :md="6" :sm="24">
               <a-col :md="6" :sm="24">
-                <a-form-item label="品牌">
-                  <a-select
-                    placeholder="请选择"
-                    id="allocationDetailsList-productBrandSn"
-                    allowClear
-                    v-model="queryParam.productBrandSn"
-                    :showSearch="true"
-                    option-filter-prop="children"
-                    :filter-option="filterOption">
-                    <a-select-option v-for="item in productBrandList" :key="item.brandSn" :value="item.brandSn">{{ item.brandName }}</a-select-option>
+                <a-form-model-item label="操作员">
+                  <a-select id="allocationDetailsList-state" v-model="queryParam.state" placeholder="请选择操作员" allowClear >
+                    <a-select-option v-for="item in allocateTypeList" :key="item.allocateTypeSn" :value="item.allocateTypeSn">{{ item.name }}</a-select-option>
                   </a-select>
                   </a-select>
-                </a-form-item>
+                </a-form-model-item>
+              </a-col>
+              <a-col :md="6" :sm="24">
+                <a-form-model-item label="调拨单号">
+                  <a-input id="allocationDetailsList-allocateNo" v-model.trim="queryParam.allocateNo" allowClear placeholder="请输入调拨单号"/>
+                </a-form-model-item>
               </a-col>
               </a-col>
               <a-col :md="6" :sm="24">
               <a-col :md="6" :sm="24">
                 <a-form-item label="产品分类">
                 <a-form-item label="产品分类">
@@ -123,6 +80,30 @@
                     v-model="productType" />
                     v-model="productType" />
                 </a-form-item>
                 </a-form-item>
               </a-col>
               </a-col>
+              <a-col :md="6" :sm="24">
+                <a-form-model-item label="客户名称">
+                  <a-input id="allocationDetailsList-name" v-model.trim="queryParam.name" allowClear placeholder="请输入客户名称"/>
+                </a-form-model-item>
+              </a-col>
+              <a-col :md="6" :sm="24">
+                <a-form-model-item label="客户级别">
+                  <v-select code="DEALER_LEVEL" id="allocationDetailsList-dealerLevel" v-model="queryParam.dealerLevel" allowClear placeholder="请选择客户级别"></v-select>
+                </a-form-model-item>
+              </a-col>
+              <a-col :md="6" :sm="24">
+                <a-form-model-item label="所在区域">
+                  <subarea id="allocationDetailsList-subarea" v-model="queryParam.subareaSn"></subarea>
+                </a-form-model-item>
+              </a-col>
+              <a-col :md="6" :sm="24">
+                <a-form-model-item label="地区">
+                  <a-form-model-item prop="provinceSn">
+                    <a-select id="allocationDetailsList-provinceSn" v-model="queryParam.provinceSn" placeholder="请选择省">
+                      <a-select-option v-for="item in addrProvinceList" :value="item.areaSn" :key="item.areaSn + 'a'">{{ item.name }}</a-select-option>
+                    </a-select>
+                  </a-form-model-item>
+                </a-form-model-item>
+              </a-col>
             </template>
             </template>
             <a-col :md="7" :sm="24" style="margin-top: 3px;">
             <a-col :md="7" :sm="24" style="margin-top: 3px;">
               <a-button
               <a-button
@@ -151,21 +132,21 @@
         :columns="columns"
         :columns="columns"
         :data="loadData"
         :data="loadData"
         :defaultLoadData="false"
         :defaultLoadData="false"
-        :scroll="{ x: 2960 }"
+        :scroll="{ x: 3430 }"
         bordered>
         bordered>
         <template slot="footer" slot-scope="currentPageData">
         <template slot="footer" slot-scope="currentPageData">
           <a-row :gutter="15">
           <a-row :gutter="15">
             <a-col :md="4" :sm="24">
             <a-col :md="4" :sm="24">
-              总数量:263320
+              总数量:{{ (totalData && (totalData.totalQty || totalData.totalQty==0)) ? totalData.totalQty : '--' }}
             </a-col>
             </a-col>
             <a-col :md="4" :sm="24">
             <a-col :md="4" :sm="24">
-              总进价:1,827,311.38
+              总成本价:{{ (totalData && (totalData.totalQty || totalData.totalQty==0)) ? totalData.totalQty : '--' }}
             </a-col>
             </a-col>
             <a-col :md="4" :sm="24">
             <a-col :md="4" :sm="24">
-              总毛利:1187.11
+              总毛利:{{ (totalData && (totalData.totalQty || totalData.totalQty==0)) ? totalData.totalQty : '--' }}
             </a-col>
             </a-col>
             <a-col :md="4" :sm="24">
             <a-col :md="4" :sm="24">
-              总售价:2,233,739.75
+              总售价:{{ (totalData && (totalData.totalQty || totalData.totalQty==0)) ? totalData.totalQty : '--' }}
             </a-col>
             </a-col>
           </a-row>
           </a-row>
         </template>
         </template>
@@ -180,6 +161,8 @@ import rangeDate from '@/views/common/rangeDate.vue'
 import subarea from '@/views/common/subarea.js'
 import subarea from '@/views/common/subarea.js'
 import { productBrandQuery } from '@/api/productBrand'
 import { productBrandQuery } from '@/api/productBrand'
 import { productTypeQuery } from '@/api/productType'
 import { productTypeQuery } from '@/api/productType'
+import { getArea } from '@/api/data'
+import { allocateTypeAllList } from '@/api/allocateType'
 import { allocateReportDetailList, allocateReportDetailCount } from '@/api/allocateReport'
 import { allocateReportDetailList, allocateReportDetailCount } from '@/api/allocateReport'
 export default {
 export default {
   components: { STable, VSelect, rangeDate, subarea },
   components: { STable, VSelect, rangeDate, subarea },
@@ -199,7 +182,10 @@ export default {
         productBrandSn: undefined, //  产品品牌
         productBrandSn: undefined, //  产品品牌
         productTypeSn1: '', //  产品一级分类
         productTypeSn1: '', //  产品一级分类
         productTypeSn2: '', //  产品二级分类
         productTypeSn2: '', //  产品二级分类
-        productTypeSn3: '' //  产品三级分类
+        productTypeSn3: '', //  产品三级分类
+        provinceSn: undefined,
+        citySn: undefined,
+        districtSn: undefined
       },
       },
       productType: [],
       productType: [],
       labelCol: { span: 8 },
       labelCol: { span: 8 },
@@ -211,25 +197,25 @@ export default {
       columns: [
       columns: [
         { title: '序号', dataIndex: 'no', width: 80, align: 'center', fixed: 'left' },
         { title: '序号', dataIndex: 'no', width: 80, align: 'center', fixed: 'left' },
         { title: '区域', dataIndex: 'subareaNames', width: 200, align: 'center', customRender: function (text) { return text || '--' } },
         { title: '区域', dataIndex: 'subareaNames', width: 200, align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '调拨单号', dataIndex: 'allocateNo', width: 200, align: 'center', sorter: true, customRender: function (text) { return text || '--' } },
+        { title: '调拨单号', dataIndex: 'allocateNo', width: 220, align: 'center', sorter: true, customRender: function (text) { return text || '--' } },
         { title: '调拨开单日期', dataIndex: 'allocateDate', width: 160, align: 'center', customRender: function (text) { return text || '--' } },
         { title: '调拨开单日期', dataIndex: 'allocateDate', width: 160, align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '省份', dataIndex: 'data4', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
-        { title: '客户名称', dataIndex: 'data5', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') }, ellipsis: true },
-        { title: '客户类型', dataIndex: 'data6', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
-        { title: '品牌', dataIndex: 'data7', width: 200, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') }, ellipsis: true },
-        { title: '二级类别', dataIndex: 'data8', width: 200, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
-        { title: '产品名称', dataIndex: 'data9', align: 'center', sorter: true, customRender: function (text) { return ((text || text == 0) ? text : '--') }, ellipsis: true },
-        { title: '产品编码', dataIndex: 'data10', width: 120, align: 'center', sorter: true, customRender: function (text) { return ((text || text == 0) ? text : '--') } },
-        { title: '调拨数量', dataIndex: 'data11', width: 100, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
-        { title: '单位', dataIndex: 'data12', width: 100, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
-        { title: '进价', dataIndex: 'data13', width: 100, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
-        { title: '售价', dataIndex: 'data14', width: 100, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
-        { title: '总进价', dataIndex: 'data15', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '省份', dataIndex: 'dealerProvinceName', width: 200, align: 'center', customRender: function (text) { return text || '--' }, ellipsis: true },
+        { title: '客户名称', dataIndex: 'targetName', align: 'center', customRender: function (text) { return text || '--' }, ellipsis: true },
+        { title: '客户级别', dataIndex: 'dealerLevelDictValue', width: 200, align: 'center', customRender: function (text) { return text || '--' }, ellipsis: true },
+        { title: '品牌', dataIndex: 'productBrandName', width: 200, align: 'center', customRender: function (text) { return text || '--' }, ellipsis: true },
+        { title: '二级分类', dataIndex: 'productTypeName2', width: 200, align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '产品名称', dataIndex: 'productName', align: 'center', sorter: true, customRender: function (text) { return text || '--' }, ellipsis: true },
+        { title: '产品编码', dataIndex: 'productCode', width: 200, align: 'center', sorter: true, customRender: function (text) { return text || '--' } },
+        { title: '调拨数量', dataIndex: 'qty', width: 100, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '单位', dataIndex: 'productUnit', width: 100, align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '成本价', dataIndex: 'cost', width: 100, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '售价', dataIndex: 'price', width: 100, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '总成本价', dataIndex: 'totalCost', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
         { title: '毛利', dataIndex: 'data16', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
         { title: '毛利', dataIndex: 'data16', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
-        { title: '仓库', dataIndex: 'data17', width: 120, align: 'center', sorter: true, customRender: function (text) { return ((text || text == 0) ? text : '--') } },
-        { title: '仓位', dataIndex: 'data18', width: 120, align: 'center', sorter: true, customRender: function (text) { return ((text || text == 0) ? text : '--') } },
-        { title: '操作员', dataIndex: 'data19', width: 120, align: 'center', sorter: true, customRender: function (text) { return ((text || text == 0) ? text : '--') } },
-        { title: '调拨类型', dataIndex: 'data20', width: 140, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } }
+        { title: '仓库', dataIndex: 'warehouseName', width: 200, align: 'center', sorter: true, customRender: function (text) { return text || '--' } },
+        { title: '仓位', dataIndex: 'warehouseLocationName', width: 200, align: 'center', sorter: true, customRender: function (text) { return text || '--' } },
+        { title: '操作员', dataIndex: 'creatorName', width: 150, align: 'center', sorter: true, customRender: function (text) { return text || '--' } },
+        { title: '调拨类型', dataIndex: 'data20', width: 140, align: 'center', customRender: function (text) { return text || '--' } }
       ],
       ],
       // 加载数据方法 必须为 Promise 对象
       // 加载数据方法 必须为 Promise 对象
       loadData: parameter => {
       loadData: parameter => {
@@ -253,6 +239,7 @@ export default {
       allocateTypeList: [], //  调拨类型
       allocateTypeList: [], //  调拨类型
       productBrandList: [], //  品牌下拉数据
       productBrandList: [], //  品牌下拉数据
       productTypeList: [], //  分类下拉数据
       productTypeList: [], //  分类下拉数据
+      addrProvinceList: [], //  省下拉
       totalData: null //  合计
       totalData: null //  合计
     }
     }
   },
   },
@@ -333,12 +320,52 @@ export default {
           this.productTypeList = []
           this.productTypeList = []
         }
         }
       })
       })
+    },
+    //  调拨类型
+    getAllocateTypeAllList () {
+      allocateTypeAllList().then(res => {
+        if (res.status == 200) {
+          this.allocateTypeList = res.data
+        } else {
+          this.allocateTypeList = []
+        }
+      })
+    },
+    //  省/市/区
+    getArea (leve, sn) {
+      let params
+      if (leve == 'province') {
+        params = { type: '2' }
+      } else {
+        params = { parentId: sn, type: leve == 'city' ? '3' : '4' }
+      }
+      getArea(params).then(res => {
+        if (res.status == 200) {
+          if (leve == 'province') {
+            this.addrProvinceList = res.data || []
+          } else if (leve == 'city') {
+            this.addrCityList = res.data || []
+          } else if (leve == 'district') {
+            this.addrDistrictList = res.data || []
+          }
+        } else {
+          if (leve == 'province') {
+            this.addrProvinceList = []
+          } else if (leve == 'city') {
+            this.addrCityList = []
+          } else if (leve == 'district') {
+            this.addrDistrictList = []
+          }
+        }
+      })
     }
     }
   },
   },
   beforeRouteEnter (to, from, next) {
   beforeRouteEnter (to, from, next) {
     next(vm => {
     next(vm => {
       vm.getProductBrand()
       vm.getProductBrand()
       vm.getProductType()
       vm.getProductType()
+      vm.getAllocateTypeAllList()
+      vm.getArea('province')
     })
     })
   }
   }
 }
 }

+ 10 - 5
src/views/reportData/allocationOrderTotal/list.vue

@@ -24,15 +24,20 @@
             </a-col>
             </a-col>
             <a-col :md="5" :sm="24">
             <a-col :md="5" :sm="24">
               <a-form-model-item label="操作员">
               <a-form-model-item label="操作员">
-                <a-select id="allocationOrderTotalList-allocateTypeSn" v-model="queryParam.allocateTypeSn" placeholder="请选择区域" allowClear >
+                <a-select id="allocationOrderTotalList-allocateTypeSn" v-model="queryParam.allocateTypeSn" placeholder="请选择操作员" allowClear >
                   <a-select-option v-for="item in allocateTypeList" :key="item.allocateTypeSn" :value="item.allocateTypeSn">{{ item.name }}</a-select-option>
                   <a-select-option v-for="item in allocateTypeList" :key="item.allocateTypeSn" :value="item.allocateTypeSn">{{ item.name }}</a-select-option>
                 </a-select>
                 </a-select>
               </a-form-model-item>
               </a-form-model-item>
             </a-col>
             </a-col>
             <template v-if="advanced">
             <template v-if="advanced">
               <a-col :md="6" :sm="24">
               <a-col :md="6" :sm="24">
-                <a-form-model-item label="调拨类型">
-                  <a-select id="allocationOrderTotalList-allocateTypeSn" v-model="queryParam.allocateTypeSn" placeholder="请选择调拨类型" allowClear >
+                <a-form-model-item label="调拨类别">
+                  <v-select code="ALLOCATE_CATEGORY" id="allocationOrderTotalList-allocateCategory" v-model="queryParam.allocateCategory" allowClear placeholder="请选择调拨类别"></v-select>
+                </a-form-model-item>
+              </a-col>
+              <a-col :md="6" :sm="24">
+                <a-form-model-item label="调拨类型名称">
+                  <a-select id="allocationOrderTotalList-allocateTypeSn" v-model="queryParam.allocateTypeSn" placeholder="请选择调拨类型名称" allowClear >
                     <a-select-option v-for="item in allocateTypeList" :key="item.allocateTypeSn" :value="item.allocateTypeSn">{{ item.name }}</a-select-option>
                     <a-select-option v-for="item in allocateTypeList" :key="item.allocateTypeSn" :value="item.allocateTypeSn">{{ item.name }}</a-select-option>
                   </a-select>
                   </a-select>
                 </a-form-model-item>
                 </a-form-model-item>
@@ -76,7 +81,7 @@
               总成本价:{{ (totalData && (totalData.totalCost || totalData.totalCost==0)) ? totalData.totalCost : '--' }}
               总成本价:{{ (totalData && (totalData.totalCost || totalData.totalCost==0)) ? totalData.totalCost : '--' }}
             </a-col>
             </a-col>
             <a-col :md="4" :sm="24">
             <a-col :md="4" :sm="24">
-              总毛利:{{ (totalData && totalData.totalCost!=0) ? '-'+totalData.totalCost : (totalData && totalData.totalCost==0) ? 0 : '--' }}
+              总毛利:{{ (totalData && (totalData.totalGrossProfig || totalData.totalGrossProfig==0)) ? totalData.totalGrossProfig : '--' }}
             </a-col>
             </a-col>
           </a-row>
           </a-row>
         </template>
         </template>
@@ -118,7 +123,7 @@ export default {
         { title: '客户名称', dataIndex: 'targetName', align: 'center', customRender: function (text) { return text || '--' }, ellipsis: true },
         { title: '客户名称', dataIndex: 'targetName', align: 'center', customRender: function (text) { return text || '--' }, ellipsis: true },
         { title: '调拨数量', dataIndex: 'totalQty', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
         { title: '调拨数量', dataIndex: 'totalQty', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
         { title: '成本价', dataIndex: 'totalCost', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
         { title: '成本价', dataIndex: 'totalCost', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
-        { title: '毛利', dataIndex: 'data6', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '毛利', dataIndex: 'grossProfig', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
         { title: '操作员', dataIndex: 'creatorName', width: 120, align: 'center', customRender: function (text) { return text || '--' } }
         { title: '操作员', dataIndex: 'creatorName', width: 120, align: 'center', customRender: function (text) { return text || '--' } }
       ],
       ],
       // 加载数据方法 必须为 Promise 对象
       // 加载数据方法 必须为 Promise 对象