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
@@ -1,740 +1,782 @@
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="form-horizontal select-overspread container-fluid auto" 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="input_search" v-model="model.f_service_id" placeholder='工单编号'
10
- condition="tswo.f_service_id like '%{}%'"
11
- :size="model.f_service_id ? model.f_service_id.length : 6"
12
- >
13
- </div>
14
- <div class="col-sm-3 form-group form-input-group" style="width: 20%">
15
- <label class="font_normal_body" style="width: 40%">用户编号</label>
16
- <input type="text" class="input_search" v-model="model.f_userinfo_code" placeholder='用户编号'
17
- condition="tswo.f_userinfo_code like '%{}%'"
18
- :size="model.f_userinfo_code ? model.f_userinfo_code.length : 6"
19
- >
20
- </div>
21
- <div class="col-sm-3 form-group form-input-group" style="width: 20%">
22
- <label class="font_normal_body" style="width: 40%">用户姓名</label>
23
- <input type="text" class="input_search" v-model="model.f_user_name" placeholder='用户姓名'
24
- condition="tswo.f_user_name like '%{}%'"
25
- :size="model.f_user_name ? model.f_user_name.length : 6"
26
- >
27
- </div>
28
- <div class="form-group col-sm-6 button-range" style="margin-right: 10px">
29
-
30
- <button class="button_search button_spacing" @click="search(),$dispatch('search')"
31
- style="margin-right: 9px">查询
32
- </button>
33
- <!-- <button class="button_search button_spacing" @click="$parent.$parent.repairSendAll()"
34
- style="margin-right: 9px">批量下发
35
- </button>-->
36
-
37
- <export-excel-tel
38
- :data="$parent.$parent.searchData"
39
- :field="$parent.$parent.excelHeaders"
40
- sqlurl="rs/logic/telephoneExport" sql-name="operatorService" template-name='工单导出'
41
- :choose-col="true"></export-excel-tel>
42
- <div style="float: right;" class="button_spacing"
43
- :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
44
- @click="$parent.$parent.hidden()"></div>
45
-
46
- </div>
47
- </div>
48
- <div class="row" v-show="$parent.$parent.criteriaShow">
49
- <div class="col-sm-3 form-group form-input-group" style="width: 20%">
50
- <label class="font_normal_body" style="width: 40%">来电电话</label>
51
- <input type="text" class="input_search" v-model="model.f_phone" placeholder='来电电话'
52
- condition="tswo.f_phone like '%{}%'"
53
- :size="model.f_phone ? model.f_phone.length : 6"
54
- >
55
- </div>
56
- <div class="col-sm-3 form-group form-input-group" style="width: 20%">
57
- <label class="font_normal_body" style="width: 40%">联系电话</label>
58
- <input type="text" class="input_search" v-model="model.f_contact_phone" placeholder='联系电话'
59
- condition="tswo.f_contact_phone = '{}'"
60
- :size="model.f_contact_phone ? model.f_contact_phone.length : 6"
61
- >
62
- </div>
63
- <div class="col-sm-3 form-group form-input-group" style="width: 20%">
64
- <label class="font_normal_body" style="width: 40%">地&emsp;&emsp;址</label>
65
- <input type="text" class="input_search" v-model="model.f_address" placeholder='地址'
66
- condition="tswo.f_address like '%{}%'"
67
- :size="model.f_address ? model.f_address.length : 6"
68
- >
69
- </div>
70
- <div class="col-sm-3 form-group form-input-group" style="width: 20%">
71
- <label class="font_normal_body" style="width: 40%">受&ensp;理&ensp;人</label>
72
- <input type="text" class="input_search" v-model="model.f_attendant" placeholder='受理人'
73
- condition="f_attendant like '%{}%'"
74
- :size="model.f_attendant ? model.f_attendant.length : 6"
75
- >
76
- </div>
77
- <div class="col-sm-3 form-group form-input-group" style="width: 20%">
78
- <label class="font_normal_body" style="width: 40%">接&ensp;单&ensp;人</label>
79
- <input type="text" class="input_search" v-model="model.f_order_man" placeholder='接单人'
80
- condition="tswo.f_order_man like '%{}%'"
81
- :size="model.f_order_man ? model.f_order_man.length : 6"
82
- >
83
- </div>
84
- </div>
85
- <div class="row" v-show="$parent.$parent.criteriaShow">
86
- <div class="col-sm-3 form-group form-input-group" style="width: 20%">
87
- <label class=" font_normal_body" for="f_workorder_type" style="width: 40%">工单类型</label>
88
- <v-select id="f_workorder_type" :value.sync="model.f_workorder_type" :value-single="true"
89
- v-model="model.f_workorder_type"
90
- :options='$parent.$parent.serviceorders' placeholder='工单类型'
91
- condition="tswo.f_workorder_type like '%{}%'"
92
- close-on-select>
93
- </v-select>
94
- </div>
95
-
96
- <div class="col-sm-2 form-group form-input-group" style="float:right;width: 15%;margin-left: 20px">
97
- <input type="radio" id="one" value="wait" style="float: left" v-model="$parent.$parent.picked">
98
- <label for="one" style="margin-top: 10px;float: left">待办</label>
99
- <input type="radio" id="two" value="done" style="float: left" v-model="$parent.$parent.picked">
100
- <label for="two" style="margin-top: 10px;float: left">已办</label>
101
- </div>
102
-
103
- </div>
104
-
105
-
106
- </div>
107
- </criteria>
108
- <data-grid partial='list' v-ref:grid :model="model" class="list_area table_sy" :classname="'table tablenew table-bordered table-striped table-hover'">
109
- <template partial='head'>
110
- <tr>
111
- <th>
112
- 工单类型
113
- </th>
114
- <th>
115
- 工单编号
116
- </th>
117
- <th>
118
- 派单时间
119
- </th>
120
- <th>
121
- 用户信息
122
- </th>
123
- <th>
124
- 工单状态
125
- </th>
126
- <th>
127
- 操作
128
- </th>
129
- </tr>
130
- </template>
131
- <template partial='body'>
132
- <td
133
- :style="{'background-color':Math.floor((new Date().getTime() - new Date(row.f_created_date).getTime())/1000/60/60)>3&&row.defname=='站点接单'?'#f1eecb':'','text-align':'center'}">
134
- {{ row.f_workorder_type }}<span style="color: red" v-if="row.f_remindersign==='true'">(催单)</span>
135
- <span style="color: red" v-if="row.f_state==='打回'">(打回)</span>
136
- </td>
137
- <td
138
- :style="{'background-color':Math.floor((new Date().getTime() - new Date(row.f_created_date).getTime())/1000/60/60)>3&&row.defname=='站点接单'?'#f1eecb':'','text-align':'center'}">
139
- {{ row.f_service_id }}
140
- </td>
141
- <td
142
- :style="{'background-color':Math.floor((new Date().getTime() - new Date(row.f_created_date).getTime())/1000/60/60)>3&&row.defname=='站点接单'?'#f1eecb':'','text-align':'center'}">
143
- {{ row.f_created_date }}
144
- </td>
145
- <td
146
- :style="{'background-color':Math.floor((new Date().getTime() - new Date(row.f_created_date).getTime())/1000/60/60)>3&&row.defname=='站点接单'?'#f1eecb':'','text-align':'center'}">
147
- {{ row.f_user_name }}&nbsp;&nbsp;&nbsp;{{ row.f_address }}&nbsp;&nbsp;&nbsp;{{ row.f_contact_name }}
148
- </td>
149
- <td
150
- :style="{'background-color':Math.floor((new Date().getTime() - new Date(row.f_created_date).getTime())/1000/60/60)>3&&row.defname=='站点接单'?'#f1eecb':'','text-align':'center'}">
151
- {{ row.defname }}
152
- </td>
153
- <td
154
- :style="{'background-color':Math.floor((new Date().getTime() - new Date(row.f_created_date).getTime())/1000/60/60)>3&&row.defname=='站点接单'?'#f1eecb':'','text-align':'center'}"
155
- style="text-align: center;">
156
- <div
157
- v-show="row.defname === '站点接单' && $parent.$parent.$parent.picked === 'wait' && row.f_workorder_type != '投诉单'&&row.f_workorder_type != '咨询单'">
158
- <button type="button" name="button" class="button_spacing button_search-2"
159
- @click.stop="$parent.$parent.$parent.proc(row, '结案')">结案
160
- </button>
161
- <!-- <button type="button" name="button" class="button_spacing button_search-2"
162
- @click.stop="$parent.$parent.$parent.proc(row, '工单退回')">退回
163
- </button>
164
- <button type="button" name="button" class="button_spacing button_search-2"
165
- @click.stop="$parent.$parent.$parent.proc(row, '工单下发')">下发
166
- </button>
167
- <div v-if="row.f_single_path">
168
- <button type="button" name="button" class="button_spacing button_search-2"
169
- @click.stop="$parent.$parent.$parent.showpicture(row)">抢修图片
170
- </button>
171
- </div>-->
172
- </div>
173
- <div
174
- v-show="row.defname === '站点接单' && $parent.$parent.$parent.picked === 'wait' && row.f_workorder_type == '投诉单'">
175
- <button type="button" name="button" class="button_spacing button_search-2"
176
- @click.stop="$parent.$parent.$parent.complanReview(row, '投诉处理')">
177
- 投诉处理
178
- </button>
179
- </div>
180
-
181
- <div
182
- v-show="row.defname === '站点接单' && $parent.$parent.$parent.picked === 'wait' && row.f_workorder_type == '咨询单'">
183
- <button type="button" name="button" class="button_spacing button_search-2"
184
- @click.stop="$parent.$parent.$parent.seekworkReview(row, '咨询处理')">
185
- 咨询处理
186
- </button>
187
- </div>
188
- </td>
189
- </template>
190
- </data-grid>
191
- </criteria-paged>
192
- </div>
193
- <modal :show.sync="editflag==='工单退回'||editflag==='工单下发'" v-ref:modalservice backdrop="false">
194
- <header slot="modal-header" class="modal-header">
195
- {{editflag}}
196
- </header>
197
- <article slot="modal-body" class="modal-body">
198
- <div v-if="editflag==='工单退回'" class="form-inline">
199
- <site-back :row="selectone" @success="selfSearch()" @cancel='editflag = null'></site-back>
200
- </div>
201
- <div v-if="editflag==='工单下发'">
202
- <site-send :row="selectone" :rowlist="serlist" @success="selfSearch()" @cancel="editflag = null"></site-send>
203
- </div>
204
- </article>
205
- <footer slot="modal-footer" class="modal-footer" v-show="false">
206
- <button type="button" class="btn btn-success" @click='imgclose'>关闭</button>
207
- </footer>
208
- </modal>
209
- <modal :show.sync="editflag==='结案'" v-ref:modalCase backdrop="false">
210
- <header slot="modal-header" class="modal-header">
211
- 工单结案
212
- </header>
213
- <article slot="modal-body" class="modal-body">
214
- <div class="col-sm-12 form-group">
215
- <label class="control-label col-sm-2">结案备注</label>
216
- <div class="col-sm-9">
217
- <input class="form-control" type="text" v-model="f_caseremarks"/>
218
- </div>
219
- </div>
220
- </article>
221
- <footer slot="modal-footer" class="modal-footer">
222
- <button type="button" class="btn btn-success" @click='caseok'>确定</button>
223
- <button type="button" class="btn btn-success" @click='caseclose'>关闭</button>
224
- </footer>
225
- </modal>
226
- <modal :show.sync="imgshow" v-ref:modal backdrop="true">
227
- <header slot="modal-header" class="modal-header">
228
- 在线抢修照片
229
- </header>
230
- <article slot="modal-body" class="modal-body">
231
- <div class="from-group">
232
- <img-self :src="imgfilename" width="500" height="500"></img-self>
233
- </div>
234
- </article>
235
- <footer slot="modal-footer" class="modal-footer">
236
- <button type="button" class="btn btn-success" @click='imgclose'>关闭</button>
237
- </footer>
238
- </modal>
239
- <!-- 投诉单处理弹窗 -->
240
- <modal :show.sync="isComplanReview" v-ref:complanModal backdrop="false">
241
- <header slot="modal-header" class="modal-header">
242
- 投诉审核
243
- </header>
244
- <article slot="modal-body" class="modal-body">
245
- <div class="select-overspread form-horizontal auto workOrderInfo">
246
- <div class="row">
247
- <div class="col-sm-12 form-group form-input-group" >
248
- <label class="font_normal_body" style="width: 10%">工单编号</label>
249
- <h5 style="padding: 0px">{{ showModalComplan.f_service_id }}</h5>
250
- </div>
251
- <div class="col-sm-12 form-input-group" >
252
- <label class="font_normal_body" style="width: 10%">投诉内容</label>
253
- <textarea name="name" rows="3" v-model="showModalComplan.f_content"
254
- class="form-control ver-textarea" id="f_content" name="f_content" readonly="readonly"></textarea>
255
- </div>
256
- <div class="col-sm-4 form-group form-input-group" >
257
- <label class="font_normal_body" style="width: 30%">来电电话</label>
258
- <input type="text" name="" v-model='showModalComplan.f_phone'
259
- class="form-control" readonly="readonly">
260
- </div>
261
- <div class="col-sm-4 form-group form-input-group" >
262
- <label class="font_normal_body" style="width: 30%">联系人</label>
263
- <input type="text" name="" v-model='showModalComplan.f_user_name'
264
- class="form-control" readonly="readonly">
265
- </div>
266
- <div class="col-sm-4 form-group form-input-group" >
267
- <label class="font_normal_body" style="width: 30%">联系电话</label>
268
- <input type="text" name="" v-model='showModalComplan.f_contact_phone'
269
- class="form-control" readonly="readonly">
270
- </div>
271
-
272
- <div class="col-sm-12 form-input-group" >
273
- <label class="font_normal_body" style="width: 10%">备注</label>
274
- <textarea name="name" rows="3" v-model="showModalComplan.f_remarks"
275
- class="form-control ver-textarea" readonly="readonly"></textarea>
276
- </div>
277
- <div class="col-sm-12 form-input-group">
278
- <label class="font_normal_body" style="width: 10%">处理结果</label>
279
- <textarea name="name" rows="4" v-model="f_complaint_results"
280
- class="form-control ver-textarea" ></textarea>
281
- </div>
282
- </div>
283
- </div>
284
- </article>
285
- <footer slot="modal-footer" class="modal-footer">
286
- <button type="button" name="button"
287
- class="button_search button_spacing" @click='inputCompainInfo()'>提交</button>
288
- <button type="button" name="button" style="background-color: #5ac0d9;border-radius: 4px;"
289
- class="button_spacing button_search" @click='isComplanReview=false;showModalComplan = {}'>取消</button>
290
- </footer>
291
- </modal>
292
- <!-- 咨询处理弹窗 -->
293
- <modal :show.sync="isSeekWork" v-ref:seekWorkModel backdrop="false">
294
- <header slot="modal-header" class="modal-header">
295
- 咨询审核
296
- </header>
297
- <article slot="modal-body" class="modal-body">
298
- <div class="select-overspread form-horizontal auto workOrderInfo">
299
- <div class="row">
300
- <div class="col-sm-12 form-group form-input-group" >
301
- <label class="font_normal_body" style="width: 10%">工单编号</label>
302
- <h5 style="padding: 0px">{{ showModalSeekWork.f_service_id }}</h5>
303
- </div>
304
- <div class="col-sm-12 form-input-group" >
305
- <label class="font_normal_body" style="width: 10%">咨询内容</label>
306
- <textarea name="name" rows="3" v-model="showModalSeekWork.f_content"
307
- class="form-control ver-textarea" id="f_content1" name="f_content" readonly="readonly"></textarea>
308
- </div>
309
- <div class="col-sm-4 form-group form-input-group" >
310
- <label class="font_normal_body" style="width: 30%">来电电话</label>
311
- <input type="text" name="" v-model='showModalSeekWork.f_phone'
312
- class="form-control" readonly="readonly">
313
- </div>
314
- <div class="col-sm-4 form-group form-input-group" >
315
- <label class="font_normal_body" style="width: 30%">联系人</label>
316
- <input type="text" name="" v-model='showModalSeekWork.f_user_name'
317
- class="form-control" readonly="readonly">
318
- </div>
319
- <div class="col-sm-4 form-group form-input-group" >
320
- <label class="font_normal_body" style="width: 30%">联系电话</label>
321
- <input type="text" name="" v-model='showModalSeekWork.f_contact_phone'
322
- class="form-control" readonly="readonly">
323
- </div>
324
-
325
- <div class="col-sm-12 form-input-group" >
326
- <label class="font_normal_body" style="width: 10%">备注</label>
327
- <textarea name="name" rows="3" v-model="showModalSeekWork.f_remarks"
328
- class="form-control ver-textarea" readonly="readonly"></textarea>
329
- </div>
330
- <div class="col-sm-12 form-input-group">
331
- <label class="font_normal_body" style="width: 10%">处理结果</label>
332
- <textarea name="name" rows="4" v-model="f_complaint_seekwork_results"
333
- class="form-control ver-textarea" ></textarea>
334
- </div>
335
- </div>
336
- </div>
337
- </article>
338
- <footer slot="modal-footer" class="modal-footer">
339
-
340
- <button type="button" name="button"
341
- class="button_search button_spacing" @click='inputSeekWorkInfo()'>提交</button>
342
- <button type="button" name="button" style="background-color: #5ac0d9;border-radius: 4px;"
343
- class="button_spacing button_search" @click='isSeekWork=false;showModalSeekWork = {}'>取消</button>
344
- </footer>
345
- </modal>
346
- </template>
347
-
348
- <script>
349
- import {PagedList, HttpResetClass} from 'vue-client'
350
- import DelayReply from '../../../components/pc/DelayReply'
351
- import * as Util from '../../../components/Util'
352
-
353
- export default {
354
- title: '工单列表',
355
- data () {
356
- return {
357
- // 结案备注
358
- f_caseremarks:'',
359
- criteriaShow: false,
360
- f_complaint_results: '',
361
- serlist: [],
362
- checkes:[],
363
- beizhu:false,
364
- remakes:null,
365
- editflag: null,
366
- selectone: '',
367
- model: new PagedList('rs/sql/operatorService', 20),
368
- row: null,
369
- orderMan: '',
370
- checkAll:false,
371
- msgs: [],
372
- // repairstypes : [{label: '全部', value: ''}, ...this.$appdata.getParam('报修全部类型')],
373
- service: Object,
374
- pendingCount: 0,
375
- imgfilename: '',
376
- select: {
377
- defname: ''
378
- },
379
- rowlist:[],
380
- // 待办/已办选择
381
- picked: 'wait',
382
- imgshow: false,
383
- isComplanReview: false,
384
- // defname:this.$appdata.getParam('工单状态'),
385
- searchData: {
386
- condition: {
387
- condition: '1=1',
388
- sign: '1=1'
389
- },
390
- userid: this.$login.f.name
391
- },
392
- excelHeaders: {
393
- 'f_workorder_type': '工单类型',
394
- 'f_service_id': '工单编号',
395
- 'f_created_date': '派单时间',
396
- 'f_user_name': '用户姓名',
397
- 'f_address': '用户地址',
398
- 'f_contact_name': '联系人'
399
- },
400
- //投诉单在modal框显示的信息
401
- showModalComplan: {
402
- serviceacitivity: [{f_complaint_results: ''}]
403
- },
404
- isSeekWork: false,
405
- /*咨询单信息*/
406
- showModalSeekWork: {
407
- serviceacitivity: [{f_complaint_results: ''}]
408
- },
409
- /*咨询单结果*/
410
- f_complaint_seekwork_results: ''
411
- }
412
-
413
- },
414
- props: {
415
- user: {
416
- type: Object
417
- },
418
- maintenance: [],
419
- // serviceId : [String, Number]
420
- serviceId: '',
421
- // 工单状态 工单位置
422
- defname: {
423
- type: String
424
- }
425
- },
426
- ready () {
427
- // this.getEmp()
428
- let messageTime = 60
429
- const time = this.$appdata.getSingleValue("站点提醒时间")
430
- if(time && time >60){
431
- messageTime = time
432
- }
433
- setInterval(()=>{
434
- const data = {
435
- condition:{
436
- condition:'1=1',
437
- sign:'1=1'
438
- },
439
- userid:this.$login.f.name
440
- }
441
- new HttpResetClass().load('post','rs/sql/operatorService',{data:data},{resolveMsg:null,rejectMsg:null}).then(res=>{
442
- if(res.data && res.data.length>0){
443
- this.$showMessage("您有"+res.data.length+"条工单待处理,请及时处理")
444
- }
445
- })
446
- },messageTime*1000)
447
- this.selfSearch().then(() => {
448
- this.$emit('ready')
449
- }).catch((error) => {
450
- this.$emit('error', error)
451
- })
452
- // 开启轮询查询是否由自己的工单
453
- // this.pollQuery()
454
- },
455
- watch: {
456
- 'serviceId' () {
457
- this.selfSearch()
458
- },
459
- // 待办/已办选择变化后,根据选择内容,重新设置path查询路径,进行查询
460
- 'picked' () {
461
- this.serlist = []
462
- if (this.picked) {
463
- if (this.picked === 'wait') {
464
- this.model.url = 'rs/sql/operatorService'
465
- } else if (this.picked === 'done') {
466
- this.model.url = 'rs/sql/doneService'
467
- }
468
- this.model.rows = []
469
- this.selfSearch()
470
- }
471
- }
472
- },
473
- methods: {
474
- // 结案确认
475
- caseok(){
476
- // 工单结案操作
477
- let data = {model: this.selectone, loginUser: {name: this.$login.f.name, ename: this.$login.f.ename},f_caseremarks:this.f_caseremarks}
478
- this.$resetpost(`rs/logic/serviceCase`, data).then(() => {
479
- this.f_caseremarks = ''
480
- // 刷新界面
481
- this.selfSearch()
482
- })
483
- },
484
- // 结案返回
485
- caseclose(){
486
- this.f_caseremarks = ''
487
- this.editflag = null
488
- },
489
- repairSendAll () {
490
- //tag
491
- if (!this.$refs.paged.$refs.criteria.model.f_workorder_type){
492
- this.$showMessage('必须选择工单类型后查询')
493
- return
494
- }
495
- this.selectone={
496
- f_workorder_type:this.$refs.paged.$refs.criteria.model.f_workorder_type
497
- }
498
-
499
- if (this.checkAll){
500
- //如果全选,根据条件去查询数据
501
- let data={
502
- condition:this.model.params.condition,
503
- userid:this.$login.f.name
504
- }
505
- new HttpResetClass().load('post','rs/sql/operatorService',{data:data},{resolveMsg:null,rejectMsg:null}).then(res=>{
506
- const results=res.data
507
- this.rowlist=results.filter(result=>{
508
- //tag)
509
- console.log("999",result,JSON.stringify(result).indexOf('站点接单')!=-1)
510
- return JSON.stringify(result).indexOf('站点接单')!=-1
511
- })
512
- console.log(this.rowlist)
513
- //tag
514
- this.serlist=JSON.parse(JSON.stringify(this.rowlist))
515
- this.editflag ='工单下发'
516
- })
517
-
518
- }else{
519
- if (this.rowlist.length===0){
520
- this.$showMessage('请选择工单')
521
- return
522
- }
523
- //不全选,去取数据
524
- this.serlist=JSON.parse(JSON.stringify(this.rowlist))
525
- console.log("752752",this.rowlist)
526
- this.editflag ='工单下发'
527
- }
528
- },
529
- isChecked(v) {
530
- // 如果全选,不在的按选中算,否则,在的按选中算
531
- if (this.checkAll) {
532
- return this.checkes.indexOf(v) == -1
533
- } else {
534
- return this.checkes.indexOf(v) != -1
535
- }
536
- },
537
-
538
- setCheckes(row) {
539
- if (!this.checkAll){
540
- let index=this.checkes.indexOf(row.id)
541
- if(index<0){
542
- this.checkes.push(row.id)
543
- this.rowlist.push(row)
544
- }else{
545
- this.checkes.splice(index,1)
546
- this.rowlist.splice(this.rowlist.findIndex(res => {
547
- return res.id === row.id
548
- }) , 1)
549
- }
550
- }
551
- },
552
- hidden () {
553
- this.criteriaShow = !this.criteriaShow
554
- },
555
- // 提交投诉单内容
556
- inputCompainInfo () {
557
- if (this.f_complaint_results != '') {
558
- this.showModalComplan.serviceacitivity[0].f_complaint_results = this.f_complaint_results
559
- this.$resetpost('rs/logic/saveComplaintResult', {
560
- showModalComplan: this.showModalComplan,
561
- loginUser: {name: this.$login.f.name, ename: this.$login.f.ename, loginid: this.$login.f.id}
562
- }).then((res) => {
563
- this.isComplanReview = false
564
- this.showModalComplan = {}
565
- this.$refs.paged.$refs.criteria.search()
566
- })
567
- } else {
568
- //tag
569
- return this.$showAlert('请填写投诉单结果!', 'warning', 2000)
570
- }
571
-
572
- },
573
- //提交咨询单内容
574
- inputSeekWorkInfo () {
575
- if (this.f_complaint_seekwork_results != '') {
576
- this.showModalSeekWork.serviceacitivity[0].f_complaint_results = this.f_complaint_seekwork_results
577
- this.$resetpost('rs/logic/saveConsultResult', {
578
- model: this.showModalSeekWork,
579
- loginUser: {name: this.$login.f.name, ename: this.$login.f.ename, loginid: this.$login.f.id}
580
- }).then((res) => {
581
- this.isSeekWork = false
582
- this.showModalSeekWork = {}
583
- this.f_complaint_seekwork_results = ''
584
- this.$refs.paged.$refs.criteria.search()
585
- })
586
- } else {
587
- //tag
588
- return this.$showAlert('请填写咨询单结果!', 'warning', 2000)
589
- }
590
- },
591
- beizhuclose(){
592
- this.beizhu =false
593
- },
594
- beiopen(row){
595
- this.beizhu =true
596
-
597
- console.log('打印row',row)
598
- this.remakes=row
599
- },
600
- beizhuok(){
601
- this.remakes.f_chehui_remark=this.model.f_remarks
602
- console.log('打印撤回备注', this.remakes)
603
- this.post(this.remakes, 'TelWorkeCancle')
604
- this.beizhuclose()
605
- this.model.f_remarks = null
606
- },
607
- imgclose () {
608
- this.imgshow = false
609
- },
610
- //检查是否为同一类型
611
- addInList (val) {
612
- if (!this.checkInList(val)) {
613
- this.serlist.push(val)
614
- //tag
615
- } else {
616
- var copyserlist = []
617
- for (var index in this.serlist) {
618
- if (this.serlist[index].f_service_id != val.f_service_id) {
619
- copyserlist.push(this.serlist[index])
620
- }
621
- }
622
- this.serlist = copyserlist
623
- //tag
624
- }
625
- },
626
- checkInList (val) {
627
- var checkstr = false
628
- this.serlist.forEach((item) => {
629
- if (item.f_service_id == val.f_service_id) {
630
- checkstr = true
631
- }
632
- })
633
- return checkstr
634
- },
635
- isInList (val) {
636
- var checkstr = false
637
- this.serlist.forEach((item) => {
638
- if (item.f_service_id == val.f_service_id) {
639
- checkstr = true
640
- }
641
- })
642
- return checkstr
643
- },
644
- proc (selectone, type) {
645
- this.editflag = type
646
- this.selectone = selectone
647
- },
648
- complanReview (itemVal, type) {
649
- //tag
650
- this.showModalComplan = itemVal
651
- this.showModalComplan.serviceacitivity = [
652
- {f_service_acitivity_type: '投诉单', f_result_status: '已完成'}]
653
- this.showModalComplan.id_back = this.showModalComplan.id
654
- this.isComplanReview = true
655
- },
656
- seekworkReview (itemVal, type) {
657
- //tag
658
- this.showModalSeekWork = itemVal
659
- this.showModalSeekWork.serviceacitivity = [
660
- {f_service_acitivity_type: '投诉单', f_result_status: '已完成'}]
661
- this.showModalSeekWork.id_back = this.showModalSeekWork.id
662
- this.isSeekWork = true
663
- },
664
- showpicture (val) {
665
- //tag
666
- //tag)
667
- this.imgshow = true
668
- this.imgfilename = 'rs/image/file/' + val.f_single_path
669
- },
670
- search (args) {
671
- this.serlist = []
672
- //tag
673
- let data = {}
674
- data.condition = this.$refs.paged.$refs.criteria.condition ? this.$refs.paged.$refs.criteria.condition : '1=1'
675
- data.sign = this.$refs.paged.$refs.criteria.select ? `defname = '${this.$refs.paged.$refs.criteria.select.defname[0]}'` : '1=1'
676
- this.searchData.condition = data
677
- this.searchData = Object.assign(this.searchData, args.model)
678
- return this.model.search(data, args.model)
679
- },
680
- selfSearch () {
681
- // 取消编辑状态
682
- this.serlist = []
683
- this.editflag = null
684
-
685
- this.model.paramSource = {
686
- userid: '\'' + this.$login.f.name + '\''
687
- }
688
- //tag
689
- let data = {}
690
- data.condition = '1=1'
691
- data.sign = '1=1'
692
- return this.model.search(data)
693
- },
694
- // 发送数据给业务逻辑,并刷新界面
695
- post (row, logic) {
696
- // 调取工单撤回操作
697
- let data = {model: row, loginUser: {name: this.$login.f.name, ename: this.$login.f.ename}}
698
- this.$resetpost(`rs/logic/${logic}`, data).then(() => {
699
- // 刷新界面
700
- this.selfSearch()
701
- })
702
- },
703
- // 是否可以撤回
704
- canRecall (row) {
705
- let result =
706
- this.picked === 'done' &&
707
- row.sender === this.$login.f.name&&row.defname!='维修完成'&&row.defname!='置换完成'
708
- return result
709
- }
710
- },
711
- computed: {
712
- serviceorders () {
713
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('工单类型')]
714
- },
715
- repairstypes () {
716
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('报修全部类型')]
717
- },
718
- // defname () {
719
- // return [{label: '全部', value: ''}, ...this.$appdata.getParam('工单状态')]
720
- // }
721
-
722
- },
723
- components: {
724
- 'delay-reply': DelayReply
725
- }
726
- }
727
- </script>
728
- <style scoped lang="less">
729
- .workOrderInfo{
730
- .row {
731
- div {
732
- margin-top: 10px;
733
- [readonly] {
734
- background-color:#eeeeee;
735
- }
736
- }
737
- }
738
- }
739
- </style>
740
-
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="form-horizontal select-overspread container-fluid auto" 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="input_search" v-model="model.f_service_id" placeholder='工单编号'
10
+ condition="tswo.f_service_id like '%{}%'"
11
+ :size="model.f_service_id ? model.f_service_id.length : 6"
12
+ >
13
+ </div>
14
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%">
15
+ <label class="font_normal_body" style="width: 40%">用户编号</label>
16
+ <input type="text" class="input_search" v-model="model.f_userinfo_code" placeholder='用户编号'
17
+ condition="tswo.f_userinfo_code like '%{}%'"
18
+ :size="model.f_userinfo_code ? model.f_userinfo_code.length : 6"
19
+ >
20
+ </div>
21
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%">
22
+ <label class="font_normal_body" style="width: 40%">用户姓名</label>
23
+ <input type="text" class="input_search" v-model="model.f_user_name" placeholder='用户姓名'
24
+ condition="tswo.f_user_name like '%{}%'"
25
+ :size="model.f_user_name ? model.f_user_name.length : 6"
26
+ >
27
+ </div>
28
+ <div class="form-group col-sm-6 button-range" style="margin-right: 10px">
29
+
30
+ <button class="button_search button_spacing" @click="search(),$dispatch('search')"
31
+ style="margin-right: 9px">查询
32
+ </button>
33
+ <!-- <button class="button_search button_spacing" @click="$parent.$parent.repairSendAll()"
34
+ style="margin-right: 9px">批量下发
35
+ </button>-->
36
+
37
+ <export-excel-tel
38
+ :data="$parent.$parent.searchData"
39
+ :field="$parent.$parent.excelHeaders"
40
+ sqlurl="rs/logic/telephoneExport" sql-name="operatorService" template-name='工单导出'
41
+ :choose-col="true"></export-excel-tel>
42
+ <div style="float: right;" class="button_spacing"
43
+ :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
44
+ @click="$parent.$parent.hidden()"></div>
45
+
46
+ </div>
47
+ </div>
48
+ <div class="row" v-show="$parent.$parent.criteriaShow">
49
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%">
50
+ <label class="font_normal_body" style="width: 40%">来电电话</label>
51
+ <input type="text" class="input_search" v-model="model.f_phone" placeholder='来电电话'
52
+ condition="tswo.f_phone like '%{}%'"
53
+ :size="model.f_phone ? model.f_phone.length : 6"
54
+ >
55
+ </div>
56
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%">
57
+ <label class="font_normal_body" style="width: 40%">联系电话</label>
58
+ <input type="text" class="input_search" v-model="model.f_contact_phone" placeholder='联系电话'
59
+ condition="tswo.f_contact_phone = '{}'"
60
+ :size="model.f_contact_phone ? model.f_contact_phone.length : 6"
61
+ >
62
+ </div>
63
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%">
64
+ <label class="font_normal_body" style="width: 40%">地&emsp;&emsp;址</label>
65
+ <input type="text" class="input_search" v-model="model.f_address" placeholder='地址'
66
+ condition="tswo.f_address like '%{}%'"
67
+ :size="model.f_address ? model.f_address.length : 6"
68
+ >
69
+ </div>
70
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%">
71
+ <label class="font_normal_body" style="width: 40%">受&ensp;理&ensp;人</label>
72
+ <input type="text" class="input_search" v-model="model.f_attendant" placeholder='受理人'
73
+ condition="f_attendant like '%{}%'"
74
+ :size="model.f_attendant ? model.f_attendant.length : 6"
75
+ >
76
+ </div>
77
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%">
78
+ <label class="font_normal_body" style="width: 40%">接&ensp;单&ensp;人</label>
79
+ <input type="text" class="input_search" v-model="model.f_order_man" placeholder='接单人'
80
+ condition="tswo.f_order_man like '%{}%'"
81
+ :size="model.f_order_man ? model.f_order_man.length : 6"
82
+ >
83
+ </div>
84
+ </div>
85
+ <div class="row" v-show="$parent.$parent.criteriaShow">
86
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%">
87
+ <label class=" font_normal_body" for="f_workorder_type" style="width: 40%">工单类型</label>
88
+ <v-select id="f_workorder_type" :value.sync="model.f_workorder_type" :value-single="true"
89
+ v-model="model.f_workorder_type"
90
+ :options='$parent.$parent.serviceorders' placeholder='工单类型'
91
+ condition="tswo.f_workorder_type like '%{}%'"
92
+ close-on-select>
93
+ </v-select>
94
+ </div>
95
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%">
96
+ <label class="font_normal_body" style="width: 40%">派单时间</label>
97
+ <datepicker placeholder="起始派单时间"
98
+ :value.sync="model.f_created_date"
99
+ v-model="model.f_created_date"
100
+ :format="'yyyy-MM-dd 00:00:00'"
101
+ condition="tswo.f_created_date > '{}'"
102
+ ></datepicker>
103
+ </div>
104
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%">
105
+ <label class="font_normal_body" style="width: 40%">派单时间</label>
106
+ <datepicker placeholder="终止派单时间"
107
+ :value.sync="model.f_created_enddate"
108
+ v-model="model.f_created_enddate"
109
+ :format="'yyyy-MM-dd 23:59:59'"
110
+ condition="tswo.f_created_date < '{}'"
111
+ ></datepicker>
112
+ </div>
113
+
114
+ <div class="col-sm-2 form-group form-input-group" style="float:right;width: 15%;margin-left: 20px">
115
+ <input type="radio" id="one" value="wait" style="float: left" v-model="$parent.$parent.picked">
116
+ <label for="one" style="margin-top: 10px;float: left">待办</label>
117
+ <input type="radio" id="two" value="done" style="float: left" v-model="$parent.$parent.picked">
118
+ <label for="two" style="margin-top: 10px;float: left">已办</label>
119
+ </div>
120
+
121
+ </div>
122
+
123
+
124
+ </div>
125
+ </criteria>
126
+ <data-grid partial='list' v-ref:grid :model="model" class="list_area table_sy" :classname="'table tablenew table-bordered table-striped table-hover'">
127
+ <template partial='head'>
128
+ <tr>
129
+ <th>
130
+ 工单类型
131
+ </th>
132
+ <th>
133
+ 工单编号
134
+ </th>
135
+ <th>
136
+ 派单时间
137
+ </th>
138
+ <th>
139
+ 用户信息
140
+ </th>
141
+ <th>
142
+ 来电电话
143
+ </th>
144
+ <th>
145
+ 联系电话
146
+ </th>
147
+ <th>
148
+ 工单状态
149
+ </th>
150
+ <th>
151
+ 备注
152
+ </th>
153
+ <th>
154
+ 操作
155
+ </th>
156
+ </tr>
157
+ </template>
158
+ <template partial='body'>
159
+ <td
160
+ :style="{'background-color':Math.floor((new Date().getTime() - new Date(row.f_created_date).getTime())/1000/60/60)>3&&row.defname=='站点接单'?'#f1eecb':'','text-align':'center'}">
161
+ {{ row.f_workorder_type }}<span style="color: red" v-if="row.f_remindersign==='true'">(催单)</span>
162
+ <span style="color: red" v-if="row.f_state==='打回'">(打回)</span>
163
+ </td>
164
+ <td
165
+ :style="{'background-color':Math.floor((new Date().getTime() - new Date(row.f_created_date).getTime())/1000/60/60)>3&&row.defname=='站点接单'?'#f1eecb':'','text-align':'center'}">
166
+ {{ row.f_service_id }}
167
+ </td>
168
+ <td
169
+ :style="{'background-color':Math.floor((new Date().getTime() - new Date(row.f_created_date).getTime())/1000/60/60)>3&&row.defname=='站点接单'?'#f1eecb':'','text-align':'center'}">
170
+ {{ row.f_created_date }}
171
+ </td>
172
+ <td
173
+ :style="{'background-color':Math.floor((new Date().getTime() - new Date(row.f_created_date).getTime())/1000/60/60)>3&&row.defname=='站点接单'?'#f1eecb':'','text-align':'center'}">
174
+ {{ row.f_user_name }}&nbsp;&nbsp;&nbsp;{{ row.f_address }}&nbsp;&nbsp;&nbsp;{{ row.f_contact_name }}
175
+ </td>
176
+ <td
177
+ :style="{'background-color':Math.floor((new Date().getTime() - new Date(row.f_created_date).getTime())/1000/60/60)>3&&row.defname=='站点接单'?'#f1eecb':'','text-align':'center'}">
178
+ {{ row.f_phone }}
179
+ </td>
180
+ <td
181
+ :style="{'background-color':Math.floor((new Date().getTime() - new Date(row.f_created_date).getTime())/1000/60/60)>3&&row.defname=='站点接单'?'#f1eecb':'','text-align':'center'}">
182
+ {{ row.f_contact_phone }}
183
+ </td>
184
+ <td
185
+ :style="{'background-color':Math.floor((new Date().getTime() - new Date(row.f_created_date).getTime())/1000/60/60)>3&&row.defname=='站点接单'?'#f1eecb':'','text-align':'center'}">
186
+ {{ row.defname }}
187
+ </td>
188
+ <td
189
+ :style="{'background-color':Math.floor((new Date().getTime() - new Date(row.f_created_date).getTime())/1000/60/60)>3&&row.defname=='站点接单'?'#f1eecb':'','text-align':'center'}">
190
+ {{ row.f_remarks }}
191
+ </td>
192
+ <td
193
+ :style="{'background-color':Math.floor((new Date().getTime() - new Date(row.f_created_date).getTime())/1000/60/60)>3&&row.defname=='站点接单'?'#f1eecb':'','text-align':'center'}"
194
+ style="text-align: center;">
195
+ <div
196
+ v-show="row.defname === '站点接单' && $parent.$parent.$parent.picked === 'wait' && row.f_workorder_type != '投诉单'&&row.f_workorder_type != '咨询单'">
197
+ <button type="button" name="button" class="button_spacing button_search-2"
198
+ @click.stop="$parent.$parent.$parent.proc(row, '结案')">结案
199
+ </button>
200
+ <!-- <button type="button" name="button" class="button_spacing button_search-2"
201
+ @click.stop="$parent.$parent.$parent.proc(row, '工单退回')">退回
202
+ </button>
203
+ <button type="button" name="button" class="button_spacing button_search-2"
204
+ @click.stop="$parent.$parent.$parent.proc(row, '工单下发')">下发
205
+ </button>
206
+ <div v-if="row.f_single_path">
207
+ <button type="button" name="button" class="button_spacing button_search-2"
208
+ @click.stop="$parent.$parent.$parent.showpicture(row)">抢修图片
209
+ </button>
210
+ </div>-->
211
+ </div>
212
+ <div
213
+ v-show="row.defname === '站点接单' && $parent.$parent.$parent.picked === 'wait' && row.f_workorder_type == '投诉单'">
214
+ <button type="button" name="button" class="button_spacing button_search-2"
215
+ @click.stop="$parent.$parent.$parent.complanReview(row, '投诉处理')">
216
+ 投诉处理
217
+ </button>
218
+ </div>
219
+
220
+ <div
221
+ v-show="row.defname === '站点接单' && $parent.$parent.$parent.picked === 'wait' && row.f_workorder_type == '咨询单'">
222
+ <button type="button" name="button" class="button_spacing button_search-2"
223
+ @click.stop="$parent.$parent.$parent.seekworkReview(row, '咨询处理')">
224
+ 咨询处理
225
+ </button>
226
+ </div>
227
+ </td>
228
+ </template>
229
+ </data-grid>
230
+ </criteria-paged>
231
+ </div>
232
+ <modal :show.sync="editflag==='工单退回'||editflag==='工单下发'" v-ref:modalservice backdrop="false">
233
+ <header slot="modal-header" class="modal-header">
234
+ {{editflag}}
235
+ </header>
236
+ <article slot="modal-body" class="modal-body">
237
+ <div v-if="editflag==='工单退回'" class="form-inline">
238
+ <site-back :row="selectone" @success="selfSearch()" @cancel='editflag = null'></site-back>
239
+ </div>
240
+ <div v-if="editflag==='工单下发'">
241
+ <site-send :row="selectone" :rowlist="serlist" @success="selfSearch()" @cancel="editflag = null"></site-send>
242
+ </div>
243
+ </article>
244
+ <footer slot="modal-footer" class="modal-footer" v-show="false">
245
+ <button type="button" class="btn btn-success" @click='imgclose'>关闭</button>
246
+ </footer>
247
+ </modal>
248
+ <modal :show.sync="editflag==='结案'" v-ref:modalCase backdrop="false">
249
+ <header slot="modal-header" class="modal-header">
250
+ 工单结案
251
+ </header>
252
+ <article slot="modal-body" class="modal-body">
253
+ <div class="col-sm-12 form-group">
254
+ <label class="control-label col-sm-2">结案备注</label>
255
+ <div class="col-sm-9">
256
+ <input class="form-control" type="text" v-model="f_caseremarks"/>
257
+ </div>
258
+ </div>
259
+ </article>
260
+ <footer slot="modal-footer" class="modal-footer">
261
+ <button type="button" class="btn btn-success" @click='caseok'>确定</button>
262
+ <button type="button" class="btn btn-success" @click='caseclose'>关闭</button>
263
+ </footer>
264
+ </modal>
265
+ <modal :show.sync="imgshow" v-ref:modal backdrop="true">
266
+ <header slot="modal-header" class="modal-header">
267
+ 在线抢修照片
268
+ </header>
269
+ <article slot="modal-body" class="modal-body">
270
+ <div class="from-group">
271
+ <img-self :src="imgfilename" width="500" height="500"></img-self>
272
+ </div>
273
+ </article>
274
+ <footer slot="modal-footer" class="modal-footer">
275
+ <button type="button" class="btn btn-success" @click='imgclose'>关闭</button>
276
+ </footer>
277
+ </modal>
278
+ <!-- 投诉单处理弹窗 -->
279
+ <modal :show.sync="isComplanReview" v-ref:complanModal backdrop="false">
280
+ <header slot="modal-header" class="modal-header">
281
+ 投诉审核
282
+ </header>
283
+ <article slot="modal-body" class="modal-body">
284
+ <div class="select-overspread form-horizontal auto workOrderInfo">
285
+ <div class="row">
286
+ <div class="col-sm-12 form-group form-input-group" >
287
+ <label class="font_normal_body" style="width: 10%">工单编号</label>
288
+ <h5 style="padding: 0px">{{ showModalComplan.f_service_id }}</h5>
289
+ </div>
290
+ <div class="col-sm-12 form-input-group" >
291
+ <label class="font_normal_body" style="width: 10%">投诉内容</label>
292
+ <textarea name="name" rows="3" v-model="showModalComplan.f_content"
293
+ class="form-control ver-textarea" id="f_content" name="f_content" readonly="readonly"></textarea>
294
+ </div>
295
+ <div class="col-sm-4 form-group form-input-group" >
296
+ <label class="font_normal_body" style="width: 30%">来电电话</label>
297
+ <input type="text" name="" v-model='showModalComplan.f_phone'
298
+ class="form-control" readonly="readonly">
299
+ </div>
300
+ <div class="col-sm-4 form-group form-input-group" >
301
+ <label class="font_normal_body" style="width: 30%">联系人</label>
302
+ <input type="text" name="" v-model='showModalComplan.f_user_name'
303
+ class="form-control" readonly="readonly">
304
+ </div>
305
+ <div class="col-sm-4 form-group form-input-group" >
306
+ <label class="font_normal_body" style="width: 30%">联系电话</label>
307
+ <input type="text" name="" v-model='showModalComplan.f_contact_phone'
308
+ class="form-control" readonly="readonly">
309
+ </div>
310
+
311
+ <div class="col-sm-12 form-input-group" >
312
+ <label class="font_normal_body" style="width: 10%">备注</label>
313
+ <textarea name="name" rows="3" v-model="showModalComplan.f_remarks"
314
+ class="form-control ver-textarea" readonly="readonly"></textarea>
315
+ </div>
316
+ <div class="col-sm-12 form-input-group">
317
+ <label class="font_normal_body" style="width: 10%">处理结果</label>
318
+ <textarea name="name" rows="4" v-model="f_complaint_results"
319
+ class="form-control ver-textarea" ></textarea>
320
+ </div>
321
+ </div>
322
+ </div>
323
+ </article>
324
+ <footer slot="modal-footer" class="modal-footer">
325
+ <button type="button" name="button"
326
+ class="button_search button_spacing" @click='inputCompainInfo()'>提交</button>
327
+ <button type="button" name="button" style="background-color: #5ac0d9;border-radius: 4px;"
328
+ class="button_spacing button_search" @click='isComplanReview=false;showModalComplan = {}'>取消</button>
329
+ </footer>
330
+ </modal>
331
+ <!-- 咨询处理弹窗 -->
332
+ <modal :show.sync="isSeekWork" v-ref:seekWorkModel backdrop="false">
333
+ <header slot="modal-header" class="modal-header">
334
+ 咨询审核
335
+ </header>
336
+ <article slot="modal-body" class="modal-body">
337
+ <div class="select-overspread form-horizontal auto workOrderInfo">
338
+ <div class="row">
339
+ <div class="col-sm-12 form-group form-input-group" >
340
+ <label class="font_normal_body" style="width: 10%">工单编号</label>
341
+ <h5 style="padding: 0px">{{ showModalSeekWork.f_service_id }}</h5>
342
+ </div>
343
+ <div class="col-sm-12 form-input-group" >
344
+ <label class="font_normal_body" style="width: 10%">咨询内容</label>
345
+ <textarea name="name" rows="3" v-model="showModalSeekWork.f_content"
346
+ class="form-control ver-textarea" id="f_content1" name="f_content" readonly="readonly"></textarea>
347
+ </div>
348
+ <div class="col-sm-4 form-group form-input-group" >
349
+ <label class="font_normal_body" style="width: 30%">来电电话</label>
350
+ <input type="text" name="" v-model='showModalSeekWork.f_phone'
351
+ class="form-control" readonly="readonly">
352
+ </div>
353
+ <div class="col-sm-4 form-group form-input-group" >
354
+ <label class="font_normal_body" style="width: 30%">联系人</label>
355
+ <input type="text" name="" v-model='showModalSeekWork.f_user_name'
356
+ class="form-control" readonly="readonly">
357
+ </div>
358
+ <div class="col-sm-4 form-group form-input-group" >
359
+ <label class="font_normal_body" style="width: 30%">联系电话</label>
360
+ <input type="text" name="" v-model='showModalSeekWork.f_contact_phone'
361
+ class="form-control" readonly="readonly">
362
+ </div>
363
+
364
+ <div class="col-sm-12 form-input-group" >
365
+ <label class="font_normal_body" style="width: 10%">备注</label>
366
+ <textarea name="name" rows="3" v-model="showModalSeekWork.f_remarks"
367
+ class="form-control ver-textarea" readonly="readonly"></textarea>
368
+ </div>
369
+ <div class="col-sm-12 form-input-group">
370
+ <label class="font_normal_body" style="width: 10%">处理结果</label>
371
+ <textarea name="name" rows="4" v-model="f_complaint_seekwork_results"
372
+ class="form-control ver-textarea" ></textarea>
373
+ </div>
374
+ </div>
375
+ </div>
376
+ </article>
377
+ <footer slot="modal-footer" class="modal-footer">
378
+
379
+ <button type="button" name="button"
380
+ class="button_search button_spacing" @click='inputSeekWorkInfo()'>提交</button>
381
+ <button type="button" name="button" style="background-color: #5ac0d9;border-radius: 4px;"
382
+ class="button_spacing button_search" @click='isSeekWork=false;showModalSeekWork = {}'>取消</button>
383
+ </footer>
384
+ </modal>
385
+ </template>
386
+
387
+ <script>
388
+ import {PagedList, HttpResetClass} from 'vue-client'
389
+ import DelayReply from '../../../components/pc/DelayReply'
390
+ import * as Util from '../../../components/Util'
391
+
392
+ export default {
393
+ title: '工单列表',
394
+ data () {
395
+ return {
396
+ // 结案备注
397
+ f_caseremarks:'',
398
+ criteriaShow: false,
399
+ f_complaint_results: '',
400
+ serlist: [],
401
+ checkes:[],
402
+ beizhu:false,
403
+ remakes:null,
404
+ editflag: null,
405
+ selectone: '',
406
+ model: new PagedList('rs/sql/operatorService', 20),
407
+ row: null,
408
+ orderMan: '',
409
+ checkAll:false,
410
+ msgs: [],
411
+ // repairstypes : [{label: '全部', value: ''}, ...this.$appdata.getParam('报修全部类型')],
412
+ service: Object,
413
+ pendingCount: 0,
414
+ imgfilename: '',
415
+ select: {
416
+ defname: ''
417
+ },
418
+ rowlist:[],
419
+ // 待办/已办选择
420
+ picked: 'wait',
421
+ imgshow: false,
422
+ isComplanReview: false,
423
+ // defname:this.$appdata.getParam('工单状态'),
424
+ searchData: {
425
+ condition: {
426
+ condition: '1=1',
427
+ sign: '1=1'
428
+ },
429
+ userid: this.$login.f.name
430
+ },
431
+ excelHeaders: {
432
+ 'f_workorder_type': '工单类型',
433
+ 'f_service_id': '工单编号',
434
+ 'f_created_date': '派单时间',
435
+ 'f_user_name': '用户姓名',
436
+ 'f_address': '用户地址',
437
+ 'f_contact_name': '联系人',
438
+ 'f_phone': '来电电话',
439
+ 'f_contact_phone': '联系电话',
440
+ 'f_remarks':'备注'
441
+ },
442
+ //投诉单在modal框显示的信息
443
+ showModalComplan: {
444
+ serviceacitivity: [{f_complaint_results: ''}]
445
+ },
446
+ isSeekWork: false,
447
+ /*咨询单信息*/
448
+ showModalSeekWork: {
449
+ serviceacitivity: [{f_complaint_results: ''}]
450
+ },
451
+ /*咨询单结果*/
452
+ f_complaint_seekwork_results: ''
453
+ }
454
+
455
+ },
456
+ props: {
457
+ user: {
458
+ type: Object
459
+ },
460
+ maintenance: [],
461
+ // serviceId : [String, Number]
462
+ serviceId: '',
463
+ // 工单状态 工单位置
464
+ defname: {
465
+ type: String
466
+ }
467
+ },
468
+ ready () {
469
+ // this.getEmp()
470
+ let messageTime = 60
471
+ const time = this.$appdata.getSingleValue("站点提醒时间")
472
+ if(time && time >60){
473
+ messageTime = time
474
+ }
475
+ setInterval(()=>{
476
+ const data = {
477
+ condition:{
478
+ condition:'1=1',
479
+ sign:'1=1'
480
+ },
481
+ userid:this.$login.f.name
482
+ }
483
+ new HttpResetClass().load('post','rs/sql/operatorService',{data:data},{resolveMsg:null,rejectMsg:null}).then(res=>{
484
+ if(res.data && res.data.length>0){
485
+ this.$showMessage("您有"+res.data.length+"条工单待处理,请及时处理")
486
+ }
487
+ })
488
+ },messageTime*1000)
489
+ this.selfSearch().then(() => {
490
+ this.$emit('ready')
491
+ }).catch((error) => {
492
+ this.$emit('error', error)
493
+ })
494
+ // 开启轮询查询是否由自己的工单
495
+ // this.pollQuery()
496
+ },
497
+ watch: {
498
+ 'serviceId' () {
499
+ this.selfSearch()
500
+ },
501
+ // 待办/已办选择变化后,根据选择内容,重新设置path查询路径,进行查询
502
+ 'picked' () {
503
+ this.serlist = []
504
+ if (this.picked) {
505
+ if (this.picked === 'wait') {
506
+ this.model.url = 'rs/sql/operatorService'
507
+ } else if (this.picked === 'done') {
508
+ this.model.url = 'rs/sql/doneService'
509
+ }
510
+ this.model.rows = []
511
+ this.selfSearch()
512
+ }
513
+ }
514
+ },
515
+ methods: {
516
+ // 结案确认
517
+ caseok(){
518
+ // 工单结案操作
519
+ let data = {model: this.selectone, loginUser: {name: this.$login.f.name, ename: this.$login.f.ename},f_caseremarks:this.f_caseremarks}
520
+ this.$resetpost(`rs/logic/serviceCase`, data).then(() => {
521
+ this.f_caseremarks = ''
522
+ // 刷新界面
523
+ this.selfSearch()
524
+ })
525
+ },
526
+ // 结案返回
527
+ caseclose(){
528
+ this.f_caseremarks = ''
529
+ this.editflag = null
530
+ },
531
+ repairSendAll () {
532
+ //tag
533
+ if (!this.$refs.paged.$refs.criteria.model.f_workorder_type){
534
+ this.$showMessage('必须选择工单类型后查询')
535
+ return
536
+ }
537
+ this.selectone={
538
+ f_workorder_type:this.$refs.paged.$refs.criteria.model.f_workorder_type
539
+ }
540
+
541
+ if (this.checkAll){
542
+ //如果全选,根据条件去查询数据
543
+ let data={
544
+ condition:this.model.params.condition,
545
+ userid:this.$login.f.name
546
+ }
547
+ new HttpResetClass().load('post','rs/sql/operatorService',{data:data},{resolveMsg:null,rejectMsg:null}).then(res=>{
548
+ const results=res.data
549
+ this.rowlist=results.filter(result=>{
550
+ //tag)
551
+ console.log("999",result,JSON.stringify(result).indexOf('站点接单')!=-1)
552
+ return JSON.stringify(result).indexOf('站点接单')!=-1
553
+ })
554
+ console.log(this.rowlist)
555
+ //tag
556
+ this.serlist=JSON.parse(JSON.stringify(this.rowlist))
557
+ this.editflag ='工单下发'
558
+ })
559
+
560
+ }else{
561
+ if (this.rowlist.length===0){
562
+ this.$showMessage('请选择工单')
563
+ return
564
+ }
565
+ //不全选,去取数据
566
+ this.serlist=JSON.parse(JSON.stringify(this.rowlist))
567
+ console.log("752752",this.rowlist)
568
+ this.editflag ='工单下发'
569
+ }
570
+ },
571
+ isChecked(v) {
572
+ // 如果全选,不在的按选中算,否则,在的按选中算
573
+ if (this.checkAll) {
574
+ return this.checkes.indexOf(v) == -1
575
+ } else {
576
+ return this.checkes.indexOf(v) != -1
577
+ }
578
+ },
579
+
580
+ setCheckes(row) {
581
+ if (!this.checkAll){
582
+ let index=this.checkes.indexOf(row.id)
583
+ if(index<0){
584
+ this.checkes.push(row.id)
585
+ this.rowlist.push(row)
586
+ }else{
587
+ this.checkes.splice(index,1)
588
+ this.rowlist.splice(this.rowlist.findIndex(res => {
589
+ return res.id === row.id
590
+ }) , 1)
591
+ }
592
+ }
593
+ },
594
+ hidden () {
595
+ this.criteriaShow = !this.criteriaShow
596
+ },
597
+ // 提交投诉单内容
598
+ inputCompainInfo () {
599
+ if (this.f_complaint_results != '') {
600
+ this.showModalComplan.serviceacitivity[0].f_complaint_results = this.f_complaint_results
601
+ this.$resetpost('rs/logic/saveComplaintResult', {
602
+ showModalComplan: this.showModalComplan,
603
+ loginUser: {name: this.$login.f.name, ename: this.$login.f.ename, loginid: this.$login.f.id}
604
+ }).then((res) => {
605
+ this.isComplanReview = false
606
+ this.showModalComplan = {}
607
+ this.$refs.paged.$refs.criteria.search()
608
+ })
609
+ } else {
610
+ //tag
611
+ return this.$showAlert('请填写投诉单结果!', 'warning', 2000)
612
+ }
613
+
614
+ },
615
+ //提交咨询单内容
616
+ inputSeekWorkInfo () {
617
+ if (this.f_complaint_seekwork_results != '') {
618
+ this.showModalSeekWork.serviceacitivity[0].f_complaint_results = this.f_complaint_seekwork_results
619
+ this.$resetpost('rs/logic/saveConsultResult', {
620
+ model: this.showModalSeekWork,
621
+ loginUser: {name: this.$login.f.name, ename: this.$login.f.ename, loginid: this.$login.f.id}
622
+ }).then((res) => {
623
+ this.isSeekWork = false
624
+ this.showModalSeekWork = {}
625
+ this.f_complaint_seekwork_results = ''
626
+ this.$refs.paged.$refs.criteria.search()
627
+ })
628
+ } else {
629
+ //tag
630
+ return this.$showAlert('请填写咨询单结果!', 'warning', 2000)
631
+ }
632
+ },
633
+ beizhuclose(){
634
+ this.beizhu =false
635
+ },
636
+ beiopen(row){
637
+ this.beizhu =true
638
+
639
+ console.log('打印row',row)
640
+ this.remakes=row
641
+ },
642
+ beizhuok(){
643
+ this.remakes.f_chehui_remark=this.model.f_remarks
644
+ console.log('打印撤回备注', this.remakes)
645
+ this.post(this.remakes, 'TelWorkeCancle')
646
+ this.beizhuclose()
647
+ this.model.f_remarks = null
648
+ },
649
+ imgclose () {
650
+ this.imgshow = false
651
+ },
652
+ //检查是否为同一类型
653
+ addInList (val) {
654
+ if (!this.checkInList(val)) {
655
+ this.serlist.push(val)
656
+ //tag
657
+ } else {
658
+ var copyserlist = []
659
+ for (var index in this.serlist) {
660
+ if (this.serlist[index].f_service_id != val.f_service_id) {
661
+ copyserlist.push(this.serlist[index])
662
+ }
663
+ }
664
+ this.serlist = copyserlist
665
+ //tag
666
+ }
667
+ },
668
+ checkInList (val) {
669
+ var checkstr = false
670
+ this.serlist.forEach((item) => {
671
+ if (item.f_service_id == val.f_service_id) {
672
+ checkstr = true
673
+ }
674
+ })
675
+ return checkstr
676
+ },
677
+ isInList (val) {
678
+ var checkstr = false
679
+ this.serlist.forEach((item) => {
680
+ if (item.f_service_id == val.f_service_id) {
681
+ checkstr = true
682
+ }
683
+ })
684
+ return checkstr
685
+ },
686
+ proc (selectone, type) {
687
+ this.editflag = type
688
+ this.selectone = selectone
689
+ },
690
+ complanReview (itemVal, type) {
691
+ //tag
692
+ this.showModalComplan = itemVal
693
+ this.showModalComplan.serviceacitivity = [
694
+ {f_service_acitivity_type: '投诉单', f_result_status: '已完成'}]
695
+ this.showModalComplan.id_back = this.showModalComplan.id
696
+ this.isComplanReview = true
697
+ },
698
+ seekworkReview (itemVal, type) {
699
+ //tag
700
+ this.showModalSeekWork = itemVal
701
+ this.showModalSeekWork.serviceacitivity = [
702
+ {f_service_acitivity_type: '投诉单', f_result_status: '已完成'}]
703
+ this.showModalSeekWork.id_back = this.showModalSeekWork.id
704
+ this.isSeekWork = true
705
+ },
706
+ showpicture (val) {
707
+ //tag
708
+ //tag)
709
+ this.imgshow = true
710
+ this.imgfilename = 'rs/image/file/' + val.f_single_path
711
+ },
712
+ search (args) {
713
+ this.serlist = []
714
+ //tag
715
+ let data = {}
716
+ data.condition = this.$refs.paged.$refs.criteria.condition ? this.$refs.paged.$refs.criteria.condition : '1=1'
717
+ data.sign = this.$refs.paged.$refs.criteria.select ? `defname = '${this.$refs.paged.$refs.criteria.select.defname[0]}'` : '1=1'
718
+ this.searchData.condition = data
719
+ this.searchData = Object.assign(this.searchData, args.model)
720
+ return this.model.search(data, args.model)
721
+ },
722
+ selfSearch () {
723
+ // 取消编辑状态
724
+ this.serlist = []
725
+ this.editflag = null
726
+
727
+ this.model.paramSource = {
728
+ userid: '\'' + this.$login.f.name + '\''
729
+ }
730
+ //tag
731
+ let data = {}
732
+ data.condition = '1=1'
733
+ data.sign = '1=1'
734
+ return this.model.search(data)
735
+ },
736
+ // 发送数据给业务逻辑,并刷新界面
737
+ post (row, logic) {
738
+ // 调取工单撤回操作
739
+ let data = {model: row, loginUser: {name: this.$login.f.name, ename: this.$login.f.ename}}
740
+ this.$resetpost(`rs/logic/${logic}`, data).then(() => {
741
+ // 刷新界面
742
+ this.selfSearch()
743
+ })
744
+ },
745
+ // 是否可以撤回
746
+ canRecall (row) {
747
+ let result =
748
+ this.picked === 'done' &&
749
+ row.sender === this.$login.f.name&&row.defname!='维修完成'&&row.defname!='置换完成'
750
+ return result
751
+ }
752
+ },
753
+ computed: {
754
+ serviceorders () {
755
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('工单类型')]
756
+ },
757
+ repairstypes () {
758
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('报修全部类型')]
759
+ },
760
+ // defname () {
761
+ // return [{label: '全部', value: ''}, ...this.$appdata.getParam('工单状态')]
762
+ // }
763
+
764
+ },
765
+ components: {
766
+ 'delay-reply': DelayReply
767
+ }
768
+ }
769
+ </script>
770
+ <style scoped lang="less">
771
+ .workOrderInfo{
772
+ .row {
773
+ div {
774
+ margin-top: 10px;
775
+ [readonly] {
776
+ background-color:#eeeeee;
777
+ }
778
+ }
779
+ }
780
+ }
781
+ </style>
782
+