Browse Source

项目立项数据提交

yuanyiming 2 năm trước cách đây
mục cha
commit
a47b7a22b0

+ 1 - 1
src/App.vue

@@ -340,7 +340,7 @@
     justify-content: flex-end;
   }
 
-  .AddMember{    //添加对话框
+  .AddMember{      //添加对话框只包括三个input框的
       .el-input__inner{
           width: 300px;
       }

+ 19 - 20
src/views/projectApply/projectApplicationApply.vue

@@ -33,12 +33,10 @@
                     </div>
                     <div class="selectMid">
                       <div class="selectLeft">
+                          
+
                           <div class="inpBlock">
-                              <div class="label">预算经费</div>
-                              <el-input v-model="data.select.fund" placeholder="请输入内容"></el-input>
-                          </div>
-                          <div class="inpBlock">
-                              <div class="label">负责人</div>
+                              <div class="label">项目负责人</div>
                               <el-input v-model="data.select.person" placeholder="请输入内容"></el-input>
                           </div>
                           <div class="inpBlock">
@@ -46,15 +44,15 @@
                               <el-select v-model="data.select.value" style="width: 100%;" placeholder="请选择">
                                 <el-option
                                   v-for="item in data.options"
-                                  :key="item.value"
-                                  :label="item.label"
-                                  :value="item.value">
+                                  :key="item.id"
+                                  :label="item.name"
+                                  :value="item.id">
                                 </el-option>
                               </el-select>
                           </div>
                           <div class="inpBlock">
                               <div class="label">联系电话</div>
-                              <el-input v-model="data.select.tel" placeholder="请输入内容"></el-input>
+                              <el-input type="number" v-model="data.select.tel" placeholder="请输入内容"></el-input>
                           </div>
                       </div>
 
@@ -63,14 +61,15 @@
                               <div class="label">项目开始时间</div>
                               <el-date-picker
                                 v-model="data.select.value1"
-                                type="date"
+                                type="datetime"
                                 style="width: 100%;"
+                                value-format="yyyy-MM-DD HH:mm:ss"
                                 placeholder="选择日期">
                               </el-date-picker>
                           </div>
                           <div class="inpBlock" style="position: relative;">
                               <div class="label">预算总经费</div>
-                              <el-input v-model="data.select.fund" placeholder="请输入内容"></el-input>
+                              <el-input type="number" onkeypress="return (/[\d]/.test(String.fromCharCode(event.keyCode)))" v-model="data.select.fund" placeholder="请输入内容"></el-input>
                               <div style="position: absolute;right: -30px;top: 10px;">(万)</div>
                           </div>
                           <div class="inpBlock">
@@ -78,9 +77,9 @@
                               <el-select v-model="data.select.sort" style="width: 100%;" placeholder="请选择">
                                 <el-option
                                   v-for="item in data.sortOptions"
-                                  :key="item.value"
-                                  :label="item.label"
-                                  :value="item.value">
+                                  :key="item.id"
+                                  :label="item.name"
+                                  :value="item.id">
                                 </el-option>
                               </el-select>
                           </div>
@@ -108,20 +107,20 @@
                 >
               
                 <el-table-column
-                  prop="Name"
+                  prop="name"
                   label="姓名"
                   align="center"
                   >
                 </el-table-column>
                 <el-table-column
-                  prop="Class"
+                  prop="class"
                   label="班级"
                   align="center"
                   >
                 </el-table-column>
 
                 <el-table-column
-                  prop="tel"
+                  prop="phone"
                   label="电话"
                   align="center"
                   >
@@ -194,7 +193,7 @@
             <div class="littleBlock">
               <div class="dialogLabel">班级</div>
               <div>
-                <el-input v-model="data.Member.Class"></el-input>
+                <el-input v-model="data.Member.class"></el-input>
               </div>
             </div>
 
@@ -257,8 +256,8 @@
               this.addMemberDialog=false
             }
         },
