apply-clients 4.1.2 → 4.1.4-weinan

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 (37) hide show
  1. package/index.html +1 -1
  2. package/package.json +7 -5
  3. package/src/apply.js +81 -66
  4. package/src/applyAndroid.js +41 -39
  5. package/src/components/app_apply/AppChargeManagement.vue +619 -0
  6. package/src/components/app_apply/ApplyInfo.vue +56 -56
  7. package/src/components/app_apply/ApplyToDoList.vue +148 -165
  8. package/src/components/app_apply/PlaceControler.vue +258 -258
  9. package/src/components/app_apply/ServiceControl.vue +280 -267
  10. package/src/components/product/ApplyCharge/ApplyChargeList.vue +251 -251
  11. package/src/components/product/Function/InstallInfoSelect.vue +40 -27
  12. package/src/components/product/Function/StopApplyCrrdList.vue +1 -1
  13. package/src/components/product/Function/functions/StopInstall.vue +7 -1
  14. package/src/components/product/Process/ExplorationSelect.vue +82 -59
  15. package/src/components/product/Process/Processes/InstallationDetails.vue +276 -246
  16. package/src/components/product/Process/Processes/UserFireInfo.vue +409 -0
  17. package/src/components/product/Process/Processes/addressAndUserinfoManagement.vue +1458 -99
  18. package/src/components/product/Process/Processes/addressAndUserinfoManagementPro.vue +1221 -0
  19. package/src/components/product/Process/Processes/chargeManagement.vue +47 -53
  20. package/src/components/product/Process/Processes/devicesDetails.vue +834 -0
  21. package/src/components/product/Process/Processes/materialshoufei.vue +182 -0
  22. package/src/components/product/Process/Processes/printCharge.vue +130 -130
  23. package/src/components/product/Process/Processes/recordcancel.vue +50 -0
  24. package/src/components/product/Process/Processes/selectUserinfo.vue +199 -0
  25. package/src/components/product/Process/Processes/splitMaterial.vue +358 -0
  26. package/src/components/product/Process/Service/ServiceControl.vue +1126 -703
  27. package/src/components/product/Process/ShowBackReason.vue +1 -0
  28. package/src/components/product/ServiceView.vue +82 -35
  29. package/src/components/product/Stop/StopApply.vue +101 -0
  30. package/src/components/product/Stop/StopApplyList.vue +257 -0
  31. package/src/components/product/Supervisory/SupervisoryControl.vue +7 -4
  32. package/src/components/product/Supervisory/SupervisoryList.vue +40 -27
  33. package/src/components/product/Supervisory/SupervisoryhCart.vue +0 -7
  34. package/src/components/product/Test.vue +8 -4
  35. package/src/components/product/VueUtils/ApplyUpload.vue +4 -4
  36. package/src/main.js +25 -23
  37. package/static/images/lefticon//347/237/251/345/275/2421183.png +0 -0
@@ -1,71 +1,66 @@
1
1
  <template>
2
2
  <div class="col-sm-12" style="margin: 20px 0px;">
