sale-client 3.6.74 → 3.6.76

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://kf.yidagas.com:8400/', 'http://kf.yidagas.com:8400/']
2
+ const [serverRul, localUrl ] = ['http://121.36.106.17:8400/', 'http://localhost:8080/']
3
3
  var merge = require('webpack-merge')
4
4
  var baseConfig = require('./webpack.dev.conf')
5
5
  var devConfig = {
@@ -20,6 +20,9 @@ var devConfig = {
20
20
  '/rs/file': {
21
21
  target: serverRul
22
22
  },
23
+ '/rs/sql/singleTable': {
24
+ target: serverRul
25
+ },
23
26
  '/invoice': {
24
27
  target: serverRul
25
28
  },
@@ -67,10 +70,10 @@ var devConfig = {
67
70
  target: serverRul
68
71
  },
69
72
  '/rs/logic': {
70
- target: localUrl
73
+ target: 'http://127.0.0.1:8080/'
71
74
  },
72
75
  '/rs/sql': {
73
- target: localUrl
76
+ target: 'http://127.0.0.1:8080/'
74
77
  },
75
78
  '/webmeter': {
76
79
  target: serverRul
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sale-client",
3
- "version": "3.6.74",
3
+ "version": "3.6.76",
4
4
  "description": "收费模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -6,39 +6,9 @@
6
6
  <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
7
7
  <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
8
8
  <div class="row">
9
- <div class="col-sm-2 form-group">
9
+ <res-select-group :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes"
10
+ v-ref:sel></res-select-group>
10
11
 
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
12
  <div class="span" style="float:right;">
43
13
  <button v-if="this.$login.r.includes('批量停用')" class="button_search button_spacing" @click="$parent.$parent.batch_audit()">批量修改</button>
44
14
  <button class="button_search button_spacing" @click="search()">查询</button>
@@ -50,8 +20,16 @@
50
20
  </div>
51
21
 
52
22
  <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>
23
+ <div class="col-sm-2 form-group">
24
+ <label class="font_normal_body">客户编号</label>
25
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_userinfo_code"
26
+ condition="f_userinfo_code = '{}' " placeholder="客户编号">
27
+ </div>
28
+ <div class="col-sm-2 form-group">
29
+ <label class="font_normal_body">客户名称</label>
30
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
31
+ condition="f_user_name = '{}'" placeholder="客户名称">
32
+ </div>
55
33
 
56
34
  <div class="col-sm-2 form-group">
57
35
  <label class="font_normal_body">客户电话</label>
@@ -87,11 +65,48 @@
87
65
  condition="da.f_comments = '{}'"
88
66
  close-on-select></v-select>
89
67
  </div>
68
+
69
+ <div class="col-sm-2 form-group">
70
+ <label class="font_normal_body">是否欠费</label>
71
+ <v-select :value.sync="model.f_pay_state" v-model="model.f_pay_state"
72
+ :options='$parent.$parent.paystate' placeholder='请选择'
73
+ condition="da.f_pay_state = '{}'"
74
+ close-on-select></v-select>
75
+ </div>
76
+
77
+ <div class="col-sm-2 form-group">
78
+ <label class="font_normal_body">用户状态</label>
79
+ <v-select :value.sync="model.f_table_state" v-model="model.f_table_state"
80
+ :options='$parent.$parent.tablestate' placeholder='请选择'
81
+ condition="da.f_table_state = '{}'"
82
+ close-on-select></v-select>
83
+ </div>
84
+
85
+ <div class="col-sm-2 form-group">
86
+ <label for="startDate" class="font_normal_body" title="开始日期">停用日期</label>
87
+ <datepicker id="startDate" placeholder="开始日期" style="width:60%"
88
+ v-model="model.startDate"
89
+ :value.sync="model.startDate"
90
+ :format="'yyyy-MM-dd HH:mm:ss'"
91
+ condition="da.f_operate_date >= '{}' "
92
+ :show-reset-button="true">
93
+ </datepicker>
94
+ </div>
95
+ <div class="col-sm-2 form-group">
96
+ <label for="endDate" class="font_normal_body" title="结束日期">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;至&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label>
97
+ <datepicker id="endDate" placeholder="结束日期" style="width:60%"
98
+ v-model="model.endDate"
99
+ :value.sync="model.endDate"
100
+ condition="da.f_operate_date <= '{}' "
101
+ :format="'yyyy-MM-dd HH:mm:ss'"
102
+ :show-reset-button="true">
103
+ </datepicker>
104
+ </div>
90
105
  </div>
91
106
  </div>
92
107
  </criteria>
93
108
 
94
- <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid>
109
+ <data-grid :model="model" partial='list' class="list_area table_sy" :optional="true" v-ref:grid>
95
110
  <template partial='head'>
96
111
  <tr>
97
112
  <th>
@@ -115,17 +130,20 @@
115
130
  <th>
116
131
  <nobr>用气性质</nobr>
117
132
  </th>
133
+ <th>
134
+ <nobr>表具状态</nobr>
135
+ </th>
118
136
  <th>
119
137
  <nobr>停用原因</nobr>
120
138
  </th>
121
139
  <th>
122
- <nobr>所属公司</nobr>
140
+ <nobr>停用日期</nobr>
123
141
  </th>
124
142
  <th>
125
- <nobr>所属部门</nobr>
143
+ <nobr>是否欠费</nobr>
126
144
  </th>
127
145
  <th>
128
- <nobr>操作人</nobr>
146
+ <nobr>欠费金额</nobr>
129
147
  </th>
130
148
  </tr>
131
149
  </template>
@@ -151,17 +169,20 @@
151
169
  <td style="text-align: center;">
152
170
  <nobr>{{row.f_gasproperties}}</nobr>
153
171
  </td>
172
+ <td style="text-align: center;">
173
+ <nobr>{{row.f_table_state}}</nobr>
174
+ </td>
154
175
  <td style="text-align: center;">
155
176
  <nobr>{{row.f_comments}}</nobr>
156
177
  </td>
157
178
  <td style="text-align: center;">
158
- <nobr>{{row.f_orgname}}</nobr>
179
+ <nobr>{{row.f_operate_date!=='1900-01-01 00:00:00' ? row.f_operate_date : ''}}</nobr>
159
180
  </td>
160
181
  <td style="text-align: center;">
161
- <nobr>{{row.f_depname}}</nobr>
182
+ <nobr>{{row.f_pay_state}}</nobr>
162
183
  </td>
163
184
  <td style="text-align: center;">
164
- <nobr>{{row.f_operator}}</nobr>
185
+ <nobr>{{row.f_oughtfee}}</nobr>
165
186
  </td>
166
187
  </template>
167
188
  <template partial='foot'></template>
@@ -187,48 +208,61 @@
187
208
  </v-select>
188
209
  </div>
189
210
  </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>
211
+ <div class="form-group">
212
+ <label class=" col-sm-3 control-label">停用原因:</label>
213
+ <div class="col-sm-4">
214
+ <v-select v-model="f_comments"
215
+ placeholder='请选择'
216
+ :value.sync="disableModel.f_comments"
217
+ :options='comments'
218
+ :value-single="true"
219
+ close-on-select clear-button>
220
+ </v-select>
221
+ </div>
214
222
  </div>
215
- </div>
216
223
 
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"
224
+ <div class="form-group">
225
+ <label class=" col-sm-3 control-label">备注:</label>
226
+ <div class="col-sm-8">
227
+ <textarea class="form-control" v-model="disableModel.f_othereason" rows="3"
229
228
  placeholder="备注" ></textarea>
229
+ </div>
230
230
  </div>
231
- </div>
231
+ <!-- <div class="form-group">-->
232
+ <!-- <label class="col-sm-3 control-label">时间周期:</label>-->
233
+ <!-- <div class="form-group col-sm-3">-->
234
+ <!-- <datepicker-->
235
+ <!-- id="startDate1" placeholder="开始日期" style="width:100%"-->
236
+ <!-- v-model="disableModel.startDate"-->
237
+ <!-- :value.sync="disableModel.startDate"-->
238
+ <!-- :format="'yyyy-MM-dd HH:mm:ss'"-->
239
+ <!-- :show-reset-button="true"-->
240
+ <!-- >-->
241
+ <!-- </datepicker>-->
242
+ <!-- </div>-->
243
+ <!-- <label class="col-sm-1 control-label">&nbsp;&nbsp;&nbsp;至&nbsp;&nbsp;&nbsp;</label>-->
244
+ <!-- <div class="form-group col-sm-3">-->
245
+
246
+ <!-- <datepicker-->
247
+ <!-- id="endDate1" placeholder="结束日期" style="width:100%"-->
248
+ <!-- v-model="disableModel.endDate"-->
249
+ <!-- :value.sync="disableModel.endDate"-->
250
+ <!-- :format="'yyyy-MM-dd HH:mm:ss'"-->
251
+ <!-- :show-reset-button="true"-->
252
+ <!-- >-->
253
+ <!-- </datepicker>-->
254
+ <!-- </div>-->
255
+ <!-- </div>-->
256
+
257
+ <!-- <div v-if="disableModel.f_disable_type === '欠费'" class="form-group">-->
258
+ <!-- <label class=" col-sm-3 control-label">总金额:</label>-->
259
+ <!-- <div class="col-sm-4">-->
260
+ <!-- <input class="form-control" v-model="disableModel.f_totalcost" rows="3"-->
261
+ <!-- disabled-->
262
+ <!-- placeholder="总金额" />-->
263
+ <!-- </div>-->
264
+ <!-- </div>-->
265
+
232
266
  </form>
233
267
  </validator>
234
268
  </article>
@@ -246,8 +280,6 @@
246
280
  import {HttpResetClass, PagedList} from 'vue-client'
247
281
 
248
282
  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
283
  await self.$LoadParams.loadParam()
252
284
  self.initParams()
253
285
  }
@@ -291,7 +323,8 @@
291
323
  startDate: '',
292
324
  endDate: '',
293
325
  f_totalcost: '',
294
- f_comments: ''
326
+ f_comments: '',
327
+ f_othereason:''
295
328
  },
296
329
  tempfalg: false,
297
330
  flag: false
@@ -309,32 +342,40 @@
309
342
  this.$refs.paged.$refs.cri.search()
310
343
  },
