Explorar el Código

修复业务员角色通告列表闪退

zhangqiOMG hace 3 años
padre
commit
233f06bc26

+ 11 - 10
src/SManagement/notice/index.vue

@@ -1,14 +1,14 @@
 <template>
   <div class="normal-card">
-    <search @searchActive="searchActive" @clearData="clearData" v-if="tool.checkAuth($route.name,'read')"></search>
+    <Search @searchActive="searchActive" @clearData="clearData" v-if="tool.checkAuth($route.name,'read')"></Search>
     <div class="content">
-      <list :list="list" v-if="tool.checkAuth($route.name,'read')"></list>
+      <List :list="list" v-if="tool.checkAuth($route.name,'read')"></List>
       <div class="page">
-        <pagination :total="total"
-                    :pageSize="param.content.pageSize"
-                    :currentPage="param.content.pageNumber"
-                    @pageChange="pageChange">
-        </pagination>
+        <Pagination :total="total"
+          :pageSize="param.content.pageSize"
+          :currentPage="param.content.pageNumber"
+          @pageChange="pageChange">
+        </Pagination>
       </div>
     </div>
   </div>
@@ -17,7 +17,7 @@
 <script>
 import Pagination from '@/components/pagination/Pagination'
 import List from '@/SManagement/notice/compoents/list'
