sale-client 4.0.36-preview → 4.0.37-preview

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.
File without changes
File without changes
@@ -1,7 +1,7 @@
1
1
  var path = require('path')
2
2
  var checkVersion = require('./versionCheck.js')
3
3
  checkVersion()
4
- const [ serverRul, localUrl, v4Url ] = ['http://192.168.50.4:8400/', 'http://localhost:8080', 'http://localhost:9026/']
4
+ const [ serverRul, localUrl, v4Url ] = ['http://192.168.50.4:8400/', 'http://192.168.50.4:8400/', 'http://localhost:9026/']
5
5
  var merge = require('webpack-merge')
6
6
  var baseConfig = require('./webpack.dev.conf')
7
7
  var devConfig = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sale-client",
3
- "version": "4.0.36-preview",
3
+ "version": "4.0.37-preview",
4
4
  "description": "收费模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -215,7 +215,7 @@
215
215
  <div class="col-sm-4 ">
216
216
  <label class=" font_normal_body">阶梯累计</label>
217
217
  <v-select id="f_ladder_sync"
218
- v-model="f_payment"
218
+ v-model="f_ladder_sync"
219
219
  placeholder='是否累计'
220
220
  :search="false"
221
221
  :value-single="true"
@@ -236,7 +236,7 @@
236
236
  || (model.f_type.includes('清零') && row.f_meter_type ==='物联网表' && row.f_hascard ==='是')">
237
237
  <label class=" font_normal_body">开户方式</label>
238
238
  <v-select id="f_open_type"
239
- v-model="f_payment"
239
+ v-model="f_open_type"
240
240
  placeholder='开户方式'
241
241
  :search="false"
242
242
  :value-single="true"
@@ -28,10 +28,10 @@
28
28
  @blur="meternumberValidate()" placeholder='表号' v-validate:f_meternumber='{required: true }'
29
29
  v-next-el="{id: 'metertitles'}" :disabled="meterNumberDisabled && meterChangeDisabled">
30
30
  </div>
31
- <div class="col-sm-4 form-group" v-else>
31
+ <div class="col-sm-4 form-group" v-else :class="[$m.f_meternumber.required ? 'has-error' : '']">
32
32
  <label for="f_meternumber" class="font_normal_body">&ensp;表&emsp;&emsp;号</label>
33
33
  <input type="text" class="input_search" style="width:60%" v-model="row.f_meternumber"
34
- @blur="meternumberValidate()" placeholder='表号'
34
+ @blur="meternumberValidate()" placeholder='表号' v-validate:f_meternumber='{required: true }'
35
35
  v-next-el="{id: 'metertitles'}">
36
36
  </div>
37
37
  <div class="col-sm-4 form-group" :class="[$m.f_defendcard.required ? 'has-error' : '']"
@@ -278,9 +278,15 @@
278
278
  v-if="getConfigShowItem('f_gas_person')">
279
279
  <label for="f_gas_person" style="width: auto;letter-spacing: 0.5em;margin-right: -0.5em;margin-left: -0.5em"
280
280
  class="font_normal_body">&ensp;{{getConfigLabelName('f_gas_person','通气人')}}</label>
281
- <input type="text" class="input_search" style="width:60%" v-model="row.f_gas_person"
282
- v-validate:f_gas_person=getConfigValidate("f_gas_person",false)
283
- placeholder='通气人'></input>
281
+ <input type="text" v-model="row.f_gas_person" v-show="false"
282
+ v-validate:f_inputtor=getConfigValidate("f_gas_person",false)>
283
+ <!-- <input type="text" class="input_search" style="width:60%" v-model="row.f_gas_person"-->
284
+ <!-- v-validate:f_gas_person=getConfigValidate("f_gas_person",false)-->
285
+ <!-- placeholder='通气人'></input>-->
286
+ <v-select :value.sync="row.f_gas_person" :options='getEmp'
287
+ :placeholder="getConfigPlaceholder('f_gas_person','通气人')"
288
+ close-on-select style="width:60%"
289
+ v-model='row.f_gas_person'></v-select>
284
290
  </div>
285
291
  <div class="col-sm-4 form-group" :class="[$m.f_gas_date.required ? 'has-error' : '']"
286
292
  v-show="(formconfig && formconfig.f_gas_date && formconfig.f_gas_date.required) || !onlyshowmust"
