浏览代码

Merge branch 'master' of https://git.cocorobo.cn/CocoRoboLabs/ssti-CollegeManage

yuanyiming 2 年之前
父节点
当前提交
5524f7372c
共有 3 个文件被更改,包括 93 次插入18 次删除
  1. 27 0
      src/components/tool/Date.js
  2. 15 2
      src/components/tool/beUpload.vue
  3. 51 16
      src/views/activityManage/makerActvity.vue

+ 27 - 0
src/components/tool/Date.js

@@ -0,0 +1,27 @@
+function getNowDate() {
+    let date = new Date();
+    let year = date.getFullYear(); //年
+    let month = date.getMonth() + 1; //月
+    let day = date.getDate(); //日
+    let hour = date.getHours(); //时
+    let minutes = date.getMinutes(); //分
+    let seconds = date.getSeconds(); //秒
+    if (month > 1 && month <= 9) month = "0" + month;
+    if (day > 0 && day <= 9) day = "0" + day;
+    if (hour > 0 && hour < 9) hour = "0" + hour;
+    if (minutes > 0 && minutes <= 9) minutes = "0" + minutes;
+    if (seconds > 0 && seconds < 9) seconds = "0" + seconds;
+    return `${year}-${month}-${day} ${hour}:${minutes}:${seconds}`;
+}
+
+//比较两时间之差
+function DifferDate(Date1, Date2) {
+    if (typeof(Date1) == "string") Date1 = Date.parse(Date1);
+    if (typeof(Date2) == "string") Date2 = Date.parse(Date2);
+    return Math.floor((Date1 - Date2) / (24 * 3600 * 1000));
+}
+
+export {
+    getNowDate,
+    DifferDate,
+}

+ 15 - 2
src/components/tool/beUpload.vue

@@ -13,6 +13,7 @@
 
 <script>
 import "../common/aws-sdk-2.235.1.min.js";
+import { getNowDate } from "./Date";
 export default {
   components: {},
   props: [ 'navName','accept'],
@@ -81,8 +82,20 @@ export default {
             if (err) {
               _this.$message.error("上传失败");
             } else {
-              console.log(file)
-                _this.$emit('getFile',{fileName:file.name,url:data.Location})
+              let size = file.size;
+              let unit = "B"
+              if(size>1000000000){
+                size = size/1024/1024/1024;
+                unit = "G"
+              }else if(size>1000000){
+                size = size/1024/1024
+                unit = "MB"
+              }else if(size>1000){
+                size = size/1024
+                unit = "KB"
+              }
+              size = Math.floor(size);
+                _this.$emit('getFile',{fileName:file.name,size:`${size}${unit}`,uploadTime:getNowDate(),url:data.Location})
               console.log(data.Location);
             }
           });

+ 51 - 16
src/views/activityManage/makerActvity.vue

@@ -139,7 +139,8 @@
                         <el-button type="primary" v-if="scope.row.state==0"  @click="audi(scope.row)" size="mini">审核</el-button>
                         <el-button type="info" disabled v-if="scope.row.state==1"  @click="audi(scope.row)" size="mini">审核</el-button>
                         <el-button type="primary"  size="mini" @click="edit(scope)">申请表</el-button>
-                        <el-button type="primary"  size="mini" @click="end" >完结</el-button>
+                        <el-button type="primary" v-if="scope.row.reportFile==''||scope.row.reportFile==null" size="mini" @click="end(scope.row)" >完结</el-button>
+                        <el-button type="info" v-show="scope.row.reportFile!=''&&scope.row.reportFile!=null" size="mini" disabled>完结</el-button>
                   <!-- </el-button> -->
               </div>
           </template>
@@ -258,13 +259,19 @@
       class="endDialog"
       :before-close="init">
       <div class="addDialogLogo">LOGO</div>
