yuanyiming 2 سال پیش
والد
کامیت
fff202e8b9

+ 3 - 3
src/components/MakerSpaceWordPreview.vue

@@ -52,7 +52,7 @@
               <div class="memberValue">所在教研室</div>
               <div class="memberValue">项目组角色分工</div>
             </div>
-            <div class="memberHan" v-for="item in wordData['teacher']">
+            <div class="memberHan" v-for="(item,index) in wordData['teacher']" :key="index">
               <div class="memberValue">{{item['name']}}</div>
               <div class="memberValue">{{item['speciality']}}</div>
               <div class="memberValue">{{item['title']}}</div>
@@ -78,7 +78,7 @@
               <div class="memberValue">年龄</div>
               <div class="memberValue">项目组角色分工</div>
             </div>
-            <div class="memberHan" v-for="item in wordData['student']">
+            <div class="memberHan" v-for="(item,index) in wordData['student']" :key="index">
               <div class="memberValue">{{item['name']}}</div>
               <div class="memberValue">{{ item['class'] }}</div>
               <div class="memberValue">{{ item['age'] }}</div>
@@ -161,7 +161,7 @@
           </div>
         </div>
 
-        <div class="fund" v-for="item in wordData['fund']">
+        <div class="fund" v-for="(item,index) in wordData['fund']" :key="index">
           <div class="fundTitle">
             预算<br/>经费
           </div>

+ 776 - 0
src/components/studentMakerProjectPreview.vue