@@ -299,10 +305,12 @@
299
305
  <div class="col-sm-4 form-group" :class="[$m.f_install_person.required ? 'has-error' : '']"
300
306
  v-show="(formconfig && formconfig.f_install_person && formconfig.f_install_person.required) || !onlyshowmust"
301
307
  >
302
- <label for="f_install_person" class="font_normal_body" style="width: auto;letter-spacing: 0.5em;margin-right: -0.5em;margin-left: -0.5em">&ensp;{{'挂表人'}}</label>
303
- <input type="text" class="input_search" style="width:60%" v-model="row.f_install_person"
308
+ <label for="f_install_person" class="font_normal_body" style="width: auto;letter-spacing: 0.5em;margin-right: -0.5em;margin-left: -0.5em">&ensp;{{'安装人'}}</label>
309
+ <input type="text" v-model="row.f_install_person" v-show="false"
304
310
  v-validate:f_install_person=getConfigValidate("f_install_person",false)
305
- placeholder='挂表人'></input>
311
+ ></input>
312
+ <v-select :value.sync="row.f_install_person" v-model="row.f_install_person" style="width:60%"
313
+ :options='installperson' placeholder='安装人' close-on-select v-el:cc></v-select>
306
314
  </div>
307
315
  <div class="col-sm-4 form-group" :class="[$m.f_position.required ? 'has-error' : '']"
308
316
  v-show="(formconfig && formconfig.f_position && formconfig.f_position.required) || !onlyshowmust"
@@ -706,6 +714,8 @@
706
714
  title: '表具信息',
