safecheck-client 3.0.35-12 → 3.0.35-13

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,136 +1,136 @@
1
- <template>
2
- <div class="work-badge" style="height: 100%">
3
- <div class="badge-top" style="height: 5%">
4
- <div class="badge-number">NO.{{ f_head_code }}</div>
5
- </div>
6
- <div class="badge-middle" style="height: 80%">
7
- <img class="badge-image" :src="f_head_pic" alt="Badge Image">
8
- <h1 class="name">{{ f_head_name }}</h1>
9
- <div class="white-line"></div>
10
- <span class="position">{{ f_head_post }}</span>
11
- </div>
12
- <div class="badge-bottom" style="height: 10%">
13
- <div class="contact">
14
- <img class="phone-icon" src="../../../assets/123.png" style="height: 30px;width: 30px" alt="Phone Icon">
15
- <span style="font-size: 30px;font-style: italic;">{{ f_head_phone }}</span>
16
- </div>
17
- </div>
18
- </div>
19
- </template>
20
- <script>
21
- import {HttpResetClass} from "vue-client";
22
-
23
- export default {
24
- name: 'WorkBadge',
25
- title:'WorkBadge',
26
- data () {
27
- return {
28
- // 默认值或初始状态
29
- f_head_pic: '',
30
- f_head_code: '',
31
- f_head_name: '',
32
- f_head_post: '',
33
- f_head_phone: ''
34
- };
35
- },
36
- async ready () {
37
- console.log(window.location.href)
38
- let id = ''
39
- let url = window.location.href
40
- if (url.includes('id')){
41
- const urlObj = new URL(url);
42
- id = urlObj.searchParams.get('id');
43
- let QRCode = await new HttpResetClass().load('post',`rs/sql/tel_singleTable_OrderBy`,{data: {
44
- items: 'tqr.*,tf.f_downloadpath as url',
45
- tablename: 't_qr_code tqr left join t_files tf on tf.f_businessid = tqr.id and f_table_name = \'t_qr_code\'',
46
- condition: `f_head_code = '${id}'`,
47
- orderitem: '1'
48
- }},{resolveMsg: null,rejectMsg: null})
49
- if (QRCode && QRCode.data && QRCode.data.length > 0){
50
- if (QRCode.data[0].url){
51
- this.f_head_pic = QRCode.data[0].url
52
- }else {
53
- this.f_head_pic = `/rs/image/file/${QRCode.data[0].f_head_pic}`
54
- }
55
- this.f_head_code = QRCode.data[0].f_userhead_code
56
- this.f_head_name = QRCode.data[0].f_head_name
57
- this.f_head_post = QRCode.data[0].f_head_post
58
- this.f_head_phone = QRCode.data[0].f_head_phone
59
- }else {
60
- console.log('获取二维码信息失败')
61
- console.log(QRCode)
62
- }
63
- }
64
- }
65
- };
66
- </script>
67
- <style scoped>
68
- .white-line {
69
- width: 65%;
70
- height: 5px;
71
- background-color: white;
72
- margin: 10px 0 10px 17%;
73
- }
74
- .work-badge {
75
- display: flex;
76
- flex-direction: column;
77
- background-image: url('../../../assets/f8632d3c8c4c1cb68e99da754cab1a7.png');
78
- align-items: center;
79
- background-color: #007BFF;
80
- color: white;
81
- padding: 20px;
82
- }
83
-
84
- .badge-top {
85
- display: flex;
86
- align-items: center;
87
- justify-content: space-between;
88
- width: 100%;
89
- margin-bottom: 2%;
90
- }
91
-
92
- .badge-image {
93
- border: 3px solid #fcfcfc;
94
- width: 80%;
95
- border-radius: 15px;
96
- }
97
-
98
- .badge-number {
99
- font-size: 24px;
100
- float: left;
101
- text-align: left;
102
- font-weight: bold;
103
- }
104
-
105
- .badge-middle {
106
- text-align: center;
107
- margin-bottom: 2%;
108
- }
109
-
110
- .name {
111
- font-size: 50px;
112
- font-weight: bold;
113
- margin-bottom: 10px;
114
- }
115
-
116
- .position {
117
- font-size: 24px;
118
- }
119
-
120
- .badge-bottom {
121
- display: flex;
122
- align-items: center;
123
- justify-content: center;
124
- }
125
-
126
- .contact {
127
- display: flex;
128
- align-items: center;
129
- }
130
-
131
- .phone-icon {
132
- width: 30px;
133
- height: 30px;
134
- margin-right: 10px;
135
- }
136
- </style>
1
+ <template>
2
+ <div class="work-badge" style="height: 100%">
3
+ <div class="badge-top" style="height: 5%">
4
+ <div class="badge-number">NO.{{ f_head_code }}</div>
5
+ </div>
6
+ <div class="badge-middle" style="height: 80%">
7
+ <img class="badge-image" :src="f_head_pic" alt="Badge Image">
8
+ <h1 class="name">{{ f_head_name }}</h1>
9
+ <div class="white-line"></div>
10
+ <span class="position">{{ f_head_post }}</span>
11
+ </div>
12
+ <div class="badge-bottom" style="height: 10%">
13
+ <div class="contact">
14
+ <img class="phone-icon" src="../../../assets/123.png" style="height: 30px;width: 30px" alt="Phone Icon">
15
+ <span style="font-size: 30px;font-style: italic;">{{ f_head_phone }}</span>
16
+ </div>
17
+ </div>
18
+ </div>
19
+ </template>
20
+ <script>
21
+ import {HttpResetClass} from "vue-client";
22
+
23
+ export default {
24
+ name: 'WorkBadge',
25
+ title:'WorkBadge',
26
+ data () {
27
+ return {
28
+ // 默认值或初始状态
29
+ f_head_pic: '',
30
+ f_head_code: '',
31
+ f_head_name: '',
32
+ f_head_post: '',
33
+ f_head_phone: ''
34
+ };
35
+ },
36
+ async ready () {
37
+ console.log(window.location.href)
38
+ let id = ''
39
+ let url = window.location.href
40
+ if (url.includes('id')){
41
+ const urlObj = new URL(url);
42
+ id = urlObj.searchParams.get('id');
43
+ let QRCode = await new HttpResetClass().load('post',`rs/sql/tel_singleTable_OrderBy`,{data: {
44
+ items: 'tqr.*,tf.f_downloadpath as url',
45
+ tablename: 't_qr_code tqr left join t_files tf on tf.f_businessid = tqr.id and f_table_name = \'t_qr_code\'',
46
+ condition: `f_head_code = '${id}'`,
47
+ orderitem: '1'
48
+ }},{resolveMsg: null,rejectMsg: null})
49
+ if (QRCode && QRCode.data && QRCode.data.length > 0){
50
+ if (QRCode.data[0].url){
51
+ this.f_head_pic = QRCode.data[0].url
52
+ }else {
53
+ this.f_head_pic = `/rs/image/file/${QRCode.data[0].f_head_pic}`
54
+ }
55
+ this.f_head_code = QRCode.data[0].f_userhead_code
56
+ this.f_head_name = QRCode.data[0].f_head_name
57
+ this.f_head_post = QRCode.data[0].f_head_post
58
+ this.f_head_phone = QRCode.data[0].f_head_phone
59
+ }else {
60
+ console.log('获取二维码信息失败')
61
+ console.log(QRCode)
62
+ }
63
+ }
64
+ }
65
+ };
66
+ </script>
67
+ <style scoped>
68
+ .white-line {
69
+ width: 65%;
70
+ height: 5px;
71
+ background-color: white;
72
+ margin: 10px 0 10px 17%;
73
+ }
74
+ .work-badge {
75
+ display: flex;
76
+ flex-direction: column;
77
+ background-image: url('../../../assets/f8632d3c8c4c1cb68e99da754cab1a7.png');
78
+ align-items: center;
79
+ background-color: #007BFF;
80
+ color: white;
81
+ padding: 20px;
82
+ }
83
+
84
+ .badge-top {
85
+ display: flex;
86
+ align-items: center;
87
+ justify-content: space-between;
88
+ width: 100%;
89
+ margin-bottom: 2%;
90
+ }
91
+
92
+ .badge-image {
93
+ border: 3px solid #fcfcfc;
94
+ width: 80%;
95
+ border-radius: 15px;
96
+ }
97
+
98
+ .badge-number {
99
+ font-size: 24px;
100
+ float: left;
101
+ text-align: left;
102
+ font-weight: bold;
103
+ }
104
+
105
+ .badge-middle {
106
+ text-align: center;
107
+ margin-bottom: 2%;
108
+ }
109
+
110
+ .name {
111
+ font-size: 50px;
112
+ font-weight: bold;
113
+ margin-bottom: 10px;
114
+ }
115
+
116
+ .position {
117
+ font-size: 24px;
118
+ }
119
+
120
+ .badge-bottom {
121
+ display: flex;
122
+ align-items: center;
123
+ justify-content: center;
124
+ }
125
+
126
+ .contact {
127
+ display: flex;
128
+ align-items: center;
129
+ }
130
+
131
+ .phone-icon {
132
+ width: 30px;
133
+ height: 30px;
134
+ margin-right: 10px;
135
+ }
136
+ </style>
@@ -0,0 +1,113 @@
1
+ <template>
2
+ <div class="flex-row">
3
+ <div class="basic-main">
4
+ <criteria-paged :model="model" v-ref:paged>
5
+ <criteria partial='criteria' class="search_area" @condition-changed='$parent.selfSearch' v-ref:criteria>
6
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
7
+ <div class="row">
8
+ <div class="form-group col-sm-2" >
9
+ <label class="font_normal_body">小区名称</label>
10
+ <input type="text" class="input_search" v-model="model.f_residential_area"
11
+ style="width: 60%" placeholder="小区名称" condition="ta.f_residential_area like '%{}%'">
12
+ </div>
13
+ <div class="form-group col-sm-2" style="width: auto;margin-top:8px;float: right">
14
+ <export-excel-safe :data="$parent.$parent.searchData"
15
+ :field="$parent.$parent.excelHeaders"
16
+ :choose-col="true"
17
+ sqlurl="rs/logic/SafeExportExcel" sql-name="securityCheckLedger" template-name='安检台账'></export-excel-safe>
18
+ <button class="button_spacing button_search" @click="search()">查询</button>
19
+ </div>
20
+ </div>
21
+ </div>
22
+ </criteria>
23
+ <data-grid class="list_area table_sy" style="overflow: hidden" :model="model" partial='list' v-ref:grid>
24
+ <template partial='head'>
25
+ <tr>
26
+ <th>
27
+ <nobr>小区名称</nobr>
28
+ </th>
29
+ <th>
30
+ <nobr>小区用户数</nobr>
31
+ </th>
32
+ <th>
33
+ <nobr>所属计划</nobr>
34
+ </th>
35
+ <th>
36
+ <nobr>计划内用户数</nobr>
37
+ </th>
38
+ <th>
39
+ <nobr>计划下发时间</nobr>
40
+ </th>
41
+ <th>
42
+ <nobr>执行时间</nobr>
43
+ </th>
44
+ <th>
45
+ <nobr>执行周期</nobr>
46
+ </th>
47
+ <th>
48
+ <nobr>周期单位</nobr>
49
+ </th>
50
+ <th>
51
+ <nobr>距离下周期时间(天)</nobr>
52
+ </th>
53
+ </tr>
54
+ </template>
55
+ <template partial='body'>
56
+ <td style="text-align: center">{{row.f_residential_area}}</td>
57
+ <td style="text-align: center">{{row.f_plan_name}}</td>
58
+ <td style="text-align: center">{{row.area_num}}</td>
59
+ <td style="text-align: center">{{row.plan_num}}</td>
60
+ <td style="text-align: center">{{row.f_issue_time}}</td>
61
+ <td style="text-align: center">{{row.first_check_date}}</td>
62
+ <td style="text-align: center">{{row.zq_value}}</td>
63
+ <td style="text-align: center">{{row.dw_value}}</td>
64
+ <td style="text-align: center">{{row.difference_day}}</td>
65
+ </template>
66
+ </data-grid>
67
+ </criteria-paged>
68
+ </div>
69
+ </div>
70
+ </template>
71
+
72
+ <script>
73
+ import {PagedList} from 'vue-client'
74
+
75
+ export default {
76
+ title: '安检台账',
77
+ data() {
78
+ return {
79
+ model: new PagedList('rs/sql/securityCheckLedger', 20),
80
+ searchData: {
81
+ condition: "1=1"
82
+ },
83
+ excelHeaders: {
84
+ 'f_residential_area': '小区名称',
85
+ 'f_plan_name': '小区用户数',
86
+ 'area_num': '所属计划',
87
+ 'plan_num': '计划内用户数',
88
+ 'f_issue_time': '计划下发时间',
89
+ 'first_check_date': '执行时间',
90
+ 'zq_value': '执行周期',
91
+ 'dw_value': '周期单位',
92
+ 'difference_day': '距离下周期时间(天)'
93
+ }
94
+ }
95
+ },
96
+ methods: {
97
+ selfSearch(args) {
98
+ this.model.search(args.condition, args.model, args.condValue)
99
+ }
100
+ },
101
+ ready() {
102
+
103
+ },
104
+ watch: {
105
+ 'model.condition'(val) {
106
+ if (val) {
107
+ this.searchData.condition = val
108
+ }
109
+ }
110
+ }
111
+
112
+ }
113
+ </script>