Browse Source

迁移状态

xiuli.gao 2 years ago
parent
commit
54a0d552e0

+ 39 - 32
project/src/components/customManage/customerTransfer.vue

@@ -2,8 +2,8 @@
2 2
   <div v-loading="loading">
3 3
     <div class="topTagBox flex">
4 4
       <div class="left flex-align-center">
5
-        <div :class="['tagItem',type==2?'tagItem_active':'']" @click="changeType(2);">离职迁移</div>
6
-        <div :class="['tagItem',type==1?'tagItem_active':'']" @click="changeType(1);">在职迁移</div>
5
+        <div :class="['tagItem', type == 2 ? 'tagItem_active' : '']" @click="changeType(2);">离职迁移</div>
6
+        <div :class="['tagItem', type == 1 ? 'tagItem_active' : '']" @click="changeType(1);">在职迁移</div>
7 7
       </div>
8 8
       <div class="right">
9 9
         <el-button type="primary" size="mini" @click="goReord"><i class="el-icon-document"></i> 分配记录</el-button>
@@ -11,15 +11,16 @@
11 11
     </div>
12 12
     <div class="screenBox">
13 13
       <!-- 搜索客户 -->
14
-      <self-input :reset='resetFlag' @inputChange='(val)=>{input_keyword = val;init(1)}'></self-input>
14
+      <self-input :reset='resetFlag' @inputChange='(val) => { input_keyword = val; init(1) }'></self-input>
15 15
       <!-- 所属客服 -->
16
-      <self-customerservice :reset='resetFlag' @customerDefine="(val)=>{user_id_list=val;init(1)}"></self-customerservice>
16
+      <self-customerservice :reset='resetFlag' @customerDefine="(val) => { user_id_list = val; init(1) }">
17
+      </self-customerservice>
17 18
       <!-- 企业标签 -->
18 19
       <enterprise-tag :reset='resetFlag' @tagDefine="tagDefine"></enterprise-tag>
19 20
       <!-- 添加时间 -->
20 21
       <date-picker :reset='resetFlag' @changeTime="changeTime"></date-picker>
21 22
       <!-- 添加渠道 -->
22
-      <self-channel :reset='resetFlag' @channelDefine="(val)=>{add_way = val;init(1)}"></self-channel>
23
+      <self-channel :reset='resetFlag' @channelDefine="(val) => { add_way = val; init(1) }"></self-channel>
23 24
       <!-- 性别 暂时获取不到 -->
24 25
       <!-- <self-gender></self-gender> -->
25 26
       <!-- 流失状态 -->
@@ -32,33 +33,36 @@
32 33
       <div>
33 34
         <div class="flex">
34 35
           <i class="el-icon-user-solid"></i>
35
-          <div class="totalCustom" v-if="type==2">共<span>{{total}}</span>个待分配客户</div>
36
-          <template v-if="type==1">
37
-            <div class="totalCustom">共<span>{{otherData&&otherData.count}}</span>个客户</div>
36
+          <div class="totalCustom" v-if="type == 2">共<span>{{ total }}</span>个待分配客户</div>
37
+          <template v-if="type == 1">
38
+            <div class="totalCustom">共<span>{{ otherData && otherData.count }}</span>个客户</div>
38 39
             <div class="smalLine"></div>
39 40
             <div class="excludeCustom">排除重复客户
40 41
               <el-tooltip class="disinblock" content="该数据为去重后的客户数,若客户添加了多个员工只会统计为1个客户" placement="top">
41 42
                 <i class="el-icon-question"></i>
42 43
               </el-tooltip>
43
-              <span>{{otherData&&otherData.exclude_count}}</span>
44
+              <span>{{ otherData && otherData.exclude_count }}</span>
44 45
             </div>
45 46
           </template>
46 47
           <!-- <div class="smalLine"></div> -->
47 48
           <!-- <el-button type="primary" plain size="mini"><i class="el-icon-refresh-right"></i> 更新数据</el-button> -->
48 49
         </div>
49
-        <div class="selectCustom">已择{{selectTotal}}个客户</div>
50
+        <div class="selectCustom">已择{{ selectTotal }}个客户</div>
50 51
       </div>
51 52
       <div class="flex">
52 53
         <el-button type="primary" size="mini" @click="toDistribution">分配</el-button>
53 54
       </div>
54 55
     </div>
55 56
     <!-- table -->
56
-    <el-table ref="multipleTable" :height="height" :data="tableData" tooltip-effect="dark" style="width: 100%" @selection-change="handleSelectionChange" @select-all="handleSelectAll">
57
+    <el-table ref="multipleTable" :height="height" :data="tableData" tooltip-effect="dark" style="width: 100%"
58
+      @selection-change="handleSelectionChange" @select-all="handleSelectAll">
57 59
       <el-table-column type="selection" width="55" align="center"></el-table-column>
