telephone-clients 3.0.103 → 3.0.104-11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/package.json +3 -3
  2. package/src/App.vue +54 -56
  3. package/src/assets//345/210/240/351/231/244.png +0 -0
  4. package/src/components/Util/RightTreeSafe.vue +2 -2
  5. package/src/components/Util/RightTreeSafeDep.vue +350 -0
  6. package/src/components/android/AddMyTask.vue +7 -0
  7. package/src/components/guoxin/Console.vue +9 -0
  8. package/src/components/guoxin/VisitInfo.vue +0 -11
  9. package/src/components/pc/NewRepairPaper.vue +370 -370
  10. package/src/components/pc/RepairsWork.vue +23 -2
  11. package/src/components/pc/RoleSelectorDep.vue +158 -0
  12. package/src/components/pc/TelFindUser.vue +1 -1
  13. package/src/components/pc/TelListener.vue +47 -16
  14. package/src/components/pc/VisitInfo.vue +44 -17
  15. package/src/components/pc/WorkCenter.vue +1 -1
  16. package/src/components/pc/WorkCenterList.vue +1 -1
  17. package/src/components/pc/WorkHistory.vue +20 -2
  18. package/src/components/pc/WorkListAll.vue +1 -1
  19. package/src/components/pc/WorkListAllNew.vue +10 -3
  20. package/src/components/pc/WorkListNew.vue +9 -3
  21. package/src/components/pc/olddata/OldWorkList.vue +193 -0
  22. package/src/components/telreport/RepairsDetailsReport.vue +98 -0
  23. package/src/components/telreport/TableFaultReport.vue +96 -0
  24. package/src/components/telreport/Traffic.vue +3 -3
  25. package/src/components/telreport/TrafficClassificationReport.vue +134 -0
  26. package/src/components/temp/ChangemeterInfo.vue +75 -87
  27. package/src/components/temp/DeviceInfo.vue +80 -82
  28. package/src/components/temp/HandplanInfo.vue +14 -3
  29. package/src/components/temp/InfoTable.vue +5 -2
  30. package/src/components/temp/MetereadInfo.vue +1 -4
  31. package/src/components/temp/OldRepairList.vue +100 -0
  32. package/src/components/temp/RepairList.vue +2 -2
  33. package/src/components/weinan/Console.vue +1 -1
  34. package/src/components/weinan/RecordList.vue +2 -2
  35. package/src/components/weinan/SiteSend.vue +2 -2
  36. package/src/components/weinan/SiteSendWeixiu.vue +7 -16
  37. package/src/components/weinan/StandWorkWeixiu.vue +1 -1
  38. package/src/components/weinan/WorkList.vue +73 -0
  39. package/src/components/weinan/WorkListAll.vue +90 -14
  40. package/src/components/weinan/WorkListWeixiu.vue +1 -1
  41. package/src/components/workorder/CompletedRepair.vue +269 -183
  42. package/src/components/workorder/FaultAll.vue +826 -826
  43. package/src/components/workorder/PhoneStandWork.vue +354 -354
  44. package/src/components/workorder/PhoneUpDetail.vue +3 -0
  45. package/src/components/workorder/RepairDetails.vue +12 -2
  46. package/src/components/workorder/RepairFirstV.vue +1 -1
  47. package/src/components/workorder/RepairOrderV.vue +1446 -1446
  48. package/src/filiale/furuike/pc/ComplainWork.vue +348 -348
  49. package/src/filiale/furuike/pc/Seekwork.vue +352 -352
  50. package/src/filiale/gongyi/android/RepairOrderV.vue +1415 -1415
  51. package/src/filiale/hanzhong/telephone.js +1 -1
  52. package/src/filiale/kelai/android/AppTakePic.vue +143 -0
  53. package/src/filiale/kelai/android/PhoneVentilationLeave.vue +176 -0
  54. package/src/filiale/kelai/pc/WorkCenterList.vue +20 -3
  55. package/src/filiale/kelai/pc/WorkListAllNew.vue +47 -9
  56. package/src/filiale/kelai/pc/serviceDeleteOrder.vue +55 -0
  57. package/src/filiale/kelai/telephone.js +9 -8
  58. package/src/filiale/kelai/telephoneAndroid.js +3 -1
  59. package/src/filiale/liaoyuan/android/RepairOrderV.vue +831 -831
  60. package/src/filiale/qianneng/android/FaultAll.vue +883 -883
  61. package/src/filiale/qianneng/android/MaterIialOne.vue +123 -123
  62. package/src/filiale/qianneng/android/RepairOrderV.vue +874 -874
  63. package/src/filiale/qianneng/android/TemporarySingle.vue +25 -0
  64. package/src/filiale/qianneng/android/chargesList.vue +161 -161
  65. package/src/filiale/qianneng/pc/MaterialDetailed.vue +15 -3
  66. package/src/filiale/qianneng/pc/MaterialStatistics.vue +144 -0
  67. package/src/filiale/qianneng/pc/NewRepairPaper.vue +467 -467
  68. package/src/filiale/qianneng/pc/RepairsWork.vue +992 -982
  69. package/src/filiale/qianneng/pc/WorkHistory.vue +2 -2
  70. package/src/filiale/qianneng/pc/WorkListAllNew.vue +53 -5
  71. package/src/filiale/qianneng/pc/changetable.vue +273 -0
  72. package/src/filiale/qianneng/telephone.js +2 -0
  73. package/src/filiale/rizhao/pc/DispatchMan.vue +3 -3
  74. package/src/filiale/rizhao/pc/DispatchWork.vue +3 -3
  75. package/src/filiale/rizhao/pc/Traffic.vue +3 -3
  76. package/src/filiale/rizhao/pc/WorkListAllNew.vue +8 -3
  77. package/src/filiale/rizhao/telephone.js +1 -1
  78. package/src/filiale/rongcheng/CliWorkListAll.vue +442 -407
  79. package/src/filiale/rongcheng/FaultAll.vue +3 -3
  80. package/src/filiale/rongcheng/RepairOrderV.vue +1445 -0
  81. package/src/filiale/rongcheng/telephoneAndroid.js +3 -1
  82. package/src/filiale/shanxian/android/RepairFirstV.vue +5 -1
  83. package/src/filiale/shanxian/pc/RepairsWork.vue +826 -0
  84. package/src/filiale/shanxian/pc/WorkList.vue +1 -1
  85. package/src/filiale/shanxian/telephone.js +13 -12
  86. package/src/filiale/shexian/android/AddMyTask.vue +7 -0
  87. package/src/filiale/shexian/android/CompletedRepair.vue +280 -0
  88. package/src/filiale/shexian/android/FaultAll.vue +847 -0
  89. package/src/filiale/shexian/android/Outlay.vue +182 -165
  90. package/src/filiale/shexian/android/RepairFirstV.vue +16 -2
  91. package/src/filiale/shexian/android/RepairInfo.vue +1 -0
  92. package/src/filiale/shexian/pc/QueryVisitHistory.vue +237 -0
  93. package/src/filiale/shexian/pc/TelAgentVoiceReport.vue +271 -0
  94. package/src/filiale/shexian/pc/TelByOrderManCount.vue +10 -2
  95. package/src/filiale/shexian/pc/WorkList.vue +782 -740
  96. package/src/filiale/shexian/pc/WorkListAllNew.vue +75 -67
  97. package/src/filiale/shexian/telephone.js +21 -18
  98. package/src/filiale/shexian/telephoneAndroid.js +32 -26
  99. package/src/filiale/tongchuan/android/RepairDetails.vue +623 -0
  100. package/src/filiale/tongchuan/android/TicketDetails.vue +3 -0
  101. package/src/filiale/tongchuan/pc/UserWork.vue +805 -805
  102. package/src/filiale/tongchuan/pc/WorkOrderStatistics.vue +2 -2
  103. package/src/filiale/tongchuan/telephone.js +52 -52
  104. package/src/filiale/tongchuan/telephoneAndroid.js +23 -22
  105. package/src/filiale/wenxi/android/FailureShow.vue +61 -0
  106. package/src/filiale/wenxi/android/PhoneUpUserinfo.vue +1053 -0
  107. package/src/filiale/wenxi/android/RepairInfo.vue +158 -74
  108. package/src/filiale/wenxi/android/RepairOrderV.vue +805 -1419
  109. package/src/filiale/wenxi/android/RepairUserInfo.vue +532 -0
  110. package/src/filiale/wenxi/android/ZHihuanFirst.vue +502 -0
  111. package/src/filiale/wenxi/pc/DistributeWork.vue +107 -121
  112. package/src/filiale/wenxi/pc/FailureEdit.vue +1 -1
  113. package/src/filiale/wenxi/pc/GasWork.vue +747 -0
  114. package/src/filiale/wenxi/pc/MetereadInfo.vue +82 -0
  115. package/src/filiale/wenxi/pc/RepairsWork.vue +15 -0
  116. package/src/filiale/wenxi/pc/TelFindUser.vue +213 -116
  117. package/src/filiale/wenxi/pc/WorkListAll.vue +348 -297
  118. package/src/filiale/wenxi/telephone.js +4 -5
  119. package/src/filiale/wenxi/telephoneAndroid.js +4 -1
  120. package/src/filiale/wuan/android/RepairOrderV.vue +1384 -1384
  121. package/src/filiale/wuhai/telephone.js +1 -1
  122. package/src/filiale/yuncheng/pc/TelFindUser.vue +302 -0
  123. package/src/filiale/yuncheng/telephone.js +12 -0
  124. package/src/filiale/zhongsheng/android/FaultAll.vue +741 -0
  125. package/src/filiale/zhongsheng/android/RepairOrderV.vue +1430 -1430
  126. package/src/filiale/zhongsheng/android/RepairUserInfo.vue +241 -214
  127. package/src/filiale/zhongsheng/pc/RepairsWork.vue +775 -775
  128. package/src/filiale/zhongsheng/telephone.js +23 -23
  129. package/src/filiale/zhongsheng/telephoneAndroid.js +2 -1
  130. package/src/main.js +1 -1
  131. package/src/telephone.js +17 -1
  132. package/src/weinan.js +6 -0
