sale-client 3.4.169 → 3.4.172
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/FilesManage/UserDeviceInfoTest.vue +21 -16
- package/src/components/FilesManageNew/UserEssentialInfoTest.vue +5 -4
- package/src/components/charge/business/CardChangeFill.vue +1 -1
- package/src/components/charge/business/IOT/IotChangeFill.vue +2 -2
- package/src/components/revenue/comprehen/ComprehenOperation/ChangeMeter/ChangeNewMeter.vue +3 -2
- package/src/components/revenue/comprehen/ComprehenOperation/newchangemeter/ChangeMeter.vue +1 -1
- package/src/filiale/fugu/components/FilesManage/UserDeviceInfoTest.vue +366 -0
- package/src/filiale/fugu/sale.js +3 -1
- package/src/filiale/meihekou/common/userinfo_detail/UserInfoDetailManageNew.vue +171 -0
- package/src/filiale/meihekou/common/userinfo_detail/ic_detail/RecordQueryUser.vue +263 -0
- package/src/filiale/meihekou/sale.js +3 -1
- package/src/filiale/qianneng/FilesManageNew/UserEssentialInfoTest.vue +5 -4
- package/src/filiale/rizhao/CardList.vue +498 -0
- package/src/filiale/rizhao/sale.js +3 -1
- package/src/filiale/zhongsheng/charge/ChargeList.vue +880 -880
package/package.json
CHANGED
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
</div>
|
|
28
28
|
</div>
|
|
29
29
|
<div class="row auto" style="margin-left: 10px;">
|
|
30
|
-
<div class="col-sm-6 form-group" style="padding-right: 5px;" :class="[row.
|
|
30
|
+
<div class="col-sm-6 form-group" style="padding-right: 5px;" :class="[!row.f_brand && (row.f_devices_type == '壁挂炉' || row.f_devices_type == '热水器') ? 'has-error' : '']">
|
|
31
31
|
<label class="font_normal_body">设备品牌</label>
|
|
32
32
|
<input type="text" class="input_search" style="width:60%" v-model="row.f_brand" placeholder='设备品牌'
|
|
33
33
|
v-next-el="{id: $index+'devicesmodel'}" :id="$index+'brand'">
|
|
@@ -109,7 +109,7 @@
|
|
|
109
109
|
:options='userdevicestate' placeholder='设备状态' :value-single="true"
|
|
110
110
|
close-on-select></v-select>
|
|
111
111
|
</div>
|
|
112
|
-
<div class="col-sm-6 form-group" style="padding-right: 5px;" :class="[row.f_devices_type == '壁挂炉' && row.
|
|
112
|
+
<div class="col-sm-6 form-group" style="padding-right: 5px;" :class="[row.f_devices_type == '壁挂炉' && row.watchpurchase == '' ? 'has-error' : '']">
|
|
113
113
|
<label class="font_normal_body">购买方式</label>
|
|
114
114
|
<v-select :value.sync="row.watchpurchase" v-model="row.watchpurchase"
|
|
115
115
|
:options='WatchPurchases' placeholder='购买方式' :value-single="true"
|
|
@@ -328,27 +328,32 @@ export default {
|
|
|
328
328
|
closeModal () {
|
|
329
329
|
let cannotclose = false
|
|
330
330
|
let deleteData = []
|
|
331
|
-
for (
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
if(!
|
|
335
|
-
deleteData.push(
|
|
331
|
+
for (let [index, row] of this.devicesinfo.entries()) {
|
|
332
|
+
switch (row.f_devices_type) {
|
|
333
|
+
case '壁挂炉':
|
|
334
|
+
if (!(row.f_brand && row.f_input_person && row.f_input_date && row.watchpurchase)) {
|
|
335
|
+
deleteData.push(index)
|
|
336
336
|
cannotclose = true
|
|
337
337
|
}
|
|
338
|
-
|
|
338
|
+
break
|
|
339
|
+
case '热水器':
|
|
340
|
+
if (!(row.f_brand)) {
|
|
341
|
+
deleteData.push(index)
|
|
342
|
+
cannotclose = true
|
|
343
|
+
}
|
|
344
|
+
break
|
|
339
345
|
}
|
|
340
346
|
}
|
|
341
|
-
if(cannotclose){
|
|
342
|
-
this.$showMessage('
|
|
343
|
-
if (res
|
|
344
|
-
for (
|
|
345
|
-
|
|
346
|
-
}
|
|
347
|
+
if (cannotclose) {
|
|
348
|
+
this.$showMessage('新增设备有必填项没有填写,如果此时退出当前页面数据会丢失,请确定是否退出?', ['confirm', 'cancel']).then(async (res) => {
|
|
349
|
+
if (res === 'confirm') {
|
|
350
|
+
for (let i = deleteData.length - 1; i >= 0; i--) {
|
|
351
|
+
this.devicesinfo.splice(deleteData[i], 1)
|
|
347
352
|
}
|
|
348
353
|
this.show_devices = false
|
|
349
|
-
|
|
354
|
+
}
|
|
350
355
|
})
|
|
351
|
-
}else {
|
|
356
|
+
} else {
|
|
352
357
|
this.show_devices = false
|
|
353
358
|
}
|
|
354
359
|
}
|
|
@@ -36,13 +36,14 @@
|
|
|
36
36
|
</div>
|
|
37
37
|
<div style="" class="col-sm-8 form-group"
|
|
38
38
|
:class="[$v.f_idnumber2.identityCardValid ? 'has-error' : '']"
|
|
39
|
-
v-if="baseinfo.base.f_credentials[0] === '身份证'">
|
|
40
|
-
<label for="f_idnumber" class="font_normal_body"
|
|
39
|
+
v-if="baseinfo.base.f_credentials === '身份证'||baseinfo.base.f_credentials[0] === '身份证'">
|
|
40
|
+
<label for="f_idnumber" class="font_normal_body color-red">*证件号码</label>
|
|
41
41
|
<input type="text" maxlength="18" v-model="baseinfo.base.f_idnumber"
|
|
42
|
-
class="input_search" style="width:80%"
|
|
42
|
+
v-validate:f_idnumber2='{identityCardValid: true}' class="input_search" style="width:80%"
|
|
43
43
|
placeholder="证件号码">
|
|
44
44
|
</div>
|
|
45
|
-
<div style="" class="col-sm-8 form-group"
|
|
45
|
+
<div style="" class="col-sm-8 form-group"
|
|
46
|
+
v-if="baseinfo.base.f_credentials !== '身份证'&&baseinfo.base.f_credentials[0] !== '身份证'">
|
|
46
47
|
<label class="font_normal_body"> 证件号码</label>
|
|
47
48
|
<input type="text" v-model="baseinfo.base.f_idnumber" class="input_search" style="width:80%"
|
|
48
49
|
placeholder="证件号码">
|
|
@@ -318,7 +318,7 @@
|
|
|
318
318
|
}
|
|
319
319
|
|
|
320
320
|
let asyncShowCardSellGas = async function (self) {
|
|
321
|
-
await self.$getConfig(self, '
|
|
321
|
+
await self.$getConfig(self, 'CardChangeFill')
|
|
322
322
|
console.log('换表发卡config', self.config)
|
|
323
323
|
self.model.f_print = self.config.printType instanceof Array ? self.config.printType : [self.config.printType]
|
|
324
324
|
self.model.f_payment = [self.config.payment]
|
|
@@ -261,12 +261,12 @@
|
|
|
261
261
|
console.log('self.config.hasBillManage', self.config.hasBillManage)
|
|
262
262
|
if (self.config.hasBillManage) {
|
|
263
263
|
// 启用发票管理,获取票据管理中的票号并存储记录
|
|
264
|
-
self.row.id = res.data.
|
|
264
|
+
self.row.id = res.data.fillgasid
|
|
265
265
|
self.row.f_bill_type = '物联网收费'
|
|
266
266
|
self.row.f_bill_style = self.model.f_print[0]
|
|
267
267
|
self.print = true
|
|
268
268
|
} else {
|
|
269
|
-
self.row.id = res.data.
|
|
269
|
+
self.row.id = res.data.fillgasid
|
|
270
270
|
self.print = true
|
|
271
271
|
}
|
|
272
272
|
} else if (self.config.printType === '国税发票') {
|
|
@@ -118,6 +118,7 @@
|
|
|
118
118
|
<v-select id="f_payment"
|
|
119
119
|
v-model="f_payment"
|
|
120
120
|
placeholder='请选择'
|
|
121
|
+
:value-single="true"
|
|
121
122
|
:value.sync="model.f_payment"
|
|
122
123
|
:options='paytype'
|
|
123
124
|
close-on-select clear-button></v-select>
|
|
@@ -142,7 +143,7 @@
|
|
|
142
143
|
</div>
|
|
143
144
|
</div>
|
|
144
145
|
<div class="row" style="margin-top:10px;">
|
|
145
|
-
<div class="col-sm-4" v-if="model.f_payment
|
|
146
|
+
<div class="col-sm-4" v-if="model.f_payment.indexOf('POS')!==-1">
|
|
146
147
|
<label for="f_voucher_number" class="font_normal_body">凭证号</label>
|
|
147
148
|
<input type="text" class="input_search col-sm-2" v-model="model.f_voucher_number" placeholder="凭证号">
|
|
148
149
|
</div>
|
|
@@ -192,7 +193,7 @@
|
|
|
192
193
|
await self.$getConfig(self, 'ChangeNewMeter')
|
|
193
194
|
console.log('换表config', self.config)
|
|
194
195
|
self.model.f_print = self.config.printType instanceof Array ? self.config.printType : [self.config.printType]
|
|
195
|
-
self.model.f_payment =
|
|
196
|
+
self.model.f_payment = self.config.payment
|
|
196
197
|
self.mulPrint = self.config.printType instanceof Array
|
|
197
198
|
|
|
198
199
|
self.model.f_use_type = self.config.billType
|
|
@@ -301,7 +301,7 @@ let getPrice = async function (self) {
|
|
|
301
301
|
await self.$getConfig(self, 'ChargeMeter')
|
|
302
302
|
|
|
303
303
|
self.model.f_print = self.config.printType instanceof Array ? self.config.printType : [self.config.printType]
|
|
304
|
-
self.model.f_payment =
|
|
304
|
+
self.model.f_payment = self.config.payment
|
|
305
305
|
self.mulPrint = self.config.printType instanceof Array
|
|
306
306
|
self.model.f_use_type = self.config.billType
|
|
307
307
|
self.model.f_bill_type = self.model.f_print
|
|
@@ -0,0 +1,366 @@
|
|
|
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="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 style="color: #999999;text-decoration: none"></a>
|
|
15
|
+
</div>
|
|
16
|
+
<div class="row auto" style="margin-top: 10px;margin-left: 10px;">
|
|
17
|
+
<div class="col-sm-6 form-group" style="padding-right: 5px;" :class="[!row.f_devices_type ? 'has-error' : 'has-success']">
|
|
18
|
+
<label class="font_normal_body">设备类型</label>
|
|
19
|
+
<v-select :value.sync="row.f_devices_type" v-model="row.f_devices_type"
|
|
20
|
+
:options='devicetypes' placeholder='设备类型' :value-single="true"
|
|
21
|
+
close-on-select></v-select>
|
|
22
|
+
</div>
|
|
23
|
+
<div class="col-sm-6 form-group" style="padding-right: 5px;">
|
|
24
|
+
<label class=" font_normal_body">设备编号</label>
|
|
25
|
+
<input type="text" class="input_search" style="width:60%" v-model="row.f_devices_no"
|
|
26
|
+
placeholder='设备编号' v-next-el="{id: $index+'brand'}">
|
|
27
|
+
</div>
|
|
28
|
+
</div>
|
|
29
|
+
<div class="row auto" style="margin-left: 10px;">
|
|
30
|
+
<div class="col-sm-6 form-group" style="padding-right: 5px;" :class="[!row.f_brand? 'has-error' : 'has-success']">
|
|
31
|
+
<label class="font_normal_body">设备品牌</label>
|
|
32
|
+
<input type="text" class="input_search" style="width:60%" v-model="row.f_brand" placeholder='设备品牌'
|
|
33
|
+
v-next-el="{id: $index+'devicesmodel'}" :id="$index+'brand'">
|
|
34
|
+
</div>
|
|
35
|
+
<div class="col-sm-6 form-group" style="padding-right: 5px;">
|
|
36
|
+
<label class="font_normal_body">设备型号</label>
|
|
37
|
+
<input type="text" class="input_search" style="width:60%" v-model="row.f_devices_model"
|
|
38
|
+
placeholder='设备型号' :id="$index+'devicesmodel'">
|
|
39
|
+
</div>
|
|
40
|
+
</div>
|
|
41
|
+
<div class="row auto" style="margin-left: 10px;">
|
|
42
|
+
<div class="col-sm-6 form-group" style="padding-right: 5px;">
|
|
43
|
+
<label class="font_normal_body">维修单位</label>
|
|
44
|
+
<v-select :value.sync="row.f_builderunit" v-model="row.f_builderunit"
|
|
45
|
+
:options='builders' placeholder='安装维修单位' :value-single="true"
|
|
46
|
+
close-on-select></v-select>
|
|
47
|
+
<!--<input type="text" class="input_search" style="width:60%" v-model="row.f_builderunit"-->
|
|
48
|
+
<!--placeholder='施工单位'>-->
|
|
49
|
+
</div>
|
|
50
|
+
<div class="col-sm-6 form-group" style="padding-right: 5px;">
|
|
51
|
+
<label class="font_normal_body">联系电话</label>
|
|
52
|
+
<input type="text" class="input_search" style="width:60%" v-model="row.f_builder_phone"
|
|
53
|
+
placeholder='施工单位联系方式'>
|
|
54
|
+
</div>
|
|
55
|
+
</div>
|
|
56
|
+
<div class="row auto" style="margin-left: 10px;">
|
|
57
|
+
<div class="col-sm-6 form-group" style="padding-right: 5px;">
|
|
58
|
+
<label class="font_normal_body">负责人 </label>
|
|
59
|
+
<!-- <input type="text" class="input_search" style="width:60%" v-model="row.f_input_person"-->
|
|
60
|
+
<!-- placeholder='安装人'>-->
|
|
61
|
+
<v-select :value.sync="row.f_input_person" v-model="row.f_input_person"
|
|
62
|
+
:options='installperson' placeholder='负责人'
|
|
63
|
+
close-on-select></v-select>
|
|
64
|
+
</div>
|
|
65
|
+
<div class="col-sm-6 form-group" style="padding-right: 5px;" :class="[row.f_devices_type == '壁挂炉' && row.f_input_date == '' ? 'has-error' : '']">
|
|
66
|
+
<label class="font_normal_body">安装日期</label>
|
|
67
|
+
<datepicker placeholder="安装日期" style="width: 60%"
|
|
68
|
+
v-model="row.f_input_date"
|
|
69
|
+
:value.sync="row.f_input_date"
|
|
70
|
+
:format="'yyyy-MM-dd'">
|
|
71
|
+
</datepicker>
|
|
72
|
+
</div>
|
|
73
|
+
</div>
|
|
74
|
+
<div class="row auto" style="margin-left: 10px;">
|
|
75
|
+
<div class="col-sm-6 form-group" style="padding-right: 5px;">
|
|
76
|
+
<label class="font_normal_body">生产日期</label>
|
|
77
|
+
<datepicker placeholder="生产日期" style="width: 60%"
|
|
78
|
+
v-model="row.f_make_date"
|
|
79
|
+
:value.sync="row.f_make_date"
|
|
80
|
+
:onchange="expireDate($index)"
|
|
81
|
+
:format="'yyyy-MM-dd'">
|
|
82
|
+
</datepicker>
|
|
83
|
+
</div>
|
|
84
|
+
<div class="col-sm-6 form-group" style="padding-right: 5px;">
|
|
85
|
+
<label class="font_normal_body">使用年限</label>
|
|
86
|
+
<input type="number" class="input_search" style="width: 60%" v-model="row.f_service_life"
|
|
87
|
+
:value.sync="row.f_service_life"
|
|
88
|
+
:onchange="expireDate($index)" >
|
|
89
|
+
</div>
|
|
90
|
+
</div>
|
|
91
|
+
<div class="row auto" style="margin-left: 10px;">
|
|
92
|
+
<div class="col-sm-6 form-group" style="padding-right: 5px;" v-if="devicesinfoShow">
|
|
93
|
+
<label class="font_normal_body">到期日期</label>
|
|
94
|
+
<input type="test" class="input_search" style="width: 60%" v-model="row.f_expire_date"
|
|
95
|
+
:value.sync="row.f_expire_date"
|
|
96
|
+
placeholder="到期日期" disabled></input>
|
|
97
|
+
</div>
|
|
98
|
+
<div class="col-sm-6 form-group" style="padding-right: 5px;">
|
|
99
|
+
<label class="font_normal_body">设备数量</label>
|
|
100
|
+
<input type="text" class="input_search" style="width:60%" v-model="row.f_devices_num"
|
|
101
|
+
:value.sync="row.f_devices_num"
|
|
102
|
+
placeholder='设备数量' :id="$index+'devicesmodel'">
|
|
103
|
+
</div>
|
|
104
|
+
</div>
|
|
105
|
+
<div class="row auto" style="margin-left: 10px;">
|
|
106
|
+
<div class="col-sm-6 form-group" style="padding-right: 5px;">
|
|
107
|
+
<label class="font_normal_body" title="用户设备状态">设备状态</label>
|
|
108
|
+
<v-select :value.sync="row.f_userinfodevices_state" v-model="row.f_userinfodevices_state"
|
|
109
|
+
:options='userdevicestate' placeholder='设备状态' :value-single="true"
|
|
110
|
+
close-on-select></v-select>
|
|
111
|
+
</div>
|
|
112
|
+
<div class="col-sm-6 form-group" style="padding-right: 5px;" :class="[row.f_devices_type == '壁挂炉' && row.WatchPurchase == '' ? 'has-error' : '']">
|
|
113
|
+
<label class="font_normal_body">购买方式</label>
|
|
114
|
+
<v-select :value.sync="row.watchpurchase" v-model="row.watchpurchase"
|
|
115
|
+
:options='WatchPurchases' placeholder='购买方式' :value-single="true"
|
|
116
|
+
close-on-select></v-select>
|
|
117
|
+
</div>
|
|
118
|
+
</div>
|
|
119
|
+
<div class="row auto" style="margin-left: 10px;">
|
|
120
|
+
<div class="col-sm-6 form-group" style="padding-right: 5px;">
|
|
121
|
+
<label class="font_normal_body">安装方式</label>
|
|
122
|
+
<v-select :value.sync="row.f_install_type" v-model="row.f_install_type"
|
|
123
|
+
:options='installtype' placeholder='安装方式' :value-single="true"
|
|
124
|
+
close-on-select></v-select>
|
|
125
|
+
</div>
|
|
126
|
+
<div style="" class="col-sm-6 form-group">
|
|
127
|
+
<label for="f_comments" class="font_normal_body "> 备 注</label>
|
|
128
|
+
<input class="input_search" style="width:60%" v-model="row.f_comments"/>
|
|
129
|
+
</div>
|
|
130
|
+
</div>
|
|
131
|
+
<div>
|
|
132
|
+
<img style="margin-top: -2px;margin-left: 2px" src="../../../../../static/images/lefticon/矩形1183.png">
|
|
133
|
+
<a style="font-size: 16px;font-weight: 500;">连接管信息</a> <a style="color: #999999;text-decoration: none"></a>
|
|
134
|
+
</div>
|
|
135
|
+
<div class="row auto" style="margin-left: 10px;">
|
|
136
|
+
<div class="col-sm-6 form-group" style="padding-right: 5px;">
|
|
137
|
+
<label class="font_normal_body">管道类型</label>
|
|
138
|
+
<v-select :value.sync="row.f_pipe_type" v-model="row.f_pipe_type"
|
|
139
|
+
:options='pipetypes' placeholder='管道类型' :value-single="true"
|
|
140
|
+
close-on-select></v-select>
|
|
141
|
+
</div>
|
|
142
|
+
<div class="col-sm-6 form-group" style="padding-right: 5px;">
|
|
143
|
+
<label class="font_normal_body" title="连接管安装日期">安装日期</label>
|
|
144
|
+
<datepicker placeholder="连接管安装日期" style="width: 60%"
|
|
145
|
+
v-model="row.f_pipeinstall_date"
|
|
146
|
+
:value.sync="row.f_pipeinstall_date"
|
|
147
|
+
:format="'yyyy-MM-dd'">
|
|
148
|
+
</datepicker>
|
|
149
|
+
</div>
|
|
150
|
+
</div>
|
|
151
|
+
<div class="row auto" style="margin-left: 10px;">
|
|
152
|
+
<div class="col-sm-6 form-group" style="padding-right: 5px;">
|
|
153
|
+
<label class="font_normal_body" title="连接管到期日期">到期日期</label>
|
|
154
|
+
<datepicker placeholder="连接管到期日期" style="width: 60%"
|
|
155
|
+
v-model="row.f_pipeexpire_date"
|
|
156
|
+
:value.sync="row.f_pipeexpire_date"
|
|
157
|
+
:format="'yyyy-MM-dd'">
|
|
158
|
+
</datepicker>
|
|
159
|
+
</div>
|
|
160
|
+
</div>
|
|
161
|
+
</form>
|
|
162
|
+
<img :src="imgdelete" alt="图片加载失败" class="img-rounded"
|
|
163
|
+
style="width: 60px;padding: 20px;margin-left: -15px;cursor: pointer;"
|
|
164
|
+
@click="deleteDevice($index, row)">
|
|
165
|
+
</div>
|
|
166
|
+
<div class="panel panel-default flex-two-info text-center" style="line-height: 164px;">
|
|
167
|
+
<img :src="imgadd" alt="图片加载失败1" class="img-rounded" style="width: 60px;padding: 10px;cursor: pointer;"
|
|
168
|
+
@click="addDevice()">
|
|
169
|
+
</div>
|
|
170
|
+
</div>
|
|
171
|
+
<div class="row">
|
|
172
|
+
<div class="text-right">
|
|
173
|
+
<button @click="showTableBtn()" class="button_search button_spacing">列表显示
|
|
174
|
+
</button>
|
|
175
|
+
</div>
|
|
176
|
+
</div>
|
|
177
|
+
</article>
|
|
178
|
+
<article slot="modal-body" class="modal-body" style="height: auto" v-show="showTable">
|
|
179
|
+
<div class="row">
|
|
180
|
+
<div class=" text-center">
|
|
181
|
+
<table class="table table-striped table-bordered" >
|
|
182
|
+
<tr align="center">
|
|
183
|
+
<th style="text-align: center">序号</th>
|
|
184
|
+
<th style="text-align: center">设备类型</th>
|
|
185
|
+
<th style="text-align: center">设备编号</th>
|
|
186
|
+
<th style="text-align: center">设备品牌</th>
|
|
187
|
+
<th style="text-align: center">设备型号</th>
|
|
188
|
+
<th style="text-align: center">管道类型</th>
|
|
189
|
+
<th style="text-align: center">安装人</th>
|
|
190
|
+
<th style="text-align: center">安装方式</th>
|
|
191
|
+
<th style="text-align: center">安装日期</th>
|
|
192
|
+
<th style="text-align: center">生产日期</th>
|
|
193
|
+
<th style="text-align: center">设备状态</th>
|
|
194
|
+
<th style="text-align: center">备注</th>
|
|
195
|
+
<th style="text-align: center">操作</th>
|
|
196
|
+
</tr>
|
|
197
|
+
<tr style="text-align: center" v-for="row in devicesinfo">
|
|
198
|
+
<td style="text-align: center;">{{$index + 1}}</td>
|
|
199
|
+
|
|
200
|
+
<td style="text-align: center">{{row.f_devices_type}}</td>
|
|
201
|
+
<td style="text-align:center">{{row.f_devices_no}}</td>
|
|
202
|
+
<td style="text-align: center">{{row.f_brand}}</td>
|
|
203
|
+
<td style="text-align: center">{{row.f_devices_model}}</td>
|
|
204
|
+
<td style="text-align: center">{{row.f_pipe_type}}</td>
|
|
205
|
+
<td style="text-align:center">{{row.f_input_person}}</td>
|
|
206
|
+
<td style="text-align:center">{{row.f_install_type}}</td>
|
|
207
|
+
<td style="text-align:center">{{row.f_input_date}}</td>
|
|
208
|
+
<td style="text-align:center">{{row.f_make_date}}</td>
|
|
209
|
+
<td style="text-align:center">{{row.f_userinfodevices_state}}</td>
|
|
210
|
+
<td style="text-align:center">{{row.f_comments}}</td>
|
|
211
|
+
<td style="text-align: center">
|
|
212
|
+
<img :src="imgdelete" alt="图片加载失败" class="img-rounded"
|
|
213
|
+
style="width: 60px;padding: 20px;margin-left: -15px;cursor: pointer;"
|
|
214
|
+
@click="deleteDevice($index, row)">
|
|
215
|
+
</td>
|
|
216
|
+
</tr>
|
|
217
|
+
</table>
|
|
218
|
+
</div>
|
|
219
|
+
</div>
|
|
220
|
+
<div class="row">
|
|
221
|
+
<div class="text-right">
|
|
222
|
+
<button @click="showTableBtn()" class="button_search button_spacing">添加表具设备
|
|
223
|
+
</button>
|
|
224
|
+
</div>
|
|
225
|
+
</div>
|
|
226
|
+
</article>
|
|
227
|
+
|
|
228
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
229
|
+
</footer>
|
|
230
|
+
</modal>
|
|
231
|
+
</div>
|
|
232
|
+
|
|
233
|
+
</template>
|
|
234
|
+
|
|
235
|
+
<script>
|
|
236
|
+
import moment from 'moment'
|
|
237
|
+
export default {
|
|
238
|
+
title: '表具设备信息',
|
|
239
|
+
data () {
|
|
240
|
+
return {
|
|
241
|
+
showTable: false,
|
|
242
|
+
imgdelete: '/images/mainicon/deletedevice.png',
|
|
243
|
+
imgadd: '/images/mainicon/adddevice.png',
|
|
244
|
+
devicetypes: this.$appdata.getParam('设备类型'),
|
|
245
|
+
pipetypes: this.$appdata.getParam('管道类型'),
|
|
246
|
+
WatchPurchases: this.$appdata.getParam('购买方式'),
|
|
247
|
+
installperson: this.$appdata.getParam('安装维修单位负责人'),
|
|
248
|
+
installtype: this.$appdata.getParam('安装方式'),
|
|
249
|
+
userdevicestate: this.$appdata.getParam('用户设备状态'),
|
|
250
|
+
builders: this.$appdata.getParam('安装维修单位'),
|
|
251
|
+
f_make_date: '',
|
|
252
|
+
f_expire_date: '',
|
|
253
|
+
f_service_life: 0,
|
|
254
|
+
devicesinfoShow: true
|
|
255
|
+
}
|
|
256
|
+
},
|
|
257
|
+
props: {
|
|
258
|
+
devicesinfo: {
|
|
259
|
+
type: Array
|
|
260
|
+
},
|
|
261
|
+
show_devices: {
|
|
262
|
+
type: Boolean,
|
|
263
|
+
default: false
|
|
264
|
+
},
|
|
265
|
+
f_input_person: {
|
|
266
|
+
type: String,
|
|
267
|
+
default: undefined
|
|
268
|
+
}
|
|
269
|
+
},
|
|
270
|
+
computed: {
|
|
271
|
+
// installperson () {
|
|
272
|
+
// // return this.$login.f.f_installman
|
|
273
|
+
// let rs = new Array()
|
|
274
|
+
// for (let i = 0; i < this.$login.f.f_installman.length; i++) {
|
|
275
|
+
// let temp = {
|
|
276
|
+
// label: this.$login.f.f_installman[i].name,
|
|
277
|
+
// value: this.$login.f.f_installman[i].name
|
|
278
|
+
// }
|
|
279
|
+
// rs.push(temp)
|
|
280
|
+
// }
|
|
281
|
+
// return rs
|
|
282
|
+
// },
|
|
283
|
+
},
|
|
284
|
+
methods: {
|
|
285
|
+
showTableBtn () {
|
|
286
|
+
this.showTable = !this.showTable
|
|
287
|
+
console.log('表具信息',this.devicesinfo)
|
|
288
|
+
},
|
|
289
|
+
expireDate (index) {
|
|
290
|
+
if (this.devicesinfo[index].f_make_date === '' || this.devicesinfo[index].f_make_date === undefined || this.devicesinfo[index].f_service_life === 0 || this.devicesinfo[index].f_service_life === undefined) {
|
|
291
|
+
|
|
292
|
+
} else {
|
|
293
|
+
var b = new Date(this.devicesinfo[index].f_make_date)
|
|
294
|
+
var year = (b.getFullYear() - 0) + (this.devicesinfo[index].f_service_life - 0)
|
|
295
|
+
var month = (b.getMonth() - 0) + 1
|
|
296
|
+
var day = b.getDate()
|
|
297
|
+
// this.$set(this.devicesinfo, index, {f_expire_date: year + '-' + (month < 10 ? '0' + month : month) + '-' + (day < 10 ? '0' + day : day)})
|
|
298
|
+
this.devicesinfo[index].f_expire_date = year + '-' + (month < 10 ? '0' + month : month) + '-' + (day < 10 ? '0' + day : day)
|
|
299
|
+
this.devicesinfoShow = false
|
|
300
|
+
this.$nextTick(() => {
|
|
301
|
+
this.devicesinfoShow = true
|
|
302
|
+
})
|
|
303
|
+
}
|
|
304
|
+
},
|
|
305
|
+
deleteDevice (index, row) {
|
|
306
|
+
console.log('删除的信息', row)
|
|
307
|
+
if (row.id) {
|
|
308
|
+
this.$showMessage('此操作无法还原,是否确定要删除此设备?', ['confirm', 'cancel']).then((res) => {
|
|
309
|
+
if (res === 'confirm') {
|
|
310
|
+
this.$resetpost('rs/logic/deletedevices', {param: row}, {resolveMsg: `成功删除此设备`, rejectMsg: '删除设备失败'}).then((res) => {
|
|
311
|
+
this.devicesinfo.splice(index, 1)
|
|
312
|
+
})
|
|
313
|
+
}
|
|
314
|
+
})
|
|
315
|
+
} else {
|
|
316
|
+
this.devicesinfo.splice(index, 1)
|
|
317
|
+
}
|
|
318
|
+
},
|
|
319
|
+
addDevice () {
|
|
320
|
+
console.log('设备信息', this.devicesinfo)
|
|
321
|
+
this.devicesinfo.push({
|
|
322
|
+
// f_devices_type: '家用灶具',
|
|
323
|
+
f_input_person: this.f_input_person,
|
|
324
|
+
f_userinfodevices_state: '正常',
|
|
325
|
+
f_input_date: this.$login.toStandardTimeString()
|
|
326
|
+
})
|
|
327
|
+
},
|
|
328
|
+
closeModal () {
|
|
329
|
+
let cannotclose = false
|
|
330
|
+
let deleteData = []
|
|
331
|
+
for (let [index, row] of this.devicesinfo.entries()) {
|
|
332
|
+
if (!row.f_devices_type || !row.f_brand) {
|
|
333
|
+
deleteData.push(index)
|
|
334
|
+
cannotclose = true
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
if (cannotclose) {
|
|
338
|
+
this.$showMessage('新增设备有必填项没有填写,如果此时退出当前页面数据会丢失,请确定是否退出?', ['confirm', 'cancel']).then(async (res) => {
|
|
339
|
+
if (res === 'confirm') {
|
|
340
|
+
for (let i = deleteData.length - 1; i >= 0; i--) {
|
|
341
|
+
this.devicesinfo.splice(deleteData[i], 1)
|
|
342
|
+
}
|
|
343
|
+
this.show_devices = false
|
|
344
|
+
}
|
|
345
|
+
})
|
|
346
|
+
} else {
|
|
347
|
+
this.show_devices = false
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
</script>
|
|
353
|
+
<style lang="less">
|
|
354
|
+
.flex-deviceinfo {
|
|
355
|
+
padding: 0px 20px;
|
|
356
|
+
justify-content: space-between;
|
|
357
|
+
height: auto;
|
|
358
|
+
flex-wrap: wrap;
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
.flex-two-info {
|
|
362
|
+
margin-bottom: 10px;
|
|
363
|
+
align-items: center;
|
|
364
|
+
width: 48%;
|
|
365
|
+
}
|
|
366
|
+
</style>
|
package/src/filiale/fugu/sale.js
CHANGED
|
@@ -9,6 +9,8 @@ let specialComp = {
|
|
|
9
9
|
// 单个表具信息test
|
|
10
10
|
'file-meter-info':(resolve) => { require(['./MeterinfoTest'], resolve) },
|
|
11
11
|
// 用户基本信息test
|
|
12
|
-
'file-user-essential-info':(resolve) => { require(['./UserEssentialInfoTest'], resolve) }
|
|
12
|
+
'file-user-essential-info':(resolve) => { require(['./UserEssentialInfoTest'], resolve) },
|
|
13
|
+
// 表具设备信息test
|
|
14
|
+
'file-user-device-info':(resolve) => { require(['./components/FilesManage/UserDeviceInfoTest'], resolve) }
|
|
13
15
|
}
|
|
14
16
|
exports.specialComp = specialComp
|