Browse Source

Merge branch 'master' of http://192.168.1.222:3000/miaofuhao/vueCMS3.0

miaofuhao 1 year ago
parent
commit
cde457869a

+ 34 - 33
src/components/main/drawer-phone/cpns/page-phone.vue

@@ -7,7 +7,7 @@
7 7
     <div class="phoneList">
8 8
       <div style="width: 100%; height: 38px;"></div>
9 9
       <div class="tabBox">
10
-        <el-radio-group v-model="radio2" @change="aaaa">
10
+        <el-radio-group v-model="radio2">
11 11
           <el-radio-button label="通话记录" />
12 12
           <el-radio-button label="通讯录" />
13 13
         </el-radio-group>
@@ -19,17 +19,17 @@
19 19
           v-model="addressBookSearch"
20 20
           @change="changeBookSearch"
21 21
           style="width: 240px;margin: 8px 0px 0px 8px;"
22
-          placeholder="请输入名"
22
+          placeholder="请输入名称或手机号"
23 23
           :suffix-icon="Search"
24 24
         />
25
-        <div class="contentList" v-for="item in addressBookData">
25
+        <div class="contentList" v-for="(item, index) in addressBookData" :key="index">
26 26
           
27 27
           <div class="leftBox">
28 28
             <div class="telPhoneBox">
29 29
               
30
-              <span v-if="!item.bookName">{{item.dept.deptName}} -- </span>
31
-              <span v-if="!item.bookName">{{item.nickName}}</span>
32
-              <span v-if="item.bookName">{{item.bookName}}</span>
30
+              <span>{{item.name}}</span>
31
+              <span v-if="item.notes"> -- {{item.notes}}</span>
32
+              <!-- <span v-if="item.mobile">{{item.mobile}}</span> -->
33 33
               <!-- <span>({{item.nickName}})</span> -->
34 34
               <!-- {{
35 35
                 item.callType
@@ -38,7 +38,7 @@
38 38
               }} -->
39 39
             </div>
40 40
             <div class="remarkBox">
41
-              <span style="margin-right: 15px">{{ item.phonenumber }}</span>
41
+              <span style="margin-right: 15px">{{ item.mobile }}</span>
42 42
               <!-- <span>{{ getCallSate(item.callType, item.endTime) }}</span> -->
43 43
             </div>
44 44
           </div>
@@ -55,7 +55,7 @@
55 55
       </div>
56 56
       
57 57
       <div class="contentBox" ref="scrollDivCall" v-if="radio2==='通话记录'" @scroll="handleScrollCall">
58
-        <div class="contentList" v-for="item in tableData" v-if="radio2==='通话记录'">
58
+        <div class="contentList" v-for="(item, index) in tableData"  :key="index">
59 59
           <div class="leftBox">
60 60
             <div class="telPhoneBox">
