Przeglądaj źródła

阜外Bug提交

miaofuhao 6 lat temu
rodzic
commit
10614a3833

BIN
fuwaiCallCenterWeb.UI/dist.zip


+ 1 - 1
fuwaiCallCenterWeb.UI/src/api/customer/customerInfoHY.js

@@ -179,7 +179,7 @@ export function getNotice(params) {
179 179
     params
180 180
   })
181 181
 }
182
-// 获取公告信息
182
+// 获取日程信息
183 183
 export function getSchedule(params) {
184 184
   return request({
185 185
     url: 'messageapi/api/schedulereminder/getlistbypage',

+ 16 - 0
fuwaiCallCenterWeb.UI/src/api/reportForm/seatSatisfac.js

@@ -0,0 +1,16 @@
1
+import request from '@/utils/request'
2
+export function getDataList(params) {
3
+  return request({
4
+    url: 'callcenterapi/api/zuoximanyidu/getdatalist',
5
+    method: 'get',
6
+    params
7
+  })
8
+}
9
+
10
+export function getColumnList() {
11
+  return request({
12
+    url: 'callcenterapi/api/daystalktime/getcolumnlist',
13
+    method: 'get'
14
+
15
+  })
16
+}

+ 9 - 8
fuwaiCallCenterWeb.UI/src/components/TopNotice/index.vue

@@ -37,7 +37,8 @@ export default {
37 37
   data() {
38 38
     return {
39 39
       loading: false,
40
-      proNoticeDatas: []
40
+      proNoticeDatas: [],
41
+      proScheduleDatas: []
41 42
     }
42 43
   },
43 44
   created() {
@@ -79,24 +80,24 @@ export default {
79 80
         this.loading = false
80 81
         if (res.state.toLowerCase() === 'success') {
81 82
           if (res.data.rows && res.data.rows.length) {
82
-            this.proNoticeDatas = []
83
+            this.proScheduleDatas = []
83 84
             res.data.rows.forEach(item => {
84
-              this.proNoticeDatas.unshift({
85
-                project_name: item.title,
86
-                orderendtime: item.createon
85
+              this.proScheduleDatas.unshift({
86
+                project_name: item.content,
87
+                orderendtime: item.createtime
87 88
               })
88 89
             })
89 90
             this.$notify({
90 91
               title: '日程消息提醒',
91
-              message: `您有${this.proNoticeDatas.length}个日程消息!`,
92
+              message: `您有${this.proScheduleDatas.length}个日程消息!`,
92 93
               type: 'warning',
93 94
               duration: 0,
94 95
               position: 'bottom-right'
95 96
 
96 97
             })
97 98
             // 修改父组件的值
98
-            this.$emit('getTopNoticeNums', {
99
-              num: this.proNoticeDatas.length > 99 ? '99+' : this.proNoticeDatas.length // 顶部消息数量
99
+            this.$emit('getTopScheduleNums', {
100
+              num: this.proScheduleDatas.length > 99 ? '99+' : this.proScheduleDatas.length // 顶部消息数量
100 101
             })
101 102
           }
102 103
         }

+ 36 - 16
fuwaiCallCenterWeb.UI/src/views/dashboard/components/allNotice.vue

@@ -4,15 +4,19 @@
4 4
     <h4 class="title">全部公告</h4>
5 5
     <ul class="lists">
6 6
       <li v-for="item of notices" :key="item.id" class="item">
7
-        {{ item.content }}
7
+        【阜外华中心血管病医院】{{ item.content }}
8 8
       </li>
9 9
     </ul>
10
-    <el-button type="text" class="btn_more">查看更多</el-button>
10
+    <router-link class="inlineBlock" to="/notice/manage">
11
+      <el-dropdown-item>
12
+        <i class="el-icon-more"/>查看更多
13
+      </el-dropdown-item>
14
+    </router-link>
11 15
   </el-card>
12 16
 </template>
13 17
 
14 18
 <script>
15
-
19
+import { getNotice } from '@/api/customer/customerInfoHY'
16 20
 export default {
17 21
   name: 'AllNotice',
18 22
   props: {
@@ -24,23 +28,39 @@ export default {
24 28
   data() {
25 29
     return {
26 30
       notices: [
27
-        { id: 0, content: '【阜外华中心血管病医院】5月20日呼叫中心6.0版本试运营上线,轻装上阵轻装上阵轻装上阵…' },
28
-        { id: 1, content: '【阜外华中心血管病医院】5月20日呼叫中心6.0版本试运营上线,轻装上阵…' },
29
-        { id: 2, content: '【阜外华中心血管病医院】5月20日呼叫中心6.0版本试运营上线,轻装上阵…' },
30
-        { id: 3, content: '【阜外华中心血管病医院】5月20日呼叫中心6.0版本试运营上线,轻装上阵…' },
31
-        { id: 4, content: '【阜外华中心血管病医院】5月20日呼叫中心6.0版本试运营上线,轻装上阵…' },
32
-        { id: 5, content: '【阜外华中心血管病医院】5月20日呼叫中心6.0版本试运营上线,轻装上阵…' }
31
+        // { id: 0, content: '【阜外华中心血管病医院】5月20日呼叫中心6.0版本试运营上线,轻装上阵轻装上阵轻装上阵…' },
32
+        // { id: 1, content: '【阜外华中心血管病医院】5月20日呼叫中心6.0版本试运营上线,轻装上阵…' },
33
+        // { id: 2, content: '【阜外华中心血管病医院】5月20日呼叫中心6.0版本试运营上线,轻装上阵…' },
34
+        // { id: 3, content: '【阜外华中心血管病医院】5月20日呼叫中心6.0版本试运营上线,轻装上阵…' },
35
+        // { id: 4, content: '【阜外华中心血管病医院】5月20日呼叫中心6.0版本试运营上线,轻装上阵…' },
36
+        // { id: 5, content: '【阜外华中心血管病医院】5月20日呼叫中心6.0版本试运营上线,轻装上阵…' }
33 37
       ]
34 38
     }
35 39
   },
36
-  mounted() {
37
-
38
-  },
39
-  beforeDestroy() {
40
-
40
+  created() {
41
+    this.getList()
41 42
   },
42 43
   methods: {
43
-
44
+    // 项目到期的消息
45
+    getList() {
46
+      this.loading = true
47
+      const params = {
48
+        daykind: 0 // 传值0时获取到期前一月的客户信息,传值1获取当天到期的客户信息
49
+      }
50
+      getNotice(params).then(res => {
51
+        this.loading = false
52
+        if (res.state.toLowerCase() === 'success') {
53
+          if (res.data.rows && res.data.rows.length) {
54
+            this.notices = []
55
+            res.data.rows.forEach(item => {
56
+              this.notices.unshift({
57
+                content: item.title
58
+              })
59
+            })
60
+          }
61
+        }
62
+      })
63
+    }
44 64
   }
45 65
 }
46 66
 </script>
@@ -64,7 +84,7 @@ export default {
64 84
 			padding: 15px 20px 20px 20px;
65 85
 			list-style: none;
66 86
 			overflow: hidden;
67
-			height: 100px;
87
+			height: 90px;
68 88
 			.item{
69 89
 				color: #666666;
70 90
 				font-size: 12px;

+ 77 - 71
fuwaiCallCenterWeb.UI/src/views/dashboard/components/appAds.vue

@@ -1,102 +1,108 @@
1 1
 <template>
2
-  <!--  app广告  -->
3
-  <el-card :body-style="{ padding: '18px 20px' }" :style="{height:height}" shadow="hover" class="appAds">
4
-    <el-row :gutter="5" type="flex" align="middle">
5
-      <el-col :lg="10">
6
-        <img :src="avatar" alt="图片" class="images">
7
-      </el-col>
8
-      <el-col :lg="14">
9
-        <h4 class="title">阜外华中心血管病医院 APP</h4>
10
-        <p class="content">
11
-          精准的业务流程,让您的企业高效集中管理,减轻维护负担,更安全、更便捷
12
-        </p>
13
-      </el-col>
14
-    </el-row>
15
-
2
+  <!--  全部公告  -->
3
+  <el-card :body-style="{ padding: '0' }" :style="{height:height}" shadow="hover" class="all_notice">
4
+    <h4 class="title">全部日程</h4>
5
+    <ul class="lists">
6
+      <li v-for="item of notices" :key="item.id" class="item">
7
+        【阜外华中心血管病医院】{{ item.content }}
8
+      </li>
9
+    </ul>
10
+    <router-link class="inlineBlock" to="/schedule/manage">
11
+      <el-dropdown-item>
12
+        <i class="el-icon-more"/>查看更多
13
+      </el-dropdown-item>
14
+    </router-link>
16 15
   </el-card>
17 16
 </template>
18 17
 
19 18
 <script>
20
-import { mapGetters } from 'vuex'
21
-
19
+import { getSchedule } from '@/api/customer/customerInfoHY'
22 20
 export default {
23
-  name: 'AppAds',
21
+  name: 'AllNotice',
24 22
   props: {
25 23
     height: {
26 24
       type: String,
27
-      default: '150px'
25
+      default: '170px'
28 26
     }
29 27
   },
30 28
   data() {
31 29
     return {
32
-
30
+      notices: [
31
+        // { id: 0, content: '【阜外华中心血管病医院】5月20日呼叫中心6.0版本试运营上线,轻装上阵轻装上阵轻装上阵…' },
32
+        // { id: 1, content: '【阜外华中心血管病医院】5月20日呼叫中心6.0版本试运营上线,轻装上阵…' },
33
+        // { id: 2, content: '【阜外华中心血管病医院】5月20日呼叫中心6.0版本试运营上线,轻装上阵…' },
34
+        // { id: 3, content: '【阜外华中心血管病医院】5月20日呼叫中心6.0版本试运营上线,轻装上阵…' },
35
+        // { id: 4, content: '【阜外华中心血管病医院】5月20日呼叫中心6.0版本试运营上线,轻装上阵…' },
36
+        // { id: 5, content: '【阜外华中心血管病医院】5月20日呼叫中心6.0版本试运营上线,轻装上阵…' }
37
+      ]
33 38
     }
34 39
   },
35
-  computed: {
36
-    ...mapGetters([
37
-      'avatar'
38
-    ])
39
-  },
40
-  mounted() {
41
-
42
-  },
43
-  beforeDestroy() {
44
-
40
+  created() {
41
+    this.getList()
45 42
   },
46 43
   methods: {
47
-
44
+    // 项目到期的消息
45
+    getList() {
46
+      this.loading = true
47
+      const params = {
48
+        daykind: 0 // 传值0时获取到期前一月的客户信息,传值1获取当天到期的客户信息
49
+      }
50
+      getSchedule(params).then(res => {
51
+        this.loading = false
52
+        if (res.state.toLowerCase() === 'success') {
53
+          if (res.data.rows && res.data.rows.length) {
54
+            this.notices = []
55
+            res.data.rows.forEach(item => {
56
+              this.notices.unshift({
57
+                content: item.content
58
+              })
59
+            })
60
+          }
61
+        }
62
+      })
63
+    }
48 64
   }
49 65
 }
50 66
 </script>
51 67
 
52 68
 <style rel="stylesheet/scss" lang="scss" scoped>
53
-	.appAds {
54
-		color: #666666;
55
-		.images{
56
-			display: block;
57
-			width: 114px;
58
-			height: 114px;
59
-		}
60
-		.title{
69
+	.all_notice {
70
+		position: relative;
71
+		width: 100%;
72
+		.title {
73
+			height: 40px;
74
+			line-height: 40px;
75
+			padding: 0 0 0 10px;
76
+			margin: 0;
77
+			background-color: #f5f5f6;
78
+			color: #666666;
79
+			font-size: 14px;
61 80
 			font-weight: 500;
62
-			font-size: 20px;
63
-			line-height: 24px;
64
-			margin: 0 0 15px 0;
65
-			padding: 0;
66 81
 		}
67
-		.content{
68
-			font-size: 14px;
69
-			line-height: 22px;
82
+		.lists{
70 83
 			margin: 0;
71
-			padding: 0;
72
-		}
73
-	}
74
-
75
-	@media only screen and (max-width: 1660px) {
76
-		.appAds {
77
-			.images{
78
-				width: 80px;
79
-				height: 80px;
80
-			}
81
-			.title{
82
-				font-size: 16px;
83
-				line-height: 24px;
84
-				margin: 0 0 15px 0;
85
-			}
86
-			.content{
84
+			padding: 15px 20px 10px 20px;
85
+			list-style: none;
86
+			overflow: hidden;
87
+			height: 90px;
88
+			.item{
89
+				color: #666666;
87 90
 				font-size: 12px;
88
-				line-height: 20px;
91
+				line-height: 26px;
92
+				width: 100%;
93
+				overflow: hidden;
94
+				white-space: nowrap;
95
+				text-overflow: ellipsis;
89 96
 			}
90 97
 		}
91
-	}
92
-
93
-	@media only screen and (max-width: 1200px) {
94
-		.appAds {
95
-			.images{
96
-				width: 114px;
97
-				height: 114px;
98
-			}
98
+		.btn_more{
99
+			position: absolute;
100
+			left: 24px;
101
+			bottom: 8px;
102
+		}
103
+		.inlineBlock{
104
+			line-height: 20px;
105
+			font-size: 12px
99 106
 		}
100 107
 	}
101
-
102 108
 </style>

+ 1 - 1
fuwaiCallCenterWeb.UI/src/views/dashboard/components/ranking.vue

@@ -69,7 +69,7 @@ export default {
69 69
   props: {
70 70
     height: {
71 71
       type: String,
72
-      default: '500px'
72
+      default: '480px'
73 73
     }
74 74
   },
75 75
   data() {

+ 5 - 4
fuwaiCallCenterWeb.UI/src/views/dashboard/index.vue

@@ -29,14 +29,15 @@
29 29
         <el-col :lg="24" class="mb">
30 30
           <allNotice :height="height1"/>
31 31
         </el-col>
32
-        <!-- 话务 工单 排行榜 -->
33
-        <el-col :lg="24" class="mb">
34
-          <ranking ref="ranking"/>
35
-        </el-col>
36 32
         <!-- app -->
37 33
         <el-col :lg="24" class="mb">
38 34
           <appAds/>
39 35
         </el-col>
36
+        <!-- 话务 工单 排行榜 -->
37
+        <el-col :lg="24" class="mb">
38
+          <ranking ref="ranking"/>
39
+        </el-col>
40
+
40 41
       </el-col>
41 42
     </el-row>
42 43
   </div>

+ 12 - 3
fuwaiCallCenterWeb.UI/src/views/order/components/addOrEdit.vue

@@ -92,14 +92,14 @@
92 92
             </el-form-item>
93 93
           </el-col>
94 94
         </div>
95
-        <el-col :lg="12" :xl="8" class="col_item">
95
+        <el-col v-show="ruleForm.isdesignate === '0'" :lg="12" :xl="8" class="col_item">
96 96
           <el-form-item :label="`${deptContent.deptname}部门`" prop="deptid">
97 97
             <el-select v-model="ruleForm.deptid" :placeholder="`请选择${deptContent.deptname}部门`" class="form_select" filterable clearable @change="deptChange">
98 98
               <el-option v-for="item in deptData" :key="item.id" :label="item.name" :value="item.id"/>
99 99
             </el-select>
100 100
           </el-form-item>
101 101
         </el-col>
102
-        <el-col :lg="12" :xl="12">
102
+        <el-col v-show="ruleForm.isdesignate === '0'" :lg="12" :xl="12">
103 103
           <el-form-item label="接收人" prop="touser" >
104 104
             <el-select v-model="ruleForm.touser" class="form_select" filterable clearable placeholder="请选择接收人">
105 105
               <el-option v-for="item in touserOptions" :key="item.id" :label="`${item.username}(${item.usercode})`" :value="item.usercode"/>
@@ -128,6 +128,14 @@
128 128
           </el-form-item>
129 129
         </el-col>
130 130
         <el-col :xl="24">
131
+          <el-form-item label="是否指派" prop="isdesignate">
132
+            <el-radio-group v-model="ruleForm.isdesignate">
133
+              <el-radio label="0">是</el-radio>
134
+              <el-radio label="1">否</el-radio>
135
+            </el-radio-group>
136
+          </el-form-item>
137
+        </el-col>
138
+        <el-col :xl="24">
131 139
           <el-form-item label="立即处理" prop="dealinstantly">
132 140
             <el-radio-group v-model="ruleForm.dealinstantly">
133 141
               <el-radio label="0">否</el-radio>
@@ -241,7 +249,8 @@ export default {
241 249
         callintel: this.callinNum, // 来电电话
242 250
         businesstype: '',
243 251
         iseffective: '1',
244
-        dealinstantly: '0',
252
+        dealinstantly: '1',
253
+        isdesignate: '1',
245 254
         touser: '', // 指派给的坐席工号
246 255
         deptid: '', // 咨询部门id
247 256
         content: '', //	是	string	故障内容

+ 4 - 0
fuwaiCallCenterWeb.UI/src/views/order/components/searchFilter.vue

@@ -32,6 +32,7 @@
32 32
     <el-button type="primary" class="filter-item" icon="el-icon-search" @click="btn_search">搜索</el-button>
33 33
     <el-button v-permission="'HY_add'" v-if="showadd" type="primary" class="filter-item" icon="el-icon-plus" @click="btn_add">添加</el-button>
34 34
     <el-button v-permission="'HY_deletes'" v-if="showdeletes" type="primary" class="filter-item" icon="el-icon-delete" @click="btn_deletes">批量删除</el-button>
35
+    <el-button type="primary" class="filter-item" icon="el-icon-upload2" @click="btn_export()">导出</el-button>
35 36
   </div>
36 37
 </template>
37 38
 
@@ -91,6 +92,9 @@ export default {
91 92
     btn_search() {
92 93
       this.$emit('search', this.searchDatas)
93 94
     },
95
+    btn_export() {
96
+      this.$emit('export', this.searchDatas)
97
+    },
94 98
     btn_deletes() {
95 99
       this.$emit('delorders')
96 100
     },

+ 12 - 1
fuwaiCallCenterWeb.UI/src/views/order/orderAppointed/index.vue

@@ -4,7 +4,8 @@
4 4
     <SearchFilter
5 5
       :search-datas.sync="searchDatas"
6 6
       @search="btn_search"
7
-      @delorders="btn_deletes"/>
7
+      @delorders="btn_deletes"
8
+      @export="btn_export"/>
8 9
 
9 10
     <el-table v-loading="loading" :data="dataLists" border stripe @selection-change="changeSelects">
10 11
       <el-table-column type="selection" width="36"/>
@@ -139,6 +140,16 @@ export default {
139 140
         resolve()
140 141
       })
141 142
     },
143
+    btn_export() {
144
+      window.location.href = this.$store.getters.serverConfig.BASE_API + 'workorderapi/api/workorder/exportyclexcel?ordercode=' + this.searchDatas.sc_ordercode +
145
+					'&phone=' + this.searchDatas.sc_tel +
146
+					'&stime=' + this.searchDatas.searchDate && this.searchDatas.searchDate[0] +
147
+					'&etime=' + this.searchDatas.searchDate && this.searchDatas.searchDate[1] +
148
+					'&province=' + this.searchDatas.provinceCity && this.searchDatas.provinceCity[0] +
149
+					'&city=' + this.searchDatas.provinceCity && this.searchDatas.provinceCity[1] +
150
+					'&typeid=' + this.searchDatas.sc_type +
151
+					'&deptid=' + this.searchDatas.sc_deptid
152
+    },
142 153
     btn_search() {
143 154
       this.pageParams.pageindex = 1
144 155
       this.getList()

+ 12 - 3
fuwaiCallCenterWeb.UI/src/views/order/orderCreateHY/index.vue

@@ -96,7 +96,7 @@
96 96
             </el-col>
97 97
           </div>
98 98
 
99
-          <el-col :lg="12" :xl="12" class="col_item">
99
+          <el-col v-show="ruleForm.isdesignate === '0'" :lg="12" :xl="12" class="col_item">
100 100
             <el-form-item :label="`${deptContent.deptname}部门`" prop="deptid">
101 101
               <el-select v-model="ruleForm.deptid" :placeholder="`请选择${deptContent.deptname}部门`" class="form_select" filterable clearable @change="deptChange">
102 102
                 <el-option v-for="item in deptData" :key="item.id" :label="item.name" :value="item.id"/>
@@ -104,7 +104,7 @@
104 104
             </el-form-item>
105 105
           </el-col>
106 106
 
107
-          <el-col :lg="12" :xl="12">
107
+          <el-col v-show="ruleForm.isdesignate === '0'" :lg="12" :xl="12">
108 108
             <el-form-item label="接收人" prop="touser" >
109 109
               <el-select v-model="ruleForm.touser" class="form_select" filterable clearable placeholder="请选择接收人">
110 110
                 <el-option v-for="item in touserOptions" :key="item.id" :label="`${item.username}(${item.usercode})`" :value="item.usercode"/>
@@ -133,6 +133,14 @@
133 133
             </el-form-item>
134 134
           </el-col>
135 135
           <el-col :xl="24">
136
+            <el-form-item label="是否指派" prop="isdesignate">
137
+              <el-radio-group v-model="ruleForm.isdesignate">
138
+                <el-radio label="1">否</el-radio>
139
+                <el-radio label="0">是</el-radio>
140
+              </el-radio-group>
141
+            </el-form-item>
142
+          </el-col>
143
+          <el-col :xl="24">
136 144
             <el-form-item label="立即处理" prop="dealinstantly">
137 145
               <el-radio-group v-model="ruleForm.dealinstantly">
138 146
                 <el-radio label="0">否</el-radio>
@@ -218,9 +226,10 @@ export default {
218 226
         name: '', //	否	string	客户姓名
219 227
         callintel: '', // 来电电话
220 228
         deptid: '', // 咨询部门id
229
+        isdesignate: '1',
221 230
         businesstype: '',
222 231
         iseffective: '1',
223
-        dealinstantly: '0',
232
+        dealinstantly: '1',
224 233
         content: '', //	是	string	故障内容
225 234
         sourceid: '', //	否	string	售后来源id
226 235
         company: '', // 单位名称

+ 22 - 3
fuwaiCallCenterWeb.UI/src/views/order/orderDisposal/index.vue

@@ -4,7 +4,8 @@
4 4
     <SearchFilter
5 5
       :search-datas.sync="searchDatas"
6 6
       @search="btn_search"
7
-      @delorders="btn_deletes"/>
7
+      @delorders="btn_deletes"
8
+      @export="btn_export"/>
8 9
 
9 10
     <el-table v-loading="loading" :data="dataLists" border stripe @selection-change="changeSelects">
10 11
       <el-table-column type="selection" width="36"/>
@@ -42,8 +43,16 @@
42 43
       <el-table-column label="操作" width="136" align="left" class-name="oparate_btn" fixed="right">
43 44
         <template slot-scope="scope">
44 45
           <el-button v-permission="'HY_detail'" type="text" @click="btn_detail(scope.row.ordercode)">详情</el-button>
45
-          <el-button v-permission="'HY_transfer'" type="text" @click="btn_transfer(scope.row.ordercode)">转派</el-button>
46
-          <el-button v-permission="'HY_deal'" type="text" @click="btn_deal(scope.row.ordercode)">处理</el-button>
46
+          <el-button
47
+            v-permission="'HY_transfer'"
48
+            v-if="scope.row.state === 3 && scope.row.sureuser === usercode"
49
+            type="text"
50
+            @click="btn_transfer(scope.row.ordercode)">转派</el-button>
51
+          <el-button
52
+            v-permission="'HY_deal'"
53
+            v-if="scope.row.state === 3 && scope.row.sureuser === usercode"
54
+            type="text"
55
+            @click="btn_deal(scope.row.ordercode)">处理</el-button>
47 56
           <el-button v-permission="'HY_delete'" type="text" @click="btn_delete(scope.row.id)">删除</el-button>
48 57
         </template>
49 58
       </el-table-column>
@@ -139,6 +148,16 @@ export default {
139 148
       this.pageParams.pageindex = 1
140 149
       this.getList()
141 150
     },
151
+    btn_export() {
152
+      window.location.href = this.$store.getters.serverConfig.BASE_API + 'workorderapi/api/workorder/exportyclexcel?ordercode=' + this.searchDatas.sc_ordercode +
153
+					'&phone=' + this.searchDatas.sc_tel +
154
+					'&stime=' + this.searchDatas.searchDate && this.searchDatas.searchDate[0] +
155
+					'&etime=' + this.searchDatas.searchDate && this.searchDatas.searchDate[1] +
156
+					'&province=' + this.searchDatas.provinceCity && this.searchDatas.provinceCity[0] +
157
+					'&city=' + this.searchDatas.provinceCity && this.searchDatas.provinceCity[1] +
158
+					'&typeid=' + this.searchDatas.sc_type +
159
+					'&deptid=' + this.searchDatas.sc_deptid
160
+    },
142 161
     btn_detail(editId) {
143 162
       this.$layer.iframe({
144 163
         content: {

+ 12 - 1
fuwaiCallCenterWeb.UI/src/views/order/orderProcessed/index.vue

@@ -4,7 +4,8 @@
4 4
     <SearchFilter
5 5
       :search-datas.sync="searchDatas"
6 6
       @search="btn_search"
7
-      @delorders="btn_deletes"/>
7
+      @delorders="btn_deletes"
8
+      @export="btn_export"/>
8 9
 
9 10
     <el-table v-loading="loading" :data="dataLists" border stripe @selection-change="changeSelects">
10 11
       <el-table-column type="selection" width="36"/>
@@ -133,6 +134,16 @@ export default {
133 134
         resolve()
134 135
       })
135 136
     },
137
+    btn_export() {
138
+      window.location.href = this.$store.getters.serverConfig.BASE_API + 'workorderapi/api/workorder/exportyclexcel?ordercode=' + this.searchDatas.sc_ordercode +
139
+					'&phone=' + this.searchDatas.sc_tel +
140
+					'&stime=' + this.searchDatas.searchDate && this.searchDatas.searchDate[0] +
141
+					'&etime=' + this.searchDatas.searchDate && this.searchDatas.searchDate[1] +
142
+					'&province=' + this.searchDatas.provinceCity && this.searchDatas.provinceCity[0] +
143
+					'&city=' + this.searchDatas.provinceCity && this.searchDatas.provinceCity[1] +
144
+					'&typeid=' + this.searchDatas.sc_type +
145
+					'&deptid=' + this.searchDatas.sc_deptid
146
+    },
136 147
     btn_search() {
137 148
       this.pageParams.pageindex = 1
138 149
       this.getList()

+ 12 - 1
fuwaiCallCenterWeb.UI/src/views/order/orderSearchHY/index.vue

@@ -4,7 +4,8 @@
4 4
       :search-datas.sync="searchDatas"
5 5
       showadd
6 6
       @search="btn_search"
7
-      @delorders="btn_deletes"/>
7
+      @delorders="btn_deletes"
8
+      @export="btn_export"/>
8 9
 
9 10
     <el-table v-loading="loading" :data="dataLists" border stripe @selection-change="changeSelects">
10 11
       <el-table-column type="selection" width="36"/>
@@ -142,6 +143,16 @@ export default {
142 143
       this.pageParams.pageindex = 1
143 144
       this.getList()
144 145
     },
146
+    btn_export() {
147
+      window.location.href = this.$store.getters.serverConfig.BASE_API + 'workorderapi/api/workorder/exportyclexcel?ordercode=' + this.searchDatas.sc_ordercode +
148
+					'&phone=' + this.searchDatas.sc_tel +
149
+					'&stime=' + this.searchDatas.searchDate && this.searchDatas.searchDate[0] +
150
+					'&etime=' + this.searchDatas.searchDate && this.searchDatas.searchDate[1] +
151
+					'&province=' + this.searchDatas.provinceCity && this.searchDatas.provinceCity[0] +
152
+					'&city=' + this.searchDatas.provinceCity && this.searchDatas.provinceCity[1] +
153
+					'&typeid=' + this.searchDatas.sc_type +
154
+					'&deptid=' + this.searchDatas.sc_deptid
155
+    },
145 156
     btn_edit(editId) {
146 157
       this.$layer.iframe({
147 158
         content: {

+ 22 - 3
fuwaiCallCenterWeb.UI/src/views/order/orderWaiting/index.vue

@@ -4,7 +4,8 @@
4 4
     <SearchFilter
5 5
       :search-datas.sync="searchDatas"
6 6
       @search="btn_search"
7
-      @delorders="btn_deletes"/>
7
+      @delorders="btn_deletes"
8
+      @export="btn_export"/>
8 9
 
9 10
     <el-table v-loading="loading" :data="dataLists" border stripe @selection-change="changeSelects">
10 11
       <el-table-column type="selection" width="36"/>
@@ -42,8 +43,16 @@
42 43
       <el-table-column label="操作" width="166" align="left" class-name="oparate_btn" fixed="right">
43 44
         <template slot-scope="scope">
44 45
           <el-button v-permission="'HY_detail'" type="text" @click="btn_detail(scope.row.ordercode)">详情</el-button>
45
-          <el-button v-permission="'HY_receipt'" type="text" @click="btn_receipt(scope.row.ordercode)">接单</el-button>
46
-          <el-button v-permission="'HY_return'" type="text" @click="btn_return(scope.row.ordercode)">退回</el-button>
46
+          <el-button
47
+            v-permission="'HY_receipt'"
48
+            v-if="scope.row.state === 2 && scope.row.touser === usercode"
49
+            type="text"
50
+            @click="btn_receipt(scope.row.ordercode)">接单</el-button>
51
+          <el-button
52
+            v-permission="'HY_return'"
53
+            v-if="scope.row.state === 2 && scope.row.touser === usercode"
54
+            type="text"
55
+            @click="btn_return(scope.row.ordercode)">退回</el-button>
47 56
           <el-button
48 57
             v-permission="'HY_withdraw'"
49 58
             v-if="scope.row.zpusercode === usercode"
@@ -140,6 +149,16 @@ export default {
140 149
         resolve()
141 150
       })
142 151
     },
152
+    btn_export() {
153
+      window.location.href = this.$store.getters.serverConfig.BASE_API + 'workorderapi/api/workorder/exportyclexcel?ordercode=' + this.searchDatas.sc_ordercode +
154
+					'&phone=' + this.searchDatas.sc_tel +
155
+					'&stime=' + this.searchDatas.searchDate && this.searchDatas.searchDate[0] +
156
+					'&etime=' + this.searchDatas.searchDate && this.searchDatas.searchDate[1] +
157
+					'&province=' + this.searchDatas.provinceCity && this.searchDatas.provinceCity[0] +
158
+					'&city=' + this.searchDatas.provinceCity && this.searchDatas.provinceCity[1] +
159
+					'&typeid=' + this.searchDatas.sc_type +
160
+					'&deptid=' + this.searchDatas.sc_deptid
161
+    },
143 162
     btn_search() {
144 163
       this.pageParams.pageindex = 1
145 164
       this.getList()

+ 2 - 3
fuwaiCallCenterWeb.UI/src/views/qualityCheck/waitQualityCheck/index.vue

@@ -8,8 +8,7 @@
8 8
         <el-option label="呼入" value="0"/>
9 9
         <el-option label="呼出" value="1"/>
10 10
       </el-select>
11
-      <el-select v-model="checktype" placeholder="请选择质检类型">
12
-        <el-option label="请选择质检类型" value=""/>
11
+      <el-select v-model="checktype" placeholder="未质检">
13 12
         <el-option label="未质检" value="0"/>
14 13
         <el-option label="已质检" value="1"/>
15 14
       </el-select>
@@ -106,7 +105,7 @@ export default {
106 105
       telephone: '',
107 106
       searchDate: '',
108 107
       calltype: '',
109
-      checktype: '',
108
+      checktype: '0',
110 109
       loading: false,
111 110
       recordpathFiel: '',
112 111
       dataLists: [], // 表格数据

+ 117 - 0
fuwaiCallCenterWeb.UI/src/views/reportForm/seatSatisfac/index.vue

@@ -0,0 +1,117 @@
1
+<template>
2
+  <div class="app-container callTotalCount">
3
+    <div class="filter-container">
4
+      <el-date-picker
5
+        v-model="seachDate"
6
+        class="filter-item"
7
+        type="daterange"
8
+        format="yyyy年MM月dd日"
9
+        value-format="yyyy-MM-dd"
10
+        align="left"
11
+        unlink-panels
12
+        range-separator="至"
13
+        start-placeholder="开始日期"
14
+        end-placeholder="结束日期"/>
15
+      <el-select v-model="roleId" class="filter-item" filterable clearable placeholder="请选择角色">
16
+        <el-option
17
+          v-for="item in roleOptions"
18
+          :key="item.usercode"
19
+          :label="item.usercode"
20
+          :value="item.usercode"/>
21
+      </el-select>
22
+      <el-button type="primary" class="filter-item" icon="el-icon-search" @click="btn_search">搜索</el-button>
23
+      <el-button type="primary" class="filter-item" icon="el-icon-upload2" @click="btn_export">导出</el-button>
24
+    </div>
25
+
26
+    <div class="tableContent">
27
+      <el-table :data="tableData" height="600" border style="width: 100%">
28
+        <el-table-column v-for="col in cols" :key="col" :prop="col" :label="col" align="center"/>
29
+      </el-table>
30
+    </div>
31
+  </div>
32
+</template>
33
+<script>
34
+import { getUserAccountLists } from '@/api/systemSetup/roleSetting/userManage'
35
+import {
36
+  getDataList,
37
+  getColumnList
38
+} from '@/api/reportForm/seatSatisfac'
39
+
40
+export default {
41
+  name: 'DayCallStatistics',
42
+  data() {
43
+    return {
44
+      roleOptions: [],
45
+      roleId: '',
46
+      seachDate: '',
47
+      tableData: [], // 表格数据
48
+      cols: [
49
+        '坐席姓名',
50
+        '非常满意',
51
+        '非常满意占比',
52
+        '基本满意',
53
+        '基本满意占比',
54
+        '不满意',
55
+        '不满意占比',
56
+        '未评价',
57
+        '未评价占比'
58
+      ] // 表头
59
+    }
60
+  },
61
+  mounted: function() {
62
+    this.getRoleSelects()
63
+    this.getList()
64
+    // this.getcolumnLists()
65
+  },
66
+  methods: {
67
+    // 获取角色下拉
68
+    getRoleSelects() {
69
+      getUserAccountLists().then(response => {
70
+        if (response.state.toLowerCase() === 'success') {
71
+          this.roleOptions = response.data.rows
72
+        }
73
+      })
74
+    },
75
+    getList() {
76
+      this.loading = true
77
+      return new Promise(resolve => {
78
+        const params = {
79
+          agentcode: this.roleId, //	否	string	模糊查询(呼叫号码)
80
+          stime: this.seachDate && this.seachDate[0],
81
+          endtime: this.seachDate && this.seachDate[1]
82
+        }
83
+        getDataList(params).then(response => {
84
+          this.loading = false
85
+          if (response.state.toLowerCase() === 'success') {
86
+            this.tableData = response.data
87
+          }
88
+        })
89
+        resolve()
90
+      })
91
+    },
92
+    // getcolumnLists() {
93
+    //   return new Promise(resolve => {
94
+    //     getColumnList().then(response => {
95
+    //       if (response.state.toLowerCase() === 'success') {
96
+    //         this.cols = response.data
97
+    //       }
98
+    //     })
99
+    //     resolve()
100
+    //   })
101
+    // },
102
+    btn_search() {
103
+      this.getList()
104
+    },
105
+    btn_export() {
106
+      const exportUrl = `${this.$store.getters.serverConfig.BASE_API}callcenterapi/api/zuoximanyidu/exportexcel?stime=${this.seachDate &&
107
+					this.seachDate[0]}&endtime=${this.seachDate && this.seachDate[1]}&agentcode=${this.roleId} `
108
+      window.location.href = exportUrl
109
+    }
110
+  }
111
+
112
+}
113
+</script>
114
+
115
+<style lang="scss" scoped>
116
+
117
+</style>

+ 20 - 1
fuwaiCallCenterWeb.UI/src/views/trafficData/callRecord/index.vue

@@ -14,6 +14,13 @@
14 14
         start-placeholder="开始日期"
15 15
         end-placeholder="结束日期"/>
16 16
       <el-input v-model="keyword" placeholder="请输入呼叫号码" class="filter-item"/>
17
+      <el-select v-model="roleId" class="filter-item" filterable clearable placeholder="请选择角色">
18
+        <el-option
19
+          v-for="item in roleOptions"
20
+          :key="item.usercode"
21
+          :label="item.usercode"
22
+          :value="item.usercode"/>
23
+      </el-select>
17 24
       <el-button type="primary" class="filter-item" icon="el-icon-search" @click="btn_search">搜索</el-button>
18 25
     </div>
19 26
 
@@ -93,7 +100,7 @@
93 100
 </template>
94 101
 
95 102
 <script>
96
-
103
+import { getUserAccountLists } from '@/api/systemSetup/roleSetting/userManage'
97 104
 import { getCallRecords } from '@/api/trafficData/trafficData'
98 105
 import audioPlayer from '@/components/audioPlayer'
99 106
 import { pickerOptions } from '@/utils'
@@ -164,6 +171,8 @@ export default {
164 171
     return {
165 172
       loading: false,
166 173
       keyword: '',
174
+      roleId: '',
175
+      roleOptions: [],
167 176
       searchDate: '',
168 177
       pickerOptions,
169 178
       recordpath: '', // 录音的路径
@@ -176,6 +185,7 @@ export default {
176 185
     }
177 186
   },
178 187
   created() {
188
+    this.getRoleSelects()
179 189
     this.getList()
180 190
     document.onkeyup = (e) => {
181 191
       if (e.keyCode === 13) {
@@ -191,6 +201,7 @@ export default {
191 201
           pageindex: this.pageParams.pageindex, // 第几页
192 202
           pagesize: this.pageParams.pagesize, // 每页几条信息
193 203
           keyword: this.keyword, //	否	string	模糊查询(呼叫号码)
204
+          usercode: this.roleId, //	否	string	模糊查询(呼叫号码)
194 205
           stime: this.searchDate && this.searchDate[0],
195 206
           etime: this.searchDate && this.searchDate[1]
196 207
         }
@@ -208,6 +219,14 @@ export default {
208 219
     btn_search() {
209 220
       this.getList()
210 221
     },
222
+    // 获取角色下拉
223
+    getRoleSelects() {
224
+      getUserAccountLists().then(response => {
225
+        if (response.state.toLowerCase() === 'success') {
226
+          this.roleOptions = response.data.rows
227
+        }
228
+      })
229
+    },
211 230
     // 播放录音
212 231
     playSound(rec_file, artist) {
213 232
       this.$layer.iframe({