@@ -0,0 +1,193 @@
1
+ <template>
2
+ <div class="flex">
3
+ <criteria-paged :model="model" v-ref:paged >
4
+ <criteria partial='criteria' v-ref:criteria @condition-changed='$parent.search'>
5
+ <div novalidate class="select-overspread form-horizontal" partial>
6
+ <div class="row" >
7
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%">
8
+ <label class="font_normal_body" style="width: 40%">用户编号</label>
9
+ <input type="text" class="form-control" v-model="model.f_userid" placeholder='用户编号'
10
+ condition="f_userid like '%{}%'"
11
+ :size="model.f_userid ? model.f_userid.length : 7">
12
+ </div>
13
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%">
14
+ <label class="font_normal_body" style="width: 40%">用户姓名</label>
15
+ <input type="text" class="form-control" v-model="model.f_username" placeholder='用户姓名'
16
+ condition="f_username like '%{}%'"
17
+ :size="model.f_username ? model.f_username.length : 7">
18
+ </div>
19
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%">
20
+ <label class="font_normal_body" style="width: 40%">来电电话</label>
21
+ <input type="text" class="form-control" v-model="model.f_linktype" placeholder='来电电话'
22
+ condition="f_linktype like '%{}%'"
23
+ :size="model.f_linktype ? model.f_linktype.length : 7">
24
+ </div>
25
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%">
26
+ <label class="font_normal_body" style="width: 40%">用户电话</label>
27
+ <input type="text" class="form-control" v-model="model.f_phone" placeholder='用户电话'
28
+ condition="f_phone like '%{}%'"
29
+ :size="model.f_phone ? model.f_phone.length : 7">
30
+ </div>
31
+ <div style="float: right;" class="form-group span">
32
+ <button type="button" name="button"
33
+ class="button_search button_spacing" @click="search(),$dispatch('search')">查询</button>
34
+ <button type="button" name="button" style="background-color: #5ac0d9;border-radius: 4px;"
35
+ class="button_spacing button_search" @click="$parent.$parent.clearmsg">清空</button>
36
+ <div style="float: right;" class="button_spacing button_search"
37
+ :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
38
+ @click="$parent.$parent.hidden()"></div>
39
+ </div>
40
+
41
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%" v-if="$parent.$parent.criteriaShow">
42
+ <label class="font_normal_body" style="width: 40%">开始时间</label>
43
+ <datepicker placeholder="来电开始时间"
44
+ :value.sync="model.f_created_startdate"
45
+ v-model="model.f_created_startdate"
46
+ :format="'yyyy-MM-dd 00:00:00'"
47
+ condition="f_reporttime > '{}'"
48
+ ></datepicker>
49
+ </div>
50
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%" v-if="$parent.$parent.criteriaShow">
51
+ <label class="font_normal_body" style="width: 40%">结束时间</label>
52
+ <datepicker placeholder="来电结束时间"
53
+ :value.sync="model.f_created_enddate"
54
+ v-model="model.f_created_enddate"
55
+ :format="'yyyy-MM-dd 23:59:59'"
56
+ condition="f_reporttime < '{}'"
57
+ ></datepicker>
58
+ </div>
59
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%">
60
+ <label class="font_normal_body" style="width: 40%">表&emsp;&emsp;号</label>
61
+ <input type="text" class="form-control" v-model="model.f_meternumber" placeholder='表号'
62
+ condition="f_meternumber like '%{}%'"
63
+ :size="model.f_meternumber ? model.f_meternumber.length : 7">
64
+ </div>
65
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%" >
66
+ <label class="font_normal_body" style="width: 40%" title="用户类型">用户类型</label>
67
+ <v-select :value.sync="model.f_usertype" :value-single="true"
68
+ v-model="model.f_usertype"
69
+ condition="f_usertype ='{}'"
70
+ :options='$parent.$parent.usertypes' placeholder='用户类型'
71
+ close-on-select >
72
+ </v-select>
73
+ </div>
74
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%" >
75
+ <label class="font_normal_body" style="width: 40%" title="旧报修类型">报修类型</label>
76
+ <v-select :value.sync="model.f_repairtype" :value-single="true"
77
+ v-model="model.f_repairtype"
78
+ condition="f_repairtype ='{}'"
79
+ :options='$parent.$parent.repairtypes' placeholder='报修类型'
80
+ close-on-select >
81
+ </v-select>
82
+ </div>
83
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%">
84
+ <label class="font_normal_body" style="width: 40%">话&ensp;务&ensp;员</label>
85
+ <input type="text" class="form-control" v-model="model.f_operator" placeholder='话务员'
86
+ condition="f_operator like '%{}%'"
87
+ :size="model.f_operator ? model.f_operator.length : 7">
88
+ </div>
89
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%">
90
+ <label class="font_normal_body" style="width: 40%">接&ensp;单&ensp;员</label>
91
+ <input type="text" class="form-control" v-model="model.f_accepter" placeholder='接单员'
92
+ condition="f_accepter like '%{}%'"
93
+ :size="model.f_accepter ? model.f_accepter.length : 7">
94
+ </div>
95
+
96
+ </div>
97
+
98
+ </div>
99
+ </criteria>
100
+ <data-grid partial='list' v-ref:grid :model="model" class="list_area table_sy">
101
+ <template partial='head'>
102
+ <tr>
103
+ <th><nobr>用户编号</nobr></th>
104
+ <th><nobr>用户信息</nobr></th>
105
+ <th><nobr>来电电话</nobr></th>
106
+ <th><nobr>来电时间</nobr></th>
107
+ <th><nobr>表信息</nobr></th>
108
+ <th><nobr>累够</nobr></th>
109
+ <th><nobr>来电方式</nobr></th>
110
+ <th><nobr>报修类型</nobr></th>
111
+ <th><nobr>话务员信息</nobr></th>
112
+ <th><nobr>维修备注</nobr></th>
113
+ <th><nobr>工单编号</nobr></th>
114
+ <th><nobr>处理方式</nobr></th>
115
+ <th><nobr>是否处理</nobr></th>
116
+ <th><nobr>派单人</nobr></th>
117
+ <th><nobr>派单时间</nobr></th>
118
+ <th><nobr>接单人信息</nobr></th>
119
+ <th><nobr>维修信息</nobr></th>
120
+ <th><nobr>完成状态</nobr></th>
121
+ <th><nobr>是否回访</nobr></th>
122
+ <th><nobr>回访人</nobr></th>
123
+ <th><nobr>用户意见</nobr>
124
+ </tr>
125
+ </template>
126
+ <template partial='body' >
127
+ <td>{{row.f_userid}}</td>
128
+ <td>{{row.f_username}} {{row.f_address}} {{row.f_phone}}</td>
129
+ <td>{{row.f_linktype}}</td>
130
+ <td>{{row.f_reporttime}}</td>
131
+ <td>{{row.f_meternumber}} {{row.f_metertype}} {{row.f_aroundmeter}}</td>
132
+ <td>{{row.f_metergasnums}}</td>
133
+ <td>{{row.f_teltype}}</td>
134
+ <td>{{row.f_repairtype}}</td>
135
+ <td>{{row.f_operator}} {{row.f_department}}</td>
136
+ <td>{{row.f_repairreason}}</td>
137
+ <td>{{row.f_cucode}}</td>
138
+ <td>{{row.f_dealtype}}</td>
139
+ <td>{{row.f_havadeal}}</td>
140
+ <td>{{row.f_sender}}</td>
141
+ <td>{{row.f_senddate}}</td>
142
+ <td>{{row.f_accepter}} {{row.f_acceptertel}}</td>
143
+ <td>{{row.f_smwxjl}}</td>
144
+ <td>{{row.f_havacomplete}}</td>
145
+ <td>{{row.f_ifvisit}}</td>
146
+ <td>{{row.f_visitren}}</td>
147
+ <td>{{row.f_consumeroption}}</td>
148
+ </template>
149
+ </data-grid>
150
+ </criteria-paged>
151
+ </div>
152
+
153
+ </template>
154
+
155
+ <script>
156
+ import {HttpResetClass, PagedList} from "vue-client";
157
+
158
+ export default {
159
+ title: "旧工单列表",
160
+ data () {
161
+ return {
162
+ criteriaShow: false,
163
+ model: new PagedList('rs/sql/tel_singleTable_OrderBy', 8, {items: '"*"', tablename: '"t_oldserviceworkorder"', orderitem: '"f_reporttime desc"'}),
164
+ row: null,
165
+ }
166
+ },
167
+ ready () {
168
+ },
169
+ methods: {
170
+ hidden () {
171
+ this.criteriaShow = !this.criteriaShow
172
+ },
173
+ search(args) {
174
+ this.model.search(args.condition, args.model)
175
+ },
176
+ clearmsg(){
177
+ this.$refs.paged.$refs.criteria.model={}
178
+ },
179
+ },
180
+ computed: {
181
+ usertypes(){
182
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
183
+ },
184
+ repairtypes(){
185
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('旧报修类型')]
186
+ }
187
+ }
188
+ }
189
+ </script>
190
+
191
+ <style lang="less">
192
+
193
+ </style>
@@ -0,0 +1,98 @@
1
+ <template>
2
+ <div id='app' class="basic-main" style="height: 100%">
3
+ <criteria-paged :model="model" :pager='false' v-ref:paged>
4
+ <criteria partial='criteria' @condition-changed='$parent.search' class="search_area" v-ref:criteria>
5
+ <div novalidate class="form-inline auto" partial>
6
+ <div class="row">
7
+ <div class="col-sm-2 form-group">
8
+ <label for="startDate" class="font_normal_body">开始日期:</label>
9
+ <datepicker id="startDate" placeholder="开始日期"
10
+ v-model="model.startDate"
11
+ :value.sync="model.startDate"
12
+ style="width: 60%;"
13
+ :disabled-days-of-Week="[]"
14
+ :format="'yyyy-MM-dd'"
15
+ :show-reset-button="reset">
16
+ </datepicker>
17
+ </div>
18
+ <div class="col-sm-2 form-group">
19
+ <label for="endDate" class="font_normal_body">结束日期:</label>
20
+ <datepicker id="endDate" placeholder="结束日期"
21
+ v-model="model.endDate"
22
+ :value.sync="model.endDate"
23
+ :disabled-days-of-Week="[]"
24
+ style="width: 60%;"
25
+ :format="'yyyy-MM-dd'"
26
+ :show-reset-button="reset">
27
+ </datepicker>
28
+ </div>
29
+ <div class="col-sm-3 form-group" style="margin-top: 8px">
30
+ <button class="button_search button_spacing" @click="search()">查询</button>
31
+ <report-print class="button_export button_spacing" style="width:28%" ></report-print>
32
+ <report-excel class="button_export button_spacing" style="width:28%" ></report-excel>
33
+ </div>
34
+ </div>
35
+ </div>
36
+ </criteria>
37
+ <div partial='list' class="list_area" style="overflow-y: scroll;position:relative">
38
+ <table class='tableprint' style="margin: 0px auto">
39
+ <thead>
40
+ <tr>
41
+ <th colspan='5' style="font-weight: normal; text-align: left;">
42
+ <h3 style="text-align: center">维修报表统计</h3>
43
+ </th>
44
+ </tr>
45
+ </thead>
46
+ <tr>
47
+ <th colspan='5' style="font-weight: normal;">
48
+ {{{ model.data.substring(26,model.data.length-8) }}}
49
+ </th>
50
+ </tr>
51
+ </table>
52
+ </div>
53
+ </criteria-paged>
54
+ </div>
55
+
56
+ </template>
57
+
58
+ <script>
59
+ import {DataModel} from 'vue-client'
60
+
61
+ export default {
62
+ title: '维修报表',
63
+ data() {
64
+ let model = new DataModel('rs/telephone/report/repairsDetailsReport')
65
+ return {
66
+ filialeNameStr: '',
67
+ filialeCodeStr: '',
68
+ userid: this.$login.f.id,
69
+ source: `tool.getFullTree(this.getRights().where(row.getType() != $zone$).where(row.getType() == $organization$))`,
70
+ model: model
71
+ }
72
+ },
73
+ methods: {
74
+ getRes(obj) {
75
+ this.model.f_filialeid = this.$login.convertToIn(obj.resids);
76
+ },
77
+ search(args){
78
+ let condition = ' and 1 = 1 '
79
+ if (args.model.startDate){
80
+ condition += ` and ts1.f_date_leave >= '${args.model.startDate} 00:00:00' `
81
+ }
82
+ if (args.model.endDate){
83
+ condition += ` and ts1.f_date_leave <= '${args.model.endDate} 23:59:59' `
84
+ }
85
+ this.model.search(condition,args.model)
86
+ }
87
+ },
88
+ ready() {
89
+ },
90
+ computed: {
91
+ }
92
+ }
93
+ </script>
94
+ <style>
95
+ th>tr>td {
96
+ width: 200px;
97
+ }
98
+ </style>
@@ -0,0 +1,96 @@
1
+ <template>
2
+ <div id='app' class="basic-main" style="height: 100%">
3
+ <criteria-paged :model="model" :pager='false' v-ref:paged>
4
+ <criteria partial='criteria' @condition-changed='$parent.search' class="search_area" v-ref:criteria>
5
+ <div novalidate class="form-inline auto" partial>
6
+ <div class="row">
7
+ <div class="col-sm-2 form-group">
8
+ <label for="startDate" class="font_normal_body">开始日期:</label>
9
+ <datepicker id="startDate" placeholder="开始日期"
10
+ v-model="model.startDate"
11
+ :value.sync="model.startDate"
12
+ style="width: 60%;"
13
+ :disabled-days-of-Week="[]"
14
+ :format="'yyyy-MM-dd'"
15
+ :show-reset-button="reset">
16
+ </datepicker>
17
+ </div>
18
+ <div class="col-sm-2 form-group">
19
+ <label for="endDate" class="font_normal_body">结束日期:</label>
20
+ <datepicker id="endDate" placeholder="结束日期"
21
+ v-model="model.endDate"
22
+ :value.sync="model.endDate"
23
+ :disabled-days-of-Week="[]"
24
+ style="width: 60%;"
25
+ :format="'yyyy-MM-dd'"
26
+ :show-reset-button="reset">
27
+ </datepicker>
28
+ </div>
29
+ <div class="col-sm-3 form-group" style="margin-top: 8px">
30
+ <button class="button_search button_spacing" @click="search()">查询</button>
31
+ <report-print class="button_export button_spacing" style="width:28%" ></report-print>
32
+ <report-excel class="button_export button_spacing" style="width:28%" ></report-excel>
33
+ </div>
34
+ </div>
35
+ </div>
36
+ </criteria>
37
+ <div partial='list' class="list_area" style="overflow-y: scroll">
38
+ <table class='tableprint' style="margin: 0px auto">
39
+ <thead>
40
+ <tr>
41
+ <th colspan='5' style="font-weight: normal; text-align: left;">
42
+ <h3 style="text-align: center">表具故障统计</h3>
43
+ </th>
44
+ </tr>
45
+ </thead>
46
+ <tr>
47
+ <th colspan='5' style="font-weight: normal;">
48
+ {{{ model.data.substring(26,model.data.length-8) }}}
49
+ </th>
50
+ </tr>
51
+ </table>
52
+ </div>
53
+ </criteria-paged>
54
+ </div>
55
+
56
+ </template>
57
+
58
+ <script>
59
+ import {DataModel} from 'vue-client'
60
+
61
+ export default {
62
+ title: '表具故障统计',
63
+ data() {
64
+ let model = new DataModel('rs/telephone/report/tableFaultReport')
65
+ return {
66
+ filialeNameStr: '',
67
+ filialeCodeStr: '',
68
+ userid: this.$login.f.id,
69
+ source: `tool.getFullTree(this.getRights().where(row.getType() != $zone$).where(row.getType() == $organization$))`,
70
+ model: model
71
+ }
72
+ },
73
+ methods: {
74
+ getRes(obj) {
75
+ this.model.f_filialeid = this.$login.convertToIn(obj.resids);
76
+ },
77
+ search(args){
78
+ let condition = ' 1 = 1 '
79
+ if (args.model.startDate){
80
+ condition += ` and tf.f_failure_date >= '${args.model.startDate} 00:00:00' `
81
+ }
82
+ if (args.model.endDate){
83
+ condition += ` and tf.f_failure_date <= '${args.model.endDate} 23:59:59' `
84
+ }
85
+ this.model.search(condition,args.model)
86
+ }
87
+ },
88
+ ready() {
89
+ },
90
+ computed: {
91
+ selected() {
92
+ return this.$refs.grid.selected
93
+ },
94
+ }
95
+ }
96
+ </script>
@@ -24,14 +24,14 @@
24
24
  <!-- <input type="text" class="form-control" v-model="model.f_single_man"-->
