sale-client 3.5.258 → 3.5.259

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://127.0.0.1:8080', 'http://192.168.50.4:8400']
2
+ const [localUrl, serverRul] = ['http://192.168.50.4:8400', 'http://192.168.50.4:8400']
3
3
  var merge = require('webpack-merge')
4
4
  var baseConfig = require('./webpack.dev.conf')
5
5
  var devConfig = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sale-client",
3
- "version": "3.5.258",
3
+ "version": "3.5.259",
4
4
  "description": "收费模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -142,6 +142,22 @@
142
142
  <span v-if="$v.f_collection.dctest" style="color:red ">收款不能小于应收金额</span>
143
143
  </div>
144
144
  </div>
145
+
146
+ <div class="row" style="padding-top: 0.5em;">
147
+ <div class="col-sm-4 form-group">
148
+ <label class="font_normal_body" style="color: red;">欠费账期</label>
149
+ <input class="input_search" style="width:60%" type="text" v-model="accountperiod" disabled>
150
+ </div>
151
+ <div class="col-sm-4 form-group">
152
+ <label class="font_normal_body" style="color: red;">垃&ensp;圾&ensp;费</label>
153
+ <input class="input_search" style="width:60%" type="number" v-model="garbage_money" disabled>
154
+ </div>
155
+ <div class="col-sm-4 form-group">
156
+ <label class="font_normal_body">总&ensp;收&ensp;费</label>
157
+ <label class="input_search" style="width:60%;text-align: left">{{ totalCharge = (garbage_money + (model.f_after_discount - 0)).toFixed(2) - 0 }}</label>
158
+ </div>
159
+ </div>
160
+
145
161
  <div class="row" v-if="model.f_payment[0].includes('POS')">
146
162
  <div class="col-sm-4 form-group">
147
163
  <label for="f_voucher_number" class="font_normal_body">&nbsp;&nbsp;&nbsp;凭证号</label>
@@ -262,7 +278,7 @@
262
278
  </div>
263
279
 
264
280
  <payment-code v-ref:paymentcode :payment="model.f_payment" :row="row"
265
- :money="model.f_after_discount"></payment-code>
281
+ :money="totalCharge"></payment-code>
266
282
  </div>
267
283
  <upload v-if="config.showupload" isremark="true" fusetype="发卡售气"></upload>
268
284
  </template>
