patrolPlanEdit.vue 39 KB

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