311
344
  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'
345
+ if (this.$refs.paged.$refs.grid.getRowData().length !== 0) {
346
+ this.tempfalg = true
347
+ this.disableModel.startDate = this.$login.toStandardYearMonth() + '-01 00:00:00'
348
+ this.disableModel.endDate = this.$login.toStandardDateString() + ' 23:59:59'
349
+ }
315
350
  },
316
351
  close () {
317
352
  this.tempfalg = false
318
353
  },
319
- confirm () {
354
+ async confirm () {
320
355
  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}, {
356
+ console.log('model----',this.$refs.paged.$refs.grid.getRowData())
357
+ let param = []
358
+ this.$refs.paged.$refs.grid.getRowData().forEach((item) => {
359
+ let temp = {}
360
+ temp.f_userinfo_id = item.f_userinfo_id
361
+ temp.f_user_name = item.f_user_name
362
+ temp.f_disable_type = this.disableModel.f_disable_type
363
+ temp.f_comments = this.disableModel.f_comments
364
+ temp.f_othereason = this.disableModel.f_othereason
365
+ temp.f_operator= this.$login.f.name
366
+ temp. f_operatorid= this.$login.f.id
367
+ temp. f_orgid= this.$login.f.orgid
368
+ temp.f_orgname= this.$login.f.orgs
369
+ temp. f_depid= this.$login.f.depids
370
+ temp. f_depname= this.$login.f.deps
371
+ param.push(temp)
372
+ })
373
+ console.log(param)
374
+ await this.$resetpost('rs/logic/owe_disable', {data: param}, {
335
375
  rejectMsg: '同步失败',
336
376
  resolveMsg: '同步成功'
337
377
  })
378
+ await this.search()
338
379
  },
339
380
  cancel() {
340
381
  this.flag = false
@@ -448,6 +489,12 @@
448
489
  comments () {
449
490
  return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('停用原因')]
450
491
  },
492
+ paystate () {
493
+ return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('是否欠费')]
494
+ },
495
+ tablestate () {
496
+ return [{label: ' 全部 ', value: ''}, {label: '正常', value: '正常'}, {label: '停用', value: '停用'}]
497
+ },
451
498
  metertypes() {
452
499
  return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('气表类型')]
453
500
  }
@@ -24,6 +24,10 @@
24
24
  <label class="col-sm-6 ">上次安检时间:</label>
25
25
  <span class="col-sm-6">{{model.lastCheckDate}}</span>
26
26
  </div>
27
+ <div class="row">
28
+ <label class="col-sm-6 ">安检员:</label>
29
+ <span class="col-sm-6">{{model.f_checker_name}}</span>
30
+ </div>
27
31
  <div class="row">
28
32
  <label class="col-sm-6 ">壁挂炉:</label>
