apply-clients 4.0.66 → 4.0.68

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.
Files changed (28) hide show
  1. package/package.json +1 -1
  2. package/src/apply.js +186 -186
  3. package/src/components/product/Function/InstallInfoSelect.vue +239 -239
  4. package/src/components/product/ImageUpload.vue +575 -575
  5. package/src/components/product/ImageUpload1.vue +623 -619
  6. package/src/components/product/Process/ExplorationSelect.vue +463 -463
  7. package/src/components/product/Process/Processes/BatchItem.vue +507 -507
  8. package/src/components/product/Process/Processes/Service/ServiceControl.vue +2114 -2112
  9. package/src/components/product/Statistics/ApplyPaySearch/ApplyCheckBill.vue +420 -420
  10. package/src/components/product/Statistics/ApplyPaySearch/ApplyPaySearch.vue +363 -363
  11. package/src/components/product/Statistics/ApplyPaySearch/MaterialSummary.vue +373 -373
  12. package/src/components/product/Supervisory/Service/SupervisoryServiceControl.vue +207 -207
  13. package/src/components/product/Supervisory/SupervisoryControl.vue +157 -157
  14. package/src/components/product/Supervisory/SupervisoryList.vue +450 -450
  15. package/.gradle/5.2.1/executionHistory/executionHistory.bin +0 -0
  16. package/.gradle/5.2.1/executionHistory/executionHistory.lock +0 -0
  17. package/.gradle/5.2.1/fileChanges/last-build.bin +0 -0
  18. package/.gradle/5.2.1/fileHashes/fileHashes.bin +0 -0
  19. package/.gradle/5.2.1/fileHashes/fileHashes.lock +0 -0
  20. package/.gradle/5.2.1/gc.properties +0 -0
  21. package/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  22. package/.gradle/buildOutputCleanup/cache.properties +0 -2
  23. package/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  24. package/.gradle/vcs-1/gc.properties +0 -0
  25. package/gradle/wrapper/gradle-wrapper.jar +0 -0
  26. package/gradle/wrapper/gradle-wrapper.properties +0 -5
  27. package/gradlew +0 -172
  28. package/gradlew.bat +0 -84
