examineAdd.vue 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029
  1. <!-- 安全检查-开展检查 -->
  2. <template>
  3. <view class="examine">
  4. <scroll-view scroll-y @scrolltolower="scrollGet" class="info-max-box">
  5. <view class="basics">
  6. <view class="basics_li">
  7. <view class="basics_li_l">实验室</view>
  8. <view class="basics_li_r lab_r">
  9. <input class="picker-text" @click="popupClick(1)" type="text" disabled v-model="form.subjectName" placeholder="请选择房间" placeholder-style="font-size: 30rpx;color:#333;">
  10. <view class="img-box" @click.stop="saoCode">
  11. <img src="@/images/Version3.3.3/icon_aqjc_sm.png">
  12. </view>
  13. </view>
  14. </view>
  15. <view class="basics_li">
  16. <view class="basics_li_l">学院</view>
  17. <picker @change="collegeChange" :value="collegeIndex" :range="collegeArray" class="scope_r">
  18. <view class="basics_li_r college_r">
  19. <view>{{form.collegeName?form.collegeName:'选择学院'}}</view>
  20. <img src="@/images/Version3.3.3/icon_06.png">
  21. </view>
  22. </picker>
  23. </view>
  24. <!-- <view class="basics_li">
  25. <view class="basics_li_l">楼栋</view>
  26. <view class="basics_li_r building_r">
  27. <input class="picker-text" type="text" disabled v-model="form.buildName" placeholder="选择实验室后自动匹配" placeholder-style="font-size: 30rpx;color:#333;">
  28. </view>
  29. </view> -->
  30. <view class="basics_li">
  31. <view class="basics_li_l">楼栋</view>
  32. <picker @change="buildingChange" :value="collegeIndex" :range="buildingArray" class="scope_r">
  33. <view class="basics_li_r college_r">
  34. <view>{{form.buildName?form.buildName:'选择楼栋'}}</view>
  35. <img src="@/images/Version3.3.3/icon_06.png">
  36. </view>
  37. </picker>
  38. </view>
  39. <view class="basics_li">
  40. <view class="basics_li_l">计划标题</view>
  41. <picker @change="planChange" :value="planIndex" :range="planArray" class="scope_r">
  42. <view class="basics_li_r college_r">
  43. <view>{{form.title?form.title:'选择计划标题'}}</view>
  44. <img src="@/images/Version3.3.3/icon_06.png">
  45. </view>
  46. </picker>
  47. </view>
  48. <view class="basics_li">
  49. <view class="basics_li_l">检查类型</view>
  50. <picker @change="categoryChange" :value="categoryIndex" :disabled="isCustom" :range="categoryArray" class="scope_r">
  51. <view class="basics_li_r college_r">
  52. <view>{{form.checkType?(form.checkType==1?'校院巡查':'实验室自查'):'选择检查类型'}}</view>
  53. <img src="@/images/Version3.3.3/icon_06.png">
  54. </view>
  55. </picker>
  56. </view>
  57. <view class="period">
  58. <view class="period_l">检查周期</view>
  59. <view class="period_r">
  60. <picker mode="date" @change="startChange(form,$event)" :disabled="isCustom">
  61. <input class="picker-text" disabled type="text" v-model="form.cycleStartTime" placeholder="开始时间">
  62. </picker>
  63. <view>至</view>
  64. <picker mode="date" @change="endChange(form,$event)" :disabled="isCustom">
  65. <input class="picker-text2" disabled type="text" v-model="form.cycleEndTime" placeholder="结束时间">
  66. </picker>
  67. </view>
  68. </view>
  69. <view class="custom" @click="customFun">{{isCustom?'自定义输入':'选择计划'}}</view>
  70. </view>
  71. <view class="inspect">
  72. <view class="inspect_li">
  73. <view class="inspect_li_l">检查结果</view>
  74. <picker @change="resultChange" :value="resultIndex" :range="resultArray" class="scope_r">
  75. <view class="inspect_li_r college_r">
  76. <view>{{form.checkResult==1?'符合':'不符合'}}</view>
  77. <img src="@/images/Version3.3.3/icon_06.png">
  78. </view>
  79. </picker>
  80. </view>
  81. <view class="inspect_li" v-if="form.checkResult==0">
  82. <view class="inspect_li_l">整改日期</view>
  83. <picker mode="date" @change="rectifyDeadline(form,$event)">
  84. <view class="inspect_li_r date_r">
  85. <input disabled class="picker-text" type="text" v-model="form.rectifyDeadline" placeholder="请选择日期" placeholder-style="font-size: 30rpx;color:#333;">
  86. <img src="@/images/Version3.3.3/icon_rl.png">
  87. </view>
  88. </picker>
  89. </view>
  90. <view class="inspect_li" v-if="form.checkResult==0">
  91. <view class="inspect_li_l">整改通知</view>
  92. <view class="inform_r">
  93. <view v-for="(item,index) in informArray" :key="index" @click="tabClick(index)"><text :class="informIndex==index?'checked':'inform_r_l' "></text><text class="inform_r_r">{{item}}</text></view>
  94. </view>
  95. </view>
  96. </view>
  97. </scroll-view>
  98. <!-- 房间选择弹出层 -->
  99. <view class="popup-max-box" v-if="popupType">
  100. <view class="popup-null" @click="popupClick(2)"></view>
  101. <view class="popup-big-box">
  102. <view class="popup-input-box">
  103. <input type="text" maxlength="10" v-model="room" placeholder="请输入房间号">
  104. <view @click="buildBySub">搜索</view>
  105. </view>
  106. <view class="popup-for-max-box">
  107. <view class="popup-for-null" v-if="!roomList[0]">暂无数据</view>
  108. <view class="popup-for-box" v-for="(item,index) in roomList" :key="index">
  109. <view class="name-p">{{item.name}}</view>
  110. <view class="button-p" @click="popupClickItem(item)">确定</view>
  111. </view>
  112. </view>
  113. </view>
  114. </view>
  115. <!-- 检查名称弹窗 -->
  116. <uni-popup ref="popup" class="inspect_name" type="bottom">
  117. <view class="popup-content">
  118. <view class="inspect_name_t">
  119. <input type="text" v-model="customTitle" maxlength="20" placeholder="请输入计划标题"/>
  120. </view>
  121. <view class="inspect_name_b">
  122. <text @click="titleCancel()">取消</text>
  123. <text @click="titleConfirm()">确定</text>
  124. </view>
  125. </view>
  126. </uni-popup>
  127. <view class="bottom_btn" @click="handleClick('nextStep')" v-if="form.checkResult==0">下一步</view>
  128. <view class="bottom_btn" @click="submitForm()" v-if="form.checkResult==1">提交</view>
  129. </view>
  130. </template>
  131. <script>
  132. import { config } from '@/api/request/config.js'
  133. import { buildBySub,listDepartments,subjectList,getCheckPlanBySubId,checkManageAdd,findCheckManage,getBuildingList} from '@/api/index.js'
  134. export default {
  135. name: "rectifyList",
  136. components: {
  137. },
  138. data() {
  139. return {
  140. id:'',
  141. pageType:0,
  142. //列表请求参数
  143. getData:{
  144. pageNum:1,
  145. pageSize:20,
  146. },
  147. customTitle:'',
  148. form:{
  149. id:'',
  150. checkPlanId:'',
  151. manageStatus:'',//保存1 提交2
  152. subId:'',//实验室
  153. subjectName:'',
  154. title:'',//计划标题
  155. deptId:'',//学院
  156. collegeName:'',
  157. buildId:'',//楼栋
  158. buildName:'',
  159. roomNumber:'',//房间号
  160. checkType:'',// 检查类型(1校院巡查 2实验室自查)
  161. checkResult:'1',// 检查结果 0不符合 1符合
  162. rectifyDeadline:'',//整改期限
  163. rectifyNotice:'1',//整改通知(1整改告知书 2整改通知书)
  164. cycleStartTime:'',
  165. cycleEndTime:'',
  166. checkHazardDtoList:[
  167. {
  168. voiceRemark:[],//语音备忘存储
  169. hazardLevel:'0',//隐患等级
  170. hazardLevelName:'一般隐患',//隐患等级
  171. hazardCheckCode:'', //检查项目code序号
  172. hazardCheckName:'', //检查项目名称
  173. hazardCheckPro:'', //最后一级的id
  174. hazardCheckPoint:'',// 检查要点
  175. hazardDescribe:'', //隐患描述
  176. uploadDtoList:[],//隐患照片
  177. }
  178. ],
  179. },
  180. collegeIndex :0,
  181. collegeArray:[],
  182. categoryIndex :0,
  183. categoryArray:['校院巡查','实验室自查'],
  184. planIndex :0,
  185. planArray:[],
  186. planList:[],
  187. resultIndex :0,
  188. resultArray:['符合','不符合'],
  189. informIndex:0,
  190. informArray:['整改告知书','整改通知书'],
  191. //房间弹层 状态
  192. popupType:false,
  193. //房间搜索字段
  194. room:"",
  195. roomList:[],
  196. item:{},
  197. isCustom:true,
  198. buildingArray:[],
  199. buildingList:[],
  200. }
  201. },
  202. onLoad(option) {
  203. if(option.id){
  204. this.id=option.id
  205. this.findCheckManage()
  206. }
  207. if(option.form){
  208. this.form=JSON.parse(decodeURIComponent(option.form));
  209. }
  210. //通过实验室id查询计划
  211. if(option.subId){
  212. this.getCheckPlanBySubId(option.subId)
  213. }
  214. },
  215. onShow() {
  216. },
  217. mounted(){
  218. this.listDepartments();
  219. },
  220. methods: {
  221. //滚动事件
  222. scrollGet(){},
  223. handleClick(doType){
  224. let self=this;
  225. if( doType=='nextStep'){//下一步
  226. uni.redirectTo({
  227. url: '/pages/pages_safetyExamine/examineManage/examineAddTow?form='+encodeURIComponent(JSON.stringify(this.form))
  228. });
  229. }
  230. },
  231. customFun(){
  232. let self=this;
  233. self.isCustom=!self.isCustom
  234. if(self.isCustom){//自定义
  235. self.form.title='';
  236. self.form.checkType='';
  237. self.form.cycleStartTime='';
  238. self.form.cycleEndTime='';
  239. }else{//选择计划
  240. self.form.title='';
  241. self.form.checkType='';
  242. self.form.cycleStartTime='';
  243. self.form.cycleEndTime='';
  244. self.$refs.popup.open()
  245. }
  246. },
  247. titleCancel(){
  248. let self=this;
  249. self.$refs.popup.close()
  250. },
  251. titleConfirm(){
  252. let self=this;
  253. this.form.title=this.customTitle;
  254. self.$refs.popup.close()
  255. },
  256. //开始时间选中事件
  257. startChange(form,e){
  258. if(new Date(e.target.value).getTime()>=new Date(form.cycleEndTime).getTime()){
  259. uni.showToast({
  260. title: '结束时间不能小于开始时间',
  261. icon:"none",
  262. mask:true,
  263. duration: 2000
  264. });
  265. }else{
  266. form.cycleStartTime=e.target.value
  267. }
  268. console.log(e.target.value)
  269. console.log(form.cycleStartTime)
  270. },
  271. //结束时间选中事件
  272. endChange(form,e){
  273. if(new Date(form.cycleStartTime).getTime()>=new Date(e.target.value).getTime()){
  274. uni.showToast({
  275. title: '结束时间不能小于开始时间',
  276. icon:"none",
  277. mask:true,
  278. duration: 2000
  279. });
  280. }else{
  281. form.cycleEndTime=e.target.value
  282. }
  283. },
  284. //详情
  285. async findCheckManage(){
  286. let _this = this;
  287. const {data} = await findCheckManage({id:this.id});
  288. if(data.code == 200){
  289. this.form.id=data.data.id;
  290. this.form.checkPlanId=data.data.checkPlanId;
  291. this.form.subId=data.data.subId;
  292. this.form.subjectName=data.data.subjectName;
  293. this.form.title=data.data.title;
  294. this.form.deptId=data.data.deptId;
  295. this.form.collegeName=data.data.collegeName;
  296. this.form.buildId=data.data.buildId;
  297. this.form.buildName=data.data.buildName;
  298. this.form.checkType=data.data.checkType;
  299. this.form.checkResult=data.data.checkResult==null?'1':data.data.checkResult;
  300. this.form.rectifyDeadline=data.data.rectifyDeadline;
  301. this.form.rectifyNotice=data.data.rectifyNotice==null?'1':data.data.rectifyNotice;
  302. if(data.data.checkHazardDtoList.length>0){//隐患项
  303. this.form.checkHazardDtoList=data.data.checkHazardDtoList;
  304. }
  305. this.form.id=data.data.id;
  306. //根据实验室id查询实验室计划
  307. if(data.data.subId){
  308. this.form.cycleStartTime=data.data.cycleStartTime;
  309. this.form.cycleEndTime=data.data.cycleEndTime;
  310. this.getCheckPlanBySubId(data.data.subId)
  311. }
  312. }
  313. },
  314. //查询学院列表
  315. async listDepartments(){
  316. let _this = this;
  317. const {data} = await listDepartments();
  318. if(data.code == 200){
  319. for(let i=0;i<data.data.length;i++){
  320. _this.collegeArray.push(data.data[i].deptName)
  321. }
  322. _this.collegeList=data.data;
  323. }
  324. },
  325. //根据实验室id查询该实验室有关计划
  326. async getCheckPlanBySubId(subId){
  327. let _this = this;
  328. const {data} = await getCheckPlanBySubId({'subId':subId});
  329. if(data.code == 200){
  330. for(let i=0;i<data.data.length;i++){
  331. _this.planArray.push(data.data[i].title)
  332. }
  333. _this.planList=data.data;
  334. }
  335. },
  336. //根据学院id查询楼栋
  337. async getBuildingList(deptId){
  338. let _this = this;
  339. const {data} = await getBuildingList(deptId);
  340. if(data.code == 200){
  341. console.log(_this.form.buildId)
  342. for(let i=0;i<data.data.length;i++){
  343. _this.buildingArray.push(data.data[i].deptName)
  344. if(_this.form.buildId==data.data[i].deptId){
  345. this.$set(this.form,"buildName",data.data[i].deptName)
  346. }
  347. }
  348. console.log(_this.form.buildName)
  349. _this.buildingList=data.data;
  350. }
  351. },
  352. //楼栋选中
  353. buildingChange(e){
  354. this.form.buildId=this.buildingList[e.target.value].deptId
  355. this.form.buildName=this.buildingList[e.target.value].deptName
  356. },
  357. //学院选中
  358. collegeChange(e){
  359. this.collegeIndex = e.target.value;
  360. this.form.deptId=this.collegeList[e.target.value].deptId
  361. this.form.collegeName=this.collegeList[e.target.value].deptName
  362. console.log()
  363. this.getBuildingList(this.form.deptId)
  364. },
  365. //检查类型
  366. categoryChange(e){
  367. this.categoryIndex = e.target.value;
  368. if(e.target.value==0){
  369. this.form.checkType=1
  370. }else if(e.target.value==1){
  371. this.form.checkType=2
  372. }
  373. },
  374. //计划
  375. planChange(e){
  376. this.planIndex = e.target.value;
  377. this.form.title=this.planList[e.target.value].title
  378. this.form.checkPlanId=this.planList[e.target.value].id
  379. this.form.subId=this.planList[e.target.value].subId;
  380. this.form.subjectName=this.planList[e.target.value].subjectName;
  381. this.form.deptId=this.planList[e.target.value].deptId;
  382. this.form.collegeName=this.planList[e.target.value].collegeName;
  383. this.form.buildId=this.planList[e.target.value].buildId;
  384. this.form.buildName=this.planList[e.target.value].buildName;
  385. this.form.checkType=this.planList[e.target.value].checkType;
  386. this.form.checkResult=this.planList[e.target.value].checkResult==null?'1':data.data.checkResult;
  387. this.form.cycleStartTime=this.planList[e.target.value].cycleStartTime;
  388. this.form.cycleEndTime=this.planList[e.target.value].cycleEndTime;
  389. this.form.cycleEndTime=this.planList[e.target.value].cycleEndTime;
  390. },
  391. resultChange(e){
  392. this.resultIndex = e.target.value;
  393. if(e.target.value==0){
  394. this.form.checkResult=1;
  395. }else if(e.target.value==1){
  396. this.form.checkResult=0;
  397. }
  398. },
  399. //开始时间选中事件
  400. rectifyDeadline(form,e){
  401. form.rectifyDeadline=e.target.value
  402. },
  403. //整改通知
  404. tabClick(index) {
  405. this.informIndex = index;
  406. if(index==0){
  407. this.rectifyNotice='1';
  408. }else if(index==1){
  409. this.rectifyNotice='2';
  410. }
  411. },
  412. //搜索房间弹层开关
  413. popupClick(type){
  414. if(type == 1){
  415. this.room = "";
  416. this.roomList = [];
  417. this.popupType = true;
  418. }else if(type == 2){
  419. this.popupType = false;
  420. }
  421. },
  422. //搜索房间接口
  423. async buildBySub(){
  424. let self = this;
  425. if(!this.room){
  426. uni.showToast({
  427. title: '请输入要搜索房间号',
  428. icon:"none",
  429. mask:true,
  430. duration: 2000
  431. });
  432. return
  433. }
  434. const {data} = await buildBySub(this.room);
  435. if(data.code==200){
  436. if(data.data[0]){
  437. this.roomList = data.data;
  438. }else{
  439. uni.showToast({
  440. title: '未找到相关房间',
  441. icon:"none",
  442. mask:true,
  443. duration: 2000
  444. });
  445. }
  446. }
  447. },
  448. //确认搜索房间
  449. popupClickItem(item){
  450. this.$set(this.form,"subId",item.id)
  451. this.$set(this.form,"subjectName",item.name)
  452. this.$set(this.form,"deptId",item.deptId)
  453. this.$set(this.form,"buildId",item.buildId)
  454. this.$set(this.form,"roomNumber",item.room)
  455. //获取学院名称
  456. for(let i=0;i<this.collegeList.length;i++){
  457. if(this.collegeList[i].deptId==item.deptId){
  458. this.$set(this.form,"collegeName",this.collegeList[i].deptName)
  459. }
  460. }
  461. //请求楼栋数据
  462. this.getBuildingList(item.deptId)
  463. this.popupType = false;
  464. this.getCheckPlanBySubId(item.id)
  465. },
  466. //调用摄像头
  467. saoCode(){
  468. let self = this;
  469. uni.scanCode({
  470. onlyFromCamera: true,
  471. success: function (res) {
  472. if(res.result.indexOf("code") != -1 && res.result.indexOf("-") != -1 && res.result.indexOf("&") != -1){
  473. let codeRoom = "";
  474. let newList = res.result.split("?")[1].split("&")
  475. let list = newList[0].split("=")[1].split("-")
  476. codeRoom = list[1];
  477. if(codeRoom){
  478. self.roomList = [];
  479. self.room = codeRoom;
  480. self.buildBySub();
  481. self.popupType = true;
  482. }else{
  483. uni.showToast({
  484. title: '请扫描正确的二维码',
  485. icon:"none",
  486. mask:true,
  487. duration: 2000
  488. });
  489. }
  490. }else{
  491. uni.showToast({
  492. title: '请扫描正确的二维码',
  493. icon:"none",
  494. mask:true,
  495. duration: 2000
  496. });
  497. }
  498. }
  499. });
  500. },
  501. //提交
  502. async submitForm(){
  503. let _this = this;
  504. this.form.manageStatus=2;
  505. const {data} = await checkManageAdd(_this.form);
  506. if(data.code == 200){
  507. uni.showToast({
  508. title: '提交成功',
  509. icon:"none",
  510. mask:true,
  511. duration: 2000
  512. });
  513. uni.redirectTo({
  514. url: '/pages/pages_safetyExamine/examineManage/examineList'
  515. });
  516. }
  517. },
  518. }
  519. }
  520. </script>
  521. <style lang="stylus" scoped>
  522. .examine{
  523. height:100%;
  524. display flex;
  525. box-sizing: border-box;
  526. .info-max-box{
  527. flex: 1;
  528. overflow: scroll;
  529. padding: 20rpx 0rpx 128rpx;
  530. box-sizing: border-box;
  531. }
  532. .basics{
  533. margin: 0 30rpx;
  534. width: 690rpx;
  535. height: 740rpx;
  536. background: #FFFFFF;
  537. border-radius: 20rpx;
  538. padding: 30rpx 28rpx 0;
  539. box-sizing: border-box;
  540. .basics_li{
  541. display: flex;
  542. justify-content: flex-start;
  543. margin-bottom: 24rpx;
  544. .basics_li_l{
  545. width: 146rpx;
  546. text-align: left;
  547. font-size: 30rpx;
  548. font-family: PingFang SC-Medium, PingFang SC;
  549. font-weight: 400;
  550. color: #333333;
  551. line-height: 80rpx;
  552. }
  553. .basics_li_r{
  554. width: 486rpx;
  555. height: 80rpx;
  556. border-radius: 10rpx;
  557. opacity: 1;
  558. border: 1rpx solid #E0E0E0;
  559. padding-left: 20rpx;
  560. box-sizing: border-box;
  561. }
  562. /* 学院 */
  563. .college_r{
  564. width: 486rpx;
  565. height: 80rpx;
  566. border-radius: 10rpx;
  567. border: 1rpx solid #E0E0E0;
  568. display: flex;
  569. justify-content: flex-start;
  570. align-items: center;
  571. >view{
  572. flex:1;
  573. line-height:80rpx;
  574. font-size: 30rpx;
  575. font-family: PingFang SC-Medium, PingFang SC;
  576. font-weight: 400;
  577. color: #333333;
  578. line-height: 80rpx;
  579. white-space: nowrap;
  580. overflow: hidden;
  581. text-overflow: ellipsis;
  582. }
  583. >img{
  584. width: 14rpx;
  585. height: 8rpx;
  586. margin-right: 30rpx;
  587. }
  588. }
  589. /* 实验室 */
  590. .lab_r{
  591. width: 486rpx;
  592. height: 80rpx;
  593. display: flex;
  594. justify-content: flex-start;
  595. .picker-text{
  596. width: 438rpx;
  597. height: 80rpx;
  598. }
  599. .img-box{
  600. width: 48rpx;
  601. >img{
  602. width:30rpx;
  603. height:28rpx;
  604. margin:26rpx 18rpx 0 0;
  605. }
  606. }
  607. }
  608. /* 楼栋 */
  609. .building_r{
  610. width: 486rpx;
  611. height: 80rpx;
  612. >input{
  613. height: 80rpx;
  614. font-size: 30rpx;
  615. font-family: PingFang SC-Medium, PingFang SC;
  616. font-weight: 400;
  617. color: #333333;
  618. line-height: 80rpx;
  619. }
  620. }
  621. }
  622. .period{
  623. display: flex;
  624. justify-content: flex-start;
  625. align-items: center;
  626. margin-bottom: 24rpx;
  627. .period_l{
  628. width: 146rpx;
  629. font-size: 30rpx;
  630. font-family: PingFang SC-Medium, PingFang SC;
  631. font-weight: 400;
  632. color: #333333;
  633. line-height: 42rpx;
  634. text-align: left;
  635. }
  636. .period_r{
  637. width: 490rpx;
  638. height: 80rpx;
  639. border-radius: 10rpx;
  640. border: 1rpx solid #E0E0E0;
  641. display: flex;
  642. justify-content: flex-start;
  643. align-items: center;
  644. .picker-text{
  645. font-size: 30rpx;
  646. font-family: PingFang SC-Medium, PingFang SC;
  647. font-weight: 400;
  648. color: #333;
  649. line-height: 80rpx;
  650. width: 230rpx;
  651. text-align: center;
  652. }
  653. .picker-text2{
  654. font-size: 30rpx;
  655. font-family: PingFang SC-Medium, PingFang SC;
  656. font-weight: 400;
  657. color: #333;
  658. line-height: 80rpx;
  659. width: 230rpx;
  660. text-align: center;
  661. }
  662. }
  663. }
  664. .custom{
  665. width: 150rpx;
  666. height: 60rpx;
  667. border-radius: 10rpx 10rpx 10rpx 10rpx;
  668. opacity: 1;
  669. border: 1rpx solid #0183FA;
  670. font-size: 26rpx;
  671. font-family: PingFang SC-Medium, PingFang SC;
  672. font-weight: 400;
  673. color: #0183FA;
  674. line-height: 60rpx;
  675. text-align: center;
  676. float: right;
  677. }
  678. }
  679. .attachment{
  680. width: 690rpx;
  681. background: #FFFFFF;
  682. border-radius: 20rpx;
  683. margin: 20rpx 30rpx 0;
  684. padding-bottom: 32rpx;
  685. box-sizing: border-box;
  686. .attachment_t{
  687. border-bottom: 1rpx solid #D8D8D8;
  688. >text:nth-of-type(1){
  689. font-size: 30rpx;
  690. font-family: PingFang SC-Medium, PingFang SC;
  691. font-weight: 400;
  692. color: #333333;
  693. line-height: 110rpx;
  694. margin-left: 28rpx;
  695. }
  696. >text:nth-of-type(2){
  697. font-size: 30rpx;
  698. font-family: PingFang SC-Medium, PingFang SC;
  699. font-weight: 400;
  700. color: #999999;
  701. line-height: 110rpx;
  702. margin-left: 24rpx;
  703. }
  704. }
  705. .attachment_li{
  706. height: 40rpx;
  707. display: flex;
  708. justify-content: flex-start;
  709. align-items: center;
  710. margin-top: 32rpx;
  711. >img{
  712. width: 30rpx;
  713. height: 26rpx;
  714. margin-right: 20rpx;
  715. margin-left: 50rpx;
  716. }
  717. >text{
  718. flex: 1;
  719. font-size: 28rpx;
  720. font-family: PingFang SC-Medium, PingFang SC;
  721. font-weight: 400;
  722. color: #0183FA;
  723. line-height: 40rpx;
  724. white-space: nowrap;
  725. overflow: hidden;
  726. text-overflow: ellipsis;
  727. }
  728. .attachment_li_del{
  729. width: 30rpx;
  730. height: 30rpx;
  731. }
  732. }
  733. }
  734. .inspect{
  735. margin: 20rpx 30rpx 0;
  736. width: 690rpx;
  737. height: auto;
  738. background: #FFFFFF;
  739. border-radius: 20rpx;
  740. padding: 40rpx 28rpx 20rpx;
  741. box-sizing: border-box;
  742. .inspect_li{
  743. display: flex;
  744. justify-content: flex-start;
  745. margin-bottom: 24rpx;
  746. .inspect_li_l{
  747. width: 146rpx;
  748. text-align: left;
  749. font-size: 30rpx;
  750. font-family: PingFang SC-Medium, PingFang SC;
  751. font-weight: 400;
  752. color: #333333;
  753. line-height: 80rpx;
  754. }
  755. .inspect_li_r{
  756. width: 486rpx;
  757. height: 80rpx;
  758. border-radius: 10rpx;
  759. opacity: 1;
  760. border: 1rpx solid #E0E0E0;
  761. padding-left: 20rpx;
  762. box-sizing: border-box;
  763. }
  764. .college_r{
  765. width: 486rpx;
  766. height: 80rpx;
  767. border-radius: 10rpx;
  768. border: 1rpx solid #E0E0E0;
  769. display: flex;
  770. justify-content: flex-start;
  771. align-items: center;
  772. >view{
  773. flex:1;
  774. line-height:80rpx;
  775. font-size: 30rpx;
  776. font-family: PingFang SC-Medium, PingFang SC;
  777. font-weight: 400;
  778. color: #333333;
  779. line-height: 80rpx;
  780. }
  781. >img{
  782. width: 14rpx;
  783. height: 8rpx;
  784. margin-right: 30rpx;
  785. }
  786. }
  787. /* 整改日期 */
  788. .date_r{
  789. width: 486rpx;
  790. height: 80rpx;
  791. display: flex;
  792. justify-content: flex-start;
  793. .picker-text{
  794. width: 438rpx;
  795. height: 80rpx;
  796. }
  797. >img{
  798. width:30rpx;
  799. height:28rpx;
  800. margin:16rpx 18rpx 0 0;
  801. }
  802. }
  803. /* 整改通知 */
  804. .inform_r{
  805. width: 486rpx;
  806. height: 80rpx;
  807. padding-left: 20rpx;
  808. box-sizing: border-box;
  809. display: flex;
  810. justify-content: flex-start;
  811. align-items: center;
  812. >view{
  813. display: flex;
  814. justify-content: flex-start;
  815. align-items: center;
  816. margin-right: 24rpx;
  817. .inform_r_l{
  818. display: inline-block;
  819. width: 30rpx;
  820. height: 30rpx;
  821. border-radius: 50%;
  822. border: 1rpx solid #E0E0E0;
  823. margin-right: 14rpx;
  824. }
  825. .inform_r_r{
  826. font-size: 30rpx;
  827. font-family: PingFang SC-Medium, PingFang SC;
  828. font-weight: 400;
  829. color: #333333;
  830. line-height: 80rpx;
  831. }
  832. .checked{
  833. display: inline-block;
  834. width: 30rpx;
  835. height: 30rpx;
  836. border-radius: 50%;
  837. border: 1rpx solid #0183FA;
  838. margin-right: 14rpx;
  839. position: relative;
  840. }
  841. .checked::after{
  842. content: '';
  843. position: absolute;
  844. top: 5rpx;
  845. left:5rpx;
  846. width: 20rpx;
  847. height: 20rpx;
  848. border-radius: 50%;
  849. background: #0183FA;
  850. }
  851. }
  852. }
  853. }
  854. }
  855. .popup-max-box{
  856. z-index:10;
  857. height:100%;
  858. width:100%;
  859. position fixed;
  860. background rgba(0,0,0,0.2)
  861. display flex;
  862. flex-direction column
  863. .popup-null{
  864. flex:1;
  865. }
  866. .popup-big-box{
  867. border-top-left-radius:20rpx;
  868. border-top-right-radius:20rpx;
  869. background #fff
  870. .popup-input-box{
  871. padding:30rpx 20rpx;
  872. display:flex;
  873. input{
  874. flex:1;
  875. height:70rpx;
  876. border:1rpx solid #e0e0e0;
  877. border-radius:10rpx;
  878. margin-right:20rpx;
  879. padding:0 20rpx;
  880. }
  881. view{
  882. background #0183FA
  883. color:#fff;
  884. border-radius:10rpx;
  885. width:140rpx;
  886. line-height:70rpx;
  887. text-align center;
  888. font-size:28rpx;
  889. }
  890. }
  891. .popup-for-max-box{
  892. margin:0 20rpx 30rpx;
  893. height:600rpx;
  894. overflow-y scroll;
  895. .popup-for-null{
  896. line-height:100rpx;
  897. text-align center
  898. color:#999;
  899. }
  900. .popup-for-box{
  901. display:flex;
  902. padding:10px 0;
  903. .name-p{
  904. flex:1;
  905. line-height:60rpx;
  906. }
  907. .button-p{
  908. background #0183FA
  909. color:#fff;
  910. text-align center
  911. width:100rpx;
  912. line-height:60rpx;
  913. height:60rpx;
  914. border-radius:10rpx;
  915. }
  916. }
  917. }
  918. }
  919. }
  920. /* 计划标题 */
  921. .inspect_name{
  922. .popup-content{
  923. width: 750rpx;
  924. height: 350rpx;
  925. background: #FFFFFF;
  926. border-radius: 10rpx 10rpx 0px 0px;
  927. padding :0 50rpx;
  928. box-sizing :border-box;
  929. overflow :hidden;
  930. .inspect_name_t{
  931. margin-top:66rpx;
  932. padding: 0 30rpx;
  933. box-sizing: border-box;
  934. >input{
  935. width:100%;
  936. height:80rpx;
  937. border: 2rpx solid #E0E0E0;
  938. color:#A2A2A2;
  939. font-size:28rpx;
  940. line-height 80rpx
  941. border-radius:10rpx;
  942. padding: 0 20rpx;
  943. box-sizing: border-box;
  944. }
  945. }
  946. .inspect_name_b{
  947. margin-top :64rpx;
  948. display: flex;
  949. justify-content: center;
  950. >text:nth-of-type(1){
  951. width: 160rpx;
  952. height: 60rpx;
  953. border-radius: 40rpx;
  954. font-size: 30rpx;
  955. font-family: PingFang SC;
  956. font-weight: 500;
  957. color: #333333;
  958. line-height: 60rpx;
  959. text-align :center;
  960. margin-right: 120rpx;
  961. border: 2rpx solid #e0e0e0;
  962. }
  963. >text:nth-of-type(2){
  964. width: 160rpx;
  965. height: 60rpx;
  966. background: linear-gradient(-35deg, #309CFF, #0183FA);
  967. border-radius: 40rpx;
  968. font-size: 30rpx;
  969. font-family: PingFang SC;
  970. font-weight: 500;
  971. color: #FFFFFF;
  972. line-height: 60rpx;
  973. text-align :center;
  974. }
  975. }
  976. }
  977. }
  978. .bottom_btn{
  979. position: fixed;
  980. bottom: 26rpx;
  981. left: 30rpx;
  982. font-size: 30rpx;
  983. font-family: PingFang SC-Medium, PingFang SC;
  984. font-weight: 400;
  985. color: #FFFFFF;
  986. line-height: 90rpx;
  987. width: 690rpx;
  988. height: 90rpx;
  989. background: #0183FA;
  990. border-radius: 20rpx;
  991. text-align: center;
  992. }
  993. }
  994. </style>