telephone-clients 3.0.103-67 → 3.0.103-68
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
CHANGED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div id='app' class="basic-main" style="height: 100%">
|
|
3
|
+
<criteria-paged :model="model" :pager='false' v-ref:paged>
|
|
4
|
+
<criteria partial='criteria' @condition-changed='$parent.search' class="search_area" v-ref:criteria>
|
|
5
|
+
<div novalidate class="form-inline auto" partial>
|
|
6
|
+
<div class="row">
|
|
7
|
+
<div class="col-sm-2 form-group">
|
|
8
|
+
<label for="startDate" class="font_normal_body">开始日期:</label>
|
|
9
|
+
<datepicker id="startDate" placeholder="开始日期"
|
|
10
|
+
v-model="model.startDate"
|
|
11
|
+
:value.sync="model.startDate"
|
|
12
|
+
style="width: 60%;"
|
|
13
|
+
:disabled-days-of-Week="[]"
|
|
14
|
+
:format="'yyyy-MM-dd'"
|
|
15
|
+
:show-reset-button="reset">
|
|
16
|
+
</datepicker>
|
|
17
|
+
</div>
|
|
18
|
+
<div class="col-sm-2 form-group">
|
|
19
|
+
<label for="endDate" class="font_normal_body">结束日期:</label>
|
|
20
|
+
<datepicker id="endDate" placeholder="结束日期"
|
|
21
|
+
v-model="model.endDate"
|
|
22
|
+
:value.sync="model.endDate"
|
|
23
|
+
:disabled-days-of-Week="[]"
|
|
24
|
+
style="width: 60%;"
|
|
25
|
+
:format="'yyyy-MM-dd'"
|
|
26
|
+
:show-reset-button="reset">
|
|
27
|
+
</datepicker>
|
|
28
|
+
</div>
|
|
29
|
+
<div class="col-sm-3 form-group" style="margin-top: 8px">
|
|
30
|
+
<button class="button_search button_spacing" @click="search()">查询</button>
|
|
31
|
+
<report-print class="button_export button_spacing" style="width:28%" ></report-print>
|
|
32
|
+
<report-excel class="button_export button_spacing" style="width:28%" ></report-excel>
|
|
33
|
+
</div>
|
|
34
|
+
</div>
|
|
35
|
+
</div>
|
|
36
|
+
</criteria>
|
|
37
|
+
<div partial='list' class="list_area" style="overflow-y: scroll">
|
|
38
|
+
<table class='tableprint' style="margin: 0px auto">
|
|
39
|
+
<thead>
|
|
40
|
+
<tr>
|
|
41
|
+
<th colspan='5' style="font-weight: normal; text-align: left;">
|
|
42
|
+
<h3 style="text-align: center">维修报表统计</h3>
|
|
43
|
+
</th>
|
|
44
|
+
</tr>
|
|
45
|
+
</thead>
|
|
46
|
+
<tr>
|
|
47
|
+
<th colspan='5' style="font-weight: normal;">
|
|
48
|
+
{{{ model.data.substring(26,model.data.length-8) }}}
|
|
49
|
+
</th>
|
|
50
|
+
</tr>
|
|
51
|
+
</table>
|
|
52
|
+
</div>
|
|
53
|
+
</criteria-paged>
|
|
54
|
+
</div>
|
|
55
|
+
|
|
56
|
+
</template>
|
|
57
|
+
|
|
58
|
+
<script>
|
|
59
|
+
import {DataModel} from 'vue-client'
|
|
60
|
+
|
|
61
|
+
export default {
|
|
62
|
+
title: '维修报表',
|
|
63
|
+
data() {
|
|
64
|
+
let model = new DataModel('rs/telephone/report/repairsDetailsReport')
|
|
65
|
+
return {
|
|
66
|
+
filialeNameStr: '',
|
|
67
|
+
filialeCodeStr: '',
|
|
68
|
+
userid: this.$login.f.id,
|
|
69
|
+
source: `tool.getFullTree(this.getRights().where(row.getType() != $zone$).where(row.getType() == $organization$))`,
|
|
70
|
+
model: model
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
methods: {
|
|
74
|
+
getRes(obj) {
|
|
75
|
+
this.model.f_filialeid = this.$login.convertToIn(obj.resids);
|
|
76
|
+
},
|
|
77
|
+
search(args){
|
|
78
|
+
let condition = ' 1 = 1 '
|
|
79
|
+
if (args.model.startDate){
|
|
80
|
+
condition += ` and ts1.f_date_leave >= '${args.model.startDate} 00:00:00' `
|
|
81
|
+
}
|
|
82
|
+
if (args.model.endDate){
|
|
83
|
+
condition += ` and ts1.f_date_leave <= '${args.model.endDate} 23:59:59' `
|
|
84
|
+
}
|
|
85
|
+
this.model.search(condition,args.model)
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
ready() {
|
|
89
|
+
},
|
|
90
|
+
computed: {
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
</script>
|
|
@@ -1,512 +1,537 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div style="height: auto;width: 100%">
|
|
3
|
-
<div class="row app-row">
|
|
4
|
-
<div class="col-xs-4">
|
|
5
|
-
<label>用户姓名</label>
|
|
6
|
-
</div>
|
|
7
|
-
<div class="col-xs-8">
|
|
8
|
-
<input class="inputText4" v-model=model.f_user_name style="width: 100%"></input>
|
|
9
|
-
</div>
|
|
10
|
-
|
|
11
|
-
</div>
|
|
12
|
-
<div class="row app-row">
|
|
13
|
-
<div class="col-xs-4">
|
|
14
|
-
<label >联系电话</label>
|
|
15
|
-
</div>
|
|
16
|
-
<div class="col-xs-8">
|
|
17
|
-
<input class="input-font inputText4 " v-model=model.f_contact_phone style="width: 100%"></input>
|
|
18
|
-
</div>
|
|
19
|
-
|
|
20
|
-
</div>
|
|
21
|
-
<div class="row app-row">
|
|
22
|
-
<div class="col-xs-4">
|
|
23
|
-
<label >详细地址</label>
|
|
24
|
-
</div>
|
|
25
|
-
<div class="col-xs-8">
|
|
26
|
-
<input class="input-font inputText4 " v-model=model.f_address style="width: 100%"></input>
|
|
27
|
-
</div>
|
|
28
|
-
|
|
29
|
-
</div>
|
|
30
|
-
<div class="row app-row">
|
|
31
|
-
<div class="col-xs-4">
|
|
32
|
-
<label>用户类型</label>
|
|
33
|
-
</div>
|
|
34
|
-
<div class="col-xs-8">
|
|
35
|
-
<v-select id="f_user_type" :value.sync="model.f_user_type" class="input-font"
|
|
36
|
-
:options='user_types' placeholder='请选择用户类型'
|
|
37
|
-
class="inputText4"
|
|
38
|
-
:width="'100%'"
|
|
39
|
-
:value-single="true"
|
|
40
|
-
v-model="model.f_user_type" close-on-select clear-button></v-select>
|
|
41
|
-
|
|
42
|
-
</div>
|
|
43
|
-
|
|
44
|
-
</div>
|
|
45
|
-
|
|
46
|
-
<div class="row app-row">
|
|
47
|
-
<div class="col-xs-4">
|
|
48
|
-
<label>是否上报</label>
|
|
49
|
-
</div>
|
|
50
|
-
<div class="col-xs-8">
|
|
51
|
-
<v-select id="f_user_paidan" :value.sync="model.f_handlingtype" class="input-font"
|
|
52
|
-
:options='handling_types' placeholder='请选择是否上报'
|
|
53
|
-
class="inputText4"
|
|
54
|
-
:width="'100%'"
|
|
55
|
-
:value-single="true"
|
|
56
|
-
v-model="model.f_handlingtype" close-on-select clear-button></v-select>
|
|
57
|
-
</div>
|
|
58
|
-
|
|
59
|
-
</div>
|
|
60
|
-
<div class="row app-row" v-if="model.f_handlingtype=='转站点'">
|
|
61
|
-
<div class="col-xs-4">
|
|
62
|
-
<label>选择站点</label>
|
|
63
|
-
</div>
|
|
64
|
-
<div class="col-xs-8">
|
|
65
|
-
<right-tree islist :userid="userid" :source="source" v-on:re-res="reres" v-ref:f_reciever width="100%" style="width: 100%">
|
|
66
|
-
|
|
67
|
-
</right-tree>
|
|
68
|
-
</div>
|
|
69
|
-
|
|
70
|
-
</div>
|
|
71
|
-
<div class="row app-row">
|
|
72
|
-
<div class="col-xs-4">
|
|
73
|
-
<label>警情类别</label>
|
|
74
|
-
</div>
|
|
75
|
-
<div class="col-xs-8">
|
|
76
|
-
<v-select id="f_qiangxiu" :value.sync="model.f_repairtype" class="input-font"
|
|
77
|
-
:options='repairstypes' placeholder='警情类别'
|
|
78
|
-
class="inputText4"
|
|
79
|
-
:width="'100%'"
|
|
80
|
-
:value-single="true"
|
|
81
|
-
v-model="model.f_repairtype" close-on-select clear-button></v-select>
|
|
82
|
-
</div>
|
|
83
|
-
|
|
84
|
-
</div>
|
|
85
|
-
<div class="row app-row">
|
|
86
|
-
<div class="col-xs-4">
|
|
87
|
-
<label>报警内容类别</label>
|
|
88
|
-
</div>
|
|
89
|
-
<div class="col-xs-8" @click="getParamFailureTypes()">
|
|
90
|
-
<v-select id="f_guzhang" :value.sync="failure" class="input-font"
|
|
91
|
-
:options='failuretypes' placeholder='报警内容类别'
|
|
92
|
-
class="inputText4"
|
|
93
|
-
:width="'100%'"
|
|
94
|
-
multiple
|
|
95
|
-
v-model="failure" clear-button></v-select>
|
|
96
|
-
</div>
|
|
97
|
-
|
|
98
|
-
</div>
|
|
99
|
-
<div class="row app-row">
|
|
100
|
-
<div class="col-xs-4">
|
|
101
|
-
<label>备注</label>
|
|
102
|
-
</div>
|
|
103
|
-
<div class="col-xs-8">
|
|
104
|
-
<textarea class="input-font " v-model=model.f_remarks style="width: 100%"></textarea>
|
|
105
|
-
</div>
|
|
106
|
-
|
|
107
|
-
</div>
|
|
108
|
-
隐患前照片:
|
|
109
|
-
<div class="form-group col-sm-12">
|
|
110
|
-
|
|
111
|
-
<div class="panel" style="padding: 10px 10px 5px 10px;">
|
|
112
|
-
<div class="panel-body panel-self" style="background-color: #F8F8F8;width: 90%;margin-left:5%;height: 220px;position: relative">
|
|
113
|
-
<div class="row" style="height: 180px;overflow: scroll;top: 1px">
|
|
114
|
-
<div class="col-sm-4">
|
|
115
|
-
<img-self :src="model.f_single_path" alt="抢修照片" :width="140" :height="170" capture="camera" type="file" @change="upload"></img-self>
|
|
116
|
-
</div>
|
|
117
|
-
</div>
|
|
118
|
-
|
|
119
|
-
<div class="row text-right div-photo" style="height: 50px">
|
|
120
|
-
<img src="../../../assets/remove.png" @click="delfile('f_single_path', model.f_single_path)" ></img>
|
|
121
|
-
<button type="button" name="button" class="btn btn-primary btn-photo" @click="takePic('f_single_path','抢修照片')" >拍照</button>
|
|
122
|
-
|
|
123
|
-
</div>
|
|
124
|
-
</div>
|
|
125
|
-
</div>
|
|
126
|
-
|
|
127
|
-
</div>
|
|
128
|
-
<div class="form-group col-sm-12">
|
|
129
|
-
|
|
130
|
-
<div class="panel" style="padding: 10px 10px 5px 10px;">
|
|
131
|
-
<div class="panel-body panel-self" style="background-color: #F8F8F8;width: 90%;margin-left:5%;height: 220px;position: relative">
|
|
132
|
-
<div class="row" style="height: 180px;overflow: scroll;top: 1px">
|
|
133
|
-
<div class="col-sm-4">
|
|
134
|
-
<img-self :src="model.f_singlea_path" alt="抢修照片" :width="140" :height="170" capture="camera" type="file" @change="upload"></img-self>
|
|
135
|
-
</div>
|
|
136
|
-
</div>
|
|
137
|
-
|
|
138
|
-
<div class="row text-right div-photo" style="height: 50px">
|
|
139
|
-
<img src="../../../assets/remove.png" @click="delfile('f_singlea_path', model.f_singlea_path)" ></img>
|
|
140
|
-
<button type="button" name="button" class="btn btn-primary btn-photo" @click="takePic1('f_singlea_path','抢修照片')" >拍照</button>
|
|
141
|
-
|
|
142
|
-
</div>
|
|
143
|
-
</div>
|
|
144
|
-
</div>
|
|
145
|
-
|
|
146
|
-
</div>
|
|
147
|
-
<div class="form-group col-sm-12">
|
|
148
|
-
|
|
149
|
-
<div class="panel" style="padding: 10px 10px 5px 10px;">
|
|
150
|
-
<div class="panel-body panel-self" style="background-color: #F8F8F8;width: 90%;margin-left:5%;height: 220px;position: relative">
|
|
151
|
-
<div class="row" style="height: 180px;overflow: scroll;top: 1px">
|
|
152
|
-
<div class="col-sm-4">
|
|
153
|
-
<img-self :src="model.f_singleb_path" alt="抢修照片" :width="140" :height="170" capture="camera" type="file" @change="upload"></img-self>
|
|
154
|
-
</div>
|
|
155
|
-
</div>
|
|
156
|
-
|
|
157
|
-
<div class="row text-right div-photo" style="height: 50px">
|
|
158
|
-
<img src="../../../assets/remove.png" @click="delfile('f_singleb_path', model.f_singleb_path)" ></img>
|
|
159
|
-
<button type="button" name="button" class="btn btn-primary btn-photo" @click="takePic2('f_singleb_path','抢修照片')" >拍照</button>
|
|
160
|
-
|
|
161
|
-
</div>
|
|
162
|
-
</div>
|
|
163
|
-
</div>
|
|
164
|
-
|
|
165
|
-
</div>
|
|
166
|
-
<div class="row app-row text-center" style="margin-top: 20px;">
|
|
167
|
-
<button type="button" class="btn btn-lg btn-font btn-color" style="width: 25%;" @click="save">保存</button>
|
|
168
|
-
</div>
|
|
169
|
-
|
|
170
|
-
</div>
|
|
171
|
-
</template>
|
|
172
|
-
|
|
173
|
-
<script>
|
|
174
|
-
import Vue from 'vue'
|
|
175
|
-
import * as Util from '../../../components/Util'
|
|
176
|
-
export default {
|
|
177
|
-
title: '在线维修处理',
|
|
178
|
-
props: {
|
|
179
|
-
userinfo:{
|
|
180
|
-
type: Object,
|
|
181
|
-
default: null
|
|
182
|
-
}
|
|
183
|
-
},
|
|
184
|
-
data() {
|
|
185
|
-
return {
|
|
186
|
-
source:
|
|
187
|
-
'dep=this.getParentByType($organization$).getSpecialResByType($department$),' +
|
|
188
|
-
'tool.getFullTree(dep.where(row.hasSpecialRole($派单员$)))',
|
|
189
|
-
userid: Vue.user.id,
|
|
190
|
-
failure:[],
|
|
191
|
-
model:{
|
|
192
|
-
f_userinfo_id:'',
|
|
193
|
-
f_userinfo_code:'',
|
|
194
|
-
aState: null,
|
|
195
|
-
f_address: '',
|
|
196
|
-
f_area: "",
|
|
197
|
-
f_attendant: Vue.user.name,
|
|
198
|
-
f_building: "",
|
|
199
|
-
f_card_id: "",
|
|
200
|
-
f_contact_phone: "",
|
|
201
|
-
f_depid:Vue.user.depids,
|
|
202
|
-
f_filiale_id: "",
|
|
203
|
-
f_floor: "",
|
|
204
|
-
f_handlingtype: "转维修员",
|
|
205
|
-
f_enter_number:'',
|
|
206
|
-
f_meetunit: "",
|
|
207
|
-
f_operator:Vue.user.name,
|
|
208
|
-
f_operatorid:Vue.user.id,
|
|
209
|
-
f_orgid:Vue.user.orgid,
|
|
210
|
-
f_orgname:Vue.user.orgs,
|
|
211
|
-
f_outlets: "",
|
|
212
|
-
f_phone: "",
|
|
213
|
-
f_reciever: "",
|
|
214
|
-
f_remarks: "",
|
|
215
|
-
f_repair_date: Util.getNowDate(),
|
|
216
|
-
f_repairman_phone: "",
|
|
217
|
-
f_repairtype: "",
|
|
218
|
-
f_residential_area: "",
|
|
219
|
-
f_room: "",
|
|
220
|
-
f_service_id: "",
|
|
221
|
-
f_source: "临时派单",
|
|
222
|
-
f_street: "",
|
|
223
|
-
f_unit: "",
|
|
224
|
-
f_unit_name: "",
|
|
225
|
-
f_user_name: "",
|
|
226
|
-
f_user_type: "",
|
|
227
|
-
failure: "",
|
|
228
|
-
f_single_path:'',
|
|
229
|
-
f_singlea_path:'',
|
|
230
|
-
f_singleb_path:'',
|
|
231
|
-
serviceacitivity:[{
|
|
232
|
-
f_service_acitivity_type: "派单",
|
|
233
|
-
f_reciever: Vue.user.name
|
|
234
|
-
}],
|
|
235
|
-
f_alarm_accident:'',
|
|
236
|
-
f_alarm_details:''
|
|
237
|
-
},
|
|
238
|
-
failuresAll : this.$appdata.getParam('报警内容类别'),
|
|
239
|
-
repairstypes : this.$appdata.getParam('报修类型'),
|
|
240
|
-
failuretypes: [],
|
|
241
|
-
user_types:[{label:"民用",value:"民用"},
|
|
242
|
-
{label:"非民用",value:"非民用"}],
|
|
243
|
-
repair_types:[{label:"民用",value:"民用"},
|
|
244
|
-
{label:"非民用",value:"非民用"}],
|
|
245
|
-
handling_types:[{label:"是",value:"转站点"},
|
|
246
|
-
{label:"否",value:"转维修员"}]
|
|
247
|
-
}
|
|
248
|
-
},
|
|
249
|
-
methods: {
|
|
250
|
-
getParamFailureTypes(){
|
|
251
|
-
this.failuretypes=[]
|
|
252
|
-
if (!this.model.f_repairtype){
|
|
253
|
-
return
|
|
254
|
-
}
|
|
255
|
-
for (let i = 0; i < this.failuresAll.length; i++) {
|
|
256
|
-
if (!this.failuresAll[i].label.startsWith(this.model.f_repairtype)){
|
|
257
|
-
continue
|
|
258
|
-
}
|
|
259
|
-
let tempData = {
|
|
260
|
-
label: this.failuresAll[i].label.split('-')[this.failuresAll[i].label.split('-').length-1],
|
|
261
|
-
value: this.failuresAll[i].value.split('-')[this.failuresAll[i].label.split('-').length-1]
|
|
262
|
-
}
|
|
263
|
-
this.failuretypes.push(tempData)
|
|
264
|
-
}
|
|
265
|
-
},
|
|
266
|
-
delfile(prop, fileName) {
|
|
267
|
-
if (fileName == Vue.nopic)
|
|
268
|
-
return
|
|
269
|
-
else {
|
|
270
|
-
HostApp.delfile(fileName)
|
|
271
|
-
this.model[prop] = Vue.nopic
|
|
272
|
-
}
|
|
273
|
-
},
|
|
274
|
-
cameraCallBack(prop, fileName) {
|
|
275
|
-
HostApp.__this__.model.f_single_path = fileName + '?' + Math.random()
|
|
276
|
-
HostApp.__callback__ = null
|
|
277
|
-
HostApp.__this__ = null
|
|
278
|
-
},
|
|
279
|
-
cameraCallBack1(prop, fileName) {
|
|
280
|
-
HostApp.__this__.model.f_singlea_path = fileName + '?' + Math.random()
|
|
281
|
-
HostApp.__callback__ = null
|
|
282
|
-
HostApp.__this__ = null
|
|
283
|
-
},
|
|
284
|
-
cameraCallBack2(prop, fileName) {
|
|
285
|
-
HostApp.__this__.model.f_singleb_path = fileName + '?' + Math.random()
|
|
286
|
-
HostApp.__callback__ = null
|
|
287
|
-
HostApp.__this__ = null
|
|
288
|
-
},
|
|
289
|
-
|
|
290
|
-
takePic(prop, title) {
|
|
291
|
-
HostApp.__callback__ = this.cameraCallBack
|
|
292
|
-
HostApp.__this__ = this
|
|
293
|
-
let fileName
|
|
294
|
-
if (!this.model.f_single_path || this.model.f_single_path.includes("nopic.png")) {
|
|
295
|
-
fileName = Util.guid() + '-' + prop + '.jpg'
|
|
296
|
-
} else {
|
|
297
|
-
fileName = Util.getFileName(this.model.f_single_path)
|
|
298
|
-
}
|
|
299
|
-
//tag
|
|
300
|
-
//tag
|
|
301
|
-
HostApp._open_a_page({
|
|
302
|
-
type: 'boomerang',
|
|
303
|
-
page: 'com.aofeng.hybrid.android.peripheral.CameraActivity',
|
|
304
|
-
param: {
|
|
305
|
-
file: fileName,
|
|
306
|
-
requestCode: 111,
|
|
307
|
-
callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");',
|
|
308
|
-
watermark: title + '\t时间:' + Util.toStandardTimeString() + '\t' + Vue.user.name
|
|
309
|
-
}
|
|
310
|
-
})
|
|
311
|
-
},
|
|
312
|
-
takePic1(prop, title) {
|
|
313
|
-
HostApp.__callback__ = this.cameraCallBack1
|
|
314
|
-
HostApp.__this__ = this
|
|
315
|
-
let fileName
|
|
316
|
-
if (!this.model.f_singlea_path || this.model.f_singlea_path.includes("nopic.png")) {
|
|
317
|
-
fileName = Util.guid() + '-' + prop + '.jpg'
|
|
318
|
-
} else {
|
|
319
|
-
fileName = Util.getFileName(this.model.f_singlea_path)
|
|
320
|
-
}
|
|
321
|
-
//tag
|
|
322
|
-
//tag
|
|
323
|
-
HostApp._open_a_page({
|
|
324
|
-
type: 'boomerang',
|
|
325
|
-
page: 'com.aofeng.hybrid.android.peripheral.CameraActivity',
|
|
326
|
-
param: {
|
|
327
|
-
file: fileName,
|
|
328
|
-
requestCode: 111,
|
|
329
|
-
callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");',
|
|
330
|
-
watermark: title + '\t时间:' + Util.toStandardTimeString() + '\t' + Vue.user.name
|
|
331
|
-
}
|
|
332
|
-
})
|
|
333
|
-
},
|
|
334
|
-
takePic2(prop, title) {
|
|
335
|
-
HostApp.__callback__ = this.cameraCallBack2
|
|
336
|
-
HostApp.__this__ = this
|
|
337
|
-
let fileName
|
|
338
|
-
if (!this.model.f_singleb_path || this.model.f_singleb_path.includes("nopic.png")) {
|
|
339
|
-
fileName = Util.guid() + '-' + prop + '.jpg'
|
|
340
|
-
} else {
|
|
341
|
-
fileName = Util.getFileName(this.model.f_singleb_path)
|
|
342
|
-
}
|
|
343
|
-
//tag
|
|
344
|
-
//tag
|
|
345
|
-
HostApp._open_a_page({
|
|
346
|
-
type: 'boomerang',
|
|
347
|
-
page: 'com.aofeng.hybrid.android.peripheral.CameraActivity',
|
|
348
|
-
param: {
|
|
349
|
-
file: fileName,
|
|
350
|
-
requestCode: 111,
|
|
351
|
-
callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");',
|
|
352
|
-
watermark: title + '\t时间:' + Util.toStandardTimeString() + '\t' + Vue.user.name
|
|
353
|
-
}
|
|
354
|
-
})
|
|
355
|
-
},
|
|
356
|
-
|
|
357
|
-
save() {
|
|
358
|
-
if (!this.model.f_address){
|
|
359
|
-
this.$showMessage('请填写地址信息')
|
|
360
|
-
return
|
|
361
|
-
}
|
|
362
|
-
debugger
|
|
363
|
-
if (!this.model.f_repairtype){
|
|
364
|
-
this.$showMessage('请填写警情类别')
|
|
365
|
-
return
|
|
366
|
-
}
|
|
367
|
-
if (this.failure.length == 0){
|
|
368
|
-
this.$showMessage('请填写报警内容类别')
|
|
369
|
-
return
|
|
370
|
-
}
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
this.model.
|
|
384
|
-
this.model.
|
|
385
|
-
this.model.
|
|
386
|
-
this.model.
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
this.model.
|
|
421
|
-
this.model.
|
|
422
|
-
this.model.
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
background
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
border
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
1
|
+
<template>
|
|
2
|
+
<div style="height: auto;width: 100%">
|
|
3
|
+
<div class="row app-row">
|
|
4
|
+
<div class="col-xs-4">
|
|
5
|
+
<label>用户姓名</label>
|
|
6
|
+
</div>
|
|
7
|
+
<div class="col-xs-8">
|
|
8
|
+
<input class="inputText4" v-model=model.f_user_name style="width: 100%"></input>
|
|
9
|
+
</div>
|
|
10
|
+
|
|
11
|
+
</div>
|
|
12
|
+
<div class="row app-row">
|
|
13
|
+
<div class="col-xs-4">
|
|
14
|
+
<label >联系电话</label>
|
|
15
|
+
</div>
|
|
16
|
+
<div class="col-xs-8">
|
|
17
|
+
<input class="input-font inputText4 " v-model=model.f_contact_phone style="width: 100%"></input>
|
|
18
|
+
</div>
|
|
19
|
+
|
|
20
|
+
</div>
|
|
21
|
+
<div class="row app-row">
|
|
22
|
+
<div class="col-xs-4">
|
|
23
|
+
<label >详细地址</label>
|
|
24
|
+
</div>
|
|
25
|
+
<div class="col-xs-8">
|
|
26
|
+
<input class="input-font inputText4 " v-model=model.f_address style="width: 100%"></input>
|
|
27
|
+
</div>
|
|
28
|
+
|
|
29
|
+
</div>
|
|
30
|
+
<div class="row app-row">
|
|
31
|
+
<div class="col-xs-4">
|
|
32
|
+
<label>用户类型</label>
|
|
33
|
+
</div>
|
|
34
|
+
<div class="col-xs-8">
|
|
35
|
+
<v-select id="f_user_type" :value.sync="model.f_user_type" class="input-font"
|
|
36
|
+
:options='user_types' placeholder='请选择用户类型'
|
|
37
|
+
class="inputText4"
|
|
38
|
+
:width="'100%'"
|
|
39
|
+
:value-single="true"
|
|
40
|
+
v-model="model.f_user_type" close-on-select clear-button></v-select>
|
|
41
|
+
|
|
42
|
+
</div>
|
|
43
|
+
|
|
44
|
+
</div>
|
|
45
|
+
|
|
46
|
+
<div class="row app-row">
|
|
47
|
+
<div class="col-xs-4">
|
|
48
|
+
<label>是否上报</label>
|
|
49
|
+
</div>
|
|
50
|
+
<div class="col-xs-8">
|
|
51
|
+
<v-select id="f_user_paidan" :value.sync="model.f_handlingtype" class="input-font"
|
|
52
|
+
:options='handling_types' placeholder='请选择是否上报'
|
|
53
|
+
class="inputText4"
|
|
54
|
+
:width="'100%'"
|
|
55
|
+
:value-single="true"
|
|
56
|
+
v-model="model.f_handlingtype" close-on-select clear-button></v-select>
|
|
57
|
+
</div>
|
|
58
|
+
|
|
59
|
+
</div>
|
|
60
|
+
<div class="row app-row" v-if="model.f_handlingtype=='转站点'">
|
|
61
|
+
<div class="col-xs-4">
|
|
62
|
+
<label>选择站点</label>
|
|
63
|
+
</div>
|
|
64
|
+
<div class="col-xs-8">
|
|
65
|
+
<right-tree islist :userid="userid" :source="source" v-on:re-res="reres" v-ref:f_reciever width="100%" style="width: 100%">
|
|
66
|
+
|
|
67
|
+
</right-tree>
|
|
68
|
+
</div>
|
|
69
|
+
|
|
70
|
+
</div>
|
|
71
|
+
<div class="row app-row">
|
|
72
|
+
<div class="col-xs-4">
|
|
73
|
+
<label>警情类别</label>
|
|
74
|
+
</div>
|
|
75
|
+
<div class="col-xs-8">
|
|
76
|
+
<v-select id="f_qiangxiu" :value.sync="model.f_repairtype" class="input-font"
|
|
77
|
+
:options='repairstypes' placeholder='警情类别'
|
|
78
|
+
class="inputText4"
|
|
79
|
+
:width="'100%'"
|
|
80
|
+
:value-single="true"
|
|
81
|
+
v-model="model.f_repairtype" close-on-select clear-button></v-select>
|
|
82
|
+
</div>
|
|
83
|
+
|
|
84
|
+
</div>
|
|
85
|
+
<div class="row app-row">
|
|
86
|
+
<div class="col-xs-4">
|
|
87
|
+
<label>报警内容类别</label>
|
|
88
|
+
</div>
|
|
89
|
+
<div class="col-xs-8" @click="getParamFailureTypes()">
|
|
90
|
+
<v-select id="f_guzhang" :value.sync="failure" class="input-font"
|
|
91
|
+
:options='failuretypes' placeholder='报警内容类别'
|
|
92
|
+
class="inputText4"
|
|
93
|
+
:width="'100%'"
|
|
94
|
+
multiple
|
|
95
|
+
v-model="failure" clear-button></v-select>
|
|
96
|
+
</div>
|
|
97
|
+
|
|
98
|
+
</div>
|
|
99
|
+
<div class="row app-row">
|
|
100
|
+
<div class="col-xs-4">
|
|
101
|
+
<label>备注</label>
|
|
102
|
+
</div>
|
|
103
|
+
<div class="col-xs-8">
|
|
104
|
+
<textarea class="input-font " v-model=model.f_remarks style="width: 100%"></textarea>
|
|
105
|
+
</div>
|
|
106
|
+
|
|
107
|
+
</div>
|
|
108
|
+
隐患前照片:
|
|
109
|
+
<div class="form-group col-sm-12">
|
|
110
|
+
|
|
111
|
+
<div class="panel" style="padding: 10px 10px 5px 10px;">
|
|
112
|
+
<div class="panel-body panel-self" style="background-color: #F8F8F8;width: 90%;margin-left:5%;height: 220px;position: relative">
|
|
113
|
+
<div class="row" style="height: 180px;overflow: scroll;top: 1px">
|
|
114
|
+
<div class="col-sm-4">
|
|
115
|
+
<img-self :src="model.f_single_path" alt="抢修照片" :width="140" :height="170" capture="camera" type="file" @change="upload"></img-self>
|
|
116
|
+
</div>
|
|
117
|
+
</div>
|
|
118
|
+
|
|
119
|
+
<div class="row text-right div-photo" style="height: 50px">
|
|
120
|
+
<img src="../../../assets/remove.png" @click="delfile('f_single_path', model.f_single_path)" ></img>
|
|
121
|
+
<button type="button" name="button" class="btn btn-primary btn-photo" @click="takePic('f_single_path','抢修照片')" >拍照</button>
|
|
122
|
+
|
|
123
|
+
</div>
|
|
124
|
+
</div>
|
|
125
|
+
</div>
|
|
126
|
+
|
|
127
|
+
</div>
|
|
128
|
+
<div class="form-group col-sm-12">
|
|
129
|
+
|
|
130
|
+
<div class="panel" style="padding: 10px 10px 5px 10px;">
|
|
131
|
+
<div class="panel-body panel-self" style="background-color: #F8F8F8;width: 90%;margin-left:5%;height: 220px;position: relative">
|
|
132
|
+
<div class="row" style="height: 180px;overflow: scroll;top: 1px">
|
|
133
|
+
<div class="col-sm-4">
|
|
134
|
+
<img-self :src="model.f_singlea_path" alt="抢修照片" :width="140" :height="170" capture="camera" type="file" @change="upload"></img-self>
|
|
135
|
+
</div>
|
|
136
|
+
</div>
|
|
137
|
+
|
|
138
|
+
<div class="row text-right div-photo" style="height: 50px">
|
|
139
|
+
<img src="../../../assets/remove.png" @click="delfile('f_singlea_path', model.f_singlea_path)" ></img>
|
|
140
|
+
<button type="button" name="button" class="btn btn-primary btn-photo" @click="takePic1('f_singlea_path','抢修照片')" >拍照</button>
|
|
141
|
+
|
|
142
|
+
</div>
|
|
143
|
+
</div>
|
|
144
|
+
</div>
|
|
145
|
+
|
|
146
|
+
</div>
|
|
147
|
+
<div class="form-group col-sm-12">
|
|
148
|
+
|
|
149
|
+
<div class="panel" style="padding: 10px 10px 5px 10px;">
|
|
150
|
+
<div class="panel-body panel-self" style="background-color: #F8F8F8;width: 90%;margin-left:5%;height: 220px;position: relative">
|
|
151
|
+
<div class="row" style="height: 180px;overflow: scroll;top: 1px">
|
|
152
|
+
<div class="col-sm-4">
|
|
153
|
+
<img-self :src="model.f_singleb_path" alt="抢修照片" :width="140" :height="170" capture="camera" type="file" @change="upload"></img-self>
|
|
154
|
+
</div>
|
|
155
|
+
</div>
|
|
156
|
+
|
|
157
|
+
<div class="row text-right div-photo" style="height: 50px">
|
|
158
|
+
<img src="../../../assets/remove.png" @click="delfile('f_singleb_path', model.f_singleb_path)" ></img>
|
|
159
|
+
<button type="button" name="button" class="btn btn-primary btn-photo" @click="takePic2('f_singleb_path','抢修照片')" >拍照</button>
|
|
160
|
+
|
|
161
|
+
</div>
|
|
162
|
+
</div>
|
|
163
|
+
</div>
|
|
164
|
+
|
|
165
|
+
</div>
|
|
166
|
+
<div class="row app-row text-center" style="margin-top: 20px;">
|
|
167
|
+
<button type="button" class="btn btn-lg btn-font btn-color" style="width: 25%;" @click="save">保存</button>
|
|
168
|
+
</div>
|
|
169
|
+
|
|
170
|
+
</div>
|
|
171
|
+
</template>
|
|
172
|
+
|
|
173
|
+
<script>
|
|
174
|
+
import Vue from 'vue'
|
|
175
|
+
import * as Util from '../../../components/Util'
|
|
176
|
+
export default {
|
|
177
|
+
title: '在线维修处理',
|
|
178
|
+
props: {
|
|
179
|
+
userinfo:{
|
|
180
|
+
type: Object,
|
|
181
|
+
default: null
|
|
182
|
+
}
|
|
183
|
+
},
|
|
184
|
+
data() {
|
|
185
|
+
return {
|
|
186
|
+
source:
|
|
187
|
+
'dep=this.getParentByType($organization$).getSpecialResByType($department$),' +
|
|
188
|
+
'tool.getFullTree(dep.where(row.hasSpecialRole($派单员$)))',
|
|
189
|
+
userid: Vue.user.id,
|
|
190
|
+
failure:[],
|
|
191
|
+
model:{
|
|
192
|
+
f_userinfo_id:'',
|
|
193
|
+
f_userinfo_code:'',
|
|
194
|
+
aState: null,
|
|
195
|
+
f_address: '',
|
|
196
|
+
f_area: "",
|
|
197
|
+
f_attendant: Vue.user.name,
|
|
198
|
+
f_building: "",
|
|
199
|
+
f_card_id: "",
|
|
200
|
+
f_contact_phone: "",
|
|
201
|
+
f_depid:Vue.user.depids,
|
|
202
|
+
f_filiale_id: "",
|
|
203
|
+
f_floor: "",
|
|
204
|
+
f_handlingtype: "转维修员",
|
|
205
|
+
f_enter_number:'',
|
|
206
|
+
f_meetunit: "",
|
|
207
|
+
f_operator:Vue.user.name,
|
|
208
|
+
f_operatorid:Vue.user.id,
|
|
209
|
+
f_orgid:Vue.user.orgid,
|
|
210
|
+
f_orgname:Vue.user.orgs,
|
|
211
|
+
f_outlets: "",
|
|
212
|
+
f_phone: "",
|
|
213
|
+
f_reciever: "",
|
|
214
|
+
f_remarks: "",
|
|
215
|
+
f_repair_date: Util.getNowDate(),
|
|
216
|
+
f_repairman_phone: "",
|
|
217
|
+
f_repairtype: "",
|
|
218
|
+
f_residential_area: "",
|
|
219
|
+
f_room: "",
|
|
220
|
+
f_service_id: "",
|
|
221
|
+
f_source: "临时派单",
|
|
222
|
+
f_street: "",
|
|
223
|
+
f_unit: "",
|
|
224
|
+
f_unit_name: "",
|
|
225
|
+
f_user_name: "",
|
|
226
|
+
f_user_type: "",
|
|
227
|
+
failure: "",
|
|
228
|
+
f_single_path:'',
|
|
229
|
+
f_singlea_path:'',
|
|
230
|
+
f_singleb_path:'',
|
|
231
|
+
serviceacitivity:[{
|
|
232
|
+
f_service_acitivity_type: "派单",
|
|
233
|
+
f_reciever: Vue.user.name
|
|
234
|
+
}],
|
|
235
|
+
f_alarm_accident:'',
|
|
236
|
+
f_alarm_details:''
|
|
237
|
+
},
|
|
238
|
+
failuresAll : this.$appdata.getParam('报警内容类别'),
|
|
239
|
+
repairstypes : this.$appdata.getParam('报修类型'),
|
|
240
|
+
failuretypes: [],
|
|
241
|
+
user_types:[{label:"民用",value:"民用"},
|
|
242
|
+
{label:"非民用",value:"非民用"}],
|
|
243
|
+
repair_types:[{label:"民用",value:"民用"},
|
|
244
|
+
{label:"非民用",value:"非民用"}],
|
|
245
|
+
handling_types:[{label:"是",value:"转站点"},
|
|
246
|
+
{label:"否",value:"转维修员"}]
|
|
247
|
+
}
|
|
248
|
+
},
|
|
249
|
+
methods: {
|
|
250
|
+
getParamFailureTypes(){
|
|
251
|
+
this.failuretypes=[]
|
|
252
|
+
if (!this.model.f_repairtype){
|
|
253
|
+
return
|
|
254
|
+
}
|
|
255
|
+
for (let i = 0; i < this.failuresAll.length; i++) {
|
|
256
|
+
if (!this.failuresAll[i].label.startsWith(this.model.f_repairtype)){
|
|
257
|
+
continue
|
|
258
|
+
}
|
|
259
|
+
let tempData = {
|
|
260
|
+
label: this.failuresAll[i].label.split('-')[this.failuresAll[i].label.split('-').length-1],
|
|
261
|
+
value: this.failuresAll[i].value.split('-')[this.failuresAll[i].label.split('-').length-1]
|
|
262
|
+
}
|
|
263
|
+
this.failuretypes.push(tempData)
|
|
264
|
+
}
|
|
265
|
+
},
|
|
266
|
+
delfile(prop, fileName) {
|
|
267
|
+
if (fileName == Vue.nopic)
|
|
268
|
+
return
|
|
269
|
+
else {
|
|
270
|
+
HostApp.delfile(fileName)
|
|
271
|
+
this.model[prop] = Vue.nopic
|
|
272
|
+
}
|
|
273
|
+
},
|
|
274
|
+
cameraCallBack(prop, fileName) {
|
|
275
|
+
HostApp.__this__.model.f_single_path = fileName + '?' + Math.random()
|
|
276
|
+
HostApp.__callback__ = null
|
|
277
|
+
HostApp.__this__ = null
|
|
278
|
+
},
|
|
279
|
+
cameraCallBack1(prop, fileName) {
|
|
280
|
+
HostApp.__this__.model.f_singlea_path = fileName + '?' + Math.random()
|
|
281
|
+
HostApp.__callback__ = null
|
|
282
|
+
HostApp.__this__ = null
|
|
283
|
+
},
|
|
284
|
+
cameraCallBack2(prop, fileName) {
|
|
285
|
+
HostApp.__this__.model.f_singleb_path = fileName + '?' + Math.random()
|
|
286
|
+
HostApp.__callback__ = null
|
|
287
|
+
HostApp.__this__ = null
|
|
288
|
+
},
|
|
289
|
+
|
|
290
|
+
takePic(prop, title) {
|
|
291
|
+
HostApp.__callback__ = this.cameraCallBack
|
|
292
|
+
HostApp.__this__ = this
|
|
293
|
+
let fileName
|
|
294
|
+
if (!this.model.f_single_path || this.model.f_single_path.includes("nopic.png")) {
|
|
295
|
+
fileName = Util.guid() + '-' + prop + '.jpg'
|
|
296
|
+
} else {
|
|
297
|
+
fileName = Util.getFileName(this.model.f_single_path)
|
|
298
|
+
}
|
|
299
|
+
//tag
|
|
300
|
+
//tag
|
|
301
|
+
HostApp._open_a_page({
|
|
302
|
+
type: 'boomerang',
|
|
303
|
+
page: 'com.aofeng.hybrid.android.peripheral.CameraActivity',
|
|
304
|
+
param: {
|
|
305
|
+
file: fileName,
|
|
306
|
+
requestCode: 111,
|
|
307
|
+
callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");',
|
|
308
|
+
watermark: title + '\t时间:' + Util.toStandardTimeString() + '\t' + Vue.user.name
|
|
309
|
+
}
|
|
310
|
+
})
|
|
311
|
+
},
|
|
312
|
+
takePic1(prop, title) {
|
|
313
|
+
HostApp.__callback__ = this.cameraCallBack1
|
|
314
|
+
HostApp.__this__ = this
|
|
315
|
+
let fileName
|
|
316
|
+
if (!this.model.f_singlea_path || this.model.f_singlea_path.includes("nopic.png")) {
|
|
317
|
+
fileName = Util.guid() + '-' + prop + '.jpg'
|
|
318
|
+
} else {
|
|
319
|
+
fileName = Util.getFileName(this.model.f_singlea_path)
|
|
320
|
+
}
|
|
321
|
+
//tag
|
|
322
|
+
//tag
|
|
323
|
+
HostApp._open_a_page({
|
|
324
|
+
type: 'boomerang',
|
|
325
|
+
page: 'com.aofeng.hybrid.android.peripheral.CameraActivity',
|
|
326
|
+
param: {
|
|
327
|
+
file: fileName,
|
|
328
|
+
requestCode: 111,
|
|
329
|
+
callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");',
|
|
330
|
+
watermark: title + '\t时间:' + Util.toStandardTimeString() + '\t' + Vue.user.name
|
|
331
|
+
}
|
|
332
|
+
})
|
|
333
|
+
},
|
|
334
|
+
takePic2(prop, title) {
|
|
335
|
+
HostApp.__callback__ = this.cameraCallBack2
|
|
336
|
+
HostApp.__this__ = this
|
|
337
|
+
let fileName
|
|
338
|
+
if (!this.model.f_singleb_path || this.model.f_singleb_path.includes("nopic.png")) {
|
|
339
|
+
fileName = Util.guid() + '-' + prop + '.jpg'
|
|
340
|
+
} else {
|
|
341
|
+
fileName = Util.getFileName(this.model.f_singleb_path)
|
|
342
|
+
}
|
|
343
|
+
//tag
|
|
344
|
+
//tag
|
|
345
|
+
HostApp._open_a_page({
|
|
346
|
+
type: 'boomerang',
|
|
347
|
+
page: 'com.aofeng.hybrid.android.peripheral.CameraActivity',
|
|
348
|
+
param: {
|
|
349
|
+
file: fileName,
|
|
350
|
+
requestCode: 111,
|
|
351
|
+
callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");',
|
|
352
|
+
watermark: title + '\t时间:' + Util.toStandardTimeString() + '\t' + Vue.user.name
|
|
353
|
+
}
|
|
354
|
+
})
|
|
355
|
+
},
|
|
356
|
+
|
|
357
|
+
save() {
|
|
358
|
+
if (!this.model.f_address){
|
|
359
|
+
this.$showMessage('请填写地址信息')
|
|
360
|
+
return
|
|
361
|
+
}
|
|
362
|
+
debugger
|
|
363
|
+
if (!this.model.f_repairtype){
|
|
364
|
+
this.$showMessage('请填写警情类别')
|
|
365
|
+
return
|
|
366
|
+
}
|
|
367
|
+
if (this.failure.length == 0){
|
|
368
|
+
this.$showMessage('请填写报警内容类别')
|
|
369
|
+
return
|
|
370
|
+
}
|
|
371
|
+
if(data.model.failure){
|
|
372
|
+
data.model.f_json = this.trouble(data.model.failure)
|
|
373
|
+
}
|
|
374
|
+
//tag)
|
|
375
|
+
let data = {
|
|
376
|
+
model: this.model, loginUser: {
|
|
377
|
+
name: Vue.user.name,
|
|
378
|
+
ename: Vue.user.ename
|
|
379
|
+
}, user: null, callObj: null
|
|
380
|
+
}
|
|
381
|
+
if(this.model.f_handlingtype=='转维修员'){
|
|
382
|
+
data.toRepair = '一级派单'
|
|
383
|
+
this.model.f_meetunit = Vue.user.deps
|
|
384
|
+
this.model.f_orgid = Vue.user.orgid
|
|
385
|
+
this.model.f_filiale = Vue.user.org
|
|
386
|
+
this.model.f_outlets = Vue.user.deps
|
|
387
|
+
this.model.f_filiale_id = Vue.user.orgid
|
|
388
|
+
this.model.serviceacitivity[0].f_reciever = Vue.user.name
|
|
389
|
+
this.model.serviceacitivity[0].f_meetunit = null
|
|
390
|
+
}
|
|
391
|
+
//tag
|
|
392
|
+
HostApp.__this__ = this
|
|
393
|
+
HostApp.logicWithHint({'logic': 'callerSendPhone', 'callback': 'javascript: HostApp.__this__.commitCallBack()',
|
|
394
|
+
'data': data, 'backresult':1
|
|
395
|
+
})
|
|
396
|
+
},
|
|
397
|
+
commitCallBack(jo){
|
|
398
|
+
console.log('shujui',jo)
|
|
399
|
+
if (jo.state == "ok"&&this.model.f_handlingtype=='转站点'){
|
|
400
|
+
this.$showMessage('抢修上报成功', ['confirm']).then((req) => {
|
|
401
|
+
if (req === 'confirm') {
|
|
402
|
+
this.$dispatch('confirm')
|
|
403
|
+
}
|
|
404
|
+
})
|
|
405
|
+
}
|
|
406
|
+
else if (jo.state == "ok"&&this.model.f_handlingtype=='转维修员'){
|
|
407
|
+
this.$showMessage('抢修上报成功,请前往待办工单页面查看', ['confirm']).then((req) => {
|
|
408
|
+
if (req === 'confirm') {
|
|
409
|
+
this.$dispatch('confirm')
|
|
410
|
+
}
|
|
411
|
+
})
|
|
412
|
+
}else{
|
|
413
|
+
this.$showMessage('服务器内部错误')
|
|
414
|
+
}
|
|
415
|
+
},
|
|
416
|
+
reres(val){
|
|
417
|
+
if(val.res == undefined || val.res[0] == undefined || val.res[0] == ''){
|
|
418
|
+
return
|
|
419
|
+
}
|
|
420
|
+
this.model.serviceacitivity[0].f_meetunit = val.res[0]
|
|
421
|
+
this.model.f_meetunit = val.res[0]
|
|
422
|
+
this.model.f_filiale_id = val.orgobj[0].parentid
|
|
423
|
+
this.model.f_filiale = val.orgobj[0].parentname
|
|
424
|
+
this.model.f_outlets = val.res[0]
|
|
425
|
+
this.model.serviceacitivity[0].f_reciever = val.resids[0]
|
|
426
|
+
},
|
|
427
|
+
changeFailure(val) {
|
|
428
|
+
let failure = []
|
|
429
|
+
for (let i = 0; i < val.length; i++) {
|
|
430
|
+
failure.push({"f_failure_type": val[i], "failurecase": []})
|
|
431
|
+
}
|
|
432
|
+
this.model.failure=JSON.stringify(failure)
|
|
433
|
+
},
|
|
434
|
+
trouble (val) {
|
|
435
|
+
let failureall=''
|
|
436
|
+
let failure = JSON.parse(val)
|
|
437
|
+
for (let i = 0; i <failure.length; i++) {
|
|
438
|
+
if (failure[i].failurecase.length>0){
|
|
439
|
+
failureall+=failure[i].f_failure_type+":"
|
|
440
|
+
for (let j = 0; j < failure[i].failurecase.length; j++) {
|
|
441
|
+
failureall+=failure[i].failurecase[j]
|
|
442
|
+
if (j+1!=failure[i].failurecase.length){
|
|
443
|
+
failureall+=","
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
}else{
|
|
448
|
+
failureall+=failure[i].f_failure_type
|
|
449
|
+
}
|
|
450
|
+
if (i+1!=failure.length){
|
|
451
|
+
failureall+=';'
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
return failureall
|
|
455
|
+
}
|
|
456
|
+
},
|
|
457
|
+
ready(){
|
|
458
|
+
this.changeFailure(this.failure)
|
|
459
|
+
// let gen = select(this)
|
|
460
|
+
// co(gen)
|
|
461
|
+
},
|
|
462
|
+
watch: {
|
|
463
|
+
'failure'(val){
|
|
464
|
+
this.changeFailure(val)
|
|
465
|
+
},
|
|
466
|
+
'userinfo'(val){
|
|
467
|
+
if(val){
|
|
468
|
+
this.model.f_user_name = val.f_user_name
|
|
469
|
+
this.model.f_contact_phone = val.f_user_phone
|
|
470
|
+
this.model.f_userinfo_id = val.f_userinfo_id
|
|
471
|
+
this.model.f_userinfo_code = val.f_userinfo_code
|
|
472
|
+
this.model.f_address = val.f_address
|
|
473
|
+
this.model.f_user_type = val.f_user_type
|
|
474
|
+
this.model.f_enter_number = val.f_enter_number
|
|
475
|
+
}
|
|
476
|
+
}
|
|
477
|
+
}
|
|
478
|
+
}
|
|
479
|
+
</script>
|
|
480
|
+
|
|
481
|
+
<style scoped>
|
|
482
|
+
.inputText4 {
|
|
483
|
+
font-family:Arial,Helvetica,sans-serif;
|
|
484
|
+
background:none repeat scroll 0 0 #F5F7FD;
|
|
485
|
+
border:1px solid #B8BFE9;
|
|
486
|
+
padding:5px 7px;
|
|
487
|
+
width:100px;
|
|
488
|
+
vertical-align:middle;
|
|
489
|
+
height:30px;
|
|
490
|
+
font-size:12px;
|
|
491
|
+
margin:0;
|
|
492
|
+
list-style:none outside none;
|
|
493
|
+
}
|
|
494
|
+
.input-font{
|
|
495
|
+
font: 15px PingFang-SC-Medium;
|
|
496
|
+
color: #333333;
|
|
497
|
+
}
|
|
498
|
+
.app-row {
|
|
499
|
+
background-color: white;
|
|
500
|
+
padding: 10px 10px 0 10px;
|
|
501
|
+
border-bottom: 1px solid rgba(235, 235, 235, 0.5);
|
|
502
|
+
}
|
|
503
|
+
.bg {
|
|
504
|
+
background-color: blue;
|
|
505
|
+
height: 1px;
|
|
506
|
+
border: 0;
|
|
507
|
+
}
|
|
508
|
+
.app-row {
|
|
509
|
+
background-color: white;
|
|
510
|
+
padding: 10px 10px 0 10px;
|
|
511
|
+
border-bottom: 1px solid rgba(235, 235, 235, 0.5);
|
|
512
|
+
}
|
|
513
|
+
.search_input {
|
|
514
|
+
border: 0;
|
|
515
|
+
outline: none;
|
|
516
|
+
}
|
|
517
|
+
.font{
|
|
518
|
+
font: 15px PingFang-SC-Medium;
|
|
519
|
+
color: #666666;
|
|
520
|
+
}
|
|
521
|
+
.input-font{
|
|
522
|
+
font: 15px PingFang-SC-Medium;
|
|
523
|
+
color: #333333;
|
|
524
|
+
}
|
|
525
|
+
.btn-font{
|
|
526
|
+
font:600 16px PingFang-SC-Bold;
|
|
527
|
+
color: #499EDF;
|
|
528
|
+
}
|
|
529
|
+
.btn-color{
|
|
530
|
+
background-color: #FFFFFF;
|
|
531
|
+
border-radius: 10px ;
|
|
532
|
+
border: 1px solid #499EDF;
|
|
533
|
+
}
|
|
534
|
+
.app-text {
|
|
535
|
+
font-size: 12px;
|
|
536
|
+
}
|
|
537
|
+
</style>
|
|
@@ -276,6 +276,9 @@
|
|
|
276
276
|
<th>
|
|
277
277
|
<nobr>汇总备注</nobr>
|
|
278
278
|
</th>
|
|
279
|
+
<th>
|
|
280
|
+
<nobr>隐患备注</nobr>
|
|
281
|
+
</th>
|
|
279
282
|
</tr>
|
|
280
283
|
</template>
|
|
281
284
|
<template partial='body'>
|
|
@@ -358,6 +361,9 @@
|
|
|
358
361
|
<td style="text-align: center;">
|
|
359
362
|
<nobr>{{ row.f_repair_remarks }}</nobr>
|
|
360
363
|
</td>
|
|
364
|
+
<td style="text-align: center;">
|
|
365
|
+
<nobr>{{ row.f_content }}</nobr>
|
|
366
|
+
</td>
|
|
361
367
|
</template>
|
|
362
368
|
</data-grid>
|
|
363
369
|
</criteria-paged>
|
|
@@ -477,7 +483,9 @@ export default {
|
|
|
477
483
|
'f_result_status': '工单结果',
|
|
478
484
|
'f_user_type': '客户类型',
|
|
479
485
|
'f_failure': '维修类型',
|
|
480
|
-
'f_handlingtype': '派单类型'
|
|
486
|
+
'f_handlingtype': '派单类型',
|
|
487
|
+
'f_repair_remarks': '汇总备注',
|
|
488
|
+
'f_content': '隐患备注'
|
|
481
489
|
},
|
|
482
490
|
criteriaShow: false
|
|
483
491
|
}
|
package/src/telephone.js
CHANGED
|
@@ -640,6 +640,9 @@ export default function (filiale,guoxin) {
|
|
|
640
640
|
Vue.component('table-fault-report', (resolve) => {
|
|
641
641
|
require(['./components/telreport/TableFaultReport'], resolve)
|
|
642
642
|
})
|
|
643
|
+
Vue.component('repairs-details-report', (resolve) => {
|
|
644
|
+
require(['./components/telreport/RepairsDetailsReport'], resolve)
|
|
645
|
+
})
|
|
643
646
|
Vue.component('tel-man', (resolve) => {
|
|
644
647
|
require(['./components/telreport/TelMan'], resolve)
|
|
645
648
|
})
|