sale-client 3.6.312 → 3.6.314
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/revenue/base/leftview/Userinfo.vue +1 -1
- package/src/filiale/lixianV3/iotHand.vue +1 -1
- package/src/filiale/shimen/UserDeviceInfoTest.vue +410 -0
- package/src/filiale/shimen/sale.js +6 -0
- package/src/filiale/wenxi/CardHand.vue +47 -7
- package/src/filiale/yuncheng/ChargeList.vue +5 -0
- package/src/plugins/jsign.js +3 -1
package/package.json
CHANGED
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
<div class="row" :class="[config.f_user_phone ? 'highlight' : '']">
|
|
46
46
|
<label class="col-sm-5">客户电话</label>
|
|
47
47
|
<span class="col-sm-7">{{ data ? data.f_user_phone : dafault.f_user_phone }}
|
|
48
|
-
<span v-if="data
|
|
48
|
+
<span v-if="data" @click.stop="changeuserphone"
|
|
49
49
|
class="glyphicon glyphicon-pencil clickchange" title="修正客户电话"></span>
|
|
50
50
|
</span>
|
|
51
51
|
</div>
|
|
@@ -415,7 +415,7 @@ export default {
|
|
|
415
415
|
f_operatorid: this.$login.f.id,
|
|
416
416
|
f_orgid: this.$login.f.orgid,
|
|
417
417
|
f_orgname:this.$login.f.orgs,
|
|
418
|
-
|
|
418
|
+
f_depid: Vue.$login.f.depids,
|
|
419
419
|
f_depname: Vue.$login.f.deps,
|
|
420
420
|
downDate:Util.toStandardTimeString()
|
|
421
421
|
}
|
|
@@ -0,0 +1,410 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="auto">
|
|
3
|
+
<modal :show.sync="show_devices" width="80%" title="表具设备信息" v-ref:modal large backdrop="false">
|
|
4
|
+
<header slot="modal-header" class="modal-header">
|
|
5
|
+
<span class="glyphicon glyphicon-remove closebtn" @click="closeModal"></span>
|
|
6
|
+
</header>
|
|
7
|
+
<article slot="modal-body" class="modal-body" style="height: auto" v-show="!showTable">
|
|
8
|
+
<div class="flex-row flex-deviceinfo">
|
|
9
|
+
<div class="flex-row flex-two-info panel panel-default" v-for="(index,row) in devicesinfo">
|
|
10
|
+
<avatar-upload :img-src.sync="row.img.content" :filename.sync="row.img.filename"></avatar-upload>
|
|
11
|
+
<form class="form-horizontal select-overspread " style="flex: 1;">
|
|
12
|
+
<div style="margin-top: 2%">
|
|
13
|
+
<img style="margin-top: -2px;margin-left: 2px" src="../../../static/images/lefticon/矩形1183.png">
|
|
14
|
+
<a style="font-size: 16px;font-weight: 500;">设备基本信息</a> <a
|
|
15
|
+
style="color: #999999;text-decoration: none"></a>
|
|
16
|
+
</div>
|
|
17
|
+
<div class="row auto" style="margin-top: 10px;margin-left: 10px;">
|
|
18
|
+
<div class="col-sm-6 form-group" style="padding-right: 5px;">
|
|
19
|
+
<label class="font_normal_body">设备类型</label>
|
|
20
|
+
<v-select :value.sync="row.f_devices_type" v-model="row.f_devices_type"
|
|
21
|
+
:options='devicetypes' placeholder='设备类型' :value-single="true"
|
|
22
|
+
close-on-select></v-select>
|
|
23
|
+
</div>
|
|
24
|
+
<div class="col-sm-6 form-group" style="padding-right: 5px;">
|
|
25
|
+
<label class=" font_normal_body">设备编号</label>
|
|
26
|
+
<input type="text" class="input_search" style="width:60%" v-model="row.f_devices_no"
|
|
27
|
+
@blur="devicesNoBlur(index)"
|
|
28
|
+
placeholder='设备编号' v-next-el="{id: $index+'brand'}">
|
|
29
|
+
</div>
|
|
30
|
+
</div>
|
|
31
|
+
<div class="row auto" style="margin-left: 10px;">
|
|
32
|
+
<div class="col-sm-6 form-group" style="padding-right: 5px;"
|
|
33
|
+
:class="[!row.f_brand && (row.f_devices_type == '壁挂炉' || row.f_devices_type == '热水器') ? 'has-error' : '']">
|
|
34
|
+
<label class="font_normal_body">设备品牌</label>
|
|
35
|
+
<input type="text" class="input_search" style="width:60%" v-model="row.f_brand" placeholder='设备品牌'
|
|
36
|
+
v-next-el="{id: $index+'devicesmodel'}" :id="$index+'brand'">
|
|
37
|
+
</div>
|
|
38
|
+
<div class="col-sm-6 form-group" style="padding-right: 5px;">
|
|
39
|
+
<label class="font_normal_body">设备型号</label>
|
|
40
|
+
<input type="text" class="input_search" style="width:60%" v-model="row.f_devices_model"
|
|
41
|
+
placeholder='设备型号' :id="$index+'devicesmodel'">
|
|
42
|
+
</div>
|
|
43
|
+
</div>
|
|
44
|
+
<div class="row auto" style="margin-left: 10px;">
|
|
45
|
+
<div class="col-sm-6 form-group" style="padding-right: 5px;">
|
|
46
|
+
<label class="font_normal_body">施工单位</label>
|
|
47
|
+
<v-select :value.sync="row.f_builderunit" v-model="row.f_builderunit"
|
|
48
|
+
:options='builders' placeholder='施工单位' :value-single="true"
|
|
49
|
+
close-on-select></v-select>
|
|
50
|
+
<!--<input type="text" class="input_search" style="width:60%" v-model="row.f_builderunit"-->
|
|
51
|
+
<!--placeholder='施工单位'>-->
|
|
52
|
+
</div>
|
|
53
|
+
<div class="col-sm-6 form-group" style="padding-right: 5px;">
|
|
54
|
+
<label class="font_normal_body">联系电话</label>
|
|
55
|
+
<input type="text" class="input_search" style="width:60%" v-model="row.f_builder_phone"
|
|
56
|
+
placeholder='施工单位联系方式'>
|
|
57
|
+
</div>
|
|
58
|
+
</div>
|
|
59
|
+
<div class="row auto" style="margin-left: 10px;">
|
|
60
|
+
<div class="col-sm-6 form-group" style="padding-right: 5px;"
|
|
61
|
+
:class="[row.f_devices_type == '壁挂炉' && (row.f_input_person == '' || row.f_input_person == null) ? 'has-error' : '']">
|
|
62
|
+
<label class="font_normal_body">安装人 </label>
|
|
63
|
+
<!-- <input type="text" class="input_search" style="width:60%" v-model="row.f_input_person"-->
|
|
64
|
+
<!-- placeholder='安装人'>-->
|
|
65
|
+
<v-select :value.sync="row.f_input_person" v-model="row.f_input_person"
|
|
66
|
+
:options='installperson' placeholder='安装人'
|
|
67
|
+
close-on-select></v-select>
|
|
68
|
+
</div>
|
|
69
|
+
<div class="col-sm-6 form-group" style="padding-right: 5px;"
|
|
70
|
+
:class="[row.f_devices_type == '壁挂炉' && row.f_input_date == '' ? 'has-error' : '']">
|
|
71
|
+
<label class="font_normal_body">安装日期</label>
|
|
72
|
+
<datepicker placeholder="安装日期" style="width: 60%"
|
|
73
|
+
v-model="row.f_input_date"
|
|
74
|
+
:value.sync="row.f_input_date"
|
|
75
|
+
:format="'yyyy-MM-dd'">
|
|
76
|
+
</datepicker>
|
|
77
|
+
</div>
|
|
78
|
+
</div>
|
|
79
|
+
<div class="row auto" style="margin-left: 10px;">
|
|
80
|
+
<div class="col-sm-6 form-group" style="padding-right: 5px;">
|
|
81
|
+
<label class="font_normal_body">生产日期</label>
|
|
82
|
+
<datepicker placeholder="生产日期" style="width: 60%"
|
|
83
|
+
v-model="row.f_make_date"
|
|
84
|
+
:value.sync="row.f_make_date"
|
|
85
|
+
:onchange="expireDate($index)"
|
|
86
|
+
:format="'yyyy-MM-dd'">
|
|
87
|
+
</datepicker>
|
|
88
|
+
</div>
|
|
89
|
+
<div class="col-sm-6 form-group" style="padding-right: 5px;">
|
|
90
|
+
<label class="font_normal_body">使用年限</label>
|
|
91
|
+
<input type="number" class="input_search" style="width: 60%" v-model="row.f_service_life"
|
|
92
|
+
:value.sync="row.f_service_life"
|
|
93
|
+
:onchange="expireDate($index)">
|
|
94
|
+
</div>
|
|
95
|
+
</div>
|
|
96
|
+
<div class="row auto" style="margin-left: 10px;">
|
|
97
|
+
<div class="col-sm-6 form-group" style="padding-right: 5px;" v-if="devicesinfoShow">
|
|
98
|
+
<label class="font_normal_body">到期日期</label>
|
|
99
|
+
<input type="test" class="input_search" style="width: 60%" v-model="row.f_expire_date"
|
|
100
|
+
:value.sync="row.f_expire_date"
|
|
101
|
+
placeholder="到期日期" disabled></input>
|
|
102
|
+
</div>
|
|
103
|
+
<div class="col-sm-6 form-group" style="padding-right: 5px;">
|
|
104
|
+
<label class="font_normal_body">设备数量</label>
|
|
105
|
+
<input type="text" class="input_search" style="width:60%" v-model="row.f_devices_num"
|
|
106
|
+
:value.sync="row.f_devices_num"
|
|
107
|
+
placeholder='设备数量' :id="$index+'devicesmodel'">
|
|
108
|
+
</div>
|
|
109
|
+
</div>
|
|
110
|
+
<div class="row auto" style="margin-left: 10px;">
|
|
111
|
+
<div class="col-sm-6 form-group" style="padding-right: 5px;">
|
|
112
|
+
<label class="font_normal_body" title="用户设备状态">设备状态</label>
|
|
113
|
+
<v-select :value.sync="row.f_userinfodevices_state" v-model="row.f_userinfodevices_state"
|
|
114
|
+
:options='userdevicestate' placeholder='设备状态' :value-single="true"
|
|
115
|
+
|
|
116
|
+
close-on-select></v-select>
|
|
117
|
+
</div>
|
|
118
|
+
<div class="col-sm-6 form-group" style="padding-right: 5px;"
|
|
119
|
+
:class="[row.f_devices_type == '壁挂炉' && row.watchpurchase == '' ? 'has-error' : '']">
|
|
120
|
+
<label class="font_normal_body">购买方式</label>
|
|
121
|
+
<v-select :value.sync="row.watchpurchase" v-model="row.watchpurchase"
|
|
122
|
+
:options='WatchPurchases' placeholder='购买方式' :value-single="true"
|
|
123
|
+
close-on-select></v-select>
|
|
124
|
+
</div>
|
|
125
|
+
</div>
|
|
126
|
+
<div class="row auto" style="margin-left: 10px;">
|
|
127
|
+
<div class="col-sm-6 form-group" style="padding-right: 5px;">
|
|
128
|
+
<label class="font_normal_body">安装方式</label>
|
|
129
|
+
<v-select :value.sync="row.f_install_type" v-model="row.f_install_type"
|
|
130
|
+
:options='installtype' placeholder='安装方式' :value-single="true"
|
|
131
|
+
close-on-select></v-select>
|
|
132
|
+
</div>
|
|
133
|
+
<div style="" class="col-sm-6 form-group">
|
|
134
|
+
<label for="f_comments" class="font_normal_body "> 备 注</label>
|
|
135
|
+
<input class="input_search" style="width:60%" v-model="row.f_comments"/>
|
|
136
|
+
</div>
|
|
137
|
+
</div>
|
|
138
|
+
<div>
|
|
139
|
+
<img style="margin-top: -2px;margin-left: 2px" src="../../../static/images/lefticon/矩形1183.png">
|
|
140
|
+
<a style="font-size: 16px;font-weight: 500;">连接管信息</a> <a
|
|
141
|
+
style="color: #999999;text-decoration: none"></a>
|
|
142
|
+
</div>
|
|
143
|
+
<div class="row auto" style="margin-left: 10px;">
|
|
144
|
+
<div class="col-sm-6 form-group" style="padding-right: 5px;">
|
|
145
|
+
<label class="font_normal_body">管道类型</label>
|
|
146
|
+
<v-select :value.sync="row.f_pipe_type" v-model="row.f_pipe_type"
|
|
147
|
+
:options='pipetypes' placeholder='管道类型' :value-single="true"
|
|
148
|
+
close-on-select></v-select>
|
|
149
|
+
</div>
|
|
150
|
+
<div class="col-sm-6 form-group" style="padding-right: 5px;">
|
|
151
|
+
<label class="font_normal_body" title="连接管安装日期">安装日期</label>
|
|
152
|
+
<datepicker placeholder="连接管安装日期" style="width: 60%"
|
|
153
|
+
v-model="row.f_pipeinstall_date"
|
|
154
|
+
:value.sync="row.f_pipeinstall_date"
|
|
155
|
+
:onchange="ljgexpireDate($index)"
|
|
156
|
+
:format="'yyyy-MM-dd'">
|
|
157
|
+
</datepicker>
|
|
158
|
+
</div>
|
|
159
|
+
</div>
|
|
160
|
+
<div class="row auto" style="margin-left: 10px;">
|
|
161
|
+
<div class="col-sm-6 form-group" style="padding-right: 5px;">
|
|
162
|
+
<label class="font_normal_body">使用年限</label>
|
|
163
|
+
<input type="number" class="input_search" style="width: 60%" v-model="row.f_service_liferg"
|
|
164
|
+
:value.sync="row.f_service_liferg"
|
|
165
|
+
:onchange="ljgexpireDate($index)">
|
|
166
|
+
</div>
|
|
167
|
+
<div class="col-sm-6 form-group" style="padding-right: 5px;" v-if="ljgDevicesinfoShow">
|
|
168
|
+
<label class="font_normal_body" title="连接管到期日期">到期日期</label>
|
|
169
|
+
<datepicker placeholder="连接管到期日期" style="width: 60%"
|
|
170
|
+
v-model="row.f_pipeexpire_date"
|
|
171
|
+
:value.sync="row.f_pipeexpire_date"
|
|
172
|
+
:format="'yyyy-MM-dd'">
|
|
173
|
+
</datepicker>
|
|
174
|
+
</div>
|
|
175
|
+
</div>
|
|
176
|
+
</form>
|
|
177
|
+
<img :src="imgdelete" alt="图片加载失败" class="img-rounded"
|
|
178
|
+
style="width: 60px;padding: 20px;margin-left: -15px;cursor: pointer;"
|
|
179
|
+
@click="deleteDevice($index, row)">
|
|
180
|
+
</div>
|
|
181
|
+
<div class="panel panel-default flex-two-info text-center" style="line-height: 164px;">
|
|
182
|
+
<img :src="imgadd" alt="图片加载失败1" class="img-rounded"
|
|
183
|
+
style="width: 60px;padding: 10px;cursor: pointer;"
|
|
184
|
+
@click="addDevice()">
|
|
185
|
+
</div>
|
|
186
|
+
</div>
|
|
187
|
+
<div class="row">
|
|
188
|
+
<div class="text-right">
|
|
189
|
+
<button @click="showTableBtn()" class="button_search button_spacing">列表显示
|
|
190
|
+
</button>
|
|
191
|
+
</div>
|
|
192
|
+
</div>
|
|
193
|
+
</article>
|
|
194
|
+
<article slot="modal-body" class="modal-body" style="height: auto" v-show="showTable">
|
|
195
|
+
<div class="row">
|
|
196
|
+
<div class=" text-center">
|
|
197
|
+
<table class="table table-striped table-bordered">
|
|
198
|
+
<tr align="center">
|
|
199
|
+
<th style="text-align: center">序号</th>
|
|
200
|
+
<th style="text-align: center">设备类型</th>
|
|
201
|
+
<th style="text-align: center">设备编号</th>
|
|
202
|
+
<th style="text-align: center">设备品牌</th>
|
|
203
|
+
<th style="text-align: center">设备型号</th>
|
|
204
|
+
<th style="text-align: center">管道类型</th>
|
|
205
|
+
<th style="text-align: center">安装人</th>
|
|
206
|
+
<th style="text-align: center">安装方式</th>
|
|
207
|
+
<th style="text-align: center">安装日期</th>
|
|
208
|
+
<th style="text-align: center">生产日期</th>
|
|
209
|
+
<th style="text-align: center">设备状态</th>
|
|
210
|
+
<th style="text-align: center">备注</th>
|
|
211
|
+
<th style="text-align: center">操作</th>
|
|
212
|
+
</tr>
|
|
213
|
+
<tr style="text-align: center" v-for="row in devicesinfo">
|
|
214
|
+
<td style="text-align: center;">{{ $index + 1 }}</td>
|
|
215
|
+
|
|
216
|
+
<td style="text-align: center">{{row.f_devices_type}}</td>
|
|
217
|
+
<td style="text-align:center">{{row.f_devices_no}}</td>
|
|
218
|
+
<td style="text-align: center">{{row.f_brand}}</td>
|
|
219
|
+
<td style="text-align: center">{{row.f_devices_model}}</td>
|
|
220
|
+
<td style="text-align: center">{{row.f_pipe_type}}</td>
|
|
221
|
+
<td style="text-align:center">{{row.f_input_person}}</td>
|
|
222
|
+
<td style="text-align:center">{{row.f_install_type}}</td>
|
|
223
|
+
<td style="text-align:center">{{row.f_input_date}}</td>
|
|
224
|
+
<td style="text-align:center">{{row.f_make_date}}</td>
|
|
225
|
+
<td style="text-align:center">{{row.f_userinfodevices_state}}</td>
|
|
226
|
+
<td style="text-align:center">{{row.f_comments}}</td>
|
|
227
|
+
<td style="text-align: center">
|
|
228
|
+
<img :src="imgdelete" alt="图片加载失败" class="img-rounded"
|
|
229
|
+
style="width: 60px;padding: 20px;margin-left: -15px;cursor: pointer;"
|
|
230
|
+
@click="deleteDevice($index, row)">
|
|
231
|
+
</td>
|
|
232
|
+
</tr>
|
|
233
|
+
</table>
|
|
234
|
+
</div>
|
|
235
|
+
</div>
|
|
236
|
+
<div class="row">
|
|
237
|
+
<div class="text-right">
|
|
238
|
+
<button @click="showTableBtn()" class="button_search button_spacing">添加表具设备
|
|
239
|
+
</button>
|
|
240
|
+
</div>
|
|
241
|
+
</div>
|
|
242
|
+
</article>
|
|
243
|
+
|
|
244
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
245
|
+
</footer>
|
|
246
|
+
</modal>
|
|
247
|
+
</div>
|
|
248
|
+
|
|
249
|
+
</template>
|
|
250
|
+
|
|
251
|
+
<script>
|
|
252
|
+
import moment from 'moment'
|
|
253
|
+
export default {
|
|
254
|
+
title: '表具设备信息',
|
|
255
|
+
data () {
|
|
256
|
+
return {
|
|
257
|
+
showTable: false,
|
|
258
|
+
imgdelete: '/images/mainicon/deletedevice.png',
|
|
259
|
+
imgadd: '/images/mainicon/adddevice.png',
|
|
260
|
+
devicetypes: this.$appdata.getParam('设备类型'),
|
|
261
|
+
pipetypes: this.$appdata.getParam('管道类型'),
|
|
262
|
+
WatchPurchases: this.$appdata.getParam('购买方式'),
|
|
263
|
+
installperson: this.$appdata.getParam('安装人'),
|
|
264
|
+
installtype: this.$appdata.getParam('安装方式'),
|
|
265
|
+
userdevicestate: this.$appdata.getParam('用户设备状态'),
|
|
266
|
+
builders: this.$appdata.getParam('施工单位'),
|
|
267
|
+
f_make_date: '',
|
|
268
|
+
f_expire_date: '',
|
|
269
|
+
f_service_life: 0,
|
|
270
|
+
devicesinfoShow: true,
|
|
271
|
+
ljgDevicesinfoShow: true
|
|
272
|
+
}
|
|
273
|
+
},
|
|
274
|
+
props: {
|
|
275
|
+
devicesinfo: {
|
|
276
|
+
type: Array
|
|
277
|
+
},
|
|
278
|
+
show_devices: {
|
|
279
|
+
type: Boolean,
|
|
280
|
+
default: false
|
|
281
|
+
},
|
|
282
|
+
f_input_person: {
|
|
283
|
+
type: String,
|
|
284
|
+
default: undefined
|
|
285
|
+
}
|
|
286
|
+
},
|
|
287
|
+
computed: {
|
|
288
|
+
// installperson () {
|
|
289
|
+
// // return this.$login.f.f_installman
|
|
290
|
+
// let rs = new Array()
|
|
291
|
+
// for (let i = 0; i < this.$login.f.f_installman.length; i++) {
|
|
292
|
+
// let temp = {
|
|
293
|
+
// label: this.$login.f.f_installman[i].name,
|
|
294
|
+
// value: this.$login.f.f_installman[i].name
|
|
295
|
+
// }
|
|
296
|
+
// rs.push(temp)
|
|
297
|
+
// }
|
|
298
|
+
// return rs
|
|
299
|
+
// },
|
|
300
|
+
},
|
|
301
|
+
ready () {
|
|
302
|
+
},
|
|
303
|
+
methods: {
|
|
304
|
+
showTableBtn () {
|
|
305
|
+
this.showTable = !this.showTable
|
|
306
|
+
console.log('表具信息', this.devicesinfo)
|
|
307
|
+
},
|
|
308
|
+
expireDate (index) {
|
|
309
|
+
if (this.devicesinfo[index].f_make_date && this.devicesinfo[index].f_service_life) {
|
|
310
|
+
var b = new Date(this.devicesinfo[index].f_make_date)
|
|
311
|
+
var year = (b.getFullYear() - 0) + (this.devicesinfo[index].f_service_life - 0)
|
|
312
|
+
var month = (b.getMonth() - 0) + 1
|
|
313
|
+
var day = b.getDate()
|
|
314
|
+
// this.$set(this.devicesinfo, index, {f_expire_date: year + '-' + (month < 10 ? '0' + month : month) + '-' + (day < 10 ? '0' + day : day)})
|
|
315
|
+
this.devicesinfo[index].f_expire_date = year + '-' + (month < 10 ? '0' + month : month) + '-' + (day < 10 ? '0' + day : day)
|
|
316
|
+
this.devicesinfoShow = false
|
|
317
|
+
this.$nextTick(() => {
|
|
318
|
+
this.devicesinfoShow = true
|
|
319
|
+
})
|
|
320
|
+
}
|
|
321
|
+
},
|
|
322
|
+
ljgexpireDate (index) {
|
|
323
|
+
if (this.devicesinfo[index].f_pipeinstall_date && this.devicesinfo[index].f_service_liferg) {
|
|
324
|
+
var b = new Date(this.devicesinfo[index].f_pipeinstall_date)
|
|
325
|
+
var year = (b.getFullYear() - 0) + (this.devicesinfo[index].f_service_liferg - 0)
|
|
326
|
+
var month = (b.getMonth() - 0) + 1
|
|
327
|
+
var day = b.getDate()
|
|
328
|
+
// this.$set(this.devicesinfo, index, {f_expire_date: year + '-' + (month < 10 ? '0' + month : month) + '-' + (day < 10 ? '0' + day : day)})
|
|
329
|
+
this.devicesinfo[index].f_pipeexpire_date = year + '-' + (month < 10 ? '0' + month : month) + '-' + (day < 10 ? '0' + day : day)
|
|
330
|
+
this.ljgDevicesinfoShow = false
|
|
331
|
+
this.$nextTick(() => {
|
|
332
|
+
this.ljgDevicesinfoShow = true
|
|
333
|
+
})
|
|
334
|
+
}
|
|
335
|
+
},
|
|
336
|
+
deleteDevice (index, row) {
|
|
337
|
+
console.log('删除的信息', row)
|
|
338
|
+
if (row.id) {
|
|
339
|
+
this.$showMessage('此操作无法还原,是否确定要删除此设备?', ['confirm', 'cancel']).then((res) => {
|
|
340
|
+
if (res === 'confirm') {
|
|
341
|
+
this.$resetpost('rs/logic/deletedevices', {param: row}, {
|
|
342
|
+
resolveMsg: `成功删除此设备`,
|
|
343
|
+
rejectMsg: '删除设备失败'
|
|
344
|
+
}).then((res) => {
|
|
345
|
+
this.devicesinfo.splice(index, 1)
|
|
346
|
+
})
|
|
347
|
+
}
|
|
348
|
+
})
|
|
349
|
+
} else {
|
|
350
|
+
this.devicesinfo.splice(index, 1)
|
|
351
|
+
}
|
|
352
|
+
},
|
|
353
|
+
addDevice () {
|
|
354
|
+
console.log('设备信息', this.devicesinfo)
|
|
355
|
+
this.devicesinfo.push({
|
|
356
|
+
f_devices_type: '家用灶具',
|
|
357
|
+
f_input_person: this.f_input_person,
|
|
358
|
+
f_userinfodevices_state: '正常',
|
|
359
|
+
f_input_date: this.$login.toStandardTimeString()
|
|
360
|
+
})
|
|
361
|
+
},
|
|
362
|
+
closeModal () {
|
|
363
|
+
let cannotclose = false
|
|
364
|
+
let deleteData = []
|
|
365
|
+
for (let [index, row] of this.devicesinfo.entries()) {
|
|
366
|
+
switch (row.f_devices_type) {
|
|
367
|
+
case '壁挂炉':
|
|
368
|
+
if (!(row.f_brand && row.f_input_person && row.f_input_date && row.watchpurchase)) {
|
|
369
|
+
deleteData.push(index)
|
|
370
|
+
cannotclose = true
|
|
371
|
+
}
|
|
372
|
+
break
|
|
373
|
+
case '热水器':
|
|
374
|
+
if (!(row.f_brand)) {
|
|
375
|
+
deleteData.push(index)
|
|
376
|
+
cannotclose = true
|
|
377
|
+
}
|
|
378
|
+
break
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
if (cannotclose) {
|
|
382
|
+
this.$showMessage('新增设备有必填项没有填写,如果此时退出当前页面数据会丢失,请确定是否退出?', ['confirm', 'cancel']).then(async (res) => {
|
|
383
|
+
if (res === 'confirm') {
|
|
384
|
+
for (let i = deleteData.length - 1; i >= 0; i--) {
|
|
385
|
+
this.devicesinfo.splice(deleteData[i], 1)
|
|
386
|
+
}
|
|
387
|
+
this.show_devices = false
|
|
388
|
+
}
|
|
389
|
+
})
|
|
390
|
+
} else {
|
|
391
|
+
this.show_devices = false
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
</script>
|
|
397
|
+
<style lang="less">
|
|
398
|
+
.flex-deviceinfo {
|
|
399
|
+
padding: 0px 20px;
|
|
400
|
+
justify-content: space-between;
|
|
401
|
+
height: auto;
|
|
402
|
+
flex-wrap: wrap;
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
.flex-two-info {
|
|
406
|
+
margin-bottom: 10px;
|
|
407
|
+
align-items: center;
|
|
408
|
+
width: 48%;
|
|
409
|
+
}
|
|
410
|
+
</style>
|
|
@@ -320,7 +320,30 @@
|
|
|
320
320
|
{{row.f_hand_date}}
|
|
321
321
|
</div></td>
|
|
322
322
|
<td style="text-align: center;">{{row.f_last_hand_date}}</td>
|
|
323
|
-
<td style="text-align: center;">{{row.f_last_tablebase}}</td
|
|
323
|
+
<!-- <td style="text-align: center;">{{row.f_last_tablebase}}</td>-->
|
|
324
|
+
<td style="text-align: center;">
|
|
325
|
+
<!-- 民用-->
|
|
326
|
+
<div v-if="!(row.f_user_type==='非民用')">
|
|
327
|
+
{{ row.f_last_tablebase }}
|
|
328
|
+
</div>
|
|
329
|
+
<!-- 非民用、未抄表、states!=0-->
|
|
330
|
+
<div v-if="row.f_user_type==='非民用' && row.f_meter_state === '未抄表' && row.states !== 0 && ($parent.$parent.$parent.inputType==='rw' && $index+1===$parent.$parent.$parent.inputIndex)">
|
|
331
|
+
<input type="text" class="form-control" v-model="row.f_last_tablebase"
|
|
332
|
+
@blur="$parent.$parent.$parent.enter(row)"
|
|
333
|
+
v-next-el="{id: $index+1}" :id="$index" style="width: 100px;padding: 6px;"
|
|
334
|
+
:disabled="row.state === '开始'"
|
|
335
|
+
@change="$parent.$parent.$parent.inputType='ro'"
|
|
336
|
+
@focus="$parent.$parent.$parent.clearError(row)">
|
|
337
|
+
</div>
|
|
338
|
+
<div v-if="row.f_user_type==='非民用' && row.f_meter_state === '未抄表' && row.states !== 0 && $parent.$parent.$parent.inputType!=='rw'">
|
|
339
|
+
{{ row.f_last_tablebase }}
|
|
340
|
+
</div>
|
|
341
|
+
<!-- 非民用、未抄表、states=0-->
|
|
342
|
+
<div v-if="row.f_user_type==='非民用' && (row.f_meter_state !== '未抄表' || row.states === 0)">
|
|
343
|
+
{{ row.f_last_tablebase }}
|
|
344
|
+
</div>
|
|
345
|
+
|
|
346
|
+
</td>
|
|
324
347
|
<td style="text-align: center;">
|
|
325
348
|
<div class="form-group" style="margin-bottom:0px;" :class="{
|
|
326
349
|
'has-success has-feedback': row.f_tablebase ? ((row.f_last_tablebase-0) <= (row.f_tablebase -0)) : false,
|
|
@@ -359,7 +382,7 @@
|
|
|
359
382
|
</td>
|
|
360
383
|
|
|
361
384
|
|
|
362
|
-
<td style="text-align: center;">{{row.
|
|
385
|
+
<td style="text-align: center;">{{row.f_tablebase - row.f_last_tablebase}}</td>
|
|
363
386
|
<td style="text-align: center;">
|
|
364
387
|
<div class="form-group" style="margin-bottom:0px;"
|
|
365
388
|
v-if="row.f_meter_state === '未抄表' ">
|
|
@@ -473,10 +496,17 @@
|
|
|
473
496
|
<button type="button" name="button" class="btn btn-link"
|
|
474
497
|
@click.stop="$parent.$parent.$parent.nopass(row)"
|
|
475
498
|
v-if="row.f_meter_state === '待审核' && $parent.$parent.$parent.jurisdiction.includes('审核权限')">不通过</button>-->
|
|
476
|
-
<
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
499
|
+
<nobr>
|
|
500
|
+
<button type="button" name="button" class="button_search button_spacing width-60" title="权限名称:(卡表抄表冲正)"
|
|
501
|
+
@click.stop="$parent.$parent.$parent.cardhandCenter(row)"
|
|
502
|
+
v-if="row.f_meter_state === '已抄表'">冲正
|
|
503
|
+
</button>
|
|
504
|
+
<button type="button" name="button" class="button_search button_spacing width-60" title="替换表抄表"
|
|
505
|
+
@click.stop="$parent.$parent.$parent.changeInput(row,$index+1)"
|
|
506
|
+
v-if="row.f_user_type==='非民用' && row.f_meter_state === '未抄表' && row.states !== 0">
|
|
507
|
+
替换表抄表
|
|
508
|
+
</button>
|
|
509
|
+
</nobr>
|
|
480
510
|
</td>
|
|
481
511
|
<td><span title="{{row.f_card_reason}}" v-if="row.f_card_reason !== ''">{{row.f_card_reason.substring(0,5)}} ...</span>
|
|
482
512
|
</td>
|
|
@@ -596,7 +626,10 @@ import {HttpResetClass, PagedList} from 'vue-client'
|
|
|
596
626
|
dep: [],
|
|
597
627
|
user: []
|
|
598
628
|
},
|
|
599
|
-
orgCondtionStr: ''
|
|
629
|
+
orgCondtionStr: '',
|
|
630
|
+
inputType: 'ro',
|
|
631
|
+
inputIndex: -1,
|
|
632
|
+
f_cardhand_type: null,
|
|
600
633
|
}
|
|
601
634
|
},
|
|
602
635
|
ready () {
|
|
@@ -757,6 +790,7 @@ import {HttpResetClass, PagedList} from 'vue-client'
|
|
|
757
790
|
row.f_user_id = row.f_user_id + ''
|
|
758
791
|
// 余气量=累购-(本期指数-表初始指数)
|
|
759
792
|
// row.f_shengyu_gas = (row.f_total_gas - (row.f_tablebase - row.f_initial_base)).toFixed(2)
|
|
793
|
+
row.f_cardhand_type = this.f_cardhand_type
|
|
760
794
|
console.log('录入完毕。。', row)
|
|
761
795
|
this.$resetpost('rs/logic/cardhands', row, {resolveMsg: null, rejectMsg: '录入数据出错!!!'}).then((res) => {
|
|
762
796
|
console.log('返回数据', res)
|
|
@@ -769,6 +803,7 @@ import {HttpResetClass, PagedList} from 'vue-client'
|
|
|
769
803
|
} else {
|
|
770
804
|
|
|
771
805
|
}
|
|
806
|
+
this.f_cardhand_type = null
|
|
772
807
|
},
|
|
773
808
|
batchAudit () {
|
|
774
809
|
// 批量审核
|
|
@@ -799,6 +834,11 @@ import {HttpResetClass, PagedList} from 'vue-client'
|
|
|
799
834
|
nopass (row) {
|
|
800
835
|
co(modifyGen(this, row, 'rs/logic/cardhandnopass'))
|
|
801
836
|
},
|
|
837
|
+
changeInput(row,num){
|
|
838
|
+
this.inputType = 'rw'
|
|
839
|
+
this.inputIndex = num
|
|
840
|
+
this.f_cardhand_type='替换表抄表'
|
|
841
|
+
},
|
|
802
842
|
cardhandCenter (row) {
|
|
803
843
|
// let load = new HttpResetClass()
|
|
804
844
|
// load.load('POST', 'rs/logic/Correct', {data: row}, {warnMsg: null, resolveMsg: null})
|
|
@@ -121,6 +121,11 @@
|
|
|
121
121
|
condition="u.f_usetype = '{}'"
|
|
122
122
|
close-on-select style="width: 60%"></v-select>
|
|
123
123
|
</div>
|
|
124
|
+
<div class="form-group col-sm-3">
|
|
125
|
+
<label class="font_normal_body">防盗卡号</label>
|
|
126
|
+
<input type="text" class="input_search" style="width:60%" v-model="model.f_defendcard" placeholder='防盗卡号'
|
|
127
|
+
condition="f_defendcard = '{}'">
|
|
128
|
+
</div>
|
|
124
129
|
</div>
|
|
125
130
|
</div>
|
|
126
131
|
<div class="form-group col-sm-6" style="float:right;white-space: nowrap;width: auto" >
|
package/src/plugins/jsign.js
CHANGED
|
@@ -160,7 +160,9 @@ function jsign_sign_callback(){
|
|
|
160
160
|
jsign_get_string('picture');
|
|
161
161
|
setTimeout(function(){
|
|
162
162
|
_this.imgstr = dictGetArray['picture']
|
|
163
|
-
_this
|
|
163
|
+
if(_this.imgstr){
|
|
164
|
+
_this.$showAlert('签字完成','success',2000);/*OutputLog(dictGetArray['picture']);*/
|
|
165
|
+
}
|
|
164
166
|
},500);
|
|
165
167
|
// setTimeout(function(){jsign_run_eval(demopath + 'eval.html');OutputLog('已推送评价页,请评价');},1000);
|
|
166
168
|
}
|