@@ -354,6 +370,9 @@ let initCardGen = async function (self) {
354
370
  self.model.payments = self.paymentModel
355
371
  // 加入扫码盒付款码支付流水号
356
372
  self.model.f_serial_id = self.$refs.paymentcode.paymentCodeReturnData.f_out_trade_no
373
+ // 加入垃圾费
374
+ self.model.garbage_money = self.garbage_money
375
+ self.model.garbage_number = self.garbage_number
357
376
  let res = await self.$CardService.initCard(self.model, self.row, self.cardallot)
358
377
  let localeSustainMoney = window.localStorage.getItem('sustainMoney')
359
378
  if (localeSustainMoney != null) {
@@ -420,6 +439,7 @@ let initCardGen = async function (self) {
420
439
 
421
440
  let asyncShowCardSellGas = async function (self) {
422
441
  await self.$getConfig(self, 'ShowCardSellGas')
442
+ await self.getList()
423
443
  console.log('发卡售气config', self.config)
424
444
  self.model.f_print = self.config.printType instanceof Array ? self.config.printType : [self.config.printType]
425
445
  self.model.f_payment = [self.config.payment]
@@ -532,7 +552,13 @@ export default {
532
552
  eticket_msg: false,
533
553
  eticket_show: false,
534
554
  invoice_is_pax: '不征税',
535
- is_pax: [{label: '征税', value: '征税'}, {label: '不征税', value: '不征税'}]
555
+ is_pax: [{label: '征税', value: '征税'}, {label: '不征税', value: '不征税'}],
556
+ // 科莱垃圾费相关
557
+ garbage_list: [],
558
+ garbage_number: 0,
559
+ garbage_money: 0,
560
+ totalCharge: 0,
561
+ accountperiod: ''
536
562
  }
537
563
  },
538
564
  props: ['row'],
@@ -639,6 +665,14 @@ export default {
639
665
  }
640
666
  },
641
667
  methods: {
668
+ // 查询垃圾费
669
+ async getList () {
670
+ let res = await this.$resetpost('rs/logic/queryGarbageCharges', {f_userfiles_id: this.row.f_userfiles_id}, {resolveMsg: null, rejectMsg: '查询垃圾费异常'})
671
+ this.garbage_list = res.data.list
672
+ this.garbage_number = res.data.list.length
673
+ this.garbage_money = res.data.money
674
+ this.accountperiod = res.data.accountperiod
675
+ },
642
676
  // 根据收款金额计算划价信息
643
677
  // 需要配置 calculatePreByCollection = true
644
678
  async calculatePreByCollection() {
@@ -0,0 +1,80 @@
1
+ <template>
2
+ <div id="unit" class="flex-row">
3
+ <div :class="{'basic-main': !iseditmetetinfo,'binary-left': iseditmetetinfo}" :style="{width:iseditmetetinfo ? '50%' : '100%'}">
4
+ <web-meter-list style="width:auto;" :styles="iseditmetetinfo?'form-group col-sm-3':'form-group col-sm-2'" :showfields="iseditmetetinfo?false:true" v-ref:list @dblclick="showeditinfo"></web-meter-list>
5
+ </div>
6
+ <div class="binary-right" style="width:50%" v-if="iseditmetetinfo" >
7
+ <edit-meter-info :oldmeter="row" v-if="ismeterinfo" :f_filialeid="f_filialeid" @close="closeedit" style="overflow-y: auto;"></edit-meter-info>
8
+
9
+ <use-web-meter :meterinfos="meterinfos" v-if="isUseMeter" @close="closeedit" style="overflow-y: auto;"></use-web-meter>
10
+ <!--<ul class="nav nav-tabs">-->
11
+ <!--<li class="active"><a>操作历史</a></li>-->
12
+ <!--</ul>-->
13
+ <!--<meter-history :id="row.id" @close="closeedit" style="height:30%"></meter-history>-->
14
+ </div>
15
+ </div>
16
+ </template>
17
+ <script>
18
+ import { PagedList } from 'vue-client'
19
+ import * as WebmeterUtil from '../../components/WebmeterUtil'
20
+ import * as webMeterList from './WebMeterList'
21
+ import * as meterHistory from '../../components/webMeter/webInfo/MeterHistory'
22
+ import Vue from 'vue'
23
+
24
+ export default {
25
+ components: {webMeterList, meterHistory},
26
+ title: '表计信息',
27
+ data () {
28
+ return {
29
+ model: new PagedList('rs/sql/singleTable_OrderBy', 20, {items: '"*"', tablename: '"t_meterinfo"', orderitem: '"id"'}),
30
+ f_filialeid: '',
31
+ iseditmetetinfo: false,
32
+ row: {},
33
+ criteriaShow: false,
34
+ show: false,
35
+ isUseMeter: false,
36
+ meterinfos: [],
37
+ ismeterinfo: false
38
+ }
39
+ },
40
+ ready () {
41
+
42
+ },
43
+ methods: {
44
+ showeditinfo (obj) {
45
+ console.log('====================obj')
46
+ if (obj) {
47
+ this.row = obj
48
+ this.iseditmetetinfo = true
49
+ this.ismeterinfo = true
50
+ this.isUseMeter = false
51
+ }
52
+ },
53
+ hidden () {
54
+ this.criteriaShow = !this.criteriaShow
55
+ },
56
+ clearmsg () {
57
+ this.$refs.paged.$refs.criteria.model = {}
58
+ },
59
+ closeedit () {
60
+ this.iseditmetetinfo = false
61
+ this.isUseMeter = false
62
+ this.ismeterinfo = false
63
+ this.$refs.list.search()
64
+ }
65
+ }
66
+ }
67
+ </script>
68
+ <style>
69
+ .form-input-group label {
70
+ text-align: right;
71
+ width: auto;
72
+ }
73
+ .datapanel {
74
+ color: #333;
75
+ background-color: white;
76
+ box-shadow: darkgrey 0.5px 0.5px 0.5px 0.5px ;
77
+ padding: 10px 30px 10px 30px;
78
+ border-radius:15px;
79
+ }
80
+ </style>
@@ -0,0 +1,437 @@
1
+ <template style="position: absolute;">
2
+ <div id="WebMeterList">
3
+ <criteria-paged :model="model" v-ref:paged>
4
+ <criteria partial='criteria' v-ref:criteria @condition-changed='$parent.selfSearch'>
5
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
6
+ <div class="row" width="100%">
7
+ <div :class="$parent.$parent.styles" >
8
+ <label class=" font_normal_body" >&nbsp;&nbsp;&nbsp;表钢号</label>
9
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_meternumber"
10
+ condition="f_meternumber='{}'" placeholder="表钢号" >
11
+ </div>
12
+ <div class="row">
13
+
14
+
15
+ <div style="float:right">
16
+ <button class="button_search" @click="search()" v-el:cba>查询</button>
17
+ <button class="button_search" @click="$parent.$parent.addmeter()">新增</button>
18
+ <button class="button_search" @click="$parent.$parent.useMeter()">领用</button>
19
+ <button class="button_export" @click="$parent.$parent.importFile">导入</button>
20
+ <export-excel :data="$parent.$parent.getCondition" :field="$parent.$parent.getfield" :choose-col="true" v-ref:excel attach="webmeterlist"
21
+ sqlurl="rs/logic/saleExport" sql-name="webMeterInfo" template-name='表计信息导出'>
22
+ </export-excel>
23
+ <button class="button_search" style="width: 90px" @click="$parent.$parent.downloadFiles()">模板下载</button>
24
+ <button class="button_search" @click="$parent.$parent.clearmsg">清空</button>
25
+ <div style="float: right" class="button_spacing" :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}" @click="$parent.$parent.hidden()"></div>
26
+ </div>
27
+ </div>
28
+ <div class="row" v-show="$parent.$parent.criteriaShow">
29
+ <div :class="$parent.$parent.styles" >
30
+ <label class=" font_normal_body" >表计电话</label>
31
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_meter_phone"
32
+ condition="f_meter_phone='{}'" placeholder="表计电话">
33
+ </div>
34
+ <div :class="$parent.$parent.styles" >
35
+ <label class=" font_normal_body" >&nbsp;&nbsp;&nbsp;IMEI码</label>
36
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_imei"
37
+ condition="f_imei='{}'" placeholder="IMEI码">
38
+ </div>
39
+ <res-select-group :show-component="['company']" :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>
40
+ <!--<div :class="$parent.$parent.styles">-->
41
+ <!--<label class="font_normal_body">组织机构</label>-->
42
+ <!--<res-select restype='organization'-->
43
+ <!--:is-mul="false"-->
44
+ <!--:initresid="$parent.$parent.curorgid"-->
45
+ <!--@res-select="$parent.$parent.getorgCur">-->
46
+ <!--</res-select>-->
47
+ <!--</div>-->
48
+ <div :class="$parent.$parent.styles" >
49
+ <label class="font_normal_body">气表品牌</label>
50
+ <v-select
51
+ placeholder='气表品牌'
52
+ :value.sync="model.f_meter_brand"
53
+ style="width:60%"
54
+ v-model="model.f_meter_brand"
55
+ :options='$parent.$parent.meterbrand'
56
+ close-on-select
57
+ condition="f_meter_brand='{}'">
58
+ </v-select>
59
+ </div>
60
+ <div :class="$parent.$parent.styles" >
61
+ <label class="font_normal_body">安装状态</label>
62
+ <v-select
63
+ placeholder='安装状态'
64
+ :value.sync="model.aa"
65
+ style="width:60%"
66
+ v-model="model.aa"
67
+ :options='$parent.$parent.azstate'
68
+ close-on-select
69
+ condition="aa='{}'">
70
+ </v-select>
71
+ </div>
72
+ <div :class="$parent.$parent.styles" >
73
+ <label class=" font_normal_body" >&nbsp;&nbsp;&nbsp;批次&nbsp;&nbsp;&nbsp;</label>
74
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_batch_number"
75
+ condition="f_batch_number like '%{}%'" placeholder="批次">
76
+ </div>
77
+ <div :class="$parent.$parent.styles" >
78
+ <label class="font_normal_body">是否领用</label>
79
+ <v-select
80
+ placeholder='是否领用'
81
+ :value.sync="model.f_is_receive"
82
+ style="width:60%"
83
+ v-model="model.f_is_receive"
84
+ :options='$parent.$parent.isreceived'
85
+ close-on-select
86
+ condition="f_is_receive='{}'">
87
+ </v-select>
88
+ </div>
89
+ <div :class="$parent.$parent.styles" >
90
+ <label class=" font_normal_body" >&nbsp;&nbsp;&nbsp;领用人</label>
91
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_receive_unit"
92
+ condition="f_receive_unit like '%{}%'" placeholder="领用人">
93
+ </div>
94
+ <div :class="$parent.$parent.styles" >
95
+ <label class=" font_normal_body" >领用电话</label>
96
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_receive_phone"
97
+ condition="f_receive_phone like '%{}%'" placeholder="领用电话">
98
+ </div>
99
+ <div :class="$parent.$parent.styles">
100
+ <label class="font_normal_body">领用日期</label>
101
+ <datepicker id="startDate" placeholder=""
102
+ v-model="model.f_start_date"
103
+ :value.sync="model.f_start_date"
104
+ :disabled-days-of-Week="[]"
105
+ style="width: 60%"
106
+ :format="'yyyy-MM-dd 00:00:00'"
107
+ condition="f_receive_date >= '{}'">
108
+ </datepicker>
109
+ </div>
110
+ <div :class="$parent.$parent.styles">
111
+ <label class="font_normal_body">&emsp;&emsp;至&emsp;</label>
112
+ <datepicker id="endDate" placeholder=""
113
+ v-model="model.f_end_date"
114
+ :value.sync="model.f_end_date"
115
+ style="width: 60%"
116
+ :disabled-days-of-Week="[]"
117
+ :format="'yyyy-MM-dd 23:59:59'"
118
+ condition="f_receive_date <= '{}'">
119
+ </datepicker>
120
+ </div>
121
+
122
+ </div>
123
+ </div>
124
+ </div>
125
+ </criteria>
126
+ <data-grid id="webmeterinfo" :model="model" class="list_area table_sy" partial='list' v-ref:grid>
127
+ <template partial='head'>
128
+ <tr>
129
+ <th>
130
+ <input type="checkbox" @click="$parent.$parent.$parent.addOrRemove()">
131
+ </th>
132
+ <th><nobr>序号</nobr></th>
133
+ <th><nobr>表号</nobr></th>
134
+ <th v-if="$parent.$parent.$parent.showfields"><nobr>imei码</nobr></th>
135
+ <th v-if="$parent.$parent.$parent.showfields"><nobr>imsi码</nobr></th>
136
+ <th v-if="$parent.$parent.$parent.showfields"><nobr>批次</nobr></th>
137
+ <!-- <th><nobr>设备号</nobr></th>-->
138
+ <th v-if="$parent.$parent.$parent.showfields"><nobr>表计电话</nobr></th>
139
+ <th v-if="$parent.$parent.$parent.showfields"><nobr>表通道类型</nobr></th>
140
+ <th v-if="$parent.$parent.$parent.showfields"><nobr>阀控标识</nobr></th>
141
+ <!-- <th><nobr>表通讯序号</nobr></th>-->
142
+ <th v-if="$parent.$parent.$parent.showfields"><nobr>设备地址</nobr></th>
143
+ <th v-if="$parent.$parent.$parent.showfields"><nobr>终端名称</nobr></th>
144
+ <!-- <th><nobr>厂商代码</nobr></th>-->
145
+ <th><nobr>状态</nobr></th>
146
+ <th><nobr>气表品牌</nobr></th>
147
+
148
+ <th v-if="$parent.$parent.$parent.showfields"><nobr>设备号</nobr></th>
149
+ <th v-if="$parent.$parent.$parent.showfields"><nobr>气表年限</nobr></th>
150
+ <th v-if="$parent.$parent.$parent.showfields"><nobr>生产日期</nobr></th>
151
+ <th v-if="$parent.$parent.$parent.showfields"><nobr>批次号</nobr></th>
152
+ <th v-if="$parent.$parent.$parent.showfields"><nobr>气表厂家</nobr></th>
153
+ <th v-if="$parent.$parent.$parent.showfields"><nobr>采购人</nobr></th>
154
+ <th v-if="$parent.$parent.$parent.showfields"><nobr>采购时间</nobr></th>
155
+ <th><nobr>是否领用</nobr></th>
156
+ <th><nobr>领用人</nobr></th>
157
+ <th><nobr>领用时间</nobr></th>
158
+ <th><nobr>领用电话</nobr></th>
159
+ </tr>
160
+ </template>
161
+ <template partial='body' >
162
+ <td style="text-align:center">
163
+ <input type="checkbox" v-model="$parent.$parent.$parent.$parent.meterinfos" :disabled="row.f_receive==='已领用'" :value="row" @click="$parent.$parent.$parent.checkboxMeter()" >
164
+ </td>
165
+ <td style="text-align: center;" >{{$index+1}}</td>
166
+ <td style="text-align: center" >{{row.f_meternumber}}</td>
167
+ <td style="text-align: center" v-if="$parent.$parent.$parent.showfields">{{row.f_imei}}</td>
168
+ <td style="text-align: center" v-if="$parent.$parent.$parent.showfields">{{row.f_imsi}}</td>
169
+ <td style="text-align: center" v-if="$parent.$parent.$parent.showfields">{{row.f_batch_number}}</td>
170
+ <!-- <td style="text-align: center" >{{row.f_device_id}}</td>-->
171
+ <td style="text-align: center" v-if="$parent.$parent.$parent.showfields">{{row.f_meter_phone}}</td>
172
+ <td style="text-align: center" v-if="$parent.$parent.$parent.showfields">{{row.f_iot_type}}</td>
173
+ <td style="text-align: center" v-if="$parent.$parent.$parent.showfields">{{row.f_valvemark}}</td>
174
+ <td style="text-align: center" v-if="$parent.$parent.$parent.showfields">{{row.f_device_address}}</td>
175
+ <td style="text-align: center" v-if="$parent.$parent.$parent.showfields">{{row.f_terminal_id}}</td>
176
+ <!-- <td style="text-align: center" >{{row.f_vender}}</td>-->
177
+
178
+ <td style="text-align: center" >{{row.aa}}</td>
179
+ <td style="text-align: center" >{{row.f_meter_brand}}</td>
180
+
181
+ <td style="text-align: center" v-if="$parent.$parent.$parent.showfields">{{row.f_device_id}}</td>
182
+ <td style="text-align: center" v-if="$parent.$parent.$parent.showfields">{{row.f_years}}</td>
183
+ <td style="text-align: center" v-if="$parent.$parent.$parent.showfields">{{row.f_manufacture_date}}</td>
184
+ <td style="text-align: center" v-if="$parent.$parent.$parent.showfields">{{row.f_batch_number}}</td>
185
+ <td style="text-align: center" v-if="$parent.$parent.$parent.showfields">{{row.f_manufacturers}}</td>
186
+ <td style="text-align: center" v-if="$parent.$parent.$parent.showfields">{{row.f_purchaser}}</td>
187
+ <td style="text-align: center" v-if="$parent.$parent.$parent.showfields">{{row.f_purchase_date}}</td>
188
+ <td style="text-align: center" >{{row.f_receive}}</td>
189
+ <td style="text-align: center" >{{row.f_receive_unit}}</td>
190
+ <td style="text-align: center" >{{row.f_receive_date}}</td>
191
+ <td style="text-align: center" >{{row.f_receive_date}}</td>
192
+
193
+
194
+ </template>
195
+ </data-grid>
196
+ </criteria-paged>
197
+ </div>
198
+ <modal :show.sync="show" width="500px" title="文件导入" v-ref:modal large backdrop="false">
199
+ <article slot="modal-body" class="modal-body">
200
+ <file-upload class="my-file-uploader " name="UploadFile" class="btn btn-success" style="border-radius: 2px;"
201
+ action="rs/file/uploadFile" tagname="导入表计" v-ref:file :headers="headers" multiple></file-upload>
202
+ </article>
203
+ <footer slot="modal-footer" class="modal-footer">
204
+ </footer>
205
+ </modal>
206
+ </template>
207
+ <script>
208
+ import { PagedList } from 'vue-client'
209
+ import * as WebmeterUtil from '../../components/WebmeterUtil'
210
+ import Vue from 'vue'
211
+
212
+ let readyGen = async function (self) {
213
+ await self.$LoadParams.loadParam()
214
+ self.initQueryParam()
215
+ // self.reflash()
216
+ }
217
+
218
+ export default {
219
+ title: '表计管理',
220
+ props:['showfields','styles'],
221
+ data () {
222
+ return {
223
+ getCondition: null,
224
+ getfield: null,
225
+ meterbrand: [],
226
+ azstate: [{label: '全部', value: ''}, {label: '已安装', value: '已安装'}, {label: '未安装', value: '未安装'}],
227
+ isreceived:[{label: '全部', value: ''}, {label: '已领用', value: '是'}, {label: '未领用', value: '否'}],
228
+ // curorgid: [this.$login.f.orgid],
229
+ orgCondtionStr: '',
230
+ // 公司下拉
231
+ initres: {
232
+ org: [],
233
+ dep: [],
234
+ user: []
235
+ },
236
+ model: new PagedList('rs/sql/webMeterInfo', 20, {items: '"*"', tablename: '"t_meterinfo"', orderitem: '"id"'}),
237
+ headers: {'username': Vue.$login.f.name, 'blodid': WebmeterUtil.guid()},
238
+ criteriaShow: false,
239
+ f_orgid: '',
240
+ show: false,
241
+ meterinfos: [],
242
+ isAddOrMove: false
243
+ }
244
+ },
245
+ ready () {
246
+ this.loadGetField()
247
+ this.search()
248
+ readyGen(this)
249
+ this.$parent.meterinfos = []
250
+ console.log('this', this)
251
+ this.$refs.paged.$refs.criteria.model.f_table_state = ['正常']
252
+ this.$refs.paged.$refs.criteria.search()
253
+ },
254
+
255
+ methods: {
256
+ async getRes (condition, obj) {
257
+ this.orgCondtionStr = condition
258
+ },
259
+ loadGetField () {
260
+ this.getfield = {
261
+ 'f_meternumber': '表号',
262
+ 'f_imei': 'imei码',
263
+ 'f_imsi': 'imsi码',
264
+ 'f_meter_phone': '表计电话',
265
+ 'f_iot_type': '表通道类型',
266
+ 'f_valvemark': '阀控标识',
267
+ 'f_device_address': '设备地址',
268
+ 'f_terminal_id': '终端名称',
269
+ 'aa': '状态',
270
+ 'f_meter_brand': '气表品牌',
271
+ 'f_device_id': '设备号',
272
+ 'f_years': '气表年限',
273
+ 'f_manufacture_date': '生产日期',
274
+ 'f_batch_number': '批次号',
275
+ 'f_manufacturers': '气表厂家',
276
+ 'f_purchaser': '采购人',
277
+ 'f_purchase_date': '采购时间',
278
+ 'f_receive': '是否领用',
279
+ 'f_receive_unit': '领用人',
280
+ 'f_receive_date': '领用时间',
281
+ }
282
+ },
283
+ downloadFiles(){
284
+ let downurl='rs/downloadfile/file?filename=单县表计导入模板';
285
+ this.$resetget(downurl,{}).then(res=>{
286
+ var link = document.createElement('a');
287
+ link.target="_blank"
288
+ link.href =downurl ;
289
+ link.setAttribute("download", "表计导入模板.xlsx"); //指定下载后的文件名,防跳转
290
+ document.body.appendChild(link);
291
+ link.click();
292
+ })
293
+ },
294
+ addOrRemove () {
295
+ this.$parent.meterinfos = []
296
+ if (this.isAddOrMove) {
297
+ this.$parent.meterinfos = []
298
+ } else {
299
+ this.model.rows.forEach((row) => {
300
+ if (row.f_receive !== '已领用') {
301
+ this.$parent.meterinfos.push(row)
302
+ }
303
+ })
304
+ }
305
+ this.isAddOrMove = !this.isAddOrMove
306
+ },
307
+ useMeter () {
308
+ console.log("meterinfos",this.$parent.meterinfos)
309
+ this.$parent.iseditmetetinfo = true
310
+ this.$parent.isUseMeter = true
311
+ this.$parent.ismeterinfo = false
312
+ console.log("1",this.$parent.iseditmetetinfo)
313
+ console.log("2",this.$parent.ismeterinfo)
314
+ console.log("3",this.$parent.isUseMeter)
315
+ },
316
+ checkboxMeter () {
317
+ console.log("这是当前页的meterinfos",this.meterinfos)
318
+ console.log("这是当前页的meterinfos",this.$parent.meterinfos)
319
+ },
320
+ initQueryParam () {
321
+ let arr = []
322
+ this.$GetSaleParam.getGasbrand().forEach((item) => {
323
+ let temp = {}
324
+ // if(item.value.f_meter_type==='物联网表'){
325
+ temp.label = item.label
326
+ temp.value = item.value.f_meter_brand
327
+ arr.push(temp)
328
+ // }
329
+ })
330
+ this.meterbrand = [{label: '全部', value: ''}, ...arr]
331
+ },
332
+ hidden () {
333
+ this.criteriaShow = !this.criteriaShow
334
+ },
335
+ addmeter () {
336
+ this.$parent.row = {}
337
+ this.$parent.iseditmetetinfo = true
338
+ this.$parent.ismeterinfo = true
339
+ this.$parent.isUseMeter = false
340
+ this.$parent.f_filialeids = this.f_filialeids
341
+ },
342
+ clearmsg () {
343
+ this.$refs.paged.$refs.criteria.model = {}
344
+ },
345
+ search () {
346
+ this.$refs.paged.$refs.criteria.search()
347
+ },
348
+ selfSearch (args) {
349
+ this.$parent.meterinfos = []
350
+ if (!this.f_orgid) {
351
+ this.f_orgid = this.$login.f.orgid
352
+ }
353
+ let f_orgstr = this.orgCondtionStr ? this.orgCondtionStr : "and f_filialeid in ('" + this.f_orgid + "')"
354
+ args.condition = `${args.condition} ` + f_orgstr
355
+ // if (this.f_orgid) {
356
+ // args.condition = `${args.condition} and f_filialeid in ${this.f_orgid}`
357
+ // }
358
+ this.getCondition = {condition: args.condition}
359
+ this.model.search(args.condition, args.model)
360
+ },
361
+
362
+ getorgCur (val) {
363
+ console.log('组织事件返回。。', val[0])
364
+ this.f_orgid = this.$login.convertToIn(val)
365
+ this.f_filialeids = val[0]
366
+ this.$parent.f_filialeid = val[0]
367
+ this.search()
368
+ },
369
+ importFile () {
370
+ this.show = true
371
+ }
372
+
373
+ },
374
+ events: {
375
+ onFileUpload: function (file, res) {
376
+ console.log(this.$login.f, '======')
377
+ console.log(res)
378
+
379
+ let data = {
380
+ tablename: 't_meterinfo',
381
+ filepath: res.f_downloadpath,
382
+ info: {
383
+ f_orgid: this.$login.f.orgid ? this.$login.f.orgid : '',
384
+ f_orgname: this.$login.f.orgs ? this.$login.f.orgs : '',
385
+ f_depid: this.$login.f.depids ? this.$login.f.depids : '',
386
+ f_depname: this.$login.f.deps ? this.$login.f.deps : '',
387
+ f_operator: this.$login.f.name,
388
+ f_operatorid: this.$login.f.id,
389
+ f_filialeid: this.f_orgid === '' ? this.$login.f.orgid : this.f_orgid.replace(/[^0-9]/ig, '')
390
+ }
391
+ }
392
+
393
+ console.log(data, '++++++++++++++++++++++++++')
394
+ this.$resetpost('rs/logic/iot_meterinfo_import', {data: data}, {resolveMsg: null, rejectMsg: '上传失败'}).then((res) => {
395
+ // window.location.href = '/excel/表具导入异常信息.txt';
396
+ let mes = '成功导入' + res.data.successnum + '条数据 '
397
+ if (res.data.successnum !== res.data.allnum) {
398
+ var link = document.createElement('a')
399
+ let path = '表具导入异常信息.txt'
400
+ // 本地
401
+ let pathName = 'http://' + location.host + '/excel/' + path
402
+ link.href = pathName
403
+ link.download = path
404
+ link.dispatchEvent(new MouseEvent('click'))
405
+ mes = mes + ',有 ' + (((res.data.allnum - 0) - (res.data.successnum - 0)) - 0) + ' 条数据导入失败,请确保气表品牌存在,且表号、IMEI号唯一,详细信息请查看表具导入异常信息.txt'
406
+ }
407
+ this.$showMessage(mes)
408
+ this.search()
409
+ })
410
+ }
411
+ }
412
+ }
413
+ </script>
414
+ <style lang="less">
415
+ #WebMeterList {
416
+ .form-input-group label {
417
+ text-align: right;
418
+ width: auto;
419
+ }
420
+ .datapanel {
421
+ color: #333;
422
+ background-color: white;
423
+ box-shadow: darkgrey 0.5px 0.5px 0.5px 0.5px ;
424
+ padding: 10px 30px 10px 30px;
425
+ border-radius:15px;
426
+ }
427
+ #webmeterinfo {
428
+ tr > td {
429
+ white-space: nowrap;
430
+ }
431
+ }
432
+ #vc-exportexcel-webmeterlist {
433
+ margin: 0;
434
+ }
435
+ }
436
+
437
+ </style>
@@ -139,11 +139,11 @@
139
139
  <!-- :options='userlevel' placeholder='用户等级' close-on-select>-->
