Parcourir la source

fix:代理人tree接口更改

刘恒 il y a 2 ans
Parent
commit
c76bce015a

BIN
src/assets/img/indexBg.png


+ 131 - 0
src/components/tree/agentTree.vue

@@ -0,0 +1,131 @@
+<template>
+  <div class="tree">
+    <a-tree
+      v-if="treeData && treeData.length > 0"
+      :tree-data="treeData"
+      :title="'11'"
+      :replaceFields="replaceFields"
+      @select="onSelect"
+      :checkable="checkable"
+      @check="onCheck"
+      v-model="checkList"
+      :auto-expand-parent="autoExpandParent"
+      :expanded-keys="expandedKeys"
+      @expand="onExpand"
+      ref="tree"
+      :load-data="onLoadData"
+    >
+      <template slot="custom" slot-scope="item">
+        <span>{{ item }}</span>
+        <!-- <span style="color: #f50">({{ item.num }})</span> -->
+      </template>
+    </a-tree>
+  </div>
+</template>
+      
+      <script>
+// import mixin from "../../minins/mixin";
+import { mapState } from "vuex";
+export default {
+  name: "FormRow",
+  //   mixins: [mixin],
+  props: {
+    checkable: {
+      default: false,
+    },
+    // defaultCheckList: {
+    //   default: [],
+    // },
+  },
+  data() {
+    return {
+      treeData: [],
+      replaceFields: {
+        children: "children",
+        title: "name",
+        key: "id",
+      },
+      checkList: [],
+      autoExpandParent: true,
+      expandedKeys: [],
+    };
+  },
+  computed: {
+    ...mapState("setting", ["userInfo"]),
+  },
+  watch: {},
+  created() {},
+  mounted() {
+    this.getUserTree();
+  },
+  methods: {
+    onExpand(expandedKeys) {
+      this.expandedKeys = expandedKeys;
+      //expandedKeys
+      this.autoExpandParent = true;
+    },
+    setExpandKys(item) {
+      this.$nextTick(() => {
+        // this.$refs.tree.expandedKeys = ["99D17"];
+        // this.$refs.tree.defaultExpandedKeys = ["99D17"];
+        // console.log(this.$refs.tree);
+        // this.expandedKeys = ["99D17"];
+        // this.checkList = ["99D17"];
+        this.$API.sysManage
+          .getUserItem({
+            userId: item.userId,
+          })
+          .then((res) => {
+            if (res.data.code === 200) {
+              this.expandedKeys = res.data.data.deptIds;
+              this.checkList = res.data.data.deptIds;
+            }
+          });
+      });
+    },
+    getUserTree() {
+      // console.log(this.userInfo);
+      this.$API.business.findNextAgentTree({}).then((res) => {
+        if (res.data.code === 200) {
+          this.treeData = res.data.data;
+        }
+      });
+    },
+    onLoadData(treeNode) {
+      return new Promise((resolve) => {
+        if (treeNode.dataRef.children) {
+          resolve();
+          return;
+        }
+        this.$API.business
+          .findNextAgentTree({ pid: treeNode.eventKey })
+          .then((res) => {
+            if (res.data.code === 200) {
+              treeNode.dataRef.children = [...res.data.data];
+              //   this.treeData = [];
+              this.treeData = [...this.treeData];
+              resolve();
+            }
+          });
+      });
+    },
+
+    onSelect(keys) {
+      this.$emit("getList", keys[0]);
+    },
+    onCheck(checkedKeys) {
+      this.$emit("checkTree", checkedKeys);
+
+      // this.checkedKeys = checkedKeys;
+    },
+  },
+};
+</script>
+      
+    <style lang="less" scoped>
+.tree {
+  height: 900px;
+  overflow-y: auto;
+}
+</style>
+      

+ 1 - 1
src/pages/business/agent.vue

@@ -174,7 +174,7 @@
   <script>
   <script>
 import StandardTable from "@/components/table/StandardTable";
 import StandardTable from "@/components/table/StandardTable";
 // import mixin from "../../minins/mixin";
 // import mixin from "../../minins/mixin";
