manage-client 3.2.42 → 3.2.43

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 (111) hide show
  1. package/build/dev-server.js +8 -26
  2. package/package.json +1 -1
  3. package/src/components/BasisEcharts/BarChart.vue +247 -247
  4. package/src/components/SellReport/BonSummary.vue +178 -178
  5. package/src/components/SellReport/ChargePrick.vue +205 -205
  6. package/src/components/SellReport/GasBaozhuangFee.vue +237 -237
  7. package/src/components/SellReport/ManageBusSummary.vue +219 -219
  8. package/src/components/SellReport/ManageGasPrice.vue +176 -176
  9. package/src/components/SellReport/NonResidentGas.vue +203 -203
  10. package/src/components/SellReport/OutletTable.vue +258 -258
  11. package/src/components/SellReport/QibiaoShouqi.vue +242 -242
  12. package/src/components/SellReport/ReportComponrnt/TieAnAccount.vue +501 -501
  13. package/src/components/SellReport/SaleMonthReport.vue +153 -153
  14. package/src/components/SellReport/SellingTable.vue +220 -220
  15. package/src/components/SellReport/UserSellingGas.vue +228 -228
  16. package/src/components/TelReport/ZhiHuanservice.vue +162 -162
  17. package/src/components/daping/GMap.vue +636 -636
  18. package/src/components/sale/businessquery/AccountQuery/ExpectGasList.vue +504 -504
  19. package/src/components/sale/businessquery/AccountQuery/PreGasList.vue +371 -371
  20. package/src/components/sale/businessquery/AccountQuery/SellingGasList.vue +404 -404
  21. package/src/components/sale/businessquery/AreaChargeQuery.vue +380 -380
  22. package/src/components/sale/businessquery/BusinesQuery.vue +358 -358
  23. package/src/components/sale/businessquery/BusinessManage.vue +6 -1
  24. package/src/components/sale/businessquery/ChangeMeterQuery.vue +632 -632
  25. package/src/components/sale/businessquery/ChangeUserQuery.vue +357 -357
  26. package/src/components/sale/businessquery/CollectManage.vue +138 -138
  27. package/src/components/sale/businessquery/DisableQuery.vue +451 -451
  28. package/src/components/sale/businessquery/EnableQuery.vue +408 -408
  29. package/src/components/sale/businessquery/FMYGasQuery.vue +713 -713
  30. package/src/components/sale/businessquery/FillCardQuery.vue +486 -486
  31. package/src/components/sale/businessquery/FillGasQuery.vue +511 -511
  32. package/src/components/sale/businessquery/GasLossQuery.vue +561 -0
  33. package/src/components/sale/businessquery/MonthGasQuery.vue +467 -467
  34. package/src/components/sale/businessquery/OtherChargeQuery.vue +634 -634
  35. package/src/components/sale/businessquery/ProceedsOper.vue +417 -417
  36. package/src/components/sale/businessquery/ReverseQuery.vue +402 -402
  37. package/src/components/sale/businessquery/SalesGasClassification.vue +168 -168
  38. package/src/components/sale/businessquery/TransferQuery.vue +418 -418
  39. package/src/components/sale/businessquery/YingShouMingXi.vue +525 -525
  40. package/src/components/sale/businessquery/gasPriceQuery.vue +365 -0
  41. package/src/components/sale/businessquery/iotStateSearch/iotStateQuery.vue +308 -308
  42. package/src/components/sale/businessquery/usergas.vue +311 -311
  43. package/src/components/sale/config/exportConfig.js +10 -0
  44. package/src/components/sale/filesquery/DeviceQuery.vue +534 -534
  45. package/src/components/sale/filesquery/RecordInfoQuery.vue +1260 -1260
  46. package/src/components/sale/report/aode/YearByUserType.vue +272 -272
  47. package/src/components/statistical/DendrogramManage.vue +239 -239
  48. package/src/components/statistical/StatisticalAnalysis.vue +252 -252
  49. package/src/components/webmeter/DrillData/LostContactAnalysisList.vue +633 -633
  50. package/src/components/webmeter/DrillData/LostContactEcharts.vue +177 -177
  51. package/src/components/webmeter/DrillData/UserGasEform.vue +227 -227
  52. package/src/components/webmeter/DrillData/UserLostContactAnalysis.vue +585 -585
  53. package/src/components/webmeter/newwebmeter/NewException/NewGasEcharts.vue +208 -208
  54. package/src/components/webmeter/newwebmeter/NewException/TotalExceptionByMeter.vue +607 -607
  55. package/src/components/webmeter/newwebmeter/UserGasEchartsList.vue +284 -284
  56. package/src/components/webmeter/newwebmeter/UserGasList.vue +438 -438
  57. package/src/components/webmeter/newwebmeter/UserInstructEchartsList.vue +242 -242
  58. package/src/components/webmeter/newwebmeter/signAnalysisEcharts.vue +266 -266
  59. package/src/components/webmeter/newwebmeter/signAnalysisEform.vue +175 -175
  60. package/src/components/webmeter/newwebmeter/signAnalysisListMain.vue +387 -387
  61. package/src/filiale/WEINAN/EchartsBox.vue +110 -110
  62. package/src/filiale/WEINAN/OtherChargeQuery.vue +521 -521
  63. package/src/filiale/WEINAN/ReportDataQuery.vue +325 -325
  64. package/src/filiale/WEINAN/SiteManager.vue +191 -191
  65. package/src/filiale/WEINAN/UserGasAll.vue +577 -577
  66. package/src/filiale/WEINAN/UserGasEcharts.vue +281 -281
  67. package/src/filiale/WEINAN/UserGasList.vue +438 -438
  68. package/src/filiale/WEINAN/config/tableConfig.js +20 -20
  69. package/src/filiale/WEINAN/reportManage.js +12 -12
  70. package/src/filiale/WEINAN/sale.js +36 -36
  71. package/src/filiale/alashan/reportManage.js +10 -10
  72. package/src/filiale/jingwei/RecordInfoQuery.vue +1142 -1142
  73. package/src/filiale/jingzhou/ChargeQuery.vue +1243 -1243
  74. package/src/filiale/jingzhou/config/exportConfig.js +861 -861
  75. package/src/filiale/macheng/MeterQuery.vue +12 -0
  76. package/src/filiale/meihekou/UserGasEform.vue +267 -267
  77. package/src/filiale/meihekou/YingShouMingXi.vue +538 -538
  78. package/src/filiale/pingxiang/sale.js +9 -9
  79. package/src/filiale/qianneng/OtherChargeDetailQuery.vue +74 -0
  80. package/src/filiale/qianneng/OtherChargeQuery.vue +634 -0
  81. package/src/filiale/qianneng/sale.js +9 -0
  82. package/src/filiale/qingtongxia/sale.js +13 -13
  83. package/src/filiale/rongcheng/UserQuery.vue +827 -827
  84. package/src/filiale/rongchuang/SellingTable.vue +250 -250
  85. package/src/filiale/rongchuang/reportManage.js +11 -11
  86. package/src/filiale/shaoguan/HandplanQuery.vue +1314 -1314
  87. package/src/filiale/shaoguan/TransferQuery.vue +403 -403
  88. package/src/filiale/shaoguan/config/exportConfig.js +433 -433
  89. package/src/filiale/shaoguan/errorHandplanQuery.vue +366 -366
  90. package/src/filiale/shaoguan/sale/businessquery/ExemptQuery.vue +314 -314
  91. package/src/filiale/shaoguan/sale/businessquery/FMYGasQuery.vue +687 -687
  92. package/src/filiale/shaoguan/sale/businessquery/PaymentChangeQuery.vue +338 -338
  93. package/src/filiale/shaoguan/sale/businessquery/ReconcileQuery.vue +426 -426
  94. package/src/filiale/tongchuan/FillGasQuery.vue +523 -523
  95. package/src/filiale/tongchuan/ManageBusSummary.vue +240 -240
  96. package/src/filiale/tongchuan/reportManage.js +5 -5
  97. package/src/filiale/wuhai/ChargeQuery.vue +19 -16
  98. package/src/filiale/zhongsheng/ChargeQuery.vue +1255 -1255
  99. package/src/filiale/zhongsheng/config/exportConfig.js +899 -899
  100. package/src/filiale/zhongsheng/sale.js +10 -10
  101. package/src/main.js +3 -3
  102. package/src/saleManage.js +9 -0
  103. package/static/wuhai.json +1610 -1610
  104. package/.gradle/5.4.1/fileChanges/last-build.bin +0 -0
  105. package/.gradle/5.4.1/fileHashes/fileHashes.lock +0 -0
  106. package/.gradle/5.4.1/gc.properties +0 -0
  107. package/src/.idea/misc.xml +0 -9
  108. package/src/.idea/modules.xml +0 -8
  109. package/src/.idea/src.iml +0 -9
  110. package/src/.idea/vcs.xml +0 -6
  111. package/src/.idea/workspace.xml +0 -93