-        Del(){
-          
+        Del(val){
+
         },
         toPage(val){
             if (val==1) {

+ 127 - 59
src/views/projectApply/projectApplicationApplyMain.vue

@@ -61,52 +61,36 @@
             projectApplicationApply1:{   //立项基础信息页面
                 DialogStatus:1,
                 select:{    //基本信息数据框
-                  projectName:'人工智能分链机器',
-                  person:'红发',
-                  Data:'2023-3-2',
-                  value:"中德学院",
-                  fund:'300000',
-                  tel:'13128926474',
-                  value1:"2023-11-12",
-                  sort:'第一产业'
+                  projectName:'', 
+                  person:'',
+                  Data:'',
+                  value:"",
+                  fund:'',
+                  tel:'',
+                  value1:"",
+                  sort:''
                 },
-                options: [{   //学院下拉框
-                    value: '选项1',
-                    label: '中德学院'
-                  },
-                  {
-                    value: '选项2',
-                    label: '中德学院'
-                  },
-                ],
-                sortOptions: [{   //分类下拉框
-                    value: '选项1',
-                    label: '第一产业'
-                  },
-                  {
-                    value: '选项2',
-                    label: '第二产业'
-                  },
-                ],
+                options: [],  //部门下拉框
+                sortOptions: [], //分类下拉框
                 textarea:'每周星期四为活动时间',   //项目简介
                 Member:{    //添加成员
-                    name:'伯邑考',
-                    Class:'21通信',
-                    phone:'1234567898'
+                    name:'',
+                    class:'',
+                    phone:''
                 },
                 tableData:[{    //成员列表
-                    Name:'徐晓慧',
-                    Class:'22电子通信G5',
-                    tel:'13751177411',
+                    name:'徐晓慧',
+                    class:'22电子通信G5',
+                    phone:'13751177411',
                   },
                 ],
             },
             projectApplicationApply2:{  //项目内容页面
-                contentOne:'',
-                contentTwo:'',
-                contentThree:'',
-                contentFour:'',
-                contentFive:'',
+                  contentOne:'11',
+                  contentTwo:'22',
+                  contentThree:'33',
+                  contentFour:'44',
+                  contentFive:'55',
             },
             projectApplicationApply3:{  //预算经费页面
                 tableData:  // 经费月支出计划列表数据
@@ -160,21 +144,52 @@
           }
         },
         methods:{ 
+          next(){   //顶部导航栏页面下一条跳转
+                if(this.status>=2)return;
+                this.status++;
+            },
+            back(){  //顶部导航栏页面上一条
+                if(this.status==0)return;
+                this.status--;
+            },
             addPerson(){  //立项基础信息页面添加人员和修改数据框
               this.projectApplicationApply1.addMemberDialog=false;
-              let { name: Name, Class: Class, phone:tel } = this.projectApplicationApply1.Member;
-              let data={Name,Class,tel};
-              this.projectApplicationApply1.tableData.push(data);
+              let p=this.projectApplicationApply1.Member;
+              this.projectApplicationApply1.tableData.push(p);
             },
-            confirmSetFund(){   //预算经费设置经费对话框
-              let data=this.projectApplicationApply3
-              for(let key in data.items){
-                if (data.items[key]=='') {
-                  data.items[key]='-'
-                }
+            getProjectDepartmentData(){  //获取项目立项申请基础信息页面所在部门数据
+              let param={
+                uid:this.$store.state.userInfo.userid
               }
-              data.tableData.splice(0,1,data.items)
+                this.ajax
+                      .get(this.$store.state.api+'/SelectAllDepartment',param)
+                      .then(res=>{
+                        // console.log(res.data[0]);
+                        let p=res.data[0]
+                        let a=this.projectApplicationApply1
+                        a.options=p
+                      },err=>{
+                        console.log(err);
+                      })
             },
+            getProjectTypeData(){  //获取项目立项申请基础信息页面分类数据
+              let param={
+                uid:this.$store.state.userInfo.userid
+              }
+                this.ajax
+                      .get(this.$store.state.api+'/SelectAllType',param)
+                      .then(res=>{
+                        // console.log(res.data[0]);
+                        let p=res.data[0]
+                        let a=this.projectApplicationApply1
+                        a.sortOptions=p
+                        // console.log(a.sortOptions);
+
+                      },err=>{
+                        console.log(err);
+                      })
+            },
+           
             amend(val){      //立项基础信息页面修改人员信息
               console.log('111'); 
               let p=this.projectApplicationApply1;
@@ -196,6 +211,20 @@
                         console.log(err);
                       })
             },
+            //立项基础信息页面删除功能在它自己页面人员信息
+
+
+
+
+            confirmSetFund(){   //预算经费设置经费对话框
+              let data=this.projectApplicationApply3
+              for(let key in data.items){
+                if (data.items[key]=='') {
+                  data.items[key]='-'
+                }
+              }
+              data.tableData.splice(0,1,data.items)
+            },
             addFundDetail(){    //预算经费页面经费添加按钮
               let p=this.projectApplicationApply3;
                 let data={
@@ -206,28 +235,67 @@
                 }
               p.tableData2.push(data)
             },
-            next(){   //顶部导航栏页面下一条跳转
-                if(this.status>=2)return;
-                this.status++;
-            },
-            back(){  //顶部导航栏页面上一条
-                if(this.status==0)return;
-                this.status--;
-            },
             submitBtn(){   //预算经费页面提交按钮
                 console.log("提交啦");
-                console.log(this.projectApplicationApply1,this.projectApplicationApply2,this.projectApplicationApply3);
-                this.submitHint = true;
+                this.submitData()
+                // this.submitHint = true;
+            },
+            submitData(){  //提交页面所有数据
+              let a=this.projectApplicationApply1;
+              let b=this.projectApplicationApply2;
+              let c=this.projectApplicationApply3
+              let d=[]
+              for(let key in b){
+                  d.push(b[key])
+              }
+              
+              let newData1 = c.tableData[0];
+              for(let key in newData1){
+               
+                if (newData1[key]=='-') {
+                  // console.log(newData1[key]);
+                  newData1[key]=0
+                  // console.log(key+'--'+newData1[key]);
+                //   // newData1[key]=0
+                }
+              }
+              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:a.select.sort,
+                mon:a.select.fund,
+                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("创建成功")
+                        }
+                          // console.log(res.data==1);
+
+                      },err=>{
+                        console.log(err);
+                      })
             },
             init(){
                 //重置
                 this.projectApplicationApply1.addMemberDialog=false
                 this.submitHint=false;
             },
