解决前端Vue数据绑定诸多问题

This commit is contained in:
2018-04-05 11:06:35 +08:00
parent b55b735bb2
commit 0c182a4375
9 changed files with 101 additions and 28 deletions

View File

@@ -35,9 +35,10 @@ server cms.fjy8018.xin:8085;
#我工程的context-path=mytest #我工程的context-path=mytest
location /cms { location /cms {
proxy_pass http://cms.fjy8018.xin:8085; proxy_pass http://cms.fjy8018.xin:8085;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port $server_port;
# root html; # root html;
# index index.html index.htm; # index index.html index.htm;
} }

View File

@@ -8,6 +8,7 @@ import com.fjy.spring.properties.ServerProperties;
import com.fjy.spring.service.FileService; import com.fjy.spring.service.FileService;
import com.fjy.spring.service.LogService; import com.fjy.spring.service.LogService;
import com.fjy.spring.untils.FormatFileSizeUtil; import com.fjy.spring.untils.FormatFileSizeUtil;
import com.fjy.spring.untils.GetIPAddrUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.FileUtils; import org.apache.commons.io.FileUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@@ -212,7 +213,7 @@ public class UpLoadController {
TbLog logs = new TbLog(); TbLog logs = new TbLog();
logs.setUserid(user.getColuserid()); logs.setUserid(user.getColuserid());
logs.setColtime(dateNowStr); logs.setColtime(dateNowStr);
logs.setColip(httpServletRequest.getRemoteAddr()); logs.setColip(GetIPAddrUtil.getIpAddr(httpServletRequest));
logs.setColheader(user.getColname() + "上传了'" + filename + "'文件"); logs.setColheader(user.getColname() + "上传了'" + filename + "'文件");
logService.addLogRec(logs); logService.addLogRec(logs);

View File

@@ -10,3 +10,22 @@ function getRootPath_web() {
var projectName = pathName.substring(0, pathName.substr(1).indexOf('/') + 1); var projectName = pathName.substring(0, pathName.substr(1).indexOf('/') + 1);
return (localhostPaht + projectName); return (localhostPaht + projectName);
} }
function compareTime(startTime,endTime) {
var startTimes = startTime.substring(0, 10).split('-');
var endTimes = endTime.substring(0, 10).split('-');
startTime = startTimes[1] + '-' + startTimes[2] + '-' + startTimes[0] + ' ' + startTime.substring(10, 19);
endTime = endTimes[1] + '-' + endTimes[2] + '-' + endTimes[0] + ' ' + endTime.substring(10, 19);
var thisResult = (Date.parse(endTime) - Date.parse(startTime)) / 3600 / 1000;
if (thisResult < 0) {
console.log("endTime小于tartTime");
return false;
} else if (thisResult > 0) {
console.log("endTime大于tartTime");
return true;
} else if (thisResult == 0) {
console.log("endTime等于tartTime");
return false;
} else {
return '异常';
}
}

View File

@@ -328,8 +328,14 @@ var Main = {
}); });
}, },
uploadURL(row) { uploadURL(row) {
return "http://localhost:8080/cms/moreUpload?courseName=" + row.coursename + "&folder=" + row.workfolder; console.log(row.worktime);
}, if (compareTime(cur,row.worktime)){
document.getElementById("btn-group").style.display="";
return "http://localhost:8080/cms/moreUpload?courseName=" + row.coursename + "&folder=" + row.workfolder;
}else{
document.getElementById("btn-show").style.display="";
}
},
limitTime(row) { limitTime(row) {
return DateDiff(row.worktime.replace(/([^\s]+)\s.*/, "$1"), cur); return DateDiff(row.worktime.replace(/([^\s]+)\s.*/, "$1"), cur);
}, },

View File

