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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sale-client",
3
- "version": "3.4.169",
3
+ "version": "3.4.172",
4
4
  "description": "收费模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -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.f_devices_type == '壁挂炉' && (row.f_brand == '' || row.f_brand == null) ? 'has-error' : '']">
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.WatchPurchase == '' ? 'has-error' : '']">
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 (var i = 0; i < this.devicesinfo.length; i++) {
332
- if (this.devicesinfo[i].f_devices_type == '壁挂炉') {
333
- if(!((this.devicesinfo[i].f_brand != '' && this.devicesinfo[i].f_brand) && (this.devicesinfo[i].f_input_person != '' && this.devicesinfo[i].f_input_person) && (this.devicesinfo[i].f_input_date != '' && this.devicesinfo[i].f_input_date) && (this.devicesinfo[i].WatchPurchase != '' && this.devicesinfo[i].WatchPurchase))){
334
- if(!this.devicesinfo[i].id) {
335
- deleteData.push(i)
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('新增设备有必填项没有填写,如果此时退出当前页面数据会丢失,请确定是否推出?', ['confirm', 'cancel']).then(async (res) => {
343
- if (res == 'confirm') {
344
- for (var i = 0; i < deleteData.length; i++) {
345
- this.devicesinfo.splice(deleteData[i], 1)
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
- return
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">&ensp;证件号码</label>
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" v-if="baseinfo.base.f_credentials[0] !== '身份证'">
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">&ensp;证件号码</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, 'CardMeterCenter')
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.id
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.id
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[0].includes('POS')">
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 = [self.config.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 = [self.config.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>&nbsp;<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">负责人&nbsp;&nbsp;&nbsp;</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 ">&nbsp;&nbsp;&nbsp;备&nbsp;&nbsp;&nbsp;注</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>&nbsp;<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>
@@ -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