manage-client 3.2.51 → 3.2.56

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 (34) hide show
  1. package/.gradle/7.1/dependencies-accessors/dependencies-accessors.lock +0 -0
  2. package/.gradle/7.1/dependencies-accessors/gc.properties +0 -0
  3. package/.gradle/7.1/executionHistory/executionHistory.bin +0 -0
  4. package/.gradle/7.1/executionHistory/executionHistory.lock +0 -0
  5. package/.gradle/7.1/fileChanges/last-build.bin +0 -0
  6. package/.gradle/7.1/fileHashes/fileHashes.bin +0 -0
  7. package/.gradle/7.1/fileHashes/fileHashes.lock +0 -0
  8. package/.gradle/7.1/gc.properties +0 -0
  9. package/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  10. package/build/dev-server.js +6 -5
  11. package/package.json +1 -1
  12. package/src/components/SellReport/PriceReportWH.vue +180 -0
  13. package/src/components/sale/businessquery/BusinessManage.vue +171 -171
  14. package/src/components/sale/businessquery/ChangeMeterQuery.vue +645 -645
  15. package/src/components/sale/businessquery/ChargeQuery.vue +13 -12
  16. package/src/components/sale/businessquery/FillCardQuery.vue +497 -497
  17. package/src/components/sale/businessquery/gasPriceQuery.vue +36 -68
  18. package/src/components/sale/config/exportConfig.js +1 -1
  19. package/src/components/webmeter/instruction/NewQueryInstruct.vue +4 -7
  20. package/src/filiale/liaoyuan/RecordInfoQuery.vue +4 -2
  21. package/src/filiale/rongchuang/ChargeQuery.vue +15 -54
  22. package/src/filiale/rongchuang/PrintData.vue +239 -0
  23. package/src/filiale/rongchuang/PrintTable.vue +241 -0
  24. package/src/filiale/rongchuang/exportConfig.js +5 -1
  25. package/src/filiale/rongchuang/sale.js +3 -1
  26. package/src/filiale/shaoguan/HandplanQuery.vue +1314 -1314
  27. package/src/filiale/shaoguan/config/exportConfig.js +11 -0
  28. package/src/filiale/shaoguan/errorHandplanQuery.vue +33 -14
  29. package/src/filiale/wuhai/BusinessManage.vue +171 -0
  30. package/src/filiale/wuhai/common/TabButton.vue +155 -0
  31. package/src/filiale/wuhai/common/Tabs.vue +67 -0
  32. package/src/filiale/wuhai/sale.js +12 -10
  33. package/src/main.js +66 -66
  34. package/src/reportManage.js +4 -0
@@ -6,23 +6,7 @@
6
6
  <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
7
7
  <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
8
8
  <div class="row">
9
- <div class="col-sm-2 form-group">
10
- <label class="font_normal_body">用户编号</label>
11
- <input type="text" style="width:60%" class="input_search" v-model="model.f_userinfo_code"
12
- condition="f_userinfo_code = '{}' " placeholder="用户编号">
13
- </div>
14
- <div class="col-sm-2 form-group">
15
- <label class="font_normal_body">用户名称</label>
16
- <input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
17
- condition=" f_user_name like '%{}%'" placeholder='用户名称'>
18
- </div>
19
- <div class="col-sm-2 form-group">
20
- <label class="font_normal_body">气价状态</label>
21
- <v-select :value.sync="model.price_state" v-model='model.price_state'
22
- :options='$parent.$parent.pricestate' placeholder='气价状态'
23
- close-on-select style="width:60%" :value-single="true"
24
- v-el:cc></v-select>
25
- </div>
9
+ <res-select-group :show-component="$parent.$parent.resshow" :selectin="true" :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>
26
10
  <div class="span" style="float:right;">
27
11
  <button class="button_search button_spacing" @click="search()">查询</button>
28
12
  <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
@@ -38,11 +22,21 @@
38
22
  </div>
39
23
  </div>
40
24
  <div class="row" v-show="$parent.$parent.criteriaShow">
41
- <res-select-group :show-component="$parent.$parent.resshow" :selectin="true" :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>
42
25
  <div class="col-sm-2 form-group">
