sale-client 3.6.68 → 3.6.69

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,5 +1,5 @@
1
1
  var path = require('path')
2
- const [localUrl, serverRul] = ['http://121.36.106.17:8400/', 'http://121.36.106.17:8400/']
2
+ const [localUrl, serverRul] = ['http://127.0.0.1:8080/', 'http://192.168.50.4:8400/']
3
3
  var merge = require('webpack-merge')
4
4
  var baseConfig = require('./webpack.dev.conf')
5
5
  var devConfig = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sale-client",
3
- "version": "3.6.68",
3
+ "version": "3.6.69",
4
4
  "description": "收费模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -85,7 +85,7 @@
85
85
  await this.$resetpost('rs/logic/editBook', {
86
86
  f_book_no: this.data.f_book_no,
87
87
  f_userinfo_id: this.data.f_userinfo_id,
88
- f_zzhh: this.data.f_zzhh == -1 ? 13 : this.data.f_zzhh == 24 ? 1 : this.data.f_zzhh + 1
88
+ f_zzhh: this.data.f_zzhh == -1 ? 13 : this.data.f_zzhh == 24 ? 1 : (parseInt(this.data.f_zzhh) + 1)
89
89
  }, {
90
90
  resolveMsg: null,
91
91
  rejectMsg: '折子打印出错!!'
@@ -140,7 +140,7 @@ export default {
140
140
  },
141
141
  methods: {
142
142
  async search () {
143
- this.condition = `${this.$refs.paged.$refs.criteria.condition} and f_userinfo_id = '${this.row.f_userinfo_id}'`
143
+ this.condition = `${this.$refs.paged.$refs.criteria.condition} and f_userfiles_id = '${this.row.f_userfiles_id}'`
144
144
  this.model.search(this.condition, this.model)
145
145
  let http = new HttpResetClass()
146
146
  let res = await http.load('POST', 'rs/sql/singleTable_OrderBy', {
@@ -0,0 +1,456 @@
1
+ <template>
2
+ <div id="unit" class="flex-row">
3
+ <div class="basic-main" @keyup.enter="search">
4
+ <div class="flex">
5
+ <criteria-paged :model="model" v-ref:paged>
6
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
7
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
8
+ <div class="row">
9
+ <div class="col-sm-2 form-group">
10
+
11
+ <label for="startDate" class="font_normal_body" title="开始日期">开始日期</label>
12
+ <datepicker id="startDate" placeholder="开始日期" style="width:60%"
13
+ v-model="model.startDate"
14
+ :value.sync="model.startDate"
15
+ :format="'yyyy-MM-dd HH:mm:ss'"
16
+ condition="da.f_operate_date >= '{}' "
17
+ :show-reset-button="true"
18
+ >
19
+ </datepicker>
20
+ </div>
21
+ <div class="col-sm-2 form-group">
22
+ <label for="endDate" class="font_normal_body" title="结束日期">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;至&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label>
23
+ <datepicker id="endDate" placeholder="结束日期" style="width:60%"
24
+ v-model="model.endDate"
25
+ :value.sync="model.endDate"
26
+ condition="da.f_operate_date <= '{}' "
27
+ :format="'yyyy-MM-dd HH:mm:ss'"
28
+ :show-reset-button="true"
29
+ >
30
+ </datepicker>
31
+ </div>
32
+ <div class="col-sm-2 form-group">
33
+ <label class="font_normal_body">客户编号</label>
34
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_userinfo_code"
35
+ condition="f_userinfo_code = '{}' " placeholder="客户编号">
36
+ </div>
37
+ <div class="col-sm-2 form-group">
38
+ <label class="font_normal_body">客户名称</label>
39
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
40
+ condition="f_user_name = '{}'" placeholder="客户名称">
41
+ </div>
42
+ <div class="span" style="float:right;">
43
+ <button v-if="this.$login.r.includes('批量停用')" class="button_search button_spacing" @click="$parent.$parent.batch_audit()">批量修改</button>
44
+ <button class="button_search button_spacing" @click="search()">查询</button>
45
+ <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
46
+ <div style="float: right" class="button_spacing" :class="{'button_shrink_top':$parent.$parent.criteriaShow,
47
+ 'button_shrink_bottom':!$parent.$parent.criteriaShow}" @click="$parent.$parent.hidden()"></div>
48
+
49
+ </div>
50
+ </div>
51
+
52
+ <div class="row" v-show="$parent.$parent.criteriaShow">
53
+ <res-select-group :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes"
54
+ v-ref:sel></res-select-group>
55
+
56
+ <div class="col-sm-2 form-group">
57
+ <label class="font_normal_body">客户电话</label>
58
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_user_phone"
59
+ condition="f_user_phone like '%{}%'" placeholder="客户电话">
60
+ </div>
61
+ <div class="col-sm-2 form-group">
62
+ <label class="font_normal_body">客户地址</label>
63
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_address"
64
+ condition="f_address like '%{}%'" placeholder='客户地址'>
65
+ </div>
66
+
67
+ <div class="col-sm-2 form-group">
68
+ <label class="font_normal_body">客户类型</label>
69
+ <v-select :value.sync="model.f_user_type"
70
+ @change="$parent.$parent.userTypeChange()"
71
+ :options='$parent.$parent.usertypes' placeholder='请选择' v-model="model.f_user_type"
72
+ condition="f_user_type = '{}'"
73
+ :value-single="true"
74
+ close-on-select></v-select>
75
+ </div>
76
+ <div class="col-sm-2 form-group">
77
+ <label class="font_normal_body">用气性质</label>
78
+ <v-select :value.sync="model.f_gasproperties" v-model="model.f_gasproperties"
79
+ :options='$parent.$parent.gasproperties' placeholder='请选择'
80
+ condition="f_gasproperties = '{}'"
81
+ close-on-select></v-select>
82
+ </div>
83
+ <div class="col-sm-2 form-group">
84
+ <label class="font_normal_body">停用原因</label>
85
+ <v-select :value.sync="model.f_comments" v-model="model.f_comments"
86
+ :options='$parent.$parent.comments' placeholder='请选择'
87
+ condition="da.f_comments = '{}'"
88
+ close-on-select></v-select>
89
+ </div>
90
+ </div>
91
+ </div>
92
+ </criteria>
93
+
94
+ <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid>
95
+ <template partial='head'>
96
+ <tr>
97
+ <th>
98
+ <nobr>序号</nobr>
99
+ </th>
100
+ <th>
101
+ <nobr>客户编号</nobr>
102
+ </th>
103
+ <th>
104
+ <nobr>客户姓名</nobr>
105
+ </th>
106
+ <th>
107
+ <nobr>客户电话</nobr>
108
+ </th>
109
+ <th>
110
+ <nobr>客户地址</nobr>
111
+ </th>
112
+ <th>
113
+ <nobr>客户类型</nobr>
114
+ </th>
115
+ <th>
116
+ <nobr>用气性质</nobr>
117
+ </th>
118
+ <th>
119
+ <nobr>停用原因</nobr>
120
+ </th>
121
+ <th>
122
+ <nobr>所属公司</nobr>
123
+ </th>
124
+ <th>
125
+ <nobr>所属部门</nobr>
126
+ </th>
127
+ <th>
128
+ <nobr>操作人</nobr>
129
+ </th>
130
+ </tr>
131
+ </template>
132
+ <template partial='body'>
133
+ <td style="text-align:center">
134
+ <nobr>{{$index+1}}</nobr>
135
+ </td>
136
+ <td style="text-align: center;">
137
+ <nobr>{{row.f_userinfo_code}}</nobr>
138
+ </td>
139
+ <td style="text-align: center;">
140
+ <nobr>{{row.f_user_name}}</nobr>
141
+ </td>
142
+ <td style="text-align: center;">
143
+ <nobr>{{row.f_user_phone}}</nobr>
144
+ </td>
145
+ <td style="text-align: center;">
146
+ <nobr>{{row.f_address}}</nobr>
147
+ </td>
148
+ <td style="text-align: center;">
149
+ <nobr>{{row.f_user_type}}</nobr>
150
+ </td>
151
+ <td style="text-align: center;">
152
+ <nobr>{{row.f_gasproperties}}</nobr>
153
+ </td>
154
+ <td style="text-align: center;">
155
+ <nobr>{{row.f_comments}}</nobr>
156
+ </td>
157
+ <td style="text-align: center;">
158
+ <nobr>{{row.f_orgname}}</nobr>
159
+ </td>
160
+ <td style="text-align: center;">
161
+ <nobr>{{row.f_depname}}</nobr>
162
+ </td>
163
+ <td style="text-align: center;">
164
+ <nobr>{{row.f_operator}}</nobr>
165
+ </td>
166
+ </template>
167
+ <template partial='foot'></template>
168
+ </data-grid>
169
+ </criteria-paged>
170
+
171
+ <modal v-if="tempfalg" :show.sync="tempfalg" v-ref:modal backdrop="false">
172
+ <header slot="modal-header" class="modal-header">
173
+ <h4 class="modal-title">批量停用</h4>
174
+ </header>
175
+ <article slot="modal-body" class="modal-body">
176
+ <validator name='v'>
177
+ <form class="form-horizontal select-overspread">
178
+ <div class="form-group">
179
+ <label class=" col-sm-3 control-label">停用类型:</label>
180
+ <div class="col-sm-4">
181
+ <v-select v-model="f_disable_type"
182
+ placeholder='请选择'
183
+ :value.sync="disableModel.f_disable_type"
184
+ :options='disableTypes'
185
+ :value-single="true"
186
+ close-on-select clear-button>
187
+ </v-select>
188
+ </div>
189
+ </div>
190
+
191
+ <div class="form-group">
192
+ <label class="col-sm-3 control-label">时间周期:</label>
193
+ <div class="form-group col-sm-3">
194
+ <datepicker
195
+ id="startDate1" placeholder="开始日期" style="width:100%"
196
+ v-model="disableModel.startDate"
197
+ :value.sync="disableModel.startDate"
198
+ :format="'yyyy-MM-dd HH:mm:ss'"
199
+ :show-reset-button="true"
200
+ >
201
+ </datepicker>
202
+ </div>
203
+ <label class="col-sm-1 control-label">&nbsp;&nbsp;&nbsp;至&nbsp;&nbsp;&nbsp;</label>
204
+ <div class="form-group col-sm-3">
205
+
206
+ <datepicker
207
+ id="endDate1" placeholder="结束日期" style="width:100%"
208
+ v-model="disableModel.endDate"
209
+ :value.sync="disableModel.endDate"
210
+ :format="'yyyy-MM-dd HH:mm:ss'"
211
+ :show-reset-button="true"
212
+ >
213
+ </datepicker>
214
+ </div>
215
+ </div>
216
+
217
+ <div v-if="disableModel.f_disable_type === '欠费'" class="form-group">
218
+ <label class=" col-sm-3 control-label">总金额:</label>
219
+ <div class="col-sm-4">
220
+ <input class="form-control" v-model="disableModel.f_totalcost" rows="3"
221
+ disabled
222
+ placeholder="总金额" />
223
+ </div>
224
+ </div>
225
+ <div class="form-group">
226
+ <label class=" col-sm-3 control-label">备注:</label>
227
+ <div class="col-sm-8">
228
+ <textarea class="form-control" v-model="disableModel.f_comments" rows="3"
229
+ placeholder="备注" ></textarea>
230
+ </div>
231
+ </div>
232
+ </form>
233
+ </validator>
234
+ </article>
235
+ <footer slot="modal-footer" class="modal-footer">
236
+ <button v-show="tempfalg" type="button" class="button_search" @click='confirm()'>确认</button>
237
+ <button v-show="tempfalg" type="button" class="button_clear" @click='close'>取消</button>
238
+ </footer>
239
+ </modal>
240
+ </div>
241
+ </div>
242
+ </div>
243
+ </template>
244
+
245
+ <script>
246
+ import {HttpResetClass, PagedList} from 'vue-client'
247
+
248
+ let readySomething = async function (self) {
249
+ self.$refs.paged.$refs.cri.model.startDate = self.$login.toStandardDateString() + ' 00:00:00'
250
+ self.$refs.paged.$refs.cri.model.endDate = self.$login.toStandardDateString() + ' 23:59:59'
251
+ await self.$LoadParams.loadParam()
252
+ self.initParams()
253
+ }
254
+ export default {
255
+ title: '批量停用',
256
+ data() {
257
+ return {
258
+ gasproperties: [],
259
+ showinfo: false,
260
+ data: {},
261
+ show: false,
262
+ rowdata: {},
263
+ initres: {
264
+ org: [this.$login.f.orgid],
265
+ dep: [],
266
+ user: []
267
+ },
268
+ model: new PagedList('rs/sql/batchDisableQuery', 20, {
269
+ startDate: 'this.model.startDate',
270
+ endDate: 'this.model.endDate'
271
+ }),
272
+ resdata: {
273
+ depresid: [],
274
+ userresid: [],
275
+ f_orgid: this.$login.f.orgid,
276
+ f_depid: '',
277
+ f_operatorid: '',
278
+ operatorid: '',
279
+ depid: '',
280
+ orgname: '',
281
+ depname: '',
282
+ operatorname: ''
283
+ },
284
+ criteriaShow: false,
285
+ orgCondtionStr: '',
286
+ // 下拉框
287
+ meterbrands: [],
288
+ prices: [],
289
+ disableModel: {
290
+ f_disable_type: '欠费',
291
+ startDate: '',
292
+ endDate: '',
293
+ f_totalcost: '',
294
+ f_comments: ''
295
+ },
296
+ tempfalg: false,
297
+ flag: false
298
+ }
299
+ },
300
+ ready() {
301
+ readySomething(this).then(() => {
302
+ this.$emit('ready')
303
+ }).catch((error) => {
304
+ this.$emit('error', error)
305
+ })
306
+ },
307
+ methods: {
308
+ search() {
309
+ this.$refs.paged.$refs.cri.search()
310
+ },
311
+ batch_audit () {
312
+ this.tempfalg = true
313
+ this.disableModel.startDate = this.$login.toStandardYearMonth() + '-01 00:00:00'
314
+ this.disableModel.endDate = this.$login.toStandardDateString() + ' 23:59:59'
315
+ },
316
+ close () {
317
+ this.tempfalg = false
318
+ },
319
+ confirm () {
320
+ this.tempfalg = false
321
+ let param = {
322
+ f_disable_type: this.disableModel.f_disable_type,
323
+ startDate: this.disableModel.startDate,
324
+ endDate: this.disableModel.endDate,
325
+ f_totalcost: this.disableModel.f_totalcost,
326
+ f_comments: this.disableModel.f_comments,
327
+ f_operator: this.$login.f.name,
328
+ f_operatorid: this.$login.f.id,
329
+ f_orgid: this.$login.f.orgid,
330
+ f_orgname: this.$login.f.orgs,
331
+ f_depid: this.$login.f.depids,
332
+ f_depname: this.$login.f.deps
333
+ }
334
+ this.$resetpost('rs/logic/owe_disable', {data: param}, {
335
+ rejectMsg: '同步失败',
336
+ resolveMsg: '同步成功'
337
+ })
338
+ },
339
+ cancel() {
340
+ this.flag = false
341
+ },
342
+ showmsg(obj) {
343
+ this.rowdata = obj
344
+ this.show = true
345
+ },
346
+ userTypeChange() {
347
+ this.gasproperties = []
348
+ if (this.$refs.paged.$refs.cri.model !== null) {
349
+ this.$refs.paged.$refs.cri.model.f_gasproperties = ''
350
+ this.gasproperties = this.$appdata.getParam(this.$refs.paged.$refs.cri.model.f_user_type)
351
+ } else {
352
+ this.gasproperties = [{label: '全部', value: ''}]
353
+ }
354
+ },
355
+ async arrearsQuery () {
356
+ let param = {
357
+ startDate: this.disableModel.startDate,
358
+ endDate: this.disableModel.endDate,
359
+ f_orgid: this.$login.f.orgid
360
+ }
361
+ await this.$resetpost('rs/sql/sale_owefees', {data: param}, {
362
+ resolveMsg: null,
363
+ rejectMsg: null
364
+ }).then((res) => {
365
+ if (res && res.data) {
366
+ this.disableModel.f_totalcost = res.data[0].f_oughtfee
367
+ }
368
+ })
369
+ },
370
+ initParams() {
371
+ // 初始化气表品牌
372
+ let brandArr = []
373
+ this.$GetSaleParam.getGasbrand().forEach((item) => {
374
+ let temp = {}
375
+ temp.label = item.label
376
+ temp.value = item.value.id
377
+ brandArr.push(temp)
378
+ })
379
+ this.meterbrands = [{label: '全部', value: ''}, ...brandArr]
380
+ // 初始化气表价格
381
+ this.prices = this.$GetSaleParam.getPrice(this.$login.f.orgid)
382
+ },
383
+ selfSearch(args) {
384
+ args.condition = args.condition + this.orgCondtionStr
385
+ this.model.search(args.condition, args.model)
386
+ },
387
+ clear() {
388
+ // 清空部门和人员
389
+ this.$refs.paged.$refs.cri.$refs.sel.$children[1].selectres = []
390
+ // 部门和人员变为全选
391
+ this.$refs.paged.$refs.cri.$refs.sel.$children[1].$children[0].isSelectAll = false
392
+ this.$refs.paged.$refs.cri.$refs.sel.$children[2].$children[0].isSelectAll = false
393
+ Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
394
+ this.$refs.paged.$refs.cri.model[key] = []
395
+ })
396
+ },
397
+ hidden() {
398
+ this.criteriaShow = !this.criteriaShow
399
+ },
400
+ async getRes (condition, obj) {
401
+ this.orgCondtionStr = condition
402
+ this.orgname = obj.orgnames[0]
403
+ this.depname = obj.depnames[0]
404
+ },
405
+ getRes1 (obj) {
406
+ this.resdata.orgname = obj.res[0]
407
+ this.resdata.depresid = obj.resids
408
+ this.resdata.f_orgid = obj.resids
409
+ this.resdata.userresid = obj.resids
410
+ },
411
+ getdep (obj, val) {
412
+ this.resdata.depname = val
413
+ this.resdata.f_depid = obj
414
+ },
415
+ getuser (obj, val) {
416
+ this.resdata.operatorname = val
417
+ this.resdata.f_operatorid = obj
418
+ }
419
+ },
420
+ events: {},
421
+ watch: {
422
+ 'disableModel.startDate' (val) {
423
+ if (this.disableModel.f_disable_type === '欠费') {
424
+ this.arrearsQuery()
425
+ }
426
+ },
427
+ 'disableModel.endDate' (val) {
428
+ if (this.disableModel.f_disable_type === '欠费') {
429
+ this.arrearsQuery()
430
+ }
431
+ }
432
+ },
433
+ computed: {
434
+ getCondition() {
435
+ return {
436
+ startDate: this.$refs.paged.$refs.cri.model.startDate,
437
+ endDate: this.$refs.paged.$refs.cri.model.endDate,
438
+ condition: `${this.$refs.paged.$refs.cri.condition}` + this.orgCondtionStr,
439
+ condValue: `${this.model.condValue}`
440
+ }
441
+ },
442
+ usertypes() {
443
+ return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('用户类型')]
444
+ },
445
+ disableTypes () {
446
+ return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('停用类型')]
447
+ },
448
+ comments () {
449
+ return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('停用原因')]
450
+ },
451
+ metertypes() {
452
+ return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('气表类型')]
453
+ }
454
+ }
455
+ }
456
+ </script>
@@ -7,7 +7,7 @@
7
7
  <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