-      <div class="deleteContent">"智能分链机器公开赛"项目活动,是否确定完结?</div>
-      <div class="deleteContent1">上次活动完结报告</div>
-      <div class="download">
-        <div>智能分链机器公开赛.pdf 点击下载</div>
+      <div class="deleteContent">"{{ endTable.title }}"项目活动,是否确定完结?</div>
+      <div class="deleteContent1">活动完结报告</div>
+      <div class="download" v-if="endTable.file!=''">
+        <div>{{ endTable.file!=''&&endTable.file!=null?endTable.file.fileName:"" }}</div>
       </div>
-      <div class="addMoneyBtn" style="margin-left: 0;">
+      <div class="addMoneyBtn" style="margin-left: 0;" v-if="endTable.file==''||endTable.file==null">
           <div class="jia">+</div>添加
+          <div id="upFile">
+            <beUpload @getFile="getFile" :navName="'上传文件'" :accept="accept"> </beUpload>
+          </div>
+      </div>
+      <div class="DelBtn" style="margin-left: 0;" v-if="endTable.file!=''&&endTable.file!=null">
+          <el-button type="primary" @click="endTable.file=''">删除文件</el-button>
       </div>
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="ending" class="diaBtn">确认提交</el-button>
@@ -285,9 +292,12 @@
 </template>
 
 <script>
+import beUpload from '../../components/tool/beUpload'
     export default {
+      components:{beUpload},
       data() {
         return {
+          accept:".doc,.docx,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document",
           status:1,
           textarea:'',
           input:'',
@@ -320,10 +330,17 @@
             money:"",
             phone:""
           },
+          endTable:{
+            Id:"",
+            title:"",
+            file:"",
+          }
         }
       },
       methods:{
-
+        getFile(val) {//上传文件
+          this.endTable.file = val;
+        },
 
         init(){//重置
           this.auditDialog=false;
@@ -349,23 +366,37 @@
           }).catch(err=>{
             this.$message.error(err.message)
           })
-          // this.auditDialog=false;
-          // this.status--
-          // console.log(this.status);
         },
 
         // 驳回对话框确定
         commit2(){
           this.rejectDialog=false;
           this.status++
-          console.log(this.status);
         },
 
-        end(){//完结按钮
+        end(val){//完结按钮
+          this.endTable.title = val.title;
+          this.endTable.Id = val.acId;
+          this.endTable.file = val.reportFile;
           this.endDialog=true;
         },
         ending(){   //完结提交
-          this.endDialog=false;
+          if(this.endTable.file=="")return this.$message.error("请上传完结报告");
+          this.ajax.post(this.$store.state.api+"/UploadActivityFile",{
+            uid:this.$store.state.userInfo.userid,
+            aid:this.endTable.Id,
+            file:JSON.stringify(this.endTable.file),
+          }).then(res=>{
+            if(res.data==1){
+              this.$message.success("结项成功");
+              this.endDialog = false;
+
+            }else{
+              this.$message.error("结项失败")
+            }
+            this.getData();
+          })
+          // this.endDialog=false;
         },
         
         edit(){ // 申请表按钮
@@ -408,7 +439,6 @@
             this.options = data[1];
             this.options1 = data[2];
             this.options2 = data[3];
-            console.log(data)
             this.Page.total = data[4][0]['total'];
           }).catch(err=>{
             this.$message.error(err.message)
@@ -431,7 +461,7 @@
         }
       },
       mounted() {
-        this.getData()
+        this.getData();
       },
     }
 </script>
@@ -524,6 +554,9 @@
 
   .endDialog{  //完结对话框的
     .el-dialog__header{
+      display: flex;
+      justify-content: center;
+      box-sizing: border-box;
     background: #32455b;
     }
     .el-dialog__title{
@@ -541,7 +574,9 @@
       font-size: 22px;
       color: #000;
       box-sizing: border-box;
-      padding: 0 20px;
+      // padding: 0 20px;
+      display: flex;
+      justify-content: center;
     }
     .deleteContent1{
       width: 100%;