浏览代码

项目管理

yuanyiming 2 年之前
父节点
当前提交
9101e38670

+ 2 - 2
src/views/projectApply/projectApplication.vue

@@ -434,14 +434,14 @@
             leader:this.selectInp.person,  //负责人
             st:this.selectInp.state,  //审核状态
             page:this.table.currentPage,  //当前页
-            lim:this.table.packageSize  //限制获取几
+            lim:this.table.packageSize  //限制获取几条数据
           }
           // return console.log(param);
           // console.log(param)
           this.ajax    
             .get(this.$store.state.api+'/SelectAllProject',param)
               .then(res=>{
-                // console.log(res.data);
+                console.log(res.data);
                 let data=res.data;
                 let a=this.options;
                 this.tableData=data[0];

+ 6 - 2
src/views/projectApply/projectApplicationApply.vue

@@ -323,13 +323,15 @@
                 return  this.data.telVerify=false;
             }
             if (value == this.data.Member.phone || value == this.data.Member2.phone) {
+              console.log(222);
               return  this.data.telVerify2=false;
             }
           }else{
             if (value == this.data.select.tel) {
-                return  this.data.telVerify=true;
+                 this.data.telVerify=true;
             }
             if (value == this.data.Member.phone || value == this.data.Member2.phone) {
+              console.log(111);
               return  this.data.telVerify2=true;
             }
           }
@@ -360,7 +362,9 @@
         commit(){   //确定添加成员  
               if (this.data.Member.name =="" ||this.data.Member.name==undefined) return this.$message.error('请输入姓名')
               if (this.data.Member.class=="" ||this.data.Member.class==undefined) return this.$message.error('请输入班级')
-              if (!this.data.telVerify2) return this.$message.error('请输入正确联系号码格式')
+              // if (!this.data.telVerify2) return this.$message.error('请输入正确联系号码格式')
+              if (!this.data.telVerify2) return this.$message.error('4156465')
+
               this.addPerson();
               this.init()
         },

+ 20 - 3
src/views/projectApply/projectApplicationApply3.vue

@@ -26,7 +26,7 @@
           <hr>
           <div class="totalFund">
             <div class="totalFundLabel">预算总经费</div>
-            <el-input v-model="data2.fund" style="width: 180px;" placeholder="请输入内容"></el-input>
+            <el-input v-model="data2.select.fund" style="width: 180px;" placeholder="请输入内容"></el-input>
             <div style="line-height: 38px;margin-left: 5px;">(万)</div>
           </div>
           <!-- 预算经费金额结束 -->
@@ -116,11 +116,27 @@
 
       <div class="dialogTop">
           <div class="dagSpan">项目名称</div>
-          <el-input v-model="data2.projectName" disabled placeholder="请输入内容"></el-input>
+          <!-- <el-input v-model="data2.projectName" disabled placeholder="请输入内容"></el-input> -->
+          <el-select v-model="data2.select.value" disabled style="width: 100%;" placeholder="请选择">
+            <el-option
+              v-for="item in data2.options"
+              :key="item.id"
+              :label="item.name"
+              :value="item.id">
+            </el-option>
+          </el-select>
       </div>
       <div class="dialogTop">
           <div class="dagSpan">项目类型</div>
-          <el-input v-model="data2.sort" disabled style="width: 30%;" placeholder="请输入内容"></el-input>
+          <!-- <el-input v-model="data2.tel" disabled style="width: 30%;" placeholder="请输入内容"></el-input> -->
+          <el-select v-model="data2.select.sort"  disabled style="width: 30%;" placeholder="请选择">
+            <el-option
+              v-for="item in data2.sortOptions"
+              :key="item.id"
+              :label="item.name"
+              :value="item.id">
+            </el-option>
+          </el-select>
       </div>
 
 
