刘恒 пре 2 година
родитељ
комит
d31d53ba06

+ 1 - 1
src/components/form/FormRow.vue

@@ -79,7 +79,7 @@
     </a-form-item>
     <a-form-item
       label="门店机构"
-      :labelCol="{ span: 5 }"
+      :labelCol="{ span: 7 }"
       :colon="false"
       v-show="showTab > 3"
     >

+ 8 - 2
src/components/menu/SideMenu.vue

@@ -39,8 +39,14 @@
           <span slot="title"
             ><a-icon type="appstore" /><span>{{ val.name }}</span></span
           >
-          <a-menu-item v-for="three in val.children" :key="three.id">
-            <div @click="routerChange(three, val)">{{ three.name }}</div>
+          <a-menu-item
+            v-for="three in val.children"
+            :key="three.id"
+            v-show="three.name != '团队管理'"
+          >
+            <div @click="routerChange(three, val)">
+              {{ three.name }}
+            </div>
           </a-menu-item>
         </a-sub-menu>
       </a-sub-menu>

+ 33 - 10
src/pages/agreement/index.vue

@@ -38,13 +38,33 @@
     >
       <div slot="validStatus" slot-scope="{ text }">
         <!-- {{text}} -->
-        <a-tag v-show="text == 1" color="blue">有效</a-tag>
-        <a-tag v-show="text == 0">无效</a-tag>
+        <a-tag
+          v-if="text == 1"
+          style="
+            background: rgba(120, 148, 242, 0.2);
+            border-radius: 2px 2px 2px 2px;
+            border: 1px solid #7894f2;
+            color: #2a55e5;
+          "
+          >有效</a-tag
+        >
+        <a-tag v-else>无效</a-tag>
       </div>
-      <div slot="btn" slot-scope="{ text }">
+      <div slot="isEenabled" slot-scope="{ text }">
         <!-- {{text}} -->
-        <a-button v-show="text == 1" type="primary" size="small">启用</a-button>
-        <a-button v-show="text == 0" size="small">禁用</a-button>
+        <a-button
+          v-if="text == 1"
+          type="primary"
+          size="small"
+          style="
+            background: linear-gradient(180deg, #66cdbb 0%, #33a08d 100%);
+            border-radius: 4px 4px 4px 4px;
+          "
+          >启用</a-button
+        >
+        <a-button v-else size="small" style="background: #f5f5f5"
+          >关闭</a-button
+        >
       </div>
 
       <!-- {{text }} -->
@@ -107,14 +127,14 @@ const columns = [
   },
   {
     title: "是否有效",
-    dataIndex: "isEenabled",
-    scopedSlots: { customRender: "isEenabled" },
+    dataIndex: "validStatus",
+    scopedSlots: { customRender: "validStatus" },
     width: "100px",
   },
   {
     title: "是否启用",
-    dataIndex: "validStatus",
-    scopedSlots: { customRender: "validStatus" },
+    dataIndex: " isEenabled",
+    scopedSlots: { customRender: "isEenabled" },
     width: "100px",
   },
   {
@@ -335,7 +355,10 @@ export default {
     }
   }
   .on {
-    background: rgb(234, 238, 253);
+    background: #f9faff;
+    box-shadow: 0px 2px 8px 0px rgba(42, 85, 229, 0.15);
+    border-radius: 8px 8px 8px 8px;
+    border: 2px solid #2a55e5;
   }
 }
 </style>

+ 26 - 4
src/pages/financial/verification.vue

@@ -5,7 +5,11 @@
         <h2>费用校验</h2>
         <div>
           <span>时间筛选</span>
-          <a-range-picker @change="onChange" v-model="formState.time">
+          <a-range-picker
+            @change="onChangeTime"
+            v-model="formState.time"
+            valueFormat="YYYY-MM-DD HH:mm:ss"
+          >
             <a-icon slot="suffixIcon" type="calendar" />
           </a-range-picker>
           <a-radio-group
