yuanyiming 2 anni fa
parent
commit
73b9a8f529

+ 123 - 52
src/views/projectApply/projectApplicationApplyMain.vue

@@ -23,13 +23,15 @@
       <div class="Main_area">
         <!-- 学生创客项目 5e21b204-c206-11ed-a4cd-509a4c5b67cf -->
         <!-- 特色创客空间建设项目 5f7a66d5-c206-11ed-a4cd-509a4c5b67cf -->
-        <!-- <projectApplicationApply :data="projectApplicationApply1" :next="next"  :back="back" v-if="status==0"/> -->
-
         <projectApplicationApply :data="projectApplicationApply1" :next="next"  :back="back" v-if="status==0 && pageType[0]=='5e21b204-c206-11ed-a4cd-509a4c5b67cf'"/>
-        <projectApplicationApplyMakerSpace :data="MakerSpace" :next="next"  :back="back" v-if="status==0 && pageType[0]=='5f7a66d5-c206-11ed-a4cd-509a4c5b67cf'"/>
 
-        <projectApplicationApply2 :data="projectApplicationApply2" :next="next" :back="back" v-if="status==1"/>
-        <projectApplicationApply3 :data="projectApplicationApply3" :confirmSetFund="confirmSetFund" :data2="projectApplicationApply1" :next="next" :back="back" :submitBtn="submitBtn" v-show="status==2"/> 
+        <!-- 特色创客空间建设项目 -->
+        <projectApplicationApplyMakerSpace :data="MakerSpace" :next="next" :back="back" v-if="status==0 && pageType[0]=='5f7a66d5-c206-11ed-a4cd-509a4c5b67cf'"/>
+        <projectApplicationApplyMakerSpace2 :data="MakerSpace2" :next="next" :back="back" v-if="status==1 && pageType[0]=='5f7a66d5-c206-11ed-a4cd-509a4c5b67cf'"/>
+        <!-- <projectApplicationApply :data="projectApplicationApply1" :next="next"  :back="back" v-if="status==0 && pageType[0]=='5e21b204-c206-11ed-a4cd-509a4c5b67cf'"/> -->
+        <!-- <projectApplicationApplyMakerSpace :data="MakerSpace" :next="next"  :back="back" v-if="status==0 && pageType[0]=='5f7a66d5-c206-11ed-a4cd-509a4c5b67cf'"/> -->
+        <projectApplicationApply2 :data="projectApplicationApply2" :next="next" :back="back" v-if="status==1 && pageType[0]=='5e21b204-c206-11ed-a4cd-509a4c5b67cf'"/>
+        <projectApplicationApply3 :data="projectApplicationApply3" :confirmSetFund="confirmSetFund" :data2="pageType[0]=='5e21b204-c206-11ed-a4cd-509a4c5b67cf'?projectApplicationApply1:MakerSpace" :next="next" :back="back" :submitBtn="submitBtn" v-show="status==2"/> 
       </div>
       <!--下方内容区结束-->
 
@@ -41,7 +43,7 @@
           class="pageSubmitData"
           :before-close="init">
           <div class="addDialogLogo">LOGO</div>
-          <div class="deleteContent">确定提交“{{projectApplicationApply1.select.projectName}}”项目立项?</div>
+          <div class="deleteContent">确定提交“{{pageType[0]=='5e21b204-c206-11ed-a4cd-509a4c5b67cf'?projectApplicationApply1.select.projectName:MakerSpace.select.projectName}}”项目立项?</div>
           <span slot="footer" class="dialog-footer">
             <el-button type="primary" @click="submitAll" class="AllDialogBtn">确认提交</el-button>
             <el-button @click="init" class="AllDialogBtn">取消</el-button>
@@ -82,6 +84,7 @@
   import projectApplicationApply3 from './projectApplicationApply3.vue';
   //创客空间建设项目立项申报
   import projectApplicationApplyMakerSpace from './projectApplicationApplyMakerSpace.vue';
