sale-client 3.6.99 → 3.6.102

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sale-client",
3
- "version": "3.6.99",
3
+ "version": "3.6.102",
4
4
  "description": "收费模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -720,13 +720,13 @@
720
720
  }
721
721
  this.$showMessage(`确定对用户${this.row.f_user_name}进行卡表收费吗?`, ['confirm', 'cancel']).then(async (res) => {
722
722
  if (res === 'confirm') {
723
+ this.clickConfirm = true
723
724
  // 先调用付款码支付组件流程
724
725
  let ss = await this.$refs.paymentcode.flowPath()
725
726
  this.$refs.paymentcode.paymentCodeShow = false
726
727
  console.log('付款码操作返回', ss)
727
728
  if (!ss.result) return
728
729
 
729
- this.clickConfirm = true
730
730
  this.model.f_curbalance = this.curbalance
731
731
  this.$dispatch('no-button')
732
732
  sellgasGen(this)
@@ -613,6 +613,7 @@
613
613
  },
614
614
  async confirm () {
615
615
  let res = await this.$showMessage(`确定对客户${this.row.f_user_name}进行物联网表缴费吗?`, ['confirm', 'cancel'])
616
+ this.clickConfirm = true
616
617
  if (res != 'confirm') return
617
618
  // 先调用付款码支付组件流程
618
619
  let ss = await this.$refs.paymentcode.flowPath()
@@ -620,7 +621,6 @@
620
621
  console.log('付款码操作返回', ss)
621
622
  if (!ss.result) return
622
623
  this.eticket_msg = false
623
- this.clickConfirm = true
624
624
  this.model.f_curbalance = this.curbalance
625
625
  this.$dispatch('no-button')
626
626
  console.log('model and row', this.model, this.row)
@@ -94,6 +94,14 @@
94
94
  condition="sell_operator = '{}'" placeholder="收款人"
95
95
  >
96
96
  </div>
97
+ <div class="col-sm-2 form-group">
98
+ <label class="font_normal_body">用户类型</label>
99
+ <v-select :value.sync="model.f_user_type"
100
+ :options='$parent.$parent.usertypes'
101
+ placeholder='请选择' v-model="model.f_user_type"
102
+ condition="f_user_type = '{}'"
103
+ close-on-select></v-select>
104
+ </div>
97
105
  </div>
98
106
  </div>
99
107
  </criteria>
@@ -109,6 +117,9 @@
109
117
  <th>
110
118
  <nobr>客户地址电话</nobr>
111
119
  </th>
120
+ <th>
121
+ <nobr>用户类型</nobr>
122
+ </th>
112
123
  <th>
113
124
  <data-order field="f_total_money" name="实收金额"
114
125
  :order.sync="$parent.$parent.$parent.orderFields.f_collection"></data-order>
@@ -163,6 +174,7 @@
163
174
  <th style="text-align:center">{{ row.f_userinfo_code }}</th>
164
175
  <th style="text-align:center">{{ row.f_user_name }}</th>
165
176
  <th style="text-align:center">{{ row.f_buy_address_phone }}</th>
177
+ <th style="text-align:center">{{ row.f_user_type }}</th>
166
178
  <th style="text-align:center">{{ row.f_collection }}</th>
167
179
  <th style="text-align:center">{{ row.f_total_money }}</th>
168
180
  <th style="text-align:center">{{ row.f_tax_money }}</th>
@@ -262,6 +274,7 @@ export default {
262
274
  'f_userinfo_code': '客户编号',
263
275
  'f_user_name': '客户姓名',
264
276
  'f_buy_address_phone': '用户地址',
277
+ 'f_user_type': '用户类型',
265
278
  'f_collection': '实收金额',
266
279
  'f_total_money': '开票金额',
267
280
  'f_tax_money': '不含税金额',
@@ -347,6 +360,9 @@ export default {
347
360
  }
348
361
  },
349
362
  computed: {
363
+ usertypes () {
364
+ return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('用户类型')]
365
+ },
350
366
  getCondition () {
351
367
  return {
352
368
  condition: `${this.$refs.paged.$refs.cri.condition}` + this.orgCondtionStr,
@@ -7,17 +7,7 @@
7
7
  v-show="$parent.searchshow">
8
8
  <div novalidate class="form-inline auto" partial>
9
9
  <div class="row">
10
- <div
11
- :class="{'col-sm-2':!$parent.$parent.editList,'col-sm-4':$parent.$parent.editList}"
12
- class="form-group">
13
- <label class="font_normal_body">组织机构</label>
14
- <res-select :initresid='$parent.$parent.curorgid'
15
- @res-select="$parent.$parent.getorg"
16
- class="select select_list"
17
- restype='organization'
18
- style="width: 60%">
19
- </res-select>
20
- </div>
10
+ <res-select-group :initres="$parent.$parent.initres" :show-component="['company','department']" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>
21
11
  <div
22
12
  :class="{'col-sm-2':!$parent.$parent.editList,'col-sm-4':$parent.$parent.editList}"
23
13
  class="form-group">
@@ -193,7 +183,7 @@
193
183
  const myMap = new Map()
194
184
 
195
185
  export default {
196
- 'title': '',
186
+ 'title': '收费记录维护',
197
187
  data () {
198
188
  return {
199
189
  usertypes: this.$appdata.getParam('客户类型') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('客户类型')] : [],
@@ -241,6 +231,12 @@ const myMap = new Map()
241
231
  da: {
242
232
  rows: []
243
233
  },
234
+ initres: {
235
+ org: [this.$login.f.orgid],
236
+ dep: [],
237
+ user: []
238
+ },
239
+ orgCondtionStr: '',
244
240
  f_meternumber: '',
245
241
  updatemodel:{
246
242
  f_accounting_date: this.$login.toStandardTimeString()
@@ -269,6 +265,12 @@ const myMap = new Map()
269
265
  f_accounting_date: this.$login.toStandardTimeString()
270
266
  }
271
267
  },
268
+ async getRes(condition,obj) {
269
+ this.orgCondtionStr = condition
270
+ this.orgname = obj.orgnames[0]
271
+ this.depname = obj.depnames[0]
272
+
273
+ },
272
274
  async confirm(){
273
275
  let array = []
274
276
  this.map.forEach((value, key, map) => {
@@ -391,12 +393,10 @@ const myMap = new Map()
391
393
  if (!this.$refs.paged.$refs.criteria.model.endDate) {
392
394
  this.$refs.paged.$refs.criteria.model.endDate = this.$login.toStandardDateString() + ' 23:59:59'
393
395
  }
394
- if (!this.f_orgid) {
395
- this.getorg([this.$login.f.orgid])
396
- }
397
- console.log('查询。。。', this.f_orgid)
398
- if (this.f_orgid) {
399
- args.condition = `${args.condition} and f_orgid in ${this.f_orgid}`
396
+ if (!this.orgCondtionStr) {
397
+ args.condition = `${args.condition}` + ' and f_orgid = ' + this.$login.f.orgid
398
+ } else {
399
+ args.condition = `${args.condition}` + this.orgCondtionStr
400
400
  }
401
401
  this.model.search(args.condition, args.model)
402
402
  this.condition = args.condition
@@ -30,7 +30,7 @@
30
30
  <td style="text-align:center;white-space:nowrap;">{{row.type}}</td>
31
31
  <td style="text-align:center;white-space:nowrap;">{{row.operate_date}}</td>
32
32
  <td style="text-align:center;white-space:nowrap;">{{row.f_operator}}</td>
33
- <td style="text-align:left;white-space:nowrap;">{{row.note}}{{row.f_write_card}}</td>
33
+ <td style="text-align:left;white-space:nowrap;">{{row.note}} {{row.f_othereason}} {{row.f_write_card}}</td>
34
34
  </tr>
35
35
  </template>
36
36
  </data-grid>
@@ -0,0 +1,282 @@
1
+ <template>
2
+ <div class="flex-auto" style="overflow-y: scroll;height: 55%">
3
+ <validator name='v'>
4
+ <form novalidate class="form-horizontal select-overspread ">
5
+ <ul class="nav nav-tabs">
6
+ <li class="active a-tabs"><a href="#">用户限购</a></li>
7
+ </ul>
8
+ <div>
9
+ <div class="row">
10
+ <div class="col-sm-4 form-group" id="f_user_id">
11
+ <label for="f_userinfo_code" class="font_normal_body">表&emsp;&emsp;号</label>
12
+ <input class="input_search" style="width:60%" type="text"
13
+ v-model="model.f_meternumber" @keyup.enter="getinfo('f_meternumber')"
14
+ :disabled='isEdit' placeholder="输入表号,回车查询">
15
+ </div>
16
+ <div class="col-sm-4 form-group" id="f_user_id">
17
+ <label for="f_userinfo_code" class="font_normal_body">卡&emsp;&emsp;号</label>
18
+ <input class="input_search" style="width:60%" type="text"
19
+ v-model="model.f_card_id" @keyup.enter="getinfo('f_card_id')"
20
+ :disabled='isEdit' placeholder="输入卡号,回车查询">
21
+ </div>
22
+ <div class="col-sm-4 form-group" id="f_user_id" :class="[$v.f_userinfo_code.required ? 'has-error' : 'has-success']">
23
+ <label for="f_userinfo_code" class="font_normal_body">用户编号</label>
24
+ <input class="input_search" style="width:60%" type="text" class="input_search" style="width:60%"
25
+ v-model="model.f_userinfo_code" @keyup.enter="getinfo('f_userinfo_code')"
26
+ v-validate:f_userinfo_code='{required: true }' :disabled='isEdit' placeholder="输入编号,回车查询">
27
+ </div>
28
+ <div class="col-sm-4 form-group" id="name" :class="[$v.f_user_name.required ? 'has-error' : 'has-success']">
29
+ <label for="f_user_name" class=" font_normal_body">用户姓名</label>
30
+ <input class="input_search" style="width:60%" type="text" class="input_search" style="width:60%" v-validate:f_user_name='{required: true }'
31
+ v-model="model.f_user_name" readonly
32
+ placeholder="用户姓名">
33
+
34
+ </div>
35
+ <div class="col-sm-4 form-group" id="phone" :class="[$v.f_user_phone.required ? 'has-error' : 'has-success']">
36
+ <label for="f_user_phone" class=" font_normal_body">联系方式</label>
37
+ <input class="input_search" style="width:60%" type="text" class="input_search" style="width:60%" v-validate:f_user_phone='{required: true }'
38
+ v-model="model.f_user_phone"
39
+ placeholder="联系方式">
40
+
41
+ </div>
42
+ <div class="col-sm-4 form-group" id="f_limit_times" :class="[$v.f_limit_times.required ? 'has-error' : 'has-success']">
43
+ <!-- <label for="f_limit_times" class=" font_normal_body">限购次数</label>-->
44
+ <label class="font_normal_body">限购次数</label>
45
+ <input class="input_search" style="width:60%" type="number"
46
+ v-model="model.f_limit_times" v-validate:f_limit_times='{required: true }'
47
+ placeholder="限购次数">
48
+
49
+ </div>
50
+ <div class="col-sm-2 form-group" id="f_limit">
51
+ <!-- <label for="f_limit_times" class=" font_normal_body">限购次数</label>-->
52
+ <v-select
53
+ v-model="f_limit"
54
+ :value.sync="f_limit"
55
+ :options='limites'
56
+ width="100%"
57
+ close-on-select>
58
+ </v-select>
59
+ </div>
60
+ <div class="col-sm-3 form-group" id="f_limit_gas" style="right: 3%;">
61
+ <input class="input_search" style="width:60%" type="number" v-if="f_limit=='限购气量'"
62
+ v-model="model.f_limit_value"
63
+ v-scale="[model.f_limit_value, 2]"
64
+ @click="gg()"
65
+ placeholder="限购气量">
66
+ <input class="input_search" type="number" v-if="f_limit=='限购金额'"
67
+ v-model="model.f_limit_amount"
68
+ v-scale="[model.f_limit_amount, 2]"
69
+ @click="gg()"
70
+ placeholder="限购金额">
71
+
72
+ </div>
73
+ </div>
74
+
75
+ <div class="row">
76
+ <div class="col-sm-12 form-group" id="address">
77
+ <label for="f_address" class=" font_normal_body">地&emsp;&emsp;址</label>
78
+ <input class="input_search" type="text" class="input_search" style="width:87%" v-model="model.f_address"
79
+ readonly
80
+ placeholder="地址">
81
+ </div>
82
+ <div class="col-sm-12 form-group" id="f_comments" :class="[$v.f_comments.required ? 'has-error' : 'has-success']">
83
+ <label for="f_comments" class=" font_normal_body">原&emsp;&emsp;因</label>
84
+ <input class="input_search" type="text" class="input_search" style="width:87%" v-model="model.f_comments"
85
+ placeholder="原因" v-validate:f_comments='{required: true }' >
86
+ </div>
87
+
88
+ </div>
89
+
90
+ <div style="text-align:right;height:auto;margin-top:6px;">
91
+ <button class="button_search" type="button" style="width:80px;" @click="confirm('限购')" v-show="!isBlackList && model.isblacklist =='false'" :disabled='!$v.valid'>
92
+ 限购
93
+ </button>
94
+ <button class="button_search" type="button" style="width:80px;" @click="confirm('取消限购')"
95
+ v-show="isBlackList || model.isblacklist =='true'" :disabled='!$v.valid'>
96
+ 取消限购
97
+ </button>
98
+ <button class="button_export" type="button" style="width:80px;" @click="close()">取消</button>
99
+ </div>
100
+ </div>
101
+
102
+ </form>
103
+
104
+
105
+ </validator>
106
+
107
+ </div>
108
+ </template>
109
+ <script>
110
+ import {HttpResetClass} from 'vue-client'
111
+ import Vue from 'vue'
112
+ let initGen = async function (self, val) {
113
+ // 获取低保气价
114
+ let http = new HttpResetClass()
115
+ let res = await http.load('POST', 'rs/sql/sale_getUserAndVersion', {data: {condition:`f_userinfo_code='${self.data.f_userinfo_code}'` , f_orgid: self.$login.f.orgid}}, {
116
+ resolveMsg: null,
117
+ rejectMsg: null
118
+ })
119
+ console.log(res.data)
120
+ console.log('用户id:' + res.data[0].f_userinfo_id)
121
+ self.model = Object.assign({}, self.model, val)
122
+ self.model.f_userinfo_code = res.data[0].f_userinfo_code
123
+ self.model.f_meternumber = res.data[0].f_meternumber
124
+ self.model.f_card_id = res.data[0].f_card_id
125
+ self.model.f_userinfo_id = res.data[0].f_userinfo_id
126
+ self.model.f_user_phone = res.data[0].f_user_phone
127
+ self.model.f_address = res.data[0].f_address
128
+ self.model.f_user_phone = res.data[0].f_user_phone
129
+ self.model.version = res.data[0].version
130
+ self.model.f_limit_value=res.data[0].f_limit_value
131
+ self.model.f_limit_times=res.data[0].f_limit_times
132
+ self.model.f_limit_amount=res.data[0].f_limit_amount
133
+ }
134
+
135
+ export default {
136
+ title: '黑名单',
137
+ props: {
138
+ f_islow_income: {
139
+ type: String,
140
+ default: '1'
141
+ },
142
+ data: {
143
+ type: Object
144
+ }
145
+ },
146
+ data () {
147
+ return {
148
+ pricename: [{value: '', label: ''}],
149
+ model: {
150
+ f_userinfo_code: '',
151
+ f_userinfo_id: '',
152
+ f_user_name: '',
153
+ f_address: '',
154
+ f_user_phone: '',
155
+ f_comments: '',
156
+ version: null,
157
+ // 限购次数
158
+ f_limit_times: '',
159
+ // 限购气量
160
+ f_limit_value: '',
161
+ // 限购金额
162
+ f_limit_amount: ''
163
+
164
+ },
165
+ // 编辑控制
166
+ isBlackList: false,
167
+ f_filialeid: '', // 所属公司
168
+ f_filialename: '', // 所属公司名称
169
+ f_limit: '限购气量',
170
+ limites: [{label: '限购气量', value: '限购气量'}, {label: '限购金额', value: '限购金额'}]
171
+
172
+ }
173
+ },
174
+ ready () {
175
+ if (this.data) {
176
+ this.isBlackList = true
177
+ initGen(this, this.data)
178
+ } else {
179
+ this.initModel()
180
+ }
181
+ },
182
+ watch: {
183
+ 'data' (val) {
184
+ if (val) {
185
+ this.isBlackList = true
186
+ initGen(this, val)
187
+ } else {
188
+ this.isBlackList = false
189
+ this.initModel()
190
+ }
191
+ }
192
+ },
193
+ methods: {
194
+ gg () {
195
+ if (this.f_limit[0] === '限购气量') {
196
+ this.model.f_limit_amount = ''
197
+ } else {
198
+ this.model.f_limit_value = ''
199
+ }
200
+ },
201
+ getinfo (type) {
202
+ var condition =`${type} = '${this.model[type]}'`
203
+ this.$resetpost('rs/sql/sale_getUserAndVersion', {data: {condition: condition, f_orgid: this.$login.f.orgid}}, {
204
+ resolveMsg: null,
205
+ rejectMsg: null
206
+ }).then((res) => {
207
+ console.log(res.data[0])
208
+ this.model = res.data[0]
209
+ this.$parent.blodid = this.model.f_userinfo_id
210
+ })
211
+ },
212
+ async confirm (type) {
213
+ if (type == '取消限购' && !this.$login.r.find(value => value == '取消限购')) {
214
+ this.$showMessage('你没有取消限购的权限,请联系管理员!')
215
+ return
216
+ }
217
+ let data = {
218
+ f_operat_type: type,
219
+ f_state: '有效',
220
+ f_user_id: this.model.f_user_id,
221
+ f_user_name: this.model.f_user_name,
222
+ f_comments: this.model.f_comments,
223
+ f_operator: this.$login.f.name,
224
+ f_operatorid: this.$login.f.id,
225
+ f_orgid: this.$login.f.orgid,
226
+ f_orgname: this.$login.f.orgs,
227
+ f_depid: this.$login.f.depids,
228
+ f_depname: this.$login.f.deps,
229
+ f_operate_date: this.$login.toStandardTimeString(),
230
+ f_describe: `${this.$login.f.name}对客户${this.model.f_user_name}进行${type}`,
231
+ f_userinfo_id: {
232
+ f_userinfo_id: this.model.f_userinfo_id,
233
+ f_user_state: '正常',
234
+ version: this.model.version
235
+ },
236
+ f_limit_times: this.model.f_limit_times,
237
+ f_limit_amount: this.model.f_limit_amount,
238
+ f_limit_value: this.model.f_limit_value
239
+ }
240
+ console.log('查看参数data', data)
241
+ let res =await this.$resetpost('rs/logic/backlistOperate', data,{resolveMsg: null, rejectMsg: null})
242
+ if (res.data.code == 200) {
243
+ this.$showMessage(`${type}成功`)
244
+ }
245
+ if (res.data.code == 500) {
246
+ this.$showMessage(`${type}失败,用户已被限购,请先取消限购`)
247
+ return
248
+ }
249
+ this.initModel()
250
+ this.$dispatch('success')
251
+ },
252
+ getorg (id, name) {
253
+ this.f_filialeid = id[0]
254
+ this.f_filialename = name[0]
255
+ },
256
+ initModel () {
257
+ this.model = {
258
+ f_userinfo_code: '',
259
+ f_userinfo_id: '',
260
+ f_user_name: '',
261
+ f_address: '',
262
+ f_user_phone: '',
263
+ f_comments: '',
264
+ version: null,
265
+ isblacklist: 'false'
266
+ }
267
+ },
268
+ close () {
269
+ this.$dispatch('close')
270
+ }
271
+ }
272
+ }
273
+ </script>
274
+ <style lang="less">
275
+ #gas-price-form {
276
+ .form-group {
277
+ margin-left: 0px;
278
+ margin-right: 0px;
279
+ }
280
+ }
281
+
282
+ </style>
@@ -0,0 +1,71 @@
1
+ <template>
2
+ <div class="flex-full" style="height: 40%">
3
+ <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid >
4
+ <template partial='head'>
5
+ <tr>
6
+ <th style="text-align: center;">序号</th>
7
+ <th style="text-align: center;">用户编号</th>
8
+ <th style="text-align: center;">用户名</th>
9
+ <th style="text-align: center;">手机号</th>
10
+ <th style="text-align: center;">购气金额</th>
11
+ <th style="text-align: center;">购气量</th>
12
+ <th style="text-align: center;">购气次数</th>
13
+ <th style="text-align: center;">付款方式</th>
14
+ <th style="text-align: center;">缴费日期</th>
15
+ </tr>
16
+ </template>
17
+ <template partial='body'>
18
+ <tr>
19
+ <td style="text-align: center;">{{$index+1}}</td>
20
+ <td style="text-align: center;">{{row.f_userinfo_code}}</td>
21
+ <td style="text-align: center;">{{row.f_user_name}}</td>
22
+ <td style="text-align: center;">{{row.f_user_phone}}</td>
23
+ <td style="text-align: center;">{{row.f_preamount}}</td>
24
+ <td style="text-align: center;">{{row.f_pregas}}</td>
25
+ <td style="text-align: center;">{{row.f_times}}</td>
26
+ <td style="text-align: center;">{{row.f_payment}}</td>
27
+ <td style="text-align: center;">{{row.f_operate_date}}</td>
28
+ </tr>
29
+
30
+ </template>
31
+ <template partial='foot'></template>
32
+ </data-grid>
33
+ </div>
34
+ </template>
35
+
36
+ <script>
37
+ import {HttpResetClass} from 'vue-client'
38
+
39
+ let initGen = async function (self, val) {
40
+ let http = new HttpResetClass()
41
+ console.log(self.$login.f, '================')
42
+ let res = await http.load('POST', 'rs/sql/sale_getUserPropertiesList', {data: {condition: `f_userinfo_id=${self.data.f_userinfo_id} and f_orgid = ${self.$login.f.orgid}` }}, {resolveMsg: null, rejectMsg: null})
43
+ self.model = Object.assign({}, self.model, val)
44
+ self.model.rows = res.data
45
+ }
46
+ export default {
47
+ props: ['data'],
48
+ data () {
49
+ return {
50
+ model: {
51
+ rows: []
52
+ }
53
+ }
54
+ },
55
+ watch: {
56
+ 'data' (val) {
57
+ if (val) {
58
+ initGen(this, val)
59
+ }
60
+ }},
61
+
62
+ ready () {
63
+ initGen(this, this.data)
64
+ }
65
+
66
+ }
67
+ </script>
68
+ <style>
69
+
70
+ </style>
71
+
@@ -0,0 +1,259 @@
1
+ <template>
2
+ <div @keyup.enter="search" class="flex-auto" style="flex:1;">
3
+ <criteria-paged :model="model" v-ref:paged>
4
+ <criteria @condition-changed='$parent.selfSearch' partial='criteria' v-ref:cri>
5
+ <div class="form-horizontal select-overspread container-fluid auto" novalidate partial>
6
+ <div class="row">
7
+ <res-select-group :style="$parent.$parent.style" :show-component="['company']" :initres="$parent.$parent.initres" @re-res="$parent.$parent.getorg" v-ref:sel></res-select-group>
8
+ <div class="form-group" :class="{'col-sm-2':!$parent.$parent.$parent.isdetail, 'col-sm-3':$parent.$parent.$parent.isdetail}">
9
+ <label class="font_normal_body">用户编号</label>
10
+ <input class="input_search" condition="f_userinfo_code like '%{}%'" placeholder="用户编号" style="width:60%"
11
+ style="width: 90px"
12
+ type="text" v-model="model.ename"
13
+ />
14
+ </div>
15
+ <div class="form-group" :class="{'col-sm-2':!$parent.$parent.$parent.isdetail, 'col-sm-3':$parent.$parent.$parent.isdetail}"
16
+ v-if="!$parent.$parent.$parent.isdetail">
17
+ <label class="font_normal_body">用户姓名</label>
18
+ <input class="input_search" condition="f_user_name = '{}'" placeholder="用户姓名" style="width:60%" style="width: 90px"
19
+ type="text" v-model="model.name"
20
+ />
21
+ </div>
22
+ <div class="form-group" :class="{'col-sm-2':!$parent.$parent.$parent.isdetail, 'col-sm-3':$parent.$parent.$parent.isdetail}"
23
+ v-if="!$parent.$parent.downshow && !$parent.$parent.$parent.isdetail">
24
+ <label class="font_normal_body">电&emsp;&emsp;话</label>
25
+ <input :size="model.f_user_phone ? model.f_user_phone.length : 2" class="input_search" condition="f_user_phone = '{}'" placeholder='电话' style="width:60%"
26
+ type="text"
27
+ v-model="model.f_user_phone">
28
+ </div>
29
+ <div class="form-group col-sm-3 button-range" style="padding-right: 10px">
30
+ <button @click="$parent.$parent.search()" class="button_search button_spacing" style="width:80px;margin-left:30px;" v-el:cx>查询</button>
31
+ <button @click="$parent.$parent.add()" class="button_export button_spacing" style="width: max-content;"
32
+ v-el:cx>新增限购
33
+ </button>
34
+ <export-excel
35
+ :data="$parent.$parent.getCondition"
36
+ :field="$parent.$parent.getfield"
37
+ sqlurl="rs/logic/saleExport" progress="saleGetExportProgress" sql-name="sale_getBlackList" template-name='限购导出'
38
+ :choose-col="true">
39
+ </export-excel>
40
+ <div
41
+ :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
42
+ @click="$parent.$parent.hidden()" class="button_spacing" style="float: right"></div>
43
+ </div>
44
+ </div>
45
+ <div class="row" v-if="$parent.$parent.criteriaShow">
46
+ <div class="form-group" :class="{'col-sm-2':!$parent.$parent.$parent.isdetail, 'col-sm-3':$parent.$parent.$parent.isdetail}"
47
+ v-if="$parent.$parent.$parent.isdetail">
48
+ <label class="font_normal_body">用户姓名</label>
49
+ <input class="input_search" condition="f_user_name = '{}'" placeholder="用户姓名" style="width:60%" style="width: 90px"
50
+ type="text" v-model="model.name"
51
+ />
52
+ </div>
53
+
54
+
55
+ <div class="form-group" :class="{'col-sm-2':!$parent.$parent.$parent.isdetail, 'col-sm-3':$parent.$parent.$parent.isdetail}"
56
+ v-if="!$parent.$parent.downshow&&!$parent.$parent.$parent.isdetail">
57
+ <label class="font_normal_body">表&emsp;&emsp;号</label>
58
+ <input :size="model.f_meternumber ? model.f_meternumber.length * 2 : 4" class="input_search" condition="f_meternumber = '{}'" placeholder='表号' style="width:60%"
59
+ type="text"
60
+ v-model="model.f_meternumber">
61
+ </div>
62
+ <div class="form-group" :class="{'col-sm-2':!$parent.$parent.$parent.isdetail, 'col-sm-3':$parent.$parent.$parent.isdetail}"
63
+ v-if="!$parent.$parent.downshow&&!$parent.$parent.$parent.isdetail">
64
+ <label class="font_normal_body">卡&emsp;&emsp;号</label>
65
+ <input :size="model.f_card_id ? model.f_card_id.length * 2 : 4" class="input_search" condition="f_card_id = '{}'" placeholder='卡号' style="width:60%"
66
+ type="text"
67
+ v-model="model.f_card_id">
68
+ </div>
69
+
70
+
71
+ <div class="form-group" :class="{'col-sm-2':!$parent.$parent.$parent.isdetail, 'col-sm-3':$parent.$parent.$parent.isdetail}"
72
+ v-if="!$parent.$parent.downshow&&!$parent.$parent.$parent.isdetail">
73
+ <label class="font_normal_body">地&emsp;&emsp;址</label>
74
+ <input :size="model.f_address ? model.f_address.length * 2 : 4" class="input_search" condition="f_address like '%{}%'" placeholder='用户地址' style="width:60%"
75
+ type="text"
76
+ v-model="model.f_address">
77
+ </div>
78
+ <div class="form-group" :class="{'col-sm-2':!$parent.$parent.$parent.isdetail, 'col-sm-3':$parent.$parent.$parent.isdetail}"
79
+ v-if="!(!$parent.$parent.downshow && !$parent.$parent.$parent.isdetail)">
80
+ <label class="font_normal_body">电&emsp;&emsp;话</label>
81
+ <input :size="model.f_user_phone ? model.f_user_phone.length : 2" class="input_search" condition="f_user_phone = '{}'" placeholder='电话' style="width:60%"
82
+ type="text"
83
+ v-model="model.f_user_phone">
84
+ </div>
85
+ <div class="form-group" :class="{'col-sm-2':!$parent.$parent.$parent.isdetail, 'col-sm-3':$parent.$parent.$parent.isdetail}"
86
+ v-if="!(!$parent.$parent.downshow&&!$parent.$parent.$parent.isdetail)">
87
+ <label class="font_normal_body">地&emsp;&emsp;址</label>
88
+ <input :size="model.f_address ? model.f_address.length * 2 : 4" class="input_search" condition="f_address like '%{}%'" placeholder='用户地址' style="width:60%"
89
+ type="text"
90
+ v-model="model.f_address">
91
+ </div>
92
+ <div class="form-group" :class="{'col-sm-2':!$parent.$parent.$parent.isdetail, 'col-sm-3':$parent.$parent.$parent.isdetail}">
93
+ <label class="font_normal_body">安检日期</label>
94
+ <datepicker placeholder="开始日期"
95
+ style="width:60%"
96
+ class="datepicker"
97
+ v-model="model.f_offsite_time"
98
+ :value.sync="model.f_offsite_time"
99
+ :format="'yyyy-MM-dd'"
100
+ condition="f_offsite_time >= '{} 00:00:00'"
101
+ ></datepicker>
102
+ </div>
103
+ <div class="form-group" :class="{'col-sm-2':!$parent.$parent.$parent.isdetail, 'col-sm-3':$parent.$parent.$parent.isdetail}">
104
+ <label class="font_normal_body">限购日期</label>
105
+ <datepicker placeholder="开始日期"
106
+ style="width:60%"
107
+ class="datepicker"
108
+ v-model="model.f_parameter_value"
109
+ :value.sync="model.f_parameter_value"
110
+ :format="'yyyy-MM-dd'"
111
+ condition="f_parameter_value >= '{} 00:00:00'"
112
+ ></datepicker>
113
+ </div>
114
+ </div>
115
+
116
+ </div>
117
+ </criteria>
118
+ <data-grid :model="model" class="list_area table_sy" partial='list' v-ref:grid>
119
+ <template partial='head'>
120
+ <tr>
121
+ <th style="text-align: center; ">序号</th>
122
+ <th style="text-align: center;">用户编号</th>
123
+ <th style="text-align: center;">姓名</th>
124
+ <th style="text-align: center;" v-show='!$parent.$parent.$parent.$parent.isdetail'>表号</th>
125
+ <th style="text-align: center;" v-show='!$parent.$parent.$parent.$parent.isdetail'>卡号</th>
126
+ <th style="text-align: center;" v-show='!$parent.$parent.$parent.$parent.isdetail'>电话</th>
127
+ <th style="text-align: center;">地址</th>
128
+ <th style="text-align: center;" v-show='!$parent.$parent.$parent.$parent.isdetail'>安检日期</th>
129
+ <th style="text-align: center;" v-show='!$parent.$parent.$parent.$parent.isdetail'>限购日期</th>
130
+ <th style="text-align: center;" v-show='!$parent.$parent.$parent.$parent.isdetail'>限购原因</th>
131
+ </tr>
132
+ </template>
133
+ <template partial='body'>
134
+
135
+ <td style="text-align: center;">{{$index+1}}</td>
136
+ <td style="text-align: center;">{{row.f_userinfo_code}}</td>
137
+ <td style="text-align: center;">{{row.f_user_name}}</td>
138
+ <td style="text-align: center;" v-show='!$parent.$parent.$parent.$parent.isdetail'>{{row.f_meternumber}}</td>
139
+ <td style="text-align: center;" v-show='!$parent.$parent.$parent.$parent.isdetail'>{{row.f_card_id}}</td>
140
+ <td style="text-align: center;" v-show='!$parent.$parent.$parent.$parent.isdetail'>{{row.f_user_phone}}</td>
141
+ <td style="text-align: center;">{{row.f_address}}</td>
142
+ <td style="text-align: center;" v-show='!$parent.$parent.$parent.$parent.isdetail'>{{row.f_offsite_time}}</td>
143
+ <td style="text-align: center;" v-show='!$parent.$parent.$parent.$parent.isdetail'>{{row.f_parameter_value}}</td>
144
+ <td style="text-align: center;" v-show='!$parent.$parent.$parent.$parent.isdetail'>{{row.f_comments}}</td>
145
+ </template>
146
+ <template partial='foot'></template>
147
+ </data-grid>
148
+ </criteria-paged>
149
+ </div>
150
+ </template>
151
+
152
+ <script>
153
+ import {PagedList} from 'vue-client'
154
+ import Vue from 'vue'
155
+
156
+ export default {
157
+ data () {
158
+ return {
159
+ initres: {
160
+ org: [this.$login.f.orgid],
161
+ dep: [],
162
+ user: []
163
+ },
164
+ criteriaShow: false,
165
+ model: new PagedList('rs/sql/sale_getBlackList', 20),
166
+ // 公司下拉
167
+ curorgid: [this.$login.f.orgid],
168
+ f_orgid: '',
169
+ getfield: {
170
+ 'f_userinfo_code': '用户编号',
171
+ 'f_user_name': '姓名',
172
+ 'f_meternumber': '表号',
173
+ 'f_card_id': '卡号',
174
+ 'f_user_phone': '电话',
175
+ 'f_address': '地址',
176
+ 'f_offsite_time': '安检日期',
177
+ 'f_parameter_value': '限购日期',
178
+ 'f_comments': '限购原因'
179
+ }
180
+ }
181
+ },
182
+ props: {
183
+ style: {
184
+ type: String,
185
+ default: 'form-group col-sm-2'
186
+ },
187
+ row: {},
188
+ ispartial: false
189
+ },
190
+ ready () {
191
+ this.search()
192
+ },
193
+ methods: {
194
+ async getRes (condition, obj) {
195
+ console.log('condition =', condition)
196
+ console.log('obj =', obj)
197
+
198
+ // //更新抄表册
199
+ // this.meterbooks = [{label: '全部',value: ''}];
200
+ // if(this.lastorgstr != condition){
201
+ // this.tempfalg = true;
202
+ // this.lastorgstr = condition;
203
+ // }
204
+ // if(this.tempfalg && condition != null && condition!='' && condition.indexOf("(")>-1){
205
+ // this.tempfalg = false;
206
+ // let a = condition.substring(condition.indexOf("(")+2)
207
+ // }
208
+ // this.orgCondtionStr = condition
209
+ },
210
+ hidden () {
211
+ this.criteriaShow = !this.criteriaShow
212
+ },
213
+ search () {
214
+ this.$refs.paged.$refs.cri.search()
215
+ this.$dispatch('search')
216
+ },
217
+ getorg (val) {
218
+ this.f_orgid = val
219
+ },
220
+ selfSearch (args) {
221
+ if (!this.f_orgid) {
222
+ this.getorg('and f_orgid in' + '(\'' + [this.$login.f.orgid] + '\')')
223
+ }
224
+ console.log('查询。。。', this.f_orgid)
225
+ if (this.f_orgid) {
226
+ // args.condition = `${args.condition} and s.f_filialeid in ${this.f_orgid}`
227
+ args.condition = `${args.condition} ${this.f_orgid} `
228
+ }
229
+
230
+ this.model.search(args.condition, args.model)
231
+ },
232
+ add () {
233
+ if (!this.$login.r.find(value => value == '新增限购')) {
234
+ this.$showMessage('你没有新增限购的权限,请联系管理员!')
235
+ return
236
+ }
237
+ this.style = 'col-sm-3'
238
+ this.$dispatch('add')
239
+ },
240
+ dblclick (val) {
241
+ console.log(val)
242
+ this.$emit('dblclick', val)
243
+ }
244
+
245
+ },
246
+ watch: {
247
+ 'model.rows.length' (val) {
248
+ if (val === 1) {
249
+ this.$refs.paged.$refs.grid.select(this.model.rows[0])
250
+ }
251
+ }
252
+ },
253
+ computed: {
254
+ getCondition () {
255
+ return {condition: `${this.$refs.paged.$refs.cri.condition}` + this.f_orgid}
256
+ }
257
+ }
258
+ }
259
+ </script>
@@ -0,0 +1,101 @@
1
+ <template>
2
+ <div id="unit" class="flex-row">
3
+ <black-list-list class="binary-left" v-ref:list :row="row" :style="style" @select-changed="selected"
4
+ style="width:auto;"></black-list-list>
5
+ <div class="binary-right" style="overflow-y: auto;" v-if="isdetail" :style="{width: isdetail?'50%':'auto'}">
6
+ <!-- <p class="bg-info text-center" style="padding: 8px;" v-if="row.pricecount">气价变更情况汇总</p> -->
7
+ <black-list style="height: 55%; margin-bottom: 30px;" :data="row" v-ref:gas></black-list>
8
+ <div v-show="row" class="auto">
9
+ <ul class="nav nav-tabs" >
10
+ <li class="active"><a href="#">限购操作记录</a></li>
11
+ </ul>
12
+ <black-list-record v-ref:update :data="row"></black-list-record>
13
+ </div>
14
+ <div v-show="row" class="auto">
15
+ <ul class="nav nav-tabs" >
16
+ <li class="active"><a href="#">限购充值明细</a></li>
17
+ </ul>
18
+ <black-list-detail v-ref:update :data="row"></black-list-detail>
19
+ </div>
20
+ <div class="auto">
21
+ <upload :blodid="blodid" cols="col-sm-12" isremark="true" fusetype="限购"></upload>
22
+ </div>
23
+ </div>
24
+ </div>
25
+ </template>
26
+ <script>
27
+ export default {
28
+ title: '限购管理',
29
+ data () {
30
+ return {
31
+ style: 'col-sm-2 form-group',
32
+ row: null,
33
+ blodid: '',
34
+ parentData: '',
35
+ isdetail: false
36
+ }
37
+ },
38
+ methods: {
39
+ selected (obj) {
40
+ if (obj.val) {
41
+ this.style = 'col-sm-3 form-group'
42
+ this.row = obj.val
43
+ this.blodid = this.row.f_userinfo_id
44
+ this.isdetail = true
45
+ }
46
+ }
47
+ },
48
+ ready () {
49
+ console.log(this.isdetail, '=============')
50
+ },
51
+ events: {
52
+ 'success' (name, row, res) {
53
+ // this.style='col-sm-2'
54
+ this.row = null
55
+ this.blodid = ''
56
+ this.isdetail = false
57
+ this.$refs.list.search()
58
+ },
59
+ 'error' (name, row, res) {
60
+ this.row = null
61
+ this.blodid = ''
62
+ this.isdetail = false
63
+ this.$refs.list.search()
64
+ },
65
+ 'close' (res) {
66
+ this.style = 'col-sm-2 form-group'
67
+ this.row = null
68
+ this.blodid = ''
69
+ this.isdetail = false
70
+ },
71
+ 'search' () {
72
+ this.style = 'col-sm-2 form-group'
73
+ this.row = null
74
+ this.blodid = ''
75
+ this.isdetail = false
76
+ // this.$refs.list.search()
77
+ },
78
+ 'add' () {
79
+ this.style = 'col-sm-3 form-group'
80
+ this.isdetail = true
81
+ this.blodid = ''
82
+ this.$refs.list.$refs.paged.$refs.grid.selectStore.selected = null
83
+ this.row = null
84
+ }
85
+ },
86
+ watch: {
87
+ 'isdetail' (val) {
88
+ console.log(val, '===================')
89
+ }
90
+ }
91
+ }
92
+ </script>
93
+ <style>
94
+ .datapanel {
95
+ color: #333;
96
+ background-color: white;
97
+ box-shadow: darkgrey 0.5px 0.5px 0.5px 0.5px ;
98
+ padding: 10px 10px 5px 10px;
99
+ border-radius:10px;
100
+ }
101
+ </style>
@@ -0,0 +1,62 @@
1
+ <template>
2
+ <div class="flex-full" style="height: 40%">
3
+ <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid >
4
+ <template partial='head'>
5
+ <tr>
6
+ <th style="text-align: center;">序号</th>
7
+ <th style="text-align: center;">操作类型</th>
8
+ <th style="text-align: center;">操作时间</th>
9
+ <th style="text-align: center;">操作人</th>
10
+ <th style="text-align: center;">原因</th>
11
+ </tr>
12
+ </template>
13
+ <template partial='body'>
14
+ <tr>
15
+ <td style="text-align: center;">{{$index+1}}</td>
16
+ <td style="text-align: center;">{{row.f_operat_type}}</td>
17
+ <td style="text-align: center;">{{row.f_operate_date}}</td>
18
+ <td style="text-align: center;">{{row.f_operator}}</td>
19
+ <td style="text-align: center;">{{row.f_comments}}</td>
20
+ </tr>
21
+ </template>
22
+ <template partial='foot'></template>
23
+ </data-grid>
24
+ </div>
25
+ </template>
26
+
27
+ <script>
28
+ import {HttpResetClass} from 'vue-client'
29
+
30
+ let initGen = async function (self, val) {
31
+ let http = new HttpResetClass()
32
+ console.log(self.$login.f, '================')
33
+ let res = await http.load('POST', 'rs/sql/sale_getBlackListRecord', {data: {condition: `f_userinfo_id=${self.data.f_userinfo_id} and f_orgid = ${self.$login.f.orgid}` }}, {resolveMsg: null, rejectMsg: null})
34
+ self.model = Object.assign({}, self.model, val)
35
+ self.model.rows = res.data
36
+ }
37
+ export default {
38
+ props: ['data'],
39
+ data () {
40
+ return {
41
+ model: {
42
+ rows: []
43
+ }
44
+ }
45
+ },
46
+ watch: {
47
+ 'data' (val) {
48
+ if (val) {
49
+ initGen(this, val)
50
+ }
51
+ }},
52
+
53
+ ready () {
54
+ initGen(this, this.data)
55
+ }
56
+
57
+ }
58
+ </script>
59
+ <style>
60
+
61
+ </style>
62
+
@@ -0,0 +1,211 @@
1
+ <template>
2
+ <div class="auto">
3
+ <modal :show.sync="blackshow" v-ref:modal large backdrop="false">
4
+ <header slot="modal-header" class="modal-header">
5
+ <h4 class="modal-title">用户拉黑</h4>
6
+ </header>
7
+ <article slot="modal-body" class="modal-body">
8
+ <validator name='v'>
9
+ <form novalidate class="form-horizontal select-overspread ">
10
+ <div>
11
+ <div class="row">
12
+ <div class="col-sm-4 form-group" id="f_meternumber">
13
+ <label for="f_userinfo_code" class="font_normal_body">表&emsp;&emsp;号</label>
14
+ <input class="input_search" style="width:60%" type="text"
15
+ v-model="model.f_meternumber" readonly>
16
+ </div>
17
+ <div class="col-sm-4 form-group" id="f_card_id">
18
+ <label for="f_userinfo_code" class="font_normal_body">卡&emsp;&emsp;号</label>
19
+ <input class="input_search" style="width:60%" type="text"
20
+ v-model="model.f_card_id" readonly>
21
+ </div>
22
+ <div class="col-sm-4 form-group" id="f_userinfo_code">
23
+ <label for="f_userinfo_code" class="font_normal_body">用户编号</label>
24
+ <input class="input_search" style="width:60%" type="text" class="input_search" style="width:60%"
25
+ v-model="model.f_userinfo_code" readonly>
26
+ </div>
27
+ <div class="col-sm-4 form-group" id="name">
28
+ <label for="f_user_name" class=" font_normal_body">用户姓名</label>
29
+ <input class="input_search" style="width:60%" type="text" class="input_search" style="width:60%"
30
+ v-model="model.f_user_name" readonly
31
+ placeholder="用户姓名">
32
+ </div>
33
+ <div class="col-sm-4 form-group" id="phone">
34
+ <label for="f_user_phone" class=" font_normal_body">联系方式</label>
35
+ <input class="input_search" style="width:60%" type="text" class="input_search" style="width:60%"
36
+ v-model="model.f_user_phone" readonly
37
+ placeholder="联系方式">
38
+ </div>
39
+ <div class="col-sm-4 form-group" id="f_limit_times"
40
+ :class="[$v.f_limit_times.required ? 'has-error' : 'has-success']">
41
+ <label class="font_normal_body">限购次数</label>
42
+ <input class="input_search" style="width:60%" type="number"
43
+ v-model="model.f_limit_times" v-validate:f_limit_times='{required: true }'
44
+ placeholder="限购次数">
45
+ </div>
46
+ <div class="col-sm-2 form-group" id="f_limit">
47
+ <v-select
48
+ width="82%"
49
+ v-model="f_limit"
50
+ :value.sync="f_limit"
51
+ :options='limites'
52
+ close-on-select>
53
+ </v-select>
54
+ </div>
55
+ <div class="col-sm-3 form-group" id="f_limit_gas" style="right: 3%;">
56
+ <input class="input_search" style="width:60%" type="number" v-if="f_limit=='限购气量'"
57
+ v-model="model.f_limit_value"
58
+ v-scale="[model.f_limit_value, 2]"
59
+ @click="gg()"
60
+ placeholder="限购气量">
61
+ <input class="input_search" type="number" v-if="f_limit=='限购金额'"
62
+ v-model="model.f_limit_amount"
63
+ v-scale="[model.f_limit_amount, 2]"
64
+ @click="gg()"
65
+ placeholder="限购金额">
66
+
67
+ </div>
68
+ </div>
69
+ <div class="row">
70
+ <div class="col-sm-12 form-group" id="address">
71
+ <label for="f_address" class=" font_normal_body">地&emsp;&emsp;址</label>
72
+ <input class="input_search" type="text" class="input_search" style="width:87%"
73
+ v-model="model.f_address"
74
+ readonly
75
+ placeholder="地址">
76
+ </div>
77
+ <div class="col-sm-12 form-group" id="f_comments"
78
+ :class="[$v.f_comments.required ? 'has-error' : 'has-success']">
79
+ <label for="f_comments" class=" font_normal_body">原&emsp;&emsp;因</label>
80
+ <input class="input_search" type="text" class="input_search" style="width:87%"
81
+ v-model="model.f_comments"
82
+ placeholder="原因" v-validate:f_comments='{required: true }'>
83
+ </div>
84
+ </div>
85
+ </div>
86
+ </form>
87
+ </validator>
88
+ </article>
89
+ <footer slot="modal-footer" class="modal-footer">
90
+ <div style="text-align:right;height:auto;margin-top:6px;">
91
+ <button class="button_search" type="button" style="width:80px;" @click="confirm('拉黑')" :disabled='!$v.valid'>
92
+ 拉黑
93
+ </button>
94
+ <button class="button_search" type="button" style="width:80px;" @click="close()">
95
+ 取消
96
+ </button>
97
+ </div>
98
+ </footer>
99
+ </modal>
100
+ </div>
101
+ </template>
102
+ <script>
103
+ export default {
104
+ title: '黑名单',
105
+ props: {
106
+ data: {
107
+ type: Object
108
+ },
109
+ blackshow: {
110
+ type: Boolean
111
+ }
112
+ },
113
+ data () {
114
+ return {
115
+ model: {
116
+ f_userinfo_code: '',
117
+ f_userinfo_id: '',
118
+ f_user_name: '',
119
+ f_address: '',
120
+ f_user_phone: '',
121
+ f_comments: '',
122
+ version: null,
123
+ // 限购次数
124
+ f_limit_times: '',
125
+ // 限购气量
126
+ f_limit_value: '',
127
+ // 限购金额
128
+ f_limit_amount: ''
129
+
130
+ },
131
+ f_limit: '限购气量',
132
+ limites: [{label: '限购气量', value: '限购气量'}, {label: '限购金额', value: '限购金额'}]
133
+
134
+ }
135
+ },
136
+ ready () {
137
+ this.initModel()
138
+ },
139
+ watch: {
140
+ 'data' () {
141
+ this.initModel()
142
+ }
143
+ },
144
+ methods: {
145
+ gg () {
146
+ if (this.f_limit[0] === '限购气量') {
147
+ this.model.f_limit_amount = ''
148
+ } else {
149
+ this.model.f_limit_value = ''
150
+ }
151
+ },
152
+ async confirm (type) {
153
+ let data = {
154
+ f_operat_type: type,
155
+ f_state: '有效',
156
+ f_user_id: this.model.f_user_id,
157
+ f_user_name: this.model.f_user_name,
158
+ f_comments: this.model.f_comments,
159
+ f_operator: this.$login.f.name,
160
+ f_operatorid: this.$login.f.id,
161
+ f_orgid: this.$login.f.orgid,
162
+ f_orgname: this.$login.f.orgs,
163
+ f_depid: this.$login.f.depids,
164
+ f_depname: this.$login.f.deps,
165
+ f_operate_date: this.$login.toStandardTimeString(),
166
+ f_describe: `${this.$login.f.name}对客户${this.model.f_user_name}进行${type}`,
167
+ f_userinfo_id: {
168
+ f_userinfo_id: this.model.f_userinfo_id,
169
+ f_user_state: '正常',
170
+ version: this.model.version
171
+ },
172
+ f_limit_times: this.model.f_limit_times,
173
+ f_limit_amount: this.model.f_limit_amount,
174
+ f_limit_value: this.model.f_limit_value
175
+ }
176
+ console.log('查看参数data', data)
177
+ await this.$resetpost('rs/logic/backlistOperate', data, {resolveMsg: `${type}成功`, rejectMsg: `${type}失败,请重试`})
178
+ this.$dispatch('blackclose')
179
+ },
180
+ initModel () {
181
+ if (this.data) {
182
+ console.log(this.data)
183
+ this.model = {
184
+ f_userinfo_code: this.data.f_userinfo_code,
185
+ f_userinfo_id: this.data.f_userinfo_id,
186
+ f_meternumber: this.data.f_meternumber,
187
+ f_card_id: this.data.f_card_id,
188
+ f_user_name: this.data.f_user_name,
189
+ f_address: this.data.f_address,
190
+ f_user_phone: this.data.f_user_phone,
191
+ f_comments: '',
192
+ version: this.data.userinfo_version,
193
+ isblacklist: 'false'
194
+ }
195
+ }
196
+ },
197
+ close () {
198
+ this.$dispatch('blackclose')
199
+ }
200
+ }
201
+ }
202
+ </script>
203
+ <style lang="less">
204
+ #gas-price-form {
205
+ .form-group {
206
+ margin-left: 0px;
207
+ margin-right: 0px;
208
+ }
209
+ }
210
+
211
+ </style>
@@ -0,0 +1,61 @@
1
+ <template>
2
+ <!-- <div v-if="listpage">-->
3
+ <tab-button v-ref:list :active="-1">
4
+ <tabs header="低保户管理" v-if="permission('低保户管理')">
5
+ <basic-living-manage @deal-msg="dealMsg" ></basic-living-manage>
6
+ </tabs>
7
+ <tabs header="到访不遇管理" v-if="permission('黑名单管理')">
8
+ <black-list-mangae @deal-msg="dealMsg"></black-list-mangae>
9
+ </tabs>
10
+ </tab-button>
11
+ <!-- </div>-->
12
+ <!-- <div v-if="!listpage">-->
13
+ <!-- <meter-info-manage :row="rowData" :f_start_date="f_start_date" :f_end_date="f_end_date"></meter-info-manage>-->
14
+ <!-- </div>-->
15
+ </template>
16
+
17
+ <script>
18
+ import TabButton from '../../../components/revenue/comprehen/SpecialUser/common/TabButton'
19
+ import Tabs from '../../../components/revenue/comprehen/SpecialUser/common/Tabs'
20
+
21
+ export default {
22
+ name: 'SpecialUserManage',
23
+ title: '特殊用户管理',
24
+ data () {
25
+ return {// 页面开关
26
+ f_start_date: '',
27
+ f_end_date: '',
28
+ listpage: true,
29
+ width: {
30
+ left: '100%',
31
+ right: '0%'
32
+ },
33
+ // searchNumber:'',
34
+ rowData: {},
35
+ show: [true]
36
+ }
37
+ },
38
+ components: {Tabs, TabButton},
39
+ ready () {
40
+ console.log(this.$refs.list)
41
+ console.log('业务查询')
42
+ },
43
+ methods: {
44
+ permission (name) {
45
+ if (!this.$login.r.find(value => value == name)) {
46
+ return false
47
+ }
48
+ return true
49
+ },
50
+ cancel (obj) {
51
+ this.listpage = true
52
+ },
53
+ dealMsg (obj) {
54
+ }
55
+ }
56
+ }
57
+ </script>
58
+
59
+ <style scoped>
60
+
61
+ </style>
@@ -12,4 +12,12 @@ export default function () {
12
12
  Vue.component('user-meterinfodetail', (resolve) => { require(['./meterinfodetail'], resolve) })
13
13
  // 过户
14
14
  Vue.component('transfer-manage', (resolve) => { require(['./TransferManage'], resolve) })
15
+ // 黑名单
16
+ Vue.component('special-user-manage', (resolve) => { require(['./BlackList/SpecialUserManage'], resolve) })
17
+ Vue.component('black-list-mangae', (resolve) => { require(['./BlackList/BlackListManage'], resolve) })
18
+ Vue.component('black-modal', (resolve) => { require(['./BlackList/BlackModal'], resolve) })
19
+ Vue.component('black-list-list', (resolve) => { require(['./BlackList/BlackListList'], resolve) })
20
+ Vue.component('black-list', (resolve) => { require(['./BlackList/BlackList'], resolve) })
21
+ Vue.component('black-list-record', (resolve) => { require(['./BlackList/BlackListRecord'], resolve) })
22
+ Vue.component('black-list-detail', (resolve) => { require(['./BlackList/BlackListDetail'], resolve) })
15
23
  }