61 61
               {{
@@ -79,15 +79,15 @@
79 79
             </el-icon>
80 80
           </div>
81 81
         </div>
82
-        <div class="contentList" v-for="item in addressBookData" v-if="radio2==='通讯录'">
82
+        <div class="contentList" v-for="(item, index) in addressBookData" v-if="radio2==='通讯录'" :key="index">
83 83
           
84 84
           <div class="leftBox">
85 85
             <div class="telPhoneBox">
86
-              <span>{{item.dept.deptName}} -- </span>
87
-              <span>{{item.nickName}}</span>
86
+              <span>{{item.name}} -- </span>
87
+              <span>{{item.notes}}</span>
88 88
             </div>
89 89
             <div class="remarkBox">
90
-              <span style="margin-right: 15px">{{ item.phonenumber }}</span>
90
+              <span style="margin-right: 15px">{{ item.mobile }}</span>
91 91
             </div>
92 92
           </div>
93 93
           <div class="rightBox">
@@ -384,15 +384,6 @@ const props = defineProps({
384 384
   }
385 385
 })
386 386
 
387
-function aaaa(e) {
388
-  // if (e == '通话记录') {
389
-  //   paramsSearch.value.pageNum = 1
390
-  //   getUserData()
391
-  // } else if(e == '通讯录'){
392
-  //   paramsSearch.value.pageNum = 1
393
-        // getCustomeData()
394
-  // }
395
-}
396 387
 watch(
397 388
   () => props.callData,
398 389
   (newValue) => {
@@ -597,7 +588,7 @@ function phoneIconHandle(item) {
597 588
     ? getOfffixNuber(item.callee)
598 589
     : getOfffixNuber(item.caller)
599 590
   }else if(radio2.value === '通讯录'){
600
-    telNumber.value = item.phonenumber
591
+    telNumber.value = item.mobile
601 592
   }
602 593
   btnCallType()
603 594
 }
@@ -707,20 +698,22 @@ function changeBookSearch(val) {
707 698
   
708 699
 }
709 700
 function getSearchUser(name) {
701
+  addressBookData.value = []
710 702
   const params = {
711
-    name
703
+    key: name
712 704
   }
713
-  getPageListData('/system/user/getnametelbyname', params).then(
705
+  getPageListData('/system/addressbook', params).then(
714 706
     ({ data, total }) => {
715 707
       if (data.toString()!== "{}") {
716
-        Object.keys(data).forEach(function(key){
717
-          if (key && data[key]) {
718
-            const obj = {}
719
-            obj.bookName = key
720
-            obj.phonenumber = data[key]
721
-            addressBookData.value.push(obj)
722
-          }
723
-        })
708
+        // Object.keys(data).forEach(function(key){
709
+        //   if (key && data[key]) {
710
+        //     const obj = {}
711
+        //     obj.bookName = key
712
+        //     obj.phonenumber = data[key]
713
+        //     addressBookData.value.push(obj)
714
+        //   }
715
+        // })
716
+        addressBookData.value = data
724 717
       }
725 718
       // const newArray = data
726 719
       // addressBookData.value =  addressBookData.value.concat(newArray)
@@ -729,7 +722,15 @@ function getSearchUser(name) {
729 722
   )
730 723
 }
731 724
 function getUserData() {
732
-  getPageListData('/common/user', paramsSearch.value).then(
725
+  // getPageListData('/common/user', paramsSearch.value).then(
726
+  //   ({ data, total }) => {
727
+  //     const newArray = data
728
+  //     addressBookData.value =  addressBookData.value.concat(newArray)
729
+  //     addressBookCount.value = total
730
+      
731
+  //   }
732
+  // )
733
+  getPageListData('/system/addressbook', paramsSearch.value).then(
733 734
     ({ data, total }) => {
734 735
       const newArray = data
735 736
       addressBookData.value =  addressBookData.value.concat(newArray)

+ 2 - 2
src/utils/index.js

@@ -41,9 +41,9 @@ export function getCallSate(type, state) {
41 41
   let typeStr = ''
42 42
   let stateStr = ''
43 43
   if (type == 1) {
44
-    typeStr = '呼出'
45
-  } else {
46 44
     typeStr = '呼入'
45
+  } else {
46
+    typeStr = '呼出'
47 47
   }
48 48
   if (state) {
49 49
     stateStr = '已接通'

+ 2 - 2
src/views/main/patientFile/patientFileList/cpns/callRecord/cpns/audioPlayer.vue

@@ -2,9 +2,9 @@
2 2
   <div class="audio_player">
3 3
     <audio style="width: 100%" :src="filePath" controls="controls"></audio>
4 4
     <!-- <aplayer :music="musicList" autoplay theme="#41b883" /> -->
5
-    <el-button class="audio_btn" size="mini" plain type="primary" @click="btn_downlaod()"
5
+    <!-- <el-button class="audio_btn" size="mini" plain type="primary" @click="btn_downlaod()"
6 6
       >下载</el-button
7
-    >
7
+    > -->
8 8
   </div>
9 9
 </template>
10 10
 

+ 100 - 0
src/views/main/system/addressBook/addressBook.vue

@@ -0,0 +1,100 @@
1
+<template>
2
+    <div class="app-container">
3
+        <page-search :searchFormConfig="searchFormConfig" @resetBtnClick="handleResetClick"
4
+            @queryBtnClick="handleQueryClick" />
5
+
6
+        <page-content ref="pageContentRef" :contentTableConfig="contentTableConfig" pageName="/system/addressbook" rowKey="id"
7
+            :isExport="false" @newBtnClick="addClick"
8
+            @editBtnClick="edit"></page-content>
9
+        <page-modal :defaultInfo="defaultInfo" :title="'编辑'" ref="pageModalRef" :mainKey="'id'" pageName="/system/addressbook"
10
+            :modalConfig="newModelConfig"></page-modal>
11
+    </div>
12
+</template>
13
+  
14
+<script>
15
+import { defineComponent, ref, computed, watch, getCurrentInstance } from 'vue'
16
+
17
+import PageSearch from '@/components/page-search'
18
+import PageContent from '@/components/page-content'
19
+import PageModal from '@/components/page-modal'
20
+
21
+import { searchFormConfig } from './config/search.config'
22
+import { contentTableConfig } from './config/content.config'
23
+import { usePageSearch } from '@/hooks/use-page-search'
24
+import { usePageModal } from '@/hooks/use-page-modal'
25
+import { modalConfig } from './config/modal.config'
26
+
27
+export default defineComponent({
28
+    name: 'AddressBook',
29
+    components: {
30
+        PageSearch,
31
+        PageContent,
32
+        PageModal,
33
+    },
34
+    setup () {
35
+
36
+        let newModelConfig = modalConfig;
37
+        
38
+        // 1.处理逻辑
39
+        const newCallback = () => { }
40
+        const editCallback = () => { }
41
+
42
+        const [pageContentRef, handleResetClick, handleQueryClick] = usePageSearch()
43
+        const { proxy } = getCurrentInstance()
44
+
45
+        const recordData = ref({})
46
+        const open = ref(false)
47
+
48
+        const clRowData = ref({})
49
+
50
+        // 3.调用hook获取公共变量和函数
51
+        const [pageModalRef, defaultInfo, handleNewData, handleEditData] =
52
+            usePageModal(newCallback, editCallback)
53
+
54
+        function edit(item) {
55
+            console.log(modalConfig, 'formItems')
56
+            newModelConfig = modalConfig.formItems.map((o) => {
57
+                if (o.field === 'extension') {
58
+                    o.otherOptions = {
59
+                        ...o.otherOptions,
60
+                        disabled: true,
61
+                    }
62
+                }
63
+            });
64
+
65
+
66
+            return handleEditData(item);
67
+        }
68
+
69
+        function addClick(item) {
70
+            newModelConfig = modalConfig.formItems.map((o) => {
71
+                if (o.field === 'extension') {
72
+                     
73
+                    o.otherOptions = {
74
+                        ...o.otherOptions,
75
+                        disabled: false,
76
+                    }
77
+                }
78
+            });
79
+            handleNewData(item);
80
+        }
81
+
82
+        return {
83
+            newModelConfig,
84
+            defaultInfo,
85
+            addClick,
86
+            edit,
87
+            pageModalRef,
88
+            clRowData,
89
+            searchFormConfig,
90
+            contentTableConfig,
91
+            pageContentRef,
92
+            handleResetClick,
93
+            handleQueryClick,
94
+            recordData,
95
+            open,
96
+        }
97
+    }
98
+})
99
+</script>
100
+  

+ 12 - 0
src/views/main/system/addressBook/config/content.config.js

@@ -0,0 +1,12 @@
1
+export const contentTableConfig = {
2
+  title: '通讯录',
3
+  contentTableHeader: true,
4
+  propList: [
5
+    { prop: 'mobile', label: '电话'},
6
+    { prop: 'name', label: '名称' },
7
+    { prop: 'notes', label: '备注' },
8
+    { label: '操作', minWidth: '100', slotName: 'handler' }
9
+  ],
10
+  showIndexColumn: true,
11
+  showSelectColumn: false,
12
+}

+ 29 - 0
src/views/main/system/addressBook/config/modal.config.js

@@ -0,0 +1,29 @@
1
+export const modalConfig = {
2
+  formItems: [
3
+    {
4
+      field: 'mobile',
5
+      type: 'input',
6
+      label: '电话',
7
+      required : true ,
8
+      placeholder: '请输入电话',
9
+    },
10
+    {
11
+      field: 'name',
12
+      type: 'input',
13
+      label: '名称',
14
+      required : true ,
15
+      placeholder: '请输入名称',
16
+
17
+    },
18
+    {
19
+      field: 'notes',
20
+      type: 'input',
21
+      label: '备注',
22
+      placeholder: '请输入备注',
23
+
24
+    },
25
+    
26
+  ],
27
+  colLayout: { span: 24 },
28
+  itemStyle: {}
29
+}

+ 31 - 0
src/views/main/system/addressBook/config/search.config.js

@@ -0,0 +1,31 @@
1
+export const searchFormConfig = {
2
+  labelWidth: '120px',
3
+  itemStyle: {
4
+    padding: '0px'
5
+  },
6
+  colLayout: {
7
+    span: 6
8
+  },
9
+  formItems: [
10
+    {
11
+      field: 'mobile',
12
+      type: 'input',
13
+      label: '电话',
14
+      placeholder: '请输入电话',
15
+    },
16
+    {
17
+      field: 'name',
18
+      type: 'input',
19
+      label: '名称',
20
+      placeholder: '请输入名称',
21
+
22
+    },
23
+    {
24
+      field: 'notes',
25
+      type: 'input',
26
+      label: '备注',
27
+      placeholder: '请输入备注',
28
+
29
+    },
30
+  ]
31
+}

+ 2 - 1
src/views/main/telephone/callRecord/callRecord.vue

@@ -17,6 +17,7 @@
17 17
       <template #recordCallHandler="scope">
18 18
         <el-tag class="ml-2" @click="handleRecordCall(scope.row)">
19 19
           {{
20
+            // getOfffixNuber(scope.row.callType === 1 ? scope.row.caller : scope.row.callee)
20 21
             getOfffixNuber(scope.row.phone)
21 22
           }}
22 23
         </el-tag>
@@ -53,7 +54,7 @@
53 54
       <audio-player ref="pageModalRef" :filePath="filePath"></audio-player>
54 55
       <template #footer>
55 56
         <div class="dialog-footer">
56
-          <el-button @click="open = false">关 闭</el-button>
57
+          <!-- <el-button @click="open = false">关 闭</el-button> -->
57 58
         </div>
58 59
       </template>
59 60
     </el-dialog>

+ 2 - 2
src/views/main/telephone/callRecord/cpns/audioPlayer.vue

@@ -2,9 +2,9 @@
2 2
   <div class="audio_player">
3 3
     <audio style="width: 100%" :src="filePath" controls="controls"></audio>
4 4
     <!-- <aplayer :music="musicList" autoplay theme="#41b883" /> -->
5
-    <el-button class="audio_btn" size="mini" plain type="primary" @click="btn_downlaod()"
5
+    <!-- <el-button class="audio_btn" size="mini" plain type="primary" @click="btn_downlaod()"
6 6
       >下载</el-button
7
-    >
7
+    > -->
8 8
   </div>
9 9
 </template>
10 10