@@ -0,0 +1,776 @@
+<template>
+    <!-- <div id="WordPreview"> -->
+      <div id="title">
+        <div class="school">深圳技师学院</div>
+        <div class="wordTitle">二级学院特色创客空间建设项目立项申报书</div>
+        <div class="date">申请日期:{{wordData['year']}}年 {{wordData['month']}}月 {{wordData['day']}}日</div>
+      </div>
+      <!-- <div id="table">
+        <div class="han">
+          <div class="label">项目名称</div><div class="value">{{wordData['projectName']}}</div>
+          <div class="label">所在学院</div><div class="value">{{wordData['college']}}</div>
+        </div>
+        <div class="status">
+          <div class="statusLabel">项目状态</div>
+          <div class="ValueDescribe">
+            <div class="statusHan">
+              <div class="DescribeLabel">{{wordData['ed']}}已建设</div><div class="DescribeValue">指二级学院已获得政府或学校资助(例:设计学院、信通学院、珠宝学院),已有双创空间(创客实践室)场地、设备设施并已投入运营,需对空间环境优化、规章制度建设、小型设施设备添置、创客项目物料增补,需拓展创客项目培训、辅导,创客讲座、沙龙、论坛,创客路演、竞赛、集市及成果参评、参展等方面的工作而提出的资助申请。</div>
+            </div>
+            <div class="statusHan">
+              <div class="DescribeLabel">{{wordData['ing']}}待建设</div><div class="DescribeValue">指二级学院拟立项开展学院特色创客空间建设项目,需进行项目前期调研论证、场馆规划、空间图纸设计、设备选型等方面的工作而进行的资助申请。</div>
+            </div>
+          </div>
+        </div>
+        <div class="han">
+          <div class="label">项目起始时间</div><div class="value">{{wordData['begin_at']}}</div>
+          <div class="label">计划完成时间</div><div class="value">{{wordData['plannedEnd_at']}}</div>
+        </div>
+        <div class="han">
+          <div class="label">项目负责人</div><div class="value">{{wordData['pro_leader']}}</div>
+          <div class="label">学院牵头领导</div><div class="value">{{wordData['lead_leader']}}</div>
+        </div>
+        <div class="han">
+          <div class="label">项目组人数</div><div class="value">{{ wordData['teacher'].length+wordData['student'].length }}</div>
+          <div class="label">参与教师人数</div><div class="value">{{wordData['teacher'].length}}</div>
+          <div class="label">参与学生人数</div><div class="value">{{wordData['student'].length }}</div>
+        </div>
+        <div class="member">
+          <div class="memberLabel">
+            <span>项目组</span>
+            <span>教师团队</span>
+            <span>(团队3人以上,</span>
+            <span>至少应包含1名教</span>
+            <span>研室主任)</span> -->
+            <!-- 项目组<br/>教师团队<br/>(团队3人以上,<br/>至少应包含1名教<br/>研室主任) -->
+          <!-- </div> -->
+          <!-- <div class="memberTable">
+            <div class="memberHan">
+              <div class="memberValue">姓名</div>
+              <div class="memberValue">专业</div>
+              <div class="memberValue">职称</div>
+              <div class="memberValue">学历</div>
+              <div class="memberValue">所在教研室</div>
+              <div class="memberValue">项目组角色分工</div>
+            </div>
+            <div class="memberHan" v-for="(item,index) in wordData['teacher']" :key="index">
+              <div class="memberValue">{{item['name']}}</div>
+              <div class="memberValue">{{item['speciality']}}</div>
+              <div class="memberValue">{{item['title']}}</div>
+              <div class="memberValue">{{ item['education'] }}</div>
+              <div class="memberValue">{{ item['section'] }}</div>
+              <div class="memberValue">{{ item['work'] }}</div>
+            </div>
+          </div> -->
+        <!-- </div>
+        <div class="member">
+          <div class="memberLabel">
+            <span>项目组</span>
+            <span>学生团队</span>
+            <span>(团队5人以上,</span>
+            <span>学生团队年级结构</span>
+            <span>安排合理)</span> -->
+            <!-- 项目组<br/>教师团队<br/>(团队3人以上,<br/>至少应包含1名教<br/>研室主任) -->
+          <!-- </div>
+          <div class="memberTable">
+            <div class="memberHan">
+              <div class="memberValue">姓名</div>
+              <div class="memberValue">班级</div>
+              <div class="memberValue">年龄</div>
+              <div class="memberValue">项目组角色分工</div>
+            </div>
+            <div class="memberHan" v-for="(item,index) in wordData['student']" :key="index">
+              <div class="memberValue">{{item['name']}}</div>
+              <div class="memberValue">{{ item['class'] }}</div>
+              <div class="memberValue">{{ item['age'] }}</div>
+              <div class="memberValue">{{item['work']}}</div>
+            </div>
+          </div>
+        </div>
+        <div class="chapters">
+          <div class="chaptersLabel">
+            <span>项目</span><span>建设</span><span>内容</span><span>及</span><span>目标</span><span>(说明项目建设内</span><span>容、拟解决的关键</span><span>问题、创新之处、</span><span>主要建设指标)</span>
+          </div>
+          <div class="chaptersTable">
+              <div class="chaptersValue">
+                <span>项目简介(200-300字)</span><br/>
+                {{wordData['brief']}}
+              </div>
+              <div class="chaptersValue">
+                <span>建设内容(空间优化/场馆规划方面拟解决的关键问题及主要建设指标)</span><br/>
+                {{wordData['Construction']}}
+              </div>
+          </div>
+        </div>
+        <div class="chapters">
+          <div class="chaptersLabel">
+            <span>项目</span><span>建设</span><span>论证</span><span>报告</span>
+          </div>
+          <div class="chaptersTable">
+              <div class="chaptersValue">
+                <span>立项依据(说明本项目的目的、意义以及国内外高校现状、市场预测和发展趋势,预期达到的目标,研究的预期效果分析,成果受益面)</span><br/>
+                {{wordData['ProjectBasis']}}
+              </div>
+          </div>
+        </div>
+        <div class="chapters">
+          <div class="chaptersLabel">
+            <span>预期</span><span>成果</span><span>(项目预期成果、</span><span>数量及形式,结题</span><span>时:须附项目研究</span><span>报告)</span>
+          </div>
+          <div class="chaptersTable">
+              <div class="chaptersValue">
+                <span>创客空间物理环境、制度建设及软件设施建设情况(环境优化/制度完善/设施改造)</span><br/>
+                {{wordData['development']}}
+              </div>
+              <div class="chaptersValue">
+                <span>学生创客工作室建设情况(工作室数量及活动开展情况)</span><br/>
+                {{wordData['studio']}}
+              </div>
+              <div class="chaptersValue">
+                <span>学生创客团队(人才)培养预期成果、数量</span><br/>
+                {{wordData['studentTeam']}}
+              </div>
+              <div class="chaptersValue">
+                <span>学生创客活动组织实施情况</span><br/>
+                {{wordData['studentActivities']}}
+              </div>
+              <div class="chaptersValue">
+                <span>学生创客团队孵化、转化创业项目情况</span><br/>
+                {{wordData['Transforming']}}
+              </div>
+          </div>
+        </div>
+        <div class="chapters">
+          <div class="chaptersLabel">
+            <span>立项</span>
+            <span>基础</span>
+            <span>及</span>
+            <span>条件</span>
+            <span>(说明已开展的相</span>
+            <span>关研究及基础准备</span>
+            <span>工作,已具备的设</span>
+            <span>备场地条件和技术</span>
+            <span>力量,尚缺少的条</span>
+            <span>件和拟解决的途</span>
+            <span>径)</span>
+          </div>
+          <div class="chaptersTable">
+              <div class="chaptersValue">
+                <span>基础条件(物理环境/设备设施/项目实施/活动开展/技术力量/社会资源)</span><br/>
+                {{wordData['condition']}}
+              </div>
+          </div>
+        </div>
+
+        <div class="fund" v-for="(item,index) in wordData['fund']" :key="index">
+          <div class="fundTitle">
+            预算<br/>经费
+          </div>
+          <div class="fundTable">
+            <div class="fundTotal">
+              <div class="fundLabel">总经费</div>
+              <div class="fundValue">{{item['total']}}元</div>
+            </div>
+            <div class="fundHeader">
+              <div class="HeaderLabel">支出类别</div>
+              <div class="HeaderLabel">支出项目</div>
+              <div class="HeaderLabel">金额(元)</div>
+              <div class="HeaderLabel">备注</div>
+            </div>
+            <div class="fundData">
+              <div class="fundDataLabel">直接费用</div>
+              <div class="fundDataHan">
+                <div class="fundDataLie">
+                  <div class="fundDataValue">小型仪器设备费</div>
+                  <div class="fundDataValue">{{ item['device'] }}</div>
+                  <div class="fundDataValue">{{item['deviceRemarks']}}</div>
+                </div>
+
+                <div class="fundDataLie">
+                  <div class="fundDataValue">材料费</div>
+                  <div class="fundDataValue">{{ item['Material'] }}</div>
+                  <div class="fundDataValue">{{ item['MaterialRemarks'] }}</div>
+                </div>
+
+                <div class="fundDataLie">
+                  <div class="fundDataValue">测试化验加工费</div>
+                  <div class="fundDataValue">{{item['processing']}}</div>
+                  <div class="fundDataValue">{{item['processingRemarks']}}</div>
+                </div>
+
+                <div class="fundDataLie">
+                  <div class="fundDataValue">项目协作费</div>
+                  <div class="fundDataValue">{{item['Collaboration']}}</div>
+                  <div class="fundDataValue">{{item['CollaborationRemarks']}}</div>
+                </div>
+               
+              </div>
+            </div>
+
+            <div class="fundData">
+              <div class="fundDataLabel">间接费用</div>
+              <div class="fundDataHan">
+                <div class="fundDataLie">
+                  <div class="fundDataValue">项目成果鉴定费</div>
+                  <div class="fundDataValue">{{item['APPRAISAL']}}</div>
+                  <div class="fundDataValue">{{item['APPRAISALRemarks']}}</div>
+                </div>
+
+                <div class="fundDataLie">
+                  <div class="fundDataValue">参展参赛费</div>
+                  <div class="fundDataValue">{{item['entery']}}</div>
+                  <div class="fundDataValue">{{item['enteryRemarks']}}</div>
+                </div>
+
+                <div class="fundDataLie">
+                  <div class="fundDataValue">创客交流活动费</div>
+                  <div class="fundDataValue">{{item['activities']}}</div>
+                  <div class="fundDataValue">{{item['activitiesRemarks']}}</div>
+                </div>
+
+                <div class="fundDataLie">
+                  <div class="fundDataValue">知识产权事务费</div>
+                  <div class="fundDataValue">{{item['Transaction']}}</div>
+                  <div class="fundDataValue">{{item['TransactionRemarks']}}</div>
+                </div>
+               
+              </div>
+            </div>
+          </div>
+        </div>
+
+        <div class="opinion">
+          <div class="opinionLabel">所在学院/部门<br/> 意 见</div>
+          <div class="opinionValue">
+            <div class="opinionImport">
+              <div class="opinionChapter">负责人签章:</div>
+              <div class="opinionDate">年 月 日</div>
+            </div>
+          </div>
+        </div>
+
+        <div class="opinion">
+          <div class="opinionLabel">财务部门<br/>意 见</div>
+          <div class="opinionValue">
+            <div class="opinionImport">
+              <div class="opinionChapter">负责人签章:</div>
+              <div class="opinionDate">年 月 日</div>
+            </div>
+          </div>
+        </div>
+
+        <div class="opinion">
+          <div class="opinionLabel">创新创业学院<br/>审 核 意 见</div>
+          <div class="opinionValue">
+            <div class="opinionImport">
+              <div class="opinionChapter">负责人签章:</div>
+              <div class="opinionDate">年 月 日</div>
+            </div>
+          </div>
+        </div> -->
+
+      <!-- </div> -->
+      <!-- <div class="notes">
+        <span>备注:</span>
+        <span>1.表格可顺延或另附页。</span>
+        <span>2.项目申报需附相关佐证材料。</span>
+      </div> -->
+    <!-- </div> -->
+</template>
+  
+<script>
+import { getNowDate } from './tool/Date';
+export default {
+  props:["data"],
+  data() {
+    return {
+      wordData:{
+        year:"",  //申请日期年
+        month:"",   //申请日期月
+        day:"",     //申请日期日
+        ing:"", //已建设
+        ed:"",  //待建设
+        projectName:"",//项目名称
+        college:"",//
+        begin_at:"",//项目开始时间
+        plannedEnd_at:"",//计划完成时间
+        pro_leader:"",//项目负责人
+        lead_leader:"",//学院牵头领导
+        people:"",//项目组人数
+        teacherNum:"",//参与教师人数
+        studentNum:"",//参与学生人数
+        teacher:[],   //教师组//name:姓名  speciality:专业  title:职称 education:学历    section:所在教研室    work:项目组角色分工
+        student:[],   //学生组//name:姓名    class:班级 age:年龄   work:项目组任务分工
+        brief:"",//项目简介
+        Construction:"",//建设内容
+        ProjectBasis:"",//立项依据
+        development:"",//创客空间物理环境、制度建设及软件设施建设情况
+        studio:"",//学生创客工作室建设情况
+        studentTeam:"",//学生创客团队(人才)培养预期成果、数量
+        studentActivities:"",//学生创客活动组织实施情况
+        Transforming:"",//学生创客团队孵化、转化创业项目情况
+        condition:"",//立 项基 础及条 件
+        fund:[],//预算经费
+        //total:总经费     
+        //小型仪器设备费:device        deviceRemarks
+        //材料费:Material             MaterialRemarks
+        //测试化验加工费:processing    processingRemarks
+        //项目协作费:Collaboration     CollaborationRemarks
+        //项目成果鉴定费:APPRAISAL     APPRAISALRemarks
+        //参展参赛费:entery            enteryRemarks
+        //创客交流活动费:activities    activitiesRemarks
+        //知识产权事务费:Transaction   TransactionRemarks
+        }
+    }
+  },
+  methods:{
+    handleData(){
+      //处理项目数据
+      let data = this.data[0];
+      let fund = this.data[1];
+      data['chapters'] = JSON.parse(data['chapters']);
+      data['course_teacher'] = JSON.parse(data['course_teacher']);
+      data['course_student'] = JSON.parse(data['course_student']);
+      //处理资金使用情况
+      let fundDataArray = [];
+            fund.forEach(item=>{
+                let fundData = {
+                    total:"",
+                    device:"",deviceRemarks:"",
+                    Material:"",MaterialRemarks:"",
+                    processing:"",processingRemarks:"",
+                    Collaboration:"",CollaborationRemarks:"",
+                    APPRAISAL:"",APPRAISALRemarks:"",
+                    entery:"",enteryRemarks:"",
+                    activities:"",activitiesRemarks:"",
+                    Transaction:"",TransactionRemarks:""
+                }
+                //直接经费
+                let direct = JSON.parse(item['directFund']);
+                //间接经费
+                let indirect = JSON.parse(item['indirectFund']);
+    
+                direct.forEach(item2=>{
+                    if (item2['directFundData']==1) {
+                        fundData['device'] = direct.filter(item=>item['directFundData']==1)[0]['budget'];
+                        // console.log(fundData['device']);
+                        fundData['deviceRemarks'] = direct.filter(item=>item['directFundData']==1)[0]['reason'];
+                    }
+    
+                    if (item2['directFundData']==2) {
+                        fundData['Material'] = direct.filter(item=>item['directFundData']==2)[0]['budget']
+                        fundData['MaterialRemarks'] = direct.filter(item=>item['directFundData']==2)[0]['reason'];
+                    }
+                    
+                    if (item2['directFundData']==3) {
+                        fundData['processing'] = direct.filter(item=>item['directFundData']==3)[0]['budget']
+                        fundData['processingRemarks'] = direct.filter(item=>item['directFundData']==3)[0]['reason'];
+                    }
+                    
+        
+                    if (item2['directFundData']==4) {
+                        fundData['Collaboration'] = direct.filter(item=>item['directFundData']==4)[0]['budget']
+                        fundData['CollaborationRemarks'] = direct.filter(item=>item['directFundData']==4)[0]['reason'];
+                    }
+    
+                })
+                
+                indirect.forEach(item3=>{
+                    if (item3['indirectFundData']==1) {
+                        fundData['APPRAISAL'] = indirect.filter(item=>item['indirectFundData']==1)[0]['budget']
+                        fundData['APPRAISALRemarks'] = indirect.filter(item=>item['indirectFundData']==1)[0]['reason'];
+                    }
+    
+                    if (item3['indirectFundData']==2) {
+                        fundData['entery'] = indirect.filter(item=>item['indirectFundData']==2)[0]['budget']
+                        fundData['enteryRemarks'] = indirect.filter(item=>item['indirectFundData']==2)[0]['reason'];
+                    }
+    
+                    if (item3['indirectFundData']==3) {
+                        fundData['activities'] = indirect.filter(item=>item['indirectFundData']==3)[0]['budget']
+                        fundData['activitiesRemarks'] = indirect.filter(item=>item['indirectFundData']==3)[0]['reason'];
+                    }
+    
+                    if (item3['indirectFundData']==4) {
+                        fundData['Transaction'] = indirect.filter(item=>item['indirectFundData']==4)[0]['budget']
+                        fundData['TransactionRemarks'] = indirect.filter(item=>item['indirectFundData']==4)[0]['reason'];
+        
+                    }
+                })
+    
+                fundData['total'] = Number(fundData['device'])+Number(fundData['Material'])+Number(fundData['processing'])+Number(fundData['Collaboration'])+Number(fundData['APPRAISAL'])+Number(fundData['entery'])+Number(fundData['activities'])+Number(fundData['Transaction']);
+    
+                fundDataArray.push(fundData);
+            })
+            
+            //去除标签
+            for(let i in data['chapters']){
+                data['chapters'][i]=data['chapters'][i].replace(/<[^>]+>/g,"");
+            }
+
+            let nowDate = getNowDate().split(' ')[0]
+            this.wordData = {
+                year:nowDate.split('-')[0],  //申请日期年
+                month:nowDate.split('-')[1],   //申请日期月
+                day:nowDate.split('-')[2],     //申请日期日
+                ing:data['typeName']==0?"√":"□", //已建设
+                ed:data['typeName']==0?"□":"√",  //待建设
+                projectName:data['title'],//项目名称
+                college:data['name'],//
+                begin_at:data['begin_at'],//项目开始时间
+                plannedEnd_at:data['plannedEnd_at'],//计划完成时间
+                pro_leader:data['pro_leader'],//项目负责人
+                lead_leader:data['lead_leader'],//学院牵头领导
+                people:(data['course_teacher'].length+data['course_student'].length),//项目组人数
+                teacherNum:data['course_teacher'].length,//参与教师人数
+                studentNum:data['course_student'].length,//参与学生人数
+                teacher:data['course_teacher'],   //教师组//name:姓名  speciality:专业  title:职称 education:学历    section:所在教研室    work:项目组角色分工
+                student:data['course_student'],   //学生组//name:姓名    class:班级 age:年龄   work:项目组任务分工
+                brief:data['brief'],//项目简介
+                Construction:data['chapters']['Construction'],//建设内容
+                ProjectBasis:data['chapters']['ProjectBasis'],//立项依据
+                development:data['chapters']['development'],//创客空间物理环境、制度建设及软件设施建设情况
+                studio:data['chapters']['studio'],//学生创客工作室建设情况
+                studentTeam:data['chapters']['studentTeam'],//学生创客团队(人才)培养预期成果、数量
+                studentActivities:data['chapters']['studentActivities'],//学生创客活动组织实施情况
+                Transforming:data['chapters']['Transforming'],//学生创客团队孵化、转化创业项目情况
+                condition:data['chapters']['condition'],//立 项基 础及条 件
+                fund:fundDataArray,//预算经费
+                    //total:总经费     
+                    //小型仪器设备费:device        deviceRemarks
+                    //材料费:Material             MaterialRemarks
+                    //测试化验加工费:processing    processingRemarks
+                    //项目协作费:Collaboration     CollaborationRemarks
+                    //项目成果鉴定费:APPRAISAL     APPRAISALRemarks
+                    //参展参赛费:entery            enteryRemarks
+                    //创客交流活动费:activities    activitiesRemarks
+                    //知识产权事务费:Transaction   TransactionRemarks
+            }
+            console.log(this.wordData)
+    },
+  },
+  mounted(){
+    this.handleData();
+    console.log(this.data);
+  }
+}
+</script>
+  
+<style lang="less" scoped>
+#WordPreview{
+  width: 100%;
+  height: auto;
+  font-size: 16px;
+  color: black;
+  padding:0 30px;
+  #title{
+    width: 100%;
+    display: flex;
+    flex-direction: column;
+    align-items: center;
+    position: relative;
+    .school{
+      font-size: 26px;
+      font-weight: bold;
+      letter-spacing: 20px;
+      margin-bottom: 10px;
+    }
+    .wordTitle{
+      font-size: 24px;
+      margin-bottom:30px ;
+    }
+    .date{
+      font-size: 14px;
+      position: absolute;
+      bottom: 0;
+      right: 100px;
+      font-weight: bold;
+    }
+  }
+  #table{
+    box-sizing: border-box;
+    border: solid 1px black;
+    border-bottom: none;
+    display: flex;
+    flex-direction: column;
+    .han{
+      display: flex;
+      height: auto;
+      box-sizing: border-box;
+      border-bottom:solid 1px black;
+      .label{
+        flex:1;
+        display: flex;
+        justify-content: center;
+        align-items: center;
+        box-sizing: border-box;
+        padding: 10px;
+        border-right: solid 1px black;
+      }
+      .value{
+        flex: 2;
+        display: flex;
+        justify-content: center;
+        align-items: center;
+        box-sizing: border-box;
+        padding: 10px;
+        &:not(:nth-last-child(1)){
+          border-right: solid 1px black;
+        }
+      }
+      &:nth-child(5){
+        .label{
+          flex: 1;
+          padding: 10px 12px;
+        }
+        .value{
+          flex: 1;
+          padding: 5px;
+        }
+      }
+    }
+    .status{
+      display: flex;
+      height: auto;
+      box-sizing: border-box;
+      .statusLabel{
+        flex:1;
+        display: flex;
+        justify-content: center;
+        align-items: center;
+        box-sizing: border-box;
+        padding: 3.5px;
+        border-right: solid 1px black;
+        border-bottom: solid 1px black;
+      }
+      .ValueDescribe{
+        flex: 5;
+        display: flex;
+        flex-direction: column;
+        .statusHan{
+          display: flex;
+          box-sizing: border-box;
+          border-bottom: solid 1px black;
+          .DescribeLabel{
+            flex: 1;
+            display: flex;
+            justify-content: center;
+            align-items: center;
+            box-sizing: border-box;
+            padding:40px 10px;
+            border-right: solid 1px black;
+
+          }
+          .DescribeValue{
+            flex: 5;
+            display: flex;
+            justify-content: center;
+            align-items: center;
+            box-sizing: border-box;
+            padding: 15px;
+          }
+        }
+      }
+    }
+    .member{
+      display: flex;
+      .memberLabel{
+        flex:1;
+        display: flex;
+        flex-direction: column;
+        align-items: center;
+        justify-content: center;
+        box-sizing: border-box;
+        padding: 3.5px;
+        border-right: solid 1px black;
+        border-bottom: solid 1px black;
+      }
+      .memberTable{
+        flex: 5;
+        display: flex;
+        flex-direction: column;
+        .memberHan{
+          display: flex;
+          box-sizing: border-box;
+          border-bottom: solid 1px black;
+          .memberValue{
+            padding: 10px;
+            box-sizing: border-box;
+            flex: 1;
+            display: flex;
+            justify-content: center;
+            align-items: center;
+            border-right: solid 1px black;
+            &:nth-last-child(1){
+              border-right: none;
+              flex: 3;
+            }
+
+          }
+        }
+      }
+    }
+    .chapters{
+      display: flex;
+      .chaptersLabel{
+        flex:1;
+        display: flex;
+        flex-direction: column;
+        align-items: center;
+        justify-content: center;
+        // justify-content: center;
+        // align-items: center;
+        box-sizing: border-box;
+        padding: 3.5px;
+        border-right: solid 1px black;
+        border-bottom: solid 1px black;
+      }
+      .chaptersTable{
+        flex: 5;
+        display: flex;
+        flex-direction: column;
+        .chaptersValue{
+          flex: 1;
+          min-height:200px;
+          border-bottom: solid 1px black;
+          padding: 10px;
+          span{
+            font-weight: bold;
+          }
+        }
+      }
+    }
+    .fund{
+      display: flex;
+      .fundTitle{
+        flex:1;
+        display: flex;
+        flex-direction: column;
+        align-items: center;
+        justify-content: center;
+        box-sizing: border-box;
+        padding: 3.5px;
+        border-right: solid 1px black;
+        border-bottom: solid 1px black;
+      }
+      .fundTable{
+        flex: 5;
+        display: flex;
+        flex-direction: column;
+        .fundTotal{
+          height: 60px;
+          box-sizing: border-box;
+          border-bottom: solid 1px black;
+          display: flex;
+          div{
+            display: flex;
+            justify-content: center;
+            align-items: center;
+            font-weight: bold;
+          }
+          .fundLabel{
+            flex: 1;
+            border-right:solid 1px black;
+          }
+          .fundValue{
+            flex: 4;
+          }
+        }
+        .fundHeader{
+          min-height: 40px;
+          box-sizing: border-box;
+          border-bottom: solid 1px black;
+          display: flex;
+          .HeaderLabel{
+            flex: 1;
+            display: flex;
+            justify-content: center;
+            align-items: center;
+            border-right: solid 1px black;
+            &:nth-last-child(1){
+              flex: 2;
+              border: none;
+            }
+          }
+        }
+        .fundData{
+          display: flex;
+          .fundDataLabel{
+            flex:1;
+            box-sizing: border-box;
+            border-right: solid 1px black;
+            border-bottom: solid 1px black;
+            display: flex;
+            justify-content: center;
+            align-items: center;
+          }
+          .fundDataHan{
+            flex: 4;
+            display: flex;
+            flex-direction: column;
+            .fundDataLie{
+              display: flex;
+              min-height: 40px;
+              box-sizing: border-box;
+              border-bottom: solid 1px black;
+              .fundDataValue{
+                flex: 1;
+                display: flex;
+                justify-content: center;
+                align-items:center;
+                box-sizing: border-box;
+                border-right:solid 1px black;
+                &:nth-last-child(1){
+                  flex:2;
+                  justify-content: flex-start;
+                  border: none;
+                  text-indent: 1em;
+                }
+              }
+            }
+          }
+        }
+      }
+    }
+    .opinion{
+      display: flex;
+      .opinionLabel{
+        flex:1;
+        display: flex;
+        flex-direction: column;
+        align-items: center;
+        justify-content: center;
+        box-sizing: border-box;
+        padding: 3.5px;
+        border-right: solid 1px black;
+        border-bottom: solid 1px black;
+      }
+      .opinionValue{
+        flex: 5;
+        min-height: 200px;
+        position: relative;
+        box-sizing:border-box;
+        border-bottom: solid 1px black;
+        .opinionImport{
+          display: flex;
+          width: 30%;
+          height:40%;
+          flex-direction: column;
+          position:absolute;
+          bottom: 0px;
+          right: 20px;
+          justify-content: space-between;
+          .opinionDate{
+            display: flex;
+            justify-content: flex-end;
+            font-size: 18px;
+          }
+        }
+      }
+    }
+  }
+  .notes{
+    display: flex;
+    flex-direction:column;
+  }
+}
+</style>

