sale-client 3.5.126 → 3.5.127
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 +2 -2
- package/package.json +1 -1
- package/src/components/FilesManage/UserGeneralInfoTest.vue +1 -1
- package/src/components/revenue/Common/PaymentCode.vue +151 -151
- package/src/components/revenue/machineHandManage/machineHandAudit.vue +21 -9
- package/src/filiale/dongguan/components/common/userinfo_detail/UserBaseInfoNew.vue +2 -2
- package/src/filiale/gehua/BankPayment.vue +281 -281
- package/src/filiale/gehua/sale.js +33 -33
- package/src/filiale/guangxi/sale.js +3 -0
- package/src/filiale/qianneng/eticket/EticketPrint.vue +8 -6
- package/src/filiale/rongchuang/handListMaintain.vue +14 -12
- package/src/main.js +22 -22
- package/yarn-error.log +9224 -0
package/build/dev-server.js
CHANGED
|
@@ -13,7 +13,7 @@ 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://
|
|
16
|
+
var fuwu = 'http://39.108.82.124:8400/'
|
|
17
17
|
// var fuwu = 'http://121.36.106.17:8400/'
|
|
18
18
|
// 铜川正式
|
|
19
19
|
// var fuwu = 'http://61.134.55.234:9999/'
|
|
@@ -127,7 +127,7 @@ var proxyTable = {
|
|
|
127
127
|
target: fuwu
|
|
128
128
|
},
|
|
129
129
|
'/webmeter': {
|
|
130
|
-
target: 'http://
|
|
130
|
+
target: 'http://39.108.82.124:8400/'
|
|
131
131
|
},
|
|
132
132
|
'/rs': {
|
|
133
133
|
// target: 'http://192.168.30.63:8081/'
|
package/package.json
CHANGED
|
@@ -93,7 +93,7 @@
|
|
|
93
93
|
</div>
|
|
94
94
|
<div class="row">
|
|
95
95
|
<div class="col-sm-2"></div>
|
|
96
|
-
<input v-if="fileSaveData.reason==='其他'" class="input_search" style="width:60%" placeholder='修改原因' v-model="fileSaveData.modifyReason"/>
|
|
96
|
+
<input v-if="fileSaveData.reason ==='其他'" class="input_search" style="width:60%" placeholder='修改原因' v-model="fileSaveData.modifyReason"/>
|
|
97
97
|
</div>
|
|
98
98
|
</article>
|
|
99
99
|
<footer slot="modal-footer" class="modal-footer">
|
|
@@ -1,151 +1,151 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div id='PaymentCode'>
|
|
3
|
-
<modal :show.sync="paymentCodeShow" backdrop="false">
|
|
4
|
-
<header slot="modal-header" class="modal-header">
|
|
5
|
-
<h4 class="modal-title">请扫描用户付款码</h4>
|
|
6
|
-
</header>
|
|
7
|
-
<article slot="modal-body" class="modal-body">
|
|
8
|
-
<div class="form-horizontal">
|
|
9
|
-
<div class="form-group">
|
|
10
|
-
<input type="text" class="form-control" @keyup.enter="ConfirmCode" @blur="paycodefocus"
|
|
11
|
-
v-model="paymentCode" placeholder="请扫描用户付款码" v-el:paycode>
|
|
12
|
-
</div>
|
|
13
|
-
</div>
|
|
14
|
-
</article>
|
|
15
|
-
<footer slot="modal-footer" class="modal-footer">
|
|
16
|
-
<button type="button" class="btn btn-default" @click='closeCode'>取消</button>
|
|
17
|
-
</footer>
|
|
18
|
-
</modal>
|
|
19
|
-
</div>
|
|
20
|
-
</template>
|
|
21
|
-
|
|
22
|
-
<script>
|
|
23
|
-
export default {
|
|
24
|
-
name: 'PaymentCode',
|
|
25
|
-
props: {
|
|
26
|
-
// 付款方式
|
|
27
|
-
payment: {},
|
|
28
|
-
// 用户信息
|
|
29
|
-
row: {},
|
|
30
|
-
// 付款金额
|
|
31
|
-
money: {}
|
|
32
|
-
},
|
|
33
|
-
data () {
|
|
34
|
-
return {
|
|
35
|
-
// 付款码弹框显示
|
|
36
|
-
paymentCodeShow: false,
|
|
37
|
-
// 付款码值
|
|
38
|
-
paymentCode: null,
|
|
39
|
-
// 付款码流程控制
|
|
40
|
-
paycoderesolve: null,
|
|
41
|
-
// 付款码返回数据
|
|
42
|
-
paymentCodeReturnData: {},
|
|
43
|
-
// 定时器
|
|
44
|
-
timer: null,
|
|
45
|
-
// 收费成功id
|
|
46
|
-
sellinggasId: null
|
|
47
|
-
}
|
|
48
|
-
},
|
|
49
|
-
created () {
|
|
50
|
-
},
|
|
51
|
-
ready () {
|
|
52
|
-
},
|
|
53
|
-
methods: {
|
|
54
|
-
// 返回结果为true意味着可以通行
|
|
55
|
-
flowPath () {
|
|
56
|
-
return new Promise((resolve) => {
|
|
57
|
-
this.paycoderesolve = resolve
|
|
58
|
-
// 如果是付款码支付则显示界面扫用户付款码收钱
|
|
59
|
-
if (this.payment.toString().indexOf('&') !== -1) {
|
|
60
|
-
this.paymentCodeShow = true
|
|
61
|
-
this.paycodefocus()
|
|
62
|
-
} else {
|
|
63
|
-
this.paycoderesolve({msg: '不是付款码支付', result: true})
|
|
64
|
-
}
|
|
65
|
-
})
|
|
66
|
-
},
|
|
67
|
-
// 付款码框获得焦点
|
|
68
|
-
paycodefocus () {
|
|
69
|
-
this.$nextTick(() => {
|
|
70
|
-
this.$els.paycode.focus()
|
|
71
|
-
})
|
|
72
|
-
},
|
|
73
|
-
// 付款码支付流程
|
|
74
|
-
async ConfirmCode () {
|
|
75
|
-
// 扫完一次码之后失去焦点,避免重复扫码
|
|
76
|
-
this.paymentCodeShow = false
|
|
77
|
-
let data = {
|
|
78
|
-
f_userinfo_id: this.row ? this.row.f_userinfo_id : null,
|
|
79
|
-
f_user_id: this.row ? this.row.f_user_id : null,
|
|
80
|
-
f_userfiles_id: this.row ? this.row.f_userfiles_id : null,
|
|
81
|
-
money: this.money,
|
|
82
|
-
f_payment: this.payment,
|
|
83
|
-
auth_code: this.paymentCode,
|
|
84
|
-
filiale: this.$login.f.orgid,
|
|
85
|
-
body: this.$login.f.orgs
|
|
86
|
-
}
|
|
87
|
-
let res = await this.$resetpost('rs/logic/WeiXinPay', data, {resolveMsg: null, rejectMsg: '服务器内部出错,'})
|
|
88
|
-
this.paymentCodeReturnData = res = res.data
|
|
89
|
-
if (res.result_msg == '支付确认成功') {
|
|
90
|
-
this.paycoderesolve({msg: '支付完成', result: true})
|
|
91
|
-
this.$closeAlert()
|
|
92
|
-
} else if (res.result_msg == '支付结果未知') {
|
|
93
|
-
// 支付结果未知, 根据商户订单号继续查询
|
|
94
|
-
this.$showAlert(`正在查询用户付款状态,请勿进行任何操作,耐心等待,如长时间未响应可手动取消`, 'warning')
|
|
95
|
-
let self = this
|
|
96
|
-
// 启动定时器之前先关闭定时器,防止之前的定时器未关闭
|
|
97
|
-
if (this.timer) {
|
|
98
|
-
this.closeTimer()
|
|
99
|
-
}
|
|
100
|
-
let times = 1
|
|
101
|
-
this.timer = setInterval(async () => {
|
|
102
|
-
times++
|
|
103
|
-
let res1 = await self.$resetpost('rs/logic/WeiXinPayStatus', res, {resolveMsg: null, rejectMsg: '付款码支付查询出错,'})
|
|
104
|
-
res1 = res1.data
|
|
105
|
-
// 支付成功关闭定时器
|
|
106
|
-
if (res1.result_msg == '支付确认成功') {
|
|
107
|
-
self.paycoderesolve({msg: '支付完成', result: true})
|
|
108
|
-
self.closeTimer()
|
|
109
|
-
return
|
|
110
|
-
}
|
|
111
|
-
if (times > 24) {
|
|
112
|
-
self.$showAlert(`多次查询未成功,请重新扫描用户付款码`, 'danger')
|
|
113
|
-
self.closeTimer()
|
|
114
|
-
}
|
|
115
|
-
}, 5000)
|
|
116
|
-
} else {
|
|
117
|
-
this.$showAlert(`${res.result_msg}, 请重新扫描用户付款码`, 'danger')
|
|
118
|
-
}
|
|
119
|
-
// 清空付款码
|
|
120
|
-
this.paymentCode = ''
|
|
121
|
-
},
|
|
122
|
-
// 付款成功更新收费记录订单号
|
|
123
|
-
async updateSellinggas () {
|
|
124
|
-
if (this.payment.toString().indexOf('&') !== -1) {
|
|
125
|
-
let sqldata = `update t_sellinggas set f_serial_id = '${this.paymentCodeReturnData.f_out_trade_no}' where id = '${this.sellinggasId}'`
|
|
126
|
-
await this.$resetpost('rs/logic/runSQL', {data: {sql: sqldata}}, {resolveMsg: null, rejectMsg: '更新收费记录订单号失败'})
|
|
127
|
-
}
|
|
128
|
-
},
|
|
129
|
-
// 关闭定时器
|
|
130
|
-
closeTimer () {
|
|
131
|
-
console.log('关闭定时器')
|
|
132
|
-
clearInterval(this.timer)
|
|
133
|
-
this.timer = null
|
|
134
|
-
},
|
|
135
|
-
closeCode () {
|
|
136
|
-
this.$showMessage('取消后无法继续收款,确定取消吗?', ['confirm', 'cancel']).then((res) => {
|
|
137
|
-
if (res == 'confirm') {
|
|
138
|
-
this.paymentCodeShow = false
|
|
139
|
-
this.$closeAlert()
|
|
140
|
-
this.paycoderesolve({msg: '支付取消', result: false})
|
|
141
|
-
this.closeTimer()
|
|
142
|
-
}
|
|
143
|
-
})
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
</script>
|
|
148
|
-
|
|
149
|
-
<style lang="less">
|
|
150
|
-
|
|
151
|
-
</style>
|
|
1
|
+
<template>
|
|
2
|
+
<div id='PaymentCode'>
|
|
3
|
+
<modal :show.sync="paymentCodeShow" backdrop="false">
|
|
4
|
+
<header slot="modal-header" class="modal-header">
|
|
5
|
+
<h4 class="modal-title">请扫描用户付款码</h4>
|
|
6
|
+
</header>
|
|
7
|
+
<article slot="modal-body" class="modal-body">
|
|
8
|
+
<div class="form-horizontal">
|
|
9
|
+
<div class="form-group">
|
|
10
|
+
<input type="text" class="form-control" @keyup.enter="ConfirmCode" @blur="paycodefocus"
|
|
11
|
+
v-model="paymentCode" placeholder="请扫描用户付款码" v-el:paycode>
|
|
12
|
+
</div>
|
|
13
|
+
</div>
|
|
14
|
+
</article>
|
|
15
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
16
|
+
<button type="button" class="btn btn-default" @click='closeCode'>取消</button>
|
|
17
|
+
</footer>
|
|
18
|
+
</modal>
|
|
19
|
+
</div>
|
|
20
|
+
</template>
|
|
21
|
+
|
|
22
|
+
<script>
|
|
23
|
+
export default {
|
|
24
|
+
name: 'PaymentCode',
|
|
25
|
+
props: {
|
|
26
|
+
// 付款方式
|
|
27
|
+
payment: {},
|
|
28
|
+
// 用户信息
|
|
29
|
+
row: {},
|
|
30
|
+
// 付款金额
|
|
31
|
+
money: {}
|
|
32
|
+
},
|
|
33
|
+
data () {
|
|
34
|
+
return {
|
|
35
|
+
// 付款码弹框显示
|
|
36
|
+
paymentCodeShow: false,
|
|
37
|
+
// 付款码值
|
|
38
|
+
paymentCode: null,
|
|
39
|
+
// 付款码流程控制
|
|
40
|
+
paycoderesolve: null,
|
|
41
|
+
// 付款码返回数据
|
|
42
|
+
paymentCodeReturnData: {},
|
|
43
|
+
// 定时器
|
|
44
|
+
timer: null,
|
|
45
|
+
// 收费成功id
|
|
46
|
+
sellinggasId: null
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
created () {
|
|
50
|
+
},
|
|
51
|
+
ready () {
|
|
52
|
+
},
|
|
53
|
+
methods: {
|
|
54
|
+
// 返回结果为true意味着可以通行
|
|
55
|
+
flowPath () {
|
|
56
|
+
return new Promise((resolve) => {
|
|
57
|
+
this.paycoderesolve = resolve
|
|
58
|
+
// 如果是付款码支付则显示界面扫用户付款码收钱
|
|
59
|
+
if (this.payment.toString().indexOf('&') !== -1) {
|
|
60
|
+
this.paymentCodeShow = true
|
|
61
|
+
this.paycodefocus()
|
|
62
|
+
} else {
|
|
63
|
+
this.paycoderesolve({msg: '不是付款码支付', result: true})
|
|
64
|
+
}
|
|
65
|
+
})
|
|
66
|
+
},
|
|
67
|
+
// 付款码框获得焦点
|
|
68
|
+
paycodefocus () {
|
|
69
|
+
this.$nextTick(() => {
|
|
70
|
+
this.$els.paycode.focus()
|
|
71
|
+
})
|
|
72
|
+
},
|
|
73
|
+
// 付款码支付流程
|
|
74
|
+
async ConfirmCode () {
|
|
75
|
+
// 扫完一次码之后失去焦点,避免重复扫码
|
|
76
|
+
this.paymentCodeShow = false
|
|
77
|
+
let data = {
|
|
78
|
+
f_userinfo_id: this.row ? this.row.f_userinfo_id : null,
|
|
79
|
+
f_user_id: this.row ? this.row.f_user_id : null,
|
|
80
|
+
f_userfiles_id: this.row ? this.row.f_userfiles_id : null,
|
|
81
|
+
money: this.money,
|
|
82
|
+
f_payment: this.payment,
|
|
83
|
+
auth_code: this.paymentCode,
|
|
84
|
+
filiale: this.$login.f.orgid,
|
|
85
|
+
body: this.$login.f.orgs
|
|
86
|
+
}
|
|
87
|
+
let res = await this.$resetpost('rs/logic/WeiXinPay', data, {resolveMsg: null, rejectMsg: '服务器内部出错,'})
|
|
88
|
+
this.paymentCodeReturnData = res = res.data
|
|
89
|
+
if (res.result_msg == '支付确认成功') {
|
|
90
|
+
this.paycoderesolve({msg: '支付完成', result: true})
|
|
91
|
+
this.$closeAlert()
|
|
92
|
+
} else if (res.result_msg == '支付结果未知') {
|
|
93
|
+
// 支付结果未知, 根据商户订单号继续查询
|
|
94
|
+
this.$showAlert(`正在查询用户付款状态,请勿进行任何操作,耐心等待,如长时间未响应可手动取消`, 'warning')
|
|
95
|
+
let self = this
|
|
96
|
+
// 启动定时器之前先关闭定时器,防止之前的定时器未关闭
|
|
97
|
+
if (this.timer) {
|
|
98
|
+
this.closeTimer()
|
|
99
|
+
}
|
|
100
|
+
let times = 1
|
|
101
|
+
this.timer = setInterval(async () => {
|
|
102
|
+
times++
|
|
103
|
+
let res1 = await self.$resetpost('rs/logic/WeiXinPayStatus', res, {resolveMsg: null, rejectMsg: '付款码支付查询出错,'})
|
|
104
|
+
res1 = res1.data
|
|
105
|
+
// 支付成功关闭定时器
|
|
106
|
+
if (res1.result_msg == '支付确认成功') {
|
|
107
|
+
self.paycoderesolve({msg: '支付完成', result: true})
|
|
108
|
+
self.closeTimer()
|
|
109
|
+
return
|
|
110
|
+
}
|
|
111
|
+
if (times > 24) {
|
|
112
|
+
self.$showAlert(`多次查询未成功,请重新扫描用户付款码`, 'danger')
|
|
113
|
+
self.closeTimer()
|
|
114
|
+
}
|
|
115
|
+
}, 5000)
|
|
116
|
+
} else {
|
|
117
|
+
this.$showAlert(`${res.result_msg}, 请重新扫描用户付款码`, 'danger')
|
|
118
|
+
}
|
|
119
|
+
// 清空付款码
|
|
120
|
+
this.paymentCode = ''
|
|
121
|
+
},
|
|
122
|
+
// 付款成功更新收费记录订单号
|
|
123
|
+
async updateSellinggas () {
|
|
124
|
+
if (this.payment.toString().indexOf('&') !== -1) {
|
|
125
|
+
let sqldata = `update t_sellinggas set f_serial_id = '${this.paymentCodeReturnData.f_out_trade_no}' where id = '${this.sellinggasId}'`
|
|
126
|
+
await this.$resetpost('rs/logic/runSQL', {data: {sql: sqldata}}, {resolveMsg: null, rejectMsg: '更新收费记录订单号失败'})
|
|
127
|
+
}
|
|
128
|
+
},
|
|
129
|
+
// 关闭定时器
|
|
130
|
+
closeTimer () {
|
|
131
|
+
console.log('关闭定时器')
|
|
132
|
+
clearInterval(this.timer)
|
|
133
|
+
this.timer = null
|
|
134
|
+
},
|
|
135
|
+
closeCode () {
|
|
136
|
+
this.$showMessage('取消后无法继续收款,确定取消吗?', ['confirm', 'cancel']).then((res) => {
|
|
137
|
+
if (res == 'confirm') {
|
|
138
|
+
this.paymentCodeShow = false
|
|
139
|
+
this.$closeAlert()
|
|
140
|
+
this.paycoderesolve({msg: '支付取消', result: false})
|
|
141
|
+
this.closeTimer()
|
|
142
|
+
}
|
|
143
|
+
})
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
</script>
|
|
148
|
+
|
|
149
|
+
<style lang="less">
|
|
150
|
+
|
|
151
|
+
</style>
|
|
@@ -394,7 +394,7 @@
|
|
|
394
394
|
import * as Util from '../../../Util'
|
|
395
395
|
|
|
396
396
|
let readyGen = async function (self) {
|
|
397
|
-
self.$refs.paged.$refs.cri.model.startDate =
|
|
397
|
+
self.$refs.paged.$refs.cri.model.startDate = self.$login.toStartAndEndDateString()[0]
|
|
398
398
|
self.$refs.paged.$refs.cri.model.endDate = self.$login.toStandardDateString()
|
|
399
399
|
await self.$LoadParams.loadMeterBook(self.f_filialeid)
|
|
400
400
|
self.loadMeterBooks()
|
|
@@ -414,12 +414,13 @@
|
|
|
414
414
|
dep: [],
|
|
415
415
|
user: []
|
|
416
416
|
},
|
|
417
|
-
config:{
|
|
418
|
-
examine: false
|
|
417
|
+
config: {
|
|
418
|
+
examine: false
|
|
419
419
|
},
|
|
420
420
|
imgfilename: '',
|
|
421
421
|
// 小区
|
|
422
422
|
residentialArea: [],
|
|
423
|
+
inputtouPerson: [],
|
|
423
424
|
imgshow: false,
|
|
424
425
|
criteriaShow: false,
|
|
425
426
|
orgCondtionStr: '',
|
|
@@ -444,8 +445,8 @@
|
|
|
444
445
|
'f_adjustable_name': '调压箱名称',
|
|
445
446
|
'f_inputtor': '抄表员'
|
|
446
447
|
},
|
|
447
|
-
auditState:[{label: '全部', value: ''}, {label: '已审核', value: '已抄表'}, {label: '未审核', value: '待审核'}],
|
|
448
|
-
auditState1:[{label: '全部', value: ''}, {label: '审核失败', value: '审核失败'}],
|
|
448
|
+
auditState: [{label: '全部', value: ''}, {label: '已审核', value: '已抄表'}, {label: '未审核', value: '待审核'}],
|
|
449
|
+
auditState1: [{label: '全部', value: ''}, {label: '审核失败', value: '审核失败'}],
|
|
449
450
|
meters: [{label: '全部', value: ''}, {label: '机表', value: '机表'}, {label: '物联网表', value: '物联网表'}],
|
|
450
451
|
resultstate: this.$appdata.getParam('抄表结果状态'),
|
|
451
452
|
meterstates: this.$appdata.getParam('抄表状态') ? [{
|
|
@@ -475,7 +476,7 @@
|
|
|
475
476
|
methods: {
|
|
476
477
|
// 修正本期底数
|
|
477
478
|
amend (row) {
|
|
478
|
-
let tablebase = window.prompt('请输入你要修正的底数值,上期底数:'+ row.f_meter_base)
|
|
479
|
+
let tablebase = window.prompt('请输入你要修正的底数值,上期底数:' + row.f_meter_base)
|
|
479
480
|
if (!tablebase) return
|
|
480
481
|
if (tablebase < 0) {
|
|
481
482
|
this.$showAlert(`底数不能小于0,请注意!`, 'warning', 2000)
|
|
@@ -596,9 +597,9 @@
|
|
|
596
597
|
this.imgshow = false
|
|
597
598
|
},
|
|
598
599
|
imgShow (val) {
|
|
599
|
-
console.log(
|
|
600
|
+
console.log('-----------val2:', val)
|
|
600
601
|
this.imgfilename = `rs/image/file/` + val
|
|
601
|
-
console.log(
|
|
602
|
+
console.log('-----------imgfilename2:', this.imgfilename)
|
|
602
603
|
this.imgshow = true
|
|
603
604
|
},
|
|
604
605
|
async getaddress () {
|
|
@@ -632,6 +633,17 @@
|
|
|
632
633
|
} else {
|
|
633
634
|
args.condition = `${args.condition}` + this.orgCondtionStr
|
|
634
635
|
}
|
|
636
|
+
// 抄表员查询条件
|
|
637
|
+
this.inputtouPerson = this.$refs.paged.$refs.cri.model.f_inputtor
|
|
638
|
+
if (this.inputtouPerson.length !== 0) {
|
|
639
|
+
let str = JSON.stringify(this.inputtouPerson)
|
|
640
|
+
str = str.replace(/"/g, `'`)
|
|
641
|
+
str = str.replace(/\[/g, ``)
|
|
642
|
+
str = str.replace(/\]/g, ``)
|
|
643
|
+
console.log('=====抄表员model22222222222绑定====', str)
|
|
644
|
+
// 查询多个抄表员时条件
|
|
645
|
+
args.condition += ` and f_inputtor in ( ${str} )`
|
|
646
|
+
}
|
|
635
647
|
this.excelCondition = args.condition
|
|
636
648
|
this.$refs.paged.$refs.grid.selectInit()
|
|
637
649
|
this.model.search(args.condition, args.model)
|
|
@@ -696,7 +708,7 @@
|
|
|
696
708
|
},
|
|
697
709
|
loadMeterBooks () {
|
|
698
710
|
this.meterbooks = this.$GetSaleParam.getMeterBooks()
|
|
699
|
-
}
|
|
711
|
+
}
|
|
700
712
|
|
|
701
713
|
},
|
|
702
714
|
computed: {
|
|
@@ -238,9 +238,9 @@
|
|
|
238
238
|
</article>
|
|
239
239
|
<footer slot="modal-footer" class="modal-footer">
|
|
240
240
|
<button type="button" class="btn btn-info btn-ln fr" @click='valveoperate("权限关阀")'>权限关阀</button>
|
|
241
|
-
&
|
|
241
|
+
    
|
|
242
242
|
<button type="button" class="button_search btn-ln fr" @click='valveoperate("开阀")'>开阀</button>
|
|
243
|
-
&
|
|
243
|
+
    
|
|
244
244
|
<button type="button" class="btn btn-info btn-ln fr" @click='valveoperate("关阀")'>关阀</button>
|
|
245
245
|
</footer>
|
|
246
246
|
</modal>
|