safetyExamineWorkbench.vue 52 KB

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