+ 22 - 47
src/views/fundManage/makerfund.vue

@@ -139,30 +139,29 @@
         </el-table-column>
         <el-table-column
           prop="time"
-          width="160"
           align="center"
           label="申请时间"
           >
         </el-table-column>
         <el-table-column
           prop="operation"
-          width="370"
           align="center"
+          width="370"
           label="操作"
           >
           <template #default="scope">
               <div class="operations">
-                <el-button type="primary" class="bt1" size="mini" @click="details(scope.row.fid)">查看详情</el-button>
+                <el-button type="primary" size="mini" @click="details(scope.row.fid)">查看详情</el-button>
 
-                <el-button type="primary" v-show="scope.row.state==0" style="width: 74px;" class="bt1" size="mini" @click="Audit(scope.row)">审核</el-button>
-                <el-button type="primary" disabled v-show="scope.row.state==1" style="background-color: #c8c9cc;border-color: #c8c9cc;cursor: no-drop;" class="bt1" size="mini">已审核</el-button>
-                <el-button type="primary" disabled v-show="scope.row.state==2" style="background-color: #c8c9cc;border-color: #c8c9cc;cursor: no-drop;" class="bt1" size="mini">已审核</el-button>
+                <el-button type="primary" v-show="scope.row.state==0" size="mini" @click="Audit(scope.row)">审核</el-button>
+                <el-button type="primary"  v-show="scope.row.state==1" class="disa" size="mini">已审核</el-button>
+                <el-button type="primary"  v-show="scope.row.state==2" class="disa" size="mini">已审核</el-button>
 
                 <el-button type="primary" class="bt1" size="mini" @click="edit(scope.row)">申请表</el-button>
 