43
- <label class="font_normal_body" title="旧客户编号">档案编号</label>
44
- <input type="text" style="width:60%" class="input_search" v-model="model.f_olduserinfo_code"
45
- condition="f_olduserinfo_code = '{}' " placeholder="档案编号">
26
+ <label class="font_normal_body" :title="'参数名为:气价状态'">气价状态</label>
27
+ <v-select :value.sync="model.f_state" v-model='model.f_state'
28
+ :options='$parent.$parent.stateprice' placeholder='气价状态'
29
+ condition="f_state = '{}'"
30
+ close-on-select style="width:60%" :value-single="true"
31
+ v-el:cc></v-select>
32
+ </div>
33
+ <div class="col-sm-2 form-group">
34
+ <label class="font_normal_body">是否启用</label>
35
+ <v-select :value.sync="model.price_state" v-model='model.price_state'
36
+ :options='$parent.$parent.pricestate' placeholder='是否启用'
37
+ condition="price_state = '{}'"
38
+ close-on-select style="width:60%" :value-single="true"
39
+ v-el:cc></v-select>
46
40
  </div>
47
41
  <div class="col-sm-2 form-group">
48
42
  <label class="font_normal_body">客户类型</label>
@@ -67,33 +61,6 @@
67
61
  close-on-select v-ref:type>
68
62
  </v-select>
69
63
  </div>
70
- <div class="col-sm-2 form-group">
71
- <label class="font_normal_body">表&emsp;&emsp;号</label>
72
- <input type="text" style="width:60%" class="input_search" v-model="model.f_meter_number"
73
- condition="f_meternumber = '{}'" placeholder='表号'>
74
- </div>
75
- <div class="col-sm-2 form-group">
76
- <label class="font_normal_body">卡&emsp;&emsp;号</label>
77
- <input type="text" style="width:60%" class="input_search" v-model="model.f_card_id"
78
- condition="f_card_id = '{}'" placeholder='卡号'>
79
- </div>
80
- <div class="form-group col-sm-2" >
81
- <label class="font_normal_body">气表状态</label>
82
- <v-select style="width:60%" :value.sync="model.f_table_state"
83
- v-model="model.f_table_state"
84
- :options='$parent.$parent.gasStates' placeholder='气表状态'
85
- condition="f_table_state ='{}'"></v-select>
86
- </div>
87
- <div class="col-sm-2 form-group">
88
- <label class="font_normal_body">气表类型</label>
89
- <v-select :value.sync="model.f_meter_classify" v-model="model.f_meter_classify"
90
- :options='$parent.$parent.meters' placeholder='气表类型'
91
- close-on-select
92
- condition="f_meter_classify = '{}'"
93
- style="width: 60%"
94
- >
95
- </v-select>
96
- </div>
97
64
  </div>
98
65
 
99
66
  </div>
@@ -101,26 +68,30 @@
101
68
 
102
69
  <data-grid :model="model" class="table_sy" partial='list' v-ref:grid :optional="true">
103
70
  <template partial='head'>
104
- <th><nobr>客户编号</nobr></th>
105
- <th><nobr>表号</nobr></th>
106
- <th><nobr>档案编号</nobr></th>
107
- <th><nobr>气价名称</nobr></th>
71
+ <th><nobr>气价编号</nobr></th>
108
72
  <th><nobr>气价类型</nobr></th>
109
- <th><nobr>客户类型</nobr></th>
73
+ <th><nobr>气价名称</nobr></th>
74
+ <th><nobr>用户类型</nobr></th>
110
75
  <th><nobr>用气性质</nobr></th>
111
- <th><nobr>客户名称</nobr></th>
112
- <th><nobr>客户地址</nobr></th>
76
+ <th><nobr>阶段月数</nobr></th>
77
+ <th><nobr>执行日期</nobr></th>
78
+ <th><nobr>截止日期</nobr></th>
79
+ <th><nobr>版本号</nobr></th>
80
+ <th><nobr>状态</nobr></th>
81
+ <th><nobr>气价信息</nobr></th>
113
82
  </template>
114
83
  <template partial='body'>
115
- <td style="text-align:center"><span @click="$parent.$parent.$parent.dealmsg(row)"><a><b>{{row.f_userinfo_code}}</b></a></span></td>
116
- <td style="text-align:center">{{row.f_meternumber}}</td>
117
- <td style="text-align:center">{{row.f_olduserinfo_code}}</td>
84
+ <td style="text-align:center">{{row.f_price_id}}</td>
85
+ <td style="text-align:center">{{row.f_price_type }}</td>
118
86
  <td style="text-align:center">{{row.f_price_name}}</td>
