Sfoglia il codice sorgente

Merge branch 'debelop' of http://39.164.159.192:3000/zhoufan/RMYY_CallCenter_UI into debelop

scholar-wei 3 anni fa
parent
commit
dad41ea3ca

+ 1 - 1
CallCenterWeb.UI/RMYY/src/components/context/commonSelect/selectOrderType.vue

@@ -181,7 +181,7 @@ export default {
181 181
 
182 182
 <style rel="stylesheet/scss" lang="scss" scoped="scoped">
183 183
   /deep/.el-radio-button__inner {
184
-    margin-right: 20px;
184
+    margin-right: 15px;
185 185
     border-radius: 0 !important;
186 186
     border: 1px solid rgb(205, 205, 205);
187 187
   }

+ 143 - 111
CallCenterWeb.UI/RMYY/src/views/callScreen/components/OrderList.vue

@@ -2,8 +2,16 @@
2 2
   <div v-loading="loading">
3 3
     <div class="filter-container">
4 4
       <el-input v-model="callNum" placeholder="请输入关键字" class="filter-item" size="medium" clearable/>
5
-      <el-date-picker v-model="startTime" size="medium" type="daterange" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
6
-        range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" />
5
+      <el-date-picker
6
+        v-model="startTime"
7
+        size="medium"
8
+        type="daterange"
9
+        format="yyyy-MM-dd"
10
+        value-format="yyyy-MM-dd"
11
+        range-separator="至"
12
+        start-placeholder="开始日期"
13
+        end-placeholder="结束日期" />
14
+      <el-input v-model="phone" placeholder="请输入电话" class="filter-item" size="medium" clearable/>
7 15
       <el-button type="primary" class="filter-item" size="medium" @click="btn_search_task">搜索
8 16
       </el-button>
9 17
     </div>
@@ -15,132 +23,156 @@
15 23
         </template>
16 24
       </el-table-column>
17 25
       <el-table-column prop="F_ProposerName" label="姓名" align="center" min-width />
18
-      <el-table-column prop="F_SonType" :formatter="formtOrder" label="工单类别" align="center" />
26
+      <el-table-column :formatter="formtOrder" prop="F_SonType" label="工单类别" align="center" />
19 27
       <el-table-column prop="F_Content" label="工单内容" align="center" />
20 28
       <el-table-column prop="StateName" label="工单状态" align="center" />
21 29
       <el-table-column prop="F_CreateTime" label="创建时间" align="center" />
22 30
     </el-table>
23
-    <pagination v-show="pageParams.total > 0" :total="pageParams.total" :page-sizes="[5, 10, 15, 20]"
24
-      :pageindex.sync="pageParams.pageindex" :pagesize.sync="pageParams.pagesize" :auto-scroll="false"
25
-      class="pagination" @pagination="getList" />
31
+    <pagination
32
+      v-show="pageParams.total > 0"
33
+      :total="pageParams.total"
34
+      :page-sizes="[5, 10, 15, 20]"
35
+      :pageindex.sync="pageParams.pageindex"
36
+      :pagesize.sync="pageParams.pagesize"
37
+      :auto-scroll="false"
38
+      class="pagination"
39
+      @pagination="getList" />
26 40
   </div>
27 41
 </template>
28 42
 
29 43
 <script>
30
-  import {
31
-    getList,
32
-    getAddWorkOrder,
33
-    getUpdateWorkOrder,
34
-    getDelete,
35
-    getModelDetail,
36
-    getAssignWorkOrder,
37
-    getSureWorkOrder
38
-  } from '@/api/vehicleDispatch/vehicleScheduling.js'
39
-  import {
40
-    getorderList
41
-  } from '@/api/orderManagement/orderList'
42
-  import detail from '../../orderManage/components/orderDetail.vue'
43
-  import askDetail from '../../orderManage/components/askdetail.vue'
44
-  import Pagination from '@/components/context/Pagination' // 对el-pagination 二次封装
45
-  export default {
46
-    name: 'OrderList',
47
-    components: {
48
-      Pagination
49
-    },
50
-    props: {
51
-      callinNum: {
52
-        type: String,
53
-        default: ''
54
-      }
55
-    },
44
+import {
45
+  getorderList
46
+} from '@/api/orderManagement/orderList'
47
+import detail from '../../orderManage/components/orderDetail.vue'
48
+import askDetail from '../../orderManage/components/askdetail.vue'
49
+import carDetail from '../../orderManage/components/cardetail.vue'
50
+import dispatchDetail from '../../comDispatch/components/dispatchdetail.vue'
51
+import Pagination from '@/components/context/Pagination' // 对el-pagination 二次封装
52
+export default {
53
+  name: 'OrderList',
54
+  components: {
55
+    Pagination
56
+  },
57
+  props: {
58
+    callinNum: {
59
+      type: String,
60
+      default: ''
61
+    }
62
+  },
56 63
 
57
-    data() {
58
-      return {
59
-        callNum: '', // 来电号码
60
-        keyword:'',
61
-        startTime:'',
62
-        loading: false,
63
-        pageParams: {
64
-          pageindex: 1, // 当前第几页
65
-          pagesize: 5, // 每页几条数据
66
-          total: 0 // 总共多少数据
67
-        },
68
-        dataLists: [] // 列表数据
69
-      }
70
-    },
71
-    created() {
72
-      if (this.callinNum === '') {
73
-        this.callNum = ''
74
-      } else {
75
-        this.callNum = this.callinNum
64
+  data() {
65
+    return {
66
+      callNum: '', // 来电号码
67
+      keyword: '',
68
+      phone: '',
69
+      startTime: '',
70
+      loading: false,
71
+      pageParams: {
72
+        pageindex: 1, // 当前第几页
73
+        pagesize: 5, // 每页几条数据
74
+        total: 0 // 总共多少数据
75
+      },
76
+      dataLists: [] // 列表数据
77
+    }
78
+  },
79
+  created() {
80
+    if (this.callinNum === '') {
81
+      this.callNum = ''
82
+    } else {
83
+      this.callNum = this.callinNum
84
+    }
85
+    this.getList()
86
+  },
87
+  methods: {
88
+    formtOrder(row, column) {
89
+      if (row.F_SonType) {
90
+        return this.$store.getters.workTypeMap[parseInt(row.F_SonType)].text
76 91
       }
77
-      this.getList()
78 92
     },
79
-    methods: {
80
-      formtOrder(row, column) {
81
-        if (row.F_SonType) {
82
-          return this.$store.getters.workTypeMap[parseInt(row.F_SonType)].text
93
+    getList() {
94
+      return new Promise(resolve => {
95
+        const params = {
96
+          pageindex: this.pageParams.pageindex, // 第几页
97
+          pagesize: this.pageParams.pagesize, // 每页几条信息
98
+          phone: this.phone, //	否	string	模糊查询(呼叫号码)
99
+          keyword: this.callNum,
100
+          starttime: this.startTime && this.startTime[0],
101
+          endtime: this.startTime && this.startTime[1],
102
+          callType: 1 // 呼叫类型
83 103
         }
84
-      },
85
-      getList() {
86
-        this.loading = true
87
-        return new Promise(resolve => {
88
-          const params = {
89
-            pageindex: this.pageParams.pageindex, // 第几页
90
-            pagesize: this.pageParams.pagesize, // 每页几条信息
91
-            phone: this.callNum, //	否	string	模糊查询(呼叫号码)
92
-            keywords:this.callNum,
93
-            starttime:this.startTime[0],
94
-            endtime:this.startTime[1],
95
-            callType: 1 // 呼叫类型
96
-          }
97
-          getorderList(params).then(response => {
98
-            this.loading = false
99
-            if (response.state.toLowerCase() === 'success') {
100
-              if (response.total == null) {
101
-                this.pageParams.total = 0
102
-              } else {
103
-                this.pageParams.total = response.total
104
-              }
105
-              this.dataLists = response.rows
104
+        getorderList(params).then(response => {
105
+          if (response.state.toLowerCase() === 'success') {
106
+            if (response.total == null) {
107
+              this.pageParams.total = 0
108
+            } else {
109
+              this.pageParams.total = response.total
106 110
             }
107
-          })
108
-          resolve()
111
+            this.dataLists = response.rows
112
+          }
113
+        })
114
+        resolve()
115
+      })
116
+    },
117
+    btn_search_task() {
118
+      this.getList()
119
+    },
120
+    hadndleOrderCode(row) {
121
+      if (row.F_Type == 3000) {
122
+        this.$layer.iframe({
123
+          content: {
124
+            content: detail, // 传递的组件对象
125
+            parent: this, // 当前的vue对象
126
+            data: {
127
+              rowid: row.F_WoCode
128
+            } // props
129
+          },
130
+          area: ['80%', '90%'],
131
+          title: '订单详情'
132
+        })
133
+      }
134
+      if (row.F_Type == 1000) {
135
+        this.$layer.iframe({
136
+          content: {
137
+            content: askDetail,
138
+            parent: this,
139
+            data: {
140
+              rowid: row.F_WoCode
141
+            } // props
142
+          },
143
+          area: ['80%', '90%'],
144
+          title: '订单详情'
145
+        })
146
+      }
147
+      if (row.F_Type === 2000) {
148
+        this.$layer.iframe({
149
+          content: {
150
+            content: dispatchDetail,
151
+            parent: this,
152
+            data: {
153
+              rowid: row.F_WoCode
154
+            } // props
155
+          },
156
+          area: ['80%', '90%'],
157
+          title: '工单详情'
158
+        })
159
+      }
160
+      if (row.F_Type === 4000) {
161
+        this.$layer.iframe({
162
+          content: {
163
+            content: carDetail,
164
+            parent: this,
165
+            data: {
166
+              rowid: row.F_WoCode
167
+            } // props
168
+          },
169
+          area: ['80%', '90%'],
170
+          title: '工单详情'
109 171
         })
110
-      },
111
-      btn_search_task(){
112
-        this.getList()
113
-      },
114
-      hadndleOrderCode(row) {
115
-        if(row.F_Type==3000){
116
-          this.$layer.iframe({
117
-            content: {
118
-              content: detail, // 传递的组件对象
119
-              parent: this, // 当前的vue对象
120
-              data: {
121
-                rowid: row.F_WoCode
122
-              } // props
123
-            },
124
-            area: ['80%', '90%'],
125
-            title: '订单详情'
126
-          })
127
-        }
128
-        if(row.F_Type==1000){
129
-          this.$layer.iframe({
130
-            content: {
131
-              content: askDetail,
132
-              parent: this,
133
-              data: {
134
-                rowid: row.F_WoCode
135
-              } // props
136
-            },
137
-            area: ['80%', '90%'],
138
-            title: '订单详情'
139
-          })
140
-        }
141 172
       }
142 173
     }
143 174
   }
175
+}
144 176
 </script>
145 177
 
146 178
 <style rel="stylesheet/scss" lang="scss" scoped>

+ 18 - 27
CallCenterWeb.UI/RMYY/src/views/callScreen/components/addressNumber.vue

@@ -1,33 +1,29 @@
1 1
 <template>
2
-  <el-row class="rows" style="padding: 8px 0 !important;background-color: #404040;border-radius: 8px; ">
2
+  <el-row :gutter="24" class="rows" style="padding: 8px 10% !important;background-color: #404040;border-radius:10px; ">
3 3
     <el-col :span="6">
4
-      <div class="topbox" style="">
4
+      <div class="topbox">
5 5
         <img :src="circleUrl" style="width: 100px;height: 100px;"></img>
6 6
       </div>
7 7
     </el-col>
8
-    <el-col :span="7">
9
-      <p class="callin_con">
10
-        <span class="callin_num">来电号码:{{ callinNum }}</span>
11
-      </p>
8
+    <el-col :span="12">
9
+      <div style="height:90px;padding:5px 0">
10
+        <p class="callin_con">
11
+          <span class="callin_num">来电号码:{{ callinNum }}</span>
12
+        </p>
13
+        <p class="callin_con">
14
+          <span class="callin_num">&nbsp;归 属 地:{{ phoneData }}</span>
15
+        </p>
16
+        <p class="callin_con">
17
+          <span class="callin_num">本院患者:是</span>
18
+        </p>
19
+      </div>
12 20
     </el-col>
13
-    <el-col :span="7">
14
-      <p class="callin_con callin_num" style="text-align: right;">
21
+    <el-col :span="6">
22
+      <p class="callin_con callin_num" style="text-align: left;margin-bottom:30px">
15 23
         <time v-show="!dropoff">{{ telCallTime.hh }}:{{ telCallTime.mm }}:{{ telCallTime.ss }}</time>
16 24
         <time v-show="dropoff">{{ callinTime }}</time>
17 25
       </p>
18
-    </el-col>
19
-    <el-col :span="14">
20
-      <p class="callin_con">
21
-        <span class="callin_num">&nbsp;归 属 地:{{ phoneData }}</span>
22
-      </p>
23
-    </el-col>
24
-    <el-col :span="7">
25
-      <p class="callin_con">
26
-        <span class="callin_num">本院患者:是</span>
27
-      </p>
28
-    </el-col>
29
-    <el-col :span="8">
30
-      <p class="callin_con" style="text-align: right;cursor: pointer;">
26
+      <p class="callin_con" style="text-align: left;cursor: pointer;">
31 27
         <i class="el-icon-circle-plus" style="color: red;font-size: 18px;" @click="btn_addBlack"/>
32 28
         <span class="callin_num" style="color: red;font-size: 17px;" @click="btn_addBlack">加入黑名单</span>
33 29
       </p>
@@ -177,7 +173,7 @@ export default {
177 173
 
178 174
   .callin_con {
179 175
     margin: 10px auto;
180
-    padding: 0 20px;
176
+    padding: 0px 10px;
181 177
     font-size: 14px;
182 178
     color: #4c4c4c;
183 179
   }
@@ -225,11 +221,6 @@ export default {
225 221
   }
226 222
 
227 223
   .topbox {
228
-    display: inline-block;
229
-    float: left;
230
-    height: 100px;
231 224
     text-align: center;
232
-    margin-top: 8px;
233
-    padding: 0 120px;
234 225
   }
235 226
 </style>

+ 14 - 7
CallCenterWeb.UI/RMYY/src/views/callScreen/components/callList.vue

@@ -2,8 +2,15 @@
2 2
   <div v-loading="loading">
3 3
     <div class="filter-container">
4 4
       <el-input v-model="callNum" placeholder="请输入手机号" class="filter-item" size="medium" clearable/>
5
-      <el-date-picker v-model="startTime" size="medium" type="daterange" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
6
-        range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" />
5
+      <el-date-picker
6
+        v-model="startTime"
7
+        size="medium"
8
+        type="daterange"
9
+        format="yyyy-MM-dd"
10
+        value-format="yyyy-MM-dd"
11
+        range-separator="至"
12
+        start-placeholder="开始日期"
13
+        end-placeholder="结束日期" />
7 14
       <el-button type="primary" class="filter-item" size="medium" @click="btn_search_task">搜索
8 15
       </el-button>
9 16
     </div>
@@ -70,8 +77,8 @@ export default {
70 77
     return {
71 78
       callNum: '11', // 来电号码
72 79
       loading: false,
73
-      phone:'',
74
-      startTime:'',
80
+      phone: '',
81
+      startTime: '',
75 82
       pageParams: {
76 83
         pageindex: 1, // 当前第几页
77 84
         pagesize: 5, // 每页几条数据
@@ -96,8 +103,8 @@ export default {
96 103
           pageindex: this.pageParams.pageindex, // 第几页
97 104
           pagesize: this.pageParams.pagesize, // 每页几条信息
98 105
           phone: this.callNum, //	否	string	模糊查询(呼叫号码)
99
-          starttime: this.startTime[0],
100
-          endtime: this.startTime[1],
106
+          starttime: this.startTime && this.startTime[0],
107
+          endtime: this.startTime && this.startTime[1],
101 108
           callType: 1 // 呼叫类型
102 109
         }
103 110
         getCallRecords(params).then(response => {
@@ -114,7 +121,7 @@ export default {
114 121
         resolve()
115 122
       })
116 123
     },
117
-    btn_search_task(){
124
+    btn_search_task() {
118 125
       this.getList()
119 126
     }
120 127
   }

+ 106 - 99
CallCenterWeb.UI/RMYY/src/views/callScreen/components/orderType.vue

@@ -2,19 +2,26 @@
2 2
   <div v-loading="loading">
3 3
     <el-row :gutter="5">
4 4
       <el-col :span="24">
5
-        <el-form ref="orderTypeData" :rules="rules" :model="orderTypeData" label-width="150px" style="font-size: 14px"
5
+        <el-form
6
+          ref="orderTypeData"
7
+          :rules="rules"
8
+          :model="orderTypeData"
9
+          label-width="150px"
10
+          style="font-size: 14px"
6 11
           class="order_form">
7 12
           <!-- 工单信息 -->
8 13
           <el-row>
9
-            <el-col :span="20">
14
+            <el-col :span="24">
10 15
               <el-form-item label="业务类别" prop="F_Type1">
11
-                <select-order-type :isedit='isedit' :rtype='rtype' :first-order-type="firstOrderTypeParam" @post-first-order-type="getFirstOrderType" />
16
+                <select-order-type :isedit="isedit" :rtype="rtype" :first-order-type="firstOrderTypeParam" @post-first-order-type="getFirstOrderType" />
12 17
               </el-form-item>
13 18
             </el-col>
14 19
 
15
-            <el-col :span="20" v-if="isshowtype==true">
20
+            <el-col v-if="isshowtype==true" :span="22">
16 21
               <el-form-item label="工单类别" prop="F_Type2">
17
-                <select-order-type-two :r2type='r2type' :second-order-type="secondOrderTypeParam"
22
+                <select-order-type-two
23
+                  :r2type="r2type"
24
+                  :second-order-type="secondOrderTypeParam"
18 25
                   @post-second-order-type="getSecondOrderType" />
19 26
               </el-form-item>
20 27
             </el-col>
@@ -26,106 +33,106 @@
26 33
 </template>
27 34
 
28 35
 <script>
29
-  import {
30
-    mapGetters
31
-  } from 'vuex'
32
-  export default {
33
-    name: 'OrderType',
34
-    props:{
35
-      rtype:{
36
-        type:String,
37
-        default:''
38
-      },
39
-      r2type:{
40
-        type:String,
41
-        default:''
42
-      },
43
-      isedit:{
44
-        type:String,
45
-        default:''
46
-      }
47
-    },
48
-    data() {
49
-      return {
50
-        firstOrderTypeParam: {
51
-          typeid: 1,
52
-          pid: 0
53
-        },
54
-        secondOrderTypeParam: {
55
-          typeid: 2,
56
-          pid: 0
57
-        },
58
-        thirdOrderTypeParam: {
59
-          typeid: 3,
60
-          pid: 0
61
-        },
62
-        orderTypeData: {
63
-          F_Type1: 1000, // 工单类别
64
-          F_TypeName1: '业务咨询', // 工单类别
65
-          F_Type2: 0, // 工单子类
66
-          F_TypeName2: '', // 工单子类
67
-          F_Type3: 0, // 工单三类
68
-          F_TypeName3: '' ,// 工单三类
69
-          identification:'',
70
-          type2Arr:[]
71
-        },
72
-        isshowtype:true,
73
-        rules: {
74
-          F_Type1: [{
75
-            required: true,
76
-            message: '请选择业务类别',
77
-            trigger: 'change'
78
-          }],
79
-          F_Type2: [{
80
-            required: true,
81
-            message: '请选择工单类别',
82
-            trigger: 'change'
83
-          }],
84
-        },
85
-        loading: false
86
-      }
87
-    },
88
-    computed: {
89
-      ...mapGetters(['screenState'])
36
+import {
37
+  mapGetters
38
+} from 'vuex'
39
+export default {
40
+  name: 'OrderType',
41
+  props: {
42
+    rtype: {
43
+      type: String,
44
+      default: ''
90 45
     },
91
-    created() {
46
+    r2type: {
47
+      type: String,
48
+      default: ''
92 49
     },
93
-    methods: {
94
-      // 一级改变时触发
95
-      getFirstOrderType(data) {
96
-        this.orderTypeData.F_Type1 = data.value
97
-        this.orderTypeData.F_TypeName1 = data.name
98
-        if(data.value == '3000'){
99
-          this.isshowtype = false
100
-        }else{
101
-          this.isshowtype = true
102
-        }
103
-        this.$bus.$emit('typeSecondId', data.value) // 知识库页面列表需用到
104
-        this.$emit('order-type-data', this.orderTypeData)
105
-        this.secondOrderTypeParam.typeid = 2
106
-        this.secondOrderTypeParam.pid = data.value
107
-        // console.log(data)
50
+    isedit: {
51
+      type: String,
52
+      default: ''
53
+    }
54
+  },
55
+  data() {
56
+    return {
57
+      firstOrderTypeParam: {
58
+        typeid: 1,
59
+        pid: 0
108 60
       },
109
-      // 二级改变时触发
110
-      getSecondOrderType(data) {
111
-        // console.log(data,'777')
112
-        this.orderTypeData.F_Type2 = data.value
113
-        this.orderTypeData.F_TypeName2 = data.name
114
-        this.orderTypeData.identification = data.identification
115
-        this.orderTypeData.type2Arr = data.type2Arr
116
-        this.$bus.$emit('typeSecondId', data.value) // 知识库页面列表需用到
117
-        this.$emit('order-type-data', this.orderTypeData)
118
-        this.thirdOrderTypeParam.typeid = 3
119
-        this.thirdOrderTypeParam.pid = data.value
61
+      secondOrderTypeParam: {
62
+        typeid: 2,
63
+        pid: 0
120 64
       },
121
-
122
-      // 三级改变时触发
123
-      getThirdOrderType(data) {
124
-        this.orderTypeData.F_Type3 = data.value
125
-        this.orderTypeData.F_TypeName3 = data.name
126
-        this.$emit('order-type-data', this.orderTypeData)
65
+      thirdOrderTypeParam: {
66
+        typeid: 3,
67
+        pid: 0
68
+      },
69
+      orderTypeData: {
70
+        F_Type1: 1000, // 工单类别
71
+        F_TypeName1: '业务咨询', // 工单类别
72
+        F_Type2: 0, // 工单子类
73
+        F_TypeName2: '', // 工单子类
74
+        F_Type3: 0, // 工单三类
75
+        F_TypeName3: '', // 工单三类
76
+        identification: '',
77
+        type2Arr: []
78
+      },
79
+      isshowtype: true,
80
+      rules: {
81
+        F_Type1: [{
82
+          required: true,
83
+          message: '请选择业务类别',
84
+          trigger: 'change'
85
+        }],
86
+        F_Type2: [{
87
+          required: true,
88
+          message: '请选择工单类别',
89
+          trigger: 'change'
90
+        }]
91
+      },
92
+      loading: false
93
+    }
94
+  },
95
+  computed: {
96
+    ...mapGetters(['screenState'])
97
+  },
98
+  created() {
99
+  },
100
+  methods: {
101
+    // 一级改变时触发
102
+    getFirstOrderType(data) {
103
+      this.orderTypeData.F_Type1 = data.value
104
+      this.orderTypeData.F_TypeName1 = data.name
105
+      if (data.value == '3000') {
106
+        this.isshowtype = false
107
+      } else {
108
+        this.isshowtype = true
127 109
       }
110
+      this.$bus.$emit('typeSecondId', data.value) // 知识库页面列表需用到
111
+      this.$emit('order-type-data', this.orderTypeData)
112
+      this.secondOrderTypeParam.typeid = 2
113
+      this.secondOrderTypeParam.pid = data.value
114
+      // console.log(data)
115
+    },
116
+    // 二级改变时触发
117
+    getSecondOrderType(data) {
118
+      // console.log(data,'777')
119
+      this.orderTypeData.F_Type2 = data.value
120
+      this.orderTypeData.F_TypeName2 = data.name
121
+      this.orderTypeData.identification = data.identification
122
+      this.orderTypeData.type2Arr = data.type2Arr
123
+      this.$bus.$emit('typeSecondId', data.value) // 知识库页面列表需用到
124
+      this.$emit('order-type-data', this.orderTypeData)
125
+      this.thirdOrderTypeParam.typeid = 3
126
+      this.thirdOrderTypeParam.pid = data.value
127
+    },
128 128
 
129
+    // 三级改变时触发
130
+    getThirdOrderType(data) {
131
+      this.orderTypeData.F_Type3 = data.value
132
+      this.orderTypeData.F_TypeName3 = data.name
133
+      this.$emit('order-type-data', this.orderTypeData)
129 134
     }
135
+
130 136
   }
137
+}
131 138
 </script>

+ 119 - 110
CallCenterWeb.UI/RMYY/src/views/layout/components/Navbar/index.vue

@@ -29,11 +29,16 @@
29 29
     </el-popover>
30 30
 
31 31
     <div v-if="seatflag" class="navar_item close">
32
+      <i
33
+        class="el-icon-chat-dot-square"
34
+        style="color: white; font-size: 20px; vertical-align: middle;margin-right:10px"
35
+        @click="drawer = true"
36
+      />
32 37
       <span class="" @click="logout">退出</span>
33 38
     </div>
34 39
     <el-dropdown class="avatar-container" trigger="click">
35 40
       <div class="avatar-wrapper">
36
-        <img :src="!avatar ? usertx : avatar" class="user-avatar" />
41
+        <img :src="!avatar ? usertx : avatar" class="user-avatar" >
37 42
       </div>
38 43
       <el-dropdown-menu slot="dropdown" class="user-dropdown">
39 44
         <router-link class="inlineBlock" to="/">
@@ -48,7 +53,7 @@
48 53
       </el-dropdown-menu>
49 54
     </el-dropdown>
50 55
     <!-- 发送消息 -->
51
-    <div
56
+    <!-- <div
52 57
       style="
53 58
         display: inline-block;
54 59
         float: right;
@@ -58,23 +63,23 @@
58 63
       "
59 64
     >
60 65
       <i
61
-        @click="drawer = true"
62 66
         class="el-icon-chat-dot-square"
63 67
         style="color: white; font-size: 25px; vertical-align: middle"
64
-      ></i>
65
-    </div>
68
+        @click="drawer = true"
69
+      />
70
+    </div> -->
66 71
     <el-drawer
67
-      style="margin-top: 100px"
68
-      size="20%"
69 72
       :modal="false"
70
-      title="消息通讯"
71 73
       :visible.sync="drawer"
72 74
       :show-close="false"
73 75
       :direction="direction"
76
+      style="margin-top: 100px"
77
+      size="20%"
78
+      title="消息通讯"
74 79
     >
75 80
       <el-tabs
76
-        style="padding: 0 20px"
77 81
         v-model="activeName"
82
+        style="padding: 0 20px"
78 83
         type="card"
79 84
         @tab-click="handleClick"
80 85
       >
@@ -91,16 +96,18 @@
91 96
           >
92 97
             <div style="width: 80px; text-align: center">
93 98
               <img
94
-                class="pimg"
95 99
                 :src="$store.getters.serverConfig.BASE_API + item.F_See"
96
-              />
100
+                class="pimg"
101
+              >
97 102
               <p class="puser">{{ item.F_UserName }}</p>
98 103
             </div>
99 104
             <div class="pcon">{{ item.Content }}</div>
100 105
             <div class="pdate">
101 106
               {{ item.CreateDate }}
102
-              <span class="phf" @click="tosend(item.F_RoleId, item.FromUserId)"
103
-                >回复</span
107
+              <span
108
+                class="phf"
109
+                @click="tosend(item.F_RoleId, item.FromUserId)"
110
+              >回复</span
104 111
               >
105 112
             </div>
106 113
           </div>
@@ -114,16 +121,18 @@
114 121
           >
115 122
             <div style="width: 80px; text-align: center">
116 123
               <img
117
-                class="pimg"
118 124
                 :src="$store.getters.serverConfig.BASE_API + item.F_See"
119
-              />
125
+                class="pimg"
126
+              >
120 127
               <p class="puser">{{ item.F_UserName }}</p>
121 128
             </div>
122 129
             <div class="pcon">{{ item.Content }}</div>
123 130
             <div class="pdate">
124 131
               {{ item.CreateDate }}
125
-              <span class="phf" @click="tosend(item.F_RoleId, item.FromUserId)"
126
-                >回复</span
132
+              <span
133
+                class="phf"
134
+                @click="tosend(item.F_RoleId, item.FromUserId)"
135
+              >回复</span
127 136
               >
128 137
             </div>
129 138
           </div>
@@ -136,138 +145,138 @@
136 145
 </template>
137 146
 
138 147
 <script>
139
-import { mapGetters } from "vuex";
140
-import store from "@/store";
141
-import { getLogout } from "@/api/layout/permsgEdit";
142
-import { createWebSocket } from "@/utils/telWebsocket";
148
+import { mapGetters } from 'vuex'
149
+import store from '@/store'
150
+import { getLogout } from '@/api/layout/permsgEdit'
151
+import { createWebSocket } from '@/utils/telWebsocket'
143 152
 import {
144 153
   getGetChatLists,
145
-  getGetChatCount,
146
-} from "@/api/AnnounceManagement/chart";
147
-import Teloperation from "./teloperation";
148
-import NavUserInfo from "./NavUserInfo";
149
-import navTelStateMsg from "./navTelStateMsg";
150
-import permsgEdit from "./permsgEdit.vue";
151
-import sendMsg from "./sendmsg.vue";
154
+  getGetChatCount
155
+} from '@/api/AnnounceManagement/chart'
156
+import Teloperation from './teloperation'
157
+import NavUserInfo from './NavUserInfo'
158
+import navTelStateMsg from './navTelStateMsg'
159
+import permsgEdit from './permsgEdit.vue'
160
+import sendMsg from './sendmsg.vue'
152 161
 export default {
153
-  name: "Navbar",
162
+  name: 'Navbar',
154 163
   components: {
155 164
     Teloperation,
156 165
     NavUserInfo,
157
-    navTelStateMsg,
166
+    navTelStateMsg
158 167
   },
159 168
   data() {
160 169
     return {
161
-      usertx: "",
162
-      activeName: "0",
163
-      noread: "",
170
+      usertx: '',
171
+      activeName: '0',
172
+      noread: '',
164 173
       noreadlist: [],
165 174
       readlist: [],
166 175
       drawer: false,
167 176
       orderFlag: true,
168
-      direction: "rtl",
177
+      direction: 'rtl',
169 178
       showTopNotice: false, // 是否显示项目到期的消息
170
-      telTopRightText: "",
179
+      telTopRightText: '',
171 180
       offsetRight: 0,
172 181
       offsetBottom: 0,
173 182
       topNoticeNum: 0, // 顶部消息数量
174
-      roleName: "", // 用户角色名称
175
-    };
183
+      roleName: '' // 用户角色名称
184
+    }
176 185
   },
177 186
   computed: {
178 187
     ...mapGetters([
179
-      "telSeatState", // 坐席状态
180
-      "teamName", // 中心
181
-      "groupName", // 小组
182
-      "sidebar",
183
-      "avatar",
184
-      "seatflag",
185
-      "telIsLogin", // 是否签入
186
-      "telIsConnected", // 连接是否建立
187
-    ]),
188
+      'telSeatState', // 坐席状态
189
+      'teamName', // 中心
190
+      'groupName', // 小组
191
+      'sidebar',
192
+      'avatar',
193
+      'seatflag',
194
+      'telIsLogin', // 是否签入
195
+      'telIsConnected' // 连接是否建立
196
+    ])
188 197
   },
189 198
   watch: {
190
-    telTopRightState: function (newT) {
191
-      if (this.telSeatState === 2 && (newT === "空闲" || newT === "忙碌")) {
192
-        this.telTopRightText = "空闲";
193
-        store.dispatch("ChangeTopRightState", ["空闲", true]);
199
+    telTopRightState: function(newT) {
200
+      if (this.telSeatState === 2 && (newT === '空闲' || newT === '忙碌')) {
201
+        this.telTopRightText = '空闲'
202
+        store.dispatch('ChangeTopRightState', ['空闲', true])
194 203
       } else if (
195 204
         this.telSeatState === 5 &&
196
-        (newT === "空闲" || newT === "忙碌")
205
+        (newT === '空闲' || newT === '忙碌')
197 206
       ) {
198
-        this.telTopRightText = "忙碌";
199
-        store.dispatch("ChangeTopRightState", ["忙碌", false]);
207
+        this.telTopRightText = '忙碌'
208
+        store.dispatch('ChangeTopRightState', ['忙碌', false])
200 209
       } else {
201
-        this.telTopRightText = newT;
210
+        this.telTopRightText = newT
202 211
       }
203
-    },
212
+    }
204 213
   },
205 214
   created() {
206 215
     this.usertx =
207 216
       this.$store.getters.serverConfig.BASE_API +
208
-      localStorage.getItem("storageUsertx");
209
-    this.roleName = window.localStorage.getItem("roleName");
217
+      localStorage.getItem('storageUsertx')
218
+    this.roleName = window.localStorage.getItem('roleName')
210 219
     if (!this.telIsConnected && this.seatflag) {
211
-      createWebSocket();
220
+      createWebSocket()
212 221
     }
213
-    this.getList();
222
+    this.getList()
214 223
   },
215 224
   methods: {
216 225
     getList() {
217 226
       return new Promise((resolve) => {
218 227
         const params = {
219 228
           top: 50,
220
-          fromid: parseInt(localStorage.getItem("storageUserid")),
221
-          isread: this.activeName,
222
-        };
229
+          fromid: parseInt(localStorage.getItem('storageUserid')),
230
+          isread: this.activeName
231
+        }
223 232
         getGetChatLists(params).then((response) => {
224
-          this.noread = response.total;
225
-          if (this.activeName == "0") {
226
-            this.noreadlist = response.rows;
233
+          this.noread = response.total
234
+          if (this.activeName == '0') {
235
+            this.noreadlist = response.rows
227 236
           }
228
-          if (this.activeName == "1") {
229
-            this.readlist = response.rows;
237
+          if (this.activeName == '1') {
238
+            this.readlist = response.rows
230 239
           }
231
-        });
232
-        resolve();
233
-      });
240
+        })
241
+        resolve()
242
+      })
234 243
     },
235 244
     handleClick(tab, event) {
236
-      this.getList();
245
+      this.getList()
237 246
     },
238 247
     logout() {
239
-      this.$confirm("您确定退出吗?", "提示", {
240
-        confirmButtonText: "确定",
241
-        cancelButtonText: "取消",
242
-        type: "warning",
248
+      this.$confirm('您确定退出吗?', '提示', {
249
+        confirmButtonText: '确定',
250
+        cancelButtonText: '取消',
251
+        type: 'warning'
243 252
       })
244 253
         .then(() => {
245
-          this.isDisable = false;
246
-          this.loginout();
247
-          this.signOut(); // 签出
254
+          this.isDisable = false
255
+          this.loginout()
256
+          this.signOut() // 签出
248 257
         })
249 258
         .catch(() => {
250 259
           this.$message({
251
-            type: "info",
252
-            message: "已取消",
253
-          });
254
-        });
260
+            type: 'info',
261
+            message: '已取消'
262
+          })
263
+        })
255 264
     },
256 265
     loginout() {
257 266
       const params = {
258
-        token: localStorage.getItem("Admin-Token").split(" ")[1],
259
-      };
267
+        token: localStorage.getItem('Admin-Token').split(' ')[1]
268
+      }
260 269
       return new Promise((resolve, reject) => {
261 270
         getLogout(params)
262 271
           .then((response) => {
263
-            this.$store.dispatch("FedLogOut").then(() => {
264
-              location.reload(); // 为了重新实例化vue-router对象 避免bug
265
-            });
272
+            this.$store.dispatch('FedLogOut').then(() => {
273
+              location.reload() // 为了重新实例化vue-router对象 避免bug
274
+            })
266 275
           })
267 276
           .catch((error) => {
268
-            reject(error);
269
-          });
270
-      });
277
+            reject(error)
278
+          })
279
+      })
271 280
     },
272 281
 
273 282
     tosend(roleid, uesrid) {
@@ -277,45 +286,45 @@ export default {
277 286
           parent: this, // 当前的vue对象
278 287
           data: {
279 288
             roleid: roleid,
280
-            userid: uesrid,
281
-          }, // props
289
+            userid: uesrid
290
+          } // props
282 291
         },
283
-        area: ["50%", "70%"],
284
-        title: "发送消息",
285
-      });
292
+        area: ['50%', '70%'],
293
+        title: '发送消息'
294
+      })
286 295
     },
287 296
     sendMsg() {
288 297
       this.$layer.iframe({
289 298
         content: {
290 299
           content: sendMsg, // 传递的组件对象
291 300
           parent: this, // 当前的vue对象
292
-          data: {}, // props
301
+          data: {} // props
293 302
         },
294
-        area: ["50%", "70%"],
295
-        title: "发送消息",
296
-      });
303
+        area: ['50%', '70%'],
304
+        title: '发送消息'
305
+      })
297 306
     },
298 307
     onedit() {
299 308
       this.$layer.iframe({
300 309
         content: {
301 310
           content: permsgEdit, // 传递的组件对象
302 311
           parent: this, // 当前的vue对象
303
-          data: {}, // props
312
+          data: {} // props
304 313
         },
305
-        area: ["50%", "70%"],
306
-        title: "个人中心",
307
-      });
314
+        area: ['50%', '70%'],
315
+        title: '个人中心'
316
+      })
308 317
     },
309 318
     // 签出
310 319
     signOut() {
311
-      store.dispatch("UpdateCalloutScreen", false);
320
+      store.dispatch('UpdateCalloutScreen', false)
312 321
     },
313 322
     // 从子组件获取的 消息数量值
314 323
     getTopNoticeNum(value) {
315
-      this.topNoticeNum = value.num;
316
-    },
317
-  },
318
-};
324
+      this.topNoticeNum = value.num
325
+    }
326
+  }
327
+}
319 328
 </script>
320 329
 
321 330
 <style rel="stylesheet/scss" lang="scss" scoped>
@@ -453,8 +462,8 @@ export default {
453 462
   }
454 463
 
455 464
   .close {
456
-    width: 60px;
457
-    right: 60px;
465
+    width: 120px;
466
+    right: 40px;
458 467
     cursor: pointer;
459 468
 
460 469
     span {