apply-clients 5.0.35-48 → 5.0.35-50

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.
@@ -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>