sale-client 3.6.314 → 3.6.315

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.314",
3
+ "version": "3.6.315",
4
4
  "description": "收费模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -165,6 +165,9 @@
165
165
  <li v-if="row.f_meter_type === '物联网表' && $parent.$parent.$parent.jurisdiction.includes('补费扣费')">
166
166
  <a href="#" @click.stop="$parent.$parent.$parent.operate('补费扣费', 'deduction-manage', row)">补费扣费</a>
167
167
  </li>
168
+ <li v-if="$parent.$parent.$parent.jurisdiction.includes('限购配置')">
169
+ <a href="#" @click.stop="$parent.$parent.$parent.operate('限购配置', 'limit-gas-manage', row)">限购配置</a>
170
+ </li>
168
171
  </ul>
169
172
  </dropdown>
170
173
  </td>
@@ -6,43 +6,104 @@
6
6
  <criteria partial='criteria' v-ref:criteria @condition-changed="$parent.selfSearch"
7
7
  v-show="$parent.searchshow">
8
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>
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>
17
46
  </div>
18
- <div class="col-sm-2 form-group">
19
- <label class="font_normal_body">客户编号</label>
20
- <input type="text" class="input_search" style="width: 60%" v-model="model.f_userinfo_code"
21
- condition="f_userinfo_code = '{}'" placeholder='客户编号'>
22
- </div>
23
- <div class="col-sm-2 form-group">
24
- <label class="font_normal_body">客户姓名</label>
25
- <input type="text" class="input_search" style="width: 60%" v-model="model.f_user_name"
26
- condition="f_user_name = '{}'" placeholder='客户姓名'>
27
- </div>
28
- <div class="col-sm-2 form-group">
29
- <label class="font_normal_body">有无附件</label>
30
- <v-select :disabled=false
31
- :options='$parent.$parent.pj'
32
- :value-single="true"
33
- :value.sync="model.is_has_file"
34
- close-on-select
35
- placeholder='请选择'
36
- v-model="model.is_has_file"
37
- condition="is_has_file = '{}'"
38
- search=fasle
39
- >
40
- </v-select>
41
- </div>
42
- <div class="span" style="float:right;">
43
- <button class="button_search" @click="search()">查 询</button>
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>
44
104
  </div>
45
105
  </div>
106
+
46
107
  </criteria>
47
108
  <data-grid :model="model" v-ref:grid class="list_area table_sy" partial='list'>
48
109
  <template partial='head'>
@@ -177,7 +238,9 @@
177
238
  <script>
178
239
  import {PagedList} from 'vue-client'
179
240
  const myMap = new Map()
180
-
241
+ let asyncReadyGen = async function (self) {
242
+ await self.initQueryParam()
243
+ }
181
244
  export default {
182
245
  'title': '',
183
246
  data () {
@@ -187,12 +250,43 @@ const myMap = new Map()
187
250
  // 控制查询条件显示
188
251
  searchshow: true,
189
252
  curorgid: [this.$login.f.orgid],
253
+ criteriaShow: false,
190
254
  f_orgid: '',
255
+ condition: '',
191
256
  // 排序
192
257
  orderitem: 'f_operate_date desc',
193
258
  orderFields: {
194
259
  f_operate_date: 'no'
195
260
  },
261
+ // 控制样式
262
+ editList: false,
263
+ excelTable: true,
264
+ getfield: {
265
+ 'f_userinfo_code': '客户编号',
266
+ 'f_user_name': '客户名称',
267
+ 'f_address': '客户地址',
268
+ 'f_type': '换表类型',
269
+ 'f_changemeter_fee': '换表费',
270
+ 'f_meternumber_old': '旧表号',
271
+ 'f_meternumber': '新表号',
272
+ 'f_meter_brand_old': '旧气表品牌',
273
+ 'f_meter_brand': '新气表品牌',
274
+ 'f_remanent_gas': '旧表剩余补气量',
275
+ 'f_remanent_money': '旧表剩余金额',
276
+ 'f_comments': '备注',
277
+ 'f_change_operator': '换表人',
278
+ 'f_state': '状态',
279
+ 'f_operate_date': '换表日期',
280
+ 'f_operator': '人员',
281
+ 'f_depname': '所属部门',
282
+ 'f_orgname': '所属公司'
283
+ },
284
+ meterbrand: [],
285
+ initres: {
286
+ org: [this.$login.f.orgid],
287
+ dep: [],
288
+ user: []
289
+ },
196
290
  whetherPay: [{label: '全部', value: ''}, {label: '是', value: '是'}, {label: '否', value: '否'}],
197
291
  da: {
198
292
  rows: []
@@ -201,6 +295,7 @@ const myMap = new Map()
201
295
  }
202
296
  },
203
297
  ready () {
298
+ asyncReadyGen(this)
204
299
  this.search()
205
300
  // this.getwarehouse()
206
301
  },
@@ -210,6 +305,22 @@ const myMap = new Map()
210
305
  this.f_orgid = this.$login.convertToIn(val)
211
306
  this.f_filialeid = val[0]
212
307
  },
