sale-client 3.5.51 → 3.5.52
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 +1 -1
- package/src/components/FilesManageNew/FileUserFiles.vue +13 -0
- package/src/components/chargeBatch/ChargeGroupList.vue +55 -1
- package/src/components/chargeBatch/OweRecordQuery.vue +2 -1
- package/src/components/revenue/changeInsurance/InsuranceList.vue +13 -0
- package/src/components/revenue/comprehen/Maintenance/group/AddWarehousemaingroup.vue +61 -0
- package/src/components/revenue/comprehen/Maintenance/group/MeterOperatemaingroup.vue +394 -0
- package/src/components/revenue/comprehen/Maintenance/group/StockListmaingroup.vue +477 -0
- package/src/components/revenue/comprehen/Maintenance/group/WareHouseOperationmaingroup.vue +45 -0
- package/src/components/revenue/comprehen/Maintenance/group/maintenancegroup.vue +149 -0
- package/src/sale.js +11 -0
package/package.json
CHANGED
|
@@ -52,6 +52,8 @@
|
|
|
52
52
|
</button>
|
|
53
53
|
<button class="button_search button_spacing" style="width: 90px" @click="$parent.$parent.createInfoForFile()">批量建档
|
|
54
54
|
</button>
|
|
55
|
+
<button class="button_search button_spacing" style="width: 90px" @click="$parent.$parent.downloadFiles()">模板下载
|
|
56
|
+
</button>
|
|
55
57
|
<button @click="$parent.$parent.importFile" class="button_export button_spacing"
|
|
56
58
|
style="float: right" v-if="false">导入
|
|
57
59
|
</button>
|
|
@@ -424,6 +426,17 @@ let loadParamGem = async function (self) {
|
|
|
424
426
|
}
|
|
425
427
|
},
|
|
426
428
|
methods: {
|
|
429
|
+
downloadFiles(){
|
|
430
|
+
let downurl='rs/downloadfile/file?filename=预备户批量建档导入Excel模板';
|
|
431
|
+
this.$resetget(downurl,{}).then(res=>{
|
|
432
|
+
var link = document.createElement('a');
|
|
433
|
+
link.target="_blank"
|
|
434
|
+
link.href =downurl ;
|
|
435
|
+
link.setAttribute("download", "预备户批量建档导入Excel模板.xlsx"); //指定下载后的文件名,防跳转
|
|
436
|
+
document.body.appendChild(link);
|
|
437
|
+
link.click();
|
|
438
|
+
})
|
|
439
|
+
},
|
|
427
440
|
close () {
|
|
428
441
|
this.printflag = false
|
|
429
442
|
this.clean()
|
|
@@ -162,11 +162,13 @@
|
|
|
162
162
|
</template>
|
|
163
163
|
|
|
164
164
|
<script>
|
|
165
|
-
import {PagedList} from 'vue-client'
|
|
165
|
+
import {HttpResetClass, PagedList} from 'vue-client'
|
|
166
166
|
|
|
167
167
|
export default {
|
|
168
168
|
data () {
|
|
169
169
|
return {
|
|
170
|
+
interval: null,
|
|
171
|
+
searchTime: this.$appdata.getSingleValue('磁条卡读卡间隔') ? this.$appdata.getSingleValue('磁条卡读卡间隔') : 2,
|
|
170
172
|
oughtfee: [{label: '全部', value: ''}, {label: '是', value: '> 0'}, {label: '否', value: '<= 0'}],
|
|
171
173
|
model: new PagedList('rs/sql/ncarchivesQuery', 20),
|
|
172
174
|
// 公司下拉
|
|
@@ -222,8 +224,60 @@ export default {
|
|
|
222
224
|
ready () {
|
|
223
225
|
this.getfield = this.config.excelHeaders
|
|
224
226
|
this.search()
|
|
227
|
+
this.readCiTiaoCard()
|
|
228
|
+
},
|
|
229
|
+
destroyed () {
|
|
230
|
+
clearInterval(this.interval)
|
|
231
|
+
},
|
|
232
|
+
watch: {
|
|
233
|
+
'oweShow' (val) {
|
|
234
|
+
if (val) {
|
|
235
|
+
clearInterval(this.interval)
|
|
236
|
+
} else {
|
|
237
|
+
this.readCiTiaoCard()
|
|
238
|
+
}
|
|
239
|
+
}
|
|
225
240
|
},
|
|
226
241
|
methods: {
|
|
242
|
+
async readCiTiaoCard () {
|
|
243
|
+
console.log('读磁条卡,开始,不停的循环')
|
|
244
|
+
let data = {}
|
|
245
|
+
let getUser = {data: []}
|
|
246
|
+
let forgid = this.$login.convertToIn([this.$login.f.orgid])
|
|
247
|
+
try {
|
|
248
|
+
// let res = {data:{Factory : 'CiTiao',CardID : '00000009'}}
|
|
249
|
+
let http = new HttpResetClass()
|
|
250
|
+
this.interval = setInterval(async () => {
|
|
251
|
+
// 1秒一轮回
|
|
252
|
+
http.load('POST', 'http://127.0.0.1:8003/ReadCard_HEC', data, {
|
|
253
|
+
resolveMsg: null,
|
|
254
|
+
rejectMsg: null
|
|
255
|
+
}).then(async res => {
|
|
256
|
+
if (res.data.CardID !== '') {
|
|
257
|
+
if (res.data.Err === null && res.data.Exception) {
|
|
258
|
+
this.$showAlert(res.data.Exception, 'danger', 2000)
|
|
259
|
+
// clearInterval(interval)
|
|
260
|
+
} else {
|
|
261
|
+
if (res.data.Factory === 'CiTiao') {
|
|
262
|
+
// 获取用户信息
|
|
263
|
+
getUser = await this.$resetpost('rs/sql/ncarchivesQuery', {
|
|
264
|
+
data: {
|
|
265
|
+
condition: `f_orgid in ${forgid} and f_card_id='${res.data.CardID}'`,
|
|
266
|
+
orderitem: `f_userinfo_id`
|
|
267
|
+
}
|
|
268
|
+
}, {resolveMsg: null, rejectMsg: '读卡失败'})
|
|
269
|
+
this.showOwe(getUser.data[0])
|
|
270
|
+
clearInterval(this.interval)
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
})
|
|
275
|
+
}, this.searchTime * 1000)
|
|
276
|
+
} catch (error) {
|
|
277
|
+
console.log('捕获到异常', error)
|
|
278
|
+
// this.$showAlert(error.data, 'danger', 2000)
|
|
279
|
+
}
|
|
280
|
+
},
|
|
227
281
|
// 打印
|
|
228
282
|
async print (row) {
|
|
229
283
|
let condition = `p.f_civill_id = ${row.id}`
|
|
@@ -70,7 +70,8 @@
|
|
|
70
70
|
chargeShow: false,
|
|
71
71
|
operBtns: [
|
|
72
72
|
{name: '团体缴费', value: {routeName: 'batch-charge'}},
|
|
73
|
-
{name: '余额退款', value: {routeName: 'group-refund'}}
|
|
73
|
+
{name: '余额退款', value: {routeName: 'group-refund'}},
|
|
74
|
+
{name: '制磁条卡', value: {routeName: 'show-citiao_card'}}
|
|
74
75
|
]
|
|
75
76
|
}
|
|
76
77
|
},
|
|
@@ -24,6 +24,8 @@
|
|
|
24
24
|
<div style="float: right">
|
|
25
25
|
<button class="button_search" @click="search()">查 询</button>
|
|
26
26
|
<button class="btn btn-default" @click="$parent.$parent.battchinsurance()" >批量保险收费</button>
|
|
27
|
+
<button class="button_search button_spacing" style="width: 90px" @click="$parent.$parent.downloadFiles()">模板下载
|
|
28
|
+
</button>
|
|
27
29
|
<div
|
|
28
30
|
:class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
|
|
29
31
|
@click="$parent.$parent.criteriaShow=!$parent.$parent.criteriaShow"
|
|
@@ -156,6 +158,17 @@
|
|
|
156
158
|
this.search()
|
|
157
159
|
},
|
|
158
160
|
methods: {
|
|
161
|
+
downloadFiles(){
|
|
162
|
+
let downurl='rs/downloadfile/file?filename=批量保险收费导入Excel模板';
|
|
163
|
+
this.$resetget(downurl,{}).then(res=>{
|
|
164
|
+
var link = document.createElement('a');
|
|
165
|
+
link.target="_blank"
|
|
166
|
+
link.href =downurl ;
|
|
167
|
+
link.setAttribute("download", "批量保险收费导入Excel模板.xlsx"); //指定下载后的文件名,防跳转
|
|
168
|
+
document.body.appendChild(link);
|
|
169
|
+
link.click();
|
|
170
|
+
})
|
|
171
|
+
},
|
|
159
172
|
search () {
|
|
160
173
|
this.$refs.paged.$refs.criteria.search()
|
|
161
174
|
},
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="auto">
|
|
3
|
+
<validator name='v'>
|
|
4
|
+
<form novalidate class="form-horizontal">
|
|
5
|
+
<p class="bg-info text-center" style="padding: 8px;font-size: 20px">操作记录</p>
|
|
6
|
+
<!-- <data-grid :model="inData" v-ref:grid partial='list'>
|
|
7
|
+
<template partial='head'>-->
|
|
8
|
+
<table class="list_area table_sy" style="width: 600px">
|
|
9
|
+
<tr>
|
|
10
|
+
<th style="text-align: center">序号</th>
|
|
11
|
+
<th style="text-align: center">修改内容</th>
|
|
12
|
+
<th style="text-align: center">变更前</th>
|
|
13
|
+
<th style="text-align: center">变更后</th>
|
|
14
|
+
<th style="text-align: center">状态</th>
|
|
15
|
+
<th style="text-align: center">修改时间</th>
|
|
16
|
+
<th style="text-align: center">操作人</th>
|
|
17
|
+
</tr>
|
|
18
|
+
|
|
19
|
+
<tr v-for="row in recordlist">
|
|
20
|
+
<td style="text-align: center;">{{$index + 1}}</td>
|
|
21
|
+
<td style="text-align: center;">{{row.chinesename}}</td>
|
|
22
|
+
<td style="text-align: center;">{{row.oldvalue}}</td>
|
|
23
|
+
<td style="text-align: center;">{{row.newvalue}}</td>
|
|
24
|
+
<td style="text-align: center;">{{row.state}}</td>
|
|
25
|
+
<td style="text-align: center;">{{row.modifitime}}</td>
|
|
26
|
+
<td style="text-align: center;">{{row.operator}}</td>
|
|
27
|
+
</tr>
|
|
28
|
+
</table>
|
|
29
|
+
</form>
|
|
30
|
+
|
|
31
|
+
</validator>
|
|
32
|
+
</div>
|
|
33
|
+
</template>
|
|
34
|
+
|
|
35
|
+
<script>
|
|
36
|
+
export default {
|
|
37
|
+
name: 'addwarehouse',
|
|
38
|
+
|
|
39
|
+
data () {
|
|
40
|
+
return {
|
|
41
|
+
inData: [],
|
|
42
|
+
obj: {},
|
|
43
|
+
userid: this.$login.f.id
|
|
44
|
+
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
props: {
|
|
48
|
+
recordlist: Array
|
|
49
|
+
},
|
|
50
|
+
created () {
|
|
51
|
+
},
|
|
52
|
+
ready () {
|
|
53
|
+
},
|
|
54
|
+
methods: {
|
|
55
|
+
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
</script>
|
|
59
|
+
|
|
60
|
+
<style lang="less">
|
|
61
|
+
</style>
|
|
@@ -0,0 +1,394 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="auto" id="meterInfoTest">
|
|
3
|
+
<validator name='a' @valid="addressValid(true)" @invalid="addressValid(false)">
|
|
4
|
+
<form class="form-horizontal">
|
|
5
|
+
<div class="row">
|
|
6
|
+
<div class="col-sm-4 form-group">
|
|
7
|
+
<label class="font_normal_body">用户姓名</label>
|
|
8
|
+
<input type="text" v-model="model.f_user_name" disabled=disabled style="width: 60%" class="input_search">
|
|
9
|
+
</div>
|
|
10
|
+
<div class="col-sm-4 form-group">
|
|
11
|
+
<label class="font_normal_body" title="参数:收费状态, 权限:【收费记录状态修改】">收费状态</label>
|
|
12
|
+
<!-- <input type="text" v-model="model.f_charge_state" disabled=disabled style="width: 60%" class="input_search">-->
|
|
13
|
+
<v-select :value.sync="model.f_state" v-model="model.f_state"
|
|
14
|
+
:value-single="true"
|
|
15
|
+
:search="false"
|
|
16
|
+
:disabled="editstate"
|
|
17
|
+
:options='positions' placeholder='收费状态'
|
|
18
|
+
close-on-select>
|
|
19
|
+
</v-select>
|
|
20
|
+
</div>
|
|
21
|
+
<div class="col-sm-4 form-group">
|
|
22
|
+
<label class="font_normal_body">地  址</label>
|
|
23
|
+
<input type="text" v-model="model.f_address" disabled=disabled style="width: 60%" class="input_search">
|
|
24
|
+
</div>
|
|
25
|
+
<!--<div class="col-sm-4 form-group">
|
|
26
|
+
<label class="font_normal_body">用户编号</label>
|
|
27
|
+
<input type="text" v-model="model.f_userinfo_code" disabled=disabled style="width: 60%" class="input_search">
|
|
28
|
+
</div>-->
|
|
29
|
+
<div class="col-sm-4 form-group">
|
|
30
|
+
<label class="font_normal_body" title="参数:付款方式查询">付款方式</label>
|
|
31
|
+
<!-- <input type="text" v-model="model.f_payment" style="width: 60%" class="input_search">-->
|
|
32
|
+
<v-select :value.sync="model.f_payment" v-model="model.f_payment"
|
|
33
|
+
:options='payments' placeholder='付款方式'
|
|
34
|
+
:value-single="true"
|
|
35
|
+
:search="false"
|
|
36
|
+
close-on-select>
|
|
37
|
+
</v-select>
|
|
38
|
+
</div>
|
|
39
|
+
<!-- <div class="col-sm-4 form-group">-->
|
|
40
|
+
<!-- <label class="font_normal_body" title="参数:写卡状态">写卡状态</label>-->
|
|
41
|
+
<!--<!– <input type="text" v-model="model.f_write_card" style="width: 60%" class="input_search">–>-->
|
|
42
|
+
<!-- <v-select :value.sync="model.f_write_card" v-model="model.f_write_card"-->
|
|
43
|
+
<!-- :options='writeCards' placeholder='写卡状态'-->
|
|
44
|
+
<!-- :value-single="true"-->
|
|
45
|
+
<!-- :search="false"-->
|
|
46
|
+
<!-- close-on-select>-->
|
|
47
|
+
<!-- </v-select>-->
|
|
48
|
+
<!-- </div>-->
|
|
49
|
+
<div class="col-sm-4 form-group">
|
|
50
|
+
<label class="font_normal_body">收款金额</label>
|
|
51
|
+
<input type="text" v-model="model.f_collection" disabled=disabled style="width: 60%" class="input_search">
|
|
52
|
+
</div>
|
|
53
|
+
<!--<div class="col-sm-4 form-group">-->
|
|
54
|
+
<!--<label class="font_normal_body">收据类型</label>-->
|
|
55
|
+
<!--<input type="text" v-model="model.f_bill_style" style="width: 60%" class="input_search">-->
|
|
56
|
+
<!--</div>-->
|
|
57
|
+
</div>
|
|
58
|
+
<!-- <div class="row">-->
|
|
59
|
+
<!-- <div class="col-sm-4 form-group">-->
|
|
60
|
+
<!-- <label class="font_normal_body">转账单位</label>-->
|
|
61
|
+
<!-- <input type="text" v-model="model.f_banktransfer_person" :disabled="!editbank" style="width: 60%" class="input_search">-->
|
|
62
|
+
<!-- </div>-->
|
|
63
|
+
<!-- <div class="col-sm-4 form-group">-->
|
|
64
|
+
<!-- <label class="font_normal_body">转账金额</label>-->
|
|
65
|
+
<!-- <input type="text" v-model="model.f_banktransfer_money" :disabled="!editbank" style="width: 60%" class="input_search">-->
|
|
66
|
+
<!-- </div>-->
|
|
67
|
+
<!-- <div class="col-sm-4 form-group">-->
|
|
68
|
+
<!-- <label class="font_normal_body">转账日期</label>-->
|
|
69
|
+
<!--<!– <input type="text" v-model="model.f_banktransfer_date" :disabled="!editbank" style="width: 60%" class="input_search">–>-->
|
|
70
|
+
<!-- <datepicker id="f_banktransfer_date" placeholder="转账日期" style="width:60%"-->
|
|
71
|
+
<!-- v-model="model.f_banktransfer_date"-->
|
|
72
|
+
<!-- :value.sync="model.f_banktransfer_date"-->
|
|
73
|
+
<!-- :format="'yyyy-MM-dd HH:mm:ss'"-->
|
|
74
|
+
<!-- :show-reset-button="true">-->
|
|
75
|
+
<!-- </datepicker>-->
|
|
76
|
+
<!-- </div>-->
|
|
77
|
+
<!-- </div>-->
|
|
78
|
+
<div class="row">
|
|
79
|
+
<div class="col-sm-4 form-group">
|
|
80
|
+
<label class="font_normal_body">操作时间</label>
|
|
81
|
+
<!--<input type="text" v-model="model.f_delivery_date" style="width: 60%" class="input_search">-->
|
|
82
|
+
<datepicker id="f_delivery_date" placeholder="操作时间" style="width:60%"
|
|
83
|
+
v-model="model.f_operate_date"
|
|
84
|
+
:value.sync="model.f_operate_date"
|
|
85
|
+
:format="'yyyy-MM-dd HH:mm:ss'"
|
|
86
|
+
:show-reset-button="true">
|
|
87
|
+
</datepicker>
|
|
88
|
+
</div>
|
|
89
|
+
<!-- <div class="col-sm-4 form-group">-->
|
|
90
|
+
<!-- <label class="font_normal_body">财务核算日期</label>-->
|
|
91
|
+
<!-- <!–<input type="text" v-model="model.f_delivery_date" style="width: 60%" class="input_search">–>-->
|
|
92
|
+
<!-- <datepicker id="f_delivery_date" placeholder="财务核算日期" style="width:60%"-->
|
|
93
|
+
<!-- v-model="model.f_accounting_date"-->
|
|
94
|
+
<!-- :value.sync="model.f_accounting_date"-->
|
|
95
|
+
<!-- :format="'yyyy-MM-dd HH:mm:ss'"-->
|
|
96
|
+
<!-- :show-reset-button="true">-->
|
|
97
|
+
<!-- </datepicker>-->
|
|
98
|
+
<!-- </div>-->
|
|
99
|
+
<div class="col-sm-4 form-group">
|
|
100
|
+
<label class="font_normal_body">购气气量</label>
|
|
101
|
+
<input type="text" v-model="model.f_pregas" disabled=disabled style="width: 60%" class="input_search">
|
|
102
|
+
</div>
|
|
103
|
+
<div class="col-sm-4 form-group">
|
|
104
|
+
<label class="font_normal_body">购气金额</label>
|
|
105
|
+
<input type="text" v-model="model.f_preamount" disabled=disabled style="width: 60%" class="input_search">
|
|
106
|
+
</div>
|
|
107
|
+
</div>
|
|
108
|
+
<div class="row">
|
|
109
|
+
<div class="col-sm-4 form-group">
|
|
110
|
+
<label class="font_normal_body" title="参数:操作人员">操作人员</label>
|
|
111
|
+
<v-select :value.sync="model.f_operatorid"
|
|
112
|
+
v-model="model.f_operatorid"
|
|
113
|
+
:value-single="true" @change="selectoperator()"
|
|
114
|
+
:options='foperator'
|
|
115
|
+
close-on-select></v-select>
|
|
116
|
+
</div>
|
|
117
|
+
<div class="col-sm-4 form-group">
|
|
118
|
+
<label class="font_normal_body">所属部门</label>
|
|
119
|
+
<input type="text" v-model="model.f_depname" disabled=disabled style="width: 60%" class="input_search">
|
|
120
|
+
</div>
|
|
121
|
+
<div class="col-sm-4 form-group">
|
|
122
|
+
<label class="font_normal_body">所属公司</label>
|
|
123
|
+
<input type="text" v-model="model.f_orgname" disabled=disabled style="width: 60%" class="input_search">
|
|
124
|
+
</div>
|
|
125
|
+
</div>
|
|
126
|
+
<div class="row">
|
|
127
|
+
<div class="col-sm-4 form-group">
|
|
128
|
+
<label class="font_normal_body" title="打印格式">收据类型</label>
|
|
129
|
+
<v-select id="f_bill_style"
|
|
130
|
+
placeholder='收据类型'
|
|
131
|
+
:value-single="true"
|
|
132
|
+
:value.sync="model.f_bill_style"
|
|
133
|
+
:options='equipmentType'
|
|
134
|
+
close-on-select clear-button>
|
|
135
|
+
</v-select>
|
|
136
|
+
</div>
|
|
137
|
+
<!-- <div class="col-sm-4 form-group">-->
|
|
138
|
+
<!-- <label class="font_normal_body">开发票人</label>-->
|
|
139
|
+
<!-- <input type="text" v-model="model.f_bill_operator" disabled=disabled style="width: 60%" class="input_search">-->
|
|
140
|
+
<!-- </div>-->
|
|
141
|
+
<!-- <div class="col-sm-4 form-group">-->
|
|
142
|
+
<!-- <label class="font_normal_body">发票时间</label>-->
|
|
143
|
+
<!-- <datepicker id="f_bill_date" placeholder="开发票时间" style="width:60%"-->
|
|
144
|
+
<!-- v-model="model.f_bill_date"-->
|
|
145
|
+
<!-- :value.sync="model.f_bill_date"-->
|
|
146
|
+
<!-- :format="'yyyy-MM-dd'"-->
|
|
147
|
+
<!-- :show-reset-button="true">-->
|
|
148
|
+
<!-- </datepicker>-->
|
|
149
|
+
<!-- <!–<input type="text" v-model="model.f_bill_date" style="width: 60%" class="input_search">–>-->
|
|
150
|
+
<!-- </div>-->
|
|
151
|
+
</div>
|
|
152
|
+
<div class="row">
|
|
153
|
+
<div class="col-sm-4 form-group">
|
|
154
|
+
<label class="font_normal_body">流 水 号</label>
|
|
155
|
+
<input type="text" v-model="model.f_serial_id" style="width: 60%" class="input_search">
|
|
156
|
+
</div>
|
|
157
|
+
<!-- <div class="col-sm-4 form-group">-->
|
|
158
|
+
<!-- <label class="font_normal_body">业务单号</label>-->
|
|
159
|
+
<!-- <input type="text" v-model="model.f_serial_number" style="width: 60%" class="input_search">-->
|
|
160
|
+
<!-- </div>-->
|
|
161
|
+
</div>
|
|
162
|
+
<div class="row">
|
|
163
|
+
<div class="col-sm-12 form-group">
|
|
164
|
+
<label class="font_normal_body">备注信息</label>
|
|
165
|
+
<input type="text" v-model="model.f_comments" style="width: 85%" class="input_search">
|
|
166
|
+
</div>
|
|
167
|
+
</div>
|
|
168
|
+
</form>
|
|
169
|
+
<div style="float: right">
|
|
170
|
+
<button class="button_search" @click="save">保存</button>
|
|
171
|
+
<button class="button_clear" @click="cancel">取消</button>
|
|
172
|
+
</div>
|
|
173
|
+
</validator>
|
|
174
|
+
<modal :show.sync="showfiles" width="80%" style="width:auto;" v-ref:modal backdrop="false">
|
|
175
|
+
<article slot="modal-body">
|
|
176
|
+
<upload :blodid="model.f_userinfo_id" :businessid="model.id" v-ref:upload fusetype="团体收费" isremark="true" style="width:auto" ></upload>
|
|
177
|
+
</article>
|
|
178
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
179
|
+
</footer>
|
|
180
|
+
</modal>
|
|
181
|
+
<!--文件上传按钮-->
|
|
182
|
+
<!-- <button class="button_search" style="width: max-content" @click="uploadFiles()">上传附件</button>-->
|
|
183
|
+
</div>
|
|
184
|
+
</template>
|
|
185
|
+
<script>
|
|
186
|
+
import Vue from 'vue'
|
|
187
|
+
import {HttpResetClass} from 'vue-client'
|
|
188
|
+
import * as Util from "../../../../../Util";
|
|
189
|
+
var data
|
|
190
|
+
let readyGen = async function (self) {
|
|
191
|
+
await self.$LoadParams.loadParam(self.f_filialeid)
|
|
192
|
+
if (self.$GetSaleParam.inputtors.length <= 0) await self.$GetSaleParam.initinputtor()
|
|
193
|
+
}
|
|
194
|
+
export default {
|
|
195
|
+
title: '基本信息',
|
|
196
|
+
|
|
197
|
+
data () {
|
|
198
|
+
return {
|
|
199
|
+
equipmentType: this.$appdata.getParam('打印格式') ? [{label: '', value: ''}, ...this.$appdata.getParam('打印格式')] : [],
|
|
200
|
+
// 构建数组来存储对象
|
|
201
|
+
editbank: true,
|
|
202
|
+
uploadText: '收费',
|
|
203
|
+
showfiles: false,
|
|
204
|
+
recordList: [],
|
|
205
|
+
foperator:[],
|
|
206
|
+
fileNameSet: {
|
|
207
|
+
'f_operatorid': '操作人员',
|
|
208
|
+
'f_payment': '收费形式',
|
|
209
|
+
'f_state': '是否有效',
|
|
210
|
+
'f_bill_style': '收据类型',
|
|
211
|
+
'f_operate_date': '收费日期',
|
|
212
|
+
'f_accounting_date': '财务核算日期',
|
|
213
|
+
'f_pregas': '购气气量',
|
|
214
|
+
'f_address': '地址',
|
|
215
|
+
'f_user_type': '用气性质',
|
|
216
|
+
'f_preamount': '充值金额',
|
|
217
|
+
'f_orgname': '所属公司',
|
|
218
|
+
'f_depname': '所属部门',
|
|
219
|
+
'f_user_name': '用户姓名',
|
|
220
|
+
'f_write_card': '写卡状态',
|
|
221
|
+
'f_banktransfer_person': '转账单位',
|
|
222
|
+
'f_banktransfer_money': '转账金额',
|
|
223
|
+
'f_banktransfer_date': '转账日期',
|
|
224
|
+
'f_comments': '备注信息',
|
|
225
|
+
'f_bill_date': '开票时间',
|
|
226
|
+
'f_bill_operator': '开票人',
|
|
227
|
+
'f_serial_id': '流水号',
|
|
228
|
+
'f_serial_number' : '业务单号'
|
|
229
|
+
},
|
|
230
|
+
editstate:true,
|
|
231
|
+
}
|
|
232
|
+
},
|
|
233
|
+
props: {
|
|
234
|
+
oldmodel: Object,
|
|
235
|
+
model: Object
|
|
236
|
+
},
|
|
237
|
+
|
|
238
|
+
ready () {
|
|
239
|
+
if (this.$login.r.includes('维护银行转账信息')) {
|
|
240
|
+
this.editbank = true
|
|
241
|
+
}
|
|
242
|
+
if(this.$login.r.includes('收费记录状态修改')){
|
|
243
|
+
this.editstate=false
|
|
244
|
+
}
|
|
245
|
+
this.oldmodel = JSON.parse(JSON.stringify(this.model))
|
|
246
|
+
this.model.f_bill_state = [this.oldmodel]
|
|
247
|
+
console.log('看看收费id', this.oldmodel)
|
|
248
|
+
readyGen(this)
|
|
249
|
+
},
|
|
250
|
+
created () {
|
|
251
|
+
},
|
|
252
|
+
methods: {
|
|
253
|
+
initoperator(){
|
|
254
|
+
this.foperator=[]
|
|
255
|
+
console.log("this.$login",this.$login,this.oldmodel,this.model)
|
|
256
|
+
let arr = this.$GetSaleParam.inputtors.filter((res) => {
|
|
257
|
+
if (res.rolestr != null && res.rolestr != '') {
|
|
258
|
+
return res.rolestr.indexOf('营业员') > -1 && res.f_department_name == this.model.f_depname
|
|
259
|
+
}
|
|
260
|
+
})
|
|
261
|
+
arr.forEach((res) => {
|
|
262
|
+
this.foperator.push({label: res.name, value: res.id})
|
|
263
|
+
})
|
|
264
|
+
},
|
|
265
|
+
selectoperator () {
|
|
266
|
+
let id = this.model.f_operatorid
|
|
267
|
+
if(!this.model.f_operatorid){
|
|
268
|
+
return
|
|
269
|
+
}
|
|
270
|
+
let http = new HttpResetClass()
|
|
271
|
+
http.load('POST', 'rs/sql/saleSingleTable',
|
|
272
|
+
{data:{tablename: 't_user',
|
|
273
|
+
condition: `id = '${id}'`}},
|
|
274
|
+
{resolveMsg: null, rejectMsg: null}).then((res) => {
|
|
275
|
+
console.log('kanak,res', res)
|
|
276
|
+
if(res.data.length>0){
|
|
277
|
+
this.model.f_operator = res.data[0].name
|
|
278
|
+
}else{
|
|
279
|
+
this.model.f_operatorid=''
|
|
280
|
+
this.$showAlert('操作员信息未找到','warning',2000)
|
|
281
|
+
}
|
|
282
|
+
console.log('this.f_operatorid', this.model.f_operator)
|
|
283
|
+
})
|
|
284
|
+
},
|
|
285
|
+
cancel () {
|
|
286
|
+
this.$dispatch('close')
|
|
287
|
+
},
|
|
288
|
+
uploadFiles () {
|
|
289
|
+
this.showfiles = !this.showfiles
|
|
290
|
+
},
|
|
291
|
+
addressValid (val) {
|
|
292
|
+
},
|
|
293
|
+
save () {
|
|
294
|
+
// console.log(this.model.key)
|
|
295
|
+
//
|
|
296
|
+
for (var item in this.model) {
|
|
297
|
+
if (this.model[item] != this.oldmodel[item] && this.model[item] !='s_timestamp') {
|
|
298
|
+
var car = {
|
|
299
|
+
chinesename: this.fileNameSet[item],
|
|
300
|
+
fieldname: item,
|
|
301
|
+
tablename: 't_sellinggasbatch',
|
|
302
|
+
oldvalue: this.oldmodel[item],
|
|
303
|
+
newvalue: this.model[item],
|
|
304
|
+
state: '有效',
|
|
305
|
+
modifitime: Util.toStandardTimeString(),
|
|
306
|
+
operator: this.$login.f.name,
|
|
307
|
+
sellingas_id: this.model.id,
|
|
308
|
+
join_id: this.model.id,
|
|
309
|
+
f_operator : this.$login.f.name,
|
|
310
|
+
f_operatorid : this.$login.f.id,
|
|
311
|
+
f_orgid : this.$login.f.orgid,
|
|
312
|
+
f_orgname : this.$login.f.orgs,
|
|
313
|
+
f_depid : this.$login.f.depids,
|
|
314
|
+
f_depname : this.$login.f.deps
|
|
315
|
+
|
|
316
|
+
}
|
|
317
|
+
this.recordList.push(car)
|
|
318
|
+
// 该方法并未对chinesename fieldname operator等进行判断赋值,此暂写为定值
|
|
319
|
+
console.log('看看car的值', car)
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
if (this.model.f_bill_date !== '' || this.model.f_bill_date === undefined) {
|
|
323
|
+
this.model.f_bill_operator = this.$login.f.name
|
|
324
|
+
}
|
|
325
|
+
this.$resetpost('rs/logic/saveGroupRecord', {data: {recordlist: this.recordList, newData: this.model}}).then((res) => {
|
|
326
|
+
console.log('this.model', this.model)
|
|
327
|
+
})
|
|
328
|
+
this.$dispatch('close')
|
|
329
|
+
}
|
|
330
|
+
},
|
|
331
|
+
computed: {
|
|
332
|
+
positions () {
|
|
333
|
+
return this.$appdata.getParam('收费状态')
|
|
334
|
+
},
|
|
335
|
+
payments () {
|
|
336
|
+
return this.$appdata.getParam('付款方式查询')
|
|
337
|
+
},
|
|
338
|
+
writeCards () {
|
|
339
|
+
return this.$appdata.getParam('写卡状态')
|
|
340
|
+
},
|
|
341
|
+
billStyles () {
|
|
342
|
+
return this.$appdata.getParam('收据类型')
|
|
343
|
+
}
|
|
344
|
+
},
|
|
345
|
+
watch: {
|
|
346
|
+
'model'(){
|
|
347
|
+
this.initoperator()
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
</script>
|
|
352
|
+
<style lang="less" scoped>
|
|
353
|
+
#meterInfoTest{
|
|
354
|
+
#addboxmap {
|
|
355
|
+
height: 300px;
|
|
356
|
+
}
|
|
357
|
+
.glyphicon-map-marker:hover {
|
|
358
|
+
color: red;
|
|
359
|
+
}
|
|
360
|
+
.glyphicon-map-marker {
|
|
361
|
+
color: blue;
|
|
362
|
+
cursor: pointer;
|
|
363
|
+
}
|
|
364
|
+
.col-sm-4 {
|
|
365
|
+
.font_normal_body {
|
|
366
|
+
width: 73px;
|
|
367
|
+
overflow: auto;
|
|
368
|
+
white-space: nowrap;
|
|
369
|
+
// 指滚动条两边的按钮
|
|
370
|
+
&::-webkit-scrollbar-button {
|
|
371
|
+
display: none;
|
|
372
|
+
}
|
|
373
|
+
// 滚动条的宽度
|
|
374
|
+
&::-webkit-scrollbar {
|
|
375
|
+
width: 5px !important;
|
|
376
|
+
height: 5px !important;
|
|
377
|
+
}
|
|
378
|
+
// 滚动条的设置
|
|
379
|
+
&::-webkit-scrollbar-thumb {
|
|
380
|
+
background-color: #ddd;
|
|
381
|
+
background-clip: padding-box;
|
|
382
|
+
}
|
|
383
|
+
&::-webkit-scrollbar-thumb:hover {
|
|
384
|
+
background-color: #bbb;
|
|
385
|
+
}
|
|
386
|
+
&::-webkit-scrollbar-track {
|
|
387
|
+
/*滚动条里面轨道*/
|
|
388
|
+
box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
|
|
389
|
+
background: #ededed;
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
</style>
|
|
@@ -0,0 +1,477 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div>
|
|
3
|
+
<div style="flex: 1.5" class="flex">
|
|
4
|
+
<div class="flex">
|
|
5
|
+
<criteria-paged :model="model" v-ref:paged>
|
|
6
|
+
<criteria partial='criteria' v-ref:criteria @condition-changed="$parent.selfSearch"
|
|
7
|
+
v-show="$parent.searchshow">
|
|
8
|
+
<div novalidate class="form-inline auto" partial>
|
|
9
|
+
<div class="row">
|
|
10
|
+
<div
|
|
11
|
+
:class="{'col-sm-2':!$parent.$parent.editList,'col-sm-4':$parent.$parent.editList}"
|
|
12
|
+
class="form-group">
|
|
13
|
+
<label class="font_normal_body">组织机构</label>
|
|
14
|
+
<res-select :initresid='$parent.$parent.curorgid'
|
|
15
|
+
@res-select="$parent.$parent.getorg"
|
|
16
|
+
class="select select_list"
|
|
17
|
+
restype='organization'
|
|
18
|
+
style="width: 60%">
|
|
19
|
+
</res-select>
|
|
20
|
+
</div>
|
|
21
|
+
<div
|
|
22
|
+
:class="{'col-sm-2':!$parent.$parent.editList,'col-sm-4':$parent.$parent.editList}"
|
|
23
|
+
class="form-group">
|
|
24
|
+
<label class="font_normal_body">用户编号</label>
|
|
25
|
+
<input type="text" class="input_search" style="width: 60%" v-model="model.f_userinfo_code"
|
|
26
|
+
condition="f_userinfo_code like '%{}%'" placeholder='用户编号'>
|
|
27
|
+
</div>
|
|
28
|
+
<div style="float:right;margin-top: 8px" class="span">
|
|
29
|
+
<!-- <button class="button_spacing button_search" @click="$parent.$parent.updateAll()">批量维护</button>-->
|
|
30
|
+
<button class="button_spacing button_search" @click="search()">查 询</button>
|
|
31
|
+
<export-excel v-if="$parent.$parent.excelTable"
|
|
32
|
+
class="auto"
|
|
33
|
+
:data="{condition: $parent.$parent.condition}"
|
|
34
|
+
:field="$parent.$parent.getfield"
|
|
35
|
+
sqlurl="rs/logic/saleExport" progress="saleGetExportProgress" sql-name="sellinggasbatch"
|
|
36
|
+
template-name='团缴记录'
|
|
37
|
+
:choose-col="true"></export-excel>
|
|
38
|
+
<div
|
|
39
|
+
:class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
|
|
40
|
+
@click="$parent.$parent.hidden()"
|
|
41
|
+
class="button_spacing"
|
|
42
|
+
style="float: right"></div>
|
|
43
|
+
</div>
|
|
44
|
+
</div>
|
|
45
|
+
<div class="row" v-if="$parent.$parent.criteriaShow">
|
|
46
|
+
<div
|
|
47
|
+
:class="{'col-sm-2':!$parent.$parent.editList,'col-sm-4':$parent.$parent.editList}"
|
|
48
|
+
class="form-group">
|
|
49
|
+
<label class="font_normal_body">收费编号</label>
|
|
50
|
+
<input type="text" class="input_search" style="width: 60%" v-model="model.id"
|
|
51
|
+
condition="id = '{}'" placeholder='收费编号'>
|
|
52
|
+
</div>
|
|
53
|
+
<div
|
|
54
|
+
:class="{'col-sm-2':!$parent.$parent.editList,'col-sm-4':$parent.$parent.editList}"
|
|
55
|
+
class="form-group">
|
|
56
|
+
<label class="font_normal_body">用户姓名</label>
|
|
57
|
+
<input type="text" class="input_search" style="width: 60%" v-model="model.f_user_name"
|
|
58
|
+
condition="f_user_name like '%{}%'" placeholder='用户姓名'>
|
|
59
|
+
</div>
|
|
60
|
+
<!-- <div-->
|
|
61
|
+
<!-- :class="{'col-sm-2':!$parent.$parent.editList,'col-sm-4':$parent.$parent.editList}"-->
|
|
62
|
+
<!-- class="form-group" >-->
|
|
63
|
+
<!-- <label class="font_normal_body">有无附件</label>-->
|
|
64
|
+
<!-- <v-select :disabled=false-->
|
|
65
|
+
<!-- :options='$parent.$parent.pj'-->
|
|
66
|
+
<!-- :value-single="true"-->
|
|
67
|
+
<!-- :value.sync="model.is_has_file"-->
|
|
68
|
+
<!-- close-on-select-->
|
|
69
|
+
<!-- placeholder='请选择'-->
|
|
70
|
+
<!-- v-model="model.is_has_file"-->
|
|
71
|
+
<!-- condition="is_has_file = '{}'"-->
|
|
72
|
+
<!-- search=fasle-->
|
|
73
|
+
<!-- >-->
|
|
74
|
+
<!-- </v-select>-->
|
|
75
|
+
<!-- </div>-->
|
|
76
|
+
<div
|
|
77
|
+
: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 :value.sync="model.f_user_type" v-model="model.f_user_type"
|
|
81
|
+
:options='$parent.$parent.usertypes' placeholder='客户类型'
|
|
82
|
+
style="width:60%"
|
|
83
|
+
close-on-select
|
|
84
|
+
condition="f_user_type = '{}'"></v-select>
|
|
85
|
+
</div>
|
|
86
|
+
<div
|
|
87
|
+
:class="{'col-sm-2':!$parent.$parent.editList,'col-sm-4':$parent.$parent.editList}"
|
|
88
|
+
class="form-group">
|
|
89
|
+
<label class="font_normal_body">开始日期</label>
|
|
90
|
+
<datepicker placeholder="开始日期" v-model="model.startDate" :value.sync="model.startDate" style="width:60%"
|
|
91
|
+
:format="'yyyy-MM-dd 00:00:00'" condition="f_operate_date >= '{}'">
|
|
92
|
+
</datepicker>
|
|
93
|
+
</div>
|
|
94
|
+
<div
|
|
95
|
+
:class="{'col-sm-2':!$parent.$parent.editList,'col-sm-4':$parent.$parent.editList}"
|
|
96
|
+
class="form-group">
|
|
97
|
+
<label class="font_normal_body">结束日期</label>
|
|
98
|
+
<datepicker placeholder="结束日期" v-model="model.endDate" :value.sync="model.endDate" style="width:60%"
|
|
99
|
+
:format="'yyyy-MM-dd 23:59:59'" condition="f_operate_date <= '{}'">
|
|
100
|
+
</datepicker>
|
|
101
|
+
</div>
|
|
102
|
+
</div>
|
|
103
|
+
</div>
|
|
104
|
+
</criteria>
|
|
105
|
+
<data-grid :model="model" v-ref:grid class="list_area table_sy" partial='list'>
|
|
106
|
+
<template partial='head'>
|
|
107
|
+
<tr>
|
|
108
|
+
<!-- <th>-->
|
|
109
|
+
<!-- <nobr>全选</nobr>-->
|
|
110
|
+
<!-- <input @keyup.enter="search" style="width:60%" type="checkbox" v-model='checked1' :checked="$parent.$parent.$parent.checked1"-->
|
|
111
|
+
<!-- @click="$parent.$parent.$parent.checkedALL()"></th>-->
|
|
112
|
+
<th><nobr>收费编号</nobr></th>
|
|
113
|
+
<th><nobr>用户编号</nobr></th>
|
|
114
|
+
<th><nobr>用户姓名</nobr></th>
|
|
115
|
+
<th><nobr>收费形式</nobr></th>
|
|
116
|
+
<th><nobr>是否有效</nobr></th>
|
|
117
|
+
<th><nobr>收据类型</nobr></th>
|
|
118
|
+
<th><nobr>收费时间</nobr></th>
|
|
119
|
+
<th><nobr>购气气量</nobr></th>
|
|
120
|
+
<th><nobr>地址</nobr></th>
|
|
121
|
+
<th><nobr>气量用途</nobr></th>
|
|
122
|
+
<th><nobr>用气金额</nobr></th>
|
|
123
|
+
<th><nobr>收费金额</nobr></th>
|
|
124
|
+
<th><nobr>操作员</nobr></th>
|
|
125
|
+
<th><nobr>所属部门</nobr></th>
|
|
126
|
+
<th><nobr>所属公司</nobr></th>
|
|
127
|
+
<!-- <th><nobr>附件</nobr></th>-->
|
|
128
|
+
</tr>
|
|
129
|
+
</template>
|
|
130
|
+
<template partial='body'>
|
|
131
|
+
<!-- <td style="text-align: center;">-->
|
|
132
|
+
<!-- <input @keyup.enter="search" style="width:60%" type="checkbox" checked="checked" name="opertioninput"-->
|
|
133
|
+
<!-- @click="$parent.$parent.$parent.checked(row)"></td>-->
|
|
134
|
+
<td style="text-align: center;"><nobr>{{row.id}}</nobr></td>
|
|
135
|
+
<td style="text-align: center;"><nobr>{{row.f_userinfo_code}}</nobr></td>
|
|
136
|
+
<td style="text-align: center;"><nobr>{{row.f_user_name}}</nobr></td>
|
|
137
|
+
<td style="text-align: center;"><nobr>{{row.f_payment}}</nobr></td>
|
|
138
|
+
<td style="text-align: center;"><nobr>{{row.f_state}}</nobr></td>
|
|
139
|
+
<td style="text-align: center;"><nobr>{{row.f_bill_style}}</nobr></td>
|
|
140
|
+
<td style="text-align: center;"><nobr>{{row.f_operate_date}}</nobr></td>
|
|
141
|
+
<td style="text-align: center;"><nobr>{{row.f_pregas}}</nobr></td>
|
|
142
|
+
<td style="text-align: center;"><nobr>{{row.f_address}}</nobr></td>
|
|
143
|
+
<td style="text-align: center;"><nobr>{{row.f_user_type}}</nobr></td>
|
|
144
|
+
<td style="text-align: center;"><nobr>{{row.f_preamount}}</nobr></td>
|
|
145
|
+
<td style="text-align: center;"><nobr>{{row.f_collection}}</nobr></td>
|
|
146
|
+
<td style="text-align: center;"><nobr>{{row.f_operator}}</nobr></td>
|
|
147
|
+
<td style="text-align: center;"><nobr>{{row.f_depname}}</nobr></td>
|
|
148
|
+
<td style="text-align: center;"><nobr>{{row.f_orgname}}</nobr></td>
|
|
149
|
+
<!-- <td style="text-align: center;"><nobr>-->
|
|
150
|
+
<!-- <button v-if="row.is_has_file=='是'" class="btn btn-link" @click.stop="$parent.$parent.$parent.view(row)">查看</button>-->
|
|
151
|
+
<!-- </nobr></td>-->
|
|
152
|
+
</template>
|
|
153
|
+
</data-grid>
|
|
154
|
+
</criteria-paged>
|
|
155
|
+
</div>
|
|
156
|
+
</div>
|
|
157
|
+
</div>
|
|
158
|
+
<modal :show.sync="updateall" width="1200px" backdrop="true">
|
|
159
|
+
<header slot="modal-header" class="modal-header">
|
|
160
|
+
<h3 style="color:black" class="modal-title">批量维护</h3>
|
|
161
|
+
</header>
|
|
162
|
+
<article slot="modal-body" class="modal-body">
|
|
163
|
+
<validator name='v'>
|
|
164
|
+
<form class="form-horizontal select-overspread">
|
|
165
|
+
<div class="row">
|
|
166
|
+
<div class="col-sm-6 form-input-group">
|
|
167
|
+
<label class="font_normal_body col-sm-3">财务核算日期</label>
|
|
168
|
+
<datepicker style="width:60%" placeholder="财务核算日期"
|
|
169
|
+
v-model="updatemodel.f_accounting_date"
|
|
170
|
+
:value.sync="updatemodel.f_accounting_date"
|
|
171
|
+
:format="'yyyy-MM-dd HH:mm:ss'"
|
|
172
|
+
></datepicker>
|
|
173
|
+
</div>
|
|
174
|
+
</div>
|
|
175
|
+
</form>
|
|
176
|
+
</validator>
|
|
177
|
+
</article>
|
|
178
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
179
|
+
<button class="button_search btn-gn" @click="confirm">确认</button>
|
|
180
|
+
<button class="button_clear btn-gn" @click="cancel">取消</button>
|
|
181
|
+
</footer>
|
|
182
|
+
</modal>
|
|
183
|
+
</template>
|
|
184
|
+
|
|
185
|
+
<script>
|
|
186
|
+
import {PagedList} from 'vue-client'
|
|
187
|
+
const myMap = new Map()
|
|
188
|
+
|
|
189
|
+
export default {
|
|
190
|
+
'title': '',
|
|
191
|
+
data () {
|
|
192
|
+
return {
|
|
193
|
+
usertypes: this.$appdata.getParam('客户类型') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('客户类型')] : [],
|
|
194
|
+
pj: this.$appdata.getParam('是否有附件') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('是否有附件')] : [],
|
|
195
|
+
model: new PagedList('rs/sql/sellinggasbatch', 20),
|
|
196
|
+
// model: new PagedList('rs/sql/singleTable_OrderBy', 20, {items: '"s.*,ui.f_userinfo_code"', tablename: '"t_sellinggas s left join t_userinfo ui on s.f_userinfo_id=ui.f_userinfo_id"', orderitem: '"f_delivery_date"'}),
|
|
197
|
+
// 控制查询条件显示
|
|
198
|
+
searchshow: true,
|
|
199
|
+
criteriaShow: false,
|
|
200
|
+
// 控制样式
|
|
201
|
+
editList: false,
|
|
202
|
+
// 公司下拉
|
|
203
|
+
curorgid: [this.$login.f.orgid],
|
|
204
|
+
excelTable: true,
|
|
205
|
+
condition: '',
|
|
206
|
+
getfield: {
|
|
207
|
+
'id': '收费编号',
|
|
208
|
+
'f_userinfo_code': '用户编号',
|
|
209
|
+
'f_user_name': '用户姓名',
|
|
210
|
+
'f_payment': '收费形式',
|
|
211
|
+
'f_state': '是否有效',
|
|
212
|
+
'f_bill_style': '收据类型',
|
|
213
|
+
'f_operate_date': '收费时间',
|
|
214
|
+
'f_accounting_date': '财务核算时间',
|
|
215
|
+
'f_pregas': '购气气量',
|
|
216
|
+
'f_address': '地址',
|
|
217
|
+
'f_user_type': '气量用途',
|
|
218
|
+
'f_preamount': '用气金额',
|
|
219
|
+
'f_collection': '收费金额',
|
|
220
|
+
'f_operator': '操作员',
|
|
221
|
+
'f_depname': '所属部门',
|
|
222
|
+
'f_orgname': '所属公司'
|
|
223
|
+
},
|
|
224
|
+
f_orgid: '',
|
|
225
|
+
checked1: true,
|
|
226
|
+
map: new Map(),
|
|
227
|
+
updateall:false,
|
|
228
|
+
da: {
|
|
229
|
+
rows: []
|
|
230
|
+
},
|
|
231
|
+
f_meternumber: '',
|
|
232
|
+
updatemodel:{
|
|
233
|
+
f_accounting_date: this.$login.toStandardTimeString()
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
},
|
|
237
|
+
ready () {
|
|
238
|
+
this.search()
|
|
239
|
+
// this.getwarehouse()
|
|
240
|
+
},
|
|
241
|
+
events: {
|
|
242
|
+
'showfiles' (val) {
|
|
243
|
+
console.log(val)
|
|
244
|
+
}
|
|
245
|
+
},
|
|
246
|
+
props: ['showMessage'],
|
|
247
|
+
methods: {
|
|
248
|
+
updateAll(){
|
|
249
|
+
this.updateall = true
|
|
250
|
+
},
|
|
251
|
+
cancel(){
|
|
252
|
+
this.updateall = false
|
|
253
|
+
this.updatemodel = {
|
|
254
|
+
f_accounting_date: this.$login.toStandardTimeString()
|
|
255
|
+
}
|
|
256
|
+
},
|
|
257
|
+
async confirm(){
|
|
258
|
+
let array = []
|
|
259
|
+
this.map.forEach((value, key, map) => {
|
|
260
|
+
array.push(map.get(key))
|
|
261
|
+
})
|
|
262
|
+
console.log('asdasd',array)
|
|
263
|
+
if (array.length>0){
|
|
264
|
+
let condition = `id in (''`
|
|
265
|
+
array.forEach((row) => {
|
|
266
|
+
condition = condition+`,'${row.id}'`
|
|
267
|
+
})
|
|
268
|
+
condition = condition+ `)`
|
|
269
|
+
|
|
270
|
+
console.log('asdasd',condition)
|
|
271
|
+
await this.$resetpost('rs/logic/updatesellinggas',{updatemodel:this.updatemodel,condition:condition})
|
|
272
|
+
this.search()
|
|
273
|
+
this.cancel()
|
|
274
|
+
} else{
|
|
275
|
+
this.$showMessage('当前未勾选用户,将为所有查询出来的用户添加限购,确定要操作吗?', ['confirm', 'cancel']).then(async (res) => {
|
|
276
|
+
if (res === 'confirm') {
|
|
277
|
+
await this.$resetpost('rs/logic/updatesellinggas',{updatemodel:this.updatemodel,condition:this.condition})
|
|
278
|
+
this.search()
|
|
279
|
+
this.cancel()
|
|
280
|
+
}
|
|
281
|
+
})
|
|
282
|
+
|
|
283
|
+
}
|
|
284
|
+
},
|
|
285
|
+
checkedALL () {
|
|
286
|
+
this.checked1 = !this.checked1
|
|
287
|
+
let box = document.getElementsByName('opertioninput')
|
|
288
|
+
for (var i = 0; i < box.length; i++) {
|
|
289
|
+
box[i].checked = this.checked1
|
|
290
|
+
}
|
|
291
|
+
},
|
|
292
|
+
checked (val) {
|
|
293
|
+
let id = val.id
|
|
294
|
+
if (this.map.has(id)) {
|
|
295
|
+
this.map.delete(id)
|
|
296
|
+
} else {
|
|
297
|
+
this.map.set(id, {id: id})
|
|
298
|
+
}
|
|
299
|
+
},
|
|
300
|
+
mapset (array) {
|
|
301
|
+
this.map.clear()
|
|
302
|
+
for (let i = 0; i < array.length; i++) {
|
|
303
|
+
let id = array[i].id
|
|
304
|
+
this.map.set(id, {id: id})
|
|
305
|
+
}
|
|
306
|
+
},
|
|
307
|
+
hidden () {
|
|
308
|
+
this.criteriaShow = !this.criteriaShow
|
|
309
|
+
},
|
|
310
|
+
getorg (val) {
|
|
311
|
+
this.f_orgid = this.$login.convertToIn(val)
|
|
312
|
+
this.f_filialeid = val[0]
|
|
313
|
+
},
|
|
314
|
+
view (row) {
|
|
315
|
+
this.$parent.showupload = true
|
|
316
|
+
this.$parent.row = row
|
|
317
|
+
},
|
|
318
|
+
init () {
|
|
319
|
+
this.f_meternumber = ''
|
|
320
|
+
this.da.rows = []
|
|
321
|
+
myMap.clear()
|
|
322
|
+
},
|
|
323
|
+
cancelSet () {
|
|
324
|
+
this.showSetModal = false
|
|
325
|
+
this.init()
|
|
326
|
+
},
|
|
327
|
+
|
|
328
|
+
jump () {
|
|
329
|
+
this.joinshow2 = false
|
|
330
|
+
this.showSetModal = true
|
|
331
|
+
},
|
|
332
|
+
async getwarehouse () {
|
|
333
|
+
|
|
334
|
+
},
|
|
335
|
+
|
|
336
|
+
join1 (row) {
|
|
337
|
+
this.joinrow = row
|
|
338
|
+
this.joinshow = true
|
|
339
|
+
},
|
|
340
|
+
|
|
341
|
+
joinclose () {
|
|
342
|
+
this.joinshow = false
|
|
343
|
+
},
|
|
344
|
+
joinclose2 () {
|
|
345
|
+
this.joinshow2 = false
|
|
346
|
+
},
|
|
347
|
+
|
|
348
|
+
search () {
|
|
349
|
+
this.$refs.paged.$refs.criteria.search()
|
|
350
|
+
},
|
|
351
|
+
importFile () {
|
|
352
|
+
this.show = true
|
|
353
|
+
},
|
|
354
|
+
selfSearch (args) {
|
|
355
|
+
if (!this.f_orgid) {
|
|
356
|
+
this.getorg([this.$login.f.orgid])
|
|
357
|
+
}
|
|
358
|
+
console.log('查询。。。', this.f_orgid)
|
|
359
|
+
if (this.f_orgid) {
|
|
360
|
+
args.condition = `${args.condition} and f_orgid in ${this.f_orgid}`
|
|
361
|
+
}
|
|
362
|
+
this.model.search(args.condition, args.model)
|
|
363
|
+
this.condition = args.condition
|
|
364
|
+
},
|
|
365
|
+
mergeRowData (joinrows) {
|
|
366
|
+
|
|
367
|
+
},
|
|
368
|
+
// 多选框初始化
|
|
369
|
+
selectInit () {
|
|
370
|
+
this.rowsdata = []
|
|
371
|
+
this.all = []
|
|
372
|
+
this.radio = []
|
|
373
|
+
},
|
|
374
|
+
select () {
|
|
375
|
+
let index = this.model1.pageIndex - 1
|
|
376
|
+
console.log('全选', this.all[index])
|
|
377
|
+
if (!this.radio[index]) {
|
|
378
|
+
this.radio.$set(index, [])
|
|
379
|
+
}
|
|
380
|
+
if (this.all[index]) {
|
|
381
|
+
// 数据
|
|
382
|
+
this.rowsdata[index] = Object.assign([], this.model1.rows)
|
|
383
|
+
// 勾选
|
|
384
|
+
for (var i = 0; i < this.model1.rows.length; i++) {
|
|
385
|
+
this.radio[index].$set(i, true)
|
|
386
|
+
}
|
|
387
|
+
} else {
|
|
388
|
+
// 数据
|
|
389
|
+
this.rowsdata[index] = []
|
|
390
|
+
// 不勾选
|
|
391
|
+
for (var i = 0; i < this.model1.rows.length; i++) {
|
|
392
|
+
this.radio[index].$set(i, false)
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
},
|
|
396
|
+
selectOne (event, row, i) {
|
|
397
|
+
console.log('单选', event.target.checked)
|
|
398
|
+
let index = this.model1.pageIndex - 1
|
|
399
|
+
if (!this.rowsdata[index]) {
|
|
400
|
+
this.rowsdata[index] = []
|
|
401
|
+
}
|
|
402
|
+
if (!this.radio[index]) {
|
|
403
|
+
this.radio.$set(index, [])
|
|
404
|
+
}
|
|
405
|
+
if (event.target.checked) {
|
|
406
|
+
// 数据
|
|
407
|
+
this.rowsdata[index][i] = row
|
|
408
|
+
// 勾选
|
|
409
|
+
this.radio[index].$set(i, true)
|
|
410
|
+
// 判断是否全部选中
|
|
411
|
+
var allState = true
|
|
412
|
+
if (this.model1.rows.length != this.radio[index].length) {
|
|
413
|
+
allState = false
|
|
414
|
+
}
|
|
415
|
+
for (var state of this.radio[index]) {
|
|
416
|
+
if (!state) {
|
|
417
|
+
allState = false
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
if (allState) {
|
|
421
|
+
this.all.$set(index, true)
|
|
422
|
+
} else {
|
|
423
|
+
this.all.$set(index, false)
|
|
424
|
+
}
|
|
425
|
+
} else {
|
|
426
|
+
// 数据
|
|
427
|
+
this.rowsdata[index][i] = []
|
|
428
|
+
// 不勾选
|
|
429
|
+
this.radio[index].$set(i, false)
|
|
430
|
+
// 任意取消一个则全选状态设为false
|
|
431
|
+
this.all.$set(index, false)
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
},
|
|
435
|
+
computed: {
|
|
436
|
+
ischecked () {
|
|
437
|
+
return function (index, i) {
|
|
438
|
+
// console.log("计算属性")
|
|
439
|
+
if (!this.radio[index]) {
|
|
440
|
+
return false
|
|
441
|
+
}
|
|
442
|
+
return this.radio[index][i]
|
|
443
|
+
}
|
|
444
|
+
},
|
|
445
|
+
distributionstate () {
|
|
446
|
+
return [{label: '全部', value: ''}, {label: '待分配', value: 'is null'}, {label: '已入库', value: 'is not null'}]
|
|
447
|
+
}
|
|
448
|
+
},
|
|
449
|
+
watch: {
|
|
450
|
+
'model.pageIndex' () {
|
|
451
|
+
this.checked1 = false
|
|
452
|
+
this.mapset(this.model.rows)
|
|
453
|
+
this.checkedALL()
|
|
454
|
+
},
|
|
455
|
+
'model.rows' () {
|
|
456
|
+
this.checked1 = false
|
|
457
|
+
this.mapset(this.model.rows)
|
|
458
|
+
this.checkedALL()
|
|
459
|
+
},
|
|
460
|
+
'checked1' (val) {
|
|
461
|
+
if (val) {
|
|
462
|
+
this.mapset(this.model.rows)
|
|
463
|
+
} else {
|
|
464
|
+
this.map.clear()
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
</script>
|
|
470
|
+
<style>
|
|
471
|
+
.datapanel {
|
|
472
|
+
color: #333;
|
|
473
|
+
background-color: white;
|
|
474
|
+
padding: 10px 20px;
|
|
475
|
+
border-radius: 15px;
|
|
476
|
+
}
|
|
477
|
+
</style>
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div style="padding-right:25px;padding-left: 20px;">
|
|
3
|
+
<!--分配状态是全部-->
|
|
4
|
+
<tabset >
|
|
5
|
+
<tab header="具体信息">
|
|
6
|
+
<meter-operate-maintain-group :model="model" :oldmodel="oldmodel"></meter-operate-maintain-group>
|
|
7
|
+
</tab>
|
|
8
|
+
<tab header="操作记录">
|
|
9
|
+
<warehouse-add-maintain-group :recordlist="recordlist"></warehouse-add-maintain-group>
|
|
10
|
+
</tab>
|
|
11
|
+
</tabset>
|
|
12
|
+
</div>
|
|
13
|
+
</template>
|
|
14
|
+
<script>
|
|
15
|
+
export default {
|
|
16
|
+
name: 'WareHouseOperation',
|
|
17
|
+
data () {
|
|
18
|
+
return {
|
|
19
|
+
showupload: false
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
props: {
|
|
23
|
+
recordlist: Array,
|
|
24
|
+
// row: Object,
|
|
25
|
+
model: Object,
|
|
26
|
+
oldmodel: Object
|
|
27
|
+
},
|
|
28
|
+
created () {
|
|
29
|
+
},
|
|
30
|
+
ready () {
|
|
31
|
+
|
|
32
|
+
},
|
|
33
|
+
methods: {
|
|
34
|
+
},
|
|
35
|
+
events: {
|
|
36
|
+
'showfiles' (val) {
|
|
37
|
+
console.log('events!!!!!!!!!!!!!', val)
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
</script>
|
|
42
|
+
|
|
43
|
+
<style lang="less">
|
|
44
|
+
|
|
45
|
+
</style>
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div id="unit" class="row" :class="{'binary':showItem}">
|
|
3
|
+
<div :class="{'basic-main':!showItem,'binary-left':showItem}" style="height:98%">
|
|
4
|
+
<charge-list-maintain-group @select-changed="idsearch" :showMessage.sync="showAddMssage" v-if="stepControl"
|
|
5
|
+
v-ref:stocklist></charge-list-maintain-group>
|
|
6
|
+
</div>
|
|
7
|
+
<div class="binary-right" v-show="showItem">
|
|
8
|
+
<charge-operator-maintain-group :recordlist="recordlist" :model="model" :oldmodel="oldmodel" v-show="showItem"
|
|
9
|
+
:f_distribution_state="f_distribution_state" :row="row" :rowsdata="rowsdata1"
|
|
10
|
+
:warehousename="warehousename"></charge-operator-maintain-group>
|
|
11
|
+
</div>
|
|
12
|
+
</div>
|
|
13
|
+
<modal :show.sync="showupload" width="80%" style="width:auto;" v-ref:modal middle backdrop="false">
|
|
14
|
+
<article slot="modal-body">
|
|
15
|
+
<upload :blodid="row.f_userinfo_id" v-ref:upload isupload="false" takeimg="false" :businessid="row.id" fusetype="收费" isremark="false" style="width:auto" ></upload>
|
|
16
|
+
</article>
|
|
17
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
18
|
+
</footer>
|
|
19
|
+
</modal>
|
|
20
|
+
</template>
|
|
21
|
+
|
|
22
|
+
<script>
|
|
23
|
+
import {HttpResetClass} from 'vue-client'
|
|
24
|
+
export default {
|
|
25
|
+
title: '团缴记录维护',
|
|
26
|
+
data () {
|
|
27
|
+
return {
|
|
28
|
+
showupload: false,
|
|
29
|
+
recordlist: [],
|
|
30
|
+
model: {},
|
|
31
|
+
oldmodel: {},
|
|
32
|
+
showAddMssage: false,
|
|
33
|
+
// 分配状态z
|
|
34
|
+
f_distribution_state: '',
|
|
35
|
+
// 单选数据
|
|
36
|
+
row: {},
|
|
37
|
+
// 多选数据
|
|
38
|
+
rowsdata: [],
|
|
39
|
+
rowsdata1: {},
|
|
40
|
+
stepControl: true,
|
|
41
|
+
warehousename: '',
|
|
42
|
+
showItem: false
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
created () {
|
|
46
|
+
},
|
|
47
|
+
ready () {
|
|
48
|
+
this.arrAddFun()
|
|
49
|
+
},
|
|
50
|
+
methods: {
|
|
51
|
+
arrAddFun () {
|
|
52
|
+
// 拓展数组去空值的方法
|
|
53
|
+
Array.prototype.removeEmpty = function () {
|
|
54
|
+
for (var i = 0; i < this.length; i++) {
|
|
55
|
+
if (this[i] == '' || typeof (this[i]) == 'undefined') {
|
|
56
|
+
this.splice(i, 1)
|
|
57
|
+
i--
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return this
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
// 合并二维数组并去空
|
|
64
|
+
mergeRowData (rowsdata) {
|
|
65
|
+
let data = []
|
|
66
|
+
// 合并
|
|
67
|
+
for (let array of rowsdata) {
|
|
68
|
+
data.push.apply(data, array)
|
|
69
|
+
}
|
|
70
|
+
// 去空
|
|
71
|
+
data = data.removeEmpty()
|
|
72
|
+
this.rowsdata = data
|
|
73
|
+
},
|
|
74
|
+
selected (row) {
|
|
75
|
+
this.row = row.val
|
|
76
|
+
},
|
|
77
|
+
// changeDisplay () {
|
|
78
|
+
// this.stepControl = !this.stepControl
|
|
79
|
+
// this.$dispatch('change-state', '')
|
|
80
|
+
// },
|
|
81
|
+
join (rowsdata) {
|
|
82
|
+
|
|
83
|
+
},
|
|
84
|
+
idsearch (row) {
|
|
85
|
+
this.$refs.stocklist.editList = true
|
|
86
|
+
this.showAddMssage = true
|
|
87
|
+
this.showItem = true
|
|
88
|
+
this.model = JSON.parse(JSON.stringify(row.val))
|
|
89
|
+
this.oldmodel = JSON.parse(JSON.stringify(row.val))
|
|
90
|
+
|
|
91
|
+
this.getGroupData()
|
|
92
|
+
},
|
|
93
|
+
getGroupData () {
|
|
94
|
+
let data = {}
|
|
95
|
+
|
|
96
|
+
let condition = ' sellingas_id= ' + this.model.id
|
|
97
|
+
condition += " and tablename='t_sellinggasbatch'"
|
|
98
|
+
data.condition = condition
|
|
99
|
+
let http = new HttpResetClass()
|
|
100
|
+
http.load('POST', 'rs/logic/OperationRecord',
|
|
101
|
+
{data: data},
|
|
102
|
+
{resolveMsg: null, rejectMsg: null}).then((res) => {
|
|
103
|
+
this.recordlist = res.data
|
|
104
|
+
})
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
events: {
|
|
108
|
+
'change-state' (state) {
|
|
109
|
+
this.f_distribution_state = state
|
|
110
|
+
this.rowsdata1 = {}
|
|
111
|
+
},
|
|
112
|
+
'getwarehouse' (a) {
|
|
113
|
+
this.warehousename = a
|
|
114
|
+
},
|
|
115
|
+
'change-receive' (state) {
|
|
116
|
+
this.f_distribution_state = state
|
|
117
|
+
},
|
|
118
|
+
'change-state1' (state) {
|
|
119
|
+
console.log('选择分配状态', state)
|
|
120
|
+
this.rowsdata1 = {}
|
|
121
|
+
},
|
|
122
|
+
'select' (rowsdata) {
|
|
123
|
+
this.mergeRowData(rowsdata)
|
|
124
|
+
},
|
|
125
|
+
'join' (rowsdata) {
|
|
126
|
+
this.rowsdata1 = Object.assign({}, rowsdata)
|
|
127
|
+
console.log('111:', this.rowsdata1)
|
|
128
|
+
},
|
|
129
|
+
// 重新查询
|
|
130
|
+
'refresh' () {
|
|
131
|
+
},
|
|
132
|
+
'close' () {
|
|
133
|
+
this.$refs.stocklist.editList = false
|
|
134
|
+
this.showItem = false
|
|
135
|
+
this.$refs.stocklist.$refs.paged.$refs.criteria.search()
|
|
136
|
+
console.log('this.$refs', this.$refs)
|
|
137
|
+
console.log('showitem', this.showItem)
|
|
138
|
+
},
|
|
139
|
+
// 调拨组件选择调出仓库,根据选择仓库进行查询
|
|
140
|
+
'idsearch' (f_warehouse_id) {
|
|
141
|
+
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
</script>
|
|
146
|
+
|
|
147
|
+
<style lang="less">
|
|
148
|
+
|
|
149
|
+
</style>
|
package/src/sale.js
CHANGED
|
@@ -935,6 +935,17 @@ export default function (filiale) {
|
|
|
935
935
|
// 交费操作记录
|
|
936
936
|
Vue.component('warehouse-add-maintain', (resolve) => { require(['./components/revenue/comprehen/Maintenance/revenue/AddWarehousemain'], resolve) })
|
|
937
937
|
|
|
938
|
+
// ------团缴交费记录维护--------
|
|
939
|
+
Vue.component('maintenance-payment-records-group', (resolve) => { require(['./components/revenue/comprehen/Maintenance/group/maintenancegroup'], resolve) })
|
|
940
|
+
// 交费记录维护列表
|
|
941
|
+
Vue.component('charge-list-maintain-group', (resolve) => { require(['./components/revenue/comprehen/Maintenance/group/StockListmaingroup'], resolve) })
|
|
942
|
+
// 交费记录维护操作
|
|
943
|
+
Vue.component('charge-operator-maintain-group', (resolve) => { require(['./components/revenue/comprehen/Maintenance/group/WareHouseOperationmaingroup'], resolve) })
|
|
944
|
+
// 交费具体信息金额
|
|
945
|
+
Vue.component('meter-operate-maintain-group', (resolve) => { require(['./components/revenue/comprehen/Maintenance/group/MeterOperatemaingroup'], resolve) })
|
|
946
|
+
// 交费操作记录
|
|
947
|
+
Vue.component('warehouse-add-maintain-group', (resolve) => { require(['./components/revenue/comprehen/Maintenance/group/AddWarehousemaingroup'], resolve) })
|
|
948
|
+
|
|
938
949
|
// 其他记录维护
|
|
939
950
|
Vue.component('Other-record-maintenance', (resolve) => { require(['./components/revenue/comprehen/Maintenance/otherRecords/Otherrecordmaintenance.vue'], resolve) })
|
|
940
951
|
// 其他记录维护列表
|