58 60
       <el-table-column width="200" fixed="left">
59 61
         <template slot-scope="scope" slot="header">
60
-          <div class="customTitle" slot="reference">{{old_pageOptionValue==2?'选择当前页面客户':'选择全部客户'}}<i class="el-icon-arrow-down"></i>
61
-            <el-select v-model="pageOptionValue" class="customTitleSelect" placeholder="请选择" size="mini" @change="pageOptionSelect" @visible-change="pageOptionValue=''">
62
+          <div class="customTitle" slot="reference">{{ old_pageOptionValue == 2 ? '选择当前页面客户' : '选择全部客户' }}<i
63
+              class="el-icon-arrow-down"></i>
64
+            <el-select v-model="pageOptionValue" class="customTitleSelect" placeholder="请选择" size="mini"
65
+              @change="pageOptionSelect" @visible-change="pageOptionValue = ''">
62 66
               <el-option v-for="item in pageOptions" :key="item.id" :label="item.name" :value="item.id">
63 67
               </el-option>
64 68
             </el-select>
@@ -70,17 +74,17 @@
70 74
             <img v-else src="@/assets/img/self_head.png" alt="" class="userImg">
71 75
             <div class="userInfo">
72 76
               <div class="userName">
73
-                <p class="name">{{scope.row.remark}}</p>
74
-                <span v-if="scope.row.type==1">@微信</span>
77
+                <p class="name">{{ scope.row.remark }}</p>
78
+                <span v-if="scope.row.type == 1">@微信</span>
75 79
               </div>
76
-              <div class="nickname"><span>昵称:</span>{{scope.row.name}}</div>
80
+              <div class="nickname"><span>昵称:</span>{{ scope.row.name }}</div>
77 81
             </div>
78 82
           </div>
79 83
         </template>
80 84
       </el-table-column>
81 85
       <el-table-column label="性别" min-width="60" show-overflow-tooltip align="center">
82 86
         <template slot-scope="scope">
83
-          <div>{{scope.row.gender==1?'男':scope.row.gender==2?'女':''}}</div>
87
+          <div>{{ scope.row.gender == 1 ? '男' : scope.row.gender == 2 ? '女' : '' }}</div>
84 88
         </template>
85 89
       </el-table-column>
86 90
       <el-table-column label="所属客服" min-width="140" align="center">
@@ -92,47 +96,49 @@
92 96
       </el-table-column>
93 97
       <el-table-column label="所属部门" min-width="140" show-overflow-tooltip align="center">
94 98
         <template slot-scope="scope">
95
-          <div>{{scope.row.department_list&&scope.row.department_list.join(',')}}</div>
99
+          <div>{{ scope.row.department_list && scope.row.department_list.join(',') }}</div>
96 100
         </template>
97 101
       </el-table-column>
98 102
 
99 103
       <el-table-column label="标签" min-width="160" align="center">
100 104
         <template slot-scope="scope">
101 105
           <div class="customerServiceTagBox biaoqian">
102
-            <div class="customerServiceTag" v-for="(item,index) in scope.row.tag_list" :key="index">{{item}}</div>
106
+            <div class="customerServiceTag" v-for="(item, index) in scope.row.tag_list" :key="index">{{ item }}</div>
103 107
           </div>
104 108
         </template>
105 109
       </el-table-column>
106 110
       <el-table-column label="客户状态" show-overflow-tooltip align="center">
107 111
         <template slot-scope="scope">
108
-          <span v-if="scope.row.relation_enable==0" class="c-F03F5C">已流失</span>
109
-          <span v-if="scope.row.relation_enable==1" class="c-448AFF">未流失</span>
110
-          <span v-if="scope.row.relation_enable==2" class="c-FFB055">待分配</span>
112
+          <span v-if="scope.row.relation_enable == 0" class="c-F03F5C">已流失</span>
113
+          <span v-if="scope.row.relation_enable == 1" class="c-448AFF">未流失</span>
114
+          <span v-if="scope.row.relation_enable == 2" class="c-FFB055">待分配</span>
111 115
         </template>
112 116
       </el-table-column>
113
-      <el-table-column label="付费情况" align="center">
117
+      <el-table-column label="付费情况" align="center" min-width="120">
114 118
         <template slot-scope="scope">
115
-          <div v-if="scope.row.pay_num>0">已付费(<span class="c-00B38A">{{scope.row.pay_num}}次</span>)</div>
119
+          <div v-if="scope.row.pay_num > 0">已付费(<span class="c-00B38A">{{ scope.row.pay_num }}次</span>)</div>
116 120
           <div v-else>未付费</div>
117 121
         </template>
118 122
       </el-table-column>
