Browse Source

youhua radar

liuxiaona 2 years ago
parent
commit
727dc24fe2

+ 6 - 0
.idea/vcs.xml

@@ -0,0 +1,6 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project version="4">
3
+  <component name="VcsDirectoryMappings">
4
+    <mapping directory="$PROJECT_DIR$" vcs="Git" />
5
+  </component>
6
+</project>

+ 19 - 3
.idea/workspace.xml

@@ -2,9 +2,23 @@
2 2
 <project version="4">
3 3
   <component name="ChangeListManager">
4 4
     <list default="true" id="c03feb23-5590-4b06-ae32-412ba98013a8" name="Default" comment="">
5
+      <change afterPath="$PROJECT_DIR$/.idea/vcs.xml" afterDir="false" />
5 6
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
6
-      <change beforePath="$PROJECT_DIR$/qwh5/src/views/quickwordH5.vue" beforeDir="false" afterPath="$PROJECT_DIR$/qwh5/src/views/quickwordH5.vue" afterDir="false" />
7
-      <change beforePath="$PROJECT_DIR$/qwh5/src/views/radarH5.vue" beforeDir="false" afterPath="$PROJECT_DIR$/qwh5/src/views/radarH5.vue" afterDir="false" />
7
+      <change beforePath="$PROJECT_DIR$/project/src/components/assembly/screen/customerService.vue" beforeDir="false" afterPath="$PROJECT_DIR$/project/src/components/assembly/screen/customerService.vue" afterDir="false" />
8
+      <change beforePath="$PROJECT_DIR$/project/src/components/customOperate/sideTool/index.vue" beforeDir="false" afterPath="$PROJECT_DIR$/project/src/components/customOperate/sideTool/index.vue" afterDir="false" />
9
+      <change beforePath="$PROJECT_DIR$/project/src/components/customOperate/sideTool/quickWord/createquickword.vue" beforeDir="false" afterPath="$PROJECT_DIR$/project/src/components/customOperate/sideTool/quickWord/createquickword.vue" afterDir="false" />
10
+      <change beforePath="$PROJECT_DIR$/project/src/components/customOperate/sideTool/quickWord/fileType.vue" beforeDir="false" afterPath="$PROJECT_DIR$/project/src/components/customOperate/sideTool/quickWord/fileType.vue" afterDir="false" />
11
+      <change beforePath="$PROJECT_DIR$/project/src/components/customOperate/sideTool/quickWord/index.vue" beforeDir="false" afterPath="$PROJECT_DIR$/project/src/components/customOperate/sideTool/quickWord/index.vue" afterDir="false" />
12
+      <change beforePath="$PROJECT_DIR$/project/src/components/customOperate/sideTool/quickWord/quickwordList.vue" beforeDir="false" afterPath="$PROJECT_DIR$/project/src/components/customOperate/sideTool/quickWord/quickwordList.vue" afterDir="false" />
13
+      <change beforePath="$PROJECT_DIR$/project/src/components/smartRadar/createRadar.vue" beforeDir="false" afterPath="$PROJECT_DIR$/project/src/components/customOperate/sideTool/smartRadar/createRadar.vue" afterDir="false" />
14
+      <change beforePath="$PROJECT_DIR$/project/src/components/smartRadar/dataAnalyse.vue" beforeDir="false" afterPath="$PROJECT_DIR$/project/src/components/customOperate/sideTool/smartRadar/dataAnalyse.vue" afterDir="false" />
15
+      <change beforePath="$PROJECT_DIR$/project/src/components/smartRadar/dialogGroup.vue" beforeDir="false" afterPath="$PROJECT_DIR$/project/src/components/customOperate/sideTool/smartRadar/dialogGroup.vue" afterDir="false" />
16
+      <change beforePath="$PROJECT_DIR$/project/src/components/smartRadar/fileType.vue" beforeDir="false" afterPath="$PROJECT_DIR$/project/src/components/customOperate/sideTool/smartRadar/fileType.vue" afterDir="false" />
17
+      <change beforePath="$PROJECT_DIR$/project/src/components/smartRadar/groupList.vue" beforeDir="false" afterPath="$PROJECT_DIR$/project/src/components/customOperate/sideTool/smartRadar/groupList.vue" afterDir="false" />
18
+      <change beforePath="$PROJECT_DIR$/project/src/components/smartRadar/index.vue" beforeDir="false" afterPath="$PROJECT_DIR$/project/src/components/customOperate/sideTool/smartRadar/index.vue" afterDir="false" />
19
+      <change beforePath="$PROJECT_DIR$/project/src/components/smartRadar/publicTable.vue" beforeDir="false" afterPath="$PROJECT_DIR$/project/src/components/customOperate/sideTool/smartRadar/publicTable.vue" afterDir="false" />
20
+      <change beforePath="$PROJECT_DIR$/project/src/components/smartRadar/radarList.vue" beforeDir="false" afterPath="$PROJECT_DIR$/project/src/components/customOperate/sideTool/smartRadar/radarList.vue" afterDir="false" />
21
+      <change beforePath="$PROJECT_DIR$/project/src/router/allRouter.js" beforeDir="false" afterPath="$PROJECT_DIR$/project/src/router/allRouter.js" afterDir="false" />
8 22
     </list>