3
-
4
- <data-grid :model="model" v-ref:grid class="list_area table_sy" style="padding: 0px">
5
- <template partial='head'>
6
- <tr>
7
- <th>序号</th>
8
- <th>客户编号</th>
9
- <th>客户名称</th>
10
- <th>客户电话</th>
11
- <th>地址信息</th>
12
- <th>表具数量</th>
13
- <th v-if="$parent.$parent.selectdata.f_apply_type === '散户集体报建' || $parent.$parent.selectdata.f_apply_type === '煤改气报建'">单价(户)</th>
14
- <th v-if="$parent.$parent.selectdata.f_apply_type === '散户集体报建' || $parent.$parent.selectdata.f_apply_type === '煤改气报建'">累计缴费</th>
15
- <th>
16
- <button type="button" class="btn btn-info head-but"
17
- :disabled="$parent.$parent.mark === 1"
18
- @click="$parent.$parent.showFile = !$parent.$parent.showFile">导入</button>
19
- <a type="button" class="btn btn-info head-but"
20
- href="/apply/download/excel/安装明细.xlsx" download>模板下载</a>
21
- </th>
22
- </tr>
23
- </template>
24
- <template partial='body'>
25
- <tr>
26
- <td style="text-align: center;">
27
- <nobr>{{$index+1}}</nobr>
28
- </td>
29
- <td style="text-align: center;">
30
- <nobr>{{row.f_userinfo_code}}</nobr>
31
- </td>
32
- <td style="text-align: center;">
33
- <nobr>{{row.f_user_name}}</nobr>
34
- </td>
35
- <td style="text-align: center;">
36
- <nobr>{{row.f_user_phone}}</nobr>
37
- </td>
38
- <td style="text-align: center;">
39
- <nobr>{{row.f_address}}</nobr>
40
- </td>
41
- <td style="text-align: center;">
42
- <nobr>{{row.f_userfiles_num === null ? 0 : row.f_userfiles_num}}</nobr>
43
- </td>
44
- <td style="text-align: center;"
45
- v-if="$parent.$parent.selectdata.f_apply_type === '散户集体报建' || $parent.$parent.selectdata.f_apply_type === '煤改气报建'"
46
- >
47
- <nobr>{{$parent.$parent.selectdata.f_price}}</nobr>
48
- </td>
49
- <td style="text-align: center;"
50
- v-if="$parent.$parent.selectdata.f_apply_type === '散户集体报建' || $parent.$parent.selectdata.f_apply_type === '煤改气报建'"
51
- >
52
- <nobr>{{row.f_cumulative_payment_money}}</nobr>
53
- </td>
54
- <td style="text-align: center;">
55
- <nobr>
56
- <button
57
- type="button"
58
- name="button"
59
- class="btn btn-link"
60
- :disabled="(row.f_cumulative_payment_money < $parent.$parent.selectdata.f_price && ($parent.$parent.selectdata.f_apply_type === '散户集体报建' || $parent.$parent.selectdata.f_apply_type === '煤改气报建')) || $parent.$parent.mark === 1"
61
- @click="$parent.$parent.showUserFileModal(row)">
62
- {{row.f_userfiles_num > 0 ? '修正' : '添加'}}
63
- </button>
64
- </nobr>
65
- </td>
66
- </tr>
67
- </template>
68
- </data-grid>
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 v-if="selectdata.f_apply_type !== '开发商集体报建'">是否结清</th>
12
+ <th>表具数量</th>
13
+ <th>
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;" v-if="selectdata.f_apply_type !== '开发商集体报建'">
46
+ <nobr>{{row.f_cumulative_payment_money < $parent.$parent.selectdata.f_price ? '否' : '是'}}</nobr>
47
+ </td>
48
+ <td style="text-align: center;">
49
+ <nobr>{{row.f_userfiles_num === null ? 0 : row.f_userfiles_num}}</nobr>
50
+ </td>
51
+ <td style="text-align: center;">
52
+ <nobr>
53
+ <button
54
+ type="button" name="button" class="btn btn-link"
55
+ :disabled="row.f_cumulative_payment_money < $parent.$parent.selectdata.f_price && selectdata.f_apply_type !== '开发商集体报建'"
56
+ @click="$parent.$parent.showUserFileModal(row)">
57
+ {{$parent.$parent.mark === 1 ? '查看' : row.f_userfiles_num > 0 ? '修正' : '添加'}}
58
+ </button>
59
+ </nobr>
60
+ </td>
61
+ </tr>
62
+ </template>
63
+ </data-grid>
69
64
  </div>
70
65
  <modal v-if="showFile" :show.sync="showFile" v-ref:modal :backdrop="false" title="选择文件">
71
66
  <header slot="modal-header" class="modal-header">