@@ -308,6 +324,7 @@ import { VueEditor } from "vue2-editor";
           this.addFundDialog=true;
         },
         setFundBtn(){    //设置经费按钮
+          console.log(this.data2.value);
             this.setFund=true
         },
         commit(){  //设置经费对话框按钮

+ 3 - 3
src/views/projectApply/projectApplicationApplyMain.vue

@@ -23,7 +23,7 @@
       <div class="Main_area">
         <projectApplicationApply :data="projectApplicationApply1" :next="next" :addPerson="addPerson" :amend="amend" :back="back" v-show="status==0"/>
         <projectApplicationApply2 :data="projectApplicationApply2" :next="next" :back="back" v-show="status==1"/>
-        <projectApplicationApply3 :data="projectApplicationApply3" :confirmSetFund="confirmSetFund" :data2="projectApplicationApply1.select" :next="next" :addFundDetail="addFundDetail" :back="back" :submitBtn="submitBtn" v-show="status==2"/> 
+        <projectApplicationApply3 :data="projectApplicationApply3" :confirmSetFund="confirmSetFund" :data2="projectApplicationApply1" :next="next" :addFundDetail="addFundDetail" :back="back" :submitBtn="submitBtn" v-show="status==2"/> 
       </div>
       <!--下方内容区结束-->
 
@@ -66,7 +66,7 @@
                   projectName:'', 
                   person:'',
                   Data:'',
-                  value:"",
+                  value:"",   //部门
                   fund:'',
                   tel:'',
                   value1:"",
@@ -212,7 +212,7 @@
 
             init(){
                 //重置
-                this.projectApplicationApply1.addMemberDialog=false
+                // this.projectApplicationApply1.addMemberDialog=false
                 this.submitHint=false;
                 
             },

+ 133 - 81
src/views/projectManage/ProjectManagement.vue

@@ -12,45 +12,48 @@
       <div class="manageSelects">
       <div class="selectsBlock">
         <span class="selectLabel">项目筛选</span>
-        <el-select v-model="pavalues.value" placeholder="我的项目">
+        <el-select v-model="selectInp.filter" placeholder="我的项目">
+          <el-option label="所有项目"  :value="0"></el-option>
           <el-option
-            v-for="item in options"
-            :key="item.value"
-            :label="item.label"
-            :value="item.value">
+            v-for="item in options.projectFilter"
+            :key="item.courseId"
+            :label="item.title"
+            :value="item.courseId">
           </el-option>
         </el-select>
       </div>
 
       <div class="selectsBlock">
         <span class="selectLabel">部门</span>
-        <el-select v-model="pavalues.value1" placeholder="请选择">
+        <el-select v-model="selectInp.department" placeholder="请选择">
+          <el-option label="所有部门" :value="0"></el-option>
           <el-option
-            v-for="item in options1"
-            :key="item.value"
-            :label="item.label"
-            :value="item.value">
+            v-for="item in options.department"
+            :key="item.classid"
+            :label="item.name"
+            :value="item.classid">
           </el-option>
         </el-select>
       </div>
 
       <div class="selectsBlock">
         <span class="selectLabel">分类</span>
-        <el-select v-model="pavalues.value2" placeholder="请选择">
+        <el-select v-model="selectInp.sort" placeholder="请选择">
+          <el-option label="所有分类" :value="0"></el-option>
           <el-option
-            v-for="item in options2"
-            :key="item.value"
-            :label="item.label"
-            :value="item.value">
+            v-for="item in options.sort"
+            :key="item.typeid"
+            :label="item.name"
+            :value="item.typeid">
           </el-option>
         </el-select>
       </div>
 
       <div class="selectsBlock">
         <span class="selectLabel">结题状态</span>
-        <el-select v-model="pavalues.value4" placeholder="请选择">
+        <el-select v-model="selectInp.state" placeholder="请选择">
           <el-option
-            v-for="item in options4"
+            v-for="item in options.state"
             :key="item.value"
             :label="item.label"
             :value="item.value">
@@ -60,12 +63,13 @@
 
       <div class="selectsBlock">
         <span class="selectLabel">负责人</span>
-        <el-select v-model="pavalues.value3" placeholder="请选择">
+        <el-select v-model="selectInp.leader" placeholder="请选择">
+          <el-option label="所有负责人" :value="''"></el-option>
           <el-option
-            v-for="item in options3"
-            :key="item.value"
-            :label="item.label"
-            :value="item.value">
+            v-for="(item,index) in options.person"
+            :key="index"
+            :label="item.pro_leader"
+            :value="item.pro_leader">
           </el-option>
         </el-select>
       </div>
@@ -82,35 +86,43 @@
     <div class="projectBlock core_dialogue">
       <div class="classBlock" v-for="(item,index) in items" :key="index">
         <div class="projectBlockPosition">
-          {{ item.finish }}
+          <!-- {{ item.isupload }} -->
+          <span v-if="item.isupload==0">未结题</span>
+          <span v-if="item.isupload==1">进行中</span>
+          <span v-if="item.isupload==2">已结题</span>
+
         </div>
-        <img :src='item.pic' alt="">
+        <img src='@/assets/img/cocoClass.png' alt="">
         <div class="classBlock1">
-            <div class="classBlock2">{{ item.projectName }}</div>
+            <div class="classBlock2">{{ item.title }}</div>
             <div class="classBlock3">
-              <div>{{ item.person }}</div>
-              <div>{{ item.school }}</div>
+              <div>{{ item.pro_leader }}</div>
+              <div>{{ item.name }}</div>
             </div>
             <div class="classBlock3 classBlock4">
-              <div style="color:#9e9e9e">{{ item.blogs }}</div>
-              <div>项目编号{{ item.num }}</div>
+              <div style="color:#9e9e9e">{{ item.typeName }}</div>
+              <div>项目编号{{ index }}</div>
             </div>
         </div>
         <div class="classBlockBtn">
-              <el-button type="primary" class="bt1" size="mini" @click="edit">进度详情</el-button>
-              <el-button type="primary" class="bt1" size="mini" @click="pmFund">资金情况</el-button>
-              <el-button type="primary" class="bt1" size="mini" @click="projectDetails">结项</el-button>
+              <el-button type="primary" class="bt1" size="mini" @click="scheduleDetail">进度详情</el-button>
+              <el-button type="primary" class="bt1" size="mini" @click="fundStatus">资金情况</el-button>
+              <el-button type="primary" class="bt1" size="mini" @click="finish">结项</el-button>
         </div>
       </div>
     </div>
 <!-- 循环展示框列表结束 -->
-    <div style="display: flex;width: 90%;justify-content: flex-end;margin-top: 30px;">
-      <el-pagination
-        background
-        layout="prev, pager, next"
-        :total="1">
-      </el-pagination>
-    </div>
+          <!-- 分页 -->
+          <el-pagination
+            @current-change="handleCurrentChange"
+            :current-page="table.currentPage"
+            :page-size="table.packageSize"
+            layout=" prev, pager, next"
+            background
+            class="pagination"
+            :total="table.total">
+          </el-pagination>
+        <!-- 分页结束 -->
     
   </div>
 </template>
@@ -120,7 +132,7 @@
       data() {
         return {
           input:'',
-          items:[
+          items:[      //项目列表数据
               {
                 finish:'已结题',
                 pic:require('@/assets/img/cocoClass.png'),
@@ -130,69 +142,109 @@
                 blogs:'个人博客',
                 num:'JK123245679'
               },
+          ],
+          table:{         // 分页数据
+            total:0,
+            packageSize:4,
+            currentPage:1
+          },   
+          options:{    //头部搜索框下拉框数据
+            projectFilter:[],//项目筛选
+            department:[],//部门
+            sort:[],//分类
+            person:[],//负责人
+            state:[//状态
               {
-                finish:'未结题',
-                projectName:'流浪猫救助屋',
-                person:'刘丹璐',
-                pic:require('@/assets/img/catHome.png'),
-                school:'深圳技师学院',
-                blogs:'个人博客',
-                num:'JK123245679'
+                value:99,
+                label:'全部'
               },
               {
-                projectName:'人工智能领航班培训',
-                finish:'已结题',
-                pic:require('@/assets/img/AlCClass.jpg'),
-                person:'赖甲坎',
-                school:'深圳技师学院',
-                blogs:'个人博客',
-                num:'JK123245679'
+                value:0,
+                label:'未审核'
               },
               {
-                projectName:'1216演奏小星星的',
-                finish:'已结题',
-                pic:require('@/assets/img/color.png'),
-                person:'郎朗',
-                school:'深圳技师学院',
-                blogs:'个人博客',
-                num:'JK123245679'
+                value:1,
+                label:'正在审核'
               },
-          ],
-          options:[],
-          options1:[],
-          options2:[],
-          options3:[],
-          options4:[],
-          pavalues:{
-            value:'',
-            value1:'',
-            value2:'',
-            value3:'',
-            value4:'',
+              {
+                value:2,
+                label:"已审核"
+              },
+            ],
+          },
+          selectInp:{     //select选定所显示的值 
+            filter:0,     //不要带引号,select框是根据id来选择下面数据的
+            department:0,
+            sort:0,
+            state:99,
+            leader:'',
           }
         }
       },
       methods:{
-        edit(){
+        scheduleDetail(){      //进度详情
           this.$router.push('/ProjectManagement1')
         },
-        pmFund(){
+        fundStatus(){     //资金情况
           this.$router.push('/ProjectManagementFund1')
         },
-        handleSelectionChange(val) {
-          this.multipleSelection = val;
+        init(){       //对话框重置
+          
+        },
+        finish(){     //结项
+
         },
-        init(){
+        handleCurrentChange(val) {   //当页数发生改变的时候调用获取列表数据请求
+          // console.log(`当前页: ${val}`);
+          this.table.currentPage=val
+          this.getData()
         },
-        projectDetails(){
+        getData(){        //获取渲染数据
+          let param={
+            uid:this.$store.state.userInfo.userid,  //当前账号id
+            pid:this.selectInp.filter,  //筛选
+            did:this.selectInp.department,  //部门
+            tid:this.selectInp.sort,    //分类
+            leader:this.selectInp.leader,  //负责人
+            st:this.selectInp.state,  //审核状态
+            page:this.table.currentPage,  //当前页
+            // lim:this.table.packageSize  //限制获取几条数据
+            lim:4  //限制获取几条数据
+
+          }
+          // return console.log(param);
+          // console.log(param)
+          this.ajax    
+            .get(this.$store.state.api+'/SelectAllProject',param)
+              .then(res=>{
+                // console.log(res.data);
+                let data=res.data;
+                // console.log(res);
+                let a=this.options;
+                this.items=data[0];
+                console.log(this.items);
+                a.projectFilter=data[1];
+                a.department=data[2];
+                a.sort=data[3];
+                a.person=data[4];
+                this.table.total=data[5][0].total
+              },err=>{
+                console.log(err);
+              })  
         }
-      }
+     },
+     mounted(){
+      this.getData()   //页面加载完成后自动获取渲染数据
+     }
     }
 </script>
 
 <style lang="less">
 .ProjectManagement{
-  
+  .pagination{
+    float: right;
+    margin: 20px 85px 10px;
+  }
     .projectBlock{   //大框
       width: 100%;
       height: 350px;