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
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
|
-
|
|
64
|
-
|
|
65
|
-
Vue.component('
|
|
66
|
-
Vue.component('
|
|
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>×</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>×</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>
|