safecheck-client 3.0.35-5 → 3.0.35-6
Sign up to get free protection for your applications and to get access to all the features.
- package/.babelrc +5 -5
- package/.editorconfig +9 -9
- package/android.html +18 -18
- package/config/dev.env.js +6 -6
- package/config/index.js +38 -38
- package/config/prod.env.js +3 -3
- package/config/test.env.js +6 -6
- package/docs/AppBase.md +22 -22
- package/docs/Busy.md +14 -14
- package/docs/CriteriaPaged.md +47 -47
- package/docs/DataGrid.md +54 -54
- package/docs/DataModel.md +22 -22
- package/docs/Dynamic.md +42 -42
- package/docs/GetParams.md +11 -11
- package/docs/HttpBusy.md +13 -13
- package/docs/HttpStore.md +29 -29
- package/docs/MessageBox.md +28 -28
- package/docs/PagedList.md +29 -29
- package/docs/Pager.md +21 -21
- package/docs/Project.md +23 -23
- package/docs/Route.md +105 -105
- package/docs/SafetyCheck/AdjustPlan.md +13 -13
- package/docs/SafetyCheck/CheckerPlan.md +12 -12
- package/docs/Task.md +46 -46
- package/docs/TreeList.md +28 -28
- package/docs/TreeMixin.md +18 -18
- package/docs/all.md +10 -10
- package/docs/list.md +42 -42
- package/docs/partial.md +75 -75
- package/docs/selector.md +82 -82
- package/docs//345/274/200/345/217/221/346/226/207/346/241/243/Snippets.md +28 -28
- package/docs//345/274/200/345/217/221/346/226/207/346/241/243/vue-strap/345/217/230/346/233/264/350/256/260/345/275/225.md +7 -7
- package/docs//345/274/200/345/217/221/346/226/207/346/241/243/vue/345/217/230/346/233/264/350/256/260/345/275/225.md +13 -13
- package/docs//345/274/200/345/217/221/346/226/207/346/241/243//345/274/200/345/217/221/347/216/257/345/242/203/350/256/276/347/275/256.md +77 -77
- package/docs//347/225/214/351/235/242/345/210/266/344/275/234/350/247/204/350/214/203.md +54 -54
- package/examples/AddressList/App.vue +13 -13
- package/examples/AddressList/index.html +11 -11
- package/examples/DispatchList/App.vue +10 -10
- package/examples/DispatchList/BaseTree.vue +13 -13
- package/examples/DispatchList/Init.vue +22 -22
- package/examples/DispatchList/Test.vue +20 -20
- package/examples/DispatchList/index.html +11 -11
- package/examples/DispatchList/main.js +18 -18
- package/home.html +16 -16
- package/package.json +1 -1
- package/publish.bat +7 -7
- package/release.bat +5 -5
- package/src/Widget.vue +13 -13
- package/src/android-bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
- package/src/android-bootstrap/less/.csscomb.json +304 -304
- package/src/android-bootstrap/less/.csslintrc +19 -19
- package/src/android-bootstrap/less/alerts.less +73 -73
- package/src/android-bootstrap/less/badges.less +66 -66
- package/src/android-bootstrap/less/bootstrap.less +56 -56
- package/src/android-bootstrap/less/breadcrumbs.less +26 -26
- package/src/android-bootstrap/less/button-groups.less +247 -247
- package/src/android-bootstrap/less/buttons.less +173 -173
- package/src/android-bootstrap/less/carousel.less +269 -269
- package/src/android-bootstrap/less/close.less +34 -34
- package/src/android-bootstrap/less/code.less +69 -69
- package/src/android-bootstrap/less/component-animations.less +33 -33
- package/src/android-bootstrap/less/grid.less +84 -84
- package/src/android-bootstrap/less/input-groups.less +167 -167
- package/src/android-bootstrap/less/jumbotron.less +52 -52
- package/src/android-bootstrap/less/labels.less +64 -64
- package/src/android-bootstrap/less/list-group.less +141 -141
- package/src/android-bootstrap/less/media.less +66 -66
- package/src/android-bootstrap/less/mixins/alerts.less +14 -14
- package/src/android-bootstrap/less/mixins/background-variant.less +9 -9
- package/src/android-bootstrap/less/mixins/border-radius.less +18 -18
- package/src/android-bootstrap/less/mixins/buttons.less +69 -69
- package/src/android-bootstrap/less/mixins/center-block.less +7 -7
- package/src/android-bootstrap/less/mixins/clearfix.less +22 -22
- package/src/android-bootstrap/less/mixins/forms.less +90 -90
- package/src/android-bootstrap/less/mixins/gradients.less +59 -59
- package/src/android-bootstrap/less/mixins/grid-framework.less +92 -92
- package/src/android-bootstrap/less/mixins/grid.less +122 -122
- package/src/android-bootstrap/less/mixins/hide-text.less +21 -21
- package/src/android-bootstrap/less/mixins/image.less +33 -33
- package/src/android-bootstrap/less/mixins/labels.less +12 -12
- package/src/android-bootstrap/less/mixins/list-group.less +30 -30
- package/src/android-bootstrap/less/mixins/nav-divider.less +10 -10
- package/src/android-bootstrap/less/mixins/nav-vertical-align.less +9 -9
- package/src/android-bootstrap/less/mixins/opacity.less +8 -8
- package/src/android-bootstrap/less/mixins/pagination.less +24 -24
- package/src/android-bootstrap/less/mixins/panels.less +24 -24
- package/src/android-bootstrap/less/mixins/progress-bar.less +10 -10
- package/src/android-bootstrap/less/mixins/reset-filter.less +8 -8
- package/src/android-bootstrap/less/mixins/reset-text.less +18 -18
- package/src/android-bootstrap/less/mixins/resize.less +6 -6
- package/src/android-bootstrap/less/mixins/responsive-visibility.less +15 -15
- package/src/android-bootstrap/less/mixins/size.less +10 -10
- package/src/android-bootstrap/less/mixins/tab-focus.less +9 -9
- package/src/android-bootstrap/less/mixins/table-row.less +44 -44
- package/src/android-bootstrap/less/mixins/text-emphasis.less +9 -9
- package/src/android-bootstrap/less/mixins/text-overflow.less +8 -8
- package/src/android-bootstrap/less/mixins/vendor-prefixes.less +227 -227
- package/src/android-bootstrap/less/mixins.less +40 -40
- package/src/android-bootstrap/less/modals.less +151 -151
- package/src/android-bootstrap/less/navbar.less +660 -660
- package/src/android-bootstrap/less/navs.less +290 -290
- package/src/android-bootstrap/less/normalize.less +424 -424
- package/src/android-bootstrap/less/pager.less +76 -76
- package/src/android-bootstrap/less/pagination.less +89 -89
- package/src/android-bootstrap/less/panels.less +274 -274
- package/src/android-bootstrap/less/popovers.less +131 -131
- package/src/android-bootstrap/less/print.less +101 -101
- package/src/android-bootstrap/less/progress-bars.less +87 -87
- package/src/android-bootstrap/less/responsive-embed.less +35 -35
- package/src/android-bootstrap/less/responsive-utilities.less +194 -194
- package/src/android-bootstrap/less/scaffolding.less +161 -161
- package/src/android-bootstrap/less/tables.less +262 -262
- package/src/android-bootstrap/less/theme.less +291 -291
- package/src/android-bootstrap/less/thumbnails.less +36 -36
- package/src/android-bootstrap/less/tooltip.less +102 -102
- package/src/android-bootstrap/less/type.less +303 -303
- package/src/android-bootstrap/less/utilities.less +55 -55
- package/src/android-bootstrap/less/variables.less +896 -896
- package/src/android-bootstrap/less/wells.less +29 -29
- package/src/androidTest.js +20 -20
- package/src/bootstrap/less/.csscomb.json +304 -304
- package/src/bootstrap/less/.csslintrc +19 -19
- package/src/bootstrap/less/alerts.less +73 -73
- package/src/bootstrap/less/badges.less +66 -66
- package/src/bootstrap/less/breadcrumbs.less +26 -26
- package/src/bootstrap/less/button-groups.less +247 -247
- package/src/bootstrap/less/buttons.less +172 -172
- package/src/bootstrap/less/carousel.less +269 -269
- package/src/bootstrap/less/close.less +34 -34
- package/src/bootstrap/less/code.less +69 -69
- package/src/bootstrap/less/component-animations.less +33 -33
- package/src/bootstrap/less/dropdowns.less +216 -216
- package/src/bootstrap/less/forms.less +626 -626
- package/src/bootstrap/less/grid.less +84 -84
- package/src/bootstrap/less/input-groups.less +167 -167
- package/src/bootstrap/less/jumbotron.less +52 -52
- package/src/bootstrap/less/labels.less +64 -64
- package/src/bootstrap/less/list-group.less +141 -141
- package/src/bootstrap/less/media.less +66 -66
- package/src/bootstrap/less/mixins/alerts.less +14 -14
- package/src/bootstrap/less/mixins/background-variant.less +9 -9
- package/src/bootstrap/less/mixins/border-radius.less +18 -18
- package/src/bootstrap/less/mixins/buttons.less +69 -69
- package/src/bootstrap/less/mixins/center-block.less +7 -7
- package/src/bootstrap/less/mixins/clearfix.less +22 -22
- package/src/bootstrap/less/mixins/forms.less +90 -90
- package/src/bootstrap/less/mixins/gradients.less +59 -59
- package/src/bootstrap/less/mixins/grid-framework.less +92 -92
- package/src/bootstrap/less/mixins/grid.less +122 -122
- package/src/bootstrap/less/mixins/hide-text.less +21 -21
- package/src/bootstrap/less/mixins/image.less +33 -33
- package/src/bootstrap/less/mixins/labels.less +12 -12
- package/src/bootstrap/less/mixins/list-group.less +30 -30
- package/src/bootstrap/less/mixins/nav-divider.less +10 -10
- package/src/bootstrap/less/mixins/nav-vertical-align.less +9 -9
- package/src/bootstrap/less/mixins/opacity.less +8 -8
- package/src/bootstrap/less/mixins/pagination.less +24 -24
- package/src/bootstrap/less/mixins/panels.less +24 -24
- package/src/bootstrap/less/mixins/progress-bar.less +10 -10
- package/src/bootstrap/less/mixins/reset-filter.less +8 -8
- package/src/bootstrap/less/mixins/reset-text.less +18 -18
- package/src/bootstrap/less/mixins/resize.less +6 -6
- package/src/bootstrap/less/mixins/responsive-visibility.less +15 -15
- package/src/bootstrap/less/mixins/size.less +10 -10
- package/src/bootstrap/less/mixins/tab-focus.less +9 -9
- package/src/bootstrap/less/mixins/table-row.less +44 -44
- package/src/bootstrap/less/mixins/text-emphasis.less +9 -9
- package/src/bootstrap/less/mixins/text-overflow.less +8 -8
- package/src/bootstrap/less/mixins/vendor-prefixes.less +227 -227
- package/src/bootstrap/less/mixins.less +40 -40
- package/src/bootstrap/less/modals.less +151 -151
- package/src/bootstrap/less/navbar.less +660 -660
- package/src/bootstrap/less/normalize.less +424 -424
- package/src/bootstrap/less/pager.less +76 -76
- package/src/bootstrap/less/pagination.less +89 -89
- package/src/bootstrap/less/panels.less +275 -275
- package/src/bootstrap/less/popovers.less +131 -131
- package/src/bootstrap/less/print.less +101 -101
- package/src/bootstrap/less/progress-bars.less +87 -87
- package/src/bootstrap/less/responsive-embed.less +35 -35
- package/src/bootstrap/less/responsive-utilities.less +194 -194
- package/src/bootstrap/less/scaffolding.less +161 -161
- package/src/bootstrap/less/theme.less +291 -291
- package/src/bootstrap/less/thumbnails.less +36 -36
- package/src/bootstrap/less/tooltip.less +102 -102
- package/src/bootstrap/less/type.less +303 -303
- package/src/bootstrap/less/utilities.less +55 -55
- package/src/bootstrap/less/wells.less +29 -29
- package/src/components/FileUpload.vue +696 -696
- package/src/components/Hello.vue +39 -39
- package/src/components/LeftTree.vue +27 -27
- package/src/components/NewDefectList/DefectListNew.vue +617 -617
- package/src/components/android/AddPlanItemYy.vue +451 -451
- package/src/components/android/AddressList.vue +61 -61
- package/src/components/android/AttendanceTally.vue +116 -116
- package/src/components/android/Blank.vue +10 -10
- package/src/components/android/CheckUnplanPage.vue +56 -56
- package/src/components/android/Checker.vue +12 -12
- package/src/components/android/CheckerAnnual.vue +81 -81
- package/src/components/android/CheckerAvarta.vue +82 -82
- package/src/components/android/EquipmentInspection.vue +348 -348
- package/src/components/android/FootprintMap.vue +120 -120
- package/src/components/android/HiddentroubleInvestigation.vue +192 -192
- package/src/components/android/MasterMain.vue +77 -77
- package/src/components/android/Menu.vue +132 -132
- package/src/components/android/NavBottom.vue +157 -157
- package/src/components/android/PaperAlarm.vue +85 -85
- package/src/components/android/PaperDeviceNoncivil.vue +214 -214
- package/src/components/android/PlumberAnnual.vue +83 -83
- package/src/components/android/PlumberAnnualDetail.vue +65 -65
- package/src/components/android/PlumberMonthly.vue +84 -84
- package/src/components/android/PostMap.vue +83 -83
- package/src/components/android/QueryCheckHistory.vue +122 -122
- package/src/components/android/QueryCheckHistoryItem.vue +62 -62
- package/src/components/android/RepairMain.vue +60 -60
- package/src/components/android/Repairman.vue +12 -12
- package/src/components/android/SafecheckOrderV.vue +2805 -2805
- package/src/components/android/StationMaster.vue +12 -12
- package/src/components/android/examples/SafeListExamples.vue +296 -296
- package/src/components/defects/DefectModal.vue +101 -101
- package/src/components/defects/DevicesAndItem.vue +39 -39
- package/src/components/issueplan/IssuePlanMain.vue +23 -23
- package/src/components/notice/NoticeForm.vue +100 -100
- package/src/components/notice/NoticeIssue.vue +20 -20
- package/src/components/paper/PicViewer.vue +18 -18
- package/src/components/phonestate/MonthlyTraffic.vue +66 -66
- package/src/components/phonestate/MonthlyTrafficRouter.vue +15 -15
- package/src/components/phonestate/PostMap.vue +82 -82
- package/src/components/querycheckpaper/PaperItem.vue +59 -59
- package/src/components/rongcheng/AspiratedAreaPlan.vue +574 -574
- package/src/components/rongcheng/PhoneUpUserinfo.vue +1236 -1236
- package/src/components/userfile/MeterFile.vue +145 -145
- package/src/components/userfile/MeterModify.vue +46 -46
- package/src/components/userfileaudit/MeterAuditFile.vue +129 -129
- package/src/filiale/bayan/android/AddPlanItem.vue +430 -430
- package/src/filiale/bayan/android/CheckPlanDown.vue +249 -249
- package/src/filiale/bayan/android/PhoneUpUserinfo.vue +1380 -1377
- package/src/filiale/bayan/android/SafecheckOrderV.vue +2922 -2866
- package/src/filiale/bayan/pc/PlanManage.vue +962 -962
- package/src/filiale/jiaxian/android/SafecheckOrderV.vue +2807 -2807
- package/src/filiale/qianneng/android/SafecheckOrderV.vue +2785 -2785
- package/src/filiale/shanxian/android/AddPlanItem.vue +447 -447
- package/src/filiale/shanxian/android/SafecheckOrderV.vue +2979 -2979
- package/src/filiale/shanxian/pc/checkUserList.vue +700 -700
- package/src/filiale/siyang/android/AddPlanItem.vue +450 -450
- package/src/filiale/siyang/pc/CheckSearchUser.vue +1035 -1035
- package/src/filiale/tongchuan/pc/PaperDefectMain.vue +1060 -1060
- package/src/filiale/weinan/pc/CheckBookSearchUserList.vue +735 -735
- package/src/filiale/weinan/pc/CheckDetail.vue +278 -278
- package/src/filiale/weinan/pc/checkUserList.vue +712 -712
- package/src/filiale/xilan/android/AddPlanItem.vue +461 -461
- package/src/filiale/xilan/android/CurrentCreate.vue +1067 -1067
- package/src/filiale/xilan/android.js +11 -11
- package/src/main.js +33 -33
- package/src/plugins/LoadData.js +10 -10
- package/src/plugins/LoadParams.js +24 -24
- package/src/safecheck-android.js +307 -307
- package/src/stores/wxconfig.js +10 -10
- package/src/utils/getNowDate.js +33 -33
- package/test/e2e/custom-assertions/elementCount.js +26 -26
- package/test/e2e/nightwatch.conf.js +40 -40
- package/test/e2e/runner.js +30 -30
- package/test/e2e/specs/test.js +13 -13
- package/test/unit/.eslintrc +5 -5
- package/test/unit/TestUtil.js +62 -62
- package/test/unit/context.html +20 -20
- package/test/unit/index.js +13 -13
@@ -1,1236 +1,1236 @@
|
|
1
|
-
<template>
|
2
|
-
<work-busy :is-busy="excessive"></work-busy>
|
3
|
-
<div style="height: 100%">
|
4
|
-
<div class="panel auto" v-if="false">
|
5
|
-
<div class="panel-heading" @click="selectVal('基本信息')" style="background-color: #ffffff">
|
6
|
-
<span class="spanboder">
|
7
|
-
<img src="../../assets/person.png" style="width: 22px;margin-right: 8px;">基本信息
|
8
|
-
<img class="butt3" :src="imgback('基本信息')">
|
9
|
-
</span>
|
10
|
-
</div>
|
11
|
-
<div class="panel-body " id="upuserinfo_sel" v-show="headername == '基本信息'">
|
12
|
-
<div class="row auto" style="margin: 5px 0">
|
13
|
-
<label class="righttxt">用户编号:</label>
|
14
|
-
<input type="text" class="form-control rightipt" v-model="userinfo.baseinfo.base.f_userinfo_code" readonly />
|
15
|
-
</div>
|
16
|
-
<div class="row auto" style="margin: 5px 0">
|
17
|
-
<label class="righttxt">用户名称:</label><input type="text" class="form-control rightipt"
|
18
|
-
v-model="userinfo.baseinfo.base.f_user_name" readonly />
|
19
|
-
</div>
|
20
|
-
<div class="row auto" style="margin: 5px 0">
|
21
|
-
<label class="righttxt">用户状态:</label><input type="text" class="form-control rightipt" readonly
|
22
|
-
v-model="userinfo.baseinfo.base.f_user_state" />
|
23
|
-
</div>
|
24
|
-
<div class="row auto" style="margin: 5px 0">
|
25
|
-
<label class="righttxt">用户电话:</label><input type="text" class="form-control rightipt"
|
26
|
-
v-model="userinfo.baseinfo.base.f_user_phone" />
|
27
|
-
</div>
|
28
|
-
<div class="row auto" style="margin: 5px 0">
|
29
|
-
<label class="righttxt">租户姓名:</label><input type="text" class="form-control rightipt"
|
30
|
-
v-model="userinfo.baseinfo.base.f_rent_name" />
|
31
|
-
</div>
|
32
|
-
<div class="row auto" style="margin: 5px 0">
|
33
|
-
<label class="righttxt">租户电话:</label><input type="text" class="form-control rightipt"
|
34
|
-
v-model="userinfo.baseinfo.base.f_zuhu_phone" />
|
35
|
-
</div>
|
36
|
-
<div class="row auto" style="margin: 5px 0">
|
37
|
-
<label class="righttxt">建档日期:</label><input type="text" class="form-control rightipt"
|
38
|
-
v-model="userinfo.baseinfo.base.f_createfile_date" readonly />
|
39
|
-
</div>
|
40
|
-
<!-- <div class="row auto" style="margin: 5px 0">
|
41
|
-
<label class="righttxt">开户日期:</label><input type="text" class="form-control rightipt" v-model="userinfo.baseinfo.base.f_open_date" readonly />
|
42
|
-
</div>-->
|
43
|
-
<div class="row auto" style="margin: 5px 0">
|
44
|
-
<label class="righttxt">地址类型:</label>
|
45
|
-
<div class="rightipt" style="display: flex;justify-content: space-around;margin-top: 5px">
|
46
|
-
<div><input type="radio" v-model="addressType" name="addressType" @change="changeAddressType"
|
47
|
-
id="phone_addressType1" value="普通地址" /><label style="font-weight: normal;padding-left: 2px"
|
48
|
-
for="phone_addressType1">普通地址</label></div>
|
49
|
-
<div><input type="radio" v-model="addressType" name="addressType" @change="changeAddressType"
|
50
|
-
id="phone_addressType2" value="特殊地址" /><label style="font-weight: normal;padding-left: 2px"
|
51
|
-
for="phone_addressType2">特殊地址</label></div>
|
52
|
-
</div>
|
53
|
-
<!--<input type="text" style="width: 75%;float:right" class="form-control" v-model="row.f_devices_type" />-->
|
54
|
-
<!--<input type="text" class="form-control rightipt" readonly v-model="userinfo.addressinfo.f_pcd" />-->
|
55
|
-
<!--<v-select :value.sync="userinfo.addressinfo.f_iscity" class="input-font" style="margin-left: 5%;"
|
56
|
-
:width="'60%'"
|
57
|
-
v-model="userinfo.addressinfo.f_iscity"
|
58
|
-
:options='cityTypes' placeholder='地区类型' close-on-select clear-button value-single @change="area_change()"></v-select>-->
|
59
|
-
</div>
|
60
|
-
<div class="row auto" style="margin: 5px 0">
|
61
|
-
<label class="righttxt">地区类型:</label>
|
62
|
-
<!--<input type="text" style="width: 75%;float:right" class="form-control" v-model="row.f_devices_type" />-->
|
63
|
-
<input type="text" class="form-control rightipt" readonly v-model="userinfo.addressinfo.f_iscity" />
|
64
|
-
<!--<v-select :value.sync="userinfo.addressinfo.f_iscity" class="input-font" style="margin-left: 5%;"
|
65
|
-
:width="'60%'"
|
66
|
-
:disabled="true"
|
67
|
-
v-model="userinfo.addressinfo.f_iscity"
|
68
|
-
:options='cityTypes' placeholder='地区类型' close-on-select clear-button value-single ></v-select>-->
|
69
|
-
</div>
|
70
|
-
<div class="row auto" style="margin: 5px 0">
|
71
|
-
<label class="righttxt">省 市 区:</label>
|
72
|
-
<!--<input type="text" style="width: 75%;float:right" class="form-control" v-model="row.f_devices_type" />-->
|
73
|
-
<!--<input type="text" class="form-control rightipt" readonly v-model="userinfo.addressinfo.f_pcd" />-->
|
74
|
-
<v-select :value.sync="selectPcd" class="input-font" style="margin-left: 5%;" :width="'60%'"
|
75
|
-
v-model="selectPcd" :options='pcds' placeholder='请选择省市区' close-on-select clear-button value-single
|
76
|
-
@change="pcd_change()"></v-select>
|
77
|
-
</div>
|
78
|
-
<div class="row auto" style="margin: 5px 0">
|
79
|
-
<label class="righttxt">街道名称:</label>
|
80
|
-
<!--<input type="text" readonly class="form-control rightipt" v-model="userinfo.addressinfo.f_street" />-->
|
81
|
-
<v-select :value.sync="selectStreet" class="input-font" style="margin-left: 5%;" :width="'60%'"
|
82
|
-
v-model="selectStreet" :options='streets' placeholder='请选择街道' close-on-select clear-button value-single
|
83
|
-
@change="street_change()"></v-select>
|
84
|
-
</div>
|
85
|
-
<div class="row auto" style="margin: 5px 0">
|
86
|
-
<label class="righttxt">集收单位:</label>
|
87
|
-
<!--<input type="text" readonly class="form-control rightipt" v-model="userinfo.addressinfo.f_residential_area" />-->
|
88
|
-
<v-select :value.sync="selectArea" class="input-font" style="margin-left: 5%;" :width="'60%'"
|
89
|
-
v-model="selectArea" :timeout="500" @select-search="select_search" :options='area' placeholder='请选择集收单位'
|
90
|
-
close-on-select clear-button value-single @change="area_change()"></v-select>
|
91
|
-
</div>
|
92
|
-
<!--<div class="row auto" style="margin: 5px 0" v-show="addressType=='特殊地址'">
|
93
|
-
<label class="righttxt">集收单位:</label>
|
94
|
-
<!–<input type="text" readonly class="form-control rightipt" v-model="userinfo.addressinfo.f_residential_area" />–>
|
95
|
-
<v-select :value.sync="selectArea" class="input-font" style="margin-left: 5%;"
|
96
|
-
:width="'60%'"
|
97
|
-
v-model="selectArea"
|
98
|
-
@select-search="select_search"
|
99
|
-
:options='area' placeholder='请选择集收单位' close-on-select clear-button value-single @change="area_changeTC()"></v-select>
|
100
|
-
</div>-->
|
101
|
-
<div class="row auto" style="margin: 5px 0" v-show="addressType == '普通地址'">
|
102
|
-
<label class="righttxt">楼    号:</label><input type="text" @change="changeNewAddress"
|
103
|
-
class="form-control rightipt" v-model="userinfo.addressinfo.f_building" />
|
104
|
-
</div>
|
105
|
-
<div class="row auto" style="margin: 5px 0" v-show="addressType == '普通地址'">
|
106
|
-
<label class="righttxt">单    元:</label><input type="text" @change="changeNewAddress"
|
107
|
-
class="form-control rightipt" v-model="userinfo.addressinfo.f_unit" />
|
108
|
-
</div>
|
109
|
-
<div class="row auto" style="margin: 5px 0" v-show="addressType == '普通地址'">
|
110
|
-
<label class="righttxt">楼    层:</label><input type="text" @change="changeNewAddress"
|
111
|
-
class="form-control rightipt" v-model="userinfo.addressinfo.f_floor" />
|
112
|
-
</div>
|
113
|
-
<div class="row auto" style="margin: 5px 0" v-show="addressType == '普通地址'">
|
114
|
-
<label class="righttxt">门 牌 号:</label><input type="text" @change="changeNewAddress"
|
115
|
-
class="form-control rightipt" v-model="userinfo.addressinfo.f_room" />
|
116
|
-
</div>
|
117
|
-
<div class="row auto" style="margin: 5px 0">
|
118
|
-
<label class="righttxt">详细地址:</label><input type="text" class="form-control rightipt" readonly
|
119
|
-
v-model="userinfo_old.addressinfo.f_address" />
|
120
|
-
</div>
|
121
|
-
<div class="row auto" style="margin: 5px 0">
|
122
|
-
<label class="righttxt">新 地 址:</label>
|
123
|
-
<!--<input type="text" class="form-control rightipt" readonly v-model="getaddress()" />-->
|
124
|
-
<textarea :readonly="addressType == '普通地址'" class="form-control rightipt" : style="height: 80px"
|
125
|
-
v-model="userinfo.addressinfo.f_address"></textarea>
|
126
|
-
</div>
|
127
|
-
|
128
|
-
<!--<div class="row auto" style="margin: 5px 0" v-show="addressType=='特殊地址'">
|
129
|
-
<label class="righttxt">新 地 址:</label><!–<input type="text" class="form-control rightipt" v-model="userinfo.addressinfo.f_address" />–>
|
130
|
-
<textarea class="form-control rightipt" style="height: 80px" v-model="getAddressTS"></textarea>
|
131
|
-
</div>-->
|
132
|
-
|
133
|
-
<div class="row auto" style="margin: 5px 0">
|
134
|
-
<label class="righttxt">备    注:</label><textarea class="form-control rightipt"
|
135
|
-
style="height: 150px" v-model="userinfo.baseinfo.base.f_remark"></textarea>
|
136
|
-
<!--<input type="text" class="form-control rightipt" v-model="userinfo.baseinfo.base.f_remark" />-->
|
137
|
-
</div>
|
138
|
-
</div>
|
139
|
-
</div>
|
140
|
-
<div class="panel auto" v-if="false">
|
141
|
-
<div class="panel-heading" @click="selectVal('表具信息')" style="background-color: #ffffff">
|
142
|
-
<span class="spanboder">
|
143
|
-
<img src="../../assets/person.png" style="width: 22px;margin-right: 8px;">表具信息
|
144
|
-
<img class="butt3" :src="imgback('表具信息')">
|
145
|
-
</span>
|
146
|
-
</div>
|
147
|
-
<div class="panel-body " v-show="headername == '表具信息'">
|
148
|
-
<div class="row auto" style="margin: 5px 0">
|
149
|
-
<label class="righttxt">表    号:</label>
|
150
|
-
<input type="text" :readonly="userinfo.meterinfo[0].f_meter_classify != '机表'" class="form-control rightipt"
|
151
|
-
style="width: 45%" v-model="userinfo.meterinfo[0].f_meternumber" />
|
152
|
-
<button type="button"
|
153
|
-
:disabled="!(userinfo.meterinfo[0].f_meter_classify == '机表' || userinfo.meterinfo[0].f_meter_classify == '金额卡表' || userinfo.meterinfo[0].f_meter_classify == '气量卡表')"
|
154
|
-
name="button" class="btn btn-primary" style="width: 15%" @click="scan">扫码
|
155
|
-
</button>
|
156
|
-
</div>
|
157
|
-
|
158
|
-
<div class="row auto" style="margin: 5px 0">
|
159
|
-
<label class="righttxt">通 气 人:</label>
|
160
|
-
<input type="text" class="form-control rightipt" v-model="userinfo.meterinfo[0].f_gas_person" />
|
161
|
-
</div>
|
162
|
-
<div class="row auto" style="margin: 5px 0">
|
163
|
-
<label class="righttxt">通气时间:</label>
|
164
|
-
<datepicker class="rightipt" :value.sync="userinfo.meterinfo[0].f_gas_date"
|
165
|
-
v-model="userinfo.meterinfo[0].f_gas_date" :disabled-days-of-Week="[]" :format="'yyyy-MM-dd'"
|
166
|
-
:show-reset-button="reset">
|
167
|
-
</datepicker>
|
168
|
-
</div>
|
169
|
-
<div class="row auto" style="margin: 5px 0" v-show="showBox">
|
170
|
-
<label class="righttxt">调 压 箱:</label>
|
171
|
-
<v-select class="rightipt" :value.sync="userinfo.meterinfo[0].f_adjustable_id"
|
172
|
-
v-model="userinfo.meterinfo[0].f_adjustable_id" placeholder='请选择' :width='wid' readonly
|
173
|
-
:options="boxOptions" close-on-select value-single></v-select>
|
174
|
-
</div>
|
175
|
-
<div class="row auto" style="margin: 5px 0">
|
176
|
-
<label class="righttxt">是否直通:</label>
|
177
|
-
<v-select :value.sync="userinfo.meterinfo[0].f_if_direct" class="input-font" style="margin-left: 5%;"
|
178
|
-
:width="'60%'" v-model="userinfo.meterinfo[0].f_if_direct" :options='directOptions' placeholder='是否直通'
|
179
|
-
close-on-select clear-button value-single>
|
180
|
-
</v-select>
|
181
|
-
</div>
|
182
|
-
<div class="row auto" style="margin: 5px 0">
|
183
|
-
<label class="righttxt">表 封 号:</label>
|
184
|
-
<input type="text" class="form-control rightipt" v-model="userinfo.meterinfo[0].f_metertitles" />
|
185
|
-
</div>
|
186
|
-
<div class="row auto" style="margin: 5px 0">
|
187
|
-
<label class="righttxt">表 位 置:</label>
|
188
|
-
<!--<input type="text" class="form-control rightipt" v-model="userinfo.meterinfo[0].f_position" readonly/>-->
|
189
|
-
<v-select class="rightipt" :value.sync="userinfo.meterinfo[0].f_position"
|
190
|
-
v-model="userinfo.meterinfo[0].f_position" placeholder='请选择' :width='wid' readonly :options="wz_types"
|
191
|
-
close-on-select value-single></v-select>
|
192
|
-
</div>
|
193
|
-
<div class="row auto" style="margin: 5px 0">
|
194
|
-
<label class="righttxt">表    向:</label>
|
195
|
-
<!--<input type="text" class="form-control rightipt" v-model="userinfo.meterinfo[0].f_position" readonly/>-->
|
196
|
-
<v-select class="rightipt" :value.sync="userinfo.meterinfo[0].f_aroundmeter"
|
197
|
-
v-model="userinfo.meterinfo[0].f_aroundmeter" placeholder='请选择' :width='wid' readonly
|
198
|
-
:options="aroundmeters" close-on-select value-single></v-select>
|
199
|
-
</div>
|
200
|
-
<div class="row auto" style="margin: 5px 0">
|
201
|
-
<label class="righttxt">气表类型:</label>
|
202
|
-
<input type="text" class="form-control rightipt" v-model="userinfo.meterinfo[0].f_meter_classify" readonly />
|
203
|
-
</div>
|
204
|
-
<div class="row auto" style="margin: 5px 0">
|
205
|
-
<label class="righttxt">表前阀状态:</label>
|
206
|
-
<!--<input type="text" class="form-control rightipt" v-model="userinfo.meterinfo[0].f_position" readonly/>-->
|
207
|
-
<v-select class="rightipt" :value.sync="userinfo.meterinfo[0].f_bqf_state"
|
208
|
-
v-model="userinfo.meterinfo[0].f_bqf_state" placeholder='请选择' :width='wid' readonly :options="bqf_states"
|
209
|
-
close-on-select value-single></v-select>
|
210
|
-
</div>
|
211
|
-
<!-- <div class="row auto" style="margin: 5px 0">
|
212
|
-
<div style="display: flex;justify-content: center;">
|
213
|
-
<button v-if="userinfo.meterinfo[0].f_meter_classify=='机表'" class="col-sm-3 btn btn-primary" @click="upUserState()">机表关阀停用</button>
|
214
|
-
</div>
|
215
|
-
</div>-->
|
216
|
-
</div>
|
217
|
-
</div>
|
218
|
-
<div class="panel auto">
|
219
|
-
<div class="panel-heading" @click="selectVal('用气设备信息')" style="background-color: #ffffff">
|
220
|
-
<span class="spanboder"><img src="../../assets/list.png" style="width: 22px;margin-right: 8px;">用气设备信息<img
|
221
|
-
class="butt3" :src="imgback('用气设备信息')"></span>
|
222
|
-
</div>
|
223
|
-
<div class="panel-body" v-show="headername == '用气设备信息'">
|
224
|
-
<div class="row" v-for="(idx, row) in model"
|
225
|
-
style="border:2px solid #A2C2EB; border-top:10px solid #A2C2EB; box-shadow: #00b3ee;margin-bottom: 10px">
|
226
|
-
<div class="row auto" style="margin: 5px 0">
|
227
|
-
<label class="righttxt">设备类型:</label>
|
228
|
-
<!--<input type="text" class="form-control rightipt" readonly v-model="row.f_devices_type" />-->
|
229
|
-
<v-select class="rightipt" :value.sync="row.f_devices_type" v-model="row.f_devices_type" placeholder='请选择'
|
230
|
-
@change="getServiceLife(idx, row.f_devices_type)" :width='wid' readonly :options="devices_types"
|
231
|
-
close-on-select value-single></v-select>
|
232
|
-
</div>
|
233
|
-
<div class="row auto" style="margin: 5px 0">
|
234
|
-
<label class="righttxt">设备品牌:</label>
|
235
|
-
<input type="text" class="form-control rightipt" v-model="row.f_brand" />
|
236
|
-
</div>
|
237
|
-
<div class="row auto" style="margin: 5px 0">
|
238
|
-
<label class="righttxt">设备型号:</label><input type="text" class="form-control rightipt"
|
239
|
-
v-model="row.f_devices_model" />
|
240
|
-
</div>
|
241
|
-
<div class="row auto" style="margin: 5px 0" v-if="false">
|
242
|
-
<label class="righttxt">生产日期:</label>
|
243
|
-
<datepicker class="rightipt" :value.sync="row.f_make_date" v-model="row.f_make_date"
|
244
|
-
:disabled-days-of-Week="[]" :format="'yyyy-MM-dd'" :show-reset-button="reset" readonly="readonly">
|
245
|
-
</datepicker>
|
246
|
-
</div>
|
247
|
-
<div class="row auto" style="margin: 5px 0">
|
248
|
-
<label class="righttxt">安装日期:</label>
|
249
|
-
<datepicker class="rightipt" @change="countExpireFate(idx, row.f_input_date)" :value.sync="row.f_input_date"
|
250
|
-
v-model="row.f_input_date" :disabled-days-of-Week="[]" :format="'yyyy-MM-dd'" :show-reset-button="reset"
|
251
|
-
readonly="readonly">
|
252
|
-
</datepicker>
|
253
|
-
</div>
|
254
|
-
<div class="row auto" style="margin: 5px 0">
|
255
|
-
<label class="righttxt">使用年限:</label><input type="number" class="form-control rightipt"
|
256
|
-
v-model="row.f_service_life" readonly />
|
257
|
-
</div>
|
258
|
-
<div class="row auto" style="margin: 5px 0">
|
259
|
-
<label class="righttxt">到期日期:</label>
|
260
|
-
<input type="text" class="form-control rightipt" v-model="row.f_expire_date" readonly />
|
261
|
-
</div>
|
262
|
-
<div class="row auto" style="margin: 5px 0">
|
263
|
-
<label class="righttxt">安 装 人:</label><input type="text" class="form-control rightipt"
|
264
|
-
v-model="row.f_input_person" />
|
265
|
-
</div>
|
266
|
-
<div class="row auto" style="margin: 5px 0">
|
267
|
-
<label class="righttxt">设备数量:</label><input type="number" class="form-control rightipt"
|
268
|
-
v-model="row.f_devices_num" />
|
269
|
-
</div>
|
270
|
-
<div class="row auto" style="margin: 5px 0">
|
271
|
-
<label class="righttxt">管道类型:</label>
|
272
|
-
<!--<input type="text" class="form-control rightipt" readonly v-model="row.f_devices_type" />-->
|
273
|
-
<v-select class="rightipt" :value.sync="row.f_pipe_type" v-model="row.f_pipe_type" placeholder='请选择'
|
274
|
-
:width='wid' readonly :options="pipe_types" close-on-select value-single></v-select>
|
275
|
-
</div>
|
276
|
-
<div class="row auto" style="margin: 5px 0">
|
277
|
-
<label class="righttxt">安装日期:</label>
|
278
|
-
<datepicker class="rightipt" @change="countExpireFate_pipe(idx, row.f_pipeinstall_date, row.f_pipe_type)"
|
279
|
-
:value.sync="row.f_pipeinstall_date" v-model="row.f_pipeinstall_date" :disabled-days-of-Week="[]"
|
280
|
-
:format="'yyyy-MM-dd'" :show-reset-button="reset" readonly="readonly">
|
281
|
-
</datepicker>
|
282
|
-
</div>
|
283
|
-
<div class="row auto" style="margin: 5px 0">
|
284
|
-
<label class="righttxt">到期日期:</label>
|
285
|
-
<input type="text" class="form-control rightipt" v-model="row.f_pipeexpire_date" readonly />
|
286
|
-
</div>
|
287
|
-
<!--<div class="row auto" style="margin: 5px 0">
|
288
|
-
<label class="righttxt">设备状态:</label><input type="text" class="form-control rightipt" readonly v-model="row.f_userinfodevices_state" />
|
289
|
-
</div>-->
|
290
|
-
<!--<div class="row auto" style="margin: 5px 0">
|
291
|
-
<label class="righttxt">购买方式:</label><input type="text" class="form-control rightipt" readonly v-model="row.watchpurchase" />
|
292
|
-
</div>-->
|
293
|
-
<div style="display: flex;justify-content: center;margin-bottom: 3px"
|
294
|
-
v-if="$index > this.userinfo_old.devicesinfo.length - 1 || this.userinfo_old.devicesinfo.length == 0">
|
295
|
-
<button class="btn btn-warning" @click="delDevices($index)">删除设备</button>
|
296
|
-
</div>
|
297
|
-
</div>
|
298
|
-
<div style="display: flex;justify-content: space-around;">
|
299
|
-
<button class="col-sm-3 btn btn-primary" @click="addDevices($index)">新增设备</button>
|
300
|
-
</div>
|
301
|
-
</div>
|
302
|
-
</div>
|
303
|
-
<div class="panel auto">
|
304
|
-
<div class="panel-body">
|
305
|
-
<div style="display: flex;justify-content: center;">
|
306
|
-
<!-- <button class="col-sm-3 btn btn-primary" :disabled="enable" @click="isNeedAudit ? editUserInfo() : editUserInfoNoAudit()">{{isNeedAudit ? '上传审核' : '上传'}}</button>-->
|
307
|
-
<button class="col-sm-3 btn btn-primary" :disabled="enable" @click="editUserInfo()">上传</button>
|
308
|
-
</div>
|
309
|
-
</div>
|
310
|
-
</div>
|
311
|
-
</div>
|
312
|
-
</template>
|
313
|
-
|
314
|
-
<script>
|
315
|
-
import { HttpResetClass } from 'vue-client'
|
316
|
-
import * as Util from "../Util";
|
317
|
-
import Vue from 'vue'
|
318
|
-
import { toStandardDateString } from "../Util";
|
319
|
-
|
320
|
-
export default {
|
321
|
-
title: '设备查看',
|
322
|
-
data() {
|
323
|
-
return {
|
324
|
-
model: [],
|
325
|
-
devicemodel:[],
|
326
|
-
show: false,
|
327
|
-
row: Object,
|
328
|
-
userinfo: Object,
|
329
|
-
userinfo_old: Object,
|
330
|
-
wid: "60%",
|
331
|
-
aroundmeters: [],
|
332
|
-
devices_types: [],
|
333
|
-
device_type: [{label: '调压器', value: '调压器'}, {label: '报警器', value: '报警器'}, {label: '切断阀', value: '切断阀'}],
|
334
|
-
pipe_types: Vue.$appdata.getParam('管道类型')?Vue.$appdata.getParam('管道类型'):[{label: '包覆管', value: '包覆管'}, {label: '波纹管', value: '波纹管'}],
|
335
|
-
wz_types: [],
|
336
|
-
cityTypes: [{ label: '市区', value: '市区' }, { label: '城镇', value: '城镇' }],
|
337
|
-
bqf_states: [{ label: '开阀', value: '开阀' }, { label: '关阀', value: '关阀' }],
|
338
|
-
pcds: [],
|
339
|
-
streets: [],
|
340
|
-
update: false,
|
341
|
-
headername: '用气设备信息',
|
342
|
-
excessive: false,
|
343
|
-
area: [],
|
344
|
-
enable: false,
|
345
|
-
f_meterno_path: Vue.nopic,
|
346
|
-
selectArea: { id: '' },
|
347
|
-
selectPcd: { id: '' },
|
348
|
-
selectStreet: { id: '' },
|
349
|
-
changemeterno: false,//是否修改了机表表号
|
350
|
-
approveChange: false,//是否需要进行信息变更审核
|
351
|
-
newAddress: '',
|
352
|
-
addressType: '',
|
353
|
-
//需要审核的字段
|
354
|
-
checkField: {
|
355
|
-
checkUserinfoField: [
|
356
|
-
'f_user_name'
|
357
|
-
],
|
358
|
-
checkUserFilesField: [
|
359
|
-
'f_meternumber'
|
360
|
-
],
|
361
|
-
checkAddressField: [
|
362
|
-
'f_pcd_id',
|
363
|
-
'f_street_id',
|
364
|
-
'f_residential_area_id',
|
365
|
-
'f_building',
|
366
|
-
'f_unit',
|
367
|
-
'f_floor',
|
368
|
-
'f_room',
|
369
|
-
'f_slice_area',
|
370
|
-
'f_special',
|
371
|
-
'f_address'
|
372
|
-
],
|
373
|
-
},
|
374
|
-
boxOptions: [],
|
375
|
-
showBox: false,
|
376
|
-
directOptions: [{ label: '是', value: '是' }, { label: '否', value: '否' }],
|
377
|
-
deviceBrandOption: {},
|
378
|
-
isNeedAudit: this.$appdata.getSingleValue('信息变更是否需要审核') == 'false' ? false : true
|
379
|
-
}
|
380
|
-
},
|
381
|
-
props: {
|
382
|
-
user: {
|
383
|
-
type: Object
|
384
|
-
},
|
385
|
-
f_userinfo_id: '',
|
386
|
-
f_source: ''
|
387
|
-
},
|
388
|
-
methods: {
|
389
|
-
deleteDevice(idx) {
|
390
|
-
this.$showMessage('删除后不可恢复,确认删除吗?', ['confirm', 'cancel']).then((res) => {
|
391
|
-
if (res === 'confirm') {
|
392
|
-
this.devicemodel.splice(idx, 1)
|
393
|
-
}
|
394
|
-
})
|
395
|
-
},
|
396
|
-
pushDevices() {
|
397
|
-
let obj = {
|
398
|
-
"f_operator": Vue.user.name,
|
399
|
-
"f_operate_date": Util.toStandardTimeString(),
|
400
|
-
"f_operatorid": Vue.user.id,
|
401
|
-
"f_devices_type":null,
|
402
|
-
"f_manufactor":null,
|
403
|
-
"f_devices_no":null,
|
404
|
-
"f_devices_model":null,
|
405
|
-
"f_instaler_person":null,
|
406
|
-
"f_make_date":null,
|
407
|
-
"f_input_date":null,
|
408
|
-
"f_devices_num":null,
|
409
|
-
"f_firstcheck_date":null,
|
410
|
-
"f_rate_flow":null,
|
411
|
-
"f_expire_date":null,
|
412
|
-
"f_nextcheck_date":null,
|
413
|
-
"f_pressure_range":null,
|
414
|
-
"f_import_pressure":null
|
415
|
-
}
|
416
|
-
this.devicemodel.push(obj)
|
417
|
-
},
|
418
|
-
countExpireFate_pipe(index, dateTime, type) {
|
419
|
-
let old = new Date(dateTime)
|
420
|
-
let newYear = old.getFullYear() + Number(this.$appdata.getSingleValue(type + '-年限') || 0)
|
421
|
-
let month = old.getMonth() + 1
|
422
|
-
let date = old.getDate()
|
423
|
-
this.model[index].f_pipeexpire_date = newYear + '-' + (month < 10 ? '0' + month : month) + '-' + (date < 10 ? '0' + date : date)
|
424
|
-
},
|
425
|
-
countExpireFate(index, dateTime) {
|
426
|
-
let old = new Date(dateTime)
|
427
|
-
let newYear = old.getFullYear() + Number(this.model[index].f_service_life)
|
428
|
-
let month = old.getMonth() + 1
|
429
|
-
let date = old.getDate()
|
430
|
-
this.model[index].f_expire_date = newYear + '-' + (month < 10 ? '0' + month : month) + '-' + (date < 10 ? '0' + date : date)
|
431
|
-
},
|
432
|
-
getServiceLife(index, type) {
|
433
|
-
const year = this.$appdata.getSingleValue(type + '-' + this.userinfo.meterinfo[0].f_user_type + '-年限') || 0
|
434
|
-
this.model[index].f_service_life = year
|
435
|
-
},
|
436
|
-
dateAddYear(dateTime, year) {
|
437
|
-
let old = new Date(dateTime)
|
438
|
-
let newYear = old.getFullYear() + Number(year)
|
439
|
-
let month = old.getMonth() + 1
|
440
|
-
let date = old.getDate()
|
441
|
-
return newYear + '-' + (month < 10 ? '0' + month : month) + '-' + (date < 10 ? '0' + date : date)
|
442
|
-
},
|
443
|
-
scan() {
|
444
|
-
HostApp.__this__ = this,
|
445
|
-
HostApp.scanCode({ callback: "javascript:HostApp.__this__.getCode();" })
|
446
|
-
},
|
447
|
-
getCode() {
|
448
|
-
var datapa = HostApp.getCode().data;
|
449
|
-
//tag
|
450
|
-
this.userinfo.meterinfo[0].f_meternumber = datapa
|
451
|
-
},
|
452
|
-
//数据检查
|
453
|
-
checkVal() {
|
454
|
-
//检查一些必要信息是否未填
|
455
|
-
this.approveChange = false
|
456
|
-
this.changemeterno = false
|
457
|
-
let checked = { ischeck: true, msg: '' }
|
458
|
-
//tag
|
459
|
-
//tag
|
460
|
-
//tag
|
461
|
-
if (!this.userinfo.baseinfo.base.f_user_name) {
|
462
|
-
checked = { ischeck: false, msg: '请输入用户名称!' }
|
463
|
-
}
|
464
|
-
if (!this.selectPcd.id) {
|
465
|
-
checked = { ischeck: false, msg: '请选择省市区!' }
|
466
|
-
}
|
467
|
-
if (!this.selectStreet.id) {
|
468
|
-
checked = { ischeck: false, msg: '请选择街道!' }
|
469
|
-
}
|
470
|
-
if (!this.userinfo.addressinfo.f_address) {
|
471
|
-
checked = { ischeck: false, msg: '新地址不能为空!' }
|
472
|
-
}
|
473
|
-
if (this.addressType == '普通地址') {
|
474
|
-
if (!this.selectArea.id) {
|
475
|
-
checked = { ischeck: false, msg: '请选择集收单位!' }
|
476
|
-
}
|
477
|
-
if (!this.userinfo.addressinfo.f_room) {
|
478
|
-
checked = { ischeck: false, msg: '新输入门牌号!' }
|
479
|
-
}
|
480
|
-
}
|
481
|
-
if (this.userinfo.meterinfo[0].f_meter_classify == '机表' && this.userinfo_old.meterinfo[0].f_meternumber) {
|
482
|
-
|
483
|
-
//tag
|
484
|
-
//tag
|
485
|
-
if (this.userinfo.meterinfo[0].f_meternumber) {
|
486
|
-
if (this.userinfo.meterinfo[0].f_meternumber != this.userinfo_old.meterinfo[0].f_meternumber) {
|
487
|
-
if (!this.f_meterno_path || this.f_meterno_path == Vue.nopic) {
|
488
|
-
checked = { ischeck: false, msg: '请拍摄表号照片!' }
|
489
|
-
} else {
|
490
|
-
//用来标识当前有修改机表表号,后台需要进行照片上传
|
491
|
-
this.changemeterno = true
|
492
|
-
}
|
493
|
-
}
|
494
|
-
} else {
|
495
|
-
checked = { ischeck: false, msg: '请输入表号!' }
|
496
|
-
}
|
497
|
-
}
|
498
|
-
//检查本次修改信息中是否包含需要审核的内容
|
499
|
-
for (let check in this.checkField) {
|
500
|
-
//tag
|
501
|
-
if (typeof check != 'function') {
|
502
|
-
for (let i = 0; i < this.checkField[check].length; i++) {
|
503
|
-
//tag
|
504
|
-
if (check == 'checkUserinfoField') {
|
505
|
-
//tag
|
506
|
-
//tag
|
507
|
-
if (this.userinfo.baseinfo.base[this.checkField[check][i]] != this.userinfo_old.baseinfo.base[this.checkField[check][i]]) {
|
508
|
-
//tag
|
509
|
-
this.approveChange = true
|
510
|
-
}
|
511
|
-
} else if (check == 'checkUserFilesField') {
|
512
|
-
//tag
|
513
|
-
//tag
|
514
|
-
if (this.userinfo.meterinfo[0][this.checkField[check][i]] != this.userinfo_old.meterinfo[0][this.checkField[check][i]]) {
|
515
|
-
//tag
|
516
|
-
this.approveChange = true
|
517
|
-
}
|
518
|
-
} else if (check == 'checkAddressField') {
|
519
|
-
//tag
|
520
|
-
//tag
|
521
|
-
if (this.userinfo.addressinfo[this.checkField[check][i]] != this.userinfo_old.addressinfo[this.checkField[check][i]]) {
|
522
|
-
//tag
|
523
|
-
this.approveChange = true
|
524
|
-
}
|
525
|
-
}
|
526
|
-
}
|
527
|
-
}
|
528
|
-
}
|
529
|
-
//tag
|
530
|
-
return checked
|
531
|
-
},
|
532
|
-
select_search(text) {
|
533
|
-
//tag
|
534
|
-
if (this.selectStreet.id) {
|
535
|
-
let pcdText = text ? `and f_street_id=${this.selectStreet.id} and f_residential_area like '%${text}%'` : `and f_street_id=${this.selectStreet.id}`
|
536
|
-
new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/rs/sql/safe_singleTable_OrderBy`, {
|
537
|
-
data: {
|
538
|
-
items: "*",
|
539
|
-
tablename: "t_area",
|
540
|
-
orderitem: "id",
|
541
|
-
condition: `f_orgid = '${Vue.user.orgid}' ${pcdText} `
|
542
|
-
}
|
543
|
-
}, { resolveMsg: null, rejectMsg: null }).then((res) => {
|
544
|
-
//tag)
|
545
|
-
if (res.data.length > 0) {
|
546
|
-
this.area = []
|
547
|
-
res.data.forEach((result) => {
|
548
|
-
this.area.push({ label: result.f_residential_area, value: result })
|
549
|
-
})
|
550
|
-
}
|
551
|
-
})
|
552
|
-
} else {
|
553
|
-
this.area = []
|
554
|
-
}
|
555
|
-
},
|
556
|
-
cameraCallBack(prop, fileName) {
|
557
|
-
HostApp.__this__.$set(prop, fileName + '?' + Math.random())
|
558
|
-
//tag
|
559
|
-
HostApp.__callback__ = null
|
560
|
-
HostApp.__this__ = null
|
561
|
-
},
|
562
|
-
takePic(prop, title) {
|
563
|
-
HostApp.__callback__ = this.cameraCallBack
|
564
|
-
HostApp.__this__ = this
|
565
|
-
//tag
|
566
|
-
let fileName
|
567
|
-
if (!this[prop] || this[prop].includes("nopic.png")) {
|
568
|
-
fileName = Util.guid() + '-' + prop + '.jpg'
|
569
|
-
} else {
|
570
|
-
fileName = Util.getFileName(this[prop])
|
571
|
-
}
|
572
|
-
HostApp._open_a_page({
|
573
|
-
type: 'boomerang',
|
574
|
-
page: 'com.aofeng.hybrid.android.peripheral.CameraActivity',
|
575
|
-
param: {
|
576
|
-
file: fileName,
|
577
|
-
requestCode: 111,
|
578
|
-
callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");',
|
579
|
-
watermark: title + '\t时间:' + Util.toStandardTimeString() + '\t' + Vue.user.name
|
580
|
-
}
|
581
|
-
})
|
582
|
-
},
|
583
|
-
delfile(prop, fileName) {
|
584
|
-
if (fileName == Vue.nopic)
|
585
|
-
return
|
586
|
-
else {
|
587
|
-
HostApp.delfile(fileName)
|
588
|
-
this[prop] = Vue.nopic
|
589
|
-
}
|
590
|
-
},
|
591
|
-
editUserInfoNoAudit() {
|
592
|
-
let checked = this.checkVal()
|
593
|
-
if (!checked.ischeck) {
|
594
|
-
this.$showMessage(checked.msg)
|
595
|
-
return
|
596
|
-
}
|
597
|
-
for (let i = 0; i < this.model.length; i++) {
|
598
|
-
this.model[i].f_user_id = this.userinfo.meterinfo[0].f_user_id
|
599
|
-
}
|
600
|
-
this.$showMessage('确定是否修改上传用户信息?', ['confirm', 'cancel']).then((res) => {
|
601
|
-
if (res === 'confirm') {
|
602
|
-
this.excessive = true
|
603
|
-
let userinfoms = Object.assign({}, this.userinfo_old.baseinfo.base)
|
604
|
-
// userinfoms.f_user_name=row.f_user_name
|
605
|
-
userinfoms.f_user_phone = this.userinfo.baseinfo.base.f_user_phone
|
606
|
-
userinfoms.f_rent_name = this.userinfo.baseinfo.base.f_rent_name
|
607
|
-
userinfoms.f_zuhu_phone = this.userinfo.baseinfo.base.f_zuhu_phone
|
608
|
-
userinfoms.f_operator_record = Vue.user.name
|
609
|
-
userinfoms.f_operatorid_record = Vue.user.id
|
610
|
-
userinfoms.f_remark = this.userinfo.baseinfo.base.f_remark
|
611
|
-
userinfoms.f_orgid_record = Vue.user.orgid
|
612
|
-
userinfoms.f_orgname_record = Vue.user.orgs
|
613
|
-
userinfoms.f_depid_record = Vue.user.depids
|
614
|
-
userinfoms.f_depname_record = Vue.user.deps
|
615
|
-
this.userinfo_old.meterinfo[0].f_gas_person = this.userinfo.meterinfo[0].f_gas_person
|
616
|
-
this.userinfo_old.meterinfo[0].f_gas_date = this.userinfo.meterinfo[0].f_gas_date
|
617
|
-
this.userinfo_old.meterinfo[0].f_adjustable_id = this.userinfo.meterinfo[0].f_adjustable_id
|
618
|
-
this.userinfo_old.meterinfo[0].f_metertitles = this.userinfo.meterinfo[0].f_metertitles
|
619
|
-
this.userinfo_old.meterinfo[0].f_position = this.userinfo.meterinfo[0].f_position
|
620
|
-
this.userinfo_old.meterinfo[0].f_aroundmeter = this.userinfo.meterinfo[0].f_aroundmeter
|
621
|
-
this.userinfo_old.meterinfo[0].f_bqf_state = this.userinfo.meterinfo[0].f_bqf_state
|
622
|
-
this.userinfo_old.meterinfo[0].f_if_direct = this.userinfo.meterinfo[0].f_if_direct
|
623
|
-
userinfoms.userfiles = []
|
624
|
-
this.userinfo_old.meterinfo[0].devicesinfo = this.model
|
625
|
-
userinfoms.userfiles.push(this.userinfo_old.meterinfo[0])
|
626
|
-
new HttpResetClass().load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/filemanage_fileSave`, {
|
627
|
-
data: {
|
628
|
-
userinfo: userinfoms,
|
629
|
-
modifyReason: this.f_source ? `${this.f_source}维护档案信息` : '',
|
630
|
-
address: {
|
631
|
-
id: this.userinfo_old.addressinfo.id,
|
632
|
-
oldid: this.userinfo_old.addressinfo.id,
|
633
|
-
f_address: this.userinfo_old.addressinfo.f_address ? this.userinfo_old.addressinfo.f_address : this.userinfo.addressinfo.f_address
|
634
|
-
}
|
635
|
-
}
|
636
|
-
}, { resolveMsg: null, rejectMsg: null }).then((res1) => {
|
637
|
-
if (res1.data.status == 200) {
|
638
|
-
let data = this.userinfo.addressinfo
|
639
|
-
data.f_address = this.userinfo_old.addressinfo.f_address ? this.userinfo_old.addressinfo.f_address : this.userinfo.addressinfo.f_address
|
640
|
-
//
|
641
|
-
data.f_operator = Vue.user.name
|
642
|
-
new HttpResetClass().load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/address_updateuseraddress`, { data: data }).then((res2) => {
|
643
|
-
this.$showMessage("修改用户地址信息成功!")
|
644
|
-
}).catch(error => {
|
645
|
-
this.$showMessage("修改用户地址信息!")
|
646
|
-
})
|
647
|
-
this.$showMessage("修改用户信息成功!")
|
648
|
-
this.enable = true
|
649
|
-
this.excessive = false
|
650
|
-
}
|
651
|
-
}).catch((msg) => {
|
652
|
-
this.$showMessage("修改用户信息失败,请检查手机网络状况!")
|
653
|
-
this.excessive = false
|
654
|
-
})
|
655
|
-
}
|
656
|
-
})
|
657
|
-
},
|
658
|
-
editUserInfo() {
|
659
|
-
this.$showMessage('确定是否修改上传审核用户信息?', ['confirm', 'cancel']).then((res) => {
|
660
|
-
if (res === 'confirm') {
|
661
|
-
for (let i = 0; i < this.model.length; i++) {
|
662
|
-
this.model[i].f_user_id = this.userinfo.meterinfo[0].f_user_id
|
663
|
-
}
|
664
|
-
this.excessive = true
|
665
|
-
let userinfoms = Object.assign({}, this.userinfo_old.baseinfo.base)
|
666
|
-
//userinfoms.f_user_name=row.f_user_name
|
667
|
-
userinfoms.f_user_phone = this.userinfo.baseinfo.base.f_user_phone
|
668
|
-
userinfoms.f_rent_name = this.userinfo.baseinfo.base.f_rent_name
|
669
|
-
userinfoms.f_zuhu_phone = this.userinfo.baseinfo.base.f_zuhu_phone
|
670
|
-
userinfoms.f_operator_record = Vue.user.name
|
671
|
-
userinfoms.f_operatorid_record = Vue.user.id
|
672
|
-
userinfoms.f_remark = this.userinfo.baseinfo.base.f_remark
|
673
|
-
userinfoms.f_orgid_record = Vue.user.orgid
|
674
|
-
userinfoms.f_orgname_record = Vue.user.orgs
|
675
|
-
userinfoms.f_depid_record = Vue.user.depids
|
676
|
-
userinfoms.f_depname_record = Vue.user.deps
|
677
|
-
this.userinfo_old.meterinfo[0].f_gas_person = this.userinfo.meterinfo[0].f_gas_person
|
678
|
-
this.userinfo_old.meterinfo[0].f_gas_date = this.userinfo.meterinfo[0].f_gas_date
|
679
|
-
this.userinfo_old.meterinfo[0].f_adjustable_id = this.userinfo.meterinfo[0].f_adjustable_id
|
680
|
-
this.userinfo_old.meterinfo[0].f_metertitles = this.userinfo.meterinfo[0].f_metertitles
|
681
|
-
this.userinfo_old.meterinfo[0].f_position = this.userinfo.meterinfo[0].f_position
|
682
|
-
this.userinfo_old.meterinfo[0].f_aroundmeter = this.userinfo.meterinfo[0].f_aroundmeter
|
683
|
-
this.userinfo_old.meterinfo[0].f_bqf_state = this.userinfo.meterinfo[0].f_bqf_state
|
684
|
-
this.userinfo_old.meterinfo[0].f_if_direct = this.userinfo.meterinfo[0].f_if_direct
|
685
|
-
userinfoms.userfiles = []
|
686
|
-
this.userinfo_old.meterinfo[0].devicesinfo = this.model
|
687
|
-
for (let i = 0; i < this.devicemodel.length; i++){
|
688
|
-
this.userinfo_old.meterinfo[0].devicesinfo.push(this.devicemodel[i])
|
689
|
-
}
|
690
|
-
userinfoms.userfiles.push(this.userinfo_old.meterinfo[0])
|
691
|
-
//tag)
|
692
|
-
new HttpResetClass().load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/filemanage_fileSave`, {
|
693
|
-
data: {
|
694
|
-
userinfo: userinfoms,
|
695
|
-
modifyReason: this.f_source ? `${this.f_source}维护档案信息` : '',
|
696
|
-
address: { id: this.userinfo_old.addressinfo.id, oldid: this.userinfo_old.addressinfo.id }
|
697
|
-
}
|
698
|
-
}, { resolveMsg: null, rejectMsg: null }).then((res1) => {
|
699
|
-
if (res1.data.status == 200) {
|
700
|
-
//本次修改信息包含需要审核信息
|
701
|
-
// if (this.approveChange) {
|
702
|
-
// //tag
|
703
|
-
// let res2 = this.$androidUtil.bzLogic('safe_upUserinfoApprove', {
|
704
|
-
// row: {
|
705
|
-
// f_time: Util.toStandardTimeString(),
|
706
|
-
// f_modifier: Vue.user.name,//Vue.user.name
|
707
|
-
// f_modifier_id: Vue.user.id,//Vue.user.id
|
708
|
-
// f_modify_type: '用户档案',
|
709
|
-
// f_userinfoid: this.userinfo.baseinfo.base.f_userinfo_id,
|
710
|
-
// f_userinfo_code: this.userinfo.baseinfo.base.f_userinfo_code,
|
711
|
-
// f_approved: '未审核',
|
712
|
-
// filialestr: Vue.user.orgid,//Vue.user.orgid
|
713
|
-
// version: 1,
|
714
|
-
// f_user_name: this.userinfo.baseinfo.base.f_user_name,
|
715
|
-
// f_user_phone: this.userinfo.baseinfo.base.f_user_phone,
|
716
|
-
// f_street: this.userinfo.addressinfo.f_street,
|
717
|
-
// f_building: this.userinfo.addressinfo.f_building,
|
718
|
-
// f_unit: this.userinfo.addressinfo.f_unit,
|
719
|
-
// f_floor: this.userinfo.addressinfo.f_floor,
|
720
|
-
// f_room: this.userinfo.addressinfo.f_room,
|
721
|
-
// f_building_suffix: this.userinfo.addressinfo.f_special == 1 ? null : this.userinfo.addressinfo.f_building_suffix,
|
722
|
-
// f_unit_suffix: this.userinfo.addressinfo.f_special == 1 ? null : this.userinfo.addressinfo.f_unit_suffix,
|
723
|
-
// f_floor_suffix: this.userinfo.addressinfo.f_special == 1 ? null : this.userinfo.addressinfo.f_floor_suffix,
|
724
|
-
// f_room_suffix: this.userinfo.addressinfo.f_special == 1 ? null : this.userinfo.addressinfo.f_room_suffix,
|
725
|
-
// f_residential_area: this.userinfo.addressinfo.f_residential_area,
|
726
|
-
// f_address: this.userinfo.addressinfo.f_address,
|
727
|
-
// f_pcd: this.userinfo.addressinfo.f_pcd,
|
728
|
-
// f_pcd_id: this.userinfo.addressinfo.f_pcd_id,
|
729
|
-
// f_street_id: this.userinfo.addressinfo.f_street_id,
|
730
|
-
// f_residential_area_id: this.userinfo.addressinfo.f_residential_area_id,
|
731
|
-
// f_used_name: this.userinfo.baseinfo.base.f_used_name,
|
732
|
-
// f_rent_phone: this.userinfo.baseinfo.base.f_rent_phone,
|
733
|
-
// f_slice_area: this.userinfo.addressinfo.f_slice_area,
|
734
|
-
// f_remark: this.userinfo.baseinfo.base.f_remark,
|
735
|
-
// f_source: this.f_source,
|
736
|
-
// f_meterno_path: this.f_meterno_path,
|
737
|
-
// f_iscity: this.userinfo.addressinfo.f_iscity,
|
738
|
-
// f_special: this.userinfo.addressinfo.f_special,
|
739
|
-
// f_meternumber: this.userinfo.meterinfo[0].f_meternumber,
|
740
|
-
// changemeterno: this.changemeterno
|
741
|
-
// },
|
742
|
-
// tablename: 't_modify_userinfo'
|
743
|
-
// })
|
744
|
-
// //tag)
|
745
|
-
// if (res2.code == 200) {
|
746
|
-
// this.$showMessage("变更用户信息成功,需要审核的信息已提交审核,等待管理员处理!")
|
747
|
-
// this.enable = true
|
748
|
-
// this.excessive = false
|
749
|
-
// } else {
|
750
|
-
// this.$showMessage("上传审核信息失败,请检查图片和网络状况是否正常!")
|
751
|
-
// this.excessive = false
|
752
|
-
// }
|
753
|
-
// } else {
|
754
|
-
// this.$showMessage("修改用户信息成功!")
|
755
|
-
// this.enable = true
|
756
|
-
// this.excessive = false
|
757
|
-
// }
|
758
|
-
this.$showMessage("修改用户信息成功!")
|
759
|
-
this.enable = true
|
760
|
-
this.excessive = false
|
761
|
-
}
|
762
|
-
}).catch((msg) => {
|
763
|
-
this.$showMessage("修改用户信息失败,请检查手机网络状况!")
|
764
|
-
this.excessive = false
|
765
|
-
})
|
766
|
-
|
767
|
-
}
|
768
|
-
})
|
769
|
-
},
|
770
|
-
imgback(header) {
|
771
|
-
if (this.headername == header) {
|
772
|
-
return require('../../assets/xiangxia1.png')
|
773
|
-
} else {
|
774
|
-
return require('../../assets/xiangyou1.png')
|
775
|
-
}
|
776
|
-
this.headername = header
|
777
|
-
},
|
778
|
-
selectVal(header) {
|
779
|
-
if (this.headername == header) {
|
780
|
-
this.headername = ''
|
781
|
-
} else {
|
782
|
-
this.headername = header
|
783
|
-
}
|
784
|
-
|
785
|
-
},
|
786
|
-
changeNewAddress() {
|
787
|
-
this.userinfo.addressinfo.f_address = this.addressType == '普通地址' ? this.getAddress : this.getAddressTS
|
788
|
-
},
|
789
|
-
area_change() {
|
790
|
-
//tag
|
791
|
-
this.userinfo.addressinfo.f_residential_area = this.selectArea.f_residential_area
|
792
|
-
this.userinfo.addressinfo.f_residential_area_id = this.selectArea.id
|
793
|
-
this.userinfo.addressinfo.f_slice_area = this.selectArea.f_slice_area
|
794
|
-
this.changeNewAddress()
|
795
|
-
//this.userinfo.addressinfo.f_residential_area=this.f_residential_area.f_residential_area
|
796
|
-
},
|
797
|
-
async street_change() {
|
798
|
-
//tag
|
799
|
-
if (this.selectStreet.id) {
|
800
|
-
//如果街道改变--给街道赋值!
|
801
|
-
this.userinfo.addressinfo.f_street = this.selectStreet.f_street
|
802
|
-
this.userinfo.addressinfo.f_street_id = this.selectStreet.id
|
803
|
-
this.userinfo.addressinfo.f_iscity = this.selectStreet.f_iscity
|
804
|
-
//清空当前选中小区的值
|
805
|
-
this.userinfo.addressinfo.f_residential_area = ''
|
806
|
-
this.userinfo.addressinfo.f_residential_area_id = ''
|
807
|
-
this.userinfo.addressinfo.f_slice_area = ''
|
808
|
-
this.selectArea = { id: '' }
|
809
|
-
this.area = []
|
810
|
-
let pcdText = ` and f_street_id=${this.selectStreet.id}`
|
811
|
-
let res = await new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/rs/sql/safe_singleTable_OrderBy`, {
|
812
|
-
data: {
|
813
|
-
items: "*",
|
814
|
-
tablename: "t_area",
|
815
|
-
orderitem: "id",
|
816
|
-
condition: `f_orgid = '${Vue.user.orgid}' ${pcdText} `
|
817
|
-
}
|
818
|
-
}, { resolveMsg: null, rejectMsg: null })
|
819
|
-
////tag)
|
820
|
-
res.data.forEach((result) => {
|
821
|
-
this.area.push({ label: result.f_residential_area, value: result })
|
822
|
-
})
|
823
|
-
} else {
|
824
|
-
this.area = []
|
825
|
-
}
|
826
|
-
|
827
|
-
this.changeNewAddress()
|
828
|
-
},
|
829
|
-
async pcd_change() {
|
830
|
-
//tag
|
831
|
-
if (this.selectPcd.id) {
|
832
|
-
//tag
|
833
|
-
//如果省市区改变-重新赋值
|
834
|
-
this.userinfo.addressinfo.f_pcd = this.selectPcd.f_pcd
|
835
|
-
this.userinfo.addressinfo.f_pcd_id = this.selectPcd.id
|
836
|
-
//清空 选中的街道和集收单位
|
837
|
-
this.selectStreet = { id: '' }
|
838
|
-
this.userinfo.addressinfo.f_street = ''
|
839
|
-
this.userinfo.addressinfo.f_street_id = ''
|
840
|
-
this.userinfo.addressinfo.f_iscity = ''
|
841
|
-
this.selectArea = { id: '' }
|
842
|
-
this.userinfo.addressinfo.f_residential_area = ''
|
843
|
-
this.userinfo.addressinfo.f_residential_area_id = ''
|
844
|
-
this.userinfo.addressinfo.f_slice_area = ''
|
845
|
-
this.streets = []
|
846
|
-
let pcdText = `and f_pcd_id=${this.selectPcd.id}`
|
847
|
-
let streetlist = await new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/rs/sql/safe_singleTable_OrderBy`, {
|
848
|
-
data: {
|
849
|
-
items: "*",
|
850
|
-
tablename: "t_street",
|
851
|
-
orderitem: "id",
|
852
|
-
condition: `f_orgid = '${Vue.user.orgid}' ${pcdText}`
|
853
|
-
}
|
854
|
-
}, { resolveMsg: null, rejectMsg: null })
|
855
|
-
streetlist.data.forEach((result) => {
|
856
|
-
this.streets.push({ label: result.f_street, value: result })
|
857
|
-
})
|
858
|
-
} else {
|
859
|
-
this.streets = []
|
860
|
-
}
|
861
|
-
this.changeNewAddress()
|
862
|
-
},
|
863
|
-
upUserState() {
|
864
|
-
//tag)
|
865
|
-
if (this.userinfo.meterinfo[0].f_table_state == '正常') {
|
866
|
-
let data = {
|
867
|
-
f_userfiles_id: {
|
868
|
-
f_userfiles_id: this.userinfo.meterinfo[0].f_userfiles_id,
|
869
|
-
f_table_state: '停用',
|
870
|
-
version: this.userinfo.meterinfo[0].version
|
871
|
-
},
|
872
|
-
f_userfile_id: this.userinfo.meterinfo[0].f_userfiles_id,
|
873
|
-
f_user_id: this.userinfo.meterinfo[0].f_user_id,
|
874
|
-
f_userinfo_id: this.userinfo.meterinfo[0].f_userinfo_id,
|
875
|
-
f_user_name: this.userinfo.baseinfo.base.f_user_name,
|
876
|
-
f_comments: '安检时发现问题关闭阀门',
|
877
|
-
f_othereason: '',
|
878
|
-
f_operat_type: '停用',
|
879
|
-
f_describe: `${Vue.user.name}对客户${this.userinfo.baseinfo.base.f_user_name}进行表具停用操作`,
|
880
|
-
f_state: '有效',
|
881
|
-
f_operator: Vue.user.name,//${Vue.$login.f.name}
|
882
|
-
f_operatorid: Vue.user.id,
|
883
|
-
f_orgid: Vue.user.orgid,
|
884
|
-
f_orgname: Vue.user.orgs,
|
885
|
-
f_depid: Vue.user.depids,
|
886
|
-
f_depname: Vue.user.deps,
|
887
|
-
f_zoneid: Vue.user.zoneid,
|
888
|
-
f_zones: Vue.user.zones
|
889
|
-
}
|
890
|
-
new HttpResetClass().load('post', `${this.$androidUtil.getProxyUrl()}/rs/entity/t_disable`,
|
891
|
-
data, { resolveMsg: null, rejectMsg: null }).then((row) => {
|
892
|
-
this.$showMessage('已成功关阀停气!')
|
893
|
-
this.userinfo.meterinfo[0].f_table_state = '停用'
|
894
|
-
})
|
895
|
-
} else {
|
896
|
-
this.$showMessage('该用户已被关阀停用,请勿重复操作!')
|
897
|
-
}
|
898
|
-
|
899
|
-
},
|
900
|
-
addDevices() {
|
901
|
-
//Vue.user.name
|
902
|
-
let obj = {
|
903
|
-
"f_operator": Vue.user.name,
|
904
|
-
"f_picture": null,
|
905
|
-
"f_pipe_type": null,
|
906
|
-
"f_pipeinstall_date": null,
|
907
|
-
"f_pipe_connection": null,
|
908
|
-
"f_expire_date": null,
|
909
|
-
"f_pipeexpire_date": null,
|
910
|
-
"f_comments": null,
|
911
|
-
"f_operate_date": Util.toStandardTimeString(),
|
912
|
-
"f_operatorid": Vue.user.id,
|
913
|
-
"f_service_life": '',
|
914
|
-
"f_devices_num": null,
|
915
|
-
"f_process_id": null,
|
916
|
-
"f_devices_type": null,
|
917
|
-
"f_make_date": null,
|
918
|
-
"f_input_date": null,
|
919
|
-
"f_state": "有效",
|
920
|
-
"f_brand": null,
|
921
|
-
"f_devices_model": null,
|
922
|
-
"f_devices_no": null,
|
923
|
-
"img": { "content": null, "filename": null }
|
924
|
-
}
|
925
|
-
this.model.push(obj)
|
926
|
-
},
|
927
|
-
delDevices(idx) {
|
928
|
-
//tag
|
929
|
-
this.$showMessage('删除后不可恢复,确认删除吗?', ['confirm', 'cancel']).then((res) => {
|
930
|
-
if (res === 'confirm') {
|
931
|
-
this.model.splice(idx, 1)
|
932
|
-
}
|
933
|
-
})
|
934
|
-
},
|
935
|
-
async getAreaList(text) {
|
936
|
-
if (this.selectStreet.id) {
|
937
|
-
this.area = []
|
938
|
-
let pcdText = text ? `and f_street_id=${this.selectStreet.id} and f_residential_area like '%${text}%'` : `and f_street_id=${this.selectStreet.id}`
|
939
|
-
let res = await new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/rs/sql/safe_singleTable_OrderBy`, {
|
940
|
-
data: {
|
941
|
-
items: "*",
|
942
|
-
tablename: "t_area",
|
943
|
-
orderitem: "id",
|
944
|
-
condition: `f_orgid = '${Vue.user.orgid}' ${pcdText}`
|
945
|
-
}
|
946
|
-
}, { resolveMsg: null, rejectMsg: null })
|
947
|
-
////tag)
|
948
|
-
res.data.forEach((result) => {
|
949
|
-
this.area.push({ label: result.f_residential_area, value: result })
|
950
|
-
})
|
951
|
-
//tag
|
952
|
-
this.area.push({
|
953
|
-
label: this.userinfo.addressinfo.f_residential_area,
|
954
|
-
value: {
|
955
|
-
id: this.userinfo.addressinfo.f_residential_area_id,
|
956
|
-
f_residential_area: this.userinfo.addressinfo.f_residential_area
|
957
|
-
}
|
958
|
-
})
|
959
|
-
} else {
|
960
|
-
this.area = []
|
961
|
-
}
|
962
|
-
|
963
|
-
},
|
964
|
-
async getStreetList() {
|
965
|
-
if (this.selectPcd.id) {
|
966
|
-
//tag
|
967
|
-
this.streets = []
|
968
|
-
let pcdText = `and f_pcd_id=${this.selectPcd.id}`
|
969
|
-
let streetlist = await new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/rs/sql/safe_singleTable_OrderBy`, {
|
970
|
-
data: {
|
971
|
-
items: "*",
|
972
|
-
tablename: "t_street",
|
973
|
-
orderitem: "id",
|
974
|
-
condition: `f_orgid = '${Vue.user.orgid}' ${pcdText}`
|
975
|
-
}
|
976
|
-
}, { resolveMsg: null, rejectMsg: null })
|
977
|
-
streetlist.data.forEach((result) => {
|
978
|
-
//如果第一次进来有地址id 就拿下地址区域
|
979
|
-
if (this.selectStreet.id && this.selectStreet.id == result.id) {
|
980
|
-
//tag)
|
981
|
-
this.userinfo.addressinfo.f_iscity = result.f_iscity
|
982
|
-
}
|
983
|
-
this.streets.push({ label: result.f_street, value: result })
|
984
|
-
})
|
985
|
-
} else {
|
986
|
-
this.streets = []
|
987
|
-
}
|
988
|
-
},
|
989
|
-
changeAddressType(val) {
|
990
|
-
//tag
|
991
|
-
if (this.addressType == '普通地址') {
|
992
|
-
this.userinfo.addressinfo.f_special = null
|
993
|
-
} else if (this.addressType == '特殊地址') {
|
994
|
-
this.userinfo.addressinfo.f_special = 1
|
995
|
-
this.userinfo.addressinfo.f_building = null
|
996
|
-
this.userinfo.addressinfo.f_unit = null
|
997
|
-
this.userinfo.addressinfo.f_floor = null
|
998
|
-
this.userinfo.addressinfo.f_room = null
|
999
|
-
}
|
1000
|
-
this.changeNewAddress()
|
1001
|
-
}
|
1002
|
-
|
1003
|
-
},
|
1004
|
-
computed: {
|
1005
|
-
getAddress() {
|
1006
|
-
return (this.userinfo.addressinfo.f_pcd ? this.userinfo.addressinfo.f_pcd : '') +
|
1007
|
-
(this.userinfo.addressinfo.f_street ? this.userinfo.addressinfo.f_street : '') +
|
1008
|
-
(this.userinfo.addressinfo.f_residential_area ? this.userinfo.addressinfo.f_residential_area : '') +
|
1009
|
-
(this.userinfo.addressinfo.f_building ? this.userinfo.addressinfo.f_building + (this.userinfo.addressinfo.f_building_suffix ? this.userinfo.addressinfo.f_building_suffix : '') : '') +
|
1010
|
-
(this.userinfo.addressinfo.f_unit ? this.userinfo.addressinfo.f_unit + (this.userinfo.addressinfo.f_unit_suffix ? this.userinfo.addressinfo.f_unit_suffix : '') : '') +
|
1011
|
-
(this.userinfo.addressinfo.f_floor ? this.userinfo.addressinfo.f_floor + (this.userinfo.addressinfo.f_floor_suffix ? this.userinfo.addressinfo.f_floor_suffix : '') : '') +
|
1012
|
-
(this.userinfo.addressinfo.f_room ? this.userinfo.addressinfo.f_room + (this.userinfo.addressinfo.f_room_suffix ? this.userinfo.addressinfo.f_room_suffix : '') : '')
|
1013
|
-
},
|
1014
|
-
getAddressTS() {
|
1015
|
-
return (this.userinfo.addressinfo.f_pcd ? this.userinfo.addressinfo.f_pcd : '') +
|
1016
|
-
(this.userinfo.addressinfo.f_street ? this.userinfo.addressinfo.f_street : '') +
|
1017
|
-
(this.userinfo.addressinfo.f_residential_area ? this.userinfo.addressinfo.f_residential_area : '')
|
1018
|
-
}
|
1019
|
-
},
|
1020
|
-
watch: {
|
1021
|
-
|
1022
|
-
/*'selectPcd.id' (val) {
|
1023
|
-
//tag
|
1024
|
-
if(this.selectPcd.id){
|
1025
|
-
this.getStreetList()
|
1026
|
-
}
|
1027
|
-
},
|
1028
|
-
'selectStreet.id' (val) {
|
1029
|
-
//tag
|
1030
|
-
if(this.selectStreet.id){
|
1031
|
-
this.getAreaList()
|
1032
|
-
}
|
1033
|
-
}*/
|
1034
|
-
},
|
1035
|
-
async ready() {
|
1036
|
-
/*//tag)
|
1037
|
-
|
1038
|
-
//tag)
|
1039
|
-
//tag)*/
|
1040
|
-
//this.f_userinfo_id=1102260
|
1041
|
-
//this.f_userinfo_id=1997541
|
1042
|
-
if (!this.f_userinfo_id) {
|
1043
|
-
this.$showMessage("未检测到用户!")
|
1044
|
-
this.enable = true
|
1045
|
-
return
|
1046
|
-
}
|
1047
|
-
try {
|
1048
|
-
|
1049
|
-
this.devices_types = Vue.$appdata.getParam('设备类型')
|
1050
|
-
console.log('this.devices_types=', JSON.stringify(this.devices_types))
|
1051
|
-
for (const devices_type of this.devices_types) {
|
1052
|
-
console.log('Vue.$appdata.getParam(`档案设备信息-${devices_type.label}品牌`)=', JSON.stringify(Vue.$appdata.getParam(`档案设备信息-${devices_type.label}品牌`)))
|
1053
|
-
this.deviceBrandOption[devices_type.label] = Vue.$appdata.getParam(`档案设备信息-${devices_type.label}品牌`) || []
|
1054
|
-
}
|
1055
|
-
console.log('this.deviceBrandOption=', JSON.stringify(this.deviceBrandOption))
|
1056
|
-
this.wz_types = Vue.$appdata.getParam('安装位置')
|
1057
|
-
this.aroundmeters = Vue.$appdata.getParam('左右表')
|
1058
|
-
|
1059
|
-
////tag)
|
1060
|
-
this.excessive = true
|
1061
|
-
//Vue.user.orgid ${this.f_userinfo_id} 10101 ${Vue.user.orgid}
|
1062
|
-
|
1063
|
-
let pcdlist = await new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/rs/sql/safe_singleTable_OrderBy`, {
|
1064
|
-
data: {
|
1065
|
-
items: "*",
|
1066
|
-
tablename: "t_pcd",
|
1067
|
-
orderitem: "id",
|
1068
|
-
condition: `f_orgid = '${Vue.user.orgid}'`
|
1069
|
-
}
|
1070
|
-
}, { resolveMsg: null, rejectMsg: null })
|
1071
|
-
//tag)
|
1072
|
-
pcdlist.data.forEach((result) => {
|
1073
|
-
this.pcds.push({ label: result.f_pcd, value: result })
|
1074
|
-
})
|
1075
|
-
////tag)
|
1076
|
-
let res = await new HttpResetClass().load('post', `${this.$androidUtil.getProxyUrl()}/rs/logic/filemanage_getFilesDetail`, {
|
1077
|
-
//f_userinfo_code:'12381344',
|
1078
|
-
f_userinfo_id: this.f_userinfo_id
|
1079
|
-
}, { resolveMsg: null, rejectMsg: null })
|
1080
|
-
//tag
|
1081
|
-
//tag
|
1082
|
-
this.userinfo = res.data
|
1083
|
-
this.userinfo_old = JSON.parse(JSON.stringify(res.data))
|
1084
|
-
this.model = this.userinfo.meterinfo[0].devicesinfo.concat(this.userinfo.meterinfo[0].devicesinfonew)
|
1085
|
-
//已经超期
|
1086
|
-
let now = Util.toStandardDateString()
|
1087
|
-
let overdue = this.model.filter(item => item.f_expire_date <= now).map(item => item.f_devices_type).join(',')
|
1088
|
-
//临近超期
|
1089
|
-
|
1090
|
-
const advent_time = (this.$appdata.getSingleValue('设备超期提醒') || 7) * 1000 * 60 * 60 * 24
|
1091
|
-
const nowTime = new Date().getTime()
|
1092
|
-
const adventTimeLimit = nowTime + advent_time
|
1093
|
-
const advent = this.model
|
1094
|
-
.filter(item => {
|
1095
|
-
const expireTime = new Date(item.f_expire_date).getTime()
|
1096
|
-
return expireTime >= nowTime && expireTime <= adventTimeLimit
|
1097
|
-
})
|
1098
|
-
.map(item => {
|
1099
|
-
const expireTime = new Date(item.f_expire_date).getTime()
|
1100
|
-
const daysLeft = Math.round((expireTime - nowTime) / (1000 * 60 * 60 * 24))
|
1101
|
-
return `${item.f_devices_type}设备还有${daysLeft >= 0 ? daysLeft : 0}天超期`
|
1102
|
-
})
|
1103
|
-
.join(',')
|
1104
|
-
if (overdue && advent) {
|
1105
|
-
this.$showMessage(`${overdue}设备已过期,${advent}`)
|
1106
|
-
} else if (advent) {
|
1107
|
-
this.$showMessage(`${advent}`)
|
1108
|
-
} else if (overdue) {
|
1109
|
-
this.$showMessage(`${overdue}设备已过期`)
|
1110
|
-
}
|
1111
|
-
this.selectArea.id = this.userinfo.addressinfo.f_residential_area_id
|
1112
|
-
this.selectPcd.id = this.userinfo.addressinfo.f_pcd_id
|
1113
|
-
this.selectPcd.f_pcd = this.userinfo.addressinfo.f_pcd
|
1114
|
-
this.selectStreet.id = this.userinfo.addressinfo.f_street_id
|
1115
|
-
this.selectStreet.f_street = this.userinfo.addressinfo.f_street
|
1116
|
-
await this.getStreetList()
|
1117
|
-
await this.getAreaList()
|
1118
|
-
this.excessive = false
|
1119
|
-
this.addressType = this.userinfo.addressinfo.f_special == 1 ? '特殊地址' : '普通地址'
|
1120
|
-
//this.userinfo.addressinfo.f_special=1
|
1121
|
-
//tag
|
1122
|
-
} catch (e) {
|
1123
|
-
this.excessive = false
|
1124
|
-
this.enable = true
|
1125
|
-
this.$showMessage('获取用户信息出错,请检查网络状况!')
|
1126
|
-
}
|
1127
|
-
new HttpResetClass().load('get', `${this.$androidUtil.getProxyUrl()}/rs/vue/UserAddress.json`, { data: {} }, {
|
1128
|
-
resolveMsg: null,
|
1129
|
-
rejectMsg: null
|
1130
|
-
}).then((addressUnit) => {
|
1131
|
-
//tag
|
1132
|
-
//tag
|
1133
|
-
//tag
|
1134
|
-
//tag
|
1135
|
-
this.userinfo.addressinfo.f_building_suffix = addressUnit.data.f_building_suffix
|
1136
|
-
this.userinfo.addressinfo.f_unit_suffix = addressUnit.data.f_unit_suffix
|
1137
|
-
this.userinfo.addressinfo.f_floor_suffix = addressUnit.data.f_floor_suffix
|
1138
|
-
this.userinfo.addressinfo.f_room_suffix = addressUnit.data.f_room_suffix
|
1139
|
-
}).catch((msg) => {
|
1140
|
-
//tag)
|
1141
|
-
})
|
1142
|
-
this.showBox = this.$appdata.getSingleValue('档案审核是否显示调压箱') == '是' ? true : false
|
1143
|
-
console.log(this.showBox)
|
1144
|
-
if (this.showBox) {
|
1145
|
-
// 获取调压箱
|
1146
|
-
new HttpResetClass().load('post', `${this.$androidUtil.getProxyUrl()}/rs/sql/adjustableboxQuery`, { data: { condition: '1 = 1' } }, {
|
1147
|
-
resolveMsg: null,
|
1148
|
-
rejectMsg: null
|
1149
|
-
}).then((res) => {
|
1150
|
-
const boxOptions = []
|
1151
|
-
for (const data of res.data) {
|
1152
|
-
const one = {
|
1153
|
-
label: data.f_adjustable_id + data.f_adjustable_name,
|
1154
|
-
value: Number(data.f_adjustable_id)
|
1155
|
-
}
|
1156
|
-
boxOptions.push(one)
|
1157
|
-
}
|
1158
|
-
this.boxOptions = JSON.parse(JSON.stringify(boxOptions))
|
1159
|
-
console.log(this.boxOptions)
|
1160
|
-
}).catch((msg) => {
|
1161
|
-
//tag)
|
1162
|
-
})
|
1163
|
-
}
|
1164
|
-
}
|
1165
|
-
}
|
1166
|
-
</script>
|
1167
|
-
<style lang="less" scoped>
|
1168
|
-
.butt3 {
|
1169
|
-
float: right;
|
1170
|
-
width: 12px;
|
1171
|
-
margin: 1% 2% 0 0;
|
1172
|
-
}
|
1173
|
-
|
1174
|
-
.rightipt {
|
1175
|
-
width: 60%;
|
1176
|
-
float: left;
|
1177
|
-
margin-left: 5%;
|
1178
|
-
}
|
1179
|
-
|
1180
|
-
.righttxt {
|
1181
|
-
border: none;
|
1182
|
-
margin-left: 5px;
|
1183
|
-
/*border-left: 5px solid #A2C2EB;*/
|
1184
|
-
float: left;
|
1185
|
-
width: 25%;
|
1186
|
-
margin-bottom: 3px;
|
1187
|
-
text-align: left;
|
1188
|
-
word-wrap: break-word;
|
1189
|
-
white-space: normal;
|
1190
|
-
}
|
1191
|
-
|
1192
|
-
.tit1 {
|
1193
|
-
background-image: url('../../assets/用户姓名.png');
|
1194
|
-
background-repeat: no-repeat;
|
1195
|
-
background-position: center;
|
1196
|
-
}
|
1197
|
-
|
1198
|
-
.spanboder {
|
1199
|
-
border-bottom: 2px solid #499edf;
|
1200
|
-
padding-bottom: 8px
|
1201
|
-
}
|
1202
|
-
|
1203
|
-
#upuserinfo_sel /deep/ ul {
|
1204
|
-
width: 100% !important;
|
1205
|
-
left: 0 !important;
|
1206
|
-
}
|
1207
|
-
|
1208
|
-
.btn-photo {
|
1209
|
-
border: 0;
|
1210
|
-
border-radius: 7px;
|
1211
|
-
background-color: #7dc1f4;
|
1212
|
-
font: 15px PingFang-SC-Bold;
|
1213
|
-
height: 20%;
|
1214
|
-
}
|
1215
|
-
|
1216
|
-
.panel-self {
|
1217
|
-
border-radius: 10px;
|
1218
|
-
border: 1px solid #499EDF;
|
1219
|
-
background-color: #F8F8F8;
|
1220
|
-
}
|
1221
|
-
|
1222
|
-
.div-photo {
|
1223
|
-
width: auto;
|
1224
|
-
height: auto;
|
1225
|
-
/* margin-top: 10px; */
|
1226
|
-
position: absolute;
|
1227
|
-
bottom: 10px;
|
1228
|
-
right: 10px;
|
1229
|
-
}
|
1230
|
-
</style>
|
1231
|
-
<style lang="less">
|
1232
|
-
#upuserinfo_sel ul {
|
1233
|
-
width: 100% !important;
|
1234
|
-
left: 0 !important;
|
1235
|
-
}
|
1236
|
-
</style>
|
1
|
+
<template>
|
2
|
+
<work-busy :is-busy="excessive"></work-busy>
|
3
|
+
<div style="height: 100%">
|
4
|
+
<div class="panel auto" v-if="false">
|
5
|
+
<div class="panel-heading" @click="selectVal('基本信息')" style="background-color: #ffffff">
|
6
|
+
<span class="spanboder">
|
7
|
+
<img src="../../assets/person.png" style="width: 22px;margin-right: 8px;">基本信息
|
8
|
+
<img class="butt3" :src="imgback('基本信息')">
|
9
|
+
</span>
|
10
|
+
</div>
|
11
|
+
<div class="panel-body " id="upuserinfo_sel" v-show="headername == '基本信息'">
|
12
|
+
<div class="row auto" style="margin: 5px 0">
|
13
|
+
<label class="righttxt">用户编号:</label>
|
14
|
+
<input type="text" class="form-control rightipt" v-model="userinfo.baseinfo.base.f_userinfo_code" readonly />
|
15
|
+
</div>
|
16
|
+
<div class="row auto" style="margin: 5px 0">
|
17
|
+
<label class="righttxt">用户名称:</label><input type="text" class="form-control rightipt"
|
18
|
+
v-model="userinfo.baseinfo.base.f_user_name" readonly />
|
19
|
+
</div>
|
20
|
+
<div class="row auto" style="margin: 5px 0">
|
21
|
+
<label class="righttxt">用户状态:</label><input type="text" class="form-control rightipt" readonly
|
22
|
+
v-model="userinfo.baseinfo.base.f_user_state" />
|
23
|
+
</div>
|
24
|
+
<div class="row auto" style="margin: 5px 0">
|
25
|
+
<label class="righttxt">用户电话:</label><input type="text" class="form-control rightipt"
|
26
|
+
v-model="userinfo.baseinfo.base.f_user_phone" />
|
27
|
+
</div>
|
28
|
+
<div class="row auto" style="margin: 5px 0">
|
29
|
+
<label class="righttxt">租户姓名:</label><input type="text" class="form-control rightipt"
|
30
|
+
v-model="userinfo.baseinfo.base.f_rent_name" />
|
31
|
+
</div>
|
32
|
+
<div class="row auto" style="margin: 5px 0">
|
33
|
+
<label class="righttxt">租户电话:</label><input type="text" class="form-control rightipt"
|
34
|
+
v-model="userinfo.baseinfo.base.f_zuhu_phone" />
|
35
|
+
</div>
|
36
|
+
<div class="row auto" style="margin: 5px 0">
|
37
|
+
<label class="righttxt">建档日期:</label><input type="text" class="form-control rightipt"
|
38
|
+
v-model="userinfo.baseinfo.base.f_createfile_date" readonly />
|
39
|
+
</div>
|
40
|
+
<!-- <div class="row auto" style="margin: 5px 0">
|
41
|
+
<label class="righttxt">开户日期:</label><input type="text" class="form-control rightipt" v-model="userinfo.baseinfo.base.f_open_date" readonly />
|
42
|
+
</div>-->
|
43
|
+
<div class="row auto" style="margin: 5px 0">
|
44
|
+
<label class="righttxt">地址类型:</label>
|
45
|
+
<div class="rightipt" style="display: flex;justify-content: space-around;margin-top: 5px">
|
46
|
+
<div><input type="radio" v-model="addressType" name="addressType" @change="changeAddressType"
|
47
|
+
id="phone_addressType1" value="普通地址" /><label style="font-weight: normal;padding-left: 2px"
|
48
|
+
for="phone_addressType1">普通地址</label></div>
|
49
|
+
<div><input type="radio" v-model="addressType" name="addressType" @change="changeAddressType"
|
50
|
+
id="phone_addressType2" value="特殊地址" /><label style="font-weight: normal;padding-left: 2px"
|
51
|
+
for="phone_addressType2">特殊地址</label></div>
|
52
|
+
</div>
|
53
|
+
<!--<input type="text" style="width: 75%;float:right" class="form-control" v-model="row.f_devices_type" />-->
|
54
|
+
<!--<input type="text" class="form-control rightipt" readonly v-model="userinfo.addressinfo.f_pcd" />-->
|
55
|
+
<!--<v-select :value.sync="userinfo.addressinfo.f_iscity" class="input-font" style="margin-left: 5%;"
|
56
|
+
:width="'60%'"
|
57
|
+
v-model="userinfo.addressinfo.f_iscity"
|
58
|
+
:options='cityTypes' placeholder='地区类型' close-on-select clear-button value-single @change="area_change()"></v-select>-->
|
59
|
+
</div>
|
60
|
+
<div class="row auto" style="margin: 5px 0">
|
61
|
+
<label class="righttxt">地区类型:</label>
|
62
|
+
<!--<input type="text" style="width: 75%;float:right" class="form-control" v-model="row.f_devices_type" />-->
|
63
|
+
<input type="text" class="form-control rightipt" readonly v-model="userinfo.addressinfo.f_iscity" />
|
64
|
+
<!--<v-select :value.sync="userinfo.addressinfo.f_iscity" class="input-font" style="margin-left: 5%;"
|
65
|
+
:width="'60%'"
|
66
|
+
:disabled="true"
|
67
|
+
v-model="userinfo.addressinfo.f_iscity"
|
68
|
+
:options='cityTypes' placeholder='地区类型' close-on-select clear-button value-single ></v-select>-->
|
69
|
+
</div>
|
70
|
+
<div class="row auto" style="margin: 5px 0">
|
71
|
+
<label class="righttxt">省 市 区:</label>
|
72
|
+
<!--<input type="text" style="width: 75%;float:right" class="form-control" v-model="row.f_devices_type" />-->
|
73
|
+
<!--<input type="text" class="form-control rightipt" readonly v-model="userinfo.addressinfo.f_pcd" />-->
|
74
|
+
<v-select :value.sync="selectPcd" class="input-font" style="margin-left: 5%;" :width="'60%'"
|
75
|
+
v-model="selectPcd" :options='pcds' placeholder='请选择省市区' close-on-select clear-button value-single
|
76
|
+
@change="pcd_change()"></v-select>
|
77
|
+
</div>
|
78
|
+
<div class="row auto" style="margin: 5px 0">
|
79
|
+
<label class="righttxt">街道名称:</label>
|
80
|
+
<!--<input type="text" readonly class="form-control rightipt" v-model="userinfo.addressinfo.f_street" />-->
|
81
|
+
<v-select :value.sync="selectStreet" class="input-font" style="margin-left: 5%;" :width="'60%'"
|
82
|
+
v-model="selectStreet" :options='streets' placeholder='请选择街道' close-on-select clear-button value-single
|
83
|
+
@change="street_change()"></v-select>
|
84
|
+
</div>
|
85
|
+
<div class="row auto" style="margin: 5px 0">
|
86
|
+
<label class="righttxt">集收单位:</label>
|
87
|
+
<!--<input type="text" readonly class="form-control rightipt" v-model="userinfo.addressinfo.f_residential_area" />-->
|
88
|
+
<v-select :value.sync="selectArea" class="input-font" style="margin-left: 5%;" :width="'60%'"
|
89
|
+
v-model="selectArea" :timeout="500" @select-search="select_search" :options='area' placeholder='请选择集收单位'
|
90
|
+
close-on-select clear-button value-single @change="area_change()"></v-select>
|
91
|
+
</div>
|
92
|
+
<!--<div class="row auto" style="margin: 5px 0" v-show="addressType=='特殊地址'">
|
93
|
+
<label class="righttxt">集收单位:</label>
|
94
|
+
<!–<input type="text" readonly class="form-control rightipt" v-model="userinfo.addressinfo.f_residential_area" />–>
|
95
|
+
<v-select :value.sync="selectArea" class="input-font" style="margin-left: 5%;"
|
96
|
+
:width="'60%'"
|
97
|
+
v-model="selectArea"
|
98
|
+
@select-search="select_search"
|
99
|
+
:options='area' placeholder='请选择集收单位' close-on-select clear-button value-single @change="area_changeTC()"></v-select>
|
100
|
+
</div>-->
|
101
|
+
<div class="row auto" style="margin: 5px 0" v-show="addressType == '普通地址'">
|
102
|
+
<label class="righttxt">楼    号:</label><input type="text" @change="changeNewAddress"
|
103
|
+
class="form-control rightipt" v-model="userinfo.addressinfo.f_building" />
|
104
|
+
</div>
|
105
|
+
<div class="row auto" style="margin: 5px 0" v-show="addressType == '普通地址'">
|
106
|
+
<label class="righttxt">单    元:</label><input type="text" @change="changeNewAddress"
|
107
|
+
class="form-control rightipt" v-model="userinfo.addressinfo.f_unit" />
|
108
|
+
</div>
|
109
|
+
<div class="row auto" style="margin: 5px 0" v-show="addressType == '普通地址'">
|
110
|
+
<label class="righttxt">楼    层:</label><input type="text" @change="changeNewAddress"
|
111
|
+
class="form-control rightipt" v-model="userinfo.addressinfo.f_floor" />
|
112
|
+
</div>
|
113
|
+
<div class="row auto" style="margin: 5px 0" v-show="addressType == '普通地址'">
|
114
|
+
<label class="righttxt">门 牌 号:</label><input type="text" @change="changeNewAddress"
|
115
|
+
class="form-control rightipt" v-model="userinfo.addressinfo.f_room" />
|
116
|
+
</div>
|
117
|
+
<div class="row auto" style="margin: 5px 0">
|
118
|
+
<label class="righttxt">详细地址:</label><input type="text" class="form-control rightipt" readonly
|
119
|
+
v-model="userinfo_old.addressinfo.f_address" />
|
120
|
+
</div>
|
121
|
+
<div class="row auto" style="margin: 5px 0">
|
122
|
+
<label class="righttxt">新 地 址:</label>
|
123
|
+
<!--<input type="text" class="form-control rightipt" readonly v-model="getaddress()" />-->
|
124
|
+
<textarea :readonly="addressType == '普通地址'" class="form-control rightipt" : style="height: 80px"
|
125
|
+
v-model="userinfo.addressinfo.f_address"></textarea>
|
126
|
+
</div>
|
127
|
+
|
128
|
+
<!--<div class="row auto" style="margin: 5px 0" v-show="addressType=='特殊地址'">
|
129
|
+
<label class="righttxt">新 地 址:</label><!–<input type="text" class="form-control rightipt" v-model="userinfo.addressinfo.f_address" />–>
|
130
|
+
<textarea class="form-control rightipt" style="height: 80px" v-model="getAddressTS"></textarea>
|
131
|
+
</div>-->
|
132
|
+
|
133
|
+
<div class="row auto" style="margin: 5px 0">
|
134
|
+
<label class="righttxt">备    注:</label><textarea class="form-control rightipt"
|
135
|
+
style="height: 150px" v-model="userinfo.baseinfo.base.f_remark"></textarea>
|
136
|
+
<!--<input type="text" class="form-control rightipt" v-model="userinfo.baseinfo.base.f_remark" />-->
|
137
|
+
</div>
|
138
|
+
</div>
|
139
|
+
</div>
|
140
|
+
<div class="panel auto" v-if="false">
|
141
|
+
<div class="panel-heading" @click="selectVal('表具信息')" style="background-color: #ffffff">
|
142
|
+
<span class="spanboder">
|
143
|
+
<img src="../../assets/person.png" style="width: 22px;margin-right: 8px;">表具信息
|
144
|
+
<img class="butt3" :src="imgback('表具信息')">
|
145
|
+
</span>
|
146
|
+
</div>
|
147
|
+
<div class="panel-body " v-show="headername == '表具信息'">
|
148
|
+
<div class="row auto" style="margin: 5px 0">
|
149
|
+
<label class="righttxt">表    号:</label>
|
150
|
+
<input type="text" :readonly="userinfo.meterinfo[0].f_meter_classify != '机表'" class="form-control rightipt"
|
151
|
+
style="width: 45%" v-model="userinfo.meterinfo[0].f_meternumber" />
|
152
|
+
<button type="button"
|
153
|
+
:disabled="!(userinfo.meterinfo[0].f_meter_classify == '机表' || userinfo.meterinfo[0].f_meter_classify == '金额卡表' || userinfo.meterinfo[0].f_meter_classify == '气量卡表')"
|
154
|
+
name="button" class="btn btn-primary" style="width: 15%" @click="scan">扫码
|
155
|
+
</button>
|
156
|
+
</div>
|
157
|
+
|
158
|
+
<div class="row auto" style="margin: 5px 0">
|
159
|
+
<label class="righttxt">通 气 人:</label>
|
160
|
+
<input type="text" class="form-control rightipt" v-model="userinfo.meterinfo[0].f_gas_person" />
|
161
|
+
</div>
|
162
|
+
<div class="row auto" style="margin: 5px 0">
|
163
|
+
<label class="righttxt">通气时间:</label>
|
164
|
+
<datepicker class="rightipt" :value.sync="userinfo.meterinfo[0].f_gas_date"
|
165
|
+
v-model="userinfo.meterinfo[0].f_gas_date" :disabled-days-of-Week="[]" :format="'yyyy-MM-dd'"
|
166
|
+
:show-reset-button="reset">
|
167
|
+
</datepicker>
|
168
|
+
</div>
|
169
|
+
<div class="row auto" style="margin: 5px 0" v-show="showBox">
|
170
|
+
<label class="righttxt">调 压 箱:</label>
|
171
|
+
<v-select class="rightipt" :value.sync="userinfo.meterinfo[0].f_adjustable_id"
|
172
|
+
v-model="userinfo.meterinfo[0].f_adjustable_id" placeholder='请选择' :width='wid' readonly
|
173
|
+
:options="boxOptions" close-on-select value-single></v-select>
|
174
|
+
</div>
|
175
|
+
<div class="row auto" style="margin: 5px 0">
|
176
|
+
<label class="righttxt">是否直通:</label>
|
177
|
+
<v-select :value.sync="userinfo.meterinfo[0].f_if_direct" class="input-font" style="margin-left: 5%;"
|
178
|
+
:width="'60%'" v-model="userinfo.meterinfo[0].f_if_direct" :options='directOptions' placeholder='是否直通'
|
179
|
+
close-on-select clear-button value-single>
|
180
|
+
</v-select>
|
181
|
+
</div>
|
182
|
+
<div class="row auto" style="margin: 5px 0">
|
183
|
+
<label class="righttxt">表 封 号:</label>
|
184
|
+
<input type="text" class="form-control rightipt" v-model="userinfo.meterinfo[0].f_metertitles" />
|
185
|
+
</div>
|
186
|
+
<div class="row auto" style="margin: 5px 0">
|
187
|
+
<label class="righttxt">表 位 置:</label>
|
188
|
+
<!--<input type="text" class="form-control rightipt" v-model="userinfo.meterinfo[0].f_position" readonly/>-->
|
189
|
+
<v-select class="rightipt" :value.sync="userinfo.meterinfo[0].f_position"
|
190
|
+
v-model="userinfo.meterinfo[0].f_position" placeholder='请选择' :width='wid' readonly :options="wz_types"
|
191
|
+
close-on-select value-single></v-select>
|
192
|
+
</div>
|
193
|
+
<div class="row auto" style="margin: 5px 0">
|
194
|
+
<label class="righttxt">表    向:</label>
|
195
|
+
<!--<input type="text" class="form-control rightipt" v-model="userinfo.meterinfo[0].f_position" readonly/>-->
|
196
|
+
<v-select class="rightipt" :value.sync="userinfo.meterinfo[0].f_aroundmeter"
|
197
|
+
v-model="userinfo.meterinfo[0].f_aroundmeter" placeholder='请选择' :width='wid' readonly
|
198
|
+
:options="aroundmeters" close-on-select value-single></v-select>
|
199
|
+
</div>
|
200
|
+
<div class="row auto" style="margin: 5px 0">
|
201
|
+
<label class="righttxt">气表类型:</label>
|
202
|
+
<input type="text" class="form-control rightipt" v-model="userinfo.meterinfo[0].f_meter_classify" readonly />
|
203
|
+
</div>
|
204
|
+
<div class="row auto" style="margin: 5px 0">
|
205
|
+
<label class="righttxt">表前阀状态:</label>
|
206
|
+
<!--<input type="text" class="form-control rightipt" v-model="userinfo.meterinfo[0].f_position" readonly/>-->
|
207
|
+
<v-select class="rightipt" :value.sync="userinfo.meterinfo[0].f_bqf_state"
|
208
|
+
v-model="userinfo.meterinfo[0].f_bqf_state" placeholder='请选择' :width='wid' readonly :options="bqf_states"
|
209
|
+
close-on-select value-single></v-select>
|
210
|
+
</div>
|
211
|
+
<!-- <div class="row auto" style="margin: 5px 0">
|
212
|
+
<div style="display: flex;justify-content: center;">
|
213
|
+
<button v-if="userinfo.meterinfo[0].f_meter_classify=='机表'" class="col-sm-3 btn btn-primary" @click="upUserState()">机表关阀停用</button>
|
214
|
+
</div>
|
215
|
+
</div>-->
|
216
|
+
</div>
|
217
|
+
</div>
|
218
|
+
<div class="panel auto">
|
219
|
+
<div class="panel-heading" @click="selectVal('用气设备信息')" style="background-color: #ffffff">
|
220
|
+
<span class="spanboder"><img src="../../assets/list.png" style="width: 22px;margin-right: 8px;">用气设备信息<img
|
221
|
+
class="butt3" :src="imgback('用气设备信息')"></span>
|
222
|
+
</div>
|
223
|
+
<div class="panel-body" v-show="headername == '用气设备信息'">
|
224
|
+
<div class="row" v-for="(idx, row) in model"
|
225
|
+
style="border:2px solid #A2C2EB; border-top:10px solid #A2C2EB; box-shadow: #00b3ee;margin-bottom: 10px">
|
226
|
+
<div class="row auto" style="margin: 5px 0">
|
227
|
+
<label class="righttxt">设备类型:</label>
|
228
|
+
<!--<input type="text" class="form-control rightipt" readonly v-model="row.f_devices_type" />-->
|
229
|
+
<v-select class="rightipt" :value.sync="row.f_devices_type" v-model="row.f_devices_type" placeholder='请选择'
|
230
|
+
@change="getServiceLife(idx, row.f_devices_type)" :width='wid' readonly :options="devices_types"
|
231
|
+
close-on-select value-single></v-select>
|
232
|
+
</div>
|
233
|
+
<div class="row auto" style="margin: 5px 0">
|
234
|
+
<label class="righttxt">设备品牌:</label>
|
235
|
+
<input type="text" class="form-control rightipt" v-model="row.f_brand" />
|
236
|
+
</div>
|
237
|
+
<div class="row auto" style="margin: 5px 0">
|
238
|
+
<label class="righttxt">设备型号:</label><input type="text" class="form-control rightipt"
|
239
|
+
v-model="row.f_devices_model" />
|
240
|
+
</div>
|
241
|
+
<div class="row auto" style="margin: 5px 0" v-if="false">
|
242
|
+
<label class="righttxt">生产日期:</label>
|
243
|
+
<datepicker class="rightipt" :value.sync="row.f_make_date" v-model="row.f_make_date"
|
244
|
+
:disabled-days-of-Week="[]" :format="'yyyy-MM-dd'" :show-reset-button="reset" readonly="readonly">
|
245
|
+
</datepicker>
|
246
|
+
</div>
|
247
|
+
<div class="row auto" style="margin: 5px 0">
|
248
|
+
<label class="righttxt">安装日期:</label>
|
249
|
+
<datepicker class="rightipt" @change="countExpireFate(idx, row.f_input_date)" :value.sync="row.f_input_date"
|
250
|
+
v-model="row.f_input_date" :disabled-days-of-Week="[]" :format="'yyyy-MM-dd'" :show-reset-button="reset"
|
251
|
+
readonly="readonly">
|
252
|
+
</datepicker>
|
253
|
+
</div>
|
254
|
+
<div class="row auto" style="margin: 5px 0">
|
255
|
+
<label class="righttxt">使用年限:</label><input type="number" class="form-control rightipt"
|
256
|
+
v-model="row.f_service_life" readonly />
|
257
|
+
</div>
|
258
|
+
<div class="row auto" style="margin: 5px 0">
|
259
|
+
<label class="righttxt">到期日期:</label>
|
260
|
+
<input type="text" class="form-control rightipt" v-model="row.f_expire_date" readonly />
|
261
|
+
</div>
|
262
|
+
<div class="row auto" style="margin: 5px 0">
|
263
|
+
<label class="righttxt">安 装 人:</label><input type="text" class="form-control rightipt"
|
264
|
+
v-model="row.f_input_person" />
|
265
|
+
</div>
|
266
|
+
<div class="row auto" style="margin: 5px 0">
|
267
|
+
<label class="righttxt">设备数量:</label><input type="number" class="form-control rightipt"
|
268
|
+
v-model="row.f_devices_num" />
|
269
|
+
</div>
|
270
|
+
<div class="row auto" style="margin: 5px 0">
|
271
|
+
<label class="righttxt">管道类型:</label>
|
272
|
+
<!--<input type="text" class="form-control rightipt" readonly v-model="row.f_devices_type" />-->
|
273
|
+
<v-select class="rightipt" :value.sync="row.f_pipe_type" v-model="row.f_pipe_type" placeholder='请选择'
|
274
|
+
:width='wid' readonly :options="pipe_types" close-on-select value-single></v-select>
|
275
|
+
</div>
|
276
|
+
<div class="row auto" style="margin: 5px 0">
|
277
|
+
<label class="righttxt">安装日期:</label>
|
278
|
+
<datepicker class="rightipt" @change="countExpireFate_pipe(idx, row.f_pipeinstall_date, row.f_pipe_type)"
|
279
|
+
:value.sync="row.f_pipeinstall_date" v-model="row.f_pipeinstall_date" :disabled-days-of-Week="[]"
|
280
|
+
:format="'yyyy-MM-dd'" :show-reset-button="reset" readonly="readonly">
|
281
|
+
</datepicker>
|
282
|
+
</div>
|
283
|
+
<div class="row auto" style="margin: 5px 0">
|
284
|
+
<label class="righttxt">到期日期:</label>
|
285
|
+
<input type="text" class="form-control rightipt" v-model="row.f_pipeexpire_date" readonly />
|
286
|
+
</div>
|
287
|
+
<!--<div class="row auto" style="margin: 5px 0">
|
288
|
+
<label class="righttxt">设备状态:</label><input type="text" class="form-control rightipt" readonly v-model="row.f_userinfodevices_state" />
|
289
|
+
</div>-->
|
290
|
+
<!--<div class="row auto" style="margin: 5px 0">
|
291
|
+
<label class="righttxt">购买方式:</label><input type="text" class="form-control rightipt" readonly v-model="row.watchpurchase" />
|
292
|
+
</div>-->
|
293
|
+
<div style="display: flex;justify-content: center;margin-bottom: 3px"
|
294
|
+
v-if="$index > this.userinfo_old.devicesinfo.length - 1 || this.userinfo_old.devicesinfo.length == 0">
|
295
|
+
<button class="btn btn-warning" @click="delDevices($index)">删除设备</button>
|
296
|
+
</div>
|
297
|
+
</div>
|
298
|
+
<div style="display: flex;justify-content: space-around;">
|
299
|
+
<button class="col-sm-3 btn btn-primary" @click="addDevices($index)">新增设备</button>
|
300
|
+
</div>
|
301
|
+
</div>
|
302
|
+
</div>
|
303
|
+
<div class="panel auto">
|
304
|
+
<div class="panel-body">
|
305
|
+
<div style="display: flex;justify-content: center;">
|
306
|
+
<!-- <button class="col-sm-3 btn btn-primary" :disabled="enable" @click="isNeedAudit ? editUserInfo() : editUserInfoNoAudit()">{{isNeedAudit ? '上传审核' : '上传'}}</button>-->
|
307
|
+
<button class="col-sm-3 btn btn-primary" :disabled="enable" @click="editUserInfo()">上传</button>
|
308
|
+
</div>
|
309
|
+
</div>
|
310
|
+
</div>
|
311
|
+
</div>
|
312
|
+
</template>
|
313
|
+
|
314
|
+
<script>
|
315
|
+
import { HttpResetClass } from 'vue-client'
|
316
|
+
import * as Util from "../Util";
|
317
|
+
import Vue from 'vue'
|
318
|
+
import { toStandardDateString } from "../Util";
|
319
|
+
|
320
|
+
export default {
|
321
|
+
title: '设备查看',
|
322
|
+
data() {
|
323
|
+
return {
|
324
|
+
model: [],
|
325
|
+
devicemodel:[],
|
326
|
+
show: false,
|
327
|
+
row: Object,
|
328
|
+
userinfo: Object,
|
329
|
+
userinfo_old: Object,
|
330
|
+
wid: "60%",
|
331
|
+
aroundmeters: [],
|
332
|
+
devices_types: [],
|
333
|
+
device_type: [{label: '调压器', value: '调压器'}, {label: '报警器', value: '报警器'}, {label: '切断阀', value: '切断阀'}],
|
334
|
+
pipe_types: Vue.$appdata.getParam('管道类型')?Vue.$appdata.getParam('管道类型'):[{label: '包覆管', value: '包覆管'}, {label: '波纹管', value: '波纹管'}],
|
335
|
+
wz_types: [],
|
336
|
+
cityTypes: [{ label: '市区', value: '市区' }, { label: '城镇', value: '城镇' }],
|
337
|
+
bqf_states: [{ label: '开阀', value: '开阀' }, { label: '关阀', value: '关阀' }],
|
338
|
+
pcds: [],
|
339
|
+
streets: [],
|
340
|
+
update: false,
|
341
|
+
headername: '用气设备信息',
|
342
|
+
excessive: false,
|
343
|
+
area: [],
|
344
|
+
enable: false,
|
345
|
+
f_meterno_path: Vue.nopic,
|
346
|
+
selectArea: { id: '' },
|
347
|
+
selectPcd: { id: '' },
|
348
|
+
selectStreet: { id: '' },
|
349
|
+
changemeterno: false,//是否修改了机表表号
|
350
|
+
approveChange: false,//是否需要进行信息变更审核
|
351
|
+
newAddress: '',
|
352
|
+
addressType: '',
|
353
|
+
//需要审核的字段
|
354
|
+
checkField: {
|
355
|
+
checkUserinfoField: [
|
356
|
+
'f_user_name'
|
357
|
+
],
|
358
|
+
checkUserFilesField: [
|
359
|
+
'f_meternumber'
|
360
|
+
],
|
361
|
+
checkAddressField: [
|
362
|
+
'f_pcd_id',
|
363
|
+
'f_street_id',
|
364
|
+
'f_residential_area_id',
|
365
|
+
'f_building',
|
366
|
+
'f_unit',
|
367
|
+
'f_floor',
|
368
|
+
'f_room',
|
369
|
+
'f_slice_area',
|
370
|
+
'f_special',
|
371
|
+
'f_address'
|
372
|
+
],
|
373
|
+
},
|
374
|
+
boxOptions: [],
|
375
|
+
showBox: false,
|
376
|
+
directOptions: [{ label: '是', value: '是' }, { label: '否', value: '否' }],
|
377
|
+
deviceBrandOption: {},
|
378
|
+
isNeedAudit: this.$appdata.getSingleValue('信息变更是否需要审核') == 'false' ? false : true
|
379
|
+
}
|
380
|
+
},
|
381
|
+
props: {
|
382
|
+
user: {
|
383
|
+
type: Object
|
384
|
+
},
|
385
|
+
f_userinfo_id: '',
|
386
|
+
f_source: ''
|
387
|
+
},
|
388
|
+
methods: {
|
389
|
+
deleteDevice(idx) {
|
390
|
+
this.$showMessage('删除后不可恢复,确认删除吗?', ['confirm', 'cancel']).then((res) => {
|
391
|
+
if (res === 'confirm') {
|
392
|
+
this.devicemodel.splice(idx, 1)
|
393
|
+
}
|
394
|
+
})
|
395
|
+
},
|
396
|
+
pushDevices() {
|
397
|
+
let obj = {
|
398
|
+
"f_operator": Vue.user.name,
|
399
|
+
"f_operate_date": Util.toStandardTimeString(),
|
400
|
+
"f_operatorid": Vue.user.id,
|
401
|
+
"f_devices_type":null,
|
402
|
+
"f_manufactor":null,
|
403
|
+
"f_devices_no":null,
|
404
|
+
"f_devices_model":null,
|
405
|
+
"f_instaler_person":null,
|
406
|
+
"f_make_date":null,
|
407
|
+
"f_input_date":null,
|
408
|
+
"f_devices_num":null,
|
409
|
+
"f_firstcheck_date":null,
|
410
|
+
"f_rate_flow":null,
|
411
|
+
"f_expire_date":null,
|
412
|
+
"f_nextcheck_date":null,
|
413
|
+
"f_pressure_range":null,
|
414
|
+
"f_import_pressure":null
|
415
|
+
}
|
416
|
+
this.devicemodel.push(obj)
|
417
|
+
},
|
418
|
+
countExpireFate_pipe(index, dateTime, type) {
|
419
|
+
let old = new Date(dateTime)
|
420
|
+
let newYear = old.getFullYear() + Number(this.$appdata.getSingleValue(type + '-年限') || 0)
|
421
|
+
let month = old.getMonth() + 1
|
422
|
+
let date = old.getDate()
|
423
|
+
this.model[index].f_pipeexpire_date = newYear + '-' + (month < 10 ? '0' + month : month) + '-' + (date < 10 ? '0' + date : date)
|
424
|
+
},
|
425
|
+
countExpireFate(index, dateTime) {
|
426
|
+
let old = new Date(dateTime)
|
427
|
+
let newYear = old.getFullYear() + Number(this.model[index].f_service_life)
|
428
|
+
let month = old.getMonth() + 1
|
429
|
+
let date = old.getDate()
|
430
|
+
this.model[index].f_expire_date = newYear + '-' + (month < 10 ? '0' + month : month) + '-' + (date < 10 ? '0' + date : date)
|
431
|
+
},
|
432
|
+
getServiceLife(index, type) {
|
433
|
+
const year = this.$appdata.getSingleValue(type + '-' + this.userinfo.meterinfo[0].f_user_type + '-年限') || 0
|
434
|
+
this.model[index].f_service_life = year
|
435
|
+
},
|
436
|
+
dateAddYear(dateTime, year) {
|
437
|
+
let old = new Date(dateTime)
|
438
|
+
let newYear = old.getFullYear() + Number(year)
|
439
|
+
let month = old.getMonth() + 1
|
440
|
+
let date = old.getDate()
|
441
|
+
return newYear + '-' + (month < 10 ? '0' + month : month) + '-' + (date < 10 ? '0' + date : date)
|
442
|
+
},
|
443
|
+
scan() {
|
444
|
+
HostApp.__this__ = this,
|
445
|
+
HostApp.scanCode({ callback: "javascript:HostApp.__this__.getCode();" })
|
446
|
+
},
|
447
|
+
getCode() {
|
448
|
+
var datapa = HostApp.getCode().data;
|
449
|
+
//tag
|
450
|
+
this.userinfo.meterinfo[0].f_meternumber = datapa
|
451
|
+
},
|
452
|
+
//数据检查
|
453
|
+
checkVal() {
|
454
|
+
//检查一些必要信息是否未填
|
455
|
+
this.approveChange = false
|
456
|
+
this.changemeterno = false
|
457
|
+
let checked = { ischeck: true, msg: '' }
|
458
|
+
//tag
|
459
|
+
//tag
|
460
|
+
//tag
|
461
|
+
if (!this.userinfo.baseinfo.base.f_user_name) {
|
462
|
+
checked = { ischeck: false, msg: '请输入用户名称!' }
|
463
|
+
}
|
464
|
+
if (!this.selectPcd.id) {
|
465
|
+
checked = { ischeck: false, msg: '请选择省市区!' }
|
466
|
+
}
|
467
|
+
if (!this.selectStreet.id) {
|
468
|
+
checked = { ischeck: false, msg: '请选择街道!' }
|
469
|
+
}
|
470
|
+
if (!this.userinfo.addressinfo.f_address) {
|
471
|
+
checked = { ischeck: false, msg: '新地址不能为空!' }
|
472
|
+
}
|
473
|
+
if (this.addressType == '普通地址') {
|
474
|
+
if (!this.selectArea.id) {
|
475
|
+
checked = { ischeck: false, msg: '请选择集收单位!' }
|
476
|
+
}
|
477
|
+
if (!this.userinfo.addressinfo.f_room) {
|
478
|
+
checked = { ischeck: false, msg: '新输入门牌号!' }
|
479
|
+
}
|
480
|
+
}
|
481
|
+
if (this.userinfo.meterinfo[0].f_meter_classify == '机表' && this.userinfo_old.meterinfo[0].f_meternumber) {
|
482
|
+
|
483
|
+
//tag
|
484
|
+
//tag
|
485
|
+
if (this.userinfo.meterinfo[0].f_meternumber) {
|
486
|
+
if (this.userinfo.meterinfo[0].f_meternumber != this.userinfo_old.meterinfo[0].f_meternumber) {
|
487
|
+
if (!this.f_meterno_path || this.f_meterno_path == Vue.nopic) {
|
488
|
+
checked = { ischeck: false, msg: '请拍摄表号照片!' }
|
489
|
+
} else {
|
490
|
+
//用来标识当前有修改机表表号,后台需要进行照片上传
|
491
|
+
this.changemeterno = true
|
492
|
+
}
|
493
|
+
}
|
494
|
+
} else {
|
495
|
+
checked = { ischeck: false, msg: '请输入表号!' }
|
496
|
+
}
|
497
|
+
}
|
498
|
+
//检查本次修改信息中是否包含需要审核的内容
|
499
|
+
for (let check in this.checkField) {
|
500
|
+
//tag
|
501
|
+
if (typeof check != 'function') {
|
502
|
+
for (let i = 0; i < this.checkField[check].length; i++) {
|
503
|
+
//tag
|
504
|
+
if (check == 'checkUserinfoField') {
|
505
|
+
//tag
|
506
|
+
//tag
|
507
|
+
if (this.userinfo.baseinfo.base[this.checkField[check][i]] != this.userinfo_old.baseinfo.base[this.checkField[check][i]]) {
|
508
|
+
//tag
|
509
|
+
this.approveChange = true
|
510
|
+
}
|
511
|
+
} else if (check == 'checkUserFilesField') {
|
512
|
+
//tag
|
513
|
+
//tag
|
514
|
+
if (this.userinfo.meterinfo[0][this.checkField[check][i]] != this.userinfo_old.meterinfo[0][this.checkField[check][i]]) {
|
515
|
+
//tag
|
516
|
+
this.approveChange = true
|
517
|
+
}
|
518
|
+
} else if (check == 'checkAddressField') {
|
519
|
+
//tag
|
520
|
+
//tag
|
521
|
+
if (this.userinfo.addressinfo[this.checkField[check][i]] != this.userinfo_old.addressinfo[this.checkField[check][i]]) {
|
522
|
+
//tag
|
523
|
+
this.approveChange = true
|
524
|
+
}
|
525
|
+
}
|
526
|
+
}
|
527
|
+
}
|
528
|
+
}
|
529
|
+
//tag
|
530
|
+
return checked
|
531
|
+
},
|
532
|
+
select_search(text) {
|
533
|
+
//tag
|
534
|
+
if (this.selectStreet.id) {
|
535
|
+
let pcdText = text ? `and f_street_id=${this.selectStreet.id} and f_residential_area like '%${text}%'` : `and f_street_id=${this.selectStreet.id}`
|
536
|
+
new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/rs/sql/safe_singleTable_OrderBy`, {
|
537
|
+
data: {
|
538
|
+
items: "*",
|
539
|
+
tablename: "t_area",
|
540
|
+
orderitem: "id",
|
541
|
+
condition: `f_orgid = '${Vue.user.orgid}' ${pcdText} `
|
542
|
+
}
|
543
|
+
}, { resolveMsg: null, rejectMsg: null }).then((res) => {
|
544
|
+
//tag)
|
545
|
+
if (res.data.length > 0) {
|
546
|
+
this.area = []
|
547
|
+
res.data.forEach((result) => {
|
548
|
+
this.area.push({ label: result.f_residential_area, value: result })
|
549
|
+
})
|
550
|
+
}
|
551
|
+
})
|
552
|
+
} else {
|
553
|
+
this.area = []
|
554
|
+
}
|
555
|
+
},
|
556
|
+
cameraCallBack(prop, fileName) {
|
557
|
+
HostApp.__this__.$set(prop, fileName + '?' + Math.random())
|
558
|
+
//tag
|
559
|
+
HostApp.__callback__ = null
|
560
|
+
HostApp.__this__ = null
|
561
|
+
},
|
562
|
+
takePic(prop, title) {
|
563
|
+
HostApp.__callback__ = this.cameraCallBack
|
564
|
+
HostApp.__this__ = this
|
565
|
+
//tag
|
566
|
+
let fileName
|
567
|
+
if (!this[prop] || this[prop].includes("nopic.png")) {
|
568
|
+
fileName = Util.guid() + '-' + prop + '.jpg'
|
569
|
+
} else {
|
570
|
+
fileName = Util.getFileName(this[prop])
|
571
|
+
}
|
572
|
+
HostApp._open_a_page({
|
573
|
+
type: 'boomerang',
|
574
|
+
page: 'com.aofeng.hybrid.android.peripheral.CameraActivity',
|
575
|
+
param: {
|
576
|
+
file: fileName,
|
577
|
+
requestCode: 111,
|
578
|
+
callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");',
|
579
|
+
watermark: title + '\t时间:' + Util.toStandardTimeString() + '\t' + Vue.user.name
|
580
|
+
}
|
581
|
+
})
|
582
|
+
},
|
583
|
+
delfile(prop, fileName) {
|
584
|
+
if (fileName == Vue.nopic)
|
585
|
+
return
|
586
|
+
else {
|
587
|
+
HostApp.delfile(fileName)
|
588
|
+
this[prop] = Vue.nopic
|
589
|
+
}
|
590
|
+
},
|
591
|
+
editUserInfoNoAudit() {
|
592
|
+
let checked = this.checkVal()
|
593
|
+
if (!checked.ischeck) {
|
594
|
+
this.$showMessage(checked.msg)
|
595
|
+
return
|
596
|
+
}
|
597
|
+
for (let i = 0; i < this.model.length; i++) {
|
598
|
+
this.model[i].f_user_id = this.userinfo.meterinfo[0].f_user_id
|
599
|
+
}
|
600
|
+
this.$showMessage('确定是否修改上传用户信息?', ['confirm', 'cancel']).then((res) => {
|
601
|
+
if (res === 'confirm') {
|
602
|
+
this.excessive = true
|
603
|
+
let userinfoms = Object.assign({}, this.userinfo_old.baseinfo.base)
|
604
|
+
// userinfoms.f_user_name=row.f_user_name
|
605
|
+
userinfoms.f_user_phone = this.userinfo.baseinfo.base.f_user_phone
|
606
|
+
userinfoms.f_rent_name = this.userinfo.baseinfo.base.f_rent_name
|
607
|
+
userinfoms.f_zuhu_phone = this.userinfo.baseinfo.base.f_zuhu_phone
|
608
|
+
userinfoms.f_operator_record = Vue.user.name
|
609
|
+
userinfoms.f_operatorid_record = Vue.user.id
|
610
|
+
userinfoms.f_remark = this.userinfo.baseinfo.base.f_remark
|
611
|
+
userinfoms.f_orgid_record = Vue.user.orgid
|
612
|
+
userinfoms.f_orgname_record = Vue.user.orgs
|
613
|
+
userinfoms.f_depid_record = Vue.user.depids
|
614
|
+
userinfoms.f_depname_record = Vue.user.deps
|
615
|
+
this.userinfo_old.meterinfo[0].f_gas_person = this.userinfo.meterinfo[0].f_gas_person
|
616
|
+
this.userinfo_old.meterinfo[0].f_gas_date = this.userinfo.meterinfo[0].f_gas_date
|
617
|
+
this.userinfo_old.meterinfo[0].f_adjustable_id = this.userinfo.meterinfo[0].f_adjustable_id
|
618
|
+
this.userinfo_old.meterinfo[0].f_metertitles = this.userinfo.meterinfo[0].f_metertitles
|
619
|
+
this.userinfo_old.meterinfo[0].f_position = this.userinfo.meterinfo[0].f_position
|
620
|
+
this.userinfo_old.meterinfo[0].f_aroundmeter = this.userinfo.meterinfo[0].f_aroundmeter
|
621
|
+
this.userinfo_old.meterinfo[0].f_bqf_state = this.userinfo.meterinfo[0].f_bqf_state
|
622
|
+
this.userinfo_old.meterinfo[0].f_if_direct = this.userinfo.meterinfo[0].f_if_direct
|
623
|
+
userinfoms.userfiles = []
|
624
|
+
this.userinfo_old.meterinfo[0].devicesinfo = this.model
|
625
|
+
userinfoms.userfiles.push(this.userinfo_old.meterinfo[0])
|
626
|
+
new HttpResetClass().load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/filemanage_fileSave`, {
|
627
|
+
data: {
|
628
|
+
userinfo: userinfoms,
|
629
|
+
modifyReason: this.f_source ? `${this.f_source}维护档案信息` : '',
|
630
|
+
address: {
|
631
|
+
id: this.userinfo_old.addressinfo.id,
|
632
|
+
oldid: this.userinfo_old.addressinfo.id,
|
633
|
+
f_address: this.userinfo_old.addressinfo.f_address ? this.userinfo_old.addressinfo.f_address : this.userinfo.addressinfo.f_address
|
634
|
+
}
|
635
|
+
}
|
636
|
+
}, { resolveMsg: null, rejectMsg: null }).then((res1) => {
|
637
|
+
if (res1.data.status == 200) {
|
638
|
+
let data = this.userinfo.addressinfo
|
639
|
+
data.f_address = this.userinfo_old.addressinfo.f_address ? this.userinfo_old.addressinfo.f_address : this.userinfo.addressinfo.f_address
|
640
|
+
//
|
641
|
+
data.f_operator = Vue.user.name
|
642
|
+
new HttpResetClass().load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/address_updateuseraddress`, { data: data }).then((res2) => {
|
643
|
+
this.$showMessage("修改用户地址信息成功!")
|
644
|
+
}).catch(error => {
|
645
|
+
this.$showMessage("修改用户地址信息!")
|
646
|
+
})
|
647
|
+
this.$showMessage("修改用户信息成功!")
|
648
|
+
this.enable = true
|
649
|
+
this.excessive = false
|
650
|
+
}
|
651
|
+
}).catch((msg) => {
|
652
|
+
this.$showMessage("修改用户信息失败,请检查手机网络状况!")
|
653
|
+
this.excessive = false
|
654
|
+
})
|
655
|
+
}
|
656
|
+
})
|
657
|
+
},
|
658
|
+
editUserInfo() {
|
659
|
+
this.$showMessage('确定是否修改上传审核用户信息?', ['confirm', 'cancel']).then((res) => {
|
660
|
+
if (res === 'confirm') {
|
661
|
+
for (let i = 0; i < this.model.length; i++) {
|
662
|
+
this.model[i].f_user_id = this.userinfo.meterinfo[0].f_user_id
|
663
|
+
}
|
664
|
+
this.excessive = true
|
665
|
+
let userinfoms = Object.assign({}, this.userinfo_old.baseinfo.base)
|
666
|
+
//userinfoms.f_user_name=row.f_user_name
|
667
|
+
userinfoms.f_user_phone = this.userinfo.baseinfo.base.f_user_phone
|
668
|
+
userinfoms.f_rent_name = this.userinfo.baseinfo.base.f_rent_name
|
669
|
+
userinfoms.f_zuhu_phone = this.userinfo.baseinfo.base.f_zuhu_phone
|
670
|
+
userinfoms.f_operator_record = Vue.user.name
|
671
|
+
userinfoms.f_operatorid_record = Vue.user.id
|
672
|
+
userinfoms.f_remark = this.userinfo.baseinfo.base.f_remark
|
673
|
+
userinfoms.f_orgid_record = Vue.user.orgid
|
674
|
+
userinfoms.f_orgname_record = Vue.user.orgs
|
675
|
+
userinfoms.f_depid_record = Vue.user.depids
|
676
|
+
userinfoms.f_depname_record = Vue.user.deps
|
677
|
+
this.userinfo_old.meterinfo[0].f_gas_person = this.userinfo.meterinfo[0].f_gas_person
|
678
|
+
this.userinfo_old.meterinfo[0].f_gas_date = this.userinfo.meterinfo[0].f_gas_date
|
679
|
+
this.userinfo_old.meterinfo[0].f_adjustable_id = this.userinfo.meterinfo[0].f_adjustable_id
|
680
|
+
this.userinfo_old.meterinfo[0].f_metertitles = this.userinfo.meterinfo[0].f_metertitles
|
681
|
+
this.userinfo_old.meterinfo[0].f_position = this.userinfo.meterinfo[0].f_position
|
682
|
+
this.userinfo_old.meterinfo[0].f_aroundmeter = this.userinfo.meterinfo[0].f_aroundmeter
|
683
|
+
this.userinfo_old.meterinfo[0].f_bqf_state = this.userinfo.meterinfo[0].f_bqf_state
|
684
|
+
this.userinfo_old.meterinfo[0].f_if_direct = this.userinfo.meterinfo[0].f_if_direct
|
685
|
+
userinfoms.userfiles = []
|
686
|
+
this.userinfo_old.meterinfo[0].devicesinfo = this.model
|
687
|
+
for (let i = 0; i < this.devicemodel.length; i++){
|
688
|
+
this.userinfo_old.meterinfo[0].devicesinfo.push(this.devicemodel[i])
|
689
|
+
}
|
690
|
+
userinfoms.userfiles.push(this.userinfo_old.meterinfo[0])
|
691
|
+
//tag)
|
692
|
+
new HttpResetClass().load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/filemanage_fileSave`, {
|
693
|
+
data: {
|
694
|
+
userinfo: userinfoms,
|
695
|
+
modifyReason: this.f_source ? `${this.f_source}维护档案信息` : '',
|
696
|
+
address: { id: this.userinfo_old.addressinfo.id, oldid: this.userinfo_old.addressinfo.id }
|
697
|
+
}
|
698
|
+
}, { resolveMsg: null, rejectMsg: null }).then((res1) => {
|
699
|
+
if (res1.data.status == 200) {
|
700
|
+
//本次修改信息包含需要审核信息
|
701
|
+
// if (this.approveChange) {
|
702
|
+
// //tag
|
703
|
+
// let res2 = this.$androidUtil.bzLogic('safe_upUserinfoApprove', {
|
704
|
+
// row: {
|
705
|
+
// f_time: Util.toStandardTimeString(),
|
706
|
+
// f_modifier: Vue.user.name,//Vue.user.name
|
707
|
+
// f_modifier_id: Vue.user.id,//Vue.user.id
|
708
|
+
// f_modify_type: '用户档案',
|
709
|
+
// f_userinfoid: this.userinfo.baseinfo.base.f_userinfo_id,
|
710
|
+
// f_userinfo_code: this.userinfo.baseinfo.base.f_userinfo_code,
|
711
|
+
// f_approved: '未审核',
|
712
|
+
// filialestr: Vue.user.orgid,//Vue.user.orgid
|
713
|
+
// version: 1,
|
714
|
+
// f_user_name: this.userinfo.baseinfo.base.f_user_name,
|
715
|
+
// f_user_phone: this.userinfo.baseinfo.base.f_user_phone,
|
716
|
+
// f_street: this.userinfo.addressinfo.f_street,
|
717
|
+
// f_building: this.userinfo.addressinfo.f_building,
|
718
|
+
// f_unit: this.userinfo.addressinfo.f_unit,
|
719
|
+
// f_floor: this.userinfo.addressinfo.f_floor,
|
720
|
+
// f_room: this.userinfo.addressinfo.f_room,
|
721
|
+
// f_building_suffix: this.userinfo.addressinfo.f_special == 1 ? null : this.userinfo.addressinfo.f_building_suffix,
|
722
|
+
// f_unit_suffix: this.userinfo.addressinfo.f_special == 1 ? null : this.userinfo.addressinfo.f_unit_suffix,
|
723
|
+
// f_floor_suffix: this.userinfo.addressinfo.f_special == 1 ? null : this.userinfo.addressinfo.f_floor_suffix,
|
724
|
+
// f_room_suffix: this.userinfo.addressinfo.f_special == 1 ? null : this.userinfo.addressinfo.f_room_suffix,
|
725
|
+
// f_residential_area: this.userinfo.addressinfo.f_residential_area,
|
726
|
+
// f_address: this.userinfo.addressinfo.f_address,
|
727
|
+
// f_pcd: this.userinfo.addressinfo.f_pcd,
|
728
|
+
// f_pcd_id: this.userinfo.addressinfo.f_pcd_id,
|
729
|
+
// f_street_id: this.userinfo.addressinfo.f_street_id,
|
730
|
+
// f_residential_area_id: this.userinfo.addressinfo.f_residential_area_id,
|
731
|
+
// f_used_name: this.userinfo.baseinfo.base.f_used_name,
|
732
|
+
// f_rent_phone: this.userinfo.baseinfo.base.f_rent_phone,
|
733
|
+
// f_slice_area: this.userinfo.addressinfo.f_slice_area,
|
734
|
+
// f_remark: this.userinfo.baseinfo.base.f_remark,
|
735
|
+
// f_source: this.f_source,
|
736
|
+
// f_meterno_path: this.f_meterno_path,
|
737
|
+
// f_iscity: this.userinfo.addressinfo.f_iscity,
|
738
|
+
// f_special: this.userinfo.addressinfo.f_special,
|
739
|
+
// f_meternumber: this.userinfo.meterinfo[0].f_meternumber,
|
740
|
+
// changemeterno: this.changemeterno
|
741
|
+
// },
|
742
|
+
// tablename: 't_modify_userinfo'
|
743
|
+
// })
|
744
|
+
// //tag)
|
745
|
+
// if (res2.code == 200) {
|
746
|
+
// this.$showMessage("变更用户信息成功,需要审核的信息已提交审核,等待管理员处理!")
|
747
|
+
// this.enable = true
|
748
|
+
// this.excessive = false
|
749
|
+
// } else {
|
750
|
+
// this.$showMessage("上传审核信息失败,请检查图片和网络状况是否正常!")
|
751
|
+
// this.excessive = false
|
752
|
+
// }
|
753
|
+
// } else {
|
754
|
+
// this.$showMessage("修改用户信息成功!")
|
755
|
+
// this.enable = true
|
756
|
+
// this.excessive = false
|
757
|
+
// }
|
758
|
+
this.$showMessage("修改用户信息成功!")
|
759
|
+
this.enable = true
|
760
|
+
this.excessive = false
|
761
|
+
}
|
762
|
+
}).catch((msg) => {
|
763
|
+
this.$showMessage("修改用户信息失败,请检查手机网络状况!")
|
764
|
+
this.excessive = false
|
765
|
+
})
|
766
|
+
|
767
|
+
}
|
768
|
+
})
|
769
|
+
},
|
770
|
+
imgback(header) {
|
771
|
+
if (this.headername == header) {
|
772
|
+
return require('../../assets/xiangxia1.png')
|
773
|
+
} else {
|
774
|
+
return require('../../assets/xiangyou1.png')
|
775
|
+
}
|
776
|
+
this.headername = header
|
777
|
+
},
|
778
|
+
selectVal(header) {
|
779
|
+
if (this.headername == header) {
|
780
|
+
this.headername = ''
|
781
|
+
} else {
|
782
|
+
this.headername = header
|
783
|
+
}
|
784
|
+
|
785
|
+
},
|
786
|
+
changeNewAddress() {
|
787
|
+
this.userinfo.addressinfo.f_address = this.addressType == '普通地址' ? this.getAddress : this.getAddressTS
|
788
|
+
},
|
789
|
+
area_change() {
|
790
|
+
//tag
|
791
|
+
this.userinfo.addressinfo.f_residential_area = this.selectArea.f_residential_area
|
792
|
+
this.userinfo.addressinfo.f_residential_area_id = this.selectArea.id
|
793
|
+
this.userinfo.addressinfo.f_slice_area = this.selectArea.f_slice_area
|
794
|
+
this.changeNewAddress()
|
795
|
+
//this.userinfo.addressinfo.f_residential_area=this.f_residential_area.f_residential_area
|
796
|
+
},
|
797
|
+
async street_change() {
|
798
|
+
//tag
|
799
|
+
if (this.selectStreet.id) {
|
800
|
+
//如果街道改变--给街道赋值!
|
801
|
+
this.userinfo.addressinfo.f_street = this.selectStreet.f_street
|
802
|
+
this.userinfo.addressinfo.f_street_id = this.selectStreet.id
|
803
|
+
this.userinfo.addressinfo.f_iscity = this.selectStreet.f_iscity
|
804
|
+
//清空当前选中小区的值
|
805
|
+
this.userinfo.addressinfo.f_residential_area = ''
|
806
|
+
this.userinfo.addressinfo.f_residential_area_id = ''
|
807
|
+
this.userinfo.addressinfo.f_slice_area = ''
|
808
|
+
this.selectArea = { id: '' }
|
809
|
+
this.area = []
|
810
|
+
let pcdText = ` and f_street_id=${this.selectStreet.id}`
|
811
|
+
let res = await new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/rs/sql/safe_singleTable_OrderBy`, {
|
812
|
+
data: {
|
813
|
+
items: "*",
|
814
|
+
tablename: "t_area",
|
815
|
+
orderitem: "id",
|
816
|
+
condition: `f_orgid = '${Vue.user.orgid}' ${pcdText} `
|
817
|
+
}
|
818
|
+
}, { resolveMsg: null, rejectMsg: null })
|
819
|
+
////tag)
|
820
|
+
res.data.forEach((result) => {
|
821
|
+
this.area.push({ label: result.f_residential_area, value: result })
|
822
|
+
})
|
823
|
+
} else {
|
824
|
+
this.area = []
|
825
|
+
}
|
826
|
+
|
827
|
+
this.changeNewAddress()
|
828
|
+
},
|
829
|
+
async pcd_change() {
|
830
|
+
//tag
|
831
|
+
if (this.selectPcd.id) {
|
832
|
+
//tag
|
833
|
+
//如果省市区改变-重新赋值
|
834
|
+
this.userinfo.addressinfo.f_pcd = this.selectPcd.f_pcd
|
835
|
+
this.userinfo.addressinfo.f_pcd_id = this.selectPcd.id
|
836
|
+
//清空 选中的街道和集收单位
|
837
|
+
this.selectStreet = { id: '' }
|
838
|
+
this.userinfo.addressinfo.f_street = ''
|
839
|
+
this.userinfo.addressinfo.f_street_id = ''
|
840
|
+
this.userinfo.addressinfo.f_iscity = ''
|
841
|
+
this.selectArea = { id: '' }
|
842
|
+
this.userinfo.addressinfo.f_residential_area = ''
|
843
|
+
this.userinfo.addressinfo.f_residential_area_id = ''
|
844
|
+
this.userinfo.addressinfo.f_slice_area = ''
|
845
|
+
this.streets = []
|
846
|
+
let pcdText = `and f_pcd_id=${this.selectPcd.id}`
|
847
|
+
let streetlist = await new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/rs/sql/safe_singleTable_OrderBy`, {
|
848
|
+
data: {
|
849
|
+
items: "*",
|
850
|
+
tablename: "t_street",
|
851
|
+
orderitem: "id",
|
852
|
+
condition: `f_orgid = '${Vue.user.orgid}' ${pcdText}`
|
853
|
+
}
|
854
|
+
}, { resolveMsg: null, rejectMsg: null })
|
855
|
+
streetlist.data.forEach((result) => {
|
856
|
+
this.streets.push({ label: result.f_street, value: result })
|
857
|
+
})
|
858
|
+
} else {
|
859
|
+
this.streets = []
|
860
|
+
}
|
861
|
+
this.changeNewAddress()
|
862
|
+
},
|
863
|
+
upUserState() {
|
864
|
+
//tag)
|
865
|
+
if (this.userinfo.meterinfo[0].f_table_state == '正常') {
|
866
|
+
let data = {
|
867
|
+
f_userfiles_id: {
|
868
|
+
f_userfiles_id: this.userinfo.meterinfo[0].f_userfiles_id,
|
869
|
+
f_table_state: '停用',
|
870
|
+
version: this.userinfo.meterinfo[0].version
|
871
|
+
},
|
872
|
+
f_userfile_id: this.userinfo.meterinfo[0].f_userfiles_id,
|
873
|
+
f_user_id: this.userinfo.meterinfo[0].f_user_id,
|
874
|
+
f_userinfo_id: this.userinfo.meterinfo[0].f_userinfo_id,
|
875
|
+
f_user_name: this.userinfo.baseinfo.base.f_user_name,
|
876
|
+
f_comments: '安检时发现问题关闭阀门',
|
877
|
+
f_othereason: '',
|
878
|
+
f_operat_type: '停用',
|
879
|
+
f_describe: `${Vue.user.name}对客户${this.userinfo.baseinfo.base.f_user_name}进行表具停用操作`,
|
880
|
+
f_state: '有效',
|
881
|
+
f_operator: Vue.user.name,//${Vue.$login.f.name}
|
882
|
+
f_operatorid: Vue.user.id,
|
883
|
+
f_orgid: Vue.user.orgid,
|
884
|
+
f_orgname: Vue.user.orgs,
|
885
|
+
f_depid: Vue.user.depids,
|
886
|
+
f_depname: Vue.user.deps,
|
887
|
+
f_zoneid: Vue.user.zoneid,
|
888
|
+
f_zones: Vue.user.zones
|
889
|
+
}
|
890
|
+
new HttpResetClass().load('post', `${this.$androidUtil.getProxyUrl()}/rs/entity/t_disable`,
|
891
|
+
data, { resolveMsg: null, rejectMsg: null }).then((row) => {
|
892
|
+
this.$showMessage('已成功关阀停气!')
|
893
|
+
this.userinfo.meterinfo[0].f_table_state = '停用'
|
894
|
+
})
|
895
|
+
} else {
|
896
|
+
this.$showMessage('该用户已被关阀停用,请勿重复操作!')
|
897
|
+
}
|
898
|
+
|
899
|
+
},
|
900
|
+
addDevices() {
|
901
|
+
//Vue.user.name
|
902
|
+
let obj = {
|
903
|
+
"f_operator": Vue.user.name,
|
904
|
+
"f_picture": null,
|
905
|
+
"f_pipe_type": null,
|
906
|
+
"f_pipeinstall_date": null,
|
907
|
+
"f_pipe_connection": null,
|
908
|
+
"f_expire_date": null,
|
909
|
+
"f_pipeexpire_date": null,
|
910
|
+
"f_comments": null,
|
911
|
+
"f_operate_date": Util.toStandardTimeString(),
|
912
|
+
"f_operatorid": Vue.user.id,
|
913
|
+
"f_service_life": '',
|
914
|
+
"f_devices_num": null,
|
915
|
+
"f_process_id": null,
|
916
|
+
"f_devices_type": null,
|
917
|
+
"f_make_date": null,
|
918
|
+
"f_input_date": null,
|
919
|
+
"f_state": "有效",
|
920
|
+
"f_brand": null,
|
921
|
+
"f_devices_model": null,
|
922
|
+
"f_devices_no": null,
|
923
|
+
"img": { "content": null, "filename": null }
|
924
|
+
}
|
925
|
+
this.model.push(obj)
|
926
|
+
},
|
927
|
+
delDevices(idx) {
|
928
|
+
//tag
|
929
|
+
this.$showMessage('删除后不可恢复,确认删除吗?', ['confirm', 'cancel']).then((res) => {
|
930
|
+
if (res === 'confirm') {
|
931
|
+
this.model.splice(idx, 1)
|
932
|
+
}
|
933
|
+
})
|
934
|
+
},
|
935
|
+
async getAreaList(text) {
|
936
|
+
if (this.selectStreet.id) {
|
937
|
+
this.area = []
|
938
|
+
let pcdText = text ? `and f_street_id=${this.selectStreet.id} and f_residential_area like '%${text}%'` : `and f_street_id=${this.selectStreet.id}`
|
939
|
+
let res = await new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/rs/sql/safe_singleTable_OrderBy`, {
|
940
|
+
data: {
|
941
|
+
items: "*",
|
942
|
+
tablename: "t_area",
|
943
|
+
orderitem: "id",
|
944
|
+
condition: `f_orgid = '${Vue.user.orgid}' ${pcdText}`
|
945
|
+
}
|
946
|
+
}, { resolveMsg: null, rejectMsg: null })
|
947
|
+
////tag)
|
948
|
+
res.data.forEach((result) => {
|
949
|
+
this.area.push({ label: result.f_residential_area, value: result })
|
950
|
+
})
|
951
|
+
//tag
|
952
|
+
this.area.push({
|
953
|
+
label: this.userinfo.addressinfo.f_residential_area,
|
954
|
+
value: {
|
955
|
+
id: this.userinfo.addressinfo.f_residential_area_id,
|
956
|
+
f_residential_area: this.userinfo.addressinfo.f_residential_area
|
957
|
+
}
|
958
|
+
})
|
959
|
+
} else {
|
960
|
+
this.area = []
|
961
|
+
}
|
962
|
+
|
963
|
+
},
|
964
|
+
async getStreetList() {
|
965
|
+
if (this.selectPcd.id) {
|
966
|
+
//tag
|
967
|
+
this.streets = []
|
968
|
+
let pcdText = `and f_pcd_id=${this.selectPcd.id}`
|
969
|
+
let streetlist = await new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/rs/sql/safe_singleTable_OrderBy`, {
|
970
|
+
data: {
|
971
|
+
items: "*",
|
972
|
+
tablename: "t_street",
|
973
|
+
orderitem: "id",
|
974
|
+
condition: `f_orgid = '${Vue.user.orgid}' ${pcdText}`
|
975
|
+
}
|
976
|
+
}, { resolveMsg: null, rejectMsg: null })
|
977
|
+
streetlist.data.forEach((result) => {
|
978
|
+
//如果第一次进来有地址id 就拿下地址区域
|
979
|
+
if (this.selectStreet.id && this.selectStreet.id == result.id) {
|
980
|
+
//tag)
|
981
|
+
this.userinfo.addressinfo.f_iscity = result.f_iscity
|
982
|
+
}
|
983
|
+
this.streets.push({ label: result.f_street, value: result })
|
984
|
+
})
|
985
|
+
} else {
|
986
|
+
this.streets = []
|
987
|
+
}
|
988
|
+
},
|
989
|
+
changeAddressType(val) {
|
990
|
+
//tag
|
991
|
+
if (this.addressType == '普通地址') {
|
992
|
+
this.userinfo.addressinfo.f_special = null
|
993
|
+
} else if (this.addressType == '特殊地址') {
|
994
|
+
this.userinfo.addressinfo.f_special = 1
|
995
|
+
this.userinfo.addressinfo.f_building = null
|
996
|
+
this.userinfo.addressinfo.f_unit = null
|
997
|
+
this.userinfo.addressinfo.f_floor = null
|
998
|
+
this.userinfo.addressinfo.f_room = null
|
999
|
+
}
|
1000
|
+
this.changeNewAddress()
|
1001
|
+
}
|
1002
|
+
|
1003
|
+
},
|
1004
|
+
computed: {
|
1005
|
+
getAddress() {
|
1006
|
+
return (this.userinfo.addressinfo.f_pcd ? this.userinfo.addressinfo.f_pcd : '') +
|
1007
|
+
(this.userinfo.addressinfo.f_street ? this.userinfo.addressinfo.f_street : '') +
|
1008
|
+
(this.userinfo.addressinfo.f_residential_area ? this.userinfo.addressinfo.f_residential_area : '') +
|
1009
|
+
(this.userinfo.addressinfo.f_building ? this.userinfo.addressinfo.f_building + (this.userinfo.addressinfo.f_building_suffix ? this.userinfo.addressinfo.f_building_suffix : '') : '') +
|
1010
|
+
(this.userinfo.addressinfo.f_unit ? this.userinfo.addressinfo.f_unit + (this.userinfo.addressinfo.f_unit_suffix ? this.userinfo.addressinfo.f_unit_suffix : '') : '') +
|
1011
|
+
(this.userinfo.addressinfo.f_floor ? this.userinfo.addressinfo.f_floor + (this.userinfo.addressinfo.f_floor_suffix ? this.userinfo.addressinfo.f_floor_suffix : '') : '') +
|
1012
|
+
(this.userinfo.addressinfo.f_room ? this.userinfo.addressinfo.f_room + (this.userinfo.addressinfo.f_room_suffix ? this.userinfo.addressinfo.f_room_suffix : '') : '')
|
1013
|
+
},
|
1014
|
+
getAddressTS() {
|
1015
|
+
return (this.userinfo.addressinfo.f_pcd ? this.userinfo.addressinfo.f_pcd : '') +
|
1016
|
+
(this.userinfo.addressinfo.f_street ? this.userinfo.addressinfo.f_street : '') +
|
1017
|
+
(this.userinfo.addressinfo.f_residential_area ? this.userinfo.addressinfo.f_residential_area : '')
|
1018
|
+
}
|
1019
|
+
},
|
1020
|
+
watch: {
|
1021
|
+
|
1022
|
+
/*'selectPcd.id' (val) {
|
1023
|
+
//tag
|
1024
|
+
if(this.selectPcd.id){
|
1025
|
+
this.getStreetList()
|
1026
|
+
}
|
1027
|
+
},
|
1028
|
+
'selectStreet.id' (val) {
|
1029
|
+
//tag
|
1030
|
+
if(this.selectStreet.id){
|
1031
|
+
this.getAreaList()
|
1032
|
+
}
|
1033
|
+
}*/
|
1034
|
+
},
|
1035
|
+
async ready() {
|
1036
|
+
/*//tag)
|
1037
|
+
|
1038
|
+
//tag)
|
1039
|
+
//tag)*/
|
1040
|
+
//this.f_userinfo_id=1102260
|
1041
|
+
//this.f_userinfo_id=1997541
|
1042
|
+
if (!this.f_userinfo_id) {
|
1043
|
+
this.$showMessage("未检测到用户!")
|
1044
|
+
this.enable = true
|
1045
|
+
return
|
1046
|
+
}
|
1047
|
+
try {
|
1048
|
+
|
1049
|
+
this.devices_types = Vue.$appdata.getParam('设备类型')
|
1050
|
+
console.log('this.devices_types=', JSON.stringify(this.devices_types))
|
1051
|
+
for (const devices_type of this.devices_types) {
|
1052
|
+
console.log('Vue.$appdata.getParam(`档案设备信息-${devices_type.label}品牌`)=', JSON.stringify(Vue.$appdata.getParam(`档案设备信息-${devices_type.label}品牌`)))
|
1053
|
+
this.deviceBrandOption[devices_type.label] = Vue.$appdata.getParam(`档案设备信息-${devices_type.label}品牌`) || []
|
1054
|
+
}
|
1055
|
+
console.log('this.deviceBrandOption=', JSON.stringify(this.deviceBrandOption))
|
1056
|
+
this.wz_types = Vue.$appdata.getParam('安装位置')
|
1057
|
+
this.aroundmeters = Vue.$appdata.getParam('左右表')
|
1058
|
+
|
1059
|
+
////tag)
|
1060
|
+
this.excessive = true
|
1061
|
+
//Vue.user.orgid ${this.f_userinfo_id} 10101 ${Vue.user.orgid}
|
1062
|
+
|
1063
|
+
let pcdlist = await new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/rs/sql/safe_singleTable_OrderBy`, {
|
1064
|
+
data: {
|
1065
|
+
items: "*",
|
1066
|
+
tablename: "t_pcd",
|
1067
|
+
orderitem: "id",
|
1068
|
+
condition: `f_orgid = '${Vue.user.orgid}'`
|
1069
|
+
}
|
1070
|
+
}, { resolveMsg: null, rejectMsg: null })
|
1071
|
+
//tag)
|
1072
|
+
pcdlist.data.forEach((result) => {
|
1073
|
+
this.pcds.push({ label: result.f_pcd, value: result })
|
1074
|
+
})
|
1075
|
+
////tag)
|
1076
|
+
let res = await new HttpResetClass().load('post', `${this.$androidUtil.getProxyUrl()}/rs/logic/filemanage_getFilesDetail`, {
|
1077
|
+
//f_userinfo_code:'12381344',
|
1078
|
+
f_userinfo_id: this.f_userinfo_id
|
1079
|
+
}, { resolveMsg: null, rejectMsg: null })
|
1080
|
+
//tag
|
1081
|
+
//tag
|
1082
|
+
this.userinfo = res.data
|
1083
|
+
this.userinfo_old = JSON.parse(JSON.stringify(res.data))
|
1084
|
+
this.model = this.userinfo.meterinfo[0].devicesinfo.concat(this.userinfo.meterinfo[0].devicesinfonew)
|
1085
|
+
//已经超期
|
1086
|
+
let now = Util.toStandardDateString()
|
1087
|
+
let overdue = this.model.filter(item => item.f_expire_date <= now).map(item => item.f_devices_type).join(',')
|
1088
|
+
//临近超期
|
1089
|
+
|
1090
|
+
const advent_time = (this.$appdata.getSingleValue('设备超期提醒') || 7) * 1000 * 60 * 60 * 24
|
1091
|
+
const nowTime = new Date().getTime()
|
1092
|
+
const adventTimeLimit = nowTime + advent_time
|
1093
|
+
const advent = this.model
|
1094
|
+
.filter(item => {
|
1095
|
+
const expireTime = new Date(item.f_expire_date).getTime()
|
1096
|
+
return expireTime >= nowTime && expireTime <= adventTimeLimit
|
1097
|
+
})
|
1098
|
+
.map(item => {
|
1099
|
+
const expireTime = new Date(item.f_expire_date).getTime()
|
1100
|
+
const daysLeft = Math.round((expireTime - nowTime) / (1000 * 60 * 60 * 24))
|
1101
|
+
return `${item.f_devices_type}设备还有${daysLeft >= 0 ? daysLeft : 0}天超期`
|
1102
|
+
})
|
1103
|
+
.join(',')
|
1104
|
+
if (overdue && advent) {
|
1105
|
+
this.$showMessage(`${overdue}设备已过期,${advent}`)
|
1106
|
+
} else if (advent) {
|
1107
|
+
this.$showMessage(`${advent}`)
|
1108
|
+
} else if (overdue) {
|
1109
|
+
this.$showMessage(`${overdue}设备已过期`)
|
1110
|
+
}
|
1111
|
+
this.selectArea.id = this.userinfo.addressinfo.f_residential_area_id
|
1112
|
+
this.selectPcd.id = this.userinfo.addressinfo.f_pcd_id
|
1113
|
+
this.selectPcd.f_pcd = this.userinfo.addressinfo.f_pcd
|
1114
|
+
this.selectStreet.id = this.userinfo.addressinfo.f_street_id
|
1115
|
+
this.selectStreet.f_street = this.userinfo.addressinfo.f_street
|
1116
|
+
await this.getStreetList()
|
1117
|
+
await this.getAreaList()
|
1118
|
+
this.excessive = false
|
1119
|
+
this.addressType = this.userinfo.addressinfo.f_special == 1 ? '特殊地址' : '普通地址'
|
1120
|
+
//this.userinfo.addressinfo.f_special=1
|
1121
|
+
//tag
|
1122
|
+
} catch (e) {
|
1123
|
+
this.excessive = false
|
1124
|
+
this.enable = true
|
1125
|
+
this.$showMessage('获取用户信息出错,请检查网络状况!')
|
1126
|
+
}
|
1127
|
+
new HttpResetClass().load('get', `${this.$androidUtil.getProxyUrl()}/rs/vue/UserAddress.json`, { data: {} }, {
|
1128
|
+
resolveMsg: null,
|
1129
|
+
rejectMsg: null
|
1130
|
+
}).then((addressUnit) => {
|
1131
|
+
//tag
|
1132
|
+
//tag
|
1133
|
+
//tag
|
1134
|
+
//tag
|
1135
|
+
this.userinfo.addressinfo.f_building_suffix = addressUnit.data.f_building_suffix
|
1136
|
+
this.userinfo.addressinfo.f_unit_suffix = addressUnit.data.f_unit_suffix
|
1137
|
+
this.userinfo.addressinfo.f_floor_suffix = addressUnit.data.f_floor_suffix
|
1138
|
+
this.userinfo.addressinfo.f_room_suffix = addressUnit.data.f_room_suffix
|
1139
|
+
}).catch((msg) => {
|
1140
|
+
//tag)
|
1141
|
+
})
|
1142
|
+
this.showBox = this.$appdata.getSingleValue('档案审核是否显示调压箱') == '是' ? true : false
|
1143
|
+
console.log(this.showBox)
|
1144
|
+
if (this.showBox) {
|
1145
|
+
// 获取调压箱
|
1146
|
+
new HttpResetClass().load('post', `${this.$androidUtil.getProxyUrl()}/rs/sql/adjustableboxQuery`, { data: { condition: '1 = 1' } }, {
|
1147
|
+
resolveMsg: null,
|
1148
|
+
rejectMsg: null
|
1149
|
+
}).then((res) => {
|
1150
|
+
const boxOptions = []
|
1151
|
+
for (const data of res.data) {
|
1152
|
+
const one = {
|
1153
|
+
label: data.f_adjustable_id + data.f_adjustable_name,
|
1154
|
+
value: Number(data.f_adjustable_id)
|
1155
|
+
}
|
1156
|
+
boxOptions.push(one)
|
1157
|
+
}
|
1158
|
+
this.boxOptions = JSON.parse(JSON.stringify(boxOptions))
|
1159
|
+
console.log(this.boxOptions)
|
1160
|
+
}).catch((msg) => {
|
1161
|
+
//tag)
|
1162
|
+
})
|
1163
|
+
}
|
1164
|
+
}
|
1165
|
+
}
|
1166
|
+
</script>
|
1167
|
+
<style lang="less" scoped>
|
1168
|
+
.butt3 {
|
1169
|
+
float: right;
|
1170
|
+
width: 12px;
|
1171
|
+
margin: 1% 2% 0 0;
|
1172
|
+
}
|
1173
|
+
|
1174
|
+
.rightipt {
|
1175
|
+
width: 60%;
|
1176
|
+
float: left;
|
1177
|
+
margin-left: 5%;
|
1178
|
+
}
|
1179
|
+
|
1180
|
+
.righttxt {
|
1181
|
+
border: none;
|
1182
|
+
margin-left: 5px;
|
1183
|
+
/*border-left: 5px solid #A2C2EB;*/
|
1184
|
+
float: left;
|
1185
|
+
width: 25%;
|
1186
|
+
margin-bottom: 3px;
|
1187
|
+
text-align: left;
|
1188
|
+
word-wrap: break-word;
|
1189
|
+
white-space: normal;
|
1190
|
+
}
|
1191
|
+
|
1192
|
+
.tit1 {
|
1193
|
+
background-image: url('../../assets/用户姓名.png');
|
1194
|
+
background-repeat: no-repeat;
|
1195
|
+
background-position: center;
|
1196
|
+
}
|
1197
|
+
|
1198
|
+
.spanboder {
|
1199
|
+
border-bottom: 2px solid #499edf;
|
1200
|
+
padding-bottom: 8px
|
1201
|
+
}
|
1202
|
+
|
1203
|
+
#upuserinfo_sel /deep/ ul {
|
1204
|
+
width: 100% !important;
|
1205
|
+
left: 0 !important;
|
1206
|
+
}
|
1207
|
+
|
1208
|
+
.btn-photo {
|
1209
|
+
border: 0;
|
1210
|
+
border-radius: 7px;
|
1211
|
+
background-color: #7dc1f4;
|
1212
|
+
font: 15px PingFang-SC-Bold;
|
1213
|
+
height: 20%;
|
1214
|
+
}
|
1215
|
+
|
1216
|
+
.panel-self {
|
1217
|
+
border-radius: 10px;
|
1218
|
+
border: 1px solid #499EDF;
|
1219
|
+
background-color: #F8F8F8;
|
1220
|
+
}
|
1221
|
+
|
1222
|
+
.div-photo {
|
1223
|
+
width: auto;
|
1224
|
+
height: auto;
|
1225
|
+
/* margin-top: 10px; */
|
1226
|
+
position: absolute;
|
1227
|
+
bottom: 10px;
|
1228
|
+
right: 10px;
|
1229
|
+
}
|
1230
|
+
</style>
|
1231
|
+
<style lang="less">
|
1232
|
+
#upuserinfo_sel ul {
|
1233
|
+
width: 100% !important;
|
1234
|
+
left: 0 !important;
|
1235
|
+
}
|
1236
|
+
</style>
|