chenrui hai 11 meses
pai
achega
6dd8beb8e8
Modificáronse 29 ficheiros con 669 adicións e 420 borrados
  1. 27 18
      src/views/dealerManagement/businessOwnerSettings/addModal.vue
  2. 39 16
      src/views/dealerManagement/businessOwnerSettings/categorySet.vue
  3. 19 11
      src/views/dealerManagement/businessOwnerSettings/chooseAreaModal.vue
  4. 43 28
      src/views/dealerManagement/businessOwnerSettings/chooseDealer.vue
  5. 27 13
      src/views/dealerManagement/businessOwnerSettings/chooseSupplier.vue
  6. 26 14
      src/views/dealerManagement/businessOwnerSettings/list.vue
  7. 37 29
      src/views/dealerManagement/businessOwnerSettings/settingsIndex.vue
  8. 1 0
      src/views/dealerManagement/dealerAccountManagement/detailModal.vue
  9. 26 16
      src/views/dealerManagement/dealerAccountManagement/editModal.vue
  10. 16 12
      src/views/dealerManagement/dealerAccountManagement/list.vue
  11. 13 7
      src/views/dealerManagement/marketingDivisionSetNew/addAreaModal.vue
  12. 16 9
      src/views/dealerManagement/marketingDivisionSetNew/addZoneModal.vue
  13. 15 10
      src/views/dealerManagement/marketingDivisionSetNew/list.vue
  14. 39 32
      src/views/dealerManagement/marketingDivisionSetNew/viewDealers.vue
  15. 27 14
      src/views/dealerManagement/merchantInfoManagement/chooseTypeModal.vue
  16. 8 5
      src/views/dealerManagement/merchantInfoManagement/detailModal.vue
  17. 59 56
      src/views/dealerManagement/merchantInfoManagement/edit.vue
  18. 59 15
      src/views/dealerManagement/merchantInfoManagement/list.vue
  19. 22 15
      src/views/dealerManagement/merchantInfoManagement/permissionSettingNew.vue
  20. 9 7
      src/views/dealerManagement/merchantInfoManagement/priceLevelModal.vue
  21. 21 14
      src/views/dealerManagement/merchantInfoManagement/updateCooperate.vue
  22. 20 12
      src/views/dealerManagement/merchantInfoManagement/updateDealerLevel.vue
  23. 9 2
      src/views/dealerManagement/provincialWarehouseManagement/addModal.vue
  24. 32 22
      src/views/dealerManagement/provincialWarehouseManagement/chooseDealer.vue
  25. 15 9
      src/views/dealerManagement/provincialWarehouseManagement/list.vue
  26. 41 30
      src/views/dealerManagement/provincialWarehouseManagement/relatedDealersList.vue
  27. 1 1
      src/views/reportData/tireSalesReport/detailList.vue
  28. 1 2
      src/views/reportData/urchaseDetailReturn/detailList.vue
  29. 1 1
      src/views/reportData/urchaseReturn/list.vue

+ 27 - 18
src/views/dealerManagement/businessOwnerSettings/addModal.vue

@@ -1,7 +1,7 @@
 <template>
   <a-modal
     centered
-    class="businessOwnerSettings-modal"
+    class="businessOwnerSettings-add-modal"
     :footer="null"
     :maskClosable="false"
     :title="itemId ?'编辑人员':'新增人员'"
@@ -13,23 +13,24 @@
         ref="ruleForm"
         :model="form"
         :label-col="labelCol"
+        id="businessOwnerSettings-add-form"
         :wrapper-col="wrapperCol"
         :rules="rules"
       >
         <a-form-model-item label="人员名称" prop="userSn">
-          <userName ref="userName" id="businessOwnerSettings-userSn" @change="userChange"></userName>
+          <userName ref="userName" id="businessOwnerSettings-add-userSn" @change="userChange"></userName>
         </a-form-model-item>
         <a-form-model-item label="人员类型" prop="bizUserType">
           <v-select
             v-model="form.bizUserType"
             ref="printStatus"
-            id="businessOwnerSettings-printStatus"
+            id="businessOwnerSettings-add-printStatus"
             code="BIZ_USER_TYPE"
             placeholder="请选择人员类型"
             allowClear></v-select>
         </a-form-model-item>
         <a-form-model-item label="管辖经销商" prop="allDealerFlag">
-          <a-radio-group v-model="form.allDealerFlag">
+          <a-radio-group v-model="form.allDealerFlag" id="businessOwnerSettings-add-allDealerFlag">
             <a-radio value="1">
               全部经销商
             </a-radio>
@@ -39,7 +40,7 @@
           </a-radio-group>
         </a-form-model-item>
         <a-form-model-item label="管辖品类" prop="allProductFlag">
-          <a-radio-group v-model="form.allProductFlag">
+          <a-radio-group v-model="form.allProductFlag" id="businessOwnerSettings-add-allProductFlag">
             <a-radio value="1">
               全部品类
             </a-radio>
@@ -50,7 +51,7 @@
         </a-form-model-item>
         <!-- 供应商 -->
         <a-form-model-item label="供应商" prop="allSupplierFlag" v-if="form.bizUserType == 'cg'">
-          <a-radio-group v-model="form.allSupplierFlag">
+          <a-radio-group v-model="form.allSupplierFlag" id="businessOwnerSettings-add-allSupplierFlag">
             <a-radio value="1">
               全部供应商
             </a-radio>
@@ -61,11 +62,11 @@
         </a-form-model-item>
         <!-- 人员类型为仓库管理员时 显示管辖仓库 -->
         <a-form-model-item label="管辖仓库" prop="bizUserScopeList" v-if="form.bizUserType == 'cg'">
-          <chooseWarehouse ref="warehouse" modeType="multiple" :value="warehouseList" @change="handleWarehouse"></chooseWarehouse>
+          <chooseWarehouse ref="warehouse" id="businessOwnerSettings-add-bizUserType" modeType="multiple" :value="warehouseList" @change="handleWarehouse"></chooseWarehouse>
         </a-form-model-item>
         <div style="display: flex;justify-content: center;padding: 30px 0;">
-          <a-button @click="isShow=false">取消</a-button>
-          <a-button style="margin-left: 15px;" type="primary" @click="handleSave">{{ itemId?'保存':'确定' }}</a-button>
+          <a-button id="businessOwnerSettings-close-btn" @click="isShow=false">取消</a-button>
+          <a-button id="businessOwnerSettings-save-btn" style="margin-left: 15px;" type="primary" @click="handleSave">{{ itemId?'保存':'确定' }}</a-button>
         </div>
       </a-form-model>
     </a-spin>
@@ -73,13 +74,14 @@
 </template>
 
 <script>
-
+// 组件
 import userName from '@/views/common/userName'
 import chooseWarehouse from '@/views/common/chooseWarehouse'
 import { VSelect } from '@/components'
