system-clients 3.2.93-temp → 3.2.93-ys
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/.gradle/8.10/checksums/checksums.lock +0 -0
- package/.gradle/8.10/dependencies-accessors/gc.properties +0 -0
- package/.gradle/8.10/executionHistory/executionHistory.bin +0 -0
- package/.gradle/8.10/executionHistory/executionHistory.lock +0 -0
- package/.gradle/8.10/fileChanges/last-build.bin +0 -0
- package/.gradle/8.10/fileHashes/fileHashes.bin +0 -0
- package/.gradle/8.10/fileHashes/fileHashes.lock +0 -0
- package/.gradle/8.10/gc.properties +0 -0
- package/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/gradle/wrapper/gradle-wrapper.properties +7 -0
- package/gradlew +252 -0
- package/gradlew.bat +94 -0
- package/package.json +105 -105
- package/src/components/Main.vue +12 -40
- package/src/components/server/LoginRecordQuery.vue +128 -0
- package/src/components/server/ResSelect.vue +0 -3
- package/src/filiale/qianneng/Main.vue +816 -816
- package/src/plugins/GetLoginInfoService.js +10 -1
- package/src/system.js +2 -0
- package/src/filiale/bayan/PosAdd.vue +0 -369
- package/src/filiale/bayan/PosList.vue +0 -349
- package/src/filiale/bayan/PosManage.vue +0 -138
- package/src/filiale/bayan/system.js +0 -6
package/src/components/Main.vue
CHANGED
|
@@ -160,24 +160,6 @@
|
|
|
160
160
|
</footer>
|
|
161
161
|
</modal>
|
|
162
162
|
|
|
163
|
-
<modal v-show="notReportShow" :show.sync="notReportShow" :backdrop="false">
|
|
164
|
-
<header slot="modal-header" class="text-center">
|
|
165
|
-
<h3>未上报用户提醒</h3>
|
|
166
|
-
</header>
|
|
167
|
-
<article slot="modal-body" class="modal-body">
|
|
168
|
-
<form class="form-horizontal">
|
|
169
|
-
<div class="row">
|
|
170
|
-
<div class="col-sm-12">
|
|
171
|
-
<span style="font-weight:normal">{{ notReportTitle }}</span>
|
|
172
|
-
</div>
|
|
173
|
-
</div>
|
|
174
|
-
</form>
|
|
175
|
-
</article>
|
|
176
|
-
<footer slot="modal-footer" style="height: 8vh" class="modal-footer">
|
|
177
|
-
<button class="button_search" @click="notReportShow = false">确认</button>
|
|
178
|
-
</footer>
|
|
179
|
-
</modal>
|
|
180
|
-
|
|
181
163
|
<!-- 变更录入 模态框 -->
|
|
182
164
|
<add-changemsg :show="AddChangeMsgShow" v-on:toggle="AddChangeMsgShow = false"></add-changemsg>
|
|
183
165
|
<!-- 修改密码组件 -->
|
|
@@ -273,8 +255,6 @@ let createWaterMark = function (userName) {
|
|
|
273
255
|
// img2: '/images/lefticon/退出系统.png',
|
|
274
256
|
},
|
|
275
257
|
treeOrIcon: false,
|
|
276
|
-
notReportTitle: '',
|
|
277
|
-
notReportShow: false,
|
|
278
258
|
qrCode:false,
|
|
279
259
|
isManger: false,
|
|
280
260
|
show: false,
|
|
@@ -355,28 +335,10 @@ let createWaterMark = function (userName) {
|
|
|
355
335
|
if (this.config.approve) {
|
|
356
336
|
this.getFlowList()
|
|
357
337
|
}
|
|
358
|
-
if (this.config.isGetNotReport) {
|
|
359
|
-
this.getNotReport()
|
|
360
|
-
}
|
|
361
338
|
// 获取卡表动态库到期时间
|
|
362
339
|
this.getExpireDate()
|
|
363
340
|
},
|
|
364
341
|
methods: {
|
|
365
|
-
async getNotReport(){
|
|
366
|
-
this.notReportTitle = ''
|
|
367
|
-
let http = new HttpResetClass()
|
|
368
|
-
await http.load('POST', 'rs/sql/getNotReportUserCount', {}, {
|
|
369
|
-
resolveMsg: null,
|
|
370
|
-
rejectMsg: null
|
|
371
|
-
}).then((res) => {
|
|
372
|
-
if (res.data.length > 0){
|
|
373
|
-
this.notReportTitle = `当前系统物联网表用户有${res.data[0].f_total_web_count}户,超过7天未上报有${res.data[0].f_greater_than_seven_days}户,7天及以内未上报有${res.data[0].f_less_than_orequalto_seven_days}户。如需查询详情,请到物联查询中“失联查询”获取详细信息!`
|
|
374
|
-
}
|
|
375
|
-
}).catch((e)=>{})
|
|
376
|
-
if(this.notReportTitle){
|
|
377
|
-
this.notReportShow = true
|
|
378
|
-
}
|
|
379
|
-
},
|
|
380
342
|
getOrderList(){
|
|
381
343
|
let times = this.config.times * 60 * 1000
|
|
382
344
|
console.log("=定时提示间隔=", times)
|
|
@@ -559,7 +521,7 @@ let createWaterMark = function (userName) {
|
|
|
559
521
|
}
|
|
560
522
|
},
|
|
561
523
|
openUrl() {
|
|
562
|
-
var url = `http://
|
|
524
|
+
var url = `http://123.60.214.109:8406/submitTicket?contact=${this.$login.f.name}&orgName=${this.$login.f.orgs}&phone=${this.$login.f.f_user_telephone}`
|
|
563
525
|
window.open(url, '_blank')
|
|
564
526
|
},
|
|
565
527
|
hindsetting() {
|
|
@@ -633,10 +595,20 @@ let createWaterMark = function (userName) {
|
|
|
633
595
|
console.log(this.$login.f)
|
|
634
596
|
this.$showMessage('您确定要退出系统吗?', ['confirm', 'cancel']).then(async (res) => {
|
|
635
597
|
if (res == 'confirm') {
|
|
598
|
+
let ip = '';
|
|
599
|
+
try {
|
|
600
|
+
const res = await fetch('rs/systemUrl/getIp');
|
|
601
|
+
const ipData = await res.json();
|
|
602
|
+
ip = ipData.ip;
|
|
603
|
+
} catch (e) {
|
|
604
|
+
console.warn('获取IP失败', e);
|
|
605
|
+
}
|
|
636
606
|
let data = {
|
|
637
607
|
userid: this.$login.f.id,
|
|
638
608
|
username: this.$login.f.name,
|
|
639
|
-
usertelephone: this.$login.f.f_user_telephone
|
|
609
|
+
usertelephone: this.$login.f.f_user_telephone,
|
|
610
|
+
ip: ip,
|
|
611
|
+
device_type: 'PC'
|
|
640
612
|
}
|
|
641
613
|
await this.$resetpost('rs/logic/logOut', data, {resolveMsg: '退出成功', rejectMsg: null})
|
|
642
614
|
window.location.reload()
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div id="file-user-files" class="binary">
|
|
3
|
+
<div class="flex" style="flex: 1;">
|
|
4
|
+
<criteria-paged :model="model" v-ref:paged>
|
|
5
|
+
<criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
|
|
6
|
+
<div novalidate class="form-horizontal select-overspread container-fluid auto" novalidate partial>
|
|
7
|
+
<div class="row">
|
|
8
|
+
<div class="col-sm-2 form-group">
|
|
9
|
+
<label class="font_normal_body">登陆人员</label>
|
|
10
|
+
<input type="text" class="input_search" style="width:60%" v-model="model.username"
|
|
11
|
+
condition="username like '%{}%'" placeholder="登陆人员">
|
|
12
|
+
</div>
|
|
13
|
+
<div class="form-group col-sm-2">
|
|
14
|
+
<label class="font_normal_body">登录类型</label>
|
|
15
|
+
<v-select :options='$parent.$parent.type'
|
|
16
|
+
:value.sync="model.type"
|
|
17
|
+
close-on-select
|
|
18
|
+
condition="type = '{}'"
|
|
19
|
+
placeholder='登录类型'
|
|
20
|
+
v-model="model.type">
|
|
21
|
+
</v-select>
|
|
22
|
+
</div>
|
|
23
|
+
<div class="form-group col-sm-2">
|
|
24
|
+
<label class="font_normal_body">开始时间</label>
|
|
25
|
+
<datepicker placeholder="登入/登出时间"
|
|
26
|
+
style="width:60%"
|
|
27
|
+
v-model="model.startDate"
|
|
28
|
+
:value.sync="model.startDate"
|
|
29
|
+
:format="'yyyy-MM-dd HH:mm:ss'"
|
|
30
|
+
condition="logindate >= '{}'"
|
|
31
|
+
></datepicker>
|
|
32
|
+
</div>
|
|
33
|
+
<div class="form-group col-sm-2">
|
|
34
|
+
<label class="font_normal_body">结束日期</label>
|
|
35
|
+
<datepicker placeholder="登入/登出时间"
|
|
36
|
+
style="width:60%"
|
|
37
|
+
v-model="model.endDate"
|
|
38
|
+
:value.sync="model.endDate"
|
|
39
|
+
:format="'yyyy-MM-dd HH:mm:ss'"
|
|
40
|
+
condition="logindate <= '{}'"
|
|
41
|
+
></datepicker>
|
|
42
|
+
</div>
|
|
43
|
+
<div class="span" style="float:right;">
|
|
44
|
+
<button class="button_search" @click="$parent.$parent.search()" v-el:cx>查询</button>
|
|
45
|
+
<div style="float: right" class="button_spacing"
|
|
46
|
+
:class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
|
|
47
|
+
@click="$parent.$parent.hidden()"></div>
|
|
48
|
+
</div>
|
|
49
|
+
</div>
|
|
50
|
+
<div class="row" v-show="$parent.$parent.criteriaShow">
|
|
51
|
+
<div class="form-group col-sm-2">
|
|
52
|
+
<label class="font_normal_body">设备类型</label>
|
|
53
|
+
<v-select :options='$parent.$parent.device_type'
|
|
54
|
+
:value.sync="model.device_type"
|
|
55
|
+
close-on-select
|
|
56
|
+
condition="device_type = '{}'"
|
|
57
|
+
placeholder='设备类型'
|
|
58
|
+
v-model="model.device_type">
|
|
59
|
+
</v-select>
|
|
60
|
+
</div>
|
|
61
|
+
</div>
|
|
62
|
+
</div>
|
|
63
|
+
</criteria>
|
|
64
|
+
<data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid>
|
|
65
|
+
<template partial='head'>
|
|
66
|
+
<tr>
|
|
67
|
+
<th>序号</th>
|
|
68
|
+
<th>登陆人员</th>
|
|
69
|
+
<th>类型</th>
|
|
70
|
+
<th>登入/登出时间</th>
|
|
71
|
+
<th>登录ip</th>
|
|
72
|
+
<th>设备类型</th>
|
|
73
|
+
</tr>
|
|
74
|
+
</template>
|
|
75
|
+
<template partial='body' :model="model">
|
|
76
|
+
<tr>
|
|
77
|
+
<td style="text-align:center">{{ $index + 1 }}</td>
|
|
78
|
+
<td style="text-align:center">{{ row.username }}</td>
|
|
79
|
+
<td style="text-align:center">{{ row.type }}</td>
|
|
80
|
+
<td style="text-align:center">{{ row.logindate }}</td>
|
|
81
|
+
<td style="text-align:center">{{ row.login_ip }}</td>
|
|
82
|
+
<td style="text-align:center">{{ row.device_type }}</td>
|
|
83
|
+
</tr>
|
|
84
|
+
</template>
|
|
85
|
+
</data-grid>
|
|
86
|
+
</criteria-paged>
|
|
87
|
+
</div>
|
|
88
|
+
</div>
|
|
89
|
+
</template>
|
|
90
|
+
|
|
91
|
+
<script>
|
|
92
|
+
import {PagedList} from 'vue-client'
|
|
93
|
+
import * as Util from '../Util'
|
|
94
|
+
|
|
95
|
+
export default {
|
|
96
|
+
title: '登录操作查询',
|
|
97
|
+
components: {},
|
|
98
|
+
data() {
|
|
99
|
+
return {
|
|
100
|
+
criteriaShow: false,
|
|
101
|
+
model: new PagedList('rs/sql/singleTable', 20, {
|
|
102
|
+
items: '"*"',
|
|
103
|
+
tablename: '"t_loginrecord"',
|
|
104
|
+
orderitem: '"id desc"'
|
|
105
|
+
}),
|
|
106
|
+
type: [{label: '全部', value: ''}, {label: '登入', value: '登入'}, {label: '登出', value: '登出'}],
|
|
107
|
+
device_type: [{label: '全部', value: ''}, {label: 'PC', value: 'PC'}, {label: 'PHONE', value: 'PHONE'}]
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
ready() {
|
|
111
|
+
this.$refs.paged.$refs.cri.model.startDate = Util.toStandardDateString() + ' 00:00:00'
|
|
112
|
+
this.$refs.paged.$refs.cri.model.endDate = Util.toStandardDateString() + ' 23:59:59'
|
|
113
|
+
this.search()
|
|
114
|
+
},
|
|
115
|
+
methods: {
|
|
116
|
+
hidden() {
|
|
117
|
+
this.criteriaShow = !this.criteriaShow
|
|
118
|
+
},
|
|
119
|
+
search() {
|
|
120
|
+
this.$refs.paged.$refs.cri.search()
|
|
121
|
+
},
|
|
122
|
+
selfSearch(args) {
|
|
123
|
+
this.model.search(args.condition, this.model)
|
|
124
|
+
}
|
|
125
|
+
},
|
|
126
|
+
computed: {}
|
|
127
|
+
}
|
|
128
|
+
</script>
|