119
- <td style="text-align:center">{{row.f_price_type}}</td>
120
87
  <td style="text-align:center">{{row.f_user_type}}</td>
121
88
  <td style="text-align:center">{{row.f_gasproperties}}</td>
122
- <td style="text-align:center">{{row.f_user_name}}</td>
123
- <td style="text-align:center;white-space: nowrap;">{{row.f_address}}</td>
89
+ <td style="text-align:center">{{row.f_stairmonths}}</td>
90
+ <td style="text-align:center">{{row.f_perform_date}}</td>
91
+ <td style="text-align:center;white-space: nowrap;">{{row.f_end_date}}</td>
92
+ <td style="text-align:center">{{row.f_version}}</td>
93
+ <td style="text-align:center">{{row.f_state}}</td>
94
+ <td style="text-align:center;white-space: nowrap;">{{row.detailvalue}}</td>
124
95
  </template>
125
96
  <template partial='foot'></template>
126
97
  </data-grid>
@@ -134,9 +105,6 @@
134
105
  </tr>
135
106
  </table>
136
107
  </div>
137
- <div class="flex" v-if="show">
138
- <user-info-detail-manage-new :f_userinfo_id="rowdata.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage-new>
139
- </div>
140
108
  </div>
141
109
  </div>
142
110
  </template>
@@ -174,7 +142,7 @@
174
142
  thead: '',
175
143
  tfoot: '',
176
144
  defaultfield: [],
177
- resshow:['company','department','operator','slicearea'],
145
+ resshow:['company','department','operator'],
178
146
  initres: {
179
147
  org:[this.$login.f.orgid],
180
148
  dep:[],
@@ -186,10 +154,10 @@
186
154
  config: {
187
155
  defaultPrint: ['f_userinfo_code', 'f_user_name', 'f_meternumber']
188
156
  },
189
- pricestate:[{label:'有效',value:''},{label:'无效',value:'无效'}],
157
+ pricestate:[{label:'未启用',value:'未启用'},{label:'已启用',value:'已启用'}],
190
158
  //合计数据
191
159
  sumsmodel: {},
192
- meters: this.$appdata.getParam('气表类型') ? [{label: '全部',value: ''}, ...this.$appdata.getParam('气表类型')] : [],
160
+ stateprice: this.$appdata.getParam('气价状态') ? [{label: '全部',value: ''}, ...this.$appdata.getParam('气价状态')] : [],
193
161
  }
194
162
  },