119
-      <el-table-column prop="createtime" min-width="160" label="添加时间" show-overflow-tooltip align="center"></el-table-column>
123
+      <el-table-column prop="createtime" min-width="160" label="添加时间" show-overflow-tooltip align="center">
124
+      </el-table-column>
120 125
       <!-- <el-table-column prop="address" width="160" label="上次对话时间" show-overflow-tooltip align="center"></el-table-column> -->
121 126
       <el-table-column width="140" label="添加渠道" show-overflow-tooltip align="center">
122 127
         <template slot-scope="scope">
123
-          <div>{{scope.row.add_way}}</div>
128
+          <div>{{ scope.row.add_way }}</div>
124 129
         </template>
125 130
       </el-table-column>
126 131
       <el-table-column label="操作" align="center" fixed="right" width="80">
127 132
         <template slot-scope="scope">
128 133
           <div class="flex" style="justify-content:center">
129
-            <div class="c-00B38A pointer" style="margin:0 6px" @click="showDetial(scope.row,scope.$index)">详情</div>
134
+            <div class="c-00B38A pointer" style="margin:0 6px" @click="showDetial(scope.row, scope.$index)">详情</div>
130 135
           </div>
131 136
         </template>
132 137
       </el-table-column>
133 138
     </el-table>
134
-    <div class="pagination" v-show="total>0">
135
-      <el-pagination background :current-page="page" @current-change="handleCurrentChange" layout="prev, pager, next" :page-count='Number(pages)'>
139
+    <div class="pagination" v-show="total > 0">
140
+      <el-pagination background :current-page="page" @current-change="handleCurrentChange" layout="prev, pager, next"
141
+        :page-count='Number(pages)'>
136 142
       </el-pagination>
137 143
     </div>
138 144
     <!-- 拉黑用户 -->
@@ -143,14 +149,15 @@
143 149
     <!--详情-->
144 150
     <el-drawer :size="drawerSize" :visible.sync="detialDrawer" :with-header="false">
145 151
       <detial @changeDrawerSize="changeDrawerSize" @closeDrawer="closeDrawer" :rowProp="{
146
-        customer_id:rowPro.customer_id,
147
-        user_id:rowPro.user_id
152
+        customer_id: rowPro.customer_id,
153
+        user_id: rowPro.user_id
148 154
       }" ref="detial" @tagUpdate='tagUpdate'></detial>
149 155
     </el-drawer>
150 156
 
151 157
     <!-- 分配客户 -->
152 158
     <el-dialog title="分配客户" :visible.sync="distributionUserVisible" width="600px" center>
153
-      <distribution-user :userType='type' @closeToast='distributionUserVisible=false' @transferCustomerEvent="transferCustomerEvent"></distribution-user>
159
+      <distribution-user :userType='type' @closeToast='distributionUserVisible = false'
160
+        @transferCustomerEvent="transferCustomerEvent"></distribution-user>
154 161
     </el-dialog>
155 162
   </div>
156 163
 </template>

+ 30 - 16
project/src/components/customManage/transferRecord.vue

@@ -3,29 +3,31 @@
3 3
     <div class="backBox" @click="goBack">
4 4
       <div class="back">
5 5
         <i class="el-icon-back"></i>
6
-        <span class="back_main_title">{{type=='off'?'离职迁移':type=='on'?'在职迁移':'返回'}}/</span><span>分配记录</span>
6
+        <span class="back_main_title">{{ type == 'off' ? '离职迁移' : type == 'on' ? '在职迁移' : '返回'
7
+        }}/</span><span>分配记录</span>
7 8
       </div>
8 9
     </div>
9 10
     <div class="self-hint" style="margin-bottom:10px">
10 11
       <i class="el-icon-message-solid"></i>
11
-      <div>由于企业微信限制,列表仅展示在{{$store.state.simpleName}}操作的分配记录,{{$store.state.simpleName}}分配记录将不会展示</div>
12
+      <div>由于企业微信限制,列表仅展示在{{ $store.state.simpleName }}操作的分配记录,{{ $store.state.simpleName }}分配记录将不会展示</div>
12 13
     </div>
13 14
     <div class="screenBox">
14 15
       <!-- 搜索客户 -->
15
-      <self-input :reset='resetFlag' @inputChange='(val)=>{input_keyword = val;init(1)}'></self-input>
16
+      <self-input :reset='resetFlag' @inputChange='(val) => { input_keyword = val; init(1) }'></self-input>
16 17
       <!-- 所属客服 -->
17 18
       <service-single title='接替员工' :reset='resetFlag' @customerDefine="serviceSingleEvent"></service-single>
18 19
       <!-- 添加时间 -->
19 20
       <date-picker title="分配时间" :reset='resetFlag' @changeTime="changeTime"></date-picker>
20 21
       <!-- 转接状态 -->
