safecheck-client 3.0.30-62-t11 → 3.0.30-62-t12

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 (244) hide show
  1. package/examples/SafePlan/comp.js +1527 -1527
  2. package/examples/SafePlan-liaoyuan/comp.js +1432 -1432
  3. package/examples/SafePlan-shaoguan/comp.js +1190 -1190
  4. package/examples/SafePlan-tongchuan/comp.js +1480 -1480
  5. package/examples/SafePlan-wenxi/comp.js +1545 -1545
  6. package/examples/SafePlan-zhoukou/comp.js +1525 -1525
  7. package/examples/SafePlanrongcheng/comp.js +1141 -1141
  8. package/examples/SafePlanrongcheng-gs/comp.js +1140 -1140
  9. package/examples/SafePlanrongcheng-gssq/comp.js +1143 -1143
  10. package/examples/SafePlanrongcheng-mysq/comp.js +1144 -1144
  11. package/package.json +1 -1
  12. package/src/components/CheckerCount/ZhouKouCheckCount.vue +272 -272
  13. package/src/components/DefectDealMain/DefectPaperNew.vue +1052 -1052
  14. package/src/components/NewDefectList/DefectPaperNew.vue +1079 -1079
  15. package/src/components/checkplan/CheckDetail.vue +205 -205
  16. package/src/components/checkplan/SelectCheckPlan.vue +311 -311
  17. package/src/components/createcheckplan/PlanUersList.vue +137 -137
  18. package/src/components/defect/DefectPaper.vue +764 -764
  19. package/src/components/defect/DefectPaperWeiXiu.vue +508 -508
  20. package/src/components/inspections/InspectionList.vue +476 -476
  21. package/src/components/inspections/InspectionLists.vue +478 -478
  22. package/src/components/inspections/InspectionListss.vue +477 -477
  23. package/src/components/noplan/NoPlanSearchUser.vue +300 -300
  24. package/src/components/olddata/OldPaperList.vue +340 -340
  25. package/src/components/paper/PaperList.vue +790 -790
  26. package/src/components/paper/filialeCheckInfo.vue +111 -111
  27. package/src/components/pc/CheckNoDetail.vue +209 -209
  28. package/src/components/pc/DefectDeal.vue +997 -997
  29. package/src/components/pc/NewCheckpaper.vue +1957 -1957
  30. package/src/components/pc/PaperChazhiMain.vue +504 -504
  31. package/src/components/pc/PaperDefectMain.vue +1 -1
  32. package/src/components/pc/PaperEdit.vue +151 -151
  33. package/src/components/pc/PaperVisitMain.vue +179 -179
  34. package/src/components/pc/SafeVisitHistory.vue +208 -208
  35. package/src/components/pc/SafecheckDeviceList.vue +260 -260
  36. package/src/components/pc/SecurityCheckLedger.vue +133 -133
  37. package/src/components/pc/SelectCheckNoPlan.vue +278 -278
  38. package/src/components/pc/SelectCheckPlanAndNoPLan.vue +281 -281
  39. package/src/components/planmanage/checkPlanList.vue +369 -369
  40. package/src/components/planmanage/checkUserList.vue +773 -773
  41. package/src/components/querycheckpaper/CheckSearchUser.vue +1067 -1067
  42. package/src/components/querycheckpaper/CheckSearchUserNew.vue +1109 -1109
  43. package/src/components/querycheckpaper/ShebeiSearchUser.vue +690 -690
  44. package/src/components/report/CheckPlanAreaList.vue +505 -505
  45. package/src/components/report/CheckPlanUserList.vue +216 -216
  46. package/src/components/report/NoCheckplanSafecheck.vue +212 -212
  47. package/src/components/rongcheng/CheckSearchArea.vue +703 -703
  48. package/src/components/rongcheng/CheckSearchUser.vue +936 -936
  49. package/src/components/rongcheng/CheckSearchUserNo.vue +778 -778
  50. package/src/components/rongcheng/CheckUserList.vue +205 -205
  51. package/src/components/rongcheng/DefectPaper.vue +676 -676
  52. package/src/components/rongcheng/PaperListAJ.vue +434 -434
  53. package/src/components/rongcheng/PaperListNPAJ.vue +431 -431
  54. package/src/components/rongcheng/PaperListNPSQ.vue +455 -455
  55. package/src/components/rongcheng/PaperListSQ.vue +444 -444
  56. package/src/components/rongcheng/checkerplan/SelectCheckPlan.vue +271 -271
  57. package/src/components/rongcheng/report/CheckPlanUserList.vue +228 -228
  58. package/src/components/safecheckNew/PaperList.vue +785 -785
  59. package/src/components/shaoguan/DefectPaper.vue +217 -217
  60. package/src/components/shaoguan/PaperList.vue +466 -466
  61. package/src/components/userfile/UserInfoAudit.vue +316 -316
  62. package/src/filiale/ALshan/pc/CheckSearchUser.vue +927 -927
  63. package/src/filiale/ALshan/pc/checkUserList.vue +714 -714
  64. package/src/filiale/ancheng/pc/PaperList.vue +659 -659
  65. package/src/filiale/ankangyihua/pc/CheckPlanAreaList.vue +512 -512
  66. package/src/filiale/ankangyihua/pc/CheckSearchUser.vue +1039 -1039
  67. package/src/filiale/ankangyihua/pc/DefectPaperWeiXiu.vue +545 -545
  68. package/src/filiale/ankangyihua/pc/PaperDefectMain.vue +864 -864
  69. package/src/filiale/ankangyihua/pc/PaperList.vue +656 -656
  70. package/src/filiale/ankangyihua/pc/checkUserList.vue +697 -697
  71. package/src/filiale/baiyin/pc/CheckPlanAreaList.vue +485 -485
  72. package/src/filiale/baiyin/pc/CheckSearchUser.vue +1067 -1067
  73. package/src/filiale/baiyin/pc/DefectPaperNew.vue +1052 -1052
  74. package/src/filiale/baiyin/pc/PaperList.vue +790 -790
  75. package/src/filiale/baiyin/pc/checkUserList.vue +771 -771
  76. package/src/filiale/bayan/pc/CheckDetail.vue +205 -205
  77. package/src/filiale/bayan/pc/CheckSearchUser.vue +1110 -1110
  78. package/src/filiale/bayan/pc/DefectPaperNew.vue +1239 -1239
  79. package/src/filiale/bayan/pc/PaperList.vue +900 -900
  80. package/src/filiale/bayan/pc/SelectCheckPlan.vue +396 -396
  81. package/src/filiale/dexin/pc/DefectPaperNew.vue +1066 -1066
  82. package/src/filiale/dexin/pc/PaperList.vue +805 -805
  83. package/src/filiale/fugou/pc/DefectPaperNew.vue +1085 -1085
  84. package/src/filiale/fugou/pc/PaperDefectMain.vue +928 -928
  85. package/src/filiale/fugou/pc/PaperList.vue +911 -911
  86. package/src/filiale/fugou/pc/checkPlanList.vue +371 -371
  87. package/src/filiale/fugou/pc/checkUserList.vue +904 -904
  88. package/src/filiale/fugu/pc/CheckSearchUser.vue +977 -977
  89. package/src/filiale/fugu/pc/SelectCheckPlan.vue +273 -273
  90. package/src/filiale/fugu/pc/planmanage/checkUserList.vue +688 -688
  91. package/src/filiale/ganquan/pc/DefectPaperNew.vue +1009 -1009
  92. package/src/filiale/ganquan/pc/PaperList.vue +654 -654
  93. package/src/filiale/ganquan/pc/PaperVisitMain.vue +166 -166
  94. package/src/filiale/ganquan/pc/SelectCheckPlan.vue +234 -234
  95. package/src/filiale/ganquan/pc/checkUserList.vue +681 -681
  96. package/src/filiale/gehua/pc/PaperList.vue +558 -558
  97. package/src/filiale/gehua/pc/checkUserList.vue +720 -720
  98. package/src/filiale/guangxi/pc/CheckPlanAreaList.vue +471 -471
  99. package/src/filiale/guangxi/pc/DefectPaperNew.vue +988 -988
  100. package/src/filiale/hanzhong/pc/CheckSearchUser.vue +1127 -1127
  101. package/src/filiale/hanzhong/pc/CheckUserList.vue +755 -755
  102. package/src/filiale/hanzhong/pc/PaperList.vue +702 -702
  103. package/src/filiale/huaran/pc/PaperList.vue +843 -843
  104. package/src/filiale/huaran/pc/checkPlanList.vue +419 -419
  105. package/src/filiale/huaran/pc/checkUserList.vue +900 -900
  106. package/src/filiale/huatong/pc/PaperDefectMain.vue +800 -800
  107. package/src/filiale/huatong/pc/PaperList.vue +789 -789
  108. package/src/filiale/huayin/pc/PaperList.vue +621 -621
  109. package/src/filiale/jiaocheng/pc/CheckSearchUser.vue +1011 -1011
  110. package/src/filiale/jinbin/pc/CheckPlanAreaList.vue +479 -479
  111. package/src/filiale/jingyang/pc/CheckSearchUser.vue +1062 -1062
  112. package/src/filiale/jingyang/pc/PaperList.vue +793 -793
  113. package/src/filiale/jingyang/pc/ReportCheckItemList.vue +543 -543
  114. package/src/filiale/kelai/pc/CheckPlanAreaList.vue +476 -476
  115. package/src/filiale/kelai/pc/CheckSearchUser.vue +1011 -1011
  116. package/src/filiale/kelai/pc/DefectPaperNew.vue +1090 -1090
  117. package/src/filiale/kelai/pc/FaultLimitGas/FaultLimitGasPaper.vue +897 -897
  118. package/src/filiale/kelai/pc/PaperList.vue +596 -596
  119. package/src/filiale/kelai/pc/checkUserList.vue +698 -698
  120. package/src/filiale/liaoyuan/pc/CheckSearchUser.vue +963 -963
  121. package/src/filiale/liaoyuan/pc/DefectPaperWeiXiu.vue +1011 -1011
  122. package/src/filiale/liaoyuan/pc/PaperList.vue +637 -637
  123. package/src/filiale/liaoyuan/pc/checkPlanList.vue +373 -373
  124. package/src/filiale/lixian/pc/CheckPlanAreaList.vue +467 -467
  125. package/src/filiale/lixian/pc/CheckSearchUser.vue +927 -927
  126. package/src/filiale/lixian/pc/PaperChazhiMain.vue +540 -540
  127. package/src/filiale/lixian/pc/PaperDefectMain.vue +551 -551
  128. package/src/filiale/lixian/pc/PaperList.vue +620 -620
  129. package/src/filiale/lixian/pc/checkPlanList.vue +366 -366
  130. package/src/filiale/lixian/pc/checkUserList.vue +761 -761
  131. package/src/filiale/minsheng/pc/CheckSearchUser.vue +976 -976
  132. package/src/filiale/minsheng/pc/checkUserList.vue +806 -806
  133. package/src/filiale/pingxiang/pc/DefectPaperNew.vue +1012 -1012
  134. package/src/filiale/pingxiang/pc/PaperList.vue +595 -595
  135. package/src/filiale/qianneng/pc/DefectPaperNew.vue +1072 -1072
  136. package/src/filiale/qianneng/pc/NoCheckplanSafecheck.vue +220 -220
  137. package/src/filiale/qianneng/pc/PaperList.vue +777 -777
  138. package/src/filiale/qianneng/pc/checkPlanList.vue +429 -429
  139. package/src/filiale/qianneng/pc/checkUserList.vue +871 -871
  140. package/src/filiale/qingjian/pc/PaperDefectMain.vue +895 -895
  141. package/src/filiale/qingtongxia/pc/PaperDefectMain.vue +858 -858
  142. package/src/filiale/rizhao/pc/PaperList.vue +714 -714
  143. package/src/filiale/rongchuang/pc/PaperList.vue +812 -812
  144. package/src/filiale/rongchuang/pc/checkUserList.vue +621 -621
  145. package/src/filiale/shanxian/pc/CheckDetail.vue +205 -205
  146. package/src/filiale/shanxian/pc/CheckSearchUser.vue +1114 -1114
  147. package/src/filiale/shanxian/pc/DefectPaperNew.vue +1096 -1096
  148. package/src/filiale/shanxian/pc/PaperList.vue +785 -785
  149. package/src/filiale/shanxian/pc/SelectCheckPlan.vue +324 -324
  150. package/src/filiale/shanxian/pc/checkUserList.vue +700 -700
  151. package/src/filiale/shaoguan/pc/PaperList.vue +589 -589
  152. package/src/filiale/shexian/pc/DefectPaperNew.vue +1161 -1161
  153. package/src/filiale/shexian/pc/PaperDefectMain.vue +893 -893
  154. package/src/filiale/shexian/pc/PaperList.vue +822 -822
  155. package/src/filiale/shimen/pc/CheckPlanAreaList.vue +463 -463
  156. package/src/filiale/shimen/pc/CheckSearchUser.vue +927 -927
  157. package/src/filiale/shimen/pc/PaperDefectMain.vue +589 -589
  158. package/src/filiale/shimen/pc/PaperList.vue +547 -547
  159. package/src/filiale/shiquan/pc/checkUserList.vue +755 -755
  160. package/src/filiale/siyang/pc/CheckPlanAreaList.vue +512 -512
  161. package/src/filiale/siyang/pc/CheckSearchUser.vue +1035 -1035
  162. package/src/filiale/siyang/pc/PaperDefectMain.vue +864 -864
  163. package/src/filiale/siyang/pc/PaperList.vue +834 -834
  164. package/src/filiale/siyang/pc/checkPlanList.vue +367 -367
  165. package/src/filiale/siyang/pc/checkUserList.vue +765 -765
  166. package/src/filiale/tianke/pc/PaperDefectMain.vue +891 -891
  167. package/src/filiale/tongchuan/pc/CheckDetail.vue +205 -205
  168. package/src/filiale/tongchuan/pc/CheckPlanAreaList.vue +502 -502
  169. package/src/filiale/tongchuan/pc/CheckPlanUserList.vue +246 -246
  170. package/src/filiale/tongchuan/pc/CheckSearchUser.vue +1045 -1045
  171. package/src/filiale/tongchuan/pc/DefectPaper.vue +764 -764
  172. package/src/filiale/tongchuan/pc/DefectPaperWeiXiu.vue +593 -593
  173. package/src/filiale/tongchuan/pc/NoCheckplanSafecheck.vue +213 -213
  174. package/src/filiale/tongchuan/pc/PaperDefectMain.vue +1060 -1060
  175. package/src/filiale/tongchuan/pc/PaperList.vue +670 -670
  176. package/src/filiale/tongchuan/pc/SelectCheckPlan.vue +296 -296
  177. package/src/filiale/tongchuan/pc/checkUserList.vue +639 -639
  178. package/src/filiale/weinan/pc/CheckBookSearchUserList.vue +735 -735
  179. package/src/filiale/weinan/pc/CheckDetail.vue +278 -278
  180. package/src/filiale/weinan/pc/CheckDetailOutHelp.vue +297 -297
  181. package/src/filiale/weinan/pc/CheckNoDetail.vue +259 -259
  182. package/src/filiale/weinan/pc/CheckPlanUserList.vue +338 -338
  183. package/src/filiale/weinan/pc/CheckSearchUser.vue +1078 -1078
  184. package/src/filiale/weinan/pc/DefectPaperNew.vue +1096 -1096
  185. package/src/filiale/weinan/pc/PaperDefectMain.vue +576 -576
  186. package/src/filiale/weinan/pc/PaperList.vue +674 -674
  187. package/src/filiale/weinan/pc/SelectCheckNoPlan.vue +299 -299
  188. package/src/filiale/weinan/pc/SelectCheckPlan.vue +389 -389
  189. package/src/filiale/weinan/pc/SelectCheckPlanOutHelp.vue +446 -446
  190. package/src/filiale/weinan/pc/checkPlanList.vue +456 -456
  191. package/src/filiale/weinan/pc/checkUserList.vue +712 -712
  192. package/src/filiale/weinanct/pc/PaperList.vue +593 -593
  193. package/src/filiale/wensu/pc/CheckDetail.vue +205 -205
  194. package/src/filiale/wensu/pc/CheckSearchUser.vue +1238 -1238
  195. package/src/filiale/wensu/pc/DefectPaperNew.vue +1148 -1148
  196. package/src/filiale/wensu/pc/SelectCheckPlan.vue +342 -342
  197. package/src/filiale/wensu/pc/checkUserList.vue +650 -650
  198. package/src/filiale/wenxi/pc/CheckPlanAreaList.vue +456 -456
  199. package/src/filiale/wenxi/pc/CheckPlanUserList.vue +217 -217
  200. package/src/filiale/wenxi/pc/CheckSearchUser.vue +991 -991
  201. package/src/filiale/wenxi/pc/DefectPaper.vue +663 -663
  202. package/src/filiale/wenxi/pc/PaperDefectMain.vue +790 -790
  203. package/src/filiale/wenxi/pc/PaperList.vue +949 -949
  204. package/src/filiale/wenxi/pc/checkPlanList.vue +517 -517
  205. package/src/filiale/wenxi/pc/checkUserList.vue +695 -695
  206. package/src/filiale/wuan/pc/DefectPaperWeiXiu.vue +515 -515
  207. package/src/filiale/wuan/pc/PaperList.vue +562 -562
  208. package/src/filiale/wuhai/pc/CheckSearchUser.vue +959 -959
  209. package/src/filiale/wuhai/pc/PaperList.vue +785 -785
  210. package/src/filiale/wuhai/pc/checkUserList.vue +611 -611
  211. package/src/filiale/xilan/pc/PaperList.vue +795 -795
  212. package/src/filiale/xilan/pc/checkUserList.vue +772 -772
  213. package/src/filiale/xinkang/pc/CheckPlanAreaList.vue +425 -425
  214. package/src/filiale/xinkang/pc/CheckPlanUserList.vue +216 -216
  215. package/src/filiale/xinkang/pc/CheckSearchUser.vue +1026 -1026
  216. package/src/filiale/xinkang/pc/DefectPaperWeiXiu.vue +538 -538
  217. package/src/filiale/xinkang/pc/PaperDefectMain.vue +525 -525
  218. package/src/filiale/xinkang/pc/PaperList.vue +603 -603
  219. package/src/filiale/xinkang/pc/checkUserList.vue +639 -639
  220. package/src/filiale/yangchunboneng/pc/CheckBookUser.vue +269 -269
  221. package/src/filiale/yangchunboneng/pc/CheckPlanAreaList.vue +642 -642
  222. package/src/filiale/yangchunboneng/pc/CheckSearchUser.vue +1192 -1192
  223. package/src/filiale/yangchunboneng/pc/DefectPaperNew.vue +1128 -1128
  224. package/src/filiale/yangchunboneng/pc/PaperDefectMain.vue +1046 -1046
  225. package/src/filiale/yangchunboneng/pc/PaperList.vue +773 -773
  226. package/src/filiale/yongzhou/pc/CheckSearchUser.vue +1092 -1092
  227. package/src/filiale/yongzhou/pc/DefectPaperNew.vue +1105 -1105
  228. package/src/filiale/yongzhou/pc/NoCheckplanSafecheck.vue +557 -557
  229. package/src/filiale/yongzhou/pc/PaperDefectMain.vue +872 -872
  230. package/src/filiale/yongzhou/pc/PaperList.vue +798 -798
  231. package/src/filiale/yongzhou/pc/SelectCheckPlan.vue +364 -364
  232. package/src/filiale/yongzhou/pc/checkUserList.vue +752 -752
  233. package/src/filiale/yongzhou/pc/communityDetail.vue +194 -194
  234. package/src/filiale/yongzhou/pc/communityTypeDetailG.vue +138 -138
  235. package/src/filiale/yongzhou/pc/safeDetail.vue +539 -539
  236. package/src/filiale/yongzhou/pc/safeStatisticsDay.vue +455 -455
  237. package/src/filiale/yongzhou/pc/safeStatisticsMonth.vue +267 -267
  238. package/src/filiale/yuansheng/pc/PaperList.vue +621 -621
  239. package/src/filiale/yunchengminsheng/pc/checkUserList.vue +753 -753
  240. package/src/filiale/zhongsheng/pc/CheckPlanAreaList.vue +495 -495
  241. package/src/filiale/zhongsheng/pc/DefectPaperWeiXiu.vue +515 -515
  242. package/src/filiale/zhongsheng/pc/PaperList.vue +644 -644
  243. package/src/filiale/zhoukou/pc/CheckSearchUser.vue +923 -923
  244. package/src/filiale/zhoukou/pc/PaperDefectMain.vue +465 -465
