Browse Source

Merge branch 'master' of http://192.168.1.222:3000/jiayi/base-callcenter-web

闪电 10 months ago
parent
commit
1970da1269

+ 10 - 10
src/components/main/TagsView/index.vue

@@ -20,20 +20,20 @@
20 20
     </scroll-pane>
21 21
     <ul v-show="visible" :style="{ left: left + 'px', top: top + 'px' }" class="contextmenu">
22 22
       <li @click="refreshSelectedTag(selectedTag)">
23
-        <refresh-right style="width: 1em; height: 1em" /> 刷新页面
23
+        <refresh-right style="width: 1em; height: 1em ; vertical-align: middle" /> 刷新页面
24 24
       </li>
25 25
       <li v-if="!isAffix(selectedTag)" @click="closeSelectedTag(selectedTag)">
26
-        <close style="width: 1em; height: 1em" /> 关闭当前
26
+        <close style="width: 1em; height: 1em; vertical-align: middle" /> 关闭当前
27 27
       </li>
28 28
       <li @click="closeOthersTags"> <circle-close style="width: 1em; height: 1em" /> 关闭其他 </li>
29 29
       <li v-if="!isFirstView()" @click="closeLeftTags">
30
-        <back style="width: 1em; height: 1em" /> 关闭左侧
30
+        <back style="width: 1em; height: 1em; vertical-align: middle" /> 关闭左侧
31 31
       </li>
32 32
       <li v-if="!isLastView()" @click="closeRightTags">
33
-        <right style="width: 1em; height: 1em" /> 关闭右侧
33
+        <right style="width: 1em; height: 1em; vertical-align: middle" /> 关闭右侧
34 34
       </li>
35 35
       <li @click="closeAllTags(selectedTag)">
36
-        <circle-close style="width: 1em; height: 1em" /> 全部关闭
36
+        <circle-close style="width: 1em; height: 1em; vertical-align: middle" /> 全部关闭
37 37
       </li>
38 38
     </ul>
39 39
   </div>
@@ -142,9 +142,9 @@
142 142
   }
143 143
   function addTags() {
144 144
     const { name } = route;
145
-    if (route.path.indexOf('/inComming/callScreen') !== -1) {
146
-      return
147
-    }
145
+    // if (route.path.indexOf('/inComming') !== -1) {
146
+    //   return
147
+    // }
148 148
     if (name) {
149 149
       console.log(route)
150 150
       useTagsViewStore().addView(route);
@@ -310,12 +310,12 @@
310 310
       font-weight: 400;
311 311
       color: #333;
312 312
       box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, 0.3);
313
-
313
+      
314 314
       li {
315 315
         margin: 0;
316 316
         padding: 7px 16px;
317 317
         cursor: pointer;
318
-
318
+        display: flex;
319 319
         &:hover {
320 320
           background: #eee;
321 321
         }

+ 2 - 1
src/components/main/drawer-phone/index.vue

@@ -341,8 +341,9 @@ const initWs = () => {
341 341
                         currentCall.value.truePhone = hidePhone(telWSData.Number)
342 342
                         getUserInfo(currentCall.value.phone)
343 343
                         router.push({
344
-                            path: '/inComming/callScreen/' + telWSData.Number,
344
+                            path: '/inComming/callScreen/'+telWSData.Number,
345 345
                             query: {
346
+                                callNumber:telWSData.Number,
346 347
                                 callid: telWSData.CallID,
347 348
                             }
348 349
                         });

+ 0 - 1
src/router/index.js

@@ -206,7 +206,6 @@ export const constantRoutes = [
206 206
         path: 'callScreen/:callNumber(\\d+)',
207 207
         component: () => import('@/views/main/phone/index'),
208 208
         name: 'CallScreen',
209
-        // meta: { title: ':callNumber(\\d+)' }
210 209
       }
211 210
     ]
212 211
   },

+ 10 - 7
src/store/modules/tagsView.js

@@ -12,6 +12,7 @@ const useTagsViewStore = defineStore('tags-view', {
12 12
     },
13 13
     addIframeView(view) {
14 14
       if (this.iframeViews.some((v) => v.path === view.path)) return
15
+      console.log(view)
15 16
       this.iframeViews.push(
16 17
         Object.assign({}, view, {
17 18
           title: view.meta.title || 'no-name'
@@ -19,13 +20,15 @@ const useTagsViewStore = defineStore('tags-view', {
19 20
       )
20 21
     },
21 22
     addVisitedView(view) {
22
-      console.log(view.meta.title)
23
-      if (this.visitedViews.some((v) => v.path === view.path)) return
24
-      this.visitedViews.push(
25
-        Object.assign({}, view, {
26
-          title: view.meta.title || 'no-name'
27
-        })
28
-      )
23
+     
24
+      setTimeout(()=>{
25
+        if (this.visitedViews.some((v) => v.path === view.path)) return
26
+        this.visitedViews.push(
27
+          Object.assign({}, view, {
28
+            title: view.meta.title || 'no-name',
29
+          })
30
+        )
31
+      })
29 32
     },
30 33
     addCachedView(view) {
31 34
       if (this.cachedViews.includes(view.name)) return

+ 11 - 1
src/views/main/knowledgeBase/knowledgeList/cpns/detail/detail.vue

@@ -96,7 +96,13 @@
96 96
   import { fetchExportBill } from '@/utils';
97 97
   import { getPageDetail } from '@/api/main/system/system';
98 98
   import { watch } from 'vue';
99
-
99
+  const props = defineProps({
100
+    docId: {
101
+      type: Number,
102
+      default: 0,
103
+    },
104
+    
105
+  });
100 106
   const docId = ref('');
101 107
   const defaultInfo = ref({});
102 108
   const fileInfo = ref({});
@@ -109,6 +115,10 @@
109 115
     docId.value = newValue;
110 116
     getKnowledgeDetail(newValue);
111 117
   });
118
+  watch(props, (newValue) => {
119
+    docId.value = props.docId;
120
+    getKnowledgeDetail(newValue);
121
+  });
112 122
   onMounted(() => {
113 123
     docId.value = useRouter().currentRoute.value.query.docId;
114 124
   });

+ 28 - 1
src/views/main/knowledgeBase/knowledgeList/cpns/konwlegelist/konwlegelist.vue

@@ -185,14 +185,25 @@
185 185
         </div>
186 186
       </div>
187 187
     </div>
188
+    <!-- <el-drawer
189
+      v-model="detailDrawer"
190
+      title="知识库详情"
191
+      :direction="direction"
192
+      :before-close="handleCloseDrawer"
193
+    >
194
+      11111
195
+      <knowledge-detail :docId="drawerDocId"/>
196
+    </el-drawer> -->
188 197
   </div>
189 198
   
190 199
 </template>
191
-<script setup>
200
+<script setup name="KnowledgeList">
192 201
   import { onMounted, ref } from 'vue';
193 202
   import { ElMessageBox } from 'element-plus';
194 203
   import { Search, Document, Tickets } from '@element-plus/icons-vue';
195 204
   import { useRouter } from 'vue-router';
205
+  import knowledgDetail from "@/views/main/knowledgeBase/knowledgeList/cpns/detail/detail.vue";
206
+
196 207
   import {
197 208
     getPageListData,
198 209
     getPageHandle,
@@ -216,6 +227,10 @@
216 227
       type: Number,
217 228
       default: 0,
218 229
     },
230
+    isSreen:{
231
+      type: Number,
232
+      default: 0,
233
+    }
219 234
   });
220 235
   const inputValue = ref('');
221 236
   const dynamicTags = ref([]);
@@ -385,7 +400,19 @@
385 400
       },
386 401
     });
