apply-clients 5.0.35-8 → 5.0.35-80

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 (51) 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 +14 -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 -273
  13. package/src/components/app_apply/ServiceControl.vue +736 -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 -626
  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 +587 -0
  29. package/src/components/product/EngineeringSupervisory/EngineeringApplyStopInfo.vue +281 -0
  30. package/src/components/product/EngineeringSupervisory/EngineeringSupervisoryControl.vue +130 -0
  31. package/src/components/product/EngineeringSupervisory/EngineeringSupervisoryList.vue +350 -0
  32. package/src/components/product/Function/InstallInfoSelect.vue +3 -2
  33. package/src/components/product/Function/Service/FunctionServiceControl.vue +37 -1
  34. package/src/components/product/Function/functions/ApplyUpload.vue +556 -0
  35. package/src/components/product/Function/functions/BuyerMessage.vue +1 -1
  36. package/src/components/product/Function/functions/InstallFee.vue +581 -345
  37. package/src/components/product/Process/ExplorationSelect.vue +9 -5
  38. package/src/components/product/Process/Processes/CustomerRecordMessage.vue +2 -5
  39. package/src/components/product/Process/Processes/Service/ApplyChargeSearch.vue +124 -37
  40. package/src/components/product/Process/Processes/Service/PaperTicketBill.vue +85 -0
  41. package/src/components/product/Process/Processes/Service/ServiceControl.vue +368 -21
  42. package/src/components/product/ServiceView.vue +16 -6
  43. package/src/components/product/Supervisory/Service/SupervisoryServiceControl.vue +53 -6
  44. package/src/components/product/Supervisory/SupervisoryList.vue +57 -5
  45. package/src/components/product/applyReport/ApplyReport.vue +205 -0
  46. package/src/components/product/applyReport/PrintApplyReport.vue +116 -0
  47. package/src/components/product/stopInfo/ApplyStopInfo.vue +2 -1
  48. package/src/ezhouAndroid.js +48 -45
  49. package/src/index.js +8 -8
  50. package/src/main.js +32 -32
  51. package/src/plugins/commonService.js +11 -7
@@ -0,0 +1,350 @@
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:'微信'},{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
+ f_product_id : 1
251
+ }
252
+ }),
253
+ condition: '',
254
+ select: '',
255
+ alloptions:[]
256
+ }
257
+ },
258
+ ready() {
259
+ this.$refs.cp.$refs.cri.model.startDate = Util.toStandardDateString() + ' 00:00:00'
260
+ this.$refs.cp.$refs.cri.model.endDate = Util.toStandardDateString() + ' 23:59:59'
261
+ this.$refs.cp.$refs.cri.search()
262
+ this.getConfig();
263
+ },
264
+ methods: {
265
+ clear(){
266
+ Object.keys(this.$refs.cp.$refs.cri.model).forEach((key) => {
267
+ this.$refs.cp.$refs.cri.model[key] = []
268
+ })
269
+ },
270
+ getapplyName(datas){
271
+ console.log("开始获取所有名")
272
+ let str = datas
273
+ console.log("开始获取所有名"+JSON.stringify(str))
274
+ let param = [];
275
+ // let workflow = JSON.parse(str);
276
+ param.push({label:"全部",value:""})
277
+ str.activitys.forEach(function(item){
278
+ let title = item.title;
279
+ console.log(title)
280
+ param.push({label:title,value:title});
281
+ })
282
+ this.alloptions = param;
283
+
284
+ },
285
+ async getConfig(){
286
+ let http = new HttpResetClass()
287
+ await http.load('POST','rs/logic/ApplyGetConfigs', {data:this.$login.f}, {resolveMsg: null, rejectMsg: null}
288
+ ).then((res)=>{
289
+ if(res.data.code && res.data.code == 200){
290
+ this.getapplyName(res.data.workflow_vue);
291
+ }else{
292
+ this.$showMessage('获取报建配置失败,原因:' + res.data.msg)
293
+ return
294
+ }
295
+ })
296
+
297
+ },
298
+ generateUUID() {
299
+ var d = new Date().getTime()
300
+ var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
301
+ var r = (d + Math.random() * 16) % 16 | 0
302
+ d = Math.floor(d / 16)
303
+ return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16)
304
+ })
305
+ return uuid
306
+ },
307
+ check(val) {
308
+ val.appid=val.id
309
+ this.$dispatch('check', val)
310
+ },
311
+ close() {
312
+ this.$dispatch('close')
313
+ },
314
+ compare(val) {
315
+ val === '完工'
316
+ console.log('完工', val)
317
+ return false
318
+ }
319
+ },
320
+ computed: {
321
+ date() {
322
+ return getNowDate()
323
+ },
324
+ selected() {
325
+ return this.$refs.cp.$refs.grid.selected
326
+ },
327
+ usertype() {
328
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
329
+ },
330
+ defnameType() {
331
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('流程状态')]
332
+ },
333
+ applytype() {
334
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('报建类型')]
335
+ }
336
+ }
337
+ }
338
+ </script>
339
+ <style>
340
+ label {
341
+ display: flex;
342
+ justify-content:center;
343
+ align-items:Center;
344
+ padding-top: 8px;
345
+ }
346
+ tr.title {
347
+ background-color: #6666ff;
348
+ }
349
+
350
+ </style>
@@ -181,7 +181,7 @@
181
181
  <nobr>{{row.f_install_num}}</nobr>
