apply-clients 3.3.79 → 3.3.84

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 (31) hide show
  1. package/.project +17 -0
  2. package/build/dev-server-app.js +76 -76
  3. package/build/dev-server.js +156 -127
  4. package/package.json +1 -1
  5. package/src/App.vue +22 -20
  6. package/src/apply.js +5 -0
  7. package/src/applyAndroid.js +39 -34
  8. package/src/components/android/AppOnetomany.vue +50 -8
  9. package/src/components/android/AppServiceView.vue +88 -8
  10. package/src/components/android/AppSign.vue +151 -142
  11. package/src/components/android/AppTakePic.vue +144 -143
  12. package/src/components/android/AreaSelect/AppResAreaSelect.vue +108 -0
  13. package/src/components/android/AreaSelect/AppResAreaSelectGroup.vue +135 -0
  14. package/src/components/android/Process/AppExplorationUser.vue +495 -492
  15. package/src/components/android/Process/AppServiceControl.vue +64 -1
  16. package/src/components/android/Supervisory/AppProcessSupervisory.vue +311 -311
  17. package/src/components/product/AreaSelect/MyAreaSelect.vue +423 -0
  18. package/src/components/product/AreaSelect/ResAreaSelect.vue +106 -0
  19. package/src/components/product/AreaSelect/ResAreaSelectGroup.vue +150 -0
  20. package/src/components/product/AreaSelect/utils/EventListener.js +29 -0
  21. package/src/components/product/AreaSelect/utils/coerceBoolean.js +7 -0
  22. package/src/components/product/Function/InstallInfoSelect.vue +320 -320
  23. package/src/components/product/Onetomany.vue +49 -7
  24. package/src/components/product/Print/BuildOrder/buildOrderList.vue +8 -4
  25. package/src/components/product/Print/BuildOrder/printBuildOrder.vue +4 -0
  26. package/src/components/product/Process/ExplorationSelect.vue +36 -23
  27. package/src/components/product/Process/Service/ServiceControl.vue +62 -0
  28. package/src/components/product/ServiceView.vue +276 -6
  29. package/src/components/product/Supervisory/SupervisoryList.vue +29 -11
  30. package/src/main.js +27 -27
  31. package/yarn.lock +0 -9013
