projectApplicationApply.vue 30 KB

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