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.
- package/build/dev-server.js +1 -1
- package/package.json +1 -1
- package/src/filiale/kelai/ShowCardSellGas.vue +36 -2
- package/src/filiale/shanxian/WebMeterInfo.vue +80 -0
- package/src/filiale/shanxian/WebMeterList.vue +437 -0
- package/src/filiale/shanxian/components/FilesManage/UserEssentialInfoTest.vue +3 -3
- package/src/filiale/shanxian/sale.js +2 -0
- package/src/main.js +1 -1
- package/src/plugins/CardService.js +2 -0
package/build/dev-server.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
var path = require('path')
|
|
2
|
-
const [localUrl, serverRul] = ['http://
|
|
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
|
@@ -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;">垃 圾 费</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">总 收 费</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"> 凭证号</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="
|
|
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" > 表钢号</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" > 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" > 批次 </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" > 领用人</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">  至 </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="用户性质"> 用户类型</label>
|
|
144
|
-
<input type="text" v-show="false" v-model="
|
|
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/
|
|
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,
|