-                <el-button disabled v-show="scope.row.state==0"  style="width: 74px;background-color: #c8c9cc;border-color: #c8c9cc;cursor: no-drop;" @click="endDialogShow(scope.row.fid)" type="primary" class="bt1" size="mini">完结</el-button>
-                <el-button  v-show="scope.row.state==1"  style="width: 74px;" @click="endDialogShow(scope.row.fid)" type="primary" class="bt1" size="mini">完结</el-button>
-                <el-button  v-show="scope.row.state==2" disabled style="width: 74px;background-color: #c8c9cc;border-color: #c8c9cc;cursor: no-drop;" @click="endDialogShow(scope.row.fid)" type="primary" class="bt1" size="mini">已完结</el-button>
+                <el-button  v-show="scope.row.state==0"  class="disa" @click="endDialogShow(scope.row.fid)" type="primary"  size="mini">完结</el-button>
+                <el-button  v-show="scope.row.state==1"  @click="endDialogShow(scope.row.fid)" type="primary"  size="mini">完结</el-button>
+                <el-button  v-show="scope.row.state==2" class="disa" @click="endDialogShow(scope.row.fid)" type="primary" size="mini">已完结</el-button>
 
               </div>
           </template>
@@ -230,7 +229,7 @@
           </div>
         </div>
 