29
33
  <span class="col-sm-6">{{model.hasFireplace == 0 ? '无': '有'}}</span>
@@ -92,6 +96,10 @@
92
96
  <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">上次安检时间:</td>
93
97
  <td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px;">{{ model.f_last_check_date }}</td>
94
98
  </tr>
99
+ <tr>
100
+ <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">安检员:</td>
101
+ <td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px;">{{model.f_checker_name}}</td>
102
+ </tr>
95
103
  <tr>
96
104
  <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">到达时间:</td>
97
105
  <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ model.f_onsite_time }}</td>
@@ -67,6 +67,8 @@
67
67
  </template>
68
68
  <script>
69
69
 
70
+ import {HttpResetClass} from "vue-client";
71
+
70
72
  let asyncOffGasManage = async function (self, val) {
71
73
  await self.$getConfig(self, 'OffGasAddGas')
72
74
  console.log('掉气补气config', self.config)
@@ -239,6 +241,19 @@ export default {
239
241
  )
240
242
  },
241
243
  async apply () {
244
+ let http = new HttpResetClass()
245
+ let param = {
246
+ items: 'id',
247
+ condition: `f_userinfo_id = '${this.row.f_userinfo_id}' and f_state = '0' and f_delete = '0'`,
248
+ tablename: '"t_flow"',
249
+ orderitem: '"id"'
250
+ }
251
+ let result = await http.load('POST', 'rs/sql/saleSingleTable', {data: param},
252
+ {resolveMsg: null, rejectMsg: '获取流程信息失败!!'})
253
+ if (result.data.length > 0) {
254
+ this.$showAlert('当前申请用户已有流程在进行中,请完成当前进行流程在进行申请!!!', 'warning', 3000)
255
+ return
256
+ }
242
257
  this.addTaskModel.f_task_name = `用户:${this.row.f_user_name},编号:${this.row.f_userinfo_code} 申请掉气补气`
243
258
  this.addTaskModel.f_userinfo_code = this.row.f_userinfo_code
244
259
  this.addTaskModel.f_memorandum = this.model.f_othereason
@@ -0,0 +1,61 @@
1
+ <template>
2
+ <!-- <div v-if="listpage">-->
3
+ <tab-button v-ref:list>
4
+ <tabs header="物联网表调价补差">
5
+ <price-adjustment-webmeter @deal-msg="dealMsg"></price-adjustment-webmeter>
6
+ </tabs>
7
+ <tabs header="机表调价补差">
8
+ <price-adjustment @deal-msg="dealMsg"></price-adjustment>
9
+ </tabs>
10
+ <tabs header="卡表调价补差">
11
+ <price-adjustment-card v-if="show[1]" @deal-msg="dealMsg"></price-adjustment-card>
12
+ </tabs>
13
+ <tabs header="记录调价补差">
14
+ <price-adjustment-selling @deal-msg="dealMsg"></price-adjustment-selling>
15
+ </tabs>
16
+ </tab-button>
17
+ <!-- </div>-->
18
+ <!-- <div v-if="!listpage">-->
19
+ <!-- <meter-info-manage :row="rowData" :f_start_date="f_start_date" :f_end_date="f_end_date"></meter-info-manage>-->
20
+ <!-- </div>-->
21
+ </template>
22
+
23
+ <script>
24
+ import TabButton from '../../components/revenue/comprehen/SpecialUser/common/TabButton'
25
+ import Tabs from '../../components/revenue/comprehen/SpecialUser/common/Tabs'
26
+
27
+ export default {
28
+ name: 'PriceAdjustmentManage',
29
+ title: '调价补差管理',
30
+ data () {
31
+ return {// 页面开关
32
+ f_start_date: '',
33
+ f_end_date: '',
34
+ listpage: true,
35
+ width: {
36
+ left: '100%',
37
+ right: '0%'
38
+ },
39
+ // searchNumber:'',
40
+ rowData: {},
41
+ show: [true]
42
+ }
43
+ },
44
+ components: {Tabs, TabButton},
45
+ ready () {
46
+ console.log(this.$refs.list)
47
+ console.log('业务查询')
48
+ },
49
+ methods: {
50
+ cancel (obj) {
51
+ this.listpage = true
52
+ },
53
+ dealMsg (obj) {
54
+ }
55
+ }
56
+ }
57
+ </script>
58
+
59
+ <style scoped>
60
+
61
+ </style>
@@ -43,4 +43,5 @@ export default function () {
43
43
  Vue.component('gas-price-list', (resolve) => { require(['./comprehen/StairPrice/GasPriceList'], resolve) })
44
44
  // 操作历史
45
45
  Vue.component('card-list', (resolve) => { require(['./CardList'], resolve) })
46
+ Vue.component('price-adjustment-manage', (resolve) => { require(['./PriceAdjustmentManage'], resolve) })
46
47
  }
@@ -0,0 +1,453 @@
1
+ <template>
2
+ <div class="flex" style="justify-content: space-between;">
3
+ <div @keyup.enter="search" style="">
4
+ <criteria-paged :model="model" v-ref:paged>
5
+ <criteria @condition-changed='$parent.search' partial='criteria' v-ref:criteria>
6
+ <div class="form-horizontal select-overspread container-fluid auto" novalidate partial>
7
+ <div class="row" width="100%">
8
+ <div class="col-sm-2 form-group">
9
+ <label class="font_normal_body">开始时间</label>
10
+ <datepicker :format="'yyyy-MM-dd'" :value.sync="model.f_start_date"
11
+ class="datepicker"
12
+ condition="f_operate_date >= '{} 00:00:00' "
13
+ placeholder="起始时间"
14
+ style="width:60%"
15
+ v-model="model.f_start_date"
16
+ ></datepicker>
17
+ </div>
18
+ <div class="col-sm-2 form-group">
19
+ <label class="font_normal_body">结束时间</label>
20
+ <datepicker :format="'yyyy-MM-dd'" :value.sync="model.f_end_date"
21
+ class="datepicker"
22
+ condition="f_operate_date <= '{} 23:59:59' "
23
+ placeholder="结束时间"
24
+ style="width:60%"
25
+ v-model="model.f_end_date"
26
+ ></datepicker>
27
+ </div>
28
+ <div class="col-sm-2 form-group">
29
+ <label class="font_normal_body">缴费状态</label>
30
+ <v-select :value.sync="model.f_state" v-model='model.f_state'
31
+ style="width:60%"
32
+ :options='$parent.$parent.jiaofeistates' placeholder='缴费状态'
33
+ close-on-select
34
+ condition="s.f_state = '{}'"></v-select>
35
+ </div>
36
+ <div class="col-sm-2 form-group">
37
+ <label class="font_normal_body">收费类型</label>
38
+ <v-select :value.sync="model.f_type" v-model='model.f_type'
39
+ style="width:60%"
40
+ :options='$parent.$parent.types' placeholder='收费类型'
41
+ close-on-select
42
+ condition="f_type = '{}'"></v-select>
43
+ </div>
44
+
45
+ <div style="float: right">
46
+ <button @click="search()" class="button_search" style="margin-right: 10px" v-el:cba>查询</button>
47
+ <print-data :defaultfield="$parent.$parent.defaultfield"
48
+ :field="$parent.$parent.isIot?$parent.$parent.iotFields:$parent.$parent.fields"
49
+ :is-selected="true" :model="$parent.$parent.printModel"
50
+ @print-data="$parent.$parent.print()" print-name="购气流水"></print-data>
51
+ </div>
52
+ </div>
53
+ </div>
54
+
55
+
56
+ </criteria>
57
+ <data-grid :model="model" class="list_area table_sy" partial='list' v-ref:grid>
58
+ <template partial='head'>
59
+ <tr>
60
+ <th>
61
+ <nobr>收费类型</nobr>
62
+ </th>
63
+ <th v-if="!$parent.$parent.$parent.isIot">
64
+ <nobr>收费区间</nobr>
65
+ </th>
66
+
67
+ <th>
68
+ <nobr>表号</nobr>
69
+ </th>
70
+ <th v-if="!$parent.$parent.$parent.isIot">
71
+ <nobr>上期指数</nobr>
72
+ </th>
73
+ <th v-if="!$parent.$parent.$parent.isIot">
74
+ <nobr>本期指数</nobr>
75
+ </th>
76
+ <th>
77
+ <nobr>气价</nobr>
78
+ </th>
79
+ <th>
80
+ <nobr>气量</nobr>
81
+ </th>
82
+ <th>
83
+ <nobr>气费金额</nobr>
84
+ </th>
85
+ <th>
86
+ <nobr>滞纳金</nobr>
87
+ </th>
88
+ <th>
89
+ <nobr>减免金额</nobr>
90
+ </th>
91
+ <th>
92
+ <nobr>上期结余</nobr>
93
+ </th>
94
+ <th v-if="!$parent.$parent.$parent.isIot">
95
+ <nobr>应交金额</nobr>
96
+ </th>
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' partial='list' v-ref:grid>
133
+ <tr>
134
+ <td style="text-align:center">{{ row.type }}</td>
135
+ <td style="text-align:center" v-if="!$parent.$parent.$parent.isIot">{{ row.f_hand_date }}</td>
136
+
137
+ <td style="text-align:center">{{ row.f_meternumber }}</td>
138
+ <td style="text-align:center" v-if="!$parent.$parent.$parent.isIot">{{ row.f_last_tablebase }}</td>
139
+ <td style="text-align:center" v-if="!$parent.$parent.$parent.isIot">{{ row.f_tablebase }}</td>
140
+ <td style="text-align:center">{{ row.f_price }}</td>
141
+ <td style="text-align:center">{{ row.f_pregas }}</td>
142
+ <td style="text-align:center">{{ row.f_preamount }}</td>
143
+ <td style="text-align:center">{{ row.f_delaypay }}</td>
144
+ <td style="text-align:center">{{ row.f_jianmian }}</td>
145
+ <td style="text-align:center">{{ row.f_balance }}</td>
146
+ <td style="text-align:center" v-if="!$parent.$parent.$parent.isIot">{{ row.f_oughtfee }}</td>
147
+ <td style="text-align:center">{{ row.f_collection }}</td>
148
+ <td style="text-align:center">{{ row.f_curbalance }}</td>
149
+ <td style="text-align:center">{{ row.f_payment }}</td>
150
+ <td style="text-align:center">{{ row.f_operator }}</td>
151
+ <td style="text-align:center">{{ row.f_operate_date.substring(0, 10) }}</td>
152
+ <td style="text-align:center">{{ row.f_operate_date.substring(11, 19) }}</td>
153
+ <td style="text-align:center">{{ row.f_state }}</td>
154
+ <td style="text-align:center">{{ row.f_depname }}</td>
155
+ <td style="text-align:center">{{ row.f_comments }}</td>
156
+ <td style="text-align: center;">
157
+ <nobr v-if="row.f_isbill == '是'">{{row.f_isbill}}</nobr>
158
+ <button v-else style=" height: 28px;line-height: 16px;" class="button_search button_spacing width-60" @click.stop="$parent.$parent.$parent.openBill(row)">开票</button>
159
+ </td>
160
+ <td style="text-align:center">
161
+ <button @click.stop="$parent.$parent.$parent.report(row)" class="btn btn-link" name="button"
162
+ type="button"
163
+ v-if="row.f_state==='有效'">票据补打
164
+ </button>
165
+ </td>
166
+ </tr>
167
+ </template>
168
+ <template partial='foot'></template>
169
+ </data-grid>
170
+ </criteria-paged>
171
+ </div>
172
+ <table class="table-hover">
173
+ <tr class="table-bordered" style="position: relative">
174
+ <td
175
+ style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
176
+ 汇总信息
177
+ </td>
178
+ <!-- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px">-->
179
+ <!-- 气量合计:&emsp;{{model.sums.f_pregas}}-->
180
+ <!-- </td>-->
181
+ <!-- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px">-->
182
+ <!-- 金额合计:&emsp;{{model.sums.f_preamount}}-->
183
+ <!-- </td>-->
184
+ <!-- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px">-->
185
+ <!-- 应交合计:&emsp;{{model.sums.f_oughtfee}}-->
186
+ <!-- </td>-->
187
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px">
188
+ 气量合计:&emsp;{{model.sums.f_pregas}}
189
+ </td>
190
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px">
191
+ 实收合计:&emsp;{{ model.sums.f_collection }}
192
+ </td>
193
+ </tr>
194
+ </table>
195
+ <reissue-bill :data="reissue_data" :show.sync="reissue_show" @cancel="reissueOper()"
196
+ @reissue-success="reissueSucc()" v-if="reissue_show"></reissue-bill>
197
+
198
+ </div>
199
+ </template>
200
+
201
+ <script>
202
+ import {HttpResetClass, PagedList} from 'vue-client'
203
+ import co from 'co'
204
+
205
+ let reprintGen = function* (self, row) {
206
+ try {
207
+ let reissueData = {}
208
+ reissueData = Object.assign({}, reissueData, row)
209
+
210
+ reissueData.f_bill_type = row.type
211
+ reissueData.f_bill_style = '普通收据'
212
+ reissueData.f_operator = self.$login.f.name
213
+ reissueData.f_operatorid = self.$login.f.id
214
+ reissueData.f_orgid = self.$login.f.orgid
215
+ reissueData.f_orgname = self.$login.f.orgs
216
+ reissueData.f_depid = self.$login.f.depids
217
+ reissueData.f_depname = self.$login.f.deps
218
+ reissueData.billUrl = self.getBillUrl(row.type)
219
+
220
+ self.reissue_data = reissueData
221
+ self.reissue_show = true
222
+ } catch (error) {
223
+ if (error.status) {
224
+ self.$warn(`加载数据出错, ${JSON.stringify(error)}`, 'CardList')
225
+ }
226
+ throw error
227
+ }
228
+ }
229
+ export default {
230
+ title: '收费',
231
+ data () {
232
+ return {
233
+ reissue_show: false,
234
+ reissue_data: null,
235
+ condition: '1=1',
236
+ model: new PagedList(`${this.row.f_meter_type === '物联网表' ? 'rs/sql/sale_WebChargeQuery' : 'rs/sql/sale_ChargeQuery'}`, 20, {f_user_id: this.row.f_user_id}, {
237
+ f_collection: 0,
238
+ f_pregas:0
239
+ }),
240
+ isIot: this.row.f_meter_type === '物联网表',
241
+ show: false,
242
+ list: [],
243
+ jiaofeistates: this.$appdata.getParam('缴费状态') ? [{
244
+ label: '全部',
245
+ value: ''
246
+ }, ...this.$appdata.getParam('缴费状态')] : [],
247
+ types: this.$appdata.getParam('收费类型') ? [{
248
+ label: '全部',
249
+ value: ''
250
+ }, ...this.$appdata.getParam('收费类型')] : [],
251
+ // 控制单选
252
+ radio: [],
253
+ // 选中的页
254
+ all: [],
255
+ // row数据
256
+ rowsdata: [],
257
+ fields: {
258
+ 'f_userinfo_code': '客户编号',
259
+ 'f_user_name': '客户姓名',
260
+ 'f_pregas': '购气量',
261
+ 'f_price': '单价',
262
+ 'f_preamount': '购气金额',
263
+ 'f_hand_date': '收费区间',
264
+ 'f_operate_date': '缴费时间',
265
+ 'f_operator': '操作员',
266
+ 'f_last_tablebase': '上期指数',
267
+ 'f_tablebase': '本期指数',
268
+ 'f_comments': '备注'
269
+ },
270
+ iotFields: {
271
+ 'f_userinfo_code': '客户编号',
272
+ 'f_user_name': '客户姓名',
273
+ 'f_pregas': '购气量',
274
+ 'f_price': '单价',
275
+ 'f_preamount': '购气金额',
276
+ 'f_operate_date': '缴费时间',
277
+ 'f_operator': '操作员',
278
+ 'f_comments': '备注'
279
+ },
280
+ defaultfield: [
281
+ 'f_userinfo_code',
282
+ 'f_user_name',
283
+ 'f_preamount',
284
+ 'f_pregas',
285
+ 'f_operate_date',
286
+ 'f_operator',
287
+ 'f_comments'
288
+ ],
289
+ printModel: {
290
+ rows: []
291
+ }
292
+ }
293
+ },
294
+ props: ['row'],
295
+ ready () {
296
+ this.$refs.paged.$refs.criteria.model.f_state = ['有效']
297
+ this.$refs.paged.$refs.criteria.model.f_user_id = this.row.f_user_id
298
+ this.$refs.paged.$refs.criteria.search()
299
+ },
300
+ methods: {
301
+ async search () {
302
+ console.log('aaa:', this.$refs.paged.$refs.criteria.condition)
303
+ this.condition = `${this.$refs.paged.$refs.criteria.condition} and f_user_id = '${this.row.f_user_id}' and f_orgid = '${this.$login.f.orgid}'`
304
+ this.model.search(this.condition, this.model)
305
+ let http = new HttpResetClass()
306
+ let res = await http.load('POST', `${this.row.f_meter_type === '物联网表' ? 'rs/sql/sale_WebChargeQuery' : 'rs/sql/sale_ChargeQuery'}`, {
307
+ data: {
308
+ condition: this.condition,
309
+ f_user_id: this.row.f_user_id
310
+ }
311
+ }, {resolveMsg: null, rejectMsg: null})
312
+ this.printModel.rows = res.data
313
+ },
314
+ openBill (row) {
315
+ this.$showMessage('您确定为当前收费记录开具电子发票吗?', ['confirm', 'cancel']).then(async (res) => {
316
+ if (res === 'confirm') {
317
+ let HttpReset = new HttpResetClass()
318
+ let data = {
319
+ id: row.id
320
+ }
321
+ HttpReset.load('POST', 'rs/logic/sale_changeBillState', {data: data}, {resolveMsg: '开票成功!!!', rejectMsg: '开票失败!!!'})
322
+ this.search()
323
+ }
324
+ })
325
+ },
326
+ // 多选框初始化
327
+ selectInit () {
328
+ this.rowsdata = []
329
+ this.all = []
330
+ this.radio = []
331
+ },
332
+ reissueSucc () {
333
+ this.reissue_show = false
334
+ this.$dispatch('refresh')
335
+ },
336
+ reissueOper () {
337
+ this.reissue_data = null
338
+ this.reissue_show = false
339
+ },
340
+ getBillUrl (type) {
341
+ let name = ''
342
+ // 根据type数据 选择调用的Logic
343
+ if (type === '机表收费') {
344
+ name = 'rs/report/machine_bill'
345
+ } else if (type === '物联网收费') {
346
+ name = 'rs/report/iot_bill'
347
+ } else if (type === '超用收费') {
348
+ name = 'rs/report/overuse_bill'
349
+ } else if (type === '其他收费') {
350
+ name = 'rs/report/otherCharge_bill'
351
+ } else if (type === '发卡售气') {
352
+ name = 'rs/report/sendCard_bill'
353
+ } else if (type === '卡表收费') {
354
+ name = 'rs/report/card_bill'
355
+ } else if (type === '预存缴费') {
356
+ name = 'rs/report/pre_sell'
357
+ }
358
+ return name
359
+ },
360
+ report (row) {
361
+ let reprint = reprintGen(this, row)
362
+ return co(reprint)
363
+ },
364
+ print () {
365
+ this.selectInit()
366
+ },
367
+ select () {
368
+ let index = this.model.pageIndex - 1
369
+ if (!this.radio[index]) {
370
+ this.radio.$set(index, [])
371
+ }
372
+ if (this.all[index]) {
373
+ // 数据
374
+ this.rowsdata[index] = Object.assign([], this.model.rows)
375
+ // 勾选
376
+ for (var i = 0; i < this.model.rows.length; i++) {
377
+ this.radio[index].$set(i, true)
378
+ }
379
+ } else {
380
+ // 数据
381
+ this.rowsdata[index] = []
382
+ // 不勾选
383
+ for (var i = 0; i < this.model.rows.length; i++) {
384
+ this.radio[index].$set(i, false)
385
+ }
386
+ }
387
+ let z = 0
388
+ for (let i = 0; i < this.all.length; i++) {
389
+ for (let j = 0; this.rowsdata[i] && j < this.rowsdata[i].length; j++) {
390
+ this.printModel.rows[z++] = this.rowsdata[i][j]
391
+ }
392
+ }
393
+ },
394
+ selectOne (event, row, i) {
395
+ let index = this.model.pageIndex - 1
396
+ if (!this.rowsdata[index]) {
397
+ this.rowsdata[index] = []
398
+ }
399
+ if (!this.radio[index]) {
400
+ this.radio.$set(index, [])
401
+ }
402
+ if (event.target.checked) {
403
+ // 数据
404
+ this.rowsdata[index][i] = row
405
+ // 勾选
406
+ this.radio[index].$set(i, true)
407
+ // 判断是否全部选中
408
+ var allState = true
409
+ if (this.model.rows.length != this.radio[index].length) {
410
+ allState = false
411
+ }
412
+ for (var state of this.radio[index]) {
413
+ if (!state) {
414
+ allState = false
415
+ }
416
+ }
417
+ if (allState) {
418
+ this.all.$set(index, true)
419
+ } else {
420
+ this.all.$set(index, false)
421
+ }
422
+ } else {
423
+ // 数据
424
+ this.rowsdata[index][i] = []
425
+ // 不勾选
426
+ this.radio[index].$set(i, false)
427
+ // 任意取消一个则全选状态设为false
428
+ this.all.$set(index, false)
429
+ }
430
+ let z = 0
431
+ this.printModel.rows = []
432
+ for (let i = 0; i < this.all.length; i++) {
433
+ for (let j = 0; this.rowsdata[i] && j < this.rowsdata[i].length; j++) {
434
+ if (this.rowsdata[i][j] && this.rowsdata[i][j].f_user_id) {
435
+ this.printModel.rows[z++] = this.rowsdata[i][j]
436
+ }
437
+ }
438
+ }
439
+ }
440
+ },
441
+ computed: {
442
+ ischecked () {
443
+ return function (index, i) {
444
+ if (!this.radio[index]) {
445
+ return false
446
+ }
447
+ return this.radio[index][i]
448
+ }
449
+ }
450
+ }
451
+ }
452
+ </script>
453
+
@@ -0,0 +1,208 @@
1
+ <template>
2
+ <div class="binary flex" >
3
+ <div class="row binary-left flex" style="width:99%;height:98%;margin-bottom:0px">
4
+ <div class="auto"><user-base-info-new :row="row" :buttonshow="buttonshow" @cancel-main="cancel" @cancel-re="cancelRe"></user-base-info-new></div>
5
+ <saletabbut v-if="row" v-ref:list style="height:72%;margin-top: 1%;overflow-y: scroll">
6
+ <saletab header="流水查询" v-if="permission('流水查询')">
7
+ <record-query-user :row="row"></record-query-user>
8
+ </saletab>
9
+ <saletab header="机表流水查询" v-if="permission('机表流水查询')&&row.f_meter_type.includes('机表')">
10
+ <machine-record-query :row="row" v-if="show == '机表流水查询'" @deal-msg="dealMsg"></machine-record-query>
11
+ </saletab>
12
+ <saletab header="收费查询" v-if="!newWebHand && permission('收费查询')">
13
+ <charge-query-user :row="row" v-if="show == '收费查询'" @deal-msg="dealMsg"></charge-query-user>
14
+ </saletab>
15
+ <saletab header="收费查询" v-if="newWebHand && permission('收费查询')">
16
+ <charge-query-user :row="row" v-if="show == '收费查询'" @deal-msg="dealMsg"></charge-query-user>
17
+ </saletab>
18
+ <saletab header="累购查询" v-if="permission('累购查询')">
19
+ <Repurchase :row="row" v-if="show == '累购查询'" @deal-msg="dealMsg"></Repurchase>
20
+ </saletab>
21
+ <saletab header="下账查询" v-if="!newWebHand && row.f_meter_type.includes('物联网表')&&permission('自动下账查询')">
22
+ <automatic-purse :row="row" @deal-msg="dealMsg"></automatic-purse>
23
+ </saletab>
24
+ <saletab header="下账查询" v-if="newWebHand && row.f_meter_type.includes('物联网表')&&permission('自动下账查询')">
25
+ <web-automatic-purse :row="row" @deal-msg="dealMsg"></web-automatic-purse>
26
+ </saletab>
27
+ <saletab header="抄表记录" v-if="row.f_meter_type.includes('卡表')&&permission('抄表记录')">
28
+ <card-hand-record :row="row" v-if="show == '抄表记录'" @deal-msg="dealMsg"></card-hand-record>
29
+ </saletab>
30
+ <saletab header="抄表记录" v-if="!newWebHand && !row.f_meter_type.includes('卡表')&&permission('抄表记录')">
31
+ <hand-query-user :row="row" v-if="show == '抄表记录'" @deal-msg="dealMsg"></hand-query-user>
32
+ </saletab>
33
+ <saletab header="抄表记录" v-if="newWebHand && !row.f_meter_type.includes('卡表')&&permission('抄表记录')">
34
+ <web-hand-query-user :row="row" v-if="show == '抄表记录'" @deal-msg="dealMsg"></web-hand-query-user>
35
+ </saletab>
36
+ <saletab header="补卡查询" v-if="row.f_meter_type.includes('卡表')&&permission('补卡查询')">
37
+ <fill-card-query-user :row="row" v-if="show == '补卡查询'" @deal-msg="dealMsg"></fill-card-query-user>
38
+ </saletab>
39
+ <saletab header="补气查询" v-if="permission('补气查询')">
40
+ <fill-gas-query-user :row="row" v-if="show == '补气查询'" @deal-msg="dealMsg"></fill-gas-query-user>
41
+ </saletab>
42
+ <saletab header="换表查询" v-if="permission('换表查询')">
43
+ <change-meter-query-user :row="row" v-if="show == '换表查询'" @deal-msg="dealMsg"></change-meter-query-user>
44
+ </saletab>
45
+ <saletab header="其他收费" v-if="permission('其他收费')">
46
+ <other-charge-query-user :row="row" v-if="show == '其他收费'" @deal-msg="dealMsg"></other-charge-query-user>
47
+ </saletab>
48
+ <saletab header="过户查询" v-if="permission('过户查询')">
49
+ <transfer-query-user :row="row" v-if="show == '过户查询'" @deal-msg="dealMsg"></transfer-query-user>
50
+ </saletab>
51
+ <saletab header="价格调整" v-if="permission('价格调整')">
52
+ <price-change-query-user :row="row" v-if="show == '价格调整'" @deal-msg="dealMsg"></price-change-query-user>
53
+ </saletab>
54
+ <saletab header="附件查看" v-if="permission('附件查看')">
55
+ <upload-file-history :row="row" v-if="show == '附件查看'" @deal-msg="dealMsg"></upload-file-history>
56
+ </saletab>
57
+ <saletab header="变更记录" v-if="permission('变更记录')">
58
+ <change-record :row="row" v-if="show == '变更记录'" @deal-msg="dealMsg"></change-record>
59
+ </saletab>
60
+ <saletab header="指令查看" v-if="row.f_meter_type.includes('物联网表')&&permission('指令查看')">
61
+ <query-instruct :row="row" v-if="show == '指令查看'" @deal-msg="dealMsg"></query-instruct>
62
+ </saletab>
63
+ <saletab header="历史指令查看" v-if="row.f_meter_type.includes('物联网表')&&permission('历史指令查看')">
64
+ <query-history-instruct :row="row" v-if="show == '历史指令查看'" @deal-msg="dealMsg"></query-history-instruct>
65
+ </saletab>
66
+ <saletab header="异常报警" v-if="row.f_meter_type.includes('物联网表')&&permission('异常报警')">
67
+ <watch-warning :row="row" v-if="show == '异常报警'" @deal-msg="dealMsg"></watch-warning>
68
+ </saletab>
69
+ <saletab header="表具采集" v-if="row.f_meter_type.includes('物联网表')&&permission('表具采集')">
70
+ <watch-collection :row="row" v-if="show == '表具采集'" @deal-msg="dealMsg"></watch-collection>
71
+ </saletab>
72
+ <saletab header="调价补差" v-if="permission('调价补差')">
73
+ <price-adjustment-query-user :row="row" v-if="show == '调价补差'" @deal-msg="dealMsg"></price-adjustment-query-user>
74
+ </saletab>
75
+ <saletab header="设备查询" v-if="permission('设备查询')">
76
+ <deveice-record :row="row" v-if="show == '设备查询'" @deal-msg="dealMsg"></deveice-record>
77
+ </saletab>
78
+ <saletab header="流量计参数查看" v-if="permission('流量计参数查看')">
79
+ <meter-param :row="row" v-if="show == '流量计参数查看'" @deal-msg="dealMsg"></meter-param>
80
+ </saletab>
81
+ <saletab header="表使用量图表" v-if="permission('流量计参数查看')">
82
+ <table-usage-chart :row="row" v-if="show == '表使用量图表'" @deal-msg="dealMsg"></table-usage-chart>
83
+ </saletab>
84
+ <saletab header="用户设备查询" v-if="permission('用户设备查看')">
85
+ <user-device-query :row="row" v-if="show == '用户设备查询'" @deal-msg="dealMsg"></user-device-query>
86
+ </saletab>
87
+ </saletabbut>
88
+ </div>
89
+ </div>
90
+ </template>
91
+
92
+ <script>
93
+ import {HttpResetClass} from 'vue-client'
94
+ // 导入IC卡相关查询界面
95
+ import ChangeMeterQueryUser from '../../components/common/userinfo_detail/ic_detail/ChangeMeterQueryUser'
96
+ import ChargeQueryUser from './ChargeQueryUser'
97
+ import ChargeRecordQueryUser from '../../components/common/userinfo_detail/ic_detail/ChargeRecordQuery'
98
+ import FillCardQueryUser from '../../components/common/userinfo_detail/ic_detail/FillCardQueryUser'
99
+ import HandQueryUser from '../../components/common/userinfo_detail/ic_detail/HandQueryUser'
100
+ import OtherChargeQueryUser from '../../components/common/userinfo_detail/ic_detail/OtherChargeQueryUser'
101
+ import RecordQueryUser from '../../components/common/userinfo_detail/ic_detail/RecordQueryUser'
102
+ import TransferQueryUser from '../../components/common/userinfo_detail/ic_detail/TransferQueryUser'
103
+ import CardHandRecord from '../../components/common/userinfo_detail/ic_detail/CardHandRecord'
104
+ import AutomaticPurse from '../../components/common/userinfo_detail/ic_detail/AutomaticPurse'
105
+ import Repurchase from '../../components/common/userinfo_detail/ic_detail/Repurchase'
106
+ import MachineRecordQuery from '../../components/common/userinfo_detail/ic_detail/MachineRecordQuery'
107
+ import WebAutomaticPurse from '../../components/common/userinfo_detail/ic_detail/WebAutomaticPurse'
108
+ import WebChargeQueryUser from '../../components/common/userinfo_detail/ic_detail/WebChargeQueryUser'
109
+ import WebHandQueryUser from '../../components/common/userinfo_detail/ic_detail/WebHandQueryUser'
110
+ import UserDeviceQuery from '../../components/common/userinfo_detail/ic_detail/UserDeviceQuery'
111
+
112
+ // 导入物联网相关查询
113
+ import QueryInstruct from '../../components/common/userinfo_detail/iot_detail/QueryInstruct'
114
+ import QueryHistoryInstruct from '../../components/common/userinfo_detail/iot_detail/QueryHistoryInstruct'
115
+ import WatchCollection from '../../components/common/userinfo_detail/iot_detail/WatchCollection'
116
+ import WatchWarning from '../../components/common/userinfo_detail/iot_detail/WatchWarning'
117
+ import PriceChangeQueryUser from '../../components/common/userinfo_detail/ic_detail/PriceChangeQueryUser'
118
+ import ChangeRecord from '../../components/common/userinfo_detail/ic_detail/ChangeRecord'
119
+ import PriceAdjustmentQueryUser from '../../components/common/userinfo_detail/ic_detail/PriceAdjustmentQueryUser'
120
+ import MeterParam from '../../components/common/userinfo_detail/ic_detail/MeterParam'
121
+ import DeveiceRecord from '../../components/common/userinfo_detail/ic_detail/DeveiceRecord'
122
+ export default {
123
+ title: '用户详细信息',
124
+ props: ['f_userfiles_id', 'f_userinfo_id', 'f_userinfo_code', 'parentname', 'buttonshow'],
125
+ components: {
126
+ PriceAdjustmentQueryUser,
127
+ PriceChangeQueryUser,
128
+ AutomaticPurse,
129
+ WebAutomaticPurse,
130
+ WebChargeQueryUser,
131
+ WebHandQueryUser,
132
+ Repurchase,
133
+ ChangeMeterQueryUser,
134
+ ChargeQueryUser,
135
+ ChargeRecordQueryUser,
136
+ FillCardQueryUser,
137
+ HandQueryUser,
138
+ OtherChargeQueryUser,
139
+ RecordQueryUser,
140
+ TransferQueryUser,
141
+ WatchWarning,
142
+ WatchCollection,
143
+ QueryInstruct,
144
+ QueryHistoryInstruct,
145
+ ChangeRecord,
146
+ CardHandRecord,
147
+ MeterParam,
148
+ DeveiceRecord,
149
+ MachineRecordQuery,
150
+ UserDeviceQuery
151
+ },
152
+ data () {
153
+ return {
154
+ row: null,
155
+ name: '自动下账查询',
156
+ newWebHand: this.$appdata.getSingleValue('新抄表'),
157
+ show: ''
158
+ }
159
+ },
160
+ ready () {
161
+ this.search()
162
+ console.log(this.$login)
163
+ },
164
+ methods: {
165
+ permission (name) {
166
+ if (this.$login.r.find(value => value == '收费综合查询')) {
167
+ if (!this.$login.r.find(value => value == name)) {
168
+ return false
169
+ }
170
+ }
171
+ return true
172
+ },
173
+ async search () {
174
+ let http = new HttpResetClass()
175
+ let condition = ' 1 = 1'
176
+ if (this.f_userfiles_id) {
177
+ condition = `f_userfiles_id = '${this.f_userfiles_id}'`
178
+ } else if (this.f_userinfo_id) {
179
+ condition = `f_userinfo_id = '${this.f_userinfo_id}'`
180
+ } else if (this.f_userinfo_code) {
181
+ condition = `f_userinfo_code = '${this.f_userinfo_code}'`
182
+ }
183
+
184
+ let getBaseInfo = await http.load('POST', 'rs/sql/iot_getUserBaseData',
185
+ {data: {condition: condition}}, {resolveMsg: null, rejectMsg: '获取基本信息出错'})
186
+ this.row = getBaseInfo.data[0]
187
+ this.row.parentname = this.parentname || ''
188
+ },
189
+
190
+ cancel (val) {
191
+ this.$emit('cancel-main', val)
192
+ },
193
+
194
+ cancelRe (val) {
195
+ this.$emit('cancel-re', val)
196
+ },
197
+
198
+ butOper (val) {
199
+ this.name = val
200
+ }
201
+ },
202
+ watch: {
203
+ 'f_userinfo_id' () {
204
+ this.search()
205
+ }
206
+ }
207
+ }
208
+ </script>
@@ -648,13 +648,25 @@ export default {
648
648
  )
649
649
  },