9 23
     <option name="SHOW_DIALOG" value="false" />
10 24
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -145,6 +159,7 @@
145 159
     <property name="WebServerToolWindowFactoryState" value="false" />
146 160
     <property name="last_opened_file_path" value="$PROJECT_DIR$" />
147 161
     <property name="ts.external.directory.path" value="C:\Program Files (x86)\webstorm\WebStorm 2021.2.1\plugins\JavaScriptLanguage\jsLanguageServicesImpl\external" />
162
+    <property name="vue.rearranger.settings.migration" value="true" />
148 163
   </component>
149 164
   <component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
150 165
   <component name="SvnConfiguration">
@@ -159,6 +174,7 @@
159 174
       <updated>1657000152862</updated>
160 175
       <workItem from="1657000165741" duration="17574000" />
161 176
       <workItem from="1657029123073" duration="545000" />
177
+      <workItem from="1657159278707" duration="9223000" />
162 178
     </task>
163 179
     <servers />
164 180
   </component>
@@ -190,7 +206,7 @@
190 206
     </layout>
191 207
   </component>
192 208
   <component name="TypeScriptGeneratedFilesManager">
193
-    <option name="version" value="1" />
209
+    <option name="version" value="3" />
194 210
   </component>
195 211
   <component name="VcsContentAnnotationSettings">
196 212
     <option name="myLimit" value="2678400000" />

+ 1 - 1
project/src/components/assembly/screen/customerService.vue

@@ -9,7 +9,7 @@
9 9
         <div :class="['common-screen-self-con',
10 10
         !final_result||final_result.length==0?'common-screen-self-placeholder':'']">
11 11
           <div class="common-screen-self-con-div">
12
-            <span v-if="!final_result||final_result.length==0">请选择</span>
12
+            <span v-if="!final_result||final_result.length==0">请选择客服</span>
13 13
             <template v-else>
14 14
               <span v-for="(item,index) in final_result" :key="index">{{item.name}}{{index==final_result.length-1?'':','}}</span>
15 15
             </template>

+ 11 - 11
project/src/components/customOperate/sideTool/index.vue

@@ -15,12 +15,12 @@
15 15
 <script>
16 16
 import userPortrait from './userPortrait.vue'
17 17
 import quickWord from './quickWord/index.vue'
18
-import radar from '@/components/smartRadar/index'
18
+import radar from './smartRadar/index'
19 19
 export default {
20 20
   components: { userPortrait, quickWord, radar },
21 21
   data () {
22 22
     return {
23
-      type: 'quickWord'
23
+      type: 'userPortrait'
24 24
     }
25 25
   },
26 26
   methods: {
@@ -29,15 +29,15 @@ export default {
29 29
     },
30 30
 
31 31
   },
32
-  beforeRouteEnter(to, from, next) {
33
-    next(vm=>{
34
-      if(from.meta.radarChild){
35
-        vm.type = 'radar'
36
-      }else{
37
-        vm.type = 'userPortrait'
38
-      }
39
-    });
40
-  },
32
+  // beforeRouteEnter(to, from, next) {
33
+  //   next(vm=>{
34
+  //     if(from.meta.radarChild){
35
+  //       vm.type = 'radar'
36
+  //     }else{
37
+  //       vm.type = 'userPortrait'
38
+  //     }
39
+  //   });
40
+  // },
41 41
 }
42 42
 </script>
43 43
 <style lang="scss" scoped>

+ 1 - 4
project/src/components/customOperate/sideTool/quickWord/createquickword.vue

@@ -58,7 +58,6 @@ export default {
58 58
   },
