projectApplicationApplyMakerSpace.vue 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719
  1. <template>
  2. <!-- 项目立项申请立项检查消息表达 -->
  3. <div class="projectApplicationApply">
  4. <!-- 左边导航区开始 -->
  5. <div class="left">
  6. <div class="sx">
  7. <div class="qiu"></div>
  8. </div>
  9. <div class="leftTits">
  10. <div @click="toPage(1)">基本信息填写</div>
  11. <div @click="toPage(2)">项目成员</div>
  12. <div @click="toPage(3)">简介</div>
  13. <div @click="toPage(4)">下一步</div>
  14. </div>
  15. </div>
  16. <!-- 左边导航区结束 -->
  17. <!-- 右边填写信息区域开始 -->
  18. <div id="one" class="right">
  19. <div class="vfpHeader">
  20. <div class="titleOne">项目立项申请</div>
  21. <div class="smallTitle">申请开放时间为2023年4月4日9:00 &nbsp; 截止时间为2023年12月31日18:00</div>
  22. <el-button @click="backBtn1" type="primary" size="mini">返回</el-button>
  23. </div>
  24. <hr>
  25. <!-- 活动申请填写信息区域开始 -->
  26. <div class="select">
  27. <div class="selectTop">
  28. <div class="label">项目名称</div>
  29. <el-input v-model="data.select.projectName" placeholder="请输入内容"></el-input>
  30. </div>
  31. <div class="selectMid">
  32. <div class="selectLeft">
  33. <div class="inpBlock">
  34. <div class="label">项目负责人</div>
  35. <el-input v-model="data.select.person" placeholder="请输入内容"></el-input>
  36. </div>
  37. <div class="inpBlock">
  38. <div class="label">所在部门</div>
  39. <el-select v-model="data.select.value" style="width: 100%;" placeholder="请选择">
  40. <el-option
  41. v-for="item in data.options"
  42. :key="item.id"
  43. :label="item.name"
  44. :value="item.id">
  45. </el-option>
  46. </el-select>
  47. </div>
  48. <div class="inpBlock">
  49. <div class="label">学院牵头领导</div>
  50. <el-input v-model="data.select.leader" placeholder="请输入学院牵头领导"></el-input>
  51. </div>
  52. </div>
  53. <div class="selectRight">
  54. <div class="inpBlock">
  55. <div class="label">项目时间</div>
  56. <el-date-picker
  57. v-model="data.select.Data"
  58. type="daterange"
  59. value-format="yyyy-MM-dd HH:mm:ss"
  60. range-separator="至"
  61. start-placeholder="项目起始时间"
  62. end-placeholder="项目完成时间">
  63. </el-date-picker>
  64. </div>
  65. <div class="inpBlock" style="position: relative;">
  66. <div class="label">预算总经费</div>
  67. <el-input type="number" v-model.number="data.select.fund" placeholder="请输入内容"></el-input>
  68. <div style="position: absolute;right: -30px;top: 10px;">(万)</div>
  69. </div>
  70. </div>
  71. </div>
  72. </div>
  73. <!-- 活动申请填写信息区域结束 -->
  74. <!-- 项目封面上传开始 -->
  75. <div style="height: 260px;">
  76. <div id="three" class="tabTit">
  77. <div><p>封面上传</p></div>
  78. </div>
  79. <hr>
  80. <div style="margin-bottom: 10px;">项目封面</div>
  81. <el-progress v-show="progress.show" :percentage="progress.value" :format="ProgressFormat"></el-progress>
  82. <el-upload
  83. class="avatar-uploader"
  84. action="#"
  85. disabled
  86. style="position: relative;"
  87. :show-file-list="false"
  88. >
  89. <img v-if="data.dialogImageUrl" :src="data.dialogImageUrl" class="avatar">
  90. <i v-else class="el-icon-plus avatar-uploader-icon"></i>
  91. <BeUpload :progress="progress" style="position: absolute;width: 301px;height: 180px; opacity: 0;z-index: 333;left: 0;top: 0;" @getFile="getFile" class="uploadPic" :navName="'上传封面'" :accept="accept"></BeUpload>
  92. </el-upload>
  93. </div>
  94. <!-- 项目封面上传开始结束 -->
  95. <!-- <div> -->
  96. <!-- 项目成员表格开始 -->
  97. <div id="two" class="tabTit">
  98. <div><p>项目组-教师团队</p><span>(团队3人以上,至少应包含1名教研室主任)</span></div>
  99. <el-button type="primary" @click="addMember" size="mini">添加成员</el-button>
  100. </div>
  101. <hr>
  102. <el-table
  103. :data="data.teacherData"
  104. tooltip-effect="dark"
  105. stripe
  106. :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
  107. class="fontSize"
  108. >
  109. <el-table-column
  110. prop="name"
  111. label="姓名"
  112. align="center"
  113. >
  114. </el-table-column>
  115. <el-table-column
  116. prop="speciality"
  117. label="专业"
  118. align="center"
  119. >
  120. </el-table-column>
  121. <el-table-column
  122. prop="title"
  123. label="职称"
  124. align="center"
  125. >
  126. </el-table-column>
  127. <el-table-column
  128. prop="education"
  129. label="学历"
  130. align="center"
  131. >
  132. </el-table-column>
  133. <el-table-column
  134. prop="section"
  135. label="所在教研室"
  136. align="center"
  137. >
  138. </el-table-column>
  139. <el-table-column
  140. prop="work"
  141. label="项目组角色分工"
  142. align="center"
  143. >
  144. </el-table-column>
  145. <el-table-column
  146. align="center"
  147. prop="operation"
  148. label="操作"
  149. >
  150. <template #default="scope">
  151. <div class="operations">
  152. <!-- <el-button type="primary" > -->
  153. <el-button type="primary" @click="amendDialogData(scope.$index)" size="mini">修改</el-button>
  154. <el-button type="primary" @click="Del(scope.$index)" size="mini">删除</el-button>
  155. <!-- </el-button> -->
  156. </div>
  157. </template>
  158. </el-table-column>
  159. </el-table>
  160. <div id="four" class="tabTit">
  161. <div><p>项目组-学生团队</p><span>(团队5人以上,学生团队年级结构安排合理)</span></div>
  162. <el-button type="primary" @click="addMemberStudent" size="mini">添加学生</el-button>
  163. </div>
  164. <hr>
  165. <el-table
  166. :data="data.studentData"
  167. tooltip-effect="dark"
  168. stripe
  169. :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
  170. class="fontSize"
  171. >
  172. <el-table-column
  173. prop="name"
  174. label="姓名"
  175. align="center"
  176. >
  177. </el-table-column>
  178. <el-table-column
  179. prop="class"
  180. label="班级"
  181. align="center"
  182. >
  183. </el-table-column>
  184. <el-table-column
  185. prop="age"
  186. label="年龄"
  187. align="center"
  188. >
  189. </el-table-column>
  190. <el-table-column
  191. prop="work"
  192. label="项目组任务分工"
  193. align="center"
  194. >
  195. </el-table-column>
  196. <el-table-column
  197. align="center"
  198. prop="operation"
  199. label="操作"
  200. >
  201. <template #default="scope">
  202. <div class="operations">
  203. <!-- <el-button type="primary" > -->
  204. <el-button type="primary" @click="updateStudent(scope.$index)" size="mini">修改</el-button>
  205. <el-button type="primary" @click="DelStudent(scope.$index)" size="mini">删除</el-button>
  206. <!-- </el-button> -->
  207. </div>
  208. </template>
  209. </el-table-column>
  210. </el-table>
  211. <!-- 项目成员表格结束 -->
  212. <!-- 项目简介开始 -->
  213. <div id="three" class="tabTit">
  214. <div><p>项目简介</p></div>
  215. </div>
  216. <hr>
  217. <el-input
  218. type="textarea"
  219. :rows="6"
  220. resize="none"
  221. class="textArea"
  222. placeholder="项目简介(200-300字)"
  223. v-model="data.textarea">
  224. </el-input>
  225. <!-- 项目简介结束 -->
  226. <!-- 结束按钮开始 -->
  227. <div id="five" class="baseBtn">
  228. <div class="blockWidth">
  229. <el-button type="primary" @click="backBtn1" size:small>上一步</el-button>
  230. <el-button type="primary" @click="backBtn" size:small>下一步</el-button>
  231. </div>
  232. </div>
  233. <!-- 结束按钮结束 -->
  234. </div>
  235. <!-- 右边填写信息区域结束 -->
  236. <!--添加成员dialog对话框开始 -->
  237. <el-dialog
  238. :title= "isAddMember==1?'添加教师':'修改教师'"
  239. :visible.sync="addMemberDialog"
  240. :modal="true"
  241. :close-on-click-modal="true"
  242. class="AddMember"
  243. :before-close="init">
  244. <div class="littleBlock">
  245. <div class="dialogLabel">姓名</div>
  246. <div>
  247. <el-input v-model="teacher.name" placeholder="请输入教师姓名"></el-input>
  248. </div>
  249. </div>
  250. <div class="littleBlock">
  251. <div class="dialogLabel">专业</div>
  252. <div>
  253. <el-input v-model="teacher.speciality" placeholder="请输入教师专业"></el-input>
  254. </div>
  255. </div>
  256. <div class="littleBlock">
  257. <div class="dialogLabel">职称</div>
  258. <div>
  259. <el-input v-model="teacher.title" placeholder="请输入教师职称"></el-input>
  260. </div>
  261. </div>
  262. <div class="littleBlock">
  263. <div class="dialogLabel">学历</div>
  264. <div>
  265. <el-input v-model="teacher.education" placeholder="请输入教师学历"></el-input>
  266. </div>
  267. </div>
  268. <div class="littleBlock">
  269. <div class="dialogLabel" style="transform: translate(0,0);">所在教研室</div>
  270. <div>
  271. <el-input v-model="teacher.section" placeholder="请输入所在教研室"></el-input>
  272. </div>
  273. </div>
  274. <div class="littleBlock">
  275. <div class="dialogLabel" style="transform: translate(0,0);">项目组角色分工</div>
  276. <div>
  277. <el-input v-model="teacher.work" placeholder="请输入项目组角色分工"></el-input>
  278. </div>
  279. </div>
  280. <div slot="footer" class="footer">
  281. <el-button v-show="isAddMember==1" type="primary" @click="commit" class="AllDialogBtn" >确认提交</el-button>
  282. <el-button v-show="isAddMember==2" type="primary" @click="commit2" class="AllDialogBtn" >确认修改</el-button>
  283. <el-button @click="init" class="AllDialogBtn">取消</el-button>
  284. </div>
  285. </el-dialog>
  286. <!--添加成员dialog对话框结束 -->
  287. <!--添加学生成员dialog对话框开始 -->
  288. <el-dialog
  289. :title= "isAddStudent==1?'添加学生':'修改学生'"
  290. :visible.sync="addStudentDialog"
  291. :modal="true"
  292. :close-on-click-modal="true"
  293. class="AddMember"
  294. :before-close="init">
  295. <div class="littleBlock">
  296. <div class="dialogLabel">姓名</div>
  297. <div>
  298. <el-input v-model="student.name" placeholder="请输入学生姓名"></el-input>
  299. </div>
  300. </div>
  301. <div class="littleBlock">
  302. <div class="dialogLabel">班级</div>
  303. <div>
  304. <el-input v-model="student.class" placeholder="请输入学生班级"></el-input>
  305. </div>
  306. </div>
  307. <div class="littleBlock">
  308. <div class="dialogLabel">年龄</div>
  309. <div>
  310. <el-input v-model="student.age" placeholder="请输入学生年龄"></el-input>
  311. </div>
  312. </div>
  313. <div class="littleBlock">
  314. <div class="dialogLabel" style="transform: translate(0,0);">项目组角色分工</div>
  315. <div>
  316. <el-input v-model="student.work" placeholder="请输入项目组角色分工"></el-input>
  317. </div>
  318. </div>
  319. <div slot="footer" class="footer">
  320. <el-button v-show="isAddStudent==1" type="primary" @click="commitStudent" class="AllDialogBtn" >确认提交</el-button>
  321. <el-button v-show="isAddStudent==2" type="primary" @click="commitStudent2" class="AllDialogBtn" >确认修改</el-button>
  322. <el-button @click="init" class="AllDialogBtn">取消</el-button>
  323. </div>
  324. </el-dialog>
  325. <!--添加学生成员dialog对话框结束 -->
  326. <!-- 删除教师成员对话框开始 -->
  327. <el-dialog
  328. title="删除教师成员"
  329. :visible.sync="delMember"
  330. width="600px"
  331. class="delMemberDialog">
  332. <span class="deleteContent">确定删除该教师成员?</span>
  333. <span slot="footer" class="dialog-footer">
  334. <el-button type="primary" @click="commitDelMember" class="AllDialogBtn">确认删除</el-button>
  335. <el-button @click="init" class="AllDialogBtn" >取消</el-button>
  336. </span>
  337. </el-dialog>
  338. <!-- 删除教师成员对话框结束 -->
  339. <!-- 删除学生成员对话框开始 -->
  340. <el-dialog
  341. title="删除学生成员"
  342. :visible.sync="DelStudentDialog"
  343. width="600px"
  344. class="delMemberDialog">
  345. <span class="deleteContent">确定删除该学生成员?</span>
  346. <span slot="footer" class="dialog-footer">
  347. <el-button type="primary" @click="commitDelStudent" class="AllDialogBtn">确认删除</el-button>
  348. <el-button @click="init" class="AllDialogBtn" >取消</el-button>
  349. </span>
  350. </el-dialog>
  351. <!-- 删除学生成员对话框结束 -->
  352. </div>
  353. </template>
  354. <script>
  355. import BeUpload from "../../components/tool/beUpload.vue";
  356. export default {
  357. props:["data","next",'back','addPerson'],
  358. components: {
  359. BeUpload,
  360. },
  361. data() {
  362. return {
  363. // dialogImageUrl: '',
  364. accept:"image/*",
  365. isAddMember:1,
  366. isAddStudent:1,
  367. progress:{ //进度条
  368. value:0,
  369. show:false
  370. },
  371. // fileList: [],
  372. dialogVisible: false,
  373. addMemberDialog:false,
  374. addStudentDialog:false,
  375. delMember:false,
  376. DelStudentDialog:false,
  377. index:'',
  378. teacher:{ //添加老师团队表
  379. name:"", //姓名
  380. speciality:"",//专业
  381. title:"",//职称
  382. education:"",//学历
  383. section:"",//所在教研室
  384. work:"",//项目组角色分工
  385. },
  386. student:{ //添加学生团队表
  387. name:"",//姓名
  388. class:"",//班级
  389. age:"",//年龄
  390. work:'',//项目组任务分工
  391. }
  392. }
  393. },
  394. methods:{
  395. getFile(val) { //上传封面
  396. // console.log(val);
  397. this.progress.show = false;
  398. this.data.dialogImageUrl=val.url
  399. this.$message.success('封面上传成功')
  400. },
  401. ProgressFormat(value){ //进度条
  402. return value ==100?'100%':`${value}%`
  403. },
  404. // submitUpload() {
  405. // this.$refs.upload.submit();
  406. // },
  407. handleRemove(file, fileList) {
  408. console.log(file, fileList);
  409. },
  410. handlePictureCardPreview(file) {
  411. this.dialogImageUrl = file.url;
  412. this.dialogVisible = true;
  413. },
  414. // getText(value) { //电话验证
  415. // let verify = /^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[189]))\d{8}$/; //获取正则表达式 存放到verify变量中
  416. // let result = verify.test(value.trim()); //判断输入框内容是否符合 正则表达式
  417. // // if(!result && value != "") {
  418. // // debugger
  419. // if(!result) {
  420. // if (value == this.data.select.tel) {
  421. // this.$message.error('请输入正确联系号码格式')
  422. // return this.data.telVerify=false;
  423. // }
  424. // if (value == this.data.Member.phone) {
  425. // return this.data.telVerify2=false;
  426. // }
  427. // }else{
  428. // if (value == this.data.select.tel) {
  429. // this.data.telVerify=true;
  430. // }
  431. // if (value == this.data.Member.phone) {
  432. // return this.data.telVerify2=true;
  433. // }
  434. // }
  435. // },
  436. init(){
  437. this.addMemberDialog=false;
  438. this.delMember=false;
  439. this.addStudentDialog = false;
  440. this.DelStudentDialog = false;
  441. },
  442. addMember(){ //添加项目组-教师成员
  443. this.isAddMember=1;
  444. this.addMemberDialog=true
  445. },
  446. addMemberStudent(){//添加项目组-学生成员
  447. this.isAddStudent=1;
  448. this.addStudentDialog = true;
  449. },
  450. amendDialogData(val){ //修改老师信息对话框显示
  451. Object.assign(this.teacher,this.data.teacherData[val])
  452. this.isAddMember=2;
  453. this.index=val;
  454. this.addMemberDialog=true;
  455. },
  456. updateStudent(val){ //修改学生信息
  457. Object.assign(this.student,this.data.studentData[val]);
  458. this.isAddStudent=2;
  459. this.index=val;
  460. this.addStudentDialog = true;
  461. },
  462. commit2(){ //确定修改老师
  463. Object.assign(this.data.teacherData[this.index],this.teacher)
  464. for(let k in this.teacher) this.teacher[k]=''
  465. this.addMemberDialog=false;
  466. this.$message.success('修改成功')
  467. },
  468. Del(val){ //删除对话框显示
  469. this.delMember=true;
  470. this.index=val
  471. },
  472. DelStudent(val){//删除学生对话框
  473. this.index = val;
  474. this.DelStudentDialog=true;
  475. },
  476. commitDelMember(){ //对话框确定删除教师成员
  477. let a=this.index;
  478. this.data.teacherData.splice(a,1);
  479. this.$message.success('删除成功');
  480. this.delMember=false;
  481. },
  482. commitDelStudent(){ //对话框确定删除学生成员
  483. this.data.studentData.splice(this.index,1);
  484. this.$message.success('删除成功');
  485. this.DelStudentDialog=false;
  486. },
  487. backBtn1(){ // 上一步
  488. this.$router.push('/projectApplication')
  489. },
  490. backBtn(){ // 下一步
  491. this.next();
  492. },
  493. commit(){ //确定添加教师
  494. for(let i in this.teacher){if(this.teacher[i]==''||this.teacher[i]==undefined)return this.$message.error("请填完所有内容");}
  495. let newData = {};
  496. for(let a in this.teacher)newData[a] = this.teacher[a];
  497. this.data.teacherData.push(newData);
  498. this.$message.success('添加成功');
  499. this.init();
  500. for(let j in this.teacher)this.teacher[j]='';
  501. },
  502. commitStudent(){//确定添加学生
  503. for(let i in this.student){if(this.student[i]==''||this.student[i]==undefined)return this.$message.error("请填完所有内容");}
  504. let newData={};
  505. for(let a in this.student)newData[a] = this.student[a];
  506. this.data.studentData.push(newData);
  507. this.$message.success("添加成功");
  508. this.init();
  509. //清空表单
  510. for(let j in this.student)this.student[j]='';
  511. },
  512. commitStudent2(){//确定修改学生
  513. Object.assign(this.data.studentData[this.index],this.student)
  514. this.addStudentDialog=false;
  515. for(let k in this.student) this.student[k]=''
  516. this.$message.success('修改成功')
  517. },
  518. toPage(val){
  519. if (val==1) {
  520. document.getElementById("one").scrollIntoView({ behavior: "smooth" });
  521. }else if(val==2){
  522. document.getElementById("two").scrollIntoView({ behavior: "smooth" });
  523. }else if(val==3){
  524. document.getElementById("three").scrollIntoView({ behavior: "smooth" });
  525. }else if(val==4){
  526. document.getElementById("four").scrollIntoView({ behavior: "smooth" });
  527. }
  528. }
  529. },
  530. }
  531. </script>
  532. <style lang="less">
  533. .avatar-uploader .el-upload {
  534. border: 1px dashed #d9d9d9;
  535. border-radius: 6px;
  536. cursor: pointer;
  537. z-index: -10;
  538. // position: relative;
  539. overflow: hidden;
  540. }
  541. .avatar-uploader .el-upload:hover {
  542. border-color: #409EFF;
  543. }
  544. .avatar-uploader-icon {
  545. font-size: 28px;
  546. color: #8c939d;
  547. width: 300px;
  548. // height: 50%;
  549. line-height: 178px;
  550. text-align: center;
  551. }
  552. .avatar {
  553. width: 300px;
  554. height:180px !important;
  555. display: block;
  556. }
  557. .projectApplicationApply{
  558. margin-top: 30px;
  559. width: 100%;
  560. display: flex;
  561. justify-content: center;
  562. .uploadPic{
  563. position: absolute;
  564. top: -8px;right: 0;
  565. width: 100px;
  566. box-sizing: border-box;
  567. padding: 9px 0;
  568. font-size: 16px;
  569. background-color: #0e72e6;
  570. border-radius:5px
  571. }
  572. // 右边栏标题
  573. .projectApplicationApplypAHeader{
  574. width: 100%;
  575. display: flex;
  576. justify-content:flex-start;
  577. position: relative;
  578. margin-bottom: 15px;
  579. .pAHeader1{
  580. font-weight: 600;
  581. font-size: 22px;
  582. flex-shrink: 0;
  583. }
  584. .pAHeader2{
  585. position: absolute;
  586. top:8px;
  587. left: 160px;
  588. font-size: 16px;
  589. background: repeating-linear-gradient();
  590. }
  591. .pAHeader3{
  592. background: #0e72e6 !important;
  593. color: #fff !important;
  594. display: flex;
  595. position: absolute;
  596. right: 0;
  597. justify-content: center;
  598. font-size: 16px;
  599. width: 100px;
  600. height: 30px;
  601. align-items: center;
  602. }
  603. }
  604. .delMemberDialog{
  605. font-size: 18px;
  606. .el-dialog{
  607. border-radius: 5px;
  608. overflow: hidden;
  609. }
  610. .deleteContent{
  611. margin: 30px 0;
  612. font-size: 22px;
  613. color: #000;
  614. }
  615. .el-dialog__header{
  616. background: #32455b;
  617. display: flex;
  618. justify-content: center;
  619. }
  620. .el-dialog__title{
  621. color:#fff;
  622. display: flex;
  623. justify-content: center;
  624. font-size: 18px;
  625. position: relative;
  626. top: -2px;
  627. }
  628. .el-dialog__body{
  629. display: flex;
  630. justify-content: center;
  631. }
  632. // .addDialogMid{
  633. // box-sizing: border-box;
  634. // padding:0 60px 0 10px;
  635. // .addDialogTit{
  636. // display: flex;
  637. // span{
  638. // width: 80px;
  639. // font-size: 16px;
  640. // line-height: 40px;
  641. // text-align: left;
  642. // }
  643. // }
  644. // }
  645. .dialog-footer{
  646. display: flex;
  647. justify-content: center;
  648. box-sizing: border-box;
  649. }
  650. }
  651. }
  652. #four{
  653. margin-top: 60px;
  654. }
  655. </style>