@@ -1,420 +1,420 @@
1
- <template>
2
- <div style="flex:1;" class="flex">
3
- <button class="btn btn-xs" v-show="!this.criteriaShow" @click="this.show()">
4
- <span class="glyphicon glyphicon-chevron-down" style="color: #000;"></span>
5
- </button>
6
- <criteria-paged :model="model" v-ref:paged>
7
- <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri v-show="$parent.criteriaShow">
8
- <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
9
- <div class="row">
10
- <div class="col-sm-3 form-group form-input-group" style="width: 20%">
11
- <label class="control-label">报装编号</label>
12
- <input @change="$dispatch('setQueryCondition',model)" type="text" class="form-control" v-model="model.f_apply_num"
13
- condition="f_apply_num = '{}'" placeholder="报装编号"
14
- :size="model.f_apply_num ? model.f_apply_num.length : 1">
15
- </div>
16
- <div class="col-sm-3 form-group form-input-group" style="width: 20%">
17
- <label class="control-label">用户姓名</label>
18
- <input @change="$dispatch('setQueryCondition',model)" type="text" class="form-control" v-model="model.f_user_name"
19
- condition="f_user_name like '%{}%'" placeholder="用户姓名"
20
- :size="model.f_user_name ? model.f_user_name.length : 1">
21
- </div>
22
- <div class="col-sm-3 form-group form-input-group" style="width: 20%">
23
- <label class="control-label">用户电话</label>
24
- <input @change="$dispatch('setQueryCondition',model)" type="text" class="form-control" v-model="model.f_phone"
25
- condition="f_phone like '%{}%'" placeholder="用户电话"
26
- :size="model.f_phone ? model.f_phone.length : 1">
27
- </div>
28
-
29
- <div class="col-sm-3 form-group form-input-group" style="width: 20%">
30
- <label class="control-label">地址</label>
31
- <input @change="$dispatch('setQueryCondition',model)" type="text" class="form-control" v-model="model.f_address"
32
- condition="f_address like '%{}%'" placeholder='用户地址'
33
- :size="model.f_address ? model.f_address.length * 2 : 1">
34
- </div>
35
- <!--<div class="col-sm-3 form-group form-input-group" style="width: 20%">-->
36
- <!--<label class="control-label">当前环节</label>-->
37
- <!--<v-select @change="$dispatch('setQueryCondition',model)" :options="$parent.$parent.defnames" condition="defname like '%{}%'" placeholder='当前环节'-->
38
- <!--v-model="model.defname" :value.sync="model.defname" close-on-select>-->
39
- <!--</v-select>-->
40
- <!--</div>-->
41
- <div class="col-sm-2 form-group form-input-group">
42
- <label for="startDate" class="control-label">开始日期</label>
43
- <datepicker @change="$dispatch('setQueryCondition',model)" id="startDate" placeholder="开始日期"
44
- width='100%'
45
- v-model="model.startDate"
46
- :value.sync="model.startDate"
47
- :format="'yyyy-MM-dd HH:mm:ss'"
48
- :show-reset-button="true"
49
- condition="f_time >= '{}'">
50
- </datepicker>
51
- </div>
52
- <div class="col-sm-2 form-group form-input-group">
53
- <label for="endDate" class="control-label">结束日期</label>
54
- <datepicker @change="$dispatch('setQueryCondition',model)" id="endDate" placeholder="结束日期" width='100%'
55
- v-model="model.endDate"
56
- :value.sync="model.endDate"
57
- :format="'yyyy-MM-dd HH:mm:ss'"
58
- :show-reset-button="true"
59
- condition="f_time <= '{}'">
60
- </datepicker>
61
- </div>
62
- <div class="col-sm-3 form-group form-input-group" style="width: 20%">
63
- <label class="control-label">报装收费项</label>
64
- <v-select @change="$dispatch('setQueryCondition',model)" :value.sync="model.f_name" v-model="model.f_name"
65
- :options='$parent.$parent.commonparam' placeholder='请选择'
66
- condition="f_name = '{}'"
67
- close-on-select></v-select>
68
- </div>
69
- <div class="col-sm-3 form-group form-input-group" style="width: 20%">
70
- <label class="control-label">收费人</label>
71
- <v-select @change="$dispatch('setQueryCondition',model)" :value.sync="model.f_person" v-model="model.f_person"
72
- :options='$parent.$parent.gasproperties' placeholder='请选择'
73
- condition="f_person = '{}'"
74
- close-on-select></v-select>
75
- </div>
76
- </div>
77
- <div class="row">
78
- <div class="span" style = "float:right;margin-top:10px">
79
- <button class="btn btn-success" style="border-radius: 2px;margin-right: 10px" @click="search()">查询</button>
80
- <button class="btn btn-success" style="border-radius: 2px;margin-right: 10px" @click="$parent.$parent.clear()">清空</button>
81
- <!--<button class="btn btn-default" style="border-radius: 2px;margin-right: 10px"-->
82
- <!--type="button" @click="$parent.$parent.stamp()">打印</button>-->
83
-
84
- <export-excel :data="$parent.$parent.getCondition"
85
- :field="$parent.$parent.getfield"
86
- sqlurl="rs/logic/exportfile" sql-name="ApplyPaySearch" template-name='报装营业收费详情查询导出' :choose-col="true"></export-excel>
87
-
88
- <button class="btn" @click="$parent.$parent.hidden()" style="margin-left: 10px">
89
- <span class="glyphicon glyphicon-chevron-up"></span>
90
- </button>
91
- </div>
92
- </div>
93
- </div>
94
- </criteria>
95
-
96
- <data-grid :model="model" partial='list' v-ref:grid :classname="$parent.classname" @dblclick="$parent.dblclick">
97
- <template partial='head'>
98
- <tr>
99
- <th v-for="item in $parent.$parent.$parent.headData"><nobr>{{item}}</nobr></th>
100
- </tr>
101
- </template>
102
- <template partial='body'>
103
- <td v-for="item in $parent.$parent.$parent.bodyData"><nobr>{{row[item]}}</nobr></td>
104
- </template>
105
- <template partial='foot'></template>
106
- </data-grid>
107
-
108
- </criteria-paged>
109
-
110
- <table class="table-hover">
111
- <tr style="position: relative" class="table-bordered">
112
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">汇总信息</td>
113
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px">合计:&emsp;{{sumsmodel.f_fee}}</td>
114
- <!--<td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px">工料费合计:&emsp;{{sumsmodel.f_glf}}</td>-->
115
- <!--<td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px">超长费(延伸服务费)合计:&emsp;{{sumsmodel.f_ysfwf}}</td>-->
116
- <!--<td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px">其他费用(收取材料费)合计:&emsp;{{sumsmodel.f_other_charge2}}</td>-->
117
- <!--<td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px">点火材料费(不锈钢波纹管费)合计:&emsp;{{sumsmodel.f_dhbxgbwg}}</td>-->
118
- <!--<td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px">其他费用(点火)合计:&emsp;{{sumsmodel.f_dhqtfy}}</td>-->
119
- <!--f_cost: 0,f_glf: 0,f_ysfwf: 0,f_other_charge: 0,f_dhclf: 0,f_dhqtfy: 0-->
120
- </tr>
121
- </table>
122
- <!-- <colligate-details :showinfo="showinfo" :businesstype="businesstype" :data="data" @close-info="showinfo=false"></colligate-details>-->
123
- <modal :show.sync="printshow" v-ref:modal backdrop="false">
124
- <header slot="modal-header" class="modal-header text-center">
125
- <h4 class="modal-title">打印列选择</h4>
126
- <input type="checkbox" class="" id="f_generations" v-model="all">
127
- <label for="f_generations" class="font-size">全选</label>
128
- </header>
129
- <article slot="modal-body">
130
- <div class="auto col-sm-11 col-md-offset-1" style="margin-top: 10px;">
131
- <div class="col-sm-3" v-for="f in fields">
132
- <input type="checkbox" class="" :id="'water-owe-details-'+$index" v-model="modelval" :value="$key">
133
- <label :for="'water-owe-details-'+$index" class="font-size">{{f}}</label>
134
- </div>
135
- </div>
136
- </article>
137
- <footer slot="modal-footer" class="modal-footer">
138
- <center>
139
- <button v-show="printshow" type="button" class="btn btn-default" @click='close()'>取消</button>
140
- <button v-show="printshow" type="button" class="btn btn-success" @click='print()'>打印</button>
141
- <print-table :model='model' v-show="false" v-ref:print
142
- :top='40' :left='60' :right='40' :bottom='60'
143
- :thead="thead" :tfoot='tfoot' :attach="yangsen"
144
- :fields="modelval" :printpage="true">
145
- </print-table>
146
- </center>
147
- </footer>
148
- </modal>
149
- </div>
150
- </template>
151
-
152
- <script>
153
- import { PagedList } from 'vue-client'
154
- import {HttpResetClass} from 'vue-client'
155
- // import defaultPrint from './config/DefaultPrint'
156
- import Vue from 'vue'
157
- // Date格式化
158
- Date.prototype.Format = function (fmt) {
159
- var o = {
160
- "M+": this.getMonth() + 1, //月份
161
- "d+": this.getDate(), //日
162
- "H+": this.getHours(), //小时
163
- "m+": this.getMinutes(), //分
164
- "s+": this.getSeconds(), //秒
165
- "q+": Math.floor((this.getMonth() + 3) / 3), //季度
166
- "S": this.getMilliseconds() //毫秒
167
- };
168
- if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
169
- for (var k in o)
170
- if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
171
- return fmt;
172
- }
173
-
174
- let readySomething = async function (self) {
175
- // self.$refs.paged.$refs.cri.model.startDate = self.$login.toStandardDateString() + ' 00:00:00'
176
- // self.$refs.paged.$refs.cri.model.endDate = self.$login.toStandardDateString() + ' 23:59:59'
177
- // self.$refs.paged.$refs.cri.model.f_charge_state = ['有效']
178
- await self.$MagLoadParams.loadParam(self.$login.f)
179
- console.log("参数拿到了YYYYYYYYYYYYYY")
180
- self.initGasBrand()
181
- await self.$refs.paged.$refs.cri.search()
182
- self.sumsmodel = self.$refs.paged.$refs.grid.model.sums
183
- }
184
- export default {
185
- data() {
186
- return {
187
- showinfo: false,
188
- meterbrands: [],
189
- businesstype: '报装收费查询',
190
- data: {},
191
- model: new PagedList('rs/sql/ApplyCheckBill', 20,{},{f_fee: 0}),
192
- criteriaShow: true,
193
- classname: 'table table-bordered table table-hover',
194
- headData: ["用户姓名","用户电话","地址","报装收费项","收费金额","收费时间","收费人"],
195
- bodyData: ["f_user_name","f_phone","f_address","f_name","f_fee","f_time","f_person"],
196
-
197
- filialeNameStr: null,
198
- filialeCodeStr: this.$login.f.f_orgids,
199
- userid: this.$login.f.id,
200
- source:`tool.getFullTree(this.getRights().where(row.getType() != $zone$).where(row.getType() != $role$))`,
201
- defnames:[],
202
- modelval: [],
203
- printshow: false,
204
- all: false,
205
- fields: {},
206
- thead: '',
207
- tfoot: '',
208
- //合计数据
209
- sumsmodel: {}
210
- }
211
- },
212
- async ready(){
213
- let http = new HttpResetClass()
214
- let data = {
215
- columnname: 'defname',
216
- tablename: 'activityins',
217
- condition: `1=1`
218
- }
219
- http.load('POST', 'rs/sql/getdistinct', {data: data}, {
220
- resolveMsg: null,
221
- rejectMsg: null
222
- }).then((res)=>{
223
- // 先获取所有流程环节
224
- this.defnames = []
225
- for(let i=0;i<res.data.length;i++){
226
- this.defnames.push({label:res.data[i].defname,value:res.data[i].defname})
227
- }
228
- })
229
-
230
-
231
-
232
- // this.model = Object.assign(this.model,this.$parent.queryCondition)
233
- readySomething(this).then(() => {
234
- this.$emit('ready')
235
- }).catch((error) => {
236
- this.$emit('error', error)
237
- })
238
- this.$refs.paged.$refs.cri.model.startDate = new Date().Format('yyyy-MM-dd 00:00:00')
239
- this.$refs.paged.$refs.cri.model.endDate = new Date().Format('yyyy-MM-dd 23:59:59')
240
- this.$refs.paged.$refs.cri.model = Object.assign(this.$refs.paged.$refs.cri.model,this.$parent.$parent.$parent.queryCondition)
241
- this.$refs.paged.$refs.cri.search()
242
- },
243
- methods: {
244
- initGasBrand () {
245
- let arr = []
246
- console.log("this.$MagGetSaleParam.getGasbrand()===",this.$MagGetSaleParam.getGasbrand())
247
- this.$MagGetSaleParam.getGasbrand().forEach((item) => {
248
- let temp = {}
249
- temp.label = item.label
250
- temp.value = item.value.f_meter_brand
251
- arr.push(temp)
252
- })
253
- this.meterbrands = [{label: '全部', value: ''}, ...arr]
254
- console.log("his.meterbrands===",this.meterbrands)
255
- },
256
- dblclick(obj) {
257
- this.data = obj
258
- this.showinfo = true
259
- },
260
- async selfSearch (args) {
261
- let f_orgstr = this.filialeCodeStr
262
- console.log('xxxx',f_orgstr)
263
- args.condition = `${args.condition}`
264
- console.log('我的阐述',JSON.stringify(args.condition))
265
- await this.model.search(args.condition, args.model)
266
-
267
- this.sumsmodel = this.$refs.paged.$refs.grid.model.sums
268
- console.log('合计字段',this.sumsmodel)
269
- },
270
- clear(){
271
- Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
272
- this.$refs.paged.$refs.cri.model[key] = []
273
- this.$parent.$parent.$parent.queryCondition[key] = []
274
- })
275
- },
276
- show(){
277
- this.criteriaShow = true
278
- },
279
- hidden(){
280
- this.criteriaShow = false
281
- },
282
- getRes(obj) {
283
- this.filialeNameStr = obj.res
284
- this.filialeCodeStr = obj.resids
285
- },
286
- stamp () {
287
- this.all = false
288
- //默认选择要打印的列
289
- this.modelval = this.bodyData
290
- this.fields = this.getfield
291
- console.log('所有打印字段',this.fields)
292
- this.printshow = true
293
- this.put()
294
- },
295
- put () {
296
- // 对Modelval进行排序
297
- this.sortModelval()
298
- this.thead = `<tr><th colspan=${this.modelval.length}>报装收费统计报表</th></tr><tr>`
299
- for (let key of this.modelval) {
300
- this.thead += '<th>' + this.fields[key] + '</th>'
301
- }
302
- this.thead += '</tr>'
303
- },
304
- print () {
305
- this.$refs.print.PrintAsFile()
306
- this.printshow = false
307
- },
308
- close () {
309
- this.printshow = false
310
- this.all = false
311
- },
312
- // 对选择的列进行排序
313
- sortModelval () {
314
- let sortModel = []
315
- Object.keys(this.fields).forEach((key) => {
316
- if (this.modelval.includes(key)) {
317
- sortModel.push(key)
318
- }
319
- })
320
- this.modelval = sortModel
321
- console.log('选择的打印的字段', this.modelval)
322
- }
323
- },
324
- watch:{
325
- 'all' (val) {
326
- if (val) {
327
- this.modelval = this.bodyData
328
- } else {
329
- this.modelval = this.bodyData
330
- this.put()
331
- }
332
- },
333
- 'modelval.length' () {
334
- this.put()
335
- },
336
- },
337
- computed:{
338
- getCondition(){
339
- this.$refs.paged.$refs.cri.condition = this.$refs.paged.$refs.cri.condition?this.$refs.paged.$refs.cri.condition:'1=1'
340
- return {condition: `${this.$refs.paged.$refs.cri.condition}`}
341
- },
342
- getfield(){
343
- let data = {}
344
- this.bodyData.forEach((value, index)=>{
345
- data[this.bodyData[index]] = this.headData[index]
346
- })
347
-
348
- //合计字段打印
349
- this.tfoot = `<tr><th colspan=${this.modelval.length}>全表汇总信息: `
350
- if(this.sumsmodel){
351
- Object.keys(this.sumsmodel).forEach((key) => {
352
- this.tfoot += this.fields[key] + '合计: ' + `<font color="blue">${this.sumsmodel[key]} </font>`
353
- })
354
- }else{
355
- this.tfoot += '暂无'
356
- }
357
- this.tfoot += '</th></tr>'
358
-
359
- return data
360
- },
361
- usertypes () {
362
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
363
- },
364
- gasproperties () {
365
- let rs = []
366
- if(this.$appdata.getParam('收费人')){
367
- rs = this.$appdata.getParam('收费人')
368
- }
369
- return [{label: '全部', value: ''}, ...rs]
370
- },
371
- commonparam () {
372
- let rs = []
373
- if(this.$appdata.getParam('报装收费项')){
374
- rs = this.$appdata.getParam('报装收费项')
375
- }
376
- return [{label: '全部', value: ''}, ...rs]
377
- },
378
- pricenames () {
379
- let arr = []
380
- this.$GetSaleParam.getOnlyPrice().forEach((item) => {
381
- console.log('看看气价的分公司..', item.value, this.$login.f.f_filiale)
382
- if (item.value) {
383
- if (this.$login.f.f_fengongsi === item.value.f_filiale) {
384
- let temp = {}
385
- temp.label = item.label
386
- temp.value = item.value.f_price_name
387
- arr.push(temp)
388
- }
389
- }
390
- })
391
- return [{label: '全部', value: ''}, ...arr]
392
- },
393
- metertypes () {
394
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('气表类型')]
395
- },
396
- // meterbrands () {
397
- // let arr = []
398
- // this.$GetSaleParam.getGasbrand().forEach((item) => {
399
- // let temp = {}
400
- // temp.label = item.label
401
- // temp.value = item.value.f_meter_brand
402
- // arr.push(temp)
403
- // })
404
- // return [{label: '全部', value: ''}, ...arr]
405
- // },
406
- tablestate () {
407
- return [{label: '全部', value: ''}, {label: '正常', value: '正常'}, {label: '停用', value: '停用'}]
408
- },
409
- chargetype () {
410
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('收费类型')]
411
- },
412
- payments () {
413
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('付款方式查询专用')]
414
- },
415
- charge_state(){
416
- return [{label: '全部', value: ''},...this.$appdata.getParam('收费状态')]
417
- }
418
- }
419
- }
420
- </script>
1
+ <template>
2
+ <div style="flex:1;" class="flex">
3
+ <button class="btn btn-xs" v-show="!this.criteriaShow" @click="this.show()">
4
+ <span class="glyphicon glyphicon-chevron-down" style="color: #000;"></span>
5
+ </button>
6
+ <criteria-paged :model="model" v-ref:paged>
7
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri v-show="$parent.criteriaShow">
8
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
9
+ <div class="row">
10
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%">
11
+ <label class="control-label">报装编号</label>
12
+ <input @change="$dispatch('setQueryCondition',model)" type="text" class="form-control" v-model="model.f_apply_num"
13
+ condition="f_apply_num = '{}'" placeholder="报装编号"
14
+ :size="model.f_apply_num ? model.f_apply_num.length : 1">
15
+ </div>
16
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%">
17
+ <label class="control-label">用户姓名</label>
18
+ <input @change="$dispatch('setQueryCondition',model)" type="text" class="form-control" v-model="model.f_user_name"
19
+ condition="f_user_name like '%{}%'" placeholder="用户姓名"
20
+ :size="model.f_user_name ? model.f_user_name.length : 1">
21
+ </div>
22
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%">
23
+ <label class="control-label">用户电话</label>
24
+ <input @change="$dispatch('setQueryCondition',model)" type="text" class="form-control" v-model="model.f_phone"
25
+ condition="f_phone like '%{}%'" placeholder="用户电话"
26
+ :size="model.f_phone ? model.f_phone.length : 1">
27
+ </div>
28
+
29
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%">
30
+ <label class="control-label">地址</label>
31
+ <input @change="$dispatch('setQueryCondition',model)" type="text" class="form-control" v-model="model.f_address"
32
+ condition="f_address like '%{}%'" placeholder='用户地址'
33
+ :size="model.f_address ? model.f_address.length * 2 : 1">
34
+ </div>
35
+ <!--<div class="col-sm-3 form-group form-input-group" style="width: 20%">-->
36
+ <!--<label class="control-label">当前环节</label>-->
37
+ <!--<v-select @change="$dispatch('setQueryCondition',model)" :options="$parent.$parent.defnames" condition="defname like '%{}%'" placeholder='当前环节'-->
38
+ <!--v-model="model.defname" :value.sync="model.defname" close-on-select>-->
39
+ <!--</v-select>-->
40
+ <!--</div>-->
41
+ <div class="col-sm-2 form-group form-input-group">
42
+ <label for="startDate" class="control-label">开始日期</label>
43
+ <datepicker @change="$dispatch('setQueryCondition',model)" id="startDate" placeholder="开始日期"
44
+ width='100%'
45
+ v-model="model.startDate"
46
+ :value.sync="model.startDate"
47
+ :format="'yyyy-MM-dd HH:mm:ss'"
48
+ :show-reset-button="true"
49
+ condition="f_time >= '{}'">
50
+ </datepicker>
51
+ </div>
52
+ <div class="col-sm-2 form-group form-input-group">
53
+ <label for="endDate" class="control-label">结束日期</label>
54
+ <datepicker @change="$dispatch('setQueryCondition',model)" id="endDate" placeholder="结束日期" width='100%'
55
+ v-model="model.endDate"
56
+ :value.sync="model.endDate"
57
+ :format="'yyyy-MM-dd HH:mm:ss'"
58
+ :show-reset-button="true"
59
+ condition="f_time <= '{}'">
60
+ </datepicker>
61
+ </div>
62
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%">
63
+ <label class="control-label">报装收费项</label>
64
+ <v-select @change="$dispatch('setQueryCondition',model)" :value.sync="model.f_name" v-model="model.f_name"
65
+ :options='$parent.$parent.commonparam' placeholder='请选择'
66
+ condition="f_name = '{}'"
67
+ close-on-select></v-select>
68
+ </div>
69
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%">
70
+ <label class="control-label">收费人</label>
71
+ <v-select @change="$dispatch('setQueryCondition',model)" :value.sync="model.f_person" v-model="model.f_person"
72
+ :options='$parent.$parent.gasproperties' placeholder='请选择'
73
+ condition="f_person = '{}'"
74
+ close-on-select></v-select>
75
+ </div>
76
+ </div>
77
+ <div class="row">
78
+ <div class="span" style = "float:right;margin-top:10px">
79
+ <button class="btn btn-success" style="border-radius: 2px;margin-right: 10px" @click="search()">查询</button>
80
+ <button class="btn btn-success" style="border-radius: 2px;margin-right: 10px" @click="$parent.$parent.clear()">清空</button>
81
+ <!--<button class="btn btn-default" style="border-radius: 2px;margin-right: 10px"-->
82
+ <!--type="button" @click="$parent.$parent.stamp()">打印</button>-->
83
+
84
+ <export-excel :data="$parent.$parent.getCondition"
85
+ :field="$parent.$parent.getfield"
86
+ sqlurl="rs/logic/exportfile" sql-name="ApplyPaySearch" template-name='报装营业收费详情查询导出' :choose-col="true"></export-excel>
87
+
88
+ <button class="btn" @click="$parent.$parent.hidden()" style="margin-left: 10px">
89
+ <span class="glyphicon glyphicon-chevron-up"></span>
90
+ </button>
91
+ </div>
92
+ </div>
93
+ </div>
94
+ </criteria>
95
+
96
+ <data-grid :model="model" partial='list' v-ref:grid :classname="$parent.classname" @dblclick="$parent.dblclick">
97
+ <template partial='head'>
98
+ <tr>
99
+ <th v-for="item in $parent.$parent.$parent.headData"><nobr>{{item}}</nobr></th>
100
+ </tr>
101
+ </template>
102
+ <template partial='body'>
103
+ <td v-for="item in $parent.$parent.$parent.bodyData"><nobr>{{row[item]}}</nobr></td>
104
+ </template>
105
+ <template partial='foot'></template>
106
+ </data-grid>
107
+
108
+ </criteria-paged>
109
+
110
+ <table class="table-hover">
111
+ <tr style="position: relative" class="table-bordered">
112
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">汇总信息</td>
113
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px">合计:&emsp;{{sumsmodel.f_fee}}</td>
114
+ <!--<td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px">工料费合计:&emsp;{{sumsmodel.f_glf}}</td>-->
115
+ <!--<td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px">超长费(延伸服务费)合计:&emsp;{{sumsmodel.f_ysfwf}}</td>-->
116
+ <!--<td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px">其他费用(收取材料费)合计:&emsp;{{sumsmodel.f_other_charge2}}</td>-->
117
+ <!--<td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px">点火材料费(不锈钢波纹管费)合计:&emsp;{{sumsmodel.f_dhbxgbwg}}</td>-->
118
+ <!--<td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px">其他费用(点火)合计:&emsp;{{sumsmodel.f_dhqtfy}}</td>-->
119
+ <!--f_cost: 0,f_glf: 0,f_ysfwf: 0,f_other_charge: 0,f_dhclf: 0,f_dhqtfy: 0-->
120
+ </tr>
121
+ </table>
122
+ <!-- <colligate-details :showinfo="showinfo" :businesstype="businesstype" :data="data" @close-info="showinfo=false"></colligate-details>-->
123
+ <modal :show.sync="printshow" v-ref:modal backdrop="false">
124
+ <header slot="modal-header" class="modal-header text-center">
125
+ <h4 class="modal-title">打印列选择</h4>
126
+ <input type="checkbox" class="" id="f_generations" v-model="all">
127
+ <label for="f_generations" class="font-size">全选</label>
128
+ </header>
129
+ <article slot="modal-body">
130
+ <div class="auto col-sm-11 col-md-offset-1" style="margin-top: 10px;">
131
+ <div class="col-sm-3" v-for="f in fields">
132
+ <input type="checkbox" class="" :id="'water-owe-details-'+$index" v-model="modelval" :value="$key">
133
+ <label :for="'water-owe-details-'+$index" class="font-size">{{f}}</label>
134
+ </div>
135
+ </div>
136
+ </article>
137
+ <footer slot="modal-footer" class="modal-footer">
138
+ <center>
139
+ <button v-show="printshow" type="button" class="btn btn-default" @click='close()'>取消</button>
140
+ <button v-show="printshow" type="button" class="btn btn-success" @click='print()'>打印</button>
141
+ <print-table :model='model' v-show="false" v-ref:print
142
+ :top='40' :left='60' :right='40' :bottom='60'
143
+ :thead="thead" :tfoot='tfoot' :attach="yangsen"
144
+ :fields="modelval" :printpage="true">
145
+ </print-table>
146
+ </center>
147
+ </footer>
148
+ </modal>
149
+ </div>
150
+ </template>
151
+
152
+ <script>
153
+ import { PagedList } from 'vue-client'
154
+ import {HttpResetClass} from 'vue-client'
155
+ // import defaultPrint from './config/DefaultPrint'
156
+ import Vue from 'vue'
157
+ // Date格式化
158
+ Date.prototype.Format = function (fmt) {
159
+ var o = {
160
+ "M+": this.getMonth() + 1, //月份
161
+ "d+": this.getDate(), //日
162
+ "H+": this.getHours(), //小时
163
+ "m+": this.getMinutes(), //分
164
+ "s+": this.getSeconds(), //秒
165
+ "q+": Math.floor((this.getMonth() + 3) / 3), //季度
166
+ "S": this.getMilliseconds() //毫秒
167
+ };
168
+ if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
169
+ for (var k in o)
170
+ if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
171
+ return fmt;
172
+ }
173
+
174
+ let readySomething = async function (self) {
175
+ // self.$refs.paged.$refs.cri.model.startDate = self.$login.toStandardDateString() + ' 00:00:00'
176
+ // self.$refs.paged.$refs.cri.model.endDate = self.$login.toStandardDateString() + ' 23:59:59'
177
+ // self.$refs.paged.$refs.cri.model.f_charge_state = ['有效']
178
+ await self.$MagLoadParams.loadParam(self.$login.f)
179
+ console.log("参数拿到了YYYYYYYYYYYYYY")
180
+ self.initGasBrand()
181
+ await self.$refs.paged.$refs.cri.search()
182
+ self.sumsmodel = self.$refs.paged.$refs.grid.model.sums
183
+ }
184
+ export default {
185
+ data() {
186
+ return {
187
+ showinfo: false,
188
+ meterbrands: [],
189
+ businesstype: '报装收费查询',
190
+ data: {},
191
+ model: new PagedList('rs/sql/ApplyCheckBill', 20,{},{f_fee: 0}),
192
+ criteriaShow: true,
193
+ classname: 'table table-bordered table table-hover',
194
+ headData: ["用户姓名","用户电话","地址","报装收费项","收费金额","收费时间","收费人"],
195
+ bodyData: ["f_user_name","f_phone","f_address","f_name","f_fee","f_time","f_person"],
196
+
197
+ filialeNameStr: null,
198
+ filialeCodeStr: this.$login.f.f_orgids,
199
+ userid: this.$login.f.id,
200
+ source:`tool.getFullTree(this.getRights().where(row.getType() != $zone$).where(row.getType() != $role$))`,
201
+ defnames:[],
202
+ modelval: [],
203
+ printshow: false,
204
+ all: false,
205
+ fields: {},
206
+ thead: '',
207
+ tfoot: '',
208
+ //合计数据
209
+ sumsmodel: {}
210
+ }
211
+ },
212
+ async ready(){
213
+ let http = new HttpResetClass()
214
+ let data = {
215
+ columnname: 'defname',
216
+ tablename: 'activityins',
217
+ condition: `1=1`
218
+ }
219
+ http.load('POST', 'rs/sql/getdistinct', {data: data}, {
220
+ resolveMsg: null,
221
+ rejectMsg: null
222
+ }).then((res)=>{
223
+ // 先获取所有流程环节
224
+ this.defnames = []
225
+ for(let i=0;i<res.data.length;i++){
226
+ this.defnames.push({label:res.data[i].defname,value:res.data[i].defname})
227
+ }
228
+ })
229
+
230
+
231
+
232
+ // this.model = Object.assign(this.model,this.$parent.queryCondition)
233
+ readySomething(this).then(() => {
234
+ this.$emit('ready')
235
+ }).catch((error) => {
236
+ this.$emit('error', error)
237
+ })
238
+ this.$refs.paged.$refs.cri.model.startDate = new Date().Format('yyyy-MM-dd 00:00:00')
239
+ this.$refs.paged.$refs.cri.model.endDate = new Date().Format('yyyy-MM-dd 23:59:59')
240
+ this.$refs.paged.$refs.cri.model = Object.assign(this.$refs.paged.$refs.cri.model,this.$parent.$parent.$parent.queryCondition)
241
+ this.$refs.paged.$refs.cri.search()
242
+ },
243
+ methods: {
244
+ initGasBrand () {
245
+ let arr = []
246
+ console.log("this.$MagGetSaleParam.getGasbrand()===",this.$MagGetSaleParam.getGasbrand())
247
+ this.$MagGetSaleParam.getGasbrand().forEach((item) => {
248
+ let temp = {}
249
+ temp.label = item.label
250
+ temp.value = item.value.f_meter_brand
251
+ arr.push(temp)
252
+ })
253
+ this.meterbrands = [{label: '全部', value: ''}, ...arr]
254
+ console.log("his.meterbrands===",this.meterbrands)
255
+ },
256
+ dblclick(obj) {
257
+ this.data = obj
258
+ this.showinfo = true
259
+ },
260
+ async selfSearch (args) {
261
+ let f_orgstr = this.filialeCodeStr
262
+ console.log('xxxx',f_orgstr)
263
+ args.condition = `${args.condition}`
264
+ console.log('我的阐述',JSON.stringify(args.condition))
265
+ await this.model.search(args.condition, args.model)
266
+
267
+ this.sumsmodel = this.$refs.paged.$refs.grid.model.sums
268
+ console.log('合计字段',this.sumsmodel)
269
+ },
270
+ clear(){
271
+ Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
272
+ this.$refs.paged.$refs.cri.model[key] = []
273
+ this.$parent.$parent.$parent.queryCondition[key] = []
274
+ })
275
+ },
276
+ show(){
277
+ this.criteriaShow = true
278
+ },
279
+ hidden(){
280
+ this.criteriaShow = false
281
+ },
282
+ getRes(obj) {
283
+ this.filialeNameStr = obj.res
284
+ this.filialeCodeStr = obj.resids
285
+ },
286
+ stamp () {
287
+ this.all = false
288
+ //默认选择要打印的列
289
+ this.modelval = this.bodyData
290
+ this.fields = this.getfield
291
+ console.log('所有打印字段',this.fields)
292
+ this.printshow = true
293
+ this.put()
294
+ },
295
+ put () {
296
+ // 对Modelval进行排序
297
+ this.sortModelval()
298
+ this.thead = `<tr><th colspan=${this.modelval.length}>报装收费统计报表</th></tr><tr>`
299
+ for (let key of this.modelval) {
300
+ this.thead += '<th>' + this.fields[key] + '</th>'
301
+ }
302
+ this.thead += '</tr>'
303
+ },
304
+ print () {
305
+ this.$refs.print.PrintAsFile()
306
+ this.printshow = false
307
+ },
308
+ close () {
309
+ this.printshow = false
310
+ this.all = false
311
+ },
312
+ // 对选择的列进行排序
313
+ sortModelval () {
314
+ let sortModel = []
315
+ Object.keys(this.fields).forEach((key) => {
316
+ if (this.modelval.includes(key)) {
317
+ sortModel.push(key)
318
+ }
319
+ })
320
+ this.modelval = sortModel
321
+ console.log('选择的打印的字段', this.modelval)
322
+ }
323
+ },
324
+ watch:{
325
+ 'all' (val) {
326
+ if (val) {
327
+ this.modelval = this.bodyData
328
+ } else {
329
+ this.modelval = this.bodyData
330
+ this.put()
331
+ }
332
+ },
333
+ 'modelval.length' () {
334
+ this.put()
335
+ },
336
+ },
337
+ computed:{
338
+ getCondition(){
339
+ this.$refs.paged.$refs.cri.condition = this.$refs.paged.$refs.cri.condition?this.$refs.paged.$refs.cri.condition:'1=1'
340
+ return {condition: `${this.$refs.paged.$refs.cri.condition}`}
341
+ },
342
+ getfield(){
343
+ let data = {}
344
+ this.bodyData.forEach((value, index)=>{
345
+ data[this.bodyData[index]] = this.headData[index]
346
+ })
347
+
348
+ //合计字段打印
349
+ this.tfoot = `<tr><th colspan=${this.modelval.length}>全表汇总信息: `
350
+ if(this.sumsmodel){
351
+ Object.keys(this.sumsmodel).forEach((key) => {
352
+ this.tfoot += this.fields[key] + '合计: ' + `<font color="blue">${this.sumsmodel[key]} </font>`
353
+ })
354
+ }else{
355
+ this.tfoot += '暂无'
356
+ }
357
+ this.tfoot += '</th></tr>'
358
+
359
+ return data
360
+ },
361
+ usertypes () {
362
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
363
+ },
364
+ gasproperties () {
365
+ let rs = []
366
+ if(this.$appdata.getParam('收费人')){
367
+ rs = this.$appdata.getParam('收费人')
368
+ }
369
+ return [{label: '全部', value: ''}, ...rs]
370
+ },
371
+ commonparam () {
372
+ let rs = []
373
+ if(this.$appdata.getParam('报装收费项')){
374
+ rs = this.$appdata.getParam('报装收费项')
375
+ }
376
+ return [{label: '全部', value: ''}, ...rs]
377
+ },
378
+ pricenames () {
379
+ let arr = []
380
+ this.$GetSaleParam.getOnlyPrice().forEach((item) => {
381
+ console.log('看看气价的分公司..', item.value, this.$login.f.f_filiale)
382
+ if (item.value) {
383
+ if (this.$login.f.f_fengongsi === item.value.f_filiale) {
384
+ let temp = {}
385
+ temp.label = item.label
386
+ temp.value = item.value.f_price_name
387
+ arr.push(temp)
388
+ }
389
+ }
390
+ })
391
+ return [{label: '全部', value: ''}, ...arr]
392
+ },
393
+ metertypes () {
394
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('气表类型')]
395
+ },
396
+ // meterbrands () {
397
+ // let arr = []
398
+ // this.$GetSaleParam.getGasbrand().forEach((item) => {
399
+ // let temp = {}
400
+ // temp.label = item.label
401
+ // temp.value = item.value.f_meter_brand
402
+ // arr.push(temp)
403
+ // })
404
+ // return [{label: '全部', value: ''}, ...arr]
405
+ // },
406
+ tablestate () {
407
+ return [{label: '全部', value: ''}, {label: '正常', value: '正常'}, {label: '停用', value: '停用'}]
408
+ },
409
+ chargetype () {
410
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('收费类型')]
411
+ },
412
+ payments () {
413
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('付款方式查询专用')]
414
+ },
415
+ charge_state(){
416
+ return [{label: '全部', value: ''},...this.$appdata.getParam('收费状态')]
417
+ }
418
+ }
419
+ }
420
+ </script>