telephone-clients 4.0.0-1-6 → 4.0.0-1-7
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 +1 -1
- package/src/components/android/AddMyTask.vue +19 -1
- package/src/components/pc/TelLossList.vue +12 -19
- package/src/components/pc/VisitInfo.vue +2 -2
- package/src/components/workorder/Outlay.vue +191 -270
- package/src/components/workorder/PhoneStandWork.vue +230 -262
- package/src/components/workorder/RepairOrderV.vue +9 -1
- package/src/filiale/meihekou/android/RepairOrderV.vue +174 -129
package/package.json
CHANGED
|
@@ -214,6 +214,13 @@ export default {
|
|
|
214
214
|
data() {
|
|
215
215
|
return {
|
|
216
216
|
model: new PagedList(`${this.$androidUtil.getProxyUrl()}/af-telephone/rs/sql/phoneOperatorService`, 20, { userid: `"${Vue.user.name}"` }, null, false),
|
|
217
|
+
searchData: {
|
|
218
|
+
condition:{
|
|
219
|
+
condition: '1=1',
|
|
220
|
+
sign:'1=1'
|
|
221
|
+
},
|
|
222
|
+
// userid: Vue.user.ename
|
|
223
|
+
},
|
|
217
224
|
repairTypeOptions: [],
|
|
218
225
|
typeData: [],
|
|
219
226
|
showMessage: true
|
|
@@ -226,7 +233,12 @@ export default {
|
|
|
226
233
|
}
|
|
227
234
|
this.repairTypeOptions = this.$appdata.getParam('报修类型')
|
|
228
235
|
},
|
|
236
|
+
mounted(){
|
|
229
237
|
|
|
238
|
+
},
|
|
239
|
+
destroyed(){
|
|
240
|
+
|
|
241
|
+
},
|
|
230
242
|
methods: {
|
|
231
243
|
// 获取现有的报修类型对应的数量
|
|
232
244
|
async initRepairTypeNum(val) {
|
|
@@ -267,6 +279,8 @@ export default {
|
|
|
267
279
|
}
|
|
268
280
|
},
|
|
269
281
|
search (args) {
|
|
282
|
+
//tag
|
|
283
|
+
//tag
|
|
270
284
|
let data = {}
|
|
271
285
|
data.condition = this.$refs.paged.$refs.cri.condition?this.$refs.paged.$refs.cri.condition:'1=1'
|
|
272
286
|
data.condition += " "+"and f_workorder_type like '%报修单%'";
|
|
@@ -330,7 +344,11 @@ export default {
|
|
|
330
344
|
},
|
|
331
345
|
makeAPhoneCall(phoneNumber) {
|
|
332
346
|
this.$androidUtil.makeAPhoneCall(phoneNumber)
|
|
333
|
-
}
|
|
347
|
+
},
|
|
348
|
+
},
|
|
349
|
+
computed:{
|
|
350
|
+
|
|
334
351
|
}
|
|
352
|
+
|
|
335
353
|
}
|
|
336
354
|
</script>
|
|
@@ -2,18 +2,12 @@
|
|
|
2
2
|
<div class="flex-row">
|
|
3
3
|
<div id="stand-work-list" class="flex bg-white p-10 basic-main" style="flex-direction: row">
|
|
4
4
|
<div style="width: 40%;height: 100%" v-show="leftShow">
|
|
5
|
-
<div class="row" style="height: 10%;width:
|
|
6
|
-
<div class="form-group form-input-group" style="display: flex;justify-content: flex-start
|
|
7
|
-
<label class="font_normal_body" style="width:
|
|
5
|
+
<div class="row" style="height: 10%;width: 50%">
|
|
6
|
+
<div class="form-group form-input-group" style="display: flex;justify-content: flex-start">
|
|
7
|
+
<label class="font_normal_body" style="width: 40%">查询日期</label>
|
|
8
8
|
<datepicker placeholder="查询日期"
|
|
9
|
-
:value.sync="
|
|
10
|
-
v-model="
|
|
11
|
-
:format="'yyyy-MM-dd HH:mm:ss'"
|
|
12
|
-
></datepicker>
|
|
13
|
-
<label class="font_normal_body" style="width: 20%">结束日期</label>
|
|
14
|
-
<datepicker placeholder="查询日期"
|
|
15
|
-
:value.sync="endDate"
|
|
16
|
-
v-model="endDate"
|
|
9
|
+
:value.sync="searchDate"
|
|
10
|
+
v-model="searchDate"
|
|
17
11
|
:format="'yyyy-MM-dd HH:mm:ss'"
|
|
18
12
|
></datepicker>
|
|
19
13
|
<button type="button" name="button"
|
|
@@ -134,8 +128,7 @@ export default {
|
|
|
134
128
|
wavflie: '',
|
|
135
129
|
idwavfile: '',
|
|
136
130
|
leftShow: true,
|
|
137
|
-
|
|
138
|
-
endDate: Util.toStandardDateString(),
|
|
131
|
+
searchDate: Util.toStandardDateString(),
|
|
139
132
|
orderMan: '',
|
|
140
133
|
msgs: [],
|
|
141
134
|
huifangs: [{label: "全部", value: ""}, {label: "已回访", value: "已回访"}, {label: "未回访", value: "未回访"}],
|
|
@@ -241,16 +234,16 @@ export default {
|
|
|
241
234
|
this.model.f_flghuifang = '未回访'
|
|
242
235
|
},
|
|
243
236
|
searchEcharts() {
|
|
244
|
-
console.log("9334", this.
|
|
245
|
-
this.renderEcharts(this.
|
|
237
|
+
console.log("9334", this.searchDate)
|
|
238
|
+
this.renderEcharts(this.searchDate)
|
|
246
239
|
},
|
|
247
240
|
//获取当前日期
|
|
248
|
-
renderEcharts(
|
|
249
|
-
console.log("933",
|
|
241
|
+
renderEcharts(date) {
|
|
242
|
+
console.log("933", Util.addDate(3, date), Util.addDate(-3), date)
|
|
250
243
|
new HttpResetClass().load("post", 'af-telephone/rs/sql/getLossPhoneByTime', {
|
|
251
244
|
data: {
|
|
252
245
|
groupitem: 'SUBSTRING(outltime, 0, 11)',
|
|
253
|
-
condition: `outltime>='${
|
|
246
|
+
condition: `outltime>='${Util.addDate(-3, date)} 00:00:00' and outltime<='${Util.addDate(3, date)} 23:59:59'`
|
|
254
247
|
}
|
|
255
248
|
}, {resolveMsg: null, rejectMsg: null}).then(res => {
|
|
256
249
|
let myChart1 = this.$echarts.init(document.getElementById(("husunzhexian1")))
|
|
@@ -260,7 +253,7 @@ export default {
|
|
|
260
253
|
new HttpResetClass().load("post", 'af-telephone/rs/sql/getLossPhoneByTime', {
|
|
261
254
|
data: {
|
|
262
255
|
groupitem: "SUBSTRING(outltime, 12, 2)+':00'",
|
|
263
|
-
condition: `outltime>='${
|
|
256
|
+
condition: `outltime>='${Util.toStandardDateString(date)} 08:00:00' and outltime<='${Util.toStandardDateString(date)} 18:59:59'`
|
|
264
257
|
}
|
|
265
258
|
}, {resolveMsg: null, rejectMsg: null}).then(res => {
|
|
266
259
|
let myChart1 = this.$echarts.init(document.getElementById(("husunzhexian2")))
|
|
@@ -237,8 +237,8 @@
|
|
|
237
237
|
try{
|
|
238
238
|
http.load('POST', wxcon.voiceUrl, {
|
|
239
239
|
aId: this.$login.f.id,
|
|
240
|
-
aChannel:
|
|
241
|
-
aModule:
|
|
240
|
+
aChannel: this.aChannel,
|
|
241
|
+
aModule: this.aModule,
|
|
242
242
|
aBzType:"callout",
|
|
243
243
|
bzExtra: telnum,
|
|
244
244
|
bzId: telnum,
|
|
@@ -5,9 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
<div class="bq-parent" v-if="shutype == 'heng'">
|
|
7
7
|
<blockquote class="blockquote">
|
|
8
|
-
<p>费用<a
|
|
9
|
-
src="../../assets/novoice.png" width="25px;" alt=""><span
|
|
10
|
-
style="margin-left:10px;color: #304A66">关闭声音</span></a></p>
|
|
8
|
+
<p>费用<a @click="mute()" style="float:right" href="javascript:void(0)" class="repair-mute-class"><img src="../../assets/novoice.png" width="25px;" alt=""><span style="margin-left:10px;color: #304A66">关闭声音</span></a></p>
|
|
11
9
|
</blockquote>
|
|
12
10
|
</div>
|
|
13
11
|
<div class="auto repair-info-content compatible" v-if="materialsumshow">
|
|
@@ -42,49 +40,20 @@
|
|
|
42
40
|
<!--</div>-->
|
|
43
41
|
<div class="col-xs-12 col-sm-12 col-md-12 form-input-group">
|
|
44
42
|
<label class="text-justify lb-left">备注:</label>
|
|
45
|
-
<span v-if="show" style="font-weight:bold">{{
|
|
46
|
-
<textarea class="form-control" cols="30" rows="4" style="resize: vertical;" v-model="model.f_remarks"
|
|
47
|
-
v-if="!show" :disabled="issee"></textarea>
|
|
48
|
-
</div>
|
|
49
|
-
</div>
|
|
50
|
-
<div class="form-group col-md-12 col-sm-12 col-xs-12">
|
|
51
|
-
<div class="row">
|
|
52
|
-
<label class="text-left">请对我们的服务做出评价:</label>
|
|
53
|
-
</div>
|
|
54
|
-
<div class="col-xs-4 col-sm-4" v-for="item in radios">
|
|
55
|
-
<input v-model="model.f_client_evaluation" :value="item.label" :checked='item.isChecked'
|
|
56
|
-
@click="check(item.value)" type="radio">{{ item.label }}
|
|
57
|
-
</div>
|
|
58
|
-
</div>
|
|
59
|
-
|
|
60
|
-
<div class="form-group col-md-12 col-sm-12 col-xs-12">
|
|
61
|
-
<label class="text-left font">反馈录音:</label>
|
|
62
|
-
<div class="col-md-12 col-sm-12 col-xs-12">
|
|
63
|
-
<button type="button" name="button" class="btn btn-primary btn-voice" @click="record">
|
|
64
|
-
<img src="../../assets/录音.png" style="width: 14%;">
|
|
65
|
-
<span v-if="!model.f_recording_path">开始录音</span>
|
|
66
|
-
<span v-if="model.f_recording_path">已录音</span>
|
|
67
|
-
</button>
|
|
68
|
-
<img src="../../assets/remove.png" style="width: 15px;" :class="style__"
|
|
69
|
-
@click="delAudioFile('f_recording_path', model.f_recording_path)"></img>
|
|
70
|
-
</div>
|
|
71
|
-
</div>
|
|
72
|
-
<div class="row auto">
|
|
73
|
-
<div class="col-xs-12 col-sm-12 col-md-12 form-input-group">
|
|
74
|
-
<label class="text-justify lb-left">处理前照片</label>
|
|
75
|
-
<img-area :model="model.imgs" :sutitle="处理前照片"></img-area>
|
|
43
|
+
<span v-if="show" style="font-weight:bold">{{model.f_remarks}}</span>
|
|
44
|
+
<textarea class="form-control" cols="30" rows="4" style="resize: vertical;" v-model="model.f_remarks" v-if="!show" :disabled="issee"></textarea>
|
|
76
45
|
</div>
|
|
77
46
|
</div>
|
|
78
47
|
<div class="row auto" v-if="imgtpe">
|
|
79
|
-
<div class="col-xs-12 col-sm-12 col-md-12 form-input-group"
|
|
80
|
-
<label class="text-justify lb-left">{{
|
|
81
|
-
<img-area
|
|
48
|
+
<div class="col-xs-12 col-sm-12 col-md-12 form-input-group" v-for="row in imgstype">
|
|
49
|
+
<label class="text-justify lb-left">{{row.title}}</label>
|
|
50
|
+
<img-area :model="model.imgs" :sutitle="getsutitle(row.title)" :isxiangce="isxiangce"></img-area>
|
|
82
51
|
</div>
|
|
83
52
|
</div>
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
<img-area
|
|
53
|
+
<!-- <div v-if="pdfurl">-->
|
|
54
|
+
<!-- <iframe class="prism-player" :src="pdfurl" width="100%" height="100%"></iframe>-->
|
|
55
|
+
<!-- </div>-->
|
|
56
|
+
<img-area :model="model.imgs" :sutitle="'总体照片'" v-if="!imgtpe" :isxiangce="isxiangce"></img-area>
|
|
88
57
|
<p style="font-size: 15px;font-weight: bold" v-if="model.f_sign_imgid">客户签名:</p>
|
|
89
58
|
<div v-if="!show && signType">
|
|
90
59
|
<Sign :signname="model.f_signname" @input="getSignValue"></Sign>
|
|
@@ -93,237 +62,189 @@
|
|
|
93
62
|
<new-sign :value="model.f_signname" @input="getSignValue"></new-sign>
|
|
94
63
|
</div>
|
|
95
64
|
<div v-if="show && model.f_sign_imgid">
|
|
96
|
-
<img :src="'rs/file/getfile/' + model.f_sign_imgid" :width="150" :height="200">
|
|
65
|
+
<img :src="'rs/file/getfile/' + model.f_sign_imgid" :width="150" :height="200" >
|
|
97
66
|
</div>
|
|
98
67
|
</div>
|
|
99
68
|
<material-sum v-if="!materialsumshow" v-on:sumchange="sumchange"
|
|
100
|
-
v-on:back="showchenge" :material="model.material" :f_cost_material="model.f_cost_material"
|
|
101
|
-
:show="show">
|
|
69
|
+
v-on:back="showchenge" :material="model.material" :f_cost_material="model.f_cost_material" :show="show">
|
|
102
70
|
</material-sum>
|
|
103
71
|
</validator>
|
|
104
72
|
</div>
|
|
105
73
|
</template>
|
|
106
74
|
|
|
107
75
|
<script>
|
|
108
|
-
import Vue from 'vue'
|
|
109
|
-
import * as Util from '../Util'
|
|
110
|
-
// import {HttpResetClass} from "vue-client";
|
|
111
|
-
export default {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
},
|
|
118
|
-
service: {
|
|
119
|
-
type: Object
|
|
120
|
-
},
|
|
121
|
-
show: {
|
|
122
|
-
type: Boolean,
|
|
123
|
-
default: false
|
|
124
|
-
},
|
|
125
|
-
f_single_man: {
|
|
126
|
-
type: Object
|
|
127
|
-
},
|
|
128
|
-
system: '',
|
|
129
|
-
shutype: 'heng',
|
|
130
|
-
issee: ''
|
|
131
|
-
},
|
|
132
|
-
data () {
|
|
133
|
-
return {
|
|
134
|
-
radios: [
|
|
135
|
-
{
|
|
136
|
-
label: '满意',
|
|
137
|
-
value: 0,
|
|
138
|
-
isChecked: false
|
|
139
|
-
},
|
|
140
|
-
{
|
|
141
|
-
label: '基本满意',
|
|
142
|
-
value: 1,
|
|
143
|
-
isChecked: false
|
|
144
|
-
},
|
|
145
|
-
{
|
|
146
|
-
label: '不满意',
|
|
147
|
-
value: 2,
|
|
148
|
-
isChecked: false
|
|
149
|
-
}
|
|
150
|
-
],
|
|
151
|
-
signType: {
|
|
152
|
-
type: Boolean,
|
|
153
|
-
default: true
|
|
76
|
+
import Vue from 'vue'
|
|
77
|
+
import * as Util from '../Util'
|
|
78
|
+
// import {HttpResetClass} from "vue-client";
|
|
79
|
+
export default {
|
|
80
|
+
title: '费用',
|
|
81
|
+
props: {
|
|
82
|
+
// 本次维修, 包含照片数组 材料数组
|
|
83
|
+
model: {
|
|
84
|
+
type: Object
|
|
154
85
|
},
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
86
|
+
service: {
|
|
87
|
+
type: Object
|
|
88
|
+
},
|
|
89
|
+
show: {
|
|
159
90
|
type: Boolean,
|
|
160
|
-
default:
|
|
91
|
+
default: false
|
|
161
92
|
},
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
methods: {
|
|
169
|
-
check (index) {
|
|
170
|
-
// 先取消所有选中项
|
|
171
|
-
for (let item of this.radios) {
|
|
172
|
-
item.isChecked = false
|
|
173
|
-
}
|
|
174
|
-
//再设置当前点击项选中
|
|
175
|
-
this.model.f_client_evaluation = this.radios[index].label
|
|
176
|
-
// 设置值,以供传递
|
|
177
|
-
this.radios[index].isChecked = true
|
|
178
|
-
},
|
|
179
|
-
amrCallBack (fileName) {
|
|
180
|
-
HostApp.__this__.$set('model.f_recording_path', fileName)
|
|
181
|
-
HostApp.__callback__ = null
|
|
182
|
-
HostApp.__this__ = null
|
|
93
|
+
f_single_man: {
|
|
94
|
+
type: Object
|
|
95
|
+
},
|
|
96
|
+
system: '',
|
|
97
|
+
shutype: 'heng',
|
|
98
|
+
issee:''
|
|
183
99
|
},
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
100
|
+
data () {
|
|
101
|
+
return {
|
|
102
|
+
// pdfurl:'',
|
|
103
|
+
signType:{
|
|
104
|
+
type: Boolean,
|
|
105
|
+
default: true
|
|
106
|
+
},
|
|
107
|
+
// 拍照时的文件名
|
|
108
|
+
imgurl: 'http://192.168.2.77:8081',
|
|
109
|
+
fileName: '',
|
|
110
|
+
materialsumshow: { // 控制明细组件和费用层的 显示 fasle 明细组建显示
|
|
111
|
+
type: Boolean,
|
|
112
|
+
default: true
|
|
113
|
+
},
|
|
114
|
+
imgtpe:false,
|
|
115
|
+
isxiangce:this.$appdata.getSingleValue('维修-开启相册')?this.$appdata.getSingleValue('维修-开启相册'):'否',
|
|
116
|
+
image_length:this.$appdata.getSingleValue('维修图片最大数量')?this.$appdata.getSingleValue('维修图片最大数量'):'99',
|
|
117
|
+
imgstype:[]
|
|
192
118
|
}
|
|
193
|
-
HostApp._open_a_page({
|
|
194
|
-
type: 'boomerang',
|
|
195
|
-
page: 'com.aofeng.hybrid.android.peripheral.AudioClipActivity',
|
|
196
|
-
param: {file: fileName, requestCode: 111, callback: 'javascript:HostApp.__callback__("%s");'}
|
|
197
|
-
})
|
|
198
|
-
},
|
|
199
|
-
getSignValue (fileName) {
|
|
200
|
-
//tag
|
|
201
|
-
//tag
|
|
202
|
-
this.model.f_signname = fileName
|
|
203
|
-
this.model.f_sign_path = this.$androidUtil.getFullFileName(fileName)
|
|
204
|
-
},
|
|
205
|
-
getsutitle (val) {
|
|
206
|
-
return val
|
|
207
|
-
},
|
|
208
|
-
mute () {
|
|
209
|
-
HostApp.mute()
|
|
210
|
-
},
|
|
211
|
-
// 签名回调
|
|
212
|
-
signCallback (prop, fileName) {
|
|
213
|
-
// HostApp.alert('绑定属性:' + prop + ' 文件全路径如file:///storage/sdcard0/safecheck/abc.jpg:' + fullFileName)
|
|
214
|
-
HostApp.__this__.$set('model.f_signname', fileName)
|
|
215
|
-
HostApp.__callback__ = null
|
|
216
|
-
HostApp.__this__ = null
|
|
217
|
-
},
|
|
218
|
-
// 用户签名
|
|
219
|
-
sign () {
|
|
220
|
-
this.delAudioFile('f_signname', this.model.f_signname)
|
|
221
|
-
let prop = 'f_signname'
|
|
222
|
-
let idx = 'aofeng'
|
|
223
|
-
let fileName = Util.guid() + '-valve-' + idx + '-' + prop + '.jpg'
|
|
224
|
-
HostApp.__callback__ = this.signCallback
|
|
225
|
-
HostApp.__this__ = this
|
|
226
|
-
HostApp.getSignature({
|
|
227
|
-
file: fileName,
|
|
228
|
-
requestCode: 111,
|
|
229
|
-
callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");'
|
|
230
|
-
})
|
|
231
119
|
},
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
this.model
|
|
120
|
+
methods: {
|
|
121
|
+
getSignValue(fileName){
|
|
122
|
+
//tag
|
|
123
|
+
//tag
|
|
124
|
+
this.model.f_signname = fileName
|
|
125
|
+
this.model.f_sign_path = this.$androidUtil.getFullFileName(fileName)
|
|
126
|
+
},
|
|
127
|
+
getsutitle(val){
|
|
128
|
+
return val
|
|
129
|
+
},
|
|
130
|
+
mute () {
|
|
131
|
+
HostApp.mute()
|
|
132
|
+
},
|
|
133
|
+
// 签名回调
|
|
134
|
+
signCallback(prop, fileName) {
|
|
135
|
+
// HostApp.alert('绑定属性:' + prop + ' 文件全路径如file:///storage/sdcard0/safecheck/abc.jpg:' + fullFileName)
|
|
136
|
+
HostApp.__this__.$set('model.f_signname', fileName)
|
|
137
|
+
HostApp.__callback__ = null
|
|
138
|
+
HostApp.__this__ = null
|
|
139
|
+
},
|
|
140
|
+
// 用户签名
|
|
141
|
+
sign() {
|
|
142
|
+
this.delAudioFile('f_signname', this.model.f_signname)
|
|
143
|
+
let prop = 'f_signname'
|
|
144
|
+
let idx = 'aofeng'
|
|
145
|
+
let fileName = Util.guid() + '-valve-' + idx + '-' + prop + '.jpg'
|
|
146
|
+
HostApp.__callback__ = this.signCallback
|
|
147
|
+
HostApp.__this__ = this
|
|
148
|
+
HostApp.getSignature({
|
|
149
|
+
file: fileName,
|
|
150
|
+
requestCode: 111,
|
|
151
|
+
callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");'
|
|
152
|
+
})
|
|
153
|
+
},
|
|
154
|
+
delAudioFile(prop, fileName) {
|
|
155
|
+
if (!fileName)
|
|
156
|
+
return
|
|
157
|
+
else {
|
|
158
|
+
HostApp.delfile(fileName)
|
|
159
|
+
this.model[prop] = null
|
|
160
|
+
}
|
|
161
|
+
},
|
|
162
|
+
// 从图片中删除
|
|
163
|
+
remove (row) {
|
|
164
|
+
this.$androidUtil.delfile(row.android_file)
|
|
165
|
+
let pos = this.model.imgs.findIndex((value) => {
|
|
166
|
+
return value === row
|
|
167
|
+
})
|
|
168
|
+
this.model.imgs.splice(pos, 1)
|
|
169
|
+
},
|
|
170
|
+
// fileName: 回传文件名,传入的带安卓路径url
|
|
171
|
+
// prop: 传入的字段名,没做改动
|
|
172
|
+
cameraCallBack(prop, fileName) {
|
|
173
|
+
// 当前this只能通过HostApp.__tis__获取
|
|
174
|
+
let self = this.$androidUtil.getCallBack(this)
|
|
175
|
+
// 添加新图片
|
|
176
|
+
self.model.imgs.push({
|
|
177
|
+
android_file: self.fileName,
|
|
178
|
+
path: fileName
|
|
179
|
+
})
|
|
180
|
+
},
|
|
181
|
+
takePic() {
|
|
182
|
+
let prop = 'repair'
|
|
183
|
+
let idx = 'aofeng'
|
|
184
|
+
this.fileName = Util.guid() + '-valve-' + idx + '-' + prop + '.jpg'
|
|
185
|
+
this.$androidUtil.takePic(this, this.cameraCallBack, this.fileName)
|
|
186
|
+
},
|
|
187
|
+
// 明细组件显示
|
|
188
|
+
sumshow(){
|
|
189
|
+
this.materialsumshow = false
|
|
190
|
+
},
|
|
191
|
+
// 当材料明细发生变化 材料费随之变化
|
|
192
|
+
sumchange(val){
|
|
193
|
+
this.model.f_cost_material = val
|
|
194
|
+
},
|
|
195
|
+
// 返回 总材料费 关闭材料费详情界面
|
|
196
|
+
showchenge(val){
|
|
197
|
+
this.materialsumshow = true
|
|
198
|
+
if(!isNaN(val)) {
|
|
199
|
+
this.model.f_cost_material = val
|
|
200
|
+
}
|
|
238
201
|
}
|
|
239
202
|
},
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
let self = this.$androidUtil.getCallBack(this)
|
|
253
|
-
// 添加新图片
|
|
254
|
-
self.model.imgs.push({
|
|
255
|
-
android_file: self.fileName,
|
|
256
|
-
path: fileName
|
|
257
|
-
})
|
|
258
|
-
},
|
|
259
|
-
takePic () {
|
|
260
|
-
let prop = 'repair'
|
|
261
|
-
let idx = 'aofeng'
|
|
262
|
-
this.fileName = Util.guid() + '-valve-' + idx + '-' + prop + '.jpg'
|
|
263
|
-
this.$androidUtil.takePic(this, this.cameraCallBack, this.fileName)
|
|
264
|
-
},
|
|
265
|
-
// 明细组件显示
|
|
266
|
-
sumshow () {
|
|
267
|
-
this.materialsumshow = false
|
|
268
|
-
},
|
|
269
|
-
// 当材料明细发生变化 材料费随之变化
|
|
270
|
-
sumchange (val) {
|
|
271
|
-
this.model.f_cost_material = val
|
|
272
|
-
},
|
|
273
|
-
// 返回 总材料费 关闭材料费详情界面
|
|
274
|
-
showchenge (val) {
|
|
275
|
-
this.materialsumshow = true
|
|
276
|
-
if (!isNaN(val)) {
|
|
277
|
-
this.model.f_cost_material = val
|
|
203
|
+
ready(){
|
|
204
|
+
if(Vue.config.telephone.Outlay.data != undefined){
|
|
205
|
+
//tag
|
|
206
|
+
//tag)
|
|
207
|
+
if(this.service.f_user_type == '民用'){
|
|
208
|
+
this.imgstype = Object.assign([], JSON.parse(JSON.stringify(Vue.config.telephone.Outlay.data[this.service.f_workorder_type].civil)))
|
|
209
|
+
}else{
|
|
210
|
+
this.imgstype = Object.assign([], JSON.parse(JSON.stringify(Vue.config.telephone.Outlay.data[this.service.f_workorder_type].nocivil)))
|
|
211
|
+
}
|
|
212
|
+
if(this.imgstype.length>0){
|
|
213
|
+
this.imgtpe = true
|
|
214
|
+
}
|
|
278
215
|
}
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
ready () {
|
|
282
|
-
if (Vue.config.telephone.Outlay.data != undefined) {
|
|
283
|
-
//tag
|
|
284
|
-
//tag)
|
|
285
|
-
if (this.service.f_user_type == '民用') {
|
|
286
|
-
this.imgstype = Object.assign([], JSON.parse(JSON.stringify(Vue.config.telephone.Outlay.data[this.service.f_workorder_type].civil)))
|
|
287
|
-
} else {
|
|
288
|
-
this.imgstype = Object.assign([], JSON.parse(JSON.stringify(Vue.config.telephone.Outlay.data[this.service.f_workorder_type].nocivil)))
|
|
216
|
+
if(navigator.userAgent.match('iPad') || navigator.userAgent.match('iPhone')){
|
|
217
|
+
this.signType = false
|
|
289
218
|
}
|
|
290
|
-
if
|
|
291
|
-
this.
|
|
219
|
+
if(this.model && this.model.f_single_man){
|
|
220
|
+
this.model.f_single_man = this.f_single_man
|
|
292
221
|
}
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
this.model.f_single_man = this.f_single_man
|
|
299
|
-
}
|
|
300
|
-
if (!this.show && this.model) {
|
|
301
|
-
if (Vue.user == undefined) {
|
|
302
|
-
return
|
|
222
|
+
if(!this.show&&this.model){
|
|
223
|
+
if(Vue.user == undefined)
|
|
224
|
+
return
|
|
225
|
+
this.model.f_order_man = Vue.user.name
|
|
226
|
+
this.model.f_order_man_id = Vue.user.id
|
|
303
227
|
}
|
|
304
|
-
this.
|
|
305
|
-
this.
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
// }
|
|
325
|
-
// })
|
|
326
|
-
// }
|
|
228
|
+
// if (this.service.f_workorder_type == '置换通气单'){
|
|
229
|
+
// new HttpResetClass().load('POST', `${this.$androidUtil.getProxyUrl()}/af-telephone/rs/sql/tel_singleTable_OrderBy`, {
|
|
230
|
+
// data: {
|
|
231
|
+
// items: "*",
|
|
232
|
+
// tablename: "t_userinfo",
|
|
233
|
+
// condition: ` f_userinfo_id = '${this.model.baseuserinfo.f_userinfo_id}' and f_is_signature is null`,
|
|
234
|
+
// orderitem: "id"
|
|
235
|
+
// }
|
|
236
|
+
// }, {resolveMsg: null, rejectMsg: null}).then((res) => {
|
|
237
|
+
// if (res.data.length>0){
|
|
238
|
+
// new HttpResetClass().load('POST', `${this.$androidUtil.getProxyUrl()}/wx/af-telephone/rs/logic/wordToosRept`, {
|
|
239
|
+
// data: {
|
|
240
|
+
// f_userinfo_id: this.model.baseuserinfo.f_userinfo_id,
|
|
241
|
+
// }
|
|
242
|
+
// }, {resolveMsg: null, rejectMsg: null}).then((res2) => {
|
|
243
|
+
// this.pdfurl = res2.data[0].f_visit_url
|
|
244
|
+
// })
|
|
245
|
+
// }
|
|
246
|
+
// })
|
|
247
|
+
// }
|
|
327
248
|
// base64_str = base64.encodeFile(sign_path[0].f_realpath),
|
|
328
249
|
// pdf2_data={
|
|
329
250
|
// f_contract_signature_id:pdf[0].f_contract_signature_id,
|
|
@@ -335,27 +256,27 @@ export default {
|
|
|
335
256
|
// log.debug($合同结果=========>{pdf2}$)
|
|
336
257
|
// ),null,
|
|
337
258
|
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
259
|
+
//tag
|
|
260
|
+
//tag
|
|
261
|
+
//tag
|
|
262
|
+
},
|
|
263
|
+
watch: {
|
|
264
|
+
'model.imgs' (val){
|
|
265
|
+
if (this.model.imgs.length > this.image_length){
|
|
266
|
+
this.$showMessage('最大可上传3张照片')
|
|
267
|
+
this.model.imgs.splice(0, 1)
|
|
268
|
+
}
|
|
347
269
|
}
|
|
348
|
-
}
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
270
|
+
},
|
|
271
|
+
computed:{
|
|
272
|
+
Detail(){
|
|
273
|
+
if (this.model.imgs && this.model.servicerepair.length > 0) {
|
|
274
|
+
let result = this.model.servicerepair.find((row) => {
|
|
275
|
+
return row.f_type === this.repairitem.header
|
|
276
|
+
})
|
|
277
|
+
return result
|
|
278
|
+
}
|
|
357
279
|
}
|
|
358
280
|
}
|
|
359
281
|
}
|
|
360
|
-
}
|
|
361
282
|
</script>
|