sale-client 3.5.141 → 3.5.143
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/build/dev-server.js +5 -3
- package/package.json +2 -2
- package/src/components/charge/ChargeManage.vue +4 -1
- package/src/components/webMeter/webInfo/EditWebMeterInfo.vue +1 -1
- package/src/filiale/dongguan/components/EditWebMeterInfo.vue +290 -0
- package/src/filiale/dongguan/components/common/userinfo_detail/WebMeterBatchOperate.vue +203 -0
- package/src/filiale/dongguan/sale.js +4 -1
- package/src/filiale/tongchuan/ChargeManage.vue +1 -1
- package/src/filiale/tongchuan/ChargeOper.vue +2 -1
- package/src/filiale/zhongyi/MeterReadAudit.vue +5 -5
package/build/dev-server.js
CHANGED
|
@@ -13,7 +13,9 @@ var compiler = webpack(config)
|
|
|
13
13
|
var bendi = 'http://121.36.106.17:8400', bendi1 = 'http://121.36.106.17:8400/'
|
|
14
14
|
// 公司测试服务
|
|
15
15
|
// var fuwu = 'http://192.168.50.4:8400'
|
|
16
|
-
var fuwu = 'http://39.
|
|
16
|
+
// var fuwu = 'http://39.99.85.14:8400'
|
|
17
|
+
var fuwu = 'http://39.108.82.124:8400'
|
|
18
|
+
// var fuwu = 'http://47.93.217.125:8400'
|
|
17
19
|
// var fuwu = 'http://121.36.106.17:8400/'
|
|
18
20
|
// 铜川正式
|
|
19
21
|
// var fuwu = 'http://61.134.55.234:9999/'
|
|
@@ -127,7 +129,7 @@ var proxyTable = {
|
|
|
127
129
|
target: fuwu
|
|
128
130
|
},
|
|
129
131
|
'/webmeter': {
|
|
130
|
-
target: 'http://
|
|
132
|
+
target: 'http://192.168.50.4:8450'
|
|
131
133
|
},
|
|
132
134
|
'/rs': {
|
|
133
135
|
// target: 'http://192.168.30.63:8081/'
|
|
@@ -184,7 +186,7 @@ app.use(hotMiddleware)
|
|
|
184
186
|
// serve pure static assets
|
|
185
187
|
app.use('/static', express.static('./static'))
|
|
186
188
|
|
|
187
|
-
module.exports = app.listen(
|
|
189
|
+
module.exports = app.listen(8089, function (err) {
|
|
188
190
|
if (err) {
|
|
189
191
|
console.log(err)
|
|
190
192
|
return
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sale-client",
|
|
3
|
-
"version": "3.5.
|
|
3
|
+
"version": "3.5.143",
|
|
4
4
|
"description": "收费模块前台组件",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -88,7 +88,7 @@
|
|
|
88
88
|
"style-loader": "^0.20.3",
|
|
89
89
|
"system-clients": "3.2.25",
|
|
90
90
|
"url-loader": "^0.5.7",
|
|
91
|
-
"vue-client": "1.24.
|
|
91
|
+
"vue-client": "1.24.76",
|
|
92
92
|
"vue-clipboard2": "0.3.1",
|
|
93
93
|
"vue-hot-reload-api": "^1.2.0",
|
|
94
94
|
"vue-html-loader": "^1.0.0",
|
|
@@ -128,8 +128,11 @@ export default {
|
|
|
128
128
|
this.cardInfo = null
|
|
129
129
|
},
|
|
130
130
|
clearCondition () {
|
|
131
|
+
|
|
131
132
|
Object.keys(this.$refs.list.$refs.paged.$refs.cri.model).forEach((key) => {
|
|
132
|
-
|
|
133
|
+
console.log("key",key)
|
|
134
|
+
console.log("对应啥数据",this.$refs.list.$refs.paged.$refs.cri.model[key])
|
|
135
|
+
this.$refs.list.$refs.paged.$refs.cri.model[key] = []
|
|
133
136
|
})
|
|
134
137
|
// console.log('清数据。。。', this.$refs.list.$refs.paged.$refs.grid.model.rows)
|
|
135
138
|
// this.$set('$refs.list.$refs.paged.$refs.grid.model.rows', [])
|
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="span">
|
|
3
|
+
<validator name='v' style="overflow-y: auto">
|
|
4
|
+
<form novalidate class="form-horizontal select-overspread" @valid="confirmEditcheck = true" @invalid="confirmEditcheck = false">
|
|
5
|
+
<div class="row auto">
|
|
6
|
+
<div style="margin-top: 2%">
|
|
7
|
+
<img style="margin-top: -2px;margin-left: 2px" src="./../../../../static/images/lefticon/矩形1183.png">
|
|
8
|
+
<a style="font-size: 16px;font-weight: 500;">表计信息</a> <a style="color: #999999;text-decoration: none"></a>
|
|
9
|
+
</div>
|
|
10
|
+
<div class="col-sm-6" :class="[$v.f_meternumber.required ? 'has-error' : '']">
|
|
11
|
+
<label class="font_normal_body"> 表号 </label>
|
|
12
|
+
<input type="text" v-model="newmeterinfo.f_meternumber" @blur="onbulrbunmber($event)" class="input_search" style="width:60%" v-validate:f_meternumber='{required: true }' placeholder="表号">
|
|
13
|
+
</div>
|
|
14
|
+
|
|
15
|
+
<div class="col-sm-6" :class="[$v.f_imei.required ? 'has-error' : '']">
|
|
16
|
+
<label class="font_normal_body"> IMEI码 </label>
|
|
17
|
+
<input type="text" v-model="newmeterinfo.f_imei" class="input_search" style="width:60%" v-validate:f_imei='{required: true }' placeholder="IMEI码">
|
|
18
|
+
</div>
|
|
19
|
+
<div class="col-sm-6" >
|
|
20
|
+
<label class="font_normal_body"> IMSI码 </label>
|
|
21
|
+
<input type="text" v-model="newmeterinfo.f_imsi" class="input_search" style="width:60%" placeholder="IMSI码">
|
|
22
|
+
</div>
|
|
23
|
+
<div class="col-sm-6" :class="[$v.brand.required ? 'has-error' : '']">
|
|
24
|
+
<label class="font_normal_body" title="参数:气表类型2"> 气表类型</label>
|
|
25
|
+
<input type="text" v-show="false" v-model="$refs.brand.selectedItems" v-validate:brand='{required: true }'>
|
|
26
|
+
<v-select style="width:60%" title="气表类型2"
|
|
27
|
+
placeholder='气表类型'
|
|
28
|
+
:value.sync="newmeterinfo.f_metertype"
|
|
29
|
+
v-model="newmeterinfo.f_metertype"
|
|
30
|
+
:options='metertype'
|
|
31
|
+
close-on-select
|
|
32
|
+
:value-single="true" v-ref:brand> </v-select>
|
|
33
|
+
</div>
|
|
34
|
+
<div class="col-sm-6" :class="[$v.f_meter_brand.required ? 'has-error' : '']">
|
|
35
|
+
<label class="font_normal_body"> 气表品牌</label>
|
|
36
|
+
<input type="text" v-show="false" v-model="newmeterinfo.f_meter_brand"
|
|
37
|
+
v-validate:f_meter_brand='{required: true }'>
|
|
38
|
+
<v-select
|
|
39
|
+
placeholder='气表品牌'
|
|
40
|
+
:value.sync="newmeterinfo.f_meter_brand"
|
|
41
|
+
style="width:60%"
|
|
42
|
+
:value-single="true"
|
|
43
|
+
v-model="newmeterinfo.f_meter_brand"
|
|
44
|
+
:options='meterbrand'
|
|
45
|
+
close-on-select>
|
|
46
|
+
</v-select>
|
|
47
|
+
</div>
|
|
48
|
+
<div class="col-sm-6" :class="[$v.f_meter_style.required ? 'has-error' : '']">
|
|
49
|
+
<label class="font_normal_body" > 气表型号</label>
|
|
50
|
+
<input type="text" v-show="false" v-model="newmeterinfo.f_meter_style"
|
|
51
|
+
v-validate:f_meter_style='{required: true }'>
|
|
52
|
+
<v-select style="width:60%"
|
|
53
|
+
placeholder='气表型号'
|
|
54
|
+
:value.sync="newmeterinfo.f_meter_style"
|
|
55
|
+
v-model="newmeterinfo.f_meter_style"
|
|
56
|
+
:options='meterstyle'
|
|
57
|
+
close-on-select
|
|
58
|
+
:value-single="true"> </v-select>
|
|
59
|
+
</div>
|
|
60
|
+
<div class="col-sm-6" >
|
|
61
|
+
<label class="font_normal_body"> 表计电话</label>
|
|
62
|
+
<input type="text" v-model="newmeterinfo.f_meter_phone" class="input_search" style="width:60%" placeholder="表计电话">
|
|
63
|
+
</div>
|
|
64
|
+
<div class="col-sm-12" >
|
|
65
|
+
<label class="font_normal_body"> 设备地址</label>
|
|
66
|
+
<input type="text" v-model="newmeterinfo.f_device_address" class="input_search" style="width:80%" placeholder="设备地址">
|
|
67
|
+
</div>
|
|
68
|
+
<div class="col-sm-6" >
|
|
69
|
+
<label class="font_normal_body"> 是否领用</label>
|
|
70
|
+
<v-select style="width:60%"
|
|
71
|
+
placeholder='是否领用'
|
|
72
|
+
:value.sync="newmeterinfo.f_is_receive"
|
|
73
|
+
v-model="newmeterinfo.f_is_receive"
|
|
74
|
+
:options='isReceive'
|
|
75
|
+
disabled
|
|
76
|
+
close-on-select
|
|
77
|
+
:value-single="true"> </v-select>
|
|
78
|
+
</div>
|
|
79
|
+
<div class="col-sm-6" >
|
|
80
|
+
<label class="font_normal_body"> 气表年限</label>
|
|
81
|
+
<input type="text" v-model="newmeterinfo.f_years" class="input_search" style="width:60%" placeholder="气表年限">
|
|
82
|
+
</div>
|
|
83
|
+
<div class="col-sm-6" >
|
|
84
|
+
<label class="font_normal_body"> 生产日期</label>
|
|
85
|
+
<datepicker placeholder="生产日期" style="width: 60%"
|
|
86
|
+
v-model="newmeterinfo.f_manufacture_date"
|
|
87
|
+
:value.sync="newmeterinfo.f_manufacture_date"
|
|
88
|
+
:format="'yyyy-MM-dd HH:mm:ss'">
|
|
89
|
+
</datepicker>
|
|
90
|
+
<!-- <input type="text" v-model="newmeterinfo.f_manufacture_date" class="input_search" style="width:60%" placeholder="生产日期">-->
|
|
91
|
+
</div>
|
|
92
|
+
|
|
93
|
+
<div class="col-sm-6" >
|
|
94
|
+
<label class="font_normal_body"> 批次号 </label>
|
|
95
|
+
<input type="text" v-model="newmeterinfo.f_batch_number" class="input_search" style="width:60%" placeholder="批次号">
|
|
96
|
+
</div>
|
|
97
|
+
<div class="col-sm-6" >
|
|
98
|
+
<label class="font_normal_body"> 终端名称</label>
|
|
99
|
+
<input type="text" v-model="newmeterinfo.f_terminal_id" class="input_search" style="width:60%" placeholder="终端名称">
|
|
100
|
+
</div>
|
|
101
|
+
|
|
102
|
+
<div class="col-sm-6" >
|
|
103
|
+
<label class="font_normal_body"> 设备号 </label>
|
|
104
|
+
<input type="text" v-model="newmeterinfo.f_device_id" class="input_search" style="width:60%" placeholder="设备号">
|
|
105
|
+
</div>
|
|
106
|
+
<div class="col-sm-6" >
|
|
107
|
+
<label class="font_normal_body"> 阀控标识</label>
|
|
108
|
+
<input type="text" v-model="newmeterinfo.f_valvemark" class="input_search" style="width:60%" placeholder="阀控标识">
|
|
109
|
+
</div>
|
|
110
|
+
<div class="col-sm-6" >
|
|
111
|
+
<label class="font_normal_body" style="color: red" title="参数:表通道类型">表通道类型</label>
|
|
112
|
+
<!-- <input type="text" v-model="newmeterinfo.f_iot_type" class="input_search" style="width:60%" placeholder="表通道类型">-->
|
|
113
|
+
<v-select style="width:60%"
|
|
114
|
+
placeholder='表通道类型'
|
|
115
|
+
:value.sync="newmeterinfo.f_iot_type"
|
|
116
|
+
v-model="newmeterinfo.f_iot_type"
|
|
117
|
+
:options='iottype'
|
|
118
|
+
close-on-select
|
|
119
|
+
:value-single="true"> </v-select>
|
|
120
|
+
</div>
|
|
121
|
+
<div class="col-sm-6" >
|
|
122
|
+
<label class="font_normal_body">表通讯序号</label>
|
|
123
|
+
<input type="text" v-model="newmeterinfo.f_telecomm_no" class="input_search" style="width:60%" placeholder="表通讯序号">
|
|
124
|
+
</div>
|
|
125
|
+
<div class="col-sm-6" >
|
|
126
|
+
<label class="font_normal_body"> 采购人</label>
|
|
127
|
+
<input type="text" v-model="newmeterinfo.f_purchaser" class="input_search" style="width:60%" placeholder="采购人">
|
|
128
|
+
</div>
|
|
129
|
+
<div class="col-sm-6" >
|
|
130
|
+
<label class="font_normal_body"> 采购时间</label>
|
|
131
|
+
<datepicker placeholder="采购时间" style="width: 60%"
|
|
132
|
+
v-model="newmeterinfo.f_purchase_date"
|
|
133
|
+
:value.sync="newmeterinfo.f_purchase_date"
|
|
134
|
+
:format="'yyyy-MM-dd HH:mm:ss'">
|
|
135
|
+
</datepicker>
|
|
136
|
+
</div>
|
|
137
|
+
<div class="col-sm-6" >
|
|
138
|
+
<label class="font_normal_body" title="表具状态">表具状态</label>
|
|
139
|
+
<!-- <input type="text" v-model="newmeterinfo.f_iot_type" class="input_search" style="width:60%" placeholder="表通道类型">-->
|
|
140
|
+
<v-select style="width:60%"
|
|
141
|
+
placeholder='表具状态'
|
|
142
|
+
:value.sync="newmeterinfo.f_distribution_state"
|
|
143
|
+
v-model="newmeterinfo.f_distribution_state"
|
|
144
|
+
:options='meterstate'
|
|
145
|
+
close-on-select
|
|
146
|
+
:value-single="true"> </v-select>
|
|
147
|
+
</div>
|
|
148
|
+
</div>
|
|
149
|
+
<div class="auto row">
|
|
150
|
+
<div style="margin-top: 2%">
|
|
151
|
+
<img style="margin-top: -2px;margin-left: 2px" src="./../../../../static/images/lefticon/矩形1183.png">
|
|
152
|
+
<a style="font-size: 16px;font-weight: 500;">厂商信息</a> <a style="color: #999999;text-decoration: none"></a>
|
|
153
|
+
</div>
|
|
154
|
+
<div class="col-sm-6" >
|
|
155
|
+
<label class="font_normal_body"> 气表厂家</label>
|
|
156
|
+
<input type="text" v-model="newmeterinfo.f_manufacturers" class="input_search" style="width:60%" placeholder="气表厂家">
|
|
157
|
+
</div>
|
|
158
|
+
<div class="col-sm-6" >
|
|
159
|
+
<label class="font_normal_body"> 厂商代码</label>
|
|
160
|
+
<input type="text" v-model="newmeterinfo.f_vender" class="input_search" style="width:60%" placeholder="厂商代码">
|
|
161
|
+
</div>
|
|
162
|
+
</div>
|
|
163
|
+
<div class="col-sm-12" style="text-align:right;height:auto;margin-top:6px;">
|
|
164
|
+
<button class="button_search" type="button" @click="confirmEdit()" :disabled="!confirmEditcheck">确认</button>
|
|
165
|
+
<button class="button_clear" type="button" @click="close()">取消</button>
|
|
166
|
+
</div>
|
|
167
|
+
</form>
|
|
168
|
+
</validator>
|
|
169
|
+
</div>
|
|
170
|
+
</template>
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
<script>
|
|
174
|
+
let readyGen = async function (self) {
|
|
175
|
+
await self.$LoadParams.loadParam()
|
|
176
|
+
self.initQueryParam()
|
|
177
|
+
// self.reflash()
|
|
178
|
+
}
|
|
179
|
+
export default {
|
|
180
|
+
title: '表计信息修改',
|
|
181
|
+
props: ['oldmeter', 'f_filialeid'],
|
|
182
|
+
data () {
|
|
183
|
+
return {
|
|
184
|
+
row: {},
|
|
185
|
+
meterbrand: [],
|
|
186
|
+
newmeterinfo: {},
|
|
187
|
+
confirmEditcheck: false,
|
|
188
|
+
meterstyle: [],
|
|
189
|
+
meterstate: [{label: '维修', value: '维修'},{label: '退回', value: '退回'},{label: '挂表', value: '挂表'},{label: '报废', value: '报废'}]
|
|
190
|
+
}
|
|
191
|
+
},
|
|
192
|
+
ready () {
|
|
193
|
+
this.newmeterinfo = Object.assign({}, {}, this.oldmeter)
|
|
194
|
+
this.newmeterinfo.f_is_receive = this.newmeterinfo.f_is_receive !== '是' ? '否' : '是'
|
|
195
|
+
readyGen(this)
|
|
196
|
+
},
|
|
197
|
+
watch: {
|
|
198
|
+
'oldmeter' () {
|
|
199
|
+
this.newmeterinfo = Object.assign({}, {}, this.oldmeter)
|
|
200
|
+
},
|
|
201
|
+
'newmeterinfo.f_meter_brand' () {
|
|
202
|
+
if (this.newmeterinfo.f_meter_brand == null || this.newmeterinfo.f_meter_brand == '') return
|
|
203
|
+
let gasmodels = []
|
|
204
|
+
let gastype = []
|
|
205
|
+
this.$GetSaleParam.getGasbrand().forEach((item) => {
|
|
206
|
+
if (item.label == this.newmeterinfo.f_meter_brand) {
|
|
207
|
+
gasmodels = item.value.gasmodel
|
|
208
|
+
}
|
|
209
|
+
})
|
|
210
|
+
gasmodels.forEach((items) => {
|
|
211
|
+
let temp = {}
|
|
212
|
+
temp.label = items.label
|
|
213
|
+
temp.value = items.value.f_meter_style + items.value.f_type
|
|
214
|
+
gastype.push(temp)
|
|
215
|
+
})
|
|
216
|
+
this.meterstyle = gastype
|
|
217
|
+
}
|
|
218
|
+
},
|
|
219
|
+
methods: {
|
|
220
|
+
|
|
221
|
+
initQueryParam () {
|
|
222
|
+
let arr = []
|
|
223
|
+
this.$GetSaleParam.getGasbrand().forEach((item) => {
|
|
224
|
+
let temp = {}
|
|
225
|
+
temp.label = item.label
|
|
226
|
+
temp.value = item.value.f_meter_brand
|
|
227
|
+
arr.push(temp)
|
|
228
|
+
})
|
|
229
|
+
console.log(arr)
|
|
230
|
+
this.meterbrand = [{label: '全部', value: ''}, ...arr]
|
|
231
|
+
},
|
|
232
|
+
async onbulrbunmber ($event) {
|
|
233
|
+
if ($event.target.value === '') {
|
|
234
|
+
return
|
|
235
|
+
}
|
|
236
|
+
let expiration = await this.$resetpost('rs/sql/singleTable_OrderBy', {data:
|
|
237
|
+
{orderitem: 'id',
|
|
238
|
+
items: 'f_meternumber',
|
|
239
|
+
tablename: 't_meterinfo',
|
|
240
|
+
condition: 'f_meternumber = \'' + $event.target.value + '\''}}, {resolveMsg: '', rejectMsg: ''})
|
|
241
|
+
|
|
242
|
+
console.log(expiration)
|
|
243
|
+
if (expiration.data.length !== 0) {
|
|
244
|
+
this.$showMessage('表号已经存在')
|
|
245
|
+
}
|
|
246
|
+
},
|
|
247
|
+
close () {
|
|
248
|
+
this.$parent.meterinfos = []
|
|
249
|
+
this.$dispatch('close')
|
|
250
|
+
},
|
|
251
|
+
confirmEdit () {
|
|
252
|
+
this.newmeterinfo.f_diameter = ''
|
|
253
|
+
this.newmeterinfo.f_orgid = this.$login.f.orgid
|
|
254
|
+
// this.newmeterinfo.f_metertype='威星民用表'
|
|
255
|
+
this.newmeterinfo.f_orgname = this.$login.f.orgs
|
|
256
|
+
this.newmeterinfo.f_depid = this.$login.f.depids
|
|
257
|
+
this.newmeterinfo.f_depname = this.$login.f.deps
|
|
258
|
+
this.newmeterinfo.f_operator = this.$login.f.name
|
|
259
|
+
this.newmeterinfo.f_operatorid = this.$login.f.id
|
|
260
|
+
if (JSON.stringify(this.oldmeter) != '{}') {
|
|
261
|
+
if (this.newmeterinfo.f_meternumber && this.newmeterinfo.f_imei && this.newmeterinfo.f_iot_type && this.newmeterinfo.f_meternumber !== '' && this.newmeterinfo.f_imei !== '' && this.newmeterinfo.f_iot_type !== '') {
|
|
262
|
+
this.$resetpost('rs/entity/t_meterinfo', this.newmeterinfo, {resolveMsg: '修改成功。', rejectMsg: '修改失败!!!请核对表号/IMSI码是否重复!'})
|
|
263
|
+
} else {
|
|
264
|
+
this.$showMessage('表号/IMEI码/表通道类型 不能为空!')
|
|
265
|
+
}
|
|
266
|
+
} else {
|
|
267
|
+
// 是新增
|
|
268
|
+
this.newmeterinfo.f_state = '待安装'
|
|
269
|
+
this.newmeterinfo.f_filialeid = this.f_filialeid ? this.f_filialeid : this.$login.f.orgid
|
|
270
|
+
this.$resetpost('rs/entity/t_meterinfo', this.newmeterinfo, {resolveMsg: '添加成功。', rejectMsg: '添加失败!!!请核对表号/IMSI码是否重复'})
|
|
271
|
+
}
|
|
272
|
+
this.$dispatch('close')
|
|
273
|
+
}
|
|
274
|
+
},
|
|
275
|
+
computed: {
|
|
276
|
+
meterbrands () {
|
|
277
|
+
return this.$GetSaleParam.getGasbrand()
|
|
278
|
+
},
|
|
279
|
+
iottype () {
|
|
280
|
+
return this.$appdata.getParam('表通道类型')
|
|
281
|
+
},
|
|
282
|
+
metertype () {
|
|
283
|
+
return this.$appdata.getParam('气表类型2')
|
|
284
|
+
},
|
|
285
|
+
isReceive () {
|
|
286
|
+
return [{label: '否', value: '否'}, {label: '是', value: '是'}]
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
</script>
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="auto select-overspread">
|
|
3
|
+
<ul class="nav nav-tabs">
|
|
4
|
+
<li role="presentation" class="active" style="width: 100%">
|
|
5
|
+
<a href="#" style="display: inline-block;">表具信息</a>
|
|
6
|
+
<button class="button_search button_spacing" style="float: right;" type="button" @click="reSearch">返回</button>
|
|
7
|
+
</li>
|
|
8
|
+
</ul>
|
|
9
|
+
<div class="row">
|
|
10
|
+
<div class="col-sm-6 form-group">
|
|
11
|
+
<label class="font_normal_body">表  号</label>
|
|
12
|
+
<input type="text" class="input_search" style="width: 60%" v-model="row.f_meternumber" placeholder="表号"/>
|
|
13
|
+
</div>
|
|
14
|
+
<div class="col-sm-6 form-group">
|
|
15
|
+
<label class="font_normal_body">用气性质</label>
|
|
16
|
+
<input type="text" class="input_search" style="width: 60%" v-model="row.f_gasproperties" placeholder="表号"/>
|
|
17
|
+
</div>
|
|
18
|
+
<div class="col-sm-6 form-group">
|
|
19
|
+
<label class="font_normal_body">气表状态</label>
|
|
20
|
+
<input type="text" class="input_search" style="width: 60%" v-model="row.f_table_state" placeholder="表具状态"/>
|
|
21
|
+
</div>
|
|
22
|
+
<div class="col-sm-6 form-group">
|
|
23
|
+
<label class="font_normal_body">阀门状态</label>
|
|
24
|
+
<input type="text" class="input_search" style="width: 60%" v-model="row.f_valvestate" placeholder="表具状态"/>
|
|
25
|
+
</div>
|
|
26
|
+
<div class="col-sm-6 form-group">
|
|
27
|
+
<label class="font_normal_body">气表品牌</label>
|
|
28
|
+
<input type="text" class="input_search" style="width: 60%" v-model="row.f_meter_brand" placeholder="表具状态"/>
|
|
29
|
+
</div>
|
|
30
|
+
<div class="col-sm-6 form-group">
|
|
31
|
+
<label class="font_normal_body">气表型号</label>
|
|
32
|
+
<input type="text" class="input_search" style="width: 60%" v-model="row.f_meter_style" placeholder="表具状态"/>
|
|
33
|
+
</div>
|
|
34
|
+
</div>
|
|
35
|
+
<ul class="nav nav-tabs">
|
|
36
|
+
<li role="presentation" class="active"><a href="#">表具操作</a></li>
|
|
37
|
+
</ul>
|
|
38
|
+
<button class="button_search button_spacing" type="button" @click="openUser">开户</button>
|
|
39
|
+
<button v-if="row.f_meter_brand.includes('西美')&&row.f_meter_type.includes('物联网表')"
|
|
40
|
+
class="button_search" type="button" @click="clearBarrier">清除障碍</button>
|
|
41
|
+
<button class="button_search button_spacing" type="button" @click="valvecontrol">开关阀</button>
|
|
42
|
+
<button class="button_search button_spacing" type="button" @click="zdfk">开关自动阀控</button>
|
|
43
|
+
<!--阀控管理弹框-->
|
|
44
|
+
<modal :show.sync="valve">
|
|
45
|
+
<header slot="modal-header" class="modal-header">
|
|
46
|
+
<button type="button" class="close" @click="close()"><span>×</span></button>
|
|
47
|
+
<h4 class="modal-title" align="center">阀控管理</h4>
|
|
48
|
+
</header>
|
|
49
|
+
<article slot="modal-body" class="modal-body">
|
|
50
|
+
<div class="form-group " style="padding-left: 8px">
|
|
51
|
+
<label class="font_normal_body">操作原因</label>
|
|
52
|
+
<textarea class="form-control" style="width:80%" v-model="operateReason" rows="3"
|
|
53
|
+
placeholder="请填写操作原因"></textarea>
|
|
54
|
+
</div>
|
|
55
|
+
</article>
|
|
56
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
57
|
+
<button type="button" class="btn btn-info btn-ln fr" style="margin-left:20px" @click='valveoperate("权限关阀")'>权限关阀</button>
|
|
58
|
+
|
|
59
|
+
<button type="button" class="button_search btn-ln fr" @click='valveoperate("开阀")'>开阀</button>
|
|
60
|
+
|
|
61
|
+
<button type="button" class="btn btn-info btn-ln fr" @click='valveoperate("关阀")'>关阀</button>
|
|
62
|
+
</footer>
|
|
63
|
+
</modal>
|
|
64
|
+
</div>
|
|
65
|
+
</template>
|
|
66
|
+
|
|
67
|
+
<script>
|
|
68
|
+
import Vue from 'vue'
|
|
69
|
+
|
|
70
|
+
export default {
|
|
71
|
+
title: '操作详情',
|
|
72
|
+
name: 'WebMeterBatchOperate',
|
|
73
|
+
props: ['row'],
|
|
74
|
+
data () {
|
|
75
|
+
return {
|
|
76
|
+
famenShow: '',
|
|
77
|
+
valve: '',
|
|
78
|
+
operateReason: '',
|
|
79
|
+
famenShow1: ''
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
ready () {
|
|
83
|
+
console.log('进入操作详情')
|
|
84
|
+
},
|
|
85
|
+
methods: {
|
|
86
|
+
clearBarrier(){
|
|
87
|
+
// 地址
|
|
88
|
+
// 127.0.0.1:8445
|
|
89
|
+
// 参数
|
|
90
|
+
let datas = {
|
|
91
|
+
moduleName:"XiMeiSystem", // 固定值
|
|
92
|
+
content:{
|
|
93
|
+
tradeCode:"3015",// 固定值
|
|
94
|
+
appid: "yysf", // 固定值
|
|
95
|
+
partner: "cqsemay_bcts", // 固定值
|
|
96
|
+
version:"v1", // 固定值
|
|
97
|
+
tasked:this.getuuid(), // 任务id
|
|
98
|
+
notifyUrl:"http://192.168.2.10:8445/webmeter/rs/logic/XiMeiSystemCallBack", // 固定值
|
|
99
|
+
meterNo: this.row.f_meternumber,// 表号
|
|
100
|
+
signType:" MD5" //固定值
|
|
101
|
+
},
|
|
102
|
+
title: "清除异常", // 固定值
|
|
103
|
+
type: "清除异常", // 固定值
|
|
104
|
+
inputtor:this.row.f_operator, // 操作人
|
|
105
|
+
userId:this.row.f_userfiles_id, // 表档案ID
|
|
106
|
+
dataId: null // 操作记录ID
|
|
107
|
+
}
|
|
108
|
+
this.$resetpost('/webmeter/rs/logic/syncSaveSetParamsTemplate', {data: datas},{resolveMsg: `清理成功`, rejectMsg: `清理失败`}).then(res => {
|
|
109
|
+
})
|
|
110
|
+
},
|
|
111
|
+
getuuid(){
|
|
112
|
+
let uuidA = '';
|
|
113
|
+
var s = [];
|
|
114
|
+
var hexDigits = '0123456789abcdef';
|
|
115
|
+
for (var i = 0; i < 36; i++) {
|
|
116
|
+
s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
|
|
117
|
+
}
|
|
118
|
+
s[14] = '4';
|
|
119
|
+
s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1);
|
|
120
|
+
s[8] = s[13] = s[18] = s[23] = '-';
|
|
121
|
+
uuidA = s.join('');
|
|
122
|
+
return uuidA;
|
|
123
|
+
},
|
|
124
|
+
reSearch () {
|
|
125
|
+
this.$dispatch('research')
|
|
126
|
+
},
|
|
127
|
+
// 阀控管理
|
|
128
|
+
valvecontrol () {
|
|
129
|
+
if (this.$login.r.includes('开关阀')) {
|
|
130
|
+
this.valve = true
|
|
131
|
+
} else {
|
|
132
|
+
this.$showAlert('您没有开关阀权限,请联系管理员!!', 'warning', 3000)
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
close () {
|
|
136
|
+
this.valve = false
|
|
137
|
+
this.operateReason = ''
|
|
138
|
+
},
|
|
139
|
+
async zdfk () {
|
|
140
|
+
let data = {
|
|
141
|
+
f_userfiles_id: this.row.f_userfiles_id
|
|
142
|
+
}
|
|
143
|
+
if (this.row.f_network_valve === '关闭') {
|
|
144
|
+
await this.$resetpost('rs/logic/openzdfk', data, {resolveMsg: '开启自动阀控成功。', rejectMsg: '开启自动阀控失败!!!'})
|
|
145
|
+
} else {
|
|
146
|
+
await this.$resetpost('rs/logic/closezdfk', data, {resolveMsg: '关闭自动阀控成功。', rejectMsg: '关闭自动阀控失败!!!'})
|
|
147
|
+
}
|
|
148
|
+
await this.$dispatch('research')
|
|
149
|
+
},
|
|
150
|
+
// 开关阀操作
|
|
151
|
+
async valveoperate (oper) {
|
|
152
|
+
let msg = ''
|
|
153
|
+
let nnum
|
|
154
|
+
if (oper === '权限关阀'){
|
|
155
|
+
msg = '权限关阀'
|
|
156
|
+
nnum = 2
|
|
157
|
+
} else if (oper === '关阀') {
|
|
158
|
+
msg = '手动关阀'
|
|
159
|
+
nnum = 0
|
|
160
|
+
}else {
|
|
161
|
+
msg = '手动开阀'
|
|
162
|
+
nnum = 1
|
|
163
|
+
}
|
|
164
|
+
let datas = {
|
|
165
|
+
instructType: '阀门控制',
|
|
166
|
+
instructTitle: `手动${msg}`,
|
|
167
|
+
condition: `t_userfiles.f_userfiles_id='${this.row.f_userfiles_id}'`,
|
|
168
|
+
meterBrandName: this.row.f_alias,
|
|
169
|
+
f_instruct_state: '待发送',
|
|
170
|
+
inputtor: Vue.$login.f.name,
|
|
171
|
+
reasonInfo: this.operateReason,
|
|
172
|
+
meternumberf: this.row.f_meternumber,
|
|
173
|
+
contentData: {isOpen: nnum}
|
|
174
|
+
}
|
|
175
|
+
await this.$resetpost('rs/logic/iot_saveInstruct', {data: datas},
|
|
176
|
+
{warnMsg: `确定要进行${msg}操作吗?`, resolveMsg: `${msg}成功`, rejectMsg: `${msg}失败`}).then(res => {
|
|
177
|
+
this.valve = false
|
|
178
|
+
this.operateReason = ''
|
|
179
|
+
})
|
|
180
|
+
await this.$dispatch('research')
|
|
181
|
+
},
|
|
182
|
+
async openUser () {
|
|
183
|
+
let data = {
|
|
184
|
+
f_userfiles_id: this.row.f_userfiles_id
|
|
185
|
+
}
|
|
186
|
+
await this.$resetpost('rs/logic/startup', data)
|
|
187
|
+
await this.$dispatch('research')
|
|
188
|
+
}
|
|
189
|
+
},
|
|
190
|
+
computed: {
|
|
191
|
+
// 界面细节权限
|
|
192
|
+
jurisdiction () {
|
|
193
|
+
return this.$login.r ? this.$login.r : []
|
|
194
|
+
}
|
|
195
|
+
},
|
|
196
|
+
watch: {}
|
|
197
|
+
}
|
|
198
|
+
</script>
|
|
199
|
+
|
|
200
|
+
<style scoped>
|
|
201
|
+
|
|
202
|
+
</style>
|
|
203
|
+
|
|
@@ -25,7 +25,10 @@ let specialComp = {
|
|
|
25
25
|
|
|
26
26
|
'user-info-detail-manage-new': (resolve) => { require(['./components/common/userinfo_detail/UserInfoDetailManageNew'], resolve) },
|
|
27
27
|
// 物联网 批量开关阀
|
|
28
|
-
'sale-web-meter-batch-operation-valve':(resolve) => { require(['./components/common/userinfo_detail/WebMeterBatchOperationValve'], resolve) }
|
|
28
|
+
'sale-web-meter-batch-operation-valve':(resolve) => { require(['./components/common/userinfo_detail/WebMeterBatchOperationValve'], resolve) },
|
|
29
|
+
'sale-web-meter-operate':(resolve) => { require(['./components/common/userinfo_detail/WebMeterBatchOperate'], resolve) },
|
|
30
|
+
|
|
31
|
+
'edit-meter-info':(resolve) => { require(['./components/EditWebMeterInfo'], resolve) }
|
|
29
32
|
|
|
30
33
|
}
|
|
31
34
|
exports.specialComp = specialComp
|
|
@@ -67,7 +67,7 @@ export default {
|
|
|
67
67
|
// 对此数据进行验证
|
|
68
68
|
if (await this.validateRow(obj)) {
|
|
69
69
|
// 获取写卡失败记录
|
|
70
|
-
let getUnWriteSell = await this.$SqlService.singleTable('t_sellinggas', `f_state = '有效' and f_write_card in ('写卡失败') and f_userfiles_id = '${obj.f_userfiles_id}'`)
|
|
70
|
+
let getUnWriteSell = await this.$SqlService.singleTable('t_sellinggas', `f_state = '有效' and f_write_card in ('写卡失败','未写卡') and f_userfiles_id = '${obj.f_userfiles_id}'`)
|
|
71
71
|
console.log('获取写卡失败记录', getUnWriteSell)
|
|
72
72
|
if (getUnWriteSell.data.length > 1) {
|
|
73
73
|
this.$showAlert('此卡已缴费多次未写卡。请核实后处理!!', 'warning', 5000)
|
|
@@ -57,11 +57,12 @@
|
|
|
57
57
|
if (self.data.unWriteSell) {
|
|
58
58
|
if (self.data.unWriteSell.length > 0) {
|
|
59
59
|
let lastselldate = self.data.unWriteSell[0].f_operate_date
|
|
60
|
+
let f_write_card = self.data.unWriteSell[0].f_write_card
|
|
60
61
|
let date = new Date(lastselldate)
|
|
61
62
|
let nowdate = new Date()
|
|
62
63
|
let dateDiff = nowdate.getTime() - date.getTime();
|
|
63
64
|
let times = 3600*1000*3
|
|
64
|
-
if (dateDiff<=times){
|
|
65
|
+
if (dateDiff<=times || f_write_card === '未写卡'){
|
|
65
66
|
console.log("加载线下写卡组件")
|
|
66
67
|
self.temp.push({name: '线下写卡',
|
|
67
68
|
value: {
|
|
@@ -56,9 +56,9 @@
|
|
|
56
56
|
v-el:cc></v-select>
|
|
57
57
|
</div>
|
|
58
58
|
<div class="form-group col-sm-2">
|
|
59
|
-
<label class="font_normal_body"
|
|
60
|
-
<input type="text" style="width:60%" class="input_search" v-model="model.
|
|
61
|
-
condition="
|
|
59
|
+
<label class="font_normal_body">表 号 </label>
|
|
60
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_meternumber" placeholder='表号'
|
|
61
|
+
condition="f_meternumber = '{}'">
|
|
62
62
|
</div>
|
|
63
63
|
<div class="form-group col-sm-2">
|
|
64
64
|
<label class="font_normal_body">用户姓名</label>
|
|
@@ -113,7 +113,7 @@
|
|
|
113
113
|
<tr>
|
|
114
114
|
<th>序号</th>
|
|
115
115
|
<th>用户编号</th>
|
|
116
|
-
<th
|
|
116
|
+
<th>表号</th>
|
|
117
117
|
<th>用户姓名</th>
|
|
118
118
|
<th>用户地址</th>
|
|
119
119
|
<th>上期底数</th>
|
|
@@ -133,7 +133,7 @@
|
|
|
133
133
|
<template partial='body'>
|
|
134
134
|
<td style="text-align:center">{{$index+1}}</td>
|
|
135
135
|
<td style="text-align:center">{{row.f_userinfo_code}}</td>
|
|
136
|
-
<td style="text-align:center">{{row.
|
|
136
|
+
<td style="text-align:center">{{row.f_meternumber}}</td>
|
|
137
137
|
<td style="text-align:center">{{row.f_user_name}}</td>
|
|
138
138
|
<td style="text-align:center">{{row.f_address}}</td>
|
|
139
139
|
<td style="text-align:center">{{row.f_last_tablebase}}</td>
|