-
+           
         },
         created(){      //实例初始化完成后调用
-        //   this.value=(this.options[0].value)
+            this.getProjectDepartmentData()   //获取项目立项申请基础信息页面所在部门数据
+            this.getProjectTypeData()   //获取项目立项申请基础信息页面分类数据
+            // this.submitData()
         }
       }
   </script>

+ 136 - 50
src/views/projectApply/projectApplicationDetails.vue

@@ -61,7 +61,17 @@
                         <div class="label">预算总经费</div>
                         <el-input v-model="select.Fund" placeholder="请输入内容"></el-input>
                     </div>
-                    
+                    <div class="inpBlock">
+                        <div class="label">选择分类</div>
+                        <el-select v-model="select.sort" style="width: 100%;" placeholder="请选择">
+                          <el-option
+                            v-for="item in select.sortOptions"
+                            :key="item.value"
+                            :label="item.label"
+                            :value="item.value">
+                          </el-option>
+                        </el-select>
+                    </div>
                 </div>
               </div>
               
@@ -142,6 +152,47 @@
         <el-button type="primary" class="backBtn" @click="audit">立即修改</el-button>
       </div>
     </div>
+     <!--添加成员查看详情dialog对话框开始 -->
+     <el-dialog
+          title="查看详情"
+          :visible.sync="addMemberDialog"
+          :modal="true"
+          :close-on-click-modal="true"
+          class="projectApplicationDetailsAddMember"
+          :before-close="init">
+
+            <div class="littleBlock">
+              <div class="dialogLabel">姓名</div>
+              <div>
+                <el-input v-model="memberList.Name"></el-input>
+              </div>
+            </div>
+
+            <div class="littleBlock">
+              <div class="dialogLabel">班级</div>
+              <div>
+                <el-input v-model="memberList.class"></el-input>
+              </div>
+            </div>
+
+            <div class="littleBlock">
+              <div class="dialogLabel">电话</div>
+              <div>
+                <el-input v-model="memberList.tel"></el-input>
+              </div>
+            </div>
+            <div class="littleBlock">
+              <div class="dialogLabel">学分</div>
+              <div>
+                <el-input v-model="memberList.score"></el-input>
+              </div>
+            </div>
+            <div slot="footer" class="footer">
+              <el-button type="primary" @click="commit" class="diaBtn" >确认提交</el-button>
+              <el-button @click="addMemberDialog=false" class="diaBtn">取消</el-button>
+            </div>
+      </el-dialog>
+      <!--添加成员查看详情dialog对话框结束 -->
   </div>
 </template>
 