@@ -3,7 +3,6 @@ var month = dt.getMonth() + 1;
var day = dt.getDate(); var day = dt.getDate();
var year = dt.getFullYear(); var year = dt.getFullYear();
var cur = year + '-' + month + '-' + day; var cur = year + '-' + month + '-' + day;
function DateDiff(sDate1, sDate2) { //sDate1和sDate2是2002-12-18格式 function DateDiff(sDate1, sDate2) { //sDate1和sDate2是2002-12-18格式
var aDate, oDate1, oDate2, iDays var aDate, oDate1, oDate2, iDays
aDate = sDate1.split("-") aDate = sDate1.split("-")
@@ -13,7 +12,9 @@ function DateDiff(sDate1, sDate2) { //sDate1和sDate2是2002-12-18格式
iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 / 24) //把相差的毫秒数转换为天数 iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 / 24) //把相差的毫秒数转换为天数
return iDays return iDays
} }
function displayStyle(id,type) {
document.getElementById(id).style.display=type;
}
var Main = { var Main = {
data() { data() {
var checkName = (rule, value, callback) => { var checkName = (rule, value, callback) => {
@@ -65,6 +66,7 @@ var Main = {
colrealname: '', colrealname: '',
colemail: '' colemail: ''
}, },
isShow:true,
rules2: { rules2: {
colpassword: [ colpassword: [
{required: true, validator: validatePass, trigger: 'blur'} {required: true, validator: validatePass, trigger: 'blur'}
@@ -230,7 +232,27 @@ var Main = {
}); });
}, },
uploadURL(row) { uploadURL(row) {
return getRootPath_web()+"/home/moreUpload?courseName=" + row.coursename + "&folder=" + row.workfolder+"&rename=true"; let that = this;
console.log(row.worktime+"||"+row.workid);
if (compareTime(cur,row.worktime)){
that.isShow = true;
console.log("Show"+that.isShow);
//提交时间合法
//document.getElementById("btn-group").style.display="";
//displayStyle("btn-show"+row.workid,"none");
//displayStyle("btn-group"+row.workid,"");
return getRootPath_web()+"/home/moreUpload?courseName=" + row.coursename + "&folder=" + row.workfolder+"&rename=true";
}else{
that.isShow = false;
console.log("EShow"+that.isShow);
//提交时间不合法
//displayStyle("btn-show"+row.workid,"");
//displayStyle("btn-group"+row.workid,"none");
//displayStyle("btn-show");
//document.getElementById("btn-show").style.display="";
return 0;
}
}, },
limitTime(row) { limitTime(row) {
return DateDiff(row.worktime.replace(/([^\s]+)\s.*/, "$1"), cur); return DateDiff(row.worktime.replace(/([^\s]+)\s.*/, "$1"), cur);

View File

@@ -18,7 +18,12 @@ var Main = {
teacherrealname: "root" teacherrealname: "root"
} }
], ],
multipleSelection: [] multipleSelection: [],
courseList:[
{courseName:"root"},
{courseName:"root2"},
],
teacherList:[],
} }
}, },
mounted() { mounted() {

View File

@@ -12,7 +12,7 @@
<!-- 先引入 Vue --> <!-- 先引入 Vue -->
<script src="https://unpkg.com/vue@2.5.15/dist/vue.js"></script> <script src="https://unpkg.com/vue@2.5.15/dist/vue.js"></script>
<!-- 引入组件库 --> <!-- 引入组件库 -->
<script src="https://unpkg.com/element-ui@2.2.1/lib/index.js"></script> <script src="https://unpkg.com/element-ui@2.3.3/lib/index.js"></script>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script> <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script th:src="@{/js/common.js}"></script> <script th:src="@{/js/common.js}"></script>
</div> </div>

View File

@@ -125,27 +125,42 @@
</el-button> </el-button>
</el-form-item> </el-form-item>
<el-form-item label="提交作业"> <el-form-item label="提交作业">
<el-upload class="upload-demo" ref="upload" <el-upload class="upload-demo" ref="upload"
:action="uploadURL(props.row)" :action="uploadURL(props.row)"
:on-preview="handlePreview" :on-preview="handlePreview"
:on-remove="handleRemove" :file-list="fileList" :auto-upload="false" :on-remove="handleRemove" :file-list="fileList"
name="imageFile"> :auto-upload="false"
<el-button slot="trigger" size="small" type="primary">选取文件</el-button> name="imageFile">
<el-button style="margin-left: 10px;" size="small" type="success" <div id="btn-group" v-show="isShow">
@click="submitUpload"> <el-button slot="trigger" size="small" type="primary">
上传到服务器 选取文件
</el-button> </el-button>
<div slot="tip" class="el-upload__tip">上传文件大小不能超过100Mb</div> <el-button style="margin-left: 10px;" size="small"
</el-upload> type="success"
@click="submitUpload">
上传到服务器
</el-button>
<div slot="tip" class="el-upload__tip">上传文件大小不能超过100Mb
</div>
</div>
<div id="btn-show" v-show="!isShow">
<el-alert
title="作业提交已截止"
type="error"
center
show-icon>
</el-alert>
</div>
</el-upload>
</el-form-item> </el-form-item>
</el-form> </el-form>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="科目" prop="coursename" sortable> <el-table-column label="科目" prop="coursename" sortable>
</el-table-column> </el-table-column>
<el-table-column label="内容" prop="workname"sortable> <el-table-column label="内容" prop="workname" sortable>
</el-table-column> </el-table-column>
<el-table-column label="提交时间" prop="worktime"sortable> <el-table-column label="提交时间" prop="worktime" sortable>
</el-table-column> </el-table-column>
<!--<el-table-column fixed="right" label="操作"> <!--<el-table-column fixed="right" label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
@@ -237,7 +252,7 @@
<el-table-column prop="colfilesize" label="大小" width="80"> <el-table-column prop="colfilesize" label="大小" width="80">
</el-table-column> </el-table-column>
<el-table-column prop="coltime" label="上传时间"> <el-table-column prop="coltime" label="上传时间">
</el-table-column> </el-table-column>
<el-table-column prop="courseName" label="课程名"> <el-table-column prop="courseName" label="课程名">
</el-table-column> </el-table-column>
<el-table-column prop="workFolder" label="作业名"> <el-table-column prop="workFolder" label="作业名">
@@ -248,7 +263,9 @@
size="small"> size="small">
下载 下载
</el-button> </el-button>
<el-button type="danger" plain size="small" @click="handleDelete(scope.row)">删除</el-button> <el-button type="danger" plain size="small"
@click="handleDelete(scope.row)">删除
</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table-column> </el-table-column>

View File

@@ -47,9 +47,11 @@
<h4>添加课程</h4> <h4>添加课程</h4>
<el-form :inline="true" :model="formInline" class="demo-form-inline"> <el-form :inline="true" :model="formInline" class="demo-form-inline">
<el-form-item label="课程名"> <el-form-item label="课程名">
<el-autocomplete class="inline-input" v-model="state1" <el-select placeholder="请选择课程" v-model="courseList.courseName">
:fetch-suggestions="querySearchAsync" placeholder="课程名" <el-option v-for="course in courseList" :value="course.courseName" :label="course.courseName">{{course.courseName}}</el-option>
@select="handleSelect"></el-autocomplete> <!--<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>-->
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="教师名"> <el-form-item label="教师名">
<el-autocomplete class="inline-input" v-model="state2" <el-autocomplete class="inline-input" v-model="state2"