safetyExamineWorkbench.vue 56 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287
  1. <!-- 安全检查-工作台 -->
  2. <template>
  3. <view class="examine">
  4. <scroll-view scroll-y @scrolltolower="scrollGet" class="info-max-box">
  5. <view class="tabTitle_identity" v-if="tabTextIdentity.length>1">
  6. <view class="tabTitle_identity_li" @tap="tabClickIdentity(item,index)" :key="index"
  7. v-for="(item,index) in tabTextIdentity">
  8. <view :class="{on:curTabIdentity==index}" class="tabTitle_identity_text">{{item.name}}</view>
  9. <view :class="{on:curTabIdentity==index}" class="tabTitle_identity_across"></view>
  10. </view>
  11. </view>
  12. <view>
  13. <view class="statistics" v-if="pageType==1 || pageType==2">
  14. <view class="statistics_li" v-for="(item,index) in statisticsList" :key="index">
  15. <text>{{item.name}}</text>
  16. <text>{{item.value}}</text>
  17. </view>
  18. </view>
  19. <viwe class="inspect_btn" v-if="pageType==1 || pageType==2">
  20. <view class="inspect_btn_li" @click="handleClick('','patrolPlan')" v-if="!collegeGentle">
  21. <img src="@/pages_safetyExamine/images/icon_xyxc_xyxc.png" />
  22. <text>校院巡查</text>
  23. </view>
  24. <text class="line" v-if="!collegeGentle"></text>
  25. <view class="inspect_btn_li" @click="handleClick('','selfPlan')">
  26. <img src="@/pages_safetyExamine/images/icon_xyxc_syszc.png" />
  27. <text>实验室自查</text>
  28. </view>
  29. <text class="line"></text>
  30. <view class="inspect_btn_li" @click="handleClick('','dangerPlan')">
  31. <img src="@/pages_safetyExamine/images/icon_xyxc_aqyh.png" />
  32. <text>安全隐患</text>
  33. </view>
  34. <text class="line"></text>
  35. <view class="inspect_btn_li" @click="handleClick('','snapshot')">
  36. <img src="@/pages_safetyExamine/images/icon_aqjc_ssp.png" />
  37. <text>随手拍</text>
  38. </view>
  39. </viwe>
  40. <!--管理员------------- -->
  41. <view class="tabTitle" v-if="pageType==1">
  42. <view class="tabTitle_li" @tap="tabClick(index)" :key="index" v-for="(item,index) in tabText">
  43. <view :class="{on:curTab==index}" class="tabTitle_text">{{item.name}}<text>{{item.num}}</text>
  44. </view>
  45. <view :class="{on:curTab==index}" class="tabTitle_across"></view>
  46. </view>
  47. </view>
  48. <view class="list" v-if="pageType==1">
  49. <view class="list_li" v-for="(item,index) in dataList" :key="index"
  50. @click="handleClick(item,'edit')">
  51. <view class="list_li_t">
  52. <view class="list_li_t_l">
  53. <img v-if="item.checkRange==1" src="@/pages_safetyExamine/images/icon_xyxc_qx.png" />
  54. <img v-if="item.checkRange==2" src="@/pages_safetyExamine/images/icon_xyxc_xy.png" />
  55. <img v-if="item.checkRange==3" src="@/pages_safetyExamine/images/icon_xyxc_sys.png" />
  56. <text></text>
  57. </view>
  58. <view class="list_li_t_c">{{item.title}}</view>
  59. <view class="list_li_t_r"></view>
  60. </view>
  61. <view class="list_li_m">
  62. <view class="list_li_m_t">计划周期:{{item.cycleStartTime}}至{{item.cycleEndTime}}</view>
  63. <view class="list_li_m_b">
  64. <text class="blue_color" v-if="item.checkStatus==1">未开始</text>
  65. <text class="red_color" v-if="item.checkStatus==2">进行中</text>
  66. <text>{{item.checkType==1?'校院巡查':'实验室自查'}}-{{item.checkCategory==1?'综合检查':'专项检查'}}</text>
  67. </view>
  68. </view>
  69. <view class="list_li_b">
  70. <img src="@/pages_safetyExamine/images/icon_djcsys.png" />
  71. <text v-if="item.checkStatus==1">待检查实验室:</text>
  72. <text v-if="item.checkStatus==1">{{item.subjectNum}}间</text>
  73. <text v-if="item.checkStatus==2">检查进度:</text>
  74. <text v-if="item.checkStatus==2">{{item.checkSchedule}}间</text>
  75. </view>
  76. </view>
  77. </view>
  78. <!--检查者------------- -->
  79. <view class="tabTitle_tow" v-if="pageType==2">
  80. <view class="tabTitle_tow_li" @tap="tabClickTow(index)" :key="index"
  81. v-for="(item,index) in tabTextTow">
  82. <view :class="{on:curTabTow==index}" class="tabTitle_tow_text">
  83. {{item.name}}<text>{{item.num}}</text></view>
  84. <view :class="{on:curTabTow==index}" class="tabTitle_tow_across"></view>
  85. </view>
  86. </view>
  87. <view class="list_tow" v-if="pageType==2">
  88. <view class="list_tow_li" v-for="(item,index) in dataList2" :key="index">
  89. <view class="list_tow_li_t">
  90. <view class="list_tow_li_t_l">
  91. <img v-if="item.checkRange==1" src="@/pages_safetyExamine/images/icon_xyxc_qx.png" />
  92. <img v-if="item.checkRange==2" src="@/pages_safetyExamine/images/icon_xyxc_xy.png" />
  93. <img v-if="item.checkRange==3" src="@/pages_safetyExamine/images/icon_xyxc_sys.png" />
  94. <text></text>
  95. </view>
  96. <view class="list_tow_li_t_c" v-if="curTabTow==0 || curTabTow==1">
  97. {{item.subjectName}}-{{item.roomNumber}}</view>
  98. <view class="list_tow_li_t_c" v-if="curTabTow==2 && item.rectifyStatus==3">{{item.subRoom}}
  99. </view>
  100. <view class="list_tow_li_t_c2" v-if="(curTabTow==0 || curTabTow==1) && item.isOverdue==1">
  101. 已逾期</view>
  102. <view class="list_tow_li_t_c2" v-if="curTabTow==2 && item.overdueStatus==3">已逾期</view>
  103. <view class="list_tow_li_t_r"></view>
  104. </view>
  105. <view class="list_tow_li_m">
  106. <view class="list_tow_li_m_t">{{item.title}}</view>
  107. <view class="list_tow_li_m_b">
  108. <text class="blue_color" v-if="item.manageStatus==0">待检查</text>
  109. <text class="red_color" v-if="item.manageStatus==1">检查中</text>
  110. <text class="green_color" v-if="item.manageStatus==2">已检查</text>
  111. <text class="orange_color" v-if="curTabTow==2 && item.rectifyStatus==3">待审核</text>
  112. <text
  113. v-if="item.manageStatus==0 || item.manageStatus==1 || item.manageStatus==2">{{item.checkType==1?'校院巡查':'实验室自查'}}-{{item.checkCategory==1?'综合检查':'专项检查'}}</text>
  114. <text
  115. v-if="curTabTow==2 && item.rectifyStatus==3">{{item.hazardType==1?'校院巡查':'实验室自查'}}-{{item.checkCategory==1?'综合检查':'专项检查'}}</text>
  116. <text>{{item.collegeName}}</text>
  117. </view>
  118. </view>
  119. <!-- 开始检查 -->
  120. <view v-if="curTabTow==2 && item.rectifyStatus==3" class="list_tow_li_b"
  121. @click="handleTowClick(item,'check')">{{item.applyGentle?'复核':'详情'}}</view>
  122. <view v-if="item.buttonHide && item.isSelfData==1">
  123. <view v-if="(curTabTow==0 || curTabTow==1) && item.manageStatus==0 && item.notStarted"
  124. class="list_tow_li_b" @click="handleTowClick(item,'add')">开始检查</view>
  125. <view v-if="(curTabTow==0 || curTabTow==1) &&item.manageStatus==1 && item.notStarted"
  126. class="list_tow_li_b" @click="handleTowClick(item,'edit')">编辑</view>
  127. <view v-if="(curTabTow==0 || curTabTow==1) &&!item.notStarted" class="list_tow_li_b_tow">
  128. <img src="@/pages_safetyExamine/images/icon_xyxcgl_jhwks.png" />计划未开始</view>
  129. <view v-if="(curTabTow==0 || curTabTow==1) &&item.manageStatus==2 && item.notStarted"
  130. class="list_tow_li_b_three">
  131. <img src="@/pages_safetyExamine/images/icon_djcsys.png" />
  132. <text>整改进度:</text>
  133. <text>{{item.rectifySchedule}}</text>
  134. <text class="report">整改报告</text>
  135. </view>
  136. </view>
  137. </view>
  138. </view>
  139. <!-- 整改人----------- -->
  140. <view class="statistics_three" v-if="pageType==3">
  141. <view class="statistics_three_li" v-for="(item,index) in statisticsListThree" :key="index">
  142. <text>{{item.name}}</text>
  143. <text>{{item.value}}</text>
  144. </view>
  145. </view>
  146. <viwe class="inspect_btn_three" v-if="pageType==3">
  147. <view class="inspect_btn_three_li" @click="handleClick('','schoolDanger')">
  148. <img src="@/pages_safetyExamine/images/icon_xyxc_xyxc.png" />
  149. <text>校院巡查隐患</text>
  150. </view>
  151. <text class="line"></text>
  152. <view class="inspect_btn_three_li" @click="handleClick('','labDanger')">
  153. <img src="@/pages_safetyExamine/images/icon_xyxc_syszc.png" />
  154. <text>实验室自查隐患</text>
  155. </view>
  156. <text class="line"></text>
  157. <view class="inspect_btn_three_li" @click="handleClick('','snapshot')">
  158. <img src="@/pages_safetyExamine/images/icon_aqjc_ssp.png" />
  159. <text>随手拍</text>
  160. </view>
  161. </viwe>
  162. <view class="tabTitle_three" v-if="pageType==3">
  163. <view class="tabTitle_three_li" @tap="tabClickThree(index)" :key="index"
  164. v-for="(item,index) in tabTextThree">
  165. <view :class="{on:curTabThree==index}" class="tabTitle_three_text">
  166. {{item.name}}<text>{{item.num}}</text></view>
  167. <view :class="{on:curTabThree==index}" class="tabTitle_three_across"></view>
  168. </view>
  169. </view>
  170. <view class="list_three" v-if="pageType==3">
  171. <view class="list_three_li" v-for="(item,index) in dataList3" :key="index"
  172. @click="handleThreeClick(item,'detail')">
  173. <view class="list_three_li_t">
  174. <view class="list_three_li_t_l">
  175. <img v-if="item.checkRange==1" src="@/pages_safetyExamine/images/icon_xyxc_qx.png" />
  176. <img v-if="item.checkRange==2" src="@/pages_safetyExamine/images/icon_xyxc_xy.png" />
  177. <img v-if="item.checkRange==3" src="@/pages_safetyExamine/images/icon_xyxc_sys.png" />
  178. <text></text>
  179. </view>
  180. <!-- 隐患 -->
  181. <view class="list_three_li_t_c" v-if="curTabThree==0">{{item.subRoom}}</view>
  182. <!-- 随手拍 -->
  183. <view class="list_three_li_t_c" v-if="curTabThree==1">{{item.subName}}</view>
  184. <view class="list_three_li_t_c2" v-if="item.overdueStatus==1">已逾期</view>
  185. <view class="list_three_li_t_r"></view>
  186. </view>
  187. <view class="list_three_li_m">
  188. <!-- 隐患 -->
  189. <view class="list_three_li_m_t" v-if="curTabThree==0">{{item.hazardDescribe}}</view>
  190. <!-- 随手拍 -->
  191. <view class="list_three_li_m_t" v-if="curTabThree==1">{{item.hazardDescribe}}</view>
  192. <view class="list_three_li_m_b">
  193. <!-- 隐患 -->
  194. <text class="green_color" v-if="curTabThree==0 && item.rectifyStatus==1">已完成</text>
  195. <text class="blue_color" v-if="curTabThree==0 && item.rectifyStatus==2">待整改</text>
  196. <text class="orange_color"
  197. v-if="curTabThree==0 && curTabThree==0 && item.rectifyStatus==3">待复核</text>
  198. <text class="gray_color" v-if="curTabThree==0 && item.rectifyStatus==4">暂无法整改</text>
  199. <text class="type"
  200. v-if="curTabThree==0">{{item.hazardType==1?'校院巡查':'实验室自查'}}-{{item.checkCategory==1?'综合检查':'专项检查'}}</text>
  201. <text class="college" v-if="curTabThree==0">{{item.collegeName}}</text>
  202. <!-- 随手拍 -->
  203. <text class="blue_color" v-if="curTabThree==1 && item.rectifyStatus==0">待整改</text>
  204. <text class="green_color" v-if="curTabThree==1 && item.rectifyStatus==1">已整改</text>
  205. <text class="orange_color" v-if="curTabThree==1 && item.rectifyStatus==2">暂无法整改</text>
  206. <text class="college" v-if="curTabThree==1">{{item.deptName}}</text>
  207. </view>
  208. </view>
  209. <!-- 隐患 -->
  210. <view class="list_three_li_b" v-if="curTabThree==0">
  211. <text>整改期限:{{item.rectifyDeadline}}</text>
  212. </view>
  213. <!-- 随手拍 -->
  214. <view class="list_three_li_b2" v-if="curTabThree==1">
  215. <view class="list_three_li_b_l">
  216. <img src="@/pages_safetyExamine/images/icon_ssp_ry.png" />
  217. <text>上报人:{{item.createName}}</text>
  218. </view>
  219. <view class="list_three_li_b_r">{{item.timeFlag}}</view>
  220. </view>
  221. </view>
  222. </view>
  223. </view>
  224. </scroll-view>
  225. <!-- <view class="bottom_btn" v-if="pageType==1" @click="handleClick('','start')">开展检查</view> -->
  226. <img class="scan_btn" @click.stop="saoCode" src="@/pages_safetyExamine/images/icon_xyxc_sm.png" />
  227. <!-- 选择学院-->
  228. <view class="shade" v-if="dialogVisible">
  229. <view class="null-box" @click="dialogClose()"></view>
  230. <view class="shade_n">
  231. <view class="shade_n_title"><text>选择该实验室隐患项</text><text @click="hiddenConfirm">确定</text></view>
  232. <view class="shade_n_b">
  233. <view class="shade_n_b_li" v-for="(item,index) in hiddenList" :key="index"
  234. @click="hiddenSelete(index)">
  235. <text :class="item.type?'color_B':'color_A'">{{item.hazardDescribe}}</text>
  236. <img v-if="item.type" src="@/pages_safetyExamine/images/icon_xzwt_xz.png">
  237. </view>
  238. </view>
  239. </view>
  240. </view>
  241. </view>
  242. </template>
  243. <script>
  244. import {
  245. config
  246. } from '@/api/request/config.js'
  247. import {
  248. checkPlanList,
  249. getCheckStatusCount,
  250. dataStatistics,
  251. checkManageList,
  252. checkHazardAppList,
  253. checkClapList,
  254. getCheckPlanBySubId
  255. } from '@/pages_safetyExamine/api/index.js'
  256. export default {
  257. name: "rectifyList",
  258. data() {
  259. return {
  260. pageType: 1, //人员类型 3整改人 2检查人 1管理员
  261. //列表请求参数
  262. getData: {
  263. page: 1,
  264. pageSize: 20,
  265. checkStatus: 1,
  266. },
  267. getData2: {
  268. page: 1,
  269. pageSize: 20,
  270. isSelf: 0, //是否本人查询
  271. checkType: 0,
  272. manageStatus: 0, //管理状态(-1全部 0待检查,1检查中,2已检查)
  273. rectifyStatus: '',
  274. },
  275. getData3: {
  276. page: 1,
  277. pageSize: 20,
  278. hazardType: '', //1是院校巡查,2是实验室自查
  279. rectifyStatus: '', //1已完成 2待整改 3待复核 4 暂无法整改
  280. },
  281. userType: 1, //人员类型 3整改人 2检查人 1管理员
  282. statisticsList: [{
  283. name: '本月已检查',
  284. value: '0'
  285. },
  286. {
  287. name: '本月检查隐患',
  288. value: '0'
  289. },
  290. {
  291. name: '本月已整改',
  292. value: '0'
  293. },
  294. {
  295. name: '本月检查合格率',
  296. value: '0%'
  297. },
  298. {
  299. name: '本月已检查',
  300. value: '0'
  301. },
  302. {
  303. name: '本月复核通过率',
  304. value: '0%'
  305. },
  306. ],
  307. statisticsListThree: [{
  308. name: '本月已检查',
  309. value: '0'
  310. },
  311. {
  312. name: '本月已整改',
  313. value: '0%'
  314. },
  315. {
  316. name: '本月复核通过率',
  317. value: '0%'
  318. },
  319. ],
  320. tabTextIdentity: uni.getStorageSync('gentleIdentifier'),
  321. curTabIdentity: 0,
  322. tabText: [{
  323. name: '未开始',
  324. num: 0,
  325. }, {
  326. name: '进行中',
  327. num: 0
  328. }],
  329. curTab: 0,
  330. tabTextTow: [{
  331. name: '待检查',
  332. num: 0,
  333. }, {
  334. name: '检查中',
  335. num: 0,
  336. }, {
  337. name: '待复核',
  338. num: 0,
  339. }],
  340. curTabTow: 0,
  341. tabTextThree: [{
  342. name: '隐患待整改',
  343. num: 0,
  344. }, {
  345. name: '随手拍整改',
  346. num: 0,
  347. }],
  348. curTabThree: 0,
  349. total: 0,
  350. dataList: [], //管理员
  351. total2: 0,
  352. dataList2: [], //检查者
  353. total3: 0,
  354. dataList3: [], //整改者
  355. currentDate: '',
  356. dangerAllNum: 0,
  357. snapshotAllNum: 0,
  358. isSubPlan: false, //判断管理员和检查者扫码的实验室是否有检查计划
  359. dialogVisible: false,
  360. hiddenList: [],
  361. myApplyGentle: '', //自查身份 校院巡查管理 里操作按钮隐藏
  362. applyGentle: '', //检查组身份 实验室自查管理 里操作按钮隐藏
  363. collegeGentle: '', //院级管理员身份 如果是院级管理员隐藏校院巡查
  364. buttonHide: false, //判断按钮显示隐藏
  365. }
  366. },
  367. onLoad() {
  368. },
  369. onShow() {},
  370. beforeCreate() {
  371. },
  372. mounted() {
  373. if (uni.getStorageSync('gentleIdentifier')[0]) {
  374. this.pageType = uni.getStorageSync('gentleIdentifier')[0].pageType
  375. }
  376. this.myApplyGentle = uni.getStorageSync('gentleIdentifierData').myApplyGentle
  377. this.applyGentle = uni.getStorageSync('gentleIdentifierData').applyGentle
  378. this.collegeGentle = uni.getStorageSync('gentleIdentifierData').collegeGentle
  379. //获取当前日期
  380. this.currentDate = this.getNowFormatDate()
  381. //this.getCheckStatusCount();
  382. //this.getManageStatusCount();
  383. this.dataStatistics(this.pageType);
  384. this.checkClapListAllNum(); //随手拍待整改总数
  385. if (this.pageType == 1) { //管理员
  386. this.getList();
  387. this.checkPlanListAllNum(); //管理员-未开始
  388. this.checkPlanListAllNum2(); //管理员-进行中
  389. } else if (this.pageType == 2) { //检查者
  390. this.getList2();
  391. this.checkManageListAllNum(); //检查者-待检查总数
  392. this.checkManageListAllNum2(); //检查者-待整改总数
  393. this.checkHazardAppListAllNum(); //检查者-待复核-总数
  394. } else if (this.pageType == 3) { //整改者
  395. this.checkHazardAppList();
  396. }
  397. },
  398. methods: {
  399. //滚动事件
  400. scrollGet() {
  401. let self = this;
  402. if (this.pageType == 1) { //管理员
  403. if (self.total / self.getData.pageSize <= self.getData.page) {
  404. console.log('没有更多数据!')
  405. } else {
  406. setTimeout(function() {
  407. self.getData.page += 1;
  408. self.getList();
  409. }, 1000)
  410. }
  411. } else if (this.pageType == 2) { //检查者
  412. if (self.total2 / self.getData2.pageSize <= self.getData2.page) {
  413. console.log('没有更多数据!')
  414. } else {
  415. setTimeout(function() {
  416. self.getData2.page += 1;
  417. if (self.curTabTow == 2) { //待复核
  418. self.checkHazardAppList()
  419. } else {
  420. self.getList2();
  421. }
  422. }, 1000)
  423. }
  424. } else if (this.pageType == 3) { //整改者
  425. if (self.total3 / self.getData3.pageSize <= self.getData3.page) {
  426. console.log('没有更多数据!')
  427. } else {
  428. setTimeout(function() {
  429. self.getData3.page += 1;
  430. if (self.curTabThree == 0) { //隐患
  431. self.checkHazardAppList()
  432. } else { //随手拍
  433. self.checkClapList()
  434. }
  435. }, 1000)
  436. }
  437. }
  438. },
  439. //登录人员身份
  440. tabClickIdentity(item, index) {
  441. this.curTabIdentity = index;
  442. this.pageType = item.pageType;
  443. this.dataStatistics(this.pageType);
  444. if (this.pageType == 1) { //管理员
  445. this.getList();
  446. this.checkPlanListAllNum(); //管理员-未开始
  447. this.checkPlanListAllNum2(); //管理员-进行中
  448. } else if (this.pageType == 2) { //检查者
  449. this.getList2();
  450. this.checkManageListAllNum(); //检查者-待检查总数
  451. this.checkManageListAllNum2(); //检查者-待整改总数
  452. this.checkHazardAppListAllNum(); //检查者-待复核-总数
  453. } else if (this.pageType == 3) { //整改者
  454. this.checkHazardAppList();
  455. }
  456. },
  457. //管理员
  458. tabClick(index) {
  459. this.curTab = index;
  460. this.getData.page = 1;
  461. this.dataList = [];
  462. if (index == 0) { //未开始
  463. this.getData.checkStatus = 1
  464. this.getList()
  465. } else if (index == 1) { //进行中
  466. this.getData.checkStatus = 2
  467. this.getList()
  468. }
  469. },
  470. tabClickTow(index) {
  471. this.curTabTow = index;
  472. this.getData2.page = 1;
  473. this.dataList2 = [];
  474. if (index == 0) { //未开始
  475. this.getData2.manageStatus = 0
  476. this.getList2()
  477. } else if (index == 1) { //进行中
  478. this.getData2.manageStatus = 1
  479. this.getList2()
  480. } else if (index == 2) { //待复核
  481. this.getData2.rectifyStatus = 3
  482. this.checkHazardAppList()
  483. }
  484. },
  485. tabClickThree(index) { //整改者
  486. this.curTabThree = index;
  487. this.getData3.page = 1;
  488. this.dataList3 = [];
  489. if (index == 0) { //隐患待整改
  490. this.getData3.rectifyStatus = 2
  491. this.checkHazardAppList()
  492. } else if (index == 1) { //随手拍待整改
  493. this.checkClapList();
  494. }
  495. },
  496. handleClick(row, doType) {
  497. let self = this;
  498. if (self.pageType == 1 && doType == 'patrolPlan') { //校院巡查-计划
  499. uni.navigateTo({
  500. url: '/pages_safetyExamine/views/patrolPlan/patrolPlanList?pageType=1'
  501. });
  502. } else if (self.pageType == 1 && doType == 'selfPlan') { //实验室自查-计划
  503. uni.navigateTo({
  504. url: '/pages_safetyExamine/views/patrolPlan/patrolPlanList?pageType=2'
  505. });
  506. } else if (self.pageType == 1 && doType == 'dangerPlan') { //安全隐患-计划
  507. uni.navigateTo({
  508. url: '/pages_safetyExamine/views/dangerManage/dangerManage?pageType=1'
  509. });
  510. } else if (self.pageType == 2 && doType == 'patrolPlan') { //校院巡查-检查
  511. uni.navigateTo({
  512. url: '/pages_safetyExamine/views/examineManage/examineList?pageType=1'
  513. });
  514. } else if (self.pageType == 2 && doType == 'selfPlan') { //实验室自查-检查
  515. uni.navigateTo({
  516. url: '/pages_safetyExamine/views/examineManage/examineList?pageType=2'
  517. });
  518. } else if (self.pageType == 2 && doType == 'dangerPlan') { //安全隐患-检查
  519. uni.navigateTo({
  520. url: '/pages_safetyExamine/views/dangerManage/dangerManage?pageType=2'
  521. });
  522. } else if (self.pageType == 3 && doType == 'schoolDanger') { //校院巡查隐患
  523. uni.navigateTo({
  524. url: '/pages_safetyExamine/views/dangerManage/dangerList?pageType=1'
  525. });
  526. } else if (self.pageType == 3 && doType == 'labDanger') { //实验室自查隐患
  527. uni.navigateTo({
  528. url: '/pages_safetyExamine/views/dangerManage/dangerList?pageType=2'
  529. });
  530. } else if (doType == 'edit') { //编辑
  531. uni.navigateTo({
  532. url: '/pages_safetyExamine/views/patrolPlan/patrolPlanEdit?pageType=' + row.checkType +
  533. '&id=' + row.id
  534. });
  535. } else if (doType == 'snapshot') { //随手拍
  536. uni.navigateTo({
  537. url: '/pages_safetyExamine/views/snapshotManage/snapshotAdd'
  538. });
  539. } else if (doType == 'start') { //开展检查
  540. uni.navigateTo({
  541. url: '/pages_safetyExamine/views/examineManage/examineAdd'
  542. });
  543. }
  544. },
  545. //检查者
  546. handleTowClick(row, doType) {
  547. if (doType == 'add') { //开始检查
  548. uni.navigateTo({
  549. url: '/pages_safetyExamine/views/examineManage/examineAdd?id=' + row.id
  550. });
  551. } else if (doType == 'edit') { //编辑
  552. uni.navigateTo({
  553. url: '/pages_safetyExamine/views/examineManage/examineAdd?id=' + row.id
  554. });
  555. } else if (doType == 'check') { //复核
  556. uni.navigateTo({
  557. url: '/pages_safetyExamine/views/dangerManage/dangerDetail?item=' + encodeURIComponent(JSON
  558. .stringify(row))
  559. })
  560. }
  561. },
  562. //整改者
  563. handleThreeClick(row, doType) {
  564. if (doType == 'detail') {
  565. if (this.curTabThree == 0) { //隐患待整改详情
  566. uni.navigateTo({
  567. url: '/pages_safetyExamine/views/dangerManage/dangerDetail?item=' + encodeURIComponent(
  568. JSON.stringify(row))
  569. })
  570. } else if (this.curTabThree == 1) {
  571. uni.navigateTo({
  572. url: '/pages_safetyExamine/views/snapshotManage/snapshotDetail?id=' + row.id +
  573. '&rectifyStatus=' + row.rectifyStatus
  574. })
  575. }
  576. }
  577. },
  578. /* 扫一扫*/
  579. saoCode() {
  580. let self = this;
  581. uni.scanCode({
  582. onlyFromCamera: true,
  583. success: function(res) {
  584. let list = res.result.split("?")[1].split("&");
  585. let codeData = {};
  586. list.forEach((item) => {
  587. codeData[item.split("=")[0]] = item.split("=")[1];
  588. })
  589. if(codeData.type){
  590. if(codeData.type != 5){
  591. uni.showToast({
  592. title: '请扫描实验室二维码',
  593. icon: "none",
  594. mask: true,
  595. duration: 2000
  596. });
  597. }else{
  598. uni.setStorageSync('saoCodeId', codeData.subId);
  599. if (self.pageType == 1 || self.pageType == 2) { //管理员和检查者
  600. self.getCheckPlanBySubId(codeData.subId)
  601. } else if (self.pageType == 3) { //整改者
  602. let obj = {
  603. page: 1,
  604. pageSize: 100,
  605. subId: codeData.subId,
  606. }
  607. self.checkHazardAppList2(obj);
  608. }
  609. }
  610. }else{
  611. uni.showToast({
  612. title: '请扫描正确的二维码',
  613. icon: "none",
  614. mask: true,
  615. duration: 2000
  616. });
  617. }
  618. }
  619. });
  620. },
  621. //根据实验室id查询该实验室有关计划
  622. async getCheckPlanBySubId(subId) {
  623. let _this = this;
  624. let id = subId;
  625. const {
  626. data
  627. } = await getCheckPlanBySubId({
  628. 'subId': id
  629. });
  630. if (data.code == 200) {
  631. if (data.data) {
  632. uni.navigateTo({
  633. url: '/pages_safetyExamine/views/examineManage/examineAdd?subId=' + id
  634. });
  635. } else {
  636. uni.redirectTo({
  637. url: '/pages_safetyExamine/views/inforSign'
  638. })
  639. }
  640. }
  641. },
  642. //根据实验室id查询隐患
  643. async checkHazardAppList2(obj) {
  644. let self = this;
  645. this.hiddenList = [];
  646. const {
  647. data
  648. } = await checkHazardAppList(obj);
  649. if (data.code == 200) {
  650. if (data.data.records.length > 0) {
  651. for (let i = 0; i < data.data.records.length; i++) {
  652. data.data.records[i].type = false;
  653. if (data.data.records[i].rectifyStatus == 2 || data.data.records[i].rectifyStatus == 3) {
  654. this.hiddenList.push(data.data.records[i])
  655. }
  656. }
  657. this.dialogVisible = true;
  658. } else {
  659. uni.redirectTo({
  660. url: '/pages_safetyExamine/views/inforSign'
  661. })
  662. }
  663. }
  664. },
  665. //选择学院弹窗关闭
  666. dialogClose() {
  667. this.dialogVisible = false;
  668. },
  669. //学院选择
  670. hiddenSelete(index) {
  671. let _this = this;
  672. this.hiddenList[index].type = !this.hiddenList[index].type
  673. if (_this.hiddenList[index].type == true) {
  674. _this.hiddenList.forEach(function(item2) {
  675. if (item2.id == _this.hiddenList[index].id) {
  676. item2.type = true
  677. } else {
  678. item2.type = false
  679. }
  680. })
  681. }
  682. },
  683. hiddenConfirm() {
  684. let _this = this;
  685. _this.hiddenList.forEach(function(item) {
  686. if (item.type == true) {
  687. uni.redirectTo({
  688. url: '/pages_safetyExamine/views/dangerManage/dangerDetail?item=' +
  689. encodeURIComponent(JSON.stringify(item))
  690. })
  691. }
  692. })
  693. },
  694. //数据统计
  695. async dataStatistics(flg) {
  696. let self = this;
  697. if (this.collegeGentle) { //管理员是院级-传参11
  698. flg = 11
  699. }
  700. const {
  701. data
  702. } = await dataStatistics({
  703. flg: flg
  704. });
  705. if (data.code == 200) {
  706. if (data.data.userType == 1 || data.data.userType == 2 || data.data.userType == 11) { //管理员和检查者
  707. this.statisticsList = [{
  708. name: '本月已检查',
  709. value: data.data.checkTotal
  710. },
  711. {
  712. name: '本月检查隐患',
  713. value: data.data.hazardTotal
  714. },
  715. {
  716. name: '本月已整改',
  717. value: data.data.rectifyTotal
  718. },
  719. {
  720. name: '本月检查合格率',
  721. value: data.data.qualifyRate
  722. },
  723. {
  724. name: '本月整改率',
  725. value: data.data.rectificationRate
  726. },
  727. {
  728. name: '本月复核通过率',
  729. value: data.data.passRate
  730. },
  731. ]
  732. } else if (data.data.userType == 3) { //整改者
  733. this.statisticsListThree = [{
  734. name: '本月已整改',
  735. value: data.data.rectifyTotal
  736. },
  737. {
  738. name: '本月整改率',
  739. value: data.data.rectificationRate
  740. },
  741. {
  742. name: '本月复核通过率',
  743. value: data.data.passRate
  744. },
  745. ]
  746. }
  747. }
  748. },
  749. //获取当前日期函数
  750. getNowFormatDate() {
  751. let date = new Date(),
  752. year = date.getFullYear(), //获取完整的年份(4位)
  753. month = date.getMonth() + 1, //获取当前月份(0-11,0代表1月)
  754. strDate = date.getDate() // 获取当前日(1-31)
  755. if (month < 10) month = `0${month}` // 如果月份是个位数,在前面补0
  756. if (strDate < 10) strDate = `0${strDate}` // 如果日是个位数,在前面补0
  757. return `${year}-${month}-${strDate}`
  758. },
  759. //是否可以开始检查
  760. compareTime(date1) {
  761. if (!date1) {
  762. return false
  763. } else {
  764. const oDate1 = new Date(date1);
  765. const oDate2 = new Date(this.currentDate)
  766. if (oDate1.getTime() <= oDate2.getTime()) {
  767. return true; //可以开始
  768. } else {
  769. return false; //不能开始
  770. }
  771. }
  772. },
  773. //检查计划各检查状态数据数量
  774. // async getCheckStatusCount(){
  775. // let self = this;
  776. // const {data} = await getCheckStatusCount();
  777. // if(data.code==200){
  778. // this.tabText[0].num=data.data.noStart;
  779. // this.tabText[1].num=data.data.start;
  780. // }
  781. // },
  782. //检查各检查状态数据数量
  783. // async getManageStatusCount(){
  784. // let self = this;
  785. // const {data} = await getManageStatusCount();
  786. // if(data.code==200){
  787. // this.tabTextTow[0].num=data.data.noCheck;
  788. // this.tabTextTow[1].num=data.data.checking;
  789. // this.tabTextTow[2].num=data.data.applyNum;
  790. // }
  791. // },
  792. //管理员
  793. async getList() {
  794. let self = this;
  795. const {
  796. data
  797. } = await checkPlanList(this.getData);
  798. if (data.code == 200) {
  799. this.dataList = [...this.dataList, ...data.data.records]
  800. this.total = data.data.total;
  801. }
  802. },
  803. async checkPlanListAllNum() {
  804. let self = this;
  805. let obj = {
  806. page: 1,
  807. pageSize: 20,
  808. checkStatus: 1,
  809. }
  810. const {
  811. data
  812. } = await checkPlanList(obj);
  813. if (data.code == 200) {
  814. this.tabText[0].num = data.data.total;
  815. }
  816. },
  817. async checkPlanListAllNum2() {
  818. let self = this;
  819. let obj = {
  820. page: 1,
  821. pageSize: 20,
  822. checkStatus: 2,
  823. }
  824. const {
  825. data
  826. } = await checkPlanList(obj);
  827. if (data.code == 200) {
  828. this.tabText[1].num = data.data.total;
  829. }
  830. },
  831. //检查者
  832. async getList2() {
  833. let self = this;
  834. const {
  835. data
  836. } = await checkManageList(this.getData2);
  837. if (data.code == 200) {
  838. //判断计划是否开始
  839. self.buttonHide = false;
  840. for (let i = 0; i < data.data.records.length; i++) {
  841. if (data.data.records[i].checkType == 1) {
  842. if (self.myApplyGentle && !self.applyGentle) {
  843. data.data.records[i].buttonHide = false
  844. }
  845. if (!self.myApplyGentle && !self.applyGentle) {
  846. data.data.records[i].buttonHide = false
  847. } else {
  848. data.data.records[i].buttonHide = true;
  849. }
  850. } else if (data.data.records[i].checkType == 2) {
  851. if (!self.myApplyGentle && self.applyGentle) {
  852. data.data.records[i].buttonHide = false
  853. }
  854. if (!self.myApplyGentle && !self.applyGentle) {
  855. data.data.records[i].buttonHide = false
  856. } else {
  857. data.data.records[i].buttonHide = true;
  858. }
  859. }
  860. data.data.records[i].notStarted = self.compareTime(data.data.records[i].cycleStartTime)
  861. }
  862. self.dataList2 = [...self.dataList2, ...data.data.records]
  863. self.total2 = data.data.total;
  864. }
  865. },
  866. //待复核列表
  867. async checkHazardAppList() {
  868. let self = this;
  869. let obj = {};
  870. if (this.pageType == 2) { //检查者
  871. obj = {
  872. page: this.getData2.page,
  873. pageSize: this.getData2.pageSize,
  874. hazardType: '',
  875. rectifyStatus: '3',
  876. };
  877. this.dataList2=[];
  878. } else if (this.pageType == 3) { //整改者
  879. obj = {
  880. page: this.getData3.page,
  881. pageSize: this.getData3.pageSize,
  882. hazardType: '',
  883. rectifyStatus: '2',
  884. };
  885. }
  886. const {
  887. data
  888. } = await checkHazardAppList(obj);
  889. if (data.code == 200) {
  890. if (self.pageType == 2) { //检查者
  891. this.dataList2 = [...this.dataList2, ...data.data.records]
  892. this.total2 = data.data.total;
  893. } else if (self.pageType == 3) {
  894. this.dataList3 = [...this.dataList3, ...data.data.records]
  895. this.total3 = data.data.total;
  896. this.tabTextThree[0].num = data.data.total;
  897. }
  898. }
  899. },
  900. //随手拍待整改
  901. async checkClapList() {
  902. let self = this;
  903. let obj = {
  904. page: this.getData3.page,
  905. pageSize: this.getData3.pageSize,
  906. rectifyStatus: 0,
  907. };
  908. const {
  909. data
  910. } = await checkClapList(obj);
  911. if (data.code == 200) {
  912. this.dataList3 = [...this.dataList3, ...data.data.records]
  913. this.total3 = data.data.total;
  914. }
  915. },
  916. //整改者-随手拍待整改总数
  917. async checkClapListAllNum() {
  918. let self = this;
  919. let obj = {
  920. page: this.getData3.page,
  921. pageSize: this.getData3.pageSize,
  922. rectifyStatus: 0,
  923. };
  924. const {
  925. data
  926. } = await checkClapList(obj);
  927. if (data.code == 200) {
  928. this.tabTextThree[1].num = data.data.total;
  929. }
  930. },
  931. //检查者 总数---------------------------------
  932. //待检查
  933. async checkManageListAllNum() {
  934. let self = this;
  935. let obj = {
  936. page: this.getData2.page,
  937. pageSize: this.getData2.pageSize,
  938. isSelf: 0, //是否本人查询
  939. manageStatus: 0,
  940. checkType: 0,
  941. };
  942. const {
  943. data
  944. } = await checkManageList(obj);
  945. if (data.code == 200) {
  946. this.tabTextTow[0].num = data.data.total;
  947. }
  948. },
  949. //待检查
  950. async checkManageListAllNum2() {
  951. let self = this;
  952. let obj = {
  953. page: this.getData2.page,
  954. pageSize: this.getData2.pageSize,
  955. isSelf: 0, //是否本人查询
  956. manageStatus: 1,
  957. checkType: 0,
  958. };
  959. const {
  960. data
  961. } = await checkManageList(obj);
  962. if (data.code == 200) {
  963. this.tabTextTow[1].num = data.data.total;
  964. }
  965. },
  966. //待复核
  967. async checkHazardAppListAllNum() {
  968. let self = this;
  969. let obj = {
  970. page: this.getData2.page,
  971. pageSize: this.getData2.pageSize,
  972. rectifyStatus: 3,
  973. hazardType: '',
  974. };
  975. const {
  976. data
  977. } = await checkHazardAppList(obj);
  978. if (data.code == 200) {
  979. this.tabTextTow[2].num = data.data.total;
  980. }
  981. },
  982. }
  983. }
  984. </script>
  985. <style lang="stylus" scoped>
  986. .examine {
  987. height: 100%;
  988. display flex;
  989. .info-max-box {
  990. flex: 1;
  991. overflow: scroll;
  992. padding-bottom: 128rpx;
  993. }
  994. .blue_color {
  995. color: #0183FA;
  996. border: 1rpx solid #0183FA;
  997. }
  998. .red_color {
  999. color: #FF4545;
  1000. border: 1rpx solid #FF4545;
  1001. }
  1002. .green_color {
  1003. color: #1FA50D;
  1004. border: 1rpx solid #1FA50D;
  1005. }
  1006. .orange_color {
  1007. color: #FA8E1B;
  1008. border: 1rpx solid #FA8E1B;
  1009. }
  1010. .gray_color {
  1011. color: #A2A2A2;
  1012. border: 1rpx solid #A2A2A2;
  1013. }
  1014. .statistics {
  1015. background: #fff;
  1016. display: flex;
  1017. justify-content: flex-start;
  1018. flex-wrap: wrap;
  1019. padding: 38rpx 26rpx;
  1020. box-sizing: border-box;
  1021. .statistics_li {
  1022. width: 230rpx;
  1023. border-right: 1rpx solid #D8D8D8;
  1024. border-bottom: 1rpx solid #D8D8D8;
  1025. >text {
  1026. display: block;
  1027. text-align: center;
  1028. }
  1029. >text:nth-of-type(1) {
  1030. font-size: 26rpx;
  1031. font-family: PingFang SC-Medium, PingFang SC;
  1032. font-weight: 400;
  1033. color: #666666;
  1034. line-height: 26rpx;
  1035. margin-top: 24rpx;
  1036. }
  1037. >text:nth-of-type(2) {
  1038. font-size: 34rpx;
  1039. font-family: PingFang SC-Heavy, PingFang SC;
  1040. font-weight: 400;
  1041. color: #1FA50D;
  1042. line-height: 34rpx;
  1043. margin-top: 28rpx;
  1044. }
  1045. }
  1046. >view:nth-of-type(1) {
  1047. >text:nth-of-type(1) {
  1048. margin-top: 4rpx;
  1049. }
  1050. >text:nth-of-type(2) {
  1051. margin-bottom: 18rpx;
  1052. color: #1FA50D;
  1053. }
  1054. }
  1055. >view:nth-of-type(2) {
  1056. >text:nth-of-type(1) {
  1057. margin-top: 4rpx;
  1058. }
  1059. >text:nth-of-type(2) {
  1060. margin-bottom: 18rpx;
  1061. color: #FA8201;
  1062. }
  1063. }
  1064. >view:nth-of-type(3) {
  1065. border-right: none;
  1066. >text:nth-of-type(1) {
  1067. margin-top: 4rpx;
  1068. }
  1069. >text:nth-of-type(2) {
  1070. margin-bottom: 18rpx;
  1071. color: #0183FA;
  1072. }
  1073. }
  1074. >view:nth-of-type(4) {
  1075. border-bottom: none;
  1076. >text:nth-of-type(2) {
  1077. color: #1FA50D;
  1078. }
  1079. }
  1080. >view:nth-of-type(5) {
  1081. border-bottom: none;
  1082. >text:nth-of-type(2) {
  1083. color: #FA8201;
  1084. }
  1085. }
  1086. >view:nth-of-type(6) {
  1087. border-right: none;
  1088. border-bottom: none;
  1089. >text:nth-of-type(2) {
  1090. color: #0183FA;
  1091. }
  1092. }
  1093. }
  1094. .inspect_btn {
  1095. height: 150rpx;
  1096. background: #fff;
  1097. display: flex;
  1098. justify-content: space-between;
  1099. align-items: center;
  1100. margin-top: 20rpx;
  1101. padding: 0 30rpx;
  1102. box-sizing: border-box;
  1103. .inspect_btn_li {
  1104. >img {
  1105. width: 60rpx;
  1106. height: 60rpx;
  1107. margin: 0 auto;
  1108. }
  1109. >text {
  1110. font-size: 28rpx;
  1111. font-family: PingFang SC-Medium, PingFang SC;
  1112. font-weight: 400;
  1113. color: #333333;
  1114. line-height: 28rpx;
  1115. margin-top: 14rpx;
  1116. }
  1117. }
  1118. .line {
  1119. display: inline-block;
  1120. height: 60rpx;
  1121. width: 1rpx;
  1122. background: #E0E0E0;
  1123. }
  1124. }
  1125. /* 检查者 */
  1126. .tabTitle_identity {
  1127. width: 100%;
  1128. height: 100rpx;
  1129. background: #fff;
  1130. display flex;
  1131. justify-content: flex-start;
  1132. align-items: center;
  1133. position: relative;
  1134. top: 0;
  1135. z-index: 100;
  1136. box-shadow: 0rpx 3rpx 8rpx 0rpx rgba(0, 0, 0, 0.16);
  1137. .tabTitle_identity_li {
  1138. position: relative;
  1139. width: 162rpx;
  1140. text-align center;
  1141. .tabTitle_identity_text {
  1142. display: inline-block;
  1143. font-size: 30rpx;
  1144. font-family: PingFang SC;
  1145. font-weight: 500;
  1146. color: #333333;
  1147. line-height: 46rpx;
  1148. position: relative;
  1149. >text {
  1150. position: absolute;
  1151. min-width: 30rpx;
  1152. min-height: 30rpx;
  1153. border-radius: 54%;
  1154. background: #E80000;
  1155. font-size: 18rpx;
  1156. font-family: PingFang SC-Medium, PingFang SC;
  1157. font-weight: 400;
  1158. color: #FFFFFF;
  1159. text-align: center;
  1160. line-height: 30rpx;
  1161. margin-left: 6rpx;
  1162. padding: 2rpx;
  1163. box-sizing: border-box;
  1164. }
  1165. &.on {
  1166. color: #0183FA;
  1167. }
  1168. }
  1169. .tabTitle_identity_across {
  1170. width: 50rpx;
  1171. height: 4rpx;
  1172. background: #0183FA;
  1173. border-radius: 2rpx;
  1174. margin-left 56rpx;
  1175. display none;
  1176. &.on {
  1177. display block;
  1178. }
  1179. }
  1180. }
  1181. }
  1182. /* 切换按钮 */
  1183. .tabTitle {
  1184. width: 100%;
  1185. height: 100rpx;
  1186. background: #fff;
  1187. display flex;
  1188. justify-content: center;
  1189. align-items: center;
  1190. margin-top: 20rpx;
  1191. position: sticky;
  1192. top: 0;
  1193. z-index: 100;
  1194. box-shadow: 0rpx 3rpx 8rpx 0rpx rgba(0, 0, 0, 0.16);
  1195. .tabTitle_li {
  1196. position: relative;
  1197. width: 372rpx;
  1198. text-align center;
  1199. .tabTitle_text {
  1200. display: inline-block;
  1201. font-size: 30rpx;
  1202. font-family: PingFang SC;
  1203. font-weight: 500;
  1204. color: #333333;
  1205. line-height: 46rpx;
  1206. position: relative;
  1207. >text {
  1208. position: absolute;
  1209. min-width: 30rpx;
  1210. min-height: 30rpx;
  1211. border-radius: 54%;
  1212. background: #E80000;
  1213. font-size: 18rpx;
  1214. font-family: PingFang SC-Medium, PingFang SC;
  1215. font-weight: 400;
  1216. color: #FFFFFF;
  1217. text-align: center;
  1218. line-height: 30rpx;
  1219. margin-left: 6rpx;
  1220. padding: 2rpx;
  1221. box-sizing: border-box;
  1222. }
  1223. &.on {
  1224. color: #0183FA;
  1225. }
  1226. }
  1227. .tabTitle_across {
  1228. width: 50rpx;
  1229. height: 4rpx;
  1230. background: #0183FA;
  1231. border-radius: 2rpx;
  1232. margin-left 162rpx;
  1233. display none;
  1234. &.on {
  1235. display block;
  1236. }
  1237. }
  1238. }
  1239. .tabTitle_li:nth-of-type(1)::after {
  1240. content: '';
  1241. position: absolute;
  1242. top: 0rpx;
  1243. right: 0rpx;
  1244. width: 1rpx;
  1245. height: 50rpx;
  1246. background: #E0E0E0;
  1247. }
  1248. }
  1249. .list {
  1250. padding: 0 30rpx;
  1251. box-sizing: border-box;
  1252. margin-top: 20rpx;
  1253. .list_li {
  1254. position: relative;
  1255. width: 690rpx;
  1256. height: 360rpx;
  1257. background: #fff;
  1258. border-radius: 10rpx;
  1259. overflow: hidden;
  1260. margin-bottom: 20rpx;
  1261. .list_li_t {
  1262. width: 100%;
  1263. position: absolute;
  1264. left: 0;
  1265. top: 0;
  1266. .list_li_t_l {
  1267. >img {
  1268. width: 70rpx;
  1269. height: 70rpx;
  1270. }
  1271. >text {
  1272. position: absolute;
  1273. left: -15rpx;
  1274. top: 76rpx;
  1275. display: inline-block;
  1276. width: 30rpx;
  1277. height: 30rpx;
  1278. background: #F5F5F5;
  1279. border-radius: 15rpx;
  1280. }
  1281. }
  1282. .list_li_t_c {
  1283. width: 630rpx;
  1284. height: 110rpx;
  1285. position: absolute;
  1286. left: 30rpx;
  1287. top: 0;
  1288. font-size: 30rpx;
  1289. font-family: PingFang SC-Medium, PingFang SC;
  1290. font-weight: 400;
  1291. color: #333333;
  1292. line-height: 110rpx;
  1293. border-bottom: 1rpx dashed #D8D8D8;
  1294. overflow: hidden;
  1295. text-overflow: ellipsis;
  1296. white-space: nowrap;
  1297. }
  1298. .list_li_t_r {
  1299. position: absolute;
  1300. right: -15rpx;
  1301. top: 76rpx;
  1302. width: 30rpx;
  1303. height: 30rpx;
  1304. background: #F5F5F5;
  1305. border-radius: 15rpx;
  1306. }
  1307. }
  1308. .list_li_m {
  1309. position: absolute;
  1310. top: 110rpx;
  1311. left: 0;
  1312. width: 690rpx;
  1313. height: 168rpx;
  1314. border-bottom: 1rpx solid #E0E0E0;
  1315. padding-left: 30rpx;
  1316. box-sizing: border-box;
  1317. .list_li_m_t {
  1318. font-size: 28rpx;
  1319. font-family: PingFang SC-Medium, PingFang SC;
  1320. font-weight: 400;
  1321. color: #666666;
  1322. line-height: 40rpx;
  1323. margin-top: 22rpx;
  1324. }
  1325. .list_li_m_b {
  1326. margin-top: 26rpx;
  1327. >text:nth-of-type(1) {
  1328. font-size: 26rpx;
  1329. font-family: PingFang SC-Medium, PingFang SC;
  1330. font-weight: 400;
  1331. line-height: 40rpx;
  1332. border-radius: 6rpx;
  1333. padding: 0 20rpx;
  1334. margin-right: 14rpx;
  1335. }
  1336. >text:nth-of-type(2) {
  1337. font-size: 26rpx;
  1338. font-family: PingFang SC-Medium, PingFang SC;
  1339. font-weight: 400;
  1340. color: #0183FA;
  1341. line-height: 40rpx;
  1342. padding: 0 8rpx;
  1343. border-radius: 6rpx;
  1344. background: rgba(1, 131, 250, 0.1);
  1345. }
  1346. }
  1347. }
  1348. .list_li_b {
  1349. height: 80rpx;
  1350. position: absolute;
  1351. top: 278rpx;
  1352. left: 0;
  1353. display: flex;
  1354. justify-content: flex-start;
  1355. align-items: center;
  1356. >img {
  1357. width: 24rpx;
  1358. height: 30rpx;
  1359. margin-right: 26rpx;
  1360. margin-left: 30rpx;
  1361. }
  1362. >text:nth-of-type(1) {
  1363. font-size: 28rpx;
  1364. font-family: PingFang SC-Medium, PingFang SC;
  1365. font-weight: 400;
  1366. color: #333333;
  1367. line-height: 28rpx;
  1368. }
  1369. >text:nth-of-type(2) {
  1370. font-size: 28rpx;
  1371. font-family: PingFang SC-Medium, PingFang SC;
  1372. font-weight: 400;
  1373. color: #0183FA;
  1374. line-height: 28rpx;
  1375. }
  1376. }
  1377. }
  1378. }
  1379. /* 检查者 */
  1380. .tabTitle_tow {
  1381. width: 100%;
  1382. height: 100rpx;
  1383. background: #fff;
  1384. display flex;
  1385. justify-content: flex-start;
  1386. align-items: center;
  1387. margin-top: 20rpx;
  1388. position: sticky;
  1389. top: 0;
  1390. z-index: 100;
  1391. box-shadow: 0rpx 3rpx 8rpx 0rpx rgba(0, 0, 0, 0.16);
  1392. .tabTitle_tow_li {
  1393. position: relative;
  1394. width: 162rpx;
  1395. text-align center;
  1396. .tabTitle_tow_text {
  1397. display: inline-block;
  1398. font-size: 30rpx;
  1399. font-family: PingFang SC;
  1400. font-weight: 500;
  1401. color: #333333;
  1402. line-height: 46rpx;
  1403. position: relative;
  1404. >text {
  1405. position: absolute;
  1406. min-width: 30rpx;
  1407. min-height: 30rpx;
  1408. border-radius: 54%;
  1409. background: #E80000;
  1410. font-size: 18rpx;
  1411. font-family: PingFang SC-Medium, PingFang SC;
  1412. font-weight: 400;
  1413. color: #FFFFFF;
  1414. text-align: center;
  1415. line-height: 30rpx;
  1416. margin-left: 6rpx;
  1417. padding: 2rpx;
  1418. box-sizing: border-box;
  1419. }
  1420. &.on {
  1421. color: #0183FA;
  1422. }
  1423. }
  1424. .tabTitle_tow_across {
  1425. width: 50rpx;
  1426. height: 4rpx;
  1427. background: #0183FA;
  1428. border-radius: 2rpx;
  1429. margin-left 56rpx;
  1430. display none;
  1431. &.on {
  1432. display block;
  1433. }
  1434. }
  1435. }
  1436. }
  1437. .list_tow {
  1438. padding: 0 30rpx;
  1439. box-sizing: border-box;
  1440. margin-top: 20rpx;
  1441. .list_tow_li {
  1442. position: relative;
  1443. width: 690rpx;
  1444. height: auto;
  1445. background: #fff;
  1446. border-radius: 10rpx;
  1447. overflow: hidden;
  1448. margin-bottom: 20rpx;
  1449. .list_tow_li_t {
  1450. width: 100%;
  1451. height: 110rpx;
  1452. position: relative;
  1453. left: 0;
  1454. top: 0;
  1455. .list_tow_li_t_l {
  1456. >img {
  1457. width: 70rpx;
  1458. height: 70rpx;
  1459. }
  1460. >text {
  1461. position: absolute;
  1462. left: -15rpx;
  1463. top: 76rpx;
  1464. display: inline-block;
  1465. width: 30rpx;
  1466. height: 30rpx;
  1467. background: #F5F5F5;
  1468. border-radius: 15rpx;
  1469. }
  1470. }
  1471. .list_tow_li_t_c {
  1472. width: 630rpx;
  1473. height: 110rpx;
  1474. position: absolute;
  1475. left: 30rpx;
  1476. top: 0;
  1477. font-size: 30rpx;
  1478. font-family: PingFang SC-Medium, PingFang SC;
  1479. font-weight: 400;
  1480. color: #333333;
  1481. line-height: 110rpx;
  1482. border-bottom: 1rpx dashed #D8D8D8;
  1483. overflow: hidden;
  1484. text-overflow: ellipsis;
  1485. white-space: nowrap;
  1486. padding-right: 120rpx;
  1487. box-sizing: border-box;
  1488. }
  1489. .list_tow_li_t_c2 {
  1490. position: absolute;
  1491. right: 20rpx;
  1492. top: 38rpx;
  1493. width: 120rpx;
  1494. height: 40rpx;
  1495. font-size: 28rpx;
  1496. font-family: PingFang SC-Medium, PingFang SC;
  1497. font-weight: 400;
  1498. color: #FF5757;
  1499. line-height: 40rpx;
  1500. border: 1rpx solid #FF5757;
  1501. border-radius: 6rpx;
  1502. text-align: center;
  1503. }
  1504. .list_tow_li_t_r {
  1505. position: absolute;
  1506. right: -15rpx;
  1507. top: 76rpx;
  1508. width: 30rpx;
  1509. height: 30rpx;
  1510. background: #F5F5F5;
  1511. border-radius: 15rpx;
  1512. }
  1513. }
  1514. .list_tow_li_m {
  1515. // position: absolute;
  1516. // top: 110rpx;
  1517. // left: 0;
  1518. width: 690rpx;
  1519. height: 168rpx;
  1520. padding-left: 30rpx;
  1521. box-sizing: border-box;
  1522. .list_tow_li_m_t {
  1523. font-size: 28rpx;
  1524. font-family: PingFang SC-Medium, PingFang SC;
  1525. font-weight: 400;
  1526. color: #666666;
  1527. line-height: 40rpx;
  1528. margin-top: 22rpx;
  1529. overflow: hidden;
  1530. text-overflow: ellipsis;
  1531. white-space: nowrap;
  1532. }
  1533. .list_tow_li_m_b {
  1534. margin-top: 26rpx;
  1535. >text:nth-of-type(1) {
  1536. font-size: 26rpx;
  1537. font-family: PingFang SC-Medium, PingFang SC;
  1538. font-weight: 400;
  1539. line-height: 40rpx;
  1540. border-radius: 6rpx;
  1541. padding: 0 20rpx;
  1542. margin-right: 14rpx;
  1543. }
  1544. >text:nth-of-type(2) {
  1545. font-size: 26rpx;
  1546. font-family: PingFang SC-Medium, PingFang SC;
  1547. font-weight: 400;
  1548. color: #0183FA;
  1549. line-height: 40rpx;
  1550. padding: 0 8rpx;
  1551. border-radius: 6rpx;
  1552. background: rgba(1, 131, 250, 0.1);
  1553. margin-right: 24rpx;
  1554. }
  1555. >text:nth-of-type(3) {
  1556. display: inline-block;
  1557. width: 200rpx;
  1558. font-size: 26rpx;
  1559. font-family: PingFang SC-Medium, PingFang SC;
  1560. font-weight: 400;
  1561. color: #333333;
  1562. line-height: 26rpx;
  1563. overflow: hidden;
  1564. text-overflow: ellipsis;
  1565. white-space: nowrap;
  1566. }
  1567. }
  1568. }
  1569. .list_tow_li_b {
  1570. height: 80rpx;
  1571. width: 100%;
  1572. // position: absolute;
  1573. // top: 278rpx;
  1574. // left: 0;
  1575. border-top: 1rpx solid #E0E0E0;
  1576. font-size: 28rpx;
  1577. font-family: PingFang SC-Medium, PingFang SC;
  1578. font-weight: 400;
  1579. color: #0183FA;
  1580. line-height: 80rpx;
  1581. text-align: center;
  1582. }
  1583. .list_tow_li_b_tow {
  1584. height: 80rpx;
  1585. width: 100%;
  1586. // position: absolute;
  1587. // top: 278rpx;
  1588. // left: 0;
  1589. border-top: 1rpx solid #E0E0E0;
  1590. font-size: 28rpx;
  1591. font-family: PingFang SC-Medium, PingFang SC;
  1592. font-weight: 400;
  1593. color: #0183FA;
  1594. line-height: 80rpx;
  1595. display: flex;
  1596. justify-content: center;
  1597. align-items: center;
  1598. >img {
  1599. width: 28rpx;
  1600. height: 30rpx;
  1601. margin-right: 12rpx;
  1602. }
  1603. }
  1604. .list_tow_li_b_three {
  1605. height: 80rpx;
  1606. // position: absolute;
  1607. // top: 278rpx;
  1608. // left: 0;
  1609. display: flex;
  1610. justify-content: flex-start;
  1611. align-items: center;
  1612. width: 100%;
  1613. border-top: 1rpx solid #E0E0E0;
  1614. >img {
  1615. width: 24rpx;
  1616. height: 30rpx;
  1617. margin-right: 26rpx;
  1618. margin-left: 30rpx;
  1619. }
  1620. >text:nth-of-type(1) {
  1621. font-size: 28rpx;
  1622. font-family: PingFang SC-Medium, PingFang SC;
  1623. font-weight: 400;
  1624. color: #333333;
  1625. line-height: 28rpx;
  1626. }
  1627. >text:nth-of-type(2) {
  1628. flex: 1;
  1629. font-size: 28rpx;
  1630. font-family: PingFang SC-Medium, PingFang SC;
  1631. font-weight: 400;
  1632. color: #0183FA;
  1633. line-height: 28rpx;
  1634. white-space: nowrap;
  1635. overflow: hidden;
  1636. text-overflow: ellipsis;
  1637. }
  1638. .report {
  1639. font-size: 28rpx;
  1640. font-family: PingFang SC-Medium, PingFang SC;
  1641. font-weight: 400;
  1642. color: #0183FA;
  1643. line-height: 28rpx;
  1644. margin-right: 40rpx;
  1645. }
  1646. }
  1647. }
  1648. }
  1649. /* 整改人 */
  1650. .statistics_three {
  1651. background: #fff;
  1652. display: flex;
  1653. justify-content: flex-start;
  1654. flex-wrap: wrap;
  1655. padding: 38rpx 30rpx;
  1656. box-sizing: border-box;
  1657. .statistics_three_li {
  1658. width: 230rpx;
  1659. position: relative;
  1660. >text {
  1661. display: block;
  1662. text-align: center;
  1663. }
  1664. >text:nth-of-type(1) {
  1665. font-size: 26rpx;
  1666. font-family: PingFang SC-Medium, PingFang SC;
  1667. font-weight: 400;
  1668. color: #666666;
  1669. line-height: 26rpx;
  1670. }
  1671. >text:nth-of-type(2) {
  1672. font-size: 34rpx;
  1673. font-family: PingFang SC-Heavy, PingFang SC;
  1674. font-weight: 400;
  1675. color: #1FA50D;
  1676. line-height: 34rpx;
  1677. margin-top: 28rpx;
  1678. }
  1679. }
  1680. .statistics_three_li::after {
  1681. content: '';
  1682. position: absolute;
  1683. top: 20rpx;
  1684. right: 0rpx;
  1685. width: 1rpx;
  1686. height: 60rpx;
  1687. background: #D8D8D8;
  1688. }
  1689. .statistics_three_li:nth-of-type(3)::after {
  1690. display: none;
  1691. }
  1692. >view:nth-of-type(1) {
  1693. >text:nth-of-type(2) {
  1694. color: #1FA50D;
  1695. }
  1696. }
  1697. >view:nth-of-type(2) {
  1698. >text:nth-of-type(2) {
  1699. color: #FA8201;
  1700. }
  1701. }
  1702. >view:nth-of-type(3) {
  1703. >text:nth-of-type(2) {
  1704. color: #0183FA;
  1705. }
  1706. }
  1707. }
  1708. .inspect_btn_three {
  1709. height: 150rpx;
  1710. background: #fff;
  1711. display: flex;
  1712. justify-content: space-between;
  1713. align-items: center;
  1714. margin-top: 20rpx;
  1715. padding: 0 74rpx;
  1716. box-sizing: border-box;
  1717. .inspect_btn_three_li {
  1718. >img {
  1719. width: 60rpx;
  1720. height: 60rpx;
  1721. margin: 0 auto;
  1722. }
  1723. >text {
  1724. font-size: 28rpx;
  1725. font-family: PingFang SC-Medium, PingFang SC;
  1726. font-weight: 400;
  1727. color: #333333;
  1728. line-height: 28rpx;
  1729. margin-top: 14rpx;
  1730. }
  1731. }
  1732. .line {
  1733. display: inline-block;
  1734. height: 60rpx;
  1735. width: 1rpx;
  1736. background: #E0E0E0;
  1737. }
  1738. }
  1739. /* 切换按钮 */
  1740. .tabTitle_three {
  1741. width: 100%;
  1742. height: 100rpx;
  1743. background: #fff;
  1744. display flex;
  1745. justify-content: center;
  1746. align-items: center;
  1747. margin-top: 20rpx;
  1748. position: sticky;
  1749. top: 0;
  1750. z-index: 100;
  1751. box-shadow: 0rpx 3rpx 8rpx 0rpx rgba(0, 0, 0, 0.16);
  1752. .tabTitle_three_li {
  1753. position: relative;
  1754. width: 372rpx;
  1755. text-align center;
  1756. .tabTitle_three_text {
  1757. display: inline-block;
  1758. font-size: 30rpx;
  1759. font-family: PingFang SC;
  1760. font-weight: 500;
  1761. color: #333333;
  1762. line-height: 46rpx;
  1763. position: relative;
  1764. >text {
  1765. position: absolute;
  1766. min-width: 30rpx;
  1767. min-height: 30rpx;
  1768. border-radius: 54%;
  1769. background: #E80000;
  1770. font-size: 18rpx;
  1771. font-family: PingFang SC-Medium, PingFang SC;
  1772. font-weight: 400;
  1773. color: #FFFFFF;
  1774. text-align: center;
  1775. line-height: 30rpx;
  1776. margin-left: 6rpx;
  1777. padding: 2rpx;
  1778. box-sizing: border-box;
  1779. }
  1780. &.on {
  1781. color: #0183FA;
  1782. }
  1783. }
  1784. .tabTitle_three_across {
  1785. width: 50rpx;
  1786. height: 4rpx;
  1787. background: #0183FA;
  1788. border-radius: 2rpx;
  1789. margin-left 162rpx;
  1790. display none;
  1791. &.on {
  1792. display block;
  1793. }
  1794. }
  1795. }
  1796. .tabTitle_three_li:nth-of-type(1)::after {
  1797. content: '';
  1798. position: absolute;
  1799. top: 0rpx;
  1800. right: 0rpx;
  1801. width: 1rpx;
  1802. height: 50rpx;
  1803. background: #E0E0E0;
  1804. }
  1805. }
  1806. .list_three {
  1807. padding: 0 30rpx;
  1808. box-sizing: border-box;
  1809. margin-top: 20rpx;
  1810. .list_three_li {
  1811. position: relative;
  1812. width: 690rpx;
  1813. height: 348rpx;
  1814. background: #fff;
  1815. border-radius: 10rpx;
  1816. overflow: hidden;
  1817. margin-bottom: 20rpx;
  1818. .list_three_li_t {
  1819. width: 100%;
  1820. position: absolute;
  1821. left: 0;
  1822. top: 0;
  1823. .list_three_li_t_l {
  1824. >img {
  1825. width: 70rpx;
  1826. height: 70rpx;
  1827. }
  1828. >text {
  1829. position: absolute;
  1830. left: -15rpx;
  1831. top: 76rpx;
  1832. display: inline-block;
  1833. width: 30rpx;
  1834. height: 30rpx;
  1835. background: #F5F5F5;
  1836. border-radius: 15rpx;
  1837. }
  1838. }
  1839. .list_three_li_t_c {
  1840. width: 576rpx;
  1841. height: 110rpx;
  1842. position: absolute;
  1843. left: 30rpx;
  1844. top: 0;
  1845. font-size: 30rpx;
  1846. font-family: PingFang SC-Medium, PingFang SC;
  1847. font-weight: 400;
  1848. color: #333333;
  1849. line-height: 110rpx;
  1850. border-bottom: 1rpx dashed #D8D8D8;
  1851. overflow: hidden;
  1852. text-overflow: ellipsis;
  1853. white-space: nowrap;
  1854. padding-right: 60rpx;
  1855. box-sizing: border-box;
  1856. }
  1857. .list_three_li_t_c2 {
  1858. position: absolute;
  1859. right: 20rpx;
  1860. top: 38rpx;
  1861. width: 120rpx;
  1862. height: 40rpx;
  1863. font-size: 28rpx;
  1864. font-family: PingFang SC-Medium, PingFang SC;
  1865. font-weight: 400;
  1866. color: #FF5757;
  1867. line-height: 40rpx;
  1868. border: 1rpx solid #FF5757;
  1869. border-radius: 6rpx;
  1870. text-align: center;
  1871. }
  1872. .list_three_li_t_r {
  1873. position: absolute;
  1874. right: -15rpx;
  1875. top: 76rpx;
  1876. width: 30rpx;
  1877. height: 30rpx;
  1878. background: #F5F5F5;
  1879. border-radius: 15rpx;
  1880. }
  1881. }
  1882. .list_three_li_m {
  1883. position: absolute;
  1884. top: 110rpx;
  1885. left: 0;
  1886. width: 690rpx;
  1887. height: 158rpx;
  1888. padding-left: 30rpx;
  1889. box-sizing: border-box;
  1890. .list_three_li_m_t {
  1891. font-size: 28rpx;
  1892. font-family: PingFang SC-Medium, PingFang SC;
  1893. font-weight: 400;
  1894. color: #666666;
  1895. line-height: 40rpx;
  1896. margin-top: 22rpx;
  1897. overflow: hidden;
  1898. text-overflow: ellipsis;
  1899. white-space: nowrap;
  1900. }
  1901. .list_three_li_m_b {
  1902. margin-top: 26rpx;
  1903. >text:nth-of-type(1) {
  1904. font-size: 26rpx;
  1905. font-family: PingFang SC-Medium, PingFang SC;
  1906. font-weight: 400;
  1907. line-height: 40rpx;
  1908. border-radius: 6rpx;
  1909. padding: 0 20rpx;
  1910. margin-right: 14rpx;
  1911. }
  1912. .type {
  1913. font-size: 26rpx;
  1914. font-family: PingFang SC-Medium, PingFang SC;
  1915. font-weight: 400;
  1916. color: #0183FA;
  1917. line-height: 40rpx;
  1918. padding: 0 8rpx;
  1919. border-radius: 6rpx;
  1920. background: rgba(1, 131, 250, 0.1);
  1921. margin-right: 24rpx;
  1922. }
  1923. .college {
  1924. display: inline-block;
  1925. width: 180rpx;
  1926. font-size: 26rpx;
  1927. font-family: PingFang SC-Medium, PingFang SC;
  1928. font-weight: 400;
  1929. color: #333333;
  1930. line-height: 26rpx;
  1931. overflow: hidden;
  1932. text-overflow: ellipsis;
  1933. white-space: nowrap;
  1934. }
  1935. }
  1936. }
  1937. .list_three_li_b {
  1938. height: 80rpx;
  1939. width: 100%;
  1940. position: absolute;
  1941. top: 268rpx;
  1942. left: 0;
  1943. padding-left: 30rpx;
  1944. box-sizing: border-box;
  1945. >text:nth-of-type(1) {
  1946. font-size: 26rpx;
  1947. font-family: PingFang SC-Medium, PingFang SC;
  1948. font-weight: 400;
  1949. color: #333333;
  1950. line-height: 26rpx;
  1951. }
  1952. }
  1953. .list_three_li_b2 {
  1954. height: 76rpx;
  1955. width: 100%;
  1956. position: absolute;
  1957. top: 258rpx;
  1958. left: 0;
  1959. padding: 0 30rpx;
  1960. box-sizing: border-box;
  1961. display: flex;
  1962. justify-content: space-between;
  1963. align-items: center;
  1964. .list_three_li_b_l {
  1965. display: flex;
  1966. justify-content: space-between;
  1967. align-items: center;
  1968. >img {
  1969. width: 28rpx;
  1970. height: 30rpx;
  1971. margin-right: 14rpx;
  1972. }
  1973. >text {
  1974. font-size: 28rpx;
  1975. font-family: PingFang SC-Medium, PingFang SC;
  1976. font-weight: 400;
  1977. color: #666666;
  1978. line-height: 76rpx;
  1979. }
  1980. }
  1981. .list_three_li_b_r {
  1982. font-size: 24rpx;
  1983. font-family: PingFang SC-Medium, PingFang SC;
  1984. font-weight: 400;
  1985. color: #999999;
  1986. line-height: 76rpx;
  1987. }
  1988. }
  1989. }
  1990. }
  1991. .bottom_btn {
  1992. position: fixed;
  1993. bottom: 20rpx;
  1994. left: 30rpx;
  1995. font-size: 30rpx;
  1996. font-family: PingFang SC-Medium, PingFang SC;
  1997. font-weight: 400;
  1998. color: #FFFFFF;
  1999. line-height: 90rpx;
  2000. width: 690rpx;
  2001. height: 90rpx;
  2002. background: #0183FA;
  2003. border-radius: 20rpx;
  2004. text-align: center;
  2005. }
  2006. .scan_btn {
  2007. position: fixed;
  2008. bottom: 210rpx;
  2009. right: 0rpx;
  2010. width: 130rpx;
  2011. height: 130rpx;
  2012. }
  2013. /* 根据实验室id查询隐患列表 */
  2014. .shade {
  2015. height: 100%;
  2016. width: 100%;
  2017. position: fixed;
  2018. display: flex;
  2019. flex-direction: column;
  2020. z-index: 100;
  2021. background: rgba(0, 0, 0, 0.2);
  2022. .null-box {
  2023. flex: 1;
  2024. }
  2025. .shade_n {
  2026. position: absolute;
  2027. bottom: 0;
  2028. left: 0;
  2029. width: 750rpx;
  2030. height: 560rpx;
  2031. background: #FFFFFF;
  2032. border-radius: 20rpx 20rpx 0rpx 0rpx;
  2033. .shade_n_title {
  2034. height: 100rpx;
  2035. padding: 0 30rpx;
  2036. box-sizing: border-box;
  2037. display: flex;
  2038. justify-content: space-between;
  2039. border-bottom: 1rpx solid #E0E0E0;
  2040. >text:nth-of-type(1) {
  2041. font-size: 30rpx;
  2042. font-family: PingFang SC-Medium, PingFang SC;
  2043. font-weight: 400;
  2044. color: #333333;
  2045. line-height: 100rpx;
  2046. }
  2047. >text:nth-of-type(2) {
  2048. font-size: 30rpx;
  2049. font-family: PingFang SC-Medium, PingFang SC;
  2050. font-weight: 400;
  2051. color: #0183FA;
  2052. line-height: 100rpx;
  2053. }
  2054. }
  2055. .shade_n_b {
  2056. height: 460rpx;
  2057. padding: 0 30rpx;
  2058. box-sizing: border-box;
  2059. overflow-y: auto;
  2060. .shade_n_b_li {
  2061. display: flex;
  2062. justify-content: space-between;
  2063. align-items: center;
  2064. height: 80rpx;
  2065. border-bottom: 1rpx solid #E0E0E0;
  2066. >text {
  2067. font-size: 28rpx;
  2068. font-family: PingFang SC-Medium, PingFang SC;
  2069. font-weight: 400;
  2070. line-height: 80rpx;
  2071. overflow: hidden;
  2072. text-overflow: ellipsis;
  2073. white-space: nowrap;
  2074. }
  2075. >img {
  2076. width: 24rpx;
  2077. height: 16rpx;
  2078. margin-right: 14rpx;
  2079. }
  2080. }
  2081. .color_A {
  2082. color: #333333;
  2083. }
  2084. .color_B {
  2085. color: #0183FA;
  2086. }
  2087. }
  2088. }
  2089. }
  2090. }
  2091. </style>