apply-clients 4.1.67 → 4.1.68

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "apply-clients",
3
- "version": "4.1.67",
3
+ "version": "4.1.68",
4
4
  "description": "报建前端模块",
5
5
  "main": "src/index.js",
6
6
  "directories": {
package/src/apply.js CHANGED
@@ -1,67 +1,68 @@
1
- import Vue from 'vue'
2
- Vue.config.silent = true
3
- import ApplyGetSaleParam from './stores/ApplyGetSaleParams'
4
- import ApplyLoadParams from './stores/ApplyLoadParams'
5
- /** ****************服务插件*********************/
6
-
7
- export default function () {
8
- Vue.use(ApplyGetSaleParam)
9
- Vue.use(ApplyLoadParams)
10
- /** ***************************报建模块*********************************/
11
- /** 报建流程业务 **/
12
- // 报建流程业务总入口
13
- Vue.component('exploration-user', (resolve) => { require(['./components/product/Process/ExplorationUser'], resolve) })
14
- // 报建流程业务总入口页面list布局
15
- Vue.component('exploration-select', (resolve) => { require(['./components/product/Process/ExplorationSelect'], resolve) })
16
- // 业务tab(control层)页
17
- Vue.component('service-control', (resolve) => { require(['./components/product/Process/Service/ServiceControl'], resolve) })
18
- // 公共业务显示(view层)页
19
- Vue.component('service-view', (resolve) => { require(['./components/product/ServiceView'], resolve) })
20
- // 显示退回理由tab页
21
- Vue.component('show-back-reason', (resolve) => { require(['./components/product/Process/ShowBackReason'], resolve) })
22
-
23
- /** 报建监控业务 **/
24
- // 流程监控入口页
25
- Vue.component('supervisory-control', (resolve) => { require(['./components/product/Supervisory/SupervisoryControl'], resolve) })
26
- // 流程监控列表页
27
- Vue.component('supervisory-list', (resolve) => { require(['./components/product/Supervisory/SupervisoryList'], resolve) })
28
- // 业务tab(control层)页
29
- Vue.component('supervisory-service-control', (resolve) => { require(['./components/product/Supervisory/Service/SupervisoryServiceControl'], resolve) })
30
- // 流程列表页
31
- Vue.component('supervisory-chart', (resolve) => { require(['./components/product/Supervisory/SupervisoryhCart'], resolve) })
32
-
33
- /** 报建功能业务 **/
34
- // 报建功能业务总入口
35
- Vue.component('install-function', (resolve) => { require(['./components/product/Function/InstallFunction'], resolve) })
36
- // 报建功能工程列表
37
- Vue.component('installinfoselect', (resolve) => { require(['./components/product/Function/InstallInfoSelect'], resolve) })
38
- // 报建菜单页面控制层
39
- Vue.component('function-service-control', (resolve) => { require(['./components/product/Function/Service/FunctionServiceControl'], resolve) })
40
- // 终止报建业务
41
- Vue.component('stop-install', (resolve) => { require(['./components/product/Function/functions/StopInstall'], resolve) })
42
- // 终止报建列表页
43
- Vue.component('stop-apply-cardlist', (resolve) => { require(['./components/product/Function/StopApplyCrrdList'], resolve) })
44
- // 撤销报建终止页
45
- Vue.component('apply-record-cancel', (resolve) => { require(['./components/product/Function/functions/ApplyRecordCancel'], resolve) })
46
- Vue.component('apply_record_cancel', (resolve) => { require(['./components/product/Process/Processes/recordcancel'], resolve) })
47
-
48
- /** 报建收费记录 **/
49
- Vue.component('apply-charge-search', (resolve) => { require(['./components/product/ApplyCharge/ApplyChargeSearch'], resolve) })
50
- Vue.component('apply-charge-list', (resolve) => { require(['./components/product/ApplyCharge/ApplyChargeList'], resolve) })
51
-
52
- // 地址管理
53
- Vue.component('apply-address-userinfo-management', (resolve) => { require(['./components/product/Process/Processes/addressAndUserinfoManagement'], resolve) })
54
- // 施工安装明细
55
- Vue.component('installation-details', (resolve) => { require(['./components/product/Process/Processes/InstallationDetails'], resolve) })
56
- // 收费管理
57
- Vue.component('apply-charge-management', (resolve) => { require(['./components/product/Process/Processes/chargeManagement'], resolve) })
58
- Vue.component('apply-print-charge', (resolve) => { require(['./components/product/Process/Processes/printCharge'], resolve) })
59
- // 补充协议
60
- Vue.component('supplemental-agreement', (resolve) => { require(['./components/product/Process/Processes/supplementalAgreement'], resolve) })
61
- Vue.component('test', (resolve) => { require(['./components/product/Test'], resolve) })
62
-
63
- /** VueUtils **/
64
- Vue.component('back-page', (resolve) => { require(['./components/product/VueUtils/ToolsPage'], resolve) })
65
- Vue.component('tree2', (resolve) => { require(['./components/product/VueUtils/Tree'], resolve) })
66
- Vue.component('apply-upload', (resolve) => { require(['./components/product/VueUtils/ApplyUpload'], resolve) })
67
- }
1
+ import Vue from 'vue'
2
+ Vue.config.silent = true
3
+ import ApplyGetSaleParam from './stores/ApplyGetSaleParams'
4
+ import ApplyLoadParams from './stores/ApplyLoadParams'
5
+ /** ****************服务插件*********************/
6
+
7
+ export default function () {
8
+ Vue.use(ApplyGetSaleParam)
9
+ Vue.use(ApplyLoadParams)
10
+ /** ***************************报建模块*********************************/
11
+ /** 报建流程业务 **/
12
+ // 报建流程业务总入口
13
+ Vue.component('exploration-user', (resolve) => { require(['./components/product/Process/ExplorationUser'], resolve) })
14
+ // 报建流程业务总入口页面list布局
15
+ Vue.component('exploration-select', (resolve) => { require(['./components/product/Process/ExplorationSelect'], resolve) })
16
+ // 业务tab(control层)页
17
+ Vue.component('service-control', (resolve) => { require(['./components/product/Process/Service/ServiceControl'], resolve) })
18
+ // 公共业务显示(view层)页
19
+ Vue.component('service-view', (resolve) => { require(['./components/product/ServiceView'], resolve) })
20
+ // 显示退回理由tab页
21
+ Vue.component('show-back-reason', (resolve) => { require(['./components/product/Process/ShowBackReason'], resolve) })
22
+
23
+ /** 报建监控业务 **/
24
+ // 流程监控入口页
25
+ Vue.component('supervisory-control', (resolve) => { require(['./components/product/Supervisory/SupervisoryControl'], resolve) })
26
+ // 流程监控列表页
27
+ Vue.component('supervisory-list', (resolve) => { require(['./components/product/Supervisory/SupervisoryList'], resolve) })
28
+ // 业务tab(control层)页
29
+ Vue.component('supervisory-service-control', (resolve) => { require(['./components/product/Supervisory/Service/SupervisoryServiceControl'], resolve) })
30
+ // 流程列表页
31
+ Vue.component('supervisory-chart', (resolve) => { require(['./components/product/Supervisory/SupervisoryhCart'], resolve) })
32
+
33
+ /** 报建功能业务 **/
34
+ // 报建功能业务总入口
35
+ Vue.component('install-function', (resolve) => { require(['./components/product/Function/InstallFunction'], resolve) })
36
+ // 报建功能工程列表
37
+ Vue.component('installinfoselect', (resolve) => { require(['./components/product/Function/InstallInfoSelect'], resolve) })
38
+ // 报建菜单页面控制层
39
+ Vue.component('function-service-control', (resolve) => { require(['./components/product/Function/Service/FunctionServiceControl'], resolve) })
40
+ // 终止报建业务
41
+ Vue.component('stop-install', (resolve) => { require(['./components/product/Function/functions/StopInstall'], resolve) })
42
+ // 终止报建列表页
43
+ Vue.component('stop-apply-cardlist', (resolve) => { require(['./components/product/Function/StopApplyCrrdList'], resolve) })
44
+ // 撤销报建终止页
45
+ Vue.component('apply-record-cancel', (resolve) => { require(['./components/product/Function/functions/ApplyRecordCancel'], resolve) })
46
+ Vue.component('apply_record_cancel', (resolve) => { require(['./components/product/Process/Processes/recordcancel'], resolve) })
47
+
48
+ /** 报建收费记录 **/
49
+ Vue.component('apply-charge-search', (resolve) => { require(['./components/product/ApplyCharge/ApplyChargeSearch'], resolve) })
50
+ Vue.component('apply-charge-list', (resolve) => { require(['./components/product/ApplyCharge/ApplyChargeList'], resolve) })
51
+
52
+ // 地址管理
53
+ Vue.component('apply-address-userinfo-management', (resolve) => { require(['./components/product/Process/Processes/addressAndUserinfoManagement'], resolve) })
54
+ // 施工安装明细
55
+ Vue.component('installation-details', (resolve) => { require(['./components/product/Process/Processes/InstallationDetails'], resolve) })
56
+ // 收费管理
57
+ Vue.component('apply-charge-management', (resolve) => { require(['./components/product/Process/Processes/chargeManagement'], resolve) })
58
+ Vue.component('apply-print-charge', (resolve) => { require(['./components/product/Process/Processes/printCharge'], resolve) })
59
+ // 补充协议
60
+ Vue.component('supplemental-agreement', (resolve) => { require(['./components/product/Process/Processes/supplementalAgreement'], resolve) })
61
+ Vue.component('test', (resolve) => { require(['./components/product/Test'], resolve) })
62
+ // 设备信息
63
+ Vue.component('devices-details', (resolve) => { require(['./components/product/Process/Processes/devicesDetails'], resolve) })
64
+ /** VueUtils **/
65
+ Vue.component('back-page', (resolve) => { require(['./components/product/VueUtils/ToolsPage'], resolve) })
66
+ Vue.component('tree2', (resolve) => { require(['./components/product/VueUtils/Tree'], resolve) })
67
+ Vue.component('apply-upload', (resolve) => { require(['./components/product/VueUtils/ApplyUpload'], resolve) })
68
+ }
@@ -0,0 +1,514 @@
1
+ <template>
2
+ <div class="col-sm-12" style="margin: 20px 0px;">
3
+ <data-grid :model="model" v-ref:grid class="list_area table_sy" style="padding: 0px">
4
+ <template partial='head'>
5
+ <tr>
6
+ <th>序号</th>
7
+ <th>客户编号</th>
8
+ <th>客户名称</th>
9
+ <th>客户电话</th>
10
+ <th>地址信息</th>
11
+ <th>设备数量</th>
12
+ <th>
13
+ 操作
14
+ <!-- <button type="button" class="btn btn-info head-but" v-if="$parent.$parent.mark === 0"-->
15
+ <!-- @click="$parent.$parent.showFile = !$parent.$parent.showFile">导入</button>-->
16
+ <!-- <a type="button" class="btn btn-info head-but" v-if="$parent.$parent.mark === 0"-->
17
+ <!-- href="/apply/download/excel/v3报装表具批量导入.xlsx" download>模板下载</a>-->
18
+ <!-- <export-excel :data="$parent.$parent.getCondition"-->
19
+ <!-- :field="$parent.$parent.getfield"-->
20
+ <!-- sqlurl="rs/logic/applyExportfile"-->
21
+ <!-- sql-name="getInstallableAddress"-->
22
+ <!-- template-name='可安装地址'-->
23
+ <!-- btn-name="导出可安装"-->
24
+ <!-- :choose-col="true"></export-excel>-->
25
+ </th>
26
+ </tr>
27
+ </template>
28
+ <template partial='body'>
29
+ <tr>
30
+ <td style="text-align: center;">
31
+ <nobr>{{$index+1}}</nobr>
32
+ </td>
33
+ <td style="text-align: center;">
34
+ <nobr>{{row.f_userinfo_code}}</nobr>
35
+ </td>
36
+ <td style="text-align: center;">
37
+ <nobr>{{row.f_user_name}}</nobr>
38
+ </td>
39
+ <td style="text-align: center;">
40
+ <nobr>{{row.f_user_phone}}</nobr>
41
+ </td>
42
+ <td style="text-align: center;">
43
+ <nobr>{{row.f_address}}</nobr>
44
+ </td>
45
+ <td style="text-align: center;">
46
+ <nobr>{{row.f_devices_num === null ? 0 : row.f_devices_num}}</nobr>
47
+ </td>
48
+ <td style="text-align: center;">
49
+ <nobr>
50
+ <button
51
+ type="button" name="button" class="btn btn-link"
52
+ :disabled="row.f_cumulative_payment_money < $parent.$parent.selectdata.f_price && selectdata.f_apply_type !== '开发商集体报建'"
53
+ @click="$parent.$parent.showUserFileModal(row)">
54
+ {{$parent.$parent.mark === 1 ? '查看' : row.f_devices_num > 0 ? '修正' : '添加'}}
55
+ </button>
56
+ </nobr>
57
+ </td>
58
+ </tr>
59
+ </template>
60
+ </data-grid>
61
+ </div>
62
+ <modal v-if="showFile" :show.sync="showFile" v-ref:modal :backdrop="false" title="选择文件">
63
+ <header slot="modal-header" class="modal-header">
64
+ <button type="button" class="close" @click="closeFile"><span>&times;</span></button>
65
+ <h4 class="modal-title">选择文件</h4>
66
+ </header>
67
+ <article slot="modal-body" class="modal-body">
68
+ <div class="form-group">
69
+ <file-upload class="my-file-uploader" name="useraddressUploadFile" action="rs/file/uploadFile" tagname="确定" multiple v-ref:file></file-upload>
70
+ </div>
71
+ </article>
72
+ <footer slot="modal-footer" class="modal-footer"></footer>
73
+ </modal>
74
+
75
+ <validator name="v">
76
+ <modal v-if="showUserFile" :show.sync="showUserFile" v-ref:modal :large="true" :backdrop="false" title="设备明细">
77
+ <header slot="modal-header" class="modal-header">
78
+ <button type="button" class="close" @click="closeUserFile"><span>&times;</span></button>
79
+ <h4 class="modal-title">设备明细</h4>
80
+ </header>
81
+ <article slot="modal-body" class="modal-body clearfix">
82
+ <div class="form-group col-sm-12">
83
+ <label class="col-sm-2 control-label">地址信息:</label>
84
+ <div class="col-sm-10">
85
+ <input class="form-control input_view" style=""
86
+ v-model="useradders.f_address"
87
+ :value="useradders.f_address"
88
+ :readonly="true"/>
89
+ </div>
90
+ </div>
91
+
92
+ <div v-for="(i, item) in userinfo.devices" class="form-group col-sm-12 panel panel-info">
93
+ <div class="panel-heading head" style="background-color: #e8f4ff;margin-bottom: 10px">设备{{$index+1}}信息</div>
94
+ <div class="form-group col-sm-6">
95
+ <label class="col-sm-4 control-label">设备类型:</label>
96
+ <div class="col-sm-8">
97
+ <input-select
98
+ class="select select_list"
99
+ :value.sync="item.f_devices_type"
100
+ v-model="item.f_devices_type"
101
+ :options="devicestype"
102
+ :disable="mark === 1"
103
+ :valueSingle="true"></input-select>
104
+ </div>
105
+ </div>
106
+ <div class="form-group col-sm-6">
107
+ <label class="col-sm-4 control-label">设备编号:</label>
108
+ <div class="col-sm-8">
109
+ <input class="form-control input_view" style=""
110
+ placeholder="设备编号"
111
+ v-model="item.f_devices_no"
112
+ :value="item.f_devices_no"
113
+ :readonly="mark === 1"/>
114
+ </div>
115
+ </div>
116
+ <div class="form-group col-sm-6">
117
+ <label class="col-sm-4 control-label">设备品牌:</label>
118
+ <div class="col-sm-8">
119
+ <input class="form-control input_view" style=""
120
+ placeholder="设备品牌"
121
+ v-model="item.f_brand"
122
+ :value="item.f_brand"
123
+ :readonly="mark === 1"/>
124
+ </div>
125
+ </div>
126
+ <div class="form-group col-sm-6">
127
+ <label class="col-sm-4 control-label">设备型号:</label>
128
+ <div class="col-sm-8">
129
+ <input class="form-control input_view" style=""
130
+ placeholder="设备型号"
131
+ v-model="item.f_devices_model"
132
+ :value="item.f_devices_model"
133
+ :readonly="mark === 1"/>
134
+ </div>
135
+ </div>
136
+ <div class="form-group col-sm-6">
137
+ <label class="col-sm-4 control-label">安装人:</label>
138
+ <div class="col-sm-8">
139
+ <input class="form-control input_view" style=""
140
+ placeholder="安装人"
141
+ v-model="item.f_input_person"
142
+ :value="item.f_input_person"
143
+ :readonly="mark === 1"/>
144
+ </div>
145
+ </div>
146
+ <div class="form-group col-sm-6">
147
+ <label class="col-sm-4 control-label">安装日期:</label>
148
+ <div class="col-sm-8">
149
+ <datepicker
150
+ placeholder="安装日期"
151
+ :value.sync="item.f_input_date"
152
+ v-model="item.f_input_date"
153
+ format="yyyy-MM-dd HH:mm:ss"
154
+ :disabled="mark === 1"
155
+ :show-reset-button="reset">
156
+ </datepicker>
157
+ </div>
158
+ </div>
159
+ <div class="form-group col-sm-6">
160
+ <label class="col-sm-4 control-label">生产日期:</label>
161
+ <div class="col-sm-8">
162
+ <datepicker
163
+ placeholder="生产日期"
164
+ :value.sync="item.f_make_date"
165
+ v-model="item.f_make_date"
166
+ format="yyyy-MM-dd HH:mm:ss"
167
+ :disabled="mark === 1"
168
+ :show-reset-button="reset">
169
+ </datepicker>
170
+ </div>
171
+ </div>
172
+ <div class="form-group col-sm-6">
173
+ <label class="col-sm-4 control-label">使用年限:</label>
174
+ <div class="col-sm-8">
175
+ <input class="form-control input_view" style=""
176
+ type="number"
177
+ placeholder="使用年限"
178
+ v-model="item.f_service_life"
179
+ :value="item.f_service_life"
180
+ :readonly="mark === 1"/>
181
+ </div>
182
+ </div>
183
+ <div class="form-group col-sm-6">
184
+ <label class="col-sm-4 control-label">到期日期:</label>
185
+ <div class="col-sm-8">
186
+ <datepicker
187
+ placeholder="到期日期"
188
+ :value.sync="item.f_expire_date"
189
+ v-model="item.f_expire_date"
190
+ format="yyyy-MM-dd HH:mm:ss"
191
+ :disabled="mark === 1"
192
+ :show-reset-button="reset">
193
+ </datepicker>
194
+ </div>
195
+ </div>
196
+ <div class="form-group col-sm-6">
197
+ <label class="col-sm-4 control-label">设备数量:</label>
198
+ <div class="col-sm-8">
199
+ <input class="form-control input_view" style=""
200
+ type="number"
201
+ v-model="item.f_devices_num"
202
+ :value="item.f_devices_num"
203
+ placeholder="设备数量"
204
+ :readonly="mark === 1"/>
205
+ </div>
206
+ </div>
207
+ <div class="form-group col-sm-6">
208
+ <label class="col-sm-4 control-label">设备状态:</label>
209
+ <div class="col-sm-8">
210
+ <input-select
211
+ class="select select_list"
212
+ :value.sync="item.f_state"
213
+ v-model="item.f_state"
214
+ :options="aroundmeters"
215
+ :disable="mark === 1"
216
+ :valueSingle="true"></input-select>
217
+ </div>
218
+ </div>
219
+ <div class="form-group col-sm-6">
220
+ <label class="col-sm-4 control-label">购买方式:</label>
221
+ <div class="col-sm-8">
222
+ <input-select
223
+ class="select select_list"
224
+ :value.sync="item.WatchPurchase"
225
+ v-model="item.WatchPurchase"
226
+ :options="positions"
227
+ :disable="mark === 1"
228
+ :valueSingle="true"></input-select>
229
+ </div>
230
+ </div>
231
+ <div class="form-group col-sm-6">
232
+ <label class="col-sm-4 control-label">安装方式:</label>
233
+ <div class="col-sm-8">
234
+ <input-select
235
+ class="select select_list"
236
+ :value.sync="item.f_install_type"
237
+ v-model="item.f_install_type"
238
+ :options="installstyle"
239
+ :disable="mark === 1"
240
+ :valueSingle="true"></input-select>
241
+ </div>
242
+ </div>
243
+ <div class="form-group col-sm-6">
244
+ <label class="col-sm-4 control-label">备注:</label>
245
+ <div class="col-sm-8">
246
+ <input class="form-control input_view" style=""
247
+ placeholder="备注"
248
+ v-model="item.f_comments"
249
+ :value="item.f_comments"
250
+ :readonly="mark === 1"/>
251
+ </div>
252
+ </div>
253
+
254
+
255
+
256
+ </div>
257
+
258
+ <div v-for="(i, item) in userinfo.devices" class="form-group col-sm-12 panel panel-info">
259
+ <div class="panel-heading head" style="background-color: #e8f4ff;margin-bottom: 10px">连接管{{$index+1}}信息</div>
260
+ <div class="form-group col-sm-6">
261
+ <label class="col-sm-4 control-label">管道类型:</label>
262
+ <div class="col-sm-8">
263
+ <input-select
264
+ class="select select_list"
265
+ :value.sync="item.f_pipe_type"
266
+ v-model="item.f_pipe_type"
267
+ :options="pipingtype"
268
+ :disable="mark === 1"
269
+ :valueSingle="true"></input-select>
270
+ </div>
271
+ </div>
272
+ <div class="form-group col-sm-6">
273
+ <label class="col-sm-4 control-label">安装日期:</label>
274
+ <div class="col-sm-8">
275
+ <datepicker
276
+ placeholder="连接管安装日期"
277
+ :value.sync="item.f_pipeinstall_date"
278
+ v-model="item.f_pipeinstall_date"
279
+ format="yyyy-MM-dd HH:mm:ss"
280
+ :disabled="mark === 1"
281
+ :show-reset-button="reset">
282
+ </datepicker>
283
+ </div>
284
+ </div>
285
+ <div class="form-group col-sm-6">
286
+ <label class="col-sm-4 control-label">到期日期:</label>
287
+ <div class="col-sm-8">
288
+ <datepicker
289
+ placeholder="连接管到期日期"
290
+ :value.sync="item.f_pipeexpire_date"
291
+ v-model="item.f_pipeexpire_date"
292
+ format="yyyy-MM-dd HH:mm:ss"
293
+ :disabled="mark === 1"
294
+ :show-reset-button="reset">
295
+ </datepicker>
296
+ </div>
297
+ </div>
298
+
299
+ </div>
300
+
301
+ </article>
302
+ <footer slot="modal-footer" class="modal-footer">
303
+ <!-- 去除一户多表 -->
304
+ <button type="button" class="btn btn-primary" @click="addUserFile">添加设备</button>
305
+ <button type="button" class="btn btn-primary" @click="saveUserFile" :disabled="!$v.valid">确认</button>
306
+ </footer>
307
+ </modal>
308
+ </validator>
309
+ </template>
310
+ <script>
311
+ import Vue from 'vue'
312
+ import {PagedList} from 'vue-client'
313
+ import {HttpResetClass} from 'vue-client'
314
+ import {isEmpty} from '../../../Util'
315
+
316
+ export default {
317
+ title: '设备信息',
318
+ props: {
319
+ selectdata: {
320
+ type: Object
321
+ },
322
+ mark: {
323
+ type: Number,
324
+ default: 0
325
+ }
326
+ },
327
+ data () {
328
+ return {
329
+ showFile: false,
330
+ showUserFile: false,
331
+ model: {
332
+ data: null
333
+ },
334
+ meterbrands: [], // 气表品牌
335
+ useradders: null,
336
+ userinfo: {},
337
+ getfield: {
338
+ 'f_address': '地址',
339
+ 'f_meternumber': '表号',
340
+ 'f_gasbrand': '气表品牌',
341
+ 'f_gasmodel': '气表型号',
342
+ 'f_metertitles': '表封号',
343
+ 'f_meter_base': '表读数',
344
+ 'f_initial_base': '初始底数',
345
+ 'f_aroundmeter': '表向',
346
+ 'f_position': '安装位置',
347
+ 'f_install_person': '安装人',
348
+ 'f_install_date': '安装日期'
349
+ }
350
+ }
351
+ },
352
+ ready () {
353
+ this.search()
354
+ },
355
+ methods: {
356
+ // 追加表具
357
+ addUserFile() {
358
+ this.userinfo.devices.push({})
359
+ console.log("数据:" + JSON.stringify(this.userinfo))
360
+ },
361
+ // 保存档案
362
+ async saveUserFile() {
363
+ let data = {
364
+ user: this.$login.f,
365
+ useradders: this.useradders,
366
+ userinfo: this.userinfo,
367
+ selectdata: this.selectdata
368
+ }
369
+ let res = await this.$resetpost('rs/logic/addInstallationDetailsDevices', {data:data}, {
370
+ resolveMsg: null,
371
+ rejectMsg: '设备添加失败!!!'
372
+ })
373
+ this.$dispatch('breakControl', this.selectdata)
374
+ },
375
+ // 打开设备明细
376
+ async showUserFileModal (row) {
377
+ this.useradders = row
378
+
379
+ let http = new HttpResetClass()
380
+ let data = {
381
+ condition: `f_userinfo_id = '${row.f_userinfo_id}'`
382
+ }
383
+ let res = await http.load('POST', 'rs/logic/getUserinfoAndUserfilesDevices', {data:data}, {
384
+ resolveMsg: null,
385
+ rejectMsg: null
386
+ })
387
+
388
+ this.userinfo = res.data
389
+ console.log("获取到的表具信息:" + JSON.stringify(res.data))
390
+ if (res.data.devices.length <= 0) {
391
+ this.userinfo.devices = [
392
+ {
393
+
394
+ }
395
+ ]
396
+ }
397
+
398
+ this.showUserFile = true
399
+ },
400
+ // 查询
401
+ async search () {
402
+ let http = new HttpResetClass()
403
+ let data = {
404
+ condition: " 1=1",
405
+ f_process_id: this.selectdata.f_process_id
406
+ }
407
+ let res = await http.load('POST', 'rs/sql/getAddresAndUserinfoAndUserfilesAmountDevices', {data:data}, {
408
+ resolveMsg: null,
409
+ rejectMsg: null
410
+ })
411
+ this.model.data = res.data
412
+ if (this.selectdata.f_apply_type === '开发商集体报建' || this.selectdata.f_apply_type === '散户集体报建') {
413
+ let f_installed_households = 0
414
+ for (const item of res.data) {
415
+ if (item.f_userfiles_num > 0) {
416
+ f_installed_households++
417
+ }
418
+ }
419
+ let f_uninstalled_households = this.selectdata.f_apply_count - f_installed_households
420
+ for (const item of this.selectdata.fields) {
421
+ if (item.label === '已安装户数') {
422
+ item.value = f_installed_households
423
+ }
424
+ if (item.label === '未安装户数') {
425
+ item.value = f_uninstalled_households
426
+ }
427
+ }
428
+ }
429
+ },
430
+ // 关闭安装明细
431
+ closeUserFile() {
432
+ this.showUserFile = false
433
+ this.useradders = null
434
+ this.userinfo = {}
435
+ this.search()
436
+ },
437
+ // 关闭文件上传对话框
438
+ closeFile() {
439
+ this.showFile = false
440
+ // 将选的文件清空
441
+ this.$refs.file.$el.querySelector('input').value = ''
442
+ this.search()
443
+ }
444
+ },
445
+ events: {
446
+ async 'onFileUpload'(file, result) {
447
+ let data = {
448
+ selectdata: this.selectdata,
449
+ filepath: result.f_downloadpath,
450
+ user: this.$login.f
451
+ }
452
+ let res = await this.$resetpost(`rs/logic/importAddInstallationDetails`, {data:data}, {resolveMsg: null, rejectMsg: '导入失败!!!', silent: true}, 0)
453
+
454
+ this.$dispatch('breakControl', this.selectdata)
455
+ }
456
+ },
457
+ computed: {
458
+ getCondition () {
459
+ let data = {
460
+ f_process_id: this.selectdata.f_process_id
461
+ }
462
+ return data
463
+ },
464
+ // 安装人
465
+ installperson() {
466
+ return this.$login.f.f_installman.map(item => {
467
+ return {
468
+ label: item.name,
469
+ value: item.name
470
+ }
471
+ })
472
+ },
473
+ // 表向
474
+ aroundmeters() {
475
+ return this.$appdata.getParam('设备状态')
476
+ },
477
+ // 安装位置
478
+ positions() {
479
+ return this.$appdata.getParam('购买方式')
480
+ },
481
+ // 安装方式
482
+ installstyle() {
483
+ return this.$appdata.getParam('安装方式')
484
+ },
485
+ // 设备类型
486
+ devicestype() {
487
+ return this.$appdata.getParam('设备类型')
488
+ },
489
+ // 管道类型
490
+ pipingtype() {
491
+ return this.$appdata.getParam('管道类型')
492
+ }
493
+ },
494
+ watch: {
495
+ }
496
+ }
497
+ </script>
498
+ <style scoped>
499
+ .head-but{
500
+ margin-left: 5px;
501
+ height: 34px;
502
+ /*background-color: #6aa6e2;*/
503
+ border-radius: 4px;
504
+ font-family: PingFang;
505
+ color: #ffffff;
506
+ }
507
+ /*清除model中的浮动*/
508
+ .clearfix:after,.clearfix:before{
509
+ display: table;
510
+ }
511
+ .clearfix:after{
512
+ clear: both;
513
+ }
514
+ </style>