safetyExamineWorkbench.vue 56 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286
  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. pageNum: 1,
  264. pageSize: 20,
  265. checkStatus: 1,
  266. },
  267. getData2: {
  268. pageNum: 1,
  269. pageSize: 20,
  270. isSelf: 0, //是否本人查询
  271. checkType: 0,
  272. manageStatus: 0, //管理状态(-1全部 0待检查,1检查中,2已检查)
  273. rectifyStatus: '',
  274. },
  275. getData3: {
  276. pageNum: 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.pageNum) {
  404. console.log('没有更多数据!')
  405. } else {
  406. setTimeout(function() {
  407. self.getData.pageNum += 1;
  408. self.getList();
  409. }, 1000)
  410. }
  411. } else if (this.pageType == 2) { //检查者
  412. if (self.total2 / self.getData2.pageSize <= self.getData2.pageNum) {
  413. console.log('没有更多数据!')
  414. } else {
  415. setTimeout(function() {
  416. self.getData2.pageNum += 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.pageNum) {
  426. console.log('没有更多数据!')
  427. } else {
  428. setTimeout(function() {
  429. self.getData3.pageNum += 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.pageNum = 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.pageNum = 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.pageNum = 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. pageNum: 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. pageNum: 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. pageNum: 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. pageNum: this.getData2.pageNum,
  873. pageSize: this.getData2.pageSize,
  874. hazardType: '',
  875. rectifyStatus: '3',
  876. };
  877. } else if (this.pageType == 3) { //整改者
  878. obj = {
  879. pageNum: this.getData3.pageNum,
  880. pageSize: this.getData3.pageSize,
  881. hazardType: '',
  882. rectifyStatus: '2',
  883. };
  884. }
  885. const {
  886. data
  887. } = await checkHazardAppList(obj);
  888. if (data.code == 200) {
  889. if (self.pageType == 2) { //检查者
  890. this.dataList2 = [...this.dataList2, ...data.data.records]
  891. this.total2 = data.data.total;
  892. } else if (self.pageType == 3) {
  893. this.dataList3 = [...this.dataList3, ...data.data.records]
  894. this.total3 = data.data.total;
  895. this.tabTextThree[0].num = data.data.total;
  896. }
  897. }
  898. },
  899. //随手拍待整改
  900. async checkClapList() {
  901. let self = this;
  902. let obj = {
  903. pageNum: this.getData3.pageNum,
  904. pageSize: this.getData3.pageSize,
  905. rectifyStatus: 0,
  906. };
  907. const {
  908. data
  909. } = await checkClapList(obj);
  910. if (data.code == 200) {
  911. this.dataList3 = [...this.dataList3, ...data.data.records]
  912. this.total3 = data.data.total;
  913. }
  914. },
  915. //整改者-随手拍待整改总数
  916. async checkClapListAllNum() {
  917. let self = this;
  918. let obj = {
  919. pageNum: this.getData3.pageNum,
  920. pageSize: this.getData3.pageSize,
  921. rectifyStatus: 0,
  922. };
  923. const {
  924. data
  925. } = await checkClapList(obj);
  926. if (data.code == 200) {
  927. this.tabTextThree[1].num = data.data.total;
  928. }
  929. },
  930. //检查者 总数---------------------------------
  931. //待检查
  932. async checkManageListAllNum() {
  933. let self = this;
  934. let obj = {
  935. pageNum: this.getData2.pageNum,
  936. pageSize: this.getData2.pageSize,
  937. isSelf: 0, //是否本人查询
  938. manageStatus: 0,
  939. checkType: 0,
  940. };
  941. const {
  942. data
  943. } = await checkManageList(obj);
  944. if (data.code == 200) {
  945. this.tabTextTow[0].num = data.data.total;
  946. }
  947. },
  948. //待检查
  949. async checkManageListAllNum2() {
  950. let self = this;
  951. let obj = {
  952. pageNum: this.getData2.pageNum,
  953. pageSize: this.getData2.pageSize,
  954. isSelf: 0, //是否本人查询
  955. manageStatus: 1,
  956. checkType: 0,
  957. };
  958. const {
  959. data
  960. } = await checkManageList(obj);
  961. if (data.code == 200) {
  962. this.tabTextTow[1].num = data.data.total;
  963. }
  964. },
  965. //待复核
  966. async checkHazardAppListAllNum() {
  967. let self = this;
  968. let obj = {
  969. pageNum: this.getData2.pageNum,
  970. pageSize: this.getData2.pageSize,
  971. rectifyStatus: 3,
  972. hazardType: '',
  973. };
  974. const {
  975. data
  976. } = await checkHazardAppList(obj);
  977. if (data.code == 200) {
  978. this.tabTextTow[2].num = data.data.total;
  979. }
  980. },
  981. }
  982. }
  983. </script>
  984. <style lang="stylus" scoped>
  985. .examine {
  986. height: 100%;
  987. display flex;
  988. .info-max-box {
  989. flex: 1;
  990. overflow: scroll;
  991. padding-bottom: 128rpx;
  992. }
  993. .blue_color {
  994. color: #0183FA;
  995. border: 1rpx solid #0183FA;
  996. }
  997. .red_color {
  998. color: #FF4545;
  999. border: 1rpx solid #FF4545;
  1000. }
  1001. .green_color {
  1002. color: #1FA50D;
  1003. border: 1rpx solid #1FA50D;
  1004. }
  1005. .orange_color {
  1006. color: #FA8E1B;
  1007. border: 1rpx solid #FA8E1B;
  1008. }
  1009. .gray_color {
  1010. color: #A2A2A2;
  1011. border: 1rpx solid #A2A2A2;
  1012. }
  1013. .statistics {
  1014. background: #fff;
  1015. display: flex;
  1016. justify-content: flex-start;
  1017. flex-wrap: wrap;
  1018. padding: 38rpx 26rpx;
  1019. box-sizing: border-box;
  1020. .statistics_li {
  1021. width: 230rpx;
  1022. border-right: 1rpx solid #D8D8D8;
  1023. border-bottom: 1rpx solid #D8D8D8;
  1024. >text {
  1025. display: block;
  1026. text-align: center;
  1027. }
  1028. >text:nth-of-type(1) {
  1029. font-size: 26rpx;
  1030. font-family: PingFang SC-Medium, PingFang SC;
  1031. font-weight: 400;
  1032. color: #666666;
  1033. line-height: 26rpx;
  1034. margin-top: 24rpx;
  1035. }
  1036. >text:nth-of-type(2) {
  1037. font-size: 34rpx;
  1038. font-family: PingFang SC-Heavy, PingFang SC;
  1039. font-weight: 400;
  1040. color: #1FA50D;
  1041. line-height: 34rpx;
  1042. margin-top: 28rpx;
  1043. }
  1044. }
  1045. >view:nth-of-type(1) {
  1046. >text:nth-of-type(1) {
  1047. margin-top: 4rpx;
  1048. }
  1049. >text:nth-of-type(2) {
  1050. margin-bottom: 18rpx;
  1051. color: #1FA50D;
  1052. }
  1053. }
  1054. >view:nth-of-type(2) {
  1055. >text:nth-of-type(1) {
  1056. margin-top: 4rpx;
  1057. }
  1058. >text:nth-of-type(2) {
  1059. margin-bottom: 18rpx;
  1060. color: #FA8201;
  1061. }
  1062. }
  1063. >view:nth-of-type(3) {
  1064. border-right: none;
  1065. >text:nth-of-type(1) {
  1066. margin-top: 4rpx;
  1067. }
  1068. >text:nth-of-type(2) {
  1069. margin-bottom: 18rpx;
  1070. color: #0183FA;
  1071. }
  1072. }
  1073. >view:nth-of-type(4) {
  1074. border-bottom: none;
  1075. >text:nth-of-type(2) {
  1076. color: #1FA50D;
  1077. }
  1078. }
  1079. >view:nth-of-type(5) {
  1080. border-bottom: none;
  1081. >text:nth-of-type(2) {
  1082. color: #FA8201;
  1083. }
  1084. }
  1085. >view:nth-of-type(6) {
  1086. border-right: none;
  1087. border-bottom: none;
  1088. >text:nth-of-type(2) {
  1089. color: #0183FA;
  1090. }
  1091. }
  1092. }
  1093. .inspect_btn {
  1094. height: 150rpx;
  1095. background: #fff;
  1096. display: flex;
  1097. justify-content: space-between;
  1098. align-items: center;
  1099. margin-top: 20rpx;
  1100. padding: 0 30rpx;
  1101. box-sizing: border-box;
  1102. .inspect_btn_li {
  1103. >img {
  1104. width: 60rpx;
  1105. height: 60rpx;
  1106. margin: 0 auto;
  1107. }
  1108. >text {
  1109. font-size: 28rpx;
  1110. font-family: PingFang SC-Medium, PingFang SC;
  1111. font-weight: 400;
  1112. color: #333333;
  1113. line-height: 28rpx;
  1114. margin-top: 14rpx;
  1115. }
  1116. }
  1117. .line {
  1118. display: inline-block;
  1119. height: 60rpx;
  1120. width: 1rpx;
  1121. background: #E0E0E0;
  1122. }
  1123. }
  1124. /* 检查者 */
  1125. .tabTitle_identity {
  1126. width: 100%;
  1127. height: 100rpx;
  1128. background: #fff;
  1129. display flex;
  1130. justify-content: flex-start;
  1131. align-items: center;
  1132. position: relative;
  1133. top: 0;
  1134. z-index: 100;
  1135. box-shadow: 0rpx 3rpx 8rpx 0rpx rgba(0, 0, 0, 0.16);
  1136. .tabTitle_identity_li {
  1137. position: relative;
  1138. width: 162rpx;
  1139. text-align center;
  1140. .tabTitle_identity_text {
  1141. display: inline-block;
  1142. font-size: 30rpx;
  1143. font-family: PingFang SC;
  1144. font-weight: 500;
  1145. color: #333333;
  1146. line-height: 46rpx;
  1147. position: relative;
  1148. >text {
  1149. position: absolute;
  1150. min-width: 30rpx;
  1151. min-height: 30rpx;
  1152. border-radius: 54%;
  1153. background: #E80000;
  1154. font-size: 18rpx;
  1155. font-family: PingFang SC-Medium, PingFang SC;
  1156. font-weight: 400;
  1157. color: #FFFFFF;
  1158. text-align: center;
  1159. line-height: 30rpx;
  1160. margin-left: 6rpx;
  1161. padding: 2rpx;
  1162. box-sizing: border-box;
  1163. }
  1164. &.on {
  1165. color: #0183FA;
  1166. }
  1167. }
  1168. .tabTitle_identity_across {
  1169. width: 50rpx;
  1170. height: 4rpx;
  1171. background: #0183FA;
  1172. border-radius: 2rpx;
  1173. margin-left 56rpx;
  1174. display none;
  1175. &.on {
  1176. display block;
  1177. }
  1178. }
  1179. }
  1180. }
  1181. /* 切换按钮 */
  1182. .tabTitle {
  1183. width: 100%;
  1184. height: 100rpx;
  1185. background: #fff;
  1186. display flex;
  1187. justify-content: center;
  1188. align-items: center;
  1189. margin-top: 20rpx;
  1190. position: sticky;
  1191. top: 0;
  1192. z-index: 100;
  1193. box-shadow: 0rpx 3rpx 8rpx 0rpx rgba(0, 0, 0, 0.16);
  1194. .tabTitle_li {
  1195. position: relative;
  1196. width: 372rpx;
  1197. text-align center;
  1198. .tabTitle_text {
  1199. display: inline-block;
  1200. font-size: 30rpx;
  1201. font-family: PingFang SC;
  1202. font-weight: 500;
  1203. color: #333333;
  1204. line-height: 46rpx;
  1205. position: relative;
  1206. >text {
  1207. position: absolute;
  1208. min-width: 30rpx;
  1209. min-height: 30rpx;
  1210. border-radius: 54%;
  1211. background: #E80000;
  1212. font-size: 18rpx;
  1213. font-family: PingFang SC-Medium, PingFang SC;
  1214. font-weight: 400;
  1215. color: #FFFFFF;
  1216. text-align: center;
  1217. line-height: 30rpx;
  1218. margin-left: 6rpx;
  1219. padding: 2rpx;
  1220. box-sizing: border-box;
  1221. }
  1222. &.on {
  1223. color: #0183FA;
  1224. }
  1225. }
  1226. .tabTitle_across {
  1227. width: 50rpx;
  1228. height: 4rpx;
  1229. background: #0183FA;
  1230. border-radius: 2rpx;
  1231. margin-left 162rpx;
  1232. display none;
  1233. &.on {
  1234. display block;
  1235. }
  1236. }
  1237. }
  1238. .tabTitle_li:nth-of-type(1)::after {
  1239. content: '';
  1240. position: absolute;
  1241. top: 0rpx;
  1242. right: 0rpx;
  1243. width: 1rpx;
  1244. height: 50rpx;
  1245. background: #E0E0E0;
  1246. }
  1247. }
  1248. .list {
  1249. padding: 0 30rpx;
  1250. box-sizing: border-box;
  1251. margin-top: 20rpx;
  1252. .list_li {
  1253. position: relative;
  1254. width: 690rpx;
  1255. height: 360rpx;
  1256. background: #fff;
  1257. border-radius: 10rpx;
  1258. overflow: hidden;
  1259. margin-bottom: 20rpx;
  1260. .list_li_t {
  1261. width: 100%;
  1262. position: absolute;
  1263. left: 0;
  1264. top: 0;
  1265. .list_li_t_l {
  1266. >img {
  1267. width: 70rpx;
  1268. height: 70rpx;
  1269. }
  1270. >text {
  1271. position: absolute;
  1272. left: -15rpx;
  1273. top: 76rpx;
  1274. display: inline-block;
  1275. width: 30rpx;
  1276. height: 30rpx;
  1277. background: #F5F5F5;
  1278. border-radius: 15rpx;
  1279. }
  1280. }
  1281. .list_li_t_c {
  1282. width: 630rpx;
  1283. height: 110rpx;
  1284. position: absolute;
  1285. left: 30rpx;
  1286. top: 0;
  1287. font-size: 30rpx;
  1288. font-family: PingFang SC-Medium, PingFang SC;
  1289. font-weight: 400;
  1290. color: #333333;
  1291. line-height: 110rpx;
  1292. border-bottom: 1rpx dashed #D8D8D8;
  1293. overflow: hidden;
  1294. text-overflow: ellipsis;
  1295. white-space: nowrap;
  1296. }
  1297. .list_li_t_r {
  1298. position: absolute;
  1299. right: -15rpx;
  1300. top: 76rpx;
  1301. width: 30rpx;
  1302. height: 30rpx;
  1303. background: #F5F5F5;
  1304. border-radius: 15rpx;
  1305. }
  1306. }
  1307. .list_li_m {
  1308. position: absolute;
  1309. top: 110rpx;
  1310. left: 0;
  1311. width: 690rpx;
  1312. height: 168rpx;
  1313. border-bottom: 1rpx solid #E0E0E0;
  1314. padding-left: 30rpx;
  1315. box-sizing: border-box;
  1316. .list_li_m_t {
  1317. font-size: 28rpx;
  1318. font-family: PingFang SC-Medium, PingFang SC;
  1319. font-weight: 400;
  1320. color: #666666;
  1321. line-height: 40rpx;
  1322. margin-top: 22rpx;
  1323. }
  1324. .list_li_m_b {
  1325. margin-top: 26rpx;
  1326. >text:nth-of-type(1) {
  1327. font-size: 26rpx;
  1328. font-family: PingFang SC-Medium, PingFang SC;
  1329. font-weight: 400;
  1330. line-height: 40rpx;
  1331. border-radius: 6rpx;
  1332. padding: 0 20rpx;
  1333. margin-right: 14rpx;
  1334. }
  1335. >text:nth-of-type(2) {
  1336. font-size: 26rpx;
  1337. font-family: PingFang SC-Medium, PingFang SC;
  1338. font-weight: 400;
  1339. color: #0183FA;
  1340. line-height: 40rpx;
  1341. padding: 0 8rpx;
  1342. border-radius: 6rpx;
  1343. background: rgba(1, 131, 250, 0.1);
  1344. }
  1345. }
  1346. }
  1347. .list_li_b {
  1348. height: 80rpx;
  1349. position: absolute;
  1350. top: 278rpx;
  1351. left: 0;
  1352. display: flex;
  1353. justify-content: flex-start;
  1354. align-items: center;
  1355. >img {
  1356. width: 24rpx;
  1357. height: 30rpx;
  1358. margin-right: 26rpx;
  1359. margin-left: 30rpx;
  1360. }
  1361. >text:nth-of-type(1) {
  1362. font-size: 28rpx;
  1363. font-family: PingFang SC-Medium, PingFang SC;
  1364. font-weight: 400;
  1365. color: #333333;
  1366. line-height: 28rpx;
  1367. }
  1368. >text:nth-of-type(2) {
  1369. font-size: 28rpx;
  1370. font-family: PingFang SC-Medium, PingFang SC;
  1371. font-weight: 400;
  1372. color: #0183FA;
  1373. line-height: 28rpx;
  1374. }
  1375. }
  1376. }
  1377. }
  1378. /* 检查者 */
  1379. .tabTitle_tow {
  1380. width: 100%;
  1381. height: 100rpx;
  1382. background: #fff;
  1383. display flex;
  1384. justify-content: flex-start;
  1385. align-items: center;
  1386. margin-top: 20rpx;
  1387. position: sticky;
  1388. top: 0;
  1389. z-index: 100;
  1390. box-shadow: 0rpx 3rpx 8rpx 0rpx rgba(0, 0, 0, 0.16);
  1391. .tabTitle_tow_li {
  1392. position: relative;
  1393. width: 162rpx;
  1394. text-align center;
  1395. .tabTitle_tow_text {
  1396. display: inline-block;
  1397. font-size: 30rpx;
  1398. font-family: PingFang SC;
  1399. font-weight: 500;
  1400. color: #333333;
  1401. line-height: 46rpx;
  1402. position: relative;
  1403. >text {
  1404. position: absolute;
  1405. min-width: 30rpx;
  1406. min-height: 30rpx;
  1407. border-radius: 54%;
  1408. background: #E80000;
  1409. font-size: 18rpx;
  1410. font-family: PingFang SC-Medium, PingFang SC;
  1411. font-weight: 400;
  1412. color: #FFFFFF;
  1413. text-align: center;
  1414. line-height: 30rpx;
  1415. margin-left: 6rpx;
  1416. padding: 2rpx;
  1417. box-sizing: border-box;
  1418. }
  1419. &.on {
  1420. color: #0183FA;
  1421. }
  1422. }
  1423. .tabTitle_tow_across {
  1424. width: 50rpx;
  1425. height: 4rpx;
  1426. background: #0183FA;
  1427. border-radius: 2rpx;
  1428. margin-left 56rpx;
  1429. display none;
  1430. &.on {
  1431. display block;
  1432. }
  1433. }
  1434. }
  1435. }
  1436. .list_tow {
  1437. padding: 0 30rpx;
  1438. box-sizing: border-box;
  1439. margin-top: 20rpx;
  1440. .list_tow_li {
  1441. position: relative;
  1442. width: 690rpx;
  1443. height: auto;
  1444. background: #fff;
  1445. border-radius: 10rpx;
  1446. overflow: hidden;
  1447. margin-bottom: 20rpx;
  1448. .list_tow_li_t {
  1449. width: 100%;
  1450. height: 110rpx;
  1451. position: relative;
  1452. left: 0;
  1453. top: 0;
  1454. .list_tow_li_t_l {
  1455. >img {
  1456. width: 70rpx;
  1457. height: 70rpx;
  1458. }
  1459. >text {
  1460. position: absolute;
  1461. left: -15rpx;
  1462. top: 76rpx;
  1463. display: inline-block;
  1464. width: 30rpx;
  1465. height: 30rpx;
  1466. background: #F5F5F5;
  1467. border-radius: 15rpx;
  1468. }
  1469. }
  1470. .list_tow_li_t_c {
  1471. width: 630rpx;
  1472. height: 110rpx;
  1473. position: absolute;
  1474. left: 30rpx;
  1475. top: 0;
  1476. font-size: 30rpx;
  1477. font-family: PingFang SC-Medium, PingFang SC;
  1478. font-weight: 400;
  1479. color: #333333;
  1480. line-height: 110rpx;
  1481. border-bottom: 1rpx dashed #D8D8D8;
  1482. overflow: hidden;
  1483. text-overflow: ellipsis;
  1484. white-space: nowrap;
  1485. padding-right: 120rpx;
  1486. box-sizing: border-box;
  1487. }
  1488. .list_tow_li_t_c2 {
  1489. position: absolute;
  1490. right: 20rpx;
  1491. top: 38rpx;
  1492. width: 120rpx;
  1493. height: 40rpx;
  1494. font-size: 28rpx;
  1495. font-family: PingFang SC-Medium, PingFang SC;
  1496. font-weight: 400;
  1497. color: #FF5757;
  1498. line-height: 40rpx;
  1499. border: 1rpx solid #FF5757;
  1500. border-radius: 6rpx;
  1501. text-align: center;
  1502. }
  1503. .list_tow_li_t_r {
  1504. position: absolute;
  1505. right: -15rpx;
  1506. top: 76rpx;
  1507. width: 30rpx;
  1508. height: 30rpx;
  1509. background: #F5F5F5;
  1510. border-radius: 15rpx;
  1511. }
  1512. }
  1513. .list_tow_li_m {
  1514. // position: absolute;
  1515. // top: 110rpx;
  1516. // left: 0;
  1517. width: 690rpx;
  1518. height: 168rpx;
  1519. padding-left: 30rpx;
  1520. box-sizing: border-box;
  1521. .list_tow_li_m_t {
  1522. font-size: 28rpx;
  1523. font-family: PingFang SC-Medium, PingFang SC;
  1524. font-weight: 400;
  1525. color: #666666;
  1526. line-height: 40rpx;
  1527. margin-top: 22rpx;
  1528. overflow: hidden;
  1529. text-overflow: ellipsis;
  1530. white-space: nowrap;
  1531. }
  1532. .list_tow_li_m_b {
  1533. margin-top: 26rpx;
  1534. >text:nth-of-type(1) {
  1535. font-size: 26rpx;
  1536. font-family: PingFang SC-Medium, PingFang SC;
  1537. font-weight: 400;
  1538. line-height: 40rpx;
  1539. border-radius: 6rpx;
  1540. padding: 0 20rpx;
  1541. margin-right: 14rpx;
  1542. }
  1543. >text:nth-of-type(2) {
  1544. font-size: 26rpx;
  1545. font-family: PingFang SC-Medium, PingFang SC;
  1546. font-weight: 400;
  1547. color: #0183FA;
  1548. line-height: 40rpx;
  1549. padding: 0 8rpx;
  1550. border-radius: 6rpx;
  1551. background: rgba(1, 131, 250, 0.1);
  1552. margin-right: 24rpx;
  1553. }
  1554. >text:nth-of-type(3) {
  1555. display: inline-block;
  1556. width: 200rpx;
  1557. font-size: 26rpx;
  1558. font-family: PingFang SC-Medium, PingFang SC;
  1559. font-weight: 400;
  1560. color: #333333;
  1561. line-height: 26rpx;
  1562. overflow: hidden;
  1563. text-overflow: ellipsis;
  1564. white-space: nowrap;
  1565. }
  1566. }
  1567. }
  1568. .list_tow_li_b {
  1569. height: 80rpx;
  1570. width: 100%;
  1571. // position: absolute;
  1572. // top: 278rpx;
  1573. // left: 0;
  1574. border-top: 1rpx solid #E0E0E0;
  1575. font-size: 28rpx;
  1576. font-family: PingFang SC-Medium, PingFang SC;
  1577. font-weight: 400;
  1578. color: #0183FA;
  1579. line-height: 80rpx;
  1580. text-align: center;
  1581. }
  1582. .list_tow_li_b_tow {
  1583. height: 80rpx;
  1584. width: 100%;
  1585. // position: absolute;
  1586. // top: 278rpx;
  1587. // left: 0;
  1588. border-top: 1rpx solid #E0E0E0;
  1589. font-size: 28rpx;
  1590. font-family: PingFang SC-Medium, PingFang SC;
  1591. font-weight: 400;
  1592. color: #0183FA;
  1593. line-height: 80rpx;
  1594. display: flex;
  1595. justify-content: center;
  1596. align-items: center;
  1597. >img {
  1598. width: 28rpx;
  1599. height: 30rpx;
  1600. margin-right: 12rpx;
  1601. }
  1602. }
  1603. .list_tow_li_b_three {
  1604. height: 80rpx;
  1605. // position: absolute;
  1606. // top: 278rpx;
  1607. // left: 0;
  1608. display: flex;
  1609. justify-content: flex-start;
  1610. align-items: center;
  1611. width: 100%;
  1612. border-top: 1rpx solid #E0E0E0;
  1613. >img {
  1614. width: 24rpx;
  1615. height: 30rpx;
  1616. margin-right: 26rpx;
  1617. margin-left: 30rpx;
  1618. }
  1619. >text:nth-of-type(1) {
  1620. font-size: 28rpx;
  1621. font-family: PingFang SC-Medium, PingFang SC;
  1622. font-weight: 400;
  1623. color: #333333;
  1624. line-height: 28rpx;
  1625. }
  1626. >text:nth-of-type(2) {
  1627. flex: 1;
  1628. font-size: 28rpx;
  1629. font-family: PingFang SC-Medium, PingFang SC;
  1630. font-weight: 400;
  1631. color: #0183FA;
  1632. line-height: 28rpx;
  1633. white-space: nowrap;
  1634. overflow: hidden;
  1635. text-overflow: ellipsis;
  1636. }
  1637. .report {
  1638. font-size: 28rpx;
  1639. font-family: PingFang SC-Medium, PingFang SC;
  1640. font-weight: 400;
  1641. color: #0183FA;
  1642. line-height: 28rpx;
  1643. margin-right: 40rpx;
  1644. }
  1645. }
  1646. }
  1647. }
  1648. /* 整改人 */
  1649. .statistics_three {
  1650. background: #fff;
  1651. display: flex;
  1652. justify-content: flex-start;
  1653. flex-wrap: wrap;
  1654. padding: 38rpx 30rpx;
  1655. box-sizing: border-box;
  1656. .statistics_three_li {
  1657. width: 230rpx;
  1658. position: relative;
  1659. >text {
  1660. display: block;
  1661. text-align: center;
  1662. }
  1663. >text:nth-of-type(1) {
  1664. font-size: 26rpx;
  1665. font-family: PingFang SC-Medium, PingFang SC;
  1666. font-weight: 400;
  1667. color: #666666;
  1668. line-height: 26rpx;
  1669. }
  1670. >text:nth-of-type(2) {
  1671. font-size: 34rpx;
  1672. font-family: PingFang SC-Heavy, PingFang SC;
  1673. font-weight: 400;
  1674. color: #1FA50D;
  1675. line-height: 34rpx;
  1676. margin-top: 28rpx;
  1677. }
  1678. }
  1679. .statistics_three_li::after {
  1680. content: '';
  1681. position: absolute;
  1682. top: 20rpx;
  1683. right: 0rpx;
  1684. width: 1rpx;
  1685. height: 60rpx;
  1686. background: #D8D8D8;
  1687. }
  1688. .statistics_three_li:nth-of-type(3)::after {
  1689. display: none;
  1690. }
  1691. >view:nth-of-type(1) {
  1692. >text:nth-of-type(2) {
  1693. color: #1FA50D;
  1694. }
  1695. }
  1696. >view:nth-of-type(2) {
  1697. >text:nth-of-type(2) {
  1698. color: #FA8201;
  1699. }
  1700. }
  1701. >view:nth-of-type(3) {
  1702. >text:nth-of-type(2) {
  1703. color: #0183FA;
  1704. }
  1705. }
  1706. }
  1707. .inspect_btn_three {
  1708. height: 150rpx;
  1709. background: #fff;
  1710. display: flex;
  1711. justify-content: space-between;
  1712. align-items: center;
  1713. margin-top: 20rpx;
  1714. padding: 0 74rpx;
  1715. box-sizing: border-box;
  1716. .inspect_btn_three_li {
  1717. >img {
  1718. width: 60rpx;
  1719. height: 60rpx;
  1720. margin: 0 auto;
  1721. }
  1722. >text {
  1723. font-size: 28rpx;
  1724. font-family: PingFang SC-Medium, PingFang SC;
  1725. font-weight: 400;
  1726. color: #333333;
  1727. line-height: 28rpx;
  1728. margin-top: 14rpx;
  1729. }
  1730. }
  1731. .line {
  1732. display: inline-block;
  1733. height: 60rpx;
  1734. width: 1rpx;
  1735. background: #E0E0E0;
  1736. }
  1737. }
  1738. /* 切换按钮 */
  1739. .tabTitle_three {
  1740. width: 100%;
  1741. height: 100rpx;
  1742. background: #fff;
  1743. display flex;
  1744. justify-content: center;
  1745. align-items: center;
  1746. margin-top: 20rpx;
  1747. position: sticky;
  1748. top: 0;
  1749. z-index: 100;
  1750. box-shadow: 0rpx 3rpx 8rpx 0rpx rgba(0, 0, 0, 0.16);
  1751. .tabTitle_three_li {
  1752. position: relative;
  1753. width: 372rpx;
  1754. text-align center;
  1755. .tabTitle_three_text {
  1756. display: inline-block;
  1757. font-size: 30rpx;
  1758. font-family: PingFang SC;
  1759. font-weight: 500;
  1760. color: #333333;
  1761. line-height: 46rpx;
  1762. position: relative;
  1763. >text {
  1764. position: absolute;
  1765. min-width: 30rpx;
  1766. min-height: 30rpx;
  1767. border-radius: 54%;
  1768. background: #E80000;
  1769. font-size: 18rpx;
  1770. font-family: PingFang SC-Medium, PingFang SC;
  1771. font-weight: 400;
  1772. color: #FFFFFF;
  1773. text-align: center;
  1774. line-height: 30rpx;
  1775. margin-left: 6rpx;
  1776. padding: 2rpx;
  1777. box-sizing: border-box;
  1778. }
  1779. &.on {
  1780. color: #0183FA;
  1781. }
  1782. }
  1783. .tabTitle_three_across {
  1784. width: 50rpx;
  1785. height: 4rpx;
  1786. background: #0183FA;
  1787. border-radius: 2rpx;
  1788. margin-left 162rpx;
  1789. display none;
  1790. &.on {
  1791. display block;
  1792. }
  1793. }
  1794. }
  1795. .tabTitle_three_li:nth-of-type(1)::after {
  1796. content: '';
  1797. position: absolute;
  1798. top: 0rpx;
  1799. right: 0rpx;
  1800. width: 1rpx;
  1801. height: 50rpx;
  1802. background: #E0E0E0;
  1803. }
  1804. }
  1805. .list_three {
  1806. padding: 0 30rpx;
  1807. box-sizing: border-box;
  1808. margin-top: 20rpx;
  1809. .list_three_li {
  1810. position: relative;
  1811. width: 690rpx;
  1812. height: 348rpx;
  1813. background: #fff;
  1814. border-radius: 10rpx;
  1815. overflow: hidden;
  1816. margin-bottom: 20rpx;
  1817. .list_three_li_t {
  1818. width: 100%;
  1819. position: absolute;
  1820. left: 0;
  1821. top: 0;
  1822. .list_three_li_t_l {
  1823. >img {
  1824. width: 70rpx;
  1825. height: 70rpx;
  1826. }
  1827. >text {
  1828. position: absolute;
  1829. left: -15rpx;
  1830. top: 76rpx;
  1831. display: inline-block;
  1832. width: 30rpx;
  1833. height: 30rpx;
  1834. background: #F5F5F5;
  1835. border-radius: 15rpx;
  1836. }
  1837. }
  1838. .list_three_li_t_c {
  1839. width: 576rpx;
  1840. height: 110rpx;
  1841. position: absolute;
  1842. left: 30rpx;
  1843. top: 0;
  1844. font-size: 30rpx;
  1845. font-family: PingFang SC-Medium, PingFang SC;
  1846. font-weight: 400;
  1847. color: #333333;
  1848. line-height: 110rpx;
  1849. border-bottom: 1rpx dashed #D8D8D8;
  1850. overflow: hidden;
  1851. text-overflow: ellipsis;
  1852. white-space: nowrap;
  1853. padding-right: 60rpx;
  1854. box-sizing: border-box;
  1855. }
  1856. .list_three_li_t_c2 {
  1857. position: absolute;
  1858. right: 20rpx;
  1859. top: 38rpx;
  1860. width: 120rpx;
  1861. height: 40rpx;
  1862. font-size: 28rpx;
  1863. font-family: PingFang SC-Medium, PingFang SC;
  1864. font-weight: 400;
  1865. color: #FF5757;
  1866. line-height: 40rpx;
  1867. border: 1rpx solid #FF5757;
  1868. border-radius: 6rpx;
  1869. text-align: center;
  1870. }
  1871. .list_three_li_t_r {
  1872. position: absolute;
  1873. right: -15rpx;
  1874. top: 76rpx;
  1875. width: 30rpx;
  1876. height: 30rpx;
  1877. background: #F5F5F5;
  1878. border-radius: 15rpx;
  1879. }
  1880. }
  1881. .list_three_li_m {
  1882. position: absolute;
  1883. top: 110rpx;
  1884. left: 0;
  1885. width: 690rpx;
  1886. height: 158rpx;
  1887. padding-left: 30rpx;
  1888. box-sizing: border-box;
  1889. .list_three_li_m_t {
  1890. font-size: 28rpx;
  1891. font-family: PingFang SC-Medium, PingFang SC;
  1892. font-weight: 400;
  1893. color: #666666;
  1894. line-height: 40rpx;
  1895. margin-top: 22rpx;
  1896. overflow: hidden;
  1897. text-overflow: ellipsis;
  1898. white-space: nowrap;
  1899. }
  1900. .list_three_li_m_b {
  1901. margin-top: 26rpx;
  1902. >text:nth-of-type(1) {
  1903. font-size: 26rpx;
  1904. font-family: PingFang SC-Medium, PingFang SC;
  1905. font-weight: 400;
  1906. line-height: 40rpx;
  1907. border-radius: 6rpx;
  1908. padding: 0 20rpx;
  1909. margin-right: 14rpx;
  1910. }
  1911. .type {
  1912. font-size: 26rpx;
  1913. font-family: PingFang SC-Medium, PingFang SC;
  1914. font-weight: 400;
  1915. color: #0183FA;
  1916. line-height: 40rpx;
  1917. padding: 0 8rpx;
  1918. border-radius: 6rpx;
  1919. background: rgba(1, 131, 250, 0.1);
  1920. margin-right: 24rpx;
  1921. }
  1922. .college {
  1923. display: inline-block;
  1924. width: 180rpx;
  1925. font-size: 26rpx;
  1926. font-family: PingFang SC-Medium, PingFang SC;
  1927. font-weight: 400;
  1928. color: #333333;
  1929. line-height: 26rpx;
  1930. overflow: hidden;
  1931. text-overflow: ellipsis;
  1932. white-space: nowrap;
  1933. }
  1934. }
  1935. }
  1936. .list_three_li_b {
  1937. height: 80rpx;
  1938. width: 100%;
  1939. position: absolute;
  1940. top: 268rpx;
  1941. left: 0;
  1942. padding-left: 30rpx;
  1943. box-sizing: border-box;
  1944. >text:nth-of-type(1) {
  1945. font-size: 26rpx;
  1946. font-family: PingFang SC-Medium, PingFang SC;
  1947. font-weight: 400;
  1948. color: #333333;
  1949. line-height: 26rpx;
  1950. }
  1951. }
  1952. .list_three_li_b2 {
  1953. height: 76rpx;
  1954. width: 100%;
  1955. position: absolute;
  1956. top: 258rpx;
  1957. left: 0;
  1958. padding: 0 30rpx;
  1959. box-sizing: border-box;
  1960. display: flex;
  1961. justify-content: space-between;
  1962. align-items: center;
  1963. .list_three_li_b_l {
  1964. display: flex;
  1965. justify-content: space-between;
  1966. align-items: center;
  1967. >img {
  1968. width: 28rpx;
  1969. height: 30rpx;
  1970. margin-right: 14rpx;
  1971. }
  1972. >text {
  1973. font-size: 28rpx;
  1974. font-family: PingFang SC-Medium, PingFang SC;
  1975. font-weight: 400;
  1976. color: #666666;
  1977. line-height: 76rpx;
  1978. }
  1979. }
  1980. .list_three_li_b_r {
  1981. font-size: 24rpx;
  1982. font-family: PingFang SC-Medium, PingFang SC;
  1983. font-weight: 400;
  1984. color: #999999;
  1985. line-height: 76rpx;
  1986. }
  1987. }
  1988. }
  1989. }
  1990. .bottom_btn {
  1991. position: fixed;
  1992. bottom: 20rpx;
  1993. left: 30rpx;
  1994. font-size: 30rpx;
  1995. font-family: PingFang SC-Medium, PingFang SC;
  1996. font-weight: 400;
  1997. color: #FFFFFF;
  1998. line-height: 90rpx;
  1999. width: 690rpx;
  2000. height: 90rpx;
  2001. background: #0183FA;
  2002. border-radius: 20rpx;
  2003. text-align: center;
  2004. }
  2005. .scan_btn {
  2006. position: fixed;
  2007. bottom: 210rpx;
  2008. right: 0rpx;
  2009. width: 130rpx;
  2010. height: 130rpx;
  2011. }
  2012. /* 根据实验室id查询隐患列表 */
  2013. .shade {
  2014. height: 100%;
  2015. width: 100%;
  2016. position: fixed;
  2017. display: flex;
  2018. flex-direction: column;
  2019. z-index: 100;
  2020. background: rgba(0, 0, 0, 0.2);
  2021. .null-box {
  2022. flex: 1;
  2023. }
  2024. .shade_n {
  2025. position: absolute;
  2026. bottom: 0;
  2027. left: 0;
  2028. width: 750rpx;
  2029. height: 560rpx;
  2030. background: #FFFFFF;
  2031. border-radius: 20rpx 20rpx 0rpx 0rpx;
  2032. .shade_n_title {
  2033. height: 100rpx;
  2034. padding: 0 30rpx;
  2035. box-sizing: border-box;
  2036. display: flex;
  2037. justify-content: space-between;
  2038. border-bottom: 1rpx solid #E0E0E0;
  2039. >text:nth-of-type(1) {
  2040. font-size: 30rpx;
  2041. font-family: PingFang SC-Medium, PingFang SC;
  2042. font-weight: 400;
  2043. color: #333333;
  2044. line-height: 100rpx;
  2045. }
  2046. >text:nth-of-type(2) {
  2047. font-size: 30rpx;
  2048. font-family: PingFang SC-Medium, PingFang SC;
  2049. font-weight: 400;
  2050. color: #0183FA;
  2051. line-height: 100rpx;
  2052. }
  2053. }
  2054. .shade_n_b {
  2055. height: 460rpx;
  2056. padding: 0 30rpx;
  2057. box-sizing: border-box;
  2058. overflow-y: auto;
  2059. .shade_n_b_li {
  2060. display: flex;
  2061. justify-content: space-between;
  2062. align-items: center;
  2063. height: 80rpx;
  2064. border-bottom: 1rpx solid #E0E0E0;
  2065. >text {
  2066. font-size: 28rpx;
  2067. font-family: PingFang SC-Medium, PingFang SC;
  2068. font-weight: 400;
  2069. line-height: 80rpx;
  2070. overflow: hidden;
  2071. text-overflow: ellipsis;
  2072. white-space: nowrap;
  2073. }
  2074. >img {
  2075. width: 24rpx;
  2076. height: 16rpx;
  2077. margin-right: 14rpx;
  2078. }
  2079. }
  2080. .color_A {
  2081. color: #333333;
  2082. }
  2083. .color_B {
  2084. color: #0183FA;
  2085. }
  2086. }
  2087. }
  2088. }
  2089. }
  2090. </style>