patrolPlanEdit.vue 38 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530
  1. <!-- 安全检查-发起巡查计划 -->
  2. <template>
  3. <view class="examine">
  4. <view class="tabTitle">
  5. <view class="tabTitle_li" @tap="tabClick(index)" :key="index" v-for="(item,index) in tabText">
  6. <view :class="{on:curTab==index}" class="tabTitle_text">{{item}}</view>
  7. <view :class="{on:curTab==index}" class="tabTitle_across"></view>
  8. </view>
  9. </view>
  10. <view class="header" v-if="pageType==1">
  11. <view class="line"></view>
  12. <view class="tabTitle_tow">
  13. <view class="tabTitle_tow_li" @tap="tabClickTow(index)" :key="index" v-for="(item,index) in tabTextTow">
  14. <view :class="{on:curTabTow==index}" class="tabTitle_tow_text">{{item}}</view>
  15. <view :class="{on:curTabTow==index}" class="tabTitle_tow_across"></view>
  16. </view>
  17. </view>
  18. <view class="lab_title">
  19. <picker @change="collegeChange" :value="collegeIndex" :range="collegeArray" class="lab_title_l">
  20. <view class="lab_title_l_n">
  21. <view>{{getData.deptName?getData.deptName:'选择学院'}}</view>
  22. <img src="@/images/Version3.3.3/icon_06.png">
  23. </view>
  24. </picker>
  25. <view class="lab_title_r">
  26. <view class="lab_title_r_btn" @click="searchBtn">
  27. <img src="@/images/Version3.3.3/icon_aqjc_ss.png"/>
  28. </view>
  29. <input type="text" v-model="getData.searchValue" placeholder="请输入实验室名称" maxlength="50" placeholder-style="color: #CCCCCC;font-size:26rpx;">
  30. <view class="clear" @click="clearBtn">清除</view>
  31. </view>
  32. </view>
  33. </view>
  34. <scroll-view scroll-y @scrolltolower="scrollGet" class="info-max-box">
  35. <view v-if="pageType==0" style="padding: 0 30rpx;box-sizing: border-box;">
  36. <view class="delay_inspect" >
  37. <view class="delay_inspect_l" v-if="form.checkStatus==1">待检查实验室:<text>{{form.subjectNum}}间</text></view>
  38. <view class="delay_inspect_r" v-if="form.checkStatus==1">未开始</view>
  39. <view class="delay_inspect_l" v-if="form.checkStatus==2">检查进度:<text>{{form.checkSchedule}}</text></view>
  40. <view class="delay_inspect_r_tow" v-if="form.checkStatus==2">进行中</view>
  41. </view>
  42. <view class="basics">
  43. <view class="title">
  44. <view class="title_t">计划标题</view>
  45. <textarea class="title_b" type="text" v-model="form.title" maxlength="200" placeholder="请输入检查计划标题" placeholder-style="color:#999999;font-size:30rpx;"></textarea>
  46. </view>
  47. <view class="type">
  48. <view class="type_l">检查类型</view>
  49. <input class="type_r" type="text" v-model="form.checkTypeName" placeholder="" disabled maxlength="20">
  50. </view>
  51. <view class="period">
  52. <view class="period_l">检查周期</view>
  53. <view class="period_r">
  54. <picker mode="date" @change="startChange(form,$event)">
  55. <input class="picker-text" disabled type="text" v-model="form.cycleStartTime" placeholder="开始时间">
  56. </picker>
  57. <view>至</view>
  58. <picker mode="date" @change="endChange(form,$event)">
  59. <input class="picker-text2" disabled type="text" v-model="form.cycleStartTime" placeholder="结束时间">
  60. </picker>
  61. </view>
  62. </view>
  63. <view class="tiem_quick">
  64. <view @click="tiemQuick(index)" :class="item.type?'tiem_quick_a':'tiem_quick_b'" v-for="(item,index) in tiemQuickList">{{item.name}}</view>
  65. </view>
  66. <view class="scope">
  67. <view class="scope_l">检查范围</view>
  68. <picker @change="scopeChange" :value="scopeIndex" :range="scopeArray" class="scope_r">
  69. <view class="scope_r_n">
  70. <view>{{scopeArray[scopeIndex]}}</view>
  71. <img src="@/images/Version3.3.3/icon_06.png">
  72. </view>
  73. </picker>
  74. </view>
  75. <view class="scope_btn" v-if="scopeIndex==1 || scopeIndex==2" @click="collegeOrLab()">{{scopeIndex==1?'选择学院':'选择实验室'}}</view>
  76. <view class="scope_text" v-if="scopeIndex==0 || scopeIndex==1">已选择<text>{{form.collegeNum}}</text>个学院,共<text>{{form.subjectNum}}</text>间实验室</view>
  77. <view class="scope_text" v-if="scopeIndex==2">已选择<text>{{form.subjectNum}}</text>间实验室</view>
  78. </view>
  79. <view class="attachment" v-if="form.uploadDtoList.length>0">
  80. <view class="attachment_t">
  81. <text>材料附件</text>
  82. <text>点击文件标题查看</text>
  83. </view>
  84. <view class="attachment_li" v-for="item in form.uploadDtoList">
  85. <img src="@/images/Version3.3.3/icon_djc_wj.png"/>
  86. <text @click="attachmentPreview(item)">{{item.fileName}}</text>
  87. <img class="attachment_li_del" src="@/images/Version3.3.3/icon_fjgk_sc.png"/>
  88. </view>
  89. </view>
  90. <view class="patrol_group">
  91. <view class="patrol">
  92. <view class="patrol_l">巡查组</view>
  93. <view class="patrol_r_n" @click="patrolChange">
  94. <view>{{form.checkGroupName?form.checkGroupName:'请选择巡查组'}}</view>
  95. <img src="@/images/Version3.3.3/icon_06.png">
  96. </view>
  97. </view>
  98. <view class="list">
  99. <view class="list_title"><img src="@/images/Version3.3.3/icon_jcjh_cy.png">成员</view>
  100. <view class="list_header"><text>工号</text><text>姓名</text></view>
  101. <view class="list_li" v-for="(item,index) in form.checkGroupMemberList"><text>12345678</text><text>{{item.name}}</text></view>
  102. <view class="list_bottom" v-if="form.checkGroupMemberList.length==0">无数据</view>
  103. </view>
  104. </view>
  105. </view>
  106. <view v-if="pageType==1">
  107. <view class="list_three">
  108. <view class="list_three_li" v-for="(item,index) in dataList" :key="index" @click="handleClick(item,'detail')">
  109. <view class="list_three_li_t">
  110. <view class="list_three_li_t_l">
  111. <img v-if="item.checkRange==1" src="@/images/Version3.3.3/icon_xyxc_qx.png"/>
  112. <img v-if="item.checkRange==2" src="@/images/Version3.3.3/icon_xyxc_xy.png"/>
  113. <img v-if="item.checkRange==3" src="@/images/Version3.3.3/icon_xyxc_sys.png"/>
  114. <text></text>
  115. </view>
  116. <view class="list_three_li_t_c">{{item.subjectName}}-{{item.roomNumber}}</view>
  117. <view class="list_three_li_t_c2" v-if="item.isOverdue==1">已逾期</view>
  118. <view class="list_three_li_t_r"></view>
  119. </view>
  120. <view class="list_three_li_m">
  121. <view class="list_three_li_m_t">{{item.title}}</view>
  122. <view class="list_three_li_m_b">
  123. <text class="blue_color" v-if="item.manageStatus==0">待检查</text>
  124. <text class="red_color" v-if="item.manageStatus==1">检查中</text>
  125. <text class="green_color" v-if="item.manageStatus==2">已检查</text>
  126. <text>{{item.checkType==1?'校院巡查':'实验室自查'}}</text>
  127. <text>{{item.collegeName}}</text>
  128. </view>
  129. </view>
  130. <view class="list_three_li_b" >
  131. <img src="@/images/Version3.3.3/icon_djcsys.png"/>
  132. <text>整改进度:</text>
  133. <text>{{item.rectifySchedule}}</text>
  134. </view>
  135. </view>
  136. </view>
  137. </view>
  138. </scroll-view>
  139. <view class="bottom_btn" @click="submitForm()">保存</view>
  140. <!-- 选择学院-->
  141. <view class="shade" v-if="dialogVisible">
  142. <view class="null-box" @click="dialogClose()"></view>
  143. <view class="shade_n">
  144. <view class="shade_n_title"><text>选择学院</text><text @click="collegeConfirm">确定</text></view>
  145. <view class="shade_n_b">
  146. <view class="shade_n_b_li" v-for="(item,index) in collegeList" :key="index" @click="collegeSelete(index)">
  147. <text :class="item.type?'color_B':'color_A'">{{item.deptName}}</text>
  148. <img v-if="item.type" src="@/images/Version3.3.3/icon_xzwt_xz.png">
  149. </view>
  150. </view>
  151. </view>
  152. </view>
  153. </view>
  154. </template>
  155. <script>
  156. import { config } from '@/api/request/config.js'
  157. import {checkPlanById,conditionCollegeInfo,checkGroupDetail,getAllSubNum,checkPlanEdit,findByCheckPlanId} from '@/api/index.js'
  158. export default {
  159. name: "rectifyList",
  160. components: {
  161. },
  162. data() {
  163. return {
  164. id:'',
  165. pageType:0,
  166. //列表请求参数
  167. getData:{
  168. pageNum:1,
  169. pageSize:20,
  170. checkPlanId:'',
  171. deptId:'',
  172. deptName:'',
  173. searchValue:'',
  174. manageStatus:'',
  175. },
  176. inspectState:0,//检查状态 0 未开始 1进行中
  177. tabText:['检查计划','检查管理'],
  178. curTab:0,
  179. tabTextTow:['全部','待检查','检查中','已检查'],
  180. curTabTow:0,
  181. form:{
  182. id:'',
  183. title:'',
  184. checkType:'1',//1校院巡查 2实验室自查
  185. checkTypeName:'',//1校院巡查 2实验室自查
  186. cycleStartTime:'',
  187. cycleEndTime:'',
  188. checkRange:0,//检查范围 1全校 2学院 3实验室
  189. checkGroupId:[],//巡查组id
  190. checkLevel:'',//巡查组层级
  191. checkGroupMemberList:[],//巡查组成员
  192. collegeIds:'',//学院id组
  193. collegeNum:0,//学院数量
  194. subIds:'',//实验室id组
  195. subjectNum:0,//实验室数量
  196. checkStatus:0,//检查状态
  197. checkSchedule:'',//检查进度
  198. tiemQuickList:[],
  199. scopeIndex:'',
  200. seleteListLab:[],
  201. seleteListMember:[],
  202. uploadDtoList:[],
  203. },
  204. tiemQuickList:[{name:'本月',type:false},{name:'本季度',type:false},{name:'全年',type:false}],
  205. scopeIndex:0,
  206. scopeArray:['全校','学院','实验室'],
  207. dialogVisible:false,
  208. collegeList:[],
  209. collegeIndex :0,
  210. collegeArray:[],
  211. dataList:[],
  212. }
  213. },
  214. onLoad(option) {
  215. if(option.form){
  216. this.form=JSON.parse(decodeURIComponent(option.form));
  217. this.tiemQuickList=this.form.tiemQuickList//时间快捷
  218. this.scopeIndex=this.form.scopeIndex//检查范围
  219. console.log(this.form)
  220. }
  221. if(option.id){
  222. this.id=option.id
  223. this.getData.checkPlanId=option.id
  224. this.checkPlanById()
  225. }else{
  226. this.id=this.form.id
  227. this.getData.checkPlanId=this.form.id
  228. }
  229. },
  230. onShow() {
  231. },
  232. mounted(){
  233. this.conditionCollegeInfo();
  234. this.getList();
  235. },
  236. methods: {
  237. //顶部tab点击
  238. tabClick(index) {
  239. this.curTab = index;
  240. this.pageType = index;
  241. },
  242. //顶部tab点击
  243. tabClickTow(index) {
  244. this.curTabTow = index;
  245. if(index==0){
  246. this.getData.manageStatus=''
  247. }else if(index==1){//待检查
  248. this.getData.manageStatus=0;
  249. }else if(index==2){//检查中
  250. this.getData.manageStatus=1;
  251. }else if(index==3){//已检查
  252. this.getData.manageStatus=2;
  253. }
  254. this.getData.pageNum=1;
  255. this.dataList=[];
  256. this.getList()
  257. },
  258. attachmentPreview(item){
  259. uni.showLoading({
  260. title: '下载中'
  261. });
  262. wx.downloadFile({
  263. url: config.base_url+item.fileUrl,
  264. header: {
  265. Authorization: uni.getStorageSync('token')
  266. },
  267. success: function (res) {
  268. uni.hideLoading();
  269. const filePath = res.tempFilePath
  270. wx.openDocument({
  271. filePath: filePath,
  272. success: function (res) {
  273. console.log('打开文档成功')
  274. }
  275. })
  276. // console.log("resresresresresres",res)
  277. // const fileManager = wx.getFileSystemManager()
  278. // const filePath = wx.env.USER_DATA_PATH + '/' + item.fileName
  279. // console.log('filePath',filePath);
  280. // fileManager.saveFile({
  281. // tempFilePath: res.tempFilePath,
  282. // filePath,
  283. // success: () => {
  284. // uni.hideLoading();
  285. // wx.openDocument({
  286. // filePath: filePath,
  287. // showMenu: true,
  288. // fileType: fileType.type
  289. // })
  290. // },
  291. // fail: function (res){
  292. // uni.hideLoading();
  293. // uni.showToast({
  294. // title: '下载失败',
  295. // icon:"none",
  296. // mask:true,
  297. // duration: 2000
  298. // });
  299. // }
  300. // })
  301. },
  302. fail: function (res){
  303. uni.hideLoading();
  304. uni.showToast({
  305. title: '下载失败',
  306. icon:"none",
  307. mask:true,
  308. duration: 2000
  309. });
  310. }
  311. })
  312. },
  313. //选择学院
  314. collegeChange(e){
  315. this.collegeIndex = e.target.value;
  316. this.getData.deptId=this.collegeList[e.target.value].deptId
  317. this.getData.deptName=this.collegeList[e.target.value].deptName
  318. this.dataList=[];
  319. this.getList();
  320. },
  321. //实验室搜索
  322. searchBtn(){
  323. this.dataList=[];
  324. this.getList();
  325. },
  326. //清除
  327. clearBtn(){
  328. this.getData.pageNum=1;
  329. this.collegeIndex=0;
  330. this.getData.deptId='';
  331. this.getData.deptName='';
  332. this.getData.searchValue='';
  333. this.dataList=[];
  334. this.getList();
  335. },
  336. //滚动事件
  337. scrollGet(){
  338. let self=this;
  339. if(this.pageType==1){//当页面切换到检查管理列表里的时候
  340. if(self.total/self.getData.pageSize<=self.getData.pageNum){
  341. console.log('没有更多数据!')
  342. }else{
  343. setTimeout(function(){
  344. self.getData.pageNum += 1;
  345. self.getList();
  346. },1000)
  347. }
  348. }
  349. },
  350. //开始时间选中事件
  351. startChange(form,e){
  352. if(new Date(e.target.value).getTime()>=new Date(form.cycleEndTime).getTime()){
  353. uni.showToast({
  354. title: '结束时间不能小于开始时间',
  355. icon:"none",
  356. mask:true,
  357. duration: 2000
  358. });
  359. }else{
  360. form.cycleStartTime=e.target.value
  361. }
  362. },
  363. //结束时间选中事件
  364. endChange(form,e){
  365. if(new Date(form.cycleStartTime).getTime()>=new Date(e.target.value).getTime()){
  366. uni.showToast({
  367. title: '结束时间不能小于开始时间',
  368. icon:"none",
  369. mask:true,
  370. duration: 2000
  371. });
  372. }else{
  373. form.cycleEndTime=e.target.value
  374. }
  375. },
  376. //检查周期快捷
  377. tiemQuick(index){
  378. this.tiemQuickList[index].type = !this.tiemQuickList[index].type
  379. let _this = this;
  380. if (_this.tiemQuickList[index].type == true) {
  381. _this.tiemQuickList.forEach(function(item2) {
  382. if (item2.name == _this.tiemQuickList[index].name) {
  383. item2.type = true
  384. } else {
  385. item2.type = false
  386. }
  387. })
  388. //快捷本月-本季度-全年
  389. _this.timeSlotChange(_this.tiemQuickList[index].name)
  390. }else{
  391. console.log('取消选中')
  392. _this.form.cycleStartTime='';
  393. _this.form.cycleEndTime='';
  394. }
  395. },
  396. //检查范围
  397. scopeChange(e){
  398. let _this=this;
  399. uni.showModal({
  400. content: '重新选择会删除现有选择的实验室,是否重选?',
  401. cancelColor:"#999",
  402. confirmColor:"#0183FA",
  403. success: function (res) {
  404. if (res.confirm) {
  405. _this.scopeIndex = e.target.value;
  406. _this.form.checkRange=Number(e.target.value)+1;//检查范围
  407. _this.form.collegeIds ='';
  408. _this.form.collegeNum =0;
  409. _this.form.subIds ='';
  410. _this.form.subjectNum =0;
  411. if(e.target.value==1){//选择学院
  412. _this.conditionCollegeInfo();
  413. }else if(e.target.value==0){//全校
  414. _this.getAllSubNum();
  415. }
  416. }else if (res.cancel) {
  417. }
  418. }
  419. });
  420. },
  421. timeSlotChange (val) {
  422. let _this=this;
  423. let cycleStartTime, cycleEndTime;
  424. let now = new Date(); //当前日期
  425. let nowDayOfWeek = now.getDay(); //今天本周的第几天
  426. let nowDay = now.getDate(); //当前日
  427. let nowMonth = now.getMonth(); //当前月
  428. let nowYear = now.getFullYear(); //当前年
  429. let jd=Math.ceil((nowMonth + 1) / 3)
  430. switch (val) {
  431. case "本周":
  432. cycleStartTime = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek)
  433. cycleEndTime = new Date(nowYear, nowMonth, nowDay + 6 - nowDayOfWeek)
  434. break;
  435. case "本月":
  436. cycleStartTime = new Date(nowYear, nowMonth, 1)
  437. cycleEndTime = new Date(nowYear, nowMonth + 1, 0)
  438. break;
  439. case "本季度":
  440. cycleStartTime = new Date(nowYear, (jd-1)*3, 1)
  441. cycleEndTime = new Date(nowYear, jd*3, 0)
  442. break
  443. case "全年":
  444. cycleStartTime = new Date(nowYear, 0, 1)
  445. cycleEndTime = new Date(nowYear, 11, 31)
  446. break
  447. }
  448. _this.form.cycleStartTime=_this.formatDateTime(cycleStartTime)
  449. _this.form.cycleEndTime=_this.formatDateTime(cycleEndTime)
  450. },
  451. // 中国标准时间 转换成 年月日
  452. formatDateTime (date) {
  453. var y = date.getFullYear();
  454. var m = date.getMonth() + 1;
  455. m = m < 10 ? ('0' + m) : m;
  456. var d = date.getDate();
  457. d = d < 10 ? ('0' + d) : d;
  458. var h = date.getHours();
  459. var minute = date.getMinutes();
  460. minute = minute < 10 ? ('0' + minute) : minute;
  461. // return y + '-' + m + '-' + d+' '+h+':'+minute;
  462. return y + '-' + m + '-' + d
  463. },
  464. //巡查组
  465. patrolChange(){
  466. this.form.tiemQuickList=this.tiemQuickList//检查周期快捷存储
  467. this.form.scopeIndex=this.scopeIndex//检查范围
  468. uni.navigateTo({
  469. url: '/pages/pages_safetyExamine/patrolPlan/patrolPlanAddMember?form='+encodeURIComponent(JSON.stringify(this.form))+'&pageType=2'
  470. });
  471. },
  472. //选择学院或者实验室
  473. collegeOrLab(){
  474. console.log(this.scopeIndex)
  475. if(this.scopeIndex==1){//学院
  476. this.dialogVisible=true;
  477. }else if(this.scopeIndex==2){//实验室
  478. this.form.tiemQuickList=this.tiemQuickList//检查周期快捷存储
  479. this.form.scopeIndex=this.scopeIndex//检查范围
  480. uni.navigateTo({
  481. url: '/pages/pages_safetyExamine/patrolPlan/patrolPlanAddLab?form='+encodeURIComponent(JSON.stringify(this.form))+'&pageType=2'
  482. });
  483. }
  484. },
  485. //选择学院弹窗关闭
  486. dialogClose(){
  487. this.dialogVisible=false;
  488. },
  489. //选择学院确定
  490. collegeConfirm(){
  491. let _this=this;
  492. this.dialogVisible=false;
  493. let list=[];
  494. let collegeIds=[];
  495. let subjectNum=0;
  496. _this.collegeList.forEach(function(item){
  497. if(item.type==true){
  498. list.push(item)
  499. collegeIds.push(item.deptId);
  500. subjectNum+=item.subNum;
  501. }
  502. })
  503. _this.form.collegeIds=collegeIds.join(',');
  504. _this.form.subjectNum=subjectNum;
  505. _this.form.collegeNum=list.length;
  506. },
  507. //学院选择
  508. collegeSelete(index){
  509. this.collegeList[index].type = !this.collegeList[index].type
  510. },
  511. //查询学院列表
  512. async conditionCollegeInfo(){
  513. let _this = this;
  514. const {data} = await conditionCollegeInfo();
  515. if(data.code == 200){
  516. data.data.forEach(function(item){
  517. item.type=false;
  518. })
  519. _this.collegeList=data.data;
  520. //检查管理
  521. for(let i=0;i<data.data.length;i++){
  522. _this.collegeArray.push(data.data[i].deptName)
  523. }
  524. }
  525. },
  526. //查询全校学院和实验室数量
  527. async getAllSubNum(){
  528. let _this = this;
  529. const {data} = await getAllSubNum();
  530. if(data.code == 200){
  531. this.form.collegeNum=data.data.collegeCount
  532. this.form.subjectNum=data.data.subCount
  533. }
  534. },
  535. //查询详情
  536. async checkPlanById(id){
  537. console.log('详情')
  538. let _this = this;
  539. const {data} = await checkPlanById({id:this.id});
  540. if(data.code == 200){
  541. this.form.id=data.data.id;
  542. this.form.title=data.data.title;
  543. this.form.checkType=data.data.checkType;
  544. this.form.checkTypeName=data.data.checkType==1?'校院巡查':'实验室自查';
  545. this.form.cycleStartTime=data.data.cycleStartTime;
  546. this.form.cycleEndTime=data.data.cycleEndTime;
  547. this.form.checkRange=data.data.checkRange;
  548. this.form.checkGroupId=data.data.checkGroupId;
  549. this.form.collegeIds=data.data.collegeIds;
  550. this.form.collegeIds=data.data.collegeIds;
  551. this.form.subIds=data.data.subIds;
  552. this.form.subjectNum=data.data.subjectNum;
  553. this.form.uploadDtoList=data.data.uploadDtoList;
  554. this.form.checkStatus=data.data.checkStatus;
  555. this.form.checkSchedule=data.data.checkSchedule;
  556. this.scopeIndex=Number(data.data.checkRange)-1;//检查范围
  557. if(data.data.checkGroupId){//判断如果有巡查组id
  558. this.checkGroupDetail(data.data.checkGroupId);
  559. }
  560. }
  561. },
  562. //根据id查询巡查组员
  563. async checkGroupDetail(id){
  564. let _this = this;
  565. const {data} = await checkGroupDetail({id:id});
  566. if(data.code == 200){
  567. this.$set(this.form,'checkGroupMemberList',data.data.checkGroupMemberList)
  568. this.$set(this.form,'checkGroupName',data.data.groupName)
  569. }
  570. },
  571. handleClick(item,doType){
  572. let self=this;
  573. if( doType=='subBtn'){//
  574. console.log(11)
  575. }else if(doType=='detail'){//详情
  576. uni.navigateTo({
  577. url: '/pages/pages_safetyExamine/examineManage/examineDetail'
  578. });
  579. }
  580. },
  581. //巡查计划-修改
  582. async submitForm(){
  583. let _this = this;
  584. const {data} = await checkPlanEdit(_this.form);
  585. if(data.code == 200){
  586. uni.showToast({
  587. title: '提交成功',
  588. icon:"none",
  589. mask:true,
  590. duration: 2000
  591. });
  592. uni.redirectTo({
  593. url: '/pages/pages_safetyExamine/patrolPlan/patrolPlanList?pageType='+this.form.checkType
  594. });
  595. }
  596. },
  597. async getList(){
  598. let self = this;
  599. const {data} = await findByCheckPlanId(this.getData);
  600. if(data.code==200){
  601. this.total=data.data.total;
  602. this.dataList=[...this.dataList,...data.data.records]
  603. }
  604. },
  605. }
  606. }
  607. </script>
  608. <style lang="stylus" scoped>
  609. .examine{
  610. height:100%;
  611. display flex;
  612. // padding: 0 30rpx;
  613. // box-sizing: border-box;
  614. padding-bottom: 126rpx;
  615. box-sizing: border-box;
  616. .blue_color{
  617. color: #0183FA;
  618. border: 1rpx solid #0183FA;
  619. }
  620. .red_color{
  621. color: #FF4545;
  622. border: 1rpx solid #FF4545;
  623. }
  624. .green_color{
  625. color: #1FA50D;
  626. border: 1rpx solid #1FA50D;
  627. }
  628. /* 切换按钮 */
  629. .tabTitle{
  630. width:100%;
  631. height: 100rpx;
  632. background: #fff;
  633. display flex;
  634. justify-content: center;
  635. align-items: center;
  636. position: fixed;
  637. top: 0;
  638. z-index: 100;
  639. box-shadow: 0rpx 3rpx 8rpx 0rpx rgba(0,0,0,0.16);
  640. .tabTitle_li{
  641. position: relative;
  642. width:372rpx;
  643. text-align center;
  644. .tabTitle_text{
  645. display: inline-block;
  646. font-size: 30rpx;
  647. font-family: PingFang SC;
  648. font-weight: 500;
  649. color: #333333;
  650. line-height: 46rpx;
  651. position: relative;
  652. >text{
  653. position:absolute;
  654. min-width: 30rpx;
  655. min-height: 30rpx;
  656. border-radius:54%;
  657. background: #E80000;
  658. font-size: 18rpx;
  659. font-family: PingFang SC-Medium, PingFang SC;
  660. font-weight: 400;
  661. color: #FFFFFF;
  662. text-align: center;
  663. line-height: 30rpx;
  664. margin-left: 6rpx;
  665. padding:2rpx;
  666. box-sizing: border-box;
  667. }
  668. &.on{
  669. color:#0183FA;
  670. }
  671. }
  672. .tabTitle_across{
  673. width: 50rpx;
  674. height: 4rpx;
  675. background: #0183FA;
  676. border-radius: 2rpx;
  677. margin-left 162rpx;
  678. display none;
  679. &.on{
  680. display block;
  681. }
  682. }
  683. }
  684. .tabTitle_li:nth-of-type(1)::after{
  685. content: '';
  686. position: absolute;
  687. top: 0rpx;
  688. right: 0rpx;
  689. width: 1rpx;
  690. height: 50rpx;
  691. background: #E0E0E0;
  692. }
  693. }
  694. .info-max-box{
  695. flex: 1;
  696. overflow: scroll;
  697. padding: 120rpx 0rpx 0;
  698. box-sizing: border-box;
  699. }
  700. /* 检查计划---------------------------------------------------------------------------------- */
  701. .delay_inspect{
  702. width: 690rpx;
  703. height: 100rpx;
  704. background: #FFFFFF;
  705. border-radius: 20rpx;
  706. display: flex;
  707. justify-content: space-between;
  708. align-items: center;
  709. padding: 0 30rpx;
  710. box-sizing: border-box;
  711. .delay_inspect_l{
  712. font-size: 28rpx;
  713. font-family: PingFang SC-Medium, PingFang SC;
  714. font-weight: 400;
  715. color: #333333;
  716. line-height: 100rpx;
  717. >text{
  718. color: #0183FA;
  719. }
  720. }
  721. .delay_inspect_r{
  722. font-size: 26rpx;
  723. font-family: PingFang SC-Medium, PingFang SC;
  724. font-weight: 400;
  725. color: #0183FA;
  726. line-height: 40rpx;
  727. width: 120rpx;
  728. height: 40rpx;
  729. border-radius: 6rpx;
  730. text-align: center;
  731. border: 1rpx solid #0183FA;
  732. }
  733. .delay_inspect_r_tow{
  734. font-size: 26rpx;
  735. font-family: PingFang SC-Medium, PingFang SC;
  736. font-weight: 400;
  737. color: #FF4545;
  738. line-height: 40rpx;
  739. width: 120rpx;
  740. height: 40rpx;
  741. border-radius: 6rpx;
  742. text-align: center;
  743. border: 1rpx solid rgba(255,69,69,0.898);
  744. }
  745. }
  746. .basics{
  747. width: 690rpx;
  748. background: #FFFFFF;
  749. border-radius: 20rpx;
  750. margin-top: 20rpx;
  751. padding: 60rpx 26rpx 32rpx;
  752. box-sizing: border-box;
  753. .title{
  754. .title_t{
  755. font-size: 30rpx;
  756. font-family: PingFang SC-Medium, PingFang SC;
  757. font-weight: 400;
  758. color: #333333;
  759. line-height: 42rpx;
  760. margin-bottom: 12rpx;
  761. }
  762. .title_b{
  763. width: 636rpx;
  764. height: 150rpx;
  765. border-radius: 10rpx;
  766. opacity: 1;
  767. border: 1rpx solid #E0E0E0;
  768. padding: 26rpx 23rpx;
  769. box-sizing: border-box;
  770. }
  771. }
  772. .type{
  773. display: flex;
  774. justify-content: flex-start;
  775. align-items: center;
  776. margin-top: 20rpx;
  777. .type_l{
  778. width: 146rpx;
  779. font-size: 30rpx;
  780. font-family: PingFang SC-Medium, PingFang SC;
  781. font-weight: 400;
  782. color: #333333;
  783. line-height: 42rpx;
  784. text-align: left;
  785. }
  786. .type_r{
  787. width: 490rpx;
  788. height: 80rpx;
  789. border-radius: 10rpx;
  790. padding-left:22rpx;
  791. box-sizing: border-box;
  792. background: #F5F5F5;
  793. }
  794. }
  795. .period{
  796. display: flex;
  797. justify-content: flex-start;
  798. align-items: center;
  799. margin-top: 26rpx;
  800. .period_l{
  801. width: 146rpx;
  802. font-size: 30rpx;
  803. font-family: PingFang SC-Medium, PingFang SC;
  804. font-weight: 400;
  805. color: #333333;
  806. line-height: 42rpx;
  807. text-align: left;
  808. }
  809. .period_r{
  810. width: 490rpx;
  811. height: 80rpx;
  812. border-radius: 10rpx;
  813. border: 1rpx solid #E0E0E0;
  814. display: flex;
  815. justify-content: flex-start;
  816. align-items: center;
  817. .picker-text{
  818. font-size: 30rpx;
  819. font-family: PingFang SC-Medium, PingFang SC;
  820. font-weight: 400;
  821. color: #999999;
  822. line-height: 80rpx;
  823. width: 230rpx;
  824. text-align: center;
  825. }
  826. .picker-text2{
  827. font-size: 30rpx;
  828. font-family: PingFang SC-Medium, PingFang SC;
  829. font-weight: 400;
  830. color: #999999;
  831. line-height: 80rpx;
  832. width: 230rpx;
  833. text-align: center;
  834. }
  835. }
  836. }
  837. .tiem_quick{
  838. margin-left: 146rpx;
  839. display: flex;
  840. justify-content: flex-start;
  841. margin-top: 20rpx;
  842. >view{
  843. width: 130rpx;
  844. height: 80rpx;
  845. opacity: 1;
  846. border: 1rpx solid #E0E0E0;
  847. font-size: 30rpx;
  848. font-family: PingFang SC-Medium, PingFang SC;
  849. font-weight: 400;
  850. line-height: 80rpx;
  851. text-align: center;
  852. }
  853. >view:nth-of-type(1){
  854. border-radius: 10rpx 0rpx 0rpx 10rpx;
  855. }
  856. >view:nth-of-type(3){
  857. border-radius: 0rpx 10rpx 10rpx 0rpx;
  858. }
  859. .tiem_quick_a{
  860. background: #0183FA;
  861. color: #FFFFFF;
  862. }
  863. .tiem_quick_b{
  864. background: #F5F5F5;
  865. color: #333333;
  866. }
  867. }
  868. .scope{
  869. display: flex;
  870. justify-content: flex-start;
  871. align-items: center;
  872. margin-top: 26rpx;
  873. .scope_l{
  874. width: 146rpx;
  875. font-size: 30rpx;
  876. font-family: PingFang SC-Medium, PingFang SC;
  877. font-weight: 400;
  878. color: #333333;
  879. line-height: 42rpx;
  880. text-align: left;
  881. }
  882. .scope_r{
  883. flex: 1;
  884. .scope_r_n{
  885. width: 490rpx;
  886. height: 80rpx;
  887. border-radius: 10rpx;
  888. border: 1rpx solid #E0E0E0;
  889. display: flex;
  890. justify-content: flex-start;
  891. align-items: center;
  892. >view{
  893. flex:1;
  894. line-height:80rpx;
  895. margin-left:20rpx;
  896. color: #999999;
  897. font-size:28rpx;
  898. }
  899. >img{
  900. width: 14rpx;
  901. height: 8rpx;
  902. margin-right: 30rpx;
  903. }
  904. }
  905. }
  906. }
  907. .scope_btn{
  908. display: inline-block;
  909. background: #0183FA;
  910. border-radius: 10rpx;
  911. font-size: 30rpx;
  912. font-family: PingFang SC-Medium, PingFang SC;
  913. font-weight: 400;
  914. color: #FFFFFF;
  915. line-height: 80rpx;
  916. text-align: center;
  917. padding: 0 16rpx;
  918. box-sizing: border-box;
  919. margin-top: 40rpx;
  920. margin-left: 146rpx;
  921. }
  922. .scope_text{
  923. margin-left: 146rpx;
  924. font-size: 30rpx;
  925. font-family: PingFang SC-Medium, PingFang SC;
  926. font-weight: 400;
  927. color: #333333;
  928. margin-top: 32rpx;
  929. line-height: 42rpx;
  930. >text{
  931. color: #0183FA;
  932. }
  933. }
  934. }
  935. .attachment{
  936. width: 690rpx;
  937. background: #FFFFFF;
  938. border-radius: 20rpx;
  939. margin-top: 20rpx;
  940. padding-bottom: 32rpx;
  941. box-sizing: border-box;
  942. .attachment_t{
  943. border-bottom: 1rpx solid #D8D8D8;
  944. >text:nth-of-type(1){
  945. font-size: 30rpx;
  946. font-family: PingFang SC-Medium, PingFang SC;
  947. font-weight: 400;
  948. color: #333333;
  949. line-height: 110rpx;
  950. margin-left: 28rpx;
  951. }
  952. >text:nth-of-type(2){
  953. font-size: 30rpx;
  954. font-family: PingFang SC-Medium, PingFang SC;
  955. font-weight: 400;
  956. color: #999999;
  957. line-height: 110rpx;
  958. margin-left: 24rpx;
  959. }
  960. }
  961. .attachment_li{
  962. height: 40rpx;
  963. display: flex;
  964. justify-content: flex-start;
  965. align-items: center;
  966. margin-top: 32rpx;
  967. >img{
  968. width: 30rpx;
  969. height: 26rpx;
  970. margin-right: 20rpx;
  971. margin-left: 50rpx;
  972. }
  973. >text{
  974. flex: 1;
  975. font-size: 28rpx;
  976. font-family: PingFang SC-Medium, PingFang SC;
  977. font-weight: 400;
  978. color: #0183FA;
  979. line-height: 40rpx;
  980. white-space: nowrap;
  981. overflow: hidden;
  982. text-overflow: ellipsis;
  983. }
  984. .attachment_li_del{
  985. width: 30rpx;
  986. height: 30rpx;
  987. }
  988. }
  989. }
  990. .patrol_group{
  991. width: 690rpx;
  992. background: #FFFFFF;
  993. border-radius: 20rpx;
  994. margin-top: 20rpx;
  995. padding: 40rpx 30rpx 64rpx;
  996. box-sizing: border-box;
  997. .patrol{
  998. display: flex;
  999. justify-content: flex-start;
  1000. align-items: center;
  1001. margin-top: 26rpx;
  1002. .patrol_l{
  1003. width: 146rpx;
  1004. font-size: 30rpx;
  1005. font-family: PingFang SC-Medium, PingFang SC;
  1006. font-weight: 400;
  1007. color: #333333;
  1008. line-height: 42rpx;
  1009. text-align: left;
  1010. }
  1011. .patrol_r_n{
  1012. width: 490rpx;
  1013. height: 80rpx;
  1014. border-radius: 10rpx;
  1015. border: 1rpx solid #E0E0E0;
  1016. display: flex;
  1017. justify-content: flex-start;
  1018. align-items: center;
  1019. >view{
  1020. flex:1;
  1021. line-height:80rpx;
  1022. margin-left:20rpx;
  1023. color: #999999;
  1024. font-size:28rpx;
  1025. }
  1026. >img{
  1027. width: 14rpx;
  1028. height: 8rpx;
  1029. margin-right: 30rpx;
  1030. }
  1031. }
  1032. }
  1033. .list{
  1034. margin-top: 42rpx;
  1035. .list_title{
  1036. display: flex;
  1037. justify-content: flex-start;
  1038. align-items: center;
  1039. height: 80rpx;
  1040. background: #F5F5F5;
  1041. border-radius: 10rpx 10rpx 0rpx 0rpx;
  1042. font-size: 30rpx;
  1043. font-family: PingFang SC-Medium, PingFang SC;
  1044. font-weight: 400;
  1045. color: #333333;
  1046. line-height: 80rpx;
  1047. >img{
  1048. width: 30rpx;
  1049. height: 30rpx;
  1050. margin: 0 20rpx;
  1051. }
  1052. }
  1053. .list_header{
  1054. display: flex;
  1055. justify-content: flex-start;
  1056. >text{
  1057. flex: 1;
  1058. height: 80rpx;
  1059. background: #F5F5F5;
  1060. font-size: 30rpx;
  1061. font-family: PingFang SC-Medium, PingFang SC;
  1062. font-weight: 400;
  1063. color: #333333;
  1064. line-height: 80rpx;
  1065. text-align: center;
  1066. border: 1rpx solid #E0E0E0;
  1067. }
  1068. >text:nth-of-type(1){
  1069. border-right: none;
  1070. }
  1071. }
  1072. .list_li{
  1073. display: flex;
  1074. justify-content: flex-start;
  1075. >text{
  1076. flex: 1;
  1077. height: 80rpx;
  1078. font-size: 30rpx;
  1079. font-family: PingFang SC-Medium, PingFang SC;
  1080. font-weight: 400;
  1081. color: #333333;
  1082. line-height: 80rpx;
  1083. text-align: center;
  1084. border: 1rpx solid #E0E0E0;
  1085. }
  1086. >text:nth-of-type(1){
  1087. border-right: none;
  1088. border-top: none;
  1089. }
  1090. >text:nth-of-type(2){
  1091. border-top: none;
  1092. }
  1093. }
  1094. .list_bottom{
  1095. flex: 1;
  1096. height: 80rpx;
  1097. font-size: 30rpx;
  1098. font-family: PingFang SC-Medium, PingFang SC;
  1099. font-weight: 400;
  1100. color: #999999;
  1101. line-height: 80rpx;
  1102. text-align: center;
  1103. border: 1rpx solid #E0E0E0;
  1104. border-top: none;
  1105. }
  1106. }
  1107. }
  1108. /* 检查管理----------------------------------------------------------------------------------- */
  1109. /* 切换按钮 */
  1110. .header{
  1111. width:100%;
  1112. position: fixed;
  1113. top: 100rpx;
  1114. z-index: 100;
  1115. .line{
  1116. width: 100%;
  1117. height: 20rpx;
  1118. background: #F5F5F5;
  1119. }
  1120. .tabTitle_tow{
  1121. width:100%;
  1122. height: 100rpx;
  1123. background: #fff;
  1124. display flex;
  1125. justify-content: flex-start;
  1126. align-items: center;
  1127. border-bottom: 1rpx solid #E0E0E0;
  1128. .tabTitle_tow_li{
  1129. position: relative;
  1130. width:146rpx;
  1131. text-align center;
  1132. .tabTitle_tow_text{
  1133. display: inline-block;
  1134. font-size: 30rpx;
  1135. font-family: PingFang SC;
  1136. font-weight: 500;
  1137. color: #333333;
  1138. line-height: 46rpx;
  1139. position: relative;
  1140. &.on{
  1141. color:#0183FA;
  1142. }
  1143. }
  1144. .tabTitle_tow_across{
  1145. width: 50rpx;
  1146. height: 4rpx;
  1147. background: #0183FA;
  1148. border-radius: 2rpx;
  1149. margin-left: 46rpx;
  1150. display none;
  1151. &.on{
  1152. display block;
  1153. }
  1154. }
  1155. }
  1156. }
  1157. .lab_title{
  1158. width: 750rpx;
  1159. height: 100rpx;
  1160. background: #FFFFFF;
  1161. padding: 20rpx 30rpx;
  1162. box-sizing: border-box;
  1163. display: flex;
  1164. justify-content: flex-start;
  1165. .lab_title_l{
  1166. width: 250rpx;
  1167. height: 60rpx;
  1168. margin-right: 20rpx;
  1169. .lab_title_l_n{
  1170. width: 250rpx;
  1171. height: 60rpx;
  1172. border-radius: 10rpx;
  1173. border: 1rpx solid #E0E0E0;
  1174. display: flex;
  1175. justify-content: flex-start;
  1176. align-items: center;
  1177. >view{
  1178. flex:1;
  1179. line-height:60rpx;
  1180. margin-left:20rpx;
  1181. color: #999999;
  1182. font-size:28rpx;
  1183. white-space: nowrap;
  1184. overflow: hidden;
  1185. text-overflow: ellipsis;
  1186. }
  1187. >img{
  1188. width: 14rpx;
  1189. height: 8rpx;
  1190. margin-right: 30rpx;
  1191. }
  1192. }
  1193. }
  1194. .lab_title_r{
  1195. width: 420rpx;
  1196. height: 60rpx;
  1197. position:relative;
  1198. border-radius: 10rpx;
  1199. border: 1rpx solid #E0E0E0;
  1200. .lab_title_r_btn{
  1201. width: 60rpx;
  1202. height: 60rpx
  1203. position: absolute;
  1204. top: 0rpx;
  1205. left:0rpx;
  1206. >img{
  1207. width: 20rpx;
  1208. height: 20rpx;
  1209. position: absolute;
  1210. top: 20rpx;
  1211. left: 24rpx;
  1212. }
  1213. }
  1214. >input{
  1215. width: 274rpx;
  1216. height: 60rpx;
  1217. position: absolute;
  1218. top: 0rpx;
  1219. left: 60rpx;
  1220. }
  1221. .clear{
  1222. width: 60rpx;
  1223. height: 60rpx;
  1224. position: absolute;
  1225. top: 0rpx;
  1226. right:20rpx;
  1227. font-size: 30rpx;
  1228. font-family: PingFang SC-Medium, PingFang SC;
  1229. font-weight: 400;
  1230. color: #0183FA;
  1231. line-height: 60rpx;
  1232. }
  1233. }
  1234. }
  1235. }
  1236. .list_three{
  1237. padding: 0 30rpx;
  1238. box-sizing: border-box;
  1239. margin-top: 240rpx;
  1240. .list_three_li{
  1241. position: relative;
  1242. width: 690rpx;
  1243. height: 360rpx;
  1244. background: #fff;
  1245. border-radius: 10rpx;
  1246. overflow: hidden;
  1247. margin-bottom: 20rpx;
  1248. .list_three_li_t{
  1249. width: 100%;
  1250. position: absolute;
  1251. left: 0;
  1252. top: 0;
  1253. .list_three_li_t_l{
  1254. >img{
  1255. width: 70rpx;
  1256. height: 70rpx;
  1257. }
  1258. >text{
  1259. position: absolute;
  1260. left: -15rpx;
  1261. top: 76rpx;
  1262. display: inline-block;
  1263. width: 30rpx;
  1264. height: 30rpx;
  1265. background: #F5F5F5;
  1266. border-radius: 15rpx;
  1267. }
  1268. }
  1269. .list_three_li_t_c{
  1270. width: 570rpx;
  1271. height: 110rpx;
  1272. position: absolute;
  1273. left: 30rpx;
  1274. top: 0;
  1275. font-size: 30rpx;
  1276. font-family: PingFang SC-Medium, PingFang SC;
  1277. font-weight: 400;
  1278. color: #333333;
  1279. line-height: 110rpx;
  1280. border-bottom: 1rpx dashed #D8D8D8;
  1281. overflow: hidden;
  1282. text-overflow:ellipsis;
  1283. white-space: nowrap;
  1284. padding-right: 60rpx;
  1285. box-sizing: border-box;
  1286. }
  1287. .list_three_li_t_c2{
  1288. position: absolute;
  1289. right: 20rpx;
  1290. top: 38rpx;
  1291. width: 120rpx;
  1292. height: 40rpx;
  1293. font-size: 28rpx;
  1294. font-family: PingFang SC-Medium, PingFang SC;
  1295. font-weight: 400;
  1296. color: #FF5757;
  1297. line-height: 40rpx;
  1298. border: 1rpx solid #FF5757;
  1299. border-radius: 6rpx;
  1300. text-align: center;
  1301. }
  1302. .list_three_li_t_r{
  1303. position: absolute;
  1304. right:-15rpx;
  1305. top: 76rpx;
  1306. width: 30rpx;
  1307. height: 30rpx;
  1308. background:#F5F5F5;
  1309. border-radius: 15rpx;
  1310. }
  1311. }
  1312. .list_three_li_m{
  1313. position: absolute;
  1314. top: 110rpx;
  1315. left: 0;
  1316. width: 690rpx;
  1317. height: 158rpx;
  1318. padding-left: 30rpx;
  1319. box-sizing: border-box;
  1320. .list_three_li_m_t{
  1321. font-size: 28rpx;
  1322. font-family: PingFang SC-Medium, PingFang SC;
  1323. font-weight: 400;
  1324. color: #666666;
  1325. line-height: 40rpx;
  1326. margin-top:22rpx;
  1327. }
  1328. .list_three_li_m_b{
  1329. margin-top:26rpx;
  1330. display: flex;
  1331. justify-content: flex-start;
  1332. >text:nth-of-type(1){
  1333. font-size: 26rpx;
  1334. font-family: PingFang SC-Medium, PingFang SC;
  1335. font-weight: 400;
  1336. line-height: 40rpx;
  1337. border-radius: 6rpx;
  1338. padding: 0 20rpx;
  1339. margin-right: 14rpx;
  1340. }
  1341. >text:nth-of-type(2){
  1342. font-size: 26rpx;
  1343. font-family: PingFang SC-Medium, PingFang SC;
  1344. font-weight: 400;
  1345. color: #0183FA;
  1346. line-height: 40rpx;
  1347. padding: 0 8rpx;
  1348. border-radius: 6rpx;
  1349. background: rgba(1,131,250,0.1);
  1350. margin-right: 24rpx;
  1351. }
  1352. >text:nth-of-type(3){
  1353. display: inline-block;
  1354. width: 350rpx;
  1355. font-size: 26rpx;
  1356. font-family: PingFang SC-Medium, PingFang SC;
  1357. font-weight: 400;
  1358. color: #333333;
  1359. line-height: 26rpx;
  1360. overflow: hidden;
  1361. text-overflow:ellipsis;
  1362. white-space: nowrap;
  1363. }
  1364. }
  1365. }
  1366. .list_three_li_b{
  1367. height: 80rpx;
  1368. width: 100%;
  1369. position: absolute;
  1370. top: 278rpx;
  1371. left: 0;
  1372. display: flex;
  1373. justify-content: flex-start;
  1374. align-items: center;
  1375. border-top: 1rpx solid #E0E0E0;
  1376. >img{
  1377. width: 24rpx;
  1378. height: 30rpx;
  1379. margin-right: 26rpx;
  1380. margin-left: 30rpx;
  1381. }
  1382. >text:nth-of-type(1){
  1383. font-size: 28rpx;
  1384. font-family: PingFang SC-Medium, PingFang SC;
  1385. font-weight: 400;
  1386. color: #333333;
  1387. line-height: 28rpx;
  1388. }
  1389. >text:nth-of-type(2){
  1390. flex:1;
  1391. font-size: 28rpx;
  1392. font-family: PingFang SC-Medium, PingFang SC;
  1393. font-weight: 400;
  1394. color: #0183FA;
  1395. line-height: 28rpx;
  1396. white-space: nowrap;
  1397. overflow: hidden;
  1398. text-overflow: ellipsis;
  1399. }
  1400. }
  1401. }
  1402. }
  1403. .bottom_btn{
  1404. position: fixed;
  1405. bottom: 26rpx;
  1406. left: 30rpx;
  1407. font-size: 30rpx;
  1408. font-family: PingFang SC-Medium, PingFang SC;
  1409. font-weight: 400;
  1410. color: #FFFFFF;
  1411. line-height: 90rpx;
  1412. width: 690rpx;
  1413. height: 90rpx;
  1414. background: #0183FA;
  1415. border-radius: 20rpx;
  1416. text-align: center;
  1417. }
  1418. /* 指纹采集 */
  1419. .shade {
  1420. height: 100%;
  1421. width: 100%;
  1422. position: fixed;
  1423. display: flex;
  1424. flex-direction: column;
  1425. z-index: 10;
  1426. background: rgba(0, 0, 0, 0.2);
  1427. .null-box {
  1428. flex: 1;
  1429. }
  1430. .shade_n {
  1431. position: absolute;
  1432. bottom: 0;
  1433. left: 0;
  1434. width: 750rpx;
  1435. height: 560rpx;
  1436. background: #FFFFFF;
  1437. border-radius: 20rpx 20rpx 0rpx 0rpx;
  1438. .shade_n_title{
  1439. height: 100rpx;
  1440. padding: 0 30rpx;
  1441. box-sizing: border-box;
  1442. display: flex;
  1443. justify-content:space-between;
  1444. border-bottom: 1rpx solid #E0E0E0;
  1445. >text:nth-of-type(1){
  1446. font-size: 30rpx;
  1447. font-family: PingFang SC-Medium, PingFang SC;
  1448. font-weight: 400;
  1449. color: #333333;
  1450. line-height: 100rpx;
  1451. }
  1452. >text:nth-of-type(2){
  1453. font-size: 30rpx;
  1454. font-family: PingFang SC-Medium, PingFang SC;
  1455. font-weight: 400;
  1456. color: #0183FA;
  1457. line-height: 100rpx;
  1458. }
  1459. }
  1460. .shade_n_b{
  1461. height: 460rpx;
  1462. padding: 0 30rpx;
  1463. box-sizing: border-box;
  1464. overflow-y: auto;
  1465. .shade_n_b_li{
  1466. display: flex;
  1467. justify-content:space-between;
  1468. align-items: center;
  1469. height: 80rpx;
  1470. border-bottom: 1rpx solid #E0E0E0;
  1471. >text{
  1472. font-size: 28rpx;
  1473. font-family: PingFang SC-Medium, PingFang SC;
  1474. font-weight: 400;
  1475. line-height: 80rpx;
  1476. overflow: hidden;
  1477. text-overflow:ellipsis;
  1478. white-space: nowrap;
  1479. }
  1480. >img{
  1481. width: 24rpx;
  1482. height: 16rpx;
  1483. margin-right: 14rpx;
  1484. }
  1485. }
  1486. .color_A{
  1487. color: #333333;
  1488. }
  1489. .color_B{
  1490. color: #0183FA;
  1491. }
  1492. }
  1493. }
  1494. }
  1495. }
  1496. </style>