+  import projectApplicationApplyMakerSpace2 from './projectApplicationApplyMakerSpace2.vue'
       export default {
         // 进行注册使用
         components:{
@@ -89,6 +92,7 @@
           projectApplicationApply2,
           projectApplicationApply3,
           projectApplicationApplyMakerSpace,
+          projectApplicationApplyMakerSpace2,
         },
         data() {
           return {
@@ -99,7 +103,6 @@
 
             //创客空间建设项目立项申报数据
             MakerSpace:{
-              amendMemberDialog:false,  //修改人员对话框显示判断
                 dialogImageUrl:"",  //封面
                 select:{    //基本信息数据框
                   projectName:'', //项目名称
@@ -108,8 +111,6 @@
                   value:"",   //部门
                   fund:'',  //预算总经费
                   leader:"",//学院牵头领导
-                  // tel:'',   //联系人电话
-                  // value1:"",
                 },
                 options: [],  //部门下拉框
                 textarea:'',   //项目简介
@@ -118,46 +119,13 @@
             },
             //创客空间建设项目立项申报项目内容数据
             MakerSpace2:{
-                contentOne:'',
-                contentTwo:'',
-                contentThree:'',
-                contentFour:'',
-                contentFive:'',
-            },
-
-            //创客空间建设项目立项申报数据
-            MakerSpace:{
-              amendMemberDialog:false,  //修改人员对话框显示判断
-                dialogImageUrl:"",  //封面
-                telVerify:true,
-                telVerify2:true,  //添加修改成员电话判断
-                select:{    //基本信息数据框
-                  projectName:'', 
-                  person:'',
-                  Data:"",
-                  value:"",   //部门
-                  fund:'',
-                  tel:'',
-                  value1:"",
-                },
-                options: [],  //部门下拉框
-                textarea:'',   //项目简介
-                Member:{    //添加成员
-                    name:'',
-                    class:'',
-                    phone:'',
-                    score:'0'
-                },
-                tableData:[ //成员列表
-                ]
-            },
-            //创客空间建设项目立项申报项目内容数据
-            MakerSpace2:{
-                contentOne:'',
-                contentTwo:'',
-                contentThree:'',
-                contentFour:'',
-                contentFive:'',
+                Construction:"",//建设内容
+                ProjectBasis:"",//立项依据
+                development:"",//创客空间物理环境、制度建设及软件设施建设情况
+                studio:"",//学生创客工作室建设情况
+                studentTeam:"",//学生创客团队(人才)培养预期成果、数量
+                studentActivities:"",//学生创客活动组织实施情况
+                Transforming:"",//学生创客团队孵化、转化创业项目情况
             },
 
             projectApplicationApply1:{   //立项基础信息页面
@@ -395,10 +363,25 @@
               },
 
             submitBtn(){   //预算经费页面提交显示对话框
-                this.submitHint = true;
+                //先判断项目名称是否为空
+                if(this.pageType[0]=='5e21b204-c206-11ed-a4cd-509a4c5b67cf'){//学生创客项目
+                    if(this.projectApplicationApply1.select.projectName=='')return this.$message.error("请先输入项目名称")
+                    this.submitHint = true;
+                }else if(this.pageType[0]=='5f7a66d5-c206-11ed-a4cd-509a4c5b67cf'){//特色创客空间建设项目
+                  if(this.MakerSpace.select.projectName=="")return this.$message.error("请先输入项目名称");
+                    this.submitHint = true;
+                }else{
+                  return this.$message.error("项目分类错误")
+                }
             },
             submitAll(){
-              this.submitData()
+              if(this.pageType[0]=='5e21b204-c206-11ed-a4cd-509a4c5b67cf'){//学生创客项目
+                //在这里判断数据
+              }else if(this.pageType[0]=='5f7a66d5-c206-11ed-a4cd-509a4c5b67cf'){//特色创客空间建设项目
+                //在这里判断项目
+                this.InsertProjectMakerSpace();
+              }
+              // this.submitData()
             },
             submitData(){  //提交页面所有数据
               let a=this.projectApplicationApply1;
@@ -470,8 +453,96 @@
                         console.log(err);
                       })
             },
+            // submitData(){  //提交页面所有数据
+            //   //判断是那个分类
+            //   if(this.pageType[0]=='5e21b204-c206-11ed-a4cd-509a4c5b67cf'){//学生创客项目
+
+            //   }else if(this.pageType[0]=='5f7a66d5-c206-11ed-a4cd-509a4c5b67cf'){//特色创客空间建设项目
+            //     this.InsertProjectMakerSpace();
+            //   }
+              // let a=this.projectApplicationApply1;
+              // let b=this.projectApplicationApply2;
+              // let c=this.projectApplicationApply3
+              // if(a.select.projectName=='') return this.$message.error('请输入项目名称')
+              // if(a.select.person=='') return this.$message.error('请输入项目负责人')
+              // if(a.select.value1=='') return this.$message.error('请选择项目开始时间')
+              // if(a.select.value=='') return this.$message.error('请选择所在部门')
+              // if(a.select.fund=='') return this.$message.error('请输入预算总经费')
+              // if(a.select.tel=='') return this.$message.error('请输入联系电话')
+              // if(!a.telVerify) return this.$message.error('请输入正确联系电话格式')
+              // if(a.select.sort=='') return this.$message.error('请选择分类')
+              
+              // let d=[]   //按照后端格式传递数据,项目内容,要将经费支出,与项目明细放在一起,
+              // for(let key in b){
+              //     d.push(b[key])
+              // }
+              
+              // let newData1 = c.tableData[0];    //没有输入的月支出计划改为0,向后端传递
+              // for(let key in newData1){
+              //   if (newData1[key]=='-') {
+              //     newData1[key]=0
+              //   }
+              // }
+              // console.log(a.select.sort);
+              // let typeId=a.select.sort[0]
+              // let typeName=a.select.sort[1]
+              // // return console.log(typeId,typeName);
+
+              // let param={
+              //   uid:this.$store.state.userInfo.userid,
+              //   title:a.select.projectName,
+              //   brief:a.textarea,
+              //   leader:a.select.person,
+              //   phone:a.select.tel,
+              //   cid:a.select.value,
+              //   student:JSON.stringify(a.tableData),
+              //   message:JSON.stringify([d,[newData1,c.tableData2]]),
+              //   tid:typeId,
+              //   tidName:typeName,
+              //   mon:a.select.fund,
+              //   imgsrc:a.dialogImageUrl,
+              //   beginTime:a.select.value1
+              // }
+              //   this.ajax
+              //         .post(this.$store.state.api+'/CreateProject',param)
+              //         .then(res=>{
+              //           console.log(res)
+              //           if(res.data==1){
+              //             this.$message.success("创建成功")
+              //             this.$router.push('projectApplication')
+              //           }else{
+              //             this.$message.error("创建失败")
+              //           }
+              //         },err=>{
+              //           console.log(err);
+              //         })
+            // },
             // 提示选择分类
-
+            InsertProjectMakerSpace(){
+              let param = {
+                uid:this.$store.state.userInfo.userid,//用户ID,
+                title:this.MakerSpace.select.projectName,//项目名称
+                pro_leader:this.MakerSpace.select.person,//项目负责人
+                projectTime:JSON.stringify(this.MakerSpace.select.Data),//项目时间
+                classid:this.MakerSpace.select.value,//部门ID
+                fund:this.MakerSpace.select.fund,//预算总经费
+                lead_leader:this.MakerSpace.select.leader,//学院牵头领导
+                image:this.MakerSpace.select.dialogImageUrl,//项目封面
+                course_teacher:JSON.stringify(this.MakerSpace.teacherData),//教师团队
+                course_student:JSON.stringify(this.MakerSpace.studentData),//学生团队
+                brief:this.MakerSpace.textarea,//项目简介
+                chapters:JSON.stringify(this.MakerSpace2),//项目内容
+                typeid:this.pageType[0],//分类一级ID,
+                typeName:this.pageType[1],//分类二级
+                mon:JSON.stringify(this.projectApplicationApply3),//预算经费,
+              }
+              return console.log(param)
+              this.ajax.post(this.$store.state.api+"/InsertProjectMakerSpace",param).then(res=>{
+                console.log(res)
+              }).catch(err=>{
+                console.log(err)
+              })
+            }
            
         },
         created(){      //实例初始化完成后调用

+ 2 - 3
src/views/projectApply/projectApplicationApplyMakerSpace.vue

@@ -179,7 +179,7 @@
               </el-table>
 
               <div id="four" class="tabTit">
-                <div><p>项目组-学生团队</p></div>
+                <div><p>项目组-学生团队</p><span>(团队5人以上,学生团队年级结构安排合理)</span></div>
                 <el-button type="primary" @click="addMemberStudent"  size="mini">添加成员</el-button>
               </div>
               <hr>
@@ -246,7 +246,7 @@
                 :rows="6"
                 resize="none"
                 class="textArea"
-                placeholder="请输入内容"
+                placeholder="项目简介(200-300字)"
                 v-model="data.textarea">
               </el-input>
   <!-- 项目简介结束 -->
@@ -423,7 +423,6 @@ import BeUpload from "../../components/tool/beUpload.vue";
           dialogVisible: false,
           addMemberDialog:false,
           addStudentDialog:false,
-          // amendMemberDialog:false,
           delMember:false,
           DelStudentDialog:false,
           index:'',

+ 163 - 0
src/views/projectApply/projectApplicationApplyMakerSpace2.vue

@@ -0,0 +1,163 @@
+<template>
+  <!-- 项目立项申请项目内容表达 -->
+      <div class="projectApplicationApply2">
+        <div class="left">
+          <div class="sx">
+            <div class="qiu"></div>
+          </div>
+          <div class="leftTits">
+            <div @click="toPage(1)">项目创新点</div>
+            <div @click="toPage(2)" style="position: relative;right: 5px;">
+              <el-tooltip class="item" effect="light" content="预期取得的成果" placement="bottom-start">
+                <p>预期取得的成果</p>
+              </el-tooltip>
+            </div>
+            <div @click="toPage(3)">实施计划</div>
+            <div @click="toPage(4)">下一步</div>
+          </div>
+        </div>
+        <div class="right">
+            <div id="q" class="vfpHeader">
+              <div class="titleOne">项目立项申请</div>
+              <el-button @click="backBtn1" type="primary" size="mini">返回</el-button>
+            </div>
+            <hr>
+            <div id="w">
+              <p class="pTit">项目建设内容及目标</p>
+              <div>
+                <p class="pTit2">一、建设内容<span>(空间优化/场馆规划方面拟解决的关键问题及主要建设指标)</span></p>
+                <div class="editor">
+                  <vue-editor  :editorToolbar="customToolbar" v-model="data.Construction"></vue-editor>
+                </div>
+              </div>
+            </div>
+            <div>
+              <p class="pTit">预项目建设论证报告</p>
+              <div>
+                <p class="pTit2">一、立项依据<span> (说明本项目的目的、意义以及国内外高校现状、市场预测和发展趋势,预期达到的目标,研究的预期效果分析,成果受益面)</span></p>
+                <div class="editor">
+                  <vue-editor  :editorToolbar="customToolbar" v-model="data.ProjectBasis"></vue-editor>
+                </div>
+              </div>
+            </div>
+            <div id="q">
+              <p class="pTit">预期成果</p>
+              <div>
+                <p class="pTit2">一、创客空间物理环境、制度建设及软件设施建设情况<span>(环境优化/制度完善/设施改造)</span></p>
+                <div class="editor">
+                  <vue-editor  v-model="data.development" :editorToolbar="customToolbar"></vue-editor>
+                </div>
+              </div>
+
+              <div>
+                <p class="pTit2">二、学生创客工作室建设情况<span>(工作室数量及活动开展情况)</span></p>
+                <div class="editor">
+                  <vue-editor :editorToolbar="customToolbar" v-model="data.studio"></vue-editor>
+                </div>
+              </div>
+
+              <div>
+                <p class="pTit2">三、学生创客团队(人才)培养预期成果、数量</p>
+                <div class="editor">
+                  <vue-editor :editorToolbar="customToolbar" v-model="data.studentTeam"></vue-editor>
+                </div>
+              </div>
+
+              <div>
+                <p class="pTit2">四、学生创客活动组织实施情况</p>
+                <div class="editor">
+                  <vue-editor :editorToolbar="customToolbar" v-model="data.studentActivities"></vue-editor>
+                </div>
+              </div>
+
+              <div>
+                <p class="pTit2">五、学生创客团队孵化、转化创业项目情况</p>
+                <div class="editor">
+                  <vue-editor :editorToolbar="customToolbar" v-model="data.Transforming"></vue-editor>
+                </div>
+              </div>
+            </div>
+            <div id="r" class="baseBtn">
+              <div class="blockWidth">
+                <el-button type="primary" class="backBtn" @click="backBtn1" size:small>上一步</el-button>
+                <el-button type="primary" class="backBtn" @click="backBtn" size:small>下一步</el-button>
+              </div>
+            </div>
+        </div>
+      </div>
+  </template>
+  
+  <script>
+  import { VueEditor } from "vue2-editor";
+      export default {
+        props:["data","next",'back'],
+        components:{
+          VueEditor
+        },
+        data() {
+          return {
+            content:'',
+            customToolbar: [
+              ["bold", "italic", "underline"], [{ list: "ordered" }, { list: "bullet" }],
+              [{ align: "" }, { align: "center" }, { align: "right"}, { align: "justify"}],
+              [{header:[false,1,2,3,4]}]
+            ],
+          }
+        },
+        methods:{
+          backBtn(){
+            this.next();
+          },
+          backBtn1(){
+            this.back();
+          },
+          toPage(val){
+            if (val==1) {
+              document.getElementById("q").scrollIntoView({ behavior: "smooth" });
+            }else if(val==2){
+              document.getElementById("w").scrollIntoView({ behavior: "smooth" });
+            }else if(val==3){
+              document.getElementById("e").scrollIntoView({ behavior: "smooth" });
+            }else if(val==4){
+              document.getElementById("r").scrollIntoView({ behavior: "smooth" });
+            }
+          }
+        }
+      }
+  </script>
+  
+  <style lang="less">
+  .projectApplicationApply2{
+    margin-top: 30px;
+    width: 100%;
+    display: flex;
+    justify-content: center;
+    // margin-bottom: 100px;
+
+    .item {
+      margin: 4px;
+    }
+    
+  }
+
+
+    .pTit{
+      color: #3994ff;
+      font-weight: 550;
+      font-size: 18px;
+    }
+    .pTit2{
+      margin-top: 15px;
+      color: #3994ff;
+      font-weight: 550;
+      font-size: 16px;
+      span{
+        font-size: 14px;
+      }
+    }
+    .editor{
+      width: 100%;
+      box-sizing: border-box;
+      padding: 15px 0px 10px 0px;
+    }
+  </style>