21
-      <self-channel title="转接状态" :reset='resetFlag' type='assignment_status' @channelDefine="(val)=>{assignment_status = val;init(1)}"></self-channel>
22
+      <self-channel title="转接状态" :reset='resetFlag' type='assignment_status'
23
+        @channelDefine="(val) => { assignment_status = val; init(1) }"></self-channel>
22 24
       <div class="reset" @click="resetEvent">重置</div>
23 25
     </div>
24 26
     <div class="tableInfo">
25 27
       <div>
26 28
         <div class="flex">
27 29
           <i class="el-icon-user-solid"></i>
28
-          <div class="totalCustom">共有<span>{{total}}</span>个已分配客户</div>
30
+          <div class="totalCustom">共有<span>{{ total }}</span>个已分配客户</div>
29 31
         </div>
30 32
       </div>
31 33
     </div>
@@ -34,33 +36,39 @@
34 36
       <el-table-column prop="customer_name" label="客户名称" show-overflow-tooltip align="center"></el-table-column>
35 37
       <el-table-column prop="takeover_username" label="接替员工" show-overflow-tooltip align="center"></el-table-column>
36 38
 
37
-      <el-table-column label="转接状态" align="center">
39
+      <el-table-column label="转接状态" align="center" min-width="100">
38 40
         <template slot-scope="scope">
39
-          <span v-if="scope.row.status==1">已转接</span>
40
-          <span v-if="scope.row.status==2">客户转接中</span>
41
-          <span v-if="scope.row.status==3">客户已拒绝</span>
42
-          <span v-if="scope.row.status==4">接替成员客户达到上限</span>
43
-          <span v-if="scope.row.status==5">无接替记录</span>
41
+          <template v-if="scope.row.status == -1">
42
+            <span>迁移失败</span>
43
+            <p class="c-757D9C f12">({{ scope.row.err_msg }})</p>
44
+          </template>
45
+          <span v-if="scope.row.status == 1">已转接</span>
46
+          <span v-if="scope.row.status == 2">客户转接中</span>
47
+          <span v-if="scope.row.status == 3">客户已拒绝</span>
48
+          <span v-if="scope.row.status == 4">接替成员客户达到上限</span>
49
+          <span v-if="scope.row.status == 5">无接替记录</span>
44 50
         </template>
45 51
       </el-table-column>
46 52
       <el-table-column prop="takeover_time" label="分配时间" show-overflow-tooltip align="center"></el-table-column>
47 53
       <el-table-column label="操作" align="center">
48 54
         <template slot-scope="scope">
49 55
           <div class="flex" style="justify-content:center">
50
-            <div class="c-00B38A pointer" style="margin:0 6px" v-if="scope.row.takeover_userid" @click="showDetial(scope.row)">详情</div>
56
+            <div class="c-00B38A pointer" style="margin:0 6px" v-if="scope.row.takeover_userid"
57
+              @click="showDetial(scope.row)">详情</div>
51 58
           </div>
52 59
         </template>
53 60
       </el-table-column>
54 61
     </el-table>
55
-    <div class="pagination" v-show="total>0">
56
-      <el-pagination background :current-page="page" @current-change="handleCurrentChange" layout="prev, pager, next" :page-count='Number(pages)'>
62
+    <div class="pagination" v-show="total > 0">
63
+      <el-pagination background :current-page="page" @current-change="handleCurrentChange" layout="prev, pager, next"
64
+        :page-count='Number(pages)'>
57 65
       </el-pagination>
58 66
     </div>
59 67
     <!--详情-->
60 68
     <el-drawer :size="drawerSize" :visible.sync="detialDrawer" :with-header="false">
61 69
       <detial @changeDrawerSize="changeDrawerSize" @closeDrawer="closeDrawer" :rowProp="{
62
-        customer_id:rowPro.customer_id,
63
-        user_id:rowPro.takeover_userid
70
+        customer_id: rowPro.customer_id,
71
+        user_id: rowPro.takeover_userid
64 72
       }" ref="detial"></detial>
65 73
     </el-drawer>
66 74
   </div>
@@ -182,25 +190,31 @@ export default {
182 190
 </script>
183 191
 <style lang="scss" scoped>
184 192
 @import "@/style/list.scss";
193
+
185 194
 .screenBox .common-screen-item {
186 195
   width: inherit;
187 196
 }
197
+
188 198
 .tableInfo {
189 199
   height: 50px;
190 200
 }
201
+
191 202
 .backBox {
192 203
   background: #ffffff;
193 204
   padding: 15px;
194 205
   margin-bottom: 10px;
206
+
195 207
   .back {
196 208
     font-size: 14px;
197 209
     line-height: 20px;
198 210
     color: #333333;
199 211
     cursor: pointer;
200 212
     display: inline-block;
213
+
201 214
     i {
202 215
       font-size: 16px;
203 216
     }
217
+
204 218
     .back_main_title {
205 219
       font-size: 16px;
206 220
       font-weight: bold;