@@ -149,10 +200,23 @@
     export default {
       data() {
         return {
-          select:{
+
+          addMemberDialog:false,
+          select:{    //数据详情框数据
             project:'疯狂星期四',   
             person:'袁一鸣',
             input:"肯德基",  //select框值
+            sort:'勘探地球',
+
+            sortOptions: [{   //分类下拉框
+                value: '选项1',
+                label: '第一产业'
+              },
+              {
+                value: '选项2',
+                label: '第二产业'
+              },
+            ],
             department:[
               {
                 value: '1',
@@ -172,18 +236,34 @@
             Fund:'200000',
           },
           textarea:'周四福利大放送',   //项目简介
-          tableData:[{
+
+          tableData:[    //成员列表数据
+            {      
             Name:'徐晓慧',
             class:'22电子通信G5',
             tel:'13751177411',
             score:'-',
           },
           ],
+          memberList:{
+            Name:'',
+            class:'',
+            tel:'',
+            score:''
+          }
         }
       },
       methods:{
-        lookDetail(){   //项目成员列表查看详情
-            console.log('看不到');
+        lookDetail(val){   //项目成员列表查看详情
+            // console.log('看不到');
+            this.addMemberDialog=true
+        },
+        init(){
+          this.addMemberDialog=false;
+
+        },
+        commit(){
+            this.addMemberDialog=false;
         },
         remark(){    //导航栏项目详情按钮
           this.$router.push('/projectApplication2')
@@ -208,8 +288,7 @@
         }
       },
       created(){    //数据加载完成后触发
-        console.log('111');
-        this.getData();
+        // this.getData();
         // this.value=(this.options[0].value)
       },
     }
@@ -218,52 +297,59 @@
 <style lang="less">
 .projectApplication1{
 
-  .selects{
-      width: 85%;
-      margin-top: 10px;
-      display: flex;
-      flex-wrap: wrap;
-    .inp1{
-      display: flex;
-      width:35%;
-      margin-right: 7%;
-      margin-top: 10px;
-      .inpText{
-        // max-width: 100px;
-        min-width: 100px;
-        margin-right: 5px;
-        display: inline-block;
-        text-align: justify;
-        text-justify:distribute-all-lines;
-        text-align-last: justify;
-        transform: translate(0,22%);
-        padding-right: 15px;
-        font-size: 16px;
-      }
-    }
-    
-  }
 
 
-  .footer{
-      width: 90%;
-      margin: 30px 20px;
-      display: flex;
-      justify-content: flex-end;
-      .backBtn{
-          background: #169bd5;
+  .projectApplicationDetailsAddMember{     //查看详情对话框样式
+    .el-input__inner{
+          width: 300px;
       }
-  }
-  .projectApplicationDetailstextArea{
-    display: flex;
-    justify-content: flex-start;
-    margin-left: 10px;
-    textarea{
-      resize: none;outline: none;
-      background: #f2f2f2;
-      box-sizing: border-box;
-      padding: 10px;
-    }
+      .el-dialog{
+          width: 600px;
+          border-radius: 5px;
+          overflow: hidden;
+        }
+
+        .el-dialog__body{
+          display: flex;
+          align-items: center;
+          flex-direction: column;
+        }
+        
+        .el-dialog__header{
+          background: #32455b;
+          text-align: center;
+        }
+        .el-dialog__title{
+          color: #fff;
+          position: relative;
+          top: -5px;
+          font-size: 18px;
+        }
+        .littleBlock{   //添加对话框 label和input框
+            display: flex;
+            width: 70%;
+            margin-top: 20px;
+            .dialogLabel{      //label
+              max-width: 60px;
+              min-width: 65px;
+              font-size: 16px;
+              margin-right: 10px;
+              display: inline-block;
+              text-align: justify;
+              text-justify:distribute-all-lines;
+              text-align-last: justify;
+              transform: translate(0,22%);
+            }
+          }
+        .footer{
+          width: 100%;
+          display: flex;
+          justify-content: center;
+          [type="button"]{
+            font-size: 16px;
+          }
+
+        }
   }
   
 }