12 优化界面和debug

master
markma 3 years ago
parent 2b948c24a7
commit 5ea396387a

92
package-lock.json generated

@ -1680,6 +1680,8 @@
},
"@vue/cli-plugin-babel": {
"version": "4.5.15",
"resolved": "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-4.5.15.tgz",
"integrity": "sha512-hBLrwYfFkHldEe34op/YNgPhpOWI5n5DB2Qt9I/1Epeif4M4iFaayrgjvOR9AVM6WbD3Yx7WCFszYpWrQZpBzQ==",
"dev": true,
"requires": {
"@babel/core": "^7.11.0",
@ -1708,6 +1710,8 @@
},
"@vue/cli-service": {
"version": "4.5.15",
"resolved": "https://registry.npmjs.org/@vue/cli-service/-/cli-service-4.5.15.tgz",
"integrity": "sha512-sFWnLYVCn4zRfu45IcsIE9eXM0YpDV3S11vlM2/DVbIPAGoYo5ySpSof6aHcIvkeGsIsrHFpPHzNvDZ/efs7jA==",
"dev": true,
"requires": {
"@intervolga/optimize-cssnano-plugin": "^1.0.5",
@ -1759,6 +1763,7 @@
"thread-loader": "^2.1.3",
"url-loader": "^2.2.0",
"vue-loader": "^15.9.2",
"vue-loader-v16": "npm:vue-loader@^16.1.0",
"vue-style-loader": "^4.1.2",
"webpack": "^4.0.0",
"webpack-bundle-analyzer": "^3.8.0",
@ -1767,6 +1772,17 @@
"webpack-merge": "^4.2.2"
},
"dependencies": {
"chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"optional": true,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"debug": {
"version": "4.3.3",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
@ -1775,6 +1791,30 @@
"requires": {
"ms": "2.1.2"
}
},
"loader-utils": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz",
"integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==",
"dev": true,
"optional": true,
"requires": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
"json5": "^2.1.2"
}
},
"vue-loader-v16": {
"version": "npm:vue-loader@16.8.3",
"resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.8.3.tgz",
"integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==",
"dev": true,
"optional": true,
"requires": {
"chalk": "^4.1.0",
"hash-sum": "^2.0.0",
"loader-utils": "^2.0.0"
}
}
}
},
@ -2352,6 +2392,15 @@
"integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==",
"dev": true
},
"axios": {
"version": "0.26.1",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz",
"integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==",
"dev": true,
"requires": {
"follow-redirects": "^1.14.8"
}
},
"babel-helper-vue-jsx-merge-props": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-2.0.3.tgz",
@ -3591,6 +3640,11 @@
}
}
},
"core-js": {
"version": "3.21.1",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.21.1.tgz",
"integrity": "sha512-FRq5b/VMrWlrmCzwRrpDYNxyHP9BcAZC+xHJaqTgIE5091ZV1NTmyh0sGOg5XqpnHvR0svdy0sv1gWA1zmhxig=="
},
"core-js-compat": {
"version": "3.20.0",
"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.20.0.tgz",
@ -5011,9 +5065,9 @@
}
},
"follow-redirects": {
"version": "1.14.6",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.6.tgz",
"integrity": "sha512-fhUl5EwSJbbl8AR+uYL2KQDxLkdSjZGR36xy46AO7cOMTrCMON6Sa28FmAnC2tRTDbd/Uuzz3aJBv7EBN7JH8A==",
"version": "1.14.9",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz",
"integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==",
"dev": true
},
"for-in": {
@ -9998,9 +10052,9 @@
}
},
"url-parse": {
"version": "1.5.3",
"resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.3.tgz",
"integrity": "sha512-IIORyIQD9rvj0A4CLWsHkBBJuNqWpFQe224b6j9t/ABmquIS0qDU2pY6kl6AuOrL5OkCXHMCFNe1jBcuAggjvQ==",
"version": "1.5.10",
"resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz",
"integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
"dev": true,
"requires": {
"querystringify": "^2.1.1",
@ -10114,7 +10168,21 @@
"dev": true
},
"vue": {
"version": "2.6.14"
"version": "2.6.14",
"resolved": "https://registry.npmjs.org/vue/-/vue-2.6.14.tgz",
"integrity": "sha512-x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ=="
},
"vue-cli-plugin-axios": {
"version": "0.0.4",
"resolved": "https://registry.npmjs.org/vue-cli-plugin-axios/-/vue-cli-plugin-axios-0.0.4.tgz",
"integrity": "sha512-p2b/fvPJuPBnvU8027PAAuU5DiOzUn2lku8XLG/f6c8FU0N+/MXWZAlOuHhqd9e7+KIZitwe/c8qlmv7TglbTg==",
"dev": true
},
"vue-cli-plugin-element": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/vue-cli-plugin-element/-/vue-cli-plugin-element-1.0.1.tgz",
"integrity": "sha512-OJSOnJtn7f1v/8xX+MJae+RrE8WguhiiG9QTBx/MNOPXYsxqut6Ommo+ZD3raNc7eryhqdM2T/DlMfdvIKpCtw==",
"dev": true
},
"vue-hot-reload-api": {
"version": "2.3.4",
@ -10144,7 +10212,9 @@
}
},
"vue-router": {
"version": "3.5.3"
"version": "3.5.3",
"resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.5.3.tgz",
"integrity": "sha512-FUlILrW3DGitS2h+Xaw8aRNvGTwtuaxrRkNSHWTizOfLUie7wuYwezeZ50iflRn8YPV5kxmU2LQuu3nM/b3Zsg=="
},
"vue-style-loader": {
"version": "4.1.3",
@ -10166,6 +10236,8 @@
},
"vue-template-compiler": {
"version": "2.6.14",
"resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.14.tgz",
"integrity": "sha512-ODQS1SyMbjKoO1JBJZojSw6FE4qnh9rIpUZn2EUT86FKizx9uH5z6uXiIrm4/Nb/gwxTi/o17ZDEGWAXHvtC7g==",
"dev": true,
"requires": {
"de-indent": "^1.0.2",
@ -10179,7 +10251,9 @@
"dev": true
},
"vuex": {
"version": "3.6.2"
"version": "3.6.2",
"resolved": "https://registry.npmjs.org/vuex/-/vuex-3.6.2.tgz",
"integrity": "sha512-ETW44IqCgBpVomy520DT5jf8n0zoCac+sxWnn+hMe/CzaSejb/eVw2YToiXYX+Ex/AuHHia28vWTq4goAexFbw=="
},
"watchpack": {
"version": "1.7.5",

@ -18,7 +18,7 @@
"@vue/cli-plugin-router": "~4.5.0",
"@vue/cli-plugin-vuex": "~4.5.0",
"@vue/cli-service": "~4.5.0",
"axios": "^0.18.0",
"axios": "^0.26.1",
"vue-cli-plugin-axios": "^0.0.4",
"vue-cli-plugin-element": "^1.0.1",
"vue-template-compiler": "^2.6.11"

@ -17,7 +17,7 @@
width="100">
</el-table-column>
<el-table-column
label="评论名称"
label="评论"
prop="comment_detail"
width="800">
</el-table-column>

@ -1,25 +1,25 @@
<template>
<div>
<div class="front">
<el-form ref="ruleForm" :model="ruleForm" :rules="rules" class="login-box" label-width="80px" status-icon>
<h4 align="center" class="login-title">欢迎来到国防科大请销假系统</h4>
<el-form-item label="账号" maxlength="255" prop="username">
<el-input v-model="ruleForm.username"></el-input>
</el-form-item>
<el-form-item label="密码" maxlength="64" prop="password">
<el-input v-model="ruleForm.password" autocomplete="off" type="password"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm('ruleForm')"></el-button>
<el-button @click="resetForm('ruleForm')"></el-button>
</el-form-item>
</el-form>
</div>
</div>
<el-form ref="ruleForm" :model="ruleForm" :rules="rules" class="demo-ruleForm" label-width="100px" status-icon>
<h4 align="center">欢迎来到国防科大请销假系统</h4>
<el-form-item label="账号" maxlength="255" prop="username">
<el-input v-model="ruleForm.username"></el-input>
</el-form-item>
<el-form-item label="密码" maxlength="255" prop="password">
<el-input v-model="ruleForm.password" autocomplete="off" type="password"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm('ruleForm')"></el-button>
<el-button @click="resetForm('ruleForm')"></el-button>
</el-form-item>
</el-form>
</template>
<style scoped>
.inputStyle {
text-align: center;
}
</style>
<script>
export default {
@ -54,6 +54,7 @@ export default {
} else {
const id = resp.data.split(' ')[0];
const type = resp.data.split(' ')[1];
_this.$cookieStore.delCookie("login_id");
_this.$cookieStore.setCookie("login_id", id, 1);
_this.$alert('登录成功!', '登录消息', {
confirmButtonText: '确定',
@ -79,5 +80,32 @@ export default {
</script>
<style scoped>
.inputStyle {
text-align: center;
}
.login-box {
border: 1px solid #DCDFE6;
width: 350px;
margin: 180px auto;
padding: 35px 35px 15px 35px;
border-radius: 5px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
box-shadow: 0 0 25px #909399;
}
.login-title {
text-align: center;
margin: 0 auto 40px auto;
color: #303133;
}
.background {
position: fixed;
height: 100%;
width: 100%;
background-color: #658ea9 !important;
}
</style>

@ -87,9 +87,10 @@ export default {
})
},
choose(id) {
choose(LD_id) {
const _this = this
axios.get('http://localhost:8181/leaveDetail/findByIDAndSaveOD/' + id).then(function (resp) {
let id = window.location.pathname.split('/')[3];
axios.get('http://localhost:8181/leaveDetail/findByIDAndSaveOD/' + LD_id).then(function (resp) {
if (resp.data == 'success') {
_this.$alert('成功', '消息', {
confirmButtonText: '确定',

@ -1,12 +1,16 @@
<template>
<div>
<img height="100%" src="../assets/nudt.png" width="100%">
<span>姓名{{ information.name }}</span>
<el-divider direction="vertical"></el-divider>
<span>编号{{ information.school_id }}</span>
<el-divider direction="vertical"></el-divider>
<span>出入批准员</span>
<div style="text-align:right;">
<img height="100%" src="../assets/nudt.png" width="100%">
<span>姓名{{ information.name }}</span>
<el-divider direction="vertical"></el-divider>
<span>编号{{ information.school_id }}</span>
<el-divider direction="vertical"></el-divider>
<span>出入批准员</span>
<el-divider direction="vertical"></el-divider>
<el-button size="small" type="danger" @click="quit()">退</el-button>
</div>
<el-container style="height: 500px; border: 1px solid #eee">
<el-aside width="200px" style="background-color: rgb(238, 241, 246)">
<el-menu router>
@ -27,6 +31,13 @@
<script>
export default {
name: "StudentUserIndex",
methods: {
quit() {
let id = window.location.pathname.split('/')[3];
this.$cookieStore.delCookie("login_id");
this.$router.push('/')
}
},
data() {
return {
information: [

@ -3,7 +3,7 @@
<el-form ref="ruleForm" :model="ruleForm" :rules="rules" class="demo-ruleForm" label-width="100px">
<h4>请在这里写下对本系统的匿名评论</h4>
<el-form-item label="评论" maxlength="255" prop="comment_detail">
<el-input v-model="ruleForm.comment_detail" :rows="10" maxlength="255" show-word-limit type="textarea"></el-input>
<el-input v-model="ruleForm.comment_detail" :rows="10" maxlength="100" show-word-limit type="textarea"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm('ruleForm')"></el-button>
@ -32,6 +32,7 @@ export default {
submitForm(formName) {
const _this = this
let id = window.location.pathname.split('/')[3];
let type = window.location.pathname.split('/')[2];
this.$refs[formName].validate((valid) => {
if (valid) {
this.ruleForm.userid = id
@ -41,7 +42,7 @@ export default {
_this.$alert('保存成功', '消息', {
confirmButtonText: '确定',
callback: action => {
_this.$router.push('/user/student/' + id + '/history')
_this.$router.push('/user/' + type + '/' + id + '/history')
}
})
}

@ -2,7 +2,10 @@
<template>
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
<h4>默认您已经遵守防疫规定</h4>
<div style="text-align:center;">
<h4>默认您已经遵守防疫规定</h4>
</div>
<el-form-item label="离开时间" prop="leave_time">
<el-date-picker
v-model="ruleForm.leave_time"
@ -31,7 +34,8 @@
</el-form-item>
<p></p>
<el-form-item label="外出理由" maxlength="255" prop="reason">
<el-input v-model="ruleForm.reason"></el-input>
<el-input v-model="ruleForm.reason" class="reason" maxlength="40" show-word-limit type="text"
width="80px"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm('ruleForm')"></el-button>
@ -179,5 +183,7 @@ export default {
</script>
<style scoped>
.reason {
width: 650px;
}
</style>

@ -1,5 +1,6 @@
<template>
<div>
<div>
<el-table
ref="multipleTable"
:data="tableData"

@ -1,15 +1,19 @@
<template>
<div>
<img height="100%" src="../assets/nudt.png" width="100%">
<span>姓名{{ information.name }}</span>
<el-divider direction="vertical"></el-divider>
<span>编号{{ information.school_id }}</span>
<el-divider direction="vertical"></el-divider>
<span>学生</span>
<div style="text-align:right;">
<img height="100%" src="../assets/nudt.png" width="100%">
<span>姓名{{ information.name }}</span>
<el-divider direction="vertical"></el-divider>
<span>编号{{ information.school_id }}</span>
<el-divider direction="vertical"></el-divider>
<span>学生</span>
<el-divider direction="vertical"></el-divider>
<el-button size="small" type="danger" @click="quit()">退</el-button>
</div>
<el-container style="height: 500px; border: 1px solid #eee">
<el-aside width="200px" style="background-color: rgb(238, 241, 246)">
<el-menu router>
<el-menu-item index="history">外出历史</el-menu-item>
<el-menu-item index="history">外出申请历史</el-menu-item>
<el-menu-item index="application">申请记录</el-menu-item>
<el-menu-item index="appForm">填写申请表单</el-menu-item>
<el-menu-item index="setComment">匿名评论</el-menu-item>
@ -24,9 +28,20 @@
</div>
</template>
<script>
export default {
name: "StudentUserIndex",
methods: {
quit() {
let id = window.location.pathname.split('/')[3];
this.$cookieStore.delCookie("login_id");
this.$router.push('/')
}
},
data() {
return {
information: [

@ -1,13 +1,16 @@
<template>
<div>
<img height="100%" src="../assets/nudt.png" width="100%">
<p></p>
<span>姓名{{ information.name }}</span>
<el-divider direction="vertical"></el-divider>
<span>编号{{ information.school_id }}</span>
<el-divider direction="vertical"></el-divider>
<span>教师</span>
<div style="text-align:right;">
<img height="100%" src="../assets/nudt.png" width="100%">
<span>姓名{{ information.name }}</span>
<el-divider direction="vertical"></el-divider>
<span>编号{{ information.school_id }}</span>
<el-divider direction="vertical"></el-divider>
<span>教师</span>
<el-divider direction="vertical"></el-divider>
<el-button size="small" type="danger" @click="quit()">退</el-button>
</div>
<el-container style="height: 500px; border: 1px solid #eee">
<el-aside width="200px" style="background-color: rgb(238, 241, 246)">
<el-menu router>
@ -28,7 +31,16 @@
<script>
export default {
name: "StudentUserIndex",
data(){
methods: {
quit() {
let id = window.location.pathname.split('/')[3];
this.$cookieStore.delCookie("login_id");
this.$router.push('/')
}
},
data() {
return {
information: [
{
@ -39,6 +51,7 @@ export default {
]
}
},
created() {
const _this = this

@ -4874,6 +4874,11 @@ kind-of@^6.0.0, kind-of@^6.0.2:
resolved "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
integrity sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=
klona@^2.0.4:
version "2.0.5"
resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.5.tgz#d166574d90076395d9963aa7a928fabb8d76afbc"
integrity sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==
launch-editor-middleware@^2.2.1:
version "2.2.1"
resolved "https://registry.npm.taobao.org/launch-editor-middleware/download/launch-editor-middleware-2.2.1.tgz#e14b07e6c7154b0a4b86a0fd345784e45804c157"
@ -5321,7 +5326,7 @@ negotiator@0.6.2:
resolved "https://registry.npm.taobao.org/negotiator/download/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"
integrity sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs=
neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1:
neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1, neo-async@^2.6.2:
version "2.6.2"
resolved "https://registry.npm.taobao.org/neo-async/download/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f"
integrity sha1-tKr7k+OustgXTKU88WOrfXMIMF8=
@ -6700,6 +6705,14 @@ safe-regex@^1.1.0:
resolved "https://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
integrity sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=
sass-loader@^12.6.0:
version "12.6.0"
resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-12.6.0.tgz#5148362c8e2cdd4b950f3c63ac5d16dbfed37bcb"
integrity sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==
dependencies:
klona "^2.0.4"
neo-async "^2.6.2"
sax@~1.2.4:
version "1.2.4"
resolved "https://registry.nlark.com/sax/download/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"

Loading…
Cancel
Save