308
+ async getRes (condition, obj) {
309
+ this.orgCondtionStr = condition
310
+ this.orgname = obj.orgnames[0]
311
+ this.depname = obj.depnames[0]
312
+
313
+ },
314
+ initQueryParam () {
315
+ let arr = []
316
+ this.$GetSaleParam.getGasbrand().forEach((item) => {
317
+ let temp = {}
318
+ temp.label = item.label
319
+ temp.value = item.value.f_meter_brand
320
+ arr.push(temp)
321
+ })
322
+ this.meterbrand = [{label: '全部', value: ''}, ...arr]
323
+ },
213
324
  view (row) {
214
325
  this.$parent.showupload = true
215
326
  this.$parent.row = row
@@ -231,7 +342,9 @@ const myMap = new Map()
231
342
  async getwarehouse () {
232
343
 
233
344
  },
234
-
345
+ hidden () {
346
+ this.criteriaShow = !this.criteriaShow
347
+ },
235
348
  join1 (row) {
236
349
  this.joinrow = row
237
350
  this.joinshow = true
@@ -273,10 +386,13 @@ const myMap = new Map()
273
386
  this.getorg([this.$login.f.orgid])
274
387
  }
275
388
  console.log('查询。。。', this.f_orgid)
276
- if (this.f_orgid) {
277
- args.condition = `${args.condition} and f_orgid in ${this.f_orgid}`
389
+ if (!this.orgCondtionStr) {
390
+ args.condition = `${args.condition}` + ' and f_orgid = ' + this.$login.f.orgid
391
+ } else {
392
+ args.condition = `${args.condition}` + this.orgCondtionStr
278
393
  }
279
394
  this.model.search(args.condition, args.model)
395
+ this.condition = args.condition
280
396
  },
281
397
  mergeRowData (joinrows) {
282
398
 
@@ -104,8 +104,18 @@
104
104
 
105
105
  <!-- </div>-->
106
106
 
107
-
108
-
107
+ <div class="row">
108
+ <div class="col-sm-8">
109
+ <label class="font_normal_body">换表原因</label>
110
+ <input type="text" v-model="model.f_comments" style="width: 80%" class="input_search">
111
+ </div>
112
+ </div>
113
+ <div class="row">
114
+ <div class="col-sm-8">
115
+ <label class="font_normal_body">其他备注</label>
116
+ <input type="text" v-model="model.f_othereason" style="width: 80%" class="input_search">
117
+ </div>
118
+ </div>
109
119
  </form>
110
120
  <div style="float: right">
111
121
  <button class="button_search" @click="save">保存</button>
@@ -195,7 +205,7 @@
195
205
  if(res.data.length>0){
196
206
  this.model.f_operator = res.data[0].name
197
207
  }else{
198
- this.model.f_operatorid=''
208
+ this.model.f_operatorid = ''
199
209
  this.$showAlert('操作员信息未找到','warning',2000)
200
210
  }
201
211
  console.log('this.f_operatorid', this.model.f_operator)
@@ -224,29 +234,20 @@
224
234
  modifitime: Util.toStandardTimeString(),
225
235
  operator: this.$login.f.name,
226
236
  changemeter_id: this.model.id,
227
- f_operator : this.$login.f.name,
228
- f_operatorid : this.$login.f.id,
229
- f_orgid : this.$login.f.orgid,
230
- f_orgname : this.$login.f.orgs,
231
- f_depid : this.$login.f.depids,
232
- f_depname : this.$login.f.deps
237
+ f_operator: this.$login.f.name,
238
+ f_operatorid: this.$login.f.id,
239
+ f_orgid: this.$login.f.orgid,
240
+ f_orgname: this.$login.f.orgs,
241
+ f_depid: this.$login.f.depids,
242
+ f_depname: this.$login.f.deps
233
243
  }
234
244
  this.recordList.push(car)
235
245
  // 该方法并未对chinesename fieldname operator等进行判断赋值,此暂写为定值
236
246
  console.log(car)
237
247
  }
238
248
  }
239
-
240
249
  await this.$resetpost('rs/logic/saveChangeMeterRecord', {data: {recordlist: this.recordList, newData: this.model}})
241
- // if(this.model.f_operat_type==='换表'||this.model.f_operat_type==='换表撤销'){
242
- // await this.$resetpost('rs/entity/t_changemeter', this.model, {
243
- // resolveMsg: '修改成功',
244
- // rejectMsg: '未通过,修改出错!!!'
245
- // })
246
- // await this.$resetpost('rs/entity/t_changetables', this.model, {
247
- // resolveMsg: '修改成功',
248
- // rejectMsg: '未通过,修改出错!!!'
249
- // })
250
+ await this.$resetpost('rs/entity/t_changetables', this.model, {resolveMsg: '修改成功', rejectMsg: '未通过,修改出错!!!'})
250
251
  console.log('this.model', this.model)
251
252
  this.$dispatch('close')
252
253
  }
@@ -26,7 +26,7 @@
26
26
  <export-excel
27
27
  :data="{condition: $parent.$parent.condition}"
28
28
  :field="$parent.$parent.getfield"
29
- sqlurl="rs/logic/exportfile" sql-name="salegetGasUser" :template-name="$parent.$parent.pricename+'气价使用人'"
29
+ sqlurl="rs/logic/saleExport" sql-name="getGasUser" :template-name="$parent.$parent.pricename+'气价使用人'"
30
30
  :choose-col="true"></export-excel>
