projectApplicationApply.vue 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326
  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年××月××日9:00 &nbsp; 截止时间为2023年××月××日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.fund" placeholder="请输入内容"></el-input>
  36. </div>
  37. <div class="inpBlock">
  38. <div class="label">负责人</div>
  39. <el-input v-model="data.select.person" placeholder="请输入内容"></el-input>
  40. </div>
  41. <div class="inpBlock">
  42. <div class="label">所在部门</div>
  43. <el-select v-model="data.select.value" style="width: 100%;" placeholder="请选择">
  44. <el-option
  45. v-for="item in data.options"
  46. :key="item.value"
  47. :label="item.label"
  48. :value="item.value">
  49. </el-option>
  50. </el-select>
  51. </div>
  52. <div class="inpBlock">
  53. <div class="label">联系电话</div>
  54. <el-input v-model="data.select.tel" placeholder="请输入内容"></el-input>
  55. </div>
  56. </div>
  57. <div class="selectRight">
  58. <div class="inpBlock">
  59. <div class="label">项目开始时间</div>
  60. <el-date-picker
  61. v-model="data.select.value1"
  62. type="date"
  63. style="width: 100%;"
  64. placeholder="选择日期">
  65. </el-date-picker>
  66. </div>
  67. <div class="inpBlock">
  68. <div class="label">预算总经费</div>
  69. <el-input v-model="data.select.fund" placeholder="请输入内容"></el-input>
  70. </div>
  71. <div class="inpBlock">
  72. <div class="label">选择分类</div>
  73. <el-select v-model="data.select.sort" style="width: 100%;" placeholder="请选择">
  74. <el-option
  75. v-for="item in data.sortOptions"
  76. :key="item.value"
  77. :label="item.label"
  78. :value="item.value">
  79. </el-option>
  80. </el-select>
  81. </div>
  82. </div>
  83. </div>
  84. </div>
  85. <!-- 活动申请填写信息区域结束 -->
  86. <!-- <div> -->
  87. <!-- 项目成员表格开始 -->
  88. <div id="two" class="tabTit">
  89. <div id="face"><p>项目成员</p></div>
  90. <el-button type="primary" @click="addMember" size="mini">添加成员</el-button>
  91. </div>
  92. <hr>
  93. <el-table
  94. :data="data.tableData"
  95. tooltip-effect="dark"
  96. stripe
  97. :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
  98. class="fontSize"
  99. >
  100. <el-table-column
  101. prop="Name"
  102. label="姓名"
  103. align="center"
  104. >
  105. </el-table-column>
  106. <el-table-column
  107. prop="Class"
  108. label="班级"
  109. align="center"
  110. >
  111. </el-table-column>
  112. <el-table-column
  113. prop="tel"
  114. label="电话"
  115. align="center"
  116. >
  117. </el-table-column>
  118. <el-table-column
  119. align="center"
  120. prop="operation"
  121. label="操作"
  122. >
  123. <template #default="scope">
  124. <div class="operations">
  125. <!-- <el-button type="primary" > -->
  126. <el-button type="primary" @click="amendDialogData(scope)" size="mini">修改</el-button>
  127. <el-button type="primary" @click="Del(scope)" size="mini">删除</el-button>
  128. <!-- </el-button> -->
  129. </div>
  130. </template>
  131. </el-table-column>
  132. </el-table>
  133. <!-- 项目成员表格结束 -->
  134. <!-- 项目简介开始 -->
  135. <div id="three" class="tabTit">
  136. <div><p>项目简介</p></div>
  137. </div>
  138. <hr>
  139. <el-input
  140. type="textarea"
  141. :rows="6"
  142. resize="none"
  143. class="textArea"
  144. placeholder="请输入内容"
  145. v-model="data.textarea">
  146. </el-input>
  147. <!-- 项目简介结束 -->
  148. <!-- 结束按钮开始 -->
  149. <div id="four" class="baseBtn">
  150. <div class="blockWidth">
  151. <el-button type="primary" @click="backBtn1" size:small>上一步</el-button>
  152. <el-button type="primary" @click="backBtn" size:small>下一步</el-button>
  153. </div>
  154. </div>
  155. <!-- 结束按钮结束 -->
  156. </div>
  157. <!-- 右边填写信息区域结束 -->
  158. <!--添加成员dialog对话框开始 -->
  159. <el-dialog
  160. :title="data.DialogStatus?'添加成员':'修改成员'"
  161. :visible.sync="addMemberDialog"
  162. :modal="true"
  163. :close-on-click-modal="true"
  164. class="AddMember"
  165. :before-close="init">
  166. <div class="littleBlock">
  167. <div class="dialogLabel">姓名</div>
  168. <div>
  169. <el-input v-model="data.Member.name"></el-input>
  170. </div>
  171. </div>
  172. <div class="littleBlock">
  173. <div class="dialogLabel">班级</div>
  174. <div>
  175. <el-input v-model="data.Member.Class"></el-input>
  176. </div>
  177. </div>
  178. <div class="littleBlock">
  179. <div class="dialogLabel">电话</div>
  180. <div>
  181. <el-input v-model="data.Member.phone"></el-input>
  182. </div>
  183. </div>
  184. <div slot="footer" class="footer">
  185. <el-button type="primary" @click="commit" class="diaBtn" >确认提交</el-button>
  186. <el-button @click="init" class="diaBtn">取消</el-button>
  187. </div>
  188. </el-dialog>
  189. <!--添加成员dialog对话框结束 -->
  190. </div>
  191. </template>
  192. <script>
  193. export default {
  194. props:["data","next",'back','addPerson','amend'],
  195. data() {
  196. return {
  197. input:"",
  198. addMemberDialog:false,
  199. }
  200. },
  201. methods:{
  202. init(){
  203. this.addMemberDialog=false
  204. },
  205. addMember(){ //添加项目成员
  206. this.addMemberDialog=true
  207. this.data.DialogStatus=1;
  208. },
  209. amendDialogData(val){ //修改项目成员信息
  210. this.addMemberDialog=true
  211. this.data.DialogStatus=0;
  212. },
  213. backBtn1(){ // 上一步
  214. this.$router.push('/projectApplication')
  215. },
  216. backBtn(){ // 下一步
  217. this.next();
  218. },
  219. commit(){ //确定添加成员
  220. if (this.data.DialogStatus) {
  221. this.addPerson();
  222. this.addMemberDialog=false
  223. return
  224. }else{
  225. this.amend()
  226. this.addMemberDialog=false
  227. }
  228. },
  229. Del(){
  230. },
  231. toPage(val){
  232. if (val==1) {
  233. document.getElementById("one").scrollIntoView({ behavior: "smooth" });
  234. }else if(val==2){
  235. document.getElementById("two").scrollIntoView({ behavior: "smooth" });
  236. }else if(val==3){
  237. document.getElementById("three").scrollIntoView({ behavior: "smooth" });
  238. }else if(val==4){
  239. document.getElementById("four").scrollIntoView({ behavior: "smooth" });
  240. }
  241. }
  242. },
  243. created(){
  244. // this.value=(this.options[0].value)
  245. },
  246. mounted(){
  247. // console.log(this.data)
  248. }
  249. }
  250. </script>
  251. <style lang="less">
  252. .projectApplicationApply{
  253. margin-top: 30px;
  254. width: 100%;
  255. display: flex;
  256. justify-content: center;
  257. // 右边栏标题
  258. .projectApplicationApplypAHeader{
  259. width: 100%;
  260. display: flex;
  261. justify-content:flex-start;
  262. position: relative;
  263. margin-bottom: 15px;
  264. .pAHeader1{
  265. font-weight: 600;
  266. font-size: 22px;
  267. flex-shrink: 0;
  268. }
  269. .pAHeader2{
  270. position: absolute;
  271. top:8px;
  272. left: 160px;
  273. font-size: 16px;
  274. background: repeating-linear-gradient();
  275. }
  276. .pAHeader3{
  277. background: #0e72e6 !important;
  278. color: #fff !important;
  279. display: flex;
  280. position: absolute;
  281. right: 0;
  282. justify-content: center;
  283. font-size: 16px;
  284. width: 100px;
  285. height: 30px;
  286. align-items: center;
  287. }
  288. }
  289. }
  290. </style>