apply-clients 5.0.35-9 → 5.0.35-90

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 (53) hide show
  1. package/.eslintrc.js +16 -16
  2. package/package.json +3 -3
  3. package/src/AndroidApp.vue +28 -28
  4. package/src/android.js +18 -18
  5. package/src/apply.js +15 -1
  6. package/src/components/app_apply/ApplyDownList.vue +168 -168
  7. package/src/components/app_apply/ApplyInfo.vue +56 -56
  8. package/src/components/app_apply/ApplyListUpload.vue +268 -268
  9. package/src/components/app_apply/ApplyToDoList.vue +2820 -243
  10. package/src/components/app_apply/Gongcheng.vue +3631 -0
  11. package/src/components/app_apply/OneToMany.vue +194 -0
  12. package/src/components/app_apply/PlaceControler.vue +299 -284
  13. package/src/components/app_apply/ServiceControl.vue +687 -341
  14. package/src/components/app_apply/ServiceView.vue +383 -383
  15. package/src/components/app_apply/ezhou/FeiMinYongV.vue +109 -109
  16. package/src/components/app_apply/ezhou/FeiMinYongVV.vue +100 -100
  17. package/src/components/app_apply/ezhou/MinYong.vue +92 -92
  18. package/src/components/app_apply/ezhou/ServiceView.vue +808 -616
  19. package/src/components/image/doc.jpg +0 -0
  20. package/src/components/image/dwg.png +0 -0
  21. package/src/components/image/dxf.png +0 -0
  22. package/src/components/image/excel.jpg +0 -0
  23. package/src/components/image/pdf.jpg +0 -0
  24. package/src/components/product/Common/ApplyValidateBill.vue +13 -6
  25. package/src/components/product/Common/PrintBill.vue +121 -120
  26. package/src/components/product/EngineeringManagement/EngineerUpload.vue +304 -0
  27. package/src/components/product/EngineeringManagement/EngineeringManagement.vue +137 -0
  28. package/src/components/product/EngineeringManagement/EngineeringSelect.vue +586 -0
  29. package/src/components/product/EngineeringSupervisory/EngineeringApplyStopInfo.vue +281 -0
  30. package/src/components/product/EngineeringSupervisory/EngineeringSupervisoryControl.vue +132 -0
  31. package/src/components/product/EngineeringSupervisory/EngineeringSupervisoryList.vue +340 -0
  32. package/src/components/product/EngineeringSupervisory/EngineeringSupervisoryServiceControl.vue +490 -0
  33. package/src/components/product/Function/InstallInfoSelect.vue +3 -2
  34. package/src/components/product/Function/Service/FunctionServiceControl.vue +37 -1
  35. package/src/components/product/Function/functions/ApplyUpload.vue +556 -0
  36. package/src/components/product/Function/functions/BuyerMessage.vue +1 -1
  37. package/src/components/product/Function/functions/InstallFee.vue +1154 -919
  38. package/src/components/product/Function/functions/InstallFeeInfo.vue +6 -1
  39. package/src/components/product/Process/ExplorationSelect.vue +9 -5
  40. package/src/components/product/Process/Processes/CustomerRecordMessage.vue +2 -5
  41. package/src/components/product/Process/Processes/Service/ApplyChargeSearch.vue +126 -39
  42. package/src/components/product/Process/Processes/Service/PaperTicketBill.vue +85 -0
  43. package/src/components/product/Process/Processes/Service/ServiceControl.vue +368 -21
  44. package/src/components/product/ServiceView.vue +16 -6
  45. package/src/components/product/Supervisory/Service/SupervisoryServiceControl.vue +57 -10
  46. package/src/components/product/Supervisory/SupervisoryList.vue +409 -349
  47. package/src/components/product/applyReport/ApplyReport.vue +205 -0
  48. package/src/components/product/applyReport/PrintApplyReport.vue +116 -0
  49. package/src/components/product/stopInfo/ApplyStopInfo.vue +2 -1
  50. package/src/ezhouAndroid.js +48 -45
  51. package/src/index.js +8 -8
  52. package/src/main.js +32 -32
  53. package/src/plugins/commonService.js +11 -7
