zhujindu 1 سال پیش
والد
کامیت
f13ade61bd

+ 2 - 2
.env.test

@@ -1,9 +1,9 @@
 # 页面标题
 VUE_APP_TITLE = 门店拜访
+ENV = 'test'
 
 # 本地开发环境配置
-ENV = 'test'
-# VUE_APP_Target=http://192.168.100.190:9560/
+# VUE_APP_Target=http://192.168.100.191:9560/
 # VUE_APP_SSB_LINK=http://suishenbangtest.nipponpaint.com.cn
 # VUE_APP_XD_LINK=http://b2btest.nipponpaint.com.cn
 # VUE_APP_BASE_API = '/'

+ 56 - 0
src/api/assignAwait.js

@@ -1,4 +1,6 @@
 import request from '@/utils/request';
+
+// 家装客资-查询待分配客资列表接口
 export function selectNotAllocationList(query) {
   return request({
     url: 'mobile/customerClueInfo/selectNotAllocationList',
@@ -6,3 +8,57 @@ export function selectNotAllocationList(query) {
     params: query,
   });
 }
+
+// 家装客资-根据客资类型查询分配人岗位列表和用户列表接口
+export function selectUserListByCustomerType(data) {
+  return request({
+    url: 'mobile/customerClueInfo/selectUserListByCustomerType',
+    method: 'post',
+    data: data,
+  });
+}
+
+// 家装客资-根据岗位列表查询用户接口
+export function selectUserListByPostName(data) {
+  return request({
+    url: 'mobile/customerClueInfo/selectUserListByPostName',
+    method: 'post',
+    data: data,
+  });
+}
+
+// 家装客资-分配客资归属接口
+export function allocationCustomer(data) {
+  return request({
+    url: 'mobile/customerClueInfo/allocationCustomer',
+    method: 'post',
+    data: data,
+  });
+}
+
+// 家装客资-根据客资信息,查询家装客资任务接口
+export function selectCustomerClueInfoById(query) {
+  return request({
+    url: 'mobile/customerClueInfo/selectCustomerClueInfoById',
+    method: 'get',
+    params: query,
+  });
+}
+
+// 家装客资-查询下属家装销售专员列表接口
+export function selectSubUserList(query) {
+  return request({
+    url: 'mobile/customerClueInfo/selectSubUserList',
+    method: 'get',
+    params: query,
+  });
+}
+
+// 家装客资-确认转下属接口
+export function allocationSubCustomer(data) {
+  return request({
+    url: 'mobile/customerClueInfo/allocationSubCustomer',
+    method: 'post',
+    data: data,
+  });
+}

+ 10 - 0
src/api/week.js

@@ -0,0 +1,10 @@
+import request from '@/utils/request';
+
+// 家装客资-查询当前用户是否存在家装客资分配权限
+export function selectAllocationPermission(query) {
+  return request({
+    url: 'mobile/customerClueInfo/selectAllocationPermission',
+    method: 'get',
+    params: query,
+  });
+}

+ 6 - 0
src/router/index.js

@@ -425,6 +425,12 @@ const router = new VueRouter({
           meta: { title: '分配客资' },
           component: () => import('@/views/week/assignAwait/assignPage.vue'),
         },
+        {
+          path: '/JZfollowUp',
+          name: 'JZfollowUp',
+          meta: { title: '客资跟进' },
+          component: () => import('@/views/week/assignAwait/JZfollowUp.vue'),
+        },
       ],
     },
   ],

+ 1 - 0
src/store/getters.js

@@ -1,4 +1,5 @@
 const getters = {
   userInfo: (state) => state.user.userInfo,
+  // isAssignFlag: (state) => state.user.isAssignFlag,
 };
 export default getters;

+ 19 - 1
src/store/modules/user.js

@@ -1,9 +1,11 @@
 import { getMobileUserInfo } from '@/api/index';
