sale-client 4.0.8-preview → 4.0.10-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.
@@ -1,2 +1,2 @@
1
- #Mon Sep 09 09:42:20 CST 2024
1
+ #Thu Aug 22 10:59:01 CST 2024
2
2
  gradle.version=5.2.1
@@ -19,11 +19,26 @@ var devConfig = {
19
19
  children: false // 不输出子模块构建信息
20
20
  },
21
21
  proxy: {
22
- '/api/af-revenue': {
23
- pathRewrite:{
24
- '/api/af-revenue':'/rs'
22
+ '/api/af-revenue/logic': {
23
+ pathRewrite: {
24
+ '/api/af-revenue/logic': '/logic'
25
25
  },
26
- target: 'http://localhost:8080/'
26
+ target: 'http://localhost:9026/'
27
+ },
28
+ '/api/af-revenue/file': {
29
+ pathRewrite: {
30
+ '/api/af-revenue/file': '/file'
31
+ },
32
+ target: 'http://localhost:9026/'
33
+ },
34
+ '/api/af-revenue/sql': {
35
+ pathRewrite: {
36
+ '/api/af-revenue/sql': '/sql'
37
+ },
38
+ target: 'http://localhost:9026/'
39
+ },
40
+ '/api': {
41
+ target: 'http://192.168.50.67:31567'
27
42
  },
28
43
  '/invoice/rs/logic/getInvoice': {
29
44
  target: serverRul
@@ -37,9 +52,6 @@ var devConfig = {
37
52
  '/rs/file': {
38
53
  target: localUrl
39
54
  },
40
- '/api': {
41
- target: 'http://192.168.50.67:31567'
42
- },
43
55
  '/webapps': {
44
56
  target: serverRul
45
57
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sale-client",
3
- "version": "4.0.8-preview",
3
+ "version": "4.0.10-preview",
4
4
  "description": "收费模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -492,6 +492,14 @@
492
492
  }
493
493
  } else if (type === '垃圾费收费') {
494
494
  name = 'api/af-revenue/report/garbageChargeReport'
495
+ } else if (type === '物联网赠费') {
496
+ name = 'api/af-revenue/report/iotGiftFee'
497
+ }else if (type === '物联网赠气') {
498
+ name = 'api/af-revenue/report/iotGiftGas'
499
+ }else if (type === '卡表赠费') {
500
+ name = 'api/af-revenue/report/icGiftFee'
501
+ }else if (type === '卡表赠费') {
502
+ name = 'api/af-revenue/report/icGiftGas'
495
503
  }
496
504
  return name
497
505
  },
@@ -16,7 +16,6 @@
16
16
  <script>
17
17
  import TabButton from './../comprehen/common/TabButton'
18
18
  import Tabs from './../comprehen/common/Tabs'
19
-
20
19
  export default {
21
20
  name: 'cardHandManager',
22
21
  title: '卡表抄表管理',
@@ -52,6 +52,7 @@
52
52
  <!--<validate-bill v-if="hasValidateBill" :data="model" @validate-bill="validateBill"></validate-bill>-->
53
53
  <!--<print-bill :show="print" :bill-manager='config.hasBillManage' v-ref:printbill :bill-url='billUrl' v-on:toggle="clean" @printok="printok" :data='printModel'></print-bill>-->
54
54
  <!--<print-bill :show="print" :bill-config='config' :bill-data='billData' v-on:toggle="clean" @printok="printok" :data='printModel' v-ref:printbill></print-bill>-->
55
+ <print-bill :show="print" :bill-config='config' :bill-data='billData' :data='data' @toggle="close" @printok="printok" v-ref:printbill></print-bill>
55
56
  </div>
56
57
  <upload :blodid="data.f_userinfo_id" v-if="true" :businessid="randomBusinessId" isremark="true" fusetype="补气"></upload>
57
58
  </template>
@@ -59,7 +60,10 @@
59
60
 
60
61
  <script>
61
62
  import Vue from 'vue'
62
-
63
+ let asyncFeeMachine = async function (self) {
64
+ await self.$getConfig(self, 'feeMachine')
65
+ console.log('机表补费扣费config', self.config)
66
+ }
63
67
  export default {
64
68
  title: '机表补费扣费',
65
69
  data () {
@@ -76,8 +80,16 @@ export default {
76
80
  f_preamount: 0,
77
81
 
78
82
  f_comments: ''
79
- }
80
-
83
+ },
84
+ config: {
85
+ hasPrint: true
86
+ },
87
+ billData: {
88
+ url: 'api/af-revenue/report/MakeUp',
89
+ operator: this.$login.f.name,
90
+ billnumber: ''
91
+ },
92
+ print: false
81
93
  }
82
94
  },
83
95
  props: ['data'],
@@ -86,6 +98,7 @@ export default {
86
98
  // if(this.data.f_collection_type==='按气量'){
87
99
  this.model.f_operat_type = ['机表补费']
88
100
  this.getRandomId()
101
+ asyncFeeMachine(this)
89
102
  // }else{
90
103
  // this.model.f_operat_type=['物联网补费']
91
104
  // }
@@ -153,9 +166,19 @@ export default {
153
166
  }
154
167
  console.log('-------------------------->', data1)
155
168
  this.$resetpost('api/af-revenue/logic/updatefiles', data1)
156
- this.clean()
169
+ if (this.config.hasPrint) {
170
+ this.data.id = res.data.id
171
+ this.data.f_bill_type = '机表补费扣费'
172
+ this.data.f_bill_style = '普通收据'
173
+ this.print = true
174
+ } else {
175
+ this.clean()
176
+ }
157
177
  })
158
178
  },
179
+ printok () {
180
+ this.$dispatch('success')
181
+ },
159
182
  clean () {
160
183
  this.$dispatch('refresh')
161
184
  }
@@ -47,6 +47,7 @@
47
47
  <button class="button_clear" @click="clean()" >取消</button>
48
48
  </div>
49
49
  </validator>
50
+ <print-bill :show="print" :bill-config='config' :bill-data='billData' :data='row' @toggle="close" @printok="printok" v-ref:printbill></print-bill>
50
51
  </div>
51
52
  </div>
52
53
  <upload :blodid="row.f_userinfo_id" :businessid="randomBusinessId" isremark="true" fusetype="赠气"></upload>
@@ -99,6 +100,12 @@ let otherGasGen = async function (self) {
99
100
  throw new Error(`卡服务错误:${cardRes.data.Err}${cardRes.data.Exception},请联系开发人员处理!!`)
100
101
  } else {
101
102
  await self.$CommonService.updatePassword(self.row, cardRes)
103
+ if (self.config.hasPrint) {
104
+ self.row.id = result.data.id
105
+ self.row.f_bill_type = self.isGas ? '卡表赠气' : '卡表赠费'
106
+ self.row.f_bill_style = '普通收据'
107
+ self.print = true
108
+ }
102
109
  self.$showAlert('赠气成功', 'success', 2000)
103
110
  return result.data.id
104
111
  }
@@ -114,6 +121,10 @@ let otherGasGen = async function (self) {
114
121
  await self.$resetpost('api/af-revenue/logic/otherGasRollback', {data: rollback}, {rejectMsg: '赠气回滚出错', resolveMsg: null})
115
122
  }
116
123
  }