8
8
  <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
9
9
  <div class="row">
10
-
10
+ <res-select-group :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>
11
11
  <div class="col-sm-2 form-group">
12
12
  <label for="startDate" class="font_normal_body">抄表日期</label>
13
13
  <datepicker id="startDate" placeholder="开始日期" style="width:60%"
@@ -101,9 +101,9 @@
101
101
  <td style="text-align: center;">
102
102
  <nobr>{{row.f_no_hand}}</nobr>
103
103
  </td>
104
- <td style="text-align: center;">
105
- <nobr>{{row.f_no_hand}}</nobr>
106
- </td>
104
+ <!-- <td style="text-align: center;">-->
105
+ <!-- <nobr>{{row.f_no_hand}}</nobr>-->
106
+ <!-- </td>-->
107
107
  <td style="text-align: center;">
108
108
  <nobr>{{row.f_out_hand}}</nobr>
109
109
  </td>
@@ -117,7 +117,7 @@
117
117
  <nobr>{{row.f_oughtfee}}</nobr>
118
118
  </td>
119
119
  <td style="text-align: center;">
120
- <nobr>{{row.handplansate1}}</nobr>
120
+ <nobr>{{row.f_hand_lv}}</nobr>
121
121
  </td>
122
122
  </template>
123
123
  <template partial='foot'></template>