@@ -209,12 +209,54 @@ export default {
209
209
  ready () {
210
210
  },
211
211
  methods: {
212
- confirmModal () {
212
+ async confirmModal () {
213
213
  if (this.modelTitle === '新增') {
214
- if (this.onetomany.add.event) {
215
- this.$dispatch(this.onetomany.add.event, this.index)
216
- } else {
217
- this.$dispatch('onetomanyadd', this.index)
214
+ //报警器设备型号校验
215
+ if (this.modelTitle === '新增' && this.selectdata.f_apply_type === '报警器报建'){
216
+ let data = {
217
+ f_material_name : "",
218
+ f_bjq_sid: "",
219
+ }
220
+ this.onetomany.fields.forEach(item=>{
221
+ if (item.label === '材料编号'){
222
+ data.f_bjq_sid = item.value
223
+ }
224
+ if (item.label === '材料名称'){
225
+ data.f_material_name = item.value
226
+ }
227
+ })
228
+ if (data.f_material_name.substr(0,3) === '报警器'){
229
+ let res = await this.$resetpost(
230
+ `ncc/rs/logic/bjqcheck`,
231
+ // `/rs/logic/bjqcheck`,
232
+ data
233
+ )
234
+ if (res.data.code == 200){
235
+ if (this.onetomany.add.event) {
236
+ this.$dispatch(this.onetomany.add.event, this.index)
237
+ } else {
238
+ this.$dispatch('onetomanyadd', this.index)
239
+ }
240
+ this.closeModal()
241
+ }else {
242
+ this.disableButton = true
243
+ this.$showMessage(res.data.msg)
244
+ }
245
+ }else {
246
+ if (this.onetomany.add.event) {
247
+ this.$dispatch(this.onetomany.add.event, this.index)
248
+ } else {
249
+ this.$dispatch('onetomanyadd', this.index)
250
+ }
251
+ this.closeModal()
252
+ }
253
+ }else {
254
+ if (this.onetomany.add.event) {
255
+ this.$dispatch(this.onetomany.add.event, this.index)
256
+ } else {
257
+ this.$dispatch('onetomanyadd', this.index)
258
+ }
259
+ this.closeModal()
218
260
  }
219
261
  }
220
262
  if (this.modelTitle === '修改') {
@@ -223,9 +265,9 @@ export default {
223
265
  } else {
224
266
  this.$dispatch('onetomanyupdate', this.index, this.rowIndex)
225
267
  }
268
+ this.closeModal()
226
269
  }
227
-
228
- this.closeModal()
270
+ // this.closeModal()
229
271
  },
230
272
  onchange (fieldIndex) {
231
273
  this.disableModalButton()
@@ -18,7 +18,7 @@
18
18
  <label class="font_normal_body">工程编号:</label>
19
19
  <input type="text" style="width: 60%" class="input_search" placeholder='工程编号' v-model="model.f_apply_num"
20
20
  v-on:keyup.enter="$parent.$parent.search()"
21
- condition="f_apply_num = '{}'">
21
+ condition="u.f_apply_num = '{}'">
22
22
  </div>
23
23
  <div class="form-group col-sm-3">
24
24
  <label class="font_normal_body">客户名称:</label>
@@ -96,13 +96,13 @@
96
96
  </template>
97
97
  <template partial='body'>
98
98
  <tr >
99
- <td style="text-align: center;">
99
+ <td v-if="row.f_back_reason ? showRow: !showRow" style="text-align: center;">
100
100
  <nobr><font>{{$index+1}}</font></nobr>
101
101
  </td>
102
102
  <td style="text-align: center;" @click="$parent.$parent.$parent.click(row)">
103
103
  <nobr><font>{{row.f_apply_num}}</font></nobr>
104
104
  </td>
105
- <td style="text-align: center;" @click="$parent.$parent.$parent.click(row)">
105
+ <td v-if="row.f_back_reason ? showRow: !showRow" style="text-align: center;" @click="$parent.$parent.$parent.click(row)">
106
106
  <nobr><font>{{row.f_user_name}}</font></nobr>
107
107
  </td>
108
108
  <td style="text-align: center;" @click="$parent.$parent.$parent.click(row)">
@@ -167,7 +167,8 @@ export default {
167
167
  showPrint: false,
168
168
  showProgress: false,
169
169
  percent: 0,
170
- type: 'PREVIEW'
170
+ type: 'PREVIEW',
171
+ showRow:false
171
172
  }
172
173
  },
173
174
  ready () {
@@ -213,6 +214,8 @@ export default {
213
214
  this.selectdata = null
214
215
  },
215
216
  async click (row) {
217
+ console.log("词条数据",row)
218
+
216
219
  this.type = 'PREVIEW'
217
220
 
218
221
  await this.getData(row)
@@ -233,6 +236,7 @@ export default {
233
236
  })
234
237
 
235
238
  this.selectdata = res.data[0]
239
+ console.log("打印数据 ",this.selectdata)
236
240
  },
237
241
  clear () {
238
242
  Object.keys(this.$refs.cp.$refs.cri.model).forEach((key) => {
@@ -73,6 +73,10 @@
73
73
  <td>备&emsp;&emsp;注</td>
74
74
  <td colspan="5">{{ selectdata.f_construction_remarks }}</td>
75
75
  </tr>
76
+ <tr>
77
+ <td>报建备注</td>
78
+ <td colspan="5">{{ selectdata.f_apply_remarks }}</td>
79
+ </tr>
76
80
  </table>
77
81
  </div>
78
82
 
@@ -4,6 +4,11 @@
4
4
  <criteria partial='criteria' @condition-changed='search' v-ref:cri>
5
5
  <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
6
6
  <div class="row">
7
+ <div class="form-group col-sm-3">
8
+ <label class="font_normal_body">客户名称:</label>
9
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
10
+ v-on:keyup.enter="$parent.$parent.search()" condition="f_user_name like '%{}%'" placeholder='客户名称'>
11
+ </div>
7
12
  <div class="form-group col-sm-3">
8
13
  <label class="font_normal_body">组织机构:</label>
9
14
  <res-select
@@ -13,12 +18,12 @@
13
18
  is-mul="false"
14
19
  ></res-select>
15
20
  </div>
16
- <div class="form-group col-sm-3">
17
- <label class="font_normal_body">工程编号:</label>
18
- <input type="text" style="width:60%" class="input_search" placeholder='工程编号' v-model="model.f_apply_num"
19
- v-on:keyup.enter="$parent.$parent.search()"
20
- condition="u.f_apply_num = '{}'">
21
- </div>
21
+ <!-- <div class="form-group col-sm-3">-->
22
+ <!-- <label class="font_normal_body">工程编号:</label>-->
23
+ <!-- <input type="text" style="width:60%" class="input_search" placeholder='工程编号' v-model="model.f_apply_num"-->
24
+ <!-- v-on:keyup.enter="$parent.$parent.search()"-->
25
+ <!-- condition="u.f_apply_num = '{}'">-->
26
+ <!-- </div>-->
22
27
  <div class="form-group col-sm-3 button-range">
23
28
  <a type="button" class="button_new button_spacing" v-if="$parent.$parent.projectStart"
24
29
  href="/apply/download/excel/散户报装模板.xlsx" download>模板下载</a>
@@ -40,10 +45,16 @@
40
45
  </div>
41
46
  </div>
42
47
  <div class="row" v-show="$parent.$parent.criteriaShow">
48
+ <!-- <div class="form-group col-sm-3">-->
49
+ <!-- <label class="font_normal_body">客户名称:</label>-->
50
+ <!-- <input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"-->
51
+ <!-- v-on:keyup.enter="$parent.$parent.search()" condition="f_user_name like '%{}%'" placeholder='客户名称'>-->
52
+ <!-- </div>-->
43
53
  <div class="form-group col-sm-3">
44
- <label class="font_normal_body">客户名称:</label>
45
- <input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
46
- v-on:keyup.enter="$parent.$parent.search()" condition="f_user_name like '%{}%'" placeholder='客户名称'>
54
+ <label class="font_normal_body">工程编号:</label>
55
+ <input type="text" style="width:60%" class="input_search" placeholder='工程编号' v-model="model.f_apply_num"
56
+ v-on:keyup.enter="$parent.$parent.search()"
57
+ condition="u.f_apply_num = '{}'">
47
58
  </div>
48
59
  <div class="form-group col-sm-3">
49
60
  <label class="font_normal_body">联系电话:</label>
@@ -160,41 +171,41 @@
160
171
  </tr>
161
172
  </template>
162
173
  <template partial='body'>
163
- <tr >
164
- <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
174
+ <tr class="back-style">
175
+ <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'', row.f_back_reason ? 'back-style':'' ]" style="text-align: center;">
165
176
  <nobr><font>{{$index+1}}</font></nobr>
166
177
  </td>
167
- <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
178
+ <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' , row.f_back_reason ? 'back-style':'' ]" style="text-align: center;">
168
179
  <nobr><font>{{row.f_apply_num}}</font></nobr>
169
180
  </td>
170
- <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
181
+ <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' , row.f_back_reason ? 'back-style':'' ]" style="text-align: center;">
171
182
  <nobr><font>{{row.f_user_name}}</font></nobr>
172
183
  </td>
173
- <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
184
+ <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' , row.f_back_reason ? 'back-style':'' ]" style="text-align: center;">
174
185
  <nobr><font>{{row.f_contract_number}}</font></nobr>
175
186
  </td>
176
- <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
187
+ <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' , row.f_back_reason ? 'back-style':'' ]" style="text-align: center;">
177
188
  <nobr><font>{{row.f_phone}}</font></nobr>
178
189
  </td>
179
- <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
190
+ <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' , row.f_back_reason ? 'back-style':'' ]" style="text-align: center;">
180
191
  <nobr><font>{{row.f_address}}</font></nobr>
181
192
  </td>
182
- <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
193
+ <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' , row.f_back_reason ? 'back-style':'' ]" style="text-align: center;">
183
194
  <nobr><font>{{row.f_apply_source}}</font></nobr>
184
195
  </td>
185
- <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
196
+ <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' , row.f_back_reason ? 'back-style':'' ]" style="text-align: center;">
186
197
  <nobr><font>{{row.f_apply_type}}</font></nobr>
187
198
  </td>
188
- <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
199
+ <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' , row.f_back_reason ? 'back-style':'' ]" style="text-align: center;">
189
200
  <nobr><font>{{row.defname}}</font></nobr>
190
201
  </td>
191
- <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
202
+ <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' , row.f_back_reason ? 'back-style':'' ]" style="text-align: center;">
192
203
  <nobr><font>{{row.f_sub_state}}</font></nobr>
193
204
  </td>
194
- <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
205
+ <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' , row.f_back_reason ? 'back-style':'' ]" style="text-align: center;">
195
206
  <nobr><font>{{row.f_apply_date}}</font></nobr>
196
207
  </td>
197
- <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
208
+ <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' , row.f_back_reason ? 'back-style':'' ]" style="text-align: center;">
198
209
  <dropdown>
199
210
  <button type="button" data-toggle="dropdown" style="border: 0px;background: none;">
200
211
  <span class="glyphicon glyphicon-th-list" style="position: inherit;"></span>
@@ -449,7 +460,9 @@ import {HttpResetClass, PagedList} from 'vue-client'
449
460
  }
450
461
  </script>
451
462
  <style scoped>
452
-
463
+ .back-style{
464
+ background-color: #ffa726;
465
+ }
453
466
  .p1 {
454
467
  color: #dc0b12;
455
468
  font-weight:bold
@@ -1208,12 +1208,74 @@ export default {
1208
1208
  this.show_data.start_activity = this.$workflow_vue.start_activity
1209
1209
  this.show_data.xmlfilename = this.$workflow_vue.workflow_xmlfilename
1210
1210
 
1211
+ if (this.show_data.f_apply_type === '报警器报建' && this.show_data.defname === '工程施工' && this.show_data.f_sub_state !='完工'){
1212
+ //判断是否添加报警器材料
1213
+ let bjqlag = false
1214
+ let datatemp = {
1215
+ 'bjqid':"",
1216
+ 'fprocessid':"",
1217
+ 'sqvalue':"",
1218
+ 'f_bjq_sid':"",
1219
+ 'f_material_code':""
1220
+ }
1221
+ let numOne = [];
1222
+ this.show_data.onetomany.forEach(item=>{
1223
+ item.rows.forEach(i=>{
1224
+ if (i.f_material_name.substr(0,3) === '报警器'){
1225
+ bjqlag = true
1226
+ datatemp.bjqid = i.id
1227
+ datatemp.fprocessid = i.f_process_id
1228
+ datatemp.f_bjq_sid = i.f_bjq_sid
1229
+ datatemp.f_material_code = i.f_material_code
1230
+ numOne.push(i.f_bjq_sid)
1231
+ }
1232
+ })
1233
+ })
1234
+ if (!bjqlag){
1235
+ this.$showMessage('请添加报警器物料信息!!!')
1236
+ return
1237
+ }
1238
+ if (numOne.length > 1){
1239
+ this.$showMessage("暂时支持单个报警器物料安装!!!")
1240
+ return
1241
+ }
1242
+ datatemp.sqvalue = this.show_data.areaData.sqvalue
1243
+ //区域地址存入材料记录表
1244
+ let areares = await this.$resetpost(
1245
+ `rs/logic/saveArea`,
1246
+ {data: datatemp},
1247
+ {resolveMsg: null, rejectMsg: '区域地址保存失败'}
1248
+ )
1249
+
1250
+ //完工之后推送数据到汉威
1251
+ let adddata = {
1252
+ f_bjq_sid : datatemp.f_bjq_sid,
1253
+ f_material_code : datatemp.f_material_code,
1254
+ f_bjq_address: this.show_data.areaData.sqvalue,
1255
+ f_user_name: this.show_data.f_user_name,
1256
+ f_address: this.show_data.f_address,
1257
+ f_user_phone: this.show_data.f_phone,
1258
+ f_userinfo_code: this.show_data.f_userinfo_code,
1259
+ installtime: this.show_data.f_construction_date,
1260
+ }
1261
+ let res = await this.$resetpost(
1262
+ `ncc/rs/logic/bjqadduser`,
1263
+ // `rs/logic/bjqadduser`,
1264
+ adddata
1265
+ )
1266
+ if (res.data.code != 200){
1267
+ this.$showMessage(res.data.msg)
1268
+ return
1269
+ }
1270
+ }
1271
+
1211
1272
  let res = await this.$resetpost(
1212
1273
  `rs/logic/ApplyProductService`,
1213
1274
  {data: this.show_data},
1214
1275
  {resolveMsg: null, rejectMsg: '数据保存失败'}
1215
1276
  )
1216
1277
 
1278
+
1217
1279
  if (this.show_data.button.after) {
1218
1280
  this[this.show_data.button.after]()
1219
1281
  }