sale-client 4.2.68 → 4.2.70

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.
@@ -1,7 +1,7 @@
1
1
  var path = require('path')
2
2
  var checkVersion = require('./versionCheck.js')
3
3
  checkVersion()
4
- const [ serverRul, localUrl ] = ['http://61.163.123.47:30785', 'http://127.0.0.1:9026']
4
+ const [ serverRul, localUrl ] = ['http://192.168.50.67:31567/', 'http://127.0.0.1:9026']
5
5
  var merge = require('webpack-merge')
6
6
  var baseConfig = require('./webpack.dev.conf')
7
7
  var devConfig = {
@@ -19,59 +19,59 @@ var devConfig = {
19
19
  children: false // 不输出子模块构建信息
20
20
  },
21
21
  proxy: {
22
- // '/api/af-revenue/logic/depositCharge': {
23
- // pathRewrite: {
24
- // '/api/af-revenue/logic': '/logic'
25
- // },
26
- // target: 'http://127.0.0.1:9026',
27
- // changeOrigin: true
28
- // },
29
- // '/api/af-revenue/logic': {
30
- // pathRewrite: {
31
- // '/api/af-revenue/logic': '/logic'
32
- // },
33
- // target: localUrl,
34
- // changeOrigin: true
35
- // },
36
- // '/api/af-revenue/file': {
37
- // pathRewrite: {
38
- // '/api/af-revenue/file': '/file'
39
- // },
40
- // target: localUrl,
41
- // changeOrigin: true
42
- // },
43
- // 'api/af-revenue/entity/save': {
44
- // pathRewrite: {
45
- // '/api/af-revenue/entity/save': '/entity/save'
46
- // },
47
- // target: localUrl,
48
- // changeOrigin: true
49
- // },
50
- // '/singlepage': {
51
- // // pathRewrite: {
52
- // // '/weixin2/rs': '/rs'
53
- // // },
54
- // target: localUrl,
55
- // changeOrigin: true
56
- // },
57
- // '/weixin2/rs': {
58
- // pathRewrite: {
59
- // '/weixin2/rs': '/singlepage/weixin2/rs'
60
- // },
61
- // target: localUrl,
62
- // changeOrigin: true
63
- // },
64
- // '/api/af-revenue/sql': {
65
- // pathRewrite: {
66
- // '/api/af-revenue/sql': '/sql'
67
- // },
68
- // target: localUrl,
69
- // changeOrigin: true
70
- // },
71
- // '/rs/pay': {
72
- // target: serverRul,
73
- // changeOrigin: true
74
- // },
22
+ '/api/af-revenue/logic/depositCharge': {
23
+ pathRewrite: {
24
+ '/api/af-revenue/logic': '/logic'
25
+ },
26
+ target: localUrl,
27
+ changeOrigin: true
28
+ },
29
+ '/api/af-revenue/logic': {
30
+ pathRewrite: {
31
+ '/api/af-revenue/logic': '/logic'
32
+ },
33
+ target: localUrl,
34
+ changeOrigin: true
35
+ },
36
+ '/api/af-revenue/file': {
37
+ pathRewrite: {
38
+ '/api/af-revenue/file': '/file'
39
+ },
40
+ target: localUrl,
41
+ changeOrigin: true
42
+ },
43
+ 'api/af-revenue/entity/save': {
44
+ pathRewrite: {
45
+ '/api/af-revenue/entity/save': '/entity/save'
46
+ },
47
+ target: localUrl,
48
+ changeOrigin: true
49
+ },
50
+ '/singlepage': {
51
+ // pathRewrite: {
52
+ // '/weixin2/rs': '/rs'
53
+ // },
54
+ target: localUrl,
55
+ changeOrigin: true
56
+ },
57
+ '/weixin2/rs': {
58
+ pathRewrite: {
59
+ '/weixin2/rs': '/singlepage/weixin2/rs'
60
+ },
61
+ target: localUrl,
62
+ changeOrigin: true
63
+ },
64
+ '/api/af-revenue/sql': {
65
+ pathRewrite: {
66
+ '/api/af-revenue/sql': '/sql'
67
+ },
68
+ target: localUrl,
69
+ changeOrigin: true
70
+ },
71
+ '/rs/pay': {
72
+ target: serverRul,
73
+ changeOrigin: true
74
+ },
75
75
  '/api': {
76
76
  target: serverRul,
77
77
  changeOrigin: true
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sale-client",
3
- "version": "4.2.68",
3
+ "version": "4.2.70",
4
4
  "description": "收费模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -355,14 +355,8 @@
355
355
  <label for="f_adjustable" class="font_normal_body" style="width: auto;letter-spacing: 0.5em;margin-right: -0.5em;margin-left: -0.5em">&ensp;{{getConfigLabelName('f_adjustable','调压箱')}}</label>
356
356
  <input type="text" v-model="row.f_adjustable" v-show="false"
357
357
  v-validate:f_adjustable=getConfigValidate("f_adjustable",false)>
358
- <v-select :value.sync="row.f_adjustable"
359
- :options='adjustables'
360
- placeholder='调压箱'
361
- close-on-select
362
- @select-search="getAdjustables"
363
- v-model='row.f_adjustable'
364
- :search='true'>
365
- </v-select>
358
+ <v-select :value.sync="row.f_adjustable" :options='adjustables' placeholder='调压箱' close-on-select
359
+ v-model='row.f_adjustable' :search='true'></v-select>
366
360
  </div>
367
361
  <div class="col-sm-4 form-group" :class="[$m.f_hand_date.required ? 'has-error' : '']"
368
362
  v-show="(formconfig && formconfig.f_hand_date && formconfig.f_hand_date.required) || !onlyshowmust"
@@ -789,26 +783,8 @@
789
783
  }
790
784
  await this.getConcentrators()
791
785
  co(meterBookGen(this))
792
- await this.getAdjustables()
793
786
  },
794
787
  methods: {
795
- async getAdjustables (searchText) {
796
- let condition = `f_orgid = '${this.$login.f.orgid}'`
797
- if (searchText) {
798
- condition = condition + ` and (f_adjustable_name like '%${searchText}%' or f_adjustable_id like '%${searchText}%')`
799
- }
800
- let data = {
801
- items: 'id,f_adjustable_name,f_adjustable_id',
802
- tablename: 't_adjustablebox',
803
- condition: condition,
804
- orderitem: 'id desc'
805
- }
806
- let result = await this.$resetpost('rs/sql/singleTable_OrderBy?pageNo=1&pageSize=100', {data: data}, {resolveMsg: null, rejectMsg: '获取集中器失败!'})
807
- this.adjustables = [{label: '全部', value: ''}]
808
- for (let row of result.data) {
809
- this.adjustables.push({label: `[${row.f_adjustable_id}]-${row.f_adjustable_name}`, value: row})
810
- }
811
- },
812
788
  validateInput (event, key) {
813
789
  const value = event.target.value
814
790
  const sanitizedValue = value.replace(/[^0-9.]/g, '')
@@ -1136,6 +1112,17 @@
1136
1112
  return Array.from(new Set(result))
1137
1113
  },
1138
1114
 
1115
+ adjustables () {
1116
+ let arr = []
1117
+ let filter = this.f_filialeid
1118
+ this.$GetSaleParam.getAdjustable(filter).forEach((item) => {
1119
+ let temp = {}
1120
+ temp.label = `[${item.value.f_adjustable_id}]-${item.label}`
1121
+ temp.value = item.value
1122
+ arr.push(temp)
1123
+ })
1124
+ return [{label: '全部', value: ''}, ...arr]
1125
+ },
1139
1126
  inputtores () {
1140
1127
  // return this.$login.f.f_gasman
1141
1128
  let rs = new Array()
@@ -21,9 +21,12 @@
21
21
  <label for="f_address" class="font_normal_body ">客户地址</label>
22
22
  <input class="input_search " style="width:80%" v-model="model.f_address" placeholder='客户地址' :value="row.f_address" readonly>
23
23
  </div>
24
- <div class="col-sm-4">
25
- <label for="f_idnumber" class="font_normal_body ">表&emsp;&emsp;号</label>
26
- <input class="input_search " style="width:60%" v-model="model.f_meternumber" placeholder='表号' :value="row.f_meternumber">
24
+ <div class="col-sm-4"
25
+ :class="[$m.f_meternumber.required ? 'has-error' : 'has-success']">
26
+ <label for="f_meternumber" class="font_normal_body ">表&emsp;&emsp;号</label>
27
+ <input class="input_search " style="width:60%" v-model="model.f_meternumber"
28
+ v-validate:f_meternumber='{required: true}'
29
+ placeholder='表号' :value="row.f_meternumber">
27
30
  </div>
28
31
 
29
32
  </div>
@@ -80,9 +83,17 @@
80
83
  close-on-select v-ref:pricename></v-select>
81
84
  </div>
82
85
  <div class="col-sm-4 form-group">
83
- <label class="font_normal_body">&ensp;气价备注</label>
86
+ <label class="font_normal_body">气价备注</label>
84
87
  <input type="text" class="input_search" style="width:60%" v-model="model.f_price_comments" placeholder='气价备注' disabled>
85
88
  </div>
89
+ <div class="col-sm-4 form-group"
90
+ :class="[$m.f_meter_base.required || $m.f_meter_base.dctest ? 'has-error' : 'has-success']">
91
+ <label for="f_meter_base" class=" font_normal_body">气表底数</label>
92
+ <input class="input_search" style="width:60%" type="number" id="pregasFocue"
93
+ v-model="model.f_meter_base"
94
+ v-validate:f_meter_base='{required: true, dctest: [0, ">=" ]}'
95
+ placeholder="气表底数">
96
+ </div>
86
97
 
87
98
  </div>
88
99
 
@@ -107,7 +118,7 @@
107
118
  <!--</div>-->
108
119
  </form>
109
120
  <div style="text-align:right;">
110
- <button class="button_search btn-gn" @click="confirm()" :disabled='!$v.valid || validateOk'>确认</button>
121
+ <button class="button_search btn-gn" @click="confirm()" :disabled='!$m.valid || validateOk'>确认</button>
111
122
  <button class="button_clear btn-gn" @click="clean()">取消</button>
112
123
  </div>
113
124
  </validator>
@@ -135,6 +146,7 @@
135
146
  // f_meter_style:'',
136
147
  f_price_type: [],
137
148
  f_price_name: '',
149
+ f_meter_base: null,
138
150
  f_price_comments: '',
139
151
  f_filialeid: '',
140
152
  f_userinfo_id: ''
@@ -13,7 +13,6 @@
13
13
  :value.sync="model.f_type"
14
14
  :options='replacewatchtype'
15
15
  @change="typeChange"
16
- :disabled="!(row.f_meter_type.includes('卡表')||row.f_meter_type ==='物联网表')"
17
16
  close-on-select clear-button>
18
17
  </v-select>
19
18
  </div>
@@ -374,6 +374,7 @@
374
374
  insurance.f_depid = self.$login.f.depids
375
375
  insurance.f_depname = self.$login.f.deps
376
376
  insurance.f_receivable = self.insurance.f_money_all
377
+ insurance.f_email = self.insurance.f_email
377
378
  insurance.f_payment = self.model.f_payment.toString()
378
379
  insurance.f_state = '有效'
379
380
  insurance.f_operat_type = '保险'
@@ -827,6 +828,12 @@
827
828
  if (!this.insurance.f_insurance_company) {
828
829
  return this.$showMessage('请填写保险公司')
829
830
  }
831
+ if (this.insurance.f_email) {
832
+ const REG_EMAIL = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/
833
+ if (!REG_EMAIL.test(this.insurance.f_email)) {
834
+ return this.$showMessage('请输入正确的邮箱')
835
+ }
836
+ }
830
837
  }
831
838
  this.eticket_msg = false
832
839
  if (this.model.f_payment.length > 0 && this.model.f_payment.includes('余额写卡')) {
@@ -0,0 +1,266 @@
1
+ <template>
2
+ <div class="auto">
3
+ <validator name='m'>
4
+ <form novalidate class="form-horizontal select-overspread">
5
+ <div class="row" style="margin-top:10px;">
6
+ <div class="col-sm-4">
7
+ <label for="f_user_name" class="font_normal_body ">客户姓名</label>
8
+ <input class="input_search " style="width:60%" v-model="model.f_user_name" placeholder='客户姓名' :value="row.f_user_name">
9
+ </div>
10
+ <div class="col-sm-4">
11
+ <label for="f_user_phone" class="font_normal_body ">客户电话</label>
12
+ <input class="input_search " style="width:60%" v-model="model.f_user_phone" placeholder='电话' :value="row.f_user_phone">
13
+ </div>
14
+ <div class="col-sm-4">
15
+ <label for="f_idnumber" class="font_normal_body ">证件号码</label>
16
+ <input class="input_search " style="width:60%" v-model="model.f_idnumber" placeholder='证件号码' :value="row.f_idnumber">
17
+ </div>
18
+ </div>
19
+ <div class="row" style="margin-top:10px;">
20
+ <div class="col-sm-8">
21
+ <label for="f_address" class="font_normal_body ">客户地址</label>
22
+ <input class="input_search " style="width:80%" v-model="model.f_address" placeholder='客户地址' :value="row.f_address" readonly>
23
+ </div>
24
+ <div class="col-sm-4"
25
+ :class="[$m.f_meternumber.required ? 'has-error' : 'has-success']">
26
+ <label for="f_meternumber" class="font_normal_body ">表&emsp;&emsp;号</label>
27
+ <input class="input_search " style="width:60%" v-model="model.f_meternumber"
28
+ v-validate:f_meternumber='{required: true}'
29
+ placeholder='表号' :value="row.f_meternumber">
30
+ </div>
31
+
32
+ </div>
33
+ <div class="row" style="margin-top:10px;">
34
+
35
+ <div class="col-sm-4">
36
+ <label for="f_user_name" class="font_normal_body ">左&ensp;右&ensp;表</label>
37
+ <input class="input_search " style="width:60%" v-model="model.f_aroundmeter" placeholder='左右表' :value="row.f_aroundmeter" readonly>
38
+ </div>
39
+ <div class="col-sm-8">
40
+ <label for="f_user_phone" class="font_normal_body ">备&emsp;&emsp;注</label>
41
+ <input class="input_search " style="width:80%" v-model="model.f_comments" placeholder='备注' :value="row.f_comments" readonly>
42
+ </div>
43
+
44
+ </div>
45
+ <div class="row" style="margin-top:10px;">
46
+
47
+ <div :class="[$m.f_gasbrand_id.required ? 'has-error' : 'has-success']" class="col-sm-4">
48
+ <input type="text" v-show="false" v-model="model.f_gasbrand"
49
+ v-validate:f_gasbrand_id='{required: true }' >
50
+
51
+ <label for="f_gasbrand_id" class=" font_normal_body">气表品牌</label>
52
+ <v-select :value.sync="model.f_gasbrand" @change="verifigasbrand()"
53
+ :options='meterbrands'
54
+ :placeholder="model.f_gasbrand[0]!==null?model.f_gasbrand[0].f_meter_brand:'请选择'"
55
+ v-model='model.f_gasbrand'
56
+ v-ref:brand
57
+ close-on-select>
58
+ </v-select>
59
+ </div>
60
+
61
+
62
+ <div :class="[$m.f_gasmodel_id.required ? 'has-error' : 'has-success']" class="col-sm-4">
63
+ <input type="text" v-show="false" v-model="model.f_gasmodel"
64
+ v-validate:f_gasmodel_id='{required: true }'>
65
+ <label for="f_gasmodel_id" class=" font_normal_body">气表型号</label>
66
+ <v-select :value.sync="model.f_gasmodel"
67
+ :options='model.f_gasbrand[0].gasmodel'
68
+ :placeholder="model.f_gasbrand[0]!==null?model.f_gasbrand[0].f_meter_style:'请选择'"
69
+ close-on-select
70
+ v-model='model.f_gasmodel'
71
+ v-ref:model></v-select>
72
+
73
+
74
+ </div>
75
+ <div class="col-sm-4" :class="[$m.pricename.required ? 'has-error' : '']">
76
+ <input type="text" v-show="false" v-model="model.f_price_name" v-validate:pricename='{required: true }'>
77
+ <label class="font_normal_body">气价名称</label>
78
+ <v-select :value.sync="model.f_price_name"
79
+ v-model="model.f_price_name"
80
+ placeholder='气价名称'
81
+ :options="getPricenames"
82
+ @change="priceChange"
83
+ close-on-select v-ref:pricename></v-select>
84
+ </div>
85
+ <div class="col-sm-4 form-group">
86
+ <label class="font_normal_body">气价备注</label>
87
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_price_comments" placeholder='气价备注' disabled>
88
+ </div>
89
+ <div class="col-sm-4 form-group"
90
+ :class="[$m.f_meter_base.required || $m.f_meter_base.dctest ? 'has-error' : 'has-success']">
91
+ <label for="f_meter_base" class=" font_normal_body">气表底数</label>
92
+ <input class="input_search" style="width:60%" type="number" id="pregasFocue"
93
+ v-model="model.f_meter_base"
94
+ v-validate:f_meter_base='{required: true, dctest: [0, ">=" ]}'
95
+ placeholder="气表底数">
96
+ </div>
97
+
98
+ </div>
99
+
100
+ <!--<div class="row" style="margin-top:10px;">-->
101
+ <!--<div class="col-sm-4"-->
102
+ <!--:class="[$m.gas.required ? 'select-error' : '']">-->
103
+ <!--<label for="f_username" class="font_normal_body">用气性质</label>-->
104
+ <!--<input type="text" v-show="false" v-model="model.f_gasproperties" v-validate:gas='{required: true }'>-->
105
+ <!--<v-select :value.sync="model.f_gasproperties" v-model="model.f_gasproperties"-->
106
+ <!--:options='gasproperties' placeholder='用气性质'-->
107
+ <!--close-on-select v-ref:gas></v-select>-->
108
+ <!--</div>-->
109
+ <!--<div class="col-sm-4" :class="[$m.type.required ? 'select-error' : '']">-->
110
+ <!--<label for="pricetype" class="font_normal_body">气价类型</label>-->
111
+ <!--<v-select :value.sync="model.f_price_type" v-model="model.f_price_type"-->
112
+ <!--placeholder='气价类型' :options="pricetypes"-->
113
+ <!--close-on-select v-ref:type>-->
114
+ <!--</v-select>-->
115
+ <!--<input type="text" v-show="false" v-model="model.f_price_type" v-validate:type='{required: true }'>-->
116
+ <!--</div>-->
117
+ <!---->
118
+ <!--</div>-->
119
+ </form>
120
+ <div style="text-align:right;">
121
+ <button class="button_search btn-gn" @click="confirm()" :disabled='!$m.valid || validateOk'>确认</button>
122
+ <button class="button_clear btn-gn" @click="clean()">取消</button>
123
+ </div>
124
+ </validator>
125
+ </div>
126
+ <upload :blodid="blodid" v-if="false" isremark="true" fusetype="档案完善"></upload>
127
+ </template>
128
+ <script>
129
+ export default {
130
+ title: '档案完善',
131
+ data () {
132
+ return {
133
+ model: {
134
+ f_userfiles_id: '',
135
+ f_user_name: '',
136
+ f_user_phone: '',
137
+ f_idnumber: '',
138
+ f_gasproperties: [],
139
+ f_gasbrand: [],
140
+ f_gasmodel: [],
141
+ f_address: '',
142
+ f_price_id: '',
143
+ f_gasbrand_id: '',
144
+ f_gasmodel_id: '',
145
+ // f_meter_brand:'',
146
+ // f_meter_style:'',
147
+ f_price_type: [],
148
+ f_price_name: '',
149
+ f_meter_base: null,
150
+ f_price_comments: '',
151
+ f_filialeid: '',
152
+ f_userinfo_id: ''
153
+ },
154
+ blodid: '',
155
+ showupload: true,
156
+ gasproperties: [],
157
+ validateOk: false,
158
+ pricetypes: this.$appdata.getParam('气价类型')
159
+ }
160
+ },
161
+ props: ['row'],
162
+ ready () {
163
+ this.row = this.data ? this.data : this.row
164
+ this.blodid = this.row.f_userinfo_id
165
+ this.gasproperties = this.$appdata.getParam(this.row.f_user_type)
166
+ if (this.row.f_gasproperties) {
167
+ this.model.f_gasproperties.push(this.row.f_gasproperties)
168
+ }
169
+ if (this.row.f_price_type) {
170
+ this.model.f_price_type.push(this.row.f_price_type)
171
+ }
172
+
173
+ if (this.row.f_gasbrand_id) {
174
+ this.meterbrands.forEach((val) => {
175
+ if (this.row.f_gasbrand_id == val.value.id) {
176
+ this.model.f_gasbrand.push(val.value)
177
+ }
178
+ })
179
+ }
180
+
181
+ if (this.row.f_gasmodel_id) {
182
+ console.log('气表下的型号。。。', this.model.f_gasbrand[0].gasmodel)
183
+ this.model.f_gasbrand[0].gasmodel.forEach((res) => {
184
+ if (this.row.f_gasmodel_id == res.value.id) {
185
+ this.model.f_gasmodel.push(res.value)
186
+ }
187
+ })
188
+ }
189
+
190
+ this.model.f_userfiles_id = this.row.f_userfiles_id
191
+ this.model.f_user_type = this.row.f_user_type
192
+ this.model.f_filialeid = this.$login.f.orgid
193
+ this.model.f_userinfo_id = this.row.f_userinfo_id
194
+ },
195
+ methods: {
196
+ priceChange (val) {
197
+ if (val.length > 0) {
198
+ // 展示气价备注
199
+ this.model.f_price_comments = val[0].f_comments ? val[0].f_comments : '无'
200
+ }
201
+ },
202
+ async confirm () {
203
+ this.model.f_gasbrand_id = this.model.f_gasmodel[0].f_gasbrand_id
204
+ this.model.f_gasmodel_id = this.model.f_gasmodel[0].id
205
+ this.model.f_price_id = this.model.f_price_name[0].f_price_id
206
+ this.model.f_gasproperties = this.model.f_price_name[0].f_gasproperties
207
+ this.model.f_user_type = this.model.f_price_name[0].f_user_type
208
+ this.model.f_user_name = this.model.f_user_name
209
+ this.model.f_user_phone = this.model.f_user_phone
210
+ this.model.f_meter_classify = this.model.f_gasbrand[0].f_meter_type
211
+
212
+ this.model.f_operator = this.$login.f.name
213
+ this.model.f_operatorid = this.$login.f.id
214
+ this.model.f_orgid = this.$login.f.orgid
215
+ this.model.f_orgname = this.$login.f.orgs
216
+ this.model.f_depid = this.$login.f.depids
217
+ this.model.f_depname = this.$login.f.deps
218
+
219
+ await this.$resetpost('api/af-revenue/logic/file_complete', this.model, {resolveMsg: '档案信息已完善成功', rejectMsg: '档案信息完善失败'})
220
+ this.clean()
221
+ },
222
+ clean () {
223
+ this.$info('取消操作')
224
+ this.$dispatch('refresh', this.row)
225
+ },
226
+
227
+ printok () {
228
+ this.$dispatch('success')
229
+ },
230
+ validateBill (val) {
231
+ this.validateOk = !val.isOk
232
+ },
233
+
234
+ verifigasbrand () {
235
+ this.verifi()
236
+ },
237
+ verifi () {
238
+ if ((this.row == null) && (this.model.f_meternumber) && (this.model.f_gasbrand)) {
239
+ veri(this)
240
+ }
241
+ }
242
+ },
243
+ computed: {
244
+ meterbrands () {
245
+ return this.$GetSaleParam.getGasbrand()
246
+ },
247
+ getPricenames () {
248
+ let f_filialeid = this.$login.f.orgid
249
+ let result = []
250
+ this.$GetSaleParam.prices.forEach((item) => {
251
+ if (item.f_state === '有效' && f_filialeid == item.f_filialeid) {
252
+ let value = {
253
+ label: item.f_price_name,
254
+ value: item
255
+ }
256
+ result.push(value)
257
+ }
258
+ })
259
+ return Array.from(new Set(result))
260
+ }
261
+ }
262
+ }
263
+ </script>
264
+
265
+ <style>
266
+ </style>
@@ -340,6 +340,7 @@ let IOTChargeGen = async function (self) {
340
340
  param.insurance.f_user_phone = self.row.f_user_phone
341
341
  param.insurance.f_state = '有效'
342
342
  param.insurance.f_receivable = self.insurance.f_money_all
343
+ param.insurance.f_email = self.insurance.f_email
343
344
  param.insurance.f_user_name = self.row.f_user_name
344
345
  param.insurance.f_opreator = self.$login.f.name
345
346
  // await self.$resetpost('api/af-revenue/logic/saveInsInfo', {data: self.model})
@@ -755,6 +756,12 @@ export default {
755
756
  if (!this.insurance.f_insurance_company) {
756
757
  return this.$showMessage('请填写保险公司')
757
758
  }
759
+ if (this.insurance.f_email) {
760
+ const REG_EMAIL = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/
761
+ if (!REG_EMAIL.test(this.insurance.f_email)) {
762
+ return this.$showMessage('请输入正确的邮箱')
763
+ }
764
+ }
758
765
  }
759
766
  let res = await this.$showMessage(`确定对客户${this.row.f_user_name}进行物联网表缴费吗?`, ['confirm', 'cancel'])
760
767
  if (res != 'confirm') return
@@ -43,6 +43,11 @@
43
43
  <label class="font_normal_body">结束日期</label>
44
44
  <input v-model="model.f_expiration_date" style="width: 60%" placeholder="保险到期时间" :value.sync='model.f_expiration_date' class="input_search" type="text" >
45
45
  </div>
46
+ <div class="col-sm-4 form-group" >
47
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;邮&nbsp;箱&nbsp;&nbsp;&nbsp;</label>
48
+ <input v-model="model.f_email" class="input_search" placeholder="邮箱" style="width:60%"
49
+ type="text">
50
+ </div>
46
51
  <div class="col-sm-4 form-group" :class="[$v.f_insurance_company.required ? 'has-error' : '']">
47
52
  <label class="font_normal_body" title="参数:保险公司">保险公司</label>
48
53
  <input v-show="false" v-model="$refs.f_insurance_company.selectedItems" v-validate:f_insurance_company='{required: true }'
@@ -86,6 +91,7 @@ export default {
86
91
  f_insurance_company: '',
87
92
  f_insurance_number: '',
88
93
  f_expiration_date: '',
94
+ f_email: '',
89
95
  f_salecount: null,
90
96
  f_money_all: null
91
97
  },
@@ -101,7 +107,7 @@ export default {
101
107
  row: Object
102
108
  },
103
109
  ready () {
104
- if(this.row.f_ins_stop_date && this.row.f_ins_stop_date>Util.toStandardTimeString()){
110
+ if (this.row.f_ins_stop_date && this.row.f_ins_stop_date > Util.toStandardTimeString()) {
105
111
  this.model.f_ins_start_date = this.row.f_ins_stop_date
106
112
  } else {
107
113
  this.model.f_ins_start_date = Util.toStandardTimeString()
@@ -172,7 +178,7 @@ export default {
172
178
  let val = this.$appdata.getSingleValue(this.model.f_insurance_type)
173
179
  console.log(val)
174
180
  this.model.f_money = val || 0
175
- if(this.model.f_salecount){
181
+ if (this.model.f_salecount) {
176
182
  this.getTotal()
177
183
  }
178
184
  },
@@ -205,6 +205,7 @@ let asyncMachineMeterCenter = async function (self) {
205
205
  insurance.f_depid = self.$login.f.depids
206
206
  insurance.f_depname = self.$login.f.deps
207
207
  insurance.f_receivable = self.insurance.f_money_all
208
+ insurance.f_email = self.insurance.f_email
208
209
  insurance.f_userinfo_id = self.row.f_userinfo_id
209
210
  self.model.insurance = insurance
210
211
  // await self.$resetpost('api/af-revenue/logic/saveInsInfo', {data: self.model})
@@ -505,6 +506,12 @@ let asyncMachineMeterCenter = async function (self) {
505
506
  if (!this.insurance.f_insurance_company) {
506
507
  return this.$showMessage('请填写保险公司')
507
508
  }
509
+ if (this.insurance.f_email) {
510
+ const REG_EMAIL = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/
511
+ if (!REG_EMAIL.test(this.insurance.f_email)) {
512
+ return this.$showMessage('请输入正确的邮箱')
513
+ }
514
+ }
508
515
  }
509
516
  this.eticket_msg = false
510
517
  // 如果有变更原因说明有变更
@@ -395,6 +395,7 @@ let initCardGen = async function (self) {
395
395
  insurance.f_depid = self.$login.f.depids
396
396
  insurance.f_depname = self.$login.f.deps
397
397
  insurance.f_receivable = self.insurance.f_money_all
398
+ insurance.f_email = self.insurance.f_email
398
399
  self.model.insurance = insurance
399
400
  // await self.$resetpost('api/af-revenue/logic/saveInsInfo', {data: self.model})
400
401
  }
@@ -797,7 +798,17 @@ export default {
797
798
  return
798
799
  }
799
800
  }
800
-
801
+ if (this.insurance && this.insurance.f_money_all > 0) {
802
+ if (!this.insurance.f_insurance_company) {
803
+ return this.$showMessage('请填写保险公司')
804
+ }
805
+ if (this.insurance.f_email) {
806
+ const REG_EMAIL = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/
807
+ if (!REG_EMAIL.test(this.insurance.f_email)) {
808
+ return this.$showMessage('请输入正确的邮箱')
809
+ }
810
+ }
811
+ }
801
812
  this.clickConfirm = true
802
813
  this.model.f_curbalance = this.curbalance
803
814
  this.model.f_open_fee = this.openFee
@@ -367,6 +367,11 @@ export default {
367
367
  this.close()
368
368
  },
369
369
  async modifyUserIdNumberReason () {
370
+ const idCardReg = /^(?:[1-9]\d{5}(?:18|19|20)\d{2}(?:0[1-9]|1[0-2])(?:0[1-9]|[12]\d|3[01])\d{3}[0-9Xx]|[1-9]\d{5}(?:0[1-9]|1[0-2])(?:0[1-9]|[12]\d|3[01])\d{3})$/
371
+ if (!idCardReg.test(this.newuseridnumber)) {
372
+ this.$showMessage('请输入正确的身份证号码')
373
+ return
374
+ }
370
375
  let param = {
371
376
  new_idnumber: this.newuseridnumber,
372
377
  f_userinfo_id: this.data.f_userinfo_id,
@@ -415,6 +420,11 @@ export default {
415
420
  this.newrentphone = ''
416
421
  },
417
422
  async modifyUser () {
423
+ const phoneReg = /^[1](([3][0-9])|([4][01456789])|([5][012356789])|([6][2567])|([7][0-8])|([8][0-9])|([9][012356789]))[0-9]{8}$/
424
+ if (!phoneReg.test(this.newuserphone)) {
425
+ this.$showMessage('请输入正确的手机号码')
426
+ return
427
+ }
418
428
  let param = {
419
429
  new_userphone: this.newuserphone,
420
430
  f_userinfo_id: this.data.f_userinfo_id,
@@ -434,6 +444,11 @@ export default {
434
444
  this.close()
435
445
  },
436
446
  async modifyUserRent () {
447
+ const phoneReg = /^[1](([3][0-9])|([4][01456789])|([5][012356789])|([6][2567])|([7][0-8])|([8][0-9])|([9][012356789]))[0-9]{8}$/
448
+ if (!phoneReg.test(this.newrentphone)) {
449
+ this.$showMessage('请输入正确的手机号码')
450
+ return
451
+ }
437
452
  let param = {
438
453
  new_rentphone: this.newrentphone,
439
454
  f_userinfo_id: this.data.f_userinfo_id,
@@ -58,4 +58,6 @@ export default function () {
58
58
  Vue.component('record-cancel', (resolve) => { require(['./RecordCancel'], resolve) })
59
59
  // 历史抄表
60
60
  Vue.component('hand-list', (resolve) => { require(['./HandList'], resolve) })
61
+ // 档案完善
62
+ Vue.component('files_complete', (resolve) => { require(['./FilesComplete'], resolve) })
61
63
  }
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/fugou/sale'
5
+ import FilialeSale from './filiale/jinhong/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'
@@ -244,7 +244,9 @@ let CommonService = {
244
244
  totalmoney: cardParams.data.f_collection,
245
245
  stairversion: cardParams.data.f_stairversion,
246
246
  pricedate: cardParams.data.pricedate,
247
- pricetype: cardParams.data.pricetype
247
+ pricetype: cardParams.data.pricetype,
248
+ stairperiod: cardParams.data.stairperiod ? cardParams.data.stairperiod : null,
249
+ stairstartdate: cardParams.data.stairstartdate ? cardParams.data.stairstartdate : null
248
250
  }
249
251
 
250
252
  // 对阶梯进行处理