@@ -1,403 +1,403 @@
1
- <template>
2
- <div id="unit" class="flex-row">
3
- <div class="basic-main" @keyup.enter="search">
4
- <div class="flex" v-if="!show" >
5
-
6
- <criteria-paged :model="model" v-ref:paged>
7
- <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
8
- <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
9
- <div class="row">
10
- <div class="col-sm-2 form-group">
11
- <label for="startDate" class="font_normal_body">开始日期</label>
12
- <datepicker id="startDate" placeholder="开始日期" style="width:60%"
13
- v-model="model.startDate"
14
- :value.sync="model.startDate"
15
- :format="'yyyy-MM-dd'"
16
- :show-reset-button="true"
17
- condition="f_operate_date >= '{} 00:00:00'">
18
- </datepicker>
19
- </div>
20
- <div class="col-sm-2 form-group">
21
- <label for="endDate" class="font_normal_body">结束日期</label>
22
- <datepicker id="endDate" placeholder="结束日期" style="width:60%"
23
- v-model="model.endDate"
24
- :value.sync="model.endDate"
25
- :format="'yyyy-MM-dd'"
26
- :show-reset-button="true"
27
- condition="f_operate_date <= '{} 23:59:59'">
28
- </datepicker>
29
- </div>
30
- <div class="col-sm-2 form-group">
31
- <label class="font_normal_body">客户编号</label>
32
- <input type="text" style="width:60%" class="input_search" v-model="model.f_userinfo_code"
33
- condition="f_userinfo_code = '{}' " placeholder="客户编号">
34
- </div>
35
- <div class="col-sm-2 form-group">
36
- <label class="font_normal_body">客户地址</label>
37
- <input type="text" style="width:60%" class="input_search" v-model="model.f_address"
38
- condition="f_address like '%{}%'" placeholder='客户地址'>
39
- </div>
40
- <div class="span" style="float:right;">
41
- <button class="button_search button_spacing" @click="search()">查询</button>
42
- <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
43
- <!--<button class="btn btn-default" @click="$parent.$parent.stamp()">打印</button>-->
44
- <export-excel :data="$parent.$parent.getCondition" :footer="$parent.$parent.footer"
45
- :field="$parent.$parent.getfield" :header="$parent.$parent.other"
46
- sqlurl="rs/logic/exportfile" sql-name="transferQuery" template-name='过户查询导出'
47
- :choose-col="true"></export-excel>
48
- <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>
49
- </div>
50
- </div>
51
- <div class="row" v-show="$parent.$parent.criteriaShow">
52
- <res-select-group :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>
53
- <div class="col-sm-2 form-group">
54
- <label class="font_normal_body">过户状态</label>
55
- <v-select :value.sync="model.f_state"
56
- v-model="model.f_state"
57
- :options='$parent.$parent.transferstate' placeholder='请选择'
58
- condition="f_state = '{}'"
59
- close-on-select></v-select>
60
- </div>
61
- <div class="col-sm-2 form-group">
62
- <label class="font_normal_body">原户姓名</label>
63
- <input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
64
- placeholder="原户姓名"
65
- condition="f_user_name like '%{}%'">
66
- </div>
67
- <div class="col-sm-2 form-group">
68
- <label class="font_normal_body">新户姓名</label>
69
- <input type="text" style="width:60%" class="input_search" v-model="model.f_newuser_name"
70
- condition="f_newuser_name like '%{}%' " placeholder="新户姓名">
71
- </div>
72
- <div class="col-sm-2 form-group">
73
- <label class="font_normal_body">原户电话</label>
74
- <input type="text" style="width:60%" class="input_search" v-model="model.f_user_phone"
75
- condition="f_user_phone like '%{}%' " placeholder="原户电话">
76
- </div>
77
- <div class="col-sm-2 form-group">
78
- <label class="font_normal_body">新户电话</label>
79
- <input type="text" style="width:60%" class="input_search" v-model="model.f_newuser_phone"
80
- condition="f_newuser_phone like '%{}%' " placeholder="新户电话">
81
- </div>
82
- </div>
83
- </div>
84
- </criteria>
85
-
86
- <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid :classname="$parent.classname">
87
- <template partial='head'>
88
- <tr>
89
- <th>
90
- <nobr>客户编号</nobr>
91
- </th>
92
- <th>
93
- <nobr>客户名称</nobr>
94
- </th>
95
- <th>
96
- <nobr>客户地址</nobr>
97
- </th>
98
- <th>
99
- <nobr>原客户名称</nobr>
100
- </th>
101
- <th>
102
- <nobr>新客户电话</nobr>
103
- </th>
104
- <th>
105
- <nobr>原客户电话</nobr>
106
- </th>
107
- <th>
108
- <nobr>过户费</nobr>
109
- </th>
110
- <th>
111
- <nobr>过户日期</nobr>
112
- </th>
113
- <th>
114
- <nobr>业务单号</nobr>
115
- </th>
116
- <th>
117
- <nobr>备注</nobr>
118
- </th>
119
- <th>
120
- <nobr>操作员</nobr>
121
- </th>
122
- <th>
123
- <nobr>部门</nobr>
124
- </th>
125
- <th>
126
- <nobr>公司</nobr>
127
- </th>
128
- <th><nobr>附件</nobr></th>
129
- </tr>
130
- </template>
131
- <template partial='body'>
132
- <td style="text-align: center;">
133
- <nobr>
134
- <span @click="$parent.$parent.$parent.dealmsg(row)"><a>{{row.f_userinfo_code}}</a></span></nobr>
135
- </td>
136
- <td style="text-align: center;">
137
- <nobr>{{row.f_newuser_name}}</nobr>
138
- </td>
139
- <td style="text-align: center;">
140
- <nobr>{{row.f_address}}</nobr>
141
- </td>
142
- <td style="text-align: center;">
143
- <nobr>{{row.f_user_name}}</nobr>
144
- </td>
145
- <td style="text-align: center;">
146
- <nobr>{{row.f_newuser_phone}}</nobr>
147
- </td>
148
- <td style="text-align: center;">
149
- <nobr>{{row.f_user_phone}}</nobr>
150
- </td>
151
- <td style="text-align: center;">
152
- <nobr>{{row.f_transfer_fees}}</nobr>
153
- </td>
154
- <td style="text-align: center;">
155
- <nobr>{{row.f_operate_date}}</nobr>
156
- </td>
157
- <td style="text-align: center;">
158
- <nobr>{{row.f_serial_number}}</nobr>
159
- </td>
160
- <td style="text-align: center;">
161
- <nobr>{{row.f_comments}}</nobr>
162
- </td>
163
- <td style="text-align: center;">
164
- <nobr>{{row.f_operator}}</nobr>
165
- </td>
166
- <td style="text-align: center;">
167
- <nobr>{{row.f_depname}}</nobr>
168
- </td>
169
- <td style="text-align: center;">
170
- <nobr>{{row.f_orgname}}</nobr>
171
- </td>
172
- <td style="text-align: center;"><nobr>
173
- <button class="btn btn-link" @click.stop="$parent.$parent.$parent.view(row)">查看</button>
174
- </nobr></td>
175
- </template>
176
- <template partial='foot'></template>
177
- </data-grid>
178
- </criteria-paged>
179
-
180
- <table class="table-hover">
181
- <tr style="position: relative" class="table-bordered">
182
- <td
183
- style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
184
- 汇总信息
185
- </td>
186
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
187
- 过户费合计:&emsp;{{sumsmodel.f_transfer_fees}}
188
- </td>
189
- </tr>
190
- </table>
191
- </div>
192
- <div v-if="show">
193
- <user-info-detail-manage-new :f_userinfo_id="rowdata.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage-new>
194
- </div>
195
- </div>
196
- <modal :show.sync="showupload" v-if="showupload" width="80%" style="width:auto;" v-ref:modal middle backdrop="false">
197
- <article slot="modal-body">
198
- <upload :blodid="selected.f_userinfo_id" v-ref:upload isupload="false" takeimg="false" fusetype="过户" :isremark="false" style="width:auto" ></upload>
199
- </article>
200
- <footer slot="modal-footer" class="modal-footer">
201
- </footer>
202
- </modal>
203
- </div>
204
- </template>
205
-
206
- <script>
207
- import {PagedList} from 'vue-client'
208
- import defaultPrint from './config/DefaultPrint'
209
- import exportConfig from './config/exportConfig'
210
-
211
- let readySomething = async function (self) {
212
- if(self.data.startDate != null && self.data.endDate!=null){
213
- self.$refs.paged.$refs.cri.model.startDate = self.data.startDate.substring(0,10)
214
- self.$refs.paged.$refs.cri.model.endDate = self.data.endDate.substring(0,10)
215
- }else{
216
- self.$refs.paged.$refs.cri.model.startDate = self.$login.toStandardDateString()
217
- self.$refs.paged.$refs.cri.model.endDate = self.$login.toStandardDateString()
218
- }
219
-
220
- // await self.$refs.paged.$refs.cri.search()
221
- await self.$MagLoadParams.loadParam(self.$login.f)
222
-
223
- self.sumsmodel = self.$refs.paged.$refs.grid.model.sums
224
- }
225
- export default {
226
- props:['data'],
227
- data() {
228
- return {
229
- data: {},
230
- other:[],
231
- footer:[],
232
- show:false,
233
- rowdata:{},
234
- model: new PagedList('rs/sql/transferQuery', 20, {}, {f_transfer_fees: 0}),
235
- criteriaShow: false,
236
- initres: {
237
- org:[this.$login.f.orgid],
238
- dep:[],
239
- user:[],
240
- },
241
- headData: ["客户编号", "新户姓名", "新户电话", "客户地址", "过户状态", "原户姓名", "原户电话", "客户类型", "用气性质", "气价名称", "过户费", "过户日期", "人员", "部门", "公司"],
242
- bodyData: ["f_userinfo_code", "f_newuser_name", "f_newuser_phone", "address", "f_state", "f_user_name", "f_user_phone", "f_user_type", "f_gasproperties", "f_price_name", "f_transfer_fees", "f_operate_date", "f_operator", "f_depname", "f_orgname"],
243
- orgCondtionStr: '',
244
- modelval: [],
245
- printshow: false,
246
- all: false,
247
- fields: {},
248
- thead: '',
249
- tfoot: '',
250
- showupload:false,
251
- selected:{},
252
-
253
- transferstate: this.$appdata.getParam('过户状态') ? [{
254
- label: '全部',
255
- value: ''
256
- }, ...this.$appdata.getParam('过户状态')] : [],
257
- //合计数据
258
- sumsmodel: {}
259
- }
260
- },
261
- ready() {
262
- console.log(this.$login.f)
263
- readySomething(this).then(() => {
264
- this.$emit('ready')
265
- }).catch((error) => {
266
- this.$emit('error', error)
267
- })
268
- },
269
- methods: {
270
- view(row){
271
- this.showupload = true
272
- this.selected= row
273
- },
274
- getotherfooter(){
275
- // this.$refs.paged.$refs.cri.$refs.exports.otherData=[];
276
- // this.$refs.paged.$refs.cri.$refs.exports.footerData=[];
277
- this.other=[];
278
- this.footer=[];
279
- let exportdata = this.getCondition;
280
- let otherInData=[];
281
- otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`);
282
- let footerData=[],exportfield=this.getfield;
283
- footerData.push("合计");
284
- let self = this;
285
- for(var field in self.sumsmodel){
286
- footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`);
287
- }
288
- this.footer.push(footerData);
289
- this.other.push(otherInData);
290
- },
291
- search(){
292
- this.$refs.paged.$refs.cri.search()
293
- },
294
- dblclick(obj) {
295
- this.data = obj
296
- this.showinfo = true
297
- },
298
- async selfSearch(args) {
299
- this.$parent.$parent.$parent.data.startDate=this.$refs.paged.$refs.cri.model.startDate
300
- this.$parent.$parent.$parent.data.endDate=this.$refs.paged.$refs.cri.model.endDate
301
- args.condition = `${args.condition}` + this.orgCondtionStr
302
- console.log('我的阐述', JSON.stringify(args.condition))
303
- await this.model.search(args.condition, args.model)
304
-
305
- this.sumsmodel = this.$refs.paged.$refs.grid.model.sums
306
- console.log('合计字段', this.sumsmodel)
307
- },
308
- dealmsg(val) {
309
- console.log('---------------dealmsg')
310
- this.rowdata=val
311
- this.show=true
312
- val.model = this.model.model
313
- this.$dispatch('deal-msg', val)
314
- },
315
- cancel() {
316
- this.show = false
317
- },
318
- clear() {
319
- //清空部门和人员
320
- this.$refs.paged.$refs.cri.$refs.sel.$children[1].selectres = []
321
- //部门和人员变为全选
322
- this.$refs.paged.$refs.cri.$refs.sel.$children[1].$children[0].isSelectAll = false
323
- this.$refs.paged.$refs.cri.$refs.sel.$children[2].$children[0].isSelectAll = false
324
- Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
325
- this.$refs.paged.$refs.cri.model[key] = []
326
- })
327
- },
328
- show() {
329
- this.criteriaShow = true
330
- },
331
- hidden() {
332
- this.criteriaShow = !this.criteriaShow
333
- },
334
- getRes(obj) {
335
- this.orgCondtionStr = obj
336
- },
337
- stamp() {
338
- this.all = false
339
- //默认选择要打印的列
340
- this.modelval = defaultPrint.config
341
- this.fields = this.getfield
342
- console.log('所有打印字段', this.fields)
343
- this.printshow = true
344
- this.put()
345
- },
346
- put() {
347
- // 对Modelval进行排序
348
- this.sortModelval()
349
- this.thead = `<tr><th colspan=${this.modelval.length}>过户查询统计报表</th></tr><tr>`
350
- for (let key of this.modelval) {
351
- this.thead += '<th>' + this.fields[key] + '</th>'
352
- }
353
- this.thead += '</tr>'
354
- },
355
- print() {
356
- this.$refs.print.PrintAsFile()
357
- this.printshow = false
358
- },
359
- close() {
360
- this.printshow = false
361
- this.all = false
362
- },
363
- // 对选择的列进行排序
364
- sortModelval() {
365
- let sortModel = []
366
- Object.keys(this.fields).forEach((key) => {
367
- if (this.modelval.includes(key)) {
368
- sortModel.push(key)
369
- }
370
- })
371
- this.modelval = sortModel
372
- console.log('选择的打印的字段', this.modelval)
373
- }
374
- },
375
- watch: {
376
- 'all'(val) {
377
- if (val) {
378
- this.modelval = this.bodyData
379
- } else {
380
- this.modelval = defaultPrint.config
381
- this.put()
382
- }
383
- },
384
- 'modelval.length'() {
385
- this.put()
386
- },
387
- sumsmodel:{
388
- handler: function(val) {
389
- this.getotherfooter();
390
- },
391
- deep: true
392
- }
393
- },
394
- computed: {
395
- getCondition() {
396
- return {condition: `${this.$refs.paged.$refs.cri.condition}` + this.orgCondtionStr}
397
- },
398
- getfield() {
399
- return exportConfig.transferConfig
400
- }
401
- }
402
- }
403
- </script>
1
+ <template>
2
+ <div id="unit" class="flex-row">
3
+ <div class="basic-main" @keyup.enter="search">
4
+ <div class="flex" v-if="!show" >
5
+
6
+ <criteria-paged :model="model" v-ref:paged>
7
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
8
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
9
+ <div class="row">
10
+ <div class="col-sm-2 form-group">
11
+ <label for="startDate" class="font_normal_body">开始日期</label>
12
+ <datepicker id="startDate" placeholder="开始日期" style="width:60%"
13
+ v-model="model.startDate"
14
+ :value.sync="model.startDate"
15
+ :format="'yyyy-MM-dd'"
16
+ :show-reset-button="true"
17
+ condition="f_operate_date >= '{} 00:00:00'">
18
+ </datepicker>
19
+ </div>
20
+ <div class="col-sm-2 form-group">
21
+ <label for="endDate" class="font_normal_body">结束日期</label>
22
+ <datepicker id="endDate" placeholder="结束日期" style="width:60%"
23
+ v-model="model.endDate"
24
+ :value.sync="model.endDate"
25
+ :format="'yyyy-MM-dd'"
26
+ :show-reset-button="true"
27
+ condition="f_operate_date <= '{} 23:59:59'">
28
+ </datepicker>
29
+ </div>
30
+ <div class="col-sm-2 form-group">
31
+ <label class="font_normal_body">客户编号</label>
32
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_userinfo_code"
33
+ condition="f_userinfo_code = '{}' " placeholder="客户编号">
34
+ </div>
35
+ <div class="col-sm-2 form-group">
36
+ <label class="font_normal_body">客户地址</label>
37
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_address"
38
+ condition="f_address like '%{}%'" placeholder='客户地址'>
39
+ </div>
40
+ <div class="span" style="float:right;">
41
+ <button class="button_search button_spacing" @click="search()">查询</button>
42
+ <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
43
+ <!--<button class="btn btn-default" @click="$parent.$parent.stamp()">打印</button>-->
44
+ <export-excel :data="$parent.$parent.getCondition" :footer="$parent.$parent.footer"
45
+ :field="$parent.$parent.getfield" :header="$parent.$parent.other"
46
+ sqlurl="rs/logic/exportfile" sql-name="transferQuery" template-name='过户查询导出'
47
+ :choose-col="true"></export-excel>
48
+ <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>
49
+ </div>
50
+ </div>
51
+ <div class="row" v-show="$parent.$parent.criteriaShow">
52
+ <res-select-group :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>
53
+ <div class="col-sm-2 form-group">
54
+ <label class="font_normal_body">过户状态</label>
55
+ <v-select :value.sync="model.f_state"
56
+ v-model="model.f_state"
57
+ :options='$parent.$parent.transferstate' placeholder='请选择'
58
+ condition="f_state = '{}'"
59
+ close-on-select></v-select>
60
+ </div>
61
+ <div class="col-sm-2 form-group">
62
+ <label class="font_normal_body">原户姓名</label>
63
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
64
+ placeholder="原户姓名"
65
+ condition="f_user_name like '%{}%'">
66
+ </div>
67
+ <div class="col-sm-2 form-group">
68
+ <label class="font_normal_body">新户姓名</label>
69
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_newuser_name"
70
+ condition="f_newuser_name like '%{}%' " placeholder="新户姓名">
71
+ </div>
72
+ <div class="col-sm-2 form-group">
73
+ <label class="font_normal_body">原户电话</label>
74
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_user_phone"
75
+ condition="f_user_phone like '%{}%' " placeholder="原户电话">
76
+ </div>
77
+ <div class="col-sm-2 form-group">
78
+ <label class="font_normal_body">新户电话</label>
79
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_newuser_phone"
80
+ condition="f_newuser_phone like '%{}%' " placeholder="新户电话">
81
+ </div>
82
+ </div>
83
+ </div>
84
+ </criteria>
85
+
86
+ <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid :classname="$parent.classname">
87
+ <template partial='head'>
88
+ <tr>
89
+ <th>
90
+ <nobr>客户编号</nobr>
91
+ </th>
92
+ <th>
93
+ <nobr>客户名称</nobr>
94
+ </th>
95
+ <th>
96
+ <nobr>客户地址</nobr>
97
+ </th>
98
+ <th>
99
+ <nobr>原客户名称</nobr>
100
+ </th>
101
+ <th>
102
+ <nobr>新客户电话</nobr>
103
+ </th>
104
+ <th>
105
+ <nobr>原客户电话</nobr>
106
+ </th>
107
+ <th>
108
+ <nobr>过户费</nobr>
109
+ </th>
110
+ <th>
111
+ <nobr>过户日期</nobr>
112
+ </th>
113
+ <th>
114
+ <nobr>业务单号</nobr>
115
+ </th>
116
+ <th>
117
+ <nobr>备注</nobr>
118
+ </th>
119
+ <th>
120
+ <nobr>操作员</nobr>
121
+ </th>
122
+ <th>
123
+ <nobr>部门</nobr>
124
+ </th>
125
+ <th>
126
+ <nobr>公司</nobr>
127
+ </th>
128
+ <th><nobr>附件</nobr></th>
129
+ </tr>
130
+ </template>
131
+ <template partial='body'>
132
+ <td style="text-align: center;">
133
+ <nobr>
134
+ <span @click="$parent.$parent.$parent.dealmsg(row)"><a>{{row.f_userinfo_code}}</a></span></nobr>
135
+ </td>
136
+ <td style="text-align: center;">
137
+ <nobr>{{row.f_newuser_name}}</nobr>
138
+ </td>
139
+ <td style="text-align: center;">
140
+ <nobr>{{row.f_address}}</nobr>
141
+ </td>
142
+ <td style="text-align: center;">
143
+ <nobr>{{row.f_user_name}}</nobr>
144
+ </td>
145
+ <td style="text-align: center;">
146
+ <nobr>{{row.f_newuser_phone}}</nobr>
147
+ </td>
148
+ <td style="text-align: center;">
149
+ <nobr>{{row.f_user_phone}}</nobr>
150
+ </td>
151
+ <td style="text-align: center;">
152
+ <nobr>{{row.f_transfer_fees}}</nobr>
153
+ </td>
154
+ <td style="text-align: center;">
155
+ <nobr>{{row.f_operate_date}}</nobr>
156
+ </td>
157
+ <td style="text-align: center;">
158
+ <nobr>{{row.f_serial_number}}</nobr>
159
+ </td>
160
+ <td style="text-align: center;">
161
+ <nobr>{{row.f_comments}}</nobr>
162
+ </td>
163
+ <td style="text-align: center;">
164
+ <nobr>{{row.f_operator}}</nobr>
165
+ </td>
166
+ <td style="text-align: center;">
167
+ <nobr>{{row.f_depname}}</nobr>
168
+ </td>
169
+ <td style="text-align: center;">
170
+ <nobr>{{row.f_orgname}}</nobr>
171
+ </td>
172
+ <td style="text-align: center;"><nobr>
173
+ <button class="btn btn-link" @click.stop="$parent.$parent.$parent.view(row)">查看</button>
174
+ </nobr></td>
175
+ </template>
176
+ <template partial='foot'></template>
177
+ </data-grid>
178
+ </criteria-paged>
179
+
180
+ <table class="table-hover">
181
+ <tr style="position: relative" class="table-bordered">
182
+ <td
183
+ style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
184
+ 汇总信息
185
+ </td>
186
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
187
+ 过户费合计:&emsp;{{sumsmodel.f_transfer_fees}}
188
+ </td>
189
+ </tr>
190
+ </table>
191
+ </div>
192
+ <div v-if="show">
193
+ <user-info-detail-manage-new :f_userinfo_id="rowdata.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage-new>
194
+ </div>
195
+ </div>
196
+ <modal :show.sync="showupload" v-if="showupload" width="80%" style="width:auto;" v-ref:modal middle backdrop="false">
197
+ <article slot="modal-body">
198
+ <upload :blodid="selected.f_userinfo_id" v-ref:upload isupload="false" takeimg="false" fusetype="过户" :isremark="false" style="width:auto" ></upload>
199
+ </article>
200
+ <footer slot="modal-footer" class="modal-footer">
201
+ </footer>
202
+ </modal>
203
+ </div>
204
+ </template>
205
+
206
+ <script>
207
+ import {PagedList} from 'vue-client'
208
+ import defaultPrint from './config/DefaultPrint'
209
+ import exportConfig from './config/exportConfig'
210
+
211
+ let readySomething = async function (self) {
212
+ if(self.data.startDate != null && self.data.endDate!=null){
213
+ self.$refs.paged.$refs.cri.model.startDate = self.data.startDate.substring(0,10)
214
+ self.$refs.paged.$refs.cri.model.endDate = self.data.endDate.substring(0,10)
215
+ }else{
216
+ self.$refs.paged.$refs.cri.model.startDate = self.$login.toStandardDateString()
217
+ self.$refs.paged.$refs.cri.model.endDate = self.$login.toStandardDateString()
218
+ }
219
+
220
+ // await self.$refs.paged.$refs.cri.search()
221
+ await self.$MagLoadParams.loadParam(self.$login.f)
222
+
223
+ self.sumsmodel = self.$refs.paged.$refs.grid.model.sums
224
+ }
225
+ export default {
226
+ props:['data'],
227
+ data() {
228
+ return {
229
+ data: {},
230
+ other:[],
231
+ footer:[],
232
+ show:false,
233
+ rowdata:{},
234
+ model: new PagedList('rs/sql/transferQuery', 20, {}, {f_transfer_fees: 0}),
235
+ criteriaShow: false,
236
+ initres: {
237
+ org:[this.$login.f.orgid],
238
+ dep:[],
239
+ user:[],
240
+ },
241
+ headData: ["客户编号", "新户姓名", "新户电话", "客户地址", "过户状态", "原户姓名", "原户电话", "客户类型", "用气性质", "气价名称", "过户费", "过户日期", "人员", "部门", "公司"],
242
+ bodyData: ["f_userinfo_code", "f_newuser_name", "f_newuser_phone", "address", "f_state", "f_user_name", "f_user_phone", "f_user_type", "f_gasproperties", "f_price_name", "f_transfer_fees", "f_operate_date", "f_operator", "f_depname", "f_orgname"],
243
+ orgCondtionStr: '',
244
+ modelval: [],
245
+ printshow: false,
246
+ all: false,
247
+ fields: {},
248
+ thead: '',
249
+ tfoot: '',
250
+ showupload:false,
251
+ selected:{},
252
+
253
+ transferstate: this.$appdata.getParam('过户状态') ? [{
254
+ label: '全部',
255
+ value: ''
256
+ }, ...this.$appdata.getParam('过户状态')] : [],
257
+ //合计数据
258
+ sumsmodel: {}
259
+ }
260
+ },
261
+ ready() {
262
+ console.log(this.$login.f)
263
+ readySomething(this).then(() => {
264
+ this.$emit('ready')
265
+ }).catch((error) => {
266
+ this.$emit('error', error)
267
+ })
268
+ },
269
+ methods: {
270
+ view(row){
271
+ this.showupload = true
272
+ this.selected= row
273
+ },
274
+ getotherfooter(){
275
+ // this.$refs.paged.$refs.cri.$refs.exports.otherData=[];
276
+ // this.$refs.paged.$refs.cri.$refs.exports.footerData=[];
277
+ this.other=[];
278
+ this.footer=[];
279
+ let exportdata = this.getCondition;
280
+ let otherInData=[];
281
+ otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`);
282
+ let footerData=[],exportfield=this.getfield;
283
+ footerData.push("合计");
284
+ let self = this;
285
+ for(var field in self.sumsmodel){
286
+ footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`);
287
+ }
288
+ this.footer.push(footerData);
289
+ this.other.push(otherInData);
290
+ },
291
+ search(){
292
+ this.$refs.paged.$refs.cri.search()
293
+ },
294
+ dblclick(obj) {
295
+ this.data = obj
296
+ this.showinfo = true
297
+ },
298
+ async selfSearch(args) {
299
+ this.$parent.$parent.$parent.data.startDate=this.$refs.paged.$refs.cri.model.startDate
300
+ this.$parent.$parent.$parent.data.endDate=this.$refs.paged.$refs.cri.model.endDate
301
+ args.condition = `${args.condition}` + this.orgCondtionStr
302
+ console.log('我的阐述', JSON.stringify(args.condition))
303
+ await this.model.search(args.condition, args.model)
304
+
305
+ this.sumsmodel = this.$refs.paged.$refs.grid.model.sums
306
+ console.log('合计字段', this.sumsmodel)
307
+ },
308
+ dealmsg(val) {
309
+ console.log('---------------dealmsg')
310
+ this.rowdata=val
311
+ this.show=true
312
+ val.model = this.model.model
313
+ this.$dispatch('deal-msg', val)
314
+ },
315
+ cancel() {
316
+ this.show = false
317
+ },
318
+ clear() {
319
+ //清空部门和人员
320
+ this.$refs.paged.$refs.cri.$refs.sel.$children[1].selectres = []
321
+ //部门和人员变为全选
322
+ this.$refs.paged.$refs.cri.$refs.sel.$children[1].$children[0].isSelectAll = false
323
+ this.$refs.paged.$refs.cri.$refs.sel.$children[2].$children[0].isSelectAll = false
324
+ Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
325
+ this.$refs.paged.$refs.cri.model[key] = []
326
+ })
327
+ },
328
+ show() {
329
+ this.criteriaShow = true
330
+ },
331
+ hidden() {
332
+ this.criteriaShow = !this.criteriaShow
333
+ },
334
+ getRes(obj) {
335
+ this.orgCondtionStr = obj
336
+ },
337
+ stamp() {
338
+ this.all = false
339
+ //默认选择要打印的列
340
+ this.modelval = defaultPrint.config
341
+ this.fields = this.getfield
342
+ console.log('所有打印字段', this.fields)
343
+ this.printshow = true
344
+ this.put()
345
+ },
346
+ put() {
347
+ // 对Modelval进行排序
348
+ this.sortModelval()
349
+ this.thead = `<tr><th colspan=${this.modelval.length}>过户查询统计报表</th></tr><tr>`
350
+ for (let key of this.modelval) {
351
+ this.thead += '<th>' + this.fields[key] + '</th>'
352
+ }
353
+ this.thead += '</tr>'
354
+ },
355
+ print() {
356
+ this.$refs.print.PrintAsFile()
357
+ this.printshow = false
358
+ },
359
+ close() {
360
+ this.printshow = false
361
+ this.all = false
362
+ },
363
+ // 对选择的列进行排序
364
+ sortModelval() {
365
+ let sortModel = []
366
+ Object.keys(this.fields).forEach((key) => {
367
+ if (this.modelval.includes(key)) {
368
+ sortModel.push(key)
369
+ }
370
+ })
371
+ this.modelval = sortModel
372
+ console.log('选择的打印的字段', this.modelval)
373
+ }
374
+ },
375
+ watch: {
376
+ 'all'(val) {
377
+ if (val) {
378
+ this.modelval = this.bodyData
379
+ } else {
380
+ this.modelval = defaultPrint.config
381
+ this.put()
382
+ }
383
+ },
384
+ 'modelval.length'() {
385
+ this.put()
386
+ },
387
+ sumsmodel:{
388
+ handler: function(val) {
389
+ this.getotherfooter();
390
+ },
391
+ deep: true
392
+ }
393
+ },
394
+ computed: {
395
+ getCondition() {
396
+ return {condition: `${this.$refs.paged.$refs.cri.condition}` + this.orgCondtionStr}
397
+ },
398
+ getfield() {
399
+ return exportConfig.transferConfig
400
+ }
401
+ }
402
+ }
403
+ </script>