@@ -1,349 +1,409 @@
1
- <template>
2
- <div class="d1">
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="col-sm-12">
8
- <div class="col-sm-2 ">
9
- <label class="col-sm-4 control-label ">联系人</label>
10
- <div class="col-sm-8">
11
- <input type="text" class="form-control" placeholder='联系人' v-model="model.f_user_name"
12
- v-on:keyup.enter="search"
13
- condition="f_user_name like '%{}%'">
14
- </div>
15
- </div>
16
-
17
- <div class="col-sm-2 ">
18
- <label class="col-sm-4 control-label">报建编号</label>
19
- <div class="col-sm-8">
20
- <input type="text" class="form-control" placeholder='报建编号' v-model="model.f_phone"
21
- v-on:keyup.enter="search"
22
- condition="f_apply_num like '{}%'">
23
- </div>
24
- </div>
25
-
26
- <div class="col-sm-2 ">
27
- <label class="col-sm-4 control-label">地址</label>
28
- <div class="col-sm-8">
29
- <input type="text" class="form-control" placeholder='地址' v-model="model.f_address"
30
- v-on:keyup.enter="search"
31
- condition="f_address like '%{}%'">
32
- </div>
33
- </div>
34
-
35
- <div class="col-sm-2 ">
36
- <label class="col-sm-4 control-label">单位/小区名称</label>
37
- <div class="col-sm-8">
38
- <input type="text" class="form-control" placeholder='单位/小区名称' v-model="model.f_residential_area"
39
- v-on:keyup.enter="search"
40
- condition="f_residential_area like '%{}%'">
41
- </div>
42
- </div>
43
- <div class="col-sm-2 ">
44
- <label class="col-sm-4 control-label">用户类型</label>
45
- <div class="col-sm-8">
46
- <v-select :options="$parent.$parent.usertype"
47
- placeholder='用户类型'
48
- condition="f_user_type like '{}%'"
49
- :width="100"
50
- style="width:100%"
51
- v-model="model.f_user_type"
52
- :value.sync="model.f_user_type" close-on-select>
53
- </v-select>
54
- </div>
55
- </div>
56
-
57
- </div>
58
- <div class="col-sm-12" style="margin-top:5px;">
59
- <div class="col-sm-2">
60
- <label class="col-sm-4 control-label">流程状态</label>
61
- <div class="col-sm-8">
62
- <v-select style="min-width: 100%;" @change="$dispatch('setQueryCondition',model)" :options="$parent.$parent.alloptions"
63
- condition="defname = '{}'" placeholder='流程状态'
64
- v-model="model.defname" :value.sync="model.defname" close-on-select>
65
- </v-select>
66
- </div>
67
- </div>
68
- <div class="col-sm-2" >
69
- <label class="col-sm-4 control-label">业务类型</label>
70
- <div class="col-sm-8">
71
- <v-select style="min-width: 100%;" @change="$dispatch('setQueryCondition',model)" :options="[{label:'全部',value:''},{label:'新报装',value:'新报装'},{label:'改管',value:'改管'}]"
72
- condition="f_work_type = '{}'" placeholder='业务类型'
73
- v-model="model.f_work_type" :value.sync="model.f_work_type" close-on-select>
74
- </v-select>
75
- </div>
76
- </div>
77
- <div class="col-sm-2">
78
- <label for="startDate" class="col-sm-4 control-label">开始日期</label>
79
- <div class="col-sm-8">
80
- <datepicker @change="$dispatch('setQueryCondition',model)" id="startDate" placeholder="开始日期"
81
- style="display: block;"
82
- v-model="model.startDate"
83
- :value.sync="model.startDate"
84
- :format="'yyyy-MM-dd HH:mm:ss'"
85
- :show-reset-button="true"
86
- condition="f_apply_date >= '{}'">
87
- </datepicker>
88
- </div>
89
- </div>
90
- <div class="col-sm-2">
91
- <label for="startDate" class="col-sm-4 control-label">终止日期</label>
92
- <div class="col-sm-8">
93
- <datepicker @change="$dispatch('setQueryCondition',model)" id="endDate" placeholder="终止日期"
94
- style="display: block;"
95
- v-model="model.endDate"
96
- :value.sync="model.endDate"
97
- :format="'yyyy-MM-dd HH:mm:ss'"
98
- :show-reset-button="true"
99
- condition="f_apply_date <= '{}'">
100
- </datepicker>
101
- </div>
102
-
103
- </div>
104
- <div class="col-sm-2">
105
- <label class="col-sm-4 control-label">终止查询</label>
106
- <div class="col-sm-8">
107
- <v-select style="min-width: 100%;" @change="$dispatch('setQueryCondition',model)" :options="[{label:'是',value:'终止'},{label:'否',value:''}]"
108
- condition="f_sub_state = '{}'" placeholder='终止查询'
109
- v-model="model.f_sub_state" :value.sync="model.f_sub_state" close-on-select>
110
- </v-select>
111
- </div>
112
- </div>
113
- <div class="col-sm-2" style="float: left">
114
- <label class="col-sm-4 control-label">报装来源</label>
115
- <div class="col-sm-8">
116
- <v-select style="min-width: 100%;" @change="$dispatch('setQueryCondition',model)" :options="[{label:'全部',value:''},{label:'燃气系统',value:'燃气系统'},{label:'微信',value:'微信'}]"
117
- condition="f_apply_source = '{}'" placeholder='报装来源'
118
- v-model="model.f_apply_source" :value.sync="model.f_apply_source" close-on-select>
119
- </v-select>
120
- </div>
121
- </div>
122
- <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()">
124
- <span class="glyphicon glyphicon-search"></span>查询
125
- </button>
126
- <button class="btn-primary btn btn-sm button_spacing" @click.prevent="$parent.$parent.clear()">清空</button>
127
- </div>
128
- </div>
129
- </form>
130
- </criteria>
131
- <data-grid :model="model" partial='list' v-ref:grid class="data-grid" is-fixed='false' style="overflow-x:auto">
132
- <template partial='head'>
133
- <tr class="title">
134
- <th>
135
- <nobr>序号</nobr>
136
- </th>
137
- <th>
138
- <nobr>来源</nobr>
139
- </th>
140
- <th>
141
- <nobr>当前状态</nobr>
142
- </th>
143
- <th>
144
- <nobr>报建编号</nobr>
145
- </th>
146
- <th>
147
- <nobr>业务类型</nobr>
148
- </th>
149
- <th>
150
- <nobr>客户名称</nobr>
151
- </th>
152
- <th>
153
- <nobr>用户类型</nobr>
154
- </th>
155
- <th>
156
- <nobr>电话</nobr>
157
- </th>
158
- <th>
159
- <nobr>地址</nobr>
160
- </th>
161
- <th>
162
- <nobr>流程状态</nobr>
163
- </th>
164
- <th>
165
- <nobr>报建类型</nobr>
166
- </th>
167
- <th>
168
- <nobr>报建日期</nobr>
169
- </th>
170
- </tr>
171
- </template>
172
- <template partial='body'>
173
- <tr>
174
- <td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
175
- <nobr>{{$index+1}}</nobr>
176
- </td>
177
- <td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
178
- <nobr>{{row.f_apply_source}}</nobr>
179
- </td>
180
- <td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
181
- <nobr>{{row.f_sub_state==''||!row.f_sub_state ?'未完工':row.f_sub_state}}</nobr>
182
- </td>
183
- <td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
184
- <nobr>{{row.f_apply_num}}</nobr>
185
- </td>
186
- <td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
187
- <nobr>{{row.f_work_type}}</nobr>
188
- </td>
189
- <td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
190
- <nobr>{{row.f_user_name}}</nobr>
191
- </td>
192
- <td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
193
- <nobr>{{row.f_user_type}}</nobr>
194
- </td>
195
- <td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
196
- <nobr>{{row.f_phone}}</nobr>
197
- </td>
198
- <td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
199
- <nobr>{{row.f_address}}</nobr>
200
- </td>
201
- <td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
202
- <nobr>{{row.defname}}</nobr>
203
- </td>
204
- <td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
205
- <nobr>{{row.f_apply_type}}</nobr>
206
- </td>
207
- <td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
208
- <nobr>{{row.f_apply_date}}</nobr>
209
- </td>
210
- </tr>
211
- </template>
212
- </data-grid>
213
- </criteria-paged>
214
- </div>
215
- </div>
216
- </template>
217
- <script>
218
- import AppData from '../../../stores/AppData.js'
219
-
220
- import {
221
- PagedList
222
- } from 'vue-client'
223
- import getNowDate from '../../getNowDate.js'
224
- import {HttpResetClass} from 'vue-client'
225
- import * as Util from '../../Util'
226
- Date.prototype.Format = function (fmt) {
227
- var o = {
228
- "M+": this.getMonth() + 1, //月份
229
- "d+": this.getDate(), //日
230
- "H+": this.getHours(), //小时
231
- "m+": this.getMinutes(), //分
232
- "s+": this.getSeconds(), //秒
233
- "q+": Math.floor((this.getMonth() + 3) / 3), //季度
234
- "S": this.getMilliseconds() //毫秒
235
- };
236
- if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
237
- for (var k in o)
238
- if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
239
- return fmt;
240
- }
241
-
242
- export default {
243
- title: '勘探详情',
244
- data() {
245
- return {
246
- model: new PagedList('rs/sql/supervisory', 20, {
247
- data: {
248
- id: `${this.$login.f.name}`,
249
- fengongsi: `${this.$login.f.f_fengongsi}`
250
- }
251
- }),
252
- condition: '',
253
- select: '',
254
- alloptions:[]
255
- }
256
- },
257
- ready() {
258
- this.$refs.cp.$refs.cri.model.startDate = Util.toStandardDateString() + ' 00:00:00'
259
- this.$refs.cp.$refs.cri.model.endDate = Util.toStandardDateString() + ' 23:59:59'
260
- this.$refs.cp.$refs.cri.search()
261
- this.getConfig();
262
- },
263
- methods: {
264
- clear(){
265
- Object.keys(this.$refs.cp.$refs.cri.model).forEach((key) => {
266
- this.$refs.cp.$refs.cri.model[key] = []
267
- })
268
- },
269
- getapplyName(datas){
270
- console.log("开始获取所有名")
271
- let str = datas
272
- console.log("开始获取所有名"+JSON.stringify(str))
273
- let param = [];
274
- // let workflow = JSON.parse(str);
275
- param.push({label:"全部",value:""})
276
- str.activitys.forEach(function(item){
277
- let title = item.title;
278
- console.log(title)
279
- param.push({label:title,value:title});
280
- })
281
- this.alloptions = param;
282
-
283
- },
284
- async getConfig(){
285
- let http = new HttpResetClass()
286
- await http.load('POST','rs/logic/ApplyGetConfigs', {data:this.$login.f}, {resolveMsg: null, rejectMsg: null}
287
- ).then((res)=>{
288
- if(res.data.code && res.data.code == 200){
289
- this.getapplyName(res.data.workflow_vue);
290
- }else{
291
- this.$showMessage('获取报建配置失败,原因:' + res.data.msg)
292
- return
293
- }
294
- })
295
-
296
- },
297
- generateUUID() {
298
- var d = new Date().getTime()
299
- var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
300
- var r = (d + Math.random() * 16) % 16 | 0
301
- d = Math.floor(d / 16)
302
- return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16)
303
- })
304
- return uuid
305
- },
306
- check(val) {
307
- val.appid=val.id
308
- this.$dispatch('check', val)
309
- },
310
- close() {
311
- this.$dispatch('close')
312
- },
313
- compare(val) {
314
- val === '完工'
315
- console.log('完工', val)
316
- return false
317
- }
318
- },
319
- computed: {
320
- date() {
321
- return getNowDate()
322
- },
323
- selected() {
324
- return this.$refs.cp.$refs.grid.selected
325
- },
326
- usertype() {
327
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
328
- },
329
- defnameType() {
330
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('流程状态')]
331
- },
332
- applytype() {
333
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('报建类型')]
334
- }
335
- }
336
- }
337
- </script>
338
- <style>
339
- label {
340
- display: flex;
341
- justify-content:center;
342
- align-items:Center;
343
- padding-top: 8px;
344
- }
345
- tr.title {
346
- background-color: #6666ff;
347
- }
348
-
349
- </style>
1
+ <template>
2
+ <div class="d1">
3
+ <div class="left col-sm-12" style="height:90%;">
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="col-sm-12">
8
+ <div class="col-sm-2 ">
9
+ <label class="col-sm-4 control-label ">联系人</label>
10
+ <div class="col-sm-8">
11
+ <input type="text" class="form-control" placeholder='联系人' v-model="model.f_user_name"
12
+ v-on:keyup.enter="search"
13
+ condition="f_user_name like '%{}%'">
14
+ </div>
15
+ </div>
16
+
17
+ <div class="col-sm-2 ">
18
+ <label class="col-sm-4 control-label">报建编号</label>
19
+ <div class="col-sm-8">
20
+ <input type="text" class="form-control" placeholder='报建编号' v-model="model.f_phone"
21
+ v-on:keyup.enter="search"
22
+ condition="f_apply_num like '{}%'">
23
+ </div>
24
+ </div>
25
+
26
+ <div class="col-sm-2 ">
27
+ <label class="col-sm-4 control-label">地址</label>
28
+ <div class="col-sm-8">
29
+ <input type="text" class="form-control" placeholder='地址' v-model="model.f_address"
30
+ v-on:keyup.enter="search"
31
+ condition="f_address like '%{}%'">
32
+ </div>
33
+ </div>
34
+
35
+ <div class="col-sm-2 ">
36
+ <label class="col-sm-4 control-label">单位/小区名称</label>
37
+ <div class="col-sm-8">
38
+ <input type="text" class="form-control" placeholder='单位/小区名称' v-model="model.f_residential_area"
39
+ v-on:keyup.enter="search"
40
+ condition="f_residential_area like '%{}%'">
41
+ </div>
42
+ </div>
43
+ <div class="col-sm-2 ">
44
+ <label class="col-sm-4 control-label">用户类型</label>
45
+ <div class="col-sm-8">
46
+ <v-select :options="$parent.$parent.usertype"
47
+ placeholder='用户类型'
48
+ condition="f_user_type like '{}%'"
49
+ :width="100"
50
+ style="width:100%"
51
+ v-model="model.f_user_type"
52
+ :value.sync="model.f_user_type" close-on-select>
53
+ </v-select>
54
+ </div>
55
+ </div>
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>
65
+ </div>
66
+ <div class="col-sm-12" style="margin-top:5px;">
67
+ <div class="col-sm-2">
68
+ <label class="col-sm-4 control-label">流程状态</label>
69
+ <div class="col-sm-8">
70
+ <v-select style="min-width: 100%;" @change="$dispatch('setQueryCondition',model)" :options="$parent.$parent.alloptions"
71
+ condition="defname = '{}'" placeholder='流程状态'
72
+ v-model="model.defname" :value.sync="model.defname" close-on-select>
73
+ </v-select>
74
+ </div>
75
+ </div>
76
+ <div class="col-sm-2" >
77
+ <label class="col-sm-4 control-label">业务类型</label>
78
+ <div class="col-sm-8">
79
+ <v-select style="min-width: 100%;" @change="$dispatch('setQueryCondition',model)" :options="[{label:'全部',value:''},{label:'新报装',value:'新报装'},{label:'改管',value:'改管'}]"
80
+ condition="f_work_type = '{}'" placeholder='业务类型'
81
+ v-model="model.f_work_type" :value.sync="model.f_work_type" close-on-select>
82
+ </v-select>
83
+ </div>
84
+ </div>
85
+ <div class="col-sm-2">
86
+ <label for="startDate" class="col-sm-4 control-label">开始日期</label>
87
+ <div class="col-sm-8">
88
+ <datepicker @change="$dispatch('setQueryCondition',model)" id="startDate" placeholder="开始日期"
89
+ style="display: block;"
90
+ v-model="model.startDate"
91
+ :value.sync="model.startDate"
92
+ :format="'yyyy-MM-dd HH:mm:ss'"
93
+ :show-reset-button="true"
94
+ condition="f_apply_date >= '{}'">
95
+ </datepicker>
96
+ </div>
97
+ </div>
98
+ <div class="col-sm-2">
99
+ <label for="startDate" class="col-sm-4 control-label">终止日期</label>
100
+ <div class="col-sm-8">
101
+ <datepicker @change="$dispatch('setQueryCondition',model)" id="endDate" placeholder="终止日期"
102
+ style="display: block;"
103
+ v-model="model.endDate"
104
+ :value.sync="model.endDate"
105
+ :format="'yyyy-MM-dd HH:mm:ss'"
106
+ :show-reset-button="true"
107
+ condition="f_apply_date <= '{}'">
108
+ </datepicker>
109
+ </div>
110
+
111
+ </div>
112
+ <div class="col-sm-2">
113
+ <label class="col-sm-4 control-label">终止查询</label>
114
+ <div class="col-sm-8">
115
+ <v-select style="min-width: 100%;" @change="$dispatch('setQueryCondition',model)" :options="[{label:'是',value:'终止'},{label:'否',value:''}]"
116
+ condition="f_sub_state = '{}'" placeholder='终止查询'
117
+ v-model="model.f_sub_state" :value.sync="model.f_sub_state" close-on-select>
118
+ </v-select>
119
+ </div>
120
+ </div>
121
+ <div class="col-sm-2" style="float: left">
122
+ <label class="col-sm-4 control-label">报装来源</label>
123
+ <div class="col-sm-8">
124
+ <v-select style="min-width: 100%;" @change="$dispatch('setQueryCondition',model)" :options="[{label:'全部',value:''},{label:'燃气系统',value:'燃气系统'},{label:'微信',value:'微信'},{label:'住建局',value:'住建局'}]"
125
+ condition="f_apply_source = '{}'" placeholder='报装来源'
126
+ v-model="model.f_apply_source" :value.sync="model.f_apply_source" close-on-select>
127
+ </v-select>
128
+ </div>
129
+ </div>
130
+ <div class="col-sm-1" style="margin-left:20px;">
131
+ <button style="margin-left:5%;" class="btn btn-primary btn-sm width-80 button_spacing" type="button" @click="search(),$parent.$parent.cleaner()">
132
+ <span class="glyphicon glyphicon-search"></span>查询
133
+ </button>
134
+ <button class="btn-primary btn btn-sm button_spacing" @click.prevent="$parent.$parent.clear()">清空</button>
135
+ </div>
136
+ </div>
137
+ </form>
138
+ </criteria>
139
+ <data-grid :model="model" partial='list' v-ref:grid class="data-grid" is-fixed='false' style="overflow-x:auto">
140
+ <template partial='head'>
141
+ <tr class="title">
142
+ <th>
143
+ <nobr>序号</nobr>
144
+ </th>
145
+ <th>
146
+ <nobr>来源</nobr>
147
+ </th>
148
+ <th>
149
+ <nobr>当前状态</nobr>
150
+ </th>
151
+ <th>
152
+ <nobr>报建编号</nobr>
153
+ </th>
154
+ <th>
155
+ <nobr>业务类型</nobr>
156
+ </th>
157
+ <th>
158
+ <nobr>客户名称</nobr>
159
+ </th>
160
+ <th>
161
+ <nobr>用户类型</nobr>
162
+ </th>
163
+ <th>
164
+ <nobr>电话</nobr>
165
+ </th>
166
+ <th>
167
+ <nobr>地址</nobr>
168
+ </th>
169
+ <th>
170
+ <nobr>流程状态</nobr>
171
+ </th>
172
+ <th>
173
+ <nobr>报建类型</nobr>
174
+ </th>
175
+ <th>
176
+ <nobr>应缴金额</nobr>
177
+ </th>
178
+ <th>
179
+ <nobr>已缴金额</nobr>
180
+ </th>
181
+ <th>
182
+ <nobr>未缴金额</nobr>
183
+ </th>
184
+ <th>
185
+ <nobr>报建日期</nobr>
186
+ </th>
187
+ </tr>
188
+ </template>
189
+ <template partial='body'>
190
+ <tr>
191
+ <td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
192
+ <nobr>{{$index+1}}</nobr>
193
+ </td>
194
+ <td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
195
+ <nobr>{{row.f_apply_source}}</nobr>
196
+ </td>
197
+ <td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
198
+ <nobr>{{row.f_sub_state==''||!row.f_sub_state ?'未完工':row.f_sub_state}}</nobr>
199
+ </td>
200
+ <td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
201
+ <nobr>{{row.f_apply_num}}</nobr>
202
+ </td>
203
+ <td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
204
+ <nobr>{{row.f_work_type}}</nobr>
205
+ </td>
206
+ <td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
207
+ <nobr>{{row.f_user_name}}</nobr>
208
+ </td>
209
+ <td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
210
+ <nobr>{{row.f_user_type}}</nobr>
211
+ </td>
212
+ <td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
213
+ <nobr>{{row.f_phone}}</nobr>
214
+ </td>
215
+ <td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
216
+ <nobr>{{row.f_address}}</nobr>
217
+ </td>
218
+ <td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
219
+ <nobr>{{row.defname}}</nobr>
220
+ </td>
221
+ <td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
222
+ <nobr>{{row.f_apply_type}}</nobr>
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>
233
+ <td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
234
+ <nobr>{{row.f_apply_date}}</nobr>
235
+ </td>
236
+ </tr>
237
+ </template>
238
+ </data-grid>
239
+ </criteria-paged>
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">{{modeluse.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>
250
+ </div>
251
+ </template>
252
+ <script>
253
+ import AppData from '../../../stores/AppData.js'
254
+
255
+ import {
256
+ PagedList
257
+ } from 'vue-client'
258
+ import getNowDate from '../../getNowDate.js'
259
+ import {HttpResetClass} from 'vue-client'
260
+ import * as Util from '../../Util'
261
+ Date.prototype.Format = function (fmt) {
262
+ var o = {
263
+ "M+": this.getMonth() + 1, //月份
264
+ "d+": this.getDate(), //日
265
+ "H+": this.getHours(), //小时
266
+ "m+": this.getMinutes(), //分
267
+ "s+": this.getSeconds(), //秒
268
+ "q+": Math.floor((this.getMonth() + 3) / 3), //季度
269
+ "S": this.getMilliseconds() //毫秒
270
+ };
271
+ if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
272
+ for (var k in o)
273
+ if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
274
+ return fmt;
275
+ }
276
+
277
+ export default {
278
+ title: '勘探详情',
279
+ data() {
280
+ return {
281
+ model: new PagedList('rs/sql/supervisory', 20, {
282
+ data: {
283
+ id: `${this.$login.f.name}`,
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
293
+ }
294
+ }),
295
+ price: new PagedList('rs/sql/getChargeAllSum', 999999, {orderitem: '`f_total_cost`'}),
296
+ condition: '',
297
+ select: '',
298
+ alloptions:[]
299
+ }
300
+ },
301
+ ready() {
302
+ this.$refs.cp.$refs.cri.model.startDate = Util.toStandardDateString() + ' 00:00:00'
303
+ this.$refs.cp.$refs.cri.model.endDate = Util.toStandardDateString() + ' 23:59:59'
304
+ this.search()
305
+ this.getConfig();
306
+ },
307
+ methods: {
308
+ search () {
309
+ let startDate = Util.toStandardDateString() + ' 00:00:00'
310
+ let endDate = Util.toStandardDateString() + ' 23:59:59'
311
+ this.$refs.cp.$refs.cri.search()
312
+ },
313
+ cleaner () {
314
+ Object.keys(this.$refs.cp.$refs.cri.model).forEach((key) => {
315
+ this.$refs.cp.$refs.cri.model[key] = ''
316
+ })
317
+ console.log('condition2:', this.$refs.cp.$refs.cri.condition)
318
+ let condition = this.$refs.cp.$refs.cri.condition
319
+ this.modeluse.search(condition)
320
+ let condition1 = condition
321
+ this.price.search(condition1)
322
+ this.$dispatch('close')
323
+ },
324
+ clear(){
325
+ Object.keys(this.$refs.cp.$refs.cri.model).forEach((key) => {
326
+ this.$refs.cp.$refs.cri.model[key] = []
327
+ })
328
+ },
329
+ getapplyName(datas){
330
+ console.log("开始获取所有名")
331
+ let str = datas
332
+ console.log("开始获取所有名"+JSON.stringify(str))
333
+ let param = [];
334
+ // let workflow = JSON.parse(str);
335
+ param.push({label:"全部",value:""})
336
+ str.activitys.forEach(function(item){
337
+ let title = item.title;
338
+ console.log(title)
339
+ param.push({label:title,value:title});
340
+ })
341
+ this.alloptions = param;
342
+
343
+ },
344
+ async getConfig(){
345
+ let http = new HttpResetClass()
346
+ await http.load('POST','rs/logic/ApplyGetConfigs', {data:this.$login.f}, {resolveMsg: null, rejectMsg: null}
347
+ ).then((res)=>{
348
+ if(res.data.code && res.data.code == 200){
349
+ this.getapplyName(res.data.workflow_vue);
350
+ }else{
351
+ this.$showMessage('获取报建配置失败,原因:' + res.data.msg)
352
+ return
353
+ }
354
+ })
355
+
356
+ },
357
+ generateUUID() {
358
+ var d = new Date().getTime()
359
+ var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
360
+ var r = (d + Math.random() * 16) % 16 | 0
361
+ d = Math.floor(d / 16)
362
+ return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16)
363
+ })
364
+ return uuid
365
+ },
366
+ check(val) {
367
+ val.appid=val.id
368
+ this.$dispatch('check', val)
369
+ },
370
+ close() {
371
+ this.$dispatch('close')
372
+ },
373
+ compare(val) {
374
+ val === '完工'
375
+ console.log('完工', val)
376
+ return false
377
+ }
378
+ },
379
+ computed: {
380
+ date() {
381
+ return getNowDate()
382
+ },
383
+ selected() {
384
+ return this.$refs.cp.$refs.grid.selected
385
+ },
386
+ usertype() {
387
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
388
+ },
389
+ defnameType() {
390
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('流程状态')]
391
+ },
392
+ applytype() {
393
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('报建类型')]
394
+ }
395
+ }
396
+ }
397
+ </script>
398
+ <style>
399
+ /*label {*/
400
+ /* display: flex;*/
401
+ /* justify-content:center;*/
402
+ /* align-items:Center;*/
403
+ /* padding-top: 8px;*/
404
+ /*}*/
405
+ tr.title {
406
+ background-color: #6666ff;
407
+ }
408
+
409
+ </style>