apply-clients 5.0.35 → 5.0.36-1

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 +1886 -1494
  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 = []
@@ -74,6 +114,9 @@
74
114
  }, {resolveMsg: null, rejectMsg: null})
75
115
  let rs = []
76
116
  for (let i = 0; i < area.data.length; i++) {
117
+ if (area.data[i].f_pcd.indexOf('湖北省')!=-1){
118
+ area.data[i].f_pcd = area.data[i].f_pcd.replace('湖北省','')
119
+ }
77
120
  let temp = {
78
121
  label: area.data[i].f_pcd,
79
122
  value: area.data[i].f_pcd
@@ -93,11 +136,11 @@
93
136
  }
94
137
  this.data.fields[i].readonly = true
95
138
  this.data.fields[i].disabled = true
96
- if(this.$login.r.find(value => value == '报建流程修改') && this.data.f_apply_type=='个人报建' && this.$login.r.includes('报建流程修改')){
139
+ if(this.$login.r.find(value => value == '报建流程修改') && this.$login.r.includes('报建流程修改')){
97
140
  this.data.fields[i].readonly = false
98
141
  this.data.fields[i].disabled = false
99
142
  }
100
- if(this.$login.r.find(value => value == '集体报建流程修改') && this.data.f_apply_type=='集体报建' && this.$login.r.includes('报建流程修改')){
143
+ if(this.$login.r.find(value => value == '集体报建流程修改') && this.$login.r.includes('报建流程修改')){
101
144
  this.data.fields[i].readonly = false
102
145
  this.data.fields[i].disabled = false
103
146
  }
@@ -117,7 +160,7 @@
117
160
  }
118
161
  }
119
162
  this.data.buttons = null
120
- if( this.$login.r.find(value => value == '报建流程修改') && this.data.f_apply_type=='个人报建' ){
163
+ if( this.$login.r.find(value => value == '报建流程修改') ){
121
164
  // 仅留保存按钮
122
165
  this.data.buttons = [
123
166
  {
@@ -125,7 +168,7 @@
125
168
  }
126
169
  ]
127
170
  }
128
- if(this.data.f_apply_type=='集体报建' && this.$login.r.includes('集体报建流程修改')){
171
+ if(this.$login.r.includes('集体报建流程修改')){
129
172
  // 仅留保存按钮
130
173
  this.data.buttons = [
131
174
  {
@@ -133,13 +176,115 @@
133
176
  }
134
177
  ]
135
178
  }
136
-
137
179
  }
138
180
  },
139
181
  events:{
140
182
  'getmodel'(){
141
183
  return this.$refs.service_show.getmodel()
142
184
  },
185
+ async 'onetomanydelete'(i, j) {
186
+ let http = new HttpResetClass()
187
+ let data = {
188
+ tables: this.$refs.service_show.data.onetomany[i].tables,
189
+ row: this.$refs.service_show.model.rows[i][j]
190
+ }
191
+ await http.load('POST', 'rs/logic/applyDeleteValue', {data: data}, {
192
+ resolveMsg: null,
193
+ rejectMsg: 'onetomanydelete失败'
194
+ }).then(() => {
195
+ this.$dispatch('selfsearch')
196
+ this.$refs.service_show.model.rows[i].splice(j, 1)
197
+ })
198
+ },
199
+ //获取view层confirm事件
200
+ async 'confirm'(tables, row, showadd_index, j) {
201
+ debugger
202
+ var _this = this
203
+ for (let i = 0; i < tables.length; i++) {
204
+ let datas = {
205
+ tables: tables,
206
+ row: row
207
+ }
208
+ console.log("看看datas")
209
+ console.log(datas)
210
+ console.log("看看showadd_index")
211
+ console.log(showadd_index)
212
+ datas.row['f_process_id'] = this.selectdata.f_process_id
213
+ datas.row['f_apply_num'] = this.selectdata.f_apply_num
214
+ datas.row['f_filiale'] = this.selectdata.f_filiale
215
+ let http = new HttpResetClass()
216
+ let sellid = ''
217
+ let billtype = datas.row['f_bill_style']
218
+ if (tables[i] == 't_charge_record') {
219
+ await this.loadbuyer()
220
+ if (this.buyerinfo.rows.length < 1 && billtype === '增值税电子发票' && this.$appdata.getSingleValue('默认打印票据') === '是') {
221
+ this.$showAlert('未找到购买方信息,请去报建功能"购买方信息"中完善购买方信息后再收费', 'info', 2000)
222
+ this.$refs.service_show.model.rows[showadd_index].splice(j, 1)
223
+ this.$refs.service_show.initializtion()
224
+ return
225
+ }
226
+ datas.row.f_charging_status = '有效'
227
+ datas.row.f_is_correct = '否'
228
+ datas.row.f_charge_collectors = this.$login.f.name
229
+ datas.row.f_amount_words=this.smalltoBIG(datas.row.f_charge_money)
230
+ await http.load('POST', 'rs/logic/applycharge', datas, {
231
+ resolveMsg: null,
232
+ rejectMsg: '收费保存失败'
233
+ }).then((res) => {
234
+ sellid = JSON.parse(res.data.sellid).id
235
+ for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
236
+ //
237
+ // if (this.$refs.service_show.data.fields[i].label == '累计缴费金额') {
238
+ // this.$refs.service_show.data.fields[i].value = res.data.f_cumulative_money
239
+ // }
240
+ //
241
+ // if (this.$refs.service_show.data.fields[i].label == '未结总金额') {
242
+ // this.$refs.service_show.data.fields[i].value = res.data.f_unaccounts_money
243
+ // }
244
+
245
+ }
246
+ let temp = _this.$refs.service_show.model.rows[showadd_index][j]
247
+ temp.id = sellid
248
+ _this.$refs.service_show.model.rows[showadd_index][j] = temp
249
+ })
250
+ if (this.$appdata.getSingleValue('默认打印票据') && this.$appdata.getSingleValue('默认打印票据') === '是') {
251
+ this.$showMessage('是否打票据', ['confirm', 'cancel']).then((res) => {
252
+ if (res === 'confirm') {
253
+ console.log('打印票据')
254
+ if (billtype === '增值税电子发票') {
255
+ this.selectsellid = sellid
256
+ this.showbuyerinfo = true
257
+ } else {
258
+ this.printbill(sellid)
259
+ }
260
+ for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
261
+ if (this.$refs.service_show.data.fields[i].label == '累计开票金额') {
262
+ console.log("计算累计开票金额")
263
+ this.$refs.service_show.data.fields[i].value = parseInt(this.$refs.service_show.data.fields[i].value) + this.datas.row.f_cumulative_invoicing
264
+ }
265
+ }
266
+ }
267
+ })
268
+ }
269
+ // 刷新列表数据
270
+ console.log("刷新一下")
271
+ this.$dispatch('selfsearch')
272
+ console.log("刷新完成")
273
+ } else {
274
+ debugger
275
+ await http.load('POST', 'rs/logic/saveentity', datas, {
276
+ resolveMsg: null,
277
+ rejectMsg: 'onetomany保存失败'
278
+ }).then((res) => {
279
+ // 刷新列表数据
280
+ this.$dispatch('selfsearch')
281
+ let temp = _this.$refs.service_show.model.rows[showadd_index][j]
282
+ temp.id = res.data.id
283
+ _this.$refs.service_show.model.rows[showadd_index][j] = temp
284
+ })
285
+ }
286
+ }
287
+ },
143
288
  // 获取view层button事件/
144
289
  async 'button'(model) {
145
290
  let http = new HttpResetClass()
@@ -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>