sale-client 3.5.76 → 3.5.77
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/meterinfodetail.vue +4 -0
- package/src/components/revenue/comprehen/ComprehenOperation/newchangemeter/ChangeMeter.vue +3 -0
- package/src/components/revenue/comprehen/handAudit/MeterReadAudit.vue +28 -26
- package/src/filiale/qianneng/chargeBatch/ChargeGroupList.vue +340 -0
- package/src/filiale/qianneng/sale.js +4 -1
- package/src/filiale/tongchuan/FileUserFiles.vue +12 -2
- package/src/filiale/xinkang/UserBaseInfoNew.vue +435 -0
- package/src/filiale/xinkang/sale.js +3 -1
package/package.json
CHANGED
|
@@ -5,6 +5,10 @@
|
|
|
5
5
|
<h4 style="display:inline-block;margin-top: auto">表具信息</h4>
|
|
6
6
|
</div>
|
|
7
7
|
<div class="auto ">
|
|
8
|
+
<div class="row">
|
|
9
|
+
<label class = "col-sm-5 " style="color: brown">团缴编号</label>
|
|
10
|
+
<span class = "col-sm-7" style="color: brown">{{data.f_customer?data.f_customer:'无'}}</span>
|
|
11
|
+
</div>
|
|
8
12
|
<div class="row">
|
|
9
13
|
<label class = "col-sm-5 " >气表类型</label>
|
|
10
14
|
<span class = "col-sm-7">{{data?data.f_meter_type:dafault.f_meter_brand}}</span>
|
|
@@ -882,6 +882,9 @@ export default {
|
|
|
882
882
|
this.commitflag = true
|
|
883
883
|
// 气量转金额 或者 金额转气量的时候对气量和金额不做限制, 可以修改, 但是只变单价
|
|
884
884
|
this.model.f_remanent_price = ((this.model.f_remanent_money) / (this.model.f_remanent_gas)).toFixed(4)
|
|
885
|
+
if (this.model.f_remanent_price == 'NaN') {
|
|
886
|
+
this.model.f_remanent_price = 0
|
|
887
|
+
}
|
|
885
888
|
},
|
|
886
889
|
|
|
887
890
|
async validateOwe () {
|
|
@@ -143,13 +143,13 @@
|
|
|
143
143
|
<td style="text-align:center">{{ row.f_user_id }}</td>
|
|
144
144
|
<td style="text-align:center">{{ row.f_user_name }}</td>
|
|
145
145
|
<td style="text-align:center">{{ row.f_address }}</td>
|
|
146
|
-
<td style="text-align:center" :class="{'meterbasehaserr' : row.f_last_tablebase !== row.f_meter_base
|
|
146
|
+
<td style="text-align:center" :class="{'meterbasehaserr' : row.f_last_tablebase !== row.f_meter_base}">
|
|
147
147
|
{{ row.f_last_tablebase }}
|
|
148
148
|
</td>
|
|
149
|
-
<td style="text-align:center" :class="{'meterbasehaserr' : row.f_last_tablebase !== row.f_meter_base
|
|
149
|
+
<td style="text-align:center" :class="{'meterbasehaserr' : row.f_last_tablebase !== row.f_meter_base}">
|
|
150
150
|
{{ row.f_tablebase }}
|
|
151
151
|
</td>
|
|
152
|
-
<td style="text-align:center" :class="{'meterbasehaserr' : row.f_last_tablebase !== row.f_meter_base
|
|
152
|
+
<td style="text-align:center" :class="{'meterbasehaserr' : row.f_last_tablebase !== row.f_meter_base}">
|
|
153
153
|
{{ row.f_meter_base }}
|
|
154
154
|
</td>
|
|
155
155
|
<td style="text-align:center">{{ parseFloat(row.f_tablebase - row.f_last_tablebase).toFixed(2) }}</td>
|
|
@@ -168,7 +168,7 @@
|
|
|
168
168
|
<td style="text-align:center">{{ row.f_audit_date }}</td>
|
|
169
169
|
<td style="text-align: center" v-if="row.f_meter_state === '待审核' && row.f_hand_state === '有效'">
|
|
170
170
|
<button type="button" class="button_search button_spacing width-60"
|
|
171
|
-
v-if="row.f_last_tablebase === row.f_meter_base
|
|
171
|
+
v-if="row.f_last_tablebase === row.f_meter_base"
|
|
172
172
|
@click.stop="$parent.$parent.$parent.success(row)">通过
|
|
173
173
|
</button>
|
|
174
174
|
<br>
|
|
@@ -216,7 +216,7 @@ let readyGen = async function (self) {
|
|
|
216
216
|
|
|
217
217
|
export default {
|
|
218
218
|
title: '自报表数审核',
|
|
219
|
-
data() {
|
|
219
|
+
data () {
|
|
220
220
|
return {
|
|
221
221
|
initres: {
|
|
222
222
|
org: [this.$login.f.orgid],
|
|
@@ -236,24 +236,24 @@ export default {
|
|
|
236
236
|
meterbooks: [{label: '全部', value: ''}]
|
|
237
237
|
}
|
|
238
238
|
},
|
|
239
|
-
ready() {
|
|
239
|
+
ready () {
|
|
240
240
|
readyGen(this)
|
|
241
241
|
this.$refs.paged.$refs.cri.model.f_hand_state[0] = ` f_meter_state = '待审核'`
|
|
242
242
|
},
|
|
243
243
|
methods: {
|
|
244
|
-
loadMeterBooks() {
|
|
244
|
+
loadMeterBooks () {
|
|
245
245
|
this.meterbooks = [...this.meterbooks, ...this.$GetSaleParam.getMeterBooks()]
|
|
246
246
|
},
|
|
247
|
-
getRes(obj) {
|
|
247
|
+
getRes (obj) {
|
|
248
248
|
this.orgCondtionStr = obj
|
|
249
249
|
},
|
|
250
|
-
hidden() {
|
|
250
|
+
hidden () {
|
|
251
251
|
this.criteriaShow = !this.criteriaShow
|
|
252
252
|
},
|
|
253
|
-
search() {
|
|
253
|
+
search () {
|
|
254
254
|
this.$refs.paged.$refs.cri.search()
|
|
255
255
|
},
|
|
256
|
-
selfSearch(args) {
|
|
256
|
+
selfSearch (args) {
|
|
257
257
|
if (!this.orgCondtionStr) {
|
|
258
258
|
args.condition = `${args.condition}` + ' and f_orgid = ' + this.$login.f.orgid
|
|
259
259
|
} else {
|
|
@@ -261,23 +261,25 @@ export default {
|
|
|
261
261
|
}
|
|
262
262
|
this.model.search(args.condition, args.model)
|
|
263
263
|
},
|
|
264
|
-
async allsuccess() {
|
|
264
|
+
async allsuccess () {
|
|
265
265
|
let res = await this.$showMessage('确定通过全部抄表吗?操作后将不可取消', ['confirm', 'cancel'])
|
|
266
266
|
let condition = []
|
|
267
267
|
if (res === 'confirm') {
|
|
268
268
|
if (this.model.rows.length >= 0) {
|
|
269
269
|
if (this.model.model.f_hand_state[0] == `'待审核'`) {
|
|
270
270
|
for (let i = 0; i < this.model.rows.length; i++) {
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
271
|
+
if (this.model.rows[i].f_last_tablebase === this.model.rows[i].f_meter_base) {
|
|
272
|
+
let temp = {
|
|
273
|
+
f_hand_id: this.model.rows[i].id,
|
|
274
|
+
// 本次表底数
|
|
275
|
+
f_tablebase: this.model.rows[i].f_tablebase,
|
|
276
|
+
// 表类型
|
|
277
|
+
f_meter_classify: this.model.rows[i].f_meter_classify,
|
|
278
|
+
// 气表品牌
|
|
279
|
+
f_meter_brand: this.model.rows[i].f_meter_brand
|
|
280
|
+
}
|
|
281
|
+
condition.push(temp)
|
|
279
282
|
}
|
|
280
|
-
condition.push(temp)
|
|
281
283
|
}
|
|
282
284
|
let uuid = this.$login.guid()
|
|
283
285
|
let data = {
|
|
@@ -295,7 +297,7 @@ export default {
|
|
|
295
297
|
}
|
|
296
298
|
}
|
|
297
299
|
},
|
|
298
|
-
async success(row) {
|
|
300
|
+
async success (row) {
|
|
299
301
|
let res = await this.$showMessage('确定通过该条抄表吗?操作后将不可取消', ['confirm', 'cancel'])
|
|
300
302
|
if (res === 'confirm') {
|
|
301
303
|
let data = {
|
|
@@ -313,7 +315,7 @@ export default {
|
|
|
313
315
|
this.search()
|
|
314
316
|
}
|
|
315
317
|
},
|
|
316
|
-
async allfaild() {
|
|
318
|
+
async allfaild () {
|
|
317
319
|
let res = await this.$showMessage('确定作废全部抄表吗?操作后将不可取消', ['confirm', 'cancel'])
|
|
318
320
|
let condition = '('
|
|
319
321
|
if (res === 'confirm') {
|
|
@@ -335,7 +337,7 @@ export default {
|
|
|
335
337
|
}
|
|
336
338
|
}
|
|
337
339
|
},
|
|
338
|
-
async faild(row) {
|
|
340
|
+
async faild (row) {
|
|
339
341
|
let res = await this.$showMessage('确定作废该条抄表吗?操作后将不可取消', ['confirm', 'cancel'])
|
|
340
342
|
if (res === 'confirm') {
|
|
341
343
|
// this.row = row
|
|
@@ -346,7 +348,7 @@ export default {
|
|
|
346
348
|
this.search()
|
|
347
349
|
}
|
|
348
350
|
},
|
|
349
|
-
async confirm() {
|
|
351
|
+
async confirm () {
|
|
350
352
|
await this.$resetpost('rs/logic/weixinHanPlanAudit', this.row, {resolveMsg: '操作成功', rejectMsg: '操作失败'})
|
|
351
353
|
await this.$resetpost('http://www.hunanhongdaranqi.com/weixin/rs/logic/meterReadFailed', this.pushdata, {
|
|
352
354
|
resolveMsg: null,
|
|
@@ -357,7 +359,7 @@ export default {
|
|
|
357
359
|
}
|
|
358
360
|
},
|
|
359
361
|
computed: {
|
|
360
|
-
inputtores() {
|
|
362
|
+
inputtores () {
|
|
361
363
|
// 获取抄表员
|
|
362
364
|
console.log('获取抄表员', this.$login.f)
|
|
363
365
|
let rs = []
|
|
@@ -0,0 +1,340 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div id="ChargeGroupList">
|
|
3
|
+
<div class="flex" @keyup.enter="search" :style="{height:(oweShow?'auto':'100%')}">
|
|
4
|
+
<criteria-paged :model="model" v-ref:paged :pager="!oweShow">
|
|
5
|
+
<criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
|
|
6
|
+
<div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
|
|
7
|
+
<div class="row">
|
|
8
|
+
<div :class="$parent.$parent.style">
|
|
9
|
+
<label class="font_normal_body">组织机构</label>
|
|
10
|
+
<res-select restype='organization'
|
|
11
|
+
@res-select="$parent.$parent.getorg"
|
|
12
|
+
:is-mul="false"
|
|
13
|
+
:initresid='$parent.$parent.curorgid'>
|
|
14
|
+
</res-select>
|
|
15
|
+
</div>
|
|
16
|
+
<div :class="$parent.$parent.style">
|
|
17
|
+
<label class="font_normal_body">客戶编码</label>
|
|
18
|
+
<input type="text" class="input_search" style="width:60%" v-model="model.f_customer"
|
|
19
|
+
condition="f_customer like '%{}%'" placeholder="客戶编码"/>
|
|
20
|
+
</div>
|
|
21
|
+
<div :class="$parent.$parent.style" v-show="!$parent.$parent.listShow">
|
|
22
|
+
<label class="font_normal_body">客戶名称</label>
|
|
23
|
+
<input type="text" class="input_search" style="width:60%" v-model="model.f_user_name"
|
|
24
|
+
condition="f_user_name like '%{}%'" placeholder="客戶名称"/>
|
|
25
|
+
</div>
|
|
26
|
+
|
|
27
|
+
<div class="col-sm-3 form-group button-range">
|
|
28
|
+
<button class="button_search button_spacing" @click="search()">查询</button>
|
|
29
|
+
<button class="button_new button_spacing" style="width: max-content;" @click="$parent.$parent.add()" v-if="!$parent.$parent.chargeToChoose">建档
|
|
30
|
+
</button>
|
|
31
|
+
<button class="button_clear button_spacing" @click="clear">清空</button>
|
|
32
|
+
<div style="float: right" class="button_spacing"
|
|
33
|
+
:class="{'button_shrink_top': criteriaShow,'button_shrink_bottom': !criteriaShow}"
|
|
34
|
+
@click="criteriaShow = !criteriaShow"></div>
|
|
35
|
+
</div>
|
|
36
|
+
<div class="row" v-show="criteriaShow">
|
|
37
|
+
<div :class="$parent.$parent.style" v-show="$parent.$parent.listShow">
|
|
38
|
+
<label class="font_normal_body">客戶名称</label>
|
|
39
|
+
<input type="text" class="input_search" style="width:60%" v-model="model.f_user_name"
|
|
40
|
+
condition="f_user_name like '%{}%'" placeholder="客戶名称"/>
|
|
41
|
+
</div>
|
|
42
|
+
<div :class="$parent.$parent.style">
|
|
43
|
+
<label class="font_normal_body">客戶地址</label>
|
|
44
|
+
<input type="text" class="input_search" style="width:60%" v-model="model.f_address"
|
|
45
|
+
condition="f_address like '%{}%'" placeholder="客戶地址"/>
|
|
46
|
+
</div>
|
|
47
|
+
<div :class="$parent.$parent.style">
|
|
48
|
+
<label class="font_normal_body">客户电话</label>
|
|
49
|
+
<input type="text" class="input_search" style="width:60%" v-model="model.f_user_phone"
|
|
50
|
+
condition="f_user_phone like '%{}%'" placeholder="客户电话"/>
|
|
51
|
+
</div>
|
|
52
|
+
<div :class="$parent.$parent.style">
|
|
53
|
+
<label class="font_normal_body">是否欠费</label>
|
|
54
|
+
<v-select v-model="model.oughtfee"
|
|
55
|
+
:search="fasle"
|
|
56
|
+
placeholder='是否欠费'
|
|
57
|
+
:value.sync="model.oughtfee"
|
|
58
|
+
:options='$parent.$parent.oughtfee'
|
|
59
|
+
condition="f_oughtfee_all {}"
|
|
60
|
+
close-on-select style="width: 60%"></v-select>
|
|
61
|
+
</div>
|
|
62
|
+
</div>
|
|
63
|
+
</div>
|
|
64
|
+
</div>
|
|
65
|
+
</criteria>
|
|
66
|
+
<data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid v-if="!$parent.oweShow" @dblclick="$parent.showOwe">
|
|
67
|
+
<template partial='head'>
|
|
68
|
+
<tr>
|
|
69
|
+
<th>
|
|
70
|
+
<nobr>序号</nobr>
|
|
71
|
+
</th>
|
|
72
|
+
<th>
|
|
73
|
+
<nobr>客戶编码</nobr>
|
|
74
|
+
</th>
|
|
75
|
+
<th>
|
|
76
|
+
<nobr>客戶名称</nobr>
|
|
77
|
+
</th>
|
|
78
|
+
<th>
|
|
79
|
+
<nobr>账户结余</nobr>
|
|
80
|
+
</th>
|
|
81
|
+
<th>
|
|
82
|
+
<nobr>客戶类型</nobr>
|
|
83
|
+
</th>
|
|
84
|
+
<th>
|
|
85
|
+
<nobr>客戶地址</nobr>
|
|
86
|
+
</th>
|
|
87
|
+
<th>
|
|
88
|
+
<nobr>客戶电话</nobr>
|
|
89
|
+
</th>
|
|
90
|
+
<th>
|
|
91
|
+
<nobr>团缴户数</nobr>
|
|
92
|
+
</th>
|
|
93
|
+
<th>
|
|
94
|
+
<nobr>欠费金额</nobr>
|
|
95
|
+
</th>
|
|
96
|
+
<th>
|
|
97
|
+
<nobr>操作</nobr>
|
|
98
|
+
</th>
|
|
99
|
+
</tr>
|
|
100
|
+
</template>
|
|
101
|
+
<template partial='body'>
|
|
102
|
+
<tr>
|
|
103
|
+
<td style="text-align:center">
|
|
104
|
+
<nobr>{{ $index + 1 }}</nobr>
|
|
105
|
+
</td>
|
|
106
|
+
<td style="text-align:center">
|
|
107
|
+
<nobr>{{ row.f_customer }}</nobr>
|
|
108
|
+
</td>
|
|
109
|
+
<td style="text-align:center">
|
|
110
|
+
<nobr>{{ row.f_user_name }}</nobr>
|
|
111
|
+
</td>
|
|
112
|
+
<td style="text-align:center">
|
|
113
|
+
<nobr>{{ row.f_balance }}</nobr>
|
|
114
|
+
</td>
|
|
115
|
+
<td style="text-align:center">
|
|
116
|
+
<nobr>{{ row.f_user_type }}</nobr>
|
|
117
|
+
</td>
|
|
118
|
+
<td style="text-align:center">
|
|
119
|
+
<nobr>{{ row.f_address }}</nobr>
|
|
120
|
+
</td>
|
|
121
|
+
<td style="text-align:center">
|
|
122
|
+
<nobr>{{ row.f_user_phone }}</nobr>
|
|
123
|
+
</td>
|
|
124
|
+
<td style="text-align:center" v-if="!$parent.$parent.$parent.chargeToChoose">
|
|
125
|
+
<button @click.stop="$parent.$parent.$parent.operate(row)"
|
|
126
|
+
class="btn btn-link"><b>{{ row.sumuserfiles }}</b>
|
|
127
|
+
</button>
|
|
128
|
+
</td>
|
|
129
|
+
<td style="text-align:center" v-else>
|
|
130
|
+
<nobr>{{ row.sumuserfiles }}</nobr>
|
|
131
|
+
</td>
|
|
132
|
+
<td style="text-align:center" v-else>
|
|
133
|
+
<nobr>{{ row.f_oughtfee_all }}</nobr>
|
|
134
|
+
</td>
|
|
135
|
+
<td style="text-align:center">
|
|
136
|
+
<nobr>
|
|
137
|
+
<button type="button" name="button" class="btn btn-link"
|
|
138
|
+
@click.stop="$parent.$parent.$parent.print(row)">打印明细
|
|
139
|
+
</button>
|
|
140
|
+
<button type="button" name="button" class="btn btn-link"
|
|
141
|
+
@click.stop="$parent.$parent.$parent.export(row)">导出明细
|
|
142
|
+
</button>
|
|
143
|
+
</nobr>
|
|
144
|
+
</td>
|
|
145
|
+
</tr>
|
|
146
|
+
</template>
|
|
147
|
+
<template partial='foot'></template>
|
|
148
|
+
</data-grid>
|
|
149
|
+
</criteria-paged>
|
|
150
|
+
<print-data :sum-field="getfield" :model="printModel" :field="getfield" :printview="true"
|
|
151
|
+
:defaultfield="defaultfield" titletable="团体欠费明细报表" v-ref:printdata>
|
|
152
|
+
</print-data>
|
|
153
|
+
</div>
|
|
154
|
+
|
|
155
|
+
<export-excel
|
|
156
|
+
:isshow="false" :data="getCondition" :field="getfield" :choose-col="true" v-ref:excel
|
|
157
|
+
sqlurl="rs/logic/saleExport" sql-name="batchOweQuery" template-name='团体欠费明细导出'>
|
|
158
|
+
</export-excel>
|
|
159
|
+
|
|
160
|
+
<owe-record-query v-if="oweShow" :row="row" :f_civill_id="f_civill_id"></owe-record-query>
|
|
161
|
+
</div>
|
|
162
|
+
</template>
|
|
163
|
+
|
|
164
|
+
<script>
|
|
165
|
+
import {HttpResetClass, PagedList} from 'vue-client'
|
|
166
|
+
|
|
167
|
+
export default {
|
|
168
|
+
data () {
|
|
169
|
+
return {
|
|
170
|
+
interval: null,
|
|
171
|
+
searchTime: this.$appdata.getSingleValue('磁条卡读卡间隔') ? this.$appdata.getSingleValue('磁条卡读卡间隔') : 2,
|
|
172
|
+
oughtfee: [{label: '全部', value: ''}, {label: '是', value: '> 0'}, {label: '否', value: '<= 0'}],
|
|
173
|
+
model: new PagedList('rs/sql/ncarchivesQuery', 20),
|
|
174
|
+
// 公司下拉
|
|
175
|
+
curorgid: [this.$login.f.orgid],
|
|
176
|
+
f_orgid: '',
|
|
177
|
+
f_civill_id: null,
|
|
178
|
+
oweShow: false,
|
|
179
|
+
getCondition: null,
|
|
180
|
+
getfield: null,
|
|
181
|
+
config: {
|
|
182
|
+
// 导出列
|
|
183
|
+
excelHeaders: {
|
|
184
|
+
'f_userinfo_code': '客户编号',
|
|
185
|
+
'f_user_name': '客户姓名',
|
|
186
|
+
'f_address': '客户地址',
|
|
187
|
+
'f_user_phone': '客户电话',
|
|
188
|
+
//'f_meter_classify': '气表类型',
|
|
189
|
+
//'c': '欠费期数',
|
|
190
|
+
'f_hand_date': '欠费区间',
|
|
191
|
+
'f_last_tablebase': '上期底数',
|
|
192
|
+
'f_tablebase': '本期底数',
|
|
193
|
+
'price':'单价',
|
|
194
|
+
'f_oughtamount': '用气量',
|
|
195
|
+
'f_oughtfee': '用气金额'
|
|
196
|
+
//'f_debt_money': '已交金额',
|
|
197
|
+
//'f_oughtfee_new': '应交气费',
|
|
198
|
+
//'overdue': '滞纳金',
|
|
199
|
+
//'f_oughtfee_all': '合计欠费'
|
|
200
|
+
}
|
|
201
|
+
},
|
|
202
|
+
defaultfield: [],
|
|
203
|
+
printModel: new PagedList('rs/sql/batchOweQuery', 20),
|
|
204
|
+
row: null
|
|
205
|
+
}
|
|
206
|
+
},
|
|
207
|
+
title: '档案查询',
|
|
208
|
+
props: {
|
|
209
|
+
f_filialeids: {
|
|
210
|
+
type: String
|
|
211
|
+
},
|
|
212
|
+
style: {
|
|
213
|
+
type: String,
|
|
214
|
+
default: 'col-sm-3 form-group'
|
|
215
|
+
},
|
|
216
|
+
// 控制在修改数据时显示少的查询条件,剩余隐藏
|
|
217
|
+
listShow: {
|
|
218
|
+
type: Boolean,
|
|
219
|
+
default: false
|
|
220
|
+
},
|
|
221
|
+
// 收费时的展示控制
|
|
222
|
+
chargeToChoose: {
|
|
223
|
+
type: Boolean,
|
|
224
|
+
default: false
|
|
225
|
+
}
|
|
226
|
+
},
|
|
227
|
+
ready () {
|
|
228
|
+
this.getfield = this.config.excelHeaders
|
|
229
|
+
this.search()
|
|
230
|
+
this.readCiTiaoCard()
|
|
231
|
+
},
|
|
232
|
+
destroyed () {
|
|
233
|
+
clearInterval(this.interval)
|
|
234
|
+
},
|
|
235
|
+
watch: {
|
|
236
|
+
'oweShow' (val) {
|
|
237
|
+
if (val) {
|
|
238
|
+
clearInterval(this.interval)
|
|
239
|
+
} else {
|
|
240
|
+
this.readCiTiaoCard()
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
},
|
|
244
|
+
methods: {
|
|
245
|
+
async readCiTiaoCard () {
|
|
246
|
+
console.log('读磁条卡,开始,不停的循环')
|
|
247
|
+
let data = {}
|
|
248
|
+
let getUser = {data: []}
|
|
249
|
+
let forgid = this.$login.convertToIn([this.$login.f.orgid])
|
|
250
|
+
try {
|
|
251
|
+
// let res = {data:{Factory : 'CiTiao',CardID : '00000009'}}
|
|
252
|
+
let http = new HttpResetClass()
|
|
253
|
+
this.interval = setInterval(async () => {
|
|
254
|
+
// 1秒一轮回
|
|
255
|
+
http.load('POST', 'http://127.0.0.1:8003/ReadCard_HEC', data, {
|
|
256
|
+
resolveMsg: null,
|
|
257
|
+
rejectMsg: null
|
|
258
|
+
}).then(async res => {
|
|
259
|
+
if (res.data.CardID !== '') {
|
|
260
|
+
if (res.data.Err === null && res.data.Exception) {
|
|
261
|
+
this.$showAlert(res.data.Exception, 'danger', 2000)
|
|
262
|
+
// clearInterval(interval)
|
|
263
|
+
} else {
|
|
264
|
+
if (res.data.Factory === 'CiTiao') {
|
|
265
|
+
// 获取用户信息
|
|
266
|
+
getUser = await this.$resetpost('rs/sql/ncarchivesQuery', {
|
|
267
|
+
data: {
|
|
268
|
+
condition: `f_orgid in ${forgid} and f_card_id='${res.data.CardID}'`,
|
|
269
|
+
orderitem: `f_userinfo_id`
|
|
270
|
+
}
|
|
271
|
+
}, {resolveMsg: null, rejectMsg: '读卡失败'})
|
|
272
|
+
this.showOwe(getUser.data[0])
|
|
273
|
+
clearInterval(this.interval)
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
})
|
|
278
|
+
}, this.searchTime * 1000)
|
|
279
|
+
} catch (error) {
|
|
280
|
+
console.log('捕获到异常', error)
|
|
281
|
+
// this.$showAlert(error.data, 'danger', 2000)
|
|
282
|
+
}
|
|
283
|
+
},
|
|
284
|
+
// 打印
|
|
285
|
+
async print (row) {
|
|
286
|
+
let condition = `p.f_civill_id = ${row.id}`
|
|
287
|
+
await this.printModel.search(condition)
|
|
288
|
+
this.$refs.printdata.printData()
|
|
289
|
+
},
|
|
290
|
+
// 导出
|
|
291
|
+
export (row) {
|
|
292
|
+
this.getCondition = {condition: `p.f_civill_id = ${row.id}`}
|
|
293
|
+
this.$refs.excel.exportExcel()
|
|
294
|
+
},
|
|
295
|
+
showOwe (row) {
|
|
296
|
+
if (this.chargeToChoose) {
|
|
297
|
+
this.f_civill_id = row.id
|
|
298
|
+
this.row = row
|
|
299
|
+
this.oweShow = true
|
|
300
|
+
}
|
|
301
|
+
},
|
|
302
|
+
search () {
|
|
303
|
+
this.$refs.paged.$refs.cri.search()
|
|
304
|
+
},
|
|
305
|
+
add () {
|
|
306
|
+
if (this.f_filialeids) {
|
|
307
|
+
this.$refs.paged.$refs.grid.selectStore.selected = null
|
|
308
|
+
this.$dispatch('add')
|
|
309
|
+
} else {
|
|
310
|
+
this.$showAlert('请先选择左上角的所在分公司', 'warning', 2000)
|
|
311
|
+
}
|
|
312
|
+
},
|
|
313
|
+
operate (val) {
|
|
314
|
+
this.$dispatch('operate', val)
|
|
315
|
+
},
|
|
316
|
+
selfSearch (args) {
|
|
317
|
+
if (!this.f_orgid) {
|
|
318
|
+
this.getorg([this.$login.f.orgid])
|
|
319
|
+
}
|
|
320
|
+
args.condition = `${args.condition} and f_orgid in ${this.f_orgid}`
|
|
321
|
+
this.oweShow = false
|
|
322
|
+
this.model.search(args.condition, args.model)
|
|
323
|
+
if (this.$refs.paged.$refs.grid) this.$refs.paged.$refs.grid.selectInit()
|
|
324
|
+
this.$dispatch('newsearch')
|
|
325
|
+
},
|
|
326
|
+
getorg (val) {
|
|
327
|
+
this.f_orgid = this.$login.convertToIn(val)
|
|
328
|
+
this.f_filialeids = val[0]
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
}
|
|
333
|
+
</script>
|
|
334
|
+
<style lang="less">
|
|
335
|
+
#ChargeGroupList {
|
|
336
|
+
.button_export {
|
|
337
|
+
display: none;
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
</style>
|
|
@@ -72,6 +72,9 @@ let specialComp = {
|
|
|
72
72
|
|
|
73
73
|
'userfiles-list': (resolve) => { require(['./archives/UserfilesList'], resolve) },
|
|
74
74
|
// 用户基本信息
|
|
75
|
-
'user-base-info-new': (resolve) => { require(['./components/common/userinfo_detail/UserBaseInfoNew'], resolve) }
|
|
75
|
+
'user-base-info-new': (resolve) => { require(['./components/common/userinfo_detail/UserBaseInfoNew'], resolve) },
|
|
76
|
+
|
|
77
|
+
// 团体缴费查询列表
|
|
78
|
+
'charge-group-list': (resolve) => { require(['./chargeBatch/ChargeGroupList'], resolve) }
|
|
76
79
|
}
|
|
77
80
|
exports.specialComp = specialComp
|
|
@@ -1120,7 +1120,7 @@ let loadParamGem = async function (self) {
|
|
|
1120
1120
|
this.getuuid();
|
|
1121
1121
|
if(this.uuida == '') return;
|
|
1122
1122
|
// 当前上传的是批量导入的档案
|
|
1123
|
-
let
|
|
1123
|
+
let batchParam = {
|
|
1124
1124
|
filepath: res.f_downloadpath,
|
|
1125
1125
|
f_operator: this.$login.f.name,
|
|
1126
1126
|
f_operatorid: this.$login.f.id,
|
|
@@ -1130,10 +1130,20 @@ let loadParamGem = async function (self) {
|
|
|
1130
1130
|
f_depname: this.$login.f.deps,
|
|
1131
1131
|
uuid: this.uuida
|
|
1132
1132
|
}
|
|
1133
|
+
let jobParam = {
|
|
1134
|
+
f_operatorid: this.$login.f.id,
|
|
1135
|
+
total: 0,
|
|
1136
|
+
operator: this.$login.f.orgs +":"+ this.$login.f.deps +":"+ Vue.$login.f.name,
|
|
1137
|
+
jobType: "批量建档"
|
|
1138
|
+
}
|
|
1139
|
+
let param = {
|
|
1140
|
+
jobParam: jobParam,
|
|
1141
|
+
batchParam: batchParam
|
|
1142
|
+
}
|
|
1133
1143
|
let self = this
|
|
1134
1144
|
try {
|
|
1135
1145
|
self.progressShow = true;
|
|
1136
|
-
axios.post('rs/
|
|
1146
|
+
axios.post('rs/business/batchRunExcel/filemanage_fileSave/newSettleFileImport',
|
|
1137
1147
|
{data: param}, {timeout: 1000}).then((res) => {
|
|
1138
1148
|
})
|
|
1139
1149
|
self.percent=0;
|
|
@@ -0,0 +1,435 @@
|
|
|
1
|
+
<template >
|
|
2
|
+
<div class="auto">
|
|
3
|
+
<div class="auto form-group-new row">
|
|
4
|
+
<div class="col-sm-6" style="height:auto;width:49%;">
|
|
5
|
+
<p style="font-weight: bold;margin: 0"><img src="../../../static/mainicon/矩形1828.png"/> 基本信息</p>
|
|
6
|
+
<!-- 第一行数据-->
|
|
7
|
+
<div class="col-sm-4">
|
|
8
|
+
<label class="font_normal_body_new">客户编号</label>
|
|
9
|
+
<input class="input-underline" style="width:60%" :value="row.f_userinfo_code" readonly>
|
|
10
|
+
</div>
|
|
11
|
+
<div class="col-sm-4">
|
|
12
|
+
<label class="font_normal_body_new">客户姓名</label>
|
|
13
|
+
<input class="input-underline" style="width:60%" :value="row.f_user_name" readonly>
|
|
14
|
+
</div>
|
|
15
|
+
<div class="col-sm-4">
|
|
16
|
+
<label class="font_normal_body_new">用户状态</label>
|
|
17
|
+
<input class="input-underline" style="width:60%" :value="row.f_user_state" readonly>
|
|
18
|
+
</div>
|
|
19
|
+
<div class="col-sm-8">
|
|
20
|
+
<label class="font_normal_body_new">客户地址</label>
|
|
21
|
+
<input class="input-underline" style="width:80%" :value="row.f_address" readonly>
|
|
22
|
+
</div>
|
|
23
|
+
<div class="col-sm-4">
|
|
24
|
+
<label class="font_normal_body_new">客户电话</label>
|
|
25
|
+
<input class="input-underline" style="width:60%" :value="row.f_user_phone" readonly>
|
|
26
|
+
</div>
|
|
27
|
+
<div class="col-sm-4">
|
|
28
|
+
<label class="font_normal_body_new">客户类型</label>
|
|
29
|
+
<input class="input-underline" style="width:60%" :value="row.f_user_type" readonly>
|
|
30
|
+
</div>
|
|
31
|
+
<div class="col-sm-4">
|
|
32
|
+
<label class="font_normal_body_new">用气性质</label>
|
|
33
|
+
<input class="input-underline" style="width:60%" :value="row.f_gasproperties" readonly>
|
|
34
|
+
</div>
|
|
35
|
+
<div class="col-sm-4">
|
|
36
|
+
<label class="font_normal_body_new">证件类型</label>
|
|
37
|
+
<input class="input-underline" style="width:60%" :value="row.f_credentials" readonly>
|
|
38
|
+
</div>
|
|
39
|
+
<div class="col-sm-8">
|
|
40
|
+
<label class="font_normal_body_new">证件号码</label>
|
|
41
|
+
<input class="input-underline" style="width:80%" :value="row.f_idnumber" readonly>
|
|
42
|
+
</div>
|
|
43
|
+
<div class="col-sm-4">
|
|
44
|
+
<label class="font_normal_body_new">用户状态</label>
|
|
45
|
+
<input class="input-underline" style="width:60%" :value="row.f_user_state" readonly>
|
|
46
|
+
</div>
|
|
47
|
+
<div class="col-sm-4">
|
|
48
|
+
<label class="font_normal_body_new">账户余额</label>
|
|
49
|
+
<input class="input-underline" style="width:60%" :value="row.f_balance" readonly>
|
|
50
|
+
</div>
|
|
51
|
+
<div class="col-sm-4">
|
|
52
|
+
<label class="font_normal_body_new">人 口 数</label>
|
|
53
|
+
<input class="input-underline" style="width:60%" :value="row.f_people_num" readonly>
|
|
54
|
+
</div>
|
|
55
|
+
<div class="col-sm-4">
|
|
56
|
+
<label class="font_normal_body_new">关阀原因</label>
|
|
57
|
+
<input class="input-underline" style="width:60%" :value="row.f_info" readonly>
|
|
58
|
+
</div>
|
|
59
|
+
</div>
|
|
60
|
+
<div class="col-sm-6" style="height:auto;width:49%;">
|
|
61
|
+
<p style="font-weight: bold;margin: 0"><img src="../../../static/mainicon/矩形1828.png"/> 表具信息</p>
|
|
62
|
+
<div class="col-sm-4">
|
|
63
|
+
<label class="font_normal_body_new">表 号 </label>
|
|
64
|
+
<input class="input-underline" style="width:60%" :value="row.f_meternumber" readonly>
|
|
65
|
+
</div>
|
|
66
|
+
<div class="col-sm-4">
|
|
67
|
+
<label class="font_normal_body_new">气表状态</label>
|
|
68
|
+
<input class="input-underline" style="width:60%" :value="row.f_table_state" readonly>
|
|
69
|
+
</div>
|
|
70
|
+
<div class="col-sm-4">
|
|
71
|
+
<label class="font_normal_body_new">当前底数</label>
|
|
72
|
+
<input class="input-underline" style="width:60%" :value="row.f_meter_base" readonly>
|
|
73
|
+
</div>
|
|
74
|
+
|
|
75
|
+
<div class="col-sm-4">
|
|
76
|
+
<label class="font_normal_body_new">气表品牌</label>
|
|
77
|
+
<input class="input-underline" style="width:60%" :value="row.f_meter_brand" readonly>
|
|
78
|
+
</div>
|
|
79
|
+
|
|
80
|
+
<div class="col-sm-4">
|
|
81
|
+
<label class="font_normal_body_new">气价名称</label>
|
|
82
|
+
<input class="input-underline" style="width:60%" :value="row.f_price_name" readonly>
|
|
83
|
+
</div>
|
|
84
|
+
<div class="col-sm-4">
|
|
85
|
+
<label class="font_normal_body_new">气价类型</label>
|
|
86
|
+
<input class="input-underline" style="width:60%" :value="row.f_price_type" readonly>
|
|
87
|
+
</div>
|
|
88
|
+
<div class="col-sm-4">
|
|
89
|
+
<label class="font_normal_body_new">价格详情</label>
|
|
90
|
+
<input class="input-underline" style="width:60%" :value="row.f_detailprice" readonly>
|
|
91
|
+
</div>
|
|
92
|
+
<div class="col-sm-4">
|
|
93
|
+
<label class="font_normal_body_new" title="最后上报时间">上报时间</label>
|
|
94
|
+
<input class="input-underline" style="width:60%" :value="row.f_meteread_date ? row.f_meteread_date : '暂无'" readonly>
|
|
95
|
+
</div>
|
|
96
|
+
<div v-if="row.f_collection_type == '按金额'" class="col-sm-4">
|
|
97
|
+
<label class="font_normal_body_new">累购金额</label>
|
|
98
|
+
<input class="input-underline" style="width:60%" :value="row.total_fee" readonly>
|
|
99
|
+
</div>
|
|
100
|
+
<div v-if="row.f_collection_type == '按气量'">
|
|
101
|
+
<div class="col-sm-4">
|
|
102
|
+
<label class="font_normal_body_new">累购气量</label>
|
|
103
|
+
<input class="input-underline" style="width:60%" :value="row.f_total_gas" readonly>
|
|
104
|
+
</div>
|
|
105
|
+
<div class="col-sm-4">
|
|
106
|
+
<label class="font_normal_body_new">最后结算时间</label>
|
|
107
|
+
<input class="input-underline" style="width:45%" :value="row.f_hand_date ? row.f_hand_date :'暂无'" readonly>
|
|
108
|
+
</div>
|
|
109
|
+
</div>
|
|
110
|
+
<div v-if="row.f_meter_type.includes('物联网表')" >
|
|
111
|
+
<div class="col-sm-4">
|
|
112
|
+
<label class="font_normal_body_new">物联网次数</label>
|
|
113
|
+
<input class="input-underline" style="width:55%" :value="row.f_iot_times" readonly>
|
|
114
|
+
</div>
|
|
115
|
+
<div class="col-sm-4">
|
|
116
|
+
<label class="font_normal_body_new">表剩余金额</label>
|
|
117
|
+
<input class="input-underline" style="width:55%" :value="row.f_balance_amount" readonly>
|
|
118
|
+
</div>
|
|
119
|
+
<div class="col-sm-4">
|
|
120
|
+
<label class="font_normal_body_new">阀门状态</label>
|
|
121
|
+
<input class="input-underline" style="width:60%" :value="row.f_valvestate == 0 ? '已开阀' : '已关阀'" readonly>
|
|
122
|
+
</div>
|
|
123
|
+
<div class="col-sm-4">
|
|
124
|
+
<label class="font_normal_body_new">累计上报次数</label>
|
|
125
|
+
<input class="input-underline" style="width:45%" :value="row.f_meteread_number ? row.f_meteread_number : 0" readonly>
|
|
126
|
+
</div>
|
|
127
|
+
<div class="col-sm-4">
|
|
128
|
+
<label class="font_normal_body_new">是否自动阀控</label>
|
|
129
|
+
<input class="input-underline" style="width:45%" :value="row.f_network_valve == '1' ? '否' : '是'" readonly>
|
|
130
|
+
</div>
|
|
131
|
+
</div>
|
|
132
|
+
<div v-if="row.f_collection_type == '按气量'" >
|
|
133
|
+
<div class="col-sm-4">
|
|
134
|
+
<label class="font_normal_body_new">表剩余气量</label>
|
|
135
|
+
<input class="input-underline" style="width:55%" :value="row.f_balance_gas" readonly>
|
|
136
|
+
</div>
|
|
137
|
+
<div class="col-sm-4">
|
|
138
|
+
<label class="font_normal_body_new">累计用气金额</label>
|
|
139
|
+
<input class="input-underline" style="width:45%" :value="row.f_total_usegas_amount" readonly>
|
|
140
|
+
</div>
|
|
141
|
+
</div>
|
|
142
|
+
<div class="col-sm-4">
|
|
143
|
+
<label class="font_normal_body_new">写卡次数</label>
|
|
144
|
+
<input class="input-underline" style="width:45%" :value="row.f_times" readonly>
|
|
145
|
+
</div>
|
|
146
|
+
<div class="col-sm-4">
|
|
147
|
+
<label class="font_normal_body_new">抄表册名</label>
|
|
148
|
+
<input class="input-underline" style="width:45%" :value="(row.f_book_code!=null ? '['+row.f_book_code + '] ' : '') + (row.f_book_name!=null ? row.f_book_name:'')" readonly>
|
|
149
|
+
</div>
|
|
150
|
+
<div class="col-sm-4">
|
|
151
|
+
<label class="font_normal_body_new">抄表册册序号</label>
|
|
152
|
+
<input class="input-underline" style="width:45%" :value="row.f_meter_book_sort" readonly>
|
|
153
|
+
</div>
|
|
154
|
+
</div>
|
|
155
|
+
<div class="auto" style="float: right;">
|
|
156
|
+
<button class="button_clear " @click="cancelmain()" >返回</button>
|
|
157
|
+
<button class="button_search" type="button" @click="goChargeManage">去收费</button>
|
|
158
|
+
<button v-if="row.f_meter_brand.includes('西美')&&row.f_meter_type.includes('物联网表')"
|
|
159
|
+
class="button_search" type="button" @click="clearBarrier">清除障碍</button>
|
|
160
|
+
<button v-if="row.f_meter_type.includes('物联网表')"
|
|
161
|
+
class="button_search" type="button" @click="openUser">开户</button>
|
|
162
|
+
<button v-if="row.f_meter_type.includes('物联网表')"
|
|
163
|
+
class="button_search" type="button" @click="valvecontrol">开关阀</button>
|
|
164
|
+
<button v-if="row.f_meter_type.includes('物联网表')"
|
|
165
|
+
class="button_search" type="button" @click="zdfk">开关自动阀控</button>
|
|
166
|
+
<div
|
|
167
|
+
:class="{'button_shrink_top':criteriaShow,'button_shrink_bottom':!criteriaShow}"
|
|
168
|
+
@click="criteriaShow=!criteriaShow"
|
|
169
|
+
class="button_spacing"
|
|
170
|
+
style="float: right"></div>
|
|
171
|
+
</div>
|
|
172
|
+
</div>
|
|
173
|
+
|
|
174
|
+
<div class="auto row">
|
|
175
|
+
<div class="col-sm-6" style="width:49%;"></div>
|
|
176
|
+
<div class="auto form-group-new">
|
|
177
|
+
<div class="col-sm-6" style="height:auto;width:49%;" v-show="criteriaShow">
|
|
178
|
+
<div class="col-sm-4">
|
|
179
|
+
<label class="font_normal_body_new">气表型号</label>
|
|
180
|
+
<input class="input-underline" style="width:60%" :value="row.f_meter_style" readonly>
|
|
181
|
+
</div>
|
|
182
|
+
<div class="col-sm-4">
|
|
183
|
+
<label class="font_normal_body_new">气表类型</label>
|
|
184
|
+
<input class="input-underline" style="width:60%" :value="row.f_meter_type" readonly>
|
|
185
|
+
</div>
|
|
186
|
+
<div class="col-sm-4">
|
|
187
|
+
<label class="font_normal_body_new">初始底数</label>
|
|
188
|
+
<input class="input-underline" style="width:60%" :value="row.f_initial_base" readonly>
|
|
189
|
+
</div>
|
|
190
|
+
<div class="col-sm-4">
|
|
191
|
+
<label class="font_normal_body_new">左 右 表</label>
|
|
192
|
+
<input class="input-underline" style="width:60%" :value="row.f_aroundmeter" readonly>
|
|
193
|
+
</div>
|
|
194
|
+
<div class="col-sm-4">
|
|
195
|
+
<label class="font_normal_body_new">建表日期</label>
|
|
196
|
+
<input class="input-underline" style="width:60%" :value="row.f_input_date.substring(0,7)" readonly>
|
|
197
|
+
</div>
|
|
198
|
+
<div v-if="devices.length > 0" v-show="false" style="height: auto" >
|
|
199
|
+
<p style="font-weight: bold;margin: 0">设备信息</p>
|
|
200
|
+
<div class="panel-heading" style="height: 30px">
|
|
201
|
+
<h4 style="display:inline-block;margin-top: auto">设备信息</h4>
|
|
202
|
+
</div>
|
|
203
|
+
<div v-for="device in devices">
|
|
204
|
+
|
|
205
|
+
<form class="form-horizontal">
|
|
206
|
+
<div class="col-sm-4">
|
|
207
|
+
<label class="font_normal_body_new">设备类型</label>
|
|
208
|
+
<input class="input-underline" style="width:60%" :value="device.f_devices_type" readonly>
|
|
209
|
+
</div>
|
|
210
|
+
<div class="col-sm-4">
|
|
211
|
+
<label class="font_normal_body_new">设备品牌</label>
|
|
212
|
+
<input class="input-underline" style="width:60%" :value="device.f_brand" readonly>
|
|
213
|
+
</div>
|
|
214
|
+
<div class="col-sm-4">
|
|
215
|
+
<label class="font_normal_body_new">设备型号</label>
|
|
216
|
+
<input class="input-underline" style="width:60%" :value="device.f_devices_model" readonly>
|
|
217
|
+
</div>
|
|
218
|
+
<div class="col-sm-4">
|
|
219
|
+
<label class="font_normal_body_new">设备数量</label>
|
|
220
|
+
<input class="input-underline" style="width:60%" :value="device.f_devices_num" readonly>
|
|
221
|
+
</div>
|
|
222
|
+
</form>
|
|
223
|
+
</div>
|
|
224
|
+
</div>
|
|
225
|
+
</div>
|
|
226
|
+
</div>
|
|
227
|
+
</div>
|
|
228
|
+
<!--阀控管理弹框-->
|
|
229
|
+
<modal :show.sync="valve">
|
|
230
|
+
<header slot="modal-header" class="modal-header">
|
|
231
|
+
<button type="button" class="close" @click="close()"><span>×</span></button>
|
|
232
|
+
<h4 class="modal-title" align="center">阀控管理</h4>
|
|
233
|
+
</header>
|
|
234
|
+
<article slot="modal-body" class="modal-body">
|
|
235
|
+
<div class="form-group " style="padding-left: 8px">
|
|
236
|
+
<label class="font_normal_body" :class="operateReason?'text-info':'text-danger'">操作原因</label>
|
|
237
|
+
<textarea class="form-control" style="width:80%" v-model="operateReason" rows="3" placeholder="请填写操作原因"></textarea>
|
|
238
|
+
</div>
|
|
239
|
+
</article>
|
|
240
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
241
|
+
<button type="button" class="button_search btn-ln fr" :disabled="!operateReason" @click='valveoperate(true)'>开阀</button>
|
|
242
|
+
|
|
243
|
+
<button type="button" class="btn btn-info btn-ln fr" :disabled="!operateReason" @click='valveoperate(false)'>关阀</button>
|
|
244
|
+
</footer>
|
|
245
|
+
</modal>
|
|
246
|
+
</div>
|
|
247
|
+
</template>
|
|
248
|
+
|
|
249
|
+
<script>
|
|
250
|
+
import {HttpResetClass} from 'vue-client'
|
|
251
|
+
import Vue from 'vue'
|
|
252
|
+
export default {
|
|
253
|
+
title: '基本信息',
|
|
254
|
+
props: ['row'],
|
|
255
|
+
data () {
|
|
256
|
+
return {
|
|
257
|
+
criteriaShow: false,
|
|
258
|
+
devices: [],
|
|
259
|
+
valveLimit: false,
|
|
260
|
+
// 开关阀操作原因
|
|
261
|
+
operateReason: '',
|
|
262
|
+
valve: false
|
|
263
|
+
}
|
|
264
|
+
},
|
|
265
|
+
|
|
266
|
+
ready () {
|
|
267
|
+
this.getDevice()
|
|
268
|
+
this.valveLimit = this.$login.r.includes('开关阀权限')
|
|
269
|
+
},
|
|
270
|
+
methods: {
|
|
271
|
+
// 发送请求去数据
|
|
272
|
+
async getDevice () {
|
|
273
|
+
if (this.row) {
|
|
274
|
+
let http = new HttpResetClass()
|
|
275
|
+
let condition = `f_userinfo_id = '${this.row.f_userinfo_id}'`
|
|
276
|
+
let getDevices = await http.load('POST', 'rs/sql/sale_GetDevicesInfo', {data: {condition: condition}}, {rejectMsg: '获取设备信息出错!!', resolveMsg: null})
|
|
277
|
+
this.devices = getDevices.data
|
|
278
|
+
}
|
|
279
|
+
},
|
|
280
|
+
|
|
281
|
+
// 返回
|
|
282
|
+
cancelmain () {
|
|
283
|
+
this.$emit('cancel-main')
|
|
284
|
+
},
|
|
285
|
+
clearBarrier(){
|
|
286
|
+
// 地址
|
|
287
|
+
// 127.0.0.1:8445
|
|
288
|
+
// 参数
|
|
289
|
+
let datas = {
|
|
290
|
+
moduleName:"XiMeiSystem", // 固定值
|
|
291
|
+
content:{
|
|
292
|
+
tradeCode:"3015",// 固定值
|
|
293
|
+
appid: "yysf", // 固定值
|
|
294
|
+
partner: "cqsemay_bcts", // 固定值
|
|
295
|
+
version:"v1", // 固定值
|
|
296
|
+
tasked:this.getuuid(), // 任务id
|
|
297
|
+
notifyUrl:"http://192.168.2.10:8445/webmeter/rs/logic/XiMeiSystemCallBack", // 固定值
|
|
298
|
+
meterNo: this.row.f_meternumber,// 表号
|
|
299
|
+
signType:" MD5" //固定值
|
|
300
|
+
},
|
|
301
|
+
title: "清除异常", // 固定值
|
|
302
|
+
type: "清除异常", // 固定值
|
|
303
|
+
inputtor:this.row.f_operator, // 操作人
|
|
304
|
+
userId:this.row.f_userfiles_id, // 表档案ID
|
|
305
|
+
dataId: null // 操作记录ID
|
|
306
|
+
}
|
|
307
|
+
this.$resetpost('/webmeter/rs/logic/syncSaveSetParamsTemplate', {data: datas},{resolveMsg: `清理成功`, rejectMsg: `清理失败`}).then(res => {
|
|
308
|
+
})
|
|
309
|
+
},
|
|
310
|
+
getuuid(){
|
|
311
|
+
let uuidA = '';
|
|
312
|
+
var s = [];
|
|
313
|
+
var hexDigits = '0123456789abcdef';
|
|
314
|
+
for (var i = 0; i < 36; i++) {
|
|
315
|
+
s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
|
|
316
|
+
}
|
|
317
|
+
s[14] = '4';
|
|
318
|
+
s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1);
|
|
319
|
+
s[8] = s[13] = s[18] = s[23] = '-';
|
|
320
|
+
uuidA = s.join('');
|
|
321
|
+
return uuidA;
|
|
322
|
+
},
|
|
323
|
+
async goChargeManage () {
|
|
324
|
+
await this.$copyText(this.row.f_userinfo_code)
|
|
325
|
+
this.$showAlert(`用户编号已复制到剪切板!`, 'success', 2000)
|
|
326
|
+
this.$goto('charge-manage', {f: this.$login.f}, 'main')
|
|
327
|
+
},
|
|
328
|
+
openUser () {
|
|
329
|
+
this.$showMessage(`是否需要给用户进行开户?`, ['confirm', 'cancel']).then(async (res) => {
|
|
330
|
+
if (res === 'confirm') {
|
|
331
|
+
let data = {
|
|
332
|
+
f_userfiles_id: this.row.f_userfiles_id
|
|
333
|
+
}
|
|
334
|
+
this.$resetpost('rs/logic/startup',data)
|
|
335
|
+
}
|
|
336
|
+
})
|
|
337
|
+
},
|
|
338
|
+
// 阀控管理
|
|
339
|
+
zdfk () {
|
|
340
|
+
let data = {
|
|
341
|
+
f_userfiles_id: this.row.f_userfiles_id
|
|
342
|
+
}
|
|
343
|
+
if (this.row.f_network_valve !== '1') {
|
|
344
|
+
this.$resetpost('rs/logic/openzdfk', data, {resolveMsg: '关闭自动阀控成功。', rejectMsg: '关闭自动阀控失败!!!'})
|
|
345
|
+
this.row.f_network_valve = '1'
|
|
346
|
+
} else {
|
|
347
|
+
this.$resetpost('rs/logic/closezdfk', data, {resolveMsg: '开启自动阀控成功。', rejectMsg: '开启自动阀控失败!!!'})
|
|
348
|
+
this.row.f_network_valve = null
|
|
349
|
+
}
|
|
350
|
+
},
|
|
351
|
+
// 阀控管理
|
|
352
|
+
valvecontrol () {
|
|
353
|
+
if (this.$login.r.includes('开关阀')) {
|
|
354
|
+
this.valve = true
|
|
355
|
+
} else {
|
|
356
|
+
this.$showAlert('您没有开关阀权限,请联系管理员!!', 'warning', 3000)
|
|
357
|
+
}
|
|
358
|
+
},
|
|
359
|
+
close () {
|
|
360
|
+
this.valve = false
|
|
361
|
+
this.operateReason = ''
|
|
362
|
+
},
|
|
363
|
+
// 开关阀操作
|
|
364
|
+
async valveoperate (oper) {
|
|
365
|
+
let msg = oper ? '开阀' : '关阀'
|
|
366
|
+
let datas = {
|
|
367
|
+
instructType: '阀门控制',
|
|
368
|
+
instructTitle: `手动${msg}`,
|
|
369
|
+
condition: `t_userfiles.f_userfiles_id='${this.row.f_userfiles_id}'`,
|
|
370
|
+
meterBrandName: this.row.f_alias,
|
|
371
|
+
f_instruct_state: '待发送',
|
|
372
|
+
inputtor: Vue.$login.f.name,
|
|
373
|
+
reasonInfo: this.operateReason,
|
|
374
|
+
meternumberf: this.row.f_meternumber,
|
|
375
|
+
contentData: {isOpen: oper ? 1 : 0}
|
|
376
|
+
}
|
|
377
|
+
await this.$resetpost('rs/logic/iot_saveInstruct', {data: datas},
|
|
378
|
+
{warnMsg: `确定要进行${msg}操作吗?`, resolveMsg: `${msg}成功`, rejectMsg: `${msg}失败`}).then(res => {
|
|
379
|
+
this.valve = false
|
|
380
|
+
this.operateReason = ''
|
|
381
|
+
})
|
|
382
|
+
}
|
|
383
|
+
},
|
|
384
|
+
watch: {
|
|
385
|
+
'row' () {
|
|
386
|
+
this.getDevice()
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
</script>
|
|
391
|
+
<style scoped lang="less">
|
|
392
|
+
.form-group-new > div {
|
|
393
|
+
height: 3% !important;
|
|
394
|
+
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
.datapanel {
|
|
398
|
+
color: #333;
|
|
399
|
+
background-color: white;
|
|
400
|
+
box-shadow: darkgrey 0.5px 0.5px 0.5px 0.5px ;
|
|
401
|
+
padding: 10px 30px 10px 30px;
|
|
402
|
+
height: auto;
|
|
403
|
+
border-radius:15px;
|
|
404
|
+
}
|
|
405
|
+
.text-info {
|
|
406
|
+
color: lightskyblue;
|
|
407
|
+
}
|
|
408
|
+
.text-danger {
|
|
409
|
+
color: red;
|
|
410
|
+
}
|
|
411
|
+
.input-underline {
|
|
412
|
+
border-bottom: 1px solid #dbdbdb;
|
|
413
|
+
border-top: 0px;
|
|
414
|
+
border-left: 0px;
|
|
415
|
+
border-right: 0px;
|
|
416
|
+
}
|
|
417
|
+
.font_normal_body_new {
|
|
418
|
+
font-weight: 100;
|
|
419
|
+
float: left;
|
|
420
|
+
margin-top: 0px;
|
|
421
|
+
font-size: 1.4rem !important;
|
|
422
|
+
line-height: 30px;
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
.col-sm-4,.col-sm-8{
|
|
426
|
+
display: flex;
|
|
427
|
+
align-items: center;
|
|
428
|
+
margin: 7px 0;
|
|
429
|
+
|
|
430
|
+
label{
|
|
431
|
+
line-height: unset;
|
|
432
|
+
margin-bottom: 0;
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
</style>
|
|
@@ -5,6 +5,8 @@ let specialComp = {
|
|
|
5
5
|
// 左侧用户基本信息展示
|
|
6
6
|
'userinfo': (resolve) => { require(['./base/leftview/Userinfo'], resolve) },
|
|
7
7
|
// 单个表具信息
|
|
8
|
-
'file-meter-info': (resolve) => { require(['./MeterinfoTest'], resolve) }
|
|
8
|
+
'file-meter-info': (resolve) => { require(['./MeterinfoTest'], resolve) },
|
|
9
|
+
//收费页面
|
|
10
|
+
'user-base-info-new': (resolve) => { require(['./UserBaseInfoNew'], resolve) }
|
|
9
11
|
}
|
|
10
12
|
exports.specialComp = specialComp
|