telephone-clients 4.0.0-1-89 → 4.0.0-1-90
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.
- package/package.json +2 -2
- package/src/components/pc/MaintenanceWorker.vue +152 -0
- package/src/components/pc/NewRepairPaper.vue +704 -704
- package/src/components/pc/NewRepairTablePaper.vue +442 -442
- package/src/components/pc/WorkHistory.vue +650 -650
- package/src/components/pc/WorkListNew.vue +838 -838
- package/src/components/sendsingle/onlinecharge.vue +424 -424
- package/src/components/workorder/ChangeMeterPageNew.vue +663 -663
- package/src/components/workorder/ChangeMeterUserInfo.vue +130 -130
- package/src/components/workorder/RepairFirstV.vue +736 -736
- package/src/components/workorder/RepairInfo.vue +178 -178
- package/src/components/workorder/RepairOrderT.vue +713 -713
- package/src/components/workorder/oldMeterPage.vue +104 -104
- package/src/components/workorder/repairFirstTable.vue +715 -715
- package/src/filiale/jinhong/android/FaultAll.vue +936 -936
- package/src/filiale/jinhong/android/ZHihuanFirst.vue +540 -540
- package/src/filiale/jinhong/pc/WorkListAllNew.vue +884 -884
- package/src/filiale/jinhong/telephone.js +10 -10
- package/src/filiale/jinhong/telephoneAndroid.js +13 -13
- package/src/filiale/meihekou/android/Othercharge.vue +454 -454
- package/src/filiale/meihekou/android/PhoneStandWorkNew.vue +692 -692
- package/src/filiale/meihekou/android/ServiceOnlineQuery.vue +477 -477
- package/src/filiale/meihekou/pc/WorkListAllNew.vue +925 -901
- package/src/filiale/meihekou/pc/WorkListNew.vue +1103 -1049
- package/src/filiale/meihekou/telephoneAndroid.js +26 -26
- package/src/filiale/xinjiangdexin/telephone.js +16 -16
- package/src/filiale/xinliansihui/android/FaultAll.vue +923 -923
- package/src/filiale/xinliansihui/android/RepairFirstV.vue +734 -734
- package/src/filiale/xinliansihui/android/RepairOrderT.vue +713 -713
- package/src/main.js +1 -1
- package/src/telephone-android.js +425 -425
- package/src/telephone.js +799 -796
|
@@ -1,704 +1,704 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="basic-main" style="height: 100%">
|
|
3
|
-
<div class="page-header app-header auto" style="padding: 15px;margin-right: 10px;right: 0%;height: 7%">
|
|
4
|
-
<div @click="back()">
|
|
5
|
-
<img src="../../assets/back.png" style="margin: 0px"/>
|
|
6
|
-
</div>
|
|
7
|
-
</div>
|
|
8
|
-
<div v-show="showPdfDownload" class="page-header app-header auto"
|
|
9
|
-
style="padding: 15px;margin-right: 3.7%;right: 0%;height: 7%">
|
|
10
|
-
<div @click="exportToPDF()">
|
|
11
|
-
<img src="../../assets/下载_.png" style="margin: 0px;width: 30px"/>
|
|
12
|
-
</div>
|
|
13
|
-
</div>
|
|
14
|
-
<work-busy :is-busy="loading"></work-busy>
|
|
15
|
-
<div class="container-fluid" style="overflow: scroll">
|
|
16
|
-
<div class="col-md-5" style="margin-right: 2%;margin-left: 2%;height: 100%;overflow: scroll">
|
|
17
|
-
<div style="width: 100%;margin: auto">
|
|
18
|
-
<table class="table table-striped table-bordered" style="margin-bottom: 6px">
|
|
19
|
-
<thead>
|
|
20
|
-
<tr>
|
|
21
|
-
<th colspan="6" style="text-align: center;background-color: #dfedfb;color:black;">客户工单信息</th>
|
|
22
|
-
</tr>
|
|
23
|
-
</thead>
|
|
24
|
-
<tbody>
|
|
25
|
-
<tr>
|
|
26
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用户名称:</td>
|
|
27
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ baseuserinfo.f_user_name }}</td>
|
|
28
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用户编号:</td>
|
|
29
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ baseuserinfo.f_userinfo_code }}</td>
|
|
30
|
-
</tr>
|
|
31
|
-
<tr>
|
|
32
|
-
<td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">详细地址:</td>
|
|
33
|
-
<td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{ baseuserinfo.f_address }}</td>
|
|
34
|
-
</tr>
|
|
35
|
-
<tr v-if="serviceall.f_workorder_type=='报修单'">
|
|
36
|
-
<td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">故障明细:</td>
|
|
37
|
-
<td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{ changefailure(serviceall.f_new_failure) }}</td>
|
|
38
|
-
</tr>
|
|
39
|
-
<tr v-if="serviceall.f_workorder_type=='报修单'">
|
|
40
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">{{usermeter.f_collection_type=='按金额'?'累购金额:':'累购气量:'}}</td>
|
|
41
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ usermeter.f_collection_type=='按金额'?usermeter.f_total_fee:usermeter.f_total_gas }}</td>
|
|
42
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">左 右 表:</td>
|
|
43
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ usermeter.f_aroundmeter }}</td>
|
|
44
|
-
</tr>
|
|
45
|
-
<tr v-if="serviceall.f_workorder_type=='报修单'">
|
|
46
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">表   号:</td>
|
|
47
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ usermeter.f_meternumber }}</td>
|
|
48
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%"></td>
|
|
49
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%"></td>
|
|
50
|
-
</tr>
|
|
51
|
-
<tr v-if="serviceall.f_workorder_type=='报修单'">
|
|
52
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">表 品 牌:</td>
|
|
53
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ usermeter.f_meter_brand }}</td>
|
|
54
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">表 型 号:</td>
|
|
55
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ usermeter.f_meter_style }}</td>
|
|
56
|
-
</tr>
|
|
57
|
-
<tr v-if="serviceall.f_workorder_type=='置换通气单'">
|
|
58
|
-
|
|
59
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用户姓名:</td>
|
|
60
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ baseuserinfo.f_user_name }}</td>
|
|
61
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用气性质:</td>
|
|
62
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ baseuserinfo.f_gasproperties }}</td>
|
|
63
|
-
</tr>
|
|
64
|
-
<tr v-if="serviceall.f_workorder_type=='置换通气单'">
|
|
65
|
-
|
|
66
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">联系电话:</td>
|
|
67
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ baseuserinfo.f_user_phone }}</td>
|
|
68
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">住户类型:</td>
|
|
69
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ baseuserinfo.f_house_type }}</td>
|
|
70
|
-
</tr>
|
|
71
|
-
<tr v-if="serviceall.f_workorder_type=='置换通气单'">
|
|
72
|
-
<td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">身份证号:</td>
|
|
73
|
-
<td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{baseuserinfo.f_shenfenzheng}}</td>
|
|
74
|
-
</tr>
|
|
75
|
-
<tr v-if="serviceall.f_workorder_type=='置换通气单'">
|
|
76
|
-
<td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">用户地址:</td>
|
|
77
|
-
<td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{baseuserinfo.f_address}}</td>
|
|
78
|
-
</tr>
|
|
79
|
-
<!-- <tr>-->
|
|
80
|
-
|
|
81
|
-
<!-- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">派单时间:</td>-->
|
|
82
|
-
<!-- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ service.f_created_date }}</td>-->
|
|
83
|
-
<!-- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">完成时间:</td>-->
|
|
84
|
-
<!-- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ service.f_repair_date }}</td>-->
|
|
85
|
-
<!-- </tr>-->
|
|
86
|
-
<tr>
|
|
87
|
-
|
|
88
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">到达时间:</td>
|
|
89
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ serviceall.f_date_come }}</td>
|
|
90
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">离开时间:</td>
|
|
91
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ serviceall.f_date_leave }}</td>
|
|
92
|
-
</tr>
|
|
93
|
-
<tr v-if="serviceall.f_workorder_type == '置换通气单' && baseuserinfo.f_user_type == '民用'">
|
|
94
|
-
<td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">防盗卡号:</td>
|
|
95
|
-
<td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{ usermeter.f_defendcard }}</td>
|
|
96
|
-
</tr>
|
|
97
|
-
<tr v-if="serviceall.f_workorder_type == '置换通气单' && baseuserinfo.f_user_type == '非民用'">
|
|
98
|
-
<td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">铅封号:</td>
|
|
99
|
-
<td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{ usermeter.f_gmd_lsnumber }}</td>
|
|
100
|
-
</tr>
|
|
101
|
-
<tr>
|
|
102
|
-
<td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">备注:</td>
|
|
103
|
-
<td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{ serviceall.f_remarks }}</td>
|
|
104
|
-
</tr>
|
|
105
|
-
</tbody>
|
|
106
|
-
</table>
|
|
107
|
-
<table class="table table-striped table-bordered">
|
|
108
|
-
<thead>
|
|
109
|
-
<tr>
|
|
110
|
-
<th style="text-align: center;background-color: #dfedfb;color:black;">燃气设施全景</th>
|
|
111
|
-
</tr>
|
|
112
|
-
</thead>
|
|
113
|
-
<tbody>
|
|
114
|
-
<tr>
|
|
115
|
-
<td style="margin: auto;text-align: center">
|
|
116
|
-
<div class="container" style="max-width: 550px;background: #FFFFFF">
|
|
117
|
-
<div class="img" v-for="img in serviceall.imgs">
|
|
118
|
-
<tel-img-self-tel-plus :list="serviceall.imgs" :src="'rs/image/file/'+img.android_file" style="float: left" width="150"
|
|
119
|
-
height="200"></tel-img-self-tel-plus>
|
|
120
|
-
</div>
|
|
121
|
-
</div>
|
|
122
|
-
</td>
|
|
123
|
-
</tr>
|
|
124
|
-
</tbody>
|
|
125
|
-
</table>
|
|
126
|
-
<table class="table table-striped table-bordered">
|
|
127
|
-
<thead>
|
|
128
|
-
<tr>
|
|
129
|
-
<th style="text-align: center;background-color: #dfedfb;color:black;">用户签名照片</th>
|
|
130
|
-
</tr>
|
|
131
|
-
</thead>
|
|
132
|
-
<tr>
|
|
133
|
-
<td style="margin: auto;text-align: center">
|
|
134
|
-
<div class="container" style="max-width: 500px;background: #FFFFFF">
|
|
135
|
-
<div class="img" style="float: none">
|
|
136
|
-
<tel-img-self-tel-plus :src="'rs/image/file/'+serviceall.f_signname" width="400" height="300"></tel-img-self-tel-plus>
|
|
137
|
-
</div>
|
|
138
|
-
</div>
|
|
139
|
-
</td>
|
|
140
|
-
</tr>
|
|
141
|
-
</table>
|
|
142
|
-
<table class="table table-striped table-bordered" v-if="serviceall.f_recording_path">
|
|
143
|
-
<thead>
|
|
144
|
-
<tr>
|
|
145
|
-
<th style="text-align: center;background-color: #dfedfb;color:black;">录音文件</th>
|
|
146
|
-
</tr>
|
|
147
|
-
</thead>
|
|
148
|
-
<tr>
|
|
149
|
-
<td style="margin: auto;text-align: center">
|
|
150
|
-
<div class="container" style="max-width: 500px;background: #FFFFFF">
|
|
151
|
-
<a class="button_spacing button_search-1"
|
|
152
|
-
:href="'rs/image/file/'+serviceall.f_recording_path" >录音下载</a>
|
|
153
|
-
</div>
|
|
154
|
-
</td>
|
|
155
|
-
</tr>
|
|
156
|
-
</table>
|
|
157
|
-
<table class="table table-striped table-bordered" v-if="serviceall.f_othercharge_id">
|
|
158
|
-
<thead>
|
|
159
|
-
<tr>
|
|
160
|
-
<th colspan="5" style="text-align: center;background-color: #dfedfb;color:black;">其他收费</th>
|
|
161
|
-
</tr>
|
|
162
|
-
</thead>
|
|
163
|
-
<tr>
|
|
164
|
-
<td style="margin: auto;text-align: center">
|
|
165
|
-
收费类型
|
|
166
|
-
</td>
|
|
167
|
-
<td style="margin: auto;text-align: center">
|
|
168
|
-
单价
|
|
169
|
-
</td>
|
|
170
|
-
<td style="margin: auto;text-align: center">
|
|
171
|
-
数量
|
|
172
|
-
</td>
|
|
173
|
-
<td style="margin: auto;text-align: center">
|
|
174
|
-
付款方式
|
|
175
|
-
</td>
|
|
176
|
-
<td style="margin: auto;text-align: center">
|
|
177
|
-
收费日期
|
|
178
|
-
</td>
|
|
179
|
-
</tr>
|
|
180
|
-
<tr v-for="item in othercharge">
|
|
181
|
-
<td style="margin: auto;text-align: center">
|
|
182
|
-
{{item.f_brand_spec}}
|
|
183
|
-
</td>
|
|
184
|
-
<td style="margin: auto;text-align: center">
|
|
185
|
-
{{item.f_unitprice}}
|
|
186
|
-
</td>
|
|
187
|
-
<td style="margin: auto;text-align: center">
|
|
188
|
-
{{item.f_number}}
|
|
189
|
-
</td>
|
|
190
|
-
<td style="margin: auto;text-align: center">
|
|
191
|
-
{{item.f_payment}}
|
|
192
|
-
</td>
|
|
193
|
-
<td style="margin: auto;text-align: center">
|
|
194
|
-
{{item.f_operate_date}}
|
|
195
|
-
</td>
|
|
196
|
-
</tr>
|
|
197
|
-
</table>
|
|
198
|
-
|
|
199
|
-
</div>
|
|
200
|
-
</div>
|
|
201
|
-
<div class style="width: 1%;height: 100%;background-color: #F1F8FF;float: left;"></div>
|
|
202
|
-
<div class="col-md-6" style="height: 100%;overflow: scroll">
|
|
203
|
-
<div style="width: 95%;margin-left: 5%">
|
|
204
|
-
<table class="table table-striped table-bordered" v-for=" serviceone in servicerepair">
|
|
205
|
-
<thead>
|
|
206
|
-
<tr>
|
|
207
|
-
<th style="text-align: center;background-color: #dfedfb;color:black;">{{ serviceone.f_type }}</th>
|
|
208
|
-
</tr>
|
|
209
|
-
</thead>
|
|
210
|
-
<tbody>
|
|
211
|
-
<tr v-for="detail in serviceone.details">
|
|
212
|
-
<td>
|
|
213
|
-
<div class="row">
|
|
214
|
-
<div class="col-md-8" style="text-align: center;" v-if="detail.f_defect_id">
|
|
215
|
-
<a @click="showSafeImg(detail)">{{ detail.f_project }}</a>
|
|
216
|
-
</div>
|
|
217
|
-
<div class="col-md-8" style="text-align: center;" v-else>
|
|
218
|
-
{{ detail.f_project }}
|
|
219
|
-
</div>
|
|
220
|
-
<div class="col-md-4" style="text-align: center;" v-if="detail.type!='picture'">
|
|
221
|
-
{{ detail.f_content?detail.f_content:'无' }}
|
|
222
|
-
</div>
|
|
223
|
-
<div class="col-md-4" style="text-align: center;" v-if="detail.type=='picture'&&ispicture(serviceone.imgs,detail.f_project)">
|
|
224
|
-
<button-link style="color: black" type="button" class="btn btn-link"
|
|
225
|
-
@click="showpath(serviceone.imgs,detail.f_project)">查看照片
|
|
226
|
-
</button-link>
|
|
227
|
-
</div>
|
|
228
|
-
<div class="col-md-4" style="text-align: center;" v-if="detail.type=='picture'&&!ispicture(serviceone.imgs,detail.f_project)">
|
|
229
|
-
无照片
|
|
230
|
-
</div>
|
|
231
|
-
</div>
|
|
232
|
-
<!-- {{detail.f_first_imgname}}-->
|
|
233
|
-
<!-- <div class="row" v-if="detail.f_first_imgname">
|
|
234
|
-
<div class="container" style="max-width: 500px;background: #FFFFFF">
|
|
235
|
-
<div class="img" style="float: none">
|
|
236
|
-
<tel-img-self-tel-plus :src="'rs/image/file/'+detail.f_first_imgname" width="400" height="300"></tel-img-self-tel-plus>
|
|
237
|
-
</div>
|
|
238
|
-
|
|
239
|
-
</div>
|
|
240
|
-
</div>-->
|
|
241
|
-
</td>
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
</tr>
|
|
245
|
-
</tbody>
|
|
246
|
-
</table>
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
</div>
|
|
250
|
-
|
|
251
|
-
</div>
|
|
252
|
-
</div>
|
|
253
|
-
<div v-show="false">
|
|
254
|
-
<div id="toPdf" class="container-fluid row" style="overflow: scroll">
|
|
255
|
-
<div style="margin-right: 2%;margin-left: 2%;height: 100%;overflow: scroll;width: 95%">
|
|
256
|
-
<div style="width: 100%;margin: auto">
|
|
257
|
-
<table class="table table-striped table-bordered" style="margin-bottom: 6px">
|
|
258
|
-
<thead>
|
|
259
|
-
<tr>
|
|
260
|
-
<th colspan="6" style="text-align: center;background-color: #dfedfb;color:black;">客户工单信息</th>
|
|
261
|
-
</tr>
|
|
262
|
-
</thead>
|
|
263
|
-
<tbody>
|
|
264
|
-
<tr>
|
|
265
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用户名称:</td>
|
|
266
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ baseuserinfo.f_user_name }}</td>
|
|
267
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用户编号:</td>
|
|
268
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ baseuserinfo.f_userinfo_code }}</td>
|
|
269
|
-
</tr>
|
|
270
|
-
<tr>
|
|
271
|
-
<td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">详细地址:</td>
|
|
272
|
-
<td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{ baseuserinfo.f_address }}</td>
|
|
273
|
-
</tr>
|
|
274
|
-
<tr v-if="serviceall.f_workorder_type=='报修单'">
|
|
275
|
-
<td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">故障明细:</td>
|
|
276
|
-
<td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{ changefailure(serviceall.f_new_failure) }}</td>
|
|
277
|
-
</tr>
|
|
278
|
-
<tr v-if="serviceall.f_workorder_type=='报修单'">
|
|
279
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">{{usermeter.f_collection_type=='按金额'?'累购金额:':'累购气量:'}}</td>
|
|
280
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ usermeter.f_collection_type=='按金额'?usermeter.f_total_fee:usermeter.f_total_gas }}</td>
|
|
281
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">左 右 表:</td>
|
|
282
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ usermeter.f_aroundmeter }}</td>
|
|
283
|
-
</tr>
|
|
284
|
-
<tr v-if="serviceall.f_workorder_type=='报修单'">
|
|
285
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">表   号:</td>
|
|
286
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ usermeter.f_meternumber }}</td>
|
|
287
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%"></td>
|
|
288
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%"></td>
|
|
289
|
-
</tr>
|
|
290
|
-
<tr v-if="serviceall.f_workorder_type=='报修单'">
|
|
291
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">表 品 牌:</td>
|
|
292
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ usermeter.f_meter_brand }}</td>
|
|
293
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">表 型 号:</td>
|
|
294
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ usermeter.f_meter_style }}</td>
|
|
295
|
-
</tr>
|
|
296
|
-
<tr v-if="serviceall.f_workorder_type=='置换通气单'">
|
|
297
|
-
|
|
298
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用户姓名:</td>
|
|
299
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ baseuserinfo.f_user_name }}</td>
|
|
300
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用气性质:</td>
|
|
301
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ baseuserinfo.f_gasproperties }}</td>
|
|
302
|
-
</tr>
|
|
303
|
-
<tr v-if="serviceall.f_workorder_type=='置换通气单'">
|
|
304
|
-
|
|
305
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">联系电话:</td>
|
|
306
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ baseuserinfo.f_user_phone }}</td>
|
|
307
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">住户类型:</td>
|
|
308
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ baseuserinfo.f_house_type }}</td>
|
|
309
|
-
</tr>
|
|
310
|
-
<tr v-if="serviceall.f_workorder_type=='置换通气单'">
|
|
311
|
-
<td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">身份证号:</td>
|
|
312
|
-
<td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{baseuserinfo.f_shenfenzheng}}</td>
|
|
313
|
-
</tr>
|
|
314
|
-
<tr v-if="serviceall.f_workorder_type=='置换通气单'">
|
|
315
|
-
<td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">用户地址:</td>
|
|
316
|
-
<td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{baseuserinfo.f_address}}</td>
|
|
317
|
-
</tr>
|
|
318
|
-
<!-- <tr>-->
|
|
319
|
-
|
|
320
|
-
<!-- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">派单时间:</td>-->
|
|
321
|
-
<!-- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ service.f_created_date }}</td>-->
|
|
322
|
-
<!-- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">完成时间:</td>-->
|
|
323
|
-
<!-- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ service.f_repair_date }}</td>-->
|
|
324
|
-
<!-- </tr>-->
|
|
325
|
-
<tr>
|
|
326
|
-
|
|
327
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">到达时间:</td>
|
|
328
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ serviceall.f_date_come }}</td>
|
|
329
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">离开时间:</td>
|
|
330
|
-
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ serviceall.f_date_leave }}</td>
|
|
331
|
-
</tr>
|
|
332
|
-
<tr v-if="serviceall.f_workorder_type == '置换通气单' && baseuserinfo.f_user_type == '民用'">
|
|
333
|
-
<td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">防盗卡号:</td>
|
|
334
|
-
<td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{ usermeter.f_defendcard }}</td>
|
|
335
|
-
</tr>
|
|
336
|
-
<tr v-if="serviceall.f_workorder_type == '置换通气单' && baseuserinfo.f_user_type == '非民用'">
|
|
337
|
-
<td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">铅封号:</td>
|
|
338
|
-
<td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{ usermeter.f_gmd_lsnumber }}</td>
|
|
339
|
-
</tr>
|
|
340
|
-
<tr>
|
|
341
|
-
<td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">备注:</td>
|
|
342
|
-
<td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{ serviceall.f_remarks }}</td>
|
|
343
|
-
</tr>
|
|
344
|
-
</tbody>
|
|
345
|
-
</table>
|
|
346
|
-
<table class="table table-striped table-bordered">
|
|
347
|
-
<thead>
|
|
348
|
-
<tr>
|
|
349
|
-
<th style="text-align: center;background-color: #dfedfb;color:black;">燃气设施全景</th>
|
|
350
|
-
</tr>
|
|
351
|
-
</thead>
|
|
352
|
-
<tbody>
|
|
353
|
-
<tr>
|
|
354
|
-
<td style="margin: auto;text-align: center">
|
|
355
|
-
<div class="container" style="max-width: 550px;background: #FFFFFF">
|
|
356
|
-
<div class="img" v-for="img in serviceall.imgs">
|
|
357
|
-
<tel-img-self-tel-plus :src="'rs/image/file/'+img.android_file" style="float: left" width="150"
|
|
358
|
-
height="200"></tel-img-self-tel-plus>
|
|
359
|
-
</div>
|
|
360
|
-
</div>
|
|
361
|
-
</td>
|
|
362
|
-
</tr>
|
|
363
|
-
</tbody>
|
|
364
|
-
</table>
|
|
365
|
-
<table class="table table-striped table-bordered">
|
|
366
|
-
<thead>
|
|
367
|
-
<tr>
|
|
368
|
-
<th style="text-align: center;background-color: #dfedfb;color:black;">用户签名照片</th>
|
|
369
|
-
</tr>
|
|
370
|
-
</thead>
|
|
371
|
-
<tr>
|
|
372
|
-
<td style="margin: auto;text-align: center">
|
|
373
|
-
<div class="container" style="max-width: 500px;background: #FFFFFF">
|
|
374
|
-
<div class="img" style="float: none">
|
|
375
|
-
<tel-img-self-tel-plus :src="'rs/image/file/'+serviceall.f_signname" width="400" height="300"></tel-img-self-tel-plus>
|
|
376
|
-
</div>
|
|
377
|
-
</div>
|
|
378
|
-
</td>
|
|
379
|
-
</tr>
|
|
380
|
-
</table>
|
|
381
|
-
<table class="table table-striped table-bordered" v-if="serviceall.f_othercharge_id">
|
|
382
|
-
<thead>
|
|
383
|
-
<tr>
|
|
384
|
-
<th colspan="5" style="text-align: center;background-color: #dfedfb;color:black;">其他收费</th>
|
|
385
|
-
</tr>
|
|
386
|
-
</thead>
|
|
387
|
-
<tr>
|
|
388
|
-
<td style="margin: auto;text-align: center">
|
|
389
|
-
收费类型
|
|
390
|
-
</td>
|
|
391
|
-
<td style="margin: auto;text-align: center">
|
|
392
|
-
单价
|
|
393
|
-
</td>
|
|
394
|
-
<td style="margin: auto;text-align: center">
|
|
395
|
-
数量
|
|
396
|
-
</td>
|
|
397
|
-
<td style="margin: auto;text-align: center">
|
|
398
|
-
付款方式
|
|
399
|
-
</td>
|
|
400
|
-
<td style="margin: auto;text-align: center">
|
|
401
|
-
收费日期
|
|
402
|
-
</td>
|
|
403
|
-
</tr>
|
|
404
|
-
<tr v-for="item in othercharge">
|
|
405
|
-
<td style="margin: auto;text-align: center">
|
|
406
|
-
{{item.f_brand_spec}}
|
|
407
|
-
</td>
|
|
408
|
-
<td style="margin: auto;text-align: center">
|
|
409
|
-
{{item.f_unitprice}}
|
|
410
|
-
</td>
|
|
411
|
-
<td style="margin: auto;text-align: center">
|
|
412
|
-
{{item.f_number}}
|
|
413
|
-
</td>
|
|
414
|
-
<td style="margin: auto;text-align: center">
|
|
415
|
-
{{item.f_payment}}
|
|
416
|
-
</td>
|
|
417
|
-
<td style="margin: auto;text-align: center">
|
|
418
|
-
{{item.f_operate_date}}
|
|
419
|
-
</td>
|
|
420
|
-
</tr>
|
|
421
|
-
</table>
|
|
422
|
-
|
|
423
|
-
</div>
|
|
424
|
-
</div>
|
|
425
|
-
<div style="height: 100%;width: 95%;overflow: scroll">
|
|
426
|
-
<div style="width: 95%;margin-left: 5%">
|
|
427
|
-
<table class="table table-striped table-bordered" v-for=" serviceone in servicerepair">
|
|
428
|
-
<thead>
|
|
429
|
-
<tr>
|
|
430
|
-
<th style="text-align: center;background-color: #dfedfb;color:black;">{{ serviceone.f_type }}</th>
|
|
431
|
-
</tr>
|
|
432
|
-
</thead>
|
|
433
|
-
<tbody>
|
|
434
|
-
<tr v-for="detail in serviceone.details">
|
|
435
|
-
<td>
|
|
436
|
-
<div class="row">
|
|
437
|
-
<div class="col-md-8" style="text-align: center;">{{ detail.f_project }}</div>
|
|
438
|
-
<div class="col-md-4" style="text-align: center;" v-if="detail.type!='picture'">
|
|
439
|
-
{{ detail.f_content?detail.f_content:'无' }}
|
|
440
|
-
</div>
|
|
441
|
-
<div class="col-md-4" style="text-align: center;" v-if="detail.type=='picture'&&ispicture(serviceone.imgs,detail.f_project)">
|
|
442
|
-
<button-link style="color: black" type="button" class="btn btn-link"
|
|
443
|
-
@click="showpath(serviceone.imgs,detail.f_project)">查看照片
|
|
444
|
-
</button-link>
|
|
445
|
-
</div>
|
|
446
|
-
<div class="col-md-4" style="text-align: center;" v-if="detail.type=='picture'&&!ispicture(serviceone.imgs,detail.f_project)">
|
|
447
|
-
无照片
|
|
448
|
-
</div>
|
|
449
|
-
</div>
|
|
450
|
-
<!-- {{detail.f_first_imgname}}-->
|
|
451
|
-
<!-- <div class="row" v-if="detail.f_first_imgname">
|
|
452
|
-
<div class="container" style="max-width: 500px;background: #FFFFFF">
|
|
453
|
-
<div class="img" style="float: none">
|
|
454
|
-
<tel-img-self-tel-plus :src="'rs/image/file/'+detail.f_first_imgname" width="400" height="300"></tel-img-self-tel-plus>
|
|
455
|
-
</div>
|
|
456
|
-
|
|
457
|
-
</div>
|
|
458
|
-
</div>-->
|
|
459
|
-
</td>
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
</tr>
|
|
463
|
-
</tbody>
|
|
464
|
-
</table>
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
</div>
|
|
468
|
-
|
|
469
|
-
</div>
|
|
470
|
-
</div>
|
|
471
|
-
</div>
|
|
472
|
-
</div>
|
|
473
|
-
<modal :show.sync="imgshow" v-ref:modal backdrop="true">
|
|
474
|
-
<header slot="modal-header" class="modal-header" style="font-size: 20px;text-align: center">
|
|
475
|
-
{{ picturename }}
|
|
476
|
-
</header>
|
|
477
|
-
<article slot="modal-body" class="modal-body">
|
|
478
|
-
<div class="from-group">
|
|
479
|
-
<div class="row">
|
|
480
|
-
<div class="col-md-6" v-for="item in showimgs">
|
|
481
|
-
<tel-img-self-tel-plus :src="item" width="300" height="400"></tel-img-self-tel-plus>
|
|
482
|
-
</div>
|
|
483
|
-
</div>
|
|
484
|
-
</div>
|
|
485
|
-
</article>
|
|
486
|
-
<footer slot="modal-footer" class="modal-footer" v-show="false">
|
|
487
|
-
<button type="button" class="btn btn-success" @click='imgclose'>关闭</button>
|
|
488
|
-
</footer>
|
|
489
|
-
</modal>
|
|
490
|
-
</template>
|
|
491
|
-
|
|
492
|
-
<script>
|
|
493
|
-
import html2pdf from 'html2pdf.js'
|
|
494
|
-
import {HttpResetClass} from 'vue-client'
|
|
495
|
-
|
|
496
|
-
export default {
|
|
497
|
-
title: '工单详情',
|
|
498
|
-
props: ['curactivity', 'service'],
|
|
499
|
-
data () {
|
|
500
|
-
return {
|
|
501
|
-
showPdfDownload: this.$appdata.getSingleValue('工单结果pdf下载') ? this.$appdata.getSingleValue('工单结果pdf下载') : false,
|
|
502
|
-
othercharge:[],
|
|
503
|
-
imgshow:false,
|
|
504
|
-
picturename:'',
|
|
505
|
-
showimg:'',
|
|
506
|
-
baseuserinfo: {},
|
|
507
|
-
showimgs:[],
|
|
508
|
-
allimgs: [],
|
|
509
|
-
servicerepair: [],
|
|
510
|
-
serviceall: {},
|
|
511
|
-
usermeter:{},
|
|
512
|
-
loading: false
|
|
513
|
-
}
|
|
514
|
-
},
|
|
515
|
-
ready () {
|
|
516
|
-
this.loading=true
|
|
517
|
-
////tag
|
|
518
|
-
////tag)
|
|
519
|
-
let http = new HttpResetClass()
|
|
520
|
-
////tag
|
|
521
|
-
http.load('POST', 'af-telephone/rs/path/serviceWork', {data: {id: this.curactivity.id}}, {
|
|
522
|
-
resolveMsg: null,
|
|
523
|
-
rejectMsg: null
|
|
524
|
-
}).then(res => {
|
|
525
|
-
////tag)
|
|
526
|
-
for (let i = 0; i < res.data.length; i++) {
|
|
527
|
-
if (res.data[i].id == this.curactivity.id) {
|
|
528
|
-
this.serviceall = res.data[i]
|
|
529
|
-
this.baseuserinfo = res.data[i].baseuserinfo
|
|
530
|
-
this.servicerepair = res.data[i].servicerepair
|
|
531
|
-
this.allimgs = res.data[i].imgs
|
|
532
|
-
http.load('post','af-telephone/rs/sql/getBaseMeterInfo',{data:{f_userinfo_id:this.baseuserinfo.f_userinfo_id}},{
|
|
533
|
-
resolveMsg: null,
|
|
534
|
-
rejectMsg: null
|
|
535
|
-
}).then(res=>{
|
|
536
|
-
this.usermeter=res.data[0]
|
|
537
|
-
})
|
|
538
|
-
if (res.data[i].f_othercharge_id){
|
|
539
|
-
let condition = {
|
|
540
|
-
items: 'od.f_brand_spec,od.f_unitprice,od.f_number,o.f_payment,o.f_operate_date',
|
|
541
|
-
tablename: 't_othercharge o left join t_othercharge_detail od on od.f_othercharge_id = o.id',
|
|
542
|
-
condition: `o.id = '${res.data[i].f_othercharge_id}'`,
|
|
543
|
-
orderitem: '1'
|
|
544
|
-
}
|
|
545
|
-
new HttpResetClass().load('post','af-telephone/rs/sql/tel_singleTable_OrderBy',{data:condition},{
|
|
546
|
-
resolveMsg: null,
|
|
547
|
-
rejectMsg: null
|
|
548
|
-
}).then(res=>{
|
|
549
|
-
this.othercharge=res.data
|
|
550
|
-
})
|
|
551
|
-
}
|
|
552
|
-
}
|
|
553
|
-
}
|
|
554
|
-
|
|
555
|
-
////tag)
|
|
556
|
-
////tag)
|
|
557
|
-
////tag)
|
|
558
|
-
////tag)
|
|
559
|
-
this.loading=false
|
|
560
|
-
})
|
|
561
|
-
},
|
|
562
|
-
methods: {
|
|
563
|
-
showSafeImg(detail){
|
|
564
|
-
this.picturename = ''
|
|
565
|
-
this.showimgs = []
|
|
566
|
-
if (detail.f_defect_id){
|
|
567
|
-
let data = {
|
|
568
|
-
items: '*',
|
|
569
|
-
tablename: 't_devices_items',
|
|
570
|
-
condition: `id = '${detail.f_defect_id}'`,
|
|
571
|
-
orderitem: '1'
|
|
572
|
-
}
|
|
573
|
-
let http = new HttpResetClass()
|
|
574
|
-
http.load('post','af-telephone/rs/sql/tel_singleTable_OrderBy',{data:data},{
|
|
575
|
-
resolveMsg: null,
|
|
576
|
-
rejectMsg: null
|
|
577
|
-
}).then(res=>{
|
|
578
|
-
this.picturename = '隐患照片/维修照片'
|
|
579
|
-
if (res.data[0].f_path){
|
|
580
|
-
this.showimgs.push('rs/image/file/'+res.data[0].f_path)
|
|
581
|
-
}
|
|
582
|
-
if(detail.f_first_imgname){
|
|
583
|
-
this.showimgs.push('rs/image/file/'+detail.f_first_imgname)
|
|
584
|
-
}
|
|
585
|
-
this.imgshow = true
|
|
586
|
-
})
|
|
587
|
-
}else {
|
|
588
|
-
|
|
589
|
-
}
|
|
590
|
-
},
|
|
591
|
-
exportToPDF() {
|
|
592
|
-
const element = document.getElementById('toPdf') // 替换为您要导出的页面元素的ID
|
|
593
|
-
html2pdf(element)
|
|
594
|
-
},
|
|
595
|
-
changefailure(val){
|
|
596
|
-
let failureall=''
|
|
597
|
-
// val=[{"f_failure_type":"抽油烟机","failurecase":[],"f_equipment":""},{"f_failure_type":"抽油烟机","failurecase":[],"f_equipment":""},{"f_failure_type":"抽油烟机","failurecase":[],"f_equipment":""}]
|
|
598
|
-
let failure = JSON.parse(val)
|
|
599
|
-
for (let i = 0; i <failure.length; i++) {
|
|
600
|
-
if (failure[i].failurecase.length>0){
|
|
601
|
-
failureall+=failure[i].f_failure_type+":"
|
|
602
|
-
for (let j = 0; j < failure[i].failurecase.length; j++) {
|
|
603
|
-
failureall+=failure[i].failurecase[j]
|
|
604
|
-
if (j+1!=failure[i].failurecase.length){
|
|
605
|
-
failureall+=","
|
|
606
|
-
}
|
|
607
|
-
}
|
|
608
|
-
|
|
609
|
-
}else{
|
|
610
|
-
failureall+=failure[i].f_failure_type
|
|
611
|
-
}
|
|
612
|
-
if (i+1!=failure.length){
|
|
613
|
-
failureall+=';'
|
|
614
|
-
}
|
|
615
|
-
}
|
|
616
|
-
return failureall
|
|
617
|
-
},
|
|
618
|
-
imgclose(){
|
|
619
|
-
this.imgshow=false
|
|
620
|
-
},
|
|
621
|
-
ispicture(imgs,imgid){
|
|
622
|
-
let imgstr=''
|
|
623
|
-
let imgpath=''
|
|
624
|
-
for (let i = 0; i < imgs.length; i++) {
|
|
625
|
-
if (imgs[i].imgpath==imgid){
|
|
626
|
-
imgstr=imgs[i].android_file
|
|
627
|
-
imgpath=imgs[i].imgpath
|
|
628
|
-
}
|
|
629
|
-
}
|
|
630
|
-
////tag
|
|
631
|
-
////tag
|
|
632
|
-
if (imgstr){
|
|
633
|
-
return true
|
|
634
|
-
}
|
|
635
|
-
return false
|
|
636
|
-
},
|
|
637
|
-
showpath (imgs,imgid) {
|
|
638
|
-
this.picturename = ''
|
|
639
|
-
const img = imgs.filter(res => res.imgpath === imgid).map(res => 'rs/image/file/' + res.android_file)
|
|
640
|
-
if (img.length > 0) {
|
|
641
|
-
this.showimgs = img
|
|
642
|
-
this.picturename = imgid
|
|
643
|
-
this.imgshow = true
|
|
644
|
-
}
|
|
645
|
-
},
|
|
646
|
-
back () {
|
|
647
|
-
this.$back()
|
|
648
|
-
}
|
|
649
|
-
}
|
|
650
|
-
}
|
|
651
|
-
</script>
|
|
652
|
-
|
|
653
|
-
<style scoped>
|
|
654
|
-
.img {
|
|
655
|
-
border: 1px solid #9773ed;
|
|
656
|
-
width: auto;
|
|
657
|
-
height: auto;
|
|
658
|
-
float: left;
|
|
659
|
-
text-align: center;
|
|
660
|
-
margin: 6px;
|
|
661
|
-
}
|
|
662
|
-
|
|
663
|
-
img {
|
|
664
|
-
margin: 6px;
|
|
665
|
-
}
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
.container {
|
|
669
|
-
margin: 10px auto;
|
|
670
|
-
width: 80%;
|
|
671
|
-
height: auto;
|
|
672
|
-
}
|
|
673
|
-
|
|
674
|
-
div::-webkit-scrollbar {
|
|
675
|
-
width: 0 !important;
|
|
676
|
-
height: 0 !important;
|
|
677
|
-
}
|
|
678
|
-
|
|
679
|
-
div {
|
|
680
|
-
-ms-overflow-style: none;
|
|
681
|
-
overflow: -moz-scrollbars-none;
|
|
682
|
-
}
|
|
683
|
-
|
|
684
|
-
.divmask {
|
|
685
|
-
pointer-events: none;
|
|
686
|
-
}
|
|
687
|
-
|
|
688
|
-
.app-header {
|
|
689
|
-
border-radius: 50%;
|
|
690
|
-
background: rgba(73, 158, 223, 0.4);
|
|
691
|
-
color: #FFF;
|
|
692
|
-
padding: 20px;
|
|
693
|
-
text-align: center;
|
|
694
|
-
font-size: 1.2em;
|
|
695
|
-
z-index: 10;
|
|
696
|
-
opacity: 0.5;
|
|
697
|
-
bottom: 50px;
|
|
698
|
-
margin-top: -20px;
|
|
699
|
-
position: absolute;
|
|
700
|
-
top: 10%;
|
|
701
|
-
right: 2%;
|
|
702
|
-
height: 8%;
|
|
703
|
-
}
|
|
704
|
-
</style>
|
|
1
|
+
<template>
|
|
2
|
+
<div class="basic-main" style="height: 100%">
|
|
3
|
+
<div class="page-header app-header auto" style="padding: 15px;margin-right: 10px;right: 0%;height: 7%">
|
|
4
|
+
<div @click="back()">
|
|
5
|
+
<img src="../../assets/back.png" style="margin: 0px"/>
|
|
6
|
+
</div>
|
|
7
|
+
</div>
|
|
8
|
+
<div v-show="showPdfDownload" class="page-header app-header auto"
|
|
9
|
+
style="padding: 15px;margin-right: 3.7%;right: 0%;height: 7%">
|
|
10
|
+
<div @click="exportToPDF()">
|
|
11
|
+
<img src="../../assets/下载_.png" style="margin: 0px;width: 30px"/>
|
|
12
|
+
</div>
|
|
13
|
+
</div>
|
|
14
|
+
<work-busy :is-busy="loading"></work-busy>
|
|
15
|
+
<div class="container-fluid" style="overflow: scroll">
|
|
16
|
+
<div class="col-md-5" style="margin-right: 2%;margin-left: 2%;height: 100%;overflow: scroll">
|
|
17
|
+
<div style="width: 100%;margin: auto">
|
|
18
|
+
<table class="table table-striped table-bordered" style="margin-bottom: 6px">
|
|
19
|
+
<thead>
|
|
20
|
+
<tr>
|
|
21
|
+
<th colspan="6" style="text-align: center;background-color: #dfedfb;color:black;">客户工单信息</th>
|
|
22
|
+
</tr>
|
|
23
|
+
</thead>
|
|
24
|
+
<tbody>
|
|
25
|
+
<tr>
|
|
26
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用户名称:</td>
|
|
27
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ baseuserinfo.f_user_name }}</td>
|
|
28
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用户编号:</td>
|
|
29
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ baseuserinfo.f_userinfo_code }}</td>
|
|
30
|
+
</tr>
|
|
31
|
+
<tr>
|
|
32
|
+
<td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">详细地址:</td>
|
|
33
|
+
<td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{ baseuserinfo.f_address }}</td>
|
|
34
|
+
</tr>
|
|
35
|
+
<tr v-if="serviceall.f_workorder_type=='报修单'">
|
|
36
|
+
<td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">故障明细:</td>
|
|
37
|
+
<td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{ changefailure(serviceall.f_new_failure) }}</td>
|
|
38
|
+
</tr>
|
|
39
|
+
<tr v-if="serviceall.f_workorder_type=='报修单'">
|
|
40
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">{{usermeter.f_collection_type=='按金额'?'累购金额:':'累购气量:'}}</td>
|
|
41
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ usermeter.f_collection_type=='按金额'?usermeter.f_total_fee:usermeter.f_total_gas }}</td>
|
|
42
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">左 右 表:</td>
|
|
43
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ usermeter.f_aroundmeter }}</td>
|
|
44
|
+
</tr>
|
|
45
|
+
<tr v-if="serviceall.f_workorder_type=='报修单'">
|
|
46
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">表   号:</td>
|
|
47
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ usermeter.f_meternumber }}</td>
|
|
48
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%"></td>
|
|
49
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%"></td>
|
|
50
|
+
</tr>
|
|
51
|
+
<tr v-if="serviceall.f_workorder_type=='报修单'">
|
|
52
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">表 品 牌:</td>
|
|
53
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ usermeter.f_meter_brand }}</td>
|
|
54
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">表 型 号:</td>
|
|
55
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ usermeter.f_meter_style }}</td>
|
|
56
|
+
</tr>
|
|
57
|
+
<tr v-if="serviceall.f_workorder_type=='置换通气单'">
|
|
58
|
+
|
|
59
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用户姓名:</td>
|
|
60
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ baseuserinfo.f_user_name }}</td>
|
|
61
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用气性质:</td>
|
|
62
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ baseuserinfo.f_gasproperties }}</td>
|
|
63
|
+
</tr>
|
|
64
|
+
<tr v-if="serviceall.f_workorder_type=='置换通气单'">
|
|
65
|
+
|
|
66
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">联系电话:</td>
|
|
67
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ baseuserinfo.f_user_phone }}</td>
|
|
68
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">住户类型:</td>
|
|
69
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ baseuserinfo.f_house_type }}</td>
|
|
70
|
+
</tr>
|
|
71
|
+
<tr v-if="serviceall.f_workorder_type=='置换通气单'">
|
|
72
|
+
<td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">身份证号:</td>
|
|
73
|
+
<td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{baseuserinfo.f_shenfenzheng}}</td>
|
|
74
|
+
</tr>
|
|
75
|
+
<tr v-if="serviceall.f_workorder_type=='置换通气单'">
|
|
76
|
+
<td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">用户地址:</td>
|
|
77
|
+
<td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{baseuserinfo.f_address}}</td>
|
|
78
|
+
</tr>
|
|
79
|
+
<!-- <tr>-->
|
|
80
|
+
|
|
81
|
+
<!-- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">派单时间:</td>-->
|
|
82
|
+
<!-- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ service.f_created_date }}</td>-->
|
|
83
|
+
<!-- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">完成时间:</td>-->
|
|
84
|
+
<!-- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ service.f_repair_date }}</td>-->
|
|
85
|
+
<!-- </tr>-->
|
|
86
|
+
<tr>
|
|
87
|
+
|
|
88
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">到达时间:</td>
|
|
89
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ serviceall.f_date_come }}</td>
|
|
90
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">离开时间:</td>
|
|
91
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ serviceall.f_date_leave }}</td>
|
|
92
|
+
</tr>
|
|
93
|
+
<tr v-if="serviceall.f_workorder_type == '置换通气单' && baseuserinfo.f_user_type == '民用'">
|
|
94
|
+
<td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">防盗卡号:</td>
|
|
95
|
+
<td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{ usermeter.f_defendcard }}</td>
|
|
96
|
+
</tr>
|
|
97
|
+
<tr v-if="serviceall.f_workorder_type == '置换通气单' && baseuserinfo.f_user_type == '非民用'">
|
|
98
|
+
<td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">铅封号:</td>
|
|
99
|
+
<td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{ usermeter.f_gmd_lsnumber }}</td>
|
|
100
|
+
</tr>
|
|
101
|
+
<tr>
|
|
102
|
+
<td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">备注:</td>
|
|
103
|
+
<td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{ serviceall.f_remarks }}</td>
|
|
104
|
+
</tr>
|
|
105
|
+
</tbody>
|
|
106
|
+
</table>
|
|
107
|
+
<table class="table table-striped table-bordered">
|
|
108
|
+
<thead>
|
|
109
|
+
<tr>
|
|
110
|
+
<th style="text-align: center;background-color: #dfedfb;color:black;">燃气设施全景</th>
|
|
111
|
+
</tr>
|
|
112
|
+
</thead>
|
|
113
|
+
<tbody>
|
|
114
|
+
<tr>
|
|
115
|
+
<td style="margin: auto;text-align: center">
|
|
116
|
+
<div class="container" style="max-width: 550px;background: #FFFFFF">
|
|
117
|
+
<div class="img" v-for="img in serviceall.imgs">
|
|
118
|
+
<tel-img-self-tel-plus :list="serviceall.imgs" :src="'rs/image/file/'+img.android_file" style="float: left" width="150"
|
|
119
|
+
height="200"></tel-img-self-tel-plus>
|
|
120
|
+
</div>
|
|
121
|
+
</div>
|
|
122
|
+
</td>
|
|
123
|
+
</tr>
|
|
124
|
+
</tbody>
|
|
125
|
+
</table>
|
|
126
|
+
<table class="table table-striped table-bordered">
|
|
127
|
+
<thead>
|
|
128
|
+
<tr>
|
|
129
|
+
<th style="text-align: center;background-color: #dfedfb;color:black;">用户签名照片</th>
|
|
130
|
+
</tr>
|
|
131
|
+
</thead>
|
|
132
|
+
<tr>
|
|
133
|
+
<td style="margin: auto;text-align: center">
|
|
134
|
+
<div class="container" style="max-width: 500px;background: #FFFFFF">
|
|
135
|
+
<div class="img" style="float: none">
|
|
136
|
+
<tel-img-self-tel-plus :src="'rs/image/file/'+serviceall.f_signname" width="400" height="300"></tel-img-self-tel-plus>
|
|
137
|
+
</div>
|
|
138
|
+
</div>
|
|
139
|
+
</td>
|
|
140
|
+
</tr>
|
|
141
|
+
</table>
|
|
142
|
+
<table class="table table-striped table-bordered" v-if="serviceall.f_recording_path">
|
|
143
|
+
<thead>
|
|
144
|
+
<tr>
|
|
145
|
+
<th style="text-align: center;background-color: #dfedfb;color:black;">录音文件</th>
|
|
146
|
+
</tr>
|
|
147
|
+
</thead>
|
|
148
|
+
<tr>
|
|
149
|
+
<td style="margin: auto;text-align: center">
|
|
150
|
+
<div class="container" style="max-width: 500px;background: #FFFFFF">
|
|
151
|
+
<a class="button_spacing button_search-1"
|
|
152
|
+
:href="'rs/image/file/'+serviceall.f_recording_path" >录音下载</a>
|
|
153
|
+
</div>
|
|
154
|
+
</td>
|
|
155
|
+
</tr>
|
|
156
|
+
</table>
|
|
157
|
+
<table class="table table-striped table-bordered" v-if="serviceall.f_othercharge_id">
|
|
158
|
+
<thead>
|
|
159
|
+
<tr>
|
|
160
|
+
<th colspan="5" style="text-align: center;background-color: #dfedfb;color:black;">其他收费</th>
|
|
161
|
+
</tr>
|
|
162
|
+
</thead>
|
|
163
|
+
<tr>
|
|
164
|
+
<td style="margin: auto;text-align: center">
|
|
165
|
+
收费类型
|
|
166
|
+
</td>
|
|
167
|
+
<td style="margin: auto;text-align: center">
|
|
168
|
+
单价
|
|
169
|
+
</td>
|
|
170
|
+
<td style="margin: auto;text-align: center">
|
|
171
|
+
数量
|
|
172
|
+
</td>
|
|
173
|
+
<td style="margin: auto;text-align: center">
|
|
174
|
+
付款方式
|
|
175
|
+
</td>
|
|
176
|
+
<td style="margin: auto;text-align: center">
|
|
177
|
+
收费日期
|
|
178
|
+
</td>
|
|
179
|
+
</tr>
|
|
180
|
+
<tr v-for="item in othercharge">
|
|
181
|
+
<td style="margin: auto;text-align: center">
|
|
182
|
+
{{item.f_brand_spec}}
|
|
183
|
+
</td>
|
|
184
|
+
<td style="margin: auto;text-align: center">
|
|
185
|
+
{{item.f_unitprice}}
|
|
186
|
+
</td>
|
|
187
|
+
<td style="margin: auto;text-align: center">
|
|
188
|
+
{{item.f_number}}
|
|
189
|
+
</td>
|
|
190
|
+
<td style="margin: auto;text-align: center">
|
|
191
|
+
{{item.f_payment}}
|
|
192
|
+
</td>
|
|
193
|
+
<td style="margin: auto;text-align: center">
|
|
194
|
+
{{item.f_operate_date}}
|
|
195
|
+
</td>
|
|
196
|
+
</tr>
|
|
197
|
+
</table>
|
|
198
|
+
|
|
199
|
+
</div>
|
|
200
|
+
</div>
|
|
201
|
+
<div class style="width: 1%;height: 100%;background-color: #F1F8FF;float: left;"></div>
|
|
202
|
+
<div class="col-md-6" style="height: 100%;overflow: scroll">
|
|
203
|
+
<div style="width: 95%;margin-left: 5%">
|
|
204
|
+
<table class="table table-striped table-bordered" v-for=" serviceone in servicerepair">
|
|
205
|
+
<thead>
|
|
206
|
+
<tr>
|
|
207
|
+
<th style="text-align: center;background-color: #dfedfb;color:black;">{{ serviceone.f_type }}</th>
|
|
208
|
+
</tr>
|
|
209
|
+
</thead>
|
|
210
|
+
<tbody>
|
|
211
|
+
<tr v-for="detail in serviceone.details">
|
|
212
|
+
<td>
|
|
213
|
+
<div class="row">
|
|
214
|
+
<div class="col-md-8" style="text-align: center;" v-if="detail.f_defect_id">
|
|
215
|
+
<a @click="showSafeImg(detail)">{{ detail.f_project }}</a>
|
|
216
|
+
</div>
|
|
217
|
+
<div class="col-md-8" style="text-align: center;" v-else>
|
|
218
|
+
{{ detail.f_project }}
|
|
219
|
+
</div>
|
|
220
|
+
<div class="col-md-4" style="text-align: center;" v-if="detail.type!='picture'">
|
|
221
|
+
{{ detail.f_content?detail.f_content:'无' }}
|
|
222
|
+
</div>
|
|
223
|
+
<div class="col-md-4" style="text-align: center;" v-if="detail.type=='picture'&&ispicture(serviceone.imgs,detail.f_project)">
|
|
224
|
+
<button-link style="color: black" type="button" class="btn btn-link"
|
|
225
|
+
@click="showpath(serviceone.imgs,detail.f_project)">查看照片
|
|
226
|
+
</button-link>
|
|
227
|
+
</div>
|
|
228
|
+
<div class="col-md-4" style="text-align: center;" v-if="detail.type=='picture'&&!ispicture(serviceone.imgs,detail.f_project)">
|
|
229
|
+
无照片
|
|
230
|
+
</div>
|
|
231
|
+
</div>
|
|
232
|
+
<!-- {{detail.f_first_imgname}}-->
|
|
233
|
+
<!-- <div class="row" v-if="detail.f_first_imgname">
|
|
234
|
+
<div class="container" style="max-width: 500px;background: #FFFFFF">
|
|
235
|
+
<div class="img" style="float: none">
|
|
236
|
+
<tel-img-self-tel-plus :src="'rs/image/file/'+detail.f_first_imgname" width="400" height="300"></tel-img-self-tel-plus>
|
|
237
|
+
</div>
|
|
238
|
+
|
|
239
|
+
</div>
|
|
240
|
+
</div>-->
|
|
241
|
+
</td>
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
</tr>
|
|
245
|
+
</tbody>
|
|
246
|
+
</table>
|
|
247
|
+
|
|
248
|
+
|
|
249
|
+
</div>
|
|
250
|
+
|
|
251
|
+
</div>
|
|
252
|
+
</div>
|
|
253
|
+
<div v-show="false">
|
|
254
|
+
<div id="toPdf" class="container-fluid row" style="overflow: scroll">
|
|
255
|
+
<div style="margin-right: 2%;margin-left: 2%;height: 100%;overflow: scroll;width: 95%">
|
|
256
|
+
<div style="width: 100%;margin: auto">
|
|
257
|
+
<table class="table table-striped table-bordered" style="margin-bottom: 6px">
|
|
258
|
+
<thead>
|
|
259
|
+
<tr>
|
|
260
|
+
<th colspan="6" style="text-align: center;background-color: #dfedfb;color:black;">客户工单信息</th>
|
|
261
|
+
</tr>
|
|
262
|
+
</thead>
|
|
263
|
+
<tbody>
|
|
264
|
+
<tr>
|
|
265
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用户名称:</td>
|
|
266
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ baseuserinfo.f_user_name }}</td>
|
|
267
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用户编号:</td>
|
|
268
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ baseuserinfo.f_userinfo_code }}</td>
|
|
269
|
+
</tr>
|
|
270
|
+
<tr>
|
|
271
|
+
<td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">详细地址:</td>
|
|
272
|
+
<td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{ baseuserinfo.f_address }}</td>
|
|
273
|
+
</tr>
|
|
274
|
+
<tr v-if="serviceall.f_workorder_type=='报修单'">
|
|
275
|
+
<td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">故障明细:</td>
|
|
276
|
+
<td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{ changefailure(serviceall.f_new_failure) }}</td>
|
|
277
|
+
</tr>
|
|
278
|
+
<tr v-if="serviceall.f_workorder_type=='报修单'">
|
|
279
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">{{usermeter.f_collection_type=='按金额'?'累购金额:':'累购气量:'}}</td>
|
|
280
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ usermeter.f_collection_type=='按金额'?usermeter.f_total_fee:usermeter.f_total_gas }}</td>
|
|
281
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">左 右 表:</td>
|
|
282
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ usermeter.f_aroundmeter }}</td>
|
|
283
|
+
</tr>
|
|
284
|
+
<tr v-if="serviceall.f_workorder_type=='报修单'">
|
|
285
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">表   号:</td>
|
|
286
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ usermeter.f_meternumber }}</td>
|
|
287
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%"></td>
|
|
288
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%"></td>
|
|
289
|
+
</tr>
|
|
290
|
+
<tr v-if="serviceall.f_workorder_type=='报修单'">
|
|
291
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">表 品 牌:</td>
|
|
292
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ usermeter.f_meter_brand }}</td>
|
|
293
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">表 型 号:</td>
|
|
294
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ usermeter.f_meter_style }}</td>
|
|
295
|
+
</tr>
|
|
296
|
+
<tr v-if="serviceall.f_workorder_type=='置换通气单'">
|
|
297
|
+
|
|
298
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用户姓名:</td>
|
|
299
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ baseuserinfo.f_user_name }}</td>
|
|
300
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用气性质:</td>
|
|
301
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ baseuserinfo.f_gasproperties }}</td>
|
|
302
|
+
</tr>
|
|
303
|
+
<tr v-if="serviceall.f_workorder_type=='置换通气单'">
|
|
304
|
+
|
|
305
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">联系电话:</td>
|
|
306
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ baseuserinfo.f_user_phone }}</td>
|
|
307
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">住户类型:</td>
|
|
308
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ baseuserinfo.f_house_type }}</td>
|
|
309
|
+
</tr>
|
|
310
|
+
<tr v-if="serviceall.f_workorder_type=='置换通气单'">
|
|
311
|
+
<td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">身份证号:</td>
|
|
312
|
+
<td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{baseuserinfo.f_shenfenzheng}}</td>
|
|
313
|
+
</tr>
|
|
314
|
+
<tr v-if="serviceall.f_workorder_type=='置换通气单'">
|
|
315
|
+
<td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">用户地址:</td>
|
|
316
|
+
<td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{baseuserinfo.f_address}}</td>
|
|
317
|
+
</tr>
|
|
318
|
+
<!-- <tr>-->
|
|
319
|
+
|
|
320
|
+
<!-- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">派单时间:</td>-->
|
|
321
|
+
<!-- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ service.f_created_date }}</td>-->
|
|
322
|
+
<!-- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">完成时间:</td>-->
|
|
323
|
+
<!-- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ service.f_repair_date }}</td>-->
|
|
324
|
+
<!-- </tr>-->
|
|
325
|
+
<tr>
|
|
326
|
+
|
|
327
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">到达时间:</td>
|
|
328
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ serviceall.f_date_come }}</td>
|
|
329
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">离开时间:</td>
|
|
330
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ serviceall.f_date_leave }}</td>
|
|
331
|
+
</tr>
|
|
332
|
+
<tr v-if="serviceall.f_workorder_type == '置换通气单' && baseuserinfo.f_user_type == '民用'">
|
|
333
|
+
<td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">防盗卡号:</td>
|
|
334
|
+
<td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{ usermeter.f_defendcard }}</td>
|
|
335
|
+
</tr>
|
|
336
|
+
<tr v-if="serviceall.f_workorder_type == '置换通气单' && baseuserinfo.f_user_type == '非民用'">
|
|
337
|
+
<td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">铅封号:</td>
|
|
338
|
+
<td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{ usermeter.f_gmd_lsnumber }}</td>
|
|
339
|
+
</tr>
|
|
340
|
+
<tr>
|
|
341
|
+
<td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">备注:</td>
|
|
342
|
+
<td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{ serviceall.f_remarks }}</td>
|
|
343
|
+
</tr>
|
|
344
|
+
</tbody>
|
|
345
|
+
</table>
|
|
346
|
+
<table class="table table-striped table-bordered">
|
|
347
|
+
<thead>
|
|
348
|
+
<tr>
|
|
349
|
+
<th style="text-align: center;background-color: #dfedfb;color:black;">燃气设施全景</th>
|
|
350
|
+
</tr>
|
|
351
|
+
</thead>
|
|
352
|
+
<tbody>
|
|
353
|
+
<tr>
|
|
354
|
+
<td style="margin: auto;text-align: center">
|
|
355
|
+
<div class="container" style="max-width: 550px;background: #FFFFFF">
|
|
356
|
+
<div class="img" v-for="img in serviceall.imgs">
|
|
357
|
+
<tel-img-self-tel-plus :src="'rs/image/file/'+img.android_file" style="float: left" width="150"
|
|
358
|
+
height="200"></tel-img-self-tel-plus>
|
|
359
|
+
</div>
|
|
360
|
+
</div>
|
|
361
|
+
</td>
|
|
362
|
+
</tr>
|
|
363
|
+
</tbody>
|
|
364
|
+
</table>
|
|
365
|
+
<table class="table table-striped table-bordered">
|
|
366
|
+
<thead>
|
|
367
|
+
<tr>
|
|
368
|
+
<th style="text-align: center;background-color: #dfedfb;color:black;">用户签名照片</th>
|
|
369
|
+
</tr>
|
|
370
|
+
</thead>
|
|
371
|
+
<tr>
|
|
372
|
+
<td style="margin: auto;text-align: center">
|
|
373
|
+
<div class="container" style="max-width: 500px;background: #FFFFFF">
|
|
374
|
+
<div class="img" style="float: none">
|
|
375
|
+
<tel-img-self-tel-plus :src="'rs/image/file/'+serviceall.f_signname" width="400" height="300"></tel-img-self-tel-plus>
|
|
376
|
+
</div>
|
|
377
|
+
</div>
|
|
378
|
+
</td>
|
|
379
|
+
</tr>
|
|
380
|
+
</table>
|
|
381
|
+
<table class="table table-striped table-bordered" v-if="serviceall.f_othercharge_id">
|
|
382
|
+
<thead>
|
|
383
|
+
<tr>
|
|
384
|
+
<th colspan="5" style="text-align: center;background-color: #dfedfb;color:black;">其他收费</th>
|
|
385
|
+
</tr>
|
|
386
|
+
</thead>
|
|
387
|
+
<tr>
|
|
388
|
+
<td style="margin: auto;text-align: center">
|
|
389
|
+
收费类型
|
|
390
|
+
</td>
|
|
391
|
+
<td style="margin: auto;text-align: center">
|
|
392
|
+
单价
|
|
393
|
+
</td>
|
|
394
|
+
<td style="margin: auto;text-align: center">
|
|
395
|
+
数量
|
|
396
|
+
</td>
|
|
397
|
+
<td style="margin: auto;text-align: center">
|
|
398
|
+
付款方式
|
|
399
|
+
</td>
|
|
400
|
+
<td style="margin: auto;text-align: center">
|
|
401
|
+
收费日期
|
|
402
|
+
</td>
|
|
403
|
+
</tr>
|
|
404
|
+
<tr v-for="item in othercharge">
|
|
405
|
+
<td style="margin: auto;text-align: center">
|
|
406
|
+
{{item.f_brand_spec}}
|
|
407
|
+
</td>
|
|
408
|
+
<td style="margin: auto;text-align: center">
|
|
409
|
+
{{item.f_unitprice}}
|
|
410
|
+
</td>
|
|
411
|
+
<td style="margin: auto;text-align: center">
|
|
412
|
+
{{item.f_number}}
|
|
413
|
+
</td>
|
|
414
|
+
<td style="margin: auto;text-align: center">
|
|
415
|
+
{{item.f_payment}}
|
|
416
|
+
</td>
|
|
417
|
+
<td style="margin: auto;text-align: center">
|
|
418
|
+
{{item.f_operate_date}}
|
|
419
|
+
</td>
|
|
420
|
+
</tr>
|
|
421
|
+
</table>
|
|
422
|
+
|
|
423
|
+
</div>
|
|
424
|
+
</div>
|
|
425
|
+
<div style="height: 100%;width: 95%;overflow: scroll">
|
|
426
|
+
<div style="width: 95%;margin-left: 5%">
|
|
427
|
+
<table class="table table-striped table-bordered" v-for=" serviceone in servicerepair">
|
|
428
|
+
<thead>
|
|
429
|
+
<tr>
|
|
430
|
+
<th style="text-align: center;background-color: #dfedfb;color:black;">{{ serviceone.f_type }}</th>
|
|
431
|
+
</tr>
|
|
432
|
+
</thead>
|
|
433
|
+
<tbody>
|
|
434
|
+
<tr v-for="detail in serviceone.details">
|
|
435
|
+
<td>
|
|
436
|
+
<div class="row">
|
|
437
|
+
<div class="col-md-8" style="text-align: center;">{{ detail.f_project }}</div>
|
|
438
|
+
<div class="col-md-4" style="text-align: center;" v-if="detail.type!='picture'">
|
|
439
|
+
{{ detail.f_content?detail.f_content:'无' }}
|
|
440
|
+
</div>
|
|
441
|
+
<div class="col-md-4" style="text-align: center;" v-if="detail.type=='picture'&&ispicture(serviceone.imgs,detail.f_project)">
|
|
442
|
+
<button-link style="color: black" type="button" class="btn btn-link"
|
|
443
|
+
@click="showpath(serviceone.imgs,detail.f_project)">查看照片
|
|
444
|
+
</button-link>
|
|
445
|
+
</div>
|
|
446
|
+
<div class="col-md-4" style="text-align: center;" v-if="detail.type=='picture'&&!ispicture(serviceone.imgs,detail.f_project)">
|
|
447
|
+
无照片
|
|
448
|
+
</div>
|
|
449
|
+
</div>
|
|
450
|
+
<!-- {{detail.f_first_imgname}}-->
|
|
451
|
+
<!-- <div class="row" v-if="detail.f_first_imgname">
|
|
452
|
+
<div class="container" style="max-width: 500px;background: #FFFFFF">
|
|
453
|
+
<div class="img" style="float: none">
|
|
454
|
+
<tel-img-self-tel-plus :src="'rs/image/file/'+detail.f_first_imgname" width="400" height="300"></tel-img-self-tel-plus>
|
|
455
|
+
</div>
|
|
456
|
+
|
|
457
|
+
</div>
|
|
458
|
+
</div>-->
|
|
459
|
+
</td>
|
|
460
|
+
|
|
461
|
+
|
|
462
|
+
</tr>
|
|
463
|
+
</tbody>
|
|
464
|
+
</table>
|
|
465
|
+
|
|
466
|
+
|
|
467
|
+
</div>
|
|
468
|
+
|
|
469
|
+
</div>
|
|
470
|
+
</div>
|
|
471
|
+
</div>
|
|
472
|
+
</div>
|
|
473
|
+
<modal :show.sync="imgshow" v-ref:modal backdrop="true">
|
|
474
|
+
<header slot="modal-header" class="modal-header" style="font-size: 20px;text-align: center">
|
|
475
|
+
{{ picturename }}
|
|
476
|
+
</header>
|
|
477
|
+
<article slot="modal-body" class="modal-body">
|
|
478
|
+
<div class="from-group">
|
|
479
|
+
<div class="row">
|
|
480
|
+
<div class="col-md-6" v-for="item in showimgs">
|
|
481
|
+
<tel-img-self-tel-plus :src="item" width="300" height="400"></tel-img-self-tel-plus>
|
|
482
|
+
</div>
|
|
483
|
+
</div>
|
|
484
|
+
</div>
|
|
485
|
+
</article>
|
|
486
|
+
<footer slot="modal-footer" class="modal-footer" v-show="false">
|
|
487
|
+
<button type="button" class="btn btn-success" @click='imgclose'>关闭</button>
|
|
488
|
+
</footer>
|
|
489
|
+
</modal>
|
|
490
|
+
</template>
|
|
491
|
+
|
|
492
|
+
<script>
|
|
493
|
+
import html2pdf from 'html2pdf.js'
|
|
494
|
+
import {HttpResetClass} from 'vue-client'
|
|
495
|
+
|
|
496
|
+
export default {
|
|
497
|
+
title: '工单详情',
|
|
498
|
+
props: ['curactivity', 'service'],
|
|
499
|
+
data () {
|
|
500
|
+
return {
|
|
501
|
+
showPdfDownload: this.$appdata.getSingleValue('工单结果pdf下载') ? this.$appdata.getSingleValue('工单结果pdf下载') : false,
|
|
502
|
+
othercharge:[],
|
|
503
|
+
imgshow:false,
|
|
504
|
+
picturename:'',
|
|
505
|
+
showimg:'',
|
|
506
|
+
baseuserinfo: {},
|
|
507
|
+
showimgs:[],
|
|
508
|
+
allimgs: [],
|
|
509
|
+
servicerepair: [],
|
|
510
|
+
serviceall: {},
|
|
511
|
+
usermeter:{},
|
|
512
|
+
loading: false
|
|
513
|
+
}
|
|
514
|
+
},
|
|
515
|
+
ready () {
|
|
516
|
+
this.loading=true
|
|
517
|
+
////tag
|
|
518
|
+
////tag)
|
|
519
|
+
let http = new HttpResetClass()
|
|
520
|
+
////tag
|
|
521
|
+
http.load('POST', 'af-telephone/rs/path/serviceWork', {data: {id: this.curactivity.id}}, {
|
|
522
|
+
resolveMsg: null,
|
|
523
|
+
rejectMsg: null
|
|
524
|
+
}).then(res => {
|
|
525
|
+
////tag)
|
|
526
|
+
for (let i = 0; i < res.data.length; i++) {
|
|
527
|
+
if (res.data[i].id == this.curactivity.id) {
|
|
528
|
+
this.serviceall = res.data[i]
|
|
529
|
+
this.baseuserinfo = res.data[i].baseuserinfo
|
|
530
|
+
this.servicerepair = res.data[i].servicerepair
|
|
531
|
+
this.allimgs = res.data[i].imgs
|
|
532
|
+
http.load('post','af-telephone/rs/sql/getBaseMeterInfo',{data:{f_userinfo_id:this.baseuserinfo.f_userinfo_id}},{
|
|
533
|
+
resolveMsg: null,
|
|
534
|
+
rejectMsg: null
|
|
535
|
+
}).then(res=>{
|
|
536
|
+
this.usermeter=res.data[0]
|
|
537
|
+
})
|
|
538
|
+
if (res.data[i].f_othercharge_id){
|
|
539
|
+
let condition = {
|
|
540
|
+
items: 'od.f_brand_spec,od.f_unitprice,od.f_number,o.f_payment,o.f_operate_date',
|
|
541
|
+
tablename: 't_othercharge o left join t_othercharge_detail od on od.f_othercharge_id = o.id',
|
|
542
|
+
condition: `o.id = '${res.data[i].f_othercharge_id}'`,
|
|
543
|
+
orderitem: '1'
|
|
544
|
+
}
|
|
545
|
+
new HttpResetClass().load('post','af-telephone/rs/sql/tel_singleTable_OrderBy',{data:condition},{
|
|
546
|
+
resolveMsg: null,
|
|
547
|
+
rejectMsg: null
|
|
548
|
+
}).then(res=>{
|
|
549
|
+
this.othercharge=res.data
|
|
550
|
+
})
|
|
551
|
+
}
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
|
|
555
|
+
////tag)
|
|
556
|
+
////tag)
|
|
557
|
+
////tag)
|
|
558
|
+
////tag)
|
|
559
|
+
this.loading=false
|
|
560
|
+
})
|
|
561
|
+
},
|
|
562
|
+
methods: {
|
|
563
|
+
showSafeImg(detail){
|
|
564
|
+
this.picturename = ''
|
|
565
|
+
this.showimgs = []
|
|
566
|
+
if (detail.f_defect_id){
|
|
567
|
+
let data = {
|
|
568
|
+
items: '*',
|
|
569
|
+
tablename: 't_devices_items',
|
|
570
|
+
condition: `id = '${detail.f_defect_id}'`,
|
|
571
|
+
orderitem: '1'
|
|
572
|
+
}
|
|
573
|
+
let http = new HttpResetClass()
|
|
574
|
+
http.load('post','af-telephone/rs/sql/tel_singleTable_OrderBy',{data:data},{
|
|
575
|
+
resolveMsg: null,
|
|
576
|
+
rejectMsg: null
|
|
577
|
+
}).then(res=>{
|
|
578
|
+
this.picturename = '隐患照片/维修照片'
|
|
579
|
+
if (res.data[0].f_path){
|
|
580
|
+
this.showimgs.push('rs/image/file/'+res.data[0].f_path)
|
|
581
|
+
}
|
|
582
|
+
if(detail.f_first_imgname){
|
|
583
|
+
this.showimgs.push('rs/image/file/'+detail.f_first_imgname)
|
|
584
|
+
}
|
|
585
|
+
this.imgshow = true
|
|
586
|
+
})
|
|
587
|
+
}else {
|
|
588
|
+
|
|
589
|
+
}
|
|
590
|
+
},
|
|
591
|
+
exportToPDF() {
|
|
592
|
+
const element = document.getElementById('toPdf') // 替换为您要导出的页面元素的ID
|
|
593
|
+
html2pdf(element)
|
|
594
|
+
},
|
|
595
|
+
changefailure(val){
|
|
596
|
+
let failureall=''
|
|
597
|
+
// val=[{"f_failure_type":"抽油烟机","failurecase":[],"f_equipment":""},{"f_failure_type":"抽油烟机","failurecase":[],"f_equipment":""},{"f_failure_type":"抽油烟机","failurecase":[],"f_equipment":""}]
|
|
598
|
+
let failure = JSON.parse(val)
|
|
599
|
+
for (let i = 0; i <failure.length; i++) {
|
|
600
|
+
if (failure[i].failurecase.length>0){
|
|
601
|
+
failureall+=failure[i].f_failure_type+":"
|
|
602
|
+
for (let j = 0; j < failure[i].failurecase.length; j++) {
|
|
603
|
+
failureall+=failure[i].failurecase[j]
|
|
604
|
+
if (j+1!=failure[i].failurecase.length){
|
|
605
|
+
failureall+=","
|
|
606
|
+
}
|
|
607
|
+
}
|
|
608
|
+
|
|
609
|
+
}else{
|
|
610
|
+
failureall+=failure[i].f_failure_type
|
|
611
|
+
}
|
|
612
|
+
if (i+1!=failure.length){
|
|
613
|
+
failureall+=';'
|
|
614
|
+
}
|
|
615
|
+
}
|
|
616
|
+
return failureall
|
|
617
|
+
},
|
|
618
|
+
imgclose(){
|
|
619
|
+
this.imgshow=false
|
|
620
|
+
},
|
|
621
|
+
ispicture(imgs,imgid){
|
|
622
|
+
let imgstr=''
|
|
623
|
+
let imgpath=''
|
|
624
|
+
for (let i = 0; i < imgs.length; i++) {
|
|
625
|
+
if (imgs[i].imgpath==imgid){
|
|
626
|
+
imgstr=imgs[i].android_file
|
|
627
|
+
imgpath=imgs[i].imgpath
|
|
628
|
+
}
|
|
629
|
+
}
|
|
630
|
+
////tag
|
|
631
|
+
////tag
|
|
632
|
+
if (imgstr){
|
|
633
|
+
return true
|
|
634
|
+
}
|
|
635
|
+
return false
|
|
636
|
+
},
|
|
637
|
+
showpath (imgs,imgid) {
|
|
638
|
+
this.picturename = ''
|
|
639
|
+
const img = imgs.filter(res => res.imgpath === imgid).map(res => 'rs/image/file/' + res.android_file)
|
|
640
|
+
if (img.length > 0) {
|
|
641
|
+
this.showimgs = img
|
|
642
|
+
this.picturename = imgid
|
|
643
|
+
this.imgshow = true
|
|
644
|
+
}
|
|
645
|
+
},
|
|
646
|
+
back () {
|
|
647
|
+
this.$back()
|
|
648
|
+
}
|
|
649
|
+
}
|
|
650
|
+
}
|
|
651
|
+
</script>
|
|
652
|
+
|
|
653
|
+
<style scoped>
|
|
654
|
+
.img {
|
|
655
|
+
border: 1px solid #9773ed;
|
|
656
|
+
width: auto;
|
|
657
|
+
height: auto;
|
|
658
|
+
float: left;
|
|
659
|
+
text-align: center;
|
|
660
|
+
margin: 6px;
|
|
661
|
+
}
|
|
662
|
+
|
|
663
|
+
img {
|
|
664
|
+
margin: 6px;
|
|
665
|
+
}
|
|
666
|
+
|
|
667
|
+
|
|
668
|
+
.container {
|
|
669
|
+
margin: 10px auto;
|
|
670
|
+
width: 80%;
|
|
671
|
+
height: auto;
|
|
672
|
+
}
|
|
673
|
+
|
|
674
|
+
div::-webkit-scrollbar {
|
|
675
|
+
width: 0 !important;
|
|
676
|
+
height: 0 !important;
|
|
677
|
+
}
|
|
678
|
+
|
|
679
|
+
div {
|
|
680
|
+
-ms-overflow-style: none;
|
|
681
|
+
overflow: -moz-scrollbars-none;
|
|
682
|
+
}
|
|
683
|
+
|
|
684
|
+
.divmask {
|
|
685
|
+
pointer-events: none;
|
|
686
|
+
}
|
|
687
|
+
|
|
688
|
+
.app-header {
|
|
689
|
+
border-radius: 50%;
|
|
690
|
+
background: rgba(73, 158, 223, 0.4);
|
|
691
|
+
color: #FFF;
|
|
692
|
+
padding: 20px;
|
|
693
|
+
text-align: center;
|
|
694
|
+
font-size: 1.2em;
|
|
695
|
+
z-index: 10;
|
|
696
|
+
opacity: 0.5;
|
|
697
|
+
bottom: 50px;
|
|
698
|
+
margin-top: -20px;
|
|
699
|
+
position: absolute;
|
|
700
|
+
top: 10%;
|
|
701
|
+
right: 2%;
|
|
702
|
+
height: 8%;
|
|
703
|
+
}
|
|
704
|
+
</style>
|