apply-clients 5.0.35 → 5.0.36-2

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 (91) hide show
  1. package/package.json +3 -3
  2. package/src/android.js +1 -1
  3. package/src/apply.js +15 -1
  4. package/src/assets//345/210/240/351/231/244.png +0 -0
  5. package/src/assets//347/224/250/346/210/267/345/234/260/345/235/200.png +0 -0
  6. package/src/assets//347/224/250/346/210/267/345/247/223/345/220/215.png +0 -0
  7. package/src/assets//347/224/250/346/210/267/347/224/265/350/257/235.png +0 -0
  8. package/src/components/app_apply/ApplyApp.vue +6 -6
  9. package/src/components/app_apply/ApplyDownList.vue +18 -16
  10. package/src/components/app_apply/ApplyInfo.vue +2 -2
  11. package/src/components/app_apply/ApplyListUpload.vue +15 -5
  12. package/src/components/app_apply/ApplyToDoList.vue +201 -54
  13. package/src/components/app_apply/ApplyUserInfo.vue +2 -2
  14. package/src/components/app_apply/FieldExploration.vue +0 -1
  15. package/src/components/app_apply/Gongcheng.vue +3631 -0
  16. package/src/components/app_apply/OneToMany.vue +194 -0
  17. package/src/components/app_apply/PlaceControler.vue +230 -189
  18. package/src/components/app_apply/ServiceControl.vue +687 -442
  19. package/src/components/app_apply/ServiceView.vue +44 -17
  20. package/src/components/app_apply/ezhou/FeiMinYongV.vue +109 -0
  21. package/src/components/app_apply/ezhou/FeiMinYongVV.vue +100 -0
  22. package/src/components/app_apply/ezhou/MinYong.vue +92 -0
  23. package/src/components/app_apply/ezhou/ServiceView.vue +745 -0
  24. package/src/components/image/doc.jpg +0 -0
  25. package/src/components/image/dwg.png +0 -0
  26. package/src/components/image/dxf.png +0 -0
  27. package/src/components/image/excel.jpg +0 -0
  28. package/src/components/image/pdf.jpg +0 -0
  29. package/src/components/phone/phoneselect.vue +250 -0
  30. package/src/components/phone/phoneselect2.vue +112 -0
  31. package/src/components/product/Common/ApplyValidateBill.vue +13 -6
  32. package/src/components/product/Common/PrintBill.vue +7 -6
  33. package/src/components/product/EngineeringManagement/EngineerUpload.vue +304 -0
  34. package/src/components/product/EngineeringManagement/EngineeringManagement.vue +137 -0
  35. package/src/components/product/EngineeringManagement/EngineeringSelect.vue +586 -0
  36. package/src/components/product/EngineeringSupervisory/EngineeringApplyStopInfo.vue +281 -0
  37. package/src/components/product/EngineeringSupervisory/EngineeringSupervisoryControl.vue +132 -0
  38. package/src/components/product/EngineeringSupervisory/EngineeringSupervisoryList.vue +340 -0
  39. package/src/components/product/EngineeringSupervisory/EngineeringSupervisoryServiceControl.vue +490 -0
  40. package/src/components/product/Function/InstallInfoSelect.vue +255 -254
  41. package/src/components/product/Function/Service/FunctionServiceControl.vue +37 -1
  42. package/src/components/product/Function/functions/ApplyUpload.vue +556 -0
  43. package/src/components/product/Function/functions/BuyerMessage.vue +512 -512
  44. package/src/components/product/Function/functions/InstallFee.vue +589 -347
  45. package/src/components/product/Function/functions/InstallFeeInfo.vue +6 -1
  46. package/src/components/product/Process/ExplorationSelect.vue +653 -636
  47. package/src/components/product/Process/Processes/CustomerRecordMessage.vue +2 -5
  48. package/src/components/product/Process/Processes/Service/ApplyChargeSearch.vue +392 -305
  49. package/src/components/product/Process/Processes/Service/PaperTicketBill.vue +85 -0
  50. package/src/components/product/Process/Processes/Service/ServiceControl.vue +1885 -1493
  51. package/src/components/product/ServiceView.vue +810 -800
  52. package/src/components/product/Supervisory/Service/SupervisoryServiceControl.vue +162 -10
  53. package/src/components/product/Supervisory/SupervisoryList.vue +77 -13
  54. package/src/components/product/applyReport/ApplyReport.vue +205 -0
  55. package/src/components/product/applyReport/PrintApplyReport.vue +116 -0
  56. package/src/components/product/stopInfo/ApplyStopInfo.vue +281 -280
  57. package/src/ezhouAndroid.js +48 -0
  58. package/src/index.js +3 -2
  59. package/src/main.js +1 -1
  60. package/src/plugins/commonService.js +11 -7
  61. package/static/newStyle/clear.png +0 -0
  62. package/static/newStyle/fife.png +0 -0
  63. package/static/newStyle/hidden.png +0 -0
  64. package/static/newStyle/label-clear.png +0 -0
  65. package/static/newStyle/left-img.png +0 -0
  66. package/static/newStyle/list_ok.png +0 -0
  67. package/static/newStyle/login-check.png +0 -0
  68. package/static/newStyle/login-con.png +0 -0
  69. package/static/newStyle/login-do.gif +0 -0
  70. package/static/newStyle/login-f.png +0 -0
  71. package/static/newStyle/login-info.png +0 -0
  72. package/static/newStyle/login-left.png +0 -0
  73. package/static/newStyle/login-org.png +0 -0
  74. package/static/newStyle/login-pwd.png +0 -0
  75. package/static/newStyle/login-user.png +0 -0
  76. package/static/newStyle/loginbg.gif +0 -0
  77. package/static/newStyle/loginbg1280.gif +0 -0
  78. package/static/newStyle/loginbg1366.gif +0 -0
  79. package/static/newStyle/loginbg_1.gif +0 -0
  80. package/static/newStyle/searchin.png +0 -0
  81. package/static/newStyle/searchout.png +0 -0
  82. package/static/newStyle/setting.png +0 -0
  83. package/static/newStyle/setting1.png +0 -0
  84. package/static/newStyle/shirk.png +0 -0
  85. package/static/newStyle/stretch_bottom.png +0 -0
  86. package/static/newStyle/stretch_left.png +0 -0
  87. package/static/newStyle/stretch_right.png +0 -0
  88. package/static/newStyle/stretch_top.png +0 -0
  89. package/static/newStyle/system-off.png +0 -0
  90. package/static/newStyle//350/261/252/344/275/263/347/207/203/346/260/224.png +0 -0
  91. package/yarn.lock +0 -8072
