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
@@ -1,464 +1,574 @@
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
- .qxbtn-color{
49
- background-color: #FFFFFF;
50
- border-radius: 4px ;
51
- color: #499edf;
52
- font: 14px PingFang-SC-Bold;
53
- border: 1px solid #499EDF;
54
- }
55
- .button_shrink_top {width: 35px; height: 35px; background-size:100%;background-image: url("../../../static/newStyle/stretch_top.png")}
56
- .button_shrink_bottom {width: 35px; height: 35px; background-size:100%;background-image: url("../../../static/newStyle/stretch_bottom.png")}
57
- .button_shrink_left {width: 35px; height: 35px; background-size:100%;background-image: url("../../../static/newStyle/stretch_left.png")}
58
- .button_shrink_right {width: 35px; height: 35px; background-size:100%;background-image: url("../../../static/newStyle/stretch_right.png")}
59
-
60
- </style>
61
-
62
- <template>
63
- <div class="auto">
64
- <criteria-paged :model="model" v-ref:paged>
65
- <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
66
- <div partial>
67
- <form>
68
- <div class="row app-row">
69
- <div class="col-xs-4">
70
- <img src="../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
71
- <label for="f_plan_name" class="font text-left">计划名称:</label>
72
- </div>
73
- <div class="col-xs-8" >
74
- <input id="f_plan_name" class="search_input input-font"
75
- v-model=model.f_plan_name condition="f_plan_name like '%{}%'" />
76
- </div>
77
- </div>
78
- <div class="row app-row">
79
- <div class="col-xs-4">
80
- <img src="../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
81
- <label for="f_userinfo_code" class="font text-left">用户编号:</label>
82
- </div>
83
- <div class="col-xs-8" >
84
- <input id="f_userinfo_code" class="search_input input-font"
85
- v-model=model.f_userinfo_code condition="ti.f_userinfo_code like '%{}%'" />
86
- </div>
87
- </div>
88
-
89
- <div class="row app-row">
90
- <div class="col-xs-4">
91
- <img src="../../assets/用户姓名.png" style="width: 20px;margin-bottom: 5px" alt="">
92
- <label for="f_user_name" class="font text-left">用户姓名:</label>
93
- </div>
94
- <div class="col-xs-8" >
95
- <input id="f_user_name" class="search_input input-font"
96
- v-model=model.f_user_name condition="ti.f_user_name like '%{}%'" />
97
- </div>
98
- </div>
99
- <div class="row app-row" v-show="$parent.$parent.criteriaShow">
100
- <div class="col-xs-4">
101
- <img src="../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
102
- <label for="f_keyword" class="font text-left">小区名称:</label>
103
- </div>
104
- <div class="col-xs-8" >
105
- <input id="f_keyword" class="search_input input-font"
106
- v-model="model.f_residential_area" condition="ti.f_residential_area like '%{}%'" />
107
- </div>
108
- </div>
109
- <div class="row app-row" v-show="$parent.$parent.criteriaShow">
110
- <div class="col-xs-4">
111
- <img src="../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
112
- <label for="f_building" class="font text-left">楼&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号:</label>
113
- </div>
114
- <div class="col-xs-8" >
115
- <input id="f_building" class="search_input input-font"
116
- v-model="model.f_building" condition="ti.f_building like '%{}%'" />
117
- </div>
118
- </div>
119
- <div class="row app-row" v-show="$parent.$parent.criteriaShow">
120
- <div class="col-xs-4">
121
- <img src="../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
122
- <label for="f_unit" class="font text-left">单&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;元:</label>
123
- </div>
124
- <div class="col-xs-8" >
125
- <input id="f_unit" class="search_input input-font"
126
- v-model="model.f_unit" condition="ti.f_unit like '%{}%'" />
127
- </div>
128
- </div>
129
- <div class="row app-row" v-show="$parent.$parent.criteriaShow">
130
- <div class="col-xs-4">
131
- <img src="../../assets/shijian.png" style="width: 20px;margin-bottom: 5px" alt="">
132
- <label for="f_plan_year" class="font text-left">计划年份:</label>
133
- </div>
134
- <div class="col-xs-8" >
135
- <input id="f_plan_year" class="search_input input-font"
136
- v-model="model.f_plan_year" condition="f_plan_year = '{}'" />
137
- </div>
138
- </div>
139
- <div class="row app-row" v-show="$parent.$parent.criteriaShow">
140
- <div class="col-xs-4">
141
- <img src="../../assets/shijian.png" style="width: 20px;margin-bottom: 5px" alt="">
142
- <label for="f_plan_month" class="font text-left">计划月份:</label>
143
- </div>
144
- <div class="col-xs-8" >
145
- <input id="f_plan_month" class="search_input input-font"
146
- v-model="model.f_plan_month" condition="f_plan_month = '{}'" />
147
- </div>
148
- </div>
149
- <div class="row app-row" v-show="$parent.$parent.criteriaShow">
150
- <div class="col-xs-4">
151
- <img src="../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
152
- <label class="font text-left">用户地址:</label>
153
- </div>
154
- <div class="col-xs-8" >
155
- <input class="search_input input-font"
156
- v-model=model.f_address condition="ti.f_address like '%{}%'" />
157
- </div>
158
-
159
- </div>
160
-
161
- <div class="row app-row" v-show="$parent.$parent.criteriaShow">
162
- <div class="col-xs-4">
163
- <img src="../../assets/用户类型.png" style="width: 20px;margin-bottom: 5px" alt="">
164
- <label for="f_user_type" class="font text-left">用户类型:</label>
165
- </div>
166
- <div class="col-xs-8" >
167
- <v-select id="f_user_type" :value.sync="model.f_user_type" class="input-font"
168
- :options='$parent.$parent.user_types' placeholder='请选择用户类型'
169
- v-model="model.f_user_type" condition="ti.f_user_type='{}'" close-on-select clear-button></v-select>
170
- </div>
171
- </div>
172
- <div class="row app-row" v-show="$parent.$parent.criteriaShow">
173
- <div class="col-xs-4">
174
- <img src="../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
175
- <label class="font text-left">挂表方式:</label>
176
- </div>
177
- <div class="col-xs-8" >
178
- <v-select :value.sync="model.f_flow_direction"
179
- :value-single="true"
180
- :options='$parent.$parent.flow_direction' placeholder='请选择挂表方式'
181
- v-model="model.f_flow_direction" condition="tm.f_flow_direction='{}'" close-on-select clear-button></v-select>
182
- </div>
183
- </div>
184
- <!--<div class="row app-row" v-show="$parent.$parent.criteriaShow">
185
- <div class="col-xs-4">
186
- <img src="../../assets/有无计划.png" style="width: 20px;margin-bottom: 5px" alt="">
187
- <label for="f_no_checkplan" class="font text-left">有无计划:</label>
188
- </div>
189
- <div class="col-xs-8" >
190
- <v-select id="f_no_checkplan" :value.sync="model.f_no_checkplan" class="input-font"
191
- :options='$parent.$parent.planstates' placeholder='请选择有无计划'
192
- v-model="model.f_no_checkplan" condition="ti.f_no_checkplan='{}'" close-on-select clear-button></v-select>
193
- </div>
194
- </div>-->
195
- <!-- <div class="row app-row" v-show="false">-->
196
- <!-- <div class="col-xs-4">-->
197
- <!-- <img src="../../assets/是否已检.png" style="width: 20px;margin-bottom: 5px" alt="">-->
198
- <!-- <label for="f_state" class="font text-left">是否已检:</label>-->
199
- <!-- </div>-->
200
- <!-- <div class="col-xs-8" >-->
201
- <!-- <v-select id="f_state" :value.sync="model.f_state" class="input-font"-->
202
- <!-- :options='$parent.$parent.check_states' placeholder='请选择是否已检'-->
203
- <!-- v-model="model.f_state" condition="ti.f_state='{}'" close-on-select clear-button></v-select>-->
204
- <!-- </div>-->
205
- <!-- </div>-->
206
- <!--<div class="row app-row" v-show="$parent.$parent.criteriaShow">
207
- <div class="col-xs-4">
208
- <img src="../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
209
- <label for="f_last_state" class="font text-left">安检状态:</label>
210
- </div>
211
- <div class="col-xs-8" >
212
- <v-select id="f_last_state" :value.sync="model.f_last_state" class="input-font"
213
- :options='$parent.$parent.last_check_states' placeholder='请选择安检状态'
214
- v-model="model.f_last_state" condition="ti.f_last_check_state='{}'" close-on-select clear-button></v-select>
215
- </div>
216
- </div>-->
217
- <div class="row app-row" v-show="$parent.$parent.criteriaShow">
218
- <div class="col-xs-4">
219
- <img src="../../assets/上传状态.png" style="width: 20px;margin-bottom: 5px" alt="">
220
- <label for="f_upload_state" class="font text-left">上传状态:</label>
221
- </div>
222
- <div class="col-xs-8" >
223
- <v-select id="f_upload_state" :value.sync="model.f_upload_state" class="input-font"
224
- :options='$parent.$parent.upload_states' placeholder='请选择上传状态'
225
- v-model="model.f_upload_state" condition="ti.f_upload_state='{}'" close-on-select clear-button></v-select>
226
- </div>
227
- </div>
228
- <div class="row text-center" style="margin-top: 20px;">
229
- <button type="button" class="btn btn-lg btn-font btn-color" style="width: 45%;" @click="search">查询</button>
230
- <div style="float: right;margin-right: 3% " class="button_spacing" :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}" @click="$parent.$parent.hidden()"></div>
231
- </div>
232
- <!--<div class="row app-btn">-->
233
- <!--<button class="btn btn-primary col-xs-6" type="button" @click="search"><span class="glyphicon glyphicon-search" style="margin-right: 20px;">查询</span></button>-->
234
- <!--</div>-->
235
- <div style="height:30px;"></div>
236
- </form>
237
- </div>
238
- </criteria>
239
- <list :model="model" partial='list'>
240
- <div partial>
241
- <div @click="$parent.$parent.$parent.inspect(row)" class="auto app-text" style="margin-top: 5px;">
242
- <div class="panel" style="padding: 10px 10px 5px 10px;">
243
- <div class="panel-body panel-self">
244
- <div class="col-xs-12">
245
- <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户编号:</b></p>
246
- <p class="panel-title col-xs-7 text-left input-font" style="width: 79%">{{ row.f_userinfo_code }}</p>
247
- </div>
248
- <div class="col-xs-12">
249
- <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户名称:</b></p>
250
- <p class="panel-title col-xs-7 text-left input-font" style="width: 79%">{{ row.f_user_name }}</p>
251
- </div>
252
- <div class="col-xs-6">
253
- <p class="panel-title col-xs-5 text-left font"><b>用户类型:</b></p>
254
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_user_type }}
255
- </p>
256
- </div>
257
- <div class="col-xs-6">
258
- <p class="panel-title col-xs-5 text-left font"><b>计划名称:</b></p>
259
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_plan_name }}</p>
260
- </div>
261
- <div class="col-xs-12">
262
- <p class="panel-title text-left font" style="width: 23%;float: left"><b>用户电话:</b></p>
263
- <p class="panel-title text-left input-font" style="width: 77%">{{ row.f_user_phone2 ? row.f_user_phone2 : row.f_user_phone }}
264
- <img src="../../assets/phone.png" style="width: 6%" v-on:click.stop.prevent='$parent.$parent.$parent.makeAPhoneCall(row.f_user_phone2 ? row.f_user_phone2 : row.f_user_phone)'></img>
265
- </p>
266
- </div>
267
- <div class="col-xs-12">
268
- <p class="panel-title text-left font" style="width: 21%;float: left"><b>用户地址:</b></p>
269
- <p class="panel-title text-left input-font" style="width: 79%">{{ row.f_address }}</p>
270
- </div>
271
- <div class="col-xs-6">
272
- <p class="panel-title col-xs-5 text-left font"><b>安检状态:</b></p>
273
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_state }}</p>
274
- </div>
275
- <div class="col-xs-6">
276
- <p class="panel-title col-xs-5 text-left font"><b>上传状态:</b></p>
277
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_upload_state }}</p>
278
- </div>
279
- <div class="row">
280
- <p class="panel-title col-xs-4 text-left font">有无计划</p>
281
- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_no_checkplan }}</p>
282
- </div>
283
- <div class="row" v-if="row.f_upload_state=='已传'">
284
- <p class="panel-title col-xs-4 text-left font"><b>上传时间</b></p>
285
- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_upload_date }}</p>
286
- </div>
287
- <!-- <div class="row text-right" v-show="row.f_upload_state != '已传'" >-->
288
- <!-- <button type="button" class="btn yybtn-color" v-on:click.stop.prevent='$parent.$parent.$parent.reserve($index)'>预约</button>&nbsp;-->
289
- <!-- <button type="button" class="btn qxbtn-color" v-if ='row.f_prearranged_date'-->
290
- <!-- v-on:click.stop.prevent='$parent.$parent.$parent.cancelReserve($index, row.id)'>取消预约</button>-->
291
- <!-- </div>-->
292
- </div>
293
- </div>
294
-
295
- </div>
296
- </div>
297
- </list>
298
- </criteria-paged>
299
- <modal :show.sync="showModal">
300
- <div slot="modal-header" class="modal-header">
301
- <h4 class="modal-title">
302
- 选择预约时间
303
- </h4>
304
- </div>
305
- <div slot="modal-body" class="modal-body">
306
- <input type="datetime-local" v-model="f_preset_dt">
307
- </div>
308
- <div slot="modal-footer" class="modal-footer">
309
- <button type="button" class="btn btn-default" @click="genuineReserve">确认</button>
310
- </div>
311
- </modal>
312
- <!--<back-page :need-back='true' @flag="$back()"></back-page>-->
313
- </div>
314
- </template>
315
-
316
- <script>
317
- import LocalPagedList from '../../plugins/LocalPagedList'
318
- import Vue from 'vue'
319
- import { PagedList } from 'vue-client'
320
- import * as Util from '../Util'
321
-
322
- export default {
323
- title: '安检计划项',
324
- data() {
325
- return {
326
- model:Vue.android? new LocalPagedList('androidGetHasDone',5): new PagedList( 'AndroidRest/rs/sql/androidGetHasDone',5),
327
- showModal: false,
328
- param: null,
329
- criteriaShow: false,
330
- f_preset_dt : Util.to3339TimeString(),
331
- flow_direction:[
332
- {label: '全部', value: ''},
333
- {label: '左表', value: '左表'},
334
- {label: '右表', value: '右表'}
335
- ],
336
- check_states: [
337
- {label: '请选择安检状态', value: ''},
338
- {label: '未检', value: '未检'},
339
- {label: '已检', value: '已检'},
340
- ],
341
- last_check_states: [
342
- {label: '请选择上次安检状态', value: ''},
343
- {label: '入户', value: '入户'},
344
- {label: '拒检', value: '拒检'},
345
- {label: '到访不遇', value: '到访不遇'},
346
- {label: '未使用天然气', value: '未使用天然气'}
347
- ],
348
- upload_states: [
349
- {label: '请选择上传状态', value: ''},
350
- {label: '未传', value: '未传'},
351
- {label: '已传', value: '已传'}
352
- ],
353
- user_types: [
354
- {label: '请选择用户类型', value: ''},
355
- {label: '民用', value: '民用'},
356
- {label: '非民用', value: '非民用'},
357
- ],
358
- verify_state: [
359
- {label: '请选择审核状态', value: ''},
360
- {label: '未审核', value: '未审核'},
361
- {label: '打回', value: '打回'}
362
- ],
363
- planstates:[
364
- {label: '请选择有无安检计划', value: ''},
365
- {label: '有计划安检', value: '有计划安检'},
366
- {label: '无计划安检', value: '无计划安检'},
367
- ]
368
- }
369
- },
370
- ready(){
371
- this.$refs.paged.$refs.cri.model.f_state = '已检'
372
- },
373
- methods: {
374
- refresh() {
375
- //tag
376
- // hard code relationship
377
- this.$refs.paged.$refs.cri.search()
378
- },
379
- reload(){
380
- //tag
381
- this.$refs.paged.loadPage(this.$refs.paged.model.pageIndex)
382
- },
383
- inspect(row) {
384
- this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/sql/查询计划项表信息`, {data: {f_userid: row.f_userinfoid}}).then((response) => {
385
- //tag)
386
- row['f_plan_meters'] = response.data
387
- var pardate = {
388
- _this:this,
389
- tittle:'安检计划',
390
- safe:true
391
- }
392
- this.$dispatch('gotoson',pardate)
393
- this.$goto('AspiratedOrderV', {f_plan_id: row.f_plan_id, item: row, role: 'inspect'}, 'self', this.reload)
394
- /* if (row.f_user_type == '民用') {
395
- this.$goto('paper-set', {f_plan_id: row.f_plan_id, item: row, role: 'inspect'}, 'self', this.reload)
396
- } else {
397
- this.$goto('paper-set-noncivil', {f_plan_id: row.f_plan_id, item: row, role: 'inspect'}, 'self', this.reload)
398
- }*/
399
- }).catch((err)=>{
400
- this.$showMessage('网络异常,请稍后再试!')
401
- })
402
-
403
- },
404
- makeAPhoneCall(phoneNumber) {
405
- this.$androidUtil.makeAPhoneCall(phoneNumber)
406
- },
407
- reserve (idx) {
408
- this.param = idx
409
- this.showModal = true
410
- },
411
- cancelReserve (idx, id) {
412
- if(Vue.android){
413
- let res = this.$androidUtil.bzLogic('BookingCheck', {dt: '', id: id})
414
- this.$set('model.rows[' + idx + '].f_prearranged_date', null)
415
- if (res.code == 200) {
416
- this.$showMessage("取消预约成功")
417
- }
418
- }else {
419
- this.$androidUtil.bzLogic('PCbookingCheck', {dt: '', id: id}).then((repanse) => {
420
- this.$set('model.rows[' + idx + '].f_prearranged_date', null)
421
- if (repanse.data.code == 200) {
422
- alert("取消预约成功!")
423
- }
424
- })
425
- }},
426
- genuineReserve () {
427
- if(Vue.android){
428
- if (!this.f_preset_dt) {
429
- this.$showMessage('请选择一个日期')
430
- return
431
- }
432
- let pdt = this.f_preset_dt.replace('T', ' ')
433
- let respanse = this.$androidUtil.bzLogic('BookingCheck', {id: this.model.rows[this.param].id, dt: pdt})
434
- this.$set('model.rows[' + this.param + '].f_prearranged_date', pdt)
435
- if(respanse.code == 200) {
436
- this.$showMessage("预约成功!")
437
- }
438
- this.showModal = false
439
- }else {
440
- if (!this.f_preset_dt) {
441
- alert('请选择一个日期')
442
- return
443
- }
444
- let pdt = this.f_preset_dt.replace('T', ' ')
445
- this.$androidUtil.bzLogic('PCbookingCheck', {id: this.model.rows[this.param].id, dt: pdt}).then((res) => {
446
- this.$set('model.rows[' + this.param + '].f_prearranged_date', pdt)
447
- if(res.data.code == 200) {
448
- alert("预约成功!")
449
- }
450
- this.showModal = false
451
- })
452
- }
453
- },
454
- selfSearch (args) {
455
- args.condition += " and f_complete = '已完成' and ti.f_safecheck_type='送气类型'"
456
- //tag)
457
- this.model.search(args.condition,args.model)
458
- },
459
- hidden() {
460
- this.criteriaShow = !this.criteriaShow
461
- }
462
- }
463
- }
464
- </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
+ .qxbtn-color{
49
+ background-color: #FFFFFF;
50
+ border-radius: 4px ;
51
+ color: #499edf;
52
+ font: 14px PingFang-SC-Bold;
53
+ border: 1px solid #499EDF;
54
+ }
55
+ .button_shrink_top {width: 35px; height: 35px; background-size:100%;background-image: url("../../../static/newStyle/stretch_top.png")}
56
+ .button_shrink_bottom {width: 35px; height: 35px; background-size:100%;background-image: url("../../../static/newStyle/stretch_bottom.png")}
57
+ .button_shrink_left {width: 35px; height: 35px; background-size:100%;background-image: url("../../../static/newStyle/stretch_left.png")}
58
+ .button_shrink_right {width: 35px; height: 35px; background-size:100%;background-image: url("../../../static/newStyle/stretch_right.png")}
59
+
60
+ </style>
61
+
62
+ <template>
63
+ <div class="auto">
64
+ <criteria-paged :model="model" v-ref:paged>
65
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
66
+ <div partial>
67
+ <form>
68
+ <div class="row app-row">
69
+ <div class="col-xs-4">
70
+ <img src="../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
71
+ <label for="f_plan_name" class="font text-left">计划名称:</label>
72
+ </div>
73
+ <div class="col-xs-8" >
74
+ <input id="f_plan_name" class="search_input input-font"
75
+ v-model=model.f_plan_name condition="f_plan_name like '%{}%'" />
76
+ </div>
77
+ </div>
78
+ <div class="row app-row">
79
+ <div class="col-xs-4">
80
+ <img src="../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
81
+ <label for="f_userinfo_code" class="font text-left">用户编号:</label>
82
+ </div>
83
+ <div class="col-xs-8" >
84
+ <input id="f_userinfo_code" class="search_input input-font"
85
+ v-model=model.f_userinfo_code condition="ti.f_userinfo_code like '%{}%'" />
86
+ </div>
87
+ </div>
88
+
89
+ <div class="row app-row">
90
+ <div class="col-xs-4">
91
+ <img src="../../assets/用户姓名.png" style="width: 20px;margin-bottom: 5px" alt="">
92
+ <label for="f_user_name" class="font text-left">用户姓名:</label>
93
+ </div>
94
+ <div class="col-xs-8" >
95
+ <input id="f_user_name" class="search_input input-font"
96
+ v-model=model.f_user_name condition="ti.f_user_name like '%{}%'" />
97
+ </div>
98
+ </div>
99
+ <div class="row app-row" v-show="$parent.$parent.criteriaShow">
100
+ <div class="col-xs-4">
101
+ <img src="../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
102
+ <label for="f_keyword" class="font text-left">小区名称:</label>
103
+ </div>
104
+ <div class="col-xs-8" >
105
+ <input id="f_keyword" class="search_input input-font"
106
+ v-model="model.f_residential_area" condition="ti.f_residential_area like '%{}%'" />
107
+ </div>
108
+ </div>
109
+ <div class="row app-row" v-show="$parent.$parent.criteriaShow">
110
+ <div class="col-xs-4">
111
+ <img src="../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
112
+ <label for="f_building" class="font text-left">楼&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号:</label>
113
+ </div>
114
+ <div class="col-xs-8" >
115
+ <input id="f_building" class="search_input input-font"
116
+ v-model="model.f_building" condition="ti.f_building like '%{}%'" />
117
+ </div>
118
+ </div>
119
+ <div class="row app-row" v-show="$parent.$parent.criteriaShow">
120
+ <div class="col-xs-4">
121
+ <img src="../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
122
+ <label for="f_unit" class="font text-left">单&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;元:</label>
123
+ </div>
124
+ <div class="col-xs-8" >
125
+ <input id="f_unit" class="search_input input-font"
126
+ v-model="model.f_unit" condition="ti.f_unit like '%{}%'" />
127
+ </div>
128
+ </div>
129
+ <div class="row app-row" v-show="$parent.$parent.criteriaShow">
130
+ <div class="col-xs-4">
131
+ <img src="../../assets/shijian.png" style="width: 20px;margin-bottom: 5px" alt="">
132
+ <label for="f_plan_year" class="font text-left">计划年份:</label>
133
+ </div>
134
+ <div class="col-xs-8" >
135
+ <input id="f_plan_year" class="search_input input-font"
136
+ v-model="model.f_plan_year" condition="f_plan_year = '{}'" />
137
+ </div>
138
+ </div>
139
+ <div class="row app-row" v-show="$parent.$parent.criteriaShow">
140
+ <div class="col-xs-4">
141
+ <img src="../../assets/shijian.png" style="width: 20px;margin-bottom: 5px" alt="">
142
+ <label for="f_plan_month" class="font text-left">计划月份:</label>
143
+ </div>
144
+ <div class="col-xs-8" >
145
+ <input id="f_plan_month" class="search_input input-font"
146
+ v-model="model.f_plan_month" condition="f_plan_month = '{}'" />
147
+ </div>
148
+ </div>
149
+ <div class="row app-row" v-show="$parent.$parent.criteriaShow">
150
+ <div class="col-xs-4">
151
+ <img src="../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
152
+ <label class="font text-left">用户地址:</label>
153
+ </div>
154
+ <div class="col-xs-8" >
155
+ <input class="search_input input-font"
156
+ v-model=model.f_address condition="ti.f_address like '%{}%'" />
157
+ </div>
158
+
159
+ </div>
160
+
161
+ <div class="row app-row" v-show="$parent.$parent.criteriaShow">
162
+ <div class="col-xs-4">
163
+ <img src="../../assets/用户类型.png" style="width: 20px;margin-bottom: 5px" alt="">
164
+ <label for="f_user_type" class="font text-left">用户类型:</label>
165
+ </div>
166
+ <div class="col-xs-8" >
167
+ <v-select id="f_user_type" :value.sync="model.f_user_type" class="input-font"
168
+ :options='$parent.$parent.user_types' placeholder='请选择用户类型'
169
+ v-model="model.f_user_type" condition="ti.f_user_type='{}'" close-on-select clear-button></v-select>
170
+ </div>
171
+ </div>
172
+ <div class="row app-row" v-show="$parent.$parent.criteriaShow">
173
+ <div class="col-xs-4">
174
+ <img src="../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
175
+ <label class="font text-left">挂表方式:</label>
176
+ </div>
177
+ <div class="col-xs-8" >
178
+ <v-select :value.sync="model.f_flow_direction"
179
+ :value-single="true"
180
+ :options='$parent.$parent.flow_direction' placeholder='请选择挂表方式'
181
+ v-model="model.f_flow_direction" condition="tm.f_flow_direction='{}'" close-on-select clear-button></v-select>
182
+ </div>
183
+ </div>
184
+ <!--<div class="row app-row" v-show="$parent.$parent.criteriaShow">
185
+ <div class="col-xs-4">
186
+ <img src="../../assets/有无计划.png" style="width: 20px;margin-bottom: 5px" alt="">
187
+ <label for="f_no_checkplan" class="font text-left">有无计划:</label>
188
+ </div>
189
+ <div class="col-xs-8" >
190
+ <v-select id="f_no_checkplan" :value.sync="model.f_no_checkplan" class="input-font"
191
+ :options='$parent.$parent.planstates' placeholder='请选择有无计划'
192
+ v-model="model.f_no_checkplan" condition="ti.f_no_checkplan='{}'" close-on-select clear-button></v-select>
193
+ </div>
194
+ </div>-->
195
+ <!-- <div class="row app-row" v-show="false">-->
196
+ <!-- <div class="col-xs-4">-->
197
+ <!-- <img src="../../assets/是否已检.png" style="width: 20px;margin-bottom: 5px" alt="">-->
198
+ <!-- <label for="f_state" class="font text-left">是否已检:</label>-->
199
+ <!-- </div>-->
200
+ <!-- <div class="col-xs-8" >-->
201
+ <!-- <v-select id="f_state" :value.sync="model.f_state" class="input-font"-->
202
+ <!-- :options='$parent.$parent.check_states' placeholder='请选择是否已检'-->
203
+ <!-- v-model="model.f_state" condition="ti.f_state='{}'" close-on-select clear-button></v-select>-->
204
+ <!-- </div>-->
205
+ <!-- </div>-->
206
+ <!--<div class="row app-row" v-show="$parent.$parent.criteriaShow">
207
+ <div class="col-xs-4">
208
+ <img src="../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
209
+ <label for="f_last_state" class="font text-left">安检状态:</label>
210
+ </div>
211
+ <div class="col-xs-8" >
212
+ <v-select id="f_last_state" :value.sync="model.f_last_state" class="input-font"
213
+ :options='$parent.$parent.last_check_states' placeholder='请选择安检状态'
214
+ v-model="model.f_last_state" condition="ti.f_last_check_state='{}'" close-on-select clear-button></v-select>
215
+ </div>
216
+ </div>-->
217
+ <div class="row app-row" v-show="$parent.$parent.criteriaShow">
218
+ <div class="col-xs-4">
219
+ <img src="../../assets/上传状态.png" style="width: 20px;margin-bottom: 5px" alt="">
220
+ <label for="f_upload_state" class="font text-left">上传状态:</label>
221
+ </div>
222
+ <div class="col-xs-8" >
223
+ <v-select id="f_upload_state" :value.sync="model.f_upload_state" class="input-font"
224
+ :options='$parent.$parent.upload_states' placeholder='请选择上传状态'
225
+ v-model="model.f_upload_state" condition="ti.f_upload_state='{}'" close-on-select clear-button></v-select>
226
+ </div>
227
+ </div>
228
+ <div class="row text-center" style="margin-top: 20px;">
229
+ <button type="button" class="btn btn-lg btn-font btn-color" style="width: 45%;" @click="search">查询</button>
230
+ <div style="float: right;margin-right: 3% " class="button_spacing" :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}" @click="$parent.$parent.hidden()"></div>
231
+ </div>
232
+ <!--<div class="row app-btn">-->
233
+ <!--<button class="btn btn-primary col-xs-6" type="button" @click="search"><span class="glyphicon glyphicon-search" style="margin-right: 20px;">查询</span></button>-->
234
+ <!--</div>-->
235
+ <div style="height:30px;"></div>
236
+ </form>
237
+ </div>
238
+ </criteria>
239
+ <list :model="model" partial='list'>
240
+ <div partial>
241
+ <div class="auto app-text" style="margin-top: 5px;">
242
+ <div class="panel" style="padding: 10px 10px 5px 10px;">
243
+ <div class="panel-body panel-self">
244
+ <div class="col-xs-12">
245
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户编号:</b></p>
246
+ <p class="panel-title col-xs-7 text-left input-font" style="width: 79%">{{ row.f_userinfo_code }}</p>
247
+ </div>
248
+ <div class="col-xs-12">
249
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户名称:</b></p>
250
+ <p class="panel-title col-xs-7 text-left input-font" style="width: 79%">{{ row.f_user_name }}</p>
251
+ </div>
252
+ <div class="col-xs-6">
253
+ <p class="panel-title col-xs-5 text-left font"><b>用户类型:</b></p>
254
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_user_type }}
255
+ </p>
256
+ </div>
257
+ <div class="col-xs-6">
258
+ <p class="panel-title col-xs-5 text-left font"><b>计划名称:</b></p>
259
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_plan_name }}</p>
260
+ </div>
261
+ <div class="col-xs-12">
262
+ <p class="panel-title text-left font" style="width: 23%;float: left"><b>用户电话:</b></p>
263
+ <p class="panel-title text-left input-font" style="width: 77%">{{ row.f_user_phone2 ? row.f_user_phone2 : row.f_user_phone }}
264
+ <img src="../../assets/phone.png" style="width: 6%" v-on:click.stop.prevent='$parent.$parent.$parent.makeAPhoneCall(row.f_user_phone2 ? row.f_user_phone2 : row.f_user_phone)'></img>
265
+ </p>
266
+ </div>
267
+ <div class="col-xs-12">
268
+ <p class="panel-title text-left font" style="width: 21%;float: left"><b>用户地址:</b></p>
269
+ <p class="panel-title text-left input-font" style="width: 79%">{{ row.f_address }}</p>
270
+ </div>
271
+ <div class="col-xs-6">
272
+ <p class="panel-title col-xs-5 text-left font"><b>安检状态:</b></p>
273
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_state }}</p>
274
+ </div>
275
+ <div class="col-xs-6">
276
+ <p class="panel-title col-xs-5 text-left font"><b>上传状态:</b></p>
277
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_upload_state }}</p>
278
+ </div>
279
+ <div class="row">
280
+ <p class="panel-title col-xs-4 text-left font">有无计划</p>
281
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_no_checkplan }}</p>
282
+ </div>
283
+ <div class="row" v-if="row.f_upload_state=='已传'">
284
+ <p class="panel-title col-xs-4 text-left font"><b>上传时间</b></p>
285
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_upload_date }}</p>
286
+ </div>
287
+ <div class="row text-right">
288
+ <button type="button" class="btn yybtn-color" @click="$parent.$parent.$parent.inspect(row)" >查看</button>&nbsp;
289
+ <button type="button" class="btn qxbtn-color" v-if ="row.f_upload_state=='已传'"
290
+ @click='$parent.$parent.$parent.imgUp(row)'>图片补充</button>
291
+ </div>
292
+ </div>
293
+ </div>
294
+
295
+ </div>
296
+ </div>
297
+ </list>
298
+ </criteria-paged>
299
+ <modal :show.sync="showModal">
300
+ <div slot="modal-header" class="modal-header">
301
+ <h4 class="modal-title">
302
+ 选择预约时间
303
+ </h4>
304
+ </div>
305
+ <div slot="modal-body" class="modal-body">
306
+ <input type="datetime-local" v-model="f_preset_dt">
307
+ </div>
308
+ <div slot="modal-footer" class="modal-footer">
309
+ <button type="button" class="btn btn-default" @click="genuineReserve">确认</button>
310
+ </div>
311
+ </modal>
312
+ <modal :show.sync="imgUpModalShow">
313
+ <div slot="modal-header" class="modal-header">
314
+ <h4 class="modal-title">
315
+ 图片补充上传
316
+ </h4>
317
+ </div>
318
+ <div slot="modal-body" class="modal-body">
319
+ <div class="auto" :class="style__">
320
+ <div class="panel" style="padding: 10px 10px 5px 10px;">
321
+ <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
322
+ <div class="row" style="height: 240px;overflow: scroll;top: 1px" >
323
+ <div class="col-xs-4 col-sm-3 col-md-2" style="margin-bottom: 35px" v-for="(index,img) in tableImages">
324
+ <img-self :src="img.path" alt="安检补充照片" :width="140" :height="170"></img-self>
325
+ <img src="../../assets/删除.png" @click="delfile('path', img.path,index)" style="width: 15px;margin-top: -80px" alt="">
326
+ </div>
327
+ </div>
328
+ <div class="row text-right div-photo">
329
+ <button type="button" name="button" class="btn btn-photo" @click="takePic('path', '安检补充照片')">拍照</button>
330
+ </div>
331
+ </div>
332
+ </div>
333
+ </div>
334
+ </div>
335
+ <div slot="modal-footer" class="modal-footer">
336
+ <button type="button" class="btn btn-default" @click="uploadPic">上传</button>
337
+ </div>
338
+ </modal>
339
+ <!--<back-page :need-back='true' @flag="$back()"></back-page>-->
340
+ </div>
341
+ </template>
342
+
343
+ <script>
344
+ import LocalPagedList from '../../plugins/LocalPagedList'
345
+ import Vue from 'vue'
346
+ import {HttpResetClass, PagedList} from 'vue-client'
347
+ import * as Util from '../Util'
348
+
349
+ export default {
350
+ title: '安检计划项',
351
+ data() {
352
+ return {
353
+ tableImages:[],
354
+ paper_id:'',
355
+ imgUpModalShow:false,
356
+ model:Vue.android? new LocalPagedList('androidGetHasDone',5): new PagedList( 'AndroidRest/rs/sql/androidGetHasDone',5),
357
+ showModal: false,
358
+ param: null,
359
+ criteriaShow: false,
360
+ f_preset_dt : Util.to3339TimeString(),
361
+ flow_direction:[
362
+ {label: '全部', value: ''},
363
+ {label: '左表', value: '左表'},
364
+ {label: '右表', value: '右表'}
365
+ ],
366
+ check_states: [
367
+ {label: '请选择安检状态', value: ''},
368
+ {label: '未检', value: '未检'},
369
+ {label: '已检', value: '已检'},
370
+ ],
371
+ last_check_states: [
372
+ {label: '请选择上次安检状态', value: ''},
373
+ {label: '入户', value: '入户'},
374
+ {label: '拒检', value: '拒检'},
375
+ {label: '到访不遇', value: '到访不遇'},
376
+ {label: '未使用天然气', value: '未使用天然气'}
377
+ ],
378
+ upload_states: [
379
+ {label: '请选择上传状态', value: ''},
380
+ {label: '未传', value: '未传'},
381
+ {label: '已传', value: '已传'}
382
+ ],
383
+ user_types: [
384
+ {label: '请选择用户类型', value: ''},
385
+ {label: '民用', value: '民用'},
386
+ {label: '非民用', value: '非民用'},
387
+ ],
388
+ verify_state: [
389
+ {label: '请选择审核状态', value: ''},
390
+ {label: '未审核', value: '未审核'},
391
+ {label: '打回', value: '打回'}
392
+ ],
393
+ planstates:[
394
+ {label: '请选择有无安检计划', value: ''},
395
+ {label: '有计划安检', value: '有计划安检'},
396
+ {label: '无计划安检', value: '无计划安检'},
397
+ ]
398
+ }
399
+ },
400
+ ready(){
401
+ this.$refs.paged.$refs.cri.model.f_state = '已检'
402
+ },
403
+ methods: {
404
+ delfile(prop, fileName, index) {
405
+ if (fileName == Vue.nopic){
406
+
407
+ }else {
408
+ this.tableImages.splice(index, 1)
409
+ HostApp.delfile(fileName)
410
+ }
411
+ },
412
+ cameraCallBack(prop, fileName) {
413
+ if (prop == 'path') {
414
+ let path = fileName
415
+ HostApp.__this__.tableImages.push({
416
+ path: path
417
+ })
418
+ } else {
419
+ HostApp.__this__.paper[prop] = fileName
420
+ }
421
+ HostApp.__callback__ = null
422
+ HostApp.__this__ = null
423
+ },
424
+ takePic(prop, title) {
425
+ HostApp.__callback__ = this.cameraCallBack
426
+ HostApp.__this__ = this
427
+ let fileName = Util.guid() + '-' + prop + '.jpg'
428
+ HostApp._open_a_page({
429
+ type: 'boomerang',
430
+ page: 'com.aofeng.hybrid.android.peripheral.CameraActivity',
431
+ param: {
432
+ file: fileName,
433
+ requestCode: 111,
434
+ callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");',
435
+ watermark: title + '\t时间:' + Util.toStandardTimeString() + '\t' + Vue.user.name
436
+ }
437
+ })
438
+ },
439
+ imgUp(row){
440
+ this.tableImages = []
441
+ this.paper_id = ''
442
+ let http = new HttpResetClass()
443
+ http.load('POST',`${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`, {data: {
444
+ items: 'id',
445
+ tablename: 't_check_paper',
446
+ condition: `f_check_item_id = '${row.id}'`,
447
+ orderitem: 'f_upload_date'
448
+ }}, {resolveMsg: null, rejectMsg: null}).then((res) => {
449
+ this.paper_id = res.data[0].id
450
+ this.imgUpModalShow = true
451
+ })
452
+ },
453
+ async uploadPic() {
454
+ if (this.tableImages.length == 0){
455
+ this.$showMessage('请上传图片')
456
+ return
457
+ }
458
+ let data = {
459
+ tableImages: this.tableImages
460
+ }
461
+ HostApp.__this__ = this
462
+ HostApp.logicWithHint({
463
+ 'logic': 'imagesUploadAndroid', 'callback': 'javascript: HostApp.__this__.commitCallBack()',
464
+ 'data': data, 'backresult': 1
465
+ })
466
+ },
467
+ async commitCallBack(jo) {
468
+ if (jo.state == 'ok'){
469
+ let result = JSON.parse(jo.result)
470
+ if (result.images && result.images.length > 0){
471
+ let condition = result.images.map((item)=>{return `'${item.imgid}'`}).join()
472
+ await new HttpResetClass().load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/runSQL`, {data: {sql: `update t_files set f_blobid = '${this.paper_id}' where id in (${condition})`}},
473
+ {resolveMsg: null, rejectMsg: '上传成功'})
474
+ this.$showMessage('上传图片成功')
475
+ this.tableImages = []
476
+ this.paper_id = ''
477
+ this.imgUpModalShow = false
478
+ }else {
479
+ this.$showMessage('上传图片失败')
480
+ }
481
+ }
482
+
483
+ },
484
+ refresh() {
485
+ //tag
486
+ // hard code relationship
487
+ this.$refs.paged.$refs.cri.search()
488
+ },
489
+ reload(){
490
+ //tag
491
+ this.$refs.paged.loadPage(this.$refs.paged.model.pageIndex)
492
+ },
493
+ inspect(row) {
494
+ this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/sql/查询计划项表信息`, {data: {f_userid: row.f_userinfoid}}).then((response) => {
495
+ //tag)
496
+ row['f_plan_meters'] = response.data
497
+ var pardate = {
498
+ _this:this,
499
+ tittle:'安检计划',
500
+ safe:true
501
+ }
502
+ this.$dispatch('gotoson',pardate)
503
+ this.$goto('AspiratedOrderV', {f_plan_id: row.f_plan_id, item: row, role: 'inspect'}, 'self', this.reload)
504
+ /* if (row.f_user_type == '民用') {
505
+ this.$goto('paper-set', {f_plan_id: row.f_plan_id, item: row, role: 'inspect'}, 'self', this.reload)
506
+ } else {
507
+ this.$goto('paper-set-noncivil', {f_plan_id: row.f_plan_id, item: row, role: 'inspect'}, 'self', this.reload)
508
+ }*/
509
+ }).catch((err)=>{
510
+ this.$showMessage('网络异常,请稍后再试!')
511
+ })
512
+
513
+ },
514
+ makeAPhoneCall(phoneNumber) {
515
+ this.$androidUtil.makeAPhoneCall(phoneNumber)
516
+ },
517
+ reserve (idx) {
518
+ this.param = idx
519
+ this.showModal = true
520
+ },
521
+ cancelReserve (idx, id) {
522
+ if(Vue.android){
523
+ let res = this.$androidUtil.bzLogic('BookingCheck', {dt: '', id: id})
524
+ this.$set('model.rows[' + idx + '].f_prearranged_date', null)
525
+ if (res.code == 200) {
526
+ this.$showMessage("取消预约成功")
527
+ }
528
+ }else {
529
+ this.$androidUtil.bzLogic('PCbookingCheck', {dt: '', id: id}).then((repanse) => {
530
+ this.$set('model.rows[' + idx + '].f_prearranged_date', null)
531
+ if (repanse.data.code == 200) {
532
+ alert("取消预约成功!")
533
+ }
534
+ })
535
+ }},
536
+ genuineReserve () {
537
+ if(Vue.android){
538
+ if (!this.f_preset_dt) {
539
+ this.$showMessage('请选择一个日期')
540
+ return
541
+ }
542
+ let pdt = this.f_preset_dt.replace('T', ' ')
543
+ let respanse = this.$androidUtil.bzLogic('BookingCheck', {id: this.model.rows[this.param].id, dt: pdt})
544
+ this.$set('model.rows[' + this.param + '].f_prearranged_date', pdt)
545
+ if(respanse.code == 200) {
546
+ this.$showMessage("预约成功!")
547
+ }
548
+ this.showModal = false
549
+ }else {
550
+ if (!this.f_preset_dt) {
551
+ alert('请选择一个日期')
552
+ return
553
+ }
554
+ let pdt = this.f_preset_dt.replace('T', ' ')
555
+ this.$androidUtil.bzLogic('PCbookingCheck', {id: this.model.rows[this.param].id, dt: pdt}).then((res) => {
556
+ this.$set('model.rows[' + this.param + '].f_prearranged_date', pdt)
557
+ if(res.data.code == 200) {
558
+ alert("预约成功!")
559
+ }
560
+ this.showModal = false
561
+ })
562
+ }
563
+ },
564
+ selfSearch (args) {
565
+ args.condition += " and f_complete = '已完成' and ti.f_safecheck_type='送气类型'"
566
+ //tag)
567
+ this.model.search(args.condition,args.model)
568
+ },
569
+ hidden() {
570
+ this.criteriaShow = !this.criteriaShow
571
+ }
572
+ }
573
+ }
574
+ </script>