소스 검색

项目结项

yuanyiming 2 년 전
부모
커밋
ca2081b76f

+ 24 - 0
src/router/index.js

@@ -240,6 +240,30 @@ const routes = [{
                     import ('@/views/projectSettlement/projectSettlement2.vue'),
                 meta: { isAuth: true }
 
+            },
+            { //项目结项
+                name: 'projectSettlement3',
+                path: '/projectSettlement3',
+                component: () =>
+                    import ('@/views/projectSettlement/projectSettlement3.vue'),
+                meta: { isAuth: true }
+
+            },
+            { //项目结项
+                name: 'projectSettlement4',
+                path: '/projectSettlement4',
+                component: () =>
+                    import ('@/views/projectSettlement/projectSettlement4.vue'),
+                meta: { isAuth: true }
+
+            },
+            { //项目结项
+                name: 'projectSettlement5',
+                path: '/projectSettlement5',
+                component: () =>
+                    import ('@/views/projectSettlement/projectSettlement5.vue'),
+                meta: { isAuth: true }
+
             },
             { //成果展示
                 name: 'resultsShow',

+ 0 - 1
src/views/projectManage/ProjectManagement.vue

@@ -333,7 +333,6 @@ import beUpload from '../../components/tool/beUpload'
       width: 100%;
       height: 560px;
       display: flex;
-      overflow: hidden;
       flex-wrap: wrap;
       overflow:auto;
       .classBlock{   //每个独立小框

+ 2 - 6
src/views/projectManage/ProjectManagement1.vue

@@ -60,9 +60,10 @@
                           placeholder="选择日期">
                         </el-date-picker>
                     </div>
-                    <div class="inpBlock">
+                    <div class="inpBlock" style="position: relative;">
                         <div class="label">预算总经费</div>
                         <el-input v-model="select.Fund" disabled placeholder="请输入内容"></el-input>
+                        <span style="position: absolute;right: -20px;top: 9px;">万</span>
                     </div>
                     <div class="inpBlock">
                         <div class="label">选择分类</div>
@@ -156,10 +157,6 @@
     export default {
       data() {
         return {
-          options: [{
-            value: '选项1',
-            label: '中德学院'
-        }],
           select:{    //数据详情框数据
             project:'',   
             person:'',
@@ -171,7 +168,6 @@
             sortOptions: [], //分类下拉框
             department:[],
           },
-          value: '中德学院',
           input:'',
           textarea:'',     //项目简介
           tableData:[],   //项目成员列表

+ 44 - 52
src/views/projectSettlement/projectSettlement.vue

@@ -9,20 +9,20 @@
     <div class="selects">
       <div class="selectsBlock">
         <span class="selectLabel">项目筛选</span>
-        <el-select v-model="selectInp.filter" placeholder="我的项目">
+        <el-select v-model="selectInp.filter" @change="getData" placeholder="我的项目">
           <el-option label="所有项目" :value="0"></el-option>
           <el-option
             v-for="item in options.projectFilter"
-            :key="item.id"
-            :label="item.name"
-            :value="item.id">
+            :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="selectInp.department" placeholder="请选择">
+        <el-select v-model="selectInp.department" @change="getData" placeholder="请选择">
           <el-option label="所有部门" :value="0"></el-option>
 
           <el-option
@@ -36,7 +36,7 @@
 
       <div class="selectsBlock">
         <span class="selectLabel">分类</span>
-        <el-select v-model="selectInp.sort" placeholder="请选择">
+        <el-select v-model="selectInp.sort" @change="getData" placeholder="请选择">
           <el-option label="所有分类" :value="0"></el-option>
 
           <el-option
@@ -50,21 +50,20 @@
 
       <div class="selectsBlock">
         <span class="selectLabel">负责人</span>
-        <el-select v-model="selectInp.person" placeholder="请选择">
+        <el-select v-model="selectInp.person" @change="getData" placeholder="请选择">
           <el-option label="所有负责人" :value="''"></el-option>
-
           <el-option
-            v-for="item in options.person"
-            :key="item.id"
-            :label="item.name"
-            :value="item.id">
+            v-for="(item,index) in options.person"
+            :key="index"
+            :label="item.pro_leader"
+            :value="item.pro_leader">
           </el-option>
         </el-select>
       </div>
 
       <div class="selectsBlock">
         <span class="selectLabel">状态</span>
-        <el-select v-model="selectInp.state" placeholder="请选择">
+        <el-select v-model="selectInp.state" @change="getData" placeholder="请选择">
           <el-option
             v-for="item in options.state"
             :key="item.value"
@@ -91,37 +90,37 @@
           >
         </el-table-column> -->
         <el-table-column
-          prop="projectName"
+          prop="title"
           label="项目名称"
           align="center"
           min-width="10%">
         </el-table-column>
         <el-table-column
-          prop="projectPerson"
+          prop="pro_leader"
           align="center"
           label="项目负责人"
           min-width="10%">
         </el-table-column>
         <el-table-column
-          prop="dept"
+          prop="name"
           label="所在部门"
           align="center"
           min-width="10%">
         </el-table-column>
         <el-table-column
-          prop="budget"
+          prop="money"
           label="预算总经费(万)"
           align="center"
           min-width="10%">
         </el-table-column>
         <el-table-column
-          prop="date"
+          prop="time"
           label="时间"
           align="center"
           min-width="10%">
         </el-table-column>
         <el-table-column
-          prop="tel"
+          prop="phone"
           label="联系电话"
           align="center"
           min-width="10%">
@@ -131,6 +130,13 @@
           label="状态"
           align="center"
           min-width="8%">
+          <template #default="scope">
+            <div>
+              <span v-if="scope.row.isupload == 0">未结题</span>
+              <span v-if="scope.row.isupload == 1">已结题</span>
+              <!-- <span v-if="scope.row.isupload == 0">未结题</span> -->
+           </div>
+          </template>
         </el-table-column>
         <el-table-column
           prop="operation"
@@ -140,9 +146,9 @@
           >
           <template #default="scope">
               <div class="operations">
-                        <el-button type="primary" class="bt1" size="mini" @click="details">查看详情</el-button>
+                        <el-button type="primary" class="bt1" size="mini" @click="details(scope.row.courseId)">查看详情</el-button>
                         <el-button type="primary" class="bt1" size="mini">审核</el-button>
-                        <el-button type="primary" class="bt1" size="mini" @click="edit(scope.row.id,scope.row.status)"  >成果查看</el-button>
+                        <el-button type="primary" class="bt1" size="mini" @click="edit(scope.row.id,scope.row.status)">成果查看</el-button>
               </div>
           </template>
         </el-table-column>
@@ -151,15 +157,15 @@
     <!-- 表格结束 -->
     <!-- 分页 -->
     <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>
-        <!-- 分页结束 -->
+      @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>
 
@@ -190,28 +196,10 @@
            // 分页数据
            table:{
             total:0,
-            packageSize:6,
+            packageSize:5,
             currentPage:1
           },   
-          tableData:[{
-            projectName:'陆地游泳辅助器',
-            projectPerson:'王多鱼',
-            dept:'西虹市',
-            budget:'200万',
-            date:'2022年-11月-12日',
-            tel:'16625153432',
-            state:'未审核',
-          },
-          {
-            projectName:'北极运冰',
-            projectPerson:'王多鱼',
-            dept:'西虹市',
-            budget:'500万',
-            date:'2022年-11月-12日',
-            tel:'16625153432',
-            state:'已审核',
-          }
-          ],
+          tableData:[],   //结项数据表
           selectInp:{
             filter:0,
             department:0,
@@ -243,7 +231,7 @@
           this.ajax    
             .get(this.$store.state.api+'/SelectSettlement',param)
               .then(res=>{
-                console.log(res.data);
+                // console.log(res.data);
                 let data=res.data;
                 let a=this.options;
                 this.tableData=data[0];
@@ -259,12 +247,16 @@
         edit(){
 
         },
-        details(){
+        details(val){
+          localStorage.setItem('pid',JSON.stringify(val))
           this.$router.push('/projectSettlement1')
         },
         handleSelectionChange(val) {
           this.multipleSelection = val;
         }
+      },
+      mounted(){
+        this.getData();
       }
     }
 </script>

+ 111 - 39
src/views/projectSettlement/projectSettlement1.vue

@@ -17,7 +17,7 @@
           <div @click="remark5">结项评语</div>
       </div>
       <div class="psSmallTit">
-        结题时间:2023年-11月-20日
+        <span style="margin-right: 10px;">结题时间:</span>{{ select.endTime }}
       </div>
 
 
@@ -26,29 +26,29 @@
      <div class="select">
               <div class="selectTop">
                 <div class="label">项目名称</div>
-                <el-input v-model="input" placeholder="请输入内容"></el-input>
+                <el-input v-model="select.project" placeholder="请输入内容"></el-input>
               </div>
               <div class="selectMid">
                 <div class="selectLeft">
                
                     <div class="inpBlock">
                         <div class="label">负责人</div>
-                        <el-input v-model="input" placeholder="请输入内容"></el-input>
+                        <el-input v-model="select.person" placeholder="请输入内容"></el-input>
                     </div>
                     <div class="inpBlock">
                         <div class="label">所在部门</div>
-                        <el-select v-model="input" style="width: 100%;" placeholder="请选择">
+                        <el-select v-model="select.departmentData" style="width: 100%;" placeholder="请选择">
                           <el-option
-                            v-for="item in options"
-                            :key="item.value"
-                            :label="item.label"
-                            :value="item.value">
+                            v-for="item in select.department"
+                            :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="input" placeholder="请输入内容"></el-input>
+                        <el-input v-model="select.tel" placeholder="请输入内容"></el-input>
                     </div>
                 </div>
 
@@ -56,17 +56,28 @@
                   <div class="inpBlock">
                         <div class="label">项目开始时间</div>
                         <el-date-picker
-                          v-model="value"
-                          type="date"
+                          v-model="select.Date"
+                          type="datetime"
                           style="width: 100%;"
                           placeholder="选择日期">
                         </el-date-picker>
                     </div>
-                    <div class="inpBlock">
+                    <div class="inpBlock" style="position: relative;">
                         <div class="label">预算总经费</div>
-                        <el-input v-model="input" placeholder="请输入内容"></el-input>
+                        <el-input v-model="select.Fund" placeholder="请输入内容"></el-input>
+                        <span style="position: absolute;right: -20px;top: 9px;">万</span>
+                    </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.id"
+                            :label="item.name"
+                            :value="item.id">
+                          </el-option>
+                        </el-select>
                     </div>
-                    
                 </div>
               </div>
               
@@ -87,7 +98,7 @@
           >
          
           <el-table-column
-            prop="Name"
+            prop="name"
             label="姓名"
             align="center"
             >
@@ -100,13 +111,19 @@
           </el-table-column>
   
           <el-table-column
-            prop="tel"
+            prop="phone"
             label="电话"
             align="center"
             >
           </el-table-column>
   
           <el-table-column
+            prop="score"
+            label="学分"
+            align="center"
+            >
+          </el-table-column>
+          <!-- <el-table-column
             prop="operation"
             align="center"
             label="操作"
@@ -116,7 +133,7 @@
                         <el-button type="primary"  @click="lookDetail(scope.rows.id)" size="mini" style="background: #477edd">查看详情</el-button>
                 </div>
             </template>
-          </el-table-column>
+          </el-table-column> -->
         </el-table>
         <!-- 项目成员区域结束 -->
 
@@ -152,27 +169,79 @@
               value: '选项1',
               label: '中德学院'
             }],
-            value: '中德学院',
-           input:'',
-            tableData:[{
-              Name:'徐晓慧',
-              class:'22电子通信G5',
-              tel:'13751177411',
-            },
-            {
-              Name:'林凡文',
-              class:'22电子通信G5',
-              tel:'13751177411',
-            },
-            {
-              Name:'林凡文',
-              class:'22电子通信G5',
-              tel:'13751177411',
+            select:{    //数据详情框数据
+              project:'',   
+              person:'',
+              departmentData:"",  //部门框值
+              sort:'',     //分类值
+              tel:'',
+              Date:'',
+              Fund:'',
+              sortOptions: [], //分类下拉框
+              department:[],
+              endTime:''
+
             },
-            ],
+            textarea:'',     //项目简介
+            tableData:[],   //项目成员列表
+
+
+            value: '中德学院',
+            input:'',
+            
           }
         },
         methods:{
+          getData(){
+            let param={
+            uid:this.$store.state.userInfo.userid,
+            pid:JSON.parse(localStorage.getItem('pid'))
+          }
+          // console.log(param);
+            this.ajax
+                  .get(this.$store.state.api+'/GetProjectBase',param)
+                  .then(res=>{
+                    // console.log(res);
+                    let data=res.data[0][0]
+                    // console.log(data);
+                    this.select.project=data.title;
+                    this.select.Fund=data.money;
+                    this.select.person=data.pro_leader;
+                    this.select.Date=data.begintime;
+                    this.textarea=data.brief;
+                    this.tableData=JSON.parse(data.course_student) 
+                    this.select.tel=data.phone;
+                    this.select.endTime=data.endTime
+                    this.select.departmentData = data['classid']
+                    this.select.sort = data['typeid']
+                  },err=>{
+                    console.log(err);
+                  })
+          },
+          getProjectDepartmentData(){  //获取项目立项申请基础信息页面所在部门数据
+              let param={
+                uid:this.$store.state.userInfo.userid
+              }
+                this.ajax
+                      .get(this.$store.state.api+'/SelectAllDepartment',param)
+                      .then(res=>{
+                        this.select.department=res.data[0]
+                      },err=>{
+                        console.log(err);
+                      })
+            },
+          getProjectTypeData(){  //获取项目立项申请基础信息页面分类数据
+            let param={
+              uid:this.$store.state.userInfo.userid
+            }
+              this.ajax
+                    .get(this.$store.state.api+'/SelectAllType',param)
+                    .then(res=>{
+                      this.select.sortOptions=res.data[0]
+                    },err=>{
+                      console.log(err);
+                    })
+          },
           lookDetail(){
 
           },
@@ -180,16 +249,16 @@
               this.$router.push('/projectSettlement1')
             },
             remark(){
-            //   this.$router.push('/ProjectManagement2')
+              this.$router.push('/projectSettlement2')
             },
             remark2(){
-            //   this.$router.push('/ProjectManagement3')
+              this.$router.push('/projectSettlement3')
             },
             remark4(){
-            //   this.$router.push('/ProjectManagement4')
+              this.$router.push('/projectSettlement4')
             },
             remark5(){
-              this.$router.push('/projectSettlement2')
+              this.$router.push('/projectSettlement5')
             },
          
             back(){
@@ -200,7 +269,10 @@
           },
          
         },
-        created(){
+        mounted(){
+          this.getData();
+          this.getProjectDepartmentData();
+          this.getProjectTypeData();
           // this.value=(this.options[0].value)
         }
       }

+ 113 - 147
src/views/projectSettlement/projectSettlement2.vue

@@ -1,200 +1,166 @@
 <template>
-  <!-- 项目结项 结项评语 -->
-    <div class="projectSettlement2">
+  <!-- 项目管理 项目详细 -->
+    <div class="ProjectManagement2">
       <div class="vfpHeader">
-          <div class="titleOne">项目管理</div>
-          <div class="smallTitle" style="left: 100px;">项目详情</div>
-          <el-button type="primary" @click="back">返回</el-button>
-      </div>
+      <!-- 详情页 -->
+        <div class="titleOne">项目管理</div>
+        <div class="smallTitle" style="left: 100px;">项目详情</div>
+        <el-button type="primary" @click="back">返回</el-button>
+    </div>
       <hr>
-      <div class="AppBar">
-          <div @click="content">项目基本内容</div>
-          <div @click="remark">项目详情</div>
-          <div @click="remark2">项目附件</div>
-          <div @click="remark4">项目结题附件</div>
-          <div @click="remark5"  class="AppBarActive">结项评语</div>
-      </div>
-
-      <!-- 上传文件以及表格开始 -->
-      <div class="ps2Inp">
-          <el-button type="primary" class="btn" size="mini">上传文件</el-button>
-        </div>
-      <el-table
-        :data="tableData"
-        tooltip-effect="dark"
-        stripe
-        class="fontSize"
-        :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
-        >
-        <el-table-column
-          prop="projectName"
-          label="项目结项材料"
-          align="center"
-          >
-        </el-table-column>
 
-        <el-table-column
-          prop="size"
-          label="大小"
-          align="center"
-          >
-        </el-table-column>
-
-        <el-table-column
-          prop="date"
-          label="时间"
-          align="center"
-          >
-        </el-table-column>
+    <!-- 跳转导航开始 -->
+    <div class="AppBar">
+      <div @click="content">项目基本内容</div>
+      <div @click="remark" class="AppBarActive">项目详情</div>
+      <div @click="remark2">项目附件</div>
+      <div @click="remark4">项目结题附件</div>
+      <div @click="remark5">结项评语</div>
+    </div>
+    <!-- 跳转导航结束 -->
+     
+      <div class="PA2textArea">
+        <div class="PA2textAreaTit">项目创新点</div>
+        <vue-editor  :editorToolbar="customToolbar" v-model="data[0][0]"></vue-editor>
        
-        <el-table-column
-          prop="operation"
-          label="操作"
-          align="center"
-          >
-          <template #default="scope">
-              <div class="operations">
-                  <!-- <el-button type="primary" > -->
-                        <el-button type="primary"  size="mini" @click="edit(scope)" >详情查看</el-button>
-                  <!-- </el-button> -->
-              </div>
-          </template>
-        </el-table-column>
-      </el-table>
-      <!-- 上传文件以及表格结束 -->
-
-      <!-- 多行文本框区域开始 -->
-      <div class="PS2tabTit0">
-        结项评价
       </div>
-      <div class="tabTit">
-            <div><p>科研办</p></div>
-      </div>
-      <hr>
-      <div class="ps1textArea">
-        <el-input
-          type="textarea"
-          :rows="6"
-          resize="none"
-          class="textArea"
-          placeholder="请输入内容"
-          v-model="textarea">
-        </el-input>
+      <div class="PA2mid">
+        预期取得成果
       </div>
-      <div class="tabTit">
-            <div><p>学术委员会</p></div>
+      
+      <div class="PA2textArea">
+        <div class="PA2textAreaTit PA2textAreaTit2">一、项目预期成果、数量及形式</div>
+        <vue-editor  :editorToolbar="customToolbar" v-model="data[0][1]"></vue-editor>
+        
       </div>
-      <hr>
-      <div class="ps1textArea">
-        <el-input
-          type="textarea"
-          class="textArea"
-          :rows="6"
-          resize="none"
-          placeholder="请输入内容"
-          v-model="textarea">
-        </el-input>
+      <div class="PA2textArea">
+        <div class="PA2textAreaTit PA2textAreaTit2">二、创客人才培养预期成果、数量</div>
+        <vue-editor  :editorToolbar="customToolbar" v-model="data[0][2]"></vue-editor>
+       
       </div>
-      <div class="tabTit">
-            <div><p>部门审核评语</p></div>
+      <div class="PA2textArea">
+        <div class="PA2textAreaTit PA2textAreaTit2">三、项目预期孵化、转化创业项目情况</div>
+        <vue-editor  :editorToolbar="customToolbar" v-model="data[0][3]"></vue-editor>
+       
       </div>
-      <hr>
-      <div class="ps1textArea">
-        <el-input
-          type="textarea"
-          :rows="6"
-          resize="none"
-          class="textArea"
-          placeholder="请输入内容"
-          v-model="textarea">
-        </el-input>
+      <div class="PA2textArea">
+        <div class="PA2textAreaTit">项目实施计划</div>
+        <vue-editor  :editorToolbar="customToolbar" v-model="data[0][4]"></vue-editor>
+       
       </div>
-      <!-- 多行文本框区域结束 -->
-      <div class="baseBtn">
+      <!-- <div class="baseBtn">
         <div class="blockWidth">
-          <el-button type="primary" class="backBtn" @click="$router.back()">返回</el-button>
+          <el-button type="primary" class="backBtn" @click="backBtn2">返回</el-button>
         </div>
-      </div>
+      </div> -->
+  
     </div>
   </template>
   
   <script>
+import { VueEditor } from "vue2-editor";
+
       export default {
+        components:{
+          VueEditor
+        },
         data() {
           return {
-            textarea:'',
-           tableData:[{
-            projectName:'创业孵化基地企业情况信息表',
-            date:'2022年11月12日',
-            size:'50k'
-            },
-            {
-              projectName:'创业孵化基地企业情况信息表',
-              size:'50k',
-              date:'2022年11月12日',
-            }
+            data:[["","","","",""],[]],
+            submitHint:false,
+            customToolbar: [
+              ["bold", "italic", "underline"], [{ list: "ordered" }, { list: "bullet" }],
+              [{ align: "" }, { align: "center" }, { align: "right"}, { align: "justify"}],
+              [{header:[false,1,2,3,4]}]
             ],
-         
           }
         },
         methods:{
+          getData(){   //初始化完成获取基本数据进行填充
+            let param={
+              uid:this.$store.state.userInfo.userid,
+              pid:JSON.parse(localStorage.getItem('pid'))
+            }
+              this.ajax
+                    .get(this.$store.state.api+'/GetProjectDetailMessage',param)
+                    .then(res=>{
+                      // console.log(res)
+                      let GetData=JSON.parse(res.data[0][0].chapters)
+                      // console.log(GetData)
+                      this.data=GetData
+                      // console.log(this.data);
+                    },err=>{
+                      console.log(err);
+                    })
+          },
           content(){
-            // alert('222')
               this.$router.push('/projectSettlement1')
             },
             remark(){
-            //   this.$router.push('/ProjectManagement2')
+              this.$router.push('/projectSettlement2')
             },
             remark2(){
-            //   this.$router.push('/ProjectManagement3')
+              this.$router.push('/projectSettlement3')
             },
             remark4(){
-            //   this.$router.push('/ProjectManagement4')
+              this.$router.push('/projectSettlement4')
             },
             remark5(){
-              this.$router.push('/projectSettlement2')
+              this.$router.push('/projectSettlement5')
             },
+         
             back(){
-              this.$router.push('/projectSettlement')
-            },
+            this.$router.push('/projectSettlement')
+          },
+          edit(){
+  
+          },
           // backBtn2(){
-          //   this.$router.push('/projectSettlement')
+          //   this.$router.push('/ProjectManagement1')
           // },
           handleSelectionChange(val) {
             this.multipleSelection = val;
           },
-         
+          back(){
+            this.$router.push('/projectSettlement')
+          },
         },
-       
+        created(){
+          this.getData();
+        }
       }
   </script>
   
   <style lang="less">
-  .projectSettlement2{
+  .ProjectManagement2{
 
 
-    .PS2tabTit0{
-      width: 100%;
-      text-align: left;
-      margin: 20px 15px 20px 0px;
-      color: #ccc;
-      font-size: 22px;
+    .PA2textArea{
+        margin: 15px 0px;
+        .PA2textAreaTit{
+            width: 100%;
+            text-align: left;
+            font-size: 18px;
+            font-weight: 550;
+            margin-bottom: 15px;
+            color: #2387ff;
+        }
+        .PA2textAreaTit2{
+            font-size: 16px;
+        }
     }
-
     
-    .ps2Inp{
-      width: 100%;
-      display: flex;  
-      justify-content: flex-end;
-      margin: 10px 0;
-      .btn{
-        height: 30px;
-        width: 100px;
-        background: #477edd;
-        margin-left: 10px;
-        font-size: 16px;
-      }
+    .PA2mid{
+        margin: 15px 0px;
+        width: 100%;
+        text-align: left;
+        font-size: 18px;
+        font-weight: 550;
+        margin-bottom: 10px;
+        color: #2387ff;
+    }
+    .homePage .homeBody .main[data-v-7eb2bc79]{
+      text-align: left !important;
     }
   }
-
   </style>

+ 231 - 0
src/views/projectSettlement/projectSettlement3.vue

@@ -0,0 +1,231 @@
+<template>
+  <!-- 项目管理 项目附件 -->
+    <div class="ProjectManagement4">
+      <div class="vfpHeader">
+      <!-- 详情页 -->
+        <div class="titleOne">项目管理</div>
+        <div class="smallTitle" style="left: 100px;">项目详情</div>
+        <el-button type="primary" @click="back">返回</el-button>
+    </div>
+      <hr>
+       <!-- 跳转导航开始 -->
+       <div class="AppBar">
+         <div @click="content" >项目基本内容</div>
+          <div @click="remark">项目详情</div>
+          <div @click="remark2" class="AppBarActive">项目附件</div>
+          <div @click="remark4" >项目结题附件</div>
+          <div @click="remark5">结项评语</div>
+      </div>
+      <!-- 跳转导航结束 -->
+      <div class="pmInp">
+          <!-- <el-button type="primary" class="btn"  size="mini">上传文件</el-button> -->
+          <!-- <beUpload @getFile="getFile"  :navName="'上传文件'" :accept="accept"></beUpload> -->
+
+        </div>
+        <!-- 表格开始 -->
+        <el-table
+        :data="tableData"
+        tooltip-effect="dark"
+        stripe
+        style="height: 550px;"
+        class="fontSize"
+        :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
+        >
+       
+
+        <!-- <el-table-column
+          prop="title"
+          label="活动名称"
+          align="center"
+          >
+        </el-table-column> -->
+
+        <el-table-column
+          prop="fileName"
+          label="活动中期报告"
+          align="center"
+          >
+        </el-table-column>
+        
+        <el-table-column
+          prop="size"
+          label="大小"
+          align="center"
+          >
+        </el-table-column>
+       
+        <el-table-column
+          prop="uploadTime"
+          label="时间"
+          align="center"
+          >
+        </el-table-column>
+
+        <el-table-column
+          prop="operation"
+          align="center"
+
+          label="操作"
+          >
+          <template #default="scope">
+              <div class="operations">
+                      <el-button type="primary" class="bt1" size="mini" @click="lookDetails(scope.rows.id)" style="background: #477edd">详情查看</el-button>
+              </div>
+          </template>
+        </el-table-column>
+        </el-table>
+        <!-- 表格结束 -->
+
+        <!-- 分页 -->
+        <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>
+  
+  <script>
+  import beUpload from '../../components/tool/beUpload'
+
+      export default {
+        components:{beUpload},
+        data() {
+          return {
+          accept:".doc,.docx,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document",
+            table:{         // 分页数据
+              total:0,
+              packageSize:8,
+              currentPage:1
+            }, 
+            tableData:[],
+          }
+        },
+        methods:{
+          getFile(val) {    //上传文件
+            this.file = val;
+            let oldData = [];
+            this.tableData.forEach(item=>oldData.push(item))
+            oldData.push(val)
+          
+            let param={
+                uid:this.$store.state.userInfo.userid,
+                cid:JSON.parse(localStorage.getItem('pid')),
+                projectFile:JSON.stringify(oldData)
+            }
+            this.ajax
+                  .post(this.$store.state.api+'/AddProjectFile',param)
+                  .then(res=>{
+                    // console.log(res);
+                    if (res.data==1) {
+                      this.$message.success('上传成功')
+                      this.getData()
+                    }else{
+                      this.$message.error('上传失败')
+                    }
+                    
+                  },err=>{
+                    console.log(err);
+                  })
+          },
+          handleCurrentChange(val) {   //当页数发生改变的时候调用获取列表数据请求
+          // console.log(`当前页: ${val}`);
+          this.table.currentPage=val
+          this.getData()
+        },
+          getData(){       //获取基础信息
+              let param={
+                uid:this.$store.state.userInfo.userid,
+                pid:JSON.parse(localStorage.getItem('pid')),
+                page:this.table.currentPage,
+                lim:this.table.packageSize
+              }
+              // console.log(param);
+              this.ajax
+                    .get(this.$store.state.api+'/SelectProjectFile',param)
+                    .then(res=>{
+                      // console.log(res.data);
+                      let k=[]
+                      res.data[0].forEach((e,i) => {
+                        // console.log(e);
+                        let { projectFile: l } = e;
+                        // console.log(l);
+                        k=JSON.parse(l)
+                      });
+                      // console.log(k);
+                      this.tableData=k
+                    },err=>{
+                      console.log(err);
+                    })
+          },
+          content(){
+              this.$router.push('/projectSettlement1')
+            },
+            remark(){
+              this.$router.push('/projectSettlement2')
+            },
+            remark2(){
+              this.$router.push('/projectSettlement3')
+            },
+            remark4(){
+              this.$router.push('/projectSettlement4')
+            },
+            remark5(){
+              this.$router.push('/projectSettlement5')
+            },
+         
+            back(){
+            this.$router.push('/projectSettlement')
+          },
+        },
+        mounted(){
+          this.getData()
+        }
+      }
+  </script>
+  
+  <style lang="less">
+  .ProjectManagement4{
+    .pagination{
+      float: right;
+      margin: 20px 55px 10px;
+    }
+  
+
+   
+    .pm1Tit{
+        display: flex;
+        margin-left: 20px;
+        div{
+          width: 130px;
+          cursor: pointer;
+          font-weight: 550;
+        }
+        .pr1TitBass{
+          height: 2px;
+          width: 100%;
+          background: #3D67BC;
+        }
+    }
+    .pmInp{
+      width: 100%;
+      display: flex;
+      margin: 10px 0 10px 0;
+      justify-content: flex-end;
+      .btn{
+        height: 30px;
+        width: 100px;
+        font-size: 16px !important;
+        background: #477edd;
+        margin-left: 10px;
+      }
+    }
+    
+  }
+   
+  </style>

+ 247 - 0
src/views/projectSettlement/projectSettlement4.vue

@@ -0,0 +1,247 @@
+<template>
+  <!-- 项目管理 项目结题附件 -->
+    <div class="ProjectManagement5">
+      <div class="vfpHeader">
+      <!-- 详情页 -->
+        <div class="titleOne">项目管理</div>
+        <div class="smallTitle" style="left: 100px;">项目详情</div>
+        <el-button type="primary" @click="back">返回</el-button>
+    </div>
+      <hr>
+       <!-- 跳转导航开始 -->
+       <div class="AppBar">
+        <div @click="content" >项目基本内容</div>
+          <div @click="remark">项目详情</div>
+          <div @click="remark2">项目附件</div>
+          <div @click="remark4" class="AppBarActive">项目结题附件</div>
+          <div @click="remark5">结项评语</div>
+      </div>
+      <!-- 跳转导航结束 -->
+      <div class="pmInp">
+          <!-- <el-button type="primary" class="btn" @click="addFile" size="mini">上传文件</el-button> -->
+          <!-- <beUpload @getFile="getFile"  :navName="'上传文件'" :accept="accept"></beUpload> -->
+
+        </div>
+
+        <!-- 表格部分开始 -->
+        <el-table
+        :data="tableData"
+        tooltip-effect="dark"
+        stripe
+        height="550px"
+        class="fontSize"
+        :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
+        >
+        <!-- <el-table-column
+          prop="projectTitle"
+          label="项目名称"
+          align="center"
+         >
+          <template>
+            <span>{{ title }}</span>
+          </template>
+        </el-table-column> -->
+
+        <el-table-column
+          prop="fileName"
+          label="项目中期报告"
+          align="center"
+         >
+        </el-table-column>
+        
+        <el-table-column
+          prop="size"
+          label="大小"
+          align="center"
+          >
+        </el-table-column>
+       
+        <el-table-column
+          prop="uploadTime"
+          label="时间"
+          align="center"
+          >
+        </el-table-column>
+
+        <el-table-column
+          prop="operation"
+          align="center"
+          label="操作"
+          >
+          <template #default="scope">
+              <div class="operations">
+                      <el-button type="primary"  size="mini" @click="detail(scope.rows.id)" style="background: #477edd">明细查看</el-button>
+              </div>
+          </template>
+        </el-table-column>
+        </el-table>
+
+
+      <!-- 分页 -->
+      <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>
+  
+  <script>
+  import beUpload from '../../components/tool/beUpload'
+
+      export default {
+        components:{beUpload},
+        data() {
+          return {
+          accept:".doc,.docx,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document",
+            table:{         // 分页数据
+              total:0,
+              packageSize:8,
+              currentPage:1
+            }, 
+            title:"",
+            tableData:[],  //附件列表
+            file:''
+          }
+        },
+        methods:{
+          getFile(val) {    //上传文件
+            this.file = val;
+            let oldData = [];
+            this.tableData.forEach(item=>oldData.push(item))
+            oldData.push(val)
+            // console.log(oldData)
+            // oldData.push(val)
+            // Object.assign(oldData,this.tableData)
+            // oldData.push(val)
+            // console.log(oldData)
+            // this.tableData.push(val)
+            // console.log(this.tableData);
+            let param={
+                uid:this.$store.state.userInfo.userid,
+                cid:JSON.parse(localStorage.getItem('pid')),
+                projectFile:JSON.stringify(oldData)
+            }
+            this.ajax
+                  .post(this.$store.state.api+'/AddProjectManageFile',param)
+                  .then(res=>{
+                    console.log(res);
+                    if (res.data==1) {
+                      this.getData()
+                      this.$message.success('上传成功')
+                    }else{
+                      this.$message.error('上传失败')
+                    }
+                   
+                  },err=>{
+                    console.log(err);
+                  })
+          },
+          handleCurrentChange(val) {   //当页数发生改变的时候调用获取列表数据请求
+            // console.log(`当前页: ${val}`);
+            this.table.currentPage=val
+            this.getData()
+          },
+          getData(){       //获取基础信息
+              let param={
+                uid:this.$store.state.userInfo.userid,
+                pid:JSON.parse(localStorage.getItem('pid')),
+                page:this.table.currentPage,
+                lim:this.table.packageSize
+              }
+              // console.log(param);
+              this.ajax
+                    .get(this.$store.state.api+'/SelectProjectManageFile',param)
+                    .then(res=>{
+                      let file = JSON.parse(res.data[0][0]['endFile']);
+                      // this.title = res.data[0][0]['title']
+                      // file.forEach(item=>item.projectTitle = res.data[0][0]['title'])
+                      // console.log(file)
+                     
+                      this.tableData=file
+                    },err=>{
+                      console.log(err);
+                    })
+          },
+          content(){
+              this.$router.push('/projectSettlement1')
+            },
+            remark(){
+              this.$router.push('/projectSettlement2')
+            },
+            remark2(){
+              this.$router.push('/projectSettlement3')
+            },
+            remark4(){
+              this.$router.push('/projectSettlement4')
+            },
+            remark5(){
+              this.$router.push('/projectSettlement5')
+            },
+         
+            back(){
+            this.$router.push('/projectSettlement')
+          },
+        },
+        mounted(){
+          this.getData()
+        }
+      }
+  </script>
+  
+  <style lang="less">
+  .ProjectManagement5{
+    .pagination{
+      float: right;
+      margin: 20px 55px 10px;
+    }
+  
+
+    .pm5footer{
+        float: right;
+        margin-top: 30px;
+        
+        .backBtn{
+            background: #169bd5;
+            float: right;
+            width: 100px;
+        }
+    }
+    
+    .pm1Tit{
+        display: flex;
+        margin-left: 20px;
+        div{
+        width: 130px;
+        cursor: pointer;
+        font-weight: 550;
+        }
+        .pr1TitBass{
+          height: 2px;
+          width: 100%;
+          background: #3D67BC;
+        }
+    }
+    .pmInp{
+      width: 100%;
+      margin: 10px 0 10px 0;
+      display: flex;  
+      justify-content: flex-end;
+      .btn{
+        height: 30px;
+        width: 100px;
+        font-size: 16px;
+        background: #477edd;
+        // margin-left: 10px;
+      }
+    }
+  }
+    
+   
+  </style>

+ 200 - 0
src/views/projectSettlement/projectSettlement5.vue

@@ -0,0 +1,200 @@
+<template>
+  <!-- 项目结项 结项评语 -->
+    <div class="projectSettlement2">
+      <div class="vfpHeader">
+          <div class="titleOne">项目管理</div>
+          <div class="smallTitle" style="left: 100px;">项目详情</div>
+          <el-button type="primary" @click="back">返回</el-button>
+      </div>
+      <hr>
+      <div class="AppBar">
+          <div @click="content">项目基本内容</div>
+          <div @click="remark">项目详情</div>
+          <div @click="remark2">项目附件</div>
+          <div @click="remark4">项目结题附件</div>
+          <div @click="remark5"  class="AppBarActive">结项评语</div>
+      </div>
+
+      <!-- 上传文件以及表格开始 -->
+      <div class="ps2Inp">
+          <el-button type="primary" class="btn" size="mini">上传文件</el-button>
+        </div>
+      <el-table
+        :data="tableData"
+        tooltip-effect="dark"
+        stripe
+        class="fontSize"
+        :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
+        >
+        <el-table-column
+          prop="projectName"
+          label="项目结项材料"
+          align="center"
+          >
+        </el-table-column>
+
+        <el-table-column
+          prop="size"
+          label="大小"
+          align="center"
+          >
+        </el-table-column>
+
+        <el-table-column
+          prop="date"
+          label="时间"
+          align="center"
+          >
+        </el-table-column>
+       
+        <el-table-column
+          prop="operation"
+          label="操作"
+          align="center"
+          >
+          <template #default="scope">
+              <div class="operations">
+                  <!-- <el-button type="primary" > -->
+                        <el-button type="primary"  size="mini" @click="edit(scope)" >详情查看</el-button>
+                  <!-- </el-button> -->
+              </div>
+          </template>
+        </el-table-column>
+      </el-table>
+      <!-- 上传文件以及表格结束 -->
+
+      <!-- 多行文本框区域开始 -->
+      <div class="PS2tabTit0">
+        结项评价
+      </div>
+      <div class="tabTit">
+            <div><p>科研办</p></div>
+      </div>
+      <hr>
+      <div class="ps1textArea">
+        <el-input
+          type="textarea"
+          :rows="6"
+          resize="none"
+          class="textArea"
+          placeholder="请输入内容"
+          v-model="textarea">
+        </el-input>
+      </div>
+      <div class="tabTit">
+            <div><p>学术委员会</p></div>
+      </div>
+      <hr>
+      <div class="ps1textArea">
+        <el-input
+          type="textarea"
+          class="textArea"
+          :rows="6"
+          resize="none"
+          placeholder="请输入内容"
+          v-model="textarea">
+        </el-input>
+      </div>
+      <div class="tabTit">
+            <div><p>部门审核评语</p></div>
+      </div>
+      <hr>
+      <div class="ps1textArea">
+        <el-input
+          type="textarea"
+          :rows="6"
+          resize="none"
+          class="textArea"
+          placeholder="请输入内容"
+          v-model="textarea">
+        </el-input>
+      </div>
+      <!-- 多行文本框区域结束 -->
+      <div class="baseBtn">
+        <div class="blockWidth">
+          <el-button type="primary" class="backBtn" @click="$router.back()">返回</el-button>
+        </div>
+      </div>
+    </div>
+  </template>
+  
+  <script>
+      export default {
+        data() {
+          return {
+            textarea:'',
+           tableData:[{
+            projectName:'创业孵化基地企业情况信息表',
+            date:'2022年11月12日',
+            size:'50k'
+            },
+            {
+              projectName:'创业孵化基地企业情况信息表',
+              size:'50k',
+              date:'2022年11月12日',
+            }
+            ],
+         
+          }
+        },
+        methods:{
+          content(){
+              this.$router.push('/projectSettlement1')
+            },
+            remark(){
+              this.$router.push('/projectSettlement2')
+            },
+            remark2(){
+              this.$router.push('/projectSettlement3')
+            },
+            remark4(){
+              this.$router.push('/projectSettlement4')
+            },
+            remark5(){
+              this.$router.push('/projectSettlement5')
+            },
+         
+            back(){
+            this.$router.push('/projectSettlement')
+          },
+          // backBtn2(){
+          //   this.$router.push('/projectSettlement')
+          // },
+          handleSelectionChange(val) {
+            this.multipleSelection = val;
+          },
+         
+        },
+       
+      }
+  </script>
+  
+  <style lang="less">
+  .projectSettlement2{
+
+
+    .PS2tabTit0{
+      width: 100%;
+      text-align: left;
+      margin: 20px 15px 20px 0px;
+      color: #ccc;
+      font-size: 22px;
+    }
+
+    
+    .ps2Inp{
+      width: 100%;
+      display: flex;  
+      justify-content: flex-end;
+      margin: 10px 0;
+      .btn{
+        height: 30px;
+        width: 100px;
+        background: #477edd;
+        margin-left: 10px;
+        font-size: 16px;
+      }
+    }
+  }
+
+  </style>

+ 95 - 35
src/views/resultShow/resultsShow.vue

@@ -101,13 +101,23 @@
       </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>
+          @current-change="handleCurrentChange"
+          :current-page="table.currentPage"
+          :page-size="table.packageSize"
+          layout=" prev, pager, next"
+          background
+          class="pagination"
+          :total="table.total">
+        </el-pagination>
+      <!-- 分页结束 -->
     
 
   </div>
@@ -118,6 +128,11 @@
       data() {
         return {
           input:'',
+          table:{         // 分页数据
+            total:0,
+            packageSize:8,
+            currentPage:1
+          },  
           items:[
               {
                 finish:'已结题',
@@ -155,6 +170,42 @@
                 blogs:'个人博客',
                 num:'JK123245679'
               },
+              {
+                projectName:'1216演奏小星星的',
+                finish:'已结题',
+                pic:require('@/assets/img/color.png'),
+                person:'郎朗',
+                school:'深圳技师学院',
+                blogs:'个人博客',
+                num:'JK123245679'
+              },
+              {
+                projectName:'1216演奏小星星的',
+                finish:'已结题',
+                pic:require('@/assets/img/color.png'),
+                person:'郎朗',
+                school:'深圳技师学院',
+                blogs:'个人博客',
+                num:'JK123245679'
+              },
+              {
+                projectName:'1216演奏小星星的',
+                finish:'已结题',
+                pic:require('@/assets/img/color.png'),
+                person:'郎朗',
+                school:'深圳技师学院',
+                blogs:'个人博客',
+                num:'JK123245679'
+              },
+              {
+                projectName:'1216演奏小星星的',
+                finish:'已结题',
+                pic:require('@/assets/img/color.png'),
+                person:'郎朗',
+                school:'深圳技师学院',
+                blogs:'个人博客',
+                num:'JK123245679'
+              },
           ], //项目展示小方块
           options:[],
           options1:[],
@@ -171,6 +222,11 @@
         }
       },
       methods:{
+        handleCurrentChange(val) {   //当页数发生改变的时候调用获取列表数据请求
+          // console.log(`当前页: ${val}`);
+          this.table.currentPage=val
+          this.getData()
+        },
         rsBtn(){
           this.$router.push('/resultShowDetail')
         }
@@ -182,26 +238,31 @@
 <style lang="less">
 .resultsShow{
 
+  .pagination{
+    float: right;
+    margin: 0px 85px 10px;
+  }
+
   .classBlocks{   //循环列表大框
     width: 100%;
     display: flex;
     flex-wrap: wrap;
-    height: 350px;
+    height: 560px;
     overflow:auto;
 
     .classBlock{   //独立小框
-      flex-shrink: 0;
-      width: 310px;
-      height: 300px;
-      margin-right: 30px;
-      margin-bottom: 15px;
-      position: relative;
-      overflow: hidden;
-      background-color: rgb(255, 255, 255);
-      box-shadow: 1px 2px 3px #ccc;
-      border: 1px solid #ccc;
-      border-radius: 5px;
-      
+          flex-shrink: 0;
+          overflow: hidden;
+          position: relative;
+          margin-right: 20px;
+          margin-bottom: 5px;
+          width: 320px;height: 260px;
+          background-color: rgb(255, 255, 255);
+          box-shadow: 1px 2px 3px #ccc;
+          border: 1px solid #ccc;
+          border-radius: 5px;
+          display: flex;
+          flex-direction: column;
       .projectBlockPosition{    //完成状态
           border-radius: 30px;
           position: absolute;
@@ -218,7 +279,7 @@
           color:#fff;
       }
       img{
-        width: 100%;height: 150px;
+        width: 100%;height: 120px;
       }
 
       .classBlock1{   //中间栏
@@ -228,32 +289,31 @@
         margin-top: 5px;
 
         .classBlock2{   //项目名称
-          box-sizing: border-box;
-          padding: 0 5px;
-          // margin-top: 10px;
-          margin-top: 4px;
-          margin-bottom: 5px;
-          text-align: left;
-          font-size: 18px;
+          margin-left: 5px;
+              margin-bottom: 4px;
+              margin-top: 4px;
+              text-align: left;
+              font-size: 18px;
         }
         .classBlock3{   //名字、学院
+      
           box-sizing: border-box;
-          padding: 0 5px;
-          font-size: 16px;
-          width: 100%;
-          margin-top: 6px;
-          display: flex;
-          justify-content: space-between;
+              padding: 0 5px;
+              font-size: 16px;
+              width: 100%;
+              margin-top: 4px;
+              display: flex;
+              justify-content: space-between;
         }
         .classBlock4{
-          margin-top: 8px;
+          margin-top: 4px;
         }
       }
       .bt1{   //项目成果展示按钮
         width: 95%;
         background: #5190fd;
         height: 40px;
-        // margin-top: 5px;
+        margin-left: 8px;
         font-size: 14px;
       }
     }