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
@@ -0,0 +1,340 @@
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 for="startDate" class="col-sm-4 control-label">开始日期</label>
70
+ <div class="col-sm-8">
71
+ <datepicker @change="$dispatch('setQueryCondition',model)" id="startDate" placeholder="开始日期"
72
+ style="display: block;"
73
+ v-model="model.startDate"
74
+ :value.sync="model.startDate"
75
+ :format="'yyyy-MM-dd HH:mm:ss'"
76
+ :show-reset-button="true"
77
+ condition="f_apply_date >= '{}'">
78
+ </datepicker>
79
+ </div>
80
+ </div>
81
+ <div class="col-sm-2">
82
+ <label for="startDate" class="col-sm-4 control-label">终止日期</label>
83
+ <div class="col-sm-8">
84
+ <datepicker @change="$dispatch('setQueryCondition',model)" id="endDate" placeholder="终止日期"
85
+ style="display: block;"
86
+ v-model="model.endDate"
87
+ :value.sync="model.endDate"
88
+ :format="'yyyy-MM-dd HH:mm:ss'"
89
+ :show-reset-button="true"
90
+ condition="f_apply_date <= '{}'">
91
+ </datepicker>
92
+ </div>
93
+
94
+ </div>
95
+ <div class="col-sm-2">
96
+ <label class="col-sm-4 control-label">终止查询</label>
97
+ <div class="col-sm-8">
98
+ <v-select style="min-width: 100%;" @change="$dispatch('setQueryCondition',model)" :options="[{label:'是',value:'终止'},{label:'否',value:''}]"
99
+ condition="f_sub_state = '{}'" placeholder='终止查询'
100
+ v-model="model.f_sub_state" :value.sync="model.f_sub_state" close-on-select>
101
+ </v-select>
102
+ </div>
103
+ </div>
104
+ <div class="col-sm-2" style="float: left">
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:''},...this.$appdata.getParam('报装来源')]"
108
+ condition="f_apply_source = '{}'" placeholder='工程来源'
109
+ v-model="model.f_apply_source" :value.sync="model.f_apply_source" close-on-select>
110
+ </v-select>
111
+ </div>
112
+ </div>
113
+ <div class="col-sm-1" style="margin-left:20px;">
114
+ <button style="margin-left:5%;" class="btn btn-primary btn-sm width-80 button_spacing" type="button" @click="search(),$parent.$parent.close()">
115
+ <span class="glyphicon glyphicon-search"></span>查询
116
+ </button>
117
+ <button class="btn-primary btn btn-sm button_spacing" @click.prevent="$parent.$parent.clear()">清空</button>
118
+ </div>
119
+ </div>
120
+ </form>
121
+ </criteria>
122
+ <data-grid :model="model" partial='list' v-ref:grid class="data-grid" is-fixed='false' style="overflow-x:auto">
123
+ <template partial='head'>
124
+ <tr class="title">
125
+ <th>
126
+ <nobr>序号</nobr>
127
+ </th>
128
+ <th>
129
+ <nobr>来源</nobr>
130
+ </th>
131
+ <th>
132
+ <nobr>当前状态</nobr>
133
+ </th>
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
+ </tr>
162
+ </template>
163
+ <template partial='body'>
164
+ <tr>
165
+ <td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
166
+ <nobr>{{$index+1}}</nobr>
167
+ </td>
168
+ <td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
169
+ <nobr>{{row.f_apply_source}}</nobr>
170
+ </td>
171
+ <td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
172
+ <nobr>{{row.f_sub_state==''||!row.f_sub_state ?'未完工':row.f_sub_state}}</nobr>
173
+ </td>
174
+ <td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
175
+ <nobr>{{row.f_apply_num}}</nobr>
176
+ </td>
177
+ <td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
178
+ <nobr>{{row.f_work_type}}</nobr>
179
+ </td>
180
+ <td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
181
+ <nobr>{{row.f_user_name}}</nobr>
182
+ </td>
183
+ <td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
184
+ <nobr>{{row.f_user_type}}</nobr>
185
+ </td>
186
+ <td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
187
+ <nobr>{{row.f_phone}}</nobr>
188
+ </td>
189
+ <td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
190
+ <nobr>{{row.f_address}}</nobr>
191
+ </td>
192
+ <td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
193
+ <nobr>{{row.defname}}</nobr>
194
+ </td>
195
+ <td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
196
+ <nobr>{{row.f_apply_type}}</nobr>
197
+ </td>
198
+ <td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
199
+ <nobr>{{row.f_apply_date}}</nobr>
200
+ </td>
201
+ </tr>
202
+ </template>
203
+ </data-grid>
204
+ </criteria-paged>
205
+ </div>
206
+ </div>
207
+ </template>
208
+ <script>
209
+ import AppData from '../../../stores/AppData.js'
210
+
211
+ import {
212
+ PagedList
213
+ } from 'vue-client'
214
+ import getNowDate from '../../getNowDate.js'
215
+ import {HttpResetClass} from 'vue-client'
216
+ import * as Util from '../../Util'
217
+ Date.prototype.Format = function (fmt) {
218
+ var o = {
219
+ "M+": this.getMonth() + 1, //月份
220
+ "d+": this.getDate(), //日
221
+ "H+": this.getHours(), //小时
222
+ "m+": this.getMinutes(), //分
223
+ "s+": this.getSeconds(), //秒
224
+ "q+": Math.floor((this.getMonth() + 3) / 3), //季度
225
+ "S": this.getMilliseconds() //毫秒
226
+ };
227
+ if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
228
+ for (var k in o)
229
+ if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
230
+ return fmt;
231
+ }
232
+
233
+ export default {
234
+ title: '勘探详情',
235
+ data() {
236
+ return {
237
+ model: new PagedList('rs/sql/supervisorygongcheng', 20, {
238
+ data: {
239
+ id: `${this.$login.f.name}`,
240
+ fengongsi: `${this.$login.f.f_fengongsi}`,
241
+ }
242
+ }),
243
+ condition: '',
244
+ select: '',
245
+ alloptions:[{label:"踏勘",value:"踏勘"},{label:"施工",value:"施工"},{label:"施工验收",value:"施工验收"},{label:"通气转单",value:"通气转单"}]
246
+ }
247
+ },
248
+ ready() {
249
+ this.$refs.cp.$refs.cri.model.startDate = Util.toStandardDateString() + ' 00:00:00'
250
+ this.$refs.cp.$refs.cri.model.endDate = Util.toStandardDateString() + ' 23:59:59'
251
+ this.$refs.cp.$refs.cri.search()
252
+ this.getConfig();
253
+ },
254
+ methods: {
255
+ clear(){
256
+ Object.keys(this.$refs.cp.$refs.cri.model).forEach((key) => {
257
+ this.$refs.cp.$refs.cri.model[key] = []
258
+ })
259
+ },
260
+ /*getapplyName(datas){
261
+ console.log("开始获取所有名")
262
+ let str = datas
263
+ console.log("开始获取所有名"+JSON.stringify(str))
264
+ let param = [];
265
+ // let workflow = JSON.parse(str);
266
+ param.push({label:"全部",value:""})
267
+ str.activitys.forEach(function(item){
268
+ let title = item.title;
269
+ console.log(title)
270
+ param.push({label:title,value:title});
271
+ })
272
+ this.alloptions = param;
273
+
274
+ },*/
275
+ async getConfig(){
276
+ let http = new HttpResetClass()
277
+ await http.load('POST','rs/logic/ApplyGetConfigs', {data:this.$login.f}, {resolveMsg: null, rejectMsg: null}
278
+ ).then((res)=>{
279
+ if(res.data.code && res.data.code == 200){
280
+ this.getapplyName(res.data.workflow_vue);
281
+ }else{
282
+ this.$showMessage('获取报建配置失败,原因:' + res.data.msg)
283
+ return
284
+ }
285
+ })
286
+
287
+ },
288
+ generateUUID() {
289
+ var d = new Date().getTime()
290
+ var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
291
+ var r = (d + Math.random() * 16) % 16 | 0
292
+ d = Math.floor(d / 16)
293
+ return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16)
294
+ })
295
+ return uuid
296
+ },
297
+ check(val) {
298
+ val.appid=val.id
299
+ this.$dispatch('check', val)
300
+ },
301
+ close() {
302
+ this.$dispatch('close')
303
+ },
304
+ compare(val) {
305
+ val === '完工'
306
+ console.log('完工', val)
307
+ return false
308
+ }
309
+ },
310
+ computed: {
311
+ date() {
312
+ return getNowDate()
313
+ },
314
+ selected() {
315
+ return this.$refs.cp.$refs.grid.selected
316
+ },
317
+ usertype() {
318
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
319
+ },
320
+ defnameType() {
321
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('流程状态')]
322
+ },
323
+ applytype() {
324
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('报建类型')]
325
+ }
326
+ }
327
+ }
328
+ </script>
329
+ <style>
330
+ /* label {
331
+ display: flex;
332
+ justify-content:center;
333
+ align-items:Center;
334
+ padding-top: 8px;
335
+ }*/
336
+ tr.title {
337
+ background-color: #6666ff;
338
+ }
339
+
340
+ </style>