+// 接口
 import { bizuserSave } from '@/api/bizuser.js'
 export default {
-  name: 'ProductInfoDetailModal',
+  name: 'BusinessOwnerSettings',
   components: { VSelect, userName, chooseWarehouse },
   props: {
     openModal: { //  弹框显示状态
@@ -96,17 +98,19 @@ export default {
       spinning: false,
       isShow: this.openModal, //  是否打开弹框
       form: {
-        userSn: '',
+        userSn: '', // 人员名称
         bizUserType: undefined, // 人员类型
-        allDealerFlag: undefined,
-        allProductFlag: undefined,
-        bizUserScopeList: [],
-        allSupplierFlag: undefined
+        allDealerFlag: undefined, // 管辖经销商
+        allProductFlag: undefined, // 管辖产品
+        bizUserScopeList: [], // 管辖仓库
+        allSupplierFlag: undefined// 供应商
       },
-      warehouseList: [],
-      user_name: '',
+      warehouseList: [], // 管辖仓库
+      user_name: '', // 用户名称
+      // 表单label布局
       labelCol: { span: 5 },
       wrapperCol: { span: 16 },
+      // 验证表单规则
       rules: {
         userSn: [{ required: true, message: '请输入人员名称', trigger: 'change' }],
         bizUserType: [{ required: true, message: '请选择人员类型', trigger: 'change' }],
@@ -118,6 +122,7 @@ export default {
     }
   },
   methods: {
+    // 保存
     handleSave () {
       const _this = this
       this.$refs.ruleForm.validate(valid => {
@@ -144,6 +149,7 @@ export default {
         }
       })
     },
+    // 管辖仓库 change
     handleWarehouse (val) {
       this.warehouseList = val
       const arr = []
@@ -155,6 +161,7 @@ export default {
       })
       this.form.bizUserScopeList = arr
     },
+    // 重置
     resetSearchForm () {
       this.user_name = ''
       if (this.form.bizUserType && this.form.bizUserType == 'cg') {
@@ -165,9 +172,11 @@ export default {
       this.$refs.userName.resetForm()
       this.$refs.ruleForm.resetFields()
     },
+    // 人员名称
     userChange (val) {
       this.form.userSn = val.key
     },
+    // 获取编辑回显数据
     getEditInfo (obj) {
       this.$refs.userName.setDufaultVal(obj.userName)
       const arr = []

+ 39 - 16
src/views/dealerManagement/businessOwnerSettings/categorySet.vue

@@ -2,8 +2,9 @@
   <div class="categorySet-wrap">
     <a-spin :spinning="spinning" tip="Loading...">
       <a-card size="small" :bordered="false" class="categorySet-cont">
+        <!-- 操作按钮 -->
         <div class="table-operator" ref="categorySetAddBtn">
-          <a-button type="primary" @click="addCategory" :disabled="disabled">新增管辖品类</a-button>
+          <a-button type="primary" id="categorySet-add" @click="addCategory" :disabled="disabled">新增管辖品类</a-button>
         </div>
         <s-table
           class="sTable fixPagination"
@@ -22,19 +23,25 @@
             <div style="max-height:64px;overflow-y:scroll;">
               <a-row v-if="record.productTypeList && record.productTypeList.length>0">
                 <a-col :span="20">
-                  <a-tag style="margin-bottom:10px;" closable @close.prevent="delLabel(record.bizUserScopeSn,con,'typeList')" v-for="(con,i) in record.productTypeList" :key="i">
+                  <a-tag
+                    :id="'categorySet-chooseType'+record.bizUserScopeSn"
+                    style="margin-bottom:10px;"
+                    closable
+                    @close.prevent="delLabel(record.bizUserScopeSn,con,'typeList')"
+                    v-for="(con,i) in record.productTypeList"
+                    :key="i">
                     {{ con.dataName }}
                   </a-tag>
                 </a-col>
                 <a-col :span="4" style="text-align:right;">
-                  <a-tag style="background: #fff; borderStyle: dashed;" @click="addClassifyTag(index, record)" color="blue">
+                  <a-tag style="background: #fff; borderStyle: dashed;" :id="'categorySet-chooseType-btn'+record.bizUserScopeSn" @click="addClassifyTag(index, record)" color="blue">
                     <a-icon type="plus" /> 选择
                   </a-tag>
                 </a-col>
               </a-row>
               <a-row v-else>
                 <a-col :span="24">
-                  <a-tag style="background: #fff; borderStyle: dashed;" @click="addClassifyTag(index, record)" color="blue">
+                  <a-tag style="background: #fff; borderStyle: dashed;" :id="'categorySet-chooseType-btn1'+record.bizUserScopeSn" @click="addClassifyTag(index, record)" color="blue">
                     <a-icon type="plus" /> 选择
                   </a-tag>
                 </a-col>
@@ -46,19 +53,25 @@
             <div style="max-height:64px;overflow-y:scroll;">
               <a-row v-if="record.productBrandList && record.productBrandList.length>0">
                 <a-col :span="20">
-                  <a-tag style="margin-bottom:10px;" closable @close.prevent="delLabel(record.bizUserScopeSn,item,'brandList')" v-for="(item,j) in record.productBrandList" :key="j">
+                  <a-tag
+                    style="margin-bottom:10px;"
+                    :id="'categorySet-chooseBrand'+record.bizUserScopeSn"
+                    closable
+                    @close.prevent="delLabel(record.bizUserScopeSn,item,'brandList')"
+                    v-for="(item,j) in record.productBrandList"
+                    :key="j">
                     {{ item.dataName }}
                   </a-tag>
                 </a-col>
                 <a-col :span="4" style="text-align:right;">
-                  <a-tag style="background: #fff; borderStyle: dashed;" @click="addBrandTag(index, record)" color="blue">
+                  <a-tag style="background: #fff; borderStyle: dashed;" :id="'categorySet-chooseBrand-btn'+record.bizUserScopeSn" @click="addBrandTag(index, record)" color="blue">
                     <a-icon type="plus" /> 选择
                   </a-tag>
                 </a-col>
               </a-row>
               <a-row v-else>
                 <a-col :span="24">
-                  <a-tag style="background: #fff; borderStyle: dashed;" @click="addBrandTag(index, record)" color="blue">
+                  <a-tag style="background: #fff; borderStyle: dashed;" :id="'categorySet-chooseBrand-btn1'+record.bizUserScopeSn" @click="addBrandTag(index, record)" color="blue">
                     <a-icon type="plus" /> 选择
                   </a-tag>
                 </a-col>
@@ -70,6 +83,7 @@
               size="small"
               type="link"
               class="button-error"
+              :id="'categorySet-delete-btn'+record.bizUserScopeSn"
               @click="handleDel(record)"
             >
               删除
@@ -87,9 +101,11 @@
 
 <script>
 import { commonMixin } from '@/utils/mixin'
+// 组件
+import { STable } from '@/components'
 import ChooseBrandModal from '@/views/common/chooseBrandModal.vue'
 import ChooseTypeModal from '@/views/common/chooseTypeModal.vue'
-import { STable } from '@/components'
+// 接口
 import { getNewScopeSn, queryProductScopePage, saveProductBrandList, saveProductTypeList, bizuserScopeDelete, deleteProductBrand, deleteProductType } from '@/api/bizuser'
 export default {
   name: 'CategorySet',
@@ -104,24 +120,25 @@ export default {
   data () {
     return {
       spinning: false,
-      tableHeight: 0,
+      tableHeight: 0, // 表格高度
       disabled: false, //  查询、重置按钮是否可操作
       columns: [
         { title: '分类', dataIndex: 'no', width: '42%', align: 'center', scopedSlots: { customRender: 'classify' } },
         { title: '品牌', dataIndex: 'name', width: '42%', align: 'center', scopedSlots: { customRender: 'brand' } },
         { title: '操作', scopedSlots: { customRender: 'action' }, width: '16%', align: 'center' }
       ],
+      // 查询参数
       queryParam: {
         hasDetail: 1
       },
-      dataSource: [],
+      dataSource: [], // 列表数据
       openModal: false, //  新增编辑产品品牌  弹框
       itemSn: '', //  当前sn
       nowData: null, //  当前记录数据
-      openBrandModal: false,
-      openTypeModal: false,
-      chooseBrand: [],
-      chooseType: [],
+      openBrandModal: false, // 打开品牌弹窗
+      openTypeModal: false, // 打开分类弹窗
+      chooseBrand: [], // 选择品牌数据
+      chooseType: [], // 选择分类数据
       chooseObj: null, // 选择品牌 内容
       // 加载数据方法 必须为 Promise 对象
       loadData: parameter => {
@@ -129,11 +146,12 @@ export default {
         this.spinning = true
         this.queryParam.userSn = this.$route.query.sn
         this.queryParam.bizUserSn = this.bizUserSn
+        // 获取列表数据  有分页
         return queryProductScopePage(Object.assign(parameter, this.queryParam)).then(res => {
           const data = res.data
+          // 计算列表序号
           const no = (data.pageNo - 1) * data.pageSize
           this.total = data.count || 0
-
           for (var i = 0; i < data.list.length; i++) {
             data.list[i].no = no + i + 1
           }
@@ -203,6 +221,7 @@ export default {
       this.chooseObj = row
       this.openTypeModal = true
     },
+    // 打开分类弹窗
     handleClassifyModal (con) {
       const chooseList = con
       this.openTypeModal = false
@@ -230,6 +249,7 @@ export default {
       this.chooseBrand = obj
       this.saveChangeData('BRAND')
     },
+    // 保存时重组数据
     saveChangeData (type) {
       const _this = this
       if (type == 'BRAND') { //  选择品牌
@@ -254,6 +274,7 @@ export default {
         }
       }
     },
+    // 保存
     save (list, type) {
       const ajaxdata = { userSn: this.$route.query.sn, bizUserScopeSn: this.chooseObj.bizUserScopeSn, bizUserSn: this.bizUserSn }
       if (type == 'BRAND') {
@@ -291,6 +312,7 @@ export default {
         }
       })
     },
+    // 初始化
     pageInit () {
       const _this = this
       this.$nextTick(() => { // 页面渲染完成后的回调
@@ -298,6 +320,7 @@ export default {
       })
       this.$refs.table.refresh()
     },
+    // 计算表格高度
     setTableH () {
       const addBtnHeight = this.$refs.categorySetAddBtn.offsetHeight
       this.tableHeight = window.innerHeight - addBtnHeight - 325
@@ -316,6 +339,6 @@ export default {
 
 <style lang="less">
   .categorySet-wrap{
-     
+
   }
 </style>

+ 19 - 11
src/views/dealerManagement/businessOwnerSettings/chooseAreaModal.vue

@@ -10,12 +10,13 @@
     <div class="areaSetModal">
       <div :style="{ height: tableHeight+84.5+'px' }">
         <div>
-          <a-checkbox :checked="checkAll" @change="onCheckAllChange">全选</a-checkbox>
+          <a-checkbox id="chooseAreaModal-checkAll-btn" :checked="checkAll" @change="onCheckAllChange">全选</a-checkbox>
         </div>
         <div :style="{ height: tableHeight+30+'px' }" style="overflow-y:scroll;">
           <a-tree
             v-model="checkedKeys"
             checkable
+            id="chooseAreaModal-tree"
             :auto-expand-parent="autoExpandParent"
             :tree-data="subregionData"
             :checkStrictly="true"
@@ -27,8 +28,8 @@
         </div>
       </div>
       <div class="areaFooter">
-        <a-button style="margin-right: 15px" @click="visible = false" :disabled="disabled" id="areaSet-reset">取消</a-button>
-        <a-button type="primary" @click="save" :disabled="disabled" id="areaSet-refresh">保存</a-button>
+        <a-button style="margin-right: 15px" @click="visible = false" :disabled="disabled" id="chooseAreaModal-close">取消</a-button>
+        <a-button type="primary" @click="save" :disabled="disabled" id="chooseAreaModal-save">保存</a-button>
       </div>
     </div>
   </a-drawer>
@@ -36,6 +37,7 @@
 
 <script>
 import { commonMixin } from '@/utils/mixin'
+// 接口
 import { subareaQueryAll } from '@/api/subarea'
 export default {
   mixins: [commonMixin],
@@ -65,16 +67,18 @@ export default {
   },
   data () {
     return {
-      autoExpandParent: true,
+      autoExpandParent: true, // 是否展开子级数据
       checkAll: false, //  全选
+      // 选中数据
       checkedKeys: {
-        checked: [], halfChecked: []
+        checked: [],
+        halfChecked: []
       },
-      subregionData: null,
-      tableHeight: 0,
-      visible: false,
-      disabled: false,
-      parentArr: []
+      subregionData: null, // 树数据
+      tableHeight: 0, // 表格高度
+      visible: false, // 是否打开弹窗
+      disabled: false, // 取消、保存按钮禁用状态
+      parentArr: []// 父级展开数据
     }
   },
   methods: {
@@ -84,6 +88,7 @@ export default {
       this.parentArr = expandedKeys
       this.autoExpandParent = false
     },
+    // 获取区域数据
     getArea () {
       subareaQueryAll().then(res => {
         if (res.status == 200) {
@@ -106,7 +111,7 @@ export default {
         }
       })
     },
-
+    // 保存
     save () {
       this.$emit('ok', this.checkedKeys)
     },
@@ -133,9 +138,11 @@ export default {
         })
       }
     },
+    // 选中  check
     onCheck (checkedKeys) {
       this.checkedKeys = checkedKeys
     },
+    // 初始化
     pageInit () {
       const _this = this
       this.$nextTick(() => { // 页面渲染完成后的回调
@@ -143,6 +150,7 @@ export default {
       })
       this.getArea()
     },
+    // 计算表格高度
     setTableH () {
       this.tableHeight = window.innerHeight - 325
     }

+ 43 - 28
src/views/dealerManagement/businessOwnerSettings/chooseDealer.vue

@@ -15,9 +15,9 @@
             </a-form-item>
           </a-col>
           <a-col :md="8" :sm="24">
-            <a-form-model-item label="商户级别" prop="dealerLevel">
-              <v-select code="DEALER_LEVEL" id="ucModal-dealerLevel" v-model="queryParam.dealer.dealerLevel" allowClear placeholder="请选择商户级别"></v-select>
-            </a-form-model-item>
+            <a-form-item label="商户级别" prop="dealerLevel">
+              <v-select code="DEALER_LEVEL" id="chooseDealer-dealerLevel" v-model="queryParam.dealer.dealerLevel" allowClear placeholder="请选择商户级别"></v-select>
+            </a-form-item>
           </a-col>
           <a-col :md="8" :sm="24" v-if="pageType!='viewDealers'">
             <a-form-item label="所在区域/分区">
@@ -27,13 +27,13 @@
           <div v-else>
             <a-col :md="8" :sm="24">
               <a-form-item label="审核状态">
-                <v-select code="AUDIT_STATE" id="viewDealers-auditState" v-model="queryParam.auditState" allowClear placeholder="请选择审核状态"></v-select>
+                <v-select code="AUDIT_STATE" id="chooseDealer-auditState" v-model="queryParam.auditState" allowClear placeholder="请选择审核状态"></v-select>
               </a-form-item>
             </a-col>
             <a-col :md="8" :sm="24">
-              <a-form-model-item label="地区">
-                <AreaList id="viewDealers-areaList" changeOnSelect ref="areaList" @change="areaChange" defValKey="id"></AreaList>
-              </a-form-model-item>
+              <a-form-item label="地区">
+                <AreaList id="chooseDealer-areaList" changeOnSelect ref="areaList" @change="areaChange" defValKey="id"></AreaList>
+              </a-form-item>
             </a-col>
           </div>
           <a-col :md="pageType!='viewDealers'?8:6" :sm="24" style="margin-bottom: 10px;">
@@ -42,14 +42,15 @@
           </a-col>
         </a-row>
       </a-form>
-      <!-- 列表 -->
+      <!-- 操作按钮 -->
       <div style="margin-bottom: 10px">
-        <a-button type="primary" ghost :loading="loading" @click="handleBatchAudit">批量添加</a-button>
+        <a-button type="primary" id="chooseDealer-add" ghost :loading="loading" @click="handleBatchAudit">批量添加</a-button>
         <span style="margin-left: 5px">
           <template v-if="selectCount"> {{ `已选 ${selectCount} 项` }} </template>
         </span>
       </div>
     </div>
+    <!-- 列表 -->
     <s-table
       class="sTable"
       ref="table"
@@ -75,7 +76,7 @@
           class="button-error"
           @click="handleAdd(record)"
           v-if="record.subareaAreaSn != parentData.subareaAreaSn"
-          id="marketingDivisionSetNew-del-btn">添加</a-button>
+          :id="'chooseDealer-add-btn'+record.dealerSn">添加</a-button>
         <span style="color:#666" v-else>已添加</span>
       </template>
     </s-table>
@@ -84,11 +85,13 @@
 
 <script>
 import { commonMixin } from '@/utils/mixin'
+// 组件
 import { STable, VSelect } from '@/components'
 import AreaList from '@/views/common/areaList.js'
-import { bizuserScopeQueryDealer } from '@/api/bizuser'
 import subarea from '@/views/common/subarea.js'
 import dealerType from '@/views/common/dealerType.js'
+// 接口
+import { bizuserScopeQueryDealer } from '@/api/bizuser'
 export default {
   name: 'ChooseDealer',
   mixins: [commonMixin],
@@ -108,36 +111,39 @@ export default {
   data () {
     return {
       spinning: false,
-      dealerType: [],
-      queryParam: { //  查询条件
+      tableHeight: 0, // 表格高度
+      disabled: false, //  查询、重置按钮是否可操作
+      loading: false, // 批量添加loading
+      dealerType: [], // 商户类型
+      //  查询条件
+      queryParam: {
         dealer: {
-          nameLike: '',
+          nameLike: '', // 经销商名称/别名
           dealerType1: undefined, //  商户类型
           dealerType2: undefined, //  商户类型
           dealerLevel: null
         },
-        auditState: undefined,
-        provinceSn: undefined,
-        citySn: undefined,
-        districtSn: undefined,
-        subareaSn: undefined,
-        subareaAreaSn: undefined
+        auditState: undefined, // 审核状态
+        provinceSn: undefined, // 省sn
+        citySn: undefined, // 市sn
+        districtSn: undefined, // 区sn
+        subareaSn: undefined, // 区域
+        subareaAreaSn: undefined// 分区
       },
-      userSn: '',
-      pageFlag: false,
-      chooseInfo: [],
-      tableHeight: 0,
-      disabled: false, //  查询、重置按钮是否可操作
-      loading: false, // 批量添加loading
+      userSn: '', // 用户sn
+      pageFlag: false, // 是否显示选择框
+      chooseInfo: [], // 选中数据
       // 加载数据方法 必须为 Promise 对象
       loadData: parameter => {
         this.spinning = true
         this.queryParam.userSn = this.userSn
+        // 获取列表数据  有分页
         return bizuserScopeQueryDealer(Object.assign(parameter, this.queryParam)).then(res => {
           let data
           const _this = this
           if (res.status == 200) {
             data = res.data
+            // 计算列表序号
             const no = 0
             const chooseData = []
             for (var i = 0; i < data.list.length; i++) {
@@ -163,7 +169,7 @@ export default {
           return data
         })
       },
-      rowSelectionInfo: null
+      rowSelectionInfo: null// 选中数据
     }
   },
   computed: {
@@ -185,6 +191,7 @@ export default {
       }
       return arr
     },
+    // 计算选中数据条数
     selectCount () {
       return this.rowSelectionInfo && this.rowSelectionInfo.selectedRowKeys.length
     }
@@ -194,19 +201,23 @@ export default {
     rowSelectionFun (obj) {
       this.rowSelectionInfo = obj || null
     },
+    // 商户类型 change
     getDealerType (v, o) {
       this.queryParam.dealer.dealerType1 = v[0]
       this.queryParam.dealer.dealerType2 = v[1]
     },
+    // 地区 change
     areaChange (val) {
       this.queryParam.provinceSn = val[0] ? val[0] : ''
       this.queryParam.citySn = val[1] ? val[1] : ''
       this.queryParam.districtSn = val[2] ? val[2] : ''
     },
+    // 查询
     searchForm (flag) {
       this.$refs.table.refresh(flag)
       this.spinning = false
     },
+    // 区域分区
     subareaChange (val) {
       this.queryParam.subareaSn = val[0] ? val[0] : undefined
       this.queryParam.subareaAreaSn = val[1] ? val[1] : undefined
@@ -219,7 +230,7 @@ export default {
           nameLike: '',
           dealerType1: undefined, //  商户类型
           dealerType2: undefined, //  商户类型
-          dealerLevel: null
+          dealerLevel: null// 商户级别
         },
         auditState: undefined,
         provinceSn: undefined,
@@ -237,6 +248,7 @@ export default {
       this.$refs.table.refresh(true)
       this.pageFlag = false
     },
+    // 清除表格内容
     clearTable () {
       this.rowSelectionInfo = null
       this.$refs.table.clearTable()
@@ -252,6 +264,7 @@ export default {
       this.spinning = false
       this.$emit('plAdd', dealerSnList)
     },
+    // 添加
     handleAdd (row) {
       if (row.subareaArea) {
         const _this = this
@@ -269,6 +282,7 @@ export default {
         this.$emit('add', row)
       }
     },
+    // 初始化
     pageInit (data) {
       const _this = this
       this.$nextTick(() => { // 页面渲染完成后的回调
@@ -278,6 +292,7 @@ export default {
       this.userSn = data.sn
       this.resetSearchForm()
     },
+    // 计算表格数据
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 285

+ 27 - 13
src/views/dealerManagement/businessOwnerSettings/chooseSupplier.vue

@@ -2,7 +2,7 @@
   <a-spin :spinning="spinning" tip="Loading...">
     <!-- 搜索条件 -->
     <div ref="tableSearch" class="table-page-search-wrapper newTableSearchName">
-      <a-form layout="inline" @keyup.enter.native="$refs.table.refresh(true)">
+      <a-form layout="inline" id="chooseSupplier-form" @keyup.enter.native="$refs.table.refresh(true)">
         <a-row :gutter="15">
           <a-col :md="8" :sm="24">
             <a-form-item label="供应商名称">
@@ -15,14 +15,15 @@
           </a-col>
         </a-row>
       </a-form>
-      <!-- 列表 -->
+      <!-- 操作按钮 -->
       <div style="margin-bottom: 10px">
-        <a-button type="primary" ghost :loading="loading" @click="handleBatchAudit">批量添加</a-button>
+        <a-button type="primary" ghost :loading="loading" id="chooseSupplier-add" @click="handleBatchAudit">批量添加</a-button>
         <span style="margin-left: 5px">
           <template v-if="selectCount"> {{ `已选 ${selectCount} 项` }} </template>
         </span>
       </div>
     </div>
+    <!-- 列表 -->
     <s-table
       class="sTable"
       ref="table"
@@ -43,10 +44,12 @@
 
 <script>
 import { commonMixin } from '@/utils/mixin'
+// 组件
 import { STable, VSelect } from '@/components'
 import AreaList from '@/views/common/areaList.js'
-import { querySupplierPage } from '@/api/bizuser'
 import subarea from '@/views/common/subarea.js'
+// 接口
+import { querySupplierPage } from '@/api/bizuser'
 export default {
   name: 'ChooseSupplier',
   mixins: [commonMixin],
@@ -54,26 +57,29 @@ export default {
   data () {
     return {
       spinning: false,
-      queryParam: { //  查询条件
+      tableHeight: 0, // 表格高度
+      disabled: false, //  查询、重置按钮是否可操作
+      loading: false, // 批量添加loading
+      //  查询条件
+      queryParam: {
         supplier: {
-          supplierName: ''
+          supplierName: ''// 供应商名称
         }
       },
-      userSn: '',
-      pageFlag: false,
-      chooseInfo: [],
-      tableHeight: 0,
-      disabled: false, //  查询、重置按钮是否可操作
-      loading: false, // 批量添加loading
+      userSn: '', // 用户sn
+      pageFlag: false, // 是否显示选择框
+      chooseInfo: [], // 选中数据
       // 加载数据方法 必须为 Promise 对象
       loadData: parameter => {
         this.spinning = true
         this.queryParam.userSn = this.userSn
+        // 获取列表数据  有分页
         return querySupplierPage(Object.assign(parameter, this.queryParam)).then(res => {
           let data
           const _this = this
           if (res.status == 200) {
             data = res.data
+            // 计算表格序号
             const no = 0
             const chooseData = []
             for (var i = 0; i < data.list.length; i++) {
@@ -96,7 +102,7 @@ export default {
           return data
         })
       },
-      rowSelectionInfo: null
+      rowSelectionInfo: null// 列表选择数据
     }
   },
   computed: {
@@ -109,6 +115,7 @@ export default {
       ]
       return arr
     },
+    // 计算列表选中数据条数
     selectCount () {
       return this.rowSelectionInfo && this.rowSelectionInfo.selectedRowKeys.length
     }
@@ -118,15 +125,18 @@ export default {
     rowSelectionFun (obj) {
       this.rowSelectionInfo = obj || null
     },
+    // 地区
     areaChange (val) {
       this.queryParam.provinceSn = val[0] ? val[0] : ''
       this.queryParam.citySn = val[1] ? val[1] : ''
       this.queryParam.districtSn = val[2] ? val[2] : ''
     },
+    // 查询
     searchForm (flag) {
       this.$refs.table.refresh(flag)
       this.spinning = false
     },
+    // 区域分区
     subareaChange (val) {
       this.queryParam.subareaSn = val[0] ? val[0] : undefined
       this.queryParam.subareaAreaSn = val[1] ? val[1] : undefined
@@ -142,6 +152,7 @@ export default {
       this.$refs.table.refresh(true)
       this.pageFlag = false
     },
+    // 清除表格内容
     clearTable () {
       this.rowSelectionInfo = null
       this.$refs.table.clearTable()
@@ -157,6 +168,7 @@ export default {
       this.spinning = false
       this.$emit('plAdd', supplierSnList)
     },
+    // 添加
     handleAdd (row) {
       if (row.subareaArea) {
         const _this = this
@@ -174,6 +186,7 @@ export default {
         this.$emit('add', row)
       }
     },
+    // 初始化
     pageInit (data) {
       const _this = this
       this.$nextTick(() => { // 页面渲染完成后的回调
@@ -184,6 +197,7 @@ export default {
       this.resetSearchForm()
       this.pageFlag = false
     },
+    // 计算表格高度
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 300

+ 26 - 14
src/views/dealerManagement/businessOwnerSettings/list.vue

@@ -3,10 +3,10 @@
     <a-card size="small" :bordered="false" class="searchBoxNormal">
       <!-- 搜索条件 -->
       <div ref="tableSearch" class="table-page-search-wrapper newTableSearchName">
-        <a-form layout="inline" @keyup.enter.native="$refs.table.refresh(true)">
+        <a-form layout="inline" id="businessOwnerSettings-form" @keyup.enter.native="$refs.table.refresh(true)">
           <a-row :gutter="15">
             <a-col :md="6" :sm="24">
-              <a-form-model-item label="人员类型">
+              <a-form-item label="人员类型">
                 <v-select
                   v-model="queryParam.bizUserType"
                   ref="printStatus"
@@ -14,7 +14,7 @@
                   code="BIZ_USER_TYPE"
                   placeholder="请选择人员类型"
                   allowClear></v-select>
-              </a-form-model-item>
+              </a-form-item>
             </a-col>
             <a-col :md="6" :sm="24">
               <a-form-item label="人员姓名">
@@ -29,6 +29,7 @@
         </a-form>
       </div>
     </a-card>
+    <!-- 操作按钮 -->
     <a-card size="small" :bordered="false" class="dealerZoneSearch-wrap">
       <a-spin :spinning="spinning" tip="Loading...">
         <div class="table-operator">
@@ -64,9 +65,15 @@
           </template>
           <!-- 操作 -->
           <template slot="action" slot-scope="text, record">
-            <a-button size="small" type="link" class="button-warning" v-if="record.allDealerFlag!=1 || record.allProductFlag!=1 ||record.allSupplierFlag&&record.allSupplierFlag!=1" @click="handleSetCategory(record)">设置管辖范围</a-button>
-            <a-button size="small" type="link" class="button-info" @click="handleEdit(record)">编辑</a-button>
-            <a-button size="small" type="link" class="button-error" @click="handleDelete(record)">删除</a-button>
+            <a-button
+              size="small"
+              type="link"
+              :id="'businessOwnerSettings-set-btn'+record.id"
+              class="button-warning"
+              v-if="record.allDealerFlag!=1 || record.allProductFlag!=1 ||record.allSupplierFlag&&record.allSupplierFlag!=1"
+              @click="handleSetCategory(record)">设置管辖范围</a-button>
+            <a-button size="small" type="link" :id="'businessOwnerSettings-edit-btn'+record.id" class="button-info" @click="handleEdit(record)">编辑</a-button>
+            <a-button size="small" type="link" :id="'businessOwnerSettings-del-btn'+record.id" class="button-error" @click="handleDelete(record)">删除</a-button>
           </template>
         </s-table>
       </a-spin>
@@ -78,9 +85,11 @@
 
 <script>
 import { commonMixin } from '@/utils/mixin'
+// 组件
 import { STable, VSelect } from '@/components'
-import { queryPage, bizuserDelete } from '@/api/bizuser'
 import addModal from './addModal'
+// 接口
+import { queryPage, bizuserDelete } from '@/api/bizuser'
 export default {
   name: 'BusinessOwnerSettings',
   mixins: [commonMixin],
@@ -89,10 +98,11 @@ export default {
     return {
       spinning: false,
       disabled: false, //  查询、重置按钮是否可操作
-      tableHeight: 0,
+      tableHeight: 0, // 表格高度
+      // 查询参数
       queryParam: {
-        bizUserType: '',
-        userName: undefined
+        bizUserType: '', // 人员类型
+        userName: undefined// 人员姓名
       },
       columns: [
         { title: '创建时间', dataIndex: 'createDate', width: '15%', align: 'center', customRender: function (text) { return text || '--' } },
@@ -108,9 +118,11 @@ export default {
       loadData: parameter => {
         this.disabled = true
         this.spinning = true
+        // 获取列表数据  有分页
         return queryPage(Object.assign(parameter, this.queryParam)).then(res => {
           let data
           data = res.data
+          // 计算列表序号
           const no = (data.pageNo - 1) * data.pageSize
           this.total = data.count || 0
           for (var i = 0; i < data.list.length; i++) {
@@ -122,13 +134,11 @@ export default {
         })
       },
       openAddModal: false, //  编辑  弹框
-      itemId: ''
+      itemId: ''// 当前id
     }
   },
   methods: {
-    userChange (val) {
-      this.queryParam.userSn = val.key
-    },
+    // 设置管辖范围
     handleSetCategory (row) {
       this.$router.push({ name: 'categorySet', query: { sn: row.userSn, id: row.id } })
     },
@@ -181,6 +191,7 @@ export default {
       this.itemId = ''
       this.openAddModal = false
     },
+    // 初始化
     pageInit () {
       const _this = this
       this.$nextTick(() => { // 页面渲染完成后的回调
@@ -188,6 +199,7 @@ export default {
       })
       this.resetSearchForm()
     },
+    // 计算表格高度
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 240

+ 37 - 29
src/views/dealerManagement/businessOwnerSettings/settingsIndex.vue

@@ -12,31 +12,32 @@
       </div>
       <a-card size="small" :bordered="false" class="categorySet-cont">
         <div>
-          <a-tabs v-model="activeKeyVal" @change="handleTabs">
+          <a-tabs v-model="activeKeyVal" @change="handleTabs" id="settingsIndex-tabs">
             <a-tab-pane key="1" tab="设置管辖区域" v-if="infoObj.allDealerFlag && infoObj.allDealerFlag!=1">
               <div class="areaSet-wrap">
                 <div class="table-page-search-wrapper newTableSearchName" >
-                  <a-form layout="inline" @keyup.enter.native="$refs.table.refresh(true)">
+                  <a-form layout="inline" id="settingsIndex-form" @keyup.enter.native="$refs.table.refresh(true)">
                     <a-row :gutter="15">
                       <a-col :md="6" :sm="24">
-                        <a-form-model-item label="所在区域/分区">
-                          <subarea id="chooseDealer-subarea" ref="subarea" @change="subareaChange"></subarea>
-                        </a-form-model-item>
+                        <a-form-item label="所在区域/分区">
+                          <subarea id="settingsIndex-subarea" ref="subarea" @change="subareaChange"></subarea>
+                        </a-form-item>
                       </a-col>
                       <a-col :md="6" :sm="24">
                         <a-form-item label="经销商名称">
-                          <a-input id="areaSet-dealerName" v-model.trim="queryParam.dealerName" allowClear placeholder="请输入经销商名称"/>
+                          <a-input id="settingsIndex-dealerName" v-model.trim="queryParam.dealerName" allowClear placeholder="请输入经销商名称"/>
                         </a-form-item>
                       </a-col>
                       <a-col :md="6" :sm="24">
-                        <a-button type="primary" @click="$refs.table.refresh(true)" :disabled="disabled" id="areaSet-refresh">查询</a-button>
-                        <a-button style="margin-left: 5px" @click="resetSearchForm" :disabled="disabled" id="areaSet-reset">重置</a-button>
+                        <a-button type="primary" @click="$refs.table.refresh(true)" :disabled="disabled" id="settingsIndex-refresh">查询</a-button>
+                        <a-button style="margin-left: 5px" @click="resetSearchForm" :disabled="disabled" id="settingsIndex-reset">重置</a-button>
                       </a-col>
                     </a-row>
                   </a-form>
+                  <!-- 操作按钮 -->
                   <div class="areaSet-btnGroup" style="margin-bottom:10px;">
-                    <a-button type="primary" class="button-info" @click="openAreaModal">选择区域</a-button>
-                    <a-button type="primary" class="button-error" @click="openDealerModal">选择经销商</a-button>
+                    <a-button type="primary" id="settingsIndex-addArea" class="button-info" @click="openAreaModal">选择区域</a-button>
+                    <a-button type="primary" id="settingsIndex-addDealer" class="button-error" @click="openDealerModal">选择经销商</a-button>
                   </div>
                 </div>
                 <a-spin :spinning="spinning" tip="Loading...">
@@ -45,8 +46,7 @@
                     class="sTable fixPagination"
                     ref="table"
                     size="small"
-                    :rowKey="(record) => record.no"
-                    rowKeyName="no"
+                    :rowKey="(record) => record.id"
                     :columns="columns"
                     :data="loadData"
                     :defaultLoadData="false"
@@ -59,10 +59,8 @@
                         size="small"
                         type="link"
                         class="button-error"
-                        @click="handleDel(record)"
-                      >
-                        删除
-                      </a-button>
+                        :id="'settingsIndex-del-btn'+record.id"
+                        @click="handleDel(record)">删除</a-button>
                     </template>
                   </s-table>
                 </a-spin>
@@ -103,32 +101,36 @@
 </template>
 
 <script>
-import { commonMixin } from '@/utils/mixin'
+import { commonMixin } from '@/utils/mixin'
+// 组件
 import { STable } from '@/components'
 import categorySet from './categorySet'
 import supplierSet from './supplierSet'
 import chooseAreaModal from './chooseAreaModal'
 import chooseDealer from './chooseDealer.vue'
-import { queryDealerScopePage, bizuserScopeDelete, findById, queryAreaScope, queryDealerScope, saveAreaScope, saveDealerScope } from '@/api/bizuser'
-import subarea from '@/views/common/subarea.js'
+import subarea from '@/views/common/subarea.js'
+// 接口
+import { queryDealerScopePage, bizuserScopeDelete, findById, queryAreaScope, queryDealerScope, saveAreaScope, saveDealerScope } from '@/api/bizuser'
 export default {
   name: 'SettingsIndex',
   mixins: [commonMixin],
   components: { STable, categorySet, chooseAreaModal, chooseDealer, subarea, supplierSet },
   data () {
     return {
-      openChooseArea: false,
-      openChooseDealer: false,
       spinning: false,
-      tableHeight: 0,
+      tableHeight: 0, // 表格高度
+      disabled: false, //  查询、重置按钮是否可操作
+      openChooseArea: false, // 打开选择区域弹窗
+      openChooseDealer: false, // 打开选择经销商弹窗
+      // 查询参数
       queryParam: {
         hasDetail: 0,
-        bizType: undefined,
-        bizSn: undefined,
-        dealerName: ''
+        bizType: undefined, // 区域分区区别
+        bizSn: undefined, // 当前行sn
+        dealerName: ''// 经销商
       },
-      activeKeyVal: '1',
-      infoObj: {},
+      activeKeyVal: '1', // 选项卡值  1设置管辖区域 2设置管辖品类 3设置供应商
+      infoObj: {}, // 基本信息数据
       newChooseData: {// 区域分区回显
         checked: [],
         halfChecked: []
@@ -140,17 +142,18 @@ export default {
         { title: '分区', dataIndex: 'subareaAreaName', width: '10%', align: 'center', customRender: function (text) { return text || '--' } },
         { title: '经销商', dataIndex: 'dealerName', width: '16%', align: 'center', customRender: function (text) { return text || '--' }, ellipsis: true },
         { title: '操作', scopedSlots: { customRender: 'action' }, width: '8%', align: 'center' }
-      ],
-      disabled: false, //  查询、重置按钮是否可操作
+      ],
       chooseInfo: [], // 回显选中经销商信息
       loadData: parameter => {
         this.disabled = true
         this.spinning = true
         this.queryParam.userSn = this.$route.query.sn
+        // 获取列表数据  有分页
         return queryDealerScopePage(Object.assign(parameter, this.queryParam)).then(res => {
           let data
           if (res.status == 200) {
             data = res.data
+            // 计算列表序号
             const no = (data.pageNo - 1) * data.pageSize
             this.total = data.count || 0
             for (var i = 0; i < data.list.length; i++) {
@@ -210,6 +213,7 @@ export default {
       })
       this.saveChooseArea(newData)
     },
+    // 保存区域分区数据
     saveChooseArea (list) {
       const _this = this
       const newAjaxData = {}
@@ -222,6 +226,7 @@ export default {
         }
       })
     },
+    // tabs 选择
     handleTabs (val) {
       this.activeKeyVal = val
       if (val == 2) {
@@ -243,6 +248,7 @@ export default {
         this.queryParam.bizType = undefined
       }
     },
+    // 重置
     resetSearchForm () {
       this.queryParam = {
         bizSn: undefined,
@@ -337,6 +343,7 @@ export default {
     handleBack () {
       this.$router.push({ name: 'businessOwnerSettings' })
     },
+    // 初始化
     pageInit () {
       const _this = this
       this.$nextTick(() => { // 页面渲染完成后的回调
@@ -344,6 +351,7 @@ export default {
       })
       _this.getBaseInfo()
     },
+    // 计算列表高度
     setTableH () {
       const headHeight = this.$refs.headerBar.offsetHeight
       this.tableHeight = window.innerHeight - headHeight - 340

+ 1 - 0
src/views/dealerManagement/dealerAccountManagement/detailModal.vue

@@ -22,6 +22,7 @@
 </template>
 
 <script>
+// 接口
 import { dealerUserDetail } from '@/api/dealer'
 export default {
   name: 'DealerAccountDetailModal',

+ 26 - 16
src/views/dealerManagement/dealerAccountManagement/editModal.vue

@@ -79,7 +79,9 @@
 
 <script>
 import { commonMixin } from '@/utils/mixin'
+// 组件
 import custList from '@/views/common/custList.vue'
+// 接口
 import { dealerUserSave, dealerUserDetail } from '@/api/dealer'
 export default {
   name: 'DealerAccountEditModal',
@@ -99,20 +101,23 @@ export default {
     return {
       isShow: this.openModal, //  是否打开弹框
       spinning: false,
+      // form表单label布局
       formItemLayout: {
         labelCol: { span: 6 },
         wrapperCol: { span: 16 }
       },
+      // 提交数据
       form: {
-        tenantSn: '',
-        name: '',
-        phone: '',
-        loginName: '',
-        password: '',
+        tenantSn: '', // 经销商sn
+        name: '', // 管理员姓名
+        phone: '', // 管理员手机
+        loginName: '', // 管理员账号
+        password: '', // 管理员密码
         org: {
-          childUserMaxNum: ''
+          childUserMaxNum: ''// 最大可开通用户数
         }
       },
+      // 表单验证规则
       rules: {
         tenantSn: [{ required: true, message: '请选择经销商', trigger: 'change' }],
         name: [{ required: true, message: '请输入管理员姓名', trigger: 'blur' }],
@@ -151,6 +156,7 @@ export default {
         }
       }
     },
+    // 经销商名称 change
     custChange (val) {
       this.form.tenantSn = val.key
     },
@@ -197,6 +203,19 @@ export default {
           this.$refs.ruleForm.resetFields()
         }
       })
+    },
+    // 重置
+    resetSearchForm () {
+      this.$refs.ruleForm.resetFields()
+      this.form.tenantSn = ''
+      this.form.name = ''
+      this.form.phone = ''
+      this.form.loginName = ''
+      this.form.password = ''
+      this.form.org.childUserMaxNum = ''
+      if (this.itemId == '') {
+        this.$refs.custList.resetForm()
+      }
     }
   },
   watch: {
@@ -219,16 +238,7 @@ export default {
     isShow (newValue, oldValue) {
       if (!newValue) {
         this.$emit('close')
-        this.$refs.ruleForm.resetFields()
-        this.form.tenantSn = ''
-        this.form.name = ''
-        this.form.phone = ''
-        this.form.loginName = ''
-        this.form.password = ''
-        this.form.org.childUserMaxNum = ''
-        if (this.itemId == '') {
-          this.$refs.custList.resetForm()
-        }
+        this.resetSearchForm()
       }
     },
     itemId (newValue, oldValue) {

+ 16 - 12
src/views/dealerManagement/dealerAccountManagement/list.vue

@@ -3,7 +3,7 @@
     <a-card size="small" :bordered="false" class="dealerAccountList-wrap searchBoxNormal">
       <!-- 搜索条件 -->
       <div ref="tableSearch" class="table-page-search-wrapper">
-        <a-form layout="inline" @keyup.enter.native="$refs.table.refresh(true)">
+        <a-form layout="inline" id="dealerAccountList-form" @keyup.enter.native="$refs.table.refresh(true)">
           <a-row :gutter="15">
             <a-col :md="6" :sm="24">
               <a-form-item label="经销商名称">
@@ -50,7 +50,7 @@
           <!-- 账号状态 -->
           <template slot="loginFlag" slot-scope="text, record">
             <a-switch
-              id="dealerAccountList-enable"
+              :id="'dealerAccountList-enable'+record.id"
               v-if="$hasPermissions('B_dealerAccount_enable')"
               checkedChildren="启用"
               unCheckedChildren="禁用"
@@ -66,21 +66,21 @@
               v-if="$hasPermissions('B_dealerAccount_edit')"
               class="button-info"
               @click="handleEdit(record)"
-              id="dealerAccountList-edit-btn">编辑</a-button>
+              :id="'dealerAccountList-edit-btn'+record.id">编辑</a-button>
             <a-button
               size="small"
               type="link"
               v-if="$hasPermissions('B_dealerAccount_detail')"
               class="button-success"
               @click="handleDetail(record)"
-              id="dealerAccountList-detail-btn">详情</a-button>
+              :id="'dealerAccountList-detail-btn'+record.id">详情</a-button>
             <a-button
               size="small"
               type="link"
               v-if="$hasPermissions('B_dealerAccount_reset')"
               class="button-warning"
               @click="handleReset(record)"
-              id="dealerAccountList-reset-btn">重置密码</a-button>
+              :id="'dealerAccountList-reset-btn'+record.id">重置密码</a-button>
             <span v-if="!$hasPermissions('B_dealerAccount_edit') && !$hasPermissions('B_dealerAccount_detail') && !$hasPermissions('B_dealerAccount_reset')">--</span>
           </template>
         </s-table>
@@ -101,9 +101,11 @@
 
 <script>
 import { commonMixin } from '@/utils/mixin'
+// 组件
 import { STable, VSelect } from '@/components'
 import dealerAccountEditModal from './editModal.vue'
 import dealerAccountDetailModal from './detailModal.vue'
+// 接口
 import { dealerUserList, dealerUserEnable, dealerUserResetP } from '@/api/dealer'
 export default {
   name: 'DealerAccountManagementList',
@@ -112,15 +114,15 @@ export default {
   data () {
     return {
       spinning: false,
-      tableHeight: 0,
+      tableHeight: 0, // 表格高度
+      disabled: false, //  查询、重置按钮是否可操作
       queryParam: { //  查询条件
         org: {
-          name: ''
+          name: ''// 经销商名称
         },
-        loginName: '',
-        loginFlag: undefined
+        loginName: '', // 管理员账号
+        loginFlag: undefined// 状态
       },
-      disabled: false, //  查询、重置按钮是否可操作
       columns: [
         { title: '序号', dataIndex: 'no', width: '4%', align: 'center' },
         { title: '创建时间', dataIndex: 'createDate', width: '11%', align: 'center' },
@@ -139,6 +141,7 @@ export default {
           let data
           if (res.status == 200) {
             data = res.data
+            // 计算表格序号
             const no = (data.pageNo - 1) * data.pageSize
             for (var i = 0; i < data.list.length; i++) {
               data.list[i].no = no + i + 1
@@ -153,8 +156,7 @@ export default {
       openModal: false, //  新增编辑  弹框
       openDetailModal: false, // 详情  弹框
       itemId: '', //  当前id
-      nowData: null, //  当前记录数据
-      productBrandList: []
+      nowData: null //  当前记录数据
     }
   },
   methods: {
@@ -226,12 +228,14 @@ export default {
         }
       })
     },
+    // 初始化
     pageInit () {
       const _this = this
       this.$nextTick(() => { // 页面渲染完成后的回调
         _this.setTableH()
       })
     },
+    // 计算表格高度
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 240

+ 13 - 7
src/views/dealerManagement/marketingDivisionSetNew/addAreaModal.vue

@@ -39,10 +39,10 @@
 </template>
 
 <script>
+// 接口
 import { subareaSaveSubarea, subareaQuerySubarea } from '@/api/subarea'
 export default {
   name: 'MarketingDivisionSetEditModal',
-  components: { },
   props: {
     openModal: { //  弹框显示状态
       type: Boolean,
@@ -54,21 +54,25 @@ export default {
     }
   },
   computed: {
+    // 弹窗标题
     modalTit () {
       return (this.itemId ? '编辑' : '新增') + '区域'
     }
   },
   data () {
     return {
-      isShow: this.openModal, //  是否打开弹框
       spinning: false,
+      isShow: this.openModal, //  是否打开弹框
+      // 表单label布局
       formItemLayout: {
         labelCol: { span: 4 },
         wrapperCol: { span: 18 }
       },
+      // 提交数据
       form: {
         subareaName: '' // 区域名称
       },
+      // 表单验证规则
       rules: {
         subareaName: [
           { required: true, message: '请输入区域名称', trigger: 'blur' }
@@ -77,6 +81,7 @@ export default {
     }
   },
   methods: {
+    // 区域名称
     filterEmpty () {
       let str = this.form.subareaName
       str = str.replace(/\ +/g, '')
@@ -84,10 +89,11 @@ export default {
       str = str.replace(/[\r\n]/g, '')
       this.form.subareaName = str
     },
-    getDetail(){
+    // 获取详情数据
+    getDetail () {
       this.spinning = true
-      subareaQuerySubarea({subareaSn: this.itemId}).then(res=>{
-        if(res.status == 200){
+      subareaQuerySubarea({ subareaSn: this.itemId }).then(res => {
+        if (res.status == 200) {
           this.form.subareaName = res.data[0].subareaName
         }
         this.spinning = false
@@ -131,8 +137,8 @@ export default {
         this.$emit('close')
         this.$refs.ruleForm.resetFields()
         this.form.subareaName = ''
-      }else{
-        if(this.itemId){
+      } else {
+        if (this.itemId) {
           this.getDetail()
         }
       }

+ 16 - 9
src/views/dealerManagement/marketingDivisionSetNew/addZoneModal.vue

@@ -1,7 +1,7 @@
 <template>
   <a-modal
     centered
-    class="marketingDivisionSetEdit-modal"
+    class="addZone-modal"
     :footer="null"
     :maskClosable="false"
     :title="modalTit"
@@ -13,6 +13,7 @@
       ref="ruleForm"
       :model="form"
       :rules="zoneRules"
+      id="addZone-modal-form"
       :label-col="formItemLayout.labelCol"
       :wrapper-col="formItemLayout.wrapperCol"
     >
@@ -21,6 +22,7 @@
       </a-form-model-item>
       <a-form-model-item label="分区名称" prop="subareaAreaName">
         <a-input
+          id="addZone-modal-subareaAreaName"
           :maxLength="30"
           v-model.trim="form.subareaAreaName"
           @change="filterEmpty"
@@ -29,16 +31,16 @@
       </a-form-model-item>
     </a-form-model>
     <div class="btn-cont">
-      <a-button id="marketingDivisionSetEdit-modal-back" @click="isShow = false" >取消</a-button>
-      <a-button type="primary" style="margin-left: 15px;" id="marketingDivisionSetEdit-modal-save" @click="handleSave">保存</a-button>
+      <a-button id="addZone-modal-back" @click="isShow = false" >取消</a-button>
+      <a-button type="primary" style="margin-left: 15px;" id="addZone-modal-save" @click="handleSave">保存</a-button>
     </div>
   </a-modal>
 </template>
 
 <script>
-import { subareaSaveSubareaArea, subareaQuerySubareaArea } from '@/api/subarea'
+import { subareaSaveSubareaArea } from '@/api/subarea'
 export default {
-  name: 'MarketingDivisionSetEditModal',
+  name: 'MarketingDivisionAddZoneModal',
   components: { },
   props: {
     openModal: { //  弹框显示状态
@@ -47,27 +49,31 @@ export default {
     },
     parentData: {
       type: Object,
-      default: function(){
+      default: function () {
         return null
       }
     }
   },
   computed: {
+    // 弹窗标题
     modalTit () {
-      return (this.parentData&&this.parentData.subareaAreaSn ? '编辑' : '新增') + '分区'
+      return (this.parentData && this.parentData.subareaAreaSn ? '编辑' : '新增') + '分区'
     }
   },
   data () {
     return {
-      isShow: this.openModal, //  是否打开弹框
       spinning: false,
+      isShow: this.openModal, //  是否打开弹框
+      // 表单label设置
       formItemLayout: {
         labelCol: { span: 4 },
         wrapperCol: { span: 18 }
       },
+      // 提交数据
       form: {
         subareaAreaName: '' // 分区名称
       },
+      // 表单验证规则
       zoneRules: {
         subareaAreaName: [
           { required: true, message: '请输入分区名称', trigger: 'blur' }
@@ -76,6 +82,7 @@ export default {
     }
   },
   methods: {
+    // 分区名称过滤
     filterEmpty () {
       let str = this.form.subareaAreaName
       str = str.replace(/\ +/g, '')
@@ -123,7 +130,7 @@ export default {
         this.$emit('close')
         this.$refs.ruleForm.resetFields()
         this.form.subareaAreaName = ''
-      }else{
+      } else {
         if (this.parentData.subareaAreaSn) {
           this.form.subareaAreaName = this.parentData.subareaAreaName
         }

+ 15 - 10
src/views/dealerManagement/marketingDivisionSetNew/list.vue

@@ -29,26 +29,26 @@
             class="button-info"
             v-if="record.type && record.type == 'root'"
             @click="addZone(record)"
-            id="marketingDivisionSetNew-edit-btn">新增分区</a-button>
+            :id="'marketingDivisionSetNew-edit-btn'+record.id">新增分区</a-button>
           <a-button
             size="small"
             type="link"
             class="button-success"
             v-else
             @click="handleView(record)"
-            id="marketingDivisionSetNew-edit-btn">查看经销商</a-button>
+            :id="'marketingDivisionSetNew-edit-btn'+record.id">查看经销商</a-button>
           <a-button
             size="small"
             type="link"
             class="button-info"
             @click="handleEdit(record)"
-            id="marketingDivisionSetNew-edit-btn">编辑</a-button>
+            :id="'marketingDivisionSetNew-edit-btn'+record.id">编辑</a-button>
           <a-button
             size="small"
             type="link"
             class="button-error"
             @click="handleDel(record)"
-            id="marketingDivisionSetNew-del-btn">删除</a-button>
+            :id="'marketingDivisionSetNew-del-btn'+record.id">删除</a-button>
         </template>
       </s-table>
     </a-spin>
@@ -76,10 +76,12 @@
 
 <script>
 import { commonMixin } from '@/utils/mixin'
+// 组件
 import { STable, VSelect } from '@/components'
 import addAreaModal from './addAreaModal.vue'
 import addZoneModal from './addZoneModal.vue'
 import viewDealers from './viewDealers.vue'
+// 接口
 import { subareaQueryAll, deleteSubareaBySn, deleteSubareaAreaBySn } from '@/api/subarea'
 export default {
   name: 'MarketingDivisionSetNew',
@@ -88,10 +90,10 @@ export default {
   data () {
     return {
       spinning: false,
-      tableHeight: 0,
-      openAreaModal: false,
-      openZoneModal: false,
-      openDealerModal: false,
+      tableHeight: 0, // 表格高度
+      openAreaModal: false, // 打开区域弹窗
+      openZoneModal: false, // 打开分区弹窗
+      openDealerModal: false, // 打开经销商弹窗
       columns: [
         { title: '区域分区', scopedSlots: { customRender: 'titles' }, width: '70%', align: 'left' },
         { title: '操作', scopedSlots: { customRender: 'action' }, width: '30%', align: 'center' }
@@ -103,6 +105,7 @@ export default {
           let data
           if (res.status == 200) {
             data = res.data
+            // 计算列表序号
             const no = 0
             for (var i = 0; i < data.length; i++) {
               data[i].no = no + i + 1
@@ -114,8 +117,8 @@ export default {
           return data
         })
       },
-      itemId: null,
-      parentData: null
+      itemId: null, // 营销分区id
+      parentData: null// 营销分区一行数据
     }
   },
   methods: {
@@ -170,12 +173,14 @@ export default {
       this.parentData = row
       this.openDealerModal = true
     },
+    // 初始化
     pageInit () {
       const _this = this
       this.$nextTick(() => { // 页面渲染完成后的回调
         _this.setTableH()
       })
     },
+    // 计算表格高度
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 230

+ 39 - 32
src/views/dealerManagement/marketingDivisionSetNew/viewDealers.vue

@@ -12,7 +12,7 @@
       <a-spin :spinning="spinning" tip="Loading...">
         <!-- 搜索条件 -->
         <div ref="tableSearch" class="table-page-search-wrapper newTableSearchName">
-          <a-form layout="inline" @keyup.enter.native="$refs.table.refresh(true)">
+          <a-form id="viewDealers-form" layout="inline" @keyup.enter.native="$refs.table.refresh(true)">
             <a-row :gutter="15">
               <a-col :md="8" :sm="24">
                 <a-form-item label="经销商名称/别名">
@@ -25,9 +25,9 @@
                 </a-form-item>
               </a-col>
               <a-col :md="8" :sm="24">
-                <a-form-model-item label="商户级别">
+                <a-form-item label="商户级别">
                   <v-select code="DEALER_LEVEL" id="viewDealers-dealerLevel" v-model="queryParam.dealer.dealerLevel" allowClear placeholder="请选择商户级别"></v-select>
-                </a-form-model-item>
+                </a-form-item>
               </a-col>
               <a-col :md="8" :sm="24">
                 <a-form-item label="审核状态">
@@ -35,9 +35,9 @@
                 </a-form-item>
               </a-col>
               <a-col :md="8" :sm="24">
-                <a-form-model-item label="地区">
+                <a-form-item label="地区">
                   <AreaList id="viewDealers-areaList" changeOnSelect ref="areaList" @change="areaChange" defValKey="id"></AreaList>
-                </a-form-model-item>
+                </a-form-item>
               </a-col>
               <a-col :md="6" :sm="24" style="margin-bottom: 10px;">
                 <a-button type="primary" @click="searchForm" :disabled="disabled" id="viewDealers-refresh">查询</a-button>
@@ -46,19 +46,17 @@
             </a-row>
           </a-form>
         </div>
+        <!-- 操作按钮 -->
         <div style="margin-top:200px;" v-if="flag">
           <a-empty
             :image="simpleImage"
-            :image-style="{
-              height: '60px',
-            }"
-          >
+            :image-style="{height: '60px'}">
             <span slot="description"> 暂无数据 </span>
-            <a-button type="primary" class="button-error" @click="openAddDealer=true"><a-icon type="plus" />立即绑定经销商</a-button>
+            <a-button type="primary" id="viewDealers-binding" class="button-error" @click="openAddDealer=true"><a-icon type="plus" />立即绑定经销商</a-button>
           </a-empty>
         </div>
         <div class="tableCon" v-else>
-          <div style="margin-bottom:10px;"><a-button type="primary" class="button-error" @click="openAddDealer=true">绑定经销商</a-button></div>
+          <div style="margin-bottom:10px;"><a-button type="primary" id="viewDealers-binding-btn" class="button-error" @click="openAddDealer=true">绑定经销商</a-button></div>
           <s-table
             class="sTable"
             ref="table"
@@ -74,6 +72,7 @@
                 size="small"
                 type="link"
                 class="button-error"
+                :id="'viewDealers-del-btn'+record.id"
                 @click="handleDel(record)"
               >删除</a-button>
             </template>
@@ -81,7 +80,6 @@
         </div>
       </a-spin>
     </a-drawer>
-
     <!-- 绑定经销商 -->
     <a-drawer
       title="绑定经销商"
@@ -107,11 +105,13 @@
 
 <script>
 import { commonMixin } from '@/utils/mixin'
+import { Empty } from 'ant-design-vue'
+// 组件
 import { STable, VSelect } from '@/components'
 import chooseDealer from '@/views/common/chooseDealer.vue'
 import AreaList from '@/views/common/areaList.js'
-import { Empty } from 'ant-design-vue'
 import dealerType from '@/views/common/dealerType.js'
+// 接口
 import { queryPageAreaDealer, batchBindDealer, bindDealer, deleteBindDealer } from '@/api/subarea'
 export default {
   mixins: [commonMixin],
@@ -146,29 +146,27 @@ export default {
   },
   data () {
     return {
-      simpleImage: Empty.PRESENTED_IMAGE_SIMPLE,
       spinning: false,
-      visible: this.showModal,
-      openAddDealer: false,
-      flag: true,
-      dealerType: [],
-      queryParam: { //  查询条件
+      disabled: false, // 查询、重置按钮是否可操作
+      tableHeight: 0, // 表格高度
+      simpleImage: Empty.PRESENTED_IMAGE_SIMPLE, // 数据为空显示图片
+      visible: this.showModal, // 是否显示弹窗
+      openAddDealer: false, // 打开绑定经销商弹窗
+      flag: true, // 是否显示绑定经销商按钮
+      dealerType: [], // 商户类型
+      //  查询条件
+      queryParam: {
         dealer: {
-          nameLike: '',
+          nameLike: '', // 经销商名称/别名
           dealerType1: undefined, //  商户类型
           dealerType2: undefined, //  商户类型
-          dealerLevel: null,
-          auditState: undefined,
-          provinceSn: undefined,
-          citySn: undefined,
-          districtSn: undefined
+          dealerLevel: null, // 商户级别
+          auditState: undefined, // 审核状态
+          provinceSn: undefined, // 省
+          citySn: undefined, // 市
+          districtSn: undefined// 区
         }
       },
-      addrProvinceList: [], //  省下拉
-      addrCityList: [], //  市下拉
-      addrDistrictList: [], //  区下拉
-      disabled: false,
-      tableHeight: 0,
       columns: [
         { title: '经销商名称', dataIndex: 'dealer.dealerName', width: '25%', align: 'center', customRender: function (text) { return text || '--' } },
         { title: '商户别名', dataIndex: 'dealer.dealerAlias', width: '25%', align: 'center', customRender: function (text) { return text || '--' } },
@@ -184,6 +182,7 @@ export default {
           let data
           if (res.status == 200) {
             data = res.data
+            // 计算表格序号
             const no = 0
             for (var i = 0; i < data.list.length; i++) {
               data.list[i].no = no + i + 1
@@ -201,6 +200,7 @@ export default {
     }
   },
   methods: {
+    // 商户类型 change
     getDealerType (v, o) {
       this.queryParam.dealer.dealerType1 = v[0]
       this.queryParam.dealer.dealerType2 = v[1]
@@ -213,7 +213,7 @@ export default {
           this.resetSearchForm()
           this.$refs.chooseDealer.searchForm(false)
         }
-        this.$refs.chooseDealer.searchForm
+        this.$refs.chooseDealer.searchForm()
       })
     },
     // 批量绑定
@@ -245,6 +245,7 @@ export default {
         }
       })
     },
+    // 查询
     searchForm () {
       if (this.flag) {
         this.hasData()
@@ -252,6 +253,7 @@ export default {
         this.$refs.table.refresh(true)
       }
     },
+    // 重置
     resetData () {
       this.dealerType = []
       this.queryParam = {
@@ -268,6 +270,7 @@ export default {
       }
       this.$refs.areaList.clearData()
     },
+    // 重置查询
     resetSearchForm () {
       if (this.flag) {
         this.hasData()
@@ -276,24 +279,28 @@ export default {
         this.$refs.table.refresh(true)
       }
     },
+    // 地区 change
     areaChange (val) {
       this.queryParam.dealer.provinceSn = val[0] ? val[0] : ''
       this.queryParam.dealer.citySn = val[1] ? val[1] : ''
       this.queryParam.dealer.districtSn = val[2] ? val[2] : ''
     },
+    // 是否已有绑定数据
     async hasData () {
       const ret = await queryPageAreaDealer({ pageNo: 1, pageSize: 10, subareaSn: this.parentData.subareaSn, subareaAreaSn: this.parentData.subareaAreaSn }).then(res => res.data)
       this.flag = ret.count == 0
     },
+    // 初始化
     pageInit () {
       const _this = this
       this.$nextTick(() => { // 页面渲染完成后的回调
         _this.setTableH()
       })
       this.flag = true
-      // 判断是已绑定数据
+      // 判断是已绑定数据
       this.hasData()
     },
+    // 计算表格高度
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 290

+ 27 - 14
src/views/dealerManagement/merchantInfoManagement/chooseTypeModal.vue

@@ -14,6 +14,7 @@
         ref="ruleForm"
         :model="form"
         :rules="rules"
+        id="chooseType-form"
         :label-col="formItemLayout.labelCol"
         :wrapper-col="formItemLayout.wrapperCol"
       >
@@ -22,7 +23,7 @@
             code="PRICE_LEVEL"
             :notIn="notArr"
             style="width: 70%;"
-            id="productPriceLevel-level"
+            id="chooseType-level"
             v-model="form.priceLevel"
             allowClear
             :disabled="notArrFlag"
@@ -30,10 +31,10 @@
         </a-form-model-item>
         <a-form-model-item label="添加品类" prop="typeVal">
           <span v-for="(con,i) in filterList" :key="con.id" >
-            <a-checkbox :checked="con.checked" @change="e=>onChangeType(e.target.checked,i)" v-show="con.id!=4">
+            <a-checkbox id="chooseType-typeVal" :checked="con.checked" @change="e=>onChangeType(e.target.checked,i)" v-show="con.id!=4">
               {{ con.name }}
             </a-checkbox>
-            <a-checkbox :checked="con.checked" @change="e=>onChangeType(e.target.checked,i)" v-show="con.id==4&&disabledList.length==0">
+            <a-checkbox id="chooseType-typeVal1" :checked="con.checked" @change="e=>onChangeType(e.target.checked,i)" v-show="con.id==4&&disabledList.length==0">
               <a-tooltip placement="rightTop">
                 <template slot="title">
                   <span>选择全品类后,未来新加入的品类也将自动默认为已选择状态,无需再次手动操作。</span>
@@ -48,6 +49,7 @@
           <a-tree
             v-model="checkedList"
             checkable
+            id="chooseType-typeListBox"
             :auto-expand-parent="autoExpandParent"
             :tree-data="treeData"
             :replaceFields="replaceObj"
@@ -65,9 +67,10 @@
 </template>
 
 <script>
-import { dealerScopeCreate, queryWaitingData, dealerScopeQueryList } from '@/api/dealerScope'
-// import chooseTypeList from './chooseTypeList.vue'
+// 组件
 import { VSelect } from '@/components'
+// 接口
+import { dealerScopeCreate, queryWaitingData, dealerScopeQueryList } from '@/api/dealerScope'
 export default {
   name: 'ChooseTypeModal',
   components: { VSelect },
@@ -79,17 +82,18 @@ export default {
   },
   data () {
     return {
-      isShow: this.openModal, //  是否打开弹框
       spinning: false,
+      isShow: this.openModal, //  是否打开弹框
+      // label 标签布局
       formItemLayout: {
         labelCol: { span: 3 },
         wrapperCol: { span: 20 }
       },
       form: {
         priceLevel: undefined, // 价格级别
-        typeVal: '0'
+        typeVal: '0'// 产品品类
       },
-      rules: {
+      rules: {// 表单验证规则
         priceLevel: [
           { required: true, message: '请选择价格级别', trigger: 'change' }
         ],
@@ -98,21 +102,23 @@ export default {
         ]
       },
       notArr: [], // 特约经销商  禁用选择
-      notArrFlag: false,
+      notArrFlag: false, // 价格级别禁用状态
       treeData: [], // 品牌分类数据
-      checkedList: [],
+      checkedList: [], // 已选产品分类
       autoExpandParent: false, // 是否自动展开父节点
-      replaceObj: {
+      replaceObj: {// 替换 treeNode 中 对应字段
         children: 'sonList', title: 'name', key: 'sn'
       },
       disabledList: [], // 已选过禁用调的品类数据
+      // 选择数据方式
       filterList: [{ id: '1', name: '全选', checked: false }, { id: '2', name: '自主品牌', checked: false }, { id: '3', name: '代理品牌', checked: false }, { id: '4', name: '全品类', checked: false }],
-      allBarndSnList: [],
-      ownBarndSnList: [],
-      agentBarndSnList: []
+      allBarndSnList: [], // 全选分类数据
+      ownBarndSnList: [], // 自主品牌分类数据
+      agentBarndSnList: []// 代理品牌分类数据
     }
   },
   methods: {
+    // 添加品类
     onChangeType (val, pos) {
       this.filterList.map(item => item.checked = false)
       this.filterList[pos].checked = val
@@ -166,6 +172,7 @@ export default {
               _this.$message.warning('请添加品类!')
               return
             }
+            // 全选时,过滤有禁用的已选过得品牌
             if (_this.disabledList.length > 0) {
               checkedArr = checkedArr.filter(items => {
                 if (!_this.disabledList.includes(items)) return items
@@ -175,6 +182,7 @@ export default {
                 return
               }
             }
+            // 重组 后台所需要的数据结构
             const arr = []
             checkedArr.forEach(item => {
               const newArr = item.split('_')
@@ -207,6 +215,7 @@ export default {
         }
       })
     },
+    // 获取已选择的品类
     getDataList () {
       const _this = this
       queryWaitingData({}).then(res => {
@@ -222,6 +231,7 @@ export default {
         _this.spinning = false
       })
     },
+    // 重组已选择数据,禁用已选择数据
     async getDisabledList () {
       const res = await dealerScopeQueryList({ dealerSn: this.$route.params.sn })
       // 重组数据
@@ -233,6 +243,7 @@ export default {
         this.getDataList()
       }
     },
+    // 遍历树,添加disabled属性
     resetDisabledList (tree, arr) {
       // 遍历树节点
       function traverse (node) {
@@ -251,12 +262,14 @@ export default {
       // 返回修改后的树
       return tree
     },
+    // 点击复选框触发事件
     onCheck (checkedKeys) {
       this.checkedList = checkedKeys.checked
       this.filterList[0].checked = this.checkedList.length === this.allBarndSnList.length
       this.filterList[1].checked = this.checkedList.length === this.ownBarndSnList.length
       this.filterList[2].checked = this.checkedList.length === this.agentBarndSnList.length
     },
+    // 重组选中数据
     changeCheckedList () {
       const ret = []
       this.checkedList.forEach((item, index) => {

+ 8 - 5
src/views/dealerManagement/merchantInfoManagement/detailModal.vue

@@ -10,6 +10,7 @@
     :width="960">
     <a-spin :spinning="spinning" tip="Loading...">
       <div style="max-height: 400px;overflow: auto;" ref="merchantInfoDetail">
+        <!-- 基础信息 -->
         <a-card title="基础信息" size="small" style="margin-bottom: 15px;">
           <a-descriptions :column="2" bordered size="small">
             <a-descriptions-item label="经销商名称">{{ form&&form.dealerName ? form.dealerName : '--' }}</a-descriptions-item>
@@ -98,7 +99,9 @@
 </template>
 
 <script>
+// 组件
 import auditModal from '@/views/common/auditModal.vue'
+// 接口
 import { dealerAudit, dealerDetailBySn, dealerFindUpdateInfoBySn } from '@/api/dealer'
 export default {
   name: 'MerchantInfoManagementModal',
@@ -112,16 +115,16 @@ export default {
       type: [Number, String],
       default: ''
     },
-    isAudit: Boolean
+    isAudit: Boolean // 是否显示审核按钮
   },
   data () {
     return {
       spinning: false,
       isShow: this.openModal, //  是否打开弹框
-      form: null,
-      title: '',
-      visibleAudit: false,
-      spinningAudit: false
+      form: null, // 详情内容数据
+      title: '', // 弹窗标题
+      visibleAudit: false, // 是否打开审核弹窗
+      spinningAudit: false// 审核按钮加载状态
     }
   },
   methods: {

+ 59 - 56
src/views/dealerManagement/merchantInfoManagement/edit.vue

@@ -118,7 +118,7 @@
                 </a-col>
                 <a-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8">
                   <a-form-model-item label="默认仓库" prop="defaultWarehouseSn" >
-                    <chooseWarehouse ref="warehouse" v-model="form.defaultWarehouseSn"></chooseWarehouse>
+                    <chooseWarehouse ref="warehouse" id="merchantInfoManagementEdit-warehouse" v-model="form.defaultWarehouseSn"></chooseWarehouse>
                   </a-form-model-item>
                 </a-col>
               </a-row>
@@ -188,7 +188,7 @@
                   <a-form-model-item label="一般纳税人" prop="isTaxpayer">
                     <v-select
                       code="FLAG"
-                      id="customerManagementEdit-isTaxpayer"
+                      id="merchantInfoManagementEdit-isTaxpayer"
                       v-model="form.isTaxpayer"
                       allowClear
                       placeholder="请选择是否"
@@ -410,12 +410,14 @@
 
 <script>
 import { commonMixin } from '@/utils/mixin'
-import { getArea } from '@/api/data'
+import moment from 'moment'
+// 组件
 import { VSelect } from '@/components'
 import dealerType from '@/views/common/dealerType.js'
-import { dealerSave, dealerFindUpdateInfoBySn } from '@/api/dealer'
 import chooseWarehouse from '@/views/common/chooseWarehouse'
-import moment from 'moment'
+// 接口
+import { getArea } from '@/api/data'
+import { dealerSave, dealerFindUpdateInfoBySn } from '@/api/dealer'
 export default {
   name: 'MerchantInfoManagementEdit',
   mixins: [commonMixin],
@@ -423,59 +425,57 @@ export default {
   data () {
     return {
       spinning: false,
+      // form表单布局
       formItemLayout: {
-        labelCol: {
-          span: 8
-        },
-        wrapperCol: {
-          span: 16
-        }
+        labelCol: { span: 8 },
+        wrapperCol: { span: 16 }
       },
-      dealerType: [],
+      dealerType: [], // 商户类型
       form: {
-        dealerName: '',
-        dealerAlias: '',
-        dealerType1: undefined,
-        dealerType2: undefined,
-        contact: '',
-        contactMobile: '',
-        provinceSn: undefined,
-        citySn: undefined,
-        districtSn: undefined,
-        address: '',
-        menuMouldId: undefined,
-        contactRole: '',
-        dealerTelephone: '',
-        busniessMode: '',
-        busniessItmes: '',
-        licenseName: '',
-        busniessScope: '',
-        buildDate: '',
-        isTaxpayer: undefined,
-        indentityCard: '',
-        brithday: '',
-        nativePlace: '',
-        mail: '',
-        contact2: '',
-        contactMobile2: '',
-        contractRole2: '',
-        zipCode: '',
-        receiveContact: '',
-        receiveMobile: '',
-        receiveProvinceSn: undefined,
-        receiveCitySn: undefined,
-        receiveDistrictSn: undefined,
-        receiveAddress: '',
-        tradeAccountName: '',
-        tradeBankName: '',
-        tradeBankAccount: '',
-        jgAutoPartsCode: '',
-        jgDoorHeaderChangeTime: '',
-        isShowSpecialPrice: 0,
-        remark: '',
-        kdMidCustomerFnumber: '',
-        defaultWarehouseSn: undefined
+        dealerName: '', // 经销商名称
+        dealerAlias: '', // 经销商别名
+        dealerType1: undefined, // 商户类型1
+        dealerType2: undefined, // 商户类型2
+        contact: '', // 联系人1
+        contactMobile: '', // 联系手机1
+        provinceSn: undefined, // 省sn
+        citySn: undefined, // 市 sn
+        districtSn: undefined, // 区sn
+        address: '', // 地址
+        menuMouldId: undefined, // 授权类型
+        contactRole: '', // 联系角色1
+        dealerTelephone: '', // 电话号码
+        busniessMode: '', // 经营方式
+        busniessItmes: '', // 经营项目
+        licenseName: '', // 营业执照名称
+        busniessScope: '', // 公司规模
+        buildDate: '', // 成立时间
+        isTaxpayer: undefined, // 一般纳税人
+        indentityCard: '', // 证件号码
+        brithday: '', // 生日
+        nativePlace: '', // 籍贯
+        mail: '', // 邮箱
+        contact2: '', // 联系人2
+        contactMobile2: '', // 手机号码2
+        contractRole2: '', // 联系角色2
+        zipCode: '', // 邮政编码
+        receiveContact: '', // 收货人
+        receiveMobile: '', // 电话号码
+        receiveProvinceSn: undefined, // 省sn
+        receiveCitySn: undefined, // 市sn
+        receiveDistrictSn: undefined, // 区sn
+        receiveAddress: '', // 收货详细地址
+        tradeAccountName: '', // 银行账户
+        tradeBankName: '', // 开户行
+        tradeBankAccount: '', // 银行卡号
+        jgAutoPartsCode: '', // 箭冠汽配代码
+        jgDoorHeaderChangeTime: '', // 门头更换日期
+        isShowSpecialPrice: 0, // 特约价是否可见 0否  1是
+        remark: '', // 备注
+        kdMidCustomerFnumber: '', // 财务编码
+        defaultWarehouseSn: undefined// 默认仓库
       },
+      // 规则验证
       rules: {
         dealerName: [
           { required: true, message: '请输入经销商名称', trigger: 'change' }
@@ -539,11 +539,12 @@ export default {
       addrProvinceList1: [], //  省下拉
       addrCityList1: [], //  市下拉
       addrDistrictList1: [], //  区下拉
-      dateFormat: 'YYYY-MM-DD',
-      detailData: null
+      dateFormat: 'YYYY-MM-DD', // 日期规则
+      detailData: null// 详情数据
     }
   },
   methods: {
+    // 银行账号 change
     bankAccountChange (e) {
       const { value } = e.target
       this.form.tradeBankAccount = value.replace(/\s*/g, '')
@@ -552,6 +553,7 @@ export default {
     disabledDate (date, dateStrings) {
       return date && date.valueOf() > Date.now()
     },
+    // 商户类型 change
     getDealerType (v, o) {
       this.form.dealerType1 = v[0]
       this.form.dealerType2 = v[1]
@@ -722,6 +724,7 @@ export default {
         }
       })
     },
+    // 初始化
     pageInit () {
       this.getArea('province')
       this.$refs.ruleForm.resetFields()

+ 59 - 15
src/views/dealerManagement/merchantInfoManagement/list.vue

@@ -49,7 +49,7 @@
                 :disabled="disabled"
                 :loading="exportLoading"
                 id="merchantInfoManagementList-export">导出</a-button>
-              <a @click="advanced=!advanced" style="margin-left: 5px">
+              <a @click="advanced=!advanced" style="margin-left: 5px" id="merchantInfoManagementList-advanced">
                 {{ advanced ? '收起' : '展开' }}
                 <a-icon :type="advanced ? 'up' : 'down'"/>
               </a>
@@ -78,18 +78,54 @@
           bordered>
           <!-- 经销商 -->
           <template slot="dealerName" slot-scope="text, record">
-            <span v-if="$hasPermissions('B_merchantInfo_detail')" :title="record.dealerName" class="link-bule" @click="handleDetail(record)">{{ record.dealerName }}</span>
+            <span v-if="$hasPermissions('B_merchantInfo_detail')" :id="'merchantInfoManagementList-dealerName'+record.id" :title="record.dealerName" class="link-bule" @click="handleDetail(record)">{{ record.dealerName }}</span>
             <span v-else :title="record.dealerName">{{ record.dealerName }}</span>
           </template>
           <!-- 操作 -->
           <template slot="action" slot-scope="text, record">
-            <a-button size="small" type="link" class="button-warning" v-if="record.auditState == 'WAIT' && $hasPermissions('B_merchantInfo_audit')" @click="handleAudit(record)" >审核</a-button>
-            <a-button size="small" type="link" class="button-info" v-if="$hasPermissions('B_merchantInfo_cooperation')" @click="handleCooperation(record)" >合作设置</a-button>
-            <a-button size="small" type="link" class="button-primary" v-if="$hasPermissions('B_merchantInfo_level')" @click="handleLevel(record)">级别设置</a-button>
-            <a-button size="small" type="link" class="button-info" v-if="$hasPermissions('B_merchantInfo_edit')" @click="handleEdit(record)">编辑</a-button>
+            <a-button
+              size="small"
+              :id="'merchantInfoManagementList-audit-btn'+record.id"
+              type="link"
+              class="button-warning"
+              v-if="record.auditState == 'WAIT' && $hasPermissions('B_merchantInfo_audit')"
+              @click="handleAudit(record)" >审核</a-button>
+            <a-button
+              size="small"
+              :id="'merchantInfoManagementList-cooperation-btn'+record.id"
+              type="link"
+              class="button-info"
+              v-if="$hasPermissions('B_merchantInfo_cooperation')"
+              @click="handleCooperation(record)" >合作设置</a-button>
+            <a-button
+              size="small"
+              :id="'merchantInfoManagementList-level-btn'+record.id"
+              type="link"
+              class="button-primary"
+              v-if="$hasPermissions('B_merchantInfo_level')"
+              @click="handleLevel(record)">级别设置</a-button>
+            <a-button
+              size="small"
+              :id="'merchantInfoManagementList-edit-btn'+record.id"
+              type="link"
+              class="button-info"
+              v-if="$hasPermissions('B_merchantInfo_edit')"
+              @click="handleEdit(record)">编辑</a-button>
             <br>
-            <a-button size="small" type="link" class="button-error" v-if="record.auditState != 'WAIT'&&record.dealerLevel && $hasPermissions('B_merchantInfo_priceSpread')" @click="handlePriceSpread(record)">差价</a-button>
-            <a-button size="small" type="link" class="button-error" v-if="record.auditState != 'WAIT'&&record.dealerLevel && $hasPermissions('B_merchantInfo_distribution')" @click="handleDistribution(record)">经销权</a-button>
+            <a-button
+              size="small"
+              :id="'merchantInfoManagementList-price-btn'+record.id"
+              type="link"
+              class="button-error"
+              v-if="record.auditState != 'WAIT'&&record.dealerLevel && $hasPermissions('B_merchantInfo_priceSpread')"
+              @click="handlePriceSpread(record)">差价</a-button>
+            <a-button
+              size="small"
+              :id="'merchantInfoManagementList-power-btn'+record.id"
+              type="link"
+              class="button-error"
+              v-if="record.auditState != 'WAIT'&&record.dealerLevel && $hasPermissions('B_merchantInfo_distribution')"
+              @click="handleDistribution(record)">经销权</a-button>
             <span v-if="!(record.auditState == 'WAIT' && $hasPermissions('B_merchantInfo_audit')) && !$hasPermissions('B_merchantInfo_cooperation') && !(record.auditState != 'WAIT' && $hasPermissions('B_merchantInfo_distribution')) && !$hasPermissions('B_merchantInfo_level') && !$hasPermissions('B_merchantInfo_edit')">--</span>
           </template>
         </s-table>
@@ -113,13 +149,15 @@
 <script>
 import { commonMixin } from '@/utils/mixin'
 import moment from 'moment'
-import { dealerQueryList, dealerExport } from '@/api/dealer'
+// 组件
 import { STable, VSelect } from '@/components'
 import subarea from '@/views/common/subarea.js'
 import merchantInfoManagementDetailModal from './detailModal.vue'
 import UpdateCooperate from './updateCooperate.vue'
 import UpdateDealerLeve from './updateDealerLevel.vue'
 import dealerType from '@/views/common/dealerType.js'
+// 接口
+import { dealerQueryList, dealerExport } from '@/api/dealer'
 export default {
   name: 'MerchantInfoManagementList',
   mixins: [commonMixin],
@@ -128,8 +166,8 @@ export default {
     return {
       spinning: false,
       advanced: true, // 高级搜索 展开/关闭
-      tableHeight: 0,
-      dealerType: [],
+      tableHeight: 0, // 表格高度
+      dealerType: [], // 所选商户类型 列表
       queryParam: { //  查询条件
         nameLike: '', //  商户名称、别名
         dealerType1: undefined, //  商户类型
@@ -144,8 +182,8 @@ export default {
       },
       disabled: false, //  查询、重置按钮是否可操作
       exportLoading: false, // 导出loading
-      dateFormat: 'YYYY-MM-DD',
-      total: 0,
+      dateFormat: 'YYYY-MM-DD', // 日期显示格式
+      total: 0, // 总计
       columns: [
         { title: '序号', dataIndex: 'no', width: '4%', align: 'center' },
         { title: '创建时间', dataIndex: 'createDate', width: '6%', align: 'center', customRender: function (text) { return text || '--' } },
@@ -163,7 +201,6 @@ export default {
         { title: '生效时间', dataIndex: 'cooperateEffectiveTime', width: '6%', align: 'center', customRender: function (text) { return text || '--' } },
         { title: '操作', scopedSlots: { customRender: 'action' }, width: '12%', align: 'center' }
       ],
-      loading: false,
       // 加载数据方法 必须为 Promise 对象
       loadData: parameter => {
         this.disabled = true
@@ -172,6 +209,7 @@ export default {
           let data
           if (res.status == 200) {
             data = res.data
+            // 计算表格序号
             const no = (data.pageNo - 1) * data.pageSize
             this.total = data.count || 0
             for (var i = 0; i < data.list.length; i++) {
@@ -190,14 +228,16 @@ export default {
       openUcModal: false, // 合作设置 弹框
       openUdModal: false, // 级别设置 弹框
       itemId: '', //  当前商户sn
-      isAudit: false
+      isAudit: false// 是否显示审核按钮
     }
   },
   methods: {
+    // 区域  change
     subareaChange (val) {
       this.queryParam.subareaArea.subareaSn = val[0] ? val[0] : undefined
       this.queryParam.subareaArea.subareaAreaSn = val[1] ? val[1] : undefined
     },
+    // 商户类型 change
     getDealerType (v, o) {
       this.queryParam.dealerType1 = v[0]
       this.queryParam.dealerType2 = v[1]
@@ -295,6 +335,7 @@ export default {
         }
       })
     },
+    // 导出成功
     download (data) {
       if (!data) { return }
       const url = window.URL.createObjectURL(new Blob([data]))
@@ -307,18 +348,21 @@ export default {
       document.body.appendChild(link)
       link.click()
     },
+    // 初始化
     pageInit () {
       const _this = this
       this.$nextTick(() => { // 页面渲染完成后的回调
         _this.setTableH()
       })
     },
+    // 计算表格高度
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 235
     }
   },
   watch: {
+    // 展开关闭  监听表格高度变化
     advanced (newValue, oldValue) {
       const _this = this
       this.$nextTick(() => { // 页面渲染完成后的回调

+ 22 - 15
src/views/dealerManagement/merchantInfoManagement/permissionSettingNew.vue

@@ -20,17 +20,17 @@
             <a-row :gutter="15">
               <a-col :md="6" :sm="24">
                 <a-form-model-item label="品牌" prop="productBrandSn">
-                  <ProductBrand id="chooseProducts-productBrandSn" v-model="queryParam.productBrandSn"></ProductBrand>
+                  <ProductBrand id="permissionSetting-productBrandSn" v-model="queryParam.productBrandSn"></ProductBrand>
                 </a-form-model-item>
               </a-col>
               <a-col :md="6" :sm="24">
                 <a-form-model-item label="产品分类" prop="productType">
-                  <productTypeAll placeholder="请选择产品分类" @change="changeProductType" v-model="productType" id="chooseProducts-productType"></productTypeAll>
+                  <productTypeAll placeholder="请选择产品分类" @change="changeProductType" v-model="productType" id="permissionSetting-productType"></productTypeAll>
                 </a-form-model-item>
               </a-col>
               <a-col :md="6" :sm="24">
                 <a-form-model-item label="价格级别" prop="priceLevel">
-                  <v-select code="PRICE_LEVEL" id="productLevelEdit-priceLevel" v-model="queryParam.priceLevel" allowClear placeholder="请选择价格级别"></v-select>
+                  <v-select code="PRICE_LEVEL" id="permissionSetting-priceLevel" v-model="queryParam.priceLevel" allowClear placeholder="请选择价格级别"></v-select>
                 </a-form-model-item>
               </a-col>
               <a-col :md="6" :sm="24" style="margin-bottom: 10px;">
@@ -42,10 +42,10 @@
         </div>
         <!-- 操作按钮 -->
         <div class="table-operator">
-          <a-button type="primary" class="button-error" @click="chooseTModal">选择品类</a-button>
+          <a-button type="primary" id="permissionSetting-chooseType" class="button-error" @click="chooseTModal">选择品类</a-button>
           <span v-if="!showEmpty">
-            <a-button type="primary" v-if="$route.params.dealerLevel != 'SPECIAL'" class="button-info" @click="handleEdit()">批量编辑</a-button>
-            <a-button type="primary" ghost class="button-error" @click="handleDel()">批量删除</a-button>
+            <a-button type="primary" id="permissionSetting-moreEdit" v-if="$route.params.dealerLevel != 'SPECIAL'" class="button-info" @click="handleEdit()">批量编辑</a-button>
+            <a-button type="primary" id="permissionSetting-moreDel" ghost class="button-error" @click="handleDel()">批量删除</a-button>
           </span>
         </div>
         <!-- 列表 -->
@@ -77,12 +77,14 @@
 
 <script>
 import { commonMixin } from '@/utils/mixin'
+// 组件
 import { STable, VSelect } from '@/components'
 import ChooseTypeModal from './chooseTypeModal.vue'
 import editPriceLevelModal from './priceLevelModal.vue'
 import productTypeAll from '@/views/common/productTypeAll.js'
 import ProductBrand from '@/views/common/productBrand.js'
 import { Empty } from 'ant-design-vue'
+// 接口
 import { dealerScopeModifyPriceLevel, dealerScopeDelete, dealerScopeQueryList } from '@/api/dealerScope'
 export default {
   name: 'MerchantInfoManagementSet',
@@ -91,24 +93,24 @@ export default {
   data () {
     return {
       spinning: false,
-      tableHeight: 0,
+      tableHeight: 0, // 表格高度
       queryParam: { //  查询条件
         productBrandSn: undefined, //  产品品牌
         productTypeSn1: '', //  产品一级分类
         productTypeSn2: '', //  产品二级分类
         productTypeSn3: '', //  产品三级分类
-        priceLevel: undefined
+        priceLevel: undefined// 价格级别
       },
-      productType: [],
+      productType: [], // 产品分类
       disabled: false, //  查询、重置按钮是否可操作
       openTypeModal: false, //  选择产品分类
-      openPriceLevelModal: false,
-      itemPriceLevel: '',
-      simpleImage: Empty.PRESENTED_IMAGE_SIMPLE,
-      dataSource: [],
-      showEmpty: false,
+      openPriceLevelModal: false, // 打开修改价格等级弹窗
+      itemPriceLevel: '', // 价格级别数据
+      simpleImage: Empty.PRESENTED_IMAGE_SIMPLE, // 空数据图片
+      dataSource: [], // 列表数据
+      showEmpty: false, // 数据是否为空
       showTableHead: true, // 显示表头
-      selectedRowKeys: []
+      selectedRowKeys: []// 已选数据
     }
   },
   computed: {
@@ -147,6 +149,7 @@ export default {
       ]
       return arr
     },
+    // 选择列表数据
     checkboxOption () {
       const _this = this
       return {
@@ -163,6 +166,7 @@ export default {
     }
   },
   methods: {
+    // 获取列表数据
     getData () {
       const _this = this
       _this.disabled = true
@@ -222,6 +226,7 @@ export default {
         }
       })
     },
+    // 关闭价格级别弹窗
     closePriceLevelModal () {
       this.itemPriceLevel = ''
       this.openPriceLevelModal = false
@@ -273,12 +278,14 @@ export default {
       this.selectedRowKeys = []
       this.$router.push({ path: '/dealerManagement/merchantInfoManagement/list', query: { closeLastOldTab: true } })
     },
+    // 初始化
     pageInit () {
       const _this = this
       this.$nextTick(() => { // 页面渲染完成后的回调
         _this.setTableH()
       })
     },
+    // 计算表格高度
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 205

+ 9 - 7
src/views/dealerManagement/merchantInfoManagement/priceLevelModal.vue

@@ -21,26 +21,26 @@
           <v-select
             code="PRICE_LEVEL"
             :notIn="notArr"
-            id="productPriceLevel-level"
+            id="priceLevel-modal-level"
             v-model="form.priceLevel"
             allowClear
             placeholder="请选择价格级别"></v-select>
-
         </a-form-model-item>
         <div class="fontRed">注意:价格变更后,该商户的差价设置将同步清空</div>
       </a-form-model>
       <div class="btn-cont">
-        <a-button id="chooseType-modal-back" @click="isShow = false" >取消</a-button>
-        <a-button type="primary" style="margin-left: 15px;" id="chooseType-modal-save" @click="handleSave">确定</a-button>
+        <a-button id="priceLevel-modal-back" @click="isShow = false" >取消</a-button>
+        <a-button type="primary" style="margin-left: 15px;" id="priceLevel-modal-save" @click="handleSave">确定</a-button>
       </div>
     </a-spin>
   </a-modal>
 </template>
 
 <script>
+// 组件
 import { VSelect } from '@/components'
 export default {
-  name: 'ChooseTypeModal',
+  name: 'PriceLevelModal',
   components: { VSelect },
   props: {
     openModal: { //  弹框显示状态
@@ -54,16 +54,18 @@ export default {
   },
   data () {
     return {
-      isShow: this.openModal, //  是否打开弹框
       spinning: false,
+      isShow: this.openModal, //  是否打开弹框
+      // form 表单布局
       formItemLayout: {
         labelCol: { span: 4 },
         wrapperCol: { span: 18 }
       },
-      notArr: [],
+      notArr: [], // 价格级别禁选数据
       form: {
         priceLevel: undefined // 价格级别
       },
+      // 表单验证规则
       rules: {
         priceLevel: [
           { required: true, message: '请选择价格等级', trigger: 'change' }

+ 21 - 14
src/views/dealerManagement/merchantInfoManagement/updateCooperate.vue

@@ -1,7 +1,7 @@
 <template>
   <a-modal
     centered
-    class="merchantInfoManagement-modal"
+    class="updateCooperate-modal"
     :footer="null"
     :maskClosable="false"
     :title="title"
@@ -16,24 +16,25 @@
           :rules="rules"
           :label-col="labelCol"
           :wrapper-col="wrapperCol"
+          id="updateCooperate-form"
         >
           <a-form-model-item label="商户名称">
             {{ form.dealerName }}
           </a-form-model-item>
           <a-form-model-item label="合作状态" prop="cooperateFlag">
-            <v-select code="DEALER_COOPERATE_FLAG" id="ucModal-cooperateFlag" v-model="form.cooperateFlag" allowClear placeholder="请选择合作状态"></v-select>
+            <v-select code="DEALER_COOPERATE_FLAG" id="updateCooperate-cooperateFlag" v-model="form.cooperateFlag" allowClear placeholder="请选择合作状态"></v-select>
           </a-form-model-item>
           <a-form-model-item label="生效时间" prop="cooperateEffectiveTime">
             <a-date-picker
               style="width:100%"
-              id="ucModal-cooperateEffectiveTime"
+              id="updateCooperate-cooperateEffectiveTime"
               v-model="form.cooperateEffectiveTime"
               :format="dateFormat"
               placeholder="请选择日期" />
           </a-form-model-item>
           <div style="display: flex;justify-content: center;padding: 30px 0;">
-            <a-button  @click="cansel">取消</a-button>
-            <a-button style="margin-left: 15px;" type="primary" @click="onSubmit">确定</a-button>
+            <a-button id="updateCooperate-cancel-btn" @click="cancel">取消</a-button>
+            <a-button id="updateCooperate-submit-btn" style="margin-left: 15px;" type="primary" @click="onSubmit">确定</a-button>
           </div>
         </a-form-model>
       </a-spin>
@@ -43,9 +44,11 @@
 
 <script>
 import { commonMixin } from '@/utils/mixin'
+import moment from 'moment'
+// 组件
 import { VSelect } from '@/components'
+// 接口
 import { updateCooperate } from '@/api/dealer'
-import moment from 'moment'
 export default {
   name: 'UpdateCooperate',
   mixins: [commonMixin],
@@ -60,16 +63,17 @@ export default {
     return {
       isShow: this.openUcModal, //  是否打开弹框
       spinning: false,
-      title: '合作设置',
-      dateFormat: 'YYYY-MM-DD',
-      labelCol: { span: 5 },
+      title: '合作设置', // 表格标题
+      dateFormat: 'YYYY-MM-DD', // 日期格式
+      labelCol: { span: 5 }, // form表单label布局
       wrapperCol: { span: 16 },
-      other: '',
+      // 提交数据
       form: {
-        dealerName: '',
-        cooperateFlag: undefined,
-        cooperateEffectiveTime: null
+        dealerName: '', // 商户名称
+        cooperateFlag: undefined, // 合作状态
+        cooperateEffectiveTime: null// 生效时间
       },
+      // 表单验证规则
       rules: {
         cooperateFlag: [
           { required: true, message: '请选择合作状态', trigger: 'change' }
@@ -85,12 +89,14 @@ export default {
     disabledDate (date, dateStrings) {
       return date && date.valueOf() > Date.now()
     },
+    // 赋值
     setData (row) {
       this.form.dealerSn = row.dealerSn
       this.form.dealerName = row.dealerName
       this.form.cooperateFlag = row.cooperateFlag
       this.form.cooperateEffectiveTime = row.cooperateEffectiveTime
     },
+    // 确定提交
     onSubmit () {
       const _this = this
       this.$refs.ruleForm.validate(valid => {
@@ -112,7 +118,8 @@ export default {
         }
       })
     },
-    cansel () {
+    // 取消
+    cancel () {
       this.$emit('close')
       this.$refs.ruleForm.resetFields()
     }

+ 20 - 12
src/views/dealerManagement/merchantInfoManagement/updateDealerLevel.vue

@@ -1,7 +1,7 @@
 <template>
   <a-modal
     centered
-    class="merchantInfoManagement-modal"
+    class="updateDealerLevel-modal"
     :footer="null"
     :maskClosable="false"
     :title="title"
@@ -11,6 +11,7 @@
     <div>
       <a-spin :spinning="spinning" tip="Loading...">
         <a-form-model
+          id="updateDealerLevel-form"
           ref="ruleForm"
           :model="form"
           :rules="rules"
@@ -21,11 +22,11 @@
             {{ form.dealerName }}
           </a-form-model-item>
           <a-form-model-item label="商户级别" prop="dealerLevel">
-            <v-select code="DEALER_LEVEL" id="ucModal-dealerLevel" v-model="form.dealerLevel" allowClear placeholder="请选择商户级别"></v-select>
+            <v-select code="DEALER_LEVEL" id="updateDealerLevel-dealerLevel" v-model="form.dealerLevel" allowClear placeholder="请选择商户级别"></v-select>
           </a-form-model-item>
           <div style="display: flex;justify-content: center;padding: 30px 0;">
-            <a-button @click="cansel">取消</a-button>
-            <a-button style="margin-left: 15px;" type="primary" @click="onSubmit">确定</a-button>
+            <a-button id="updateDealerLevel-cancel-btn" @click="cancel">取消</a-button>
+            <a-button id="updateDealerLevel-submit-btn" style="margin-left: 15px;" type="primary" @click="onSubmit">确定</a-button>
           </div>
         </a-form-model>
       </a-spin>
@@ -35,7 +36,9 @@
 
 <script>
 import { commonMixin } from '@/utils/mixin'
+// 组件
 import { VSelect } from '@/components'
+// 接口
 import { updateDealerLevel } from '@/api/dealer'
 export default {
   name: 'UpdateDealerLevel',
@@ -51,24 +54,26 @@ export default {
     return {
       isShow: this.openUdModal, //  是否打开弹框
       spinning: false,
-      title: '级别设置',
-      labelCol: { span: 5 },
+      title: '级别设置', // 标题
+      labelCol: { span: 5 }, // form表单布局
       wrapperCol: { span: 16 },
-      other: '',
+      // 提交数据
       form: {
-        dealerName: '',
-        dealerLevel: undefined
+        dealerName: '', // 商户名称
+        dealerLevel: undefined// 商户级别
       },
+      // 表单验证规则
       rules: {
         dealerLevel: [
           { required: true, message: '请选择商户级别', trigger: 'change' }
         ]
       },
-      dealerLevelBak: undefined,
-      isProvincialCustomers: ''
+      dealerLevelBak: undefined, // 商户级别回显数据
+      isProvincialCustomers: ''// 省仓客户
     }
   },
   methods: {
+    // 设置数据
     setData (row) {
       this.form.dealerSn = row.dealerSn
       this.form.dealerName = row.dealerName
@@ -76,6 +81,7 @@ export default {
       this.dealerLevelBak = row.dealerLevel
       this.isProvincialCustomers = row.serviceCenterSn ? '1' : '0'// 是否是省仓客户
     },
+    // 提交判断必填项
     onSubmit () {
       const _this = this
       this.$refs.ruleForm.validate(valid => {
@@ -86,6 +92,7 @@ export default {
         }
       })
     },
+    // 提交
     submitForm () {
       const _this = this
       const params = JSON.parse(JSON.stringify(_this.form))
@@ -100,7 +107,8 @@ export default {
         }
       })
     },
-    cansel () {
+    // 取消
+    cancel () {
       this.$emit('close')
       this.$refs.ruleForm.resetFields()
     }

+ 9 - 2
src/views/dealerManagement/provincialWarehouseManagement/addModal.vue

@@ -12,6 +12,7 @@
       <!-- 表单 -->
       <a-form-model
         ref="ruleForm"
+        id="addProvincialWarehouse-form"
         :model="form"
         :rules="zoneRules"
         :label-col="formItemLayout.labelCol"
@@ -20,7 +21,7 @@
       >
         <a-form-model-item label="设为省仓" prop="serviceCenterName">
           <custList
-            id="dealerZoneSearch-dealerName"
+            id="addProvincialWarehouse-dealerName"
             cooperateFlag="1"
             dealerLevel="PROVINCE"
             placeholder="请输入经销商名称搜索"
@@ -37,7 +38,9 @@
 </template>
 
 <script>
+// 组件
 import custList from '@/views/common/custList.vue'
+// 接口
 import { serviceCenterAdd } from '@/api/serviceCenter'
 export default {
   name: 'AddProvincialWarehouseModal',
@@ -55,22 +58,26 @@ export default {
     }
   },
   computed: {
+    // 弹窗标题
     modalTit () {
       return (this.parentData && this.parentData.subareaAreaSn ? '编辑' : '新增') + '省仓'
     }
   },
   data () {
     return {
-      isShow: this.openModal, //  是否打开弹框
       spinning: false,
+      isShow: this.openModal, //  是否打开弹框
+      // 表单label布局
       formItemLayout: {
         labelCol: { span: 4 },
         wrapperCol: { span: 18 }
       },
+      // 提交数据
       form: {
         serviceCenterSn: undefined, // 经销商sn
         serviceCenterName: undefined// 经销商名称
       },
+      // 表单规则验证
       zoneRules: {
         serviceCenterName: [
           { required: true, message: '请输入经销商名称', trigger: 'blur' }

+ 32 - 22
src/views/dealerManagement/provincialWarehouseManagement/chooseDealer.vue

@@ -5,9 +5,9 @@
       <a-form layout="inline" @keyup.enter.native="$refs.table.refresh(true)">
         <a-row :gutter="15">
           <a-col :md="8" :sm="24">
-            <a-form-model-item label="地区">
-              <AreaList id="viewDealers-areaList" changeOnSelect ref="areaList" @change="areaChange" defValKey="id"></AreaList>
-            </a-form-model-item>
+            <a-form-item label="地区">
+              <AreaList id="chooseDealer-areaList" changeOnSelect ref="areaList" @change="areaChange" defValKey="id"></AreaList>
+            </a-form-item>
           </a-col>
           <a-col :md="8" :sm="24">
             <a-form-item label="经销商名称/别名">
@@ -20,9 +20,9 @@
             </a-form-item>
           </a-col>
           <a-col :md="8" :sm="24">
-            <a-form-model-item label="商户级别" prop="dealerLevel">
-              <v-select code="DEALER_LEVEL" id="ucModal-dealerLevel" v-model="queryParam.dealerLevel" allowClear placeholder="请选择商户级别"></v-select>
-            </a-form-model-item>
+            <a-form-item label="商户级别" prop="dealerLevel">
+              <v-select code="DEALER_LEVEL" id="chooseDealer-dealerLevel" v-model="queryParam.dealerLevel" allowClear placeholder="请选择商户级别"></v-select>
+            </a-form-item>
           </a-col>
           <a-col :md="8" :sm="24">
             <a-form-item label="所在区域/分区">
@@ -37,7 +37,7 @@
       </a-form>
       <!-- 列表 -->
       <div style="margin-bottom: 10px">
-        <a-button type="primary" ghost :loading="loading" @click="handleBatchAudit">批量添加</a-button>
+        <a-button type="primary" id="chooseDealer-add" ghost :loading="loading" @click="handleBatchAudit">批量添加</a-button>
         <span style="margin-left: 5px">
           <template v-if="selectCount"> {{ `已选 ${selectCount} 项` }} </template>
         </span>
@@ -66,17 +66,19 @@
 
 <script>
 import { commonMixin } from '@/utils/mixin'
+// 组件
 import { STable, VSelect } from '@/components'
 import AreaList from '@/views/common/areaList.js'
 import subarea from '@/views/common/subarea.js'
 import dealerType from '@/views/common/dealerType.js'
-import { getDealerListInfo, dealerQueryList } from '@/api/dealer'
+// 组件
+import { dealerQueryList } from '@/api/dealer'
 export default {
   name: 'ChooseDealer',
   mixins: [commonMixin],
   components: { STable, VSelect, subarea, AreaList, dealerType },
   props: {
-    pageType: {
+    pageType: {// 页面类型
       type: String,
       default: 'dealerPromotion'
     },
@@ -87,26 +89,26 @@ export default {
   },
   data () {
     return {
-      tableHeight: 0,
       spinning: false,
-      dealerType: [],
-      queryParam: { //  查询条件
-        nameLike: '',
+      disabled: false, //  查询、重置按钮是否可操作
+      loading: false, // 批量添加loading,
+      tableHeight: 0, // 表格高度
+      dealerType: [], // 商户类型
+      //  查询条件
+      queryParam: {
+        nameLike: '', // 经销商名称/别名
         dealerType1: undefined, //  商户类型
         dealerType2: undefined, //  商户类型
-        dealerLevel: null,
+        dealerLevel: null, // 商户级别
         subareaArea: {
           subareaSn: undefined, //  区域
           subareaAreaSn: undefined // 分区
         },
-        auditState: undefined,
-        provinceSn: undefined,
-        citySn: undefined,
-        districtSn: undefined
+        provinceSn: undefined, // 省sn
+        citySn: undefined, // 市sn
+        districtSn: undefined// 区sn
       },
-      disabled: false, //  查询、重置按钮是否可操作
-      loading: false, // 批量添加loading,
-      rowSelectionInfo: null,
+      rowSelectionInfo: null, // 已选列表数据
       columns: [
         { title: '经销商名称', dataIndex: 'dealerName', width: '30%', align: 'center', customRender: function (text) { return text || '--' }, ellipsis: true },
         { title: '商户别名', dataIndex: 'dealerAlias', align: 'left', width: '30%', customRender: function (text) { return text || '--' }, ellipsis: true },
@@ -126,6 +128,7 @@ export default {
           let data
           if (res.status == 200) {
             data = res.data
+            // 计算表格序号
             const no = (data.pageNo - 1) * data.pageSize
             for (var i = 0; i < data.list.length; i++) {
               data.list[i].no = no + i + 1
@@ -142,6 +145,7 @@ export default {
     }
   },
   computed: {
+    // 计算选中数据条数
     selectCount () {
       return this.rowSelectionInfo && this.rowSelectionInfo.selectedRowKeys.length
     }
@@ -151,18 +155,22 @@ export default {
     rowSelectionFun (obj) {
       this.rowSelectionInfo = obj || null
     },
+    // 商户类型 change
     getDealerType (v, o) {
       this.queryParam.dealerType1 = v[0]
       this.queryParam.dealerType2 = v[1]
     },
+    // 地区 change
     areaChange (val) {
       this.queryParam.provinceSn = val[0] ? val[0] : ''
       this.queryParam.citySn = val[1] ? val[1] : ''
       this.queryParam.districtSn = val[2] ? val[2] : ''
     },
+    // 查询
     searchForm () {
       this.$refs.table.refresh()
     },
+    // 所在区域/分区 change
     subareaChange (val) {
       this.queryParam.subareaArea.subareaSn = val[0] ? val[0] : undefined
       this.queryParam.subareaArea.subareaAreaSn = val[1] ? val[1] : undefined
@@ -179,7 +187,6 @@ export default {
           subareaSn: undefined, //  区域
           subareaAreaSn: undefined // 分区
         },
-        auditState: undefined,
         provinceSn: undefined,
         citySn: undefined,
         districtSn: undefined
@@ -188,6 +195,7 @@ export default {
       this.$refs.areaList.clearData()
       this.$refs.table.refresh()
     },
+    // 清除所选数据
     clearSelect () {
       this.$refs.table.clearSelected()
     },
@@ -200,10 +208,12 @@ export default {
       }
       this.$emit('plAdd', _this.rowSelectionInfo.selectedRows)
     },
+    // 初始化
     pageInit (data) {
       this.setTableH()
       this.resetSearchForm()
     },
+    // 计算表格高度
     setTableH () {
       const headHeight = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - headHeight - 190

+ 15 - 9
src/views/dealerManagement/provincialWarehouseManagement/list.vue

@@ -83,23 +83,27 @@
 
 <script>
 import { commonMixin } from '@/utils/mixin'
+// 组件
 import { STable, VSelect } from '@/components'
 import provincialWarehouseAddModal from './addModal.vue'
+// 接口
 import { serviceCenterList, provincialWarehouseEnable, serviceCenterBinding } from '@/api/serviceCenter'
 export default {
-  name: 'DealerAccountManagementList',
+  name: 'ProvincialWarehouse',
   mixins: [commonMixin],
   components: { STable, VSelect, provincialWarehouseAddModal },
   data () {
     return {
       spinning: false,
-      tableHeight: 0,
-      queryParam: { //  查询条件
-        serviceCenterName: '',
-        dealerName: '',
-        enableFlag: undefined
-      },
+      tableHeight: 0, // 列表高度
       disabled: false, //  查询、重置按钮是否可操作
+      openModal: false, //  新增编辑  弹框
+      //  查询条件
+      queryParam: {
+        serviceCenterName: '', // 省仓名称
+        dealerName: '', // 经销商名称
+        enableFlag: undefined// 省仓状态
+      },
       columns: [
         { title: '序号', dataIndex: 'no', width: '4%', align: 'center' },
         { title: '创建时间', dataIndex: 'createDate', width: '10%', align: 'center' },
@@ -119,6 +123,7 @@ export default {
           let data
           if (res.status == 200) {
             data = res.data
+            // 计算表格序号
             const no = (data.pageNo - 1) * data.pageSize
             for (var i = 0; i < data.list.length; i++) {
               data.list[i].no = no + i + 1
@@ -129,8 +134,7 @@ export default {
           this.spinning = false
           return data
         })
-      },
-      openModal: false //  新增编辑  弹框
+      }
     }
   },
   methods: {
@@ -189,12 +193,14 @@ export default {
         this.$refs.table.refresh()
       })
     },
+    // 初始化
     pageInit () {
       const _this = this
       this.$nextTick(() => { // 页面渲染完成后的回调
         _this.setTableH()
       })
     },
+    // 计算表格高度
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 240

+ 41 - 30
src/views/dealerManagement/provincialWarehouseManagement/relatedDealersList.vue

@@ -18,14 +18,14 @@
               <a-form layout="inline" @keyup.enter.native="$refs.table.refresh(true)">
                 <a-row :gutter="15">
                   <a-col :md="4" :sm="24">
-                    <a-form-model-item label="地区">
-                      <AreaList id="actualSalesReportList-areaList" changeOnSelect ref="areaList" @change="areaChange" defValKey="id"></AreaList>
-                    </a-form-model-item>
+                    <a-form-item label="地区">
+                      <AreaList id="relatedDealersList-areaList" changeOnSelect ref="areaList" @change="areaChange" defValKey="id"></AreaList>
+                    </a-form-item>
                   </a-col>
                   <a-col :md="4" :sm="24">
-                    <a-form-model-item label="区域/分区">
+                    <a-form-item label="区域/分区">
                       <subarea ref="subarea" id="relatedDealersList-subarea" @change="subareaChange"></subarea>
-                    </a-form-model-item>
+                    </a-form-item>
                   </a-col>
                   <a-col :md="4" :sm="24">
                     <a-form-item label="经销商名称">
@@ -38,14 +38,15 @@
                     </a-form-item>
                   </a-col>
                   <a-col :md="4" :sm="24">
-                    <a-form-model-item label="商户级别" prop="dealerLevel">
+                    <a-form-item label="商户级别" prop="dealerLevel">
                       <v-select code="DEALER_LEVEL" id="relatedDealersList-dealerLevel" v-model="queryParam.dealerLevel" allowClear placeholder="请选择商户级别"></v-select>
-                    </a-form-model-item>
+                    </a-form-item>
                   </a-col>
                   <a-col :md="4" :sm="24" style="margin-bottom: 10px;">
-                    <a-button type="primary" @click="$refs.table.refresh(true)" :disabled="disabled" id="inventoryCheckMakeInventoryList-refresh">查询</a-button>
-                    <a-button style="margin-left: 5px" @click="resetSearchForm" :disabled="disabled" id="inventoryCheckMakeInventoryList-reset">重置</a-button>
+                    <a-button type="primary" @click="$refs.table.refresh(true)" :disabled="disabled" id="relatedDealersList-refresh">查询</a-button>
+                    <a-button style="margin-left: 5px" @click="resetSearchForm" :disabled="disabled" id="relatedDealersList-reset">重置</a-button>
                     <a-button
+                      id="relatedDealersList-export"
                       style="margin-left: 10px"
                       type="primary"
                       class="button-warning"
@@ -58,8 +59,9 @@
                 </a-row>
               </a-form>
             </div>
+            <!-- 操作按钮 -->
             <div class="relatedDealersList-btn" style="margin-bottom:10px;">
-              <a-button type="primary" @click="openDealersModal">新增经销商</a-button>
+              <a-button id="relatedDealersList-add" type="primary" @click="openDealersModal">新增经销商</a-button>
             </div>
             <!-- 列表 -->
             <s-table
@@ -87,7 +89,7 @@
                   v-if="$hasPermissions('B_serviceCenter_unbinding')"
                   class="button-info"
                   @click="handleDelete(record)"
-                  id="provincialWarehouse-edit-btn">解绑</a-button>
+                  :id="'relatedDealersList-edit-btn'+record.dealerSn">解绑</a-button>
                 <span v-else>--</span>
               </template>
             </s-table>
@@ -103,8 +105,7 @@
       :visible="openDealerModal"
       class="lookUpCustomers-modal"
       @close="closeDealerModal"
-      width="72%"
-    >
+      width="72%">
       <div class="dealerModalCon">
         <chooseDealer ref="dealerChoose" :itemSn="$route.params.sn" @plAdd="handleAddDealer"></chooseDealer>
       </div>
@@ -114,38 +115,42 @@
 
 <script>
 import { commonMixin } from '@/utils/mixin'
+import { hdExportExcel } from '@/libs/exportExcel'
+// 组件
 import { STable, VSelect } from '@/components'
 import chooseDealer from './chooseDealer.vue'
 import subarea from '@/views/common/subarea.js'
 import AreaList from '@/views/common/areaList.js'
-import { hdExportExcel } from '@/libs/exportExcel'
 import dealerType from '@/views/common/dealerType.js'
+// 接口
 import { queryServiceCenterDealerPage, serviceCenterBinding, serviceCenterUnbinding, serviceCenterExport } from '@/api/serviceCenter'
 export default {
-  name: 'LookUpCustomers',
+  name: 'RelatedDealersList',
   mixins: [commonMixin],
   components: { STable, VSelect, chooseDealer, subarea, AreaList, dealerType },
   data () {
     return {
       spinning: false,
       isShow: this.openModal, //  是否打开弹框
-      disabled: false,
-      exportLoading: false,
-      dealerType: [],
+      disabled: false, // 查询、重置按钮是否可操作
+      exportLoading: false, // 导出按钮加载状态
+      dealerType: [], // 商户类型
+      // 查询参数
       queryParam: {
-        subareaSn: undefined,
-        subareaAreaSn: undefined,
-        provinceSn: undefined,
-        citySn: undefined,
-        districtSn: undefined,
-        nameLike: '',
-        relationType: 'purchase',
+        subareaSn: undefined, // 区域
+        subareaAreaSn: undefined, // 分区
+        provinceSn: undefined, // 省sn
+        citySn: undefined, // 市sn
+        districtSn: undefined, // 区sn
+        nameLike: '', // 经销商名称
+        relationType: 'purchase', // 关系类型
         dealerType1: undefined, //  商户类型
         dealerType2: undefined, //  商户类型
-        dealerLevel: undefined
+        dealerLevel: undefined// 商户级别
       },
-      tableHeight: 0,
-      activeKeyVal: '1',
+      tableHeight: 0, // 表格高度
+      activeKeyVal: '1', // 基础信息是否显示
+      openDealerModal: false, // 打开经销商弹窗
       // 加载数据方法 必须为 Promise 对象
       loadData: parameter => {
         this.disabled = true
@@ -154,6 +159,7 @@ export default {
           let data
           if (res.status == 200) {
             data = res.data
+            // 计算表格序号
             const no = (data.pageNo - 1) * data.pageSize
             for (var i = 0; i < data.list.length; i++) {
               data.list[i].no = no + i + 1
@@ -178,8 +184,7 @@ export default {
         { title: '商户级别', dataIndex: 'dealerLevelDictValue', width: '15%', align: 'center', customRender: function (text) { return text || '--' } },
         { title: '添加时间', dataIndex: 'createDate', width: '15%', align: 'center', customRender: function (text) { return text || '--' } },
         { title: '操作', scopedSlots: { customRender: 'action' }, width: '12%', align: 'center' }
-      ],
-      openDealerModal: false
+      ]
     }
   },
   methods: {
@@ -195,6 +200,7 @@ export default {
       this.openDealerModal = false
       this.$refs.dealerChoose.clearSelect()
     },
+    // 商户类型 change
     getDealerType (v, o) {
       this.queryParam.dealerType1 = v[0]
       this.queryParam.dealerType2 = v[1]
@@ -222,11 +228,13 @@ export default {
         this.$refs.table.refresh()
       })
     },
+    // 地区 change
     areaChange (val) {
       this.queryParam.provinceSn = val[0] ? val[0] : ''
       this.queryParam.citySn = val[1] ? val[1] : ''
       this.queryParam.districtSn = val[2] ? val[2] : ''
     },
+    // 区域分区  change
     subareaChange (val) {
       this.queryParam.subareaSn = val[0] ? val[0] : undefined
       this.queryParam.subareaAreaSn = val[1] ? val[1] : undefined
@@ -247,6 +255,7 @@ export default {
         }
       })
     },
+    // 确定解绑
     submitDel (params) {
       this.spinning = true
       serviceCenterUnbinding(params).then(res => {
@@ -292,6 +301,7 @@ export default {
     handleBack () {
       this.$router.push({ name: 'provincialWarehouseList' })
     },
+    // 初始化
     pageInit () {
       const _this = this
       this.$nextTick(() => { // 页面渲染完成后的回调
@@ -299,6 +309,7 @@ export default {
       })
       _this.resetSearchForm()
     },
+    // 计算列表高度
     setTableH () {
       const headHeight = this.$refs.headerBar.offsetHeight
       this.tableHeight = window.innerHeight - headHeight - 340

+ 1 - 1
src/views/reportData/tireSalesReport/detailList.vue

@@ -130,7 +130,7 @@
               type="link"
               class="button-warning"
               @click="handleOutDetail(record)"
-              id="tireSalesReportList-outDetail">出库明细</a-button>
+              :id="'tireSalesReportList-outDetail'+record.productSn+record.dealerSn">出库明细</a-button>
             <span v-else>--</span>
           </template>
           <template slot="footer">

+ 1 - 2
src/views/reportData/urchaseDetailReturn/detailList.vue

@@ -109,7 +109,7 @@
           <template slot="attachmentList" slot-scope="text, record">
             <span v-if="record.attachmentList && record.attachmentList.length > 0">
               <a
-                id="urchaseDetailReturn-link"
+                :id="'urchaseDetailReturn-link'+record.id"
                 target="_blank"
                 style="color: #00aaff;text-decoration: underline;margin-right: 15px;"
                 :href="item.filePath"
@@ -121,7 +121,6 @@
             </span>
             <span v-else>--</span>
           </template>
-
           <template slot="footer">
             <a-row :gutter="15">
               <a-col :md="4" :sm="24">申请退货数量:{{ (totalData && (totalData.qty || totalData.qty==0)) ? totalData.qty : '--' }}</a-col>

+ 1 - 1
src/views/reportData/urchaseReturn/list.vue

@@ -79,7 +79,7 @@
             <span v-if="record.attachmentList && record.attachmentList.length > 0">
               <a
                 target="_blank"
-                id="urchaseReturnList-link"
+                :id="'urchaseReturnList-link'+record.id"
                 style="color: #00aaff;text-decoration: underline;margin-right: 15px;"
                 :href="item.filePath"
                 v-for="item in record.attachmentList"