-import search from '@/components/search/index'
+import Search from '@/components/search/index'
 export default {
   name: "Index",
   data() {
@@ -44,12 +44,13 @@ export default {
   components: {
     Pagination,
     List,
-    search,
+    Search,
   },
   created() {
     this.getNoticeData()
   },
-  mounted() {},
+  mounted() {
+  },
   methods: {
     //获取通告列表
     async getNoticeData() {

+ 1 - 1
src/components/import/importFile.vue

@@ -7,7 +7,7 @@
       <div style="background:#f1f2f3" class="my-tabs" >
         <el-tabs v-model="activeName" type="card">
           <el-tab-pane label="导入经销商线索" name="first"></el-tab-pane>
-          <el-tab-pane label="导入业务员线索" name="second"></el-tab-pane>
+          <!-- <el-tab-pane label="导入业务员线索" name="second"></el-tab-pane> -->
         </el-tabs>
       </div>
       <div style="padding:20px">

+ 13 - 3
src/components/scopeOfAuthority/modules/dep_auth.vue

@@ -2,9 +2,10 @@
   <div>
     <el-row :gutter="20">
       <el-col :span="12">
-        <el-button size="mini" @click="setCheckedKeys">全 选</el-button>
+        <el-button size="mini" @click="setCheckedKeys" class="normal-margin">{{allSelectKeys.length > 0?'取消全选':'全选部门'}}</el-button>
         <div class="tree-panel">
           <el-tree
+            v-if="refreshTree"
             ref="tree"
             :data="deplist"
             node-key="departmentid"
@@ -14,6 +15,7 @@
             :check-on-click-node="false"
             :expand-on-click-node="false"
             :show-checkbox="true"
+            :default-checked-keys="allSelectKeys"
             @node-click="nodeClick"
             @check="nodeCheck"
             @check-change="checkChange">
@@ -69,17 +71,18 @@ export default {
       departmentids:[], // 选中的部门
       onCheckedMenber:[], // 当前查询人员列表选中的人员
       allKeys:[],
+      allSelectKeys:[],
       searchValue:'', // 搜索人员
       clickdepid:'', // 点击的部门id
       isonlymanager_dept:false,
       checkAll:false,
       isIndeterminate:false,
+      refreshTree:true
     }
   },
   methods:{
     // 查询部门
     async department () {
-      console.log(this.$route.query.id,this.obiectId)
       const res = await this.$api.requested({
         "classname": "webmanage.department.department",
         "method": "querydepartment_auth",
@@ -173,7 +176,13 @@ export default {
     },
     // 全选部门
     setCheckedKeys() {
-      this.$refs.tree.setCheckedKeys(this.allKeys);
+      this.refreshTree = false
+      this.allSelectKeys.length > 0?this.allSelectKeys = []:this.allSelectKeys = this.allKeys
+      setTimeout(() => {
+        this.refreshTree = true
+      }, 10);
+      this.departmentids = this.allSelectKeys
+      this.$emit('onParams',this.departmentids,this.checkedMenbers,this.isonlymanager_dept)
     },
     // 点击部门
     nodeClick (row,node,comp) {
@@ -241,6 +250,7 @@ export default {
   watch:{
     defaultData (val) {
       this.departmentids = val.departmentid
+      this.allSelectKeys = val.departmentid
       this.checkedMenbers = val.hrid
       this.isonlymanager_dept = val.isonlymanager_dept
       this.$refs.tree.setCheckedKeys(val.departmentid)

+ 18 - 1
src/components/scopeOfAuthority/modules/mar_auth.vue

@@ -2,8 +2,10 @@
   <div>
     <el-row :gutter="20">
       <el-col :span="12">
+        <el-button size="mini" @click="setCheckedKeys" class="normal-margin">{{allSelectKeys.length > 0?'取消选择':'全选组织'}}</el-button>
         <div class="tree-panel">
           <el-tree
+            v-if="refreshTree"
             ref="tree"
             :data="deplist"
             node-key="sa_saleareaid"
@@ -13,6 +15,7 @@
             :check-on-click-node="false"
             :expand-on-click-node="false"
             :show-checkbox="true"
+            :default-checked-keys="allSelectKeys"
             @node-click="nodeClick"
             @check="nodeCheck"
             @check-change="checkChange">
@@ -67,11 +70,14 @@ export default {
       checkedMenbers:[], // 授权人员信息
       saleareaids:[], // 选中的部门
       onCheckedMenber:[], // 当前查询人员列表选中的人员
+      allKeys:[],
+      allSelectKeys:[],
       searchValue:'', // 搜索人员
       clickdepid:'', // 点击的部门id
       isonlymanager_agent:false,
       checkAll:false,
       isIndeterminate:false,
+      refreshTree:true
     }
   },
   methods:{
@@ -110,8 +116,12 @@ export default {
         }
           
         if (node.subarea && node.subarea.length > 0) {
+          that.allKeys.push(node.sa_saleareaid)
           // 如果存在子节点
           for (var index = 0; index < node.subarea.length; index++) {
+            that.allKeys.push(node.subarea[index].sa_saleareaid)
+            const res = new Map();
+            that.allKeys = that.allKeys.filter((item) => !res.has(item) && res.set(item, 1));
             // 遍历子节点, 把每个子节点看做一颗独立的树, 传入递归构造子树, 并把结果放回到新node的children中
             elNode.children.push(convertToElementTree(node.subarea[index]));
           }
@@ -158,7 +168,13 @@ export default {
     },
     // 全选部门
     setCheckedKeys() {
-      this.$refs.tree.setCheckedKeys([3]);
+      this.refreshTree = false
+      this.allSelectKeys.length > 0?this.allSelectKeys = []:this.allSelectKeys = this.allKeys
+      setTimeout(() => {
+        this.refreshTree = true
+      }, 10);
+      this.saleareaids = this.allSelectKeys
+      this.$emit('onAgentParams',this.saleareaids,this.checkedMenbers,this.isonlymanager_agent)
     },
     // 点击部门
     nodeClick (row,node,comp) {
@@ -227,6 +243,7 @@ export default {
     },
     defaultData (val) {
       this.saleareaids = val.sa_saleareaid
+      this.allSelectKeys = val.sa_saleareaid
       this.checkedMenbers = val.sa_agentsid
       this.isonlymanager_agent = val.isonlymanager_agent
       this.$refs.tree.setCheckedKeys(val.sa_saleareaid)

+ 1 - 1
src/router/SManagement.js

@@ -1,6 +1,6 @@
 const SManagement = [{
   path: '/notice_list',
-  name: 'noticemag',
+  name: 'notice',
   meta: {
     title: '通告',
     ast_nav: true

+ 1 - 3
src/views/login/login.vue

@@ -45,7 +45,6 @@
                 <el-form-item>
                   <div class="flex-between">
                     <el-checkbox v-model="checked">记住账号</el-checkbox>
-                    <!-- <el-button type="text">忘记密码</el-button> -->
                   </div>
                 </el-form-item>
                 <el-form-item>
@@ -54,8 +53,6 @@
               </el-form>
             </el-tab-pane>
           </el-tabs>
-          <!-- <el-divider><span style="color:#999;font-weight:300">其他登录方式</span></el-divider>
-          <span>敬请期待</span> -->
         </div>
       </div>
       
@@ -98,6 +95,7 @@ export default {
       this.loginForm.phonenumber = localStorage.getItem('phonenumber')
       this.checked = true
     }
+    console.log(this.HTTP_DEFALUT_ERROR)
   },
   methods:{
     //验证码请求