@@ -1,1140 +1,1140 @@
1
- import {SearchList, date} from 'vue-client'
2
- import {PagedList} from 'vue-client'
3
- import {HttpResetClass,trans} from 'vue-client'
4
- import Vue from "vue"
5
- import ObjConfig from '../../src/plugins/GerJsonObjectConfig'
6
-
7
- export default class Comp {
8
-
9
-
10
- needconfig= {}
11
- isSend=true
12
- // 用户安检信息列表
13
- user = new SearchList(true)
14
- //遍历的按钮
15
- listbutton=[]
16
- fdevices=[]
17
- // 安检计划列表
18
- checkplan = new SearchList(true)
19
- // 安检计划的安检单列表
20
- checkplanitems = new SearchList(true)
21
- //按钮隐藏判断
22
- suppplanitem={}
23
- orderList= ['按时间降序', '按时间升序']//排序下拉框的值
24
- currentorder='按时间降序'//排序下拉框当前选中的值
25
- // 新增安检计划时保存的数据
26
- newPlan = {f_issued:"否",f_safecheck_type:"年度普检",f_plan_type:"非民用"}
27
- http = new HttpResetClass()
28
- //查询计划弹框中是否共享选项
29
- isAndNot = ["是", "否"]
30
- //用户类型
31
- userType=["民用","非民用"]
32
- issuedList= ["是","否"]
33
- listbuttona=[]
34
- listbuttonb=[]
35
- listbuttonc=[]
36
- listbuttond=[]
37
- //安检计划查询中的是否是共享计划单选的当前选中值
38
- sIsAndNotSelect=''
39
- //用户列表的自选查询条件的值
40
- userCondition=["请选择条件","用户类型","地址"]
41
- //当前选中的下拉值
42
- userConditionSelect="请选择条件"
43
- //当前输入的值
44
- userConditionValue=""
45
- //计划项列表自选查询条件的值
46
- planItemCondition=["请选择条件","用户编号","用户名称"]
47
- //
48
- promptStatement='请选择安检员'
49
- planItemConditional={}
50
- //入户状态
51
- userState=["到访不遇","拒检","入户"]
52
- ischeckSude=["全部","已发","未发"]
53
- checkSude=''
54
- //燃气使用
55
- gasUse=["已使用","未使用"]
56
- //当前选中的下拉值
57
- planItemConditionSelect="请选择条件"
58
- //当前输入的值
59
- planItemConditionValue=""
60
- //小区域列表
61
- small_area=[]
62
- //区域列表
63
- streets=[]
64
- //小区列表
65
- areaList=[]
66
- //当前选中计划名称
67
- SelectedPlanName=''
68
- //safecheckTypeList=Vue.$appdata.getParam("安检类型")
69
- safecheckTypeList=["年度普检"]
70
- smallAreaList=['市区','成山','俚岛','港西']
71
- //今年是否安检
72
- yearChecked=["全部","已检","未检"]
73
- //
74
- yChecked=''
75
- //安检员列表
76
- checker=[]
77
- //送气员列表
78
- aspirated=[]
79
- aspiratedPlan={issued:'是'}
80
- employeeList=[]
81
- employeeName='安检员'
82
- checkersname=[]
83
- //新建计划时保存是否共享计划的值,
84
- isShare="否"
85
- //安检类型
86
- safecheckList=["年度普检"]
87
- //时间单位
88
- unitTime=["天","月"]
89
- selectTime="天"
90
- startday=""
91
- endday=""
92
- str=[]
93
- //当前打开的安检计划id
94
- SelectedPlan=""
95
- //燃气表增添项
96
- gasexpress=[{"lname":"燃气表照片","type":"picture"},
97
- {"lname":"表品牌","type":"string","readonly":true},
98
- {"lname":"表号","type":"string","readonly":true},
99
- {"lname":"表封号","type":"number","readonly":true},
100
- {"lname":"表型号","type":"string","readonly":true},
101
- {"lname":"位置","type":"string","readonly":true},
102
- {"lname":"表底数","type":"number","readonly":true},
103
- {"lname":"左右表","type":"string","readonly":true}]
104
- //当前分公司id
105
- filialeid=global.login.orgid
106
-
107
- //filialeid=305
108
-
109
- //用户列表查询条件json
110
- conditionJson=[
111
- {column:"f_unit",checkname:"单元号码",type:"input"},
112
- {column:"userType",checkname:"用户类型",type:"selector",options:['民用','非民用']},
113
- {column:"f_user_state",checkname:"用户状态",type:"selector",options:['正常','停用']},
114
- {column:"hasplan",checkname:"有无计划",type:"selector",options:['已有计划','无计划']},
115
- {column:"f_small_area",checkname:"小区域",type:"selector",options:this.small_area},
116
- {column:"useraddress",checkname:"用户地址",type:"input"}
117
- ]
118
- conditionList=[
119
- {selectitem:{column:"f_user_state",checkname:"用户状态",type:"selector",options:['正常','停用']},selectValue:'正常',num:0},
120
- {selectitem:{column:"useraddress",checkname:"用户地址",type:"input"},selectValue:'',num:1},
121
- {selectitem:{column:"userType",checkname:"用户类型",type:"selector",options:['民用','非民用']},selectValue:'非民用',num:2},
122
- {selectitem:{checkname:"请选择",type:"input"},selectValue:'',num:3}
123
- ]
124
- //安检项列表查询条件
125
- planitemconditionJson=[
126
- {column:"f_last_check_state",checkname:"安检状态",type:"selector",options:['入户','拒检','到访不遇','未使用']},
127
- {column:"f_start_time",checkname:"开始时间",type:"date"},
128
- {column:"f_end_time",checkname:"结束时间",type:"date"},
129
- {column:"f_last_check_result",checkname:"隐患状态",type:"selector",options:['正常','有隐患']},
130
- {column:"f_state1",checkname:"安检结果",type:"selector",options:['已检','未检']}
131
- ]
132
- planitemconditionList=[
133
- {selectitem:{checkname:"请选择",type:"input"},selectValue:'',num:0},
134
- {selectitem:{checkname:"请选择",type:"input"},selectValue:'',num:1},
135
- {selectitem:{checkname:"请选择",type:"input"},selectValue:'',num:2}
136
- ]
137
- //楼栋下拉
138
- buildings=[]
139
- buildParam=[]
140
- addBuilding(val) {
141
- //tag
142
- let index = this.buildParam.indexOf(val)
143
- if (index < 0) {
144
- this.buildParam.push(val)
145
- } else {
146
- this.buildParam.splice(index, 1)
147
- }
148
- }
149
- // 看当前内容是否选中
150
- isChecked(v) {
151
- // 如果全选,不在的按选中算,否则,在的按选中算
152
- return this.buildParam.indexOf(v) != -1
153
- }
154
-
155
- //下拉框条件改变json数组
156
- conditionListChange(modelname,ind,key,value,f){
157
- //tag
158
- this[modelname][ind]["num"]=ind
159
- this[modelname][ind][key]=value
160
- f()
161
- }
162
- //添加选择条件下拉框事件
163
-
164
- addconditionList(field,f){
165
- this[field].push({selectitem:{checkname:"请选择",type:"input"},selectValue:'',num:this.conditionList.length})
166
- f()
167
- }
168
- //删除选择条件下拉框事件
169
- deletecondition(field,modelname,index,f){
170
- //如果有这个属性,说明已经选择过,去清空条件数组里的值
171
- if(this[field][index].selectitem.column){
172
- this.setProperty(modelname,this[field][index].selectitem.column,"")
173
- }
174
- this[field].splice(index,1)
175
-
176
- for (let i =0 ;i<this[field].length;i++){
177
- this.conditionList[i].num=i
178
- }
179
- f()
180
- }
181
- async ready() {
182
- // 加载所有安检计划
183
- this.setProperty("checkplan","safechecktype",'年度普检')
184
- this.setProperty("checkplan","f_plan_type",'非民用')
185
- await this.checkplan.searchList("/api/af-safecheck/sql/预约计划下发", {"f_plan_name": "f_plan_name like '%{}%'",
186
- "f_plan_year":"f_plan_year={}",
187
- "f_plan_month":"f_plan_month={}",
188
- "checkerid":"f_checker_id={}",
189
- "isAndNot":"f_checker {}",
190
- "safechecktype":"f_safecheck_type='{}'",
191
- "f_plan_type":"f_plan_type='{}'",
192
- "f_issued":"f_issued='{}'",
193
- "f_small_area":"f_remark='{}'"
194
- },{groupitem:"",f_filialeids:"("+this.filialeid+")",orderitem:"f_create_time desc"})
195
- await this.getAreaList()
196
- // this.getAreaList()
197
- //加载安检员名单f_address_state
198
-
199
- this.setProperty("user","f_address_state",'未通气')
200
-
201
- //tag
202
- //tag
203
- //tag)
204
- //global.login.id 9468
205
- this.searchChecker(global.login.id)
206
- this.searchAspirated(global.login.id)
207
- let smallarea=Vue.$appdata.getParam('小区域')
208
- for(let i=0 ;i<smallarea.length;i++){
209
- this.small_area.push(smallarea[i].value)
210
- }
211
- //tag)
212
- await this.getStreets()
213
- }
214
-
215
- async getStreets(){
216
- let req = await new HttpResetClass().load('POST', 'api/af-safecheck/sql/address_singleTableOrderBy', {
217
- data: {
218
- items: '*',
219
- tablename: 't_street',
220
- orderitem: 'id',
221
- condition: `f_orgid = ${this.filialeid}`
222
- }
223
- }, {resolveMsg: null, rejectMsg: '获取地址失败!'})
224
- this.streets.push('全部')
225
- req.data.forEach((row, n) => {
226
- this.streets.push(row.f_street)
227
- })
228
- }
229
- //补录功能组装数据
230
- zzsj(){
231
- let deviceconfig=ObjConfig.getObjConfig(this.needconfig.safecheck.DevicesConfig)
232
- //tag)
233
- for (let i = 0; i < deviceconfig.length; i++) {
234
- //tag)
235
- //tag)
236
- this.str[deviceconfig[i].index-1]=deviceconfig[i]
237
- //tag)
238
- }
239
-
240
- }
241
- readConfig () {
242
- let http = new HttpResetClass()
243
- http.load('GET', `/phone/rs/vue`, {}, {resolveMsg: null, rejectMsg: null}).then(res => {
244
- this.needconfig = res.data
245
- //tag)
246
- let aa=this.needconfig.safecheck.DevicesConfig
247
- this.zzsj()
248
- })
249
-
250
- }
251
- //当前页面属性发生改变事件
252
- fieldChange(modelname,value,f){
253
- //tag
254
- if(modelname=="user" || modelname=="checkplan" || modelname=="checkplanitems"){
255
- this.setProperty(modelname,"checkername",value.name)
256
- this.setProperty(modelname,"checkerid",value.id)
257
- f()
258
- return
259
- }
260
- if(modelname=="createPlan"){
261
- this.newPlan.f_checker_id=value.id
262
- this.newPlan.f_checker=value.name
263
- f()
264
- return
265
- }
266
- if(modelname=="upPlan"){
267
- this.plan.f_checker= value.name
268
- this.plan.f_checker_id=value.id
269
- f()
270
- return
271
- }
272
- if(modelname=="upAspPlan"){
273
- this.aspiratedPlan.f_checker= value.name
274
- this.aspiratedPlan.f_checker_id=value.id
275
- f()
276
- return
277
- }
278
- this[modelname]=value
279
- f()
280
- }
281
-
282
- jointCondition1(field,modelname){
283
- for (let i =0 ;i<this[field].length;i++){
284
- if(!this[field][i].selectValue){
285
- continue
286
- }
287
- //如果是有无计划值特殊处理
288
- //tag
289
- if(this[field][i].selectitem.checkname=='有无计划'){
290
- let v=this[field][i].selectValue=='已有计划'?'is not null':'is null'
291
- //tag
292
- this.setProperty(modelname,this[field][i].selectitem.column,v)
293
- continue
294
- }
295
- //tag
296
- this.setProperty(modelname,this[field][i].selectitem.column,this[field][i].selectValue)
297
- }
298
- }
299
- //根据选择框内容设置属性值
300
- jointCondition(modelname){
301
-
302
- if(modelname="user"){
303
- this.setProperty("user","usertype","")
304
- this.setProperty("user","address","")
305
- switch(this.userConditionSelect){
306
- case "用户类型":
307
- this.setProperty("user","usertype",this.userConditionValue)
308
- break;
309
- case "地址":
310
- this.setProperty("user","address",this.userConditionValue)
311
- break;
312
- }
313
- }
314
- if(modelname="checkplanitems"){
315
- this.setProperty("checkplanitems","usercode","")
316
- this.setProperty("checkplanitems","username","")
317
- switch(this.planItemConditionSelect){
318
- case "用户编号":
319
- this.setProperty("checkplanitems","usercode",this.planItemConditionValue)
320
- break;
321
- case "用户名称":
322
- this.setProperty("checkplanitems","username",this.planItemConditionValue)
323
- break;
324
- }
325
- }
326
- }
327
-
328
- //是否共享计划单选按钮事件
329
- isAndNotChange(isAndNotselect){
330
- this.sIsAndNotSelect=isAndNotselect
331
- if(this.sIsAndNotSelect=="是"){
332
- this.setProperty("checkplan","isAndNot","is null")
333
- }
334
- if(this.sIsAndNotSelect=="否"){
335
- this.setProperty("checkplan","isAndNot","is not null")
336
- }
337
- }
338
-
339
- //按条件查询所有安检计划
340
- async loadCheckPlan(sortfield,f) {
341
- this.isSend=true
342
- this.checkplan.check.checkes=[]
343
- if(sortfield){//如果传入空串说明是查询 传入非空串就是排序
344
- //tag
345
- if(sortfield==this.currentorder){
346
- return
347
- }else{
348
- this.currentorder=sortfield
349
- }
350
- }
351
- let fieldValue=''
352
- switch(this.currentorder){
353
- case "按时间降序":
354
- fieldValue='f_create_time desc'
355
- break
356
- case "按时间升序":
357
- fieldValue='f_create_time'
358
- break
359
- }
360
- //tag
361
- await this.checkplan.searchList("/api/af-safecheck/sql/预约计划下发",
362
- {"f_plan_name": "f_plan_name like '%{}%'",
363
- "f_plan_year":"f_plan_year={}",
364
- "f_plan_month":"f_plan_month={}",
365
- "checkerid":"f_checker_id={}",
366
- "isAndNot":"f_checker {}",
367
- "safechecktype":"f_safecheck_type='{}'",
368
- "f_plan_type":"f_plan_type='{}'",
369
- "f_issued":"f_issued='{}'",
370
- "f_small_area":"f_remark='{}'"
371
- },
372
- {orderitem:fieldValue,
373
- f_filialeids:"("+this.filialeid+")",
374
- groupitem:""
375
- }
376
- )
377
- f()
378
- this.isSend=false
379
- }
380
-
381
- // 查询待检用户
382
- async searchUser(f) {
383
- this.jointCondition1("conditionList","user")
384
- if(this.user.search.model.userType=='民用'){
385
- this.setProperty("user","f_createfile_date",new Date().getFullYear()+"-01-01 00:00:00")
386
- }else if(this.user.search.model.userType=='非民用'){
387
- this.setProperty("user","f_createfile_date","")
388
- }else{
389
- Vue.showMessage("请选择用户类型!")
390
- return
391
- }
392
- this.isSend=true
393
- this.user.check.checkes=[]
394
- let sday=''
395
- let eday=''
396
- if(this.startday.trim()!=''){
397
- if(isNaN(this.startday) || isNaN(this.endday)){
398
- Vue.showMessage("请输入数字!")
399
- return
400
- }
401
- if(this.selectTime=="月"){
402
- sday= this.startday*30
403
- this.endday.trim()!=''?eday= this.endday*30:eday=''
404
- }else{
405
- sday= this.startday
406
- this.endday.trim()!=''?eday= this.endday:eday=''
407
- }
408
- if(eday){
409
- this.setProperty("user","checkTime"," DATEDIFF(dd,isnull(ua.f_last_check_date,'1999-01-01 00:00:00'),GETDATE())>="+parseInt(sday,10)+" and DATEDIFF(dd,ua.f_last_check_date,GETDATE())<="+parseInt(eday,10))
410
- }else{
411
- this.setProperty("user","checkTime"," DATEDIFF(dd,ua.f_last_check_date,GETDATE())>="+parseInt(sday,10))
412
- }
413
- }else{
414
- this.setProperty("user","checkTime","")
415
- }
416
- if(this.yChecked=='已检'){
417
- this.setProperty("user","ychecked","ua.f_last_check_state='入户' and DateName(year,isnull(ua.f_last_check_date,'1990-01-01'))='"+new Date().getFullYear()+"'")
418
- }else if(this.yChecked=='未检'){
419
- this.setProperty("user","ychecked","((ua.f_last_check_state!='入户' and DateName(year,isnull(ua.f_last_check_date,'1990-01-01'))='"+new Date().getFullYear()+"') or DateName(year,isnull(ua.f_last_check_date,'1990-01-01'))!='"+new Date().getFullYear()+"')")
420
- }else{
421
- this.setProperty("user","ychecked","")
422
- }
423
- if(this.checkSude=='已发'){
424
- this.setProperty("user","checkSude","check_count is not null")
425
- }else if(this.checkSude=='未发'){
426
- this.setProperty("user","checkSude","check_count is null")
427
- }else{
428
- this.setProperty("user","checkSude","")
429
- }
430
- //tag
431
- let str=''
432
- if(this.buildParam.length>0){
433
- for(let i=0;i<this.buildParam.length;i++){
434
- if(i==(this.buildParam.length-1)){
435
- str+="'"+this.buildParam[i]+"'"
436
- }else{
437
- str+="'"+this.buildParam[i]+"',"
438
- }
439
- }
440
- }
441
- this.user.search.setField("f_filialeid",this.filialeid)
442
- this.user.search.setField("f_building",str)
443
- await this.user.searchList("/api/af-safecheck/sql/FetchUserFileByOrgNoRuHuSXQ", {
444
- "f_filialeid": "ui.f_filialeid={}",
445
- "userinfocode": "ui.f_userinfo_code='{}'",
446
- "username": "ui.f_user_name like '%{}%'",
447
- "useraddress": "ua.f_address like '%{}%'",
448
- "userType":"uf.f_user_type='{}'",
449
- "f_residential_area":"ua.f_residential_area = '{}'",
450
- "f_building":"ua.f_building in ({})",
451
- "f_unit":"ua.f_unit='{}'",
452
- "f_user_state":"ui.f_user_state='{}'",
453
- "checkTime":" {}",
454
- "hasplan":" ua.f_plan_id {}",
455
- "f_small_area":"ua.f_small_area = '{}'",
456
- "f_small_area1":"ua.f_small_area like '{}%'",
457
- "f_street":"ua.f_street='{}'",
458
- "f_address_state":"ua.f_address_state !='{}'",
459
- "f_createfile_date":"ui.f_createfile_date < '{}'",
460
- "ychecked":" {}",
461
- "checkSude":" {}"
462
- }, {
463
- "orderitem": 'f_residential_area,cast(build as int),f_unit,cast(floor1 as int),f_room',
464
- "f_usertype": '',
465
- "month": '',
466
- "SafeCheckSX": {"f_check_start": '', "f_check_end": ''},
467
- "SafeCheckCQ": '',
468
- "startday":"",
469
- "endday":""
470
- })
471
- f()
472
- this.isSend=false
473
- }
474
-
475
- //查询安检员
476
- async searchChecker(id){
477
- let res=await new HttpResetClass().load('POST', '/rs/search', {
478
- source: 'this.getParentByType($department$).getAllChildrens().where(row.getAttributes().get($rolestr$).indexOf($安检员$) != -1))',
479
- userid: id
480
- }, {resolveMsg: null, rejectMsg: null})
481
- this.checker=res.data
482
- this.employeeList=this.checker
483
- //tag+"---id"+this.filialeid)
484
- }
485
- //查询送气人员
486
- async searchAspirated(id){
487
- let res=await new HttpResetClass().load('POST', '/rs/search', {
488
- source: 'this.getParentByType($department$).getAllChildrens().where(row.getAttributes().get($rolestr$).indexOf($送气人员$) != -1))',
489
- userid: id
490
- }, {resolveMsg: null, rejectMsg: null})
491
- this.aspirated=res.data
492
-
493
- //tag+"---id"+this.filialeid)
494
- }
495
-
496
- async searchPlanItems(f) {
497
- await this.checkplanitems.searchList("/api/af-safecheck/sql/planItem", {"f_plan_id": "f_plan_id={}"}, {})
498
- f()
499
- }
500
-
501
-
502
-
503
- // 打开安检计划,加载安检计划的所有安检单
504
- async openPlan(plan, f) {
505
- this.isSend=true
506
- this.checkplanitems.check.checkes=[]
507
- this.SelectedPlan=plan.id
508
- this.SelectedPlanName=plan.f_plan_name
509
- this.plan=plan
510
- this.checkplanitems.search.setField("f_plan_id", plan.id)
511
- this.checkplanitems.search.setField("f_state", "作废")
512
- await this.checkplanitems.searchList("/api/af-safecheck/sql/planItem", {"f_plan_id": "i.f_plan_id='{}'","f_state": "i.f_state !='{}'"}, {})
513
- f()
514
- //this.checkplanitems.search.model.f_plan_id
515
- this.isSend=false
516
- }
517
-
518
- //根据条件查询某个安检计划下的安检单
519
- async searchPlanItem(f) {
520
- this.checkplanitems.check.checkes=[]
521
- if(this.checkplanitems.search.model.f_plan_id){
522
- this.isSend=true
523
- //tag
524
- this.jointCondition1("planitemconditionList","checkplanitems")
525
- await this.checkplanitems.searchList("/api/af-safecheck/sql/planItem",
526
- {"f_plan_id": "i.f_plan_id='{}'",
527
- "usercode": "i.f_userinfo_code='{}'",
528
- "username": "i.f_user_name like '%{}%'",
529
- "f_address": "i.f_address like '%{}%'",
530
- "f_last_check_state": "i.f_last_check_state='{}' ",
531
- "f_start_time": "i.f_last_check_date >='{}'",
532
- "f_end_time": "i.f_last_check_date <='{}'",
533
- "f_last_check_result":"i.f_last_check_result like '%{}%'",
534
- "f_state": "i.f_state !='{}'",
535
- "f_state1": "i.f_state ='{}'"
536
- },
537
- {})
538
- f()
539
- this.isSend=false
540
- }else{
541
- Vue.showMessage("请选择安检计划")
542
- }
543
- }
544
- //加载更多数据
545
- async loadMore(modelname,f) {
546
- this.isSend=true
547
- try{
548
- await this[modelname].list.loadMore()
549
- f()
550
- }catch (e) {
551
- Vue.showMessage(e.data+",请联系开发人员!")
552
- }
553
- this.isSend=false
554
- }
555
-
556
- //点击全选按钮事件 user-用户列表 planitem-计划项列表
557
- changeCheckAll(modulename, f) {
558
- this[modulename].check.setCheckAll()
559
- f()
560
- }
561
-
562
- //当选中列表中某项时触发
563
- addParam(modulename, id) {
564
- //tag
565
- this[modulename].check.setCheckes(id)
566
- }
567
- selectChange(modulename, property, value){
568
- //tag
569
- if(value=='全部'){
570
- this.setProperty(modulename, property, '')
571
- }else{
572
- this.setProperty(modulename, property, value)
573
- }
574
-
575
- }
576
- //设置属性值
577
- setProperty(modulename, property, value) {
578
- //tag
579
- this[modulename].search.setField(property, value)
580
- }
581
-
582
- //列表中的选择框是否被选中
583
- hasValue(modulename,value){
584
- this[modulename].check.checks.has()
585
- }
586
- // 给新建安检计划设置属性值
587
- setNewPlan(property, value) {
588
-
589
- //tag
590
- this.newPlan[property] = value
591
- return this
592
- }
593
- setSafeCheckType(val,f){
594
- //tag
595
- if(this.newPlan.f_safecheck_type==val){
596
- return
597
- }
598
- if(val=='年度普检'){
599
- this.employeeName='安检员'
600
- this.promptStatement='请选择安检员'
601
- this.newPlan.f_checker=''
602
- this.employeeList=this.checker
603
- }else{
604
- this.employeeName='送气员'
605
- this.promptStatement='请选择送气员'
606
- this.newPlan.f_checker=''
607
- this.employeeList=this.aspirated
608
- }
609
- this.setNewPlan("f_safecheck_type",val)
610
- f()
611
- }
612
- //将某项拖动到计划中
613
- //dragParam:从拖动的起始位置传入的参数
614
- async dragtoPlan(f_plan_id,f_safecheck_type,f_filialeid,dragParam,f){
615
- //tag
616
- await this.dragtoPlanItem(f_plan_id,f_safecheck_type,dragParam,f)
617
- await this.dragtoOtherPlanIteem(f_plan_id,dragParam,f)
618
- }
619
-
620
- //将客户信息拖至计划中
621
- async dragtoPlanItem(f_plan_id,f_safecheck_type,dragParam,f) {
622
-
623
- //tag
624
- if(dragParam=='user'){
625
- this.jointCondition1("conditionList","user")
626
- if(this.checkplanitems.search.model.f_plan_id){
627
- this.isSend=true
628
- let res=await this.http.load("POST", "/api/af-safecheck/logic/AddCheckPlanItem", {
629
- data:{
630
- f_operator:global.login.name,
631
- f_plan_id:f_plan_id,
632
- f_safecheck_type:f_safecheck_type,
633
- f_filialeid:this.filialeid,
634
- f_subscribe_date:'',
635
- condition:this.user.search.search({
636
- "f_filialeid": "ui.f_filialeid={}",
637
- "userinfocode": "ui.f_userinfo_code='{}'",
638
- "username": "ui.f_user_name like '%{}%'",
639
- "useraddress": "ua.f_address like '%{}%'",
640
- "userType":"uf.f_user_type='{}'",
641
- "f_residential_area":"ua.f_residential_area = '{}'",
642
- "f_building":"ua.f_building in ({})",
643
- "f_unit":"ua.f_unit='{}'",
644
- "f_user_state":"ui.f_user_state='{}'",
645
- "checkTime":" {}",
646
- "hasplan":" ua.f_plan_id {}",
647
- "f_small_area":"ua.f_small_area = '{}'",
648
- "f_small_area1":"ua.f_small_area like '{}%'",
649
- "f_street":"ua.f_street='{}'",
650
- "f_address_state":"ua.f_address_state !='{}'",
651
- "f_createfile_date":"ui.f_createfile_date < '{}'",
652
- "ychecked":" {}",
653
- "checkSude":" {}"
654
- }),
655
- switchCheckAll:this.user.check.switchCheckAll,
656
- checkAll:this.user.check.checkAll,
657
- param:this.user.check.checkes,
658
- columnName: "ua.id"
659
- }
660
- }, {resolveMsg: null, rejectMsg: null})
661
- //tag+"---"+res.data.result.length)
662
- if(res.data.code==200){
663
- //alert("添加成功!有"+res.data.result.length+"条用户地址已经存在于其他计划中: \n"+res.data.result.reduce((c,v)=>{c += v.f_user_name+":"+v.f_address+"\n"}),0)
664
- Vue.showMessage("添加成功!"+(res.data.result.length>0?"有"+res.data.result.length+"条用户地址已经存在于其他计划中":""))
665
- }else{
666
- Vue.showMessage("添加失败!")
667
- }
668
- this.user.check.checkes=[]
669
- await this.searchUser(()=>{})
670
- await this.searchPlanItem(()=>{})
671
- await this.loadCheckPlan("",()=>{})
672
- f()
673
- this.isSend=false
674
- }else{
675
- Vue.showMessage("请先打开一个计划再进行操作")
676
- }
677
- }
678
- }
679
-
680
- //将某个计划下的一项拖到另一个计划
681
- async dragtoOtherPlanIteem(checkplanid,dragParam,f) {
682
- if(dragParam=='item'){
683
- this.isSend=true
684
- this.jointCondition1("planitemconditionList","checkplanitems")
685
- let res=await this.http.load("POST", "/api/af-safecheck/logic/UpCheckPlanItem", {
686
- data:{
687
- f_operator:global.login.name,
688
- f_plan_id:checkplanid,
689
- condition:this.checkplanitems.search.search({"f_plan_id": "i.f_plan_id='{}'",
690
- "usercode": "i.f_userinfo_code='{}'",
691
- "username": "i.f_user_name like '%{}%'",
692
- "f_address": "i.f_address like '%{}%'",
693
- "f_last_check_state": "i.f_last_check_state='{}' ",
694
- "f_start_time": "i.f_last_check_date >='{}'",
695
- "f_end_time": "i.f_last_check_date <='{}'",
696
- "f_last_check_result":"i.f_last_check_result like '%{}%'",
697
- "f_state": "i.f_state !='{}'",
698
- "f_state1": "i.f_state ='{}'"
699
- }),
700
- switchCheckAll:this.checkplanitems.check.switchCheckAll,
701
- checkAll:this.checkplanitems.check.checkAll,
702
- param:this.checkplanitems.check.checkes,
703
- columnName: "i.id"
704
- }
705
- }, {resolveMsg: null, rejectMsg: null})
706
- if(res.data.code==200){
707
- await this.searchUser(()=>{})
708
- await this.searchPlanItem(()=>{})
709
- await this.loadCheckPlan("",()=>{})
710
- f()
711
- Vue.showMessage("更换安检计划成功!")
712
- }else{
713
- Vue.showMessage("更换安检计划失败!")
714
- }
715
- f()
716
- this.isSend=false
717
- }
718
-
719
- }
720
-
721
- //修改计划项状态为作废
722
- async delPlanItem(dragParam,f) {
723
- //tag
724
- if(dragParam=='item'){
725
- this.isSend=true
726
- let resu=await this.http.load("POST", "/api/af-safecheck/logic/UpCheckPlanItemState", {
727
- data: {
728
- f_operator:global.login.name,
729
- condition:this.checkplanitems.search.search({
730
- "f_plan_id": "i.f_plan_id='{}'",
731
- "usercode": "i.f_userinfo_code='{}'",
732
- "username": "i.f_user_name like '%{}%'",
733
- "f_address": "i.f_address like '%{}%'",
734
- "f_last_check_state": "i.f_last_check_state='{}' ",
735
- "f_start_time": "i.f_last_check_date >='{}'",
736
- "f_end_time": "i.f_last_check_date <='{}'",
737
- "f_last_check_result":"i.f_last_check_result like '%{}%'",
738
- "f_state": "i.f_state !='{}'",
739
- "f_state1": "i.f_state ='{}'"}),
740
- switchCheckAll:this.checkplanitems.check.switchCheckAll,
741
- checkAll:this.checkplanitems.check.checkAll,
742
- param:this.checkplanitems.check.checkes,
743
- columnName: "i.id"
744
- }
745
- }, {resolveMsg: null, rejectMsg: null})
746
- //tag)
747
- if(resu.data.code==200){
748
- Vue.showMessage("作废安检单成功! 成功作废:"+resu.data.res.up+"条"+(resu.data.res.noup>0?"有"+resu.data.res.noup+"条已经不是 ‘未检’ 状态!":""))
749
- await this.searchUser(()=>{})
750
- await this.searchPlanItem(()=>{})
751
- await this.loadCheckPlan("",()=>{})
752
- f()
753
- }else{
754
- Vue.showMessage("取消安检计划失败!")
755
- }
756
- this.isSend=false
757
- }
758
-
759
- }
760
-
761
- //新建计划
762
- async addNewPlan(f) {
763
- if(!this.validationCreatePlan()){
764
- return
765
- }
766
- this.isSend=true
767
- let res=await this.http.load("POST","/api/af-safecheck/sql/getCheckplan", {data: {condition:"f_plan_name='"+this.newPlan.f_plan_name+"'",sortfield:'f_create_time desc'}})
768
- //tag
769
- if(res.data.length>0){
770
- Vue.showMessage("计划名称不能重复!")
771
- return
772
- }
773
- if(this.isShare=="是"){
774
- this.newPlan.f_checker_id=null
775
- this.newPlan.f_checker=null
776
- }
777
- this.newPlan.f_plan_type='非民用'
778
- this.newPlan.f_subcompany=global.login.orgs
779
- this.newPlan.f_filialeid=this.filialeid
780
- this.newPlan.f_create_operator=global.login.name
781
- this.newPlan.f_create_time=this.getNowFormatDate()
782
- this.newPlan.f_remark=null
783
- await Vue.resetpost("/api/af-safecheck/logic/createCheckPlan", {"data": this.newPlan},{resolveMsg : '新建计划成功!', rejectMsg : '新建计划失败!'},2500)
784
- await this.loadCheckPlan("",()=>{})
785
- this.newPlan={f_issued:"否",f_safecheck_type:"年度普检"}
786
- this.isShare="否"
787
- f()
788
- this.isSend=false
789
- }
790
-
791
- // 取消新建安检计划
792
- cancel() {
793
- this.newPlan={f_issued:"否",f_safecheck_type:"年度普检"}
794
- this.isShare="否"
795
- this.aspiratedPlan={issued:'是'}
796
- this.plan={}
797
- }
798
-
799
- // 取年的选择项目
800
- years() {
801
- return date.yearSelects
802
- }
803
-
804
- // 取月的选择项目
805
- months() {
806
- return date.monthSelects
807
- }
808
-
809
- //下发安检计划
810
- async sendCheckPlan(f){
811
- if(this.checkplan.check.checkes.length<1){
812
- Vue.showMessage("请选择要下发的安检计划")
813
- return
814
- }
815
- this.isSend=true
816
- let res=await this.http.load("POST", "/api/af-safecheck/logic/NewBespeakCheckPlan", {
817
- data:{
818
- f_issued:'是',
819
- f_issue_time:this.getNowFormatDate(),
820
- f_send_operator:global.login.name,
821
- param:this.checkplan.check.checkes,
822
- }
823
- }, {resolveMsg: null, rejectMsg: null})
824
- if(res.data.code==200){
825
- //Vue.showMessage("下发成功!其中有"+res.data.repet+"个计划己经是下发状态")
826
- Vue.showMessage("下发成功!")
827
- await this.loadCheckPlan('',()=>{})
828
- f()
829
- }else{
830
- Vue.showMessage("下发失败!")
831
- }
832
- this.isSend=false
833
- }
834
-
835
- //删除安检计划
836
- async delCheckPlan(f){
837
- if(this.checkplan.check.checkes.length<1){
838
- Vue.showMessage("请选择要删除的安检计划")
839
- return
840
- }
841
- this.isSend=true
842
- let res=await this.http.load("POST", "/api/af-safecheck/logic/deleteCheckPlan", {
843
- data:{
844
- f_operator:global.login.name,//global.login.name,
845
- condition:this.checkplan.search.search({}),
846
- switchCheckAll:this.checkplan.check.switchCheckAll,
847
- checkAll:this.checkplan.check.checkAll,
848
- param:this.checkplan.check.checkes,
849
- columnName: "f_plan_id"
850
- }
851
- }, {resolveMsg: null, rejectMsg: null})
852
- //tag)
853
- if(res.data.code==200){
854
- Vue.showMessage("删除成功!","success",2500)
855
- await this.loadCheckPlan('',()=>{})
856
- }else{
857
- Vue.showMessage("删除失败!"+res.data.message,"success",2500)
858
- }
859
- this.checkplanitems.search.model.f_plan_id=""
860
- this.checkplanitems.list.data=[]
861
- f()
862
- this.isSend=false
863
- }
864
- //修改计划时 用来存储当前选中要修改的计划
865
- plan={}
866
- setPlanVal(value){
867
- //tag)
868
- this.plan=JSON.parse(JSON.stringify( value ))
869
- }
870
- setPlan(key,val){
871
- this.plan[key]=val
872
- }
873
- //修改安检计划
874
- async upCheckPlan(f){
875
- if(this.plan.f_issued=='已下发'){
876
- Vue.showMessage("该计划已下发,无法进行修改!")
877
- return
878
- }
879
- this.isSend=true
880
- let res=await this.http.load("POST", "/api/af-safecheck/logic/updateCheckPlan", {
881
- data:{
882
- f_checker:this.plan.f_checker,
883
- f_checker_id:this.plan.f_checker_id,
884
- f_plan_name:this.plan.f_plan_name,
885
- f_plan_year:this.plan.f_plan_year,
886
- f_plan_month:this.plan.f_plan_month,
887
- f_plan_id:this.plan.id
888
- }
889
- }, {resolveMsg: null, rejectMsg: null})
890
- if(res.data.code==200){
891
- Vue.showMessage("修改成功!")
892
- await this.loadCheckPlan('',()=>{})
893
- f()
894
- }else{
895
- Vue.showMessage("修改失败!"+res.data.message,"success",2500)
896
- }
897
-
898
- this.isSend=false
899
- }
900
- //批量送气值改变
901
- setAspiratedPlan(key,val){
902
- this.aspiratedPlan[key]=val
903
- }
904
- //批量下发送气计划
905
- async upAspiratedPlan(f){
906
- if(this.checkplan.check.checkes.length<1){
907
- Vue.showMessage("请勾选需要下发的送气计划")
908
- return
909
- }
910
- if(!this.aspiratedPlan.f_checker){
911
- Vue.showMessage("请选择送气员!")
912
- return
913
- }
914
- this.isSend=true
915
- let res=await this.http.load("POST", "/api/af-safecheck/logic/updateAsp", {
916
- data:{
917
- f_issued:this.aspiratedPlan.issued,
918
- f_issue_time:this.getNowFormatDate(),
919
- f_checker:this.aspiratedPlan.f_checker,
920
- f_checker_id:this.aspiratedPlan.f_checker_id,
921
- f_send_operator:global.login.name,
922
- param:this.checkplan.check.checkes,
923
- }
924
- }, {resolveMsg: null, rejectMsg: null})
925
- if(res.data.code==200){
926
- Vue.showMessage("修改成功!")
927
- this.aspiratedPlan={issued:'是'}
928
- this.loadCheckPlan('',()=>{}).then(()=>{
929
- f()
930
- this.isSend=false
931
- })
932
- //f()
933
- }else{
934
- Vue.showMessage("修改失败!"+res.data.message,"success",2500)
935
- this.isSend=false
936
- }
937
- }
938
- //新建安检计划非空判断
939
- validationCreatePlan(){
940
- if(!this.newPlan.f_plan_name){
941
- Vue.showMessage("请输入安检计划名称!")
942
- return false
943
- }
944
- if(!this.newPlan.f_plan_year){
945
- Vue.showMessage("请选择安检年份!")
946
- return false
947
- }
948
- if(!this.newPlan.f_plan_month){
949
- Vue.showMessage("请选择安检月份!")
950
- return false
951
- }
952
- if(this.isShare=="否"){
953
- if(!this.newPlan.f_checker){
954
- Vue.showMessage("请选择安检人员!")
955
- return false
956
- }
957
- }else{
958
- this.newPlan.f_checker=''
959
- }
960
- if(!this.newPlan.f_safecheck_type){
961
- Vue.showMessage("请选择安检类型!")
962
- return false
963
- }
964
- return true
965
- }
966
- getBuild(area,f) {
967
- this.buildParam=[]
968
- let res = this.http.load('POST', '/api/af-safecheck/sql/safe_singleTable_GroupBy', {
969
- data: {
970
- items: "f_building buind",
971
- tablename: "t_user_address",
972
- condition: `f_filialeid = ${this.filialeid} and f_residential_area='${area}'`,
973
- groupitem: "f_building order by cast((case PATINDEX('%[^0-9]%', f_building) when 0 then f_building else 999 end) as int)"
974
- }
975
- }, {resolveMsg: null, rejectMsg: null}).then((res)=>{
976
- this.buildings=res.data
977
- f()
978
- })
979
-
980
- }
981
- async getAreaList() {
982
- let res =await this.http.load('POST', '/api/af-safecheck/sql/safe_singleTable_GroupBy', {
983
- data: {
984
- items: 'f_residential_area',
985
- tablename: 't_area',
986
- condition: 'f_filialeid = '+this.filialeid,
987
- groupitem: 'f_residential_area'
988
- }
989
- }, {resolveMsg: null, rejectMsg: null})
990
-
991
- if (res.data) {
992
- let arr=["全部"]
993
- for(let i =0 ;i<res.data.length;i++){
994
- arr.push(res.data[i].f_residential_area)
995
- }
996
- this.areaList=arr
997
- }
998
- }
999
- //获取当前时间
1000
- getNowFormatDate() {
1001
- let date = new Date();
1002
- let seperator1 = "-";
1003
- let seperator2 = ":";
1004
- let month = date.getMonth() + 1;
1005
- let strDate = date.getDate();
1006
- let hour = date.getHours();
1007
- let min = date.getMinutes();
1008
- let second = date.getSeconds();
1009
- if (month >= 1 && month <= 9) {
1010
- month = "0" + month;
1011
- }
1012
- if (strDate >= 0 && strDate <= 9) {
1013
- strDate = "0" + strDate;
1014
- }
1015
- if (hour >= 0 && hour <= 9) {
1016
- hour = "0" + hour;
1017
- }
1018
- if (min >= 0 && min <= 9) {
1019
- min = "0" + min;
1020
- }
1021
- if (second >= 0 && second <= 9) {
1022
- second = "0" + second;
1023
- }
1024
- let currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
1025
- + " " + hour + seperator2 + min
1026
- + seperator2 + second;
1027
- return currentdate;
1028
- }
1029
- //excel导出
1030
- async exportFile(){
1031
- if(!this.checkplanitems.search.model.f_plan_id){
1032
- Vue.showMessage("请选择先打开一个安检计划!")
1033
- return
1034
- }
1035
- this.isSend=true
1036
- this.jointCondition1("planitemconditionList","checkplanitems")
1037
- let res=await this.http.load('POST','api/af-safecheck/logic/SafeExportExcel',
1038
- {
1039
- "data": {
1040
- "body": {
1041
- "data": {
1042
- "condition": this.checkplanitems.search.search({"f_plan_id": "i.f_plan_id='{}'",
1043
- "usercode": "i.f_userinfo_code='{}'",
1044
- "username": "i.f_user_name like '%{}%'",
1045
- "f_address": "i.f_address like '%{}%'",
1046
- "f_last_check_state": "i.f_last_check_state='{}' ",
1047
- "f_start_time": "i.f_last_check_date >='{}'",
1048
- "f_end_time": "i.f_last_check_date <='{}'",
1049
- "f_last_check_result":"i.f_last_check_result like '%{}%'",
1050
- "f_state": "i.f_state !='{}'",
1051
- "f_state1": "i.f_state ='{}'"
1052
- })
1053
- },
1054
- "field": ["f_userinfo_code:用户编号","f_user_name:用户名称", "f_user_type:用户类型", "f_residential_area:小区名称", "f_state:安检状态","f_address:详细地址"],
1055
- "templateName": this.plan.f_plan_name,
1056
- "sqlName": "planItem",
1057
- "uuid": this.guid()
1058
- },
1059
- }
1060
- }
1061
- ,{resolveMsg: null, rejectMsg: null})
1062
- //tag)
1063
- let link = document.createElement('a');
1064
- let path = res.data[0].filename
1065
- //webapps这个是在服务器上导出用的
1066
- let pathName = "http://" + location.host + "/webapps" + path.split('webapps')[1]
1067
- //excel这个是在本地导出用的
1068
- link.href = pathName;
1069
- link.download = path.split('excel/')[1];
1070
- link.dispatchEvent(new MouseEvent('click'));
1071
- this.isSend=false
1072
- }
1073
-
1074
- //excel导出
1075
- async userexportFile(){
1076
-
1077
- this.isSend=true
1078
- let res=await this.http.load('POST','api/af-safecheck/logic/SafeExportExcel',
1079
- {
1080
- "data": {
1081
- "body": {
1082
- "data": {
1083
- "condition": this.user.search.search({
1084
- "f_filialeid": "ui.f_filialeid={}",
1085
- "userinfocode": "ui.f_userinfo_code='{}'",
1086
- "username": "ui.f_user_name like '%{}%'",
1087
- "useraddress": "ua.f_address like '%{}%'",
1088
- "userType":"uf.f_user_type='{}'",
1089
- "f_residential_area":"ua.f_residential_area = '{}'",
1090
- "f_building":"ua.f_building in ({})",
1091
- "f_unit":"ua.f_unit='{}'",
1092
- "f_user_state":"ui.f_user_state='{}'",
1093
- "checkTime":" {}",
1094
- "hasplan":" ua.f_plan_id {}",
1095
- "f_small_area":"ua.f_small_area = '{}'",
1096
- "f_small_area1":"ua.f_small_area like '{}%'",
1097
- "f_street":"ua.f_street='{}'",
1098
- "f_address_state":"ua.f_address_state !='{}'",
1099
- "f_createfile_date":"ui.f_createfile_date < '{}'",
1100
- "ychecked":" {}",
1101
- "checkSude":" {}"
1102
- }),
1103
- "orderitem": 'f_residential_area,cast(build as int),f_unit,cast(floor1 as int),f_room',
1104
- "f_usertype": '',
1105
- "month": '',
1106
- "SafeCheckSX": {"f_check_start": '', "f_check_end": ''},
1107
- "SafeCheckCQ": '',
1108
- "startday":"",
1109
- "endday":""
1110
- },
1111
- "field": ["f_userinfo_code:用户编号","f_user_name:用户名称", "f_user_type:用户类型", "f_residential_area:小区名称", "f_user_phone:用户电话","f_address:详细地址"],
1112
- "templateName": '安检用户信息',
1113
- "sqlName": "FetchUserFileByOrgNoRuHuSXQ",
1114
- "uuid": this.guid()
1115
- },
1116
- }
1117
- }
1118
- ,{resolveMsg: null, rejectMsg: null})
1119
- //tag)
1120
- let link = document.createElement('a');
1121
- let path = res.data[0].filename
1122
- //webapps这个是在服务器上导出用的
1123
- let pathName = "http://" + location.host + "/webapps" + path.split('webapps')[1]
1124
- //excel这个是在本地导出用的
1125
- link.href = pathName;
1126
- link.download = path.split('excel/')[1];
1127
- link.dispatchEvent(new MouseEvent('click'));
1128
- this.isSend=false
1129
- }
1130
- guid() {
1131
- return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
1132
- let r = Math.random() * 16 | 0,
1133
- v = c == 'x' ? r : (r & 0x3 | 0x8)
1134
- return v.toString(16)
1135
- })
1136
- }
1137
- flush(f){
1138
- f()
1139
- }
1140
- }
1
+ import {SearchList, date} from 'vue-client'
2
+ import {PagedList} from 'vue-client'
3
+ import {HttpResetClass,trans} from 'vue-client'
4
+ import Vue from "vue"
5
+ import ObjConfig from '../../src/plugins/GerJsonObjectConfig'
6
+
7
+ export default class Comp {
8
+
9
+
10
+ needconfig= {}
11
+ isSend=true
12
+ // 用户安检信息列表
13
+ user = new SearchList(true)
14
+ //遍历的按钮
15
+ listbutton=[]
16
+ fdevices=[]
17
+ // 安检计划列表
18
+ checkplan = new SearchList(true)
19
+ // 安检计划的安检单列表
20
+ checkplanitems = new SearchList(true)
21
+ //按钮隐藏判断
22
+ suppplanitem={}
23
+ orderList= ['按时间降序', '按时间升序']//排序下拉框的值
24
+ currentorder='按时间降序'//排序下拉框当前选中的值
25
+ // 新增安检计划时保存的数据
26
+ newPlan = {f_issued:"否",f_safecheck_type:"年度普检",f_plan_type:"非民用"}
27
+ http = new HttpResetClass()
28
+ //查询计划弹框中是否共享选项
29
+ isAndNot = ["是", "否"]
30
+ //用户类型
31
+ userType=["民用","非民用"]
32
+ issuedList= ["是","否"]
33
+ listbuttona=[]
34
+ listbuttonb=[]
35
+ listbuttonc=[]
36
+ listbuttond=[]
37
+ //安检计划查询中的是否是共享计划单选的当前选中值
38
+ sIsAndNotSelect=''
39
+ //用户列表的自选查询条件的值
40
+ userCondition=["请选择条件","用户类型","地址"]
41
+ //当前选中的下拉值
42
+ userConditionSelect="请选择条件"
43
+ //当前输入的值
44
+ userConditionValue=""
45
+ //计划项列表自选查询条件的值
46
+ planItemCondition=["请选择条件","用户编号","用户名称"]
47
+ //
48
+ promptStatement='请选择安检员'
49
+ planItemConditional={}
50
+ //入户状态
51
+ userState=["到访不遇","拒检","入户"]
52
+ ischeckSude=["全部","已发","未发"]
53
+ checkSude=''
54
+ //燃气使用
55
+ gasUse=["已使用","未使用"]
56
+ //当前选中的下拉值
57
+ planItemConditionSelect="请选择条件"
58
+ //当前输入的值
59
+ planItemConditionValue=""
60
+ //小区域列表
61
+ small_area=[]
62
+ //区域列表
63
+ streets=[]
64
+ //小区列表
65
+ areaList=[]
66
+ //当前选中计划名称
67
+ SelectedPlanName=''
68
+ //safecheckTypeList=Vue.$appdata.getParam("安检类型")
69
+ safecheckTypeList=["年度普检"]
70
+ smallAreaList=['市区','成山','俚岛','港西']
71
+ //今年是否安检
72
+ yearChecked=["全部","已检","未检"]
73
+ //
74
+ yChecked=''
75
+ //安检员列表
76
+ checker=[]
77
+ //送气员列表
78
+ aspirated=[]
79
+ aspiratedPlan={issued:'是'}
80
+ employeeList=[]
81
+ employeeName='安检员'
82
+ checkersname=[]
83
+ //新建计划时保存是否共享计划的值,
84
+ isShare="否"
85
+ //安检类型
86
+ safecheckList=["年度普检"]
87
+ //时间单位
88
+ unitTime=["天","月"]
89
+ selectTime="天"
90
+ startday=""
91
+ endday=""
92
+ str=[]
93
+ //当前打开的安检计划id
94
+ SelectedPlan=""
95
+ //燃气表增添项
96
+ gasexpress=[{"lname":"燃气表照片","type":"picture"},
97
+ {"lname":"表品牌","type":"string","readonly":true},
98
+ {"lname":"表号","type":"string","readonly":true},
99
+ {"lname":"表封号","type":"number","readonly":true},
100
+ {"lname":"表型号","type":"string","readonly":true},
101
+ {"lname":"位置","type":"string","readonly":true},
102
+ {"lname":"表底数","type":"number","readonly":true},
103
+ {"lname":"左右表","type":"string","readonly":true}]
104
+ //当前分公司id
105
+ filialeid=global.login.orgid
106
+
107
+ //filialeid=305
108
+
109
+ //用户列表查询条件json
110
+ conditionJson=[
111
+ {column:"f_unit",checkname:"单元号码",type:"input"},
112
+ {column:"userType",checkname:"用户类型",type:"selector",options:['民用','非民用']},
113
+ {column:"f_user_state",checkname:"用户状态",type:"selector",options:['正常','停用']},
114
+ {column:"hasplan",checkname:"有无计划",type:"selector",options:['已有计划','无计划']},
115
+ {column:"f_small_area",checkname:"小区域",type:"selector",options:this.small_area},
116
+ {column:"useraddress",checkname:"用户地址",type:"input"}
117
+ ]
118
+ conditionList=[
119
+ {selectitem:{column:"f_user_state",checkname:"用户状态",type:"selector",options:['正常','停用']},selectValue:'正常',num:0},
120
+ {selectitem:{column:"useraddress",checkname:"用户地址",type:"input"},selectValue:'',num:1},
121
+ {selectitem:{column:"userType",checkname:"用户类型",type:"selector",options:['民用','非民用']},selectValue:'非民用',num:2},
122
+ {selectitem:{checkname:"请选择",type:"input"},selectValue:'',num:3}
123
+ ]
124
+ //安检项列表查询条件
125
+ planitemconditionJson=[
126
+ {column:"f_last_check_state",checkname:"安检状态",type:"selector",options:['入户','拒检','到访不遇','未使用']},
127
+ {column:"f_start_time",checkname:"开始时间",type:"date"},
128
+ {column:"f_end_time",checkname:"结束时间",type:"date"},
129
+ {column:"f_last_check_result",checkname:"隐患状态",type:"selector",options:['正常','有隐患']},
130
+ {column:"f_state1",checkname:"安检结果",type:"selector",options:['已检','未检']}
131
+ ]
132
+ planitemconditionList=[
133
+ {selectitem:{checkname:"请选择",type:"input"},selectValue:'',num:0},
134
+ {selectitem:{checkname:"请选择",type:"input"},selectValue:'',num:1},
135
+ {selectitem:{checkname:"请选择",type:"input"},selectValue:'',num:2}
136
+ ]
137
+ //楼栋下拉
138
+ buildings=[]
139
+ buildParam=[]
140
+ addBuilding(val) {
141
+ //tag
142
+ let index = this.buildParam.indexOf(val)
143
+ if (index < 0) {
144
+ this.buildParam.push(val)
145
+ } else {
146
+ this.buildParam.splice(index, 1)
147
+ }
148
+ }
149
+ // 看当前内容是否选中
150
+ isChecked(v) {
151
+ // 如果全选,不在的按选中算,否则,在的按选中算
152
+ return this.buildParam.indexOf(v) != -1
153
+ }
154
+
155
+ //下拉框条件改变json数组
156
+ conditionListChange(modelname,ind,key,value,f){
157
+ //tag
158
+ this[modelname][ind]["num"]=ind
159
+ this[modelname][ind][key]=value
160
+ f()
161
+ }
162
+ //添加选择条件下拉框事件
163
+
164
+ addconditionList(field,f){
165
+ this[field].push({selectitem:{checkname:"请选择",type:"input"},selectValue:'',num:this.conditionList.length})
166
+ f()
167
+ }
168
+ //删除选择条件下拉框事件
169
+ deletecondition(field,modelname,index,f){
170
+ //如果有这个属性,说明已经选择过,去清空条件数组里的值
171
+ if(this[field][index].selectitem.column){
172
+ this.setProperty(modelname,this[field][index].selectitem.column,"")
173
+ }
174
+ this[field].splice(index,1)
175
+
176
+ for (let i =0 ;i<this[field].length;i++){
177
+ this.conditionList[i].num=i
178
+ }
179
+ f()
180
+ }
181
+ async ready() {
182
+ // 加载所有安检计划
183
+ this.setProperty("checkplan","safechecktype",'年度普检')
184
+ this.setProperty("checkplan","f_plan_type",'非民用')
185
+ await this.checkplan.searchList("/api/af-safecheck/sql/预约计划下发", {"f_plan_name": "f_plan_name like '%{}%'",
186
+ "f_plan_year":"f_plan_year={}",
187
+ "f_plan_month":"f_plan_month={}",
188
+ "checkerid":"f_checker_id={}",
189
+ "isAndNot":"f_checker {}",
190
+ "safechecktype":"f_safecheck_type='{}'",
191
+ "f_plan_type":"f_plan_type='{}'",
192
+ "f_issued":"f_issued='{}'",
193
+ "f_small_area":"f_remark='{}'"
194
+ },{groupitem:"",f_filialeids:"("+this.filialeid+")",orderitem:"f_create_time desc"})
195
+ await this.getAreaList()
196
+ // this.getAreaList()
197
+ //加载安检员名单f_address_state
198
+
199
+ this.setProperty("user","f_address_state",'未通气')
200
+
201
+ //tag
202
+ //tag
203
+ //tag)
204
+ //global.login.id 9468
205
+ this.searchChecker(global.login.id)
206
+ this.searchAspirated(global.login.id)
207
+ let smallarea=Vue.$appdata.getParam('小区域')
208
+ for(let i=0 ;i<smallarea.length;i++){
209
+ this.small_area.push(smallarea[i].value)
210
+ }
211
+ //tag)
212
+ await this.getStreets()
213
+ }
214
+
215
+ async getStreets(){
216
+ let req = await new HttpResetClass().load('POST', 'api/af-safecheck/sql/address_singleTableOrderBy', {
217
+ data: {
218
+ items: '*',
219
+ tablename: 't_street',
220
+ orderitem: 'id',
221
+ condition: `f_orgid = ${this.filialeid}`
222
+ }
223
+ }, {resolveMsg: null, rejectMsg: '获取地址失败!'})
224
+ this.streets.push('全部')
225
+ req.data.forEach((row, n) => {
226
+ this.streets.push(row.f_street)
227
+ })
228
+ }
229
+ //补录功能组装数据
230
+ zzsj(){
231
+ let deviceconfig=ObjConfig.getObjConfig(this.needconfig.safecheck.DevicesConfig)
232
+ //tag)
233
+ for (let i = 0; i < deviceconfig.length; i++) {
234
+ //tag)
235
+ //tag)
236
+ this.str[deviceconfig[i].index-1]=deviceconfig[i]
237
+ //tag)
238
+ }
239
+
240
+ }
241
+ readConfig () {
242
+ let http = new HttpResetClass()
243
+ http.load('GET', `/phone/rs/vue`, {}, {resolveMsg: null, rejectMsg: null}).then(res => {
244
+ this.needconfig = res.data
245
+ //tag)
246
+ let aa=this.needconfig.safecheck.DevicesConfig
247
+ this.zzsj()
248
+ })
249
+
250
+ }
251
+ //当前页面属性发生改变事件
252
+ fieldChange(modelname,value,f){
253
+ //tag
254
+ if(modelname=="user" || modelname=="checkplan" || modelname=="checkplanitems"){
255
+ this.setProperty(modelname,"checkername",value.name)
256
+ this.setProperty(modelname,"checkerid",value.id)
257
+ f()
258
+ return
259
+ }
260
+ if(modelname=="createPlan"){
261
+ this.newPlan.f_checker_id=value.id
262
+ this.newPlan.f_checker=value.name
263
+ f()
264
+ return
265
+ }
266
+ if(modelname=="upPlan"){
267
+ this.plan.f_checker= value.name
268
+ this.plan.f_checker_id=value.id
269
+ f()
270
+ return
271
+ }
272
+ if(modelname=="upAspPlan"){
273
+ this.aspiratedPlan.f_checker= value.name
274
+ this.aspiratedPlan.f_checker_id=value.id
275
+ f()
276
+ return
277
+ }
278
+ this[modelname]=value
279
+ f()
280
+ }
281
+
282
+ jointCondition1(field,modelname){
283
+ for (let i =0 ;i<this[field].length;i++){
284
+ if(!this[field][i].selectValue){
285
+ continue
286
+ }
287
+ //如果是有无计划值特殊处理
288
+ //tag
289
+ if(this[field][i].selectitem.checkname=='有无计划'){
290
+ let v=this[field][i].selectValue=='已有计划'?'is not null':'is null'
291
+ //tag
292
+ this.setProperty(modelname,this[field][i].selectitem.column,v)
293
+ continue
294
+ }
295
+ //tag
296
+ this.setProperty(modelname,this[field][i].selectitem.column,this[field][i].selectValue)
297
+ }
298
+ }
299
+ //根据选择框内容设置属性值
300
+ jointCondition(modelname){
301
+
302
+ if(modelname="user"){
303
+ this.setProperty("user","usertype","")
304
+ this.setProperty("user","address","")
305
+ switch(this.userConditionSelect){
306
+ case "用户类型":
307
+ this.setProperty("user","usertype",this.userConditionValue)
308
+ break;
309
+ case "地址":
310
+ this.setProperty("user","address",this.userConditionValue)
311
+ break;
312
+ }
313
+ }
314
+ if(modelname="checkplanitems"){
315
+ this.setProperty("checkplanitems","usercode","")
316
+ this.setProperty("checkplanitems","username","")
317
+ switch(this.planItemConditionSelect){
318
+ case "用户编号":
319
+ this.setProperty("checkplanitems","usercode",this.planItemConditionValue)
320
+ break;
321
+ case "用户名称":
322
+ this.setProperty("checkplanitems","username",this.planItemConditionValue)
323
+ break;
324
+ }
325
+ }
326
+ }
327
+
328
+ //是否共享计划单选按钮事件
329
+ isAndNotChange(isAndNotselect){
330
+ this.sIsAndNotSelect=isAndNotselect
331
+ if(this.sIsAndNotSelect=="是"){
332
+ this.setProperty("checkplan","isAndNot","is null")
333
+ }
334
+ if(this.sIsAndNotSelect=="否"){
335
+ this.setProperty("checkplan","isAndNot","is not null")
336
+ }
337
+ }
338
+
339
+ //按条件查询所有安检计划
340
+ async loadCheckPlan(sortfield,f) {
341
+ this.isSend=true
342
+ this.checkplan.check.checkes=[]
343
+ if(sortfield){//如果传入空串说明是查询 传入非空串就是排序
344
+ //tag
345
+ if(sortfield==this.currentorder){
346
+ return
347
+ }else{
348
+ this.currentorder=sortfield
349
+ }
350
+ }
351
+ let fieldValue=''
352
+ switch(this.currentorder){
353
+ case "按时间降序":
354
+ fieldValue='f_create_time desc'
355
+ break
356
+ case "按时间升序":
357
+ fieldValue='f_create_time'
358
+ break
359
+ }
360
+ //tag
361
+ await this.checkplan.searchList("/api/af-safecheck/sql/预约计划下发",
362
+ {"f_plan_name": "f_plan_name like '%{}%'",
363
+ "f_plan_year":"f_plan_year={}",
364
+ "f_plan_month":"f_plan_month={}",
365
+ "checkerid":"f_checker_id={}",
366
+ "isAndNot":"f_checker {}",
367
+ "safechecktype":"f_safecheck_type='{}'",
368
+ "f_plan_type":"f_plan_type='{}'",
369
+ "f_issued":"f_issued='{}'",
370
+ "f_small_area":"f_remark='{}'"
371
+ },
372
+ {orderitem:fieldValue,
373
+ f_filialeids:"("+this.filialeid+")",
374
+ groupitem:""
375
+ }
376
+ )
377
+ f()
378
+ this.isSend=false
379
+ }
380
+
381
+ // 查询待检用户
382
+ async searchUser(f) {
383
+ this.jointCondition1("conditionList","user")
384
+ if(this.user.search.model.userType=='民用'){
385
+ this.setProperty("user","f_createfile_date",new Date().getFullYear()+"-01-01 00:00:00")
386
+ }else if(this.user.search.model.userType=='非民用'){
387
+ this.setProperty("user","f_createfile_date","")
388
+ }else{
389
+ Vue.showMessage("请选择用户类型!")
390
+ return
391
+ }
392
+ this.isSend=true
393
+ this.user.check.checkes=[]
394
+ let sday=''
395
+ let eday=''
396
+ if(this.startday.trim()!=''){
397
+ if(isNaN(this.startday) || isNaN(this.endday)){
398
+ Vue.showMessage("请输入数字!")
399
+ return
400
+ }
401
+ if(this.selectTime=="月"){
402
+ sday= this.startday*30
403
+ this.endday.trim()!=''?eday= this.endday*30:eday=''
404
+ }else{
405
+ sday= this.startday
406
+ this.endday.trim()!=''?eday= this.endday:eday=''
407
+ }
408
+ if(eday){
409
+ this.setProperty("user","checkTime"," DATEDIFF(dd,isnull(ua.f_last_check_date,'1999-01-01 00:00:00'),GETDATE())>="+parseInt(sday,10)+" and DATEDIFF(dd,ua.f_last_check_date,GETDATE())<="+parseInt(eday,10))
410
+ }else{
411
+ this.setProperty("user","checkTime"," DATEDIFF(dd,ua.f_last_check_date,GETDATE())>="+parseInt(sday,10))
412
+ }
413
+ }else{
414
+ this.setProperty("user","checkTime","")
415
+ }
416
+ if(this.yChecked=='已检'){
417
+ this.setProperty("user","ychecked","ua.f_last_check_state='入户' and DateName(year,isnull(ua.f_last_check_date,'1990-01-01'))='"+new Date().getFullYear()+"'")
418
+ }else if(this.yChecked=='未检'){
419
+ this.setProperty("user","ychecked","((ua.f_last_check_state!='入户' and DateName(year,isnull(ua.f_last_check_date,'1990-01-01'))='"+new Date().getFullYear()+"') or DateName(year,isnull(ua.f_last_check_date,'1990-01-01'))!='"+new Date().getFullYear()+"')")
420
+ }else{
421
+ this.setProperty("user","ychecked","")
422
+ }
423
+ if(this.checkSude=='已发'){
424
+ this.setProperty("user","checkSude","check_count is not null")
425
+ }else if(this.checkSude=='未发'){
426
+ this.setProperty("user","checkSude","check_count is null")
427
+ }else{
428
+ this.setProperty("user","checkSude","")
429
+ }
430
+ //tag
431
+ let str=''
432
+ if(this.buildParam.length>0){
433
+ for(let i=0;i<this.buildParam.length;i++){
434
+ if(i==(this.buildParam.length-1)){
435
+ str+="'"+this.buildParam[i]+"'"
436
+ }else{
437
+ str+="'"+this.buildParam[i]+"',"
438
+ }
439
+ }
440
+ }
441
+ this.user.search.setField("f_filialeid",this.filialeid)
442
+ this.user.search.setField("f_building",str)
443
+ await this.user.searchList("/api/af-safecheck/sql/FetchUserFileByOrgNoRuHuSXQ", {
444
+ "f_filialeid": "ui.f_filialeid={}",
445
+ "userinfocode": "ui.f_userinfo_code='{}'",
446
+ "username": "ui.f_user_name like '%{}%'",
447
+ "useraddress": "ua.f_address like '%{}%'",
448
+ "userType":"uf.f_user_type='{}'",
449
+ "f_residential_area":"ua.f_residential_area = '{}'",
450
+ "f_building":"ua.f_building in ({})",
451
+ "f_unit":"ua.f_unit='{}'",
452
+ "f_user_state":"ui.f_user_state='{}'",
453
+ "checkTime":" {}",
454
+ "hasplan":" ua.f_plan_id {}",
455
+ "f_small_area":"ua.f_small_area = '{}'",
456
+ "f_small_area1":"ua.f_small_area like '{}%'",
457
+ "f_street":"ua.f_street='{}'",
458
+ "f_address_state":"ua.f_address_state !='{}'",
459
+ "f_createfile_date":"ui.f_createfile_date < '{}'",
460
+ "ychecked":" {}",
461
+ "checkSude":" {}"
462
+ }, {
463
+ "orderitem": 'f_residential_area,cast(build as int),f_unit,cast(floor1 as int),f_room',
464
+ "f_usertype": '',
465
+ "month": '',
466
+ "SafeCheckSX": {"f_check_start": '', "f_check_end": ''},
467
+ "SafeCheckCQ": '',
468
+ "startday":"",
469
+ "endday":""
470
+ })
471
+ f()
472
+ this.isSend=false
473
+ }
474
+
475
+ //查询安检员
476
+ async searchChecker(id){
477
+ let res=await new HttpResetClass().load('POST', '/rs/search', {
478
+ source: 'this.getParentByType($department$).getAllChildrens().where(row.getAttributes().get($rolestr$).indexOf($安检员$) != -1))',
479
+ userid: id
480
+ }, {resolveMsg: null, rejectMsg: null})
481
+ this.checker=res.data
482
+ this.employeeList=this.checker
483
+ //tag+"---id"+this.filialeid)
484
+ }
485
+ //查询送气人员
486
+ async searchAspirated(id){
487
+ let res=await new HttpResetClass().load('POST', '/rs/search', {
488
+ source: 'this.getParentByType($department$).getAllChildrens().where(row.getAttributes().get($rolestr$).indexOf($送气人员$) != -1))',
489
+ userid: id
490
+ }, {resolveMsg: null, rejectMsg: null})
491
+ this.aspirated=res.data
492
+
493
+ //tag+"---id"+this.filialeid)
494
+ }
495
+
496
+ async searchPlanItems(f) {
497
+ await this.checkplanitems.searchList("/api/af-safecheck/sql/planItem", {"f_plan_id": "f_plan_id={}"}, {})
498
+ f()
499
+ }
500
+
501
+
502
+
503
+ // 打开安检计划,加载安检计划的所有安检单
504
+ async openPlan(plan, f) {
505
+ this.isSend=true
506
+ this.checkplanitems.check.checkes=[]
507
+ this.SelectedPlan=plan.id
508
+ this.SelectedPlanName=plan.f_plan_name
509
+ this.plan=plan
510
+ this.checkplanitems.search.setField("f_plan_id", plan.id)
511
+ this.checkplanitems.search.setField("f_state", "作废")
512
+ await this.checkplanitems.searchList("/api/af-safecheck/sql/planItem", {"f_plan_id": "i.f_plan_id='{}'","f_state": "i.f_state !='{}'"}, {})
513
+ f()
514
+ //this.checkplanitems.search.model.f_plan_id
515
+ this.isSend=false
516
+ }
517
+
518
+ //根据条件查询某个安检计划下的安检单
519
+ async searchPlanItem(f) {
520
+ this.checkplanitems.check.checkes=[]
521
+ if(this.checkplanitems.search.model.f_plan_id){
522
+ this.isSend=true
523
+ //tag
524
+ this.jointCondition1("planitemconditionList","checkplanitems")
525
+ await this.checkplanitems.searchList("/api/af-safecheck/sql/planItem",
526
+ {"f_plan_id": "i.f_plan_id='{}'",
527
+ "usercode": "i.f_userinfo_code='{}'",
528
+ "username": "i.f_user_name like '%{}%'",
529
+ "f_address": "i.f_address like '%{}%'",
530
+ "f_last_check_state": "i.f_last_check_state='{}' ",
531
+ "f_start_time": "i.f_last_check_date >='{}'",
532
+ "f_end_time": "i.f_last_check_date <='{}'",
533
+ "f_last_check_result":"i.f_last_check_result like '%{}%'",
534
+ "f_state": "i.f_state !='{}'",
535
+ "f_state1": "i.f_state ='{}'"
536
+ },
537
+ {})
538
+ f()
539
+ this.isSend=false
540
+ }else{
541
+ Vue.showMessage("请选择安检计划")
542
+ }
543
+ }
544
+ //加载更多数据
545
+ async loadMore(modelname,f) {
546
+ this.isSend=true
547
+ try{
548
+ await this[modelname].list.loadMore()
549
+ f()
550
+ }catch (e) {
551
+ Vue.showMessage(e.data+",请联系开发人员!")
552
+ }
553
+ this.isSend=false
554
+ }
555
+
556
+ //点击全选按钮事件 user-用户列表 planitem-计划项列表
557
+ changeCheckAll(modulename, f) {
558
+ this[modulename].check.setCheckAll()
559
+ f()
560
+ }
561
+
562
+ //当选中列表中某项时触发
563
+ addParam(modulename, id) {
564
+ //tag
565
+ this[modulename].check.setCheckes(id)
566
+ }
567
+ selectChange(modulename, property, value){
568
+ //tag
569
+ if(value=='全部'){
570
+ this.setProperty(modulename, property, '')
571
+ }else{
572
+ this.setProperty(modulename, property, value)
573
+ }
574
+
575
+ }
576
+ //设置属性值
577
+ setProperty(modulename, property, value) {
578
+ //tag
579
+ this[modulename].search.setField(property, value)
580
+ }
581
+
582
+ //列表中的选择框是否被选中
583
+ hasValue(modulename,value){
584
+ this[modulename].check.checks.has()
585
+ }
586
+ // 给新建安检计划设置属性值
587
+ setNewPlan(property, value) {
588
+
589
+ //tag
590
+ this.newPlan[property] = value
591
+ return this
592
+ }
593
+ setSafeCheckType(val,f){
594
+ //tag
595
+ if(this.newPlan.f_safecheck_type==val){
596
+ return
597
+ }
598
+ if(val=='年度普检'){
599
+ this.employeeName='安检员'
600
+ this.promptStatement='请选择安检员'
601
+ this.newPlan.f_checker=''
602
+ this.employeeList=this.checker
603
+ }else{
604
+ this.employeeName='送气员'
605
+ this.promptStatement='请选择送气员'
606
+ this.newPlan.f_checker=''
607
+ this.employeeList=this.aspirated
608
+ }
609
+ this.setNewPlan("f_safecheck_type",val)
610
+ f()
611
+ }
612
+ //将某项拖动到计划中
613
+ //dragParam:从拖动的起始位置传入的参数
614
+ async dragtoPlan(f_plan_id,f_safecheck_type,f_filialeid,dragParam,f){
615
+ //tag
616
+ await this.dragtoPlanItem(f_plan_id,f_safecheck_type,dragParam,f)
617
+ await this.dragtoOtherPlanIteem(f_plan_id,dragParam,f)
618
+ }
619
+
620
+ //将客户信息拖至计划中
621
+ async dragtoPlanItem(f_plan_id,f_safecheck_type,dragParam,f) {
622
+
623
+ //tag
624
+ if(dragParam=='user'){
625
+ this.jointCondition1("conditionList","user")
626
+ if(this.checkplanitems.search.model.f_plan_id){
627
+ this.isSend=true
628
+ let res=await this.http.load("POST", "/api/af-safecheck/logic/AddCheckPlanItem", {
629
+ data:{
630
+ f_operator:global.login.name,
631
+ f_plan_id:f_plan_id,
632
+ f_safecheck_type:f_safecheck_type,
633
+ f_filialeid:this.filialeid,
634
+ f_subscribe_date:'',
635
+ condition:this.user.search.search({
636
+ "f_filialeid": "ui.f_filialeid={}",
637
+ "userinfocode": "ui.f_userinfo_code='{}'",
638
+ "username": "ui.f_user_name like '%{}%'",
639
+ "useraddress": "ua.f_address like '%{}%'",
640
+ "userType":"uf.f_user_type='{}'",
641
+ "f_residential_area":"ua.f_residential_area = '{}'",
642
+ "f_building":"ua.f_building in ({})",
643
+ "f_unit":"ua.f_unit='{}'",
644
+ "f_user_state":"ui.f_user_state='{}'",
645
+ "checkTime":" {}",
646
+ "hasplan":" ua.f_plan_id {}",
647
+ "f_small_area":"ua.f_small_area = '{}'",
648
+ "f_small_area1":"ua.f_small_area like '{}%'",
649
+ "f_street":"ua.f_street='{}'",
650
+ "f_address_state":"ua.f_address_state !='{}'",
651
+ "f_createfile_date":"ui.f_createfile_date < '{}'",
652
+ "ychecked":" {}",
653
+ "checkSude":" {}"
654
+ }),
655
+ switchCheckAll:this.user.check.switchCheckAll,
656
+ checkAll:this.user.check.checkAll,
657
+ param:this.user.check.checkes,
658
+ columnName: "ua.id"
659
+ }
660
+ }, {resolveMsg: null, rejectMsg: null})
661
+ //tag+"---"+res.data.result.length)
662
+ if(res.data.code==200){
663
+ //alert("添加成功!有"+res.data.result.length+"条用户地址已经存在于其他计划中: \n"+res.data.result.reduce((c,v)=>{c += v.f_user_name+":"+v.f_address+"\n"}),0)
664
+ Vue.showMessage("添加成功!"+(res.data.result.length>0?"有"+res.data.result.length+"条用户地址已经存在于其他计划中":""))
665
+ }else{
666
+ Vue.showMessage("添加失败!")
667
+ }
668
+ this.user.check.checkes=[]
669
+ await this.searchUser(()=>{})
670
+ await this.searchPlanItem(()=>{})
671
+ await this.loadCheckPlan("",()=>{})
672
+ f()
673
+ this.isSend=false
674
+ }else{
675
+ Vue.showMessage("请先打开一个计划再进行操作")
676
+ }
677
+ }
678
+ }
679
+
680
+ //将某个计划下的一项拖到另一个计划
681
+ async dragtoOtherPlanIteem(checkplanid,dragParam,f) {
682
+ if(dragParam=='item'){
683
+ this.isSend=true
684
+ this.jointCondition1("planitemconditionList","checkplanitems")
685
+ let res=await this.http.load("POST", "/api/af-safecheck/logic/UpCheckPlanItem", {
686
+ data:{
687
+ f_operator:global.login.name,
688
+ f_plan_id:checkplanid,
689
+ condition:this.checkplanitems.search.search({"f_plan_id": "i.f_plan_id='{}'",
690
+ "usercode": "i.f_userinfo_code='{}'",
691
+ "username": "i.f_user_name like '%{}%'",
692
+ "f_address": "i.f_address like '%{}%'",
693
+ "f_last_check_state": "i.f_last_check_state='{}' ",
694
+ "f_start_time": "i.f_last_check_date >='{}'",
695
+ "f_end_time": "i.f_last_check_date <='{}'",
696
+ "f_last_check_result":"i.f_last_check_result like '%{}%'",
697
+ "f_state": "i.f_state !='{}'",
698
+ "f_state1": "i.f_state ='{}'"
699
+ }),
700
+ switchCheckAll:this.checkplanitems.check.switchCheckAll,
701
+ checkAll:this.checkplanitems.check.checkAll,
702
+ param:this.checkplanitems.check.checkes,
703
+ columnName: "i.id"
704
+ }
705
+ }, {resolveMsg: null, rejectMsg: null})
706
+ if(res.data.code==200){
707
+ await this.searchUser(()=>{})
708
+ await this.searchPlanItem(()=>{})
709
+ await this.loadCheckPlan("",()=>{})
710
+ f()
711
+ Vue.showMessage("更换安检计划成功!")
712
+ }else{
713
+ Vue.showMessage("更换安检计划失败!")
714
+ }
715
+ f()
716
+ this.isSend=false
717
+ }
718
+
719
+ }
720
+
721
+ //修改计划项状态为作废
722
+ async delPlanItem(dragParam,f) {
723
+ //tag
724
+ if(dragParam=='item'){
725
+ this.isSend=true
726
+ let resu=await this.http.load("POST", "/api/af-safecheck/logic/UpCheckPlanItemState", {
727
+ data: {
728
+ f_operator:global.login.name,
729
+ condition:this.checkplanitems.search.search({
730
+ "f_plan_id": "i.f_plan_id='{}'",
731
+ "usercode": "i.f_userinfo_code='{}'",
732
+ "username": "i.f_user_name like '%{}%'",
733
+ "f_address": "i.f_address like '%{}%'",
734
+ "f_last_check_state": "i.f_last_check_state='{}' ",
735
+ "f_start_time": "i.f_last_check_date >='{}'",
736
+ "f_end_time": "i.f_last_check_date <='{}'",
737
+ "f_last_check_result":"i.f_last_check_result like '%{}%'",
738
+ "f_state": "i.f_state !='{}'",
739
+ "f_state1": "i.f_state ='{}'"}),
740
+ switchCheckAll:this.checkplanitems.check.switchCheckAll,
741
+ checkAll:this.checkplanitems.check.checkAll,
742
+ param:this.checkplanitems.check.checkes,
743
+ columnName: "i.id"
744
+ }
745
+ }, {resolveMsg: null, rejectMsg: null})
746
+ //tag)
747
+ if(resu.data.code==200){
748
+ Vue.showMessage("作废安检单成功! 成功作废:"+resu.data.res.up+"条"+(resu.data.res.noup>0?"有"+resu.data.res.noup+"条已经不是 ‘未检’ 状态!":""))
749
+ await this.searchUser(()=>{})
750
+ await this.searchPlanItem(()=>{})
751
+ await this.loadCheckPlan("",()=>{})
752
+ f()
753
+ }else{
754
+ Vue.showMessage("取消安检计划失败!")
755
+ }
756
+ this.isSend=false
757
+ }
758
+
759
+ }
760
+
761
+ //新建计划
762
+ async addNewPlan(f) {
763
+ if(!this.validationCreatePlan()){
764
+ return
765
+ }
766
+ this.isSend=true
767
+ let res=await this.http.load("POST","/api/af-safecheck/sql/getCheckplan", {data: {condition:"f_plan_name='"+this.newPlan.f_plan_name+"'",sortfield:'f_create_time desc'}})
768
+ //tag
769
+ if(res.data.length>0){
770
+ Vue.showMessage("计划名称不能重复!")
771
+ return
772
+ }
773
+ if(this.isShare=="是"){
774
+ this.newPlan.f_checker_id=null
775
+ this.newPlan.f_checker=null
776
+ }
777
+ this.newPlan.f_plan_type='非民用'
778
+ this.newPlan.f_subcompany=global.login.orgs
779
+ this.newPlan.f_filialeid=this.filialeid
780
+ this.newPlan.f_create_operator=global.login.name
781
+ this.newPlan.f_create_time=this.getNowFormatDate()
782
+ this.newPlan.f_remark=null
783
+ await Vue.resetpost("/api/af-safecheck/logic/createCheckPlan", {"data": this.newPlan},{resolveMsg : '新建计划成功!', rejectMsg : '新建计划失败!'},2500)
784
+ await this.loadCheckPlan("",()=>{})
785
+ this.newPlan={f_issued:"否",f_safecheck_type:"年度普检"}
786
+ this.isShare="否"
787
+ f()
788
+ this.isSend=false
789
+ }
790
+
791
+ // 取消新建安检计划
792
+ cancel() {
793
+ this.newPlan={f_issued:"否",f_safecheck_type:"年度普检"}
794
+ this.isShare="否"
795
+ this.aspiratedPlan={issued:'是'}
796
+ this.plan={}
797
+ }
798
+
799
+ // 取年的选择项目
800
+ years() {
801
+ return date.yearSelects
802
+ }
803
+
804
+ // 取月的选择项目
805
+ months() {
806
+ return date.monthSelects
807
+ }
808
+
809
+ //下发安检计划
810
+ async sendCheckPlan(f){
811
+ if(this.checkplan.check.checkes.length<1){
812
+ Vue.showMessage("请选择要下发的安检计划")
813
+ return
814
+ }
815
+ this.isSend=true
816
+ let res=await this.http.load("POST", "/api/af-safecheck/logic/NewBespeakCheckPlan", {
817
+ data:{
818
+ f_issued:'是',
819
+ f_issue_time:this.getNowFormatDate(),
820
+ f_send_operator:global.login.name,
821
+ param:this.checkplan.check.checkes,
822
+ }
823
+ }, {resolveMsg: null, rejectMsg: null})
824
+ if(res.data.code==200){
825
+ //Vue.showMessage("下发成功!其中有"+res.data.repet+"个计划己经是下发状态")
826
+ Vue.showMessage("下发成功!")
827
+ await this.loadCheckPlan('',()=>{})
828
+ f()
829
+ }else{
830
+ Vue.showMessage("下发失败!")
831
+ }
832
+ this.isSend=false
833
+ }
834
+
835
+ //删除安检计划
836
+ async delCheckPlan(f){
837
+ if(this.checkplan.check.checkes.length<1){
838
+ Vue.showMessage("请选择要删除的安检计划")
839
+ return
840
+ }
841
+ this.isSend=true
842
+ let res=await this.http.load("POST", "/api/af-safecheck/logic/deleteCheckPlan", {
843
+ data:{
844
+ f_operator:global.login.name,//global.login.name,
845
+ condition:this.checkplan.search.search({}),
846
+ switchCheckAll:this.checkplan.check.switchCheckAll,
847
+ checkAll:this.checkplan.check.checkAll,
848
+ param:this.checkplan.check.checkes,
849
+ columnName: "f_plan_id"
850
+ }
851
+ }, {resolveMsg: null, rejectMsg: null})
852
+ //tag)
853
+ if(res.data.code==200){
854
+ Vue.showMessage("删除成功!","success",2500)
855
+ await this.loadCheckPlan('',()=>{})
856
+ }else{
857
+ Vue.showMessage("删除失败!"+res.data.message,"success",2500)
858
+ }
859
+ this.checkplanitems.search.model.f_plan_id=""
860
+ this.checkplanitems.list.data=[]
861
+ f()
862
+ this.isSend=false
863
+ }
864
+ //修改计划时 用来存储当前选中要修改的计划
865
+ plan={}
866
+ setPlanVal(value){
867
+ //tag)
868
+ this.plan=JSON.parse(JSON.stringify( value ))
869
+ }
870
+ setPlan(key,val){
871
+ this.plan[key]=val
872
+ }
873
+ //修改安检计划
874
+ async upCheckPlan(f){
875
+ if(this.plan.f_issued=='已下发'){
876
+ Vue.showMessage("该计划已下发,无法进行修改!")
877
+ return
878
+ }
879
+ this.isSend=true
880
+ let res=await this.http.load("POST", "/api/af-safecheck/logic/updateCheckPlan", {
881
+ data:{
882
+ f_checker:this.plan.f_checker,
883
+ f_checker_id:this.plan.f_checker_id,
884
+ f_plan_name:this.plan.f_plan_name,
885
+ f_plan_year:this.plan.f_plan_year,
886
+ f_plan_month:this.plan.f_plan_month,
887
+ f_plan_id:this.plan.id
888
+ }
889
+ }, {resolveMsg: null, rejectMsg: null})
890
+ if(res.data.code==200){
891
+ Vue.showMessage("修改成功!")
892
+ await this.loadCheckPlan('',()=>{})
893
+ f()
894
+ }else{
895
+ Vue.showMessage("修改失败!"+res.data.message,"success",2500)
896
+ }
897
+
898
+ this.isSend=false
899
+ }
900
+ //批量送气值改变
901
+ setAspiratedPlan(key,val){
902
+ this.aspiratedPlan[key]=val
903
+ }
904
+ //批量下发送气计划
905
+ async upAspiratedPlan(f){
906
+ if(this.checkplan.check.checkes.length<1){
907
+ Vue.showMessage("请勾选需要下发的送气计划")
908
+ return
909
+ }
910
+ if(!this.aspiratedPlan.f_checker){
911
+ Vue.showMessage("请选择送气员!")
912
+ return
913
+ }
914
+ this.isSend=true
915
+ let res=await this.http.load("POST", "/api/af-safecheck/logic/updateAsp", {
916
+ data:{
917
+ f_issued:this.aspiratedPlan.issued,
918
+ f_issue_time:this.getNowFormatDate(),
919
+ f_checker:this.aspiratedPlan.f_checker,
920
+ f_checker_id:this.aspiratedPlan.f_checker_id,
921
+ f_send_operator:global.login.name,
922
+ param:this.checkplan.check.checkes,
923
+ }
924
+ }, {resolveMsg: null, rejectMsg: null})
925
+ if(res.data.code==200){
926
+ Vue.showMessage("修改成功!")
927
+ this.aspiratedPlan={issued:'是'}
928
+ this.loadCheckPlan('',()=>{}).then(()=>{
929
+ f()
930
+ this.isSend=false
931
+ })
932
+ //f()
933
+ }else{
934
+ Vue.showMessage("修改失败!"+res.data.message,"success",2500)
935
+ this.isSend=false
936
+ }
937
+ }
938
+ //新建安检计划非空判断
939
+ validationCreatePlan(){
940
+ if(!this.newPlan.f_plan_name){
941
+ Vue.showMessage("请输入安检计划名称!")
942
+ return false
943
+ }
944
+ if(!this.newPlan.f_plan_year){
945
+ Vue.showMessage("请选择安检年份!")
946
+ return false
947
+ }
948
+ if(!this.newPlan.f_plan_month){
949
+ Vue.showMessage("请选择安检月份!")
950
+ return false
951
+ }
952
+ if(this.isShare=="否"){
953
+ if(!this.newPlan.f_checker){
954
+ Vue.showMessage("请选择安检人员!")
955
+ return false
956
+ }
957
+ }else{
958
+ this.newPlan.f_checker=''
959
+ }
960
+ if(!this.newPlan.f_safecheck_type){
961
+ Vue.showMessage("请选择安检类型!")
962
+ return false
963
+ }
964
+ return true
965
+ }
966
+ getBuild(area,f) {
967
+ this.buildParam=[]
968
+ let res = this.http.load('POST', '/api/af-safecheck/sql/safe_singleTable_GroupBy', {
969
+ data: {
970
+ items: "f_building buind",
971
+ tablename: "t_user_address",
972
+ condition: `f_filialeid = ${this.filialeid} and f_residential_area='${area}'`,
973
+ groupitem: "f_building order by cast((case PATINDEX('%[^0-9]%', f_building) when 0 then f_building else 999 end) as int)"
974
+ }
975
+ }, {resolveMsg: null, rejectMsg: null}).then((res)=>{
976
+ this.buildings=res.data
977
+ f()
978
+ })
979
+
980
+ }
981
+ async getAreaList() {
982
+ let res =await this.http.load('POST', '/api/af-safecheck/sql/safe_singleTable_GroupBy', {
983
+ data: {
984
+ items: 'f_residential_area',
985
+ tablename: 't_area',
986
+ condition: 'f_filialeid = '+this.filialeid,
987
+ groupitem: 'f_residential_area'
988
+ }
989
+ }, {resolveMsg: null, rejectMsg: null})
990
+
991
+ if (res.data) {
992
+ let arr=["全部"]
993
+ for(let i =0 ;i<res.data.length;i++){
994
+ arr.push(res.data[i].f_residential_area)
995
+ }
996
+ this.areaList=arr
997
+ }
998
+ }
999
+ //获取当前时间
1000
+ getNowFormatDate() {
1001
+ let date = new Date();
1002
+ let seperator1 = "-";
1003
+ let seperator2 = ":";
1004
+ let month = date.getMonth() + 1;
1005
+ let strDate = date.getDate();
1006
+ let hour = date.getHours();
1007
+ let min = date.getMinutes();
1008
+ let second = date.getSeconds();
1009
+ if (month >= 1 && month <= 9) {
1010
+ month = "0" + month;
1011
+ }
1012
+ if (strDate >= 0 && strDate <= 9) {
1013
+ strDate = "0" + strDate;
1014
+ }
1015
+ if (hour >= 0 && hour <= 9) {
1016
+ hour = "0" + hour;
1017
+ }
1018
+ if (min >= 0 && min <= 9) {
1019
+ min = "0" + min;
1020
+ }
1021
+ if (second >= 0 && second <= 9) {
1022
+ second = "0" + second;
1023
+ }
1024
+ let currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
1025
+ + " " + hour + seperator2 + min
1026
+ + seperator2 + second;
1027
+ return currentdate;
1028
+ }
1029
+ //excel导出
1030
+ async exportFile(){
1031
+ if(!this.checkplanitems.search.model.f_plan_id){
1032
+ Vue.showMessage("请选择先打开一个安检计划!")
1033
+ return
1034
+ }
1035
+ this.isSend=true
1036
+ this.jointCondition1("planitemconditionList","checkplanitems")
1037
+ let res=await this.http.load('POST','api/af-safecheck/logic/exportfile',
1038
+ {
1039
+ "data": {
1040
+ "body": {
1041
+ "data": {
1042
+ "condition": this.checkplanitems.search.search({"f_plan_id": "i.f_plan_id='{}'",
1043
+ "usercode": "i.f_userinfo_code='{}'",
1044
+ "username": "i.f_user_name like '%{}%'",
1045
+ "f_address": "i.f_address like '%{}%'",
1046
+ "f_last_check_state": "i.f_last_check_state='{}' ",
1047
+ "f_start_time": "i.f_last_check_date >='{}'",
1048
+ "f_end_time": "i.f_last_check_date <='{}'",
1049
+ "f_last_check_result":"i.f_last_check_result like '%{}%'",
1050
+ "f_state": "i.f_state !='{}'",
1051
+ "f_state1": "i.f_state ='{}'"
1052
+ })
1053
+ },
1054
+ "field": ["f_userinfo_code:用户编号","f_user_name:用户名称", "f_user_type:用户类型", "f_residential_area:小区名称", "f_state:安检状态","f_address:详细地址"],
1055
+ "templateName": this.plan.f_plan_name,
1056
+ "sqlName": "planItem",
1057
+ "uuid": this.guid()
1058
+ },
1059
+ }
1060
+ }
1061
+ ,{resolveMsg: null, rejectMsg: null})
1062
+ //tag)
1063
+ let link = document.createElement('a');
1064
+ let path = res.data[0].filename
1065
+ //webapps这个是在服务器上导出用的
1066
+ let pathName = "http://" + location.host + "/webapps" + path.split('webapps')[1]
1067
+ //excel这个是在本地导出用的
1068
+ link.href = pathName;
1069
+ link.download = path.split('excel/')[1];
1070
+ link.dispatchEvent(new MouseEvent('click'));
1071
+ this.isSend=false
1072
+ }
1073
+
1074
+ //excel导出
1075
+ async userexportFile(){
1076
+
1077
+ this.isSend=true
1078
+ let res=await this.http.load('POST','api/af-safecheck/logic/exportfile',
1079
+ {
1080
+ "data": {
1081
+ "body": {
1082
+ "data": {
1083
+ "condition": this.user.search.search({
1084
+ "f_filialeid": "ui.f_filialeid={}",
1085
+ "userinfocode": "ui.f_userinfo_code='{}'",
1086
+ "username": "ui.f_user_name like '%{}%'",
1087
+ "useraddress": "ua.f_address like '%{}%'",
1088
+ "userType":"uf.f_user_type='{}'",
1089
+ "f_residential_area":"ua.f_residential_area = '{}'",
1090
+ "f_building":"ua.f_building in ({})",
1091
+ "f_unit":"ua.f_unit='{}'",
1092
+ "f_user_state":"ui.f_user_state='{}'",
1093
+ "checkTime":" {}",
1094
+ "hasplan":" ua.f_plan_id {}",
1095
+ "f_small_area":"ua.f_small_area = '{}'",
1096
+ "f_small_area1":"ua.f_small_area like '{}%'",
1097
+ "f_street":"ua.f_street='{}'",
1098
+ "f_address_state":"ua.f_address_state !='{}'",
1099
+ "f_createfile_date":"ui.f_createfile_date < '{}'",
1100
+ "ychecked":" {}",
1101
+ "checkSude":" {}"
1102
+ }),
1103
+ "orderitem": 'f_residential_area,cast(build as int),f_unit,cast(floor1 as int),f_room',
1104
+ "f_usertype": '',
1105
+ "month": '',
1106
+ "SafeCheckSX": {"f_check_start": '', "f_check_end": ''},
1107
+ "SafeCheckCQ": '',
1108
+ "startday":"",
1109
+ "endday":""
1110
+ },
1111
+ "field": ["f_userinfo_code:用户编号","f_user_name:用户名称", "f_user_type:用户类型", "f_residential_area:小区名称", "f_user_phone:用户电话","f_address:详细地址"],
1112
+ "templateName": '安检用户信息',
1113
+ "sqlName": "FetchUserFileByOrgNoRuHuSXQ",
1114
+ "uuid": this.guid()
1115
+ },
1116
+ }
1117
+ }
1118
+ ,{resolveMsg: null, rejectMsg: null})
1119
+ //tag)
1120
+ let link = document.createElement('a');
1121
+ let path = res.data[0].filename
1122
+ //webapps这个是在服务器上导出用的
1123
+ let pathName = "http://" + location.host + "/webapps" + path.split('webapps')[1]
1124
+ //excel这个是在本地导出用的
1125
+ link.href = pathName;
1126
+ link.download = path.split('excel/')[1];
1127
+ link.dispatchEvent(new MouseEvent('click'));
1128
+ this.isSend=false
1129
+ }
1130
+ guid() {
1131
+ return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
1132
+ let r = Math.random() * 16 | 0,
1133
+ v = c == 'x' ? r : (r & 0x3 | 0x8)
1134
+ return v.toString(16)
1135
+ })
1136
+ }
1137
+ flush(f){
1138
+ f()
1139
+ }
1140
+ }