safecheck-client 3.0.39-2 → 3.0.39-20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.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 +6 -6
- package/publish.bat +7 -7
- package/release.bat +5 -5
- package/src/App.vue +26 -26
- 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/assets//345/256/232/344/275/215.png +0 -0
- 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/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/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/android/AndroidDefectDeal.vue +634 -634
- package/src/components/android/AreaPlan.vue +567 -567
- 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/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 +1 -1
- package/src/components/android/StationMaster.vue +12 -12
- 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/pc/SafeCheckOrder/SafeCheckOrderList.vue +34 -0
- 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/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/pc/NewCheckpaper.vue +2 -2
- package/src/filiale/dexin/android/AreaPlan.vue +567 -567
- package/src/filiale/dexin/android.js +21 -21
- package/src/filiale/hanzhong/pc/CheckHiddenDanger.vue +2 -2
- package/src/filiale/hanzhong/pc/CheckNumberStatistics.vue +1 -1
- package/src/filiale/hanzhong/pc/CheckSafeDetail.vue +6 -1
- package/src/filiale/hanzhong/pc/CheckSafeStatus.vue +1 -1
- package/src/filiale/hanzhong/pc/CheckerSafeDetail.vue +1 -1
- package/src/filiale/jinhuang/android/AddPlanItem.vue +430 -0
- package/src/filiale/jinhuang/android.js +15 -14
- package/src/filiale/kelai/android/PaperFeedback.vue +1384 -1370
- package/src/filiale/kelai/pc/UserInfoAudit.vue +126 -90
- package/src/filiale/qingjian/android/PhoneUpUserinfo.vue +104 -38
- package/src/filiale/qingjian/android/SafecheckOrderV.vue +3 -0
- package/src/filiale/qingjian/android/SafecheckUserInfo.vue +42 -19
- package/src/filiale/qingjian/pc/NewCheckpaper.vue +1 -0
- package/src/filiale/siyang/android/SafecheckDevices.vue +1 -1
- package/src/filiale/siyang/android/SafecheckUserInfo.vue +8 -2
- package/src/filiale/tongchuan/pc/AMapTrailShowZk.vue +226 -0
- package/src/filiale/tongchuan/pc/CheckSearchUser.vue +47 -1
- package/src/filiale/tongchuan/pc/DefectPaperWeiXiu.vue +46 -0
- package/src/filiale/tongchuan/pc/NoCheckplanSafecheck.vue +34 -0
- package/src/filiale/tongchuan/pc/PaperDefectMain.vue +34 -0
- package/src/filiale/tongchuan/pc/PaperList.vue +44 -10
- package/src/filiale/tongchuan/pc/PersonTrack.vue +269 -0
- package/src/filiale/tongchuan/pc/SelectCheckPlan.vue +42 -2
- package/src/filiale/tongchuan/pc.js +2 -0
- package/src/filiale/wenxi/android/SafecheckOrderV.vue +2 -0
- package/src/filiale/wuan/android/SafecheckOrderV.vue +1 -0
- package/src/filiale/wuan/android/SafecheckUserInfo.vue +79 -16
- package/src/filiale/wuan/pc/NewCheckpaper.vue +16 -1
- package/src/main.js +33 -33
- package/src/plugins/LoadData.js +10 -10
- package/src/plugins/LoadParams.js +24 -24
- 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
|
@@ -4,12 +4,10 @@
|
|
|
4
4
|
<div class="panel-body panel-self">
|
|
5
5
|
<div class="col-xs-12" style="padding: 2px 0">
|
|
6
6
|
<p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户编号:</b></p>
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
<label @click="
|
|
10
|
-
|
|
11
|
-
v-if="upUserinfoSta=='是'" style="color: #00b3ee;text-decoration:none;"
|
|
12
|
-
@click="upuserinfo(userinfo.f_userinfoid)">信息变更</label>
|
|
7
|
+
<p class="panel-title col-xs-9 text-left input-font">
|
|
8
|
+
<label @click="searchHistory(userinfo.f_userinfoid)" style="color: #00b3ee;text-decoration:none;">{{ userinfo.f_userinfo_code }}</label>
|
|
9
|
+
<label v-if="upUserinfoSta=='是'" style="color: #00b3ee;text-decoration:none;" @click="upuserinfo(userinfo.f_userinfoid)">信息变更</label>
|
|
10
|
+
<label style="color: #00b3ee;text-decoration:none;" @click="navigateToMap(userinfo)">导航</label>
|
|
13
11
|
</p>
|
|
14
12
|
</div>
|
|
15
13
|
<div class="col-xs-12" style="padding: 2px 0">
|
|
@@ -174,14 +172,14 @@
|
|
|
174
172
|
</div>
|
|
175
173
|
|
|
176
174
|
</div>
|
|
177
|
-
<!-- <div :class="style__" class="form-group" v-show="f_usegas == '未使用'">-->
|
|
178
|
-
<!-- <sapn class="text-left col-md-12 col-sm-12 col-xs-12">处置方式:</sapn>-->
|
|
179
|
-
<!-- <div class="col-xs-12 col-sm-12 col-md-12">-->
|
|
180
|
-
<!-- <input type="checkbox" v-model="f_no_gas_device">无燃气具-->
|
|
181
|
-
<!-- <input type="checkbox" v-model="f_close_valve">关闭表前阀-->
|
|
182
|
-
<!-- <input type="checkbox" v-model="f_unload_battery">取下表内电池-->
|
|
183
|
-
<!-- </div>-->
|
|
184
|
-
<!-- </div>-->
|
|
175
|
+
<!-- <div :class="style__" class="form-group" v-show="f_usegas == '未使用'">-->
|
|
176
|
+
<!-- <sapn class="text-left col-md-12 col-sm-12 col-xs-12">处置方式:</sapn>-->
|
|
177
|
+
<!-- <div class="col-xs-12 col-sm-12 col-md-12">-->
|
|
178
|
+
<!-- <input type="checkbox" v-model="f_no_gas_device">无燃气具-->
|
|
179
|
+
<!-- <input type="checkbox" v-model="f_close_valve">关闭表前阀-->
|
|
180
|
+
<!-- <input type="checkbox" v-model="f_unload_battery">取下表内电池-->
|
|
181
|
+
<!-- </div>-->
|
|
182
|
+
<!-- </div>-->
|
|
185
183
|
<div class="auto app-text" style="margin-top: 5px;" v-if="this.$parent.$parent.role != 'view'">
|
|
186
184
|
<div class="panel" style="padding: 10px 7px 10px 0px;">
|
|
187
185
|
<div class="panel-body panel-self">
|
|
@@ -281,11 +279,20 @@ export default {
|
|
|
281
279
|
this.$set('biaoxinghao', '')
|
|
282
280
|
},
|
|
283
281
|
ready () {
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
282
|
+
if(this.userinfo.f_userinfoid){
|
|
283
|
+
new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/rs/sql/safe_singleTable_OrderBy`, {
|
|
284
|
+
data:{
|
|
285
|
+
items:"*",
|
|
286
|
+
tablename:"t_user_address",
|
|
287
|
+
orderitem:"id",
|
|
288
|
+
condition:`f_userinfo_id= '${this.userinfo.f_userinfoid}'`}
|
|
289
|
+
}, {resolveMsg: null, rejectMsg: null}).then((res)=>{
|
|
290
|
+
if(res.data.length>0){
|
|
291
|
+
this.$set('userinfo.f_lat', res.data[0].f_lat)
|
|
292
|
+
this.$set('userinfo.f_lng', res.data[0].f_lng)
|
|
293
|
+
}
|
|
294
|
+
})
|
|
295
|
+
}
|
|
289
296
|
this.$set('beforephone', this.userinfo.f_user_phone)
|
|
290
297
|
this.$set('gmlist', [])
|
|
291
298
|
//tag
|
|
@@ -308,6 +315,22 @@ export default {
|
|
|
308
315
|
this.safecheckStateReady()
|
|
309
316
|
},
|
|
310
317
|
methods: {
|
|
318
|
+
navigateToMap(userinfo) {
|
|
319
|
+
// 检查是否有经纬度信息
|
|
320
|
+
if (userinfo.f_lat && userinfo.f_lng) {
|
|
321
|
+
try {
|
|
322
|
+
HostApp.openThirdPartyMap({
|
|
323
|
+
lon:userinfo.f_lng,
|
|
324
|
+
lat:userinfo.f_lat,
|
|
325
|
+
address:userinfo.f_address
|
|
326
|
+
})
|
|
327
|
+
} catch (e) {
|
|
328
|
+
this.$showMessage('无法启动导航功能,请检查是否安装了高德地图app');
|
|
329
|
+
}
|
|
330
|
+
} else {
|
|
331
|
+
this.$showMessage('当前用户无坐标信息,请进行维护');
|
|
332
|
+
}
|
|
333
|
+
},
|
|
311
334
|
updatebiaohao (f_meter_no, f_userinfo_id) {
|
|
312
335
|
this.$showMessage('将用户 ' + this.userinfo.f_user_name + '的机表表号从' + this.userinfo.planmeterss.f_meter_no + '修改为' + f_meter_no, ['confirm', 'cancel']).then((butt) => {
|
|
313
336
|
if (butt == 'confirm') {
|
|
@@ -979,6 +979,7 @@ export default {
|
|
|
979
979
|
"燃气表照片":{"index":12,"type":"picture","checkmust": false},
|
|
980
980
|
"户累购气量":{"index":18,"type":"number","readonly":true},
|
|
981
981
|
"户累购金额":{"index":19,"type":"number","readonly":true},
|
|
982
|
+
"已用气量":{"index":20,"type":"number","checkmust": false},//基表数
|
|
982
983
|
}
|
|
983
984
|
}
|
|
984
985
|
},
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
<div class="col-sm-4" v-show="!row.f_path" @click="takePic(idxs, row.f_item_name)">
|
|
41
41
|
<img src="../../../assets/tackpic.png" :alt="点击拍摄照片" width="140" height="140"></img>
|
|
42
42
|
</div>
|
|
43
|
-
<img v-show="row.f_path" src="../../../assets/remove.png" :class="style__" @click="delfile(idxs, row.f_path)" v-if="role!='androidview'" style="width:
|
|
43
|
+
<img v-show="row.f_path" src="../../../assets/remove.png" :class="style__" @click="delfile(idxs, row.f_path)" v-if="role!='androidview'" style="width: 30px;height: 30px;position: absolute;left:110px;top:110px"></img>
|
|
44
44
|
</div>
|
|
45
45
|
</div>
|
|
46
46
|
</div>
|
|
@@ -65,6 +65,10 @@
|
|
|
65
65
|
<p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>安检状态:</b></p>
|
|
66
66
|
<p class="panel-title col-xs-7 text-left input-font">{{ userinfo.f_state }}</p>
|
|
67
67
|
</div>
|
|
68
|
+
<div class="col-xs-12" style="padding: 2px 0">
|
|
69
|
+
<p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>安检开始时间:</b></p>
|
|
70
|
+
<p class="panel-title col-xs-7 text-left input-font">{{ f_onsite_time }}</p>
|
|
71
|
+
</div>
|
|
68
72
|
<div class="col-xs-12">
|
|
69
73
|
<button type="button" style="width: 45%;float: left" class="btn btn-primary" v-if="updateuserphone"
|
|
70
74
|
@click="updatePhone(userinfo.f_user_phone,userinfo.f_userinfoid)">电话修改
|
|
@@ -552,7 +556,9 @@ export default {
|
|
|
552
556
|
start() {
|
|
553
557
|
this.$parent.$parent.isStrat = true
|
|
554
558
|
this.$set('action', !this.action)
|
|
555
|
-
this
|
|
559
|
+
if (!this.f_onsite_time){
|
|
560
|
+
this.$set('f_onsite_time', Util.toStandardTimeString())
|
|
561
|
+
}
|
|
556
562
|
},
|
|
557
563
|
safecheckStateReady() {
|
|
558
564
|
//tag
|
|
@@ -599,7 +605,7 @@ export default {
|
|
|
599
605
|
}
|
|
600
606
|
this.action = true
|
|
601
607
|
//tag
|
|
602
|
-
if (this.f_onsite_time) {
|
|
608
|
+
if (!this.f_onsite_time) {
|
|
603
609
|
this.$parent.$parent.isStrat = true
|
|
604
610
|
this.$parent.$parent.data.f_onsite_time = Util.toStandardTimeString()
|
|
605
611
|
}
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="basic-main" style="height: 100%">
|
|
3
|
+
<div>
|
|
4
|
+
<div class="col-sm-9 amap-main" >
|
|
5
|
+
<div class="form-horizontal select-overspread container-fluid auto">
|
|
6
|
+
<div class="row">
|
|
7
|
+
<div class="col-sm-3 form-input-group" style="width: 20%">
|
|
8
|
+
<label class="control-label">公  司</label>
|
|
9
|
+
<right-tree-safe @re-res="getRes" >
|
|
10
|
+
</right-tree-safe>
|
|
11
|
+
</div>
|
|
12
|
+
<div class="col-sm-3 form-input-group" style="width: 20%">
|
|
13
|
+
<label class="control-label" >轨迹时间</label>
|
|
14
|
+
<datepicker placeholder="轨迹时间"
|
|
15
|
+
:value.sync="requestData.chengeDate"
|
|
16
|
+
v-model="requestData.chengeDate"
|
|
17
|
+
:format="'yyyy-MM-dd'">
|
|
18
|
+
</datepicker>
|
|
19
|
+
</div>
|
|
20
|
+
<div class="col-sm-3 form-input-group" style="width: 20%">
|
|
21
|
+
<label class="control-label">安检员</label>
|
|
22
|
+
<v-select :value.sync="selUserIds" v-model='selUserIds'
|
|
23
|
+
:value-single="false" clear-button search multiple
|
|
24
|
+
:options='searchUserEndOption' placeholder='安检员'
|
|
25
|
+
></v-select>
|
|
26
|
+
</div>
|
|
27
|
+
<div class="col-sm-3 form-input-group" style="width: 20%">
|
|
28
|
+
<label class="control-label">网格员</label>
|
|
29
|
+
<v-select class="select_list select"
|
|
30
|
+
placeholder='请选择' style="width: 60%"
|
|
31
|
+
:value.sync="requestData.f_book_checker" v-model="requestData.f_book_checker"
|
|
32
|
+
:options='users'
|
|
33
|
+
filer-key="name"
|
|
34
|
+
close-on-select clear-button
|
|
35
|
+
:value-single="true">
|
|
36
|
+
</v-select>
|
|
37
|
+
</div>
|
|
38
|
+
<div class="col-sm-3 form-input-group" style="width: 20%;float:right;">
|
|
39
|
+
<button class="btn btn-primary" @click="search">查询</button>
|
|
40
|
+
</div>
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
43
|
+
<amap-trajectory :outerlinedata.sync="outerlinedata" :pathnavigatorstyle="pathnavigatorstyle" ></amap-trajectory>
|
|
44
|
+
</div>
|
|
45
|
+
<div class="col-sm-3">
|
|
46
|
+
<div id="zzz" class="basic-main" style="flex:1;margin-left: 0px;overflow: hidden">
|
|
47
|
+
<div class="flex">
|
|
48
|
+
<div class="panel panel-info" style="flex: 4;margin-top:0px;height: 50%">
|
|
49
|
+
<div class="panel-heading" style="height: auto">
|
|
50
|
+
<h3 class="panel-title">轨迹记录</h3>
|
|
51
|
+
</div>
|
|
52
|
+
<div class="panel-body" style="overflow: scroll">
|
|
53
|
+
<accordion :one-at-a-time="true" v-if="reponData.length>0">
|
|
54
|
+
<template v-for="row in reponData">
|
|
55
|
+
<panel is-open="false" type="primary">
|
|
56
|
+
<strong slot="header">用户编号:{{row.f_user_id}} 用户姓名:{{row.f_user_name}}</strong>
|
|
57
|
+
<div v-for="(idx,item) in row.result" @click="chengeLocation(item)" :class="{'alert alert-info':idx%2===0,'alert alert-success':idx%2!==0}">
|
|
58
|
+
轨迹时间段:{{item.f_start_date}} ~ {{item.f_end_date}}
|
|
59
|
+
</div>
|
|
60
|
+
</panel>
|
|
61
|
+
</template>
|
|
62
|
+
</accordion>
|
|
63
|
+
<h4 class="panel-title" v-else>暂无相关数据</h4>
|
|
64
|
+
</div>
|
|
65
|
+
</div>
|
|
66
|
+
</div>
|
|
67
|
+
</div>
|
|
68
|
+
</div>
|
|
69
|
+
</div>
|
|
70
|
+
|
|
71
|
+
</div>
|
|
72
|
+
</template>
|
|
73
|
+
|
|
74
|
+
<script>
|
|
75
|
+
import co from 'co'
|
|
76
|
+
import * as Util from '../../Util'
|
|
77
|
+
import {HttpResetClass} from 'vue-client'
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* 1. 首先获取当前选择的分公司下所有带定位角色的所有用户
|
|
81
|
+
* 2. 根据查询出来的所有用户的id和选择的时间去轨迹表查询,获取具体轨迹的时间段
|
|
82
|
+
* 3. 渲染给前台页面,前台根据选择的用户和时间端获取轨迹信息去渲染轨迹,每次只可以渲染一组轨迹
|
|
83
|
+
*/
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
export default {
|
|
87
|
+
title: "安检员轨迹展示",
|
|
88
|
+
data() {
|
|
89
|
+
return {
|
|
90
|
+
toUserIds: '', //当前分公司下所有的用户id
|
|
91
|
+
selUserIds:[], // 当前选择的用户Id
|
|
92
|
+
requestData: {
|
|
93
|
+
chengeDate: Util.toStandardDateString(),
|
|
94
|
+
f_book_checker:'',
|
|
95
|
+
userIds: '',
|
|
96
|
+
},
|
|
97
|
+
searchUserEndOption: [], //当前公司的所有安检员
|
|
98
|
+
reponData: [], // 请求到的结果集合
|
|
99
|
+
outerlinedata: [], //点集
|
|
100
|
+
users:[{label: '全部', value: ''}],
|
|
101
|
+
pathnavigatorstyle: {
|
|
102
|
+
width: 16, //图标宽度
|
|
103
|
+
height: 32, // 图标高度
|
|
104
|
+
iconBase64: 'https://webapi.amap.com/ui/1.1/ui/misc/PathSimplifier/examples/imgs/car.png'//图标地址(外链地址或者Base64)
|
|
105
|
+
},
|
|
106
|
+
f_filialeids: '', //分公司ids
|
|
107
|
+
path: [],
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
methods: {
|
|
111
|
+
initBookChecker(){
|
|
112
|
+
new HttpResetClass().load('POST', '/rs/search', {
|
|
113
|
+
data: {
|
|
114
|
+
source: `root.getResourceById($${this.$login.f.orgid}$,$organization$).getSpecialResByType($user$).where(row.getAttributes().get($rolestr$).indexOf($网格员$) != -1)`,
|
|
115
|
+
userid: this.$login.f.id
|
|
116
|
+
}
|
|
117
|
+
}, {resolveMsg: null, rejectMsg: null}).then(res=>{
|
|
118
|
+
let data = res.data
|
|
119
|
+
const addedNames = new Set()
|
|
120
|
+
this.users = []
|
|
121
|
+
data.forEach(user => {
|
|
122
|
+
if (user.state === '在职') {
|
|
123
|
+
if (!addedNames.has(user.name)) {
|
|
124
|
+
this.users.push({label:user.name,value:user.id})
|
|
125
|
+
addedNames.add(user.name)
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
})
|
|
129
|
+
console.log(this.users)
|
|
130
|
+
})
|
|
131
|
+
},
|
|
132
|
+
search() {
|
|
133
|
+
if (this.selUserIds.length==0&&!this.requestData.userIds) {
|
|
134
|
+
this.requestData.userIds = this.toUserIds
|
|
135
|
+
}
|
|
136
|
+
if (this.requestData.f_book_checker){
|
|
137
|
+
const content = this.requestData.userIds.slice(1, -1)
|
|
138
|
+
const elements = content.split(',')
|
|
139
|
+
elements.push(`'${this.requestData.f_book_checker}'`)
|
|
140
|
+
this.requestData.userIds = `(${elements.join(',')})`
|
|
141
|
+
}
|
|
142
|
+
if (!this.f_filialeids) {
|
|
143
|
+
return this.$showMessage("请选择需要查询的分公司")
|
|
144
|
+
}
|
|
145
|
+
if (!this.requestData.chengeDate) {
|
|
146
|
+
return this.$showMessage("请选择需要查看的轨迹时间")
|
|
147
|
+
}
|
|
148
|
+
this.$resetpost('rs/logic/QueryUserTracksByCompany',this.requestData,{resolveMsg: "轨迹记录查询成功", rejectMsg: "轨迹记录查询失败"}).then((response)=>{
|
|
149
|
+
if (response!=undefined && response.data.code == 200) {
|
|
150
|
+
this.reponData = response.data.data
|
|
151
|
+
}else if (response!=null && response.data.code == 404) {
|
|
152
|
+
this.reponData = []
|
|
153
|
+
this.$showMessage("未查询到当前用户的相关轨迹信息")
|
|
154
|
+
} else if (response!=null && response.data.code == 555) {
|
|
155
|
+
this.$showMessage("查询轨迹信息错误!错误原因:"+response.data.msg)
|
|
156
|
+
}
|
|
157
|
+
})
|
|
158
|
+
},
|
|
159
|
+
getRes(obj){
|
|
160
|
+
// this.model.f_filialeids = this.$login.convertToIn(obj.resids);
|
|
161
|
+
console.log(obj)
|
|
162
|
+
if (obj.res != undefined && obj.res.length > 0 && obj.res[0] != undefined) {
|
|
163
|
+
this.getNewData(obj.res[0])
|
|
164
|
+
this.initBookChecker(obj.res[0])
|
|
165
|
+
}
|
|
166
|
+
this.f_filialeids = this.$login.convertToIn(obj.resids);
|
|
167
|
+
},
|
|
168
|
+
chengeLocation(row) {
|
|
169
|
+
console.log(row)
|
|
170
|
+
this.$resetpost('rs/logic/queryRemoteLocationMapData',{data:{id:row.id}},{resolveMsg: "查询渲染轨迹成功", rejectMsg:"查询渲染轨迹失败!"}).then((response)=>{
|
|
171
|
+
if (response!=undefined && response.data!=undefined) {
|
|
172
|
+
this.path = response.data
|
|
173
|
+
let name = `${row.f_user_name},${row.f_start_date}~${row.f_end_date}轨迹`
|
|
174
|
+
this.outerlinedata = [{path:this.path,speed:Math.ceil(this.path.length / 2),name:name}]
|
|
175
|
+
}
|
|
176
|
+
})
|
|
177
|
+
},
|
|
178
|
+
//获取定位人员类表
|
|
179
|
+
async getNewData(organization){
|
|
180
|
+
// let organization = '公司名称'
|
|
181
|
+
// let userRolestr = '需要定位人员'
|
|
182
|
+
let userRolestr = '安检员'
|
|
183
|
+
let res =await new HttpResetClass().load('POST', '/rs/search', {
|
|
184
|
+
// source: 'this.getParentByType($department$).getAllChildrens().where(row.getAttributes().get($rolestr$).indexOf($需要定位人员$) != -1))',
|
|
185
|
+
source: "this.getParentByName($"+organization+"$).getAllChildrens().where(row.getAttributes().get($resourcetype$)==$user$).where(row.getAttributes().get($rolestr$)!=null).where(row.getAttributes().get($rolestr$).indexOf($"+userRolestr+"$)!=-1)",
|
|
186
|
+
userid: this.$login.f.id
|
|
187
|
+
}, {resolveMsg: null, rejectMsg: null})
|
|
188
|
+
let dataEnd = [];
|
|
189
|
+
let idsEnd = [];
|
|
190
|
+
res.data.forEach(res=>{
|
|
191
|
+
let h=true
|
|
192
|
+
dataEnd.forEach(per=>{
|
|
193
|
+
if(res.id==per.value){
|
|
194
|
+
h=false
|
|
195
|
+
}
|
|
196
|
+
})
|
|
197
|
+
if(h){
|
|
198
|
+
dataEnd.push({label:res.name,value:res.id})
|
|
199
|
+
idsEnd.push(res.id)
|
|
200
|
+
}
|
|
201
|
+
})
|
|
202
|
+
this.toUserIds = this.$login.convertToIn(idsEnd); //所有的员工ID
|
|
203
|
+
this.searchUserEndOption = dataEnd
|
|
204
|
+
},
|
|
205
|
+
},
|
|
206
|
+
ready(){
|
|
207
|
+
this.initBookChecker()
|
|
208
|
+
},
|
|
209
|
+
watch: {
|
|
210
|
+
'selUserIds':function (val) {
|
|
211
|
+
if (val=='') {
|
|
212
|
+
this.requestData.userIds = ''
|
|
213
|
+
}else {
|
|
214
|
+
this.requestData.userIds = this.$login.convertToIn(val)
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
</script>
|
|
220
|
+
|
|
221
|
+
<style lang="less" scoped>
|
|
222
|
+
.amap-main {
|
|
223
|
+
height: 90%;
|
|
224
|
+
padding-right:10px;
|
|
225
|
+
}
|
|
226
|
+
</style>
|
|
@@ -217,6 +217,18 @@
|
|
|
217
217
|
:value-single="true"
|
|
218
218
|
close-on-select clear-button></v-select>
|
|
219
219
|
</div>
|
|
220
|
+
<div :class="$parent.$parent.style" v-show="$parent.$parent.criteriaShow">
|
|
221
|
+
<label class="font_normal_body">网 格 员</label>
|
|
222
|
+
<v-select class="select_list select"
|
|
223
|
+
placeholder='请选择' style="width: 60%"
|
|
224
|
+
:value.sync="model.f_book_checker" v-model="model.f_book_checker"
|
|
225
|
+
:options='$parent.$parent.users'
|
|
226
|
+
filer-key="name"
|
|
227
|
+
close-on-select clear-button
|
|
228
|
+
condition="f_book_checker like '%{}%' and f_checker_name = '{}'"
|
|
229
|
+
:value-single="true">
|
|
230
|
+
</v-select>
|
|
231
|
+
</div>
|
|
220
232
|
</div>
|
|
221
233
|
|
|
222
234
|
<div class="row" v-show="$parent.$parent.$parent.showItem">
|
|
@@ -324,7 +336,18 @@
|
|
|
324
336
|
:value-single="true"
|
|
325
337
|
close-on-select clear-button></v-select>
|
|
326
338
|
</div>
|
|
327
|
-
|
|
339
|
+
<div :class="$parent.$parent.style" v-show="$parent.$parent.criteriaShow">
|
|
340
|
+
<label class="font_normal_body">网 格 员</label>
|
|
341
|
+
<v-select class="select_list select"
|
|
342
|
+
placeholder='请选择' style="width: 60%"
|
|
343
|
+
:value.sync="model.f_book_checker" v-model="model.f_book_checker"
|
|
344
|
+
:options='$parent.$parent.users'
|
|
345
|
+
filer-key="name"
|
|
346
|
+
close-on-select clear-button
|
|
347
|
+
condition="f_book_checker like '%{}%' and f_checker_name = '{}'"
|
|
348
|
+
:value-single="true">
|
|
349
|
+
</v-select>
|
|
350
|
+
</div>
|
|
328
351
|
</div>
|
|
329
352
|
<div class="row" v-show="$parent.$parent.$parent.showItem">
|
|
330
353
|
<div :class="$parent.$parent.style" v-show="$parent.$parent.criteriaShow">
|
|
@@ -536,6 +559,7 @@
|
|
|
536
559
|
timetype: "'dd'",
|
|
537
560
|
f_defect_content: 'this.f_defect_content'
|
|
538
561
|
}),
|
|
562
|
+
users:[{label: '全部', value: ''}],
|
|
539
563
|
f_defect_content: "CASE WHEN CHARINDEX( '\"result\":\"正常\"', ua.f_last_check_result ) > 0 THEN '无隐患' ELSE replace(replace(replace( replace( RIGHT ( ua.f_last_check_result, len( ua.f_last_check_result ) - 26 ), substring('{}',2,1), '' ), substring('{}',1,1), '' ),']',''),'\"','') END",
|
|
540
564
|
orgstrs: [{label: '全部', value: ''}],
|
|
541
565
|
checkersid: [],
|
|
@@ -609,8 +633,30 @@
|
|
|
609
633
|
this.Mreadibook(`('${this.$login.f.orgid}')`)
|
|
610
634
|
this.getAllMeterBook(`('${this.$login.f.orgid}')`)
|
|
611
635
|
this.getTableBrands()
|
|
636
|
+
this.initBookChecker()
|
|
637
|
+
|
|
612
638
|
},
|
|
613
639
|
methods: {
|
|
640
|
+
initBookChecker(){
|
|
641
|
+
new HttpResetClass().load('POST', '/rs/search', {
|
|
642
|
+
data: {
|
|
643
|
+
source: `root.getResourceById($${this.$login.f.orgid}$,$organization$).getSpecialResByType($user$).where(row.getAttributes().get($rolestr$).indexOf($网格员$) != -1)`,
|
|
644
|
+
userid: this.$login.f.id
|
|
645
|
+
}
|
|
646
|
+
}, {resolveMsg: null, rejectMsg: null}).then(res=>{
|
|
647
|
+
let data = res.data
|
|
648
|
+
const addedNames = new Set()
|
|
649
|
+
this.users = []
|
|
650
|
+
data.forEach(user => {
|
|
651
|
+
if (user.state === '在职') {
|
|
652
|
+
if (!addedNames.has(user.name)) {
|
|
653
|
+
this.users.push({ label: user.name, value: user.name })
|
|
654
|
+
addedNames.add(user.name)
|
|
655
|
+
}
|
|
656
|
+
}
|
|
657
|
+
});
|
|
658
|
+
})
|
|
659
|
+
},
|
|
614
660
|
getTableBrands() {
|
|
615
661
|
new HttpResetClass().load("POST", `/rs/sql/safe_singleTable_OrderBy`,
|
|
616
662
|
{data: {items: "*", tablename: "t_gasbrand", orderitem: "id", condition: ` 1=1 `}},
|
|
@@ -157,6 +157,18 @@
|
|
|
157
157
|
:value-single="true">
|
|
158
158
|
</v-select>
|
|
159
159
|
</div>
|
|
160
|
+
<div :class="$parent.$parent.style">
|
|
161
|
+
<label class="font_normal_body">网 格 员</label>
|
|
162
|
+
<v-select class="select_list select"
|
|
163
|
+
placeholder='请选择' style="width: 60%"
|
|
164
|
+
:value.sync="model.f_book_checker" v-model="model.f_book_checker"
|
|
165
|
+
:options='$parent.$parent.users'
|
|
166
|
+
filer-key="name"
|
|
167
|
+
close-on-select clear-button
|
|
168
|
+
condition="f_book_checker like '%{}%' and f_checker_name = '{}'"
|
|
169
|
+
:value-single="true">
|
|
170
|
+
</v-select>
|
|
171
|
+
</div>
|
|
160
172
|
|
|
161
173
|
|
|
162
174
|
</div>
|
|
@@ -334,6 +346,18 @@
|
|
|
334
346
|
:value-single="true">
|
|
335
347
|
</v-select>
|
|
336
348
|
</div>
|
|
349
|
+
<div :class="$parent.$parent.style">
|
|
350
|
+
<label class="font_normal_body">网 格 员</label>
|
|
351
|
+
<v-select class="select_list select"
|
|
352
|
+
placeholder='请选择' style="width: 60%"
|
|
353
|
+
:value.sync="model.f_book_checker" v-model="model.f_book_checker"
|
|
354
|
+
:options='$parent.$parent.users'
|
|
355
|
+
filer-key="name"
|
|
356
|
+
close-on-select clear-button
|
|
357
|
+
condition="f_book_checker like '%{}%' and f_checker_name = '{}'"
|
|
358
|
+
:value-single="true">
|
|
359
|
+
</v-select>
|
|
360
|
+
</div>
|
|
337
361
|
|
|
338
362
|
</div>
|
|
339
363
|
</div>
|
|
@@ -431,6 +455,7 @@
|
|
|
431
455
|
gasproperties:[{label:'全部',value:''},...this.$appdata.getParam("民用"),...this.$appdata.getParam("非民用")],
|
|
432
456
|
gasproperties2:[],
|
|
433
457
|
modelval: [],
|
|
458
|
+
users:[{label: '全部', value: ''}],
|
|
434
459
|
checkersid: [],
|
|
435
460
|
sliceArea: [],
|
|
436
461
|
pcds:[],
|
|
@@ -553,6 +578,26 @@
|
|
|
553
578
|
})
|
|
554
579
|
}
|
|
555
580
|
},
|
|
581
|
+
initBookChecker(){
|
|
582
|
+
new HttpResetClass().load('POST', '/rs/search', {
|
|
583
|
+
data: {
|
|
584
|
+
source: `root.getResourceById($${this.$login.f.orgid}$,$organization$).getSpecialResByType($user$).where(row.getAttributes().get($rolestr$).indexOf($网格员$) != -1)`,
|
|
585
|
+
userid: this.$login.f.id
|
|
586
|
+
}
|
|
587
|
+
}, {resolveMsg: null, rejectMsg: null}).then(res=>{
|
|
588
|
+
let data = res.data
|
|
589
|
+
const addedNames = new Set()
|
|
590
|
+
this.users = []
|
|
591
|
+
data.forEach(user => {
|
|
592
|
+
if (user.state === '在职') {
|
|
593
|
+
if (!addedNames.has(user.name)) {
|
|
594
|
+
this.users.push({ label: user.name, value: user.name })
|
|
595
|
+
addedNames.add(user.name)
|
|
596
|
+
}
|
|
597
|
+
}
|
|
598
|
+
});
|
|
599
|
+
})
|
|
600
|
+
},
|
|
556
601
|
hiddenr() {
|
|
557
602
|
this.$parent.showItem = !this.$parent.showItem
|
|
558
603
|
},
|
|
@@ -587,6 +632,7 @@
|
|
|
587
632
|
},
|
|
588
633
|
ready() {
|
|
589
634
|
this.$refs.paged.$refs.criteria.model.f_has_defect = '有隐患'
|
|
635
|
+
this.initBookChecker()
|
|
590
636
|
let gen = select(this)
|
|
591
637
|
// this.Mreadibook(`('${this.$login.f.orgid}')`)
|
|
592
638
|
co(gen)
|
|
@@ -44,6 +44,18 @@
|
|
|
44
44
|
condition="f_upload_date <='{} '">
|
|
45
45
|
</datepicker>
|
|
46
46
|
</div>
|
|
47
|
+
<div class="col-sm-3 form-group form-input-group" style="width: 20%;">
|
|
48
|
+
<label class="font_normal_body">网 格 员</label>
|
|
49
|
+
<v-select class="select_list select"
|
|
50
|
+
placeholder='请选择' style="width: 60%"
|
|
51
|
+
:value.sync="model.f_book_checker" v-model="model.f_book_checker"
|
|
52
|
+
:options='$parent.$parent.users'
|
|
53
|
+
filer-key="name"
|
|
54
|
+
close-on-select clear-button
|
|
55
|
+
condition="f_book_checker like '%{}%' and f_checker_name = '{}'"
|
|
56
|
+
:value-single="true">
|
|
57
|
+
</v-select>
|
|
58
|
+
</div>
|
|
47
59
|
<div class="col-sm-3 form-group form-input-group" style="width: 20%;float: right;">
|
|
48
60
|
<report-print class="button_export button_spacing" style="width:28%" id='tongchuan'></report-print>
|
|
49
61
|
<export-excel-safe :data="$parent.$parent.searchData"
|
|
@@ -145,6 +157,7 @@ export default {
|
|
|
145
157
|
source: 'tool.getFullTree(this.getRights().where(row.getType() != $zone$).where(row.getType() == $organization$))', //获取公司参数
|
|
146
158
|
userid: this.$login.f.id,
|
|
147
159
|
orgname: '',
|
|
160
|
+
users:[{label: '全部', value: ''}],
|
|
148
161
|
// checker:{},
|
|
149
162
|
searchData: {
|
|
150
163
|
condition: '',
|
|
@@ -182,6 +195,26 @@ export default {
|
|
|
182
195
|
this.searchData.f_filiale_id = this.f_filiale_id //导出
|
|
183
196
|
this.searchData.condition=args.condition //导出
|
|
184
197
|
this.model.search(args.condition, args.model)
|
|
198
|
+
},
|
|
199
|
+
initBookChecker(){
|
|
200
|
+
new HttpResetClass().load('POST', '/rs/search', {
|
|
201
|
+
data: {
|
|
202
|
+
source: `root.getResourceById($${this.$login.f.orgid}$,$organization$).getSpecialResByType($user$).where(row.getAttributes().get($rolestr$).indexOf($网格员$) != -1)`,
|
|
203
|
+
userid: this.$login.f.id
|
|
204
|
+
}
|
|
205
|
+
}, {resolveMsg: null, rejectMsg: null}).then(res=>{
|
|
206
|
+
let data = res.data
|
|
207
|
+
const addedNames = new Set()
|
|
208
|
+
this.users = []
|
|
209
|
+
data.forEach(user => {
|
|
210
|
+
if (user.state === '在职') {
|
|
211
|
+
if (!addedNames.has(user.name)) {
|
|
212
|
+
this.users.push({ label: user.name, value: user.name })
|
|
213
|
+
addedNames.add(user.name)
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
});
|
|
217
|
+
})
|
|
185
218
|
}
|
|
186
219
|
},
|
|
187
220
|
computed: {
|
|
@@ -197,6 +230,7 @@ export default {
|
|
|
197
230
|
//tag
|
|
198
231
|
this.$refs.paged.$refs.cri.model.startDate=Util.toStartDateString() +' 00:00:00'
|
|
199
232
|
this.$refs.paged.$refs.cri.model.endDate=Util.toEndDateString() +' 23:59:59'
|
|
233
|
+
this.initBookChecker()
|
|
200
234
|
|
|
201
235
|
}
|
|
202
236
|
|
|
@@ -190,6 +190,18 @@
|
|
|
190
190
|
clear-button condition="is_repaired='{}'" :value-single="true">
|
|
191
191
|
</v-select>
|
|
192
192
|
</div>
|
|
193
|
+
<div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
|
|
194
|
+
<label class="font_normal_body">网 格 员</label>
|
|
195
|
+
<v-select class="select_list select"
|
|
196
|
+
placeholder='请选择' style="width: 60%"
|
|
197
|
+
:value.sync="model.f_book_checker" v-model="model.f_book_checker"
|
|
198
|
+
:options='$parent.$parent.users'
|
|
199
|
+
filer-key="name"
|
|
200
|
+
close-on-select clear-button
|
|
201
|
+
condition="f_book_checker like '%{}%' and f_checker_name = '{}'"
|
|
202
|
+
:value-single="true">
|
|
203
|
+
</v-select>
|
|
204
|
+
</div>
|
|
193
205
|
</div>
|
|
194
206
|
<modal :show.sync="$parent.$parent.showModal" v-ref:modal>
|
|
195
207
|
<div slot="modal-header" class="modal-header">
|
|
@@ -523,6 +535,7 @@
|
|
|
523
535
|
},
|
|
524
536
|
fun: this.$login.f,
|
|
525
537
|
checkersid: [],
|
|
538
|
+
users:[{label: '全部', value: ''}],
|
|
526
539
|
safetype: this.getSafeParam('安检类型'),
|
|
527
540
|
criteriaShow: false,
|
|
528
541
|
repaireds: [{ label: '全部', value: '' }, { label: '已修', value: '已修' }, { label: '未修', value: '未修' }],
|
|
@@ -1006,6 +1019,26 @@
|
|
|
1006
1019
|
})
|
|
1007
1020
|
})
|
|
1008
1021
|
},
|
|
1022
|
+
initBookChecker(){
|
|
1023
|
+
new HttpResetClass().load('POST', '/rs/search', {
|
|
1024
|
+
data: {
|
|
1025
|
+
source: `root.getResourceById($${this.$login.f.orgid}$,$organization$).getSpecialResByType($user$).where(row.getAttributes().get($rolestr$).indexOf($网格员$) != -1)`,
|
|
1026
|
+
userid: this.$login.f.id
|
|
1027
|
+
}
|
|
1028
|
+
}, {resolveMsg: null, rejectMsg: null}).then(res=>{
|
|
1029
|
+
let data = res.data
|
|
1030
|
+
const addedNames = new Set()
|
|
1031
|
+
this.users = []
|
|
1032
|
+
data.forEach(user => {
|
|
1033
|
+
if (user.state === '在职') {
|
|
1034
|
+
if (!addedNames.has(user.name)) {
|
|
1035
|
+
this.users.push({ label: user.name, value: user.name })
|
|
1036
|
+
addedNames.add(user.name)
|
|
1037
|
+
}
|
|
1038
|
+
}
|
|
1039
|
+
});
|
|
1040
|
+
})
|
|
1041
|
+
}
|
|
1009
1042
|
},
|
|
1010
1043
|
|
|
1011
1044
|
ready() {
|
|
@@ -1013,6 +1046,7 @@
|
|
|
1013
1046
|
this.readConfig()
|
|
1014
1047
|
this.function = this.f
|
|
1015
1048
|
this.getPcds(`('${this.$login.f.orgid}')`)
|
|
1049
|
+
this.initBookChecker()
|
|
1016
1050
|
let gen = select(this)
|
|
1017
1051
|
// this.Mreadibook(`('${this.$login.f.orgid}')`)
|
|
1018
1052
|
co(gen)
|