apply-clients 4.1.76 → 4.1.77

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.76",
3
+ "version": "4.1.77",
4
4
  "description": "报建前端模块",
5
5
  "main": "src/index.js",
6
6
  "directories": {
@@ -279,6 +279,15 @@ export default {
279
279
  },
280
280
  // 保存档案
281
281
  async saveUserFile() {
282
+ console.log("当前表具信息",this.userinfo.userfiles[0])
283
+ if ((this.userinfo.userfiles[0].gasbrand.f_meter_brand === '先锋集中器' ||
284
+ this.userinfo.userfiles[0].gasbrand.f_meter_brand === '先锋4G物联网表' ||
285
+ this.userinfo.userfiles[0].gasbrand.f_meter_brand === '先锋NB物联网表') &&
286
+ !/^[a-zA-Z0-9]{10}$/.test(this.userinfo.userfiles[0].f_meternumber))
287
+ {
288
+ this.$showAlert('请输入10位表号!!!', 'warning', 2000)
289
+ return
290
+ }
282
291
  let data = {
283
292
  user: this.$login.f,
284
293
  useradders: this.useradders,
@@ -295,7 +304,15 @@ export default {
295
304
  async meternumberValidate(i) {
296
305
  if (!this.userinfo.userfiles[i].f_gasbrand_id) {
297
306
  this.userinfo.userfiles[i].f_meternumber = ''
298
- this.$showAlert('请先选择气表品牌!!!', 'warning', 3000)
307
+ this.$showAlert('请先选择气表品牌!!!', 'warning', 2000)
308
+ return
309
+ }
310
+ if ((this.userinfo.userfiles[i].gasbrand.f_meter_brand === '先锋集中器' ||
311
+ this.userinfo.userfiles[i].gasbrand.f_meter_brand === '先锋4G物联网表' ||
312
+ this.userinfo.userfiles[i].gasbrand.f_meter_brand === '先锋NB物联网表') &&
313
+ !/^[a-zA-Z0-9]{10}$/.test(this.userinfo.userfiles[i].f_meternumber))
314
+ {
315
+ this.$showAlert('请输入10位表号!!!', 'warning', 2000)
299
316
  return
300
317
  }
301
318
  if (this.userinfo.userfiles[i].f_gasbrand_id && this.userinfo.userfiles[i].f_meternumber) {
@@ -39,6 +39,13 @@
39
39
  <th v-if="$parent.$parent.showremark" class="textNoLineBreak">退回理由</th>
40
40
  <th v-if="$parent.$parent.signReason" class="textNoLineBreak">标记原因</th>
41
41
  <th class="textNoLineBreak">
42
+ <button
43
+ type="button"
44
+ class="btn btn-info head-but"
45
+ v-if="$parent.$parent.selectdata.defname === '报建登记' && $parent.$parent.mark !== 1"
46
+ @click="$parent.$parent.openModal()"
47
+ :disabled="$parent.$parent.mark === 1"
48
+ >添加</button>
42
49
  <button v-if="$parent.$parent.showback && $parent.$parent.mark !== 1 "type="button" class="btn btn-info head-but"
43
50
  @click="$parent.$parent.unpass()">退回</button>
44
51
  <button v-if="$parent.$parent.void && $parent.$parent.mark !== 1"type="button" class="btn btn-info head-but"
@@ -652,7 +659,194 @@
652
659
  </footer>
653
660
  </modal>
654
661
 
655
-
662
+ <validator name="v">
663
+ <modal v-if="showModal" :show.sync = "showModal" v-ref:modal :backdrop = "false" title="添加用户">
664
+ <header slot="modal-header" class="modal-header">
665
+ <button type="button" class="close" @click="closeUserModal"><span>&times;</span></button>
666
+ <h4 class="modal-title">添加用户</h4>
667
+ </header>
668
+ <acticle slot="modal-body" class="modal-body">
669
+ <!-- 基本信息 -->
670
+ <div class="form-group col-sm-12 panel panel-info" >
671
+ <div class="panel-heading head col-sm-12" style="background-color: #e8f4ff;margin-bottom: 10px">
672
+ <div class="col-sm-6 text-left">用户信息</div>
673
+ </div>
674
+ <div class="form-group col-sm-6" :class="[$v.f_user_name.required ? 'has-error' : '']">
675
+ <label class="col-sm-4 control-label">用户名称:</label>
676
+ <div class="col-sm-7">
677
+ <input class="form-control input_view" style=""
678
+ v-validate:f_user_name = "['required']"
679
+ v-model="userinfo.f_user_name"
680
+ :value.sync="userinfo.f_user_name"
681
+ :readonly="$parent.$parent.mark === 1 || userinfo.f_user_state === '正常'"
682
+ placeholder="客户名称"/>
683
+ </div>
684
+ </div>
685
+ <div class="form-group col-sm-6" :class="[$v.f_user_phone.required ? 'has-error' : '']">
686
+ <label class="col-sm-4 control-label">用户电话:</label>
687
+ <div class="col-sm-7">
688
+ <input class="form-control input_view" style=""
689
+ v-validate:f_user_phone = "['required']"
690
+ v-model="userinfo.f_user_phone"
691
+ :value.sync="userinfo.f_user_phone"
692
+ :readonly="$parent.$parent.mark === 1 || userinfo.f_user_state === '正常'"
693
+ placeholder="客户电话"/>
694
+ </div>
695
+ </div>
696
+ <div class="form-group col-sm-6">
697
+ <label class="col-sm-4 control-label">证件类型:</label>
698
+ <div class="col-sm-7">
699
+ <input-select
700
+ class="select select_list"
701
+ :value.sync="'身份证'"
702
+ v-model="userinfo.f_credentials"
703
+ :options="credentialsList"
704
+ :disable="$parent.$parent.mark === 1 || userinfo.f_user_state === '正常' || $parent.$parent.selectdata.f_apply_type === '散户报建'"
705
+ :valueSingle="true"></input-select>
706
+ </div>
707
+ </div>
708
+ <div class="form-group col-sm-6">
709
+ <label class="col-sm-4 control-label">用户类型:</label>
710
+ <div class="col-sm-7">
711
+ <input-select
712
+ class="select select_list"
713
+ :value.sync="userinfo.f_user_nature"
714
+ v-model="userinfo.f_user_nature"
715
+ :options="getUserType"
716
+ :disable="$parent.$parent.mark === 1 || userinfo.f_user_state === '正常'"
717
+ :valueSingle="true"></input-select>
718
+ </div>
719
+ </div>
720
+ <div class="form-group col-sm-6">
721
+ <label class="col-sm-4 control-label">证件号码:</label>
722
+ <div class="col-sm-7">
723
+ <input class="form-control input_view" style=""
724
+ placeholder="证件号码"
725
+ v-model="userinfo.f_idnumber"
726
+ :value="userinfo.f_idnumber"
727
+ :readonly="$parent.$parent.mark === 1 || userinfo.f_user_state === '正常'"/>
728
+ </div>
729
+ </div>
730
+ </div>
731
+ <!-- 地址信息 -->
732
+ <div class="form-group col-sm-12 panel panel-info" >
733
+ <div class="panel-heading head col-sm-12" style="background-color: #e8f4ff;margin-bottom: 10px">
734
+ <div class="col-sm-6 text-left">地址信息</div>
735
+ </div>
736
+ <div class="form-group col-sm-6" :class="[$v.f_address_type.required ? 'has-error' : '']">
737
+ <label class="col-sm-4 control-label">地址类型:</label>
738
+ <div class="col-sm-7">
739
+ <input type="text" v-show="false" v-model="userinfo.useradders.f_address_type" :value.sync="userinfo.useradders.f_address_type" v-validate:f_address_type = "['required']" >
740
+ <input-select
741
+ class="select select_list"
742
+ :value.sync="userinfo.useradders.f_address_type"
743
+ v-model="userinfo.useradders.f_address_type"
744
+ :options="addressType"
745
+ @change="addressTypeChange()"
746
+ :disable="$parent.$parent.mark === 1 || userinfo.f_user_state === '正常'"
747
+ :valueSingle="true"></input-select>
748
+ </div>
749
+ </div>
750
+ <div class="form-group col-sm-6" :class="[$v.f_pcd.required ? 'has-error' : '']">
751
+ <label class="col-sm-4 control-label">区&emsp;&emsp;域:</label>
752
+ <div class="col-sm-7">
753
+ <input type="text" v-show="false" v-model="userinfo.useradders.f_pcd" :value.sync="userinfo.useradders.f_pcd" v-validate:f_pcd = "['required']" >
754
+ <input-select
755
+ class="select select_list"
756
+ :value.sync="userinfo.useradders.f_pcd"
757
+ v-model="userinfo.useradders.f_pcd"
758
+ :options="pcdList"
759
+ @change="addressSplicing(), getStreet()"
760
+ :disable="$parent.$parent.mark === 1 || userinfo.f_user_state === '正常'"
761
+ :valueSingle="true"></input-select>
762
+ </div>
763
+ </div>
764
+ <div class="form-group col-sm-6" :class="[$v.f_street.required ? 'has-error' : '']">
765
+ <label class="col-sm-4 control-label">街&emsp;&emsp;道:</label>
766
+ <div class="col-sm-7">
767
+ <input type="text" v-show="false" v-model="userinfo.useradders.f_street" :value.sync="userinfo.useradders.f_street" v-validate:f_street = "['required']" >
768
+ <input-select
769
+ class="select select_list"
770
+ :value.sync="userinfo.useradders.f_street"
771
+ v-model="userinfo.useradders.f_street"
772
+ :options="streetList"
773
+ @change="addressSplicing(), getResidentialArea()"
774
+ :disable="$parent.$parent.mark === 1 || userinfo.f_user_state === '正常'"
775
+ :valueSingle="true"></input-select>
776
+ </div>
777
+ </div>
778
+ <div class="form-group col-sm-6">
779
+ <label class="col-sm-4 control-label">小&emsp;&emsp;区:</label>
780
+ <div class="col-sm-7">
781
+ <input-select
782
+ class="select select_list"
783
+ :value.sync="userinfo.useradders.f_residential_area"
784
+ v-model="userinfo.useradders.f_residential_area"
785
+ :options="areaList"
786
+ @change="addressSplicing()"
787
+ :disable="$parent.$parent.mark === 1 || userinfo.f_user_state === '正常'"
788
+ :valueSingle="true"></input-select>
789
+ </div>
790
+ </div>
791
+ <div class="form-group col-sm-6">
792
+ <label class="col-sm-4 control-label">楼&emsp;&emsp;号:</label>
793
+ <div class="col-sm-7">
794
+ <input class="form-control input_view" placeholder="楼号"
795
+ v-model="userinfo.useradders.f_building"
796
+ :value="userinfo.useradders.f_building"
797
+ @change="addressSplicing"
798
+ :readonly="mark === 1 || userinfo.f_user_state === '正常'"/>
799
+ </div>
800
+ </div>
801
+ <div class="form-group col-sm-6">
802
+ <label class="col-sm-4 control-label">单&emsp;&emsp;元:</label>
803
+ <div class="col-sm-7">
804
+ <input class="form-control input_view" placeholder="单元"
805
+ v-model="userinfo.useradders.f_unit"
806
+ :value="userinfo.useradders.f_unit"
807
+ @change="addressSplicing"
808
+ :readonly="mark === 1 || userinfo.f_user_state === '正常'"/>
809
+ </div>
810
+ </div>
811
+ <div class="form-group col-sm-6">
812
+ <label class="col-sm-4 control-label">楼&emsp;&emsp;层:</label>
813
+ <div class="col-sm-7">
814
+ <input class="form-control input_view" placeholder="楼层"
815
+ v-model="userinfo.useradders.f_floor"
816
+ :value="userinfo.useradders.f_floor"
817
+ @change="addressSplicing"
818
+ :readonly="mark === 1 || userinfo.f_user_state === '正常'"/>
819
+ </div>
820
+ </div>
821
+ <div class="form-group col-sm-6" >
822
+ <label class="col-sm-4 control-label">门&ensp;牌&ensp;号:</label>
823
+ <div class="col-sm-7">
824
+ <input class="form-control input_view" placeholder="门牌号"
825
+ v-model="userinfo.useradders.f_room"
826
+ :value="userinfo.useradders.f_room"
827
+ @change="addressSplicing"
828
+ :readonly="mark === 1 || userinfo.f_user_state === '正常'"/>
829
+ </div>
830
+ </div>
831
+ <div class="form-group col-sm-12">
832
+ <label class="col-sm-2 control-label">地&emsp;&emsp;址:</label>
833
+ <div class="col-sm-9">
834
+ <input class="form-control input_view"
835
+ placeholder="地址"
836
+ v-model="userinfo.useradders.f_address"
837
+ :value.sync="userinfo.useradders.f_address"
838
+ />
839
+ </div>
840
+ </div>
841
+ </div>
842
+ </acticle>
843
+ <footer slot="modal-footer" class="modal-footer">
844
+ <template v-if="mark !== 1 && userinfo.f_user_state !== '正常'">
845
+ <button type="button" class="btn btn-primary" @click="saveUser" :disabled="!$v.valid">确认</button>
846
+ </template>
847
+ </footer>
848
+ </modal>
849
+ </validator>
656
850
  <modal :show.sync="showFile" v-ref:modal backdrop="true" title="选择文件">
657
851
  <header slot="modal-header" class="modal-header">
658
852
  <button type="button" class="close" @click="closeFile"><span>&times;</span></button>
@@ -668,6 +862,7 @@
668
862
 
669
863
  </template>
670
864
  <script>
865
+ import Vue from 'vue'
671
866
  import {PagedList} from 'vue-client'
672
867
  import {HttpResetClass} from 'vue-client'
673
868
  import {isEmpty} from "../../../Util";
@@ -712,6 +907,12 @@ export default {
712
907
  record:'',
713
908
  all:[],
714
909
  remark:'',
910
+ showModal: false,
911
+ addressType:[{label: "民用地址", value: "民用地址"}, {label: "特殊地址", value: "特殊地址"}],
912
+ addressDis:true,
913
+ pcdList:[],
914
+ streetList:[],
915
+ areaList:[],
715
916
  getfield: {
716
917
  "f_pcd": "省市区",
717
918
  "f_street": "街道",
@@ -767,6 +968,7 @@ export default {
767
968
  {
768
969
  this.showcover=true
769
970
  }
971
+ this.getPcd()
770
972
  this.search()
771
973
  },
772
974
  methods: {
@@ -1123,6 +1325,10 @@ export default {
1123
1325
  this.search()
1124
1326
  console.log("145")
1125
1327
  },
1328
+ closeUserModal(){
1329
+ this.userinfo = null
1330
+ this.showModal = false
1331
+ },
1126
1332
  async saveUserFile() {
1127
1333
  this.showUserFile = false
1128
1334
  console.log("987")
@@ -1148,7 +1354,7 @@ export default {
1148
1354
  this.$showAlert(e.data, 'danger', 3000)
1149
1355
  }
1150
1356
  this.search()
1151
- // this.$dispatch('breakControl', this.selectdata)
1357
+ this.$dispatch('breakControl', this.selectdata)
1152
1358
  },
1153
1359
  recoverupload(row) {
1154
1360
  this.record=row
@@ -1181,6 +1387,113 @@ export default {
1181
1387
  this.$dispatch('unpass',this.selectedData)
1182
1388
  this.$dispatch('breakControl', this.selectdata)
1183
1389
  },
1390
+ openModal(){
1391
+ this.showModal = true
1392
+ },
1393
+ //地址类型变化
1394
+ addressTypeChange(){
1395
+ if (this.userinfo.useradders.f_apply_type === '民用地址'){
1396
+ this.addressDis = true
1397
+ }else {
1398
+ this.addressDis = false
1399
+ }
1400
+ },
1401
+ // 获取区县
1402
+ async getPcd() {
1403
+ let data = {
1404
+ tablename: 't_pcd',
1405
+ condition: `f_filialeid = '${this.$login.f.orgid}'`
1406
+ }
1407
+ let http = new HttpResetClass()
1408
+ let res = await http.load(
1409
+ 'POST',
1410
+ `rs/sql/singleTable`,
1411
+ {data: data},
1412
+ {resolveMsg: null, rejectMsg: '区县查询失败!!!'}
1413
+ )
1414
+
1415
+ this.pcdList = res.data.map(item => {
1416
+ return {
1417
+ label: item.f_pcd,
1418
+ value: item.f_pcd
1419
+ }
1420
+ })
1421
+ console.log("区县",this.pcdList)
1422
+ },
1423
+ //获取街道
1424
+ async getStreet() {
1425
+ let data = {
1426
+ tablename: 't_street',
1427
+ condition: `f_filialeid = '${this.$login.f.orgid}' and f_pcd = '${this.userinfo.useradders.f_pcd}'`
1428
+ }
1429
+
1430
+ let http = new HttpResetClass()
1431
+ let res = await http.load(
1432
+ 'POST',
1433
+ `rs/sql/singleTable`,
1434
+ {data: data},
1435
+ {resolveMsg: null, rejectMsg: '街道查询失败!!!'}
1436
+ )
1437
+
1438
+ this.streetList = res.data.map(item => {
1439
+ return {
1440
+ label: item.f_street,
1441
+ value: item.f_street
1442
+ }
1443
+ })
1444
+ },
1445
+ //获取小区
1446
+ async getResidentialArea() {
1447
+
1448
+ let data = {
1449
+ tablename: 't_area',
1450
+ condition: `f_filialeid = '${this.$login.f.orgid}' and f_street = '${this.userinfo.useradders.f_street}'`
1451
+ }
1452
+ let http = new HttpResetClass()
1453
+ let res = await http.load(
1454
+ 'POST',
1455
+ `rs/sql/singleTable`,
1456
+ {data: data},
1457
+ {resolveMsg: null, rejectMsg: '小区查询失败!!!'}
1458
+ )
1459
+
1460
+ this.areaList = res.data.map(item => {
1461
+ return {
1462
+ label: item.f_residential_area,
1463
+ value: item.f_residential_area
1464
+ }
1465
+ })
1466
+ },
1467
+ // 地址拼接
1468
+ addressSplicing () {
1469
+ let f_pcd = this.userinfo.useradders.f_pcd || ''
1470
+ let f_area = this.userinfo.useradders.f_area || ''
1471
+ let f_slice_area = this.userinfo.useradders.f_slice_area || ''
1472
+ let f_street = this.userinfo.useradders.f_street || ''
1473
+ let f_residential_area = this.userinfo.useradders.f_residential_area || ''
1474
+ let f_building = this.userinfo.useradders.f_building || ''
1475
+ let f_building_suffix = f_building ? '号楼' : ''
1476
+ let f_unit = this.userinfo.useradders.f_unit || ''
1477
+ let f_unit_suffix = f_unit ? '单元' : ''
1478
+ let f_floor = this.userinfo.useradders.f_floor || ''
1479
+ let f_floor_suffix = f_floor ? '层' : ''
1480
+ let f_room = this.userinfo.useradders.f_room || ''
1481
+ let f_room_suffix = f_room ? '室' : ''
1482
+
1483
+ Vue.set(this.userinfo.useradders, 'f_address', f_pcd + f_area + f_slice_area + f_street + f_residential_area + f_building + f_building_suffix + f_unit + f_unit_suffix + f_floor + f_floor_suffix + f_room + f_room_suffix)
1484
+ },
1485
+ async saveUser () {
1486
+ let data = {
1487
+ user: this.$login.f,
1488
+ userinfo: this.userinfo,
1489
+ selectdata: this.selectdata
1490
+ }
1491
+ let res = await this.$resetpost('rs/logic/applyAddUserinfo', {data:data}, {
1492
+ resolveMsg: null,
1493
+ rejectMsg: '用户档案添加失败!!!'
1494
+ })
1495
+ this.$dispatch('breakControl', res.data)
1496
+ }
1184
1497
  },
1185
1498
  events: {
1186
1499
  async 'onFileUpload'(file, result) {
@@ -1216,6 +1529,13 @@ export default {
1216
1529
  f_process_id: this.selectdata.f_process_id,
1217
1530
  }
1218
1531
  return data
1532
+ },
1533
+ // 证件类型
1534
+ credentialsList() {
1535
+ return this.$appdata.getParam('证件类型')
1536
+ },
1537
+ getUserType(){
1538
+ return this.$appdata.getParam('用户类型')
1219
1539
  }
1220
1540
  },
1221
1541
  watch: {
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
 
3
3
  <div class="auto clearfix">
4
- <show-back-reason :selectdata="show_data"></show-back-reason>
4
+ <show-back-reason :selectdata="selectdata"></show-back-reason>
5
5
  <stop-install :data="show_data" v-if="stope_view"></stop-install>
6
6
  </div>
7
7
 
@@ -1,32 +1,33 @@
1
- <template>
2
- <div style="height: auto;text-align: center" class="col-sm-12" v-if="data != null">
3
- <span style="color: red;font-family: 微软雅黑;font-weight: bold;font-size: 18px"> 请注意被退回原因为:{{data.f_back_reason}} 退回时间:{{data.f_date}}</span>
4
- </div>
5
- </template>
6
- <script>
7
- import {HttpResetClass} from 'vue-client'
8
-
9
- export default {
10
- title: '退回原因展示',
11
- props: ['selectdata'],
12
- data () {
13
- return {
14
- data: null
15
- }
16
- },
17
- async created () {
18
- if (this.selectdata) {
19
- let http = new HttpResetClass()
20
- let data = {
21
- tablename: 't_backcause',
22
- condition: `actid = '${this.selectdata.actid}' and f_process_id='${this.selectdata.f_process_id}'`
23
- }
24
- let res = await http.load('POST', 'rs/sql/singleTable', {data: data}, {
25
- resolveMsg: null,
26
- rejectMsg: null
27
- })
28
- this.data = res.data[0]
29
- }
30
- }
31
- }
32
- </script>
1
+ <template>
2
+ <div style="height: auto;text-align: center" class="col-sm-12" v-if="data != null">
3
+ <span style="color: red;font-family: 微软雅黑;font-weight: bold;font-size: 18px"> 请注意被退回原因为:{{data.f_back_reason}} 退回时间:{{data.f_date}}</span>
4
+ </div>
5
+ </template>
6
+ <script>
7
+ import {HttpResetClass} from 'vue-client'
8
+
9
+ export default {
10
+ title: '退回原因展示',
11
+ props: ['selectdata'],
12
+ data () {
13
+ return {
14
+ data: null
15
+ }
16
+ },
17
+ async created () {
18
+ if (this.selectdata) {
19
+ let http = new HttpResetClass()
20
+ let data = {
21
+ tablename: 't_backcause',
22
+ condition: `actid = '${this.selectdata.actid}' and f_process_id='${this.selectdata.f_process_id}'`
23
+ }
24
+ let res = await http.load('POST', 'rs/sql/singleTable', {data: data}, {
25
+ resolveMsg: null,
26
+ rejectMsg: null
27
+ })
28
+ this.data = res.data[0]
29
+ console.log("ce",this.data)
30
+ }
31
+ }
32
+ }
33
+ </script>