707
715
  data () {
708
716
  return {
717
+ repairers: [], // 置换员数组
718
+ installpersons: [],
709
719
  config: {
710
720
  // 卡控流量计相关字段显示
711
721
  stuckFlowmeterShow: false,
@@ -811,7 +821,7 @@
811
821
  }
812
822
  return {}
813
823
  },
814
- getConfigShowItem (name,defaultVal = true) {
824
+ getConfigShowItem (name, defaultVal = true) {
815
825
  if (this.formconfig && this.formconfig[name] && this.formconfig[name].hasOwnProperty('showItem')) {
816
826
  return this.formconfig[name].showItem
817
827
  } else {
@@ -1136,17 +1146,33 @@
1136
1146
  }
1137
1147
  return rs
1138
1148
  },
1149
+ getEmp () {
1150
+ let rs = []
1151
+ let filiale = this.$login.f.orgid
1152
+ var source = 'tool.getChildrenOfResName($置换员$).where(row.getString($orgid$)==$' + this.$login.f.orgid + '$)'
1153
+ var val = {source: source, userid: filiale}
1154
+ let http = new HttpResetClass()
1155
+ http.load('POST', '/rs/search', {data: val}, {resolveMsg: null, rejectMsg: null}).then((res) => {
1156
+ res.data.forEach((item) => {
1157
+ rs.push({label: item.name, value: item.name})
1158
+ })
1159
+ this.repairers = rs
1160
+ })
1161
+ return this.repairers
1162
+ },
1139
1163
  installperson () {
1140
- // return this.$login.f.f_installman
1141
- let rs = new Array()
1142
- for (let i = 0; i < this.$login.f.f_installman.length; i++) {
1143
- let temp = {
1144
- label: this.$login.f.f_installman[i].name,
1145
- value: this.$login.f.f_installman[i].name
1146
- }
1147
- rs.push(temp)
1148
- }
1149
- return rs
1164
+ let rs = []
1165
+ let filiale = this.$login.f.orgid
1166
+ var source = 'tool.getChildrenOfResName($施工员$).where(row.getString($orgid$)==$' + this.$login.f.orgid + '$)'
1167
+ var val = {source: source, userid: filiale}
1168
+ let http = new HttpResetClass()
1169
+ http.load('POST', '/rs/search', {data: val}, {resolveMsg: null, rejectMsg: null}).then((res) => {
1170
+ res.data.forEach((item) => {
1171
+ rs.push({label: item.name, value: item.name})
1172
+ })
1173
+ this.installpersons = rs
1174
+ })
1175
+ return this.installpersons
1150
1176
  },
1151
1177
  meterbrands () {
1152
1178
  return this.$GetSaleParam.getGasbrand()
@@ -0,0 +1,200 @@
1
+ <template>
2
+ <!--<div class="auto">-->
3
+ <validator name='v' @valid="onValid()" @invalid="onInvalid()">
4
+ <form novalidate class="form-horizontal">
5
+ <div class="row auto" >
6
+
7
+ <div class="col-sm-4 form-group" :class="[$v.metertype.required ? 'has-error' : '']">
8
+ <label for="f_meter_type" class="font_normal_body">新表类型</label>
9
+ <input type="text" class="input_search" style="width: 60%" v-show="false" v-model="$refs.metertype.selectedItems" v-validate:metertype='{required: true }'>
10
+ <v-select :value.sync="metermessage.f_meter_type"
11
+ v-model="metermessage.f_meter_type"
12
+ :options='meterType' placeholder='气表类型'
13
+ close-on-select v-ref:metertype style="width: 60%"></v-select>
14
+ </div>
15
+
16
+ <div class="col-sm-4 form-group" :class="[$v.brand.required ? 'has-error' : '']">
17
+ <label for="gasbrand" class="font_normal_body">新表品牌</label>
18
+ <input type="text" class="input_search" style="width:60%" v-show="false" v-model="$refs.brand.selectedItems" v-validate:brand='{required: true }'>
19
+ <v-select :value.sync="metermessage.gasbrand" :options='getMeterBrands(metermessage.f_meter_type)' @change='brandChange' placeholder='气表品牌' close-on-select
20
+ search v-model='metermessage.gasbrand' v-ref:brand></v-select>
21
+ </div>
22
+ <div class="col-sm-4 form-group" :class="[$v.model.required ? 'has-error' : '']">
23
+ <label for="gasmodel" class="font_normal_body">新表型号</label>
24
+ <input type="text" class="input_search" style="width:60%" v-show="false" v-model="$refs.model.selectedItems" v-validate:model='{required: true }'>
25
+ <v-select :value.sync="metermessage.gasmodel" :options='metermessage.gasbrand[0] ? metermessage.gasbrand[0].gasmodel : [] ' placeholder='气表型号' close-on-select
26
+ v-model='metermessage.gasmodel' :disabled= 'metermessage.gasbrand.length === 0 ' @change='modelChange' v-ref:model></v-select>
27
+ </div>
28
+
29
+ </div>
30
+ <div class="row auto" >
31
+ <div class="col-sm-4 form-group" :class="[$v.meternumber.required ? 'has-error' : '']">
32
+ <label for="f_meternumber" class="font_normal_body">新&ensp;表&ensp;号</label>
33
+ <input type="text" class="input_search" style="width:60%" class="input_search"
34
+ @blur="meternumberValidate()" v-model="metermessage.f_meternumber" v-validate:meternumber='{required: true }' placeholder='表号' >
35
+ </div>
36
+ <div class="col-sm-4 form-group" :class="[$v.f_metertitles.required ? 'has-error' : '']">
37
+ <label for="f_metertitles" class="font_normal_body">新表封号</label>
38
+ <input type="text" class="input_search" style="width:60%" class="input_search" v-validate:f_metertitles='{required: true }' v-model="metermessage.f_metertitles" placeholder='表封号'>
39
+ </div>
40
+ <div class="col-sm-4 form-group" :class="[$v.f_meter_base.required ? 'has-error' : '']">
41
+ <label for="f_meter_base" class="font_normal_body">新表底数</label>
42
+ <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='表底数' >
43
+ </div>
44
+ <div class="col-sm-4 form-group" :class="[$v.f_aroundmeter.required ? 'has-error' : '']">
45
+ <label for="f_meter_base" class="font_normal_body">表&ensp;&ensp;向</label>
46
+ <input type="text" class="input_search" style="width:60%" v-show="false" v-validate:f_aroundmeter='{required: true }' v-model="metermessage.f_aroundmeter" placeholder='表向' >
47
+ <v-select :value.sync="metermessage.f_aroundmeter" :options='aroundmeters'
48
+ placeholder='表向'
49
+ close-on-select style="width: 60%"
50
+ v-model='metermessage.f_aroundmeter'></v-select>
51
+ </div>
52
+ <!-- <div class="col-sm-4 form-group" :class="[$v.metertype.required ? 'has-error' : '']">-->
53
+ <!-- <label for="f_meter_type" class="font_normal_body">新表类型</label>-->
54
+ <!-- <input type="text" class="input_search" style="width: 60%" v-show="false" v-model="$refs.metertype.selectedItems" v-validate:metertype='{required: true }'>-->
55
+ <!-- <v-select :value.sync="metermessage.f_meter_type"-->
56
+ <!-- v-model="metermessage.f_meter_type"-->
57
+ <!-- :options='meterType' placeholder='气表类型'-->
58
+ <!-- close-on-select v-ref:metertype style="width: 60%"></v-select>-->
59
+ <!-- </div>-->
60
+ </div>
61
+
62
+ </form>
63
+ </validator>
64
+ <!--</div>-->
65
+ </template>
66
+
67
+ <script>
68
+ import {HttpResetClass} from "vue-client";
69
+
70
+ /**
71
+ *公共组件
72
+ *获取气表信息
73
+ */
74
+ export default {
75
+ data () {
76
+ return {
77
+ isdecimal: '否',
78
+ imgsrc: '/images/mainicon/biaopan.png',
79
+ imgmeter: '/images/mainicon/addmeter.png',
80
+ aroundmeters: this.$appdata.getParam('左右表'),
81
+ meterType: this.$appdata.getParam('气表类型')
82
+ }
83
+ },
84
+ props: ['f_userfiles_id', 'metermessage'],
85
+ methods: {
86
+ onValid () {
87
+ this.$dispatch('valid')
88
+ },
89
+ onInvalid () {
90
+ this.$dispatch('invalid')
91
+ },
92
+ brandChange (val) {
93
+ this.isdecimal = val.length > 0 ? val[0].f_isdecimal : '否'
94
+ this.meternumberValidate()
95
+ },
96
+ modelChange (val) {
97
+ this.$dispatch('gasmodel', this.metermessage.gasbrand)
98
+ },
99
+ resetValidate () {
100
+ this.$resetValidation()
101
+ },
102
+ meterbase () {
103
+ if (this.isdecimal === '是') {
104
+ this.metermessage.f_meter_base = (this.metermessage.f_meter_base - 0).toFixed(4)
105
+ } else {
106
+ this.metermessage.f_meter_base = (this.metermessage.f_meter_base - 0).toFixed(0)
107
+ }
108
+ },
109
+ getMeterBrands (meterType) {
110
+ let res = []
111
+ if (meterType.length > 0) {
112
+ this.meterbrands.forEach((item) => {
113
+ if (item.value.f_meter_type === meterType[0]) {
114
+ res.push(item)
115
+ }
116
+ })
117
+ }
118
+ return res
119
+ },
120
+ async meternumberValidate () {
121
+ let http1 = new HttpResetClass()
122
+ let res1 = await http1.load('POST', '/api/af-revenue/sql/getBrandAndType', {data: {condition: ` mi.f_meternumber = '${this.metermessage.f_meternumber}'`}}, {resolveMsg: null, rejectMsg: '获取默认气表品牌型号失败!!'})
123
+ if (res1.data.length > 0) {
124
+
125
+
126
+ // 已经选择了气表 则不再替换
127
+ if (this.metermessage.f_meter_type <= 0 ){
128
+ this.metermessage.f_meter_type = [res1.data[0].f_meter_classify]
129
+ }
130
+ // 替换表号自带的气表品牌和型号
131
+ let meterbrands = this.meterbrands
132
+ for (let row of meterbrands) {
133
+ if (row.label == res1.data[0].f_meter_brand) {
134
+ // 已经选择了气表品牌则不再替换
135
+ if (this.metermessage.gasbrand.length <= 0) this.metermessage.gasbrand = [row.value]
136
+ // 替换气表型号
137
+ if (res1.data[0].f_meter_style) {
138
+ for (let model of row.value.gasmodel) {
139
+ if (model.label == res1.data[0].f_meter_style) {
140
+ // 已经选择了气表型号则不再替换
141
+ if (this.metermessage.gasmodel.length <= 0) this.metermessage.gasmodel = [model.value]
142
+ continue
143
+ }
144
+ }
145
+ }
146
+ continue
147
+ }
148
+ }
149
+ }
150
+ if (this.metermessage.f_meternumber && this.metermessage.gasbrand.length > 0) {
151
+ // 表号位数验证
152
+ let meternumberLen = this.metermessage.gasbrand[0].f_meternumber_len
153
+ if (meternumberLen) {
154
+ if (this.metermessage.f_meternumber.length != meternumberLen) {
155
+ this.metermessage.f_meternumber = ''
156
+ this.$showAlert(`表号位数不正确, 当前气表品牌表号位数是: ${meternumberLen}`, 'warning', 3000)
157
+ return
158
+ }
159
+ }
160
+ // 表计信息验证
161
+ if (this.metermessage.gasbrand[0].f_meterverification == '是') {
162
+ if (res1.data.length <= 0) {
163
+ this.$showAlert(`当前表号: ${this.metermessage.f_meternumber}在表计信息中无记录, 请核实!!!`, 'warning', 3000)
164
+ this.metermessage.f_meternumber = ''
165
+ return
166
+ }
167
+ }
168
+ if (this.metermessage.gasbrand[0].f_meter_type === '物联网表') {
169
+ let param = {
170
+ f_userfiles_id: this.f_userfiles_id,
171
+ f_meternumber: this.metermessage.f_meternumber,
172
+ f_gasbrand_id: this.metermessage.gasbrand[0].id
173
+ }
174
+
175
+ let res = await this.$resetpost('api/af-revenue/logic/meternumberValidate', param, {
176
+ resolveMsg: null,
177
+ rejectMsg: '表号验证失败!!'
178
+ })
179
+ console.log('标号验证返回:', res)
180
+ if (res.data) {
181
+ this.metermessage.f_meternumber = ''
182
+ this.$showAlert('表号已存在!!', 'warning', 3000)
183
+ }
184
+ }
185
+ }
186
+ }
187
+ },
188
+ computed: {
189
+ usertypes () {
190
+ return this.$appdata.getParam('用户类型')
191
+ },
192
+ positions () {
193
+ return this.$appdata.getParam('安装位置')
194
+ },
195
+ meterbrands () {
196
+ return this.$GetSaleParam.getGasbrand()
197
+ }
198
+ }
199
+ }
200
+ </script>
@@ -18,15 +18,15 @@
18
18
  </v-select>
19
19
  </div>
20
20
  <div class="col-sm-4 form-group" v-if="!config.f_change_operator">
21
- <label for="f_change_operator" class=" font_normal_body">换&ensp;表&ensp;人</label>
21
+ <label for="f_change_operator" class=" font_normal_body">挂&ensp;表&ensp;人</label>
22
22
  <input class="input_search" style="width:60%" type="text" v-model="model.f_change_operator"
23
- placeholder="换表人">
23
+ placeholder="挂表人">
24
24
  </div>
25
25
  <div class="col-sm-4 form-group" v-if="config.f_change_operator" :class="[$v.f_change_operator.required ? 'has-error' : '']">
26
- <label for="f_change_operator" class=" font_normal_body">换&ensp;表&ensp;人</label>
26
+ <label for="f_change_operator" class=" font_normal_body">挂&ensp;表&ensp;人</label>
27
27
  <input class="input_search" style="width:60%" type="text" v-model="model.f_change_operator"
28
28
  v-validate:f_change_operator="{required: true }"
29
- placeholder="换表人">
29
+ placeholder="挂表人">
30
30
  </div>
31
31
 
32
32
  <div class="col-sm-4 form-group"
@@ -86,4 +86,6 @@ export default function () {
86
86
  Vue.component('charge-query-user', (resolve) => { require(['./ChargeQueryUser.vue'], resolve) })
87
87
  // 单个表具信息
88
88
  Vue.component('file-meter-info', (resolve) => { require(['./MeterinfoTest'], resolve) })
89
+ // 获取气表信息
90
+ Vue.component('meter-message', (resolve) => { require(['./components/revenue/Common/MeterMessage'], resolve) })
89
91
  }
package/src/main.js CHANGED
@@ -3,7 +3,7 @@ import all from 'vue-client/src/all'
3
3
  import App from './App'
4
4
  import system from 'system-clients/src/system'
5
5
  import sale from './sale'
6
- import FilialeSale from './filiale/beifangshiye/sale'
6
+ import FilialeSale from './filiale/fugou/sale'
7
7
  import address from 'address-client/src/address'
8
8
  import ldap from 'ldap-clients/src/ldap'
9
9
  import VueClipboard from 'vue-clipboard2'
@@ -61,6 +61,7 @@ let LogicService = {
61
61
  f_user_id: row.f_user_id,
62
62
  f_userinfo_id: row.f_userinfo_id,
63
63
  f_user_name: row.f_user_name,
64
+ f_user_phone: row.f_user_phone,
64
65
  f_comments: model.f_reason[0],
65
66
  f_othereason: model.f_othereason,
66
67
  f_operat_type: '停用',