@@ -80,125 +75,134 @@
80
75
  <footer slot="modal-footer" class="modal-footer"></footer>
81
76
  </modal>
82
77
 
83
- <modal v-if="showUserFile" :show.sync="showUserFile" v-ref:modal :large="true" :backdrop="false" title="安装明细">
84
- <header slot="modal-header" class="modal-header">
85
- <button type="button" class="close" @click="closeUserFile"><span>&times;</span></button>
86
- <h4 class="modal-title">安装明细</h4>
87
- </header>
88
- <article slot="modal-body" class="modal-body clearfix">
89
- <div class="form-group col-sm-12">
90
- <label class="col-sm-2 control-label">地址信息:</label>
91
- <div class="col-sm-10">
92
- <input class="form-control input_view" style=""
93
- v-model="useradders.f_address"
94
- :value="useradders.f_address"
95
- :readonly="true"/>
78
+ <validator name="v">
79
+ <modal v-if="showUserFile" :show.sync="showUserFile" v-ref:modal :large="true" :backdrop="false" title="安装明细">
80
+ <header slot="modal-header" class="modal-header">
81
+ <button type="button" class="close" @click="closeUserFile"><span>&times;</span></button>
82
+ <h4 class="modal-title">安装明细</h4>
83
+ </header>
84
+ <article slot="modal-body" class="modal-body clearfix">
85
+ <div class="form-group col-sm-12">
86
+ <label class="col-sm-2 control-label">地址信息:</label>
87
+ <div class="col-sm-10">
88
+ <input class="form-control input_view" style=""
89
+ v-model="useradders.f_address"
90
+ :value="useradders.f_address"
91
+ :readonly="true"/>
92
+ </div>
96
93
  </div>
97
- </div>
98
94
 
99
- <div v-for="(i, item) in userinfo.userfiles" class="form-group col-sm-12 panel panel-info">
100
- <div class="panel-heading head" style="background-color: #e8f4ff;margin-bottom: 10px">表具{{$index+1}}信息</div>
101
- <div class="form-group col-sm-6" :class="item.f_gasbrand_id ? '':'has-error'">
102
- <label class="col-sm-4 control-label">气表品牌:</label>
103
- <div class="col-sm-8">
104
- <input-select
105
- class="select select_list"
106
- :value.sync="item.gasbrand"
107
- v-model="item.gasbrand"
108
- :options="meterbrands"
109
- @change="gasbrandChange(i)"
110
- :valueSingle="true"></input-select>
95
+ <div v-for="(i, item) in userinfo.userfiles" class="form-group col-sm-12 panel panel-info">
96
+ <div class="panel-heading head" style="background-color: #e8f4ff;margin-bottom: 10px">表具{{$index+1}}信息</div>
97
+ <div class="form-group col-sm-6" :class="[$v.gasbrand.required ? 'has-error' : '']">
98
+ <label class="col-sm-4 control-label">气表品牌:</label>
99
+ <div class="col-sm-8">
100
+ <input type="text" v-show="false" v-model="item.gasbrand.id" v-validate:gasbrand = "['required']" >
101
+ <input-select
102
+ class="select select_list"
103
+ :value.sync="item.gasbrand"
104
+ v-model="item.gasbrand"
105
+ :options="meterbrands"
106
+ @change="gasbrandChange(i)"
107
+ :disable="mark === 1"
108
+ :valueSingle="true"></input-select>
109
+ </div>
111
110
  </div>