195
163
  ready() {
@@ -233,7 +201,7 @@
233
201
  selfSearch(args) {
234
202
  console.log(this.$refs.paged.$refs.cri.model.price_state)
235
203
  if(this.$refs.paged.$refs.cri.model.price_state){
236
- args.condition = `${args.condition} and f_end_date < f_perform_date ` + this.orgCondtionStr
204
+ args.condition = `${args.condition} ` + this.orgCondtionStr
237
205
  }
238
206
  args.condition = `${args.condition}` + this.orgCondtionStr
239
207
  this.model.search(args.condition, args.model)
@@ -67,7 +67,7 @@ export default{
67
67
  chargeConfig: {
68
68
  'id': '收费编号', 'f_userinfo_code': '客户编号', 'f_olduserinfo_code': '档案编号', 'f_user_name': '客户名称', 'f_user_phone': '客户电话', 'f_address': '客户地址', 'f_zones': '片区', 'f_user_type': '客户类型',
69
69
  'f_gasproperties': '用气性质', 'f_meternumber': '表号', 'f_meter_brand': '气表品牌', 'f_times': '购气次数',
70
- 'f_pregas': '气量', 'fee': '金额', 'f_preamount': '燃气费', 'f_collection': '收款', 'f_privilege_money': '优惠金额', 'f_balance': '上期结余',
70
+ 'f_last_tablebase': '上期底数', 'f_tablebase': '本期底数', 'f_pregas': '气量', 'fee': '金额', 'f_preamount': '燃气费', 'f_collection': '收款', 'f_privilege_money': '优惠金额', 'f_balance': '上期结余',
71
71
  'f_curbalance': '本期结余', 'f_type': '收费类型', 'f_payment': '付款方式', 'f_bank_type': '支付渠道', 'f_state': '状态', 'f_operate_date': '收费日期',
72
72
  'f_delaypay': '滞纳金', 'f_comments': '备注', 'f_operator': '操作员', 'f_depname': '部门', 'f_orgname': '公司',
73
73
  'f_yucun': '预存金额', 'f_card_id': '卡号', 'f_stairamount1': '一阶气量', 'f_stair1price': '一阶单价', 'f_stair1fee': '一阶气费',
@@ -301,7 +301,7 @@
301
301
  dep:[],
302
302
  user:[],
303
303
  },
304
- orgcondition:' and f_filialeid = ' + this.$login.f.orgid,
304
+ orgcondition:'',
305
305
  show: false,
306
306
  condition:'',
307
307
  getfield: {},
@@ -326,12 +326,9 @@
326
326
  hidden(){
327
327
  this.criteriaShow = !this.criteriaShow
328
328
  },
329
- getorg(obj) {
330
- if(obj){
331
- this.orgcondition = obj.replace('f_orgid', 'f_filialeid')
332
- }else{
333
- this.orgcondition = " and f_filialeid = " + this.$login.f.orgid
334
- }
329
+ getorg(condition,obj) {
330
+ this.orgcondition = condition
331
+ this.orgname = obj.orgnames[0]
335
332
  },
336
333
  initQueryParam () {
337
334
  let arr = []
@@ -608,7 +608,7 @@
608
608
  <table class="table-hover">
609
609
  <tr style="position: relative" class="table-bordered">
610
610
  <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">汇总信息</td>
611
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px">暂无合计字段</td>
611
+ <td style="display: inline-block;width: auto;border-right: 1px solid #f2f6fa;padding: 0px 10px 0px 10px;font-weight: bold">账户余额合计:&emsp;&emsp;{{sumsmodel.f_balance}}</td>
612
612
  </tr>
613
613
  </table>
614
614
 
@@ -693,7 +693,9 @@
693
693
  isSingleUser: null,
694
694
  other:[],
695
695
  footer:[],
696
- model: new PagedList('rs/sql/compreQuery', 20),
696
+ model: new PagedList('rs/sql/compreQuery', 20, {}, {
697
+ f_balance: 0
698
+ }),
697
699
  criteriaShow: false,
698
700
  orgCondtionStr:'',
699
701
  residentialArea: [],
@@ -50,10 +50,10 @@
50
50
  :choose-col="true">
51
51
  </export-excel>
52
52
 
53
- <print-data :sum-field="$parent.$parent.getfield" :model="$parent.model" :field="$parent.$parent.getfield"
54
- :defaultfield="$parent.$parent.defaultfield"
55
- titletable="缴费记录报表" :starthead="$parent.$parent.getstart"
56
- :sumsmodel="$parent.$parent.sumsmodel"></print-data>
53
+ <print-data-rc :sum-field="$parent.$parent.getfield" :model="$parent.model" :field="$parent.$parent.getfield"
54
+ :defaultfield="$parent.$parent.defaultfield" :xyprint="2" :printview="true"
55
+ titletable="日收费明细" :starthead="$parent.$parent.getstart"
56
+ :sumsmodel="$parent.$parent.sumsmodel"></print-data-rc>
57
57
  <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>
58
58
 
59
59
  </div>
@@ -688,48 +688,16 @@
688
688
  style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
689
689
  汇总信息
690
690
  </td>
691
+
691
692
  <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
692
- 气量合计:&emsp;{{sumsmodel.f_pregas}}
693
- </td>
694
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
695
- 应交金额合计:&emsp;{{sumsmodel.fee}}
696
- </td>
697
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
698
- 滞纳金合计:&emsp;{{sumsmodel.f_delaypay}}
699
- </td>
700
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
701
- 燃气费合计:&emsp;{{sumsmodel.f_preamount}}
702
- </td>
703
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
704
- 预存金额合计:&emsp;{{sumsmodel.f_yucun}}
705
- </td>
706
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
707
- 收款合计:&emsp;{{sumsmodel.f_collection}}
693
+ 交易笔数:&emsp;{{sumsmodel.f_bs}}
708
694
  </td>
709
695
  <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
710
- 优惠金额合计:&emsp;{{sumsmodel.f_privilege_money}}
696
+ 气量合计:&emsp;{{sumsmodel.f_pregas}}
711
697
  </td>
712
698
  <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
713
- 优惠气量合计:&emsp;{{sumsmodel.f_privilege_gas}}
699
+ 收费合计:&emsp;{{sumsmodel.f_collection}}
714
700
  </td>
715
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
716
- 一阶气量合计:&emsp;{{sumsmodel.f_stairamount1}}
717
- </td>
718
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
719
- 一阶气费合计:&emsp;{{sumsmodel.f_stair1fee}}
720
- </td>
721
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
722
- 二阶气量合计:&emsp;{{sumsmodel.f_stair2amount}}
723
- </td>
724
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
725
- 二阶气费合计:&emsp;{{sumsmodel.f_stair2fee}}
726
- </td>
727
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
728
- 三阶气量合计:&emsp;{{sumsmodel.f_stair3amount}}
729
- </td>
730
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
731
- 三阶气费合计:&emsp;{{sumsmodel.f_stair3fee}}
732
- </td>
733
701
  </tr>
734
702
  </table>
735
703
  </div>
@@ -803,7 +771,11 @@
803
771
 
804
772
  footer:[],
805
773
  config: {
806
- defaultPrint: ['f_userinfo_code', 'f_user_name', 'f_pregas', 'f_collection', 'f_stairamount1', 'f_stair2amount', 'f_stair3amount','f_operate_date']
774
+ defaultPrint: [
775
+ 'f_userinfo_code', 'f_olduserinfo_code', 'f_user_name', 'f_address', 'f_user_type', 'f_gasproperties',
776
+ 'f_meternumber', 'f_meter_brand', 'f_pregas', 'f_collection', 'f_privilege_money', 'f_privilege_gas',
777
+ 'f_type', 'f_payment', 'f_operator', 'f_operate_date'
778
+ ]
807
779
  },
808
780
  //排序
809
781
  orderitem:'f_operate_date desc',
@@ -823,20 +795,9 @@
823
795
  user:[]
824
796
  },
825
797
  model: new PagedList('rs/sql/chargeQuery', 20, {orderitem: this.orderitem?'"' + this.orderitem + ' "':`'f_operate_date desc'`},{
798
+ f_bs: 0,
826
799
  f_pregas: 0,
827
- f_preamount: 0,
828
- f_delaypay: 0,
829
- fee:0,
830
- f_yucun:0,
831
- f_privilege_money: 0,
832
- f_privilege_gas: 0,
833
- f_collection: 0,
834
- f_stairamount1:0,
835
- f_stair1fee:0,
836
- f_stair2amount:0,
837
- f_stair2fee:0,
838
- f_stair3amount:0,
839
- f_stair3fee:0,
800
+ f_collection: 0
840
801
  }),
841
802
  criteriaShow: false,
842
803
  orgCondtionStr: '',
@@ -0,0 +1,239 @@
1
+ <template>
2
+ <button class="button_export button_spacing" @click='printData()'>打印</button>
3
+ <modal :show.sync="printshow" v-ref:modal backdrop="false">
4
+ <header slot="modal-header" class="modal-header text-center">
5
+ <h4 class="modal-title">打印列选择</h4>
6
+ <input type="checkbox" class="" id="f_generations" v-model="all">
7
+ <label for="f_generations" class="font-size">全选</label>
8
+ </header>
9
+ <article slot="modal-body">
10
+ <div class="auto col-sm-11 col-md-offset-1" style="margin-top: 10px;">
11
+ <div class="col-sm-3" v-for="f in fields">
12
+ <input type="checkbox" class="" :id="'water-owe-details-'+$index" v-model="modelval" :value="$key">
13
+ <label :for="'water-owe-details-'+$index" class="font-size">{{f}}</label>
14
+ </div>
15
+ </div>
16
+ </article>
17
+ <footer slot="modal-footer" class="modal-footer">
18
+ <center>
19
+ <button v-show="printshow" type="button" class="btn btn-default" @click='close()'>取消</button>
20
+ <button v-show="printshow" type="button" class="btn btn-success" @click='print()'>打印</button>
21
+ <print-table-rc :model='model' v-show="false" v-ref:print
22
+ :printview="printview"
23
+ :xyprint="xyprint"
24
+ :top='40' :left='40' :right='40' :bottom='40' :print-name="printName"
25
+ :thead="thead" :tfoot='tfoot' :attach="attach" :sumhtml="sumhtml"
26
+ :fields="modelval" :is-selected="isSelected" :printpage="printpage">
27
+ </print-table-rc>
28
+ </center>
29
+ </footer>
30
+ </modal>
31
+ </template>
32
+
33
+ <script>
34
+ import co from 'co'
35
+
36
+ export default {
37
+ // data:sql需要的替换字段
38
+ // sqlurl:导出Excel查询的sql语句
39
+ // field:需要导出Excel的字段名和对应中文名或hbm配置文件名(全名)
40
+ // total:统计字段(统计行)
41
+ // props: ['data', 'sqlurl', 'field', 'total', 'bean', 'chooseCol'],
42
+ data () {
43
+ return {
44
+ printshow: false,
45
+ all: false,
46
+ fields: {},
47
+ modelval: [],
48
+ thead: '',
49
+ tfoot: '',
50
+ //合计数据
51
+ sumsmodel: {},
52
+ // 合计超文本
53
+ sumhtml: ''
54
+ }
55
+ },
56
+ props: {
57
+ model: {},
58
+ field: {},
59
+ printview:{},
60
+ xyprint:{},
61
+ starthead: {
62
+ type:String,
63
+ default:''
64
+ },
65
+ titletable: {
66
+ type:String,
67
+ default:''
68
+ },
69
+ printName: {},
70
+ // 默认列
71
+ defaultfield: {},
72
+ // 合计数据
73
+ sumsmodel: {},
74
+ // 合计数据的列名称配置(当没有找到对应合计的名称时,会从field中找)
75
+ sumField: {},
76
+ // 单页合计
77
+ pageSum: null,
78
+ isSelected: {
79
+ type:Boolean,
80
+ default:false
81
+ },
82
+ //设置打印底部信息 如制表人:审核人:。。。
83
+ footinfo: [],
84
+ // 设置打印底部信息 其他信息 格式为二维数组 如:[['1','','','4'],['5','','','8']]
85
+ footmsg: [],
86
+ printpage: {
87
+ type:Boolean,
88
+ default:false
89
+ },
90
+ // 全表汇总信息只在最后一页显示
91
+ sumone: {
92
+ type:Boolean,
93
+ default:true
94
+ },
95
+ attach: {
96
+ type: String,
97
+ default: 'name'
98
+ },
99
+ chooserow: {
100
+ type: Boolean,
101
+ default: false
102
+ }
103
+ },
104
+ methods: {
105
+
106
+ async printData () {
107
+ console.log('打印。。。', this.model, this.field, this.printName, this.sumsmodel)
108
+
109
+ if (this.model.rows.length === 0) {
110
+ this.$showAlert('请查询需要打印的数据!!', 'warning', 2000)
111
+ return
112
+ }
113
+ this.all = false
114
+ //默认选择要打印的列
115
+ this.modelval = this.defaultfield
116
+ this.fields = this.field
117
+ console.log('所有打印字段',this.fields)
118
+ this.printshow = true
119
+ await this.put()
120
+ if(this.chooserow){
121
+ this.print()
122
+ }
123
+ },
124
+
125
+ put () {
126
+ // 对Modelval进行排序
127
+ this.sortModelval()
128
+ this.getfield()
129
+ // 组织头数据
130
+ if(this.titletable!=''){
131
+ this.thead = `<tr><th colspan=${this.modelval.length}><h1>${this.titletable}</h1></th></tr><tr>`
132
+ }else{
133
+ this.thead = `<tr><th colspan=${this.modelval.length}><h1>${this.printName}统计报表</h1></th></tr><tr>`
134
+ }
135
+ if(this.starthead!=''){
136
+ this.thead += `<tr><th colspan=${this.modelval.length}>${this.starthead}</th></tr><tr>`
137
+ }
138
+ for (let key of this.modelval) {
139
+ this.thead += '<td style="text-align: left;">' + this.fields[key] + '</td>'
140
+ }
141
+ this.thead += '</tr>'
142
+ },
143
+ // 对选择的列进行排序
144
+ sortModelval () {
145
+ console.log('选择列进行排序。。。', this.fields, this.modelval)
146
+ let sortModel = []
147
+ Object.keys(this.fields).forEach((key) => {
148
+ if (this.modelval.includes(key)) {
149
+ sortModel.push(key)
150
+ }
151
+ })
152
+ this.modelval = sortModel
153
+ console.log('选择的打印的字段', this.modelval)
154
+ },
155
+
156
+ close () {
157
+ this.all = false
158
+ this.modelval = []
159
+ this.printshow = false
160
+ this.$dispatch('print-close')
161
+ },
162
+
163
+ print () {
164
+ this.$refs.print.PrintAsFile()
165
+ this.printshow = false
166
+ this.$dispatch('print-data')
167
+ },
168
+ getfield(){
169
+ //合计字段打印
170
+ this.tfoot = ''
171
+ if(this.sumsmodel){
172
+ if (this.sumone) {
173
+ this.sumhtml = `<tr><th colspan=${this.modelval.length} style="border-width: 0;">全表汇总信息: `
174
+ Object.keys(this.sumsmodel).forEach((key) => {
175
+ let keyName = this.sumField[key] ? this.sumField[key] : this.fields[key]
176
+ this.sumhtml += keyName + '合计: ' + `<font color="blue">${this.sumsmodel[key]} </font>`
177
+ })
178
+ this.sumhtml += '</th></tr>'
179
+ } else {
180
+ this.tfoot = `<tr><th colspan=${this.modelval.length} style="border-width: 0;">全表汇总信息: `
181
+ Object.keys(this.sumsmodel).forEach((key) => {
182
+ let keyName = this.sumField[key] ? this.sumField[key] : this.fields[key]
183
+ this.tfoot += keyName + '合计: ' + `<font color="blue">${this.sumsmodel[key]} </font>`
184
+ })
185
+ this.tfoot += '</th></tr>'
186
+ }
187
+ }
188
+ if (this.pageSum) {
189
+ this.tfoot += `<tr>`
190
+ for (let row of this.modelval) {
191
+ let format = this.pageSum[row]
192
+ if (format) {
193
+ this.tfoot += `<td tdata="SubSum" format="${format}" style="border-width: 0;">######</td>`
194
+ } else {
195
+ this.tfoot += `<td style="border-width: 0;"></td>`
196
+ }
197
+ }
198
+ this.tfoot += `</tr>`
199
+ }
200
+ this.tfoot += `<tr><th colspan=${this.modelval.length} style="border-width: 0;">打印时间: ${this.$login.toStandardTimeString()}</th></tr>`
201
+ //设置打印底部信息 如制表人:审核人:。。。
202
+ if(this.footinfo!=null && this.footinfo.length!=0){
203
+ this.tfoot += `<tr><td colspan=${this.modelval.length} style="border-width: 0;"></td></tr><tr>`
204
+ for(let i=0;i<this.footinfo.length;i++){
205
+ this.tfoot += `<th colspan=${this.modelval.length/this.footinfo.length} style="border-width: 0;text-align: left;">${this.footinfo[i]}:</th>`
206
+ }
207
+ this.tfoot += `</tr>`
208
+ }
209
+ // 设置打印底部信息 其他信息 格式为二维数组 如:[['1','','','4'],['5','','','8']]
210
+ if (this.footmsg != null && this.footmsg.length != 0) {
211
+ for (let i = 0; i < this.footmsg.length; i++) {
212
+ this.tfoot += `<tr style="padding: 0 2px 0 2px"><th style="border: 0" colspan=${this.modelval.length} ><table style="width: 100%;border-width: 0;text-align: left;"><tr>`
213
+ for (let j = 0; j < this.footmsg[i].length; j++) {
214
+ // 如果this.footsmg[i]有三个元素 则每个占比 33.33%
215
+ // 如果this.footsmg[i]有四个元素 则每个占比 25%
216
+ this.tfoot += `<td style="border-width: 0;text-align: left;width: ${(Number(1) / Number(this.footmsg[i].length) * 100).toFixed(2)}%">${this.footmsg[i][j]}</td>`
217
+ }
218
+ this.tfoot += `</tr></table></th></tr>`
219
+ }
220
+ }
221
+ },
222
+ },
223
+ watch: {
224
+ 'all' (val) {
225
+ if (val) {
226
+ this.modelval = Object.keys(this.fields)
227
+ } else {
228
+ this.modelval = []
229
+ }
230
+ },
231
+ 'modelval.length' () {
232
+ this.put()
233
+ }
234
+ },
235
+ computed: {
236
+
237
+ }
238
+ }
239
+ </script>