59 59
   methods:{
60 60
     rule_id_init(){
61
-      console.log(this.rule_id,'rule_id_init');
62 61
       if (this.rule_id) {//详情
63 62
         this.detail()
64 63
       }else{
@@ -68,7 +67,6 @@ export default {
68 67
     },
69 68
     empty_define(){
70 69
       this.reset=!this.reset
71
-      // this.file_rule_id=''
72 70
       this.quickwordtitle=''
73 71
       this.group_id=''
74 72
       this.msg_list=[]
@@ -93,6 +91,7 @@ export default {
93 91
     },
94 92
     detail () {//详情
95 93
       this.loading = true
94
+      this.reset=!this.reset
96 95
       this.$axios.post(this.URL.BASEURL + this.URL.quick_quickDetial, {
97 96
         rule_id: this.rule_id
98 97
       }).then((res) => {
@@ -104,7 +103,6 @@ export default {
104 103
           this.quickwordtitle = dataInfo.title
105 104
           this.msg_list = dataInfo.msg_list
106 105
           this.file_rule_id = this.rule_id
107
-          this.reset=!this.reset
108 106
           this.edit_detial_Flag=true
109 107
         } else if (res.errno != 4002) {
110 108
           this.$message({
@@ -145,7 +143,6 @@ export default {
145 143
         this.$loading(this.$loadingConfig).close()
146 144
         if (res && res.errno == 0) {
147 145
           this.$emit('init')
148
-          // this.empty_define()
149 146
         } else if (res.errno != 4002) {
150 147
           this.$message({
151 148
             message: res.err,

+ 6 - 5
project/src/components/customOperate/sideTool/quickWord/fileType.vue

@@ -1,6 +1,6 @@
1 1
 <template>
2 2
   <div class="regulations">
3
-    <label><em>*</em>企业话术</label>
3
+    <label style="flex-shrink: 0"><em>*</em>企业话术</label>
4 4
     <div class="wordsCon">
5 5
       <div class="con_left">
6 6
         <div v-for="(item,index) in wordsList" :key="item.key_val">
@@ -337,9 +337,9 @@ export default {
337 337
     reset(){
338 338
       this.chuanzhi_msg_list()
339 339
     },
340
-    file_rule_id(){
341
-      this.chuanzhi_msg_list()
342
-    }
340
+    // file_rule_id(){
341
+    //   this.chuanzhi_msg_list()
342
+    // }
343 343
   },
344 344
   created(){
345 345
     this.chuanzhi_msg_list()
@@ -428,7 +428,8 @@ export default {
428 428
           this.$nextTick(()=>{
429 429
             this.wordsActive = this.wordsList[0].key_val
430 430
         })
431
-        }else{
431
+        }
432
+        else{
432 433
           this.$message({
433 434
             type: 'error',
434 435
             message: 'msg_list不正确,请联系开发成员'

+ 1 - 1
project/src/components/customOperate/sideTool/quickWord/index.vue

@@ -22,7 +22,7 @@
22 22
     <el-drawer
23 23
       :visible.sync="showQuick"
24 24
       direction="rtl"
25
-      size="60%">
25
+      size="65%">
26 26
       <div slot="title" class="c-000">新增话术</div>
27 27
       <createquickword ref="createquickwordRef" rule_id="" @init="()=>{initFlag=!initFlag;showQuick=false}"></createquickword>
28 28
     </el-drawer>

+ 1 - 1
project/src/components/customOperate/sideTool/quickWord/quickwordList.vue

@@ -139,7 +139,7 @@
139 139
     <el-drawer
140 140
       :visible.sync="showQuick"
141 141
       direction="rtl"
142
-      size="60%">
142
+      size="65%">
143 143
       <div slot="title" class="c-000">编辑话术</div>
144 144
       <createquickword :rule_id="rule_id" @init="re_load()"></createquickword>
145 145
     </el-drawer>

+ 38 - 20
project/src/components/smartRadar/createRadar.vue

@@ -1,12 +1,5 @@
1 1
 <template>
2 2
   <div v-loading="loading">
3
-    <div class="backBox" @click="$router.go(-1)">
4
-     <div class="back">
5
-       <i class="el-icon-back"></i>
6
-       <span>返回</span>
7
-     </div>
8
-   </div>
9
-
10 3
     <div v-if="edit_detial_Flag" class="bg-ffffff createMassMsg" style="padding: 10px 30px 10px;">
11 4
       <div class="regulations">
12 5
         <label><em>*</em>名称</label>
@@ -31,6 +24,8 @@
31 24
                   url_list_echo:url_list_echo,
32 25
                   type:type
33 26
                 }"
27
+                :reset='resetFlag'
28
+                :file_rule_id="file_rule_id"
34 29
                 @getType="(val)=>{type = val}"></fileType>
35 30
       <div class="regulations">
36 31
         <label><em>*</em>雷达标题</label>
@@ -100,7 +95,6 @@
100 95
         <el-button type="primary" @click="newCode_click">保存</el-button>
101 96
       </div>
102 97
     </div>
103
-
104 98
     <el-dialog
105 99
       :append-to-body="true"
106 100
       title="查看案例"
@@ -119,6 +113,7 @@ import fileType from './fileType.vue'
119 113
 import enterpriseTag from '@/components/assembly/screen/enterpriseTagFC.vue'
120 114
 export default {
121 115
   name: "createRadar",
116
+  props:['radar_id'],
122 117
   components:{
123 118
     fileType,
124 119
     enterpriseTag
@@ -156,21 +151,43 @@ export default {
156 151
       tag_info:[],
157 152
       url_list_echo:[],
158 153
       caseShow:false,
159
-      caseType:'title'
154
+      caseType:'title',
155
+      file_rule_id:''
160 156
     }
161 157
   },
162 158
   watch:{
163
-
159
+    radar_id(){
160
+      this.radar_id_init()
161
+    }
164 162
   },
165 163
   created(){
166 164
     this.init_groupList()
167
-    if (this.$route.query.id) {//详情
168
-      this.detail()
169
-    }else{
170
-      this.edit_detial_Flag=true
171
-    }
165
+    this.radar_id_init()
172 166
   },
173 167
   methods:{
168
+    radar_id_init(){
169
+      this.empty_define()
170
+      if (this.radar_id) {//详情
171
+        this.detail()
172
+      }else{
173
+        this.edit_detial_Flag=true
174
+      }
175
+    },
176
+    empty_define(){
177
+      this.resetFlag=!this.resetFlag
178
+      this.smartVal=[]
179
+      this.user_id_list=[]
180
+      this.coverFileList=[]
181
+      this.cover_id=''
182
+      this.radardesc=''
183
+      this.radartitle=''
184
+      this.radarName=''
185
+      this.group_id=''
186
+      this.afferent_tag_obj.tag_id_list=[]
187
+      this.tag_info=[]
188
+      this.url_list_echo=[]
189
+      this.type=1
190
+    },
174 191
     caseClick(type){
175 192
       this.caseShow = true
176 193
       this.caseType = type
@@ -240,13 +257,14 @@ export default {
240 257
       this.loading = true
241 258
       this.$axios.get(this.URL.BASEURL + this.URL.radar_radarDetail, {
242 259
         params: {
243
-          radar_id: this.$route.query.id
260
+          radar_id: this.radar_id
244 261
         }
245 262
       }).then((res) => {
246 263
         this.loading = false
247 264
         var res = res.data
248 265
         if (res && res.errno == 0) {
249 266
           let dataInfo = res.rst
267
+          this.file_rule_id = this.radar_id
250 268
           this.radarName = dataInfo.name
251 269
           this.group_id = dataInfo.group_id
252 270
           this.radartitle = dataInfo.title
@@ -327,13 +345,13 @@ export default {
327 345
 
328 346
       this.$loading(this.$loadingConfig)
329 347
       let api=''
330
-      if(this.$route.query.id){//编辑
348
+      if(this.radar_id){//编辑
331 349
         api=this.URL.radar_radarEdit
332 350
       }else{
333 351
         api=this.URL.radar_addRadar
334 352
       }
335 353
       this.$axios.post(this.URL.BASEURL + api, {
336
-        radar_id: this.$route.query.id ? this.$route.query.id : '',
354
+        radar_id: this.radar_id ? this.radar_id : '',
337 355
         group_id:this.group_id,
338 356
         name: this.radarName,
339 357
         type:this.type,
@@ -349,7 +367,7 @@ export default {
349 367
         var res = res.data
350 368
         this.$loading(this.$loadingConfig).close()
351 369
         if (res && res.errno == 0) {
352
-          this.$router.go(-1)
370
+          this.$emit('init')
353 371
         } else if (res.errno != 4002) {
354 372
           this.$message({
355 373
             message: res.err,
@@ -402,7 +420,7 @@ export default {
402 420
 
403 421
 </style>
404 422
 <style lang="scss" scoped>
405
-@import "../customOperate/create.scss";
423
+@import "@/components/customOperate/create.scss";
406 424
 
407 425
 .newGroupCss{
408 426
   color: #00b38a;

+ 15 - 14
project/src/components/smartRadar/dataAnalyse.vue

@@ -1,13 +1,5 @@
1 1
 <template>
2 2
   <div class="con" v-loading="loading">
3
-    <div class="backBox" @click="$router.go(-1)">
4
-      <div class="back">
5
-        <i class="el-icon-back"></i>
6
-        <span>返回</span>
7
-        (数据分析)
8
-      </div>
9
-    </div>
10
-
11 3
     <div class="dataBox">
12 4
       <div v-for="(item,index) in dataPreview" :key="index" class="box_item">
13 5
         <div class="c-000 fWeight600">{{item.bigTitle?item.bigTitle:'-'}}</div>
@@ -20,7 +12,9 @@
20 12
       <publicTable
21 13
         :propsData="{
22 14
           desCol:desCol,
23
-          source:'dataAnalyse'
15
+          source:'dataAnalyse',
16
+          radar_id:analyse_id,
17
+          reset:reset
24 18
         }"
25 19
       ></publicTable>
26 20
     </div>
@@ -31,6 +25,7 @@
31 25
 import publicTable from './publicTable.vue'
32 26
 export default {
33 27
   name: "dataAnalyse",
28
+  props:['analyse_id','reset'],
34 29
   components:{
35 30
     publicTable
36 31
   },
@@ -65,18 +60,23 @@ export default {
65 60
         { prop: "last_click_time", label: "最近点击时间" },
66 61
         { prop: "last_click_channel", label: "最近点击渠道" },
67 62
         { prop: "pv_count", label: "客户访问总次数"}
68
-      ]
63
+      ],
69 64
     }
70 65
   },
71
-  created(){
72
-    this.init_preview()
66
+  watch:{
67
+    reset(){
68
+      console.log(this.reset);
69
+      this.$nextTick(()=>{
70
+        this.init_preview()
71
+      })
72
+    }
73 73
   },
74 74
   methods:{
75 75
     init_preview(){//数据概览
76 76
       this.loading = true
77 77
       this.$axios.get(this.URL.BASEURL + this.URL.radar_dataView, {
78 78
         params:{
79
-          radar_id:this.$route.params.id
79
+          radar_id:this.analyse_id
80 80
         }
81 81
       }).then((res) => {
82 82
         var res = res.data
@@ -108,11 +108,12 @@ export default {
108 108
   display: flex;
109 109
   align-items: center;
110 110
   justify-content: space-between;
111
+  padding: 0 20px;
111 112
   .box_item{
112 113
     min-width: 23%;
113 114
     padding: 20px 15px 10px;
114 115
     font-size: 14px;
115
-    background-color: #fff;
116
+    background-color: rgb(249,249,249);
116 117
     border-radius: 4px;
117 118
     .splitLine{
118 119
       width: 100%;

project/src/components/smartRadar/dialogGroup.vue → project/src/components/customOperate/sideTool/smartRadar/dialogGroup.vue


+ 46 - 25
project/src/components/smartRadar/fileType.vue

@@ -120,7 +120,7 @@
120 120
 <script>
121 121
 export default {
122 122
   name: "fileType",
123
-  props:['comeBackParms'],
123
+  props:['comeBackParms','reset','file_rule_id'],
124 124
   data(){
125 125
     return{
126 126
       fileType_Val:1,
@@ -163,40 +163,61 @@ export default {
163 163
     }
164 164
   },
165 165
   watch:{
166
+    reset(){
167
+      this.chuanzhi_init()
168
+    },
169
+    file_rule_id(){
170
+      this.chuanzhi_init()
171
+    },
166 172
     fileType_Val(){
167 173
       this.$emit('getType',this.fileType_Val)
168 174
     }
169 175
   },
170 176
   created(){
171
-    if (this.$route.query.id) {
172
-      let paramsType = this.comeBackParms.type
173
-      let paramsurl = this.comeBackParms.url_list_echo
174
-      this.fileType_Val = paramsType
175
-      if(paramsType==1){
176
-        this.jumplink_val=paramsurl[0]
177
-      }else if(paramsType==2){
178
-        this.pdfList.push({
179
-          url:paramsurl[0],
180
-          name:paramsurl[0],
181
-        })
182
-        this.pdfVal = paramsurl
183
-      }else if(paramsType==3){
184
-        paramsurl.forEach(item=>{
185
-          this.typeImgList.push({
186
-            url:item
177
+    this.chuanzhi_init()
178
+  },
179
+  methods:{
180
+    chuanzhi_init(){
181
+      if (this.file_rule_id) {
182
+        let paramsType = this.comeBackParms.type
183
+        let paramsurl = this.comeBackParms.url_list_echo
184
+        this.fileType_Val = paramsType
185
+        if(paramsType==1){
186
+          this.jumplink_val=paramsurl[0]
187
+        }else if(paramsType==2){
188
+          this.pdfList=[]
189
+          this.pdfList.push({
190
+            url:paramsurl[0],
191
+            name:paramsurl[0],
187 192
           })
188
-        })
189
-        this.imgVals = paramsurl
190
-      }else if(paramsType==4){
193
+          this.pdfVal = paramsurl
194
+        }else if(paramsType==3){
195
+          this.typeImgList=[]
196
+          paramsurl.forEach(item=>{
197
+            this.typeImgList.push({
198
+              url:item
199
+            })
200
+          })
201
+          this.imgVals = paramsurl
202
+        }else if(paramsType==4){
203
+          this.mp4List=[]
191 204
           this.mp4List.push({
192 205
             url:paramsurl[0],
193 206
             name:paramsurl[0],
194 207
           })
195
-        this.mp4Val = paramsurl
208
+          this.mp4Val = paramsurl
209
+        }
210
+      }else{
211
+        this.fileType_Val=1
212
+        this.jumplink_val=''
213
+          this.pdfList=[]
214
+          this.pdfVal=[]
215
+          this.typeImgList=[]
216
+          this.imgVals=[]
217
+          this.mp4List=[]
218
+          this.mp4Val=[]
196 219
       }
197
-    }
198
-  },
199
-  methods:{
220
+    },
200 221
     judgeType(){
201 222
       this.returnFlag = false
202 223
       this.ur_list=[]
@@ -349,7 +370,7 @@ export default {
349 370
 }
350 371
 </style>
351 372
 <style lang="scss" scoped>
352
-@import "../customOperate/create.scss";
373
+@import "@/components/customOperate/create.scss";
353 374
 .regulations{
354 375
   margin-top: 0;
355 376
 }

project/src/components/smartRadar/groupList.vue → project/src/components/customOperate/sideTool/smartRadar/groupList.vue


+ 16 - 2
project/src/components/smartRadar/index.vue

@@ -19,6 +19,14 @@
19 19
           }"></radarList>
20 20
       </div>
21 21
     </div>
22
+
23
+    <el-drawer
24
+      :visible.sync="showOerateBox"
25
+      direction="rtl"
26
+      size="60%">
27
+      <div slot="title" class="c-000">新增雷达</div>
28
+      <createRadar ref="createRadarRef" radar_id="" @init="()=>{initFlag=!initFlag;showOerateBox=false}"></createRadar>
29
+    </el-drawer>
22 30
   </div>
23 31
 </template>
24 32
 
@@ -26,15 +34,18 @@
26 34
 import selfInput from '@/components/assembly/screen/input.vue'
27 35
 import groupList from './groupList.vue'
28 36
 import radarList from './radarList.vue'
37
+import createRadar from './createRadar.vue'
29 38
 export default {
30 39
   name: "codeIndex",
31 40
   components:{
32 41
     selfInput,
33 42
     groupList,
34
-    radarList
43
+    radarList,
44
+    createRadar
35 45
   },
36 46
   data() {
37 47
     return {
48
+      showOerateBox:false,
38 49
       initFlag:false,
39 50
       radar_val:'',
40 51
       reset:false,
@@ -48,7 +59,10 @@ export default {
48 59
       this.radar_val = ''
49 60
     },
50 61
     created_radar(){//新建
51
-      this.$router.push({path:'/createRadar'})
62
+      this.showOerateBox=true
63
+      this.$nextTick(()=>{
64
+        this.$refs.createRadarRef.radar_id_init()
65
+      })
52 66
     },
53 67
     copy() {
54 68
       let corpid = '';

+ 31 - 7
project/src/components/smartRadar/publicTable.vue

@@ -1,11 +1,14 @@
1 1
 <template>
2 2
   <div>
3 3
     <template v-if="propsData.source == 'dataAnalyse'">
4
-      <div class="span_title">打开链接的客户 ({{customer_count||customer_count==0 ? customer_count : '-'}})</div>
4
+      <div class="span_title">
5
+        <span class="spn_area"></span>
6
+        打开链接的客户 ({{customer_count||customer_count==0 ? customer_count : '-'}})
7
+      </div>
5 8
       <div class="flex-align-center" style="flex-wrap: wrap">
6
-        <self-input :reset="reset" :hasLabel="true" label_name="搜索客户" @inputChange='(val)=>{customer_name = val;source_init()}'></self-input>
7
-        <div class="flex" style="margin-right: 20px">
8
-          <div class="f14 c-666" style="flex-shrink: 0;margin-right: 6px;width: 80px;text-align: right;">选择渠道</div>
9
+        <self-input :reset="reset" :hasLabel="false" label_name="搜索客户" @inputChange='(val)=>{customer_name = val;source_init()}'></self-input>
10
+        <div class="flex" style="margin: 0 10px">
11
+<!--          <div class="f14 c-666" style="flex-shrink: 0;margin-right: 6px;width: 80px;text-align: right;">选择渠道</div>-->
9 12
           <el-select v-model="channel" size="small" clearable placeholder="请选择渠道" @change="source_init()" style="width: 200px">
10 13
             <el-option
11 14
               v-for="(item,index) in channelList"
@@ -18,7 +21,7 @@
18 21
         <date-picker :reset="reset" title=""  :quickFlag="false" :afferent_time="default_time"
19 22
                      :clearFlag='false' @changeTime="changeTime"></date-picker>
20 23
         <!-- 所属客服 -->
21
-        <self-customerservice :reset='reset' :hasLabel="true" label_name="" @customerDefine="(val)=>{user_list=val;source_init()}"></self-customerservice>
24
+        <self-customerservice style="margin-left: 10px" :reset='reset' title="" @customerDefine="(val)=>{user_list=val;source_init()}"></self-customerservice>
22 25
         <el-button type="primary" size="mini" @click="resetAll" style="margin-left: 10px">重置</el-button>
23 26
       </div>
24 27
     </template>
@@ -116,6 +119,9 @@ export default {
116 119
   watch:{
117 120
     'propsData.initFlag'(){
118 121
       this.source_init()
122
+    },
123
+    'propsData.reset'(){
124
+      this.init_analyse_list()
119 125
     }
120 126
   },
121 127
   created() {
@@ -164,10 +170,19 @@ export default {
164 170
       });
165 171
     },
166 172
     init_analyse_list(){//数据概览列表
173
+
174
+      console.log(this.propsData.radar_id);
175
+      if(this.propsData.radar_id==''){
176
+        this.$message({
177
+          message: 'radar_id不正确',
178
+          type: "warning"
179
+        })
180
+        return
181
+      }
167 182
       this.loading = true
168 183
       this.$axios.get(this.URL.BASEURL + this.URL.radar_dataView_list, {
169 184
         params:{
170
-          radar_id:this.$route.params.id,
185
+          radar_id:this.propsData.radar_id,
171 186
           customer_name:this.customer_name,
172 187
           channel:this.channel,
173 188
           user_list:this.user_list,
@@ -196,7 +211,7 @@ export default {
196 211
       this.$router.push('/radar_dataAnalyse/'+id)
197 212
     },
198 213
     editRadar(id){
199
-      this.$router.push({path:'/createRadar',query: {id:id}})
214
+      // this.$router.push({path:'/createRadar',query: {id:id}})
200 215
     },
201 216
     deleRadar(id){
202 217
       this.loading = true
@@ -255,5 +270,14 @@ export default {
255 270
     font-weight: 600;
256 271
     color: #000;
257 272
     margin: 10px 0 ;
273
+    display: flex;
274
+    align-items: center;
275
+    .spn_area{
276
+      display: inline-block;
277
+      width: 4px;
278
+      height: 16px;
279
+      background-color: #00B38A;
280
+      margin-right: 4px;
281
+    }
258 282
   }
259 283
 </style>

+ 46 - 13
project/src/components/smartRadar/radarList.vue

@@ -38,11 +38,11 @@
38 38
               </div>
39 39
               <div v-else-if="item.prop=='oprate'">
40 40
                 <div class="flex" style="padding: 0 10px;font-size: 13px">
41
-                  <div class="c-00B38A pointer" @click="editRadar(row.radar_id)">编辑</div>
42
-                  <el-popconfirm @confirm="deleRadar(row.radar_id)" :title="`确定删除【${row.name}】渠道活码?`">
41
+                  <div class="c-00B38A pointer" @click="editRadar(row.radar_id,row.name)">编辑</div>
42
+                  <el-popconfirm @confirm="deleRadar(row.radar_id)" :title="`确定删除【${row.name}】智能雷达?`">
43 43
                     <div slot="reference" class="c-00B38A pointer lMar8">删除</div>
44 44
                   </el-popconfirm>
45
-                  <div class="c-00B38A pointer lMar8" @click="goDataAanlyse(row.radar_id)">分析数据</div>
45
+                  <div class="c-00B38A pointer lMar8" @click="goDataAanlyse(row.radar_id,row.name)">分析数据</div>
46 46
                 </div>
47 47
               </div>
48 48
               <div v-else>{{row[item.prop] ||row[item.prop]==0 ? row[item.prop] : '-'}}</div>
@@ -53,17 +53,35 @@
53 53
         <p class="text-center f14 tMar8 c-d3" v-if="noMore"></p>
54 54
       </div>
55 55
       <div class="noData" v-else>暂无数据</div>
56
-
57 56
     </div>
57
+    <el-drawer
58
+      :visible.sync="showOerateBox"
59
+      direction="rtl"
60
+      size="60%">
61
+      <div slot="title" class="c-000">编辑雷达({{radar_name}})</div>
62
+      <createRadar :radar_id="radar_id" @init="re_load()"></createRadar>
63
+    </el-drawer>
64
+
65
+    <el-drawer
66
+      :visible.sync="showOerateBox_analyse"
67
+      direction="rtl"
68
+      size="70%">
69
+      <div slot="title" class="c-000">数据分析({{radar_name}})</div>
70
+      <dataAnalyse :reset="reset" :analyse_id="analyse_id"></dataAnalyse>
71
+    </el-drawer>
58 72
   </div>
59 73
 </template>
60 74
 
61 75
 <script>
62 76
   import draggable from "vuedraggable"
77
+  import dataAnalyse from './dataAnalyse.vue'
78
+  import createRadar from './createRadar.vue'
63 79
 export default {
64 80
   name: "radarList",
65 81
   components:{
66
-    draggable
82
+    draggable,
83
+    createRadar,
84
+    dataAnalyse
67 85
   },
68 86
   props:['propsData'],
69 87
   computed: {
@@ -76,6 +94,12 @@ export default {
76 94
   },
77 95
   data(){
78 96
     return{
97
+      radar_id:'',
98
+      radar_name:'',
99
+      analyse_id:'',
100
+      reset: false,
101
+      showOerateBox_analyse: false,
102
+      showOerateBox: false,
79 103
       loading: false,
80 104
       moreloading: false,
81 105
       page: 1,
@@ -98,10 +122,7 @@ export default {
98 122
   },
99 123
   watch:{
100 124
     'propsData.initFlag'(){
101
-      this.page=1
102
-      this.tableData=[]
103
-      this.copy_tableData=[]
104
-      this.init()
125
+      this.re_load()
105 126
     }
106 127
   },
107 128
   created() {
@@ -109,15 +130,27 @@ export default {
109 130
     this.init(1)
110 131
   },
111 132
   methods:{
133
+    re_load(){
134
+      this.showOerateBox=false
135
+      this.page=1
136
+      this.tableData=[]
137
+      this.copy_tableData=[]
138
+      this.init()
139
+    },
112 140
     load(){
113 141
       this.page += 1
114 142
       this.init()
115 143
     },
116
-    goDataAanlyse(id){
117
-      this.$router.push('/radar_dataAnalyse/'+id)
144
+    goDataAanlyse(id,name){
145
+      this.reset=!this.reset
146
+      this.radar_name = name
147
+      this.analyse_id = id
148
+      this.showOerateBox_analyse = true
118 149
     },
119
-    editRadar(id){
120
-      this.$router.push({path:'/createRadar',query: {id:id}})
150
+    editRadar(id,name){
151
+      this.radar_name = name
152
+      this.radar_id = id
153
+      this.showOerateBox = true
121 154
     },
122 155
     deleRadar(id){
123 156
       this.loading = true

+ 3 - 38
project/src/router/allRouter.js

@@ -41,10 +41,7 @@ const importRecordDetial = () => import(/* webpackChunkName: 'importRecordDetial
41 41
 const codeIndex = () => import(/* webpackChunkName: 'codeIndex' */ '@/components/channelCode/codeIndex.vue')
42 42
 const code_dataAnalyse = () => import(/* webpackChunkName: 'dataAnalyse' */ '@/components/channelCode/dataAnalyse.vue')
43 43
 const createChannelCode = () => import(/* webpackChunkName: 'createChannelCode' */ '@/components/channelCode/createChannelCode.vue')
44
-const codeIndex_radar = () => import(/* webpackChunkName: 'codeIndex_radar' */ '@/components/smartRadar/index.vue')
45
-const radar_dataAnalyse = () => import(/* webpackChunkName: 'radar_dataAnalyse' */ '@/components/smartRadar/dataAnalyse.vue')
46
-const createRadar = () => import(/* webpackChunkName: 'createRadar' */ '@/components/smartRadar/createRadar.vue')
47
-const createquickword = () => import(/* webpackChunkName: 'createquickword' */ '@/components/customOperate/sideTool/quickWord/createquickword.vue')
44
+const radarIndex = () => import(/* webpackChunkName: 'radarIndex' */ '@/components/customOperate/sideTool/smartRadar/index.vue')
48 45
 
49 46
 // name与菜单配置的页面路由一致
50 47
 // meta下isData:true为数据看板,否则为助手
@@ -106,19 +103,9 @@ export var allRouter = [
106 103
         }
107 104
       },
108 105
       {
109
-        path: 'createquickword',
106
+        path: 'radarIndex',
110 107
         name: 'sideTool',
111
-        component: createquickword,
112
-        meta: {
113
-          keepAlive: false,
114
-          isLogin: true,
115
-          title: '快捷话术'
116
-        }
117
-      },
118
-      {
119
-        path: 'codeIndex_radar',
120
-        name: 'sideTool',
121
-        component: codeIndex_radar,
108
+        component: radarIndex,
122 109
         meta: {
123 110
           keepAlive: false,
124 111
           isLogin: true,
@@ -126,28 +113,6 @@ export var allRouter = [
126 113
         }
127 114
       },
128 115
       {
129
-        path: 'radar_dataAnalyse/:id',
130
-        name: 'sideTool',
131
-        component: radar_dataAnalyse,
132
-        meta: {
133
-          keepAlive: false,
134
-          isLogin: true,
135
-          title: '雷达数据分析',
136
-          radarChild: true
137
-        }
138
-      },
139
-      {
140
-        path: 'createRadar',
141
-        name: 'codeIndex',
142
-        component: createRadar,
143
-        meta: {
144
-          keepAlive: false,
145
-          isLogin: true,
146
-          title: '新建智能雷达',
147
-          radarChild: true
148
-        }
149
-      },
150
-      {
151 116
         path: 'codeIndex',
152 117
         name: 'codeIndex',
153 118
         component: codeIndex,