-        <div class="diaTit1">
+        <!-- <div class="diaTit1">
           <div class="spans1">直接经费</div>
           <div>
             <el-select v-model="input" disabled placeholder="默认字段">
@@ -242,7 +241,7 @@
               </el-option>
             </el-select>
           </div>
-        </div>
+        </div> -->
 
         <div class="diaTit1">
           <div class="diaTit5">
@@ -287,7 +286,7 @@
 
 
     <!-- 立项撤回提交对话框开始 -->
-    <div class="dialog">
+    <!-- <div class="dialog">
       <el-dialog
         title="立项撤回提交"
         :visible.sync="revocation"
@@ -333,20 +332,6 @@
           </div>
         </div>
 
-        <!-- <div class="diaTit1">
-          <div class="spans1">直接经费</div>
-          <div>
-            <el-select v-model="value" disabled placeholder="测试化验加工费">
-              <el-option
-                v-for="item in options"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value">
-              </el-option>
-            </el-select>
-          </div>
-        </div> -->
-
         <div class="diaTit1">
           <div class="diaTit5">
             <div class="spans1">预算</div>
@@ -368,18 +353,7 @@
             </div>
           </div>
         </div>
-        
-        <!-- <div class="diaTit1">
-          <div class="spans1" style="position: relative;top:-17px">事由</div>
-          <el-input
-            type="textarea"
-            :rows="3"
-            resize="none"
-            style="width: 70%;"
-            placeholder="请输入内容"
-            v-model="textarea">
-          </el-input>
-        </div> -->
+      
         <hr style="margin: 40px;width: 90%;">
         <div class="diaTit1">
           <div class="spans1" style="position: relative;top:-20px">撤回意见</div>