@@ -23,9 +27,9 @@
       <a-radio-group
         default-value="0"
         button-style="solid"
-        v-model="formState.days"
+        v-model="formState.riskCode"
       >
-        <a-radio-button value="1"> 全部 </a-radio-button>
+        <a-radio-button value="all"> 全部 </a-radio-button>
         <a-radio-button value="单交"> 单交 </a-radio-button>
         <a-radio-button value="单商"> 单商 </a-radio-button>
         <a-radio-button value="单三"> 单三 </a-radio-button>
@@ -53,6 +57,7 @@
     
     <script>
 import StandardTable from "@/components/table/StandardTable";
+
 // import mixin from "../../minins/mixin";
 const columns = [
   {
@@ -102,6 +107,9 @@ export default {
         provinceId: "",
         days: "",
         time: "",
+        riskCode: "",
+        endDate: undefined,
+        beginDate: undefined,
       },
       backLinePersonnel: {},
       columns: columns,
@@ -124,6 +132,14 @@ export default {
       storeList: [],
     };
   },
+  watch: {
+    "formState.riskCode"() {
+      this.getVerification();
+    },
+    "formState.days"() {
+      this.getVerification();
+    },
+  },
   mounted() {
     this.getVerification();
     // setTimeout(() => {
@@ -152,6 +168,7 @@ export default {
         .getVerificationList({
           pageNum: this.pagination.current,
           pageSize: this.pagination.defaultPageSize,
+          ...this.formState,
         })
         .then((res) => {
           if (res.data.code === 200) {
@@ -168,7 +185,12 @@ export default {
     onClear() {
       this.$message.info("您清空了勾选的所有行");
     },
-
+    onChangeTime(val) {
+      // console.log(val);
+      this.formState.beginDate = val[0];
+      this.formState.endDate = val[1];
+      this.getVerification();
+    },
     onChange(pagination, filters, sorter, { currentDataSource }) {
       // this.$message.info('表格状态改变了')
       console.log(pagination, filters, sorter, { currentDataSource });

+ 10 - 1
src/pages/personnelManage/backLine.vue

@@ -102,6 +102,7 @@
             </p>
             <div>
               <div
+                v-if="backLinePersonnel.manProportion > 0"
                 :style="{
                   width:
                     (backLinePersonnel.manProportion * 100).toFixed(0) + '%',
@@ -111,6 +112,7 @@
                 {{ (backLinePersonnel.manProportion * 100).toFixed(0) + "%" }}
               </div>
               <div
+                v-if="backLinePersonnel.femaleProportion > 0"
                 :style="{
                   width:
                     (backLinePersonnel.femaleProportion * 100).toFixed(0) + '%',
@@ -214,7 +216,7 @@ export default {
     justify-content: space-between;
     > div {
       // flex: ;
-      width: 33%;
+      width: 32%;
       height: 100%;
       background: #fff;
       border-radius: 8px;
@@ -294,6 +296,13 @@ export default {
       }
     }
   }
+  .back-line-message {
+    display: flex;
+    > div {
+      flex: none;
+      width: 30%;
+    }
+  }
 }
 .other-module {
   display: flex;

+ 16 - 8
src/pages/personnelManage/channel.vue

@@ -18,8 +18,8 @@
             v-model="formState.days"
           >
             <a-radio-button :value="1"> 近1天 </a-radio-button>
-            <a-radio-button :value="7"> 近7天 </a-radio-button>
-            <a-radio-button :value="30"> 近30天 </a-radio-button>
+            <a-radio-button :value="2"> 近7天 </a-radio-button>
+            <a-radio-button :value="3"> 近30天 </a-radio-button>
           </a-radio-group>
         </div>
       </div>
@@ -65,10 +65,13 @@
     </div>
     <div class="list">
       <div class="personnel-message">
-        <div v-for="item in list" :key="item.deptId">
+        <div v-for="item in list" :key="item.userId">
           <p>姓名:{{ item.name }}</p>
           <p>机构归属:{{ item.deptName }}</p>
-
+          <p>
+            <span>总人力:{{ item.totalManpower || 0 }}</span>
+            <span>出单人力:{{ item.orderManpower || 0 }}</span>
+          </p>
           <p>
             <span>总保费:{{ item.totalPremium || 0 }}</span>
             <span>单均保费:{{ item.averagePremium || 0 }}</span>
@@ -127,8 +130,8 @@ export default {
         name: undefined,
         userCode: undefined,
         phoneNumber: undefined,
-        createtimeEnd: undefined,
         createtimeStart: undefined,
+        createtimeEnd: undefined,
       },
       process: process.env.VUE_APP_API_BASE_URL,
 
@@ -142,6 +145,11 @@ export default {
       list: [],
     };
   },
+  watch: {
+    "formState.days"() {
+      this.getList();
+    },
+  },
   mounted() {
     this.getList();
     // setTimeout(() => {
@@ -154,7 +162,7 @@ export default {
     timeChange(val) {
       this.formState.createtimeStart = val[0];
       this.formState.createtimeEnd = val[1];
-      // this.getList();
+      this.getList();
     },
     getList() {
       this.loading = true;
@@ -186,9 +194,9 @@ export default {
     },
     teamMessage(item) {
       // item
-      // console.log(this.$route)
+      console.log(this.$router);
       this.$router.push({
-        path: "/personnelManage/front/teammanage",
+        path: "/personnelManage/channel/message",
         query: {
           userId: item.userId,
           totalManpower: item.totalManpower,

+ 441 - 0
src/pages/personnelManage/channel/message.vue

@@ -0,0 +1,441 @@
+<template>
+  <div class="back-line-main">
+    <!-- <div class="team-manage">
+      <h2>团队管理</h2>
+      <a-row>
+        <a-col :span="4" v-for="(item, index) in teamList" :key="index">
+          <div :class="teamTab == index ? 'on' : ''" @click="teamTab = index">
+            <p>团队级别:{{ item.teamlevel }}</p>
+            <p>团队人数:{{ item.teamnum || 0 }}</p>
+            <p>签单保费:{{ item.sumpremium || 0 }}</p>
+            <p>出单人力:{{ item.usernum || 0 }}</p>
+          </div>
+        </a-col>
+      </a-row>
+    </div> -->
+    <div class="back-line-hearder">
+      <div class="title">
+        <h2>成员详情</h2>
+        <div>
+          月份筛选
+          <a-month-picker placeholder="请选择月份" @change="monthChange" />
+        </div>
+      </div>
+      <a-form layout="inline" :model="formState" @finish="handleFinish">
+        <a-form-item label="姓名" :labelCol="{ span: 5 }" :colon="false">
+          <a-input
+            v-model="formState.name"
+            placeholder="请输入姓名"
+            allowClear
+          ></a-input>
+        </a-form-item>
+        <a-form-item label="工号" :labelCol="{ span: 5 }" :colon="false">
+          <a-input
+            v-model="formState.userCode"
+            placeholder="请输入工号"
+            allowClear
+          ></a-input>
+        </a-form-item>
+        <a-form-item label="手机号" :labelCol="{ span: 5 }" :colon="false">
+          <a-input
+            v-model="formState.phoneNumber"
+            placeholder="请输入手机号"
+            allowClear
+          ></a-input>
+        </a-form-item>
+        <!-- <a-form-item label="筛选时间" :labelCol="{ span: 5 }" :colon="false">
+            <a-input></a-input>
+          </a-form-item> -->
+        <a-form-item
+          label="             "
+          :labelCol="{ span: 5 }"
+          :colon="false"
+          class="form-item-search"
+        >
+          <a-button type="primary" @click="getList()">查询</a-button>
+        </a-form-item>
+      </a-form>
+      <div class="personnel-message">
+        <div v-for="item in userList" :key="item.deptId">
+          <p>团队成员:{{ item.name }}</p>
+          <p>报价笔数:{{ item.orderNumber || 0 }}</p>
+          <p>
+            <span>核保笔数:{{ item.underwritingCount || 0 }}</span>
+          </p>
+          <p>
+            <span>出单数:{{ item.qutationInsureCount || 0 }}</span>
+            <span>签单保费:{{ item.totalPremium || 0 }}</span>
+          </p>
+          <p>
+            <span>已认证:1864613</span>
+            <span>未认证:1864613</span>
+          </p>
+          <div>
+            <img :src="process + item.filePath" alt="" />
+          </div>
+          <p>
+            <a-button type="primary" @click="openDrawer(item)">详情</a-button>
+          </p>
+        </div>
+      </div>
+      <div class="page">
+        <a-pagination
+          v-model="current"
+          :total="pageInfo.total"
+          show-less-items
+          show-size-changer
+          show-quick-jumper
+          @change="pageChange"
+          :page-size.sync="pageInfo.pageSize"
+          :pageSizeOptions="['12', '24', '36', '48']"
+        />
+      </div>
+    </div>
+    <a-drawer
+      :width="500"
+      :placement="placement"
+      :visible="visible"
+      :headerStyle="headerStyle"
+      :closable="false"
+    >
+      <template slot="title">
+        <div class="custom-title" :style="headerStyle">
+          <div>
+            <a-icon type="close" @click="onClose" />
+            成员信息
+          </div>
+          <div>
+            <a-button style="margin-right: 8px" @click="onClose">取消</a-button>
+            <a-button type="primary" @click="onClose">确认</a-button>
+          </div>
+        </div>
+      </template>
+      <h3>个人信息</h3>
+      <ul class="list">
+        <li>
+          <span>姓名</span>
+          <span>{{ userData.name }}</span>
+        </li>
+        <li>
+          <span>会员号</span> <span>{{ userData.userId }}</span>
+        </li>
+        <li>
+          <span>手机号</span> <span>{{ userData.userPhone }}</span>
+        </li>
+        <li>
+          <span>注册时间</span> <span>{{ userData.userDate }}</span>
+        </li>
+        <li>
+          <span>是否达标</span> <span>{{ userData.isCompliance }}</span>
+        </li>
+        <li>
+          <span>签单保费</span> <span>{{ userData.totalPremium }}</span>
+        </li>
+        <li>
+          <span>出单人力</span> <span>{{ userData.orderManpower }}</span>
+        </li>
+        <li>
+          <span>签单保费达标差距</span>
+          <span>{{ userData.premiumCompliance }}</span>
+        </li>
+        <li>
+          <span>出单人力达标差距</span>
+          <span>{{ userData.orderManpowerCompliance }}</span>
+        </li>
+      </ul>
+    </a-drawer>
+  </div>
+</template>
+    
+    <script>
+export default {
+  data() {
+    return {
+      formState: {
+        phoneNumber: "",
+        name: "",
+        userCode: "",
+      },
+      current: 1,
+      teamTab: 0,
+      visible: false,
+      placement: "right",
+      userData: {},
+      headerStyle: {
+        display: "flex",
+        "align-items": "center",
+        "justify-content": "space-between",
+      },
+      process: process.env.VUE_APP_API_BASE_URL,
+      userList: [],
+      pageInfo: {
+        pageNum: 1,
+        pageSize: 12,
+        total: 0,
+      },
+      teamList: [],
+    };
+  },
+  watch: {
+    // $route(val) {
+    //   // console.log(val);
+    // },
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    handleFinish() {
+      //
+    },
+    openDrawer(item) {
+      // item
+      this.visible = true;
+      console.log(item);
+      this.$API.personnel
+        .getTeamUserDetails({
+          userId: item.userId,
+        })
+        .then((res) => {
+          console.log(res);
+          if (res.data.code === 200) {
+            this.userData = { ...res.data.data };
+          }
+        });
+      // console.log(this.visible)
+    },
+    monthChange() {},
+    onClose() {
+      //
+      this.visible = false;
+    },
+    pageChange(page, pageSize) {
+      //   console.log(page, pageSize);
+      this.pageInfo.pageNum = page;
+      this.pageInfo.pageSize = pageSize;
+      this.getList();
+    },
+    getList() {
+      this.$API.personnel
+        .getChannelDetails({
+          userId: this.$route.query.userId,
+        })
+        .then((res) => {
+          // console.log(res);
+          if (res.data.code === 200) {
+            this.teamList = [...res.data.data.hzList];
+            // this.teamList.unshift({
+            //   totalManpower: this.$route.query.totalManpower,
+            //   totalPremium: this.$route.query.totalPremium,
+            //   orderManpower: this.$route.query.orderManpower,
+            //   teamLevel: "汇总",
+            // });
+          }
+        });
+      this.$API.personnel
+        .getTeamUserList({
+          userId: this.$route.query.userId,
+          pageNum: this.pageInfo.pageNum,
+          pageSize: this.pageInfo.pageSize,
+          ...this.formState,
+        })
+        .then((res) => {
+          if (res.data.code === 200) {
+            this.userList = [...res.data.data.records];
+            this.pageInfo.total = res.data.data.total;
+          }
+        });
+    },
+  },
+};
+</script>
+    <style lang='less' scoped>
+.back-line-main {
+  display: flex;
+  height: 100%;
+  flex-direction: column;
+  .team-manage {
+    width: 100%;
+    height: 232px;
+    margin-bottom: 24px;
+    background: #fff;
+    padding: 15px;
+    box-sizing: border-box;
+    > .ant-row {
+      height: 162px;
+      > div {
+        height: 100%;
+        padding: 0 15px;
+        > div {
+          height: 100%;
+          border: 1px solid #d7dbe7;
+          border-radius: 4px;
+          padding: 10px;
+
+          box-sizing: border-box;
+          position: relative;
+        }
+        > div:hover {
+          background: rgba(238, 121, 47, 0.05);
+          // opacity: 0.1;
+        }
+        > div.on {
+          background: rgba(238, 121, 47, 0.05);
+        }
+        > div.on::before {
+          position: absolute;
+          content: "";
+          display: block;
+          width: 100%;
+          height: 6px;
+          left: 0;
+          top: -3px;
+          // margin-top: -15px; /* 调整这个值来改变边框的粗细 */
+          border-top: 6px solid #ee792f; /* 设置边框的粗细和颜色 */
+          border-radius: 4px 4px 0 0;
+        }
+      }
+    }
+  }
+
+  .back-line-hearder {
+    flex: 1;
+    padding: 15px;
+    box-sizing: border-box;
+    h1 {
+      margin: 0;
+    }
+    .title {
+      display: flex;
+      align-items: center;
+      justify-content: space-between;
+      border-bottom: 1px solid #f0f0f0;
+      padding-bottom: 10px;
+      box-sizing: border-box;
+      h2 {
+        margin: 0;
+      }
+    }
+    height: auto;
+    background: #fff;
+    .ant-form {
+      display: flex;
+      flex-wrap: wrap;
+      justify-content: flex-start;
+      > .ant-form-item {
+        flex: 1;
+        //   width: 20%;
+        /deep/.ant-form-item-control-wrapper {
+          width: 100%;
+        }
+      }
+    }
+    .form-item-search {
+      // display: flex;
+      // justify-content: flex-end;
+      /deep/ .ant-form-item-control {
+        display: flex;
+        justify-content: flex-end;
+      }
+    }
+    .personnel-message {
+      display: flex;
+      flex-wrap: wrap;
+      // justify-content: space-evenly;
+      margin-top: 10px;
+      > div {
+        width: 23%;
+        height: auto;
+        background: #f9faff;
+        border-radius: 8px;
+        border: 1px solid #2a55e5;
+        padding: 15px;
+        box-sizing: border-box;
+        margin-bottom: 15px;
+        position: relative;
+        margin-right: 2%;
+        p {
+          display: flex;
+          justify-content: space-between;
+        }
+        p:last-child {
+          margin: 0;
+          justify-content: flex-end;
+          // text-align: right;
+        }
+        div {
+          width: 56px;
+          height: 56px;
+          position: absolute;
+          top: 12px;
+          right: 15px;
+          border-radius: 50%;
+          overflow: hidden;
+          img {
+            width: 100%;
+            height: 100%;
+          }
+        }
+        // margin-right: 2%;
+      }
+    }
+    .page {
+      display: flex;
+      justify-content: flex-end;
+    }
+  }
+}
+/deep/.ant-drawer-title {
+  width: 100%;
+}
+/deep/.custom-title {
+  display: flex;
+  > i {
+    cursor: pointer;
+  }
+}
+/deep/.ant-drawer-body {
+  h3 {
+    width: 100%;
+    height: 56px;
+    background: #fafafa;
+    font-weight: 500;
+    font-size: 16px;
+    color: rgba(0, 0, 0, 0.85);
+    text-align: center;
+    line-height: 56px;
+  }
+  /deep/ .ant-list-item {
+    display: flex;
+  }
+  .ant-list-split .ant-list-items .ant-list-item:last-child {
+    border-bottom: 1px solid #f0f0f0 !important;
+  }
+  .list-label {
+    width: 160px;
+  }
+}
+.list {
+  width: 100%;
+  > li {
+    height: 56px;
+    display: flex;
+    align-items: center;
+    border-bottom: 1px solid #f0f0f0;
+    padding: 0 10px;
+    box-sizing: border-box;
+    > span:first-child {
+      display: flex;
+      width: 200px;
+      font-weight: 500;
+      font-size: 16px;
+      color: rgba(0, 0, 0, 0.85);
+    }
+    span {
+      font-weight: 500;
+      font-size: 16px;
+      color: rgba(0, 0, 0, 0.85);
+    }
+  }
+}
+</style>

+ 19 - 1
src/pages/task/agent.vue

@@ -5,7 +5,11 @@
         <h2>代理人数据</h2>
         <div>
           <span>时间筛选</span>
-          <a-range-picker @change="onChange">
+          <a-range-picker
+            @change="onChangeTime"
+            v-model="formState.time"
+            valueFormat="YYYY-MM-DD HH:mm:ss"
+          >
             <a-icon slot="suffixIcon" type="calendar" />
           </a-range-picker>
           <a-radio-group
@@ -122,6 +126,8 @@ export default {
         provinceId: undefined,
         days: "",
         time: "",
+        endDate: undefined,
+        beginDate: undefined,
       },
       backLinePersonnel: {},
       columns: columns,
@@ -144,6 +150,11 @@ export default {
       storeList: [],
     };
   },
+  watch: {
+    "formState.days"() {
+      this.getBackLinePersonnel();
+    },
+  },
   mounted() {
     this.getBackLinePersonnel();
     // setTimeout(() => {
@@ -151,6 +162,12 @@ export default {
     // }, 1000);
   },
   methods: {
+    onChangeTime(val) {
+      // console.log(val);
+      this.formState.beginDate = val[0];
+      this.formState.endDate = val[1];
+      this.getBackLinePersonnel();
+    },
     handleFinish() {
       //
     },
@@ -173,6 +190,7 @@ export default {
         .getAgentList({
           pageNum: this.pagination.current,
           pageSize: this.pagination.defaultPageSize,
+          ...this.formState,
         })
         .then((res) => {
           if (res.data.code === 200) {

+ 19 - 1
src/pages/task/channel.vue

@@ -5,7 +5,11 @@
         <h2>渠道数据</h2>
         <div>
           <span>时间筛选</span>
-          <a-range-picker @change="onChange" v-model="formState.time">
+          <a-range-picker
+            @change="onChangeTime"
+            v-model="formState.time"
+            valueFormat="YYYY-MM-DD HH:mm:ss"
+          >
             <a-icon slot="suffixIcon" type="calendar" />
           </a-range-picker>
           <a-radio-group
@@ -121,6 +125,8 @@ export default {
         provinceId: undefined,
         days: "",
         time: "",
+        endDate: undefined,
+        beginDate: undefined,
       },
       backLinePersonnel: {},
       columns: columns,
@@ -143,6 +149,11 @@ export default {
       storeList: [],
     };
   },
+  watch: {
+    "formState.days"() {
+      this.getList();
+    },
+  },
   mounted() {
     this.getList();
     // setTimeout(() => {
@@ -160,6 +171,7 @@ export default {
         .getTaskStatistics({
           pageNum: this.pagination.current,
           pageSize: this.pagination.defaultPageSize,
+          ...this.formState,
           ...val,
         })
         .then((res) => {
@@ -177,6 +189,12 @@ export default {
     onClear() {
       this.$message.info("您清空了勾选的所有行");
     },
+    onChangeTime(val) {
+      // console.log(val);
+      this.formState.beginDate = val[0];
+      this.formState.endDate = val[1];
+      this.getList();
+    },
 
     onChange(pagination, filters, sorter, { currentDataSource }) {
       // this.$message.info('表格状态改变了')

+ 24 - 6
src/pages/task/insurance.vue

@@ -5,7 +5,11 @@
         <h2>保险公司</h2>
         <div>
           <span>时间筛选</span>
-          <a-range-picker @change="onChange" v-model="formState.time">
+          <a-range-picker
+            @change="onChangeTime"
+            v-model="formState.time"
+            valueFormat="YYYY-MM-DD HH:mm:ss"
+          >
             <a-icon slot="suffixIcon" type="calendar" />
           </a-range-picker>
           <a-radio-group
@@ -135,13 +139,15 @@ export default {
   data() {
     return {
       formState: {
-        whole: "",
-        cityId: "",
-        countyId: "",
-        houseId: "",
-        provinceId: "",
+        whole: undefined,
+        cityId: undefined,
+        countyId: undefined,
+        houseId: undefined,
+        provinceId: undefined,
         days: "",
         time: "",
+        endDate: undefined,
+        beginDate: undefined,
       },
       backLinePersonnel: {},
       columns: columns,
@@ -172,6 +178,11 @@ export default {
       insurerId: "",
     };
   },
+  watch: {
+    "formState.days"() {
+      this.getBackLinePersonnel();
+    },
+  },
   mounted() {
     this.getBackLinePersonnel();
     // setTimeout(() => {
@@ -196,6 +207,12 @@ export default {
       //   // console.log(item,this.insurerId)
       this.getBackLinePersonnel();
     },
+    onChangeTime(val) {
+      // console.log(val);
+      this.formState.beginDate = val[0];
+      this.formState.endDate = val[1];
+      this.getBackLinePersonnel();
+    },
     getCompanyList() {
       this.$API.agreement
         .getCompanyList({
@@ -241,6 +258,7 @@ export default {
         .getCompanyList({
           pageNum: this.pagination.current,
           pageSize: this.pagination.defaultPageSize,
+          ...this.formState,
         })
         .then((res) => {
           if (res.data.code === 200) {

+ 4 - 8
src/pages/wallet/agency.vue

@@ -21,7 +21,7 @@
             <span>时间筛选</span>
             <a-range-picker
               v-model="formState.time"
-              @change="timeChange"
+              @change="onChangeTime"
               valueFormat="YYYY-MM-DD HH:mm:ss"
             >
               <a-icon slot="suffixIcon" type="calendar" />
@@ -98,8 +98,8 @@ export default {
         name: undefined,
         userCode: undefined,
         phoneNumber: undefined,
-        createtimeEnd: undefined,
-        createtimeStart: undefined,
+        endDate: undefined,
+        beginDate: undefined,
       },
       labelCol: { span: 4 },
       dataForm: {},
@@ -182,11 +182,7 @@ export default {
       this.dataForm = { ...item.record };
       this.dataForm.roleId = item.record.roleId * 1;
     },
-    timeChange(val) {
-      this.formState.createtimeStart = val[0];
-      this.formState.createtimeEnd = val[1];
-      // this.getList();
-    },
+
     treeChoose(id) {
       this.pageInfo.pageNum = 1;
       this.pageInfo.pageSize = 10;

+ 18 - 1
src/router/config.js

@@ -27,6 +27,21 @@ const router = new Router({
           component: () => import('@/pages/financial/receivablesMessage'),
         },
         // {
+        //   path: '/personnelManage/channel',
+        //   name: '渠道',
+        //   hidden: true,
+        //   component: () => import('@/pages/personnelManage/channel'),
+        //   children: [
+        {
+          path: '/personnelManage/channel/message',
+          name: '成员详情',
+          hidden: true,
+          component: () => import('@/pages/personnelManage/channel/message'),
+
+        },
+        //   ]
+        // },
+        // {
         //   path: 'personnelManage',
         //   name: '人员统计',
         //   meta: {
@@ -426,10 +441,12 @@ function addDynamicRoutes(menuList = [],) {
       let mulu = {}
       let url = menuList[i].url
       let parentPath = menuList[i].parentUrl
+
       mulu = {
         path: menuList[i].url,
         name: menuList[i].name,
-
+        // meta: { invisible: menuList[i].name == '团队管理' ? false : true },
+        // hidden: true,
         component: resolve => require([`@/` + `pages/${parentPath}/${url}`], resolve),
 
         // children: menuList[i].children instanceof Array && menuList[i].children.length ? addDynamicRoutes(menuList[i].children) : []

+ 2 - 2
src/services/api.js

@@ -6,11 +6,11 @@
 
 // const BASE_URL = '"https://test.baoxianzhanggui.com/web-api"'//测试服务器
 // const BASE_URL = '"https://test.baoxianzhanggui.com/web-api"'//正式服务器
-const BASE_URL = '"https://sxzgkj.baoxianzhanggui.com/web-api"'//正式服务器
+// const BASE_URL = '"https://sxzgkj.baoxianzhanggui.com/web-api"'//正式服务器
 // const BASE_URL= '"http://192.168.0.115:8080/"' //凯森
 // const BASE_URL= '"http://192.168.0.106:8080/"'//屈晨
 // const BASE_URL= '"http://192.168.0.253:8080/"'//田智
-// const BASE_URL = 'http://192.168.0.42:8080'//武鸿鹏/
+const BASE_URL = 'http://192.168.0.42:8080'//武鸿鹏/
 // const BASE_URL= '"http:///192.168.0.253:8080/"'//田智
 
 // const BASE_URL= '"http://192.168.1.101:8080/"'

+ 7 - 1
src/services/personnel.js

@@ -30,6 +30,11 @@ export async function getTeamUserList(data) {
 export async function getTeamUserDetails(data) {
   return request(`/userStatistics/getByUserId/${data.userId}`, METHOD.GET,)
 }
+//获取渠道成员详情
+export async function getChannelDetails(data) {
+  return request(`/userStatistics/queryChannelDetails`, METHOD.POST, data)
+}
+
 
 
 
@@ -42,6 +47,7 @@ export default {
   getRankingList,
   getTeamList,
   getTeamUserList,
-  getTeamUserDetails
+  getTeamUserDetails,
+  getChannelDetails
 
 }