25
25
  <!-- placeholder='操作员'>-->
26
26
  <button class="btn btn-default" @click="search()">查询</button>
27
- <export-excel class="button_search button_spacing"
27
+ <export-excel-tel class="button_search button_spacing"
28
28
  :data="{startDate: this.model.startDate,endDate: this.model.endDate}"
29
29
  :field="{'cetime':'时段','hwzl':'话务总量','weijie':'未接数',
30
30
  'yijie':'已接数','jtl':'接听率(%)',
31
31
  'zthsc':'总通话时长(分)'}"
32
32
  style="margin-top: 20px"
33
- sqlurl="rs/logic/exportfile" sql-name="getTraffic" template-name='话务量报表导出'
34
- :choose-col="true"></export-excel>
33
+ sqlurl="rs/logic/telephoneExport" sql-name="getTraffic" template-name='话务量报表导出'
34
+ :choose-col="true"></export-excel-tel>
35
35
  </div>
36
36
  </div>
37
37
  </criteria>
@@ -0,0 +1,134 @@
1
+ <template>
2
+ <div id='app' class="basic-main" style="height: 100%">
3
+ <criteria-paged :model="model" :pager='false' v-ref:paged>
4
+ <criteria partial='criteria' @condition-changed='$parent.search' class="search_area" v-ref:criteria>
5
+ <div novalidate class="form-inline auto" partial>
6
+ <div class="row">
7
+ <div class="col-sm-2 form-group">
8
+ <label for="startDate" class="font_normal_body">开始日期:</label>
9
+ <datepicker id="startDate" placeholder="开始日期"
10
+ v-model="model.startDate"
11
+ :value.sync="model.startDate"
12
+ style="width: 60%;"
13
+ :disabled-days-of-Week="[]"
14
+ :format="'yyyy-MM-dd 00:00:00'"
15
+ :show-reset-button="reset">
16
+ </datepicker>
17
+ </div>
18
+ <div class="col-sm-2 form-group">
19
+ <label for="endDate" class="font_normal_body">结束日期:</label>
20
+ <datepicker id="endDate" placeholder="结束日期"
21
+ v-model="model.endDate"
22
+ :value.sync="model.endDate"
23
+ :disabled-days-of-Week="[]"
24
+ style="width: 60%;"
25
+ :format="'yyyy-MM-dd 23:59:59'"
26
+ :show-reset-button="reset">
27
+ </datepicker>
28
+ </div>
29
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%">
30
+ <label class="font_normal_body" style="width: 40%">话&ensp;务&ensp;员</label>
31
+ <v-select :value.sync="model.attendants"
32
+ :options='$parent.$parent.operators'
33
+ placeholder='请选择话务员'
34
+ style="width: 60%"
35
+ ></v-select>
36
+ </div>
37
+ <div class="col-sm-3 form-group" style="margin-top: 8px">
38
+ <button class="button_search button_spacing" @click="search()">查询</button>
39
+ <report-print class="button_export button_spacing" style="width:28%" ></report-print>
40
+ <report-excel class="button_export button_spacing" style="width:28%" ></report-excel>
41
+ </div>
42
+ </div>
43
+ </div>
44
+ </criteria>
45
+ <div partial='list' class="list_area" style="overflow-y: scroll;position:relative">
46
+ <table class='tableprint' style="margin: 0px auto">
47
+ <thead>
48
+ <tr>
49
+ <th colspan='5' style="font-weight: normal; text-align: left;">
50
+ <h3 style="text-align: center">话务报表统计</h3>
51
+ </th>
52
+ </tr>
53
+ </thead>
54
+ <tr>
55
+ <th colspan='5' style="font-weight: normal;">
56
+ {{{ model.data.substring(26,model.data.length-8) }}}
57
+ </th>
58
+ </tr>
59
+ </table>
60
+ </div>
61
+ </criteria-paged>
62
+ </div>
63
+
64
+ </template>
65
+
66
+ <script>
67
+ import {DataModel, HttpResetClass} from 'vue-client'
68
+ import * as Util from "../Util";
69
+
70
+ export default {
71
+ title: '话务报表',
72
+ data() {
73
+ let model = new DataModel('rs/telephone/report/trafficClassification',{
74
+ startDate:'this.model.startDate',
75
+ endDate:'this.model.endDate',
76
+ attendant:'this.model.attendant'
77
+ })
78
+ return {
79
+ operators:[],
80
+ filialeNameStr: '',
81
+ filialeCodeStr: '',
82
+ userid: this.$login.f.id,
83
+ source: `tool.getFullTree(this.getRights().where(row.getType() != $zone$).where(row.getType() == $organization$))`,
84
+ model: model
85
+ }
86
+ },
87
+ methods: {
88
+ getOperators (role) {
89
+ this.operators = []
90
+ let val = {source: `this.getParentByType($organization$).getChildByName($${role}$).getUsers()`, userid: `${this.$login.f.id}`}
91
+ let http = new HttpResetClass()
92
+ http.load('POST', '/rs/search', {data: val}, {resolveMsg: null, rejectMsg: null}).then((res) => {
93
+ res.data.forEach((item) => {
94
+ this.operators.push({label: item.name, value: item.name})
95
+ })
96
+ })
97
+ },
98
+ getRes(obj) {
99
+ this.model.f_filialeid = this.$login.convertToIn(obj.resids);
100
+ },
101
+ search(args){
102
+ debugger
103
+ if (args.model.attendants && args.model.attendants.length>0){
104
+ // let attStr = "("
105
+ // for (let attendantKey in args.model.attendants) {
106
+ // attStr +=`'${args.model.attendants[attendantKey]}',`
107
+ // }
108
+ // attStr+="'')"
109
+ // args.model.attendant = attStr
110
+ args.model.attendant = args.model.attendants[0]
111
+ }else {
112
+ args.model.attendant = ""
113
+ }
114
+ this.model.search('1=1',args.model)
115
+ }
116
+ },
117
+ ready() {
118
+ let date = new Date()
119
+ let month = date.getMonth()
120
+ let realMonth = date.getMonth()+1
121
+ let day = date.getDate()
122
+ this.$refs.paged.$refs.criteria.model.startDate = date.getFullYear() + '-' + (month<10? '0'+ month : month) + '-' + (day<10? '0'+ day : day) + ' 00:00:00'
123
+ this.$refs.paged.$refs.criteria.model.endDate = date.getFullYear() + '-' + (realMonth<10? '0'+ realMonth : realMonth) + '-' + (day<10? '0'+ day : day) + ' 23:59:59'
124
+ this.getOperators('话务员')
125
+ },
126
+ computed: {
127
+ }
128
+ }
129
+ </script>
130
+ <style>
131
+ th>tr>td {
132
+ width: 200px;
133
+ }
134
+ </style>