safecheck-client 3.0.34-1 → 3.0.34-100

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.
Files changed (183) hide show
  1. package/package.json +1 -1
  2. package/src/App-/345/215/225/351/241/265/351/235/242/346/211/223/345/214/205/347/224/250.vue +55 -0
  3. package/src/assets/123.png +0 -0
  4. package/src/assets/f8632d3c8c4c1cb68e99da754cab1a7.png +0 -0
  5. package/src/components/LoadData.vue +62 -0
  6. package/src/components/NewDefectList/DefectListNew.vue +1 -0
  7. package/src/components/android/AddPlanItemYy.vue +451 -0
  8. package/src/components/android/AndroidDefectDeal.vue +1 -0
  9. package/src/components/android/AndroidDefectDealBeforeSafe.vue +502 -0
  10. package/src/components/android/AreaPlan.vue +1 -7
  11. package/src/components/android/AreaSelect.vue +198 -0
  12. package/src/components/android/BuildingSelect.vue +192 -0
  13. package/src/components/android/CheckPlanSelect.vue +229 -0
  14. package/src/components/android/CurrentCreateYy.vue +1051 -0
  15. package/src/components/android/ImgSelfAndroid.vue +181 -181
  16. package/src/components/android/PaperFeedback.vue +34 -1
  17. package/src/components/android/PaperFeedbackTemp.vue +1 -1
  18. package/src/components/android/QRCode/QRCodeBinding.vue +300 -0
  19. package/src/components/android/QRCode/QRCodePage.vue +212 -0
  20. package/src/components/android/SafecheckDevices.vue +4 -4
  21. package/src/components/android/SafecheckDevicesTemp.vue +1 -1
  22. package/src/components/android/SafecheckOrderV.vue +8 -12
  23. package/src/components/android/UserinfoSelect.vue +714 -0
  24. package/src/components/android/examples/410.png +0 -0
  25. package/src/components/android/examples/SafeListExamples.vue +296 -0
  26. package/src/components/android/examples/UserExamples.vue +137 -0
  27. package/src/components/android/examples/ViewDetailsExamples.vue +1235 -0
  28. package/src/components/android/examples/touxiang.png +0 -0
  29. package/src/components/android/userinfo/SafecheckUserInfo.vue +1 -1
  30. package/src/components/pc/SafeVisitInfo.vue +261 -0
  31. package/src/components/rongcheng/AddPlanItem.vue +8 -0
  32. package/src/components/rongcheng/AspiratedAreaPlan.vue +574 -464
  33. package/src/components/rongcheng/AspiratedUserInfo.vue +1 -1
  34. package/src/components/rongcheng/CheckSearchUser.vue +46 -16
  35. package/src/components/rongcheng/PaperStatem.vue +6 -1
  36. package/src/components/rongcheng/PhoneDevicesInfo.vue +16 -1
  37. package/src/components/rongcheng/PhoneUpUserinfo.vue +1236 -1328
  38. package/src/components/rongcheng/SafecheckOrderV.vue +12 -3
  39. package/src/components/rongcheng/SafecheckOrderVCli.vue +9 -0
  40. package/src/filiale/baiyin/android/AndroidDefectDeal.vue +633 -633
  41. package/src/filiale/baiyin/android/SafecheckOrderV.vue +2785 -0
  42. package/src/filiale/baiyin/android.js +11 -10
  43. package/src/filiale/baiyin/pc/CheckPlanAreaList.vue +485 -485
  44. package/src/filiale/baiyin/pc/CheckSearchUser.vue +1067 -1067
  45. package/src/filiale/baiyin/pc/DefectListNew.vue +597 -597
  46. package/src/filiale/baiyin/pc/DefectMainNew.vue +63 -63
  47. package/src/filiale/baiyin/pc/DefectPaperNew.vue +1052 -1052
  48. package/src/filiale/baiyin/pc/PaperList.vue +790 -790
  49. package/src/filiale/baiyin/pc/PlanChooser.vue +167 -167
  50. package/src/filiale/baiyin/pc/PlanManage.vue +834 -834
  51. package/src/filiale/baiyin/pc/RightTreeSafe.vue +348 -348
  52. package/src/filiale/baiyin/pc/RoleSelector.vue +160 -160
  53. package/src/filiale/bayan/android/AddPlanItem.vue +8 -0
  54. package/src/filiale/bayan/android/PaperFeedback.vue +68 -50
  55. package/src/filiale/bayan/android/PhoneUpUserinfo.vue +40 -40
  56. package/src/filiale/bayan/android/SafecheckDevices.vue +1 -1
  57. package/src/filiale/bayan/android/SafecheckOrderV.vue +58 -58
  58. package/src/filiale/bayan/android/SafecheckUserInfo.vue +6 -1
  59. package/src/filiale/bayan/pc/NewCheckpaper.vue +50 -46
  60. package/src/filiale/bayan/pc/PaperList.vue +1 -0
  61. package/src/filiale/dexin/android/SafecheckDevices.vue +1 -1
  62. package/src/filiale/fugou/pc/CheckBookSearchUser.vue +35 -15
  63. package/src/filiale/hanzhong/android/PaperFeedback.vue +1 -1
  64. package/src/filiale/hanzhong/android/SafecheckDevices.vue +1 -1
  65. package/src/filiale/hanzhong/android/SafecheckUserInfo.vue +1 -1
  66. package/src/filiale/huaran/android/SafecheckOrderV.vue +2803 -0
  67. package/src/filiale/huaran/android.js +12 -0
  68. package/src/filiale/huaran/pc/CheckBook.vue +313 -0
  69. package/src/filiale/huaran/pc/CheckBookAll.vue +69 -0
  70. package/src/filiale/huaran/pc/CheckBookArea.vue +170 -0
  71. package/src/filiale/huaran/pc/CheckBookCompany.vue +166 -0
  72. package/src/filiale/huaran/pc/CheckBookDetails.vue +196 -0
  73. package/src/filiale/huaran/pc/CheckBookEntry.vue +61 -0
  74. package/src/filiale/huaran/pc/CheckBookList.vue +386 -0
  75. package/src/filiale/huaran/pc/CheckBookSearchArea.vue +564 -0
  76. package/src/filiale/huaran/pc/CheckBookSearchUnit.vue +229 -0
  77. package/src/filiale/huaran/pc/CheckBookSearchUser.vue +604 -0
  78. package/src/filiale/huaran/pc/CheckBookUser.vue +112 -0
  79. package/src/filiale/huaran/pc/PaperList.vue +822 -0
  80. package/src/filiale/huaran/pc/PlanManage.vue +887 -0
  81. package/src/filiale/huaran/pc/checkPlanList.vue +419 -0
  82. package/src/filiale/huaran/pc/checkUserList.vue +867 -0
  83. package/src/filiale/huaran/pc.js +27 -0
  84. package/src/filiale/jiaxian/android/AddPlanItem.vue +447 -0
  85. package/src/filiale/jiaxian/android/PhoneUpUserinfo.vue +1229 -0
  86. package/src/filiale/jiaxian/android/SafecheckDevices.vue +1298 -1298
  87. package/src/filiale/jiaxian/android/SafecheckOrderV.vue +2807 -0
  88. package/src/filiale/jiaxian/android/SafecheckUserInfo.vue +784 -0
  89. package/src/filiale/jiaxian/android.js +14 -10
  90. package/src/filiale/jiaxian/pc.js +12 -12
  91. package/src/filiale/jingyang/android/PaperFeedback.vue +1 -1
  92. package/src/filiale/jingyang/android/SafecheckUserInfo.vue +1 -1
  93. package/src/filiale/kelai/pc/CheckPlanAreaList.vue +15 -7
  94. package/src/filiale/pingxiang/android/PaperFeedback.vue +1 -1
  95. package/src/filiale/qianneng/android/SafecheckOrderV.vue +1 -1
  96. package/src/filiale/qingjian/android/PhoneUpUserinfo.vue +1270 -1270
  97. package/src/filiale/qingjian/android/SafecheckDevices.vue +1 -1
  98. package/src/filiale/qingjian/android/SafecheckOrderV.vue +2844 -2844
  99. package/src/filiale/qingjian/android/SafecheckUserInfo.vue +1 -1
  100. package/src/filiale/qingtongxia/android/AddPlanItem.vue +450 -0
  101. package/src/filiale/qingtongxia/android/CurrentCreate.vue +1053 -0
  102. package/src/filiale/qingtongxia/android/PhoneUpUserinfo.vue +1230 -0
  103. package/src/filiale/qingtongxia/android/SafecheckUserInfo.vue +782 -0
  104. package/src/filiale/qingtongxia/android.js +4 -0
  105. package/src/filiale/ruihua/android/SafecheckOrderV.vue +2747 -0
  106. package/src/filiale/ruihua/android/SafecheckUserInfo.vue +804 -0
  107. package/src/filiale/ruihua/android.js +11 -0
  108. package/src/filiale/shanxian/android/AddPlanItem.vue +447 -0
  109. package/src/filiale/shanxian/android/SafecheckOrderV.vue +1 -1
  110. package/src/filiale/shanxian/android.js +1 -0
  111. package/src/filiale/shanxian/pc/PaperList.vue +785 -0
  112. package/src/filiale/shanxian/pc/checkUserList.vue +4 -4
  113. package/src/filiale/shanxian/pc.js +2 -2
  114. package/src/filiale/shiquan/android/SafecheckDevices.vue +1 -1
  115. package/src/filiale/siyang/android/AddPlanItem.vue +450 -0
  116. package/src/filiale/siyang/android/AppCheckPlan.vue +246 -0
  117. package/src/filiale/siyang/android/CurrentCreate.vue +1051 -0
  118. package/src/filiale/siyang/android/SafecheckUserInfo.vue +1 -1
  119. package/src/filiale/siyang/android.js +4 -0
  120. package/src/filiale/siyang/pc/CheckBookList.vue +396 -0
  121. package/src/filiale/siyang/pc/CheckBookSearchArea.vue +667 -0
  122. package/src/filiale/siyang/pc/CheckPlanAreaList.vue +512 -0
  123. package/src/filiale/siyang/pc/CheckSearchUser.vue +1035 -0
  124. package/src/filiale/siyang/pc/HiddenSituation.vue +167 -0
  125. package/src/filiale/siyang/pc/checkPlanList.vue +367 -0
  126. package/src/filiale/siyang/pc/checkUserList.vue +22 -18
  127. package/src/filiale/siyang/pc.js +6 -0
  128. package/src/filiale/tongchuan/android/SafecheckDevices.vue +2 -2
  129. package/src/filiale/tongchuan/android/Select.vue +421 -0
  130. package/src/filiale/tongchuan/android.js +1 -0
  131. package/src/filiale/tongchuan/pc/CheckPlanCountChartArea.vue +3 -1
  132. package/src/filiale/tongchuan/pc/DefectPaperWeiXiu.vue +6 -2
  133. package/src/filiale/tongchuan/pc/HiddenSituation.vue +3 -1
  134. package/src/filiale/tongchuan/pc/NewCheckpaper.vue +13 -22
  135. package/src/filiale/tongchuan/pc/PaperDefectMain.vue +1 -1
  136. package/src/filiale/tongchuan/pc/SelectCheckPlan.vue +5 -2
  137. package/src/filiale/tongchuan/pc/checkUserList.vue +30 -0
  138. package/src/filiale/tongchuan/utils/EventListener.js +29 -0
  139. package/src/filiale/tongchuan/utils/coerceBoolean.js +7 -0
  140. package/src/filiale/weinan/android/SafecheckDevices.vue +1 -1
  141. package/src/filiale/weinan/android/SafecheckOrderV.vue +6 -2
  142. package/src/filiale/weinan/pc/CheckBookSearchUserList.vue +75 -62
  143. package/src/filiale/weinan/pc/CheckDetail.vue +11 -11
  144. package/src/filiale/weinan/pc/DefectPaperNew.vue +31 -0
  145. package/src/filiale/weinan/pc/DeviceChange.vue +1088 -0
  146. package/src/filiale/weinan/pc/checkUserList.vue +49 -113
  147. package/src/filiale/weinan/pc.js +1 -0
  148. package/src/filiale/wuan/android/SafecheckOrderV.vue +5 -1
  149. package/src/filiale/wuan/android/SafecheckUserInfo.vue +10 -5
  150. package/src/filiale/xilan/android/AddPlanItem.vue +457 -0
  151. package/src/filiale/xilan/android/CurrentCreate.vue +1063 -0
  152. package/src/filiale/xilan/android.js +11 -0
  153. package/src/filiale/xilan/pc/checkUserList.vue +772 -0
  154. package/src/filiale/xilan/pc.js +12 -0
  155. package/src/filiale/yangchunboneng/android/CurrentCreate.vue +8 -11
  156. package/src/filiale/yangchunboneng/android/DailyworkloadQuery.vue +8 -13
  157. package/src/filiale/yangchunboneng/android/NewCheckpaperAndroid.vue +1362 -1362
  158. package/src/filiale/yangchunboneng/android/PaperFeedback.vue +1731 -1731
  159. package/src/filiale/yangchunboneng/android/PhoneUpUserinfo.vue +1235 -1235
  160. package/src/filiale/yangchunboneng/android/SafecheckDevices.vue +1336 -1332
  161. package/src/filiale/yangchunboneng/android/SafecheckOrderV.vue +2865 -2845
  162. package/src/filiale/yangchunboneng/android/SafecheckUserInfo.vue +887 -887
  163. package/src/filiale/yangchunboneng/android/safeHistoryLook.vue +8 -13
  164. package/src/filiale/yangchunboneng/pc/CheckBookSearchUser.vue +23 -11
  165. package/src/filiale/yangchunboneng/pc/CheckBookUser.vue +9 -9
  166. package/src/filiale/yangchunboneng/pc/CheckPlanAreaList.vue +96 -30
  167. package/src/filiale/yangchunboneng/pc/CheckSearchUser.vue +1192 -1192
  168. package/src/filiale/yangchunboneng/pc/DefectPaperNew.vue +54 -3
  169. package/src/filiale/yangchunboneng/pc/PaperDefectMain.vue +1046 -944
  170. package/src/filiale/yangchunboneng/pc/PaperList.vue +29 -0
  171. package/src/filiale/yongzhou/android/PaperFeedback.vue +1 -1
  172. package/src/filiale/yongzhou/android/SafecheckDevices.vue +1 -1
  173. package/src/filiale/yongzhou/android/SafecheckUserInfo.vue +1 -1
  174. package/src/filiale/yuansheng/android/SafecheckDevices.vue +11 -1
  175. package/src/filiale/yuansheng/pc/NewCheckpaper.vue +10 -2
  176. package/src/filiale/yunchengminsheng/android/PaperFeedback.vue +1 -1
  177. package/src/filiale/yunchengminsheng/android/SafecheckDevices.vue +1 -1
  178. package/src/filiale/yunchengminsheng/android/SafecheckUserInfo.vue +1 -1
  179. package/src/main-/345/215/225/351/241/265/351/235/242/346/211/223/345/214/205/347/224/250.js +24 -0
  180. package/src/main.js +33 -33
  181. package/src/safecheck-android.js +307 -296
  182. package/src/safecheck-page.js +12 -0
  183. package/src/safecheck.js +3 -0