124
+ let asyncIcTable = async function (self) {
125
+ await self.$getConfig(self, 'iotTable')
126
+ console.log('机表补费扣费config', self.config)
127
+ }
117
128
 
118
129
  export default {
119
130
  title: '卡表赠气赠费',
@@ -135,6 +146,14 @@ export default {
135
146
  f_reason: ''
136
147
  // f_add_gas: '不计入'
137
148
  },
149
+ config: {
150
+ hasPrint: true
151
+ },
152
+ billData: {
153
+ url: 'api/af-revenue/report/icGiftGas',
154
+ operator: this.$login.f.name,
155
+ billnumber: ''
156
+ },
138
157
  print: false
139
158
  }
140
159
  },
@@ -144,6 +163,12 @@ export default {
144
163
  this.row.cardInfo = this.cardData
145
164
  console.log('卡信息', this.row.cardInfo)
146
165
  this.getRandomId()
166
+ asyncIcTable(this)
167
+ if (this.isGas) {
168
+ this.billData.url = 'api/af-revenue/report/icGiftGas'
169
+ } else {
170
+ this.billData.url = 'api/af-revenue/report/icGiftFee'
171
+ }
147
172
  },
148
173
  events: {
149
174
  // 删除Resid数组元素
@@ -51,6 +51,7 @@
51
51
  <!--<validate-bill v-if="hasValidateBill" :data="model" @validate-bill="validateBill"></validate-bill>-->
52
52
  <!--<print-bill :show="print" :bill-manager='config.hasBillManage' v-ref:printbill :bill-url='billUrl' v-on:toggle="clean" @printok="printok" :data='printModel'></print-bill>-->
53
53
  <!--<print-bill :show="print" :bill-config='config' :bill-data='billData' v-on:toggle="clean" @printok="printok" :data='printModel' v-ref:printbill></print-bill>-->
54
+ <print-bill :show="print" :bill-config='config' :bill-data='billData' :data='row' @toggle="close" @printok="printok" v-ref:printbill></print-bill>
54
55
  </div>
55
56
  <upload :blodid="row.f_userinfo_id" v-ref:upload :businessid="randomBusinessId" :isremark="true" fusetype="赠气"></upload>
56
57
 
@@ -59,7 +60,10 @@
59
60
 
60
61
  <script>
61
62
  import Vue from 'vue'
62
-
63
+ let asyncIotTable = async function (self) {
64
+ await self.$getConfig(self, 'iotTable')
65
+ console.log('机表补费扣费config', self.config)
66
+ }
63
67
  export default {
64
68
  title: '赠气赠费',
65
69
  data () {
@@ -76,19 +80,33 @@ export default {
76
80
  f_preamount: 0,
77
81
 
78
82
  f_comments: ''
79
- }
80
-
83
+ },
84
+ config: {
85
+ hasPrint: true
86
+ },
87
+ billData: {
88
+ url: 'api/af-revenue/report/iotGiftGas',
89
+ operator: this.$login.f.name,
90
+ billnumber: ''
91
+ },
92
+ print: false
81
93
  }
82
94
  },
83
95
  props: ['row'],