182
182
  </td>
183
183
  <td style="text-align: center;">
184
- <dropdown v-if="row.defname != '完工'">
184
+ <dropdown>
185
185
  <button type="button" data-toggle="dropdown" style="border: 0px;background: none;">
186
186
  <span class="glyphicon glyphicon-th-list" style="position: inherit;"></span>
187
187
  </button>
@@ -217,7 +217,8 @@
217
217
  model: new PagedList('rs/sql/checkuserfunction', 20, {
218
218
  data: {
219
219
  id: this.$login.f.id,
220
- fengongsi: this.$login.f.f_fengongsi
220
+ fengongsi: this.$login.f.f_fengongsi,
221
+ f_product_id: 0
221
222
  }
222
223
  }),
223
224
  condition: ''
@@ -20,6 +20,8 @@
20
20
  <stop-install :stopapply="selectdata" v-if="showstop"></stop-install>
21
21
  <!-- 领料记录 -->
22
22
  <material_recording :infee="selectdata" v-if="show_material"></material_recording>
23
+ <!-- APP附件 -->
24
+ <apply-upload :appupload="selectdata" v-if="show_upload"></apply-upload>
23
25
  </div>
24
26
  </template>
25
27
  <script>
@@ -42,7 +44,8 @@
42
44
  showstop: false, // 终止报建
43
45
  showbill: false, // 打印票据
44
46
  showpreparation: false, // 预付款
45
- show_material:false//报建材料
47
+ show_material:false,//报建材料
48
+ show_upload: false //APP附件
46
49
  }
47
50
  },
48
51
  methods: {
@@ -65,6 +68,7 @@
65
68
  this.showcontract = false
66
69
  this.showbill = false
67
70
  this.showpreparation = false
71
+ this.show_upload = false
68
72
  },
69
73
  // 派工单
70
74
  receiveBatch(){
@@ -85,6 +89,7 @@
85
89
  this.showcontract = false
86
90
  this.showbill = false
87
91
  this.showpreparation = false
92
+ this.show_upload = false
88
93
  },
89
94
  // 领料记录
90
95
  materialRecord(){
@@ -105,6 +110,7 @@
105
110
  this.showcontract = false
106
111
  this.showbill = false
107
112
  this.showpreparation = false
113
+ this.show_upload = false
108
114
  },
109
115
  // 预付款
110
116
  preparation(){
@@ -125,6 +131,7 @@
125
131
  this.showcontract = false
126
132
  this.showbill = false
127
133
  this.showpreparation = true
134
+ this.show_upload = false
128
135
  },
129
136
  // 票据打印
130
137
  bill(){
@@ -145,6 +152,7 @@
145
152
  this.showpreparation = false
146
153
  this.showbill = true
147
154
  this.show_material = false
155
+ this.show_upload = false
148
156
  },
149
157
  // 补充合同
150
158
  contract() {
@@ -165,6 +173,7 @@
165
173
  this.showpreparation = false
166
174
  this.showcontract = true
167
175
  this.show_material = false
176
+ this.show_upload = false
168
177
  },
169
178
  // 收费
170
179
  instalfee(str) {
@@ -185,6 +194,7 @@
185
194
  this.showprestorefee = false
186
195
  this.showinfee = false
187
196
  this.show_material = false
197
+ this.show_upload = false
188
198
  // 采用开发商预付款方式收费
189
199
  if(str==='预付扣款'){
190
200
  this.showprestorefee = true
@@ -211,6 +221,28 @@
211
221
  this.showpreparation = false
212
222
  this.showstop = true
213
223
  this.show_material = false
224
+ this.show_upload = false
225
+ },
226
+ // APP附件
227
+ appUpload() {
228
+ this.$parent.$refs.installselect.clifun(this.selectdata)
229
+ // this.selectdata = row
230
+ this.$parent.clishow= true
231
+ this.$parent.show = false
232
+
233
+ this.showreceivebatch = false
234
+ this.showbuyer = false
235
+ this.showview = false
236
+ this.showbill = false
237
+ this.showinfee = false
238
+ this.showprestorefee = false
239
+ this.showupfee = false
240
+ this.showreducefee = false
241
+ this.showcontract = false
242
+ this.showpreparation = false
243
+ this.showstop = false
244
+ this.show_material = false
245
+ this.show_upload = true
214
246
  },
215
247
 
216
248
 
@@ -250,6 +282,7 @@
250
282
  this.showreceivebatch = false
251
283
  this.showbuyer = false
252
284
  this.show_material = false
285
+ this.show_upload = false
253
286
  }else{
254
287
  if(this.funcdata.title==='终止报建'){
255
288
  this.stopInstall()
@@ -278,6 +311,9 @@
278
311
  if(this.funcdata.title==='派工单'){
279
312
  this.receiveBatch()
280
313
  }
314
+ if(this.funcdata.title==='APP附件'){
315
+ this.appUpload()
316
+ }
281
317
  }
282
318
  }
283
319
  },