@@ -0,0 +1,198 @@
1
+ <style scoped>
2
+ .app-row {
3
+ background-color: white;
4
+ padding: 10px 10px 0 10px;
5
+ border-bottom: 1px solid rgba(235, 235, 235, 0.5);
6
+ }
7
+
8
+ .search_input {
9
+ border: 0;
10
+ outline: none;
11
+ }
12
+
13
+ .font {
14
+ font: 15px PingFang-SC-Medium;
15
+ color: #666666;
16
+ }
17
+
18
+ .input-font {
19
+ font: 15px PingFang-SC-Medium;
20
+ color: #333333;
21
+ }
22
+
23
+ .btn-font {
24
+ font: 600 16px PingFang-SC-Bold;
25
+ color: #499EDF;
26
+ }
27
+
28
+ .btn-color {
29
+ background-color: #FFFFFF;
30
+ border-radius: 10px;
31
+ border: 1px solid #499EDF;
32
+ }
33
+
34
+ .app-text {
35
+ font-size: 12px;
36
+ }
37
+
38
+ .panel-self {
39
+ border-radius: 10px;
40
+ border: 1px solid #499EDF;
41
+ background-color: #F8F8F8;
42
+ }
43
+
44
+ table {
45
+ text-align: center;
46
+ white-space: nowrap;
47
+ font-size: 12px;
48
+ width: 50%;
49
+ border-collapse: collapse;
50
+ margin: 20px 0;
51
+ margin: auto;
52
+ }
53
+
54
+ th,
55
+ td {
56
+ padding: 12px;
57
+ border-bottom: 1px solid #ddd;
58
+ }
59
+
60
+ th {
61
+ background-color: #f2f2f2;
62
+ }
63
+
64
+ tr:hover {
65
+ background-color: #f5f5f5;
66
+ }
67
+ </style>
68
+ <template>
69
+ <div style="height: auto;width: 100%">
70
+ <criteria-paged :model="model" v-ref:paged :pager="false">
71
+ <criteria partial='criteria' @condition-changed='$parent.search' v-ref:cri>
72
+ <div partial>
73
+ <form>
74
+ <div class="row app-row">
75
+ <div class="col-xs-4">
76
+ <img src="../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
77
+ <label for="f_userinfo_code" class="font text-left">小区名称:</label>
78
+ </div>
79
+ <div class="col-xs-8">
80
+ <input id="f_userinfo_code" class="search_input input-font"
81
+ v-model=model.f_residential_area condition="f_residential_area like '%{}%'" />
82
+ </div>
83
+ </div>
84
+ <div class="row app-row">
85
+ <div class="col-xs-4">
86
+ <img src="../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
87
+ <label for="f_userinfo_code" class="font text-left">小区地址:</label>
88
+ </div>
89
+ <div class="col-xs-8">
90
+ <input id="f_userinfo_code" class="search_input input-font" v-model=model.f_area_address
91
+ condition="f_area_address like '%{}%'" />
92
+ </div>
93
+ </div>
94
+ <div class="row text-center" style="margin-top: 20px;">
95
+ <button type="button" class="btn btn-lg btn-font btn-color" style="width: 25%;"
96
+ @click="search">查询</button>
97
+ <img @click="$parent.$parent.getNewOrder" src="../../assets/shuaxindaiban1.png"
98
+ style="float: right;margin-right: 3%;width: 40px;padding: 5px; float:right">
99
+ </div>
100
+ <div class="col-sm-12">
101
+ </div>
102
+ <div style="height:30px;"></div>
103
+ </form>
104
+ </div>
105
+ </criteria>
106
+ <list :model="model" partial='list'>
107
+ <div partial>
108
+ <div class="auto app-text" style="margin-top: 5px;">
109
+ <div class="panel" style="padding: 10px 10px 5px 10px;">
110
+ <div class="panel-body panel-self" @click="$parent.$parent.$parent.gotoBuildingSelect(row)">
111
+ <div class="col-xs-12">
112
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left">
113
+ <b>小区名称:</b>
114
+ </p>
115
+ <p class="panel-title col-xs-5 text-left input-font" style="width: 74%">{{
116
+ row.f_residential_area }}</p>
117
+ </div>
118
+ <div class="col-xs-12">
119
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left">
120
+ <b>小区地址:</b>
121
+ </p>
122
+ <p class="panel-title col-xs-7 text-left input-font" style="width: 79%">{{
123
+ row.f_area_address }}</p>
124
+ </div>
125
+ <div class="col-xs-12">
126
+ <table>
127
+ <tr>
128
+ <td style="color: #00A3F0">{{ row.jihuazongshu }}</td>
129
+ <td style="color: #3CC51F">{{ row.yijian }}</td>
130
+ <td style="color: coral">{{ row.weijian }}</td>
131
+ <td style="color: red">{{ row.daofangbuyu }}</td>
132
+ </tr>
133
+ <tr>
134
+ <th>计划总户数</th>
135
+ <th>已检户数</th>
136
+ <th>未检户数</th>
137
+ <th>到访不遇户数</th>
138
+ </tr>
139
+ </table>
140
+ </div>
141
+ </div>
142
+ </div>
143
+ </div>
144
+ </div>
145
+ </list>
146
+ </criteria-paged>
147
+ </div>
148
+ </template>
149
+ <script>
150
+ import LocalPagedList from '../../plugins/LocalPagedList'
151
+ export default {
152
+ title: 'area-select',
153
+ props: ['row'],
154
+ data() {
155
+ return {
156
+ model: new LocalPagedList('androidGetuserinfo', 20, { condition: 'this.condition' }),
157
+ }
158
+ },
159
+ ready() {
160
+ },
161
+ methods: {
162
+ getNewOrder() {
163
+ HostApp.__this__ = this
164
+ HostApp.logicWithHint({
165
+ 'logic': 'SafeCheckServiceTimeOut',
166
+ 'callback': 'javascript:HostApp.__this__.getNewOrderCallBack()',
167
+ 'data': { params: '' },
168
+ 'backresult': 1
169
+ })
170
+ HostApp.logicWithHint({
171
+ 'logic': 'FreshPlanItem',
172
+ 'callback': 'javascript:HostApp.__this__.getNewOrderCallBack()',
173
+ 'data': { params: '' },
174
+ 'backresult': 1
175
+ })
176
+ },
177
+ getNewOrderCallBack() {
178
+ this.model.search()
179
+ },
180
+ gotoBuildingSelect(row) {
181
+ let _this = this
182
+ _this.$goto('building-select', { row: row, f_plan_id: this.row.id }, 'self', _this.$back)
183
+ },
184
+ search(args) {
185
+ this.model.rows = []
186
+ args.condition += ` and f_plan_id = '${this.row.id}'`
187
+ let criteria = {
188
+ items: `tcpi.f_residential_area,tcpi.f_area_address,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`,
189
+ tablename: 't_check_plan_item tcpi ',
190
+ condition: args.condition,
191
+ groupitem: 'tcpi.f_residential_area,tcpi.f_area_address'
192
+ }
193
+ let result = HostApp._executeTask({ 'type': 'sql', 'data': { 'alias': 'safe_singleTable_GroupBy', 'criteria': criteria } })
194
+ this.model.rows = result.data.rows
195
+ }
196
+ }
197
+ }
198
+ </script>
@@ -0,0 +1,192 @@
1
+ <style scoped>
2
+ .app-row {
3
+ background-color: white;
4
+ padding: 10px 10px 0 10px;
5
+ border-bottom: 1px solid rgba(235, 235, 235, 0.5);
6
+ }
7
+
8
+ .search_input {
9
+ border: 0;
10
+ outline: none;
11
+ }
12
+
13
+ .font {
14
+ font: 15px PingFang-SC-Medium;
15
+ color: #666666;
16
+ }
17
+
18
+ .input-font {
19
+ font: 15px PingFang-SC-Medium;
20
+ color: #333333;
21
+ }
22
+
23
+ .btn-font {
24
+ font: 600 16px PingFang-SC-Bold;
25
+ color: #499EDF;
26
+ }
27
+
28
+ .btn-color {
29
+ background-color: #FFFFFF;
30
+ border-radius: 10px;
31
+ border: 1px solid #499EDF;
32
+ }
33
+
34
+ .app-text {
35
+ font-size: 12px;
36
+ }
37
+
38
+ .panel-self {
39
+ border-radius: 10px;
40
+ border: 1px solid #499EDF;
41
+ background-color: #F8F8F8;
42
+ }
43
+
44
+ table {
45
+ text-align: center;
46
+ white-space: nowrap;
47
+ font-size: 12px;
48
+ width: 50%;
49
+ border-collapse: collapse;
50
+ margin: 20px 0;
51
+ margin: auto;
52
+ }
53
+
54
+ th,
55
+ td {
56
+ padding: 12px;
57
+ border-bottom: 1px solid #ddd;
58
+ }
59
+
60
+ th {
61
+ background-color: #f2f2f2;
62
+ }
63
+
64
+ tr:hover {
65
+ background-color: #f5f5f5;
66
+ }
67
+ </style>
68
+ <template>
69
+ <div style="height: auto;width: 100%">
70
+ <criteria-paged :model="model" v-ref:paged :pager="false">
71
+ <criteria partial='criteria' @condition-changed='$parent.search' v-ref:cri>
72
+ <div partial>
73
+ <form>
74
+ <div class="row app-row">
75
+ <div class="col-xs-4">
76
+ <img src="../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
77
+ <label for="f_userinfo_code" class="font text-left">楼栋:</label>
78
+ </div>
79
+ <div class="col-xs-8">
80
+ <input id="f_userinfo_code" class="search_input input-font" v-model=model.f_building
81
+ condition="f_building like '%{}%'" />
82
+ </div>
83
+ </div>
84
+ <div class="row text-center" style="margin-top: 20px;">
85
+ <button type="button" class="btn btn-lg btn-font btn-color" style="width: 25%;"
86
+ @click="search">查询</button>
87
+ <img @click="$parent.$parent.getNewOrder" src="../../assets/shuaxindaiban1.png"
88
+ style="float: right;margin-right: 3%;width: 40px;padding: 5px; float:right">
89
+ </div>
90
+ <div class="col-sm-12">
91
+ </div>
92
+ <div style="height:30px;"></div>
93
+ </form>
94
+ </div>
95
+ </criteria>
96
+ <list :model="model" partial='list'>
97
+ <div partial>
98
+ <div class="auto app-text" style="margin-top: 5px;">
99
+ <div class="panel" style="padding: 10px 10px 5px 10px;">
100
+ <div class="panel-body panel-self" @click="$parent.$parent.$parent.gotoUserinfoSelect(row)">
101
+ <div class="col-xs-12">
102
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left">
103
+ <b>小区名称:</b></p>
104
+ <p class="panel-title col-xs-5 text-left input-font" style="width: 74%">{{
105
+ $parent.$parent.$parent.row.f_residential_area }}</p>
106
+ </div>
107
+ <div class="col-xs-12">
108
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left">
109
+ <b>小区地址:</b></p>
110
+ <p class="panel-title col-xs-7 text-left input-font" style="width: 79%">{{
111
+ $parent.$parent.$parent.row.f_area_address }}</p>
112
+ </div>
113
+ <div class="col-xs-12">
114
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left">
115
+ <b>楼栋:</b></p>
116
+ <p class="panel-title col-xs-7 text-left input-font" style="width: 79%">{{
117
+ row.f_building }}</p>
118
+ </div>
119
+ <div class="col-xs-12">
120
+ <table>
121
+ <tr>
122
+ <td style="color: #00A3F0">{{ row.jihuazongshu }}</td>
123
+ <td style="color: #3CC51F">{{ row.yijian }}</td>
124
+ <td style="color: coral">{{ row.weijian }}</td>
125
+ <td style="color: red">{{ row.daofangbuyu }}</td>
126
+ </tr>
127
+ <tr>
128
+ <th>计划总户数</th>
129
+ <th>已检户数</th>
130
+ <th>未检户数</th>
131
+ <th>到访不遇户数</th>
132
+ </tr>
133
+ </table>
134
+ </div>
135
+ </div>
136
+ </div>
137
+ </div>
138
+ </div>
139
+ </list>
140
+ </criteria-paged>
141
+ </div>
142
+ </template>
143
+ <script>
144
+ import LocalPagedList from '../../plugins/LocalPagedList'
145
+ export default {
146
+ title: 'building-select',
147
+ props: ['row', 'f_plan_id'],
148
+ data() {
149
+ return {
150
+ model: new LocalPagedList('androidGetuserinfo', 20, { condition: 'this.condition' }),
151
+ }
152
+ },
153
+ ready() {
154
+ },
155
+ methods: {
156
+ getNewOrder() {
157
+ HostApp.__this__ = this
158
+ HostApp.logicWithHint({
159
+ 'logic': 'SafeCheckServiceTimeOut',
160
+ 'callback': 'javascript:HostApp.__this__.getNewOrderCallBack()',
161
+ 'data': { params: '' },
162
+ 'backresult': 1
163
+ })
164
+ HostApp.logicWithHint({
165
+ 'logic': 'FreshPlanItem',
166
+ 'callback': 'javascript:HostApp.__this__.getNewOrderCallBack()',
167
+ 'data': { params: '' },
168
+ 'backresult': 1
169
+ })
170
+ },
171
+ getNewOrderCallBack() {
172
+ this.model.search()
173
+ },
174
+ gotoUserinfoSelect(row) {
175
+ let _this = this
176
+ _this.$goto('userinfo-select', { row: { f_plan_id: this.f_plan_id, f_residential_area: this.row.f_residential_area, f_area_address: this.row.f_area_address, f_building: row.f_building } }, 'self', _this.$back)
177
+ },
178
+ search(args) {
179
+ this.model.rows = []
180
+ args.condition += ` and f_plan_id = '${this.f_plan_id}' and f_residential_area = '${this.row.f_residential_area}'`
181
+ let criteria = {
182
+ items: `tcpi.f_building,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`,
183
+ tablename: 't_check_plan_item tcpi ',
184
+ condition: args.condition,
185
+ groupitem: 'tcpi.f_building'
186
+ }
187
+ let result = HostApp._executeTask({ 'type': 'sql', 'data': { 'alias': 'safe_singleTable_GroupBy', 'criteria': criteria } })
188
+ this.model.rows = result.data.rows
189
+ },
190
+ }
191
+ }
192
+ </script>
@@ -0,0 +1,229 @@
1
+ <style scoped>
2
+ .app-row {
3
+ background-color: white;
4
+ padding: 10px 10px 0 10px;
5
+ border-bottom: 1px solid rgba(235, 235, 235, 0.5);
6
+ }
7
+
8
+ .font {
9
+ font: 15px PingFang-SC-Medium;
10
+ color: #666666;
11
+ }
12
+
13
+ .input-font {
14
+ font: 15px PingFang-SC-Medium;
15
+ color: #333333;
16
+ }
17
+
18
+ .btn-font {
19
+ font: 600 16px PingFang-SC-Bold;
20
+ color: #499EDF;
21
+ }
22
+
23
+ .btn-color {
24
+ background-color: #FFFFFF;
25
+ border-radius: 10px;
26
+ border: 1px solid #499EDF;
27
+ }
28
+
29
+ .app-text {
30
+ font-size: 12px;
31
+ }
32
+
33
+ .panel-self {
34
+ border-radius: 10px;
35
+ border: 1px solid #499EDF;
36
+ background-color: #F8F8F8;
37
+ }
38
+
39
+ table {
40
+ text-align: center;
41
+ white-space: nowrap;
42
+ font-size: 12px;
43
+ width: 50%;
44
+ border-collapse: collapse;
45
+ margin: 20px 0;
46
+ margin: auto;
47
+ }
48
+
49
+ th,
50
+ td {
51
+ padding: 12px;
52
+ border-bottom: 1px solid #ddd;
53
+ }
54
+
55
+ th {
56
+ background-color: #f2f2f2;
57
+ }
58
+
59
+ tr:hover {
60
+ background-color: #f5f5f5;
61
+ }
62
+ </style>
63
+ <template>
64
+ <div style="height: auto;width: 100%">
65
+ <criteria-paged :model="model" v-ref:paged :pager="false">
66
+ <criteria partial='criteria' @condition-changed='$parent.search' v-ref:cri>
67
+ <div partial>
68
+ <form>
69
+ <div class="row app-row">
70
+ <div class="col-xs-4">
71
+ <img src="../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
72
+ <label for="f_plan_name" class="font text-left">计划名称:</label>
73
+ </div>
74
+ <v-select id="f_plan_name" :value.sync="model.f_plan_name" class="input-font"
75
+ :options='$parent.$parent.planNameOptions' placeholder='计划名称' :width="'60%'"
76
+ v-model="model.f_plan_name" condition="f_plan_name = '{}'" close-on-select clear-button>
77
+ </v-select>
78
+ </div>
79
+ <div class="row app-row">
80
+ <div class="col-xs-4">
81
+ <img src="../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
82
+ <label for="f_plan_name" class="font text-left">计划类型:</label>
83
+ </div>
84
+ <v-select id="f_plan_name" :value.sync="model.f_safecheck_type" class="input-font"
85
+ :options='$parent.$parent.safecheckTypes' placeholder='计划类型' :width="'60%'"
86
+ v-model="model.f_safecheck_type" condition="f_safecheck_type = '{}'" close-on-select
87
+ clear-button>
88
+ </v-select>
89
+ </div>
90
+ <div class="row app-row">
91
+ <div class="col-xs-4">
92
+ <img src="../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
93
+ <label for="f_plan_name" class="font text-left">计划时间:</label>
94
+ </div>
95
+ <datepicker id="f_start_date" style="width: 30%;" :value.sync="model.f_start_date"
96
+ :disabled-days-of-Week="[]" v-model="model.f_start_date" class="input-font"
97
+ :format="'yyyy-MM-dd 00:00:00'" condition="f_issue_time >= '{}'">
98
+ </datepicker>-
99
+ <datepicker id="f_end_date" style="width: 30%;" :value.sync="model.f_end_date"
100
+ :disabled-days-of-Week="[]" v-model="model.f_end_date" class="input-font"
101
+ :format="'yyyy-MM-dd 23:59:00'" condition="f_issue_time <= '{}'">
102
+ </datepicker>
103
+ </div>
104
+ <div class="row text-center" style="margin-top: 20px;">
105
+ <button type="button" class="btn btn-lg btn-font btn-color" style="width: 25%;"
106
+ @click="search">查询</button>
107
+ <img @click="$parent.$parent.getNewOrder" src="../../assets/shuaxindaiban1.png"
108
+ style="float: right;margin-right: 3%;width: 40px;padding: 5px; float:right">
109
+ </div>
110
+ <div class="col-sm-12">
111
+ </div>
112
+ <div style="height:30px;"></div>
113
+ </form>
114
+ </div>
115
+ </criteria>
116
+ <list :model="model" partial='list'>
117
+ <div partial>
118
+ <div class="auto app-text" style="margin-top: 5px;">
119
+ <div class="panel" style="padding: 10px 10px 5px 10px;">
120
+ <div class="panel-body panel-self" @click="$parent.$parent.$parent.gotoAreaSelect(row)">
121
+ <div class="col-xs-12">
122
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left">
123
+ <b>计划名称:</b>
124
+ </p>
125
+ <p class="panel-title col-xs-5 text-left input-font" style="width: 74%">{{
126
+ row.f_plan_name }}</p>
127
+ </div>
128
+ <div class="col-xs-12">
129
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left">
130
+ <b>计划发型:</b>
131
+ </p>
132
+ <p class="panel-title col-xs-7 text-left input-font" style="width: 79%">{{
133
+ row.f_safecheck_type }}</p>
134
+ </div>
135
+ <div class="col-xs-12">
136
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left">
137
+ <b>计划时间:</b>
138
+ </p>
139
+ <p class="panel-title col-xs-7 text-left input-font" style="width: 79%">{{
140
+ row.f_issue_time }}</p>
141
+ </div>
142
+ <div class="col-xs-12">
143
+ <table>
144
+ <tr>
145
+ <td style="color: #00A3F0">{{ row.jihuazongshu }}</td>
146
+ <td style="color: #3CC51F">{{ row.yijian }}</td>
147
+ <td style="color: coral">{{ row.weijian }}</td>
148
+ <td style="color: red">{{ row.daofangbuyu }}</td>
149
+ </tr>
150
+ <tr>
151
+ <th>计划总户数</th>
152
+ <th>已检户数</th>
153
+ <th>未检户数</th>
154
+ <th>到访不遇户数</th>
155
+ </tr>
156
+ </table>
157
+ </div>
158
+ </div>
159
+ </div>
160
+ </div>
161
+ </div>
162
+ </list>
163
+ </criteria-paged>
164
+ </div>
165
+ </template>
166
+ <script>
167
+ import LocalPagedList from '../../plugins/LocalPagedList'
168
+ export default {
169
+ title: 'current-create',
170
+ data() {
171
+ return {
172
+ planNameOptions: [{ label: '请选择', value: '' },],
173
+ safecheckTypes: [{ label: '请选择', value: '' }, { label: '年度安检', value: '年度安检' }, { label: '抽检', value: '抽检' }],
174
+ model: new LocalPagedList('androidGetuserinfo', 20, { condition: 'this.condition' }),
175
+ }
176
+ },
177
+ ready() {
178
+ this.getAllPlanName()
179
+ },
180
+ methods: {
181
+ getNewOrder() {
182
+ HostApp.__this__ = this
183
+ HostApp.logicWithHint({
184
+ 'logic': 'SafeCheckServiceTimeOut',
185
+ 'callback': 'javascript:HostApp.__this__.getNewOrderCallBack()',
186
+ 'data': { params: '' },
187
+ 'backresult': 1
188
+ })
189
+ HostApp.logicWithHint({
190
+ 'logic': 'FreshPlanItem',
191
+ 'callback': 'javascript:HostApp.__this__.getNewOrderCallBack()',
192
+ 'data': { params: '' },
193
+ 'backresult': 1
194
+ })
195
+ },
196
+ getNewOrderCallBack() {
197
+ this.model.search()
198
+ },
199
+ gotoAreaSelect(row) {
200
+ var _this = this
201
+ _this.$goto('area-select-safe', { row: row }, 'self', _this.$back)
202
+ },
203
+ search(args) {
204
+ let condition = '1=1'
205
+ this.model.rows = []
206
+ let criteria = {
207
+ items: `tcp.id,tcp.f_plan_name,tcp.f_issue_time,tcp.f_safecheck_type,COUNT(tcp.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`,
208
+ tablename: 't_check_plan tcp LEFT JOIN t_check_plan_item tcpi ON tcp.id = tcpi.f_plan_id',
209
+ condition: args.condition || condition,
210
+ groupitem: 'tcp.id,tcp.f_plan_name,tcp.f_issue_time,tcp.f_safecheck_type'
211
+ }
212
+ let result = HostApp._executeTask({ 'type': 'sql', 'data': { 'alias': 'safe_singleTable_GroupBy', 'criteria': criteria } })
213
+ this.model.rows = result.data.rows
214
+ },
215
+ getAllPlanName() {
216
+ let criteria = {
217
+ items: 'f_plan_name',
218
+ tablename: 't_check_plan',
219
+ condition: `f_plan_name IS NOT NULL AND f_plan_name != ''`,
220
+ groupitem: 'f_plan_name'
221
+ }
222
+ let result = HostApp._executeTask({ 'type': 'sql', 'data': { 'alias': 'safe_singleTable_GroupBy', 'criteria': criteria } })
223
+ if (result.code == 200) {
224
+ result.data.rows.forEach(item => this.planNameOptions.push({ label: item.f_plan_name, value: item.f_plan_name }))
225
+ }
226
+ },
227
+ }
228
+ }
229
+ </script>