84
96
  ready () {
85
97
  // this.blodid = this.row.f_userinfo_id
86
98
  this.getRandomId()
99
+ asyncIotTable(this)
87
100
  if (this.row.f_collection_type === '按气量') {
88
101
  this.model.f_operat_type = ['物联网赠气']
89
102
  } else {
90
103
  this.model.f_operat_type = ['物联网赠费']
91
104
  }
105
+ if (this.row.f_collection_type === '按气量') {
106
+ this.billData.url = 'api/af-revenue/report/iotGiftGas'
107
+ } else {
108
+ this.billData.url = 'api/af-revenue/report/iotGiftFee'
109
+ }
92
110
  },
93
111
  events: {
94
112
  // 删除Resid数组元素
@@ -135,7 +153,7 @@ export default {
135
153
  f_card_id: this.row.f_card_id,
136
154
  f_balance: this.row.f_balance_amount,
137
155
  f_operat_type: this.model.f_operat_type[0],
138
- f_describe: `${this.$login.f.name}对用户${this.row.f_user_name}进行${this.model.f_operat_type}操作`,
156
+ f_describe: `${this.$login.f.name}对用户${this.row.f_user_name}进行${this.model.f_operat_type[0]}操作`,
139
157
  f_state: '有效'
140
158
  // f_table_state:'有效'
141
159
  }
@@ -152,9 +170,19 @@ export default {
152
170
  f_blobid: res.data.id
153
171
  }
154
172
  this.$resetpost('api/af-revenue/logic/updatefiles', data)
155
- this.clean()
173
+ if (this.config.hasPrint) {
174
+ this.row.id = res.data.id
175
+ this.row.f_bill_type = this.row.f_collection_type === '按气量' ? '物联网赠气' : '物联网赠费'
176
+ this.row.f_bill_style = '普通收据'
177
+ this.print = true
178
+ } else {
179
+ this.clean()
180
+ }
156
181
  })
157
182
  },
183
+ printok () {
184
+ this.$dispatch('success')
185
+ },
158
186
  clean () {
159
187
  this.$dispatch('refresh')
160
188
  }
@@ -86,9 +86,9 @@
86
86
  style="width: 60%" v-model="model.f_hand_end_date">
87
87
  </datepicker>
88
88
  </div>
89
- <div :class="[$v.f_period.required ? 'has-error' : 'has-success']" class="col-sm-6 form-group">
90
- <input class="input_search" style="width:60%" type="text" v-model="model.f_period" v-show="false"
91
- v-validate:f_period='{required: true }'>
89
+ <div :class="[$v.f_book_state.required ? 'has-error' : 'has-success']" class="col-sm-6 form-group">
90
+ <input class="input_search" style="width:60%" type="text" v-model="model.f_book_state" v-show="false"
91
+ v-validate:f_book_state='{required: true }'>
92
92
  <label class="font_normal_body">表&emsp;册&emsp;状&emsp;态&emsp;</label>
93
93
  <v-select :value.sync="model.f_book_state" v-model='model.f_book_state'
94
94
  style="width:55%"
@@ -76,24 +76,24 @@
76
76
  </template>
77
77
  <template partial='body' partial='list' v-ref:grid>
78
78
  <tr >
79
- <td style="text-align:center">{{row.f_userinfo_code}}</td>
80
- <td style="text-align:center">{{row.f_user_name}}</td>
81
- <td style="text-align:center">{{row.f_address}}</td>
82
- <td style="text-align:center">{{row.f_last_tablebase}}</td>
83
- <td style="text-align:center">{{row.f_tablebase}}</td>
84
- <td style="text-align:center">{{row.f_type== '机表收费'? '' : row.gas}}</td>
85
- <td style="text-align:center;white-space:nowrap;">{{row.f_type == '机表收费'? '' : row.fee}}</td>
86
- <td style="text-align:center;white-space:nowrap;">{{row.f_type == '余额抵扣'? '' : row.f_collection}}</td>
87
- <td style="text-align:center;white-space:nowrap;">{{row.f_overdue}}</td>
88
- <td style="text-align:center;white-space:nowrap;">{{row.f_balance}}</td>
89
- <td style="text-align:center;white-space:nowrap;">
79
+ <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center">{{row.f_userinfo_code}}</td>
80
+ <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center">{{row.f_user_name}}</td>
81
+ <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center">{{row.f_address}}</td>
82
+ <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center">{{row.f_last_tablebase}}</td>
83
+ <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center">{{row.f_tablebase}}</td>
84
+ <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center">{{row.f_type== '机表收费'? '' : row.gas}}</td>
85
+ <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center;white-space:nowrap;">{{row.f_type == '机表收费'? '' : row.fee}}</td>
86
+ <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center;white-space:nowrap;">{{row.f_type == '余额抵扣'? '' : row.f_collection}}</td>
87
+ <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center;white-space:nowrap;">{{row.f_overdue}}</td>
88
+ <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center;white-space:nowrap;">{{row.f_balance}}</td>
89
+ <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center;white-space:nowrap;">
90
90
  {{ row.f_type == '余额抵扣'? (row.f_balance - row.fee).toFixed(1) : row.f_curbalance }}
91
91
  </td>
92
- <td style="text-align:center">{{row.f_type}}</td>
93
- <td style="text-align:center">{{row.f_operator}}</td>
94
- <td style="text-align:center">{{row.f_operate_date}}</td>
95
- <td style="text-align:center">{{row.f_state}}</td>
96
- <td style="text-align:center">{{row.f_comments}}</td>
92
+ <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center">{{row.f_type}}</td>
93
+ <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center">{{row.f_operator}}</td>
94
+ <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center">{{row.f_operate_date}}</td>
95
+ <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center">{{row.f_state}}</td>
96
+ <td :class="{'bg-danger' : row.f_whether_pay === '否' }" style="text-align:center">{{row.f_comments}}</td>
97
97
  </tr>