@@ -20,6 +20,7 @@
20
20
  </template>
21
21
  <script>
22
22
  import {HttpResetClass} from 'vue-client'
23
+ import Vue from "vue";
23
24
  export default {
24
25
  title: '报建监控控制层',
25
26
  props: ['selectdata'],
@@ -36,6 +37,45 @@
36
37
  },
37
38
  // json配置数据处理 比如下拉框的options
38
39
  async initializtion() {
40
+ // onetomany 数据获取
41
+ if (this.data.onetomany) {
42
+ console.log('判断是onetomany,this.data.onetomany的数据为=>' + JSON.stringify(this.data.onetomany))
43
+ for (let index = 0; index < this.data.onetomany.length; index++) {
44
+ let http = new HttpResetClass()
45
+ let data = {}
46
+ if (this.data.onetomany[index].tables[0] == 't_charge_record') {
47
+ data = {
48
+ tablename: this.data.onetomany[index].tables[0],
49
+ condition: `f_apply_num = '${this.selectdata.f_apply_num}' and f_process_id='${this.selectdata.f_process_id}' and f_charging_status != '作废'`
50
+ }
51
+ } else {
52
+ data = {
53
+ tablename: this.data.onetomany[index].tables[0],
54
+ condition: `f_process_id='${this.selectdata.f_process_id}'`
55
+ }
56
+ }
57
+ let res = await http.load('POST', 'rs/sql/singleTable', {data: data}, {
58
+ resolveMsg: null,
59
+ rejectMsg: 'onetomany查询失败'
60
+ })
61
+ // 初始化 onetomany
62
+ let rows = []
63
+ console.log('查询返回结果res.data=>' + JSON.stringify(res.data))
64
+ this.data.onetomany[index].rows = res.data
65
+ // console.log(JSON.stringify('this.data.onetomany[index].rows=>' + JSON.stringify(this.data.onetomany[index].rows)))
66
+
67
+ // 初始化onetomany中的fields
68
+ for (let j = 0; j < this.data.onetomany[index].fields.length; j++) {
69
+ // 如果配置类型为select,优先从参数列表获取options
70
+ if (this.data.onetomany[index].fields[j].type === 'select') {
71
+ let temp = Vue.$appdata.getParam(this.data.onetomany[index].fields[j].label)
72
+ if (temp && temp.length > 0) {
73
+ this.data.onetomany[index].fields[j].options = Vue.$appdata.getParam(this.data.onetomany[index].fields[j].label)
74
+ }
75
+ }
76
+ }
77
+ }
78
+ }
39
79
  // selectdata 填充 data
40
80
  if (this.selectdata.f_survey_name) {
41
81
  let buyerinfos = []
@@ -93,11 +133,11 @@
93
133
  }
94
134
  this.data.fields[i].readonly = true
95
135
  this.data.fields[i].disabled = true
96
- if(this.$login.r.find(value => value == '报建流程修改') && this.data.f_apply_type=='个人报建' && this.$login.r.includes('报建流程修改')){
136
+ if(this.$login.r.find(value => value == '报建流程修改') && this.$login.r.includes('报建流程修改')){
97
137
  this.data.fields[i].readonly = false
98
138
  this.data.fields[i].disabled = false
99
139
  }
100
- if(this.$login.r.find(value => value == '集体报建流程修改') && this.data.f_apply_type=='集体报建' && this.$login.r.includes('报建流程修改')){
140
+ if(this.$login.r.find(value => value == '集体报建流程修改') && this.$login.r.includes('报建流程修改')){
101
141
  this.data.fields[i].readonly = false
102
142
  this.data.fields[i].disabled = false
103
143
  }
@@ -117,7 +157,7 @@
117
157
  }
118
158
  }
119
159
  this.data.buttons = null
120
- if( this.$login.r.find(value => value == '报建流程修改') && this.data.f_apply_type=='个人报建' ){
160
+ if( this.$login.r.find(value => value == '报建流程修改') ){
121
161
  // 仅留保存按钮
122
162
  this.data.buttons = [
123
163
  {
@@ -125,7 +165,7 @@
125
165
  }
126
166
  ]
127
167
  }
128
- if(this.data.f_apply_type=='集体报建' && this.$login.r.includes('集体报建流程修改')){
168
+ if(this.$login.r.includes('集体报建流程修改')){
129
169
  // 仅留保存按钮
130
170
  this.data.buttons = [
131
171
  {
@@ -133,13 +173,115 @@
133
173
  }
134
174
  ]
135
175
  }
136
-
137
176
  }
138
177
  },
139
178
  events:{
140
179
  'getmodel'(){
141
180
  return this.$refs.service_show.getmodel()
142
181
  },
182
+ async 'onetomanydelete'(i, j) {
183
+ let http = new HttpResetClass()
184
+ let data = {
185
+ tables: this.$refs.service_show.data.onetomany[i].tables,
186
+ row: this.$refs.service_show.model.rows[i][j]
187
+ }
188
+ await http.load('POST', 'rs/logic/applyDeleteValue', {data: data}, {
189
+ resolveMsg: null,
190
+ rejectMsg: 'onetomanydelete失败'
191
+ }).then(() => {
192
+ this.$dispatch('selfsearch')
193
+ this.$refs.service_show.model.rows[i].splice(j, 1)
194
+ })
195
+ },
196
+ //获取view层confirm事件
197
+ async 'confirm'(tables, row, showadd_index, j) {
198
+ debugger
199
+ var _this = this
200
+ for (let i = 0; i < tables.length; i++) {
201
+ let datas = {
202
+ tables: tables,
203
+ row: row
204
+ }
205
+ console.log("看看datas")
206
+ console.log(datas)
207
+ console.log("看看showadd_index")
208
+ console.log(showadd_index)
209
+ datas.row['f_process_id'] = this.selectdata.f_process_id
210
+ datas.row['f_apply_num'] = this.selectdata.f_apply_num
211
+ datas.row['f_filiale'] = this.selectdata.f_filiale
212
+ let http = new HttpResetClass()
213
+ let sellid = ''
214
+ let billtype = datas.row['f_bill_style']
215
+ if (tables[i] == 't_charge_record') {
216
+ await this.loadbuyer()
217
+ if (this.buyerinfo.rows.length < 1 && billtype === '增值税电子发票' && this.$appdata.getSingleValue('默认打印票据') === '是') {
218
+ this.$showAlert('未找到购买方信息,请去报建功能"购买方信息"中完善购买方信息后再收费', 'info', 2000)
219
+ this.$refs.service_show.model.rows[showadd_index].splice(j, 1)
220
+ this.$refs.service_show.initializtion()
221
+ return
222
+ }
223
+ datas.row.f_charging_status = '有效'
224
+ datas.row.f_is_correct = '否'
225
+ datas.row.f_charge_collectors = this.$login.f.name
226
+ datas.row.f_amount_words=this.smalltoBIG(datas.row.f_charge_money)
227
+ await http.load('POST', 'rs/logic/applycharge', datas, {
228
+ resolveMsg: null,
229
+ rejectMsg: '收费保存失败'
230
+ }).then((res) => {
231
+ sellid = JSON.parse(res.data.sellid).id
232
+ for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
233
+ //
234
+ // if (this.$refs.service_show.data.fields[i].label == '累计缴费金额') {
235
+ // this.$refs.service_show.data.fields[i].value = res.data.f_cumulative_money
236
+ // }
237
+ //
238
+ // if (this.$refs.service_show.data.fields[i].label == '未结总金额') {
239
+ // this.$refs.service_show.data.fields[i].value = res.data.f_unaccounts_money
240
+ // }
241
+
242
+ }
243
+ let temp = _this.$refs.service_show.model.rows[showadd_index][j]
244
+ temp.id = sellid
245
+ _this.$refs.service_show.model.rows[showadd_index][j] = temp
246
+ })
247
+ if (this.$appdata.getSingleValue('默认打印票据') && this.$appdata.getSingleValue('默认打印票据') === '是') {
248
+ this.$showMessage('是否打票据', ['confirm', 'cancel']).then((res) => {
249
+ if (res === 'confirm') {
250
+ console.log('打印票据')
251
+ if (billtype === '增值税电子发票') {
252
+ this.selectsellid = sellid
253
+ this.showbuyerinfo = true
254
+ } else {
255
+ this.printbill(sellid)
256
+ }
257
+ for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
258
+ if (this.$refs.service_show.data.fields[i].label == '累计开票金额') {
259
+ console.log("计算累计开票金额")
260
+ this.$refs.service_show.data.fields[i].value = parseInt(this.$refs.service_show.data.fields[i].value) + this.datas.row.f_cumulative_invoicing
261
+ }
262
+ }
263
+ }
264
+ })
265
+ }
266
+ // 刷新列表数据
267
+ console.log("刷新一下")
268
+ this.$dispatch('selfsearch')
269
+ console.log("刷新完成")
270
+ } else {
271
+ debugger
272
+ await http.load('POST', 'rs/logic/saveentity', datas, {
273
+ resolveMsg: null,
274
+ rejectMsg: 'onetomany保存失败'
275
+ }).then((res) => {
276
+ // 刷新列表数据
277
+ this.$dispatch('selfsearch')
278
+ let temp = _this.$refs.service_show.model.rows[showadd_index][j]
279
+ temp.id = res.data.id
280
+ _this.$refs.service_show.model.rows[showadd_index][j] = temp
281
+ })
282
+ }
283
+ }
284
+ },
143
285
  // 获取view层button事件/
