examineAdd.vue 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377
  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" :class="addDisabledType?'addDisabled':''">
  9. <input class="picker-text" @click="popupClick(1)" type="text" disabled v-model="form.subjectName"
  10. placeholder="请选择实验室" placeholder-style="font-size: 30rpx;color:#333;">
  11. <view class="img-box" @click.stop="saoCode" v-if="!addDisabledType">
  12. <img src="@/pages_safetyExamine/images/icon_aqjc_sm.png">
  13. </view>
  14. </view>
  15. </view>
  16. <view class="basics_li">
  17. <view class="basics_li_l">学院</view>
  18. <picker disabled @change="collegeChange" :value="collegeIndex" :range="collegeArray" class="scope_r">
  19. <view class="basics_li_r college_r" style="background-color: #F5F5F5 ;">
  20. <view>{{form.collegeName?form.collegeName:'未选择实验室'}}</view>
  21. <img src="@/pages_safetyExamine/images/icon_06.png">
  22. </view>
  23. </picker>
  24. </view>
  25. <view class="basics_li">
  26. <view class="basics_li_l">楼栋</view>
  27. <picker @change="buildingChange" disabled="" :value="collegeIndex" :range="buildingArray" class="scope_r">
  28. <view class="basics_li_r college_r" style="background-color: #F5F5F5 ;">
  29. <view>{{form.buildName?form.buildName:'未选择实验室'}}</view>
  30. <img src="@/pages_safetyExamine/images/icon_06.png">
  31. </view>
  32. </picker>
  33. </view>
  34. <view class="basics_li">
  35. <view class="basics_li_l">计划标题</view>
  36. <picker v-if="isCustom" @change="planChange" :disabled='addDisabledType' :value="planIndex" :range="planArray" class="scope_r">
  37. <view class="basics_li_r college_r" :class="addDisabledType?'addDisabled':''">
  38. <view>{{form.title?form.title:'选择计划标题'}}</view>
  39. <img src="@/pages_safetyExamine/images/icon_06.png">
  40. </view>
  41. </picker>
  42. <view v-if="!isCustom" class="basics_li_r college_r">
  43. <input type="text" v-model="form.title" maxlength="30" placeholder="输入计划标题">
  44. </view>
  45. </view>
  46. <view class="basics_li" style="justify-content: flex-end;" v-if='planArray[0]&&!addDisabledType'>
  47. <view class="custom" @click="customFun">{{isCustom?'自定义输入':'选择计划'}}</view>
  48. </view>
  49. <view class="basics_li">
  50. <view class="basics_li_l">检查组织</view>
  51. <picker @change="categoryChange" :value="categoryIndex" disabled :range="categoryArray" class="scope_r">
  52. <view class="basics_li_r college_r" style="background-color: #F5F5F5 ;">
  53. <view>{{form.checkType?(form.checkType==1?'校院巡查':'实验室自查'):'选择检查组织'}}</view>
  54. <img src="@/pages_safetyExamine/images/icon_06.png">
  55. </view>
  56. </picker>
  57. </view>
  58. <view class="basics_li">
  59. <view class="basics_li_l">检查类型</view>
  60. <picker @change="specialChange" :value="specialIndex" :range="specialArray" :disabled="isCustom" class="scope_r">
  61. <view class="basics_li_r college_r" :class="isCustom?'addDisabled':''">
  62. <view>{{form.checkCategory?(form.checkCategory==1?'综合检查':'专项检查'):'选择检查类型'}}</view>
  63. <img src="@/pages_safetyExamine/images/icon_06.png">
  64. </view>
  65. </picker>
  66. </view>
  67. <view class="period">
  68. <view class="period_l">计划周期</view>
  69. <view class="period_r" :class="isCustom?'addDisabled':''">
  70. <picker mode="date" @change="startChange(form,$event)" :disabled="isCustom">
  71. <input class="picker-text" disabled type="text" v-model="form.cycleStartTime" placeholder="开始时间">
  72. </picker>
  73. <view>至</view>
  74. <picker mode="date" @change="endChange(form,$event)" :disabled="isCustom">
  75. <input class="picker-text2" disabled type="text" v-model="form.cycleEndTime" placeholder="结束时间">
  76. </picker>
  77. </view>
  78. </view>
  79. </view>
  80. <view class="attachment" v-if="form.isAttachment==1">
  81. <view class="attachment_t">
  82. <text>材料附件</text>
  83. <text>点击文件标题查看</text>
  84. </view>
  85. <view class="attachment_li" v-for="item in attachmentList">
  86. <img src="@/pages_safetyExamine/images/icon_djc_wj.png"/>
  87. <text @click="attachmentPreview(item)">{{item.fileName}}</text>
  88. </view>
  89. </view>
  90. <view class="inspect" v-if='form.checkCategory==1 || (form.checkResult==0 || form.checkCategory==2)'>
  91. <view class="inspect_li" v-if='form.checkCategory==1'>
  92. <view class="inspect_li_l">检查结果</view>
  93. <picker @change="resultChange" :value="resultIndex" :range="resultArray" class="scope_r">
  94. <view class="inspect_li_r college_r">
  95. <view>{{form.checkResult==1?'符合':'不符合'}}</view>
  96. <img src="@/pages_safetyExamine/images/icon_06.png">
  97. </view>
  98. </picker>
  99. </view>
  100. <view class="inspect_li" v-if="form.checkResult==0 || form.checkCategory==2">
  101. <view class="inspect_li_l">整改日期</view>
  102. <picker mode="date" @change="rectifyDeadline(form,$event)" :start="currentDate">
  103. <view class="inspect_li_r date_r">
  104. <input disabled class="picker-text" type="text" v-model="form.rectifyDeadline" placeholder="请选择日期" placeholder-style="font-size: 30rpx;color:#333;">
  105. <img src="@/pages_safetyExamine/images/icon_rl.png">
  106. </view>
  107. </picker>
  108. </view>
  109. <view class="inspect_li" v-if="form.checkResult==0 || form.checkCategory==2">
  110. <view class="inspect_li_l">整改通知</view>
  111. <view class="inform_r">
  112. <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>
  113. </view>
  114. </view>
  115. </view>
  116. </scroll-view>
  117. <!-- 房间选择弹出层 -->
  118. <view class="popup-max-box" v-if="popupType">
  119. <view class="popup-null" @click="popupClick(2)"></view>
  120. <view class="popup-big-box">
  121. <view class="popup-input-box">
  122. <input type="text" maxlength="10" v-model="room" placeholder="请输入关键字">
  123. <view @click="buildBySub">搜索</view>
  124. </view>
  125. <view class="popup-for-max-box">
  126. <view class="popup-for-null" v-if="!roomList[0]">暂无数据</view>
  127. <view class="popup-for-box" v-for="(item,index) in roomList" :key="index">
  128. <view class="name-p">{{item.name}}</view>
  129. <view class="button-p" @click="popupClickItem(item)">确定</view>
  130. </view>
  131. </view>
  132. </view>
  133. </view>
  134. <!-- 检查名称弹窗 -->
  135. <uni-popup ref="popup" class="inspect_name" type="bottom">
  136. <view class="popup-content">
  137. <view class="inspect_name_t">
  138. <input type="text" v-model="customTitle" maxlength="30" placeholder="请输入计划标题"/>
  139. </view>
  140. <view class="inspect_name_b">
  141. <text @click="titleCancel()">取消</text>
  142. <text @click="titleConfirm()">确定</text>
  143. </view>
  144. </view>
  145. </uni-popup>
  146. <view class="bottom_btn" @click="handleClick('nextStep')" v-if="form.checkResult==0 || form.checkCategory==2">下一步</view>
  147. <view class="bottom_btn" @click="handleClick('submitForm')" v-if="form.checkResult==1 && form.checkCategory==1">提交</view>
  148. </view>
  149. </template>
  150. <script>
  151. import { config } from '@/api/request/config.js'
  152. import { buildBySub,listDepartments,
  153. subjectList,getCheckPlanBySubId,
  154. checkManageUpdate,checkManageAdd,
  155. findCheckManage,buildFloorGetlist,
  156. buildBySubList,findByPlanIdAttachment,subjectFindSubjectInfo} from '@/api/apiDemo/index.js'
  157. export default {
  158. name: "rectifyList",
  159. components: {
  160. },
  161. data() {
  162. return {
  163. pageType:0,
  164. //列表请求参数
  165. getData:{
  166. pageNum:1,
  167. pageSize:20,
  168. },
  169. customTitle:'',
  170. attachmentList:[],//材料附件
  171. form:{
  172. id:'',
  173. checkPlanId:'',
  174. manageStatus:'',//保存1 提交2
  175. subIds:'',//实验室
  176. subjectName:'',
  177. title:'',//计划标题
  178. deptId:'',//学院
  179. collegeName:'',
  180. buildId:'',//楼栋
  181. buildName:'',
  182. roomNumber:'',//房间号
  183. checkType:2,// 检查组织(1校院巡查 2实验室自查)
  184. checkResult:1,// 检查结果 0不符合 1符合
  185. rectifyDeadline:'',//整改期限
  186. rectifyNotice:'1',//整改通知(1整改告知书 2整改通知书)
  187. cycleStartTime:'',
  188. cycleEndTime:'',
  189. checkCategory:'',//检查类型 1综合检查 2专项检查
  190. checkHazardDtoList:[
  191. {
  192. voiceRemark:[],//语音备忘存储
  193. hazardLevel:2,//隐患等级
  194. hazardLevelName:'一般隐患',//隐患等级
  195. hazardCheckCode:'', //检查项目code序号
  196. hazardCheckName:'', //检查项目名称
  197. hazardCheckPro:'', //最后一级的id
  198. hazardCheckPoint:'',// 检查要点
  199. hazardDescribe:'', //隐患描述
  200. uploadDtoList:[],//隐患照片
  201. }
  202. ],
  203. checkHazardInfoVoList:[],
  204. },
  205. collegeIndex :0,
  206. collegeArray:[],
  207. categoryIndex :0,
  208. categoryArray:['校院巡查','实验室自查'],
  209. planIndex :0,
  210. specialIndex:0,
  211. specialArray:['综合检查','专项检查'],
  212. planArray:[],
  213. planList:[],
  214. resultIndex :0,
  215. resultArray:['符合','不符合'],
  216. informIndex:0,
  217. informArray:['整改告知书','整改通知书'],
  218. //房间弹层 状态
  219. popupType:false,
  220. //房间搜索字段
  221. room:"",
  222. roomList:[],
  223. item:{},
  224. isCustom:false,
  225. buildingArray:[],
  226. buildingList:[],
  227. //扫一扫进入
  228. laboratoryList:[],
  229. currentDate:'',//当前日期
  230. //
  231. addDisabledType:false
  232. }
  233. },
  234. onLoad(option) {
  235. //通过微信扫一扫进入
  236. if(option.q){
  237. console.log('外部扫一扫')
  238. let text = decodeURIComponent(option.q)
  239. let codeId = "";
  240. let newList = text.split("?")[1].split("&")
  241. let list = newList[0].split("=")[1].split("-")
  242. codeId = list[0];
  243. uni.showToast({
  244. title: codeId,
  245. icon:"none",
  246. mask:true,
  247. duration: 2000
  248. });
  249. this.form.subIds=codeId
  250. this.getCheckPlanBySubId(codeId)
  251. this.getByIdLaboratoryList();
  252. }
  253. if(option.id){
  254. console.log('开始/编辑')
  255. this.findCheckManage('add',option.id)
  256. }
  257. if(option.form){
  258. console.log('子页面返回')
  259. this.form=JSON.parse(decodeURIComponent(option.form));
  260. this.isCustom=this.form.isCustom;
  261. if(this.form.isAttachment==1){//0没有附件 1有附件
  262. this.findByPlanIdAttachment()
  263. }
  264. }
  265. //通过实验室id查询计划
  266. if(option.subId){
  267. console.log('内部扫一扫')
  268. this.form.subIds=option.subId
  269. this.getCheckPlanBySubId(option.subId)
  270. this.getByIdLaboratoryList();
  271. }
  272. },
  273. onShow() {
  274. this.buildFloorGetlist()
  275. },
  276. mounted(){
  277. //获取当前日期
  278. this.currentDate = this.getNowFormatDate()
  279. this.listDepartments();
  280. },
  281. methods: {
  282. //滚动事件
  283. scrollGet(){},
  284. handleClick(doType){
  285. let self=this;
  286. if(!this.form.subIds){
  287. uni.showToast({
  288. title: '请选择实验室!',
  289. icon:"none",
  290. mask:true,
  291. duration: 2000
  292. });
  293. return
  294. }
  295. if(!this.form.deptId){
  296. uni.showToast({
  297. title: '请选择学院!',
  298. icon:"none",
  299. mask:true,
  300. duration: 2000
  301. });
  302. return
  303. }
  304. if(!this.form.buildId){
  305. uni.showToast({
  306. title: '请选择楼栋!',
  307. icon:"none",
  308. mask:true,
  309. duration: 2000
  310. });
  311. return
  312. }
  313. if(!this.form.title){
  314. if(!this.isCustom){
  315. uni.showToast({
  316. title: '请输入计划标题!',
  317. icon:"none",
  318. mask:true,
  319. duration: 2000
  320. });
  321. }else{
  322. uni.showToast({
  323. title: '请选择计划标题!',
  324. icon:"none",
  325. mask:true,
  326. duration: 2000
  327. });
  328. }
  329. return
  330. }
  331. if(!this.form.cycleStartTime || !this.form.cycleEndTime){
  332. uni.showToast({
  333. title: '请选择计划周期!',
  334. icon:"none",
  335. mask:true,
  336. duration: 2000
  337. });
  338. return
  339. }
  340. if(this.currentDate<this.form.cycleStartTime){
  341. uni.showToast({
  342. title: '当前时间不在计划周期内',
  343. icon:"none",
  344. mask:true,
  345. duration: 2000
  346. });
  347. return
  348. }
  349. if( doType=='nextStep'){//下一步
  350. // 打开扫描页面
  351. if(!this.form.rectifyDeadline){
  352. uni.showToast({
  353. title: '整改日期不能为空!',
  354. icon:"none",
  355. mask:true,
  356. duration: 2000
  357. });
  358. return
  359. }
  360. this.form.isCustom=this.isCustom;
  361. if(this.form.checkCategory==1){//综合检查
  362. uni.navigateTo({
  363. url: '/pages_safetyExamine/examineManage/examineAddTow?form='+encodeURIComponent(JSON.stringify(this.form))
  364. });
  365. }else if(this.form.checkCategory==2){//专项检查
  366. if(this.form.checkHazardInfoVoList[0]){
  367. uni.navigateTo({
  368. url: '/pages_safetyExamine/examineManage/examineAddTow?form='+encodeURIComponent(JSON.stringify(this.form))
  369. });
  370. }else{
  371. uni.redirectTo({
  372. url: '/pages/saoCode/scan?form='+encodeURIComponent(JSON.stringify(this.form))
  373. });
  374. }
  375. }
  376. }else if(doType=='submitForm'){
  377. self.submitForm()
  378. }
  379. },
  380. customFun(){
  381. let self=this;
  382. if(!self.isCustom){//自定义
  383. self.form.title='';
  384. self.form.id='';
  385. self.form.checkType='';
  386. self.form.cycleStartTime='';
  387. self.form.cycleEndTime='';
  388. self.isCustom=!self.isCustom
  389. }else{//选择计划
  390. this.$set(this.form,'isAttachment',0);
  391. this.$set(this,'customTitle','');
  392. self.form.checkHazardInfoVoList=[];
  393. self.$refs.popup.open()
  394. }
  395. },
  396. titleCancel(){
  397. let self=this;
  398. self.$refs.popup.close()
  399. },
  400. titleConfirm(){
  401. let self=this;
  402. self.isCustom=!self.isCustom
  403. this.$set(this.form,'title',this.customTitle);
  404. this.$set(this.form,'id','');
  405. this.$set(this.form,'checkType',2);
  406. this.$set(this.form,'checkResult',1);
  407. this.$set(this.form,'rectifyDeadline','');
  408. this.$set(this,'informIndex',0);
  409. this.$set(this.form,'cycleStartTime','');
  410. this.$set(this.form,'cycleEndTime','');
  411. this.$set(this.form,'checkHazardDtoList',[{
  412. voiceRemark:[],//语音备忘存储
  413. hazardLevel:2,//隐患等级
  414. hazardLevelName:'一般隐患',//隐患等级
  415. hazardCheckCode:'', //检查项目code序号
  416. hazardCheckName:'', //检查项目名称
  417. hazardCheckPro:'', //最后一级的id
  418. hazardCheckPoint:'',// 检查要点
  419. hazardDescribe:'', //隐患描述
  420. uploadDtoList:[],//隐患照片
  421. }]);
  422. self.$refs.popup.close()
  423. },
  424. //开始时间选中事件
  425. startChange(form,e){
  426. if(new Date(e.target.value).getTime()>new Date(form.cycleEndTime).getTime()){
  427. uni.showToast({
  428. title: '结束时间不能小于开始时间',
  429. icon:"none",
  430. mask:true,
  431. duration: 2000
  432. });
  433. }else{
  434. form.cycleStartTime=e.target.value
  435. }
  436. },
  437. //结束时间选中事件
  438. endChange(form,e){
  439. if(new Date(form.cycleStartTime).getTime()>new Date(e.target.value).getTime()){
  440. uni.showToast({
  441. title: '结束时间不能小于开始时间',
  442. icon:"none",
  443. mask:true,
  444. duration: 2000
  445. });
  446. }else{
  447. form.cycleEndTime=e.target.value
  448. }
  449. },
  450. //获取当前日期函数
  451. getNowFormatDate() {
  452. let date = new Date(),
  453. year = date.getFullYear(), //获取完整的年份(4位)
  454. month = date.getMonth() + 1, //获取当前月份(0-11,0代表1月)
  455. strDate = date.getDate() // 获取当前日(1-31)
  456. if (month < 10) month = `0${month}` // 如果月份是个位数,在前面补0
  457. if (strDate < 10) strDate = `0${strDate}` // 如果日是个位数,在前面补0
  458. return `${year}-${month}-${strDate}`
  459. },
  460. //根据计划id查询附件列表
  461. async findByPlanIdAttachment(){
  462. let _this = this;
  463. const {data} = await findByPlanIdAttachment({checkPlanId:this.form.checkPlanId});
  464. if(data.code == 200){
  465. _this.attachmentList=data.data;
  466. }
  467. },
  468. //详情
  469. async findCheckManage(type,id){
  470. let _this = this;
  471. const {data} = await findCheckManage({id:id});
  472. if(data.code == 200){
  473. if(type == 'add'){
  474. if(data.data.checkPlanId){
  475. this.$set(this,'isCustom',true);
  476. }
  477. this.$set(this,'addDisabledType',true);
  478. }
  479. this.$set(this,'form',data.data);
  480. this.$set(this.form,'subIds',data.data.subId);
  481. this.form.rectifyNotice=data.data.rectifyNotice==null?'1':data.data.rectifyNotice;
  482. this.informIndex=this.form.rectifyNotice==1?0:1;
  483. if(data.data.checkCategory==1){//综合检查
  484. this.form.checkResult=data.data.checkResult==null?'1':data.data.checkResult;
  485. if(data.data.checkHazardDtoList[0]){//隐患项
  486. this.form.checkHazardDtoList=data.data.checkHazardDtoList;
  487. //语音备注
  488. for(let i=0;i<this.form.checkHazardDtoList.length;i++){
  489. if(this.form.checkHazardDtoList[i].voiceRemark){
  490. this.form.checkHazardDtoList[i].voiceRemark=JSON.parse(this.form.checkHazardDtoList[i].voiceRemark)
  491. }else{
  492. this.form.checkHazardDtoList[i].voiceRemark=[];
  493. }
  494. }
  495. }
  496. }else if(data.data.checkCategory==2){//专项检查
  497. if(_this.form.checkHazardInfoVoList[0]){
  498. _this.form.checkHazardInfoVoList.forEach(function(item) {
  499. item.switch = true;
  500. // item.checkHazardDtoList.forEach(function(item2) {
  501. // item2.hazardCheckCode=item2.code
  502. // })
  503. })
  504. }
  505. if(_this.form.checkHazardInfoVoList[0]){//隐患项
  506. //语音备注
  507. for(let k=0;k<_this.form.checkHazardInfoVoList.length;k++){
  508. for(let i=0;i<_this.form.checkHazardInfoVoList[k].checkHazardDtoList.length;i++){
  509. if(_this.form.checkHazardInfoVoList[k].checkHazardDtoList[i].voiceRemark){
  510. _this.form.checkHazardInfoVoList[k].checkHazardDtoList[i].voiceRemark=JSON.parse(_this.form.checkHazardInfoVoList[k].checkHazardDtoList[i].voiceRemark)
  511. }else{
  512. _this.form.checkHazardInfoVoList[k].checkHazardDtoList[i].voiceRemark=[];
  513. }
  514. }
  515. }
  516. }
  517. }
  518. //根据实验室id查询实验室计划
  519. if(data.data.subId){
  520. this.form.cycleStartTime=data.data.cycleStartTime;
  521. this.form.cycleEndTime=data.data.cycleEndTime;
  522. }
  523. if(data.data.isAttachment==1){//0没有附件 1有附件
  524. this.findByPlanIdAttachment()
  525. }
  526. }
  527. },
  528. //查询学院列表
  529. async listDepartments(){
  530. let _this = this;
  531. const {data} = await listDepartments();
  532. if(data.code == 200){
  533. for(let i=0;i<data.data.length;i++){
  534. _this.collegeArray.push(data.data[i].deptName)
  535. }
  536. _this.collegeList=data.data;
  537. }
  538. },
  539. //根据实验室id查询该实验室有关计划
  540. async getCheckPlanBySubId(subId){
  541. let _this = this;
  542. const {data} = await getCheckPlanBySubId({'subId':subId});
  543. if(data.code == 200){
  544. if(data.data.length>0){
  545. let titleList = [];
  546. let list = [];
  547. for(let i=0;i<data.data.length;i++){
  548. if(data.data[i].isSelfData==1){
  549. titleList.push(data.data[i].title)
  550. list.push(data.data[i]);
  551. }
  552. }
  553. this.$set(this.form,'id','');
  554. this.$set(this.form,'title','');
  555. this.$set(this,'planArray',titleList);
  556. this.$set(this,'planList',list);
  557. _this.isCustom=true;
  558. _this.form.checkType=null;
  559. }else{
  560. _this.isCustom=false;
  561. _this.form.checkType=2;
  562. }
  563. }
  564. },
  565. //查询楼栋
  566. async buildFloorGetlist(){
  567. let _this = this;
  568. const {data} = await buildFloorGetlist({type:2});
  569. if(data.code == 200){
  570. let idList = [];
  571. let nameList = [];
  572. for(let i=0;i<data.rows.length;i++){
  573. idList.push(data.rows[i].id)
  574. nameList.push(data.rows[i].name)
  575. }
  576. this.$set(this,"buildingList",idList)
  577. this.$set(this,"buildingArray",nameList)
  578. }
  579. },
  580. //楼栋选中
  581. buildingChange(e){
  582. this.form.buildId=this.buildingList[e.target.value]
  583. this.form.buildName=this.buildingArray[e.target.value]
  584. this.buildBySubList(this.buildingList[e.target.value]);
  585. },
  586. //根据楼栋ID查询实验室列表
  587. async buildBySubList(buildId){
  588. let self = this;
  589. const {data} = await buildBySubList({buildId:buildId});
  590. if(data.code == 200){
  591. this.$set(this.form,'subIds','')
  592. this.$set(this.form,'subjectName','')
  593. this.$set(this,'room','')
  594. this.$set(this,'roomList',data.data);
  595. }
  596. },
  597. //学院选中
  598. collegeChange(e){
  599. this.collegeIndex = e.target.value;
  600. this.form.deptId=this.collegeList[e.target.value].deptId
  601. this.form.collegeName=this.collegeList[e.target.value].deptName
  602. this.buildFloorGetlist(this.form.deptId)
  603. },
  604. //检查组织
  605. categoryChange(e){
  606. this.categoryIndex = e.target.value;
  607. if(e.target.value==0){
  608. this.form.checkType=1
  609. }else if(e.target.value==1){
  610. this.form.checkType=2
  611. }
  612. },
  613. //检查类型
  614. specialChange(e){
  615. this.specialIndex = e.target.value;
  616. if(e.target.value==0){
  617. this.form.checkCategory=1
  618. }else if(e.target.value==1){
  619. this.form.checkCategory=2
  620. }
  621. },
  622. //计划
  623. planChange(e){
  624. this.planIndex = e.target.value;
  625. this.form.id=this.planList[e.target.value].id
  626. this.findCheckManage('check',this.planList[e.target.value].id);
  627. // this.form.title=this.planList[e.target.value].title
  628. // this.form.checkPlanId=this.planList[e.target.value].checkPlanId
  629. // this.form.subIds=this.planList[e.target.value].subId;
  630. // this.form.subjectName=this.planList[e.target.value].subjectName;
  631. // this.form.deptId=this.planList[e.target.value].deptId;
  632. // this.form.collegeName=this.planList[e.target.value].collegeName;
  633. // this.form.buildId=this.planList[e.target.value].buildId;
  634. // this.form.buildName=this.planList[e.target.value].buildName;
  635. // this.form.checkType=this.planList[e.target.value].checkType;
  636. // this.form.cycleStartTime=this.planList[e.target.value].cycleStartTime;
  637. // this.form.cycleEndTime=this.planList[e.target.value].cycleEndTime;
  638. },
  639. resultChange(e){
  640. this.resultIndex = e.target.value;
  641. if(e.target.value==0){
  642. this.form.checkResult=1;
  643. }else if(e.target.value==1){
  644. this.form.checkResult=0;
  645. }
  646. },
  647. //开始时间选中事件
  648. rectifyDeadline(form,e){
  649. form.rectifyDeadline=e.target.value
  650. },
  651. //整改通知
  652. tabClick(index) {
  653. this.informIndex = index;
  654. if(index==0){
  655. this.form.rectifyNotice='1';
  656. }else if(index==1){
  657. this.form.rectifyNotice='2';
  658. }
  659. },
  660. //搜索房间弹层开关
  661. popupClick(type){
  662. if(type == 1){
  663. if(this.addDisabledType){
  664. return
  665. }
  666. this.popupType = true;
  667. }else if(type == 2){
  668. this.popupType = false;
  669. }
  670. },
  671. //扫一扫进入通过id查询实验室列表
  672. async getByIdLaboratoryList(){
  673. let self = this;
  674. const {data} = await subjectFindSubjectInfo({subIds:this.form.subIds});
  675. if(data.code==200){
  676. if(data.data){
  677. self.form.subjectName=data.data.subjectName;
  678. self.form.deptId=data.data.deptId;
  679. self.form.collegeName=data.data.collegeName;
  680. self.form.buildId=data.data.buildId;
  681. self.form.buildName=data.data.buildName;
  682. self.form.roomNumber=data.data.roomNumber;
  683. }
  684. }
  685. },
  686. //搜索房间接口
  687. async buildBySub(){
  688. let self = this;
  689. if(!this.room){
  690. uni.showToast({
  691. title: '请输入要搜索关键词',
  692. icon:"none",
  693. mask:true,
  694. duration: 2000
  695. });
  696. return
  697. }
  698. const {data} = await buildBySub({'searchValue':this.room});
  699. if(data.code==200){
  700. if(data.data[0]){
  701. this.roomList = data.data;
  702. }else{
  703. uni.showToast({
  704. title: '未找到相关实验室',
  705. icon:"none",
  706. mask:true,
  707. duration: 2000
  708. });
  709. }
  710. }
  711. },
  712. //确认搜索房间
  713. popupClickItem(item){
  714. this.$set(this.form,"subIds",item.id)
  715. this.$set(this.form,"subjectName",item.name)
  716. this.$set(this.form,"deptId",item.deptId)
  717. this.$set(this.form,"buildId",item.buildId)
  718. this.$set(this.form,"roomNumber",item.room)
  719. this.$set(this.form,'title','');
  720. this.$set(this.form,'id','');
  721. this.$set(this.form,'checkType',2);
  722. this.$set(this.form,'checkResult',1);
  723. this.$set(this.form,'rectifyDeadline','');
  724. this.$set(this,'informIndex',0);
  725. this.$set(this.form,'cycleStartTime','');
  726. this.$set(this.form,'cycleEndTime','');
  727. this.$set(this.form,'checkHazardDtoList',[{
  728. voiceRemark:[],//语音备忘存储
  729. hazardLevel:2,//隐患等级
  730. hazardLevelName:'一般隐患',//隐患等级
  731. hazardCheckCode:'', //检查项目code序号
  732. hazardCheckName:'', //检查项目名称
  733. hazardCheckPro:'', //最后一级的id
  734. hazardCheckPoint:'',// 检查要点
  735. hazardDescribe:'', //隐患描述
  736. uploadDtoList:[],//隐患照片
  737. }]);
  738. //匹配学院名称
  739. for(let i=0;i<this.collegeList.length;i++){
  740. if(this.collegeList[i].deptId==item.deptId){
  741. this.$set(this.form,"collegeName",this.collegeList[i].deptName)
  742. }
  743. }
  744. //匹配楼栋名称
  745. for(let i=0;i<this.buildingList.length;i++){
  746. if(this.buildingList[i]==item.buildId){
  747. this.$set(this.form,"buildName",this.buildingArray[i])
  748. }
  749. }
  750. this.popupType = false;
  751. this.getCheckPlanBySubId(item.id)
  752. },
  753. //调用摄像头
  754. saoCode(){
  755. let self = this;
  756. uni.scanCode({
  757. onlyFromCamera: true,
  758. success: function (res) {
  759. if(res.result.indexOf("code") != -1 && res.result.indexOf("-") != -1 && res.result.indexOf("&") != -1){
  760. let codeRoom = "";
  761. let newList = res.result.split("?")[1].split("&")
  762. let list = newList[0].split("=")[1].split("-")
  763. codeRoom = list[1];
  764. if(codeRoom){
  765. self.roomList = [];
  766. self.room = codeRoom;
  767. self.buildBySub();
  768. self.popupType = true;
  769. }else{
  770. uni.showToast({
  771. title: '请扫描正确的二维码',
  772. icon:"none",
  773. mask:true,
  774. duration: 2000
  775. });
  776. }
  777. }else{
  778. uni.showToast({
  779. title: '请扫描正确的二维码',
  780. icon:"none",
  781. mask:true,
  782. duration: 2000
  783. });
  784. }
  785. }
  786. });
  787. },
  788. //附件查看
  789. attachmentPreview(item){
  790. uni.showLoading({
  791. title: '下载中'
  792. });
  793. wx.downloadFile({
  794. url: config.base_url+item.fileUrl,
  795. header: {
  796. Authorization: uni.getStorageSync('token')
  797. },
  798. success: function (res) {
  799. uni.hideLoading();
  800. const filePath = res.tempFilePath
  801. wx.openDocument({
  802. filePath: filePath,
  803. success: function (res) {
  804. console.log('打开文档成功')
  805. }
  806. })
  807. },
  808. fail: function (res){
  809. uni.hideLoading();
  810. uni.showToast({
  811. title: '下载失败',
  812. icon:"none",
  813. mask:true,
  814. duration: 2000
  815. });
  816. }
  817. })
  818. },
  819. //提交
  820. async submitForm(){
  821. let self = this;
  822. this.form.manageStatus=2;
  823. let obj=self.form;
  824. //复合的情况下,删除隐患项
  825. obj.checkHazardDtoList=[];
  826. if(self.form.id){
  827. const {data} = await checkManageUpdate(obj);
  828. if(data.code == 200){
  829. uni.showToast({
  830. title: '提交成功',
  831. icon:"none",
  832. mask:true,
  833. duration: 2000
  834. });
  835. uni.redirectTo({
  836. url: '/pages_safetyExamine/examineManage/examineList?pageType='+this.form.checkType
  837. });
  838. }
  839. }else{
  840. const {data} = await checkManageAdd(obj);
  841. if(data.code == 200){
  842. uni.showToast({
  843. title: '提交成功',
  844. icon:"none",
  845. mask:true,
  846. duration: 2000
  847. });
  848. uni.redirectTo({
  849. url: '/pages_safetyExamine/examineManage/examineList?pageType='+this.form.checkType
  850. });
  851. }
  852. }
  853. },
  854. }
  855. }
  856. </script>
  857. <style lang="stylus" scoped>
  858. .examine{
  859. height:100%;
  860. display flex;
  861. box-sizing: border-box;
  862. .info-max-box{
  863. flex: 1;
  864. overflow: scroll;
  865. padding: 20rpx 0rpx 128rpx;
  866. box-sizing: border-box;
  867. }
  868. .addDisabled{
  869. background-color: #f5f5f5;
  870. }
  871. .basics{
  872. margin: 0 30rpx;
  873. width: 690rpx;
  874. height:auto;
  875. background: #FFFFFF;
  876. border-radius: 20rpx;
  877. padding: 30rpx 28rpx 30rpx;
  878. box-sizing: border-box;
  879. .basics_li{
  880. display: flex;
  881. justify-content: flex-start;
  882. margin-bottom: 24rpx;
  883. .basics_li_l{
  884. width: 146rpx;
  885. text-align: left;
  886. font-size: 30rpx;
  887. font-family: PingFang SC-Medium, PingFang SC;
  888. font-weight: 400;
  889. color: #333333;
  890. line-height: 80rpx;
  891. }
  892. .basics_li_r{
  893. width: 486rpx;
  894. height: 80rpx;
  895. border-radius: 10rpx;
  896. opacity: 1;
  897. border: 1rpx solid #E0E0E0;
  898. padding-left: 20rpx;
  899. box-sizing: border-box;
  900. }
  901. /* 学院 */
  902. .college_r{
  903. width: 486rpx;
  904. height: 80rpx;
  905. border-radius: 10rpx;
  906. border: 1rpx solid #E0E0E0;
  907. display: flex;
  908. justify-content: flex-start;
  909. align-items: center;
  910. >view{
  911. flex:1;
  912. line-height:80rpx;
  913. font-size: 30rpx;
  914. font-family: PingFang SC-Medium, PingFang SC;
  915. font-weight: 400;
  916. color: #333333;
  917. line-height: 80rpx;
  918. white-space: nowrap;
  919. overflow: hidden;
  920. text-overflow: ellipsis;
  921. }
  922. >img{
  923. width: 14rpx;
  924. height: 8rpx;
  925. margin-right: 30rpx;
  926. }
  927. }
  928. /* 实验室 */
  929. .lab_r{
  930. width: 486rpx;
  931. height: 80rpx;
  932. display: flex;
  933. justify-content: flex-start;
  934. .picker-text{
  935. width: 438rpx;
  936. height: 80rpx;
  937. }
  938. .img-box{
  939. width: 48rpx;
  940. >img{
  941. width:30rpx;
  942. height:28rpx;
  943. margin:26rpx 18rpx 0 0;
  944. }
  945. }
  946. }
  947. /* 楼栋 */
  948. .building_r{
  949. width: 486rpx;
  950. height: 80rpx;
  951. >input{
  952. height: 80rpx;
  953. font-size: 30rpx;
  954. font-family: PingFang SC-Medium, PingFang SC;
  955. font-weight: 400;
  956. color: #333333;
  957. line-height: 80rpx;
  958. }
  959. }
  960. }
  961. .period{
  962. display: flex;
  963. justify-content: flex-start;
  964. align-items: center;
  965. margin-bottom: 24rpx;
  966. .period_l{
  967. width: 146rpx;
  968. font-size: 30rpx;
  969. font-family: PingFang SC-Medium, PingFang SC;
  970. font-weight: 400;
  971. color: #333333;
  972. line-height: 42rpx;
  973. text-align: left;
  974. }
  975. .period_r{
  976. width: 490rpx;
  977. height: 80rpx;
  978. border-radius: 10rpx;
  979. border: 1rpx solid #E0E0E0;
  980. display: flex;
  981. justify-content: flex-start;
  982. align-items: center;
  983. .picker-text{
  984. font-size: 30rpx;
  985. font-family: PingFang SC-Medium, PingFang SC;
  986. font-weight: 400;
  987. color: #333;
  988. line-height: 80rpx;
  989. width: 230rpx;
  990. text-align: center;
  991. }
  992. .picker-text2{
  993. font-size: 30rpx;
  994. font-family: PingFang SC-Medium, PingFang SC;
  995. font-weight: 400;
  996. color: #333;
  997. line-height: 80rpx;
  998. width: 230rpx;
  999. text-align: center;
  1000. }
  1001. }
  1002. }
  1003. .custom{
  1004. width: 150rpx;
  1005. height: 60rpx;
  1006. border-radius: 10rpx 10rpx 10rpx 10rpx;
  1007. opacity: 1;
  1008. border: 1rpx solid #0183FA;
  1009. font-size: 26rpx;
  1010. font-family: PingFang SC-Medium, PingFang SC;
  1011. font-weight: 400;
  1012. color: #0183FA;
  1013. line-height: 60rpx;
  1014. text-align: center;
  1015. float: right;
  1016. }
  1017. }
  1018. .attachment{
  1019. width: 690rpx;
  1020. background: #FFFFFF;
  1021. border-radius: 20rpx;
  1022. margin: 20rpx 30rpx 0;
  1023. padding-bottom: 32rpx;
  1024. box-sizing: border-box;
  1025. .attachment_t{
  1026. border-bottom: 1rpx solid #D8D8D8;
  1027. >text:nth-of-type(1){
  1028. font-size: 30rpx;
  1029. font-family: PingFang SC-Medium, PingFang SC;
  1030. font-weight: 400;
  1031. color: #333333;
  1032. line-height: 110rpx;
  1033. margin-left: 28rpx;
  1034. }
  1035. >text:nth-of-type(2){
  1036. font-size: 30rpx;
  1037. font-family: PingFang SC-Medium, PingFang SC;
  1038. font-weight: 400;
  1039. color: #999999;
  1040. line-height: 110rpx;
  1041. margin-left: 24rpx;
  1042. }
  1043. }
  1044. .attachment_li{
  1045. height: 40rpx;
  1046. display: flex;
  1047. justify-content: flex-start;
  1048. align-items: center;
  1049. margin-top: 32rpx;
  1050. >img{
  1051. width: 30rpx;
  1052. height: 26rpx;
  1053. margin-right: 20rpx;
  1054. margin-left: 50rpx;
  1055. }
  1056. >text{
  1057. flex: 1;
  1058. font-size: 28rpx;
  1059. font-family: PingFang SC-Medium, PingFang SC;
  1060. font-weight: 400;
  1061. color: #0183FA;
  1062. line-height: 40rpx;
  1063. white-space: nowrap;
  1064. overflow: hidden;
  1065. text-overflow: ellipsis;
  1066. }
  1067. .attachment_li_del{
  1068. width: 30rpx;
  1069. height: 30rpx;
  1070. }
  1071. }
  1072. }
  1073. .inspect{
  1074. margin: 20rpx 30rpx 0;
  1075. width: 690rpx;
  1076. height: auto;
  1077. background: #FFFFFF;
  1078. border-radius: 20rpx;
  1079. padding: 40rpx 28rpx 20rpx;
  1080. box-sizing: border-box;
  1081. .inspect_li{
  1082. display: flex;
  1083. justify-content: flex-start;
  1084. margin-bottom: 24rpx;
  1085. .inspect_li_l{
  1086. width: 146rpx;
  1087. text-align: left;
  1088. font-size: 30rpx;
  1089. font-family: PingFang SC-Medium, PingFang SC;
  1090. font-weight: 400;
  1091. color: #333333;
  1092. line-height: 80rpx;
  1093. }
  1094. .inspect_li_r{
  1095. width: 486rpx;
  1096. height: 80rpx;
  1097. border-radius: 10rpx;
  1098. opacity: 1;
  1099. border: 1rpx solid #E0E0E0;
  1100. padding-left: 20rpx;
  1101. box-sizing: border-box;
  1102. }
  1103. .college_r{
  1104. width: 486rpx;
  1105. height: 80rpx;
  1106. border-radius: 10rpx;
  1107. border: 1rpx solid #E0E0E0;
  1108. display: flex;
  1109. justify-content: flex-start;
  1110. align-items: center;
  1111. >view{
  1112. flex:1;
  1113. line-height:80rpx;
  1114. font-size: 30rpx;
  1115. font-family: PingFang SC-Medium, PingFang SC;
  1116. font-weight: 400;
  1117. color: #333333;
  1118. line-height: 80rpx;
  1119. }
  1120. >img{
  1121. width: 14rpx;
  1122. height: 8rpx;
  1123. margin-right: 30rpx;
  1124. }
  1125. }
  1126. /* 整改日期 */
  1127. .date_r{
  1128. width: 486rpx;
  1129. height: 80rpx;
  1130. display: flex;
  1131. justify-content: flex-start;
  1132. .picker-text{
  1133. width: 438rpx;
  1134. height: 80rpx;
  1135. }
  1136. >img{
  1137. width:30rpx;
  1138. height:28rpx;
  1139. margin:16rpx 18rpx 0 0;
  1140. }
  1141. }
  1142. /* 整改通知 */
  1143. .inform_r{
  1144. width: 486rpx;
  1145. height: 80rpx;
  1146. padding-left: 20rpx;
  1147. box-sizing: border-box;
  1148. display: flex;
  1149. justify-content: flex-start;
  1150. align-items: center;
  1151. >view{
  1152. display: flex;
  1153. justify-content: flex-start;
  1154. align-items: center;
  1155. margin-right: 24rpx;
  1156. .inform_r_l{
  1157. display: inline-block;
  1158. width: 30rpx;
  1159. height: 30rpx;
  1160. border-radius: 50%;
  1161. border: 1rpx solid #E0E0E0;
  1162. margin-right: 14rpx;
  1163. }
  1164. .inform_r_r{
  1165. font-size: 30rpx;
  1166. font-family: PingFang SC-Medium, PingFang SC;
  1167. font-weight: 400;
  1168. color: #333333;
  1169. line-height: 80rpx;
  1170. }
  1171. .checked{
  1172. display: inline-block;
  1173. width: 30rpx;
  1174. height: 30rpx;
  1175. border-radius: 50%;
  1176. border: 1rpx solid #0183FA;
  1177. margin-right: 14rpx;
  1178. position: relative;
  1179. }
  1180. .checked::after{
  1181. content: '';
  1182. position: absolute;
  1183. top: 5rpx;
  1184. left:5rpx;
  1185. width: 20rpx;
  1186. height: 20rpx;
  1187. border-radius: 50%;
  1188. background: #0183FA;
  1189. }
  1190. }
  1191. }
  1192. }
  1193. }
  1194. .popup-max-box{
  1195. z-index:10;
  1196. height:100%;
  1197. width:100%;
  1198. position fixed;
  1199. background rgba(0,0,0,0.2)
  1200. display flex;
  1201. flex-direction column
  1202. .popup-null{
  1203. flex:1;
  1204. }
  1205. .popup-big-box{
  1206. border-top-left-radius:20rpx;
  1207. border-top-right-radius:20rpx;
  1208. background #fff
  1209. .popup-input-box{
  1210. padding:30rpx 20rpx;
  1211. display:flex;
  1212. input{
  1213. flex:1;
  1214. height:70rpx;
  1215. border:1rpx solid #e0e0e0;
  1216. border-radius:10rpx;
  1217. margin-right:20rpx;
  1218. padding:0 20rpx;
  1219. }
  1220. view{
  1221. background #0183FA
  1222. color:#fff;
  1223. border-radius:10rpx;
  1224. width:140rpx;
  1225. line-height:70rpx;
  1226. text-align center;
  1227. font-size:28rpx;
  1228. }
  1229. }
  1230. .popup-for-max-box{
  1231. margin:0 20rpx 30rpx;
  1232. height:600rpx;
  1233. overflow-y scroll;
  1234. .popup-for-null{
  1235. line-height:100rpx;
  1236. text-align center
  1237. color:#999;
  1238. }
  1239. .popup-for-box{
  1240. display:flex;
  1241. padding:10px 0;
  1242. .name-p{
  1243. flex:1;
  1244. line-height:60rpx;
  1245. }
  1246. .button-p{
  1247. background #0183FA
  1248. color:#fff;
  1249. text-align center
  1250. width:100rpx;
  1251. line-height:60rpx;
  1252. height:60rpx;
  1253. border-radius:10rpx;
  1254. }
  1255. }
  1256. }
  1257. }
  1258. }
  1259. /* 计划标题 */
  1260. .inspect_name{
  1261. .popup-content{
  1262. width: 750rpx;
  1263. height: 350rpx;
  1264. background: #FFFFFF;
  1265. border-radius: 10rpx 10rpx 0px 0px;
  1266. padding :0 50rpx;
  1267. box-sizing :border-box;
  1268. overflow :hidden;
  1269. .inspect_name_t{
  1270. margin-top:66rpx;
  1271. padding: 0 30rpx;
  1272. box-sizing: border-box;
  1273. >input{
  1274. width:100%;
  1275. height:80rpx;
  1276. border: 2rpx solid #E0E0E0;
  1277. color:#A2A2A2;
  1278. font-size:28rpx;
  1279. line-height 80rpx
  1280. border-radius:10rpx;
  1281. padding: 0 20rpx;
  1282. box-sizing: border-box;
  1283. }
  1284. }
  1285. .inspect_name_b{
  1286. margin-top :64rpx;
  1287. display: flex;
  1288. justify-content: center;
  1289. >text:nth-of-type(1){
  1290. width: 160rpx;
  1291. height: 60rpx;
  1292. border-radius: 40rpx;
  1293. font-size: 30rpx;
  1294. font-family: PingFang SC;
  1295. font-weight: 500;
  1296. color: #333333;
  1297. line-height: 60rpx;
  1298. text-align :center;
  1299. margin-right: 120rpx;
  1300. border: 2rpx solid #e0e0e0;
  1301. }
  1302. >text:nth-of-type(2){
  1303. width: 160rpx;
  1304. height: 60rpx;
  1305. background: linear-gradient(-35deg, #309CFF, #0183FA);
  1306. border-radius: 40rpx;
  1307. font-size: 30rpx;
  1308. font-family: PingFang SC;
  1309. font-weight: 500;
  1310. color: #FFFFFF;
  1311. line-height: 60rpx;
  1312. text-align :center;
  1313. }
  1314. }
  1315. }
  1316. }
  1317. .bottom_btn{
  1318. position: fixed;
  1319. bottom: 26rpx;
  1320. left: 30rpx;
  1321. font-size: 30rpx;
  1322. font-family: PingFang SC-Medium, PingFang SC;
  1323. font-weight: 400;
  1324. color: #FFFFFF;
  1325. line-height: 90rpx;
  1326. width: 690rpx;
  1327. height: 90rpx;
  1328. background: #0183FA;
  1329. border-radius: 20rpx;
  1330. text-align: center;
  1331. }
  1332. }
  1333. </style>