@@ -397,8 +371,9 @@
           <el-button @click="init" class="AllDialogBtn">取消</el-button>
         </div>
       </el-dialog>
-    </div>
+    </div> -->
     <!-- 立项撤回提交对话框结束 -->
+
     <!-- 完结对话框开始 -->
     <el-dialog
       title="提示"
@@ -1396,14 +1371,14 @@ import getExcel from "@/components/tool/getExcel";
             justify-content: center;
         }
     }
-    .tableStyle{
-     border-collapse:collapse;
-     font-size: 16px;
-     td{
-        // align-content: center;
-        height: 35px;
-     }
-}
+    .tableStyle{  //申请表样式
+      border-collapse:collapse;
+      font-size: 16px;
+      td{
+          // align-content: center;
+          height: 35px;
+      }
+    }
 }
 
 </style>

+ 33 - 173
src/views/projectApply/projectApplication.vue

@@ -158,7 +158,9 @@
                 <div>
                     <!-- {{scope.row.name + (scope.row.status==0?"":"(已屏蔽)")}} -->
                     <!-- {{ (scope.row.isupload==0?"未审核": scope.row.data==1?"正在审核":"已审核")  }} -->
-                    <span v-if="scope.row.isupload==0">未审核</span>
+
+                    <span v-if="scope.row.isupload==0 && scope.row.apIsupload==0">未审核</span>
+                    <span v-if="scope.row.isupload==0 && scope.row.apIsupload==1">待审核</span>
                     <span v-if="scope.row.isupload==1">审核中</span>
                     <span v-if="scope.row.isupload==2">已审核</span>
                 </div>