112
- </div>
113
- <div class="form-group col-sm-6" :class="item.f_gasmodel_id ? '':'has-error'">
114
- <label class="col-sm-4 control-label">气表型号:</label>
115
- <div class="col-sm-8">
116
- <input-select
117
- class="select select_list"
118
- :value.sync="item.gasmodel"
119
- v-model="item.gasmodel"
120
- :options="item.gasbrand.gasmodel"
121
- @change="gasmodelChange(i)"
122
- :valueSingle="true"></input-select>
111
+ <div class="form-group col-sm-6" :class="[$v.gasmodel.required ? 'has-error' : '']">
112
+ <label class="col-sm-4 control-label">气表型号:</label>
113
+ <div class="col-sm-8">
114
+ <input type="text" v-show="false" v-model="item.gasmodel.f_meter_style" :value.sync="item.gasmodel.f_meter_style" v-validate:gasmodel = "['required']" >
115
+ <input-select
116
+ class="select select_list"
117
+ :value.sync="item.gasmodel"
118
+ v-model="item.gasmodel"
119
+ :options.sync="item.gasbrand.gasmodel"
120
+ @change="gasmodelChange(i)"
121
+ :disable="mark === 1"
122
+ :valueSingle="true"></input-select>
123
+ </div>
123
124
  </div>
124
- </div>
125
- <div class="form-group col-sm-6" :class="item.f_meternumber ? '':'has-error'">
126
- <label class="col-sm-4 control-label">表号:</label>
127
- <div class="col-sm-8">
128
- <input class="form-control input_view" style=""
129
- placeholder="表号"
130
- v-model="item.f_meternumber"
131
- :value="item.f_meternumber"
132
- @change="meternumberValidate(i)"
133
- :readonly="false"/>
125
+ <div class="form-group col-sm-6" :class="[$v.f_meternumber.required ? 'has-error' : '']">
126
+ <label class="col-sm-4 control-label">表号:</label>
127
+ <div class="col-sm-8">
128
+ <input class="form-control input_view" style=""
129
+ placeholder="表号"
130
+ v-validate:f_meternumber = "['required']"
131
+ v-model="item.f_meternumber"
132
+ :value="item.f_meternumber"
133
+ @change="meternumberValidate(i)"
134
+ :readonly="mark === 1"/>
135
+ </div>
134
136
  </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_metertitles"
142
- :value="item.f_metertitles"
143
- :readonly="false"/>
137
+ <div class="form-group col-sm-6">
138
+ <label class="col-sm-4 control-label">表封号:</label>
139
+ <div class="col-sm-8">
140
+ <input class="form-control input_view" style=""
141
+ placeholder="表封号"
142
+ v-model="item.f_metertitles"
143
+ :value="item.f_metertitles"
144
+ :readonly="mark === 1"/>
145
+ </div>
144
146
  </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
- <input class="form-control input_view" style=""
150
- type="number"
151
- placeholder="表读数"
152
- v-model="item.f_meter_base"
153
- :value="item.f_meter_base"
154
- :readonly="false"/>
147
+ <div class="form-group col-sm-6">
148
+ <label class="col-sm-4 control-label">表读数:</label>
149
+ <div class="col-sm-8">
150
+ <input class="form-control input_view" style=""
151
+ type="number"
152
+ placeholder="表读数"
153
+ v-model="item.f_meter_base"
154
+ :value="item.f_meter_base"
155
+ :readonly="mark === 1"/>
156
+ </div>
155
157
  </div>
156
- </div>
157
- <div class="form-group col-sm-6">
158
- <label class="col-sm-4 control-label">初始底数:</label>
159
- <div class="col-sm-8">
160
- <input class="form-control input_view" style=""
161
- type="number"
162
- v-model="item.f_initial_base"
163
- :value="item.f_initial_base"
164
- placeholder="初始底数"
165
- :readonly="false"/>
158
+ <div class="form-group col-sm-6">
159
+ <label class="col-sm-4 control-label">初始底数:</label>
160
+ <div class="col-sm-8">
161
+ <input class="form-control input_view" style=""
162
+ type="number"
163
+ v-model="item.f_initial_base"
164
+ :value="item.f_initial_base"
165
+ placeholder="初始底数"
166
+ :readonly="mark === 1"/>
167
+ </div>
166
168
  </div>