98
98
  </template>
99
99
  <template partial='foot'></template>
@@ -112,6 +112,9 @@
112
112
  <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px">
113
113
  金额合计:&emsp;{{model.sums.fee.toFixed(2)}}
114
114
  </td>
115
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px">
116
+ 缴费合计:&emsp;{{model.sums.collection.toFixed(2)}}
117
+ </td>
115
118
  </tr>
116
119
  </table>
117
120
  </div>
@@ -173,11 +176,16 @@
173
176
  let feeTotal = res.data.reduce((sum, row) => {
174
177
  return row.f_type === '机表收费' ? sum : sum + (row.fee || 0);
175
178
  }, 0);
179
+ // 计算缴费总和
180
+ let collectionTotal = res.data.reduce((sum, row) => {
181
+ return sum + (row.f_collection || 0)
182
+ }, 0)
176
183
 
177
184
  this.printModel.rows = res.data
178
185
  this.model.sums = {
179
186
  gas: gasTotal,
180
- fee: feeTotal
187
+ fee: feeTotal,
188
+ collection: collectionTotal
181
189
  }
182
190
  },
183
191
  // 多选框初始化
@@ -147,7 +147,7 @@ export default {
147
147
  return {
148
148
  disabled: true,
149
149
  model: {
150
- f_third_pay: '0',
150
+ f_third_pay: '1',
151
151
  f_time_type: '按月',
152
152
  f_limit_times: '',
153
153
  f_time_value: '',
@@ -192,7 +192,7 @@ export default {
192
192
  confirm () {
193
193
  this.$dispatch('limit', this.model)
194
194
  this.model = {
195
- f_third_pay: '0',
195
+ f_third_pay: '1',
196
196
  f_time_type: '按月',
197
197
  f_limit_times: '',
198
198
  f_time_value: '',
@@ -211,7 +211,7 @@ export default {
211
211
  }
212
212
  await this.$resetpost('api/af-revenue/logic/runSQL', data)
213
213
  this.model = {
214
- f_third_pay: '0',
214
+ f_third_pay: '1',
215
215
  f_time_type: '按月',
216
216
  f_limit_times: '',
217
217
  f_time_value: '',
@@ -844,6 +844,15 @@ export default {
844
844
  return
845
845
  }
846
846
  }
847
+ if (this.row.f_meter_brand.includes('膜表')) {
848
+ console.log('判断一下', this.row)
849
+ let a = this.config.castInt ? parseInt(this.model.f_using_base_old) : this.model.f_using_base_old
850
+ let b = this.config.castInt ? parseInt(this.row.f_meter_base) : this.row.f_meter_base
851
+ if (a < b) {
852
+ this.$showMessage(`膜表旧表底数不能小于系统表当前表底数!!!`, ['cancel'], 3000)
853
+ this.model.f_using_base_old = ''
854
+ }
855
+ }
847
856
  if ((this.row.f_meter_type.includes('机表') || this.row.f_meter_type.includes('物联网表')) && msg) {
848
857
  this.$showMessage(msg, ['confirm', 'cancel']).then((res) => {
849
858
  if (res === 'confirm') {
@@ -327,6 +327,9 @@
327
327
  <th>
328
328
  <nobr>表号</nobr>
329
329
  </th>
330
+ <th>
331
+ <nobr>防盗卡号</nobr>
332
+ </th>
330
333
  <th>
331
334
  <nobr>表前阀状态</nobr>
332
335
  </th>
@@ -497,6 +500,9 @@
497
500
  <td style="text-align: center;">
498
501
  <nobr>{{row.f_meternumber}}</nobr>
499
502
  </td>
503
+ <td style="text-align: center;">
504
+ <nobr>{{row.f_defendcard}}</nobr>
505
+ </td>
500
506
  <td style="text-align: center;">
501
507
  <nobr>{{row.f_bqf_state}}</nobr>
502
508
  </td>
@@ -866,7 +872,8 @@
866
872
  'f_stair3amount': '三阶气量',
867
873
  'f_stair3price': '三阶单价',
868
874
  'f_stair3fee': '三阶气费',
869
- 'f_rest_date': '所属年月'}
875
+ 'f_rest_date': '所属年月',
876
+ 'f_defendcard': '防盗卡号'}
870
877
  },
871
878
  batchBankConfig2: {'f_userinfo_code': '客户编号',
872
879
  'f_userinfo_id': '用户编号',
@@ -0,0 +1,504 @@
1
+ <template>
2
+ <div>
3
+ <div style="flex: 1.5" class="flex">
4
+ <div class="flex">
5
+ <criteria-paged :model="model" v-ref:paged @sort="sort">
6
+ <criteria partial='criteria' v-ref:criteria @condition-changed="$parent.selfSearch"
7
+ v-show="$parent.searchshow">
8
+ <div novalidate class="form-inline auto" partial>
9
+ <!-- <div class="col-sm-2 form-group">-->
10
+ <!-- <label class="font_normal_body">组织机构</label>-->
11
+ <!-- <res-select :initresid='$parent.$parent.curorgid'-->
12
+ <!-- @res-select="$parent.$parent.getorg"-->
13
+ <!-- class="select select_list"-->
14
+ <!-- restype='organization'-->
15
+ <!-- style="width: 60%">-->
16
+ <!-- </res-select>-->
17
+ <!-- </div>-->
18
+ <div class="row">
19
+ <div :class="{'col-sm-2':!$parent.$parent.editList,'col-sm-4':$parent.$parent.editList}"
20
+ class="form-group">
21
+ <label class="font_normal_body">客户编号</label>
22
+ <input type="text" class="input_search" style="width: 60%" v-model="model.f_userinfo_code"
23
+ condition="f_userinfo_code = '{}'" placeholder='客户编号'>
24
+ </div>
25
+ <div :class="{'col-sm-2':!$parent.$parent.editList,'col-sm-4':$parent.$parent.editList}"
26
+ class="form-group">
27
+ <label class="font_normal_body">表&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号</label>
28
+ <input type="text" class="input_search" style="width: 60%" v-model="model.f_meternumber"
29
+ condition="f_meternumber = '{}'" placeholder='表号'>
30
+ </div>
31
+ <div class="span" style="float:right;">
32
+ <button class="button_search" @click="search()">查 询</button>
33
+ <export-excel v-if="$parent.$parent.excelTable"
34
+ class="auto"
35
+ :data="{condition: $parent.$parent.condition,orderitem: $parent.$parent.orderitem}"
36
+ :field="$parent.$parent.getfield"
37
+ sqlurl="rs/logic/saleExport" progress="saleGetExportProgress" sql-name="changemeterFiles"
38
+ template-name='换表记录'
39
+ :choose-col="true"></export-excel>
40
+ <div
41
+ :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
42
+ @click="$parent.$parent.hidden()"
43
+ class="button_spacing"
44
+ style="float: right"></div>
45
+ </div>
46
+ </div>
47
+ <div class="row" v-if="$parent.$parent.criteriaShow">
48
+ <res-select-group :initres="$parent.$parent.initres" :show-component="['company','department']" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>
49
+ <div :class="{'col-sm-2':!$parent.$parent.editList,'col-sm-4':$parent.$parent.editList}"
50
+ class="form-group">
51
+ <label class="font_normal_body">客户姓名</label>
52
+ <input type="text" class="input_search" style="width: 60%" v-model="model.f_user_name"
53
+ condition="f_user_name = '{}'" placeholder='客户姓名'>
54
+ </div>
55
+ <div :class="{'col-sm-2':!$parent.$parent.editList,'col-sm-4':$parent.$parent.editList}"
56
+ class="form-group">
57
+ <label class="font_normal_body">有无附件</label>
58
+ <v-select :disabled=false
59
+ :options='$parent.$parent.pj'
60
+ :value-single="true"
61
+ :value.sync="model.is_has_file"
62
+ close-on-select
63
+ placeholder='请选择'
64
+ v-model="model.is_has_file"
65
+ condition="is_has_file = '{}'"
66
+ search=fasle
67
+ >
68
+ </v-select>
69
+ </div>
70
+ <!-- <div-->
71
+ <!-- :class="{'col-sm-2':!$parent.$parent.editList,'col-sm-4':$parent.$parent.editList}"-->
72
+ <!-- class="form-group">-->
73
+ <!-- <label class="font_normal_body">换表编号</label>-->
74
+ <!-- <input type="text" class="input_search" style="width: 60%" v-model="model.id"-->
75
+ <!-- condition="id = '{}'" placeholder='用户编号'>-->
76
+ <!-- </div>-->
77
+ <div :class="{'col-sm-2':!$parent.$parent.editList,'col-sm-4':$parent.$parent.editList}"
78
+ class="form-group">
79
+ <label class="font_normal_body">气表品牌</label>
80
+ <v-select id="f_meter_brand"
81
+ v-model="model.f_meter_brand"
82
+ placeholder='气表品牌'
83
+ :value.sync="model.f_meter_brand"
84
+ :options='$parent.$parent.meterbrand'
85
+ condition="f_meter_brand = '{}'"
86
+ close-on-select style="width: 60%"></v-select>
87
+ </div>
88
+ <div
89
+ :class="{'col-sm-2':!$parent.$parent.editList,'col-sm-4':$parent.$parent.editList}"
90
+ class="form-group">
91
+ <label class="font_normal_body">开始日期</label>
92
+ <datepicker placeholder="开始日期" v-model="model.startDate" :value.sync="model.startDate" style="width:60%"
93
+ :format="'yyyy-MM-dd 00:00:00'" condition="f_operate_date >= '{}'">
94
+ </datepicker>
95
+ </div>
96
+ <div
97
+ :class="{'col-sm-2':!$parent.$parent.editList,'col-sm-4':$parent.$parent.editList}"
98
+ class="form-group">
99
+ <label class="font_normal_body">结束日期</label>
100
+ <datepicker placeholder="结束日期" v-model="model.endDate" :value.sync="model.endDate" style="width:60%"
101
+ :format="'yyyy-MM-dd 23:59:59'" condition="f_operate_date <= '{}'">
102
+ </datepicker>
103
+ </div>
104
+ </div>
105
+ </div>
106
+
107
+ </criteria>
108
+ <data-grid :model="model" v-ref:grid class="list_area table_sy" partial='list'>
109
+ <template partial='head'>
110
+ <tr>
111
+ <th>
112
+ <nobr>序号</nobr>
113
+ </th>
114
+ <th>
115
+ <nobr>客户编号</nobr>
116
+ </th>
117
+ <th>
118
+ <nobr>客户名称</nobr>
119
+ </th>
120
+ <th>
121
+ <nobr>客户地址</nobr>
122
+ </th>
123
+ <th>
124
+ <nobr>换表类型</nobr>
125
+ </th>
126
+ <th>
127
+ <nobr>换表费</nobr>
128
+ </th>
129
+ <th>
130
+ <nobr>换表单号</nobr>
131
+ </th>
132
+ <th>
133
+ <nobr>旧表号</nobr>
134
+ </th>
135
+ <th>
136
+ <nobr>新表号</nobr>
137
+ </th>
138
+ <th>
139
+ <nobr>旧气表品牌</nobr>
140
+ </th>
141
+ <th>
142
+ <nobr>新气表品牌</nobr>
143
+ </th>
144
+ <th>
145
+ <nobr>旧表剩余补气量</nobr>
146
+ </th>
147
+ <th>
148
+ <nobr>旧表具剩余金额</nobr>
149
+ </th>
150
+ <th>
151
+ <nobr>换表原因</nobr>
152
+ </th>
153
+ <th>
154
+ <nobr>其他备注</nobr>
155
+ </th>
156
+ <th>
157
+ <nobr>换表人</nobr>
158
+ </th>
159
+ <th>
160
+ <nobr>状态</nobr>
161
+ </th>
162
+ <th>
163
+ <data-order field="f_operate_date" name="换表日期"></data-order>
164
+ </th>
165
+ <th>
166
+ <nobr>人员</nobr>
167
+ </th>
168
+ <th>
169
+ <nobr>部门</nobr>
170
+ </th>
171
+ <th>
172
+ <nobr>公司</nobr>
173
+ </th>
174
+ <th><nobr>附件</nobr></th>
175
+ </tr>
176
+ </template>
177
+ <template partial='body'>
178
+ <td style="text-align: center;"><nobr>{{$index + 1}}</nobr></td>
179
+ <td style="text-align: center;"><nobr>
180
+ {{row.f_userinfo_code}}
181
+ </nobr> </td>
182
+ <td style="text-align: center;">
183
+ <nobr>{{row.f_user_name}}</nobr>
184
+ </td>
185
+ <td style="text-align: center;">
186
+ <nobr>{{row.f_address}}</nobr>
187
+ </td>
188
+ <td style="text-align: center;">
189
+ <nobr>{{row.f_type}}</nobr>
190
+ </td>
191
+ <td style="text-align: center;">
192
+ <nobr>{{row.f_changemeter_fee}}</nobr>
193
+ </td>
194
+ <td style="text-align: center;">
195
+ <nobr>{{row.f_serial_number}}</nobr>
196
+ </td>
197
+ <td style="text-align: center;">
198
+ <nobr>{{row.f_meternumber_old}}</nobr>
199
+ </td>
200
+ <td style="text-align: center;">
201
+ <nobr>{{row.f_meternumber}}</nobr>
202
+ </td>
203
+ <td style="text-align: center;">
204
+ <nobr>{{row.f_meter_brand_old}}</nobr>
205
+ </td>
206
+ <td style="text-align: center;">
207
+ <nobr>{{row.f_meter_brand}}</nobr>
208
+ </td>
209
+ <td style="text-align: center;">
210
+ <nobr>{{row.f_remanent_gas}}</nobr>
211
+ </td>
212
+ <td style="text-align: center;">
213
+ <nobr>{{row.f_remanent_money}}</nobr>
214
+ </td>
215
+ <td style="text-align: center;">
216
+ <nobr>{{row.f_comments}}</nobr>
217
+ </td>
218
+ <td style="text-align: center;">
219
+ <nobr>{{row.f_othereason}}</nobr>
220
+ </td>
221
+ <td style="text-align: center;">
222
+ <nobr>{{row.f_change_operator}}</nobr>
223
+ </td>
224
+ <td style="text-align: center;">
225
+ <nobr>{{row.f_state}}</nobr>
226
+ </td>
227
+ <td style="text-align: center;">
228
+ <nobr>{{row.f_operate_date}}</nobr>
229
+ </td>
230
+ <td style="text-align: center;">
231
+ <nobr>{{row.f_operator}}</nobr>
232
+ </td>
233
+ <td style="text-align: center;">
234
+ <nobr>{{row.f_depname}}</nobr>
235
+ </td>
236
+ <td style="text-align: center;">
237
+ <nobr>{{row.f_orgname}}</nobr>
238
+ </td>
239
+ <td style="text-align: center;"><nobr>
240
+ <button v-if="row.is_has_file=='是'" class="btn btn-link" @click.stop="$parent.$parent.$parent.view(row)">查看</button>
241
+ </nobr></td>
242
+ </template>
243
+ </data-grid>
244
+ </criteria-paged>
245
+ </div>
246
+ </div>
247
+ </div>
248
+ </template>
249
+
250
+ <script>
251
+ import {PagedList} from 'vue-client'
252
+ const myMap = new Map()
253
+ let asyncReadyGen = async function (self) {
254
+ await self.initQueryParam()
255
+ }
256
+ export default {
257
+ 'title': '',
258
+ data () {
259
+ return {
260
+ model: new PagedList('rs/sql/changemeterFiles', 20, {orderitem: '"f_operate_date DESC"'}),
261
+ pj: this.$appdata.getParam('是否有附件') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('是否有附件')] : [],
262
+ // 控制查询条件显示
263
+ searchshow: true,
264
+ curorgid: [this.$login.f.orgid],
265
+ criteriaShow: false,
266
+ f_orgid: '',
267
+ condition: '',
268
+ // 排序
269
+ orderitem: 'f_operate_date desc',
270
+ orderFields: {
271
+ f_operate_date: 'no'
272
+ },
273
+ // 控制样式
274
+ editList: false,
275
+ excelTable: true,
276
+ getfield: {
277
+ 'f_userinfo_code': '客户编号',
278
+ 'f_user_name': '客户名称',
279
+ 'f_address': '客户地址',
280
+ 'f_type': '换表类型',
281
+ 'f_changemeter_fee': '换表费',
282
+ 'f_meternumber_old': '旧表号',
283
+ 'f_meternumber': '新表号',
284
+ 'f_meter_brand_old': '旧气表品牌',
285
+ 'f_meter_brand': '新气表品牌',
286
+ 'f_remanent_gas': '旧表剩余补气量',
287
+ 'f_remanent_money': '旧表剩余金额',
288
+ 'f_comments': '换表原因',
289
+ 'f_othereason': '其他备注',
290
+ 'f_change_operator': '换表人',
291
+ 'f_state': '状态',
292
+ 'f_operate_date': '换表日期',
293
+ 'f_operator': '人员',
294
+ 'f_depname': '所属部门',
295
+ 'f_orgname': '所属公司',
296
+ 'f_serial_number': '换表单号'
297
+ },
298
+ meterbrand: [],
299
+ initres: {
300
+ org: [this.$login.f.orgid],
301
+ dep: [],
302
+ user: []
303
+ },
304
+ whetherPay: [{label: '全部', value: ''}, {label: '是', value: '是'}, {label: '否', value: '否'}],
305
+ da: {
306
+ rows: []
307
+ },
308
+ f_meternumber: ''
309
+ }
310
+ },
311
+ ready () {
312
+ asyncReadyGen(this)
313
+ this.search()
314
+ // this.getwarehouse()
315
+ },
316
+ props: ['showMessage'],
317
+ methods: {
318
+ getorg (val) {
319
+ this.f_orgid = this.$login.convertToIn(val)
320
+ this.f_filialeid = val[0]
321
+ },
322
+ async getRes (condition, obj) {
323
+ this.orgCondtionStr = condition
324
+ this.orgname = obj.orgnames[0]
325
+ this.depname = obj.depnames[0]
326
+
327
+ },
328
+ initQueryParam () {
329
+ let arr = []
330
+ this.$GetSaleParam.getGasbrand().forEach((item) => {
331
+ let temp = {}
332
+ temp.label = item.label
333
+ temp.value = item.value.f_meter_brand
334
+ arr.push(temp)
335
+ })
336
+ this.meterbrand = [{label: '全部', value: ''}, ...arr]
337
+ },
338
+ view (row) {
339
+ this.$parent.showupload = true
340
+ this.$parent.row = row
341
+ },
342
+ init () {
343
+ this.f_meternumber = ''
344
+ this.da.rows = []
345
+ myMap.clear()
346
+ },
347
+ cancelSet () {
348
+ this.showSetModal = false
349
+ this.init()
350
+ },
351
+
352
+ jump () {
353
+ this.joinshow2 = false
354
+ this.showSetModal = true
355
+ },
356
+ async getwarehouse () {
357
+
358
+ },
359
+ hidden () {
360
+ this.criteriaShow = !this.criteriaShow
361
+ },
362
+ join1 (row) {
363
+ this.joinrow = row
364
+ this.joinshow = true
365
+ },
366
+
367
+ joinclose () {
368
+ this.joinshow = false
369
+ },
370
+ joinclose2 () {
371
+ this.joinshow2 = false
372
+ },
373
+
374
+ sort (field, rule) {
375
+ // 将所有排序方式设为不排序,实现相互排斥
376
+ for (let key in this.orderFields) {
377
+ if (key === field) {
378
+ this.orderFields[key] = rule
379
+ } else {
380
+ this.orderFields[key] = 'no'
381
+ }
382
+ }
383
+ // 如果新规则不排序,还原为默认排序
384
+ if (rule === 'no') {
385
+ this.model.paramSource.orderitem = `'${this.orderitem}'`
386
+ } else {
387
+ this.model.paramSource.orderitem = `'${field} ${rule}'`
388
+ }
389
+
390
+ this.search()
391
+ },
392
+ search () {
393
+ this.$refs.paged.$refs.criteria.search()
394
+ },
395
+ importFile () {
396
+ this.show = true
397
+ },
398
+ selfSearch (args) {
399
+ if (!this.f_orgid) {
400
+ this.getorg([this.$login.f.orgid])
401
+ }
402
+ console.log('查询。。。', this.f_orgid)
403
+ if (!this.orgCondtionStr) {
404
+ args.condition = `${args.condition}` + ' and f_orgid = ' + this.$login.f.orgid
405
+ } else {
406
+ args.condition = `${args.condition}` + this.orgCondtionStr
407
+ }
408
+ this.model.search(args.condition, args.model)
409
+ this.condition = args.condition
410
+ },
411
+ mergeRowData (joinrows) {
412
+
413
+ },
414
+ // 多选框初始化
415
+ selectInit () {
416
+ this.rowsdata = []
417
+ this.all = []
418
+ this.radio = []
419
+ },
420
+ select () {
421
+ let index = this.model1.pageIndex - 1
422
+ console.log('全选', this.all[index])
423
+ if (!this.radio[index]) {
424
+ this.radio.$set(index, [])
425
+ }
426
+ if (this.all[index]) {
427
+ // 数据
428
+ this.rowsdata[index] = Object.assign([], this.model1.rows)
429
+ // 勾选
430
+ for (var i = 0; i < this.model1.rows.length; i++) {
431
+ this.radio[index].$set(i, true)
432
+ }
433
+ } else {
434
+ // 数据
435
+ this.rowsdata[index] = []
436
+ // 不勾选
437
+ for (var i = 0; i < this.model1.rows.length; i++) {
438
+ this.radio[index].$set(i, false)
439
+ }
440
+ }
441
+ },
442
+ selectOne (event, row, i) {
443
+ console.log('单选', event.target.checked)
444
+ let index = this.model1.pageIndex - 1
445
+ if (!this.rowsdata[index]) {
446
+ this.rowsdata[index] = []
447
+ }
448
+ if (!this.radio[index]) {
449
+ this.radio.$set(index, [])
450
+ }
451
+ if (event.target.checked) {
452
+ // 数据
453
+ this.rowsdata[index][i] = row
454
+ // 勾选
455
+ this.radio[index].$set(i, true)
456
+ // 判断是否全部选中
457
+ var allState = true
458
+ if (this.model1.rows.length != this.radio[index].length) {
459
+ allState = false
460
+ }
461
+ for (var state of this.radio[index]) {
462
+ if (!state) {
463
+ allState = false
464
+ }
465
+ }
466
+ if (allState) {
467
+ this.all.$set(index, true)
468
+ } else {
469
+ this.all.$set(index, false)
470
+ }
471
+ } else {
472
+ // 数据
473
+ this.rowsdata[index][i] = []
474
+ // 不勾选
475
+ this.radio[index].$set(i, false)
476
+ // 任意取消一个则全选状态设为false
477
+ this.all.$set(index, false)
478
+ }
479
+ }
480
+ },
481
+ computed: {
482
+ ischecked () {
483
+ return function (index, i) {
484
+ // console.log("计算属性")
485
+ if (!this.radio[index]) {
486
+ return false
487
+ }
488
+ return this.radio[index][i]
489
+ }
490
+ },
491
+ distributionstate () {
492
+ return [{label: '全部', value: ''}, {label: '待分配', value: 'is null'}, {label: '已入库', value: 'is not null'}]
493
+ }
494
+ }
495
+ }
496
+ </script>
497
+ <style>
498
+ .datapanel {
499
+ color: #333;
500
+ background-color: white;
501
+ padding: 10px 20px;
502
+ border-radius: 15px;
503
+ }
504
+ </style>
@@ -51,4 +51,6 @@ export default function () {
51
51
  Vue.component('machine-down', (resolve) => { require(['./machineDown'], resolve) })
52
52
  // 获取气表信息
53
53
  Vue.component('meter-message', (resolve) => { require(['./MeterMessage'], resolve) })
54
+ // 换表记录维护列表
55
+ Vue.component('changemeter-list-maintain', (resolve) => { require(['./changemeterListMaintain'], resolve) })
54
56
  }
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/xihu/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'
@@ -24,6 +24,7 @@ system(false)
24
24
  sale()
25
25
  address()
26
26
  ldap()
27
+ FilialeSale()
27
28
  require('system-clients/src/styles/less/bootstrap.less')
28
29
 
29
30
  new Vue({
@@ -4,7 +4,7 @@ import co from 'co'
4
4
  let disableGen = function * (data) {
5
5
  let owe = yield Vue.resetpost('api/af-revenue/sql/getOverdue', {data: {f_userfiles_id: data.f_userfiles_id + ''}}, {resolveMsg: null, rejectMsg: null})
6
6
  console.log('表具停用看是否有欠费', owe.data)
7
- let hasHandplan = yield Vue.resetpost('api/af-revenue/sql/saleSingleTable', {data: {tablename: 't_handplan', condition: `f_meter_state = '未抄表' and f_userfiles_id = '${data.f_userfile_id + ''}'`}}, {resolveMsg: null, rejectMsg: null})
7
+ let hasHandplan = yield Vue.resetpost('api/af-revenue/sql/saleSingleTable', {data: {tablename: 't_handplan', condition: `f_meter_state = '未抄表' and f_userfiles_id = '${data.f_userfiles_id + ''}'`}}, {resolveMsg: null, rejectMsg: null})
8
8
  console.log('是否有未抄表数据', hasHandplan.data)
9
9
  if (owe.data.length > 0 && hasHandplan.data.length > 0) {
10
10
  Vue.showAlert('该表具还有欠费或者未抄表数据,不能停用!!', 'danger', 0)