@@ -174,15 +176,14 @@
               <div class="operations">
                         <el-button type="primary"  size="mini" @click="lookDetail(scope.row.courseId,scope.row.typeid)">查看详情</el-button>
 
-                        <el-button type="primary" v-show="scope.row.apIsupload==0" @click="audit(scope.row,0)"  size="mini" >审核0</el-button>
+                        <el-button type="primary" v-show="scope.row.apIsupload==0" @click="audit(scope.row,0)"  size="mini" >审核0</el-button> <!--0申请人审核 -->
                         <el-button type="primary" v-show="scope.row.apIsupload==1 && scope.row.isupload==0" class="disa" size="mini" >待审核0</el-button>
                         <el-button type="primary" v-show="scope.row.apIsupload==1 && scope.row.isupload==1"  class="disa"  size="mini">审核中0</el-button>
                         <el-button type="primary" v-show="scope.row.apIsupload==1 && scope.row.isupload==2" class="disa" size="mini">已审核0</el-button>
                         
-                        <el-button  v-show="scope.row.isupload==0" type="primary" style="width: 73.3px;" size="mini" @click="audit(scope.row,1)">审核1</el-button>
-                        <!-- <el-button  v-show="scope.row.isupload==0 && scope.row.apIsupload==1" type="primary"  class="disa" size="mini" @click="audit(scope.row)">审核1</el-button> -->
-                        <el-button  v-show="scope.row.isupload==1" type="primary" style="width: 73.3px;" class="disa" size="mini">审核中1</el-button>
-                        <el-button  v-show="scope.row.isupload==2" type="primary" style="width: 73.3px;" class="disa" size="mini">已审核1</el-button>
+                        <el-button  v-show="scope.row.isupload==0" type="primary" size="mini" @click="audit(scope.row,1)">审核1</el-button>   <!--1管理员审核 -->
+                        <el-button  v-show="scope.row.isupload==1" type="primary" class="disa" size="mini">审核中1</el-button>
+                        <el-button  v-show="scope.row.isupload==2" type="primary" class="disa" size="mini">已审核1</el-button>
 
                         <el-button type="primary"  size="mini" @click="appTable(scope.row.typeid,scope.row.courseId)" >申请表</el-button>
 
@@ -205,60 +206,6 @@
           </el-pagination>
         <!-- 分页结束 -->
 
-<!-- 立项撤回对话框开始 -->
-      <!-- <el-dialog
-        title="立项撤回提交"
-        :visible.sync="dialogVisible1"
-        width="700px"
-        class="dialogWidth"
-        :before-close="init">
-        <div class="diaTit">
-              <div class="spans">项目名称</div>
-              <div class="spanCon">:人工智能分链机器</div>
-              <div class="spans" style="margin-left: 50px;">项目负责人</div>
-              <div class="spanCon">:徐晓霞</div>
-        </div>
-
-          <div class="diaTit1">
-            <div class="spans1">所在部门</div>
-            <div>
-              <el-input v-model="input"  placeholder="信通学院"></el-input>
-            </div>
-          </div>
-
-          <div class="diaTit1">
-            <div class="spans1">预算总经费</div>
-            <div>
-              <el-input v-model="input"  placeholder="6000"></el-input>
-            </div>
-          </div>
-
-          <div class="diaTit1">
-            <div class="spans1">联系电话</div>
-            <div>
-              <el-input v-model="input" placeholder="13854449525"></el-input>
-            </div>
-          </div>
-
-          <div class="diaTit1">
-            <div class="spans1" style="position: relative;top:-20px">撤回意见</div>
-            <div>
-              <el-input
-                type="textarea"
-                :rows="4"
-                resize="none"
-                placeholder="请输入内容"
-                v-model="textarea">
-              </el-input>
-            </div>
-          </div>
-          <div slot="footer" class="dialog-footer">
-            <el-button type="primary" @click="commit2" class="AllDialogBtn" >确认提交</el-button>
-            <el-button @click="init" class="AllDialogBtn">取消</el-button>
-          </div>
-      </el-dialog> -->
-<!-- 立项撤回对话框开始 -->
-
 <!-- 立项审核对话框开始 -->
       <el-dialog
           title="立项审核"
@@ -320,9 +267,9 @@
       title="删除项目"
       :visible.sync="dialogVisible2"
       width="600px"
-      class="addDialog">
+      class="pageSubmitData">
       <div class="addDialogLogo">LOGO</div>
-      <span class="deleteContent">确定删除项目?</span>
+      <div class="deleteContent">确定删除项目?</div>
       <span slot="footer" class="dialog-footer">
         <el-button type="primary" @click="dialogDel" class="AllDialogBtn">确认删除</el-button>
         <el-button @click="init" class="AllDialogBtn" >取消</el-button>
@@ -330,18 +277,20 @@
       </el-dialog>
 <!-- 删除通知结束-->
       <!-- 文档预览开始 -->