@@ -210,6 +210,11 @@ export default {
210
210
  })
211
211
  },
212
212
  methods: {
213
+ async getRes (condition, obj) {
214
+ console.log('condition:----------', condition)
215
+ console.log('obj:----------', obj)
216
+ this.orgCondtionStr = condition
217
+ },
213
218
  getotherfooter () {
214
219
  this.other = []
215
220
  this.footer = []
@@ -280,11 +285,6 @@ export default {
280
285
  show () {
281
286
  this.criteriaShow = true
282
287
  },
283
- async getRes (condition, obj) {
284
- console.log('condition:----------', condition)
285
- console.log('obj:----------', obj)
286
- this.orgCondtionStr = condition
287
- }
288
288
  },
289
289
  watch: {
290
290
  'model.rows' (val) {
@@ -19,6 +19,4 @@ export default function () {
19
19
  Vue.component('file-user-files', (resolve) => { require(['./FilesManage/FileUserFiles'], resolve) })
20
20
  // 当前选择用户的用户基本信息
21
21
  Vue.component('sale-userinfo', (resolve) => { require(['./leftview/Userinfo'], resolve) })
22
- // 打印折子
23
- Vue.component('book-bill', (resolve) => { require(['./BookBill'], resolve) })
24
22
  }
@@ -2,97 +2,98 @@
2
2
  <div class="auto">
3
3
  <form class="form-horizontal select-overspread ">
4
4
  <div v-if="!usertype">
5
- <div class="row">
6
- <div class="col-sm-8 form-group">
7
- <label class="font_normal_body" for="f_taxpayer_id">纳税人识别号</label>
8
- <input class="input_search" placeholder="纳税人识别号" style="width:70%" type="text"
9
- v-model="baseinfo.base.f_taxpayer_id" v-next-el="addressphone">
10
- </div>
11
- <div class="col-sm-4 form-group">
12
- <label class="font_normal_body" for="f_paper_name">名&emsp;&emsp;称</label>
13
- <input class="input_search" placeholder="名称" style="width:60%" type="text" v-el:papername
14
- v-model="baseinfo.base.f_paper_name" v-next-el="paperaccount">
15
- </div>
16
- </div>
17
- <div class="row">
18
- <div class="col-sm-8 form-group">
19
- <label class="font_normal_body" for="f_address_phone">地址电话&emsp;&emsp;</label>
20
- <input class="input_search" placeholder="地址-电话" style="width:70%" type="text" v-el:addressphone
21
- v-model="baseinfo.base.f_address_phone" v-next-el="papername">
5
+ <div class="row">
6
+ <div class="col-sm-8 form-group">
7
+ <label class="font_normal_body" for="f_taxpayer_id">纳税人识别号</label>
8
+ <input class="input_search" placeholder="纳税人识别号" style="width:70%" type="text"
9
+ v-model="baseinfo.base.f_taxpayer_id" v-next-el="addressphone">
10
+ </div>
11
+ <div class="col-sm-4 form-group">
12
+ <label class="font_normal_body" for="f_paper_name">名&emsp;&emsp;称</label>
13
+ <input class="input_search" placeholder="名称" style="width:60%" type="text" v-el:papername
14
+ v-model="baseinfo.base.f_paper_name" v-next-el="paperaccount">
15
+ </div>
22
16
  </div>
23
- <div class="col-sm-4 form-group">
24
- <label class="font_normal_body" for="f_paper_type">票据类型</label>
25
- <v-select :options='papertype'
26
- :value-single="true"
27
- :value.sync="baseinfo.base.f_paper_type" close-on-select
28
- placeholder='票据类型'></v-select>
17
+ <div class="row">
18
+ <div class="col-sm-8 form-group">
19
+ <label class="font_normal_body" for="f_address_phone">地址电话&emsp;&emsp;</label>
20
+ <input class="input_search" placeholder="地址-电话" style="width:70%" type="text" v-el:addressphone
21
+ v-model="baseinfo.base.f_address_phone" v-next-el="papername">
22
+ </div>
23
+ <div class="col-sm-4 form-group">
24
+ <label class="font_normal_body" for="f_paper_type">票据类型</label>
25
+ <v-select :options='papertype'
26
+ :value-single="true"
27
+ :value.sync="baseinfo.base.f_paper_type" close-on-select
28
+ placeholder='票据类型'></v-select>
29
+ </div>
29
30
  </div>
30
- </div>
31
- <div class="row">
32
- <div class="col-sm-8 form-group">
33
- <label class="font_normal_body " for="f_paper_account">开户行及账号</label>
34
- <input class="input_search" placeholder="银行名称" style="width:70%" type="text" v-el:paperaccount
35
- v-model="baseinfo.base.f_paper_account">
31
+ <div class="row">
32
+ <div class="col-sm-8 form-group">
33
+ <label class="font_normal_body " for="f_paper_account">开户行及账号</label>
34
+ <input class="input_search" placeholder="银行名称" style="width:70%" type="text" v-el:paperaccount
35
+ v-model="baseinfo.base.f_paper_account">
36
+ </div>
36
37
  </div>
37
38
  </div>
38
- <div class="row">
39
- <div class="col-sm-8 form-group">
40
- <label class="font_normal_body " for="f_paper_account">&emsp;邮&emsp;&emsp;箱&emsp;</label>
41
- <input class="input_search" placeholder="邮箱" style="width:70%" type="text"
42
- v-model="baseinfo.base.f_email">
43
- </div>
44
- </div>
45
- </div>
46
39
  <div v-if="usertype">
47
- <div class="row">
48
- <div class="col-sm-8 form-group">
49
- <label class="font_normal_body" for="f_paper_name">企业名称</label>
50
- <input class="input_search" placeholder="名称" style="width:60%" type="text" v-el:papername
51
- v-model="baseinfo.base.f_paper_name" v-next-el="contactuser">
52
- </div>
53
- <div class="col-sm-4 form-group">
54
- <label class="font_normal_body" for="f_contact_user">企业联系人</label>
55
- <input class="input_search" placeholder="企业联系人" style="width:60%" type="text" v-el:contactuser
56
- v-model="baseinfo.base.f_contact_user" v-next-el="addressphone">
40
+ <div class="row">
41
+ <div class="col-sm-8 form-group">
42
+ <label class="font_normal_body" for="f_paper_name">企业名称</label>
43
+ <input class="input_search" placeholder="名称" style="width:60%" type="text" v-el:papername
44
+ v-model="baseinfo.base.f_paper_name" v-next-el="contactuser">
45
+ </div>
46
+ <div class="col-sm-4 form-group">
47
+ <label class="font_normal_body" for="f_contact_user">企业联系人</label>
48
+ <input class="input_search" placeholder="企业联系人" style="width:60%" type="text" v-el:contactuser
49
+ v-model="baseinfo.base.f_contact_user" v-next-el="addressphone">
50
+ </div>
51
+
57
52
  </div>
53
+ <div class="row">
58
54
 
59
- </div>
60
- <div class="row">
55
+ <div class="col-sm-8 form-group">
56
+ <label class="font_normal_body" for="f_address_phone">联系方式</label>
57
+ <input class="input_search" placeholder="联系方式" style="width:70%" type="text" v-el:addressphone
58
+ v-model="baseinfo.base.f_address_phone" v-next-el="f_address_str">
59
+ </div>
61
60
 
62
- <div class="col-sm-8 form-group">
63
- <label class="font_normal_body" for="f_address_phone">联系方式</label>
64
- <input class="input_search" placeholder="联系方式" style="width:70%" type="text" v-el:addressphone
65
- v-model="baseinfo.base.f_address_phone" v-next-el="f_address_str">
66
- </div>
61
+ <div class="col-sm-8 form-group">
62
+ <label class="font_normal_body" for="f_address_str">详细地址</label>
63
+ <input class="input_search" placeholder="详细地址" style="width:70%" type="text" v-el:f_address_str
64
+ v-model="baseinfo.base.f_address_str" v-next-el="taxpayerid">
65
+ </div>
67
66
 
68
- <div class="col-sm-8 form-group">
69
- <label class="font_normal_body" for="f_address_str">详细地址</label>
70
- <input class="input_search" placeholder="详细地址" style="width:70%" type="text" v-el:f_address_str
71
- v-model="baseinfo.base.f_address_str" v-next-el="taxpayerid">
72
- </div>
67
+ <div class="col-sm-8 form-group">
68
+ <label class="font_normal_body" for="f_taxpayer_id">纳税人识别号</label>
69
+ <input class="input_search" placeholder="纳税人识别号" style="width:70%" type="text" v-el:taxpayerid
70
+ v-model="baseinfo.base.f_taxpayer_id" v-next-el="addressphone">
71
+ </div>
73
72
 
74
- <div class="col-sm-8 form-group">
75
- <label class="font_normal_body" for="f_taxpayer_id">纳税人识别号</label>
76
- <input class="input_search" placeholder="纳税人识别号" style="width:70%" type="text" v-el:taxpayerid
77
- v-model="baseinfo.base.f_taxpayer_id" v-next-el="addressphone">
73
+ <div class="col-sm-4 form-group">
74
+ <label class="font_normal_body" for="f_paper_type">票据类型</label>
75
+ <v-select :options='papertype'
76
+ :value-single="true"
77
+ :value.sync="baseinfo.base.f_paper_type" close-on-select
78
+ placeholder='票据类型'></v-select>
79
+ </div>
78
80
  </div>
79
-
80
- <div class="col-sm-4 form-group">
81
- <label class="font_normal_body" for="f_paper_type">票据类型</label>
82
- <v-select :options='papertype'
83
- :value-single="true"
84
- :value.sync="baseinfo.base.f_paper_type" close-on-select
85
- placeholder='票据类型'></v-select>
81
+ <div class="row">
82
+ <div class="col-sm-8 form-group">
83
+ <label class="font_normal_body " for="f_paper_account">开户行及账号</label>
84
+ <input class="input_search" placeholder="银行名称" style="width:70%" type="text" v-el:paperaccount
85
+ v-model="baseinfo.base.f_paper_account">
86
+ </div>
86
87
  </div>
87
- </div>
88
+ </div>
89
+
88
90
  <div class="row">
89
91
  <div class="col-sm-8 form-group">
90
- <label class="font_normal_body " for="f_paper_account">开户行及账号</label>
91
- <input class="input_search" placeholder="银行名称" style="width:70%" type="text" v-el:paperaccount
92
- v-model="baseinfo.base.f_paper_account">
92
+ <label class="font_normal_body " for="f_paper_account">&emsp;邮&emsp;&emsp;箱&emsp;</label>
93
+ <input class="input_search" placeholder="邮箱" style="width:70%" type="text"
94
+ v-model="baseinfo.base.f_email">
93
95
  </div>
94
96
  </div>
95
- </div>
96
97
  </form>
97
98
  </div>
98
99
  </template>
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 wenxi from './filiale/yuansheng/sale'
6
+ import wenxi from './filiale/tongchuan/sale'
7
7
  // import FilialeSale from './filiale/yuansheng/sale'
8
8
  import address from 'address-client/src/address'
9
9
  import ldap from 'ldap-clients/src/ldap'
@@ -116,7 +116,7 @@ let FileManageService = {
116
116
  meter.f_show_way = meter.f_show_way ? meter.f_show_way[0] : null
117
117
  meter.f_inputtor = meter.f_inputtor.length > 0 ? meter.f_inputtor[0] : null
118
118
  meter.f_gongye_type = meter.f_gongye_type ? meter.f_gongye_type[0] : null
119
- meter.f_userfiles_address = meter.f_userfiles_address ? meter.f_userfiles_address[0] : null
119
+ meter.f_userfiles_address = meter.f_userfiles_address ? meter.f_userfiles_address : null
120
120
  meter.f_install_person = meter.f_install_person.length > 0 ? meter.f_install_person[0] : null
121
121
  meter.f_limit_sms = meter.f_limit_sms == '' ? meter.f_limit_sms = 30 : parseInt(meter.f_limit_sms)
122
122
  meter.f_card_id = meter.f_card_id ? meter.f_card_id : null
package/src/sale.js CHANGED
@@ -367,6 +367,8 @@ export default function () {
367
367
  Vue.component('card-hand', (resolve) => { require(['./components/revenue/HandManager/CardHand'], resolve) })
368
368
  // 机表抄表
369
369
  Vue.component('hand-manager', (resolve) => { require(['./components/revenue/HandManager/HandManager'], resolve) })
370
+ // 批量停用
371
+ Vue.component('batch-disable', (resolve) => { require(['./components/revenue/Common/batchDisable'], resolve) })
370
372
 
371
373
  // 抄表册新增
372
374
  Vue.component('meter-book-add', (resolve) => { require(['./components/revenue/HandManager/MeterBookAdd'], resolve) })
@@ -1,121 +0,0 @@
1
- <template>
2
- <div class="auto form-horizontal" >
3
- <modal :show.sync="show" v-ref:modal large backdrop="false">
4
- <header slot="modal-header" class="modal-header">
5
- <h3 style="color:black" class="modal-title">折子打印</h3>
6
- </header>
7
- <article slot="modal-body" class="modal-body">
8
- <validator name='v'>
9
- <form class="form-horizontal select-overspread">
10
- <div class="row" style="display: flex;justify-content: center;" id='normal-bill' v-if="bill.data">
11
- {{{bill.data}}}
12
- </div>
13
- </form>
14
- </validator>
15
- </article>
16
- <footer slot="modal-footer" class="modal-footer">
17
- <p>将打印在第<input type="number" v-model="data.f_zzhh"/>行</p>
18
- <button type="button" class="btn btn-success" @click='printmai()'>打印</button>
19
- <report-print id='normal-bill' :top='top' left='0mm' width='90%' height='80%' :notrepeat="true" :showbtn="false" v-ref:print></report-print>
20
- <button type="button" class="btn btn-default" @click='cancel()'>取消</button>
21
- </footer>
22
- </modal>
23
- </div>
24
- </template>
25
- <script>
26
- import { DataModel } from 'vue-client'
27
-
28
- let getBillData = async function (self) {
29
- console.log('asdfasf', self.data.f_zzhh)
30
- self.data.content.f_zzhh = `'${self.data.f_zzhh}'`
31
- self.bill = new DataModel(self.url, self.data.content)
32
- console.log(self.bill.url)
33
- let height = self.zzheight - 0.0
34
- let spacing = self.zzspacing - 0.0
35
- let pageRow = self.zzpageRow - 0
36
- let marginTop = self.zzmarginTop - 0
37
- var hh = self.data.f_zzhh
38
- if (hh != -1) {
39
- var top = marginTop + (hh - 1) * height
40
- if (hh > pageRow) { top = top + spacing }
41
- self.top = `${top}mm`
42
- }
43
- await self.bill.search()
44
- }
45
-
46
- export default {
47
- title: '收费发票',
48
- data () {
49
- return {
50
- top: '5mm',
51
- bill: {},
52
- zzheight: this.$appdata.getSingleValue('折子行高') ? this.$appdata.getSingleValue('折子行高') : 4.5,
53
- zzspacing: this.$appdata.getSingleValue('折子中间间距') ? this.$appdata.getSingleValue('折子中间间距') : 23,
54
- zzpageRow: this.$appdata.getSingleValue('每页折子行数') ? this.$appdata.getSingleValue('每页折子行数') : 23,
55
- zzmarginTop: this.$appdata.getSingleValue('折子上边距') ? this.$appdata.getSingleValue('折子上边距') : 11
56
- }
57
- },
58
- props: ['show', 'url', 'data'],
59
- methods: {
60
- cancel () {
61
- this.$dispatch('toggle')
62
- },
63
- async printmai () {
64
- if (this.data.f_zzhh == 1) {
65
- let msg = await this.$showMessage('请注意,当前折子需要翻页,请确认当前页是新的一页', ['confirm', 'cancel'])
66
- if (msg == 'confirm') {
67
- this.print()
68
- }
69
- } else {
70
- this.print()
71
- }
72
- },
73
- async print () {
74
- try {
75
- let height = this.zzheight - 0.0
76
- let spacing = this.zzspacing - 0.0
77
- let pageRow = this.zzpageRow - 0
78
- let marginTop = this.zzmarginTop - 0
79
- var hh = this.data.f_zzhh
80
- if (hh != -1) {
81
- var top = marginTop + (hh - 1) * height
82
- if (hh > pageRow) { top = top + spacing }
83
- this.top = `${top}mm`
84
- }
85
- await this.$resetpost('rs/logic/editBook', {
86
- f_book_no: this.data.f_book_no,
87
- f_userinfo_id: this.data.f_userinfo_id,
88
- f_zzhh: this.data.f_zzhh == -1 ? 1 : this.data.f_zzhh == 12 ? 1 : this.data.f_zzhh + 1
89
- }, {
90
- resolveMsg: null,
91
- rejectMsg: '折子打印出错!!'
92
- })
93
- this.$refs.print.isPrint = true
94
- this.$refs.print.print()
95
- } catch (error) {
96
- this.$dispatch('refresh')
97
- }
98
- }
99
- },
100
- watch: {
101
- 'show' (val) {
102
- if (val) {
103
- getBillData(this).then(() => {
104
- this.$emit('ready')
105
- }).catch((error) => {
106
- this.$emit('error', error)
107
- })
108
- }
109
- }
110
- },
111
- events: {
112
- 'print' () {
113
- // 对票据明细进行更新或插入操作
114
- this.$dispatch('printok', '发票打印', this.data)
115
- },
116
- 'print-error' () {
117
- this.$dispatch('error', '发票打印', this.data, null)
118
- }
119
- }
120
- }
121
- </script>