387 402
   }
403
+  const detailDrawer = ref(false)
404
+  const detailDirection = ref('rtl')
405
+  const drawerDocId =ref()
406
+  function handleCloseDrawer(e) {
407
+    detailDrawer.value =false
408
+  }
388 409
   function trunDetail(item) {
410
+    // if (props.isSreen) {
411
+    //   detailDrawer.value = true
412
+    //   drawerDocId.value = Number(item.docId)
413
+    //   console.log(item)
414
+    //   console.log(props)
415
+    // } else 
389 416
     if (outerFlag.value) {
390 417
       router.push({
391 418
         path: '/knowledge/detail',

+ 10 - 5
src/views/main/phone/index.vue

@@ -252,7 +252,7 @@
252 252
                             </div>
253 253
                         </template>
254 254
                         <div class="space-y-4">
255
-                            <knowledge-list :toExamine="2"></knowledge-list>
255
+                            <knowledge-list :toExamine="2" :isSreen="1"></knowledge-list>
256 256
                             <!-- <el-input v-model="searchQuery" placeholder="搜索解决方案..." :prefix-icon="Search" />
257 257
                             <div class="space-y-2">
258 258
                                 <div v-for="(item, index) in knowledgeBase" :key="index"
@@ -324,7 +324,7 @@
324 324
 
325 325
     </div>
326 326
 </template>
327
-<script lang="ts" setup>
327
+<script lang="ts" setup name="CallScreen">
328 328
 import { ref, computed, onMounted, onUnmounted } from 'vue';
329 329
 import moment from 'moment';
330 330
 import {
@@ -362,8 +362,9 @@ let { proxy } = getCurrentInstance()
362 362
 const showCallPanel = ref(false);
363 363
 const searchQuery = ref('');
364 364
 console.log('proxy', proxy.$route);
365
+// console.log(proxy.$route.query.callNumber)
365 366
 const telNumber = ref(proxy.$route.query.phone || proxy.$route.query.callNumber || proxy.$route.params.callNumber);
366
-
367
+console.log(telNumber.value)
367 368
 proxy.$route.meta.title = telNumber.value || '来电弹屏';
368 369
 const callid = ref(proxy.$route.query.callid || 0);
369 370
 onMounted(() => {
@@ -635,7 +636,7 @@ const submit = async () => {
635 636
                 if (data.state === 'success') {
636 637
                     ElMessage.success('提交成功');
637 638
                     resetForm()
638
-                    router.push({ path: '/' })
639
+                    close()
639 640
                 } else {
640 641
                     ElMessage.error(data.message || '提交失败');
641 642
                 }
@@ -648,7 +649,11 @@ const submit = async () => {
648 649
         
649 650
     });
650 651
 }
651
-
652
+/** 关闭按钮 */
653
+function close() {
654
+  const obj = { path: '/' }
655
+  proxy.$tab.closeOpenPage(obj)
656
+}
652 657
 const orderSearchQuery = ref()
653 658
 const createtime = ref()
654 659
 const endtime = ref()