-      <el-dialog
-      title="文档预览"
-      :visible.sync="WordPreview"
-      width="60%"
-      class="addDialog">
-      <div class="addDialogLogo">LOGO</div>
-      <MakerSpaceWordPreview v-if="PreviewTid == '5f7a66d5-c206-11ed-a4cd-509a4c5b67cf'" :data="PreviewData"/>
-      <span slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="downWord" class="AllDialogBtn">下载文档</el-button>
-        <el-button @click="WordPreview = false" class="AllDialogBtn" >取消</el-button>
-      </span>
-      </el-dialog>
+        <el-dialog
+        title="文档预览"
+        :visible.sync="WordPreview"
+        width="60%"
+        class="addDialog">
+        <div class="addDialogLogo">LOGO</div>
+        <MakerSpaceWordPreview v-if="PreviewTid == '5f7a66d5-c206-11ed-a4cd-509a4c5b67cf'" :data="PreviewData"/>
+        <studentMakerProjectPreview v-if="PreviewTid == '2f4c6e78-f2e7-11ed-a3f6-509a4c5b67cf'" :data="PreviewData"/>
+
+        <span slot="footer" class="dialog-footer">
+          <el-button type="primary" @click="downWord" class="AllDialogBtn">下载文档</el-button>
+          <el-button @click="WordPreview = false" class="AllDialogBtn" >取消</el-button>
+        </span>
+        </el-dialog>
       <!-- 文档预览结束 -->
   </div>
 </template>
@@ -349,8 +298,9 @@
 <script>
 import {MakerSpaceWord,MakerStudentWord} from '@/components/tool/getWord.js'
 import MakerSpaceWordPreview from '@/components/MakerSpaceWordPreview.vue';
+import studentMakerProjectPreview from '@/components/studentMakerProjectPreview.vue'
     export default {
-      components:{MakerSpaceWordPreview},
+      components:{MakerSpaceWordPreview,studentMakerProjectPreview},
       data() {
         return {
           iid:'',
@@ -419,6 +369,8 @@ import MakerSpaceWordPreview from '@/components/MakerSpaceWordPreview.vue';
         downWord(){
           if(this.PreviewTid=='5f7a66d5-c206-11ed-a4cd-509a4c5b67cf'){
             MakerSpaceWord(this.PreviewData[0],this.PreviewData[1]);
+          }else{
+            MakerStudentWord(this.PreviewData[0],this.PreviewData[1]);
           }
         },
         init(){   
@@ -450,7 +402,11 @@ import MakerSpaceWordPreview from '@/components/MakerSpaceWordPreview.vue';
               pid:pid
             }).then(res=>{
               // console.log(res['data']);
-              MakerStudentWord(res['data'][0][0],res['data'][1]);
+              // MakerStudentWord(res['data'][0][0],res['data'][1]);
+              this.PreviewData = [res['data'][0][0],res['data'][1]];
+              // return console.log(this.PreviewData);
+              this.WordPreview = true;
+              this.PreviewTid = tid;
             }).catch(err=>{
               console.log(err)
             })
@@ -718,103 +674,7 @@ import MakerSpaceWordPreview from '@/components/MakerSpaceWordPreview.vue';
   }
 }
 
-  // .dialogWidth{    //立项审核对话框
-  //     .el-input__inner{
-  //       width: 300px;
-  //     }
-  //     .el-textarea__inner{
-  //       width: 430px;
-  //     }
-  //     .el-dialog{
-  //         width: 600px;
-  //         border-radius: 5px;
-  //         overflow: hidden;
-  //       }
-  //       .el-dialog__body{
-  //         // padding:30px 0px 30px 70px ;
-  //         display: flex;
-  //         align-items: center;
-  //         justify-content: center;
-  //         flex-wrap: wrap;
-  //       }
-        
-  //       .el-dialog__header{
-  //         background: #32455b;
-  //       }
-  //       .el-dialog__title{
-  //         color: #fff;
-  //         position: relative;
-  //         top: -2px;
-  //         display: flex;
-  //         justify-content: center;
-  //         font-size: 18px;
-  //       }
-  //       .addDialogLogo{
-  //         width: 60px;
-  //         height: 30px;
-  //         display: flex;
-  //         justify-content: center;
-  //         line-height: 30px;
-  //         border-radius: 5px;
-  //         background: #f2f2f2;
-  //         position: absolute;
-  //         left: 20px; top: 15px; 
-  //       }
-  //       .diaTit{     //项目名称、负责人
-  //           width: 100%;
-  //           display: flex;
-  //           .spans{
-  //             width: auto;
-  //             font-size: 16px;
-  //             // margin-right: 10px;
-  //             display: inline-block;
-  //             text-align: justify;
-  //             color: #000;
-  //             font-size: 16px;
-  //             text-justify:distribute-all-lines;
-  //             text-align-last: justify;
-  //             transform: translate(0,22%);
-  //             margin-bottom: 10px;
-  //           }
-            
-  //       }
-  //       .spanCon{
-  //             font-size: 16px;
-  //             margin-top: 5px;
-  //             color: #a0a0a0;
-  //             width: 150px;
-  //             overflow: hidden;
-  //             white-space: nowrap;
-  //             text-overflow: ellipsis;
-  //           }
-  //       .spans1{      //label
-  //             min-width: 84px;
-  //             font-size: 16px;
-  //             color: #000;
-  //             margin-right: 10px;
-  //             display: inline-block;
-  //             text-align: justify;
-  //             text-justify:distribute-all-lines;
-  //             text-align-last: justify;
-  //             transform: translate(0,22%);
-  //           }
-          
-  //         .diaTit1{   //label和input框
-  //           display: flex;
-  //           width: 80%;
-  //           margin-top: 20px;
-            
-  //         }
-          
-  //       .dialog-footer{
-  //           width: 100%;
-  //           display: flex;
-  //           justify-content: center;
-  //           margin-bottom: 10px;
-           
-  //       }
-  // }
-  
+ 
 }
 
 </style>