140
140
  <!-- </v-select>-->
141
141
  <!-- </div>-->
142
- <div class="col-sm-4 form-group">
142
+ <div class="col-sm-4 form-group" :class="[$v.f_user_nature.required ? 'has-error' : '']">
143
143
  <label for="f_user_nature" class="font_normal_body" title="用户性质">&ensp;用户类型</label>
144
- <input type="text" v-show="false" v-model="baseinfo.base.f_user_nature">
144
+ <input type="text" v-show="false" v-model="$refs.f_user_nature.selectedItems" v-validate:f_user_nature='{required: true }'>
145
145
  <v-select :value.sync="baseinfo.base.f_user_nature" :search="false" :value-single="true"
146
- :options='usernature' placeholder='用户类型'
146
+ :options='usernature' placeholder='用户类型' v-ref:f_user_nature
147
147
  close-on-select>
148
148
  </v-select>
149
149
  </div>
@@ -39,4 +39,6 @@ export default function () {
39
39
  Vue.component('change-meter', (resolve) => { require(['./ChangeMeter'], resolve) })
40
40
  // 清零
41
41
  Vue.component('reset-meter', (resolve) => { require(['./ResetMeter'], resolve) })
42
+ // 表计管理
43
+ Vue.component('web-meter-info', (resolve) => { require(['./WebMeterInfo'], resolve) })
42
44
  }
package/src/main.js CHANGED
@@ -3,7 +3,7 @@ import all from 'vue-client/src/all'
3
3
  import App from './App'
4
4
  import system from 'system-clients/src/system'
5
5
  import sale from './sale'
6
- import wenxi from './filiale/yuansheng/sale'
6
+ import wenxi from './filiale/shanxian/sale'
7
7
  // import FilialeSale from './filiale/yuansheng/sale'
8
8
  import address from 'address-client/src/address'
9
9
  import ldap from 'ldap-clients/src/ldap'
@@ -36,6 +36,8 @@ let CardService = {
36
36
  f_privilege_gas = model.f_privilege_gas
37
37
  }
38
38
  let param = {
39
+ garbage_number: model.garbage_number,
40
+ garbage_money: model.garbage_money,
39
41
  f_serial_id: model.f_serial_id,
40
42
  f_userinfo_id: row.f_userinfo_id,
41
43
  f_serial_number: f_serial_number,