650
650
  async apply () {
651
+ let http = new HttpResetClass()
652
+ let param = {
653
+ items: 'id',
654
+ condition: `f_userinfo_id = '${this.row.f_userinfo_id}' and f_state = '0' and f_delete = '0'`,
655
+ tablename: '"t_flow"',
656
+ orderitem: '"id"'
657
+ }
658
+ let result = await http.load('POST', 'rs/sql/saleSingleTable', {data: param},
659
+ {resolveMsg: null, rejectMsg: '获取流程信息失败!!'})
660
+ if (result.data.length > 0) {
661
+ this.$showAlert('当前申请用户已有流程在进行中,请完成当前进行流程在进行申请!!!', 'warning', 3000)
662
+ return
663
+ }
651
664
  let data = {
652
665
  items: 'id',
653
666
  condition: `f_blobid = '${this.row.f_userinfo_id}' and f_uploaddate > '${this.$login.toStandardDateString()} 00:00:00'`,
654
667
  tablename: '"t_files"',
655
668
  orderitem: '"id"'
656
669
  }
657
- let http = new HttpResetClass()
658
670
  let res = await http.load('POST', 'rs/sql/saleSingleTable', {data: data},
659
671
  {resolveMsg: null, rejectMsg: '获取文件失败!!'})
660
672
  if (!res.data.length > 0) {
@@ -590,13 +590,26 @@ export default {
590
590
  )
591
591
  },
592
592
  async apply () {
593
+
594
+ let http = new HttpResetClass()
595
+ let param = {
596
+ items: 'id',
597
+ condition: `f_userinfo_id = '${this.row.f_userinfo_id}' and f_state = '0' and f_delete = '0'`,
598
+ tablename: '"t_flow"',
599
+ orderitem: '"id"'
600
+ }
601
+ let result = await http.load('POST', 'rs/sql/saleSingleTable', {data: param},
602
+ {resolveMsg: null, rejectMsg: '获取流程信息失败!!'})
603
+ if (result.data.length > 0) {
604
+ this.$showAlert('当前申请用户已有流程在进行中,请完成当前进行流程在进行申请!!!', 'warning', 3000)
605
+ return
606
+ }
593
607
  let data = {
594
608
  items: 'id',
595
609
  condition: `f_blobid = '${this.row.f_userinfo_id}' and f_uploaddate > '${this.$login.toStandardDateString()} 00:00:00'`,
596
610
  tablename: '"t_files"',
597
611
  orderitem: '"id"'
598
612
  }
599
- let http = new HttpResetClass()
600
613
  let res = await http.load('POST', 'rs/sql/saleSingleTable', {data: data},
601
614
  {resolveMsg: null, rejectMsg: '获取文件失败!!'})
602
615
  if (!res.data.length > 0) {
@@ -28,4 +28,5 @@ export default function () {
28
28
  Vue.component('meter-message', (resolve) => { require(['./revenue/MeterMessage'], resolve) })
29
29
 
30
30
  Vue.component('user-base-info-new', (resolve) => { require(['./UserBaseInfoNew'], resolve) })
31
+ Vue.component('user-info-detail-manage-new', (resolve) => { require(['./UserInfoDetailManageNew'], resolve) })
31
32
  }