+import { selectAllocationPermission } from '@/api/week';
 
 const user = {
   state: {
     userInfo: null,
     activaTypeStore: null,
+    isAssignFlag: false, //是否有客资分配权限
   },
 
   mutations: {
@@ -13,11 +15,15 @@ const user = {
     SET_ACTIVA_TYPE_STORE: (state, value) => {
       state.activaTypeStore = value;
     },
+    SET_ASSIGN_FLAG: (state, value) => {
+      state.isAssignFlag = value;
+    },
   },
 
   actions: {
     // 获取用户信息
-    getUserInfo({ commit, state }) {
+    getUserInfo({ dispatch, commit, state }) {
+      dispatch('getAssignPermission');
       return new Promise((resolve, reject) => {
         getMobileUserInfo()
           .then((res) => {
@@ -27,6 +33,7 @@ const user = {
             localStorage.setItem('zipPhoto', res.data.zipPhoto);
             localStorage.setItem('deptLevel', res.data.depts[0].deptLevel);
             localStorage.setItem('userId', res.data.userId);
+            dispatch('getAssignPermission');
             resolve();
           })
           .catch((error) => {
@@ -34,6 +41,17 @@ const user = {
           });
       });
     },
+    // 查询当前用户是否存在家装客资分配权限
+    getAssignPermission({ commit }) {
+      selectAllocationPermission()
+        .then((res) => {
+          console.log(res);
+          commit('SET_ASSIGN_FLAG', res.data.isAllocationPermission);
+        })
+        .catch((error) => {
+          console.log(error);
+        });
+    },
     // 储存提示类-未拜访-从那个店铺类型进入未拜访列表
     setActivaTypeStore({ commit }, value) {
       commit('SET_ACTIVA_TYPE_STORE', value);

+ 1 - 1
src/utils/request.js

@@ -9,7 +9,7 @@ import errorCode from '@/utils/errorCode';
 axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8';
 const service = axios.create({
   baseURL: process.env.VUE_APP_BASE_API,
-  timeout: 30000,
+  timeout: 300000,
   withCredentials: true,
 });
 // request拦截器

+ 14 - 5
src/views/clew/index.vue

@@ -111,11 +111,20 @@ export default {
         });
     },
     approveFn(row) {
-      this.list = [];
-      this.$router.push({
-        path: '/clewent',
-        query: { id: row.customerClueInfoId },
-      });
+      if (row.cid !== 7) {
+        // 家装客资跟进
+        this.$router.push({
+          path: '/JZfollowUp',
+          query: { id: row.customerClueInfoId },
+        });
+      } else {
+        // 非家装客资跟进
+        this.list = [];
+        this.$router.push({
+          path: '/clewent',
+          query: { id: row.customerClueInfoId },
+        });
+      }
     },
     tabChange() {
       this.disabled = true;

+ 192 - 0
src/views/week/assignAwait/JZfollowUp.vue

@@ -0,0 +1,192 @@
+<template>
+  <div class="bgcolor assignPage">
+    <div class="navBarTOP">
+      <van-nav-bar class="navBar" left-arrow :title="title" @click-left="onClickLeft" />
+    </div>
+    <div class="lineGrey"></div>
+    <div class="lineGrey"></div>
+    <div class="lineGrey"></div>
+    <div class="lineGrey"></div>
+    <div class="lineGrey"></div>
+    <!-- 客资详情 -->
+    <assignAwaitDetail :infoData="infoData">
+      <div class="info">
+        跟进状态:
+        <span v-if="infoData.isClose == 1">跟进完成</span>
+        <span v-if="infoData.isClose == 0">跟进中</span>
+        <span v-if="infoData.isClose == -1">未跟进</span>
+      </div>
+      <!-- 转交 -->
+      <!-- v-if="infoData.customerClueStatus == 0 && postName && postName == '区域家装销售负责人'" -->
+      <van-button type="info" size="small" plain class="centerBtn" @click="showPicker = true">
+        转交下属
+      </van-button>
+    </assignAwaitDetail>
+    <!-- 跟进任务填写 -->
+    <div class="assign">
+      <div class="followUp required">跟进结果</div>
+      <div
+        class="taskGather"
+        v-if="taskGather && taskGather.customerClueItemList.customerClueOptionList">
+        <radioGroup
+          :clueOptionList="taskGather.customerClueItemList.customerClueOptionList"></radioGroup>
+      </div>
+    </div>
+    <!-- 转交下属 -->
+    <van-popup v-model="showPicker" position="bottom">
+      <van-picker
+        show-toolbar
+        value-key="nickName"
+        :columns="assignTypeData"
+        @confirm="confirm"
+        @cancel="showPicker = false" />
+    </van-popup>
+  </div>
+</template>
+
+<script>
+import { getCustomerClueInfoById } from '@/api/clew';
+import { getDictOption } from '@/api/index';
+import assignAwaitDetail from './assignAwaitDetail.vue';
+import {
+  selectCustomerClueInfoById,
+  selectSubUserList,
+  allocationSubCustomer,
+} from '@/api/assignAwait';
+import { mapState } from 'vuex';
+import radioGroup from './radioGroup';
+
+export default {
+  name: 'assignPage',
+  components: {
+    assignAwaitDetail,
+    radioGroup,
+  },
+  computed: {
+    ...mapState({
+      userInfo: (state) => state.user.userInfo,
+    }),
+  },
+  data() {
+    return {
+      id: '',
+      infoData: {},
+      collectionItemList: [],
+      title: '',
+      postName: '',
+      showPicker: false,
+      assignTypeData: [],
+      taskGather: null, //跟进任务集合
+    };
+  },
+  watch: {},
+  activated() {
+    this.id = this.$route.query.id;
+    this.postName = localStorage.getItem('postName');
+    this.getCustomerClueInfoById();
+    this.getSelectCustomerClueInfoById();
+  },
+  methods: {
+    getCustomerClueInfoById() {
+      this.id = this.$route.query.id;
+      this.collectionAnswerlisd = [];
+      this.collectionItemList = [];
+      getCustomerClueInfoById({ customerClueInfoId: this.id }).then((response) => {
+        if (response.code == 200) {
+          this.infoData = response.data;
+          this.title = response.data.name;
+          if (response.data.customerClue != null) {
+            this.collectionItemList = response.data.customerClue.customerClueItemList;
+          } else {
+            this.collectionItemList = [];
+          }
+          //  获取转交下属数据
+          if (
+            this.infoData.customerClueStatus == 0 &&
+            this.postName &&
+            this.postName == '区域家装销售负责人'
+          )
+            this.getSelectSubUserList();
+        } else {
+          this.$toast(res.msg);
+        }
+      });
+    },
+    getSelectCustomerClueInfoById() {
+      selectCustomerClueInfoById({ customerClueInfoId: this.id }).then((res) => {
+        if (res.code == 200) {
+          this.taskGather = res.data;
+        } else {
+          this.$toast(res.msg);
+        }
+      });
+    },
+    getSelectSubUserList() {
+      selectSubUserList().then((res) => {
+        if (res.code == 200) {
+          this.assignTypeData = res.data ? res.data : [];
+        } else {
+          this.$toast(res.msg);
+        }
+      });
+    },
+    confirm(value) {
+      allocationSubCustomer({
+        userId: value.userId, //	string	用户ID
+        customerClueInfoId: this.id, //	string	客资主键ID
+      }).then((res) => {
+        if (res.code == 200) {
+          this.$toast(res.msg);
+          this.onClickLeft();
+        } else {
+          this.$toast(res.msg);
+        }
+      });
+    },
+    onSubmit() {
+      //   allocationCustomer({
+      //     userId: this.assignUserItem.userId || '', //	string	用户ID
+      //     customerClueInfoId: this.id, //	string	客资主键ID
+      //     customerClassify: this.activaAssignTypeItem.dictValue || '', //	string	客资类型,(取值页面字典选择的值 jz_customer_type)
+      //   }).then((res) => {
+      //     if (res.code == 200) {
+      //       this.$toast(res.msg);
+      //       this.onClickLeft();
+      //     } else {
+      //       this.$toast(res.msg);
+      //     }
+      //   });
+    },
+    // 校验错误返回信息
+    onFailed(errorInfo) {
+      console.log('failed', errorInfo);
+    },
+    onClickLeft() {
+      this.$router.go(-1);
+    },
+  },
+};
+</script>
+<style scoped lang="scss">
+.assignPage {
+}
+</style>
+<style lang="scss">
+.assignPage {
+  .van-field__label {
+    width: 100px;
+    &::before {
+      content: '*';
+      color: red;
+    }
+  }
+  .centerBtn {
+    float: right;
+    background: #0057ba;
+    border-color: #0057ba;
+    color: #fff;
+    margin-top: -33px;
+    border-radius: 5px;
+  }
+}
+</style>

+ 1 - 0
src/views/week/assignAwait/assignAwaitDetail.vue

@@ -27,6 +27,7 @@
       ><span v-if="infoData.physicalStore == 2">无</span>
     </div>
     <div class="info" v-if="infoData.createTime">首次接入时间:{{ infoData.createTime }}</div>
+    <slot></slot>
   </div>
 </template>
 

+ 172 - 87
src/views/week/assignAwait/assignPage.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="bgcolor assignPage">
     <div class="navBarTOP">
-      <van-nav-bar class="navBar" left-arrow title="客资分配" @click-left="onClickLeft" />
+      <van-nav-bar class="navBar" left-arrow :title="title" @click-left="onClickLeft" />
     </div>
     <div class="lineGrey"></div>
     <div class="lineGrey"></div>
@@ -17,29 +17,62 @@
           readonly
           clickable
           name="picker"
-          :value="value1"
+          :value="assignTypeValue"
           label="客资类型"
           placeholder="点击选择客资类型"
           :rules="[{ required: true, message: '请选择客资类型' }]"
           @click="showPicker = true" />
+        <van-field
+          v-if="activaAssignTypeItem && activaAssignTypeItem.dictValue != 1"
+          readonly
+          clickable
+          name="picker"
+          :value="assignUserPostValue"
+          label="分配人员岗位"
+          placeholder="点击选择分配人员岗位"
+          :rules="[{ required: true, message: '请选择分配人员岗位' }]"
+          @click="assignUserPostShow = true" />
+        <van-field
+          readonly
+          clickable
+          name="picker"
+          :value="assignUserValue"
+          label="分配人员"
+          placeholder="点击选择分配人员"
+          :rules="[{ required: true, message: '请选择分配人员' }]"
+          @click="assignUserShow = true" />
         <div style="margin: 16px">
           <van-button round block type="info" native-type="submit">提交</van-button>
         </div>
       </van-form>
     </div>
-    <div class="tc" style="padding: 0 16px">
-      <!-- <van-button class="submitBtn" block type="info" color="#0057ba" @click="onSubmit">
-        提交
-      </van-button> -->
-    </div>
     <!-- 类型选择 -->
     <van-popup v-model="showPicker" position="bottom">
       <van-picker
         show-toolbar
-        :columns="columns"
+        value-key="dictLabel"
+        :columns="assignTypeData"
         @confirm="onConfirm"
         @cancel="showPicker = false" />
     </van-popup>
+    <!-- 分配人员岗位 -->
+    <van-popup v-model="assignUserPostShow" position="bottom">
+      <van-picker
+        show-toolbar
+        value-key="postName"
+        :columns="assignUserPostData"
+        @confirm="onConfirmAssignUserPost"
+        @cancel="assignUserPost = false" />
+    </van-popup>
+    <!-- 分配人员选择 -->
+    <van-popup v-model="assignUserShow" position="bottom">
+      <van-picker
+        show-toolbar
+        value-key="nickName"
+        :columns="assignUserData"
+        @confirm="onConfirmAssignUser"
+        @cancel="assignUserShow = false" />
+    </van-popup>
   </div>
 </template>
 
@@ -47,6 +80,11 @@
 import { getCustomerClueInfoById } from '@/api/clew';
 import { getDictOption } from '@/api/index';
 import assignAwaitDetail from './assignAwaitDetail.vue';
+import {
+  selectUserListByCustomerType,
+  selectUserListByPostName,
+  allocationCustomer,
+} from '@/api/assignAwait';
 
 export default {
   name: 'assignPage',
@@ -58,11 +96,35 @@ export default {
       id: '',
       infoData: {},
       collectionItemList: [],
-      value1: '',
       showPicker: false,
-      columns: ['杭州', '宁波', '温州', '嘉兴', '湖州'],
+      assignUserPostShow: false,
+      assignUserShow: false,
+      columns: [],
+      valueKey: '',
+      assignTypeData: [], //客资类型下拉选数据
+      activaAssignTypeItem: null, //客资类型当前选择的数据
+      assignTypeValue: '', //客资类型选中value
+      assignUserPostData: [], //分配人员岗位下拉选数据
+      assignUserPostItem: null, //分配人员岗位当前选择的数据
+      assignUserPostValue: '', //分配人员岗位选中value
+      assignUserData: [], //分配人员下拉选数据
+      assignUserItem: null, //分配人员当前选择的数据
+      assignUserValue: '', //分配人员选中value
+      title: '',
     };
   },
+  watch: {
+    'activaAssignTypeItem.dictValue': {
+      handler(val) {
+        if (val) this.getSelectUserListByCustomerType();
+      },
+    },
+    assignUserPostValue: {
+      handler(val) {
+        if (val) this.getSelectUserListByPostName();
+      },
+    },
+  },
   activated() {
     this.id = this.$route.query.id;
     this.getDictOptionFun();
@@ -70,7 +132,71 @@ export default {
   },
   methods: {
     async getDictOptionFun() {
-      let mapRangeOption = await getDictOption({}, 'jz_customer_type');
+      // 获取字典(jz_customer_type)参数对应的备注值,如果选择大型装企直接返回用户表列表
+      let customer = await getDictOption({}, 'jz_customer_type');
+      if (customer.data && customer.data.length) {
+        this.assignTypeData = customer.data;
+        this.activaAssignTypeItem = this.assignTypeData[0];
+        this.assignTypeValue = this.activaAssignTypeItem.dictLabel;
+      } else {
+        this.assignTypeData = [];
+        this.activaAssignTypeItem = null;
+        this.assignTypeValue = '';
+      }
+    },
+    getSelectUserListByCustomerType() {
+      let params = JSON.parse(this.activaAssignTypeItem.remark);
+      selectUserListByCustomerType(params).then((res) => {
+        if (res.code == 200) {
+          // 如果选择大型装企直接返回用户表列表
+          if (this.activaAssignTypeItem.dictValue == 1) {
+            if (res.data && res.data.userList.length) {
+              this.assignUserData = res.data.userList;
+              this.assignUserItem = this.assignUserData[0];
+              this.assignUserValue = this.assignUserItem.nickName;
+            } else {
+              this.assignUserData = [];
+              this.assignUserItem = null;
+              this.assignUserValue = '';
+            }
+          } else {
+            if (res.data && res.data.postList.length) {
+              let resData = [];
+              res.data.postList.forEach((val) => {
+                resData.push({
+                  postName: val,
+                });
+              });
+              this.assignUserPostData = resData;
+              this.assignUserPostItem = this.assignUserPostData[0];
+              this.assignUserPostValue = this.assignUserPostItem.postName;
+            } else {
+              this.assignUserPostData = [];
+              this.assignUserPostItem = null;
+              this.assignUserPostValue = '';
+            }
+          }
+        } else {
+          this.$toast(res.msg);
+        }
+      });
+    },
+    getSelectUserListByPostName() {
+      selectUserListByPostName({ postName: this.assignUserPostValue }).then((res) => {
+        if (res.code == 200) {
+          if (res.data && res.data.userList.length) {
+            this.assignUserData = res.data.userList;
+            this.assignUserItem = this.assignUserData[0];
+            this.assignUserValue = this.assignUserItem.nickName;
+          } else {
+            this.assignUserData = [];
+            this.assignUserItem = null;
+            this.assignUserValue = '';
+          }
+        } else {
+          this.$toast(res.msg);
+        }
+      });
     },
     getCustomerClueInfoById() {
       this.id = this.$route.query.id;
@@ -79,6 +205,7 @@ export default {
       getCustomerClueInfoById({ customerClueInfoId: this.id }).then((response) => {
         if (response.code == 200) {
           this.infoData = response.data;
+          this.title = response.data.name;
           if (response.data.customerClue != null) {
             this.collectionItemList = response.data.customerClue.customerClueItemList;
           } else {
@@ -89,99 +216,57 @@ export default {
         }
       });
     },
-    onSubmit() {},
+    onSubmit() {
+      allocationCustomer({
+        userId: this.assignUserItem.userId || '', //	string	用户ID
+        customerClueInfoId: this.id, //	string	客资主键ID
+        customerClassify: this.activaAssignTypeItem.dictValue || '', //	string	客资类型,(取值页面字典选择的值 jz_customer_type)
+      }).then((res) => {
+        if (res.code == 200) {
+          this.$toast(res.msg);
+          this.onClickLeft();
+        } else {
+          this.$toast(res.msg);
+        }
+      });
+    },
     // 校验错误返回信息
     onFailed(errorInfo) {
       console.log('failed', errorInfo);
     },
     onConfirm(value) {
-      this.value = value;
+      this.activaAssignTypeItem = value;
+      this.assignTypeValue = this.activaAssignTypeItem.dictLabel;
       this.showPicker = false;
     },
+    onConfirmAssignUserPost(value) {
+      this.assignUserPostItem = value;
+      this.assignUserPostValue = this.assignUserPostItem.postName;
+      this.assignUserPostShow = false;
+    },
+    onConfirmAssignUser(value) {
+      this.assignUserItem = value;
+      this.assignUserValue = this.assignUserItem.nickName;
+      this.assignUserShow = false;
+    },
     onClickLeft() {
       this.$router.go(-1);
     },
   },
 };
 </script>
-<style scoped>
+<style scoped lang="scss">
 .assignPage {
-  .container {
-    background-color: white;
-  }
-  .formLabel {
-    border-bottom: 1px solid #f1f1f1;
-  }
-  .formLabel .van-cell {
-    padding: 10px 0;
-    font-size: 14px;
-  }
-  .formLabel .van-cell::after {
-    border: 0;
-  }
-  .formLabeltext .van-field {
-    border: 1px solid #f1f1f1;
-    padding: 6px;
-    width: 100%;
-    border-radius: 4px;
-    overflow: hidden;
-  }
-  .formLabel .van-field__control {
-    padding: 0 10px;
-  }
-  .z-checkbox .van-radio {
-    padding: 6px 0;
-  }
-  .z-cell .van-cell__title {
-    font-size: 14px;
-  }
 }
 </style>
-<style>
+<style lang="scss">
 .assignPage {
-  .cardclewContentCell {
-    margin: 0 10px;
-  }
-  .formLabel .van-radio__label,
-  .formLabel .van-checkbox__label {
-    font-size: 14px;
-  }
-  .van-dialog__confirm,
-  .van-dialog__confirm:active {
-    color: #1989fa;
-  }
-  .cardclewContent {
-    background: #fff;
-    box-sizing: border-box;
-    padding: 10px 16px;
-    margin: 6px 10px 10px;
-  }
-  .cardclewContent .info {
-    font-size: 14px;
-    color: #444;
-    line-height: 28px;
-  }
-  .cardclewContent .title p {
-    padding: 0;
-    margin: 0;
-  }
-  .cardclewContent .title .textLeft {
-    display: inline-block;
-    padding-bottom: 10px;
-  }
-  .dialogz {
-    width: 100%;
-  }
-  .dialogz .van-dialog__content {
-    height: 72vh;
-    overflow-y: auto;
-  }
-  .radioboxss .van-radio {
-    margin-bottom: 6px;
-  }
-  .fieldNumber {
-    border: 1px solid #f1f1f1;
-    padding-left: 5px !important;
+  .van-field__label {
+    width: 100px;
+    &::before {
+      content: '*';
+      color: red;
+    }
   }
 }
 </style>

+ 0 - 424
src/views/week/assignAwait/index.vue

@@ -57,430 +57,6 @@ export default {
         message: '数据加载中...',
         forbidClick: true,
       });
-      this.list = [
-        {
-          createBy: 'admin',
-          createTime: '2024-10-25 15:14:03',
-          customerClueInfoId: 100,
-          id: null,
-          cid: '4',
-          name: '刘总2',
-          phone: '13134348888',
-          deptId: 1070,
-          province: '020',
-          city: '310100',
-          country: '310101',
-          street: '310101013',
-          detailAddress: '江苏省苏州市张家港金港镇江南建材商贸城',
-          orderMark: '申请代理提交',
-          jobNumber: 'bks123',
-          industry: '涂料',
-          brand: '多乐士',
-          paintExperience: '1',
-          physicalStore: '1',
-          productCategory: '腻子粉',
-          purchaseQuantity: '10000',
-          customerClueStatus: '1',
-          isClose: '0',
-          sendUserId: 35374,
-          delFlag: '0',
-          allocationStatus: '0',
-        },
-        {
-          createBy: 'admin',
-          createTime: '2024-10-25 15:14:03',
-          customerClueInfoId: 100,
-          id: null,
-          cid: '4',
-          name: '刘总2',
-          phone: '13134348888',
-          deptId: 1070,
-          province: '020',
-          city: '310100',
-          country: '310101',
-          street: '310101013',
-          detailAddress: '江苏省苏州市张家港金港镇江南建材商贸城',
-          orderMark: '申请代理提交',
-          jobNumber: 'bks123',
-          industry: '涂料',
-          brand: '多乐士',
-          paintExperience: '1',
-          physicalStore: '1',
-          productCategory: '腻子粉',
-          purchaseQuantity: '10000',
-          customerClueStatus: '1',
-          isClose: '0',
-          sendUserId: 35374,
-          delFlag: '0',
-          allocationStatus: '0',
-        },
-        {
-          createBy: 'admin',
-          createTime: '2024-10-25 15:14:03',
-          customerClueInfoId: 100,
-          id: null,
-          cid: '4',
-          name: '刘总2',
-          phone: '13134348888',
-          deptId: 1070,
-          province: '020',
-          city: '310100',
-          country: '310101',
-          street: '310101013',
-          detailAddress: '江苏省苏州市张家港金港镇江南建材商贸城',
-          orderMark: '申请代理提交',
-          jobNumber: 'bks123',
-          industry: '涂料',
-          brand: '多乐士',
-          paintExperience: '1',
-          physicalStore: '1',
-          productCategory: '腻子粉',
-          purchaseQuantity: '10000',
-          customerClueStatus: '1',
-          isClose: '0',
-          sendUserId: 35374,
-          delFlag: '0',
-          allocationStatus: '0',
-        },
-        {
-          createBy: 'admin',
-          createTime: '2024-10-25 15:14:03',
-          customerClueInfoId: 100,
-          id: null,
-          cid: '4',
-          name: '刘总2',
-          phone: '13134348888',
-          deptId: 1070,
-          province: '020',
-          city: '310100',
-          country: '310101',
-          street: '310101013',
-          detailAddress: '江苏省苏州市张家港金港镇江南建材商贸城',
-          orderMark: '申请代理提交',
-          jobNumber: 'bks123',
-          industry: '涂料',
-          brand: '多乐士',
-          paintExperience: '1',
-          physicalStore: '1',
-          productCategory: '腻子粉',
-          purchaseQuantity: '10000',
-          customerClueStatus: '1',
-          isClose: '0',
-          sendUserId: 35374,
-          delFlag: '0',
-          allocationStatus: '0',
-        },
-        {
-          createBy: 'admin',
-          createTime: '2024-10-25 15:14:03',
-          customerClueInfoId: 100,
-          id: null,
-          cid: '4',
-          name: '刘总2',
-          phone: '13134348888',
-          deptId: 1070,
-          province: '020',
-          city: '310100',
-          country: '310101',
-          street: '310101013',
-          detailAddress: '江苏省苏州市张家港金港镇江南建材商贸城',
-          orderMark: '申请代理提交',
-          jobNumber: 'bks123',
-          industry: '涂料',
-          brand: '多乐士',
-          paintExperience: '1',
-          physicalStore: '1',
-          productCategory: '腻子粉',
-          purchaseQuantity: '10000',
-          customerClueStatus: '1',
-          isClose: '0',
-          sendUserId: 35374,
-          delFlag: '0',
-          allocationStatus: '0',
-        },
-        {
-          createBy: 'admin',
-          createTime: '2024-10-25 15:14:03',
-          customerClueInfoId: 100,
-          id: null,
-          cid: '4',
-          name: '刘总2',
-          phone: '13134348888',
-          deptId: 1070,
-          province: '020',
-          city: '310100',
-          country: '310101',
-          street: '310101013',
-          detailAddress: '江苏省苏州市张家港金港镇江南建材商贸城',
-          orderMark: '申请代理提交',
-          jobNumber: 'bks123',
-          industry: '涂料',
-          brand: '多乐士',
-          paintExperience: '1',
-          physicalStore: '1',
-          productCategory: '腻子粉',
-          purchaseQuantity: '10000',
-          customerClueStatus: '1',
-          isClose: '0',
-          sendUserId: 35374,
-          delFlag: '0',
-          allocationStatus: '0',
-        },
-        {
-          createBy: 'admin',
-          createTime: '2024-10-25 15:14:03',
-          customerClueInfoId: 100,
-          id: null,
-          cid: '4',
-          name: '刘总2',
-          phone: '13134348888',
-          deptId: 1070,
-          province: '020',
-          city: '310100',
-          country: '310101',
-          street: '310101013',
-          detailAddress: '江苏省苏州市张家港金港镇江南建材商贸城',
-          orderMark: '申请代理提交',
-          jobNumber: 'bks123',
-          industry: '涂料',
-          brand: '多乐士',
-          paintExperience: '1',
-          physicalStore: '1',
-          productCategory: '腻子粉',
-          purchaseQuantity: '10000',
-          customerClueStatus: '1',
-          isClose: '0',
-          sendUserId: 35374,
-          delFlag: '0',
-          allocationStatus: '0',
-        },
-        {
-          createBy: 'admin',
-          createTime: '2024-10-25 15:14:03',
-          customerClueInfoId: 100,
-          id: null,
-          cid: '4',
-          name: '刘总2',
-          phone: '13134348888',
-          deptId: 1070,
-          province: '020',
-          city: '310100',
-          country: '310101',
-          street: '310101013',
-          detailAddress: '江苏省苏州市张家港金港镇江南建材商贸城',
-          orderMark: '申请代理提交',
-          jobNumber: 'bks123',
-          industry: '涂料',
-          brand: '多乐士',
-          paintExperience: '1',
-          physicalStore: '1',
-          productCategory: '腻子粉',
-          purchaseQuantity: '10000',
-          customerClueStatus: '1',
-          isClose: '0',
-          sendUserId: 35374,
-          delFlag: '0',
-          allocationStatus: '0',
-        },
-        {
-          createBy: 'admin',
-          createTime: '2024-10-25 15:14:03',
-          customerClueInfoId: 100,
-          id: null,
-          cid: '4',
-          name: '刘总2',
-          phone: '13134348888',
-          deptId: 1070,
-          province: '020',
-          city: '310100',
-          country: '310101',
-          street: '310101013',
-          detailAddress: '江苏省苏州市张家港金港镇江南建材商贸城',
-          orderMark: '申请代理提交',
-          jobNumber: 'bks123',
-          industry: '涂料',
-          brand: '多乐士',
-          paintExperience: '1',
-          physicalStore: '1',
-          productCategory: '腻子粉',
-          purchaseQuantity: '10000',
-          customerClueStatus: '1',
-          isClose: '0',
-          sendUserId: 35374,
-          delFlag: '0',
-          allocationStatus: '0',
-        },
-        {
-          createBy: 'admin',
-          createTime: '2024-10-25 15:14:03',
-          customerClueInfoId: 100,
-          id: null,
-          cid: '4',
-          name: '刘总2',
-          phone: '13134348888',
-          deptId: 1070,
-          province: '020',
-          city: '310100',
-          country: '310101',
-          street: '310101013',
-          detailAddress: '江苏省苏州市张家港金港镇江南建材商贸城',
-          orderMark: '申请代理提交',
-          jobNumber: 'bks123',
-          industry: '涂料',
-          brand: '多乐士',
-          paintExperience: '1',
-          physicalStore: '1',
-          productCategory: '腻子粉',
-          purchaseQuantity: '10000',
-          customerClueStatus: '1',
-          isClose: '0',
-          sendUserId: 35374,
-          delFlag: '0',
-          allocationStatus: '0',
-        },
-        {
-          createBy: 'admin',
-          createTime: '2024-10-25 15:14:03',
-          customerClueInfoId: 100,
-          id: null,
-          cid: '4',
-          name: '刘总2',
-          phone: '13134348888',
-          deptId: 1070,
-          province: '020',
-          city: '310100',
-          country: '310101',
-          street: '310101013',
-          detailAddress: '江苏省苏州市张家港金港镇江南建材商贸城',
-          orderMark: '申请代理提交',
-          jobNumber: 'bks123',
-          industry: '涂料',
-          brand: '多乐士',
-          paintExperience: '1',
-          physicalStore: '1',
-          productCategory: '腻子粉',
-          purchaseQuantity: '10000',
-          customerClueStatus: '1',
-          isClose: '0',
-          sendUserId: 35374,
-          delFlag: '0',
-          allocationStatus: '0',
-        },
-        {
-          createBy: 'admin',
-          createTime: '2024-10-25 15:14:03',
-          customerClueInfoId: 100,
-          id: null,
-          cid: '4',
-          name: '刘总2',
-          phone: '13134348888',
-          deptId: 1070,
-          province: '020',
-          city: '310100',
-          country: '310101',
-          street: '310101013',
-          detailAddress: '江苏省苏州市张家港金港镇江南建材商贸城',
-          orderMark: '申请代理提交',
-          jobNumber: 'bks123',
-          industry: '涂料',
-          brand: '多乐士',
-          paintExperience: '1',
-          physicalStore: '1',
-          productCategory: '腻子粉',
-          purchaseQuantity: '10000',
-          customerClueStatus: '1',
-          isClose: '0',
-          sendUserId: 35374,
-          delFlag: '0',
-          allocationStatus: '0',
-        },
-        {
-          createBy: 'admin',
-          createTime: '2024-10-25 15:14:03',
-          customerClueInfoId: 100,
-          id: null,
-          cid: '4',
-          name: '刘总2',
-          phone: '13134348888',
-          deptId: 1070,
-          province: '020',
-          city: '310100',
-          country: '310101',
-          street: '310101013',
-          detailAddress: '江苏省苏州市张家港金港镇江南建材商贸城',
-          orderMark: '申请代理提交',
-          jobNumber: 'bks123',
-          industry: '涂料',
-          brand: '多乐士',
-          paintExperience: '1',
-          physicalStore: '1',
-          productCategory: '腻子粉',
-          purchaseQuantity: '10000',
-          customerClueStatus: '1',
-          isClose: '0',
-          sendUserId: 35374,
-          delFlag: '0',
-          allocationStatus: '0',
-        },
-        {
-          createBy: 'admin',
-          createTime: '2024-10-25 15:14:03',
-          customerClueInfoId: 100,
-          id: null,
-          cid: '4',
-          name: '刘总2',
-          phone: '13134348888',
-          deptId: 1070,
-          province: '020',
-          city: '310100',
-          country: '310101',
-          street: '310101013',
-          detailAddress: '江苏省苏州市张家港金港镇江南建材商贸城',
-          orderMark: '申请代理提交',
-          jobNumber: 'bks123',
-          industry: '涂料',
-          brand: '多乐士',
-          paintExperience: '1',
-          physicalStore: '1',
-          productCategory: '腻子粉',
-          purchaseQuantity: '10000',
-          customerClueStatus: '1',
-          isClose: '0',
-          sendUserId: 35374,
-          delFlag: '0',
-          allocationStatus: '0',
-        },
-        {
-          createBy: 'admin',
-          createTime: '2024-10-25 15:14:03',
-          customerClueInfoId: 100,
-          id: null,
-          cid: '4',
-          name: '刘总2',
-          phone: '13134348888',
-          deptId: 1070,
-          province: '020',
-          city: '310100',
-          country: '310101',
-          street: '310101013',
-          detailAddress: '江苏省苏州市张家港金港镇江南建材商贸城',
-          orderMark: '申请代理提交',
-          jobNumber: 'bks123',
-          industry: '涂料',
-          brand: '多乐士',
-          paintExperience: '1',
-          physicalStore: '1',
-          productCategory: '腻子粉',
-          purchaseQuantity: '10000',
-          customerClueStatus: '1',
-          isClose: '0',
-          sendUserId: 35374,
-          delFlag: '0',
-          allocationStatus: '0',
-        },
-      ];
-      loading1.clear();
-      return;
       selectNotAllocationList().then((res) => {
         loading1.clear();
         this.disabled = false;

+ 26 - 0
src/views/week/assignAwait/radioGroup.vue

@@ -0,0 +1,26 @@
+<template>
+  <div class="radioGroup">
+    <van-radio-group
+      v-model="item.searchValue"
+      v-if="clueOptionList.length"
+      v-for="(item, index) in clueOptionList"
+      :key="index">
+      <van-radio :name="item.customerClueOptionId">{{ item.customerClueOption }}</van-radio>
+      <radioGroup :clueOptionList="item.customerClueItemList"></radioGroup>
+    </van-radio-group>
+  </div>
+</template>
+<script>
+export default {
+  name: 'radioGroup',
+  props: {
+    clueOptionList: {
+      type: Array,
+      default: () => [],
+    },
+  },
+  data() {
+    return {};
+  },
+};
+</script>

+ 11 - 5
src/views/week/index.vue

@@ -49,8 +49,8 @@
         </van-cell>
       </van-cell-group>
       <!--      客资类-->
-      <van-cell-group inset class="mtb10" v-if="customerClueButton">
-        <van-cell title="客资任务" to="/clew">
+      <van-cell-group inset class="mtb10">
+        <van-cell title="客资任务" to="/clew" v-if="customerClueButton">
           <template #icon>
             <van-icon :name="history" class="zicon" />
           </template>
@@ -62,14 +62,14 @@
             <van-icon name="arrow" size="16" />
           </template>
         </van-cell>
-        <van-cell title="待分配客资" to="/assignAwait">
+        <van-cell title="待分配客资" to="/assignAwait" v-if="isAssignFlag">
           <template #icon>
             <van-icon :name="history" class="zicon" />
           </template>
-          <!-- <template #title>
+          <template #title>
             <span>客资任务</span>
             &nbsp;<van-tag type="danger" v-if="customerClueNum > 0">{{ customerClueNum }}</van-tag>
-          </template> -->
+          </template>
           <template #right-icon>
             <van-icon name="arrow" size="16" />
           </template>
@@ -189,9 +189,15 @@ import Weekly from '@/assets/Weekly.png';
 import storeselect from '@/assets/Icon/storeselect.png';
 import tabBar from '@/components/tabBar';
 import { getReportInfo, getstoreCoverPosition } from '@/api/index';
+import { mapState } from 'vuex';
 export default {
   name: 'MyList',
   components: { tabBar },
+  computed: {
+    ...mapState({
+      isAssignFlag: (state) => state.user.isAssignFlag,
+    }),
+  },
   data() {
     return {
       history: history,