safecheck-client 3.0.34-50 → 3.0.34-51

Sign up to get free protection for your applications and to get access to all the features.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "safecheck-client",
3
3
  "//": "主分支版本别乱升,测试包的版本直接发包(建议使用1.XX.XX-XXX格式作为测试包,不要频繁升级第三位版本号),别提交版本号。切了分支切记把主分支版本升了,保证主分支始终是最高版本!!!!!",
4
- "version": "3.0.34-50",
4
+ "version": "3.0.34-51",
5
5
  "description": "安检模块 前端组件",
6
6
  "author": "丁新 <417755458@qq.com>",
7
7
  "license": "ISC",
@@ -0,0 +1,208 @@
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_residential_area like '%{}%'" />
98
+ </div>
99
+ </div>
100
+ <div class="row app-row">
101
+ <div class="col-xs-4">
102
+ <img src="../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
103
+ <label for="f_userinfo_code" class="font text-left">小区地址:</label>
104
+ </div>
105
+ <div class="col-xs-8" >
106
+ <input id="f_userinfo_code" class="search_input input-font"
107
+ v-model=model.f_area_address condition="f_area_address like '%{}%'" />
108
+ </div>
109
+ </div>
110
+ <div class="row text-center" style="margin-top: 20px;">
111
+ <button type="button" class="btn btn-lg btn-font btn-color" style="width: 25%;" @click="search">查询</button>
112
+ <img @click="$parent.$parent.getNewOrder" src="../../assets/shuaxindaiban1.png" style="float: right;margin-right: 3%;width: 40px;padding: 5px; float:right">
113
+ </div>
114
+ <div class="col-sm-12">
115
+ </div>
116
+ <div style="height:30px;"></div>
117
+ </form>
118
+ </div>
119
+ </criteria>
120
+ <list :model="model" partial='list'>
121
+ <div partial>
122
+ <div class="auto app-text" style="margin-top: 5px;">
123
+ <div class="panel" style="padding: 10px 10px 5px 10px;">
124
+ <div class="panel-body panel-self" @click="">
125
+ <div class="col-xs-12">
126
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>小区名称:</b></p>
127
+ <p class="panel-title col-xs-5 text-left input-font" style="width: 74%">{{ row.f_residential_area }}</p>
128
+ </div>
129
+ <div class="col-xs-12">
130
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>小区地址:</b></p>
131
+ <p class="panel-title col-xs-7 text-left input-font" style="width: 79%">{{ row.f_area_address }}</p>
132
+ </div>
133
+ <div class="col-xs-12">
134
+ <table>
135
+ <tr>
136
+ <td style="color: #00A3F0">{{row.jihuazongshu}}</td>
137
+ <td style="color: #3CC51F">{{row.yijian}}</td>
138
+ <td style="color: coral">{{row.weijian}}</td>
139
+ <td style="color: red">{{row.daofangbuyu}}</td>
140
+ </tr>
141
+ <tr>
142
+ <th>计划总户数</th>
143
+ <th>已检户数</th>
144
+ <th>未检户数</th>
145
+ <th>到访不遇户数</th>
146
+ </tr>
147
+ </table>
148
+ </div>
149
+ </div>
150
+ </div>
151
+ </div>
152
+ </div>
153
+ </list>
154
+ </criteria-paged>
155
+ </div>
156
+ </template>
157
+ <script>
158
+ import LocalPagedList from '../../plugins/LocalPagedList'
159
+ export default {
160
+ title: '安检待办',
161
+ props: ['row'],
162
+ data() {
163
+ return {
164
+ model:new LocalPagedList('androidGetuserinfo',20,{condition:'this.condition'}),
165
+ }
166
+ },
167
+ ready(){
168
+ this.getAllPlanName()
169
+ },
170
+ methods: {
171
+ gotoAreaSelect(row){
172
+ let _this = this
173
+ let pardate = {
174
+ _this:_this,
175
+ title:'待办工作',
176
+ safe:true
177
+ }
178
+ _this.$dispatch('gotoson',pardate)
179
+ _this.$goto('area-select', {row: row}, 'self')
180
+
181
+ },
182
+ search(args){
183
+ let condition = '1=1'
184
+ this.model.rows = []
185
+ let criteria = {
186
+ 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`,
187
+ tablename: 't_check_plan_item tcpi ',
188
+ condition: args.condition || condition,
189
+ groupitem: 'tcpi.f_residential_area'
190
+ }
191
+ let result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}})
192
+ this.model.rows = result.data.rows
193
+ },
194
+ getAllAreaName(){
195
+ let criteria = {
196
+ items: 'f_residential_area',
197
+ tablename: 't_check_plan_item',
198
+ condition: `f_residential_area IS NOT NULL AND f_residential_area != '' AND f_state <> '已检'`,
199
+ groupitem: 'f_residential_area'
200
+ }
201
+ let result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}})
202
+ if(result.code == 200){
203
+ result.data.rows.forEach(item => this.residentialAreaOptions.push({label:item.f_residential_area,value:item.f_residential_area}))
204
+ }
205
+ },
206
+ }
207
+ }
208
+ </script>
@@ -0,0 +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>