167
- </div>
168
- <div class="form-group col-sm-6">
169
- <label class="col-sm-4 control-label">表向:</label>
170
- <div class="col-sm-8">
171
- <input-select
172
- class="select select_list"
173
- :value.sync="item.f_aroundmeter"
174
- v-model="item.f_aroundmeter"
175
- :options="aroundmeters"
176
- :valueSingle="true"></input-select>
169
+ <div class="form-group col-sm-6">
170
+ <label class="col-sm-4 control-label">表向:</label>
171
+ <div class="col-sm-8">
172
+ <input-select
173
+ class="select select_list"
174
+ :value.sync="item.f_aroundmeter"
175
+ v-model="item.f_aroundmeter"
176
+ :options="aroundmeters"
177
+ :disable="mark === 1"
178
+ :valueSingle="true"></input-select>
179
+ </div>
177
180
  </div>
178
- </div>
179
- <div class="form-group col-sm-6">
180
- <label class="col-sm-4 control-label">安装位置:</label>
181
- <div class="col-sm-8">
182
- <input-select
183
- class="select select_list"
184
- :value.sync="item.f_position"
185
- v-model="item.f_position"
186
- :options="positions"
187
- :valueSingle="true"></input-select>
181
+ <div class="form-group col-sm-6">
182
+ <label class="col-sm-4 control-label">安装位置:</label>
183
+ <div class="col-sm-8">
184
+ <input-select
185
+ class="select select_list"
186
+ :value.sync="item.f_position"
187
+ v-model="item.f_position"
188
+ :options="positions"
189
+ :disable="mark === 1"
190
+ :valueSingle="true"></input-select>
191
+ </div>
188
192
  </div>
189
- </div>
190
- <div class="form-group col-sm-6">
191
- <label class="col-sm-4 control-label">安装人:</label>
192
- <div class="col-sm-8">
193
- <input-select
194
- class="select select_list"
195
- :value.sync="item.f_install_person"
196
- v-model="item.f_install_person"
197
- :options="installperson"
198
- :valueSingle="true"></input-select>
193
+ <div class="form-group col-sm-6">
194
+ <label class="col-sm-4 control-label">安装人:</label>
195
+ <div class="col-sm-8">
196
+ <input-select
197
+ class="select select_list"
198
+ :value.sync="item.f_install_person"
199
+ v-model="item.f_install_person"
200
+ :options="installpersons"
201
+ :disable="mark === 1"
202
+ :valueSingle="true"></input-select>
203
+ </div>
199
204
  </div>
200
- </div>
201
- <div class="form-group col-sm-6">
205
+ <div class="form-group col-sm-6">
202
206
  <label class="col-sm-4 control-label">安装日期:</label>
203
207
  <div class="col-sm-8">
204
208
  <datepicker
@@ -206,19 +210,21 @@
206
210
  :value.sync="item.f_install_date"
207
211
  v-model="item.f_install_date"
208
212
  format="yyyy-MM-dd HH:mm:ss"
213
+ :disabled="mark === 1"
209
214
  :show-reset-button="reset">
210
215
  </datepicker>
211
216
  </div>
212
217
  </div>
213
- </div>
218
+ </div>
214
219
 
215
- </article>
216
- <footer slot="modal-footer" class="modal-footer">
217
- <!-- 去除一户多表 -->
218
- <button type="button" class="btn btn-primary" @click="addUserFile" v-if="false">添加表具</button>
219
- <button type="button" class="btn btn-primary" @click="saveUserFile">确认</button>
220
- </footer>
221
- </modal>
220
+ </article>
221
+ <footer slot="modal-footer" class="modal-footer">
222
+ <!-- 去除一户多表 -->
223
+ <button type="button" class="btn btn-primary" @click="addUserFile" v-if="false">添加表具</button>
224
+ <button type="button" class="btn btn-primary" @click="saveUserFile" :disabled="!$v.valid">确认</button>
225
+ </footer>
226
+ </modal>
227
+ </validator>
222
228
  </template>