-import tree from "@/components/tree/userTree";
+import tree from "@/components/tree/agentTree";
 import moment from "moment";
 import moment from "moment";
 
 
 const columns = [
 const columns = [

+ 62 - 3
src/pages/index/index.vue

@@ -1,16 +1,75 @@
 <template>
 <template>
-  <div>123456首页</div>
+  <div class="home">
+    <a-row>
+      <a-col :span="6" v-for="item in menuData" :key="item.id">
+        <dl @click="RouterLink(item)">
+          <dt>
+            <img src="../../assets/img/money.png" alt="" />
+          </dt>
+          <dd>
+            <h2>{{ item.name }}</h2>
+          </dd>
+        </dl>
+      </a-col>
+    </a-row>
+  </div>
 </template>
 </template>
 
 
 <script>
 <script>
+import { mapState } from "vuex";
 export default {
 export default {
   data() {
   data() {
     return {};
     return {};
   },
   },
   created() {},
   created() {},
-  mounted() {},
-  methods: {},
+  mounted() {
+    console.log(this.menuData);
+  },
+  computed: {
+    ...mapState("setting", ["menuData"]),
+  },
+  methods: {
+    RouterLink(item) {
+      this.$router.push({
+        path: "/" + item.url + "/" + item.children[0].url,
+      });
+    },
+  },
 };
 };
 </script>
 </script>
 <style lang='less' scoped>
 <style lang='less' scoped>
+.home {
+  width: 100%;
+  height: 100%;
+
+  background: #f3f4f6;
+
+  position: relative;
+  z-index: 999;
+  > div {
+    padding-top: 200px;
+    box-sizing: border-box;
+    background: url("../../assets/img/indexBg.png") no-repeat;
+    background-size: 100% auto;
+
+    .ant-col {
+      padding: 15px;
+      box-sizing: border-box;
+    }
+    dl {
+      background: #fff;
+      display: flex;
+      padding: 15px;
+      box-sizing: border-box;
+      border-radius: 8px;
+      img {
+        width: 80px;
+        height: 80px;
+      }
+    }
+    dd {
+      margin-left: 10px;
+    }
+  }
+}
 </style>
 </style>

+ 1 - 1
src/pages/sales/sales.vue

@@ -11,7 +11,7 @@
       <!-- <div class="back-line-header"></div> -->
       <!-- <div class="back-line-header"></div> -->
       <div style="background-color: #fff">
       <div style="background-color: #fff">
         <div class="table-title">
         <div class="table-title">
-          <h2>代理人</h2>
+          <h2>电销</h2>
           <div>
           <div>
             <span>时间筛选</span>
             <span>时间筛选</span>
             <a-range-picker
             <a-range-picker

+ 13 - 4
src/pages/sys/role.vue

@@ -216,7 +216,6 @@ export default {
 
 
       this.form.validateFields((err, values) => {
       this.form.validateFields((err, values) => {
         if (!err) {
         if (!err) {
-          console.log("Received values of form: ", values);
           this.$API.sysManage
           this.$API.sysManage
             .setRoleItem({
             .setRoleItem({
               ...this.dataForm,
               ...this.dataForm,
@@ -236,7 +235,10 @@ export default {
     addRole() {
     addRole() {
       this.visible = true;
       this.visible = true;
       this.title = "新增";
       this.title = "新增";
-      this.resetForm = { ...this.dataForm };
+      this.dataForm = { ...this.resetForm };
+      this.$nextTick(() => {
+        this.form.setFieldsValue({ ["name"]: "" });
+      });
     },
     },
     search() {
     search() {
       this.pagination.current = 1;
       this.pagination.current = 1;
@@ -295,7 +297,7 @@ export default {
     },
     },
     onClickRow(val) {
     onClickRow(val) {
       this.tableItem = { ...val };
       this.tableItem = { ...val };
-
+      this.checkedKeys = [];
       this.treeDisabled = false;
       this.treeDisabled = false;
       this.$API.sysManage
       this.$API.sysManage
         .roleFindMenus({
         .roleFindMenus({
@@ -306,7 +308,14 @@ export default {
             let allMenus = [];
             let allMenus = [];
             if (res.data.data.length < 1) {
             if (res.data.data.length < 1) {
               this.checkedKeys = [];
               this.checkedKeys = [];
-            } else this.checkAllMenu(res.data.data, allMenus);
+            } else {
+              // res.data.data.forEach((item) => {
+              //   item.children.forEach((v) => {
+              //     this.checkedKeys.push(v.id);
+              //   });
+              // });
+              this.checkAllMenu(res.data.data, allMenus);
+            }
           }
           }
         });
         });
     },
     },

+ 3 - 1
src/pages/sys/roleConfig.vue

@@ -188,7 +188,9 @@ export default {
     configRole(item) {
     configRole(item) {
       this.visible = true;
       this.visible = true;
       this.dataForm = { ...item.record };
       this.dataForm = { ...item.record };
-      this.dataForm.roleId = item.record.roleId;
+      this.dataForm.roleId = item.record.roleId
+        ? Number(item.record.roleId)
+        : null;
     },
     },
     treeChoose(id) {
     treeChoose(id) {
       this.pagination.current = 1;
       this.pagination.current = 1;

+ 1 - 2
src/router/config.js

@@ -17,10 +17,9 @@ const router = new Router({
       path: '/',
       path: '/',
       name: '首页',
       name: '首页',
       component: TabsView,
       component: TabsView,
-      redirect: '/index',
       children: [
       children: [
         // {
         // {
-        //   path: '/index',
+        //   path: '/home',
         //   name: '首页',
         //   name: '首页',
         //   component: () => import('@/pages/index/index')
         //   component: () => import('@/pages/index/index')
         // },
         // },

+ 6 - 2
src/services/business.js

@@ -25,7 +25,10 @@ export async function getBusinessAgentTotalDetails(data) {
 export async function getUserTree(data) {
 export async function getUserTree(data) {
     return request("/user/findNextTree", METHOD.GET, data)
     return request("/user/findNextTree", METHOD.GET, data)
 }
 }
-
+//获取代理人员树
+export async function findNextAgentTree(data) {
+    return request("/user/findNextAgentTree", METHOD.GET, data)
+}
 
 
 
 
 
 
@@ -36,5 +39,6 @@ export default {
     getBusinessAgentList,
     getBusinessAgentList,
     getBusinessAgentTotalList,
     getBusinessAgentTotalList,
     getUserTree,
     getUserTree,
-    getBusinessAgentTotalDetails
+    getBusinessAgentTotalDetails,
+    findNextAgentTree
 }
 }