zengyicheng 1 year ago
parent
commit
8c2df6960d
10 changed files with 1594 additions and 1747 deletions
  1. 215 591
      package-lock.json
  2. 4 2
      package.json
  3. 687 668
      src/App.vue
  4. 33 35
      src/api/userApi.js
  5. 1 1
      src/config/config.js
  6. 1 1
      src/main.js
  7. 21 0
      src/permission.js
  8. 13 13
      src/store/index.js
  9. 15 0
      src/utils/auth.js
  10. 604 436
      src/views/projectApply/projectApplication.vue

File diff suppressed because it is too large
+ 215 - 591
package-lock.json


+ 4 - 2
package.json

@@ -8,16 +8,18 @@
     "lint": "vue-cli-service lint"
   },
   "dependencies": {
-    "axios": "^1.2.1",
+    "axios": "^1.4.0",
     "core-js": "^3.8.3",
-    "docxtemplater": "^3.37.4",
+    "docxtemplater": "^3.37.11",
     "echarts": "^5.4.2",
     "element-ui": "^2.4.5",
     "exceljs": "^4.3.0",
     "file-saver": "^2.0.5",
+    "js-cookie": "^3.0.5",
     "jszip-utils": "^0.1.0",
     "less": "^4.1.3",
     "less-loader": "^11.1.0",
+    "nprogress": "^0.2.0",
     "pizzip": "^3.1.4",
     "vue": "^2.6.14",
     "vue-router": "^3.5.1",

+ 687 - 668
src/App.vue

@@ -1,727 +1,746 @@
 <template>
   <div class="page core_dialogue">
-      <el-header v-if="$route.meta.isAuth">
-        <img src="./assets/img/sclogo4.png" alt="">
-        <!-- <img src="@/assets/img/szjsxy.png" alt=""> -->
-        <div class="homeExitContent">
-          <div>你好,{{ $store.state.userInfo.tname }}</div>
-          <div class="homeExit" @click="homeExit">退出</div>
-        </div>
-      </el-header>
-    <router-view ></router-view>
+    <el-header v-if="$route.meta.isAuth">
+      <img src="./assets/img/sclogo4.png" alt="" />
+      <!-- <img src="@/assets/img/szjsxy.png" alt=""> -->
+      <div class="homeExitContent">
+        <div>你好,{{ $store.state.userInfo.tname }}</div>
+        <div class="homeExit" @click="homeExit">退出</div>
+      </div>
+    </el-header>
+    <router-view></router-view>
   </div>
 </template>
 
 <script>
-    export default {
-        data() {
-          return {
-            
-          }
-        },
-        methods:{
-          homeExit(){
-          this.$router.push('/login')
-        }
-        }
-    }
+export default {
+  data() {
+    return {};
+  },
+  methods: {
+    homeExit() {
+      this.$router.push("/login");
+    },
+  },
+};
 </script>
 
 <style lang="less">
-  *{
-    margin: 0;
-    padding: 0;
+* {
+  margin: 0;
+  padding: 0;
+}
+html,
+body {
+  height: 100%;
+  max-width: 100%;
+  min-width: 700px;
+  overflow: hidden;
+}
+.textArea {
+  font-size: 16px !important;
+}
+.page {
+  //app最基础页面
+  height: 100%;
+  width: 100%;
+  background: #e6eaf0;
+  img {
+    height: 60px;
   }
-  html,body{
-    height: 100%;
-    max-width: 100%;
-    min-width: 700px;
-    overflow:hidden ;
+  .el-header {
+    //顶部退出区域
+    background-color: #3d67bc;
+    color: #333;
+    text-align: center;
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    min-height: 70px;
+    .homeExitContent {
+      color: #fff;
+      display: flex;
+      justify-content: flex-end;
+      width: 400px;
+      .homeExit {
+        background: #ffffff;
+        color: #000;
+        cursor: pointer;
+        margin-left: 15px;
+        width: 90px;
+        // height: 30px;
+      }
+    }
   }
-  .textArea{
-    font-size: 16px !important;
+}
+hr {
+  //hr横线
+  border: none;
+  height: 1px;
+  width: 100%;
+  margin: 0px 0px 10px 0px;
+  background: #ccc;
+}
+
+.pAHeader {
+  //一级页面一级标题
+  width: 100%;
+  display: flex;
+  height: 35px;
+  justify-content: space-between;
+  margin-bottom: 15px;
+  .pAHeader1 {
+    font-weight: 600;
+    font-size: 26px;
+    text-align: left;
   }
-  .page{  //app最基础页面
-    height: 100%;
-    width: 100%;
-    background: #e6eaf0;
-    img{
-      height: 60px;
+  [type="button"] {
+    background: #0e72e6 !important;
+    color: #fff !important;
+    display: flex;
+    font-size: 16px;
+    display: flex;
+    border-radius: 5px;
+    justify-content: center;
+    align-items: center;
+  }
+  [type="button"]:hover {
+    background: #3b85d9 !important;
+  }
+}
+
+.vfpHeader {
+  //二级页面一级标题
+  width: 100%;
+  display: flex;
+  justify-content: flex-start;
+  margin-bottom: 15px;
+  position: relative;
+  .titleOne {
+    text-align: left;
+    font-weight: 600;
+    font-size: 22px;
+    flex-shrink: 0;
+  }
+  .smallTitle {
+    position: absolute;
+    top: 8px;
+    left: 160px;
+    font-size: 16px;
+  }
+  [type="button"] {
+    background: #0e72e6 !important;
+    color: #fff !important;
+    display: flex;
+    position: absolute;
+    top: -8px;
+    right: 0;
+    border-radius: 5px;
+    box-sizing: border-box;
+    padding: 9px 0;
+    justify-content: center;
+    font-size: 16px;
+    width: 100px;
+    align-items: center;
+  }
+}
+
+.tabTit {
+  //二级页面二级标题
+  width: 100%;
+  font-size: 18px;
+  font-weight: bold;
+  margin-top: 40px;
+  height: 29px;
+  margin-bottom: 15px;
+  display: flex;
+  text-align: end;
+  border-radius: 5px;
+  position: relative;
+  justify-content: space-between;
+  align-items: flex-end;
+  div {
+    position: absolute;
+    left: 0;
+    bottom: 0;
+    text-align: left;
+    display: flex;
+    align-items: flex-end;
+    p {
+      position: relative;
+      width: auto;
     }
-    .el-header {    //顶部退出区域
-        background-color: #3d67bc;
-        color: #333;
-        text-align: center;
-        display: flex;
-        justify-content: space-between;
-        align-items: center;
-        min-height: 70px;
-        .homeExitContent{
-          color: #fff;
-          display: flex;
-          justify-content:flex-end;
-          width: 400px;
-          .homeExit{
-            background: #ffffff;
-            color: #000;
-            cursor: pointer;
-            margin-left: 15px;
-            width: 90px;
-            // height: 30px;
-          }
-        }
+    span {
+      font-size: 14px;
+      margin-left: 10px;
+      color: gray;
     }
   }
-  hr{   //hr横线
-    border: none;
-    height: 1px;
-    width: 100%;
-    margin: 0px 0px 10px 0px;
-    background: #ccc;
+  [type="button"] {
+    color: #fff !important;
+    display: flex;
+    position: absolute;
+    right: 0;
+    top: -4px;
+    box-sizing: border-box;
+    padding: 7px 0;
+    justify-content: center;
+    font-size: 16px;
+    width: 100px;
+    border-radius: 5px;
+    align-items: center;
   }
-
-  .pAHeader{    //一级页面一级标题 
-    width: 100%;
+}
+
+// 滚动条样式
+.core_dialogue {
+  height: 100%;
+  overflow: overlay !important;
+}
+.core_dialogue::-webkit-scrollbar-track-piece {
+  background-color: #f8f8f800;
+}
+.core_dialogue::-webkit-scrollbar {
+  width: 6px;
+  transition: all 2s;
+}
+.core_dialogue::-webkit-scrollbar-thumb {
+  background-color: #929292;
+  border-radius: 100px;
+}
+.core_dialogue::-webkit-scrollbar-thumb:hover {
+  background-color: #bbb;
+}
+.core_dialogue::-webkit-scrollbar-corner {
+  background-color: rgba(255, 255, 255, 0);
+}
+
+.select {
+  //活动申请填写信息区域
+  width: 100%;
+  box-sizing: border-box;
+  margin-top: 30px;
+  // margin-bottom: 8px;
+  .label {
+    //label标签
+    min-width: 98px;
+    margin-right: 5px;
+    display: inline-block;
+    text-align: justify;
+    text-justify: distribute-all-lines;
+    text-align-last: justify;
+    transform: translate(0, 22%);
+    padding-right: 15px;
+    font-size: 16px;
+  }
+  .inpBlock {
+    //一个个输入框小方块
     display: flex;
-    height: 35px;
-    justify-content: space-between;
     margin-bottom: 15px;
-    .pAHeader1{
-      font-weight: 600;
-      font-size: 26px;
-      text-align: left;
+    position: relative;
+    input::-webkit-outer-spin-button,
+    input::-webkit-inner-spin-button {
+      -webkit-appearance: none !important;
+    }
+    input[type="number"] {
+      -moz-appearance: textfield;
     }
-    [type='button']{
-        background: #0e72e6 !important;
-        color: #fff !important;
-        display: flex;
-        font-size: 16px;
-        display: flex;
-        border-radius: 5px;
-        justify-content: center;
-        align-items: center;
-      }
-      [type='button']:hover{
-        background: #3b85d9 !important;
-      }
   }
 
-  .vfpHeader{   //二级页面一级标题
-    width: 100%;
+  .selectTop {
+    width: 86%;
     display: flex;
-    justify-content:flex-start;
-    margin-bottom: 15px;
-    position: relative;
-    .titleOne{
-      text-align: left;
-      font-weight: 600;
-      font-size: 22px;
-      flex-shrink: 0;
+  }
+
+  .selectMid {
+    display: flex;
+    margin-top: 16px;
+
+    .selectLeft {
+      width: 40%;
+      display: flex;
+      flex-direction: column;
+      margin-right: 70px;
+      // align-items: center;
     }
-    .smallTitle{
+    .selectRight {
+      width: 40%;
+      height: 150px;
+      display: flex;
+      flex-direction: column;
+      .el-cascader {
+        width: 100%;
+      }
+    }
+  }
+}
+
+.AppBar {
+  //横行的跳转导航栏
+  display: flex;
+  margin-top: 15px;
+  margin-bottom: 20px;
+  div {
+    // width: 110px;
+    cursor: pointer;
+    font-weight: 550;
+    font-size: 18px;
+    margin-right: 30px;
+    position: relative;
+    .pr1TitBass {
+      // position: absolute;
+      // width: 100%;
+      // height: 4px;
+      // left: 0;
+      // top: 28px;
+      // border-radius: 2px;
+      // background: #2a7ea9;
       position: absolute;
-      top: 8px;
-      left: 160px;
-      font-size: 16px;
+      width: 100%;
+      height: 4px;
+      left: 0;
+      top: 30px;
+      border-radius: 2px;
+      background: #2a7ea9;
     }
-    [type='button']{
-      background: #0e72e6 !important;
+  }
+  // .AppBarActive::after{
+
+  // }
+}
+
+.addMoneyBtn {
+  //自定义写的的添加框
+  width: 120px;
+  cursor: pointer;
+  height: 40px;
+  border: #000 1px dashed;
+  border-radius: 5px;
+  margin: 18px 10px 30px;
+  display: flex;
+  justify-content: center;
+  line-height: 40px;
+  font-size: 16px;
+  position: relative;
+  .jia {
+    border-radius: 50%;
+    border: 1.5px #ccc solid;
+    font-size: 25px;
+    line-height: 26px;
+    font-weight: 10;
+    display: flex;
+    justify-content: center;
+    margin-top: 6px;
+    margin-right: 5px;
+    height: 27px;
+    width: 27px;
+    color: #ccc;
+  }
+  #upFile {
+    position: absolute;
+    width: 100%;
+    height: 100%;
+    transform: scale(1.1, 1.1);
+    opacity: 0;
+  }
+}
+
+.baseBtn {
+  //所有页面底部按钮框
+  width: 100%;
+  display: flex;
+  justify-content: flex-end;
+  margin: 10px 0;
+  margin-top: 30px;
+  .blockWidth {
+    display: flex;
+    justify-content: space-between;
+    [type="button"] {
+      background: #409eff;
       color: #fff !important;
       display: flex;
-      position: absolute;
-      top: -8px;
-      right: 0;
-      border-radius: 5px;
-      box-sizing: border-box;
-      padding: 9px 0;
+      border: none;
       justify-content: center;
       font-size: 16px;
-      width: 100px;
+      width: 120px;
+      margin-left: 20px;
+      height: 40px;
       align-items: center;
     }
   }
+}
+
+.twoStyle {
+  //左边两边对齐,右边靠右的靠右样式资金管理页面里的
+  display: flex !important;
+  justify-content: flex-end;
+}
+
+.AddMember {
+  //添加成员对话框
+  .el-input__inner {
+    width: 300px;
+  }
+  .el-dialog {
+    width: 600px;
+    border-radius: 5px;
+    overflow: hidden;
+  }
 
-  .tabTit{   //二级页面二级标题
-        width: 100%;
-        font-size: 18px;
-        font-weight:bold;
-        margin-top: 40px;
-        height: 29px;
-        margin-bottom: 15px;
-        display: flex;
-        text-align: end;
-        border-radius: 5px;
-        position: relative;
-        justify-content: space-between;
-        align-items: flex-end;
-        div{
-          position: absolute;
-          left: 0;
-          bottom: 0;
-          text-align: left;
-          display: flex;
-          align-items: flex-end;
-          p{
-            position: relative;
-            width: auto;
-          }
-          span{
-            font-size: 14px;
-            margin-left: 10px;
-            color: gray;
-          }
-        }
-        [type='button']{
-          color: #fff !important;
-          display: flex;
-          position: absolute;
-          right: 0;
-          top: -4px;
-          box-sizing: border-box;
-          padding: 7px 0;
-          justify-content: center;
-          font-size: 16px;
-          width: 100px;
-          border-radius: 5px;
-          align-items: center;
-        }
-    }
+  .el-dialog__body {
+    display: flex;
+    align-items: center;
+    flex-direction: column;
+  }
 
-  
-  // 滚动条样式
-  .core_dialogue {
-      height: 100%;
-      overflow: overlay !important;
-    }
-    .core_dialogue::-webkit-scrollbar-track-piece {
-      background-color: #f8f8f800;
+  .el-dialog__header {
+    background: #32455b;
+    text-align: center;
+  }
+  .el-dialog__title {
+    color: #fff;
+    position: relative;
+    top: -2px;
+    font-size: 18px;
+  }
+  .littleBlock {
+    //添加对话框 label和input框
+    display: flex;
+    // width: 70%;
+    justify-content: center;
+    width: 100%;
+    margin: 10px;
+    .dialogLabel {
+      //label
+      width: 14%;
+      font-size: 16px;
+      align-items: center;
+      margin-right: 10px;
+      line-height: 25px;
+      display: inline-block;
+      text-align: justify;
+      text-justify: distribute-all-lines;
+      text-align-last: justify;
     }
-    .core_dialogue::-webkit-scrollbar {
-      width: 6px;
-      transition: all 2s;
+  }
+  .littleBlock:nth-last-of-type(-n + 2) {
+    // line-height: 20px !important;
+    // color: #0e72e6;
+    display: flex;
+    align-items: center;
+  }
+  .el-dialog__footer {
+    padding-top: 0;
+  }
+  .footer {
+    width: 100%;
+    display: flex;
+    justify-content: center;
+    [type="button"] {
+      font-size: 16px;
     }
-    .core_dialogue::-webkit-scrollbar-thumb {
-      background-color: #929292;
-      border-radius: 100px;
-
+  }
+}
+
+.selects {
+  //一级页面搜索框,不包含项目管理、成果展示
+  width: 100%;
+  margin-top: 20px;
+  display: flex;
+  flex-wrap: wrap;
+  margin-bottom: 20px 0 10px;
+  .selectsBlock {
+    display: flex;
+    margin-right: 30px;
+    margin-bottom: 20px;
+  }
+  .selectLabel {
+    width: 64px;
+    font-size: 16px;
+    margin-right: 10px;
+    display: inline-block;
+    font-weight: bolder;
+    text-align: justify;
+    text-justify: distribute-all-lines;
+    text-align-last: justify;
+    transform: translate(0, 22%);
+  }
+}
+
+.selectInp {
+  // 一级页面搜索框 项目管理、成果展示
+  display: flex;
+  justify-content: space-between;
+  margin-top: 20px;
+  position: relative;
+  width: 99%;
+  .manageSelects {
+    display: flex;
+    flex-wrap: wrap;
+    width: 80%;
+    .selectsBlock {
+      display: flex;
+      margin-right: 30px;
+      margin-bottom: 20px;
     }
-    .core_dialogue::-webkit-scrollbar-thumb:hover {
-      background-color: #bbb;
-
+    .selectLabel {
+      width: 64px;
+      font-size: 16px;
+      margin-right: 10px;
+      display: inline-block;
+      font-weight: bolder;
+      text-align: justify;
+      text-justify: distribute-all-lines;
+      text-align-last: justify;
+      transform: translate(0, 22%);
     }
-  .core_dialogue::-webkit-scrollbar-corner {
-    background-color: rgba(255, 255, 255, 0);
-
   }
-
-
-  .select{      //活动申请填写信息区域
-          width: 100%;
-          box-sizing: border-box;
-          margin-top: 30px;
-          // margin-bottom: 8px;
-          .label{   //label标签
-            min-width: 98px;
-            margin-right: 5px;
-            display: inline-block;
-            text-align: justify;
-            text-justify:distribute-all-lines;
-            text-align-last: justify;
-            transform: translate(0,22%);
-            padding-right: 15px;
-            font-size: 16px;
-          }
-          .inpBlock{    //一个个输入框小方块
-            display: flex;
-            margin-bottom: 15px;
-            position: relative;
-            input::-webkit-outer-spin-button,
-            input::-webkit-inner-spin-button {
-              -webkit-appearance: none !important;
-            }
-            input[type='number'] {
-              -moz-appearance: textfield;
-            }
-          }
-
-          .selectTop{
-            width: 86%;
-            display: flex;
-          }
-
-          .selectMid{
-            display: flex;
-            margin-top: 16px;
-
-            .selectLeft{
-              width: 40%;
-              display: flex;
-              flex-direction: column;
-              margin-right: 70px;
-              // align-items: center;              
-            }
-            .selectRight{
-              width: 40%;
-              height: 150px;
-              display: flex;
-              flex-direction: column;
-              .el-cascader{
-                width: 100%;
-              }
-
-              
-            }
-            
-          }
+  .ProjectManagementQuery {
+    display: flex;
+    position: absolute;
+    right: 0;
+    .btn {
+      font-size: 16px;
+      margin-left: 10px;
+      background: #2268bc;
     }
-
-  .AppBar{    //横行的跳转导航栏
+  }
+}
+
+.twoSelectInp {
+  //一级页面搜索框 创业公司登记、消息提示
+  width: 100%;
+  display: flex;
+  justify-content: space-between;
+  margin-top: 20px;
+  margin-bottom: 10px;
+  .selectTwo {
     display: flex;
-    margin-top: 15px;
-    margin-bottom: 20px;
-    div{
-      // width: 110px;
-      cursor: pointer;
-      font-weight: 550;
-      font-size: 18px;
-      margin-right: 30px;
-      position: relative;
-      .pr1TitBass{
-          // position: absolute;
-          // width: 100%;
-          // height: 4px;
-          // left: 0;
-          // top: 28px;
-          // border-radius: 2px;
-          // background: #2a7ea9;
-          position: absolute;
-          width: 100%;
-          height: 4px;
-          left: 0;
-          top: 30px;
-          border-radius: 2px;
-          background: #2a7ea9;
+    flex-wrap: wrap;
+    width: 80%;
+    .selectsBlock {
+      margin-bottom: 5px;
+      .btn2 {
+        font-size: 14px;
+        margin-left: 10px;
+        background: #2268bc;
       }
     }
-    // .AppBarActive::after{
-      
-    // }
-    
   }
-
-  .addMoneyBtn{     //自定义写的的添加框
-      width: 120px;
-      cursor: pointer;
-      height: 40px;
-      border: #000 1px dashed;
+}
+
+.inputNumber {
+  //输入框只能数字
+  /* 普通IE浏览器 样式清除 */
+  input::-webkit-outer-spin-button,
+  input::-webkit-inner-spin-button {
+    -webkit-appearance: none !important;
+  }
+  /* 火狐浏览器样式清除 */
+  input[type="number"] {
+    -moz-appearance: textfield;
+  }
+}
+
+.disa {
+  //禁用按钮样式
+  background-color: #c8c9cc !important;
+  border-color: #c8c9cc;
+  cursor: no-drop !important;
+}
+.fontSize {
+  //所有表格字体大小
+  margin-top: 15px;
+  // margin-bottom: 60px;
+  font-size: 16px !important;
+  .operations {
+    //所有表格按钮栏
+    display: flex;
+    justify-content: space-around;
+    flex-wrap: nowrap;
+    [type="button"] {
+      width: 80px !important;
+      font-size: 14px;
+      border: none;
+      box-sizing: border-box;
       border-radius: 5px;
-      margin: 18px 10px 30px;
-      display: flex;
-      justify-content: center;
-      line-height: 40px;
-      font-size: 16px;
-      position: relative;
-        .jia{
-            border-radius: 50%;
-            border: 1.5px #ccc solid;
-            font-size: 25px;
-            line-height: 26px;
-            font-weight: 10;
-            display: flex;
-            justify-content: center;
-            margin-top: 6px;
-            margin-right: 5px;
-            height: 27px;
-            width: 27px;
-            color: #ccc;
-        }
-        #upFile{
-          position: absolute;
-          width: 100%;
-          height: 100%;
-          transform: scale(1.1,1.1);
-          opacity: 0;
-        }
-      }
-
-
-  .baseBtn{     //所有页面底部按钮框
-    width:100%;
+      padding: 8px 0;
+    }
+  }
+}
+.paginations {
+  //分页栏
+  position: relative;
+  display: flex;
+  justify-content: flex-end;
+  margin: 20px 50px 0 0;
+  right: 30px;
+  bottom: 0;
+}
+.AllDialogBtn {
+  //所有对话框按钮
+  width: 120px;
+  font-size: 16px !important;
+}
+
+.showFileArea {
+  //在线查看文档内容居中
+  width: 100%;
+  height: 70vh;
+  display: flex;
+  justify-content: center;
+}
+
+.pTit {
+  //项目详情类大标题
+  color: #3994ff;
+  font-weight: 550;
+  font-size: 18px;
+  margin: 15px 0;
+}
+.pTit2 {
+  //项目详情类小标题
+  margin-top: 15px;
+  color: #3994ff;
+  font-weight: 550;
+  font-size: 16px;
+}
+.editor {
+  //显示栏
+  width: 100%;
+  box-sizing: border-box;
+  padding: 15px 0px 10px 0px;
+}
+
+.pageSubmitData {
+  //页面提交数据,删除成员,审核对话框样式
+  .el-dialog__header {
     display: flex;
-    justify-content: flex-end;
-    margin: 10px 0;
-    margin-top: 30px;
-    .blockWidth{
-      display: flex;
-      justify-content:space-between;
-        [type='button']{
-          background: #409eff;
-          color: #fff !important;
-          display: flex;
-          border: none;
-          justify-content: center;
-          font-size: 16px;
-          width: 120px;
-          margin-left: 20px;
-          height: 40px;
-          align-items: center;
-        }
-    }  
+    justify-content: center;
   }
-
-  .twoStyle{  //左边两边对齐,右边靠右的靠右样式资金管理页面里的
-    display: flex !important;
-    justify-content: flex-end;
+  .el-dialog {
+    border-radius: 5px;
+    overflow: hidden;
+    top: 10%;
   }
-
-  .AddMember{      //添加成员对话框
-      .el-input__inner{
-          width: 300px;
-      }
-      .el-dialog{
-          width: 600px;
-          border-radius: 5px;
-          overflow: hidden;
-        }
-
-        .el-dialog__body{
-          display: flex;
-          align-items: center;
-          flex-direction: column;
-        }
-        
-        .el-dialog__header{
-          background: #32455b;
-          text-align: center;
-        }
-        .el-dialog__title{
-          color: #fff;
-          position: relative;
-          top: -2px;
-          font-size: 18px;
-        }
-        .littleBlock{   //添加对话框 label和input框
-            display: flex;
-            // width: 70%;
-            justify-content: center;
-            width: 100%;
-            margin: 10px;
-            .dialogLabel{      //label
-              width: 14%;
-              font-size: 16px;
-              align-items: center;
-              margin-right: 10px;
-              line-height: 25px;
-              display: inline-block;
-              text-align: justify;
-              text-justify:distribute-all-lines;
-              text-align-last: justify;
-            }
-          }
-          .littleBlock:nth-last-of-type(-n+2){
-            // line-height: 20px !important;
-            // color: #0e72e6;
-            display: flex;
-            align-items: center;
-          }
-          .el-dialog__footer{
-            padding-top: 0;
-          }
-        .footer{
-          width: 100%;
-          display: flex;
-          justify-content: center;
-          [type="button"]{
-            font-size: 16px;
-          }
-
-        }
-    }
-
-
-    .selects{  //一级页面搜索框,不包含项目管理、成果展示
-      width: 100%;
-      margin-top: 20px;
-      display: flex;
-      flex-wrap: wrap;
-      margin-bottom: 20px 0 10px;
-      .selectsBlock{
-        display: flex;
-        margin-right: 30px;
-        margin-bottom: 20px;
-      }
-      .selectLabel{
-        width: 64px;
-        font-size: 16px;
-        margin-right: 10px;
-        display: inline-block;
-        font-weight:bolder;
-        text-align: justify;
-        text-justify:distribute-all-lines;
-        text-align-last: justify;
-        transform: translate(0,22%);
-      }
-    }
-
-    .selectInp{// 一级页面搜索框 项目管理、成果展示 
-      display: flex;
-      justify-content: space-between;
-      margin-top: 20px;
-      position: relative;
-      width: 99%;
-      .manageSelects{
-        display: flex;
-        flex-wrap: wrap;
-        width: 80%;
-        .selectsBlock{
-          display: flex;
-          margin-right: 30px;
-          margin-bottom: 20px;
-        }
-        .selectLabel{
-          width: 64px;
-          font-size: 16px;
-          margin-right: 10px;
-          display: inline-block;
-          font-weight:bolder;
-          text-align: justify;
-          text-justify:distribute-all-lines;
-          text-align-last: justify;
-          transform: translate(0,22%);
-        }
-      }
-      .ProjectManagementQuery{
-          display: flex;
-          position: absolute;
-          right: 0;
-          .btn{
-            font-size: 16px;
-            margin-left: 10px;
-            background: #2268bc;
-          }
-        }
-    }
-
-
-    .twoSelectInp{   //一级页面搜索框 创业公司登记、消息提示
-      width: 100%;
-      display: flex;
-      justify-content: space-between;
-      margin-top: 20px;
-      margin-bottom: 10px;
-      .selectTwo{
-          display: flex;
-          flex-wrap: wrap;
-          width: 80%;
-          .selectsBlock{
-            margin-bottom: 5px;
-            .btn2{
-                font-size: 14px;
-                margin-left: 10px;
-                background: #2268bc;
-            }
-          }
-        }
-      }
-      
-      .inputNumber{       //输入框只能数字
-        /* 普通IE浏览器 样式清除 */
-        input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{
-        -webkit-appearance: none !important;
-        }
-        /* 火狐浏览器样式清除 */
-        input[type="number"]{
-        -moz-appearance:textfield;
-        }
-      }
-
-
-      .disa{   //禁用按钮样式
-            background-color: #c8c9cc !important;border-color: #c8c9cc;cursor: no-drop !important;
-        }
-      .fontSize{   //所有表格字体大小
-        margin-top: 15px;
-        // margin-bottom: 60px;
-        font-size: 16px !important;
-        .operations{   //所有表格按钮栏
-            display: flex;
-            justify-content: space-around;
-            flex-wrap: nowrap;
-          [type='button']{
-            width: 80px !important;
-            font-size: 14px;
-            border: none;
-            box-sizing: border-box;
-            border-radius: 5px;
-            padding: 8px 0;
-           
-          }
-        }
-      }
-      .paginations{   //分页栏
-          position: relative;
-          display: flex;
-          justify-content: flex-end;
-          margin: 20px 50px 0 0;
-          right: 30px;
-          bottom: 0;
-      }
-      .AllDialogBtn{          //所有对话框按钮
-        width: 120px;
-        font-size: 16px !important;
-      }
-      
-  .showFileArea {      //在线查看文档内容居中
+  .el-dialog__body {
+    display: flex;
+    justify-content: center;
+    flex-wrap: wrap;
+    align-items: center;
+  }
+  .el-input.is-disabled .el-input__inner {
+    color: #000;
+  }
+  .deleteContent {
     width: 100%;
-    height: 70vh;
+    text-align: center;
+    font-size: 22px;
+    color: #000;
+  }
+  .addDialogLogo {
+    width: 60px;
+    height: 30px;
+    border-radius: 5px;
     display: flex;
     justify-content: center;
+    line-height: 30px;
+    background: #f2f2f2;
+    position: absolute;
+    left: 20px;
+    top: 15px;
   }
-
-
-    .pTit{        //项目详情类大标题
-      color: #3994ff;
-      font-weight: 550;
-      font-size: 18px;
-      margin: 15px 0;
+  .el-dialog__header {
+    background: #32455b;
+  }
+  .el-dialog__title {
+    color: #fff;
+    display: flex;
+    justify-content: center;
+    font-size: 18px;
+    position: relative;
+    top: -2px;
+  }
+  .diaTit {
+    //项目名称、负责人
+    width: 100%;
+    display: flex;
+    box-sizing: border-box;
+    padding: 0 50px;
+    .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;
     }
-    .pTit2{    //项目详情类小标题
-      margin-top: 15px;
-      color: #3994ff;
-      font-weight: 550;
+    .spanCon {
       font-size: 16px;
+      margin-top: 5px;
+      color: #a0a0a0;
+      width: 150px;
+      overflow: hidden;
+      white-space: nowrap;
+      text-overflow: ellipsis;
     }
-    .editor{    //显示栏
+  }
+
+  .diaTit1 {
+    //label和input框
+    display: flex;
+    width: 80%;
+    margin-top: 20px;
+    .inp {
       width: 100%;
-      box-sizing: border-box;
-      padding: 15px 0px 10px 0px;
     }
-
-    .pageSubmitData{     //页面提交数据,删除成员,审核对话框样式
-        .el-dialog__header{
-            display: flex;
-            justify-content: center;
-        }
-        .el-dialog{
-          border-radius: 5px;
-          overflow: hidden;
-          top: 10%;
-        }
-        .el-dialog__body{
-          display: flex;
-          justify-content: center;
-          flex-wrap: wrap;
-          align-items: center;
-        }
-        .el-input.is-disabled .el-input__inner{
-          color: #000;
-        }
-        .deleteContent{
-          width: 100%;
-          text-align: center;
-          font-size: 22px;
-          color: #000;
-        }
-        .addDialogLogo{
-          width: 60px;
-            height: 30px;
-            border-radius: 5px;
-            display: flex;
-            justify-content: center;
-            line-height: 30px;
-            background: #f2f2f2;
-            position: absolute;
-            left: 20px; top: 15px; 
-        }
-        .el-dialog__header{
-        background: #32455b;
-        }
-        .el-dialog__title{
-          color:#fff;
-            display: flex;
-            justify-content: center;
-            font-size: 18px;
-            position: relative;
-            top: -2px;
-        }
-        .diaTit{     //项目名称、负责人
-            width: 100%;
-            display: flex;
-            box-sizing: border-box;
-            padding: 0 50px;
-            .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;
-            }
-        }
-  
-          .diaTit1{   //label和input框
-            display: flex;
-            width: 80%;
-            margin-top: 20px;
-            .inp{
-              width: 100%;
-            }
-            .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%);
-            }
-          }
-      //   .addDialogMid{
-      //     box-sizing: border-box;
-      //     padding:0 60px 0 10px;
-      //     .addDialogTit{
-      //       display: flex;
-      //       span{
-      //         width: 80px;
-      //         line-height: 40px;
-      //         text-align: left;
-      //       }
-      //     }
-      //     .addDialogTit1{
-      //       display: flex;
-      //       justify-content: space-between;
-      //       margin-bottom: 15px;
-      //     }
-      //     .addDialogTit2{
-      //       margin-top: 10px;
-      //       font-size: 18px;
-      //       color: #000;
-      //       text-indent: 2em;
-      //     }
-      //     .addDialogCon{
-      //       margin-top: 20px;
-      //     }
-      // }
-      .dialog-footer{
-        display: flex;
-        justify-content: center;
-      }
+    .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%);
     }
-
+  }
+  //   .addDialogMid{
+  //     box-sizing: border-box;
+  //     padding:0 60px 0 10px;
+  //     .addDialogTit{
+  //       display: flex;
+  //       span{
+  //         width: 80px;
+  //         line-height: 40px;
+  //         text-align: left;
+  //       }
+  //     }
+  //     .addDialogTit1{
+  //       display: flex;
+  //       justify-content: space-between;
+  //       margin-bottom: 15px;
+  //     }
+  //     .addDialogTit2{
+  //       margin-top: 10px;
+  //       font-size: 18px;
+  //       color: #000;
+  //       text-indent: 2em;
+  //     }
+  //     .addDialogCon{
+  //       margin-top: 20px;
+  //     }
+  // }
+  .dialog-footer {
+    display: flex;
+    justify-content: center;
+  }
+}
 </style>

+ 33 - 35
src/api/userApi.js

@@ -1,11 +1,12 @@
 import axios from "axios";
 import qs from 'qs'
 // let jwt=require('express')
-axios.defaults.timeout=30000;  //响应时间
-axios.defaults.headers.post["Content-Type"]=
-         "application/x-www-form-urlencoded";"charset=UTF-8;"
-   
-    
+axios.defaults.timeout = 30000; //响应时间
+axios.defaults.headers.post["Content-Type"] =
+    "application/x-www-form-urlencoded";
+"charset=UTF-8;"
+
+
 // axios.defaults.baseURL='http://10.3.16.76:2004'  //接口地址
 // axios.defaults.baseURL='http://localhost:5005'  //接口地址
 
@@ -36,57 +37,54 @@ axios.defaults.headers.post["Content-Type"]=
 
 // 响应拦截
 axios.interceptors.response.use(
-     (res)=> {
+    (res) => {
         // console.log(res);
-        if (res.data.status==0) {
-            let newToken=res.data.token;//成功后更新token
-            sessionStorage.setItem("assess_token",newToken)
+        if (res.data.status == 0) {
+            let newToken = res.data.token; //成功后更新token
+            sessionStorage.setItem("assess_token", newToken)
         }
-    return res;
-  },
-  (error)=>{
-    if(error.res.data.status=="401"){
-        this.$router.push('/login')
-    }
-    return Promise.reject(error);
-  });
+        return res;
+    },
+    (error) => {
+        return Promise.reject(error);
+    });
 
-  function post(url,params){
-    return new Promise((resolve,reject)=>{
+function post(url, params) {
+    return new Promise((resolve, reject) => {
         axios
-            .post(url,params)
+            .post(url, params)
             .then(
-                (res)=>{
+                (res) => {
                     resolve(res)
                 },
-                (err)=>{
+                (err) => {
                     reject(err)
                 }
             )
-            .catch((error)=>{
+            .catch((error) => {
                 reject(error)
             });
     });
-  }
+}
 
-  function get(url,param){
-    return new Promise((resolve,reject)=>{
+function get(url, param) {
+    return new Promise((resolve, reject) => {
         axios
-            .get(url,{params:param})
-            .then((res)=>{
-                resolve(res);
+            .get(url, { params: param })
+            .then((res) => {
+                    resolve(res);
                 },
-                (err)=>{
+                (err) => {
                     reject(err)
                 }
             )
-            .catch((error)=>{
-                    reject(error)
+            .catch((error) => {
+                reject(error)
             });
     })
-  }
+}
 
-  export default{
+export default {
     get,
     post,
-  }
+}

+ 1 - 1
src/config/config.js

@@ -24,7 +24,7 @@ const store = new Vuex.Store({
         // socket: "https://poll.cocorobo.cn",
         // socket: "http://localhost:1473",
         // api: 'http://10.3.16.226:7003/api',
-        api: 'http://127.0.0.1:7003/api',
+        api: 'http://10.16.30.130/api',
         // api: 'http://10.3.13.84:7003/api',
 
     },

+ 1 - 1
src/main.js

@@ -4,7 +4,7 @@ import router from './router' //路由
 import store from './config/config.js' //vuex
 import './plugins/element.js' //elementUI
 import './assets/sc/iconfont.css'
-
+import '@/permission' // permission control
 import ajax from './api/userApi' //封装axios
 Vue.prototype.ajax = ajax
 

+ 21 - 0
src/permission.js

@@ -0,0 +1,21 @@
+import router from '@/router'
+import ajax from '@/api/userApi'
+import { setToken } from '@/utils/auth' // get token from cookie
+// eslint-disable-next-line prettier/prettier
+router.beforeEach(async(to, from, next) => {
+    // set page title
+    try {
+        const response = await ajax.get('http://10.16.30.130/sso/api');
+        console.log(response);
+        if (response.uid) {
+            setToken(response.uid);
+            next()
+        } else {
+            window.location.href = "http://10.16.30.130/sso/caslogin.jsp";
+        }
+    } catch {
+        window.location.href = "http://10.16.30.130/sso/caslogin.jsp";
+    }
+    // determine whether the user has logged in
+
+})

+ 13 - 13
src/store/index.js

@@ -4,20 +4,20 @@ import createPersistedState from 'vuex-persistedstate'
 Vue.use(Vuex)
 
 export default new Vuex.Store({
-  state: {
+    state: {
 
-  },
-  getters: {
+    },
+    getters: {
 
-  },
-  mutations: {
+    },
+    mutations: {
 
-  },     
-  actions: {
+    },
+    actions: {
 
-  },
-  modules: {
-    
-  },
-  plugins:[createPersistedState()]
-})
+    },
+    modules: {
+
+    },
+    plugins: [createPersistedState()]
+})

+ 15 - 0
src/utils/auth.js

@@ -0,0 +1,15 @@
+import Cookies from 'js-cookie'
+
+const TokenKey = 'vue_admin_template_token'
+
+export function getToken() {
+  return Cookies.get(TokenKey)
+}
+
+export function setToken(token) {
+  return Cookies.set(TokenKey, token)
+}
+
+export function removeToken() {
+  return Cookies.remove(TokenKey)
+}

+ 604 - 436
src/views/projectApply/projectApplication.vue

@@ -5,46 +5,61 @@
       <div class="pAHeader1">项目立项管理</div>
       <!-- <el-button  style="font-size: 16px;" @click="apply">项目立项申请</el-button> -->
     </div>
-    <hr>
+    <hr />
 
-<!-- 搜索框开始 -->
+    <!-- 搜索框开始 -->
     <div class="selectInp">
       <div class="manageSelects">
         <div class="selectsBlock">
           <div class="selectLabel">项目筛选</div>
-          <el-select v-model="selectInp.filter" @change="getData" placeholder="我的项目">
-            <el-option label="所有项目"  value=""></el-option>
+          <el-select
+            v-model="selectInp.filter"
+            @change="getData"
+            placeholder="我的项目"
+          >
+            <el-option label="所有项目" value=""></el-option>
             <el-option
               v-for="item in options.projectFilter"
               :key="item.courseId"
               :label="item.title"
-              :value="item.courseId">
+              :value="item.courseId"
+            >
             </el-option>
           </el-select>
         </div>
 
         <div class="selectsBlock">
           <div class="selectLabel">部门</div>
-          <el-select v-model="selectInp.department" @change="getData" placeholder="请选择">
+          <el-select
+            v-model="selectInp.department"
+            @change="getData"
+            placeholder="请选择"
+          >
             <el-option label="所有部门" value=""></el-option>
             <el-option
               v-for="item in options.department"
               :key="item.classid"
               :label="item.name"
-              :value="item.classid">
+              :value="item.classid"
+            >
             </el-option>
           </el-select>
         </div>
 
         <div class="selectsBlock">
           <div class="selectLabel">分类</div>
-          <el-select v-model="selectInp.sort" @change="getData" placeholder="请选择">
+          <el-select
+            v-model="selectInp.sort"
+            @change="getData"
+            placeholder="请选择"
+          >
             <el-option label="所有分类" value=""></el-option>
             <el-option
               v-for="item in options.sort"
               :key="item.typeid"
               :label="item.name"
-              :value="item.typeid">
+              :value="item.typeid"
+            >
             </el-option>
           </el-select>
         </div>
@@ -56,37 +71,49 @@
         </div> -->
         <div class="selectsBlock">
           <div class="selectLabel">负责人</div>
-          <el-select v-model="selectInp.person" @change="getData" placeholder="请选择">
+          <el-select
+            v-model="selectInp.person"
+            @change="getData"
+            placeholder="请选择"
+          >
             <el-option label="所有负责人" value=""></el-option>
             <el-option
-              v-for="(item,index) in options.person"
+              v-for="(item, index) in options.person"
               :key="index"
               :label="item.pro_leader"
-              :value="item.pro_leader">
+              :value="item.pro_leader"
+            >
             </el-option>
           </el-select>
         </div>
 
         <div class="selectsBlock">
           <div class="selectLabel">状态</div>
-          <el-select v-model="selectInp.state" @change="getData" placeholder="请选择">
+          <el-select
+            v-model="selectInp.state"
+            @change="getData"
+            placeholder="请选择"
+          >
             <el-option
               v-for="item in options.state"
               :key="item.value"
               :label="item.label"
-              :value="item.value">
+              :value="item.value"
+            >
             </el-option>
           </el-select>
         </div>
       </div>
       <div class="ProjectManagementQuery">
         <el-input v-model="input" placeholder="请输入项目名称/编号"></el-input>
-        <el-button type="primary" class="btn" size="mini" @click="getData">查询</el-button>
+        <el-button type="primary" class="btn" size="mini" @click="getData"
+          >查询</el-button
+        >
       </div>
     </div>
-    
-<!-- 搜索框结束 -->
-<!-- 表格开始 -->
+
+    <!-- 搜索框结束 -->
+    <!-- 表格开始 -->
     <div>
       <el-table
         ref="multipleTable"
@@ -94,10 +121,11 @@
         tooltip-effect="dark"
         stripe
         class="fontSize"
-        :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
-        @selection-change="handleSelectionChange">
+        :header-cell-style="{ background: '#f2f2f2', color: '#000' }"
+        @selection-change="handleSelectionChange"
+      >
         <!-- selection-change批量选择功能后续可能用到 -->
-<!-- 
+        <!-- 
         <el-table-column
           type="selection"
           width="25"
@@ -108,42 +136,47 @@
           prop="ProjectNo"
           label="项目编号"
           align="center"
-          min-width="9%">
+          min-width="9%"
+        >
         </el-table-column>
         <el-table-column
           prop="title"
           label="项目名称"
           align="center"
-          min-width="10%">
+          min-width="10%"
+        >
         </el-table-column>
         <el-table-column
           prop="pro_leader"
           align="center"
           label="项目负责人"
-          min-width="9%">
+          min-width="9%"
+        >
         </el-table-column>
 
         <el-table-column
           prop="name"
           align="center"
           label="所在部门"
-          min-width="10%">
-          
+          min-width="10%"
+        >
         </el-table-column>
         <el-table-column
           prop="sort"
           align="center"
           label="分类"
-          min-width="10%">
+          min-width="10%"
+        >
         </el-table-column>
         <el-table-column
           prop="fund"
           label="预算(万)"
           align="center"
-          min-width="8%">
+          min-width="8%"
+        >
           <template #default="scope">
             <div>
-              {{ scope.row.fund/10000 }}
+              {{ scope.row.fund / 10000 }}
             </div>
           </template>
         </el-table-column>
@@ -151,10 +184,13 @@
           prop="createTime"
           align="center"
           label="创建时间"
-          min-width="9%">
+          min-width="9%"
+        >
           <template #default="scope">
             <div>
-              {{ scope.row.createTime.split(' ')[0]}}<br/>{{ scope.row.createTime.split(' ')[1]}}
+              {{ scope.row.createTime.split(" ")[0] }}<br />{{
+                scope.row.createTime.split(" ")[1]
+              }}
             </div>
           </template>
         </el-table-column>
@@ -162,10 +198,15 @@
           prop="phone"
           align="center"
           label="联系电话"
-          min-width="10%">
+          min-width="10%"
+        >
           <template #default="scope">
             <div>
-              {{ scope.row.phone!=null||scope.row.phone==''?scope.row.phone:"-" }}
+              {{
+                scope.row.phone != null || scope.row.phone == ""
+                  ? scope.row.phone
+                  : "-"
+              }}
             </div>
           </template>
         </el-table-column>
@@ -173,139 +214,238 @@
           prop="state"
           label="状态"
           align="center"
-          min-width="6%">
+          min-width="6%"
+        >
           <template #default="scope">
-                <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==1">审核中</span>
-                    <span v-if="scope.row.isupload==2">进行中</span>
-                    <span v-if="scope.row.isupload==3">待结项</span>
-                    <span v-if="scope.row.isupload==4">已结项</span>
+            <div>
+              <!-- {{scope.row.name + (scope.row.status==0?"":"(已屏蔽)")}} -->
+              <!-- {{ (scope.row.isupload==0?"未审核": scope.row.data==1?"正在审核":"已审核")  }} -->
 
-                </div>
-            </template>
+              <span v-if="scope.row.isupload == 0">未审核</span>
+              <span v-if="scope.row.isupload == 1">审核中</span>
+              <span v-if="scope.row.isupload == 2">进行中</span>
+              <span v-if="scope.row.isupload == 3">待结项</span>
+              <span v-if="scope.row.isupload == 4">已结项</span>
+            </div>
+          </template>
         </el-table-column>
         <el-table-column
           prop="operation"
           width="360"
           align="center"
           label="操作"
-          >
+        >
           <template #default="scope">
-              <div class="operations">
-                <!-- {{ scope.row.isupload }} -->
-                        <el-button type="primary"  size="mini" @click="lookDetail(scope.row.courseId,scope.row.typeid)">查看详情</el-button>
+            <div class="operations">
+              <!-- {{ scope.row.isupload }} -->
+              <el-button
+                type="primary"
+                size="mini"
+                @click="lookDetail(scope.row.courseId, scope.row.typeid)"
+                >查看详情</el-button
+              >
 
-                        <el-button type="primary" v-show="scope.row.isupload==0" @click="audit(scope.row,0)">提交</el-button> <!--0申请人审核 -->
-                        <el-button type="primary" v-show="scope.row.isupload==1 " class="disa">已提交</el-button>
-                        <el-button type="primary" v-show="scope.row.isupload==2"  class="disa"  size="mini">已审核</el-button>
-                        <el-button type="primary" v-show="scope.row.isupload==3" class="disa" size="mini">待结项</el-button>
-                        <el-button type="primary" v-show="scope.row.isupload==4" class="disa" size="mini">已结项</el-button>
+              <el-button
+                type="primary"
+                v-show="scope.row.isupload == 0"
+                @click="audit(scope.row, 0)"
+                >提交</el-button
+              >
+              <!--0申请人审核 -->
+              <el-button
+                type="primary"
+                v-show="scope.row.isupload == 1"
+                class="disa"
+                >已提交</el-button
+              >
+              <el-button
+                type="primary"
+                v-show="scope.row.isupload == 2"
+                class="disa"
+                size="mini"
+                >已审核</el-button
+              >
+              <el-button
+                type="primary"
+                v-show="scope.row.isupload == 3"
+                class="disa"
+                size="mini"
+                >待结项</el-button
+              >
+              <el-button
+                type="primary"
+                v-show="scope.row.isupload == 4"
+                class="disa"
+                size="mini"
+                >已结项</el-button
+              >
 
-                        
-                        <el-button  v-show="scope.row.isupload==0" type="primary" class="disa" size="mini">审核1</el-button>   <!--1管理员审核 -->
-                        <el-button  v-show="scope.row.isupload==1" type="primary" size="mini" @click="audit(scope.row,1)">审核1</el-button>
-                        <el-button  v-show="scope.row.isupload==2" type="primary" class="disa" size="mini">已审核1</el-button>
-                        <el-button  v-show="scope.row.isupload==3" type="primary" class="disa" size="mini">待结项1</el-button>
-                        <el-button  v-show="scope.row.isupload==4" type="primary" class="disa" size="mini">已结项1</el-button>
+              <el-button
+                v-show="scope.row.isupload == 0"
+                type="primary"
+                class="disa"
+                size="mini"
+                >审核1</el-button
+              >
+              <!--1管理员审核 -->
+              <el-button
+                v-show="scope.row.isupload == 1"
+                type="primary"
+                size="mini"
+                @click="audit(scope.row, 1)"
+                >审核1</el-button
+              >
+              <el-button
+                v-show="scope.row.isupload == 2"
+                type="primary"
+                class="disa"
+                size="mini"
+                >已审核1</el-button
+              >
+              <el-button
+                v-show="scope.row.isupload == 3"
+                type="primary"
+                class="disa"
+                size="mini"
+                >待结项1</el-button
+              >
+              <el-button
+                v-show="scope.row.isupload == 4"
+                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> -->
+              <!-- <el-button type="primary"  size="mini" @click="appTable(scope.row.typeid,scope.row.courseId)" >申请表</el-button> -->
 
-                        <el-button type="primary"  size="mini" @click="del(scope.row)">删除</el-button>
-              </div>
+              <el-button type="primary" size="mini" @click="del(scope.row)"
+                >删除</el-button
+              >
+            </div>
           </template>
         </el-table-column>
       </el-table>
     </div>
-<!-- 表格结束 -->
-        <!-- 分页 -->
-        <el-pagination
-            @current-change="handleCurrentChange"
-            :current-page="table.currentPage"
-            :page-size="table.packageSize"
-            layout=" prev, pager, next"
-            background
-            class="paginations"
-            :total="table.total">
-          </el-pagination>
-        <!-- 分页结束 -->
+    <!-- 表格结束 -->
+    <!-- 分页 -->
+    <el-pagination
+      @current-change="handleCurrentChange"
+      :current-page="table.currentPage"
+      :page-size="table.packageSize"
+      layout=" prev, pager, next"
+      background
+      class="paginations"
+      :total="table.total"
+    >
+    </el-pagination>
+    <!-- 分页结束 -->
 
-<!-- 立项审核对话框开始 -->
-      <el-dialog
-          title="立项审核"
-          :visible.sync="dialogVisible"
-          class="pageSubmitData"
-          width="700px"
-          :before-close="init">
-        
-          <div class="diaTit">
-              
-              <div class="spans">项目名称:</div>
-              <div class="spanCon">{{ auditDialog.projectName }}</div>
-              <div class="spans">项目负责人:</div>
-              <div class="spanCon">{{ auditDialog.person }}</div>
-          </div>
-
-            <div class="diaTit1">
-              <div class="spans1">所在部门</div>
-              <div class="inp">
-                <el-input disabled v-model="auditDialog.department" placeholder="所在部门"></el-input>
-              </div>
-            </div>
+    <!-- 立项审核对话框开始 -->
+    <el-dialog
+      title="立项审核"
+      :visible.sync="dialogVisible"
+      class="pageSubmitData"
+      width="700px"
+      :before-close="init"
+    >
+      <div class="diaTit">
+        <div class="spans">项目名称:</div>
+        <div class="spanCon">{{ auditDialog.projectName }}</div>
+        <div class="spans">项目负责人:</div>
+        <div class="spanCon">{{ auditDialog.person }}</div>
+      </div>
 
-            <div class="diaTit1">
-              <div class="spans1">预算总经费</div>
-              <div class="inp">
-                <el-input disabled v-model="auditDialog.fund" placeholder="预算总经费"></el-input>
-              </div>
-            </div>
+      <div class="diaTit1">
+        <div class="spans1">所在部门</div>
+        <div class="inp">
+          <el-input
+            disabled
+            v-model="auditDialog.department"
+            placeholder="所在部门"
+          ></el-input>
+        </div>
+      </div>
 
-            <div class="diaTit1">
-              <div class="spans1">联系电话</div>
-              <div class="inp">
-                <el-input disabled v-model="auditDialog.tel" placeholder="联系电话"></el-input>
-              </div>
-            </div>
-            <div class="diaTit1" v-show="isManager==1">
-              <div class="spans1" style="position: relative;top:-24px">驳回意见</div>
-              <div class="inp">
-                <el-input
-                  type="textarea"
-                  :rows="5"
-                  resize="none"
-                  placeholder="请输入修改建议等..."
-                  v-model="rejectApplyText">
-                </el-input>
-              </div>
-            </div>
-            <div slot="footer" class="dialog-footer">
-              <el-button type="primary" v-show="isManager==0" @click="ApplyPersonCommit" class="AllDialogBtn" >审核</el-button>
-              <el-button type="primary" v-show="isManager==1" @click="ManagerCommit" class="AllDialogBtn" >通过</el-button>
-              <el-button type="primary" v-show="isManager==1" @click="rejectApply" class="AllDialogBtn" >驳回</el-button>
-              <el-button @click="init" class="AllDialogBtn">取消</el-button>
-            </div>
-      </el-dialog>
-<!-- 立项审核对话框结束 -->
+      <div class="diaTit1">
+        <div class="spans1">预算总经费</div>
+        <div class="inp">
+          <el-input
+            disabled
+            v-model="auditDialog.fund"
+            placeholder="预算总经费"
+          ></el-input>
+        </div>
+      </div>
 
+      <div class="diaTit1">
+        <div class="spans1">联系电话</div>
+        <div class="inp">
+          <el-input
+            disabled
+            v-model="auditDialog.tel"
+            placeholder="联系电话"
+          ></el-input>
+        </div>
+      </div>
+      <div class="diaTit1" v-show="isManager == 1">
+        <div class="spans1" style="position: relative; top: -24px">
+          驳回意见
+        </div>
+        <div class="inp">
+          <el-input
+            type="textarea"
+            :rows="5"
+            resize="none"
+            placeholder="请输入修改建议等..."
+            v-model="rejectApplyText"
+          >
+          </el-input>
+        </div>
+      </div>
+      <div slot="footer" class="dialog-footer">
+        <el-button
+          type="primary"
+          v-show="isManager == 0"
+          @click="ApplyPersonCommit"
+          class="AllDialogBtn"
+          >审核</el-button
+        >
+        <el-button
+          type="primary"
+          v-show="isManager == 1"
+          @click="ManagerCommit"
+          class="AllDialogBtn"
+          >通过</el-button
+        >
+        <el-button
+          type="primary"
+          v-show="isManager == 1"
+          @click="rejectApply"
+          class="AllDialogBtn"
+          >驳回</el-button
+        >
+        <el-button @click="init" class="AllDialogBtn">取消</el-button>
+      </div>
+    </el-dialog>
+    <!-- 立项审核对话框结束 -->
 
-<!-- 删除通知开始 -->
-      <el-dialog
+    <!-- 删除通知开始 -->
+    <el-dialog
       title="删除项目"
       :visible.sync="dialogVisible2"
       width="600px"
-      class="pageSubmitData">
-      
+      class="pageSubmitData"
+    >
       <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>
+        <el-button type="primary" @click="dialogDel" class="AllDialogBtn"
+          >确认删除</el-button
+        >
+        <el-button @click="init" class="AllDialogBtn">取消</el-button>
       </span>
-      </el-dialog>
-<!-- 删除通知结束-->
-
+    </el-dialog>
+    <!-- 删除通知结束-->
   </div>
 </template>
 
@@ -313,320 +453,348 @@
 // import {MakerSpaceWord,MakerStudentWord,getWord} from '@/components/tool/getWord.js'
 // import MakerSpaceWordPreview from '@/components/MakerSpaceWordPreview.vue';
 // import studentMakerProjectPreview from '@/components/studentMakerProjectPreview.vue'
-    export default {
-      // components:{MakerSpaceWordPreview,studentMakerProjectPreview},
-      data() {
-        return {
-          iid:'',
-          loading:false,
-          textarea:'',
-          input:'',
-          dialogVisible:false,//立项审核
-          dialogVisible1:false,//立项撤回提交
-          dialogVisible2:false,//删除
-          WordPreview:false,//文档预览
-          downloadWord:false,//申请表下载
-          PreviewTid:"",//预览分类ID
-          PreviewData:"",//预览数据
-          rejectApplyText:'',  //驳回-修改建议
-          isManager:0,  //0申请人审核科-----  1管理员审核框
-          // 分页数据
-          table:{
-            total:0,
-            packageSize:7,
-            currentPage:1
-          },   
-          tableData:[],    //列表数据
-          
-          selectInp:{  // 头部搜索框的内容
-            filter:'',
-            department:'',
-            sort:'',
-            person:'',
-            state:'',
+export default {
+  // components:{MakerSpaceWordPreview,studentMakerProjectPreview},
+  data() {
+    return {
+      iid: "",
+      loading: false,
+      textarea: "",
+      input: "",
+      dialogVisible: false, //立项审核
+      dialogVisible1: false, //立项撤回提交
+      dialogVisible2: false, //删除
+      WordPreview: false, //文档预览
+      downloadWord: false, //申请表下载
+      PreviewTid: "", //预览分类ID
+      PreviewData: "", //预览数据
+      rejectApplyText: "", //驳回-修改建议
+      isManager: 0, //0申请人审核科-----  1管理员审核框
+      // 分页数据
+      table: {
+        total: 0,
+        packageSize: 7,
+        currentPage: 1,
+      },
+      tableData: [], //列表数据
+
+      selectInp: {
+        // 头部搜索框的内容
+        filter: "",
+        department: "",
+        sort: "",
+        person: "",
+        state: "",
+      },
+      options: {
+        //头部搜索框下拉框数据
+        projectFilter: [], //项目筛选
+        department: [], //部门
+        sort: [], //分类
+        person: [], //负责人
+        state: [
+          //状态
+          {
+            value: "",
+            label: "全部",
           },
-          options:{    //头部搜索框下拉框数据
-            projectFilter:[],//项目筛选
-            department:[],//部门
-            sort:[],//分类
-            person:[],//负责人
-            state:[//状态
-              {
-                value:'',
-                label:'全部'
-              },
-              {
-                value:0,
-                label:'未审核'
-              },
-              {
-                value:1,
-                label:'审核中'
-              },
-              {
-                value:2,
-                label:'进行中'
-              },
-              {
-                value:3,
-                label:"待结项"
-              },
-              {
-                value:4,
-                label:"已结项"
-              },
-              
-            ],
+          {
+            value: 0,
+            label: "未审核",
           },
-          auditDialog:{    //审核对话框数据
-                projectName:'',
-                person:'',
-                department:'',
-                fund:'',
-                tel:'',
-                // cid:''
-          }
-        }
+          {
+            value: 1,
+            label: "审核中",
+          },
+          {
+            value: 2,
+            label: "进行中",
+          },
+          {
+            value: 3,
+            label: "待结项",
+          },
+          {
+            value: 4,
+            label: "已结项",
+          },
+        ],
       },
-      methods:{
-       
-        init(){   
-          this.dialogVisible=false;
-          this.dialogVisible1=false;
-          this.dialogVisible2=false;
-        },
-        audit(val,num){      //审核按钮
-            this.isManager=num;
-            this.iid=val   //储存id给对话框
-          // if (val.isupload==0) {
-            this.dialogVisible=true;
-            // console.log(val);
-            this.auditDialog.projectName=val.title;
-            this.auditDialog.person=val.pro_leader;
-            this.auditDialog.department=val.name;
-            this.auditDialog.fund=val.fund;
-            this.auditDialog.tel=val.phone || '-';
-            // this.auditDialog.cid=courseId
-          // }
-            
-            
-        },
-        appTable(tid,pid){   //查看申请表
-          // console.log();
-          if(tid=="5e21b204-c206-11ed-a4cd-509a4c5b67cf"){
-            // downloadFile('/file/附件2:2023年学生创客项目申报书模板(2).docx',"2023年学生创客项目申报书模板.docx",(_b)=>this.loading = _b);
-            this.ajax.get(this.$store.state.api+"/SelectProjectWordMakerStudent",{
-              uid:this.$store.state.userInfo.userid,
-              pid:pid
-            }).then(res=>{
-              // console.log(res['data']);
-              let data=res['data']
-              this.downloadWord=true
-              // this.downWord(data)
-              // 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)
-            })
-          }else if(tid=="5f7a66d5-c206-11ed-a4cd-509a4c5b67cf"){
-            this.ajax.get(this.$store.state.api+"/SelectProjectWordMakerSpace",{
-              uid:this.$store.state.userInfo.userid,
-              pid:pid
-            }).then(res=>{
-              this.PreviewData = [res['data'][0][0],res['data'][1]];
-              this.WordPreview = true;
-              this.PreviewTid = tid;
-              // MakerSpaceWord(res['data'][0][0],res['data'][1]);
-            }).catch(err=>{
-              console.log(err)
-            })
-          }else{
-            this.$message.error("错误")
-          }
-        },
-        downWord(data){
-          if(this.PreviewTid=='5f7a66d5-c206-11ed-a4cd-509a4c5b67cf'){
-            MakerSpaceWord(this.PreviewData[0],this.PreviewData[1]);
-          }else{
-            getWord(data[0][0]);
+      auditDialog: {
+        //审核对话框数据
+        projectName: "",
+        person: "",
+        department: "",
+        fund: "",
+        tel: "",
+        // cid:''
+      },
+    };
+  },
+  methods: {
+    init() {
+      this.dialogVisible = false;
+      this.dialogVisible1 = false;
+      this.dialogVisible2 = false;
+    },
+    audit(val, num) {
+      //审核按钮
+      this.isManager = num;
+      this.iid = val; //储存id给对话框
+      // if (val.isupload==0) {
+      this.dialogVisible = true;
+      // console.log(val);
+      this.auditDialog.projectName = val.title;
+      this.auditDialog.person = val.pro_leader;
+      this.auditDialog.department = val.name;
+      this.auditDialog.fund = val.fund;
+      this.auditDialog.tel = val.phone || "-";
+      // this.auditDialog.cid=courseId
+      // }
+    },
+    appTable(tid, pid) {
+      //查看申请表
+      // console.log();
+      if (tid == "5e21b204-c206-11ed-a4cd-509a4c5b67cf") {
+        // downloadFile('/file/附件2:2023年学生创客项目申报书模板(2).docx',"2023年学生创客项目申报书模板.docx",(_b)=>this.loading = _b);
+        this.ajax
+          .get(this.$store.state.api + "/SelectProjectWordMakerStudent", {
+            uid: this.$store.state.userInfo.userid,
+            pid: pid,
+          })
+          .then((res) => {
+            // console.log(res['data']);
+            let data = res["data"];
+            this.downloadWord = true;
+            // this.downWord(data)
+            // 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);
+          });
+      } else if (tid == "5f7a66d5-c206-11ed-a4cd-509a4c5b67cf") {
+        this.ajax
+          .get(this.$store.state.api + "/SelectProjectWordMakerSpace", {
+            uid: this.$store.state.userInfo.userid,
+            pid: pid,
+          })
+          .then((res) => {
+            this.PreviewData = [res["data"][0][0], res["data"][1]];
+            this.WordPreview = true;
+            this.PreviewTid = tid;
+            // MakerSpaceWord(res['data'][0][0],res['data'][1]);
+          })
+          .catch((err) => {
+            console.log(err);
+          });
+      } else {
+        this.$message.error("错误");
+      }
+    },
+    downWord(data) {
+      if (this.PreviewTid == "5f7a66d5-c206-11ed-a4cd-509a4c5b67cf") {
+        MakerSpaceWord(this.PreviewData[0], this.PreviewData[1]);
+      } else {
+        getWord(data[0][0]);
+      }
+    },
+    ManagerCommit() {
+      //立项审核对话框里面的管理员通过按钮
+      // console.log(this.iid);
+      let param = {
+        uid: this.$store.state.userInfo.userid,
+        pid: this.iid.courseId,
+        num: 2,
+      };
+      this.ajax
+        // .post(this.$store.state.api+"/ApproveProject",param)
+        .post(this.$store.state.api + "/updateIsupload", param)
+        .then(
+          (res) => {
+            // console.log(res);
+            this.dialogVisible = false;
+            this.$message.success("提交成功");
+            this.getData();
+          },
+          (err) => {
+            console.log(err);
           }
-        },
-        ManagerCommit(){    //立项审核对话框里面的管理员通过按钮
-          // console.log(this.iid);
-            let param={
-              uid:this.$store.state.userInfo.userid,
-              pid:this.iid.courseId,
-              num:2
-            }
-            this.ajax
-                // .post(this.$store.state.api+"/ApproveProject",param)
-                .post(this.$store.state.api+"/updateIsupload",param)
-                .then(res=>{
-                    // console.log(res);
-                    this.dialogVisible=false;
-                    this.$message.success('提交成功')
-                    this.getData()
-                },err=>{
-                  console.log(err);
-                })
-        },
-        ApplyPersonCommit(){  //申请人审核按钮
-          let param={
-              uid:this.$store.state.userInfo.userid,
-              pid:this.iid.courseId,
-              num:1
-            }
-          this.ajax
-              .post(this.$store.state.api+"/updateIsupload",param)    //updateIsupload
-              .then(res=>{
-                this.dialogVisible=false
-                this.$message.success('已提交')
-                this.getData()
-              })
-        },
-        rejectApply(){   //立项审核对话框里面的驳回申请
-          let param={
-              uid:this.$store.state.userInfo.userid,
-              pid:this.iid.courseId,
-              num:0
-            }
-          this.ajax
-              .post(this.$store.state.api+"/updateIsupload",param)
-              .then(res=>{
-                this.dialogVisible=false
-                this.$message.success('已驳回项目申请')
-                this.getData()
-              })
-              
-        },
+        );
+    },
+    ApplyPersonCommit() {
+      //申请人审核按钮
+      let param = {
+        uid: this.$store.state.userInfo.userid,
+        pid: this.iid.courseId,
+        num: 1,
+      };
+      this.ajax
+        .post(this.$store.state.api + "/updateIsupload", param) //updateIsupload
+        .then((res) => {
+          this.dialogVisible = false;
+          this.$message.success("已提交");
+          this.getData();
+        });
+    },
+    rejectApply() {
+      //立项审核对话框里面的驳回申请
+      let param = {
+        uid: this.$store.state.userInfo.userid,
+        pid: this.iid.courseId,
+        num: 0,
+      };
+      this.ajax
+        .post(this.$store.state.api + "/updateIsupload", param)
+        .then((res) => {
+          this.dialogVisible = false;
+          this.$message.success("已驳回项目申请");
+          this.getData();
+        });
+    },
 
-        commit2(val){   //立项撤回对话框里面的确定撤回按钮
-          this.dialogVisible1=false;
-          this.status--
-        },
+    commit2(val) {
+      //立项撤回对话框里面的确定撤回按钮
+      this.dialogVisible1 = false;
+      this.status--;
+    },
 
-        handleSelectionChange(val) {   //批量选择功能后续可能用到 
-          // console.log(val);
-          this.multipleSelection = val;
-        },
-       
-        lookDetail(val,tid){    //查看详情按钮
-          // localStorage.setItem("pid",JSON.stringify(val))
-          this.$router.push(`/projectApplicationDetailMain?tid=${tid}&pid=${val}`)
-        },
-        // apply(){     //项目立项申请按钮
-        //   this.$router.push('/projectApplicationApplyMain')
-        // },
-        getData(){    //获取表格数据
-          this.loading = true;
-          let param={
-            uid:this.$store.state.userInfo.userid,
-            pid:this.selectInp.filter,  //筛选
-            did:this.selectInp.department,  //部门
-            tid:this.selectInp.sort,    //分类
-            leader:this.selectInp.person,  //负责人
-            st:this.selectInp.state,  //审核状态
-            year:"",
-            textInp:this.input,
-            page:this.table.currentPage,  //当前页
-            lim:this.table.packageSize  //限制获取几条数据
+    handleSelectionChange(val) {
+      //批量选择功能后续可能用到
+      // console.log(val);
+      this.multipleSelection = val;
+    },
+
+    lookDetail(val, tid) {
+      //查看详情按钮
+      // localStorage.setItem("pid",JSON.stringify(val))
+      this.$router.push(`/projectApplicationDetailMain?tid=${tid}&pid=${val}`);
+    },
+    // apply(){     //项目立项申请按钮
+    //   this.$router.push('/projectApplicationApplyMain')
+    // },
+    getData() {
+      //获取表格数据
+      this.loading = true;
+      let param = {
+        uid: this.$store.state.userInfo.userid,
+        pid: this.selectInp.filter, //筛选
+        did: this.selectInp.department, //部门
+        tid: this.selectInp.sort, //分类
+        leader: this.selectInp.person, //负责人
+        st: this.selectInp.state, //审核状态
+        year: "",
+        textInp: this.input,
+        page: this.table.currentPage, //当前页
+        lim: this.table.packageSize, //限制获取几条数据
+      };
+      // return console.log(param);
+      // console.log(param)
+      this.ajax.get(this.$store.state.api + "/SelectAllProject", param).then(
+        (res) => {
+          let data = res.data;
+          console.log(data);
+          if (data[0].length == 0 && data[5][0]["total"] != 0) {
+            this.table.currentPage = 1;
+            return this.getData();
           }
-          // return console.log(param);
-          // console.log(param)
-          this.ajax    
-            .get(this.$store.state.api+'/SelectAllProject',param)
-              .then(res=>{
-                let data=res.data;
-                console.log(data)
-                if (data[0].length==0 && data[5][0]['total'] != 0) {
-                  this.table.currentPage=1
-                  return this.getData()
-                }
-                let a=this.options;
-                this.tableData=data[0];
-                a.projectFilter=data[1];
-                a.department=data[2];
-                a.sort=data[3];
-                a.person=data[4];
-                this.table.total=data[5][0].total
-                // this.tableData.forEach(item=>{
-                //   if(item['time']!=null&&item['time']!=''){
-                //     item['time']=JSON.parse(item['time'])
-                //   }else{
-                //     item['time'] = []
-                //   }
-                // })
-                this.loading = false;
+          let a = this.options;
+          this.tableData = data[0];
+          a.projectFilter = data[1];
+          a.department = data[2];
+          a.sort = data[3];
+          a.person = data[4];
+          this.table.total = data[5][0].total;
+          // this.tableData.forEach(item=>{
+          //   if(item['time']!=null&&item['time']!=''){
+          //     item['time']=JSON.parse(item['time'])
+          //   }else{
+          //     item['time'] = []
+          //   }
+          // })
+          this.loading = false;
 
-                // console.log(this.tableData)
-              },err=>{
-                console.log(err);
-              })  
-        },
-        del(val) {   //表格删除按钮,点击显示删除对话框
-          // console.log(val);
-          this.dialogVisible2=true
-          this.iid=val   //将要删除的id进行存储供删除对话框使用
+          // console.log(this.tableData)
         },
-        dialogDel(){   //确定删除这个项目
-          // console.log(this.iid)
-          if (this.iid.userid == this.$store.state.userInfo.userid) {
-            let param={
-              uid:this.$store.state.userInfo.userid,
-              pid:this.iid.courseId
-            }
-            this.ajax
-                .post(this.$store.state.api+"/DeleteProject",param)
-                .then(res=>{
-                    // console.log(res);
-                    if (res.data) {
-                        this.$message.success('删除成功')
-                        this.getData()
-                        this.dialogVisible2=false
-                        return
-                    }else{
-                      this.$message.error('删除失败')
-                    }
-                },err=>{
-                  console.log(err);
-                })
+        (err) => {
+          console.log(err);
+        }
+      );
+    },
+    del(val) {
+      //表格删除按钮,点击显示删除对话框
+      // console.log(val);
+      this.dialogVisible2 = true;
+      this.iid = val; //将要删除的id进行存储供删除对话框使用
+    },
+    dialogDel() {
+      //确定删除这个项目
+      // console.log(this.iid)
+      if (this.iid.userid == this.$store.state.userInfo.userid) {
+        let param = {
+          uid: this.$store.state.userInfo.userid,
+          pid: this.iid.courseId,
+        };
+        this.ajax.post(this.$store.state.api + "/DeleteProject", param).then(
+          (res) => {
+            // console.log(res);
+            if (res.data) {
+              this.$message.success("删除成功");
+              this.getData();
+              this.dialogVisible2 = false;
+              return;
+            } else {
+              this.$message.error("删除失败");
             }
-          
-        },
-        handleCurrentChange(val) {   //当页数发生改变的时候调用获取列表数据请求
-          // console.log(`当前页: ${val}`);
-          this.table.currentPage=val
-          this.getData()
-        },
-      },
-      watch:{    //监视选择框的变化,实施刷新表格数据
-          // options:{
-          //   handler(){
-          //     immediate:true
-          //     deep:true
-          //     this.getData()
-          //   }
-          // }
-      },
-      mounted(){      //跳转到此页面立刻获取数据
-        this.getData();     //获取表格数据
+          },
+          (err) => {
+            console.log(err);
+          }
+        );
       }
-
-    }
+    },
+    handleCurrentChange(val) {
+      //当页数发生改变的时候调用获取列表数据请求
+      // console.log(`当前页: ${val}`);
+      this.table.currentPage = val;
+      this.getData();
+    },
+    // getUser() {
+    //   var request = new XMLHttpRequest();
+    //   request.open("get", "http://10.16.30.130/sso/api", true);
+    //   request.setRequestHeader(
+    //     "Content-Type",
+    //     "application/x-www-form-urlencoded"
+    //   );
+    //   request.send("");
+    //   console.log(request);
+    // },
+  },
+  watch: {
+    //监视选择框的变化,实施刷新表格数据
+    // options:{
+    //   handler(){
+    //     immediate:true
+    //     deep:true
+    //     this.getData()
+    //   }
+    // }
+  },
+  mounted() {
+    //跳转到此页面立刻获取数据
+    this.getData(); //获取表格数据
+    // this.getUser();
+  },
+};
 </script>
 
 <style lang="less" scoped>
-.projectApplication{
-
-
+.projectApplication {
   // .el-table::before{
   //   height: 0;
   // }
-
- 
 }
-
 </style>

Some files were not shown because too many files changed in this diff