223
229
  <script>
224
230
  import Vue from 'vue'
@@ -246,36 +252,44 @@ export default {
246
252
  },
247
253
  meterbrands: [], // 气表品牌
248
254
  useradders: null,
249
- userinfo: {}
255
+ userinfo: {},
256
+ installpersons:[],
257
+ getfield: {
258
+ 'f_address': '地址',
259
+ 'f_meternumber': '表号',
260
+ 'f_gasbrand': '气表品牌',
261
+ 'f_gasmodel': '气表型号',
262
+ 'f_metertitles': '表封号',
263
+ 'f_meter_base': '表读数',
264
+ 'f_initial_base': '初始底数',
265
+ 'f_aroundmeter': '表向',
266
+ 'f_position': '安装位置',
267
+ 'f_install_person': '安装人',
268
+ 'f_install_date': '安装日期'
269
+ }
250
270
  }
251
271
  },
252
272
  ready () {
253
273
  this.search()
254
274
  this.getMeterbrands()
275
+ this.installperson()
255
276
  },
256
277
  methods: {
278
+ // 追加表具
279
+ addUserFile() {
280
+ this.userinfo.userfiles.push({})
281
+ },
257
282
  // 保存档案
258
283
  async saveUserFile() {
259
- if (this.userinfo.userfiles.length > 1) {
260
- this.$showAlert('该地址下已有表具信息,暂不支持一户多表!!!', 'warning', 3000)
284
+ console.log("当前表具信息",this.userinfo.userfiles[0])
285
+ if ((this.userinfo.userfiles[0].gasbrand.f_meter_brand === '先锋集中器' ||
286
+ this.userinfo.userfiles[0].gasbrand.f_meter_brand === '先锋4G物联网表' ||
287
+ this.userinfo.userfiles[0].gasbrand.f_meter_brand === '先锋NB物联网表') &&
288
+ !/^[a-zA-Z0-9]{10}$/.test(this.userinfo.userfiles[0].f_meternumber))
289
+ {
290
+ this.$showAlert('请输入10位表号!!!', 'warning', 2000)
261
291
  return
262
292
  }
263
- // 检查必填项
264
- for (let i = 0; i < this.userinfo.userfiles.length; i++) {
265
- let userfile = this.userinfo.userfiles[i]
266
- if (userfile.f_gasbrand_id === null || userfile.f_gasbrand_id === '') {
267
- this.$showAlert(`表具${i+1}气表品牌没有选择!!!`, 'warning', 3000)
268
- return
269
- }
270
- if (userfile.f_gasmodel_id === null || userfile.f_gasmodel_id === '') {
271
- this.$showAlert(`表具${i+1}气表型号没有选择!!!`, 'warning', 3000)
272
- return
273
- }
274
- if (userfile.f_meternumber === null || userfile.f_meternumber === '') {
275
- this.$showAlert(`表具${i+1}表号没有填写!!!`, 'warning', 3000)
276
- return
277
- }
278
- }
279
293
  let data = {
280
294
  user: this.$login.f,
281
295
  useradders: this.useradders,
@@ -292,7 +306,15 @@ export default {
292
306
  async meternumberValidate(i) {
293
307
  if (!this.userinfo.userfiles[i].f_gasbrand_id) {
294
308
  this.userinfo.userfiles[i].f_meternumber = ''
295
- this.$showAlert('请先选择气表品牌!!!', 'warning', 3000)
309
+ this.$showAlert('请先选择气表品牌!!!', 'warning', 2000)
310
+ return
311
+ }
312
+ if ((this.userinfo.userfiles[i].gasbrand.f_meter_brand === '先锋集中器' ||
313
+ this.userinfo.userfiles[i].gasbrand.f_meter_brand === '先锋4G物联网表' ||
314
+ this.userinfo.userfiles[i].gasbrand.f_meter_brand === '先锋NB物联网表') &&
315
+ !/^[a-zA-Z0-9]{10}$/.test(this.userinfo.userfiles[i].f_meternumber))
316
+ {
317
+ this.$showAlert('请输入10位表号!!!', 'warning', 2000)
296
318
  return
297
319
  }
298
320
  if (this.userinfo.userfiles[i].f_gasbrand_id && this.userinfo.userfiles[i].f_meternumber) {
@@ -324,6 +346,7 @@ export default {
324
346
  // 清空已保存的气表型号
325
347
  this.userinfo.userfiles[i].f_gasmodel_id = null
326
348
  this.userinfo.userfiles[i].gasmodel = null
349
+
327
350
  if (this.userinfo.userfiles[i].gasbrand) {
328
351
  // 气表品牌id
329
352
  this.userinfo.userfiles[i].f_gasbrand_id = this.userinfo.userfiles[i].gasbrand.id
@@ -331,17 +354,13 @@ export default {
331
354
  this.userinfo.userfiles[i].f_meter_classify = this.userinfo.userfiles[i].gasbrand.f_meter_type
332
355
  }
333
356
  },
334
- // 追加表具
335
- addUserFile() {
336
- this.userinfo.userfiles.push({})
337
- },
338
357
  // 打开安装明细
339
358
  async showUserFileModal (row) {
340
359
  this.useradders = row
341
360
 
342
361
  let http = new HttpResetClass()
343
362
  let data = {
344
- condition: `f_userinfo_id='${row.f_userinfo_id}'`
363
+ condition: `f_userinfo_id = '${row.f_userinfo_id}'`
345
364
  }
346
365
  let res = await http.load('POST', 'rs/logic/getUserinfoAndUserfiles', {data:data}, {
347
366
  resolveMsg: null,
@@ -351,27 +370,30 @@ export default {
351
370
  this.userinfo = res.data
352
371
 
353
372
  // 已有表具的 气表信息补充
354
- for (const userfile of this.userinfo.userfiles) {
373
+ for (let i = 0; i < this.userinfo.userfiles.length; i++) {
355
374
  for (const item of this.meterbrands) {
356
- if (item.value.id === userfile.f_gasbrand_id) {
357
- userfile.gasbrand = item.value
375
+ if (item.value.id === this.userinfo.userfiles[i].f_gasbrand_id) {
376
+ // this.userinfo.userfiles[i].gasbrand = item.value // 防止双向绑定失败
377
+ Vue.set(this.userinfo.userfiles[i], 'gasbrand', item.value)
358
378
  }
359
379
  }
360
- if (userfile.gasbrand) {
361
- for (const item of userfile.gasbrand.gasmodel) {
362
- if (item.value.id === userfile.f_gasmodel_id) {
363
- userfile.gasmodel = item.value
380
+ if (this.userinfo.userfiles[i].gasbrand) {
381
+ for (const item of this.userinfo.userfiles[i].gasbrand.gasmodel) {
382
+ if (item.value.id === this.userinfo.userfiles[i].f_gasmodel_id) {
383
+ // this.userinfo.userfiles[i].gasmodel = item.value
384
+ Vue.set(this.userinfo.userfiles[i], 'gasmodel', item.value)
364
385
  }
365
386
  }
366
387
  }
367
388
  }
368
-
389
+ console.log("表具信息",this.userinfo.userfiles)
369
390
  this.showUserFile = true
370
391
  },
371
392
  // 获取气表品牌
372
393
  async getMeterbrands() {
373
394
  let http = new HttpResetClass()
374
395
  let data = {
396
+ f_orgid: this.$login.f.orgid,
375
397
  f_filialeid: this.$login.f.orgid
376
398
  }
377
399
  let res = await http.load('POST', 'rs/logic/getMeterbrands', {data:data}, {
@@ -392,7 +414,7 @@ export default {
392
414
  rejectMsg: null
393
415
  })
394
416
  this.model.data = res.data
395
- if (this.selectdata.f_apply_type === '开发商集体报建' || this.selectdata.f_apply_type === '散户集体报建' || this.selectdata.f_apply_type === '煤改气报建') {
417
+ if (this.selectdata.f_apply_type === '开发商集体报建' || this.selectdata.f_apply_type === '散户集体报建') {
396
418
  let f_installed_households = 0
397
419
  for (const item of res.data) {
398
420
  if (item.f_userfiles_num > 0) {
@@ -410,11 +432,26 @@ export default {
410
432
  }
411
433
  }
412
434
  },
435
+ // 安装人
436
+ async installperson() {
437
+ let http = new HttpResetClass()
438
+ let res = await http.load('POST', 'rs/search', {
439
+ source: "this.getParentByType($organization$).getChildByName($安全员$).getChildren()",
440
+ userid: this.$login.f.id
441
+ }, {resolveMsg: null, rejectMsg: null})
442
+
443
+ this.installpersons = res.data.map(item =>{
444
+ return {
445
+ label: item.name,
446
+ value: item.name
447
+ }
448
+ })
449
+ },
413
450
  // 关闭安装明细
414
451
  closeUserFile() {
415
452
  this.showUserFile = false
416
453
  this.useradders = null
417
- this.userinfo = null
454
+ this.userinfo = {}
418
455
  this.search()
419
456
  },
420
457
  // 关闭文件上传对话框
@@ -432,24 +469,17 @@ export default {
432
469
  filepath: result.f_downloadpath,
433
470
  user: this.$login.f
434
471
  }
435
- let res = await this.$resetpost(`rs/logic/importAddInstallationDetails`, {data:data}, {resolveMsg: null, rejectMsg: '导入失败', silent: true}, 0)
436
- if(res.data.type === "success"){
437
- this.$showAlert("导入信息:"+res.data.msg, res.data.type, 2000);
438
- }else{
439
- this.$showMessage(res.data.msg);
440
- }
472
+ let res = await this.$resetpost(`rs/logic/importAddInstallationDetails`, {data:data}, {resolveMsg: null, rejectMsg: '导入失败!!!', silent: true}, 0)
473
+
441
474
  this.$dispatch('breakControl', this.selectdata)
442
475
  }
443
476
  },
444
477
  computed: {
445
- // 安装人
446
- installperson() {
447
- return this.$login.f.f_installman.map(item => {
448
- return {
449
- label: item.name,
450
- value: item.name
451
- }
452
- })
478
+ getCondition () {
479
+ let data = {
480
+ f_process_id: this.selectdata.f_process_id
481
+ }
482
+ return data
453
483
  },
454
484
  // 表向
455
485
  aroundmeters() {
@@ -465,19 +495,19 @@ export default {
465
495
  }
466
496
  </script>
467
497
  <style scoped>
468
- .head-but{
469
- margin-left: 5px;
470
- height: 34px;
471
- /*background-color: #6aa6e2;*/
472
- border-radius: 4px;
473
- font-family: PingFang;
474
- color: #ffffff;
475
- }
476
- /*清除model中的浮动*/
477
- .clearfix:after,.clearfix:before{
478
- display: table;
479
- }
480
- .clearfix:after{
481
- clear: both;
482
- }
498
+ .head-but{
499
+ margin-left: 5px;
500
+ height: 34px;
501
+ /*background-color: #6aa6e2;*/
502
+ border-radius: 4px;
503
+ font-family: PingFang;
504
+ color: #ffffff;
505
+ }
506
+ /*清除model中的浮动*/
507
+ .clearfix:after,.clearfix:before{
508
+ display: table;
509
+ }
510
+ .clearfix:after{
511
+ clear: both;
512
+ }
483
513
  </style>