144
286
  async 'button'(model) {
145
287
  let http = new HttpResetClass()
@@ -340,6 +482,9 @@
340
482
  // xxx xx xxx
341
483
  if (this.$refs.service_show.data.fields[k].label === '县/区' && this.$refs.service_show.data.fields[k].value) {
342
484
  address += this.$refs.service_show.data.fields[k].value
485
+ if (address.indexOf('湖北省')!=-1){
486
+ address = address.replace('湖北省','')
487
+ }
343
488
  }
344
489
  if (this.$refs.service_show.data.fields[k].label === '街道名称' && this.$refs.service_show.data.fields[k].value) {
345
490
  address += this.$refs.service_show.data.fields[k].value
@@ -390,11 +535,18 @@
390
535
  this.data = jsonData
391
536
  this.initializtion()
392
537
  // 完成时间和完成人,部门,分公司
393
- this.data.filiale = this.selectdata.f_filiale
394
- this.data.f_parentname = this.selectdata.f_parentname
395
- this.data.operate_date = this.selectdata.finishtime
396
- this.data.operator = this.selectdata.sender
397
- this.showview = true
538
+ if(this.selectdata.defname =='完工'){ this.data.filiale = this.selectdata.f_filiale
539
+ this.data.f_parentname = this.selectdata.f_parentname
540
+ this.data.operate_date = this.selectdata.sendtime
541
+ this.data.operator = this.selectdata.sender
542
+ this.showview = true
543
+ }else{
544
+ this.data.f_parentname = this.selectdata.f_parentname
545
+ this.data.operate_date = this.selectdata.finishtime
546
+ this.data.operator = this.selectdata.person
547
+ this.showview = true
548
+ }
549
+
398
550
  } else if (sum == 0) {
399
551
  this.$showMessage(`没有在JSON配置文件中找到活动名为:(${this.selectdata.defname})的节点配置`)
400
552
  } else {
@@ -1,8 +1,8 @@
1
1
  <template>
2
2
  <div class="d1">
3
- <div class="left col-sm-12">
3
+ <div class="left col-sm-12" style="height:90%;">
4
4
  <criteria-paged :model="model" v-ref:cp>
5
- <criteria partial='criteria' @condition-changed='search' v-ref:cri style="padding: 20px;background-color: #f6f6f6;">
5
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri style="padding: 20px;background-color: #f6f6f6;">
6
6
  <form novalidate class="" partial>
7
7
  <div class="col-sm-12">
8
8
  <div class="col-sm-2 ">
@@ -53,7 +53,15 @@
53
53
  </v-select>
54
54
  </div>
55
55
  </div>
56
-
56
+ <div class="col-sm-2" >
57
+ <label class="col-sm-4 control-label">支付账户</label>
58
+ <div class="col-sm-8">
59
+ <v-select style="min-width: 100%;" @change="$dispatch('setQueryCondition',model)" :options="[{label:'全部',value:''},{label:'安泰',value:'安泰'},{label:'欣泰',value:'欣泰'}]"
60
+ condition="f_payment_account = '{}'" placeholder='支付账户'
61
+ v-model="model.f_payment_account" :value.sync="model.f_payment_account" close-on-select>
62
+ </v-select>
63
+ </div>
64
+ </div>
57
65
  </div>
58
66
  <div class="col-sm-12" style="margin-top:5px;">
59
67
  <div class="col-sm-2">
@@ -113,14 +121,14 @@
113
121
  <div class="col-sm-2" style="float: left">
114
122
  <label class="col-sm-4 control-label">报装来源</label>
115
123
  <div class="col-sm-8">
116
- <v-select style="min-width: 100%;" @change="$dispatch('setQueryCondition',model)" :options="[{label:'全部',value:''},{label:'燃气系统',value:'燃气系统'},{label:'微信',value:'微信'}]"
124
+ <v-select style="min-width: 100%;" @change="$dispatch('setQueryCondition',model)" :options="[{label:'全部',value:''},{label:'燃气系统',value:'燃气系统'},{label:'微信',value:'微信'},{label:'住建局',value:'住建局'}]"
117
125
  condition="f_apply_source = '{}'" placeholder='报装来源'
118
126
  v-model="model.f_apply_source" :value.sync="model.f_apply_source" close-on-select>
119
127
  </v-select>
120
128
  </div>
121
129
  </div>
122
130
  <div class="col-sm-1" style="margin-left:20px;">
123
- <button style="margin-left:5%;" class="btn btn-primary btn-sm width-80 button_spacing" type="button" @click="search(),$parent.$parent.close()">
131
+ <button style="margin-left:5%;" class="btn btn-primary btn-sm width-80 button_spacing" type="button" @click="search(),$parent.$parent.cleaner()">
124
132
  <span class="glyphicon glyphicon-search"></span>查询
125
133
  </button>
126
134
  <button class="btn-primary btn btn-sm button_spacing" @click.prevent="$parent.$parent.clear()">清空</button>
@@ -164,6 +172,15 @@
164
172
  <th>
165
173
  <nobr>报建类型</nobr>
166
174
  </th>
175
+ <th>
176
+ <nobr>应缴金额</nobr>
177
+ </th>
178
+ <th>
179
+ <nobr>已缴金额</nobr>
180
+ </th>
181
+ <th>
182
+ <nobr>未缴金额</nobr>
183
+ </th>
167
184
  <th>
168
185
  <nobr>报建日期</nobr>
169
186
  </th>
@@ -204,6 +221,15 @@
204
221
  <td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
205
222
  <nobr>{{row.f_apply_type}}</nobr>
206
223
  </td>
224
+ <td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
225
+ <nobr>{{row.f_total_cost}}</nobr>
226
+ </td>
227
+ <td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
228
+ <nobr>{{row.f_cumulative_money}}</nobr>
229
+ </td>
230
+ <td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
231
+ <nobr>{{row.f_unaccounts_money}}</nobr>
232
+ </td>
207
233
  <td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
208
234
  <nobr>{{row.f_apply_date}}</nobr>
209
235
  </td>
@@ -212,6 +238,15 @@
212
238
  </data-grid>
213
239
  </criteria-paged>
214
240
  </div>
241
+ <div class="flex" style="height: 10%;width: 100%;">
242
+ <div novalidate class="form-inline auto" partial>
243
+ <p class="bg-info text-center" style="padding: 8px;font-size: 20px">合计收费记录共
244
+ <span style="color: red">{{model.rows.length}}</span>笔,
245
+ 合计应缴总金额<span style="color: red">{{price.rows[0].f_total_cost}}</span>元,
246
+ 已缴<span style="color: red">{{price.rows[0].f_cumulative_money}}</span>元,未缴<span style="color: red">{{price.rows[0].f_unaccounts_money}}</span>元
247
+ </p>
248
+ </div>
249
+ </div>
215
250
  </div>
216
251
  </template>
217
252
  <script>
@@ -246,9 +281,18 @@
246
281
  model: new PagedList('rs/sql/supervisory', 20, {
247
282
  data: {
248
283
  id: `${this.$login.f.name}`,
249
- fengongsi: `${this.$login.f.f_fengongsi}`
284
+ fengongsi: `${this.$login.f.f_fengongsi}`,
285
+ f_product_id :0
286
+ }
287
+ }),
288
+ modeluse: new PagedList('rs/sql/supervisory', 999999, {
289
+ data: {
290
+ id: `${this.$login.f.name}`,
291
+ fengongsi: `${this.$login.f.f_fengongsi}`,
292
+ f_product_id :0
250
293
  }
251
294
  }),
295
+ price: new PagedList('rs/sql/getChargeAllSum', 999999, {orderitem: '`f_total_cost`'}),
252
296
  condition: '',
253
297
  select: '',
254
298
  alloptions:[]
@@ -257,10 +301,30 @@
257
301
  ready() {
258
302
  this.$refs.cp.$refs.cri.model.startDate = Util.toStandardDateString() + ' 00:00:00'
259
303
  this.$refs.cp.$refs.cri.model.endDate = Util.toStandardDateString() + ' 23:59:59'
260
- this.$refs.cp.$refs.cri.search()
304
+ this.search()
261
305
  this.getConfig();
262
306
  },
263
307
  methods: {
308
+ selfSearch (args) {
309
+ args.condition = args.condition + ` and u.f_filiale = '${this.$login.f.f_fengongsi}' `
310
+ this.model.search(args.condition,args.model)
311
+ },
312
+ search () {
313
+ let startDate = Util.toStandardDateString() + ' 00:00:00'
314
+ let endDate = Util.toStandardDateString() + ' 23:59:59'
315
+ this.$refs.cp.$refs.cri.condition = this.$refs.cp.$refs.cri.condition + ` and u.f_filiale = '${this.$login.f.f_fengongsi}' `
316
+ this.$refs.cp.$refs.cri.search()
317
+ },
318
+ cleaner () {
319
+ Object.keys(this.$refs.cp.$refs.cri.model).forEach((key) => {
320
+ this.$refs.cp.$refs.cri.model[key] = ''
321
+ })
322
+ let condition = this.$refs.cp.$refs.cri.condition + ` and u.f_filiale = '${this.$login.f.f_fengongsi}' `
323
+ // console.log('condition2:', this.$refs.cp.$refs.cri.condition)
324
+ // this.modeluse.search(condition)
325
+ this.price.search(condition)
326
+ this.$dispatch('close')
327
+ },
264
328
  clear(){
265
329
  Object.keys(this.$refs.cp.$refs.cri.model).forEach((key) => {
266
330
  this.$refs.cp.$refs.cri.model[key] = []
@@ -336,12 +400,12 @@
336
400
  }
337
401
  </script>
338
402
  <style>
339
- label {
340
- display: flex;
341
- justify-content:center;
342
- align-items:Center;
343
- padding-top: 8px;
344
- }
403
+ /*label {*/
404
+ /* display: flex;*/
405
+ /* justify-content:center;*/
406
+ /* align-items:Center;*/
407
+ /* padding-top: 8px;*/
408
+ /*}*/
345
409
  tr.title {
346
410
  background-color: #6666ff;
347
411
  }
@@ -0,0 +1,205 @@
1
+ <template>
2
+ <div class="d1 flex">
3
+ <div class="left col-sm-12">
4
+ <criteria-paged :model="model" v-ref:cp>
5
+ <criteria partial='criteria' @condition-changed='search' v-ref:cri style="padding: 20px;background-color: #f6f6f6;">
6
+ <form novalidate class="" partial>
7
+ <div class="row">
8
+ <button type="button" class="btn btn-success" @click='$parent.$parent.showQuery=!$parent.$parent.showQuery'>
9
+ 打印
10
+ </button>
11
+ <export-excel :data="$parent.$parent.getCondition"
12
+ :field="$parent.$parent.getfield"
13
+ sqlurl="rs/logic/saleExport" sql-name="checkuserReport" template-name='报装统计导出' :choose-col="true"></export-excel>
14
+ <button class="btn btn-primary btn-sm" type="button" @click="$parent.$parent.search(),$parent.$parent.showpager()" style="margin-left:10%">
15
+ <span class="glyphicon glyphicon-search"></span>查询
16
+ </button>
17
+ </div>
18
+ </form>
19
+ </criteria>
20
+ <data-grid :model="model" partial='list' v-ref:grid class="list_area" is-fixed='false'>
21
+ <template partial='head'>
22
+ <tr>
23
+ <th colspan="7"><h4>报装人员勘察 安装 通气 统计查询</h4></th>
24
+ </tr>
25
+ <tr>
26
+ <th colspan="1" rowspan="2">报装人员</th>
27
+ <th colspan="2">个人报建</th>
28
+ <th colspan="4">集体报建</th>
29
+ </tr>
30
+ <tr class="title">
31
+ <th>
32
+ <nobr>踏勘</nobr>
33
+ </th>
34
+ <th>
35
+ <nobr>安装</nobr>
36
+ </th>
37
+ <th>
38
+ <nobr>踏勘</nobr>
39
+ </th>
40
+ <th>
41
+ <nobr>安装</nobr>
42
+ </th>
43
+ <th>
44
+ <nobr>验收</nobr>
45
+ </th>
46
+ <th>
47
+ <nobr>通气</nobr>
48
+ </th>
49
+ </tr>
50
+ </template>
51
+ <template partial='body'>
52
+ <tr>
53
+ <td style="text-align: center;">
54
+ <nobr>{{row.username}}</nobr>
55
+ </td>
56
+ <td style="text-align: center;">
57
+ <nobr>{{row.gsurvey_name}}</nobr>
58
+ </td>
59
+ <td style="text-align: center;">
60
+ <nobr>{{row.gconstruction_unit}}</nobr>
61
+ </td>
62
+ <td style="text-align: center;">
63
+ <nobr>{{row.jsurvey_name}}</nobr>
64
+ </td>
65
+ <td style="text-align: center;">
66
+ <nobr>{{row.jconstruction_unit}}</nobr>
67
+ </td>
68
+ <td style="text-align: center;">
69
+ <nobr>{{row.checking_name}}</nobr>
70
+ </td>
71
+ <td style="text-align: center;">
72
+ <nobr>{{row.jgas_name}}</nobr>
73
+ </td>
74
+ </tr>
75
+ </template>
76
+ </data-grid>
77
+ </criteria-paged>
78
+ <div class="flex" style="height: 10%">
79
+ <div novalidate class="form-inline auto" partial>
80
+ <p class="bg-info text-center" style="padding: 8px;font-size: 20px">个体报建
81
+ 勘踏合计:<span style="color: red">{{total.rows[0].sumgname}}</span>次,安装合计:<span style="color: red">{{total.rows[0].sumgunit}}</span>次,
82
+ 集体报建 勘踏合计:<span style="color: red">{{total.rows[0].sumname}}</span>次,安装合计:<span style="color: red">{{total.rows[0].sumjunit}}</span>次,
83
+ 验收合计:<span style="color: red">{{total.rows[0].sumgcname}}</span>次,
84
+ 通气合计:<span style="color: red">{{total.rows[0].sunjname}}</span>次
85
+ </p>
86
+ </div>
87
+ </div>
88
+ </div>
89
+ <modal :show.sync="showQuery" v-ref:modal :large="true" :backdrop="false" title="打印预览">
90
+ <header slot="modal-header" class="modal-header">
91
+ <button type="button" class="close" @click="showQuery = !showQuery"><span>&times;</span></button>
92
+ <h4 class="modal-title">打印预览</h4>
93
+ </header>
94
+ <article slot="modal-body" class="modal-body clearfix">
95
+ <print-report-order :purchase-records="purchaseRecords" :report="model.rows" v-ref:print></print-report-order>
96
+ </article>
97
+ <footer slot="modal-footer" class="modal-footer">
98
+ <button type="button" class="btn btn-primary" @click="print()">打印</button>
99
+ </footer>
100
+ </modal>
101
+ </div>
102
+ </template>
103
+ <script>
104
+ Date.prototype.Format = function (fmt) {
105
+ var o = {
106
+ "M+": this.getMonth() + 1, //月份
107
+ "d+": this.getDate(), //日
108
+ "H+": this.getHours(), //小时
109
+ "m+": this.getMinutes(), //分
110
+ "s+": this.getSeconds(), //秒
111
+ "q+": Math.floor((this.getMonth() + 3) / 3), //季度
112
+ "S": this.getMilliseconds() //毫秒
113
+ };
114
+ if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
115
+ for (var k in o)
116
+ if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
117
+ return fmt;
118
+ }
119
+ import {
120
+ PagedList
121
+ } from 'vue-client'
122
+ import * as Util from '../../Util'
123
+
124
+ export default {
125
+ title: '报建统计报表',
126
+ data() {
127
+ return {
128
+ usertype: this.$appdata.getParam('用户类型'),
129
+ showbtn: false,
130
+ model: new PagedList('rs/sql/checkuserReport', 20, {
131
+ data: {
132
+ id: this.$login.f.id,
133
+ fengongsi: this.$login.f.f_fengongsi,
134
+ }
135
+ }),
136
+ condition: '',
137
+ showQuery:false,
138
+ total: new PagedList('rs/sql/checkuserReportTotal', 999999, {orderitem: '`sumname`'}),
139
+ showstopinfoflag:false,
140
+ stopremarks:"",
141
+ getfield: {
142
+ 'username': '报装人员',
143
+ 'gsurvey_name': '个体报建踏勘次数',
144
+ 'gconstruction_unit': '个体报建安装次数',
145
+ 'jsurvey_name': '集体报建踏勘次数',
146
+ 'jconstruction_unit': '集体报建安装次数',
147
+ 'checking_name': '集体报建验收次数',
148
+ 'jgas_name': '集体报建通气次数'
149
+ }
150
+ }
151
+ },
152
+ ready() {
153
+ this.$refs.cp.$refs.cri.model.startDate = Util.toStandardDateString() + ' 00:00:00'
154
+ this.$refs.cp.$refs.cri.model.endDate = Util.toStandardDateString() + ' 23:59:59'
155
+ this.search()
156
+
157
+ },
158
+ methods: {
159
+ print () {
160
+ this.$refs.print.$refs.print.PrintTable()
161
+ },
162
+ stopinfoshow(index){
163
+ this.showstopinfoflag = true;
164
+ let remakrs = this.model.rows[index].f_stop_remarks;
165
+ console.log(JSON.stringify(remakrs))
166
+ console.log(remakrs)
167
+
168
+ this.stopremarks= remakrs;
169
+ },
170
+ clifun(row) {
171
+ this.$refs.cp.$refs.grid.model.rows = [row]
172
+ this.$refs.cp.pager = false
173
+ this.$dispatch('showbtn', row)
174
+ },
175
+ search () {
176
+ let condition = "1=1"
177
+ // debugger
178
+ // let condition = args.condition
179
+ debugger
180
+ this.model.search()
181
+ this.total.search()
182
+ },
183
+ showpager() {
184
+ this.$refs.cp.pager = true
185
+ this.$dispatch('hiddenbtn')
186
+ },
187
+ closestopinfo(){
188
+ this.showstopinfoflag = close;
189
+ }
190
+ },
191
+ computed: {
192
+ getCondition() {
193
+ return {condition: `1=1`}
194
+ }
195
+ }
196
+ }
197
+ </script>
198
+ <style scoped>
199
+ label {
200
+ display: flex;
201
+ justify-content:center;
202
+ align-items:Center;
203
+ padding-top: 8px;
204
+ }
205
+ </style>