safecheck-client 3.0.34-51 → 3.0.34-53

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,217 +1,217 @@
1
- <style scoped>
2
- .bg {
3
- background-color: blue;
4
- height: 1px;
5
- border: 0;
6
- }
7
- .app-row {
8
- background-color: white;
9
- padding: 10px 10px 0 10px;
10
- border-bottom: 1px solid rgba(235, 235, 235, 0.5);
11
- }
12
- .search_input {
13
- border: 0;
14
- outline: none;
15
- }
16
- .font{
17
- font: 15px PingFang-SC-Medium;
18
- color: #666666;
19
- }
20
- .input-font{
21
- font: 15px PingFang-SC-Medium;
22
- color: #333333;
23
- }
24
- .btn-font{
25
- font:600 16px PingFang-SC-Bold;
26
- color: #499EDF;
27
- }
28
- .btn-color{
29
- background-color: #FFFFFF;
30
- border-radius: 10px ;
31
- border: 1px solid #499EDF;
32
- }
33
- .app-text {
34
- font-size: 12px;
35
- }
36
- .panel-self{
37
- border-radius: 10px;
38
- border:1px solid #499EDF;
39
- background-color: #F8F8F8;
40
- }
41
- .yybtn-color{
42
- background-color:#499edf;
43
- border-radius: 4px ;
44
- border: 1px solid #499EDF;
45
- color: #FFFFFF;
46
- font: 14px PingFang-SC-Bold;
47
- }
48
- table {
49
- text-align: center;
50
- white-space: nowrap;
51
- font-size: 12px;
52
- width: 50%;
53
- border-collapse: collapse;
54
- margin: 20px 0;
55
- margin: auto;
56
- }
57
- th, td {
58
- padding: 12px;
59
- border-bottom: 1px solid #ddd;
60
- }
61
- th {
62
- background-color: #f2f2f2;
63
- }
64
- tr:hover {background-color: #f5f5f5;}
65
- .qxbtn-color{
66
- background-color: #FFFFFF;
67
- border-radius: 4px ;
68
- color: #499edf;
69
- font: 14px PingFang-SC-Bold;
70
- border: 1px solid #499EDF;
71
- }
72
-
73
- .button_shrink_top {width: 35px; height: 35px; background-size:100%;background-image: url("../../../static/newStyle/stretch_top.png")}
74
- .button_shrink_bottom {width: 35px; height: 35px; background-size:100%;background-image: url("../../../static/newStyle/stretch_bottom.png")}
75
- .button_shrink_left {width: 35px; height: 35px; background-size:100%;background-image: url("../../../static/newStyle/stretch_left.png")}
76
- .button_shrink_right {width: 35px; height: 35px; background-size:100%;background-image: url("../../../static/newStyle/stretch_right.png")}
77
- </style>
78
- <style>
79
- .clear-select-with .dropdown-menu{
80
- left: 0px !important;
81
- width: 200% !important;
82
- }
83
- </style>
84
- <template>
85
- <div style="height: auto;width: 100%">
86
- <criteria-paged :model="model" v-ref:paged :pager="false">
87
- <criteria partial='criteria' @condition-changed='$parent.search' v-ref:cri>
88
- <div partial>
89
- <form>
90
- <div class="row app-row">
91
- <div class="col-xs-4">
92
- <img src="../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
93
- <label for="f_userinfo_code" class="font text-left">楼栋:</label>
94
- </div>
95
- <div class="col-xs-8" >
96
- <input id="f_userinfo_code" class="search_input input-font"
97
- v-model=model.f_residential_area condition="f_building like '%{}%'" />
98
- <v-select
99
- id="f_building"
100
- :value.sync="model.f_building"
101
- class="input-font"
102
- :options='$parent.$parent.buildOptions'
103
- placeholder='计划名称'
104
- :width="'60%'"
105
- v-model="model.f_building"
106
- condition="f_building = '{}'"
107
- close-on-select clear-button>
108
- </v-select>
109
- </div>
110
- </div>
111
- <div class="row text-center" style="margin-top: 20px;">
112
- <button type="button" class="btn btn-lg btn-font btn-color" style="width: 25%;" @click="search">查询</button>
113
- <img @click="$parent.$parent.getNewOrder" src="../../assets/shuaxindaiban1.png" style="float: right;margin-right: 3%;width: 40px;padding: 5px; float:right">
114
- </div>
115
- <div class="col-sm-12">
116
- </div>
117
- <div style="height:30px;"></div>
118
- </form>
119
- </div>
120
- </criteria>
121
- <list :model="model" partial='list'>
122
- <div partial>
123
- <div class="auto app-text" style="margin-top: 5px;">
124
- <div class="panel" style="padding: 10px 10px 5px 10px;">
125
- <div class="panel-body panel-self" @click="">
126
- <div class="col-xs-12">
127
- <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>小区名称:</b></p>
128
- <p class="panel-title col-xs-5 text-left input-font" style="width: 74%">{{ row.f_residential_area }}</p>
129
- </div>
130
- <div class="col-xs-12">
131
- <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>小区地址:</b></p>
132
- <p class="panel-title col-xs-7 text-left input-font" style="width: 79%">{{ row.f_area_address }}</p>
133
- </div>
134
- <div class="col-xs-12">
135
- <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>楼栋:</b></p>
136
- <p class="panel-title col-xs-7 text-left input-font" style="width: 79%">{{ row.f_building }}</p>
137
- </div>
138
- <div class="col-xs-12">
139
- <table>
140
- <tr>
141
- <td style="color: #00A3F0">{{row.jihuazongshu}}</td>
142
- <td style="color: #3CC51F">{{row.yijian}}</td>
143
- <td style="color: coral">{{row.weijian}}</td>
144
- <td style="color: red">{{row.daofangbuyu}}</td>
145
- </tr>
146
- <tr>
147
- <th>计划总户数</th>
148
- <th>已检户数</th>
149
- <th>未检户数</th>
150
- <th>到访不遇户数</th>
151
- </tr>
152
- </table>
153
- </div>
154
- </div>
155
- </div>
156
- </div>
157
- </div>
158
- </list>
159
- </criteria-paged>
160
- </div>
161
- </template>
162
- <script>
163
- import LocalPagedList from '../../plugins/LocalPagedList'
164
- export default {
165
- title: '安检待办',
166
- props: ['row'],
167
- data() {
168
- return {
169
- buildOptions:[],
170
- model:new LocalPagedList('androidGetuserinfo',20,{condition:'this.condition'}),
171
- }
172
- },
173
- ready(){
174
- this.getAllPlanName()
175
- },
176
- methods: {
177
- gotobuildingSelect(row){
178
- let _this = this
179
- let pardate = {
180
- _this:_this,
181
- title:'待办工作',
182
- safe:true
183
- }
184
- _this.$dispatch('gotoson',pardate)
185
- _this.$goto('area-select', {row: row}, 'self')
186
-
187
- },
188
- search(args){
189
- let condition = '1=1'
190
- this.model.rows = []
191
- let criteria = {
192
- items: `tcpi.f_residential_area,COUNT(tcpi.id) as jihuazongshu,sum( CASE WHEN tcpi.f_state = '未检' THEN 1 ELSE 0 END ) as weijian,sum( CASE WHEN tcpi.f_state = '已检' THEN 1 ELSE 0 END ) as yijian,sum( CASE WHEN tcpi.f_last_check_state = '到访不遇' THEN 1 ELSE 0 END ) as daofangbuyu`,
193
- tablename: 't_check_plan_item tcpi ',
194
- condition: args.condition || condition,
195
- groupitem: 'tcpi.f_residential_area'
196
- }
197
- let result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}})
198
- this.model.rows = result.data.rows
199
- },
200
- getBuildOptions(){
201
- let criteria = {
202
- items: 'f_building',
203
- tablename: 't_check_plan_item',
204
- condition: `f_building IS NOT NULL AND f_building != '' AND f_state <> '已检' AND f_residential_area = '${f_residential_area}'`,
205
- groupitem: 'f_building order by f_building+0'
206
- }
207
- let result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}})
208
- if(result.code == 200){
209
- result.data.rows.forEach(item => this.buildOptions.push({label:item.f_building,value:item.f_building}))
210
- }
211
- this.buildOptions.sort((a,b)=>{
212
- return Number(a.label)- Number(b.label)
213
- })
214
- },
215
- }
216
- }
217
- </script>
1
+ <style scoped>
2
+ .bg {
3
+ background-color: blue;
4
+ height: 1px;
5
+ border: 0;
6
+ }
7
+ .app-row {
8
+ background-color: white;
9
+ padding: 10px 10px 0 10px;
10
+ border-bottom: 1px solid rgba(235, 235, 235, 0.5);
11
+ }
12
+ .search_input {
13
+ border: 0;
14
+ outline: none;
15
+ }
16
+ .font{
17
+ font: 15px PingFang-SC-Medium;
18
+ color: #666666;
19
+ }
20
+ .input-font{
21
+ font: 15px PingFang-SC-Medium;
22
+ color: #333333;
23
+ }
24
+ .btn-font{
25
+ font:600 16px PingFang-SC-Bold;
26
+ color: #499EDF;
27
+ }
28
+ .btn-color{
29
+ background-color: #FFFFFF;
30
+ border-radius: 10px ;
31
+ border: 1px solid #499EDF;
32
+ }
33
+ .app-text {
34
+ font-size: 12px;
35
+ }
36
+ .panel-self{
37
+ border-radius: 10px;
38
+ border:1px solid #499EDF;
39
+ background-color: #F8F8F8;
40
+ }
41
+ .yybtn-color{
42
+ background-color:#499edf;
43
+ border-radius: 4px ;
44
+ border: 1px solid #499EDF;
45
+ color: #FFFFFF;
46
+ font: 14px PingFang-SC-Bold;
47
+ }
48
+ table {
49
+ text-align: center;
50
+ white-space: nowrap;
51
+ font-size: 12px;
52
+ width: 50%;
53
+ border-collapse: collapse;
54
+ margin: 20px 0;
55
+ margin: auto;
56
+ }
57
+ th, td {
58
+ padding: 12px;
59
+ border-bottom: 1px solid #ddd;
60
+ }
61
+ th {
62
+ background-color: #f2f2f2;
63
+ }
64
+ tr:hover {background-color: #f5f5f5;}
65
+ .qxbtn-color{
66
+ background-color: #FFFFFF;
67
+ border-radius: 4px ;
68
+ color: #499edf;
69
+ font: 14px PingFang-SC-Bold;
70
+ border: 1px solid #499EDF;
71
+ }
72
+
73
+ .button_shrink_top {width: 35px; height: 35px; background-size:100%;background-image: url("../../../static/newStyle/stretch_top.png")}
74
+ .button_shrink_bottom {width: 35px; height: 35px; background-size:100%;background-image: url("../../../static/newStyle/stretch_bottom.png")}
75
+ .button_shrink_left {width: 35px; height: 35px; background-size:100%;background-image: url("../../../static/newStyle/stretch_left.png")}
76
+ .button_shrink_right {width: 35px; height: 35px; background-size:100%;background-image: url("../../../static/newStyle/stretch_right.png")}
77
+ </style>
78
+ <style>
79
+ .clear-select-with .dropdown-menu{
80
+ left: 0px !important;
81
+ width: 200% !important;
82
+ }
83
+ </style>
84
+ <template>
85
+ <div style="height: auto;width: 100%">
86
+ <criteria-paged :model="model" v-ref:paged :pager="false">
87
+ <criteria partial='criteria' @condition-changed='$parent.search' v-ref:cri>
88
+ <div partial>
89
+ <form>
90
+ <div class="row app-row">
91
+ <div class="col-xs-4">
92
+ <img src="../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
93
+ <label for="f_userinfo_code" class="font text-left">楼栋:</label>
94
+ </div>
95
+ <div class="col-xs-8" >
96
+ <input id="f_userinfo_code" class="search_input input-font"
97
+ v-model=model.f_residential_area condition="f_building like '%{}%'" />
98
+ <v-select
99
+ id="f_building"
100
+ :value.sync="model.f_building"
101
+ class="input-font"
102
+ :options='$parent.$parent.buildOptions'
103
+ placeholder='计划名称'
104
+ :width="'60%'"
105
+ v-model="model.f_building"
106
+ condition="f_building = '{}'"
107
+ close-on-select clear-button>
108
+ </v-select>
109
+ </div>
110
+ </div>
111
+ <div class="row text-center" style="margin-top: 20px;">
112
+ <button type="button" class="btn btn-lg btn-font btn-color" style="width: 25%;" @click="search">查询</button>
113
+ <img @click="$parent.$parent.getNewOrder" src="../../assets/shuaxindaiban1.png" style="float: right;margin-right: 3%;width: 40px;padding: 5px; float:right">
114
+ </div>
115
+ <div class="col-sm-12">
116
+ </div>
117
+ <div style="height:30px;"></div>
118
+ </form>
119
+ </div>
120
+ </criteria>
121
+ <list :model="model" partial='list'>
122
+ <div partial>
123
+ <div class="auto app-text" style="margin-top: 5px;">
124
+ <div class="panel" style="padding: 10px 10px 5px 10px;">
125
+ <div class="panel-body panel-self" @click="">
126
+ <div class="col-xs-12">
127
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>小区名称:</b></p>
128
+ <p class="panel-title col-xs-5 text-left input-font" style="width: 74%">{{ row.f_residential_area }}</p>
129
+ </div>
130
+ <div class="col-xs-12">
131
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>小区地址:</b></p>
132
+ <p class="panel-title col-xs-7 text-left input-font" style="width: 79%">{{ row.f_area_address }}</p>
133
+ </div>
134
+ <div class="col-xs-12">
135
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>楼栋:</b></p>
136
+ <p class="panel-title col-xs-7 text-left input-font" style="width: 79%">{{ row.f_building }}</p>
137
+ </div>
138
+ <div class="col-xs-12">
139
+ <table>
140
+ <tr>
141
+ <td style="color: #00A3F0">{{row.jihuazongshu}}</td>
142
+ <td style="color: #3CC51F">{{row.yijian}}</td>
143
+ <td style="color: coral">{{row.weijian}}</td>
144
+ <td style="color: red">{{row.daofangbuyu}}</td>
145
+ </tr>
146
+ <tr>
147
+ <th>计划总户数</th>
148
+ <th>已检户数</th>
149
+ <th>未检户数</th>
150
+ <th>到访不遇户数</th>
151
+ </tr>
152
+ </table>
153
+ </div>
154
+ </div>
155
+ </div>
156
+ </div>
157
+ </div>
158
+ </list>
159
+ </criteria-paged>
160
+ </div>
161
+ </template>
162
+ <script>
163
+ import LocalPagedList from '../../plugins/LocalPagedList'
164
+ export default {
165
+ title: '安检待办',
166
+ props: ['row'],
167
+ data() {
168
+ return {
169
+ buildOptions:[],
170
+ model:new LocalPagedList('androidGetuserinfo',20,{condition:'this.condition'}),
171
+ }
172
+ },
173
+ ready(){
174
+ this.getAllPlanName()
175
+ },
176
+ methods: {
177
+ gotobuildingSelect(row){
178
+ let _this = this
179
+ let pardate = {
180
+ _this:_this,
181
+ title:'待办工作',
182
+ safe:true
183
+ }
184
+ _this.$dispatch('gotoson',pardate)
185
+ _this.$goto('area-select', {row: row}, 'self')
186
+
187
+ },
188
+ search(args){
189
+ let condition = '1=1'
190
+ this.model.rows = []
191
+ let criteria = {
192
+ items: `tcpi.f_residential_area,COUNT(tcpi.id) as jihuazongshu,sum( CASE WHEN tcpi.f_state = '未检' THEN 1 ELSE 0 END ) as weijian,sum( CASE WHEN tcpi.f_state = '已检' THEN 1 ELSE 0 END ) as yijian,sum( CASE WHEN tcpi.f_last_check_state = '到访不遇' THEN 1 ELSE 0 END ) as daofangbuyu`,
193
+ tablename: 't_check_plan_item tcpi ',
194
+ condition: args.condition || condition,
195
+ groupitem: 'tcpi.f_residential_area'
196
+ }
197
+ let result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}})
198
+ this.model.rows = result.data.rows
199
+ },
200
+ getBuildOptions(){
201
+ let criteria = {
202
+ items: 'f_building',
203
+ tablename: 't_check_plan_item',
204
+ condition: `f_building IS NOT NULL AND f_building != '' AND f_state <> '已检' AND f_residential_area = '${f_residential_area}'`,
205
+ groupitem: 'f_building order by f_building+0'
206
+ }
207
+ let result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}})
208
+ if(result.code == 200){
209
+ result.data.rows.forEach(item => this.buildOptions.push({label:item.f_building,value:item.f_building}))
210
+ }
211
+ this.buildOptions.sort((a,b)=>{
212
+ return Number(a.label)- Number(b.label)
213
+ })
214
+ },
215
+ }
216
+ }
217
+ </script>