31
31
  <div style="float: right" class="button_spacing"
32
32
  :class="{'button_shrink_top': $parent.$parent.criteriaShow2,'button_shrink_bottom': !$parent.$parent.criteriaShow2}"
@@ -177,6 +177,14 @@ let getBtnsGen = async function (self) {
177
177
  }
178
178
  })
179
179
  }
180
+ // 添加“限制购气”按钮
181
+ self.operBtns.push({
182
+ name: '限制购气',
183
+ value: {
184
+ 'weight': 0,
185
+ 'routeName': 'limit-gas-manage'
186
+ }
187
+ })
180
188
  }
181
189
 
182
190
  export default {
@@ -0,0 +1,306 @@
1
+ <template>
2
+ <div class="auto">
3
+ <validator name='v'>
4
+ <form novalidate class="form-horizontal">
5
+
6
+ <div class="row">
7
+ <div class="col-sm-4 form-group" :class="[$v.f_third_pay.required ? 'has-error' : '']">
8
+ <label class="font_normal_body col-sm-3" >第三方缴费</label>
9
+ <input type="text" v-show="false" v-model="$refs.f_third_pay.selectedItems"
10
+ v-validate:f_third_pay='{required: true }'>
11
+ <v-select width="60%"
12
+ :value.sync="model.f_third_pay"
13
+ v-model="model.f_third_pay"
14
+ :options='thirdPays'
15
+ :value-single="true" v-ref:f_third_pay
16
+ close-on-select></v-select>
17
+ </div>
18
+ <div class="col-sm-4 form-group" :class="[$v.f_limit_style.required ? 'has-error' : '']">
19
+ <label class="font_normal_body col-sm-3" >限制类型</label>
20
+ <input type="text" v-show="false" v-model="$refs.f_limit_style.selectedItems"
21
+ v-validate:f_limit_style='{required: true }'>
22
+ <v-select width="60%"
23
+ :value.sync="model.f_limit_style"
24
+ v-model="model.f_limit_style"
25
+ :options='limitstyle'
26
+ :value-single="true" v-ref:f_limit_style
27
+ close-on-select></v-select>
28
+ </div>
29
+ <div class="col-sm-4 form-group" :class="[$v.f_time_type.required ? 'has-error' : '']">
30
+ <label class="font_normal_body col-sm-3" >周期类型</label>
31
+ <input type="text" v-show="false" v-model="$refs.f_time_type.selectedItems"
32
+ v-validate:f_time_type='{required: true }'>
33
+ <v-select width="60%"
34
+ :value.sync="model.f_time_type"
35
+ v-model="model.f_time_type"
36
+ :options='timeTypes'
37
+ :value-single="true" v-ref:f_time_type
38
+ close-on-select></v-select>
39
+ </div>
40
+ </div>
41
+
42
+ <div class="row" style="margin-top:10px;" >
43
+ <div class="col-sm-4 form-group" :class="[$v.f_time_value.required ? 'has-error' : '']">
44
+ <label class="font_normal_body col-sm-3" >周期时长</label>
45
+ <input type="text" class="input_search" v-model="model.f_time_value" placeholder="周期时长" v-validate:f_time_value='{required: true }' style="vertical-align:middle;width: 60%">
46
+ </div>
47
+ <div class="col-sm-4 form-group" :class="[$v.f_time_value.required ? 'has-error' : '']">
48
+ <label class="font_normal_body col-sm-3" >生效状态</label>
49
+ <input type="text" v-show="false" v-model="$refs.f_status.selectedItems"
50
+ v-validate:f_status='{required: true }'>
51
+ <v-select width="60%"
52
+ :value.sync="model.f_status"
53
+ v-model="model.f_status"
54
+ :options='fstatus'
55
+ :value-single="true" v-ref:f_status
56
+ close-on-select></v-select>
57
+ </div>
58
+ </div>
59
+
60
+ <div class="row" style="margin-top:10px;" v-if="model.f_limit_style !=='按总量'">
61
+ <div class="col-sm-4 form-group" :class="[$v.f_limit_times.required ? 'has-error' : '']">
62
+ <label class="font_normal_body col-sm-3" >限制次数</label>
63
+ <input type="text" class="input_search" v-model="model.f_limit_times" style="vertical-align:middle;width: 60%" v-validate:f_limit_times='{required: true }' placeholder="限制次数">
64
+ </div>
65
+ <div class="col-sm-4 form-group" :class="[$v.f_limit_value.required ? 'has-error' : '']" v-if="model.f_limit_type ==='气量'">
66
+ <label class="font_normal_body col-sm-3" >单次限购</label>
67
+ <input type="text" class="input_search" v-model="model.f_limit_value" style="vertical-align:middle;width: 60%" v-validate:f_limit_value='{required: true }' placeholder="单次限购">
68
+ </div>
69
+ <div class="col-sm-4 form-group" :class="[$v.f_limit_amount.required ? 'has-error' : '']" v-if="model.f_limit_type ==='金额'">
70
+ <label class="font_normal_body col-sm-3" >单次限购</label>
71
+ <input type="text" class="input_search" v-model="model.f_limit_amount" style="vertical-align:middle;width: 60%" v-validate:f_limit_amount='{required: true }' placeholder="单次限购">
72
+ </div>
73
+ </div>
74
+
75
+ <div class="row" style="margin-top:10px;" v-if="model.f_limit_style ==='按总量'">
76
+ <div class="col-sm-4 form-group" :class="[$v.f_limit_value.required ? 'has-error' : '']" v-if="model.f_limit_type ==='气量'">
77
+ <label class="font_normal_body col-sm-3" >总限购量</label>
78
+ <input type="text" class="input_search" v-model="model.f_limit_value" style="vertical-align:middle;width: 60%" v-validate:f_limit_value='{required: true }' placeholder="单次限购">
79
+ </div>
80
+ <div class="col-sm-4 form-group" :class="[$v.f_limit_amount.required ? 'has-error' : '']" v-if="model.f_limit_type ==='金额'">
81
+ <label class="font_normal_body col-sm-3" >总限购量</label>
82
+ <input type="text" class="input_search" v-model="model.f_limit_amount" style="vertical-align:middle;width: 60%" v-validate:f_limit_amount='{required: true }' placeholder="单次限购">
83
+ </div>
84
+ </div>
85
+
86
+ <div class="row" style="margin-top:10px;">
87
+ <div class="col-sm-4 form-group" :class="[$v.f_limit_type.required ? 'has-error' : '']">
88
+ <label class="font_normal_body col-sm-3" >支付限制</label>
89
+ <input type="text" v-show="false" v-model="$refs.f_limit_type.selectedItems"
90
+ v-validate:f_limit_type='{required: true }'>
91
+ <v-select width="60%"
92
+ :value.sync="model.f_limit_type"
93
+ v-model="model.f_limit_type"
94
+ :options='limitTypes'
95
+ :value-single="true" v-ref:f_limit_type
96
+ close-on-select></v-select>
97
+ </div>
98
+ <div class="col-sm-4 form-group" :class="[$v.f_start_date.required ? 'has-error' : '']">
99
+ <label class="font_normal_body col-sm-3" >执行时间</label>
100
+ <input type="text" v-show="false" v-model="model.f_start_date"
101
+ v-validate:f_start_date='{required: true }'>
102
+ <datepicker placeholder="执行时间" style="width:60%"
103
+ v-model="model.f_start_date"
104
+ :value.sync="model.f_start_date" v-ref:f_start_date
105
+ :format="'yyyy-MM-dd'">
106
+ </datepicker>
107
+ </div>
108
+ </div>
109
+
110
+ </form>
111
+ </validator>
112
+ <div style="text-align:right; height: 25%">
113
+ <button class="btn btn-success" v-if="limitshow" @click="cancellimit">取消限购</button>
114
+ <button class="button_search btn-gn" :disabled="!$v.valid" @click="confirm">确认</button>
115
+ <button class="button_clear btn-gn" @click="clean()">取消</button>
116
+ </div>
117
+ </div>
118
+ </template>
119
+
120
+ <script>
121
+ import {HttpResetClass} from 'vue-client'
122
+
123
+ let getLimitDataGen = async function (self) {
124
+ let param = {
125
+ tablename: 't_limit_gas'
126
+ }
127
+ if (self.f_price_id) {
128
+ param.condition = ` f_price_id = '${self.f_price_id}' and isnull(f_state,'') != '无效'`
129
+ } else if (self.f_userinfo_id) {
130
+ param.condition = ` f_userinfo_id = '${self.f_userinfo_id}' and isnull(f_state,'') != '无效'`
131
+ }
132
+ let http = new HttpResetClass()
133
+ let res = await http.load('POST', 'rs/sql/saleSingleTable', {data: param}, {resolveMsg: null, rejectMsg: '获取限购配置失败!!'})
134
+ console.log('获取的限购数据', res)
135
+ if (res.data.length > 0 ) {
136
+ self.model = Object.assign({}, self.model, res.data[0])
137
+ self.model.f_third_pay = self.model.f_third_pay + ''
138
+ self.limitshow = true
139
+ } else {
140
+ self.limitshow = false
141
+ }
142
+ }
143
+
144
+ export default {
145
+ title: '限制购气',
146
+ data () {
147
+ return {
148
+ model: {
149
+ f_third_pay: '0',
150
+ f_time_type: '按月',
151
+ f_limit_times: '',
152
+ f_time_value: '0',
153
+ f_limit_type: '气量',
154
+ f_limit_style:'',
155
+ f_limit_value: '',
156
+ f_limit_amount: '',
157
+ f_status:'',
158
+ f_start_date: this.$login.toStandardDateString()
159
+ },
160
+ limitshow: false,
161
+ thirdPays: [{label: '支持', value: '1'},{label: '不支持', value: '0'}],
162
+ timeTypes: [{label: '按月', value: '按月'},{label: '按日', value: '按日'}],
163
+ limitTypes: [{label: '气量', value: '气量'},{label: '金额', value: '金额'}],
164
+ limitstyle: [{label: '按次数', value: '按次数'},{label: '按总量', value: '按总量'}],
165
+ fstatus: [{label: '有效', value: '有效'},{label: '无效', value: '无效'}]
166
+ }
167
+ },
168
+ props: ['show', 'f_price_id', 'f_userinfo_id','row'],
169
+ ready () {
170
+ this.getLimitData()
171
+ },
172
+ watch: {
173
+ 'f_price_id' () {
174
+ this.getLimitData()
175
+ },
176
+ 'f_userinfo_id' () {
177
+ this.getLimitData()
178
+ }
179
+ },
180
+ methods: {
181
+ getLimitData () {
182
+ console.log('获取限购配置。。', this.f_price_id, this.f_userinfo_id)
183
+ if (this.f_price_id || this.f_userinfo_id) {
184
+ getLimitDataGen(this)
185
+ }
186
+ },
187
+ computed: {
188
+ limitValid () {
189
+ let result = true
190
+ for (let key in this.model) {
191
+ if (this.model[key] === '') {
192
+ result = false
193
+ }
194
+ }
195
+ return result
196
+ },
197
+ },
198
+ async confirm () {
199
+ this.$dispatch('limit', this.model)
200
+ this.model = {
201
+ f_userinfo_id: this.row.f_userinfo_id,
202
+ f_third_pay: this.model.f_third_pay,
203
+ f_time_type: this.model.f_time_type,
204
+ f_limit_times: this.model.f_limit_times,
205
+ f_time_value: this.model.f_time_value,
206
+ f_limit_type: this.model.f_limit_type,
207
+ f_limit_style: this.model.f_limit_style,
208
+ f_limit_value: this.model.f_limit_value,
209
+ f_limit_amount: this.model.f_limit_amount,
210
+ f_status: this.model.f_status,
211
+ f_start_date: this.$login.toStandardDateString()
212
+ }
213
+ console.log('提交限购数据', this.model)
214
+ // let sql =`
215
+ // INSERT INTO t_limit_gas (
216
+ // f_third_pay,
217
+ // f_time_type,
218
+ // f_limit_times,
219
+ // f_time_value,
220
+ // f_limit_type,
221
+ // f_limit_style,
222
+ // f_limit_value,
223
+ // f_limit_amount,
224
+ // f_state,
225
+ // f_start_date,
226
+ // f_userinfo_id
227
+ // ) VALUES (
228
+ // '${this.model.f_third_pay}',
229
+ // '${this.model.f_time_type}',
230
+ // '${this.model.f_limit_times}',
231
+ // '${this.model.f_time_value}',
232
+ // '${this.model.f_limit_type}',
233
+ // '${this.model.f_limit_style}',
234
+ // '${this.model.f_limit_value}',
235
+ // '${this.model.f_limit_amount}',
236
+ // '${this.model.f_status}',
237
+ // '${this.model.f_start_date}',
238
+ // '${this.model.f_userinfo_id}'
239
+ // )`
240
+ let restrict = {
241
+ f_third_pay: this.model.f_third_pay,
242
+ f_time_type: this.model.f_time_type,
243
+ f_limit_times: this.model.f_limit_times,
244
+ f_time_value: this.model.f_time_value,
245
+ f_limit_type: this.model.f_limit_type,
246
+ f_limit_style: this.model.f_limit_style,
247
+ f_limit_value: this.model.f_limit_value,
248
+ f_limit_amount: this.model.f_limit_amount,
249
+ f_operator: this.$login.f.name,
250
+ f_status: this.model.f_status,
251
+ f_start_date: this.$login.toStandardDateString()
252
+ }
253
+ let operInfo = {
254
+ f_operator: this.$login.f.name,
255
+ f_operatorid: this.$login.f.id,
256
+ f_orgid: this.$login.f.orgid,
257
+ f_orgname: this.$login.f.orgs,
258
+ f_depid: this.$login.f.depids,
259
+ f_depname: this.$login.f.deps,
260
+ }
261
+ let user = {
262
+ f_userinfo_id: this.row.f_userinfo_id,
263
+ f_user_name: this.row.f_user_name,
264
+ f_userfiles_id: this.row.f_userfiles_id,
265
+ f_table_state: this.row.f_table_state,
266
+ f_user_id: this.row.f_user_id,
267
+ }
268
+ let param = {
269
+ restrict,
270
+ user,
271
+ operInfo
272
+ }
273
+ await this.$resetpost('rs/logic/limitGas',{data: param})
274
+ },
275
+ async cancellimit() {
276
+ let sql = `update t_limit_gas set f_state = '无效' where id = '${this.model.id}'`
277
+ let data = {
278
+ sql: sql
279
+ }
280
+ await this.$resetpost('rs/logic/runSQL',data)
281
+ this.model = {
282
+ f_third_pay: '0',
283
+ f_time_type: '按月',
284
+ f_limit_times: '',
285
+ f_time_value: '',
286
+ f_limit_type: '气量',
287
+ f_limit_style:'',
288
+ f_limit_value: 0,
289
+ f_limit_amount: 0,
290
+ f_status:'',
291
+ f_start_date: this.$login.toStandardDateString()
292
+ }
293
+ getLimitDataGen(this)
294
+ },
295
+ clean () {
296
+ this.$info('取消操作')
297
+ this.$dispatch('refresh', this.row)
298
+ },
299
+ }
300
+ }
301
+
302
+ </script>
303
+
304
+ <style>
305
+
306
+ </style>
@@ -246,28 +246,22 @@
246
246
  </div>
247
247
  </div>
248
248
  <div class="row auto">
249
- <!-- <div class="col-sm-12"-->
250
- <!-- v-if="!commitflag"-->
251
- <!-- >-->
252
- <!-- <label class="font_normal_body ">备&emsp;&emsp;注</label>-->
253
- <!-- <textarea class="input_textarea" rows="3" style="width:87%;" v-model="model.f_comments"></textarea>-->
254
- <!-- </div>-->
255
- <!-- <div class="col-sm-12"-->
256
- <!-- :class="[$v.f_comments.required ? 'has-error' : 'has-success']"-->
257
- <!-- v-if="commitflag"-->
258
- <!-- >-->
259
- <!-- <label class="font_normal_body ">备&emsp;&emsp;注</label>-->
260
- <!-- <textarea class="input_textarea" rows="3" style="width:87%;" v-model="model.f_comments"-->
261
- <!-- v-validate:f_comments='{required: true}'-->
262
- <!-- ></textarea>-->
263
- <!-- </div>-->
264
- <div class="col-sm-12"
265
- :class="[$v.f_comments.required ? 'has-error' : 'has-success']"
266
- >
249
+ <div class="col-sm-4 form-group">
250
+ <label for="f_comments" class=" font_normal_body" title="参数名称:换表原因">换表原因</label>
251
+ <v-select id="f_comments"
252
+ title="参数:换表原因"
253
+ v-model="f_comments"
254
+ placeholder='请选择'
255
+ :value-single="true"
256
+ :value.sync="model.f_comments"
257
+ :options='reason'
258
+ close-on-select clear-button></v-select>
259
+ </div>
260
+ </div>
261
+ <div class="row auto">
262
+ <div class="col-sm-12">
267
263
  <label class="font_normal_body ">备&emsp;&emsp;注</label>
268
- <textarea class="input_textarea" rows="3" style="width:87%;" v-model="model.f_comments"
269
- v-validate:f_comments='{required: true}'
270
- ></textarea>
264
+ <textarea class="input_textarea" rows="3" style="width:87%;" v-model="model.f_othereason"></textarea>
271
265
  </div>
272
266
  </div>
273
267
  <div style="text-align:right;height:auto;">
@@ -390,6 +384,7 @@ export default {
390
384
  f_meternumber: '',
391
385
  f_meter_base: '',
392
386
  f_metertitles: '',
387
+ f_defendcard: '',
393
388
  f_oldmeter_use_reference: 0 // 旧表使用量参考值
394
389
  },
395
390
  // 旧表底数
@@ -376,12 +376,12 @@
376
376
  <th>
377
377
  <nobr>收费人员</nobr>
378
378
  </th>
379
- <th>
380
- <nobr>冲正时间</nobr>
381
- </th>
382
- <th>
383
- <nobr>冲正人员</nobr>
384
- </th>
379
+ <!-- <th>-->
380
+ <!-- <nobr>冲正时间</nobr>-->
381
+ <!-- </th>-->
382
+ <!-- <th>-->
383
+ <!-- <nobr>冲正人员</nobr>-->
384
+ <!-- </th>-->
385
385
  <th>
386
386
  <nobr>下发日期</nobr>
387
387
  </th>
@@ -549,12 +549,12 @@
549
549
  <td style="text-align: center;">
550
550
  <nobr>{{row.f_sell_operator}}</nobr>
551
551
  </td>
552
- <td style="text-align: center;">
553
- <nobr>{{row.f_corrhand_date}}</nobr>
554
- </td>
555
- <td style="text-align: center;">
556
- <nobr>{{row.f_corrhand_operator}}</nobr>
557
- </td>
552
+ <!-- <td style="text-align: center;">-->
553
+ <!-- <nobr>{{row.f_corrhand_date}}</nobr>-->
554
+ <!-- </td>-->
555
+ <!-- <td style="text-align: center;">-->
556
+ <!-- <nobr>{{row.f_corrhand_operator}}</nobr>-->
557
+ <!-- </td>-->
558
558
  <td style="text-align: center;">
559
559
  <nobr>{{row.f_hand_date}}</nobr>
560
560
  </td>
@@ -846,7 +846,7 @@
846
846
  'f_hand_date': '下发日期',
847
847
  'f_input_date': '录入日期',
848
848
  'f_meter_state': '抄表状态',
849
- 'f_audit_person':'审核人',
849
+ 'f_audit_person': '审核人',
850
850
  'f_audit_date': '审核日期',
851
851
  'f_audit_state': '审核状态',
852
852
  'f_examinereason': '审核备注',
@@ -0,0 +1,184 @@
1
+ <template>
2
+ <!--<div class="auto">-->
3
+ <validator name='v' @valid="onValid()" @invalid="onInvalid()">
4
+ <form novalidate class="form-horizontal">
5
+ <div class="row auto" >
6
+
7
+ <div class="col-sm-4 form-group" :class="[$v.metertype.required ? 'has-error' : '']">
8
+ <label for="f_meter_type" class="font_normal_body">新表类型</label>
9
+ <input type="text" class="input_search" style="width: 60%" v-show="false" v-model="$refs.metertype.selectedItems" v-validate:metertype='{required: true }'>
10
+ <v-select :value.sync="metermessage.f_meter_type"
11
+ v-model="metermessage.f_meter_type"
12
+ :options='meterType' placeholder='气表类型'
13
+ close-on-select v-ref:metertype style="width: 60%"></v-select>
14
+ </div>
15
+
16
+ <div class="col-sm-4 form-group" :class="[$v.brand.required ? 'has-error' : '']">
17
+ <label for="gasbrand" class="font_normal_body">新表品牌</label>
18
+ <input type="text" class="input_search" style="width:60%" v-show="false" v-model="$refs.brand.selectedItems" v-validate:brand='{required: true }'>
19
+ <v-select :value.sync="metermessage.gasbrand" :options='getMeterBrands(metermessage.f_meter_type)' @change='brandChange' placeholder='气表品牌' close-on-select
20
+ search v-model='metermessage.gasbrand' v-ref:brand></v-select>
21
+ </div>
22
+ <div class="col-sm-4 form-group" :class="[$v.model.required ? 'has-error' : '']">
23
+ <label for="gasmodel" class="font_normal_body">新表型号</label>
24
+ <input type="text" class="input_search" style="width:60%" v-show="false" v-model="$refs.model.selectedItems" v-validate:model='{required: true }'>
25
+ <v-select :value.sync="metermessage.gasmodel" :options='metermessage.gasbrand[0] ? metermessage.gasbrand[0].gasmodel : [] ' placeholder='气表型号' close-on-select
26
+ v-model='metermessage.gasmodel' :disabled= 'metermessage.gasbrand.length === 0 ' @change='modelChange' v-ref:model></v-select>
27
+ </div>
28
+
29
+ </div>
30
+ <div class="row auto" >
31
+ <div class="col-sm-4 form-group" :class="[$v.meternumber.required ? 'has-error' : '']">
32
+ <label for="f_meternumber" class="font_normal_body">新&ensp;表&ensp;号</label>
33
+ <input type="text" class="input_search" style="width:60%" class="input_search"
34
+ @blur="meternumberValidate()" v-model="metermessage.f_meternumber" v-validate:meternumber='{required: true }' placeholder='表号' >
35
+ </div>
36
+ <div class="col-sm-4 form-group" :class="[$v.f_defendcard.required ? 'has-error' : '']">
37
+ <label for="f_defendcard" class="font_normal_body">防盗卡号</label>
38
+ <input type="text" class="input_search" style="width:60%" class="input_search" v-model="metermessage.f_defendcard" placeholder='防盗卡号'>
39
+ </div>
40
+ <div class="col-sm-4 form-group" :class="[$v.f_meter_base.required ? 'has-error' : '']">
41
+ <label for="f_meter_base" class="font_normal_body">新表底数</label>
42
+ <input type="text" class="input_search" style="width:60%" class="input_search" v-validate:f_meter_base='{required: true }' @blur='meterbase()' v-model="metermessage.f_meter_base" placeholder='表底数' >
43
+ </div>
44
+ </div>
45
+
46
+ </form>
47
+ </validator>
48
+ <!--</div>-->
49
+ </template>
50
+
51
+ <script>
52
+ import {HttpResetClass} from "vue-client";
53
+
54
+ /**
55
+ *公共组件
56
+ *获取气表信息
57
+ */
58
+ export default {
59
+ data () {
60
+ return {
61
+ isdecimal: '否',
62
+ imgsrc: '/images/mainicon/biaopan.png',
63
+ imgmeter: '/images/mainicon/addmeter.png',
64
+
65
+ meterType: this.$appdata.getParam('气表类型')
66
+ }
67
+ },
68
+ props: ['f_userfiles_id', 'metermessage'],
69
+ methods: {
70
+ onValid () {
71
+ this.$dispatch('valid')
72
+ },
73
+ onInvalid () {
74
+ this.$dispatch('invalid')
75
+ },
76
+ brandChange (val) {
77
+ this.isdecimal = val.length > 0 ? val[0].f_isdecimal : '否'
78
+ this.meternumberValidate()
79
+ },
80
+ modelChange (val) {
81
+ this.$dispatch('gasmodel', this.metermessage.gasbrand)
82
+ },
83
+ resetValidate () {
84
+ this.$resetValidation()
85
+ },
86
+ meterbase () {
87
+ if (this.isdecimal === '是') {
88
+ this.metermessage.f_meter_base = (this.metermessage.f_meter_base - 0).toFixed(4)
89
+ } else {
90
+ this.metermessage.f_meter_base = (this.metermessage.f_meter_base - 0).toFixed(0)
91
+ }
92
+ },
93
+ getMeterBrands (meterType) {
94
+ let res = []
95
+ if (meterType.length > 0) {
96
+ this.meterbrands.forEach((item) => {
97
+ if (item.value.f_meter_type === meterType[0]) {
98
+ res.push(item)
99
+ }
100
+ })
101
+ }
102
+ return res
103
+ },
104
+ async meternumberValidate () {
105
+ let http1 = new HttpResetClass()
106
+ let res1 = await http1.load('POST', '/rs/sql/getBrandAndType', {data: {condition: ` mi.f_meternumber = '${this.metermessage.f_meternumber}'`}}, {resolveMsg: null, rejectMsg: '获取默认气表品牌型号失败!!'})
107
+ if (res1.data.length > 0) {
108
+
109
+
110
+ // 已经选择了气表 则不再替换
111
+ if (this.metermessage.f_meter_type <= 0 ){
112
+ this.metermessage.f_meter_type = [res1.data[0].f_meter_classify]
113
+ }
114
+ // 替换表号自带的气表品牌和型号
115
+ let meterbrands = this.meterbrands
116
+ for (let row of meterbrands) {
117
+ if (row.label == res1.data[0].f_meter_brand) {
118
+ // 已经选择了气表品牌则不再替换
119
+ if (this.metermessage.gasbrand.length <= 0) this.metermessage.gasbrand = [row.value]
120
+ // 替换气表型号
121
+ if (res1.data[0].f_meter_style) {
122
+ for (let model of row.value.gasmodel) {
123
+ if (model.label == res1.data[0].f_meter_style) {
124
+ // 已经选择了气表型号则不再替换
125
+ if (this.metermessage.gasmodel.length <= 0) this.metermessage.gasmodel = [model.value]
126
+ continue
127
+ }
128
+ }
129
+ }
130
+ continue
131
+ }
132
+ }
133
+ }
134
+ if (this.metermessage.f_meternumber && this.metermessage.gasbrand.length > 0) {
135
+ // 表号位数验证
136
+ let meternumberLen = this.metermessage.gasbrand[0].f_meternumber_len
137
+ if (meternumberLen) {
138
+ if (this.metermessage.f_meternumber.length != meternumberLen) {
139
+ this.metermessage.f_meternumber = ''
140
+ this.$showAlert(`表号位数不正确, 当前气表品牌表号位数是: ${meternumberLen}`, 'warning', 3000)
141
+ return
142
+ }
143
+ }
144
+ // 表计信息验证
145
+ if (this.metermessage.gasbrand[0].f_meterverification == '是') {
146
+ if (res1.data.length <= 0) {
147
+ this.$showAlert(`当前表号: ${this.metermessage.f_meternumber}在表计信息中无记录, 请核实!!!`, 'warning', 3000)
148
+ this.metermessage.f_meternumber = ''
149
+ return
150
+ }
151
+ }
152
+ if (this.metermessage.gasbrand[0].f_meter_type === '物联网表') {
153
+ let param = {
154
+ f_userfiles_id: this.f_userfiles_id,
155
+ f_meternumber: this.metermessage.f_meternumber,
156
+ f_gasbrand_id: this.metermessage.gasbrand[0].id
157
+ }
158
+
159
+ let res = await this.$resetpost('rs/logic/meternumberValidate', param, {
160
+ resolveMsg: null,
161
+ rejectMsg: '表号验证失败!!'
162
+ })
163
+ console.log('标号验证返回:', res)
164
+ if (res.data) {
165
+ this.metermessage.f_meternumber = ''
166
+ this.$showAlert('表号已存在!!', 'warning', 3000)
167
+ }
168
+ }
169
+ }
170
+ }
171
+ },
172
+ computed: {
173
+ usertypes () {
174
+ return this.$appdata.getParam('用户类型')
175
+ },
176
+ positions () {
177
+ return this.$appdata.getParam('安装位置')
178
+ },
179
+ meterbrands () {
180
+ return this.$GetSaleParam.getGasbrand()
181
+ }
182
+ }
183
+ }
184
+ </script>
@@ -154,6 +154,15 @@
154
154
  close-on-select
155
155
  condition="f_audit_state = '{}'"></v-select>
156
156
  </div>
157
+ <div class="col-sm-2 form-group">
158
+ <label class="font_normal_body">抄表状态</label>
159
+ <v-select :value.sync="model.f_meter_state" v-model="model.f_meter_state"
160
+ :options='$parent.$parent.meterstates' placeholder='抄表状态'
161
+ style="width:60%"
162
+ :value-single="true"
163
+ close-on-select
164
+ condition="f_meter_state = '{}'"></v-select>
165
+ </div>
157
166
  <div class="col-sm-2 form-group">
158
167
  <label class="font_normal_body">抄&ensp;表&ensp;册</label>
159
168
  <v-select :value.sync="model.f_meter_book" v-model="model.f_meter_book"
@@ -424,7 +433,7 @@
424
433
  </header>
425
434
  <article slot="modal-body" class="modal-body">
426
435
  <div class="from-group">
427
- <img-self :src="imgfilename" width="500" height="500"></img-self>
436
+ <img-self :src="imgfilename" :width="750" :height="750"></img-self>
428
437
  </div>
429
438
  </article>
430
439
  <footer slot="modal-footer" class="modal-footer">
@@ -502,7 +511,7 @@
502
511
  'f_adjustment_volume': '增量值',
503
512
  'f_oughtfee': '应交金额',
504
513
  'f_result_state': '抄表结果状态',
505
- 'f_audit_state':'审核状态',
514
+ 'f_audit_state': '审核状态',
506
515
  'f_last_input_date': '上次抄表录入日期',
507
516
  'f_hand_date': '下发日期',
508
517
  'f_input_date': '抄表录入日期',
@@ -49,4 +49,6 @@ export default function () {
49
49
  Vue.component('mulitinfo', (resolve) => { require(['./Mulitinfo'], resolve) })
50
50
  // 计划下发
51
51
  Vue.component('machine-down', (resolve) => { require(['./machineDown'], resolve) })
52
+ // 获取气表信息
53
+ Vue.component('meter-message', (resolve) => { require(['./MeterMessage'], resolve) })
52
54
  }