sale-client 3.6.478 → 3.6.479
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/filiale/bayan/MeterMessage.vue +212 -0
- package/src/filiale/bayan/sale.js +2 -0
- package/src/main.js +1 -1
package/package.json
CHANGED
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<!--<div class="auto">-->
|
|
3
|
+
<validator name='v' @valid="onValid()" @invalid="onInvalid()">
|
|
4
|
+
<form novalidate class="form-horizontal">
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
<div class="row auto" >
|
|
8
|
+
|
|
9
|
+
<div class="col-sm-4 form-group" :class="[$v.metertype.required ? 'has-error' : '']">
|
|
10
|
+
<label for="f_meter_type" class="font_normal_body">新表类型</label>
|
|
11
|
+
<input type="text" class="input_search" style="width: 60%" v-show="false" v-model="$refs.metertype.selectedItems" v-validate:metertype='{required: true }'>
|
|
12
|
+
<v-select :value.sync="metermessage.f_meter_type"
|
|
13
|
+
v-model="metermessage.f_meter_type"
|
|
14
|
+
:options='meterType' placeholder='气表类型'
|
|
15
|
+
close-on-select v-ref:metertype style="width: 60%"></v-select>
|
|
16
|
+
</div>
|
|
17
|
+
|
|
18
|
+
<div class="col-sm-4 form-group" :class="[$v.brand.required ? 'has-error' : '']">
|
|
19
|
+
<label for="gasbrand" class="font_normal_body">新表品牌</label>
|
|
20
|
+
<input type="text" class="input_search" style="width:60%" v-show="false" v-model="$refs.brand.selectedItems" v-validate:brand='{required: true }'>
|
|
21
|
+
<v-select :value.sync="metermessage.gasbrand" :options='getMeterBrands(metermessage.f_meter_type)' @change='brandChange' placeholder='气表品牌' close-on-select
|
|
22
|
+
search v-model='metermessage.gasbrand' v-ref:brand></v-select>
|
|
23
|
+
</div>
|
|
24
|
+
<div class="col-sm-4 form-group" :class="[$v.model.required ? 'has-error' : '']">
|
|
25
|
+
<label for="gasmodel" class="font_normal_body">新表型号</label>
|
|
26
|
+
<input type="text" class="input_search" style="width:60%" v-show="false" v-model="$refs.model.selectedItems" v-validate:model='{required: true }'>
|
|
27
|
+
<v-select :value.sync="metermessage.gasmodel" :options='metermessage.gasbrand[0] ? metermessage.gasbrand[0].gasmodel : [] ' placeholder='气表型号' close-on-select
|
|
28
|
+
v-model='metermessage.gasmodel' :disabled= 'metermessage.gasbrand.length === 0 ' @change='modelChange' v-ref:model></v-select>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
</div>
|
|
32
|
+
<div class="row auto" >
|
|
33
|
+
<div class="col-sm-4 form-group" v-if="!(metermessage.f_meter_type && metermessage.f_meter_type[0].includes('卡表'))" :class="[$v.meternumber.required ? 'has-error' : '']">
|
|
34
|
+
<label for="f_meternumber" class="font_normal_body">新 表 号</label>
|
|
35
|
+
<input type="text" class="input_search" style="width:60%" class="input_search"
|
|
36
|
+
@blur="meternumberValidate()" v-model="metermessage.f_meternumber" v-validate:meternumber='{required: true }' placeholder='表号' >
|
|
37
|
+
</div>
|
|
38
|
+
<div class="col-sm-4 form-group" v-if="metermessage.f_meter_type && metermessage.f_meter_type[0].includes('卡表')">
|
|
39
|
+
<label for="f_meternumber" class="font_normal_body">新 表 号</label>
|
|
40
|
+
<input type="text" class="input_search" style="width:60%" class="input_search"
|
|
41
|
+
@blur="meternumberValidate()" v-model="metermessage.f_meternumber" placeholder='表号' >
|
|
42
|
+
</div>
|
|
43
|
+
<div class="col-sm-4 form-group">
|
|
44
|
+
<label for="f_metertitles" class="font_normal_body">新表封号</label>
|
|
45
|
+
<input type="text" class="input_search" style="width:60%" class="input_search" v-model="metermessage.f_metertitles" placeholder='表封号'>
|
|
46
|
+
</div>
|
|
47
|
+
<div class="col-sm-4 form-group" :class="[$v.f_meter_base.required ? 'has-error' : '']">
|
|
48
|
+
<label for="f_meter_base" class="font_normal_body">新表底数</label>
|
|
49
|
+
<input type="text" class="input_search" style="width:60%" class="input_search" v-validate:f_meter_base='{required: true }' @blur='meterbase()' v-model="metermessage.f_meter_base" placeholder='表底数' >
|
|
50
|
+
</div>
|
|
51
|
+
</div>
|
|
52
|
+
</form>
|
|
53
|
+
</validator>
|
|
54
|
+
<!--</div>-->
|
|
55
|
+
</template>
|
|
56
|
+
|
|
57
|
+
<script>
|
|
58
|
+
import {HttpResetClass} from "vue-client";
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
*公共组件
|
|
62
|
+
*获取气表信息
|
|
63
|
+
*/
|
|
64
|
+
export default {
|
|
65
|
+
data () {
|
|
66
|
+
return {
|
|
67
|
+
isdecimal: '否',
|
|
68
|
+
imgsrc: '/images/mainicon/biaopan.png',
|
|
69
|
+
imgmeter: '/images/mainicon/addmeter.png',
|
|
70
|
+
|
|
71
|
+
meterType: this.$appdata.getParam('气表类型')
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
props: ['f_userfiles_id', 'metermessage'],
|
|
75
|
+
ready () {
|
|
76
|
+
console.log(this.metermessage)
|
|
77
|
+
},
|
|
78
|
+
methods: {
|
|
79
|
+
onValid () {
|
|
80
|
+
this.$dispatch('valid')
|
|
81
|
+
},
|
|
82
|
+
onInvalid () {
|
|
83
|
+
this.$dispatch('invalid')
|
|
84
|
+
},
|
|
85
|
+
brandChange (val) {
|
|
86
|
+
this.isdecimal = val.length > 0 ? val[0].f_isdecimal : '否'
|
|
87
|
+
this.meternumberValidate()
|
|
88
|
+
},
|
|
89
|
+
modelChange (val) {
|
|
90
|
+
this.$dispatch('gasmodel', this.metermessage.gasbrand)
|
|
91
|
+
this.meterbase()
|
|
92
|
+
},
|
|
93
|
+
resetValidate () {
|
|
94
|
+
this.$resetValidation()
|
|
95
|
+
},
|
|
96
|
+
meterbase () {
|
|
97
|
+
//在这验证
|
|
98
|
+
if (this.metermessage.f_meternumber === this.$parent.row.f_meternumber){
|
|
99
|
+
if (this.metermessage.f_meter_base !== this.$parent.row.f_meter_base){
|
|
100
|
+
this.$showAlert(`原表换表,新表底数应为系统当前表底数`, 'warning', 3000)
|
|
101
|
+
this.metermessage.f_meter_base = this.$parent.row.f_meter_base
|
|
102
|
+
}
|
|
103
|
+
}else{
|
|
104
|
+
if (this.$parent.row.f_user_type === '民用'){
|
|
105
|
+
if (this.metermessage.f_meter_base > 10){
|
|
106
|
+
this.$showAlert(`民用用户换新表,新表底数不能大于10请重新输入新表底数`, 'warning', 3000)
|
|
107
|
+
this.metermessage.f_meter_base = 0
|
|
108
|
+
}
|
|
109
|
+
}else {
|
|
110
|
+
if (this.metermessage.gasmodel.length>0){
|
|
111
|
+
console.log("打印型号",this.metermessage.gasmodel)
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
if (this.isdecimal === '是') {
|
|
116
|
+
this.metermessage.f_meter_base = (this.metermessage.f_meter_base - 0).toFixed(4)
|
|
117
|
+
} else {
|
|
118
|
+
this.metermessage.f_meter_base = (this.metermessage.f_meter_base - 0).toFixed(0)
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
getMeterBrands (meterType) {
|
|
122
|
+
let res = []
|
|
123
|
+
if (meterType.length > 0) {
|
|
124
|
+
this.meterbrands.forEach((item) => {
|
|
125
|
+
if (item.value.f_meter_type === meterType[0]) {
|
|
126
|
+
res.push(item)
|
|
127
|
+
}
|
|
128
|
+
})
|
|
129
|
+
}
|
|
130
|
+
return res
|
|
131
|
+
},
|
|
132
|
+
async meternumberValidate () {
|
|
133
|
+
let http1 = new HttpResetClass()
|
|
134
|
+
let res1 = await http1.load('POST', '/rs/sql/getBrandAndType', {data: {condition: ` mi.f_meternumber = '${this.metermessage.f_meternumber}'`}}, {resolveMsg: null, rejectMsg: '获取默认气表品牌型号失败!!'})
|
|
135
|
+
if (res1.data.length > 0) {
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
// 已经选择了气表 则不再替换
|
|
139
|
+
if (this.metermessage.f_meter_type <= 0 ){
|
|
140
|
+
this.metermessage.f_meter_type = [res1.data[0].f_meter_classify]
|
|
141
|
+
}
|
|
142
|
+
// 替换表号自带的气表品牌和型号
|
|
143
|
+
let meterbrands = this.meterbrands
|
|
144
|
+
for (let row of meterbrands) {
|
|
145
|
+
if (row.label == res1.data[0].f_meter_brand) {
|
|
146
|
+
// 已经选择了气表品牌则不再替换
|
|
147
|
+
if (this.metermessage.gasbrand.length <= 0) this.metermessage.gasbrand = [row.value]
|
|
148
|
+
// 替换气表型号
|
|
149
|
+
if (res1.data[0].f_meter_style) {
|
|
150
|
+
for (let model of row.value.gasmodel) {
|
|
151
|
+
if (model.label == res1.data[0].f_meter_style) {
|
|
152
|
+
// 已经选择了气表型号则不再替换
|
|
153
|
+
if (this.metermessage.gasmodel.length <= 0) this.metermessage.gasmodel = [model.value]
|
|
154
|
+
continue
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
continue
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
if (this.metermessage.f_meternumber && this.metermessage.gasbrand.length > 0) {
|
|
163
|
+
// 表号位数验证
|
|
164
|
+
let meternumberLen = this.metermessage.gasbrand[0].f_meternumber_len
|
|
165
|
+
if (meternumberLen) {
|
|
166
|
+
if (this.metermessage.f_meternumber.length != meternumberLen) {
|
|
167
|
+
this.metermessage.f_meternumber = ''
|
|
168
|
+
this.$showAlert(`表号位数不正确, 当前气表品牌表号位数是: ${meternumberLen}`, 'warning', 3000)
|
|
169
|
+
return
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
// 表计信息验证
|
|
173
|
+
if (this.metermessage.gasbrand[0].f_meterverification == '是') {
|
|
174
|
+
if (res1.data.length <= 0) {
|
|
175
|
+
this.$showAlert(`当前表号: ${this.metermessage.f_meternumber}在表计信息中无记录, 请核实!!!`, 'warning', 3000)
|
|
176
|
+
this.metermessage.f_meternumber = ''
|
|
177
|
+
return
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
if (this.metermessage.gasbrand[0].f_meter_type === '物联网表') {
|
|
181
|
+
let param = {
|
|
182
|
+
f_userfiles_id: this.f_userfiles_id,
|
|
183
|
+
f_meternumber: this.metermessage.f_meternumber,
|
|
184
|
+
f_gasbrand_id: this.metermessage.gasbrand[0].id
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
let res = await this.$resetpost('rs/logic/meternumberValidate', param, {
|
|
188
|
+
resolveMsg: null,
|
|
189
|
+
rejectMsg: '表号验证失败!!'
|
|
190
|
+
})
|
|
191
|
+
console.log('标号验证返回:', res)
|
|
192
|
+
if (res.data) {
|
|
193
|
+
this.metermessage.f_meternumber = ''
|
|
194
|
+
this.$showAlert('表号已存在!!', 'warning', 3000)
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
},
|
|
200
|
+
computed: {
|
|
201
|
+
usertypes () {
|
|
202
|
+
return this.$appdata.getParam('用户类型')
|
|
203
|
+
},
|
|
204
|
+
positions () {
|
|
205
|
+
return this.$appdata.getParam('安装位置')
|
|
206
|
+
},
|
|
207
|
+
meterbrands () {
|
|
208
|
+
return this.$GetSaleParam.getGasbrand()
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
</script>
|
|
@@ -61,4 +61,6 @@ export default function () {
|
|
|
61
61
|
Vue.component('meter-operate-maintain', (resolve) => { require(['./MeterOperatemain'], resolve) })
|
|
62
62
|
// 交费操作记录
|
|
63
63
|
Vue.component('warehouse-add-maintain', (resolve) => { require(['./AddWarehousemain'], resolve) })
|
|
64
|
+
// 新表信息
|
|
65
|
+
Vue.component('meter-message', (resolve) => { require(['./MeterMessage.vue'], resolve) })
|
|
64
66
|
}
|
package/src/main.js
CHANGED
|
@@ -2,7 +2,7 @@ import Vue from 'vue'
|
|
|
2
2
|
import all from 'vue-client/src/all'
|
|
3
3
|
import App from './App'
|
|
4
4
|
import system from 'system-clients/src/system'
|
|
5
|
-
import FilialeSale from './filiale/
|
|
5
|
+
import FilialeSale from './filiale/bayan/sale'
|
|
6
6
|
import sale from './sale'
|
|
7
7
|
import address from 'address-client/src/address'
|
|
8
8
|
import ldap from 'ldap-clients/src/ldap'
|