This commit is contained in:
mindskip 2020-12-29 16:16:39 +08:00
parent 60882a1d47
commit 65d0169aa7
177 changed files with 215 additions and 1957 deletions

View File

@ -46,7 +46,7 @@
### 学之思交流群(加群获取数据库脚本) ### 学之思交流群(加群获取数据库脚本)
* 交流群:`593529956` * QQ交流群`593529956`
* QQ`2693073475` * QQ`2693073475`
* 微信:`alvis-u` * 微信:`alvis-u`
@ -82,9 +82,9 @@
* 用户登录登出功能,登录会自动绑定微信账号,登出会解绑 * 用户登录登出功能,登录会自动绑定微信账号,登出会解绑
* 首页包含任务中心、固定试卷、时段试卷和web端保持一致 * 首页包含任务中心、固定试卷、时段试卷和web端保持一致
* 试卷模块固定试卷和时段试卷的分页查询,下拉加载更多,上拉刷新当前数据 * 试卷模块固定试卷和时段试卷的分页查询,下拉加载更多,上拉刷新当前数据
* 记录模块考试结果的分页,包含了试卷基本信息 * 记录模块考试结果的分页,包含了试卷基本信息
* 我的模块包含个人资料的修改,个人动态,消息中心模块 * 我的模块包含个人资料的修改,个人动态,消息中心模块
### 系统展示 ### 系统展示

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

BIN
docs/favicon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -1,5 +1,6 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>学之思开发部署教程</title> <title>学之思开发部署教程</title>
@ -8,13 +9,14 @@
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<link rel="stylesheet" href="//unpkg.com/docsify/lib/themes/vue.css"> <link rel="stylesheet" href="//unpkg.com/docsify/lib/themes/vue.css">
<link rel="stylesheet" href="xzs.css"> <link rel="stylesheet" href="xzs.css">
<link rel="shortcut icon" href="favicon.ico"> <link rel="shortcut icon" href="favicon.png">
</head> </head>
<body style="min-width: 1024px;"> <body style="min-width: 1024px;">
<nav class="head"> <nav class="head">
<div class="head-logo"> <div class="head-logo">
<a href="https://www.mindskip.net" target="_blank"> <a href="https://www.mindskip.net" target="_blank">
<img src="http://www.mindskip.net/images/icon/logo-white.png"/> <img src="logo.png" />
</a> </a>
</div> </div>
<div class="head-link"> <div class="head-link">
@ -35,4 +37,5 @@
</script> </script>
<script src="//unpkg.com/docsify/lib/docsify.min.js"></script> <script src="//unpkg.com/docsify/lib/docsify.min.js"></script>
</body> </body>
</html> </html>

BIN
docs/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

View File

@ -7,7 +7,6 @@ table td {
} }
.head { .head {
position: fixed !important;
display: flex; display: flex;
flex-direction: row; flex-direction: row;
justify-content: space-between; justify-content: space-between;
@ -22,6 +21,7 @@ table td {
.head-logo { .head-logo {
height: 58px; height: 58px;
width: 182px; width: 182px;
line-height: 78px;
} }
.head-link { .head-link {

View File

@ -20,4 +20,3 @@ yarn-error.log*
*.njsproj *.njsproj
*.sln *.sln
*.sw? *.sw?
/package-lock.json

View File

@ -1,6 +1,6 @@
{ {
"name": "xzs-admin", "name": "xzs-admin",
"version": "3.1.0", "version": "3.0.8",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {
@ -12936,9 +12936,9 @@
} }
}, },
"vue-loader-v16": { "vue-loader-v16": {
"version": "npm:vue-loader@16.1.2", "version": "npm:vue-loader@16.0.0-rc.2",
"resolved": "https://registry.npm.taobao.org/vue-loader/download/vue-loader-16.1.2.tgz?cache=0&sync_timestamp=1608188009078&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-loader%2Fdownload%2Fvue-loader-16.1.2.tgz", "resolved": "https://registry.npm.taobao.org/vue-loader/download/vue-loader-16.0.0-rc.2.tgz",
"integrity": "sha1-XAO2xQ0qX5g8fOuhXFDXjKKymPQ=", "integrity": "sha1-tqfn8w0o81ZZqD3kH0oYMaQjKgQ=",
"dev": true, "dev": true,
"optional": true, "optional": true,
"requires": { "requires": {
@ -13006,7 +13006,7 @@
}, },
"supports-color": { "supports-color": {
"version": "7.2.0", "version": "7.2.0",
"resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1608033330722&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz", "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1606205060845&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz",
"integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=",
"dev": true, "dev": true,
"optional": true, "optional": true,

View File

@ -1,6 +1,6 @@
{ {
"name": "xzs-admin", "name": "xzs-admin",
"version": "3.1.0", "version": "3.0.8",
"author": "武汉思维跳跃科技有限公司", "author": "武汉思维跳跃科技有限公司",
"description": "学之思管理系统", "description": "学之思管理系统",
"license": "AGPL-3.0", "license": "AGPL-3.0",

View File

@ -8,7 +8,7 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0"> <meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico"> <link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title>TEKSystem管理系统</title> <title>学之思管理系统</title>
<style> <style>
html { html {
height: 100%; height: 100%;

View File

@ -1,9 +0,0 @@
import { post } from '@/utils/request'
export default {
list: query => post('/api/admin/industry/list'),
pageList: query => post('/api/admin/industry/page', query),
edit: query => post('/api/admin/industry/edit', query),
select: id => post('/api/admin/industry/select/' + id),
deleteSubject: id => post('/api/admin/industry/delete/' + id)
}

View File

@ -1,9 +1,9 @@
import { post } from '@/utils/request' import { post } from '@/utils/request'
export default { export default {
list: query => post('/api/admin/skill/list'), list: query => post('/api/admin/education/subject/list'),
pageList: query => post('/api/admin/skill/page', query), pageList: query => post('/api/admin/education/subject/page', query),
edit: query => post('/api/admin/skill/edit', query), edit: query => post('/api/admin/education/subject/edit', query),
select: id => post('/api/admin/skill/select/' + id), select: id => post('/api/admin/education/subject/select/' + id),
deleteSubject: id => post('/api/admin/skill/delete/' + id) deleteSubject: id => post('/api/admin/education/subject/delete/' + id)
} }

View File

@ -24,7 +24,7 @@ export default {
}, },
data () { data () {
return { return {
title: 'TEKSystem管理系统' title: '学之思管理系统'
} }
} }
} }

View File

@ -9,7 +9,7 @@
</div> </div>
<app-main /> <app-main />
<div class="foot-copyright"> <div class="foot-copyright">
<span>Copyright © 2020 TekSystems</span> <span>Copyright © 2020 武汉思维跳跃科技有限公司 版权所有</span>
</div> </div>
<back-to-top :visibility-height="100" :back-position="0" transition-name="fade" ref="backTop"/> <back-to-top :visibility-height="100" :back-position="0" transition-name="fade" ref="backTop"/>
</div> </div>

View File

@ -172,30 +172,17 @@ const constantRoutes = [
}, },
alwaysShow: true, alwaysShow: true,
children: [ children: [
{
path: 'industry/list',
component: () => import('@/views/education/industry/list'),
name: 'EducationIndustryPage',
meta: { title: 'industry列表', noCache: true }
},
{
path: 'industry/edit',
component: () => import('@/views/education/industry/edit'),
name: 'EducationIndustryEditPage',
meta: { title: 'industry编辑', noCache: true, activeMenu: '/education/industry/list' },
hidden: true
},
{ {
path: 'subject/list', path: 'subject/list',
component: () => import('@/views/education/subject/list'), component: () => import('@/views/education/subject/list'),
name: 'EducationSubjectPage', name: 'EducationSubjectPage',
meta: { title: 'skill列表', noCache: true } meta: { title: '学科列表', noCache: true }
}, },
{ {
path: 'subject/edit', path: 'subject/edit',
component: () => import('@/views/education/subject/edit'), component: () => import('@/views/education/subject/edit'),
name: 'EducationSubjectEditPage', name: 'EducationSubjectEditPage',
meta: { title: 'skill编辑', noCache: true, activeMenu: '/education/subject/list' }, meta: { title: '学科编辑', noCache: true, activeMenu: '/education/subject/list' },
hidden: true hidden: true
} }
] ]

View File

@ -18,7 +18,7 @@ const state = {
typeEnum: [{ key: 1, value: '单选题' }, { key: 2, value: '多选题' }, { key: 3, value: '判断题' }, { key: 4, value: '填空题' }, { key: 5, value: '简答题' }], typeEnum: [{ key: 1, value: '单选题' }, { key: 2, value: '多选题' }, { key: 3, value: '判断题' }, { key: 4, value: '填空题' }, { key: 5, value: '简答题' }],
editUrlEnum: [{ key: 1, value: '/exam/question/edit/singleChoice', name: '单选题' }, editUrlEnum: [{ key: 1, value: '/exam/question/edit/singleChoice', name: '单选题' },
{ key: 2, value: '/exam/question/edit/multipleChoice', name: '多选题' }, { key: 2, value: '/exam/question/edit/multipleChoice', name: '多选题' },
{ key: 3, value: '/exam/question/edit/trueFaltagsViewse', name: '判断题' }, { key: 3, value: '/exam/question/edit/trueFalse', name: '判断题' },
{ key: 4, value: '/exam/question/edit/gapFilling', name: '填空题' }, { key: 4, value: '/exam/question/edit/gapFilling', name: '填空题' },
{ key: 5, value: '/exam/question/edit/shortAnswer', name: '简答题' }] { key: 5, value: '/exam/question/edit/shortAnswer', name: '简答题' }]
} }
@ -33,9 +33,7 @@ const getters = {
} }
// actions // actions
const actions = { const actions = {}
}
// mutations // mutations
const mutations = {} const mutations = {}

View File

@ -1,87 +0,0 @@
<template>
<div class="app-container">
<el-form :model="form" ref="form" label-width="100px" v-loading="formLoading">
<el-form-item label="industry" required>
<el-input v-model="form.name"></el-input>
</el-form-item>
<!-- <el-form-item label="年级:" required>
<el-select v-model="form.level" placeholder="年级">
<el-option v-for="item in levelEnum" :key="item.key" :value="item.key" :label="item.value"></el-option>
</el-select>
</el-form-item> -->
<el-form-item>
<el-button type="primary" @click="submitForm">提交</el-button>
<el-button @click="resetForm">重置</el-button>
</el-form-item>
</el-form>
</div>
</template>
<script>
import { mapGetters, mapState, mapActions } from 'vuex'
import industryApi from '@/api/industry'
export default {
data () {
return {
form: {
id: null,
name: '',
level: 1,
levelName: ''
},
formLoading: false
}
},
created () {
let id = this.$route.query.id
let _this = this
if (id && parseInt(id) !== 0) {
_this.formLoading = true
industryApi.select(id).then(re => {
_this.form = re.response
_this.formLoading = false
})
}
},
methods: {
submitForm () {
let _this = this
this.formLoading = true
this.form.levelName = this.enumFormat(this.levelEnum, this.form.level)
industryApi.edit(this.form).then(data => {
if (data.code === 1) {
_this.$message.success(data.message)
_this.delCurrentView(_this).then(() => {
_this.$router.push('/education/industry/list')
})
} else {
_this.$message.error(data.message)
_this.formLoading = false
}
}).catch(e => {
_this.formLoading = false
})
},
resetForm () {
this.$refs['form'].resetFields()
this.form = {
id: null,
name: '',
level: 1,
levelName: ''
}
},
...mapActions('tagsView', { delCurrentView: 'delCurrentView' })
},
computed: {
...mapGetters('enumItem', [
'enumFormat'
]),
...mapState('enumItem', {
levelEnum: state => state.user.levelEnum
})
}
}
</script>

View File

@ -1,92 +0,0 @@
<template>
<div class="app-container">
<el-form :model="queryParam" ref="queryForm" :inline="true">
<!--<el-form-item label="年级:">
<el-select v-model="queryParam.level" placeholder="年级" clearable="">
<el-option v-for="item in levelEnum" :key="item.key" :value="item.key" :label="item.value"></el-option>
</el-select>
</el-form-item>-->
<el-form-item>
<el-button type="primary" @click="submitForm">查询</el-button>
<router-link :to="{path:'/education/industry/edit'}" class="link-left">
<el-button type="primary">添加</el-button>
</router-link>
</el-form-item>
</el-form>
<el-table v-loading="listLoading" :data="tableData" border fit highlight-current-row style="width: 100%">
<el-table-column prop="id" label="Id" />
<el-table-column prop="name" label="industry"/>
<el-table-column width="220px" label="操作" align="center">
<template slot-scope="{row}">
<router-link :to="{path:'/education/subject/edit', query:{id:row.id}}" class="link-left">
<el-button size="mini">编辑</el-button>
</router-link>
<el-button size="mini" type="danger" @click="delSubject(row)" class="link-left">删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination v-show="total>0" :total="total" :page.sync="queryParam.pageIndex" :limit.sync="queryParam.pageSize"
@pagination="search"/>
</div>
</template>
<script>
import { mapGetters, mapState } from 'vuex'
import Pagination from '@/components/Pagination'
import industryApi from '@/api/industry'
export default {
components: { Pagination },
data () {
return {
queryParam: {
level: null,
pageIndex: 1,
pageSize: 10
},
listLoading: true,
tableData: [],
total: 0
}
},
created () {
this.search()
},
methods: {
search () {
this.listLoading = true
industryApi.pageList(this.queryParam).then(data => {
const re = data.response
this.tableData = re.list
this.total = re.total
this.queryParam.pageIndex = re.pageNum
this.listLoading = false
})
},
submitForm () {
this.queryParam.pageIndex = 1
this.search()
},
delSubject (row) {
let _this = this
industryApi.deleteSubject(row.id).then(re => {
if (re.code === 1) {
_this.search()
_this.$message.success(re.message)
} else {
_this.$message.error(re.message)
}
})
}
},
computed: {
...mapGetters('enumItem', [
'enumFormat'
]),
...mapState('enumItem', {
levelEnum: state => state.user.levelEnum
})
}
}
</script>

View File

@ -2,14 +2,14 @@
<div class="app-container"> <div class="app-container">
<el-form :model="form" ref="form" label-width="100px" v-loading="formLoading"> <el-form :model="form" ref="form" label-width="100px" v-loading="formLoading">
<el-form-item label="skill" required> <el-form-item label="学科" required>
<el-input v-model="form.name"></el-input> <el-input v-model="form.name"></el-input>
</el-form-item> </el-form-item>
<!-- <el-form-item label="年级:" required> <el-form-item label="年级:" required>
<el-select v-model="form.level" placeholder="年级"> <el-select v-model="form.level" placeholder="年级">
<el-option v-for="item in levelEnum" :key="item.key" :value="item.key" :label="item.value"></el-option> <el-option v-for="item in levelEnum" :key="item.key" :value="item.key" :label="item.value"></el-option>
</el-select> </el-select>
</el-form-item> --> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="submitForm">提交</el-button> <el-button type="primary" @click="submitForm">提交</el-button>
<el-button @click="resetForm">重置</el-button> <el-button @click="resetForm">重置</el-button>

View File

@ -1,11 +1,11 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParam" ref="queryForm" :inline="true"> <el-form :model="queryParam" ref="queryForm" :inline="true">
<!--<el-form-item label="年级:"> <el-form-item label="年级:">
<el-select v-model="queryParam.level" placeholder="年级" clearable=""> <el-select v-model="queryParam.level" placeholder="年级" clearable="">
<el-option v-for="item in levelEnum" :key="item.key" :value="item.key" :label="item.value"></el-option> <el-option v-for="item in levelEnum" :key="item.key" :value="item.key" :label="item.value"></el-option>
</el-select> </el-select>
</el-form-item>--> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="submitForm">查询</el-button> <el-button type="primary" @click="submitForm">查询</el-button>
<router-link :to="{path:'/education/subject/edit'}" class="link-left"> <router-link :to="{path:'/education/subject/edit'}" class="link-left">
@ -16,9 +16,8 @@
<el-table v-loading="listLoading" :data="tableData" border fit highlight-current-row style="width: 100%"> <el-table v-loading="listLoading" :data="tableData" border fit highlight-current-row style="width: 100%">
<el-table-column prop="id" label="Id" /> <el-table-column prop="id" label="Id" />
<el-table-column prop="name" label="skill"/> <el-table-column prop="name" label="学科"/>
<!-- <el-table-column prop="industry" label="industry"/> --> <el-table-column prop="levelName" label="年级" />
<!-- <el-table-column prop="levelName" label="年级" /> -->
<el-table-column width="220px" label="操作" align="center"> <el-table-column width="220px" label="操作" align="center">
<template slot-scope="{row}"> <template slot-scope="{row}">
<router-link :to="{path:'/education/subject/edit', query:{id:row.id}}" class="link-left"> <router-link :to="{path:'/education/subject/edit', query:{id:row.id}}" class="link-left">

View File

@ -30,9 +30,7 @@
<div class="q-title" v-html="question.title"/> <div class="q-title" v-html="question.title"/>
</div> </div>
<div v-else-if="qType==5" v-loading="qLoading"> <div v-else-if="qType==5" v-loading="qLoading">
题干<div class="q-title" v-html="question.title"/> <div class="q-title" v-html="question.title"/>
答案<div class="q-title" v-html="question.correct"/>
解析<div class="q-title" v-html="question.analyze"/>
</div> </div>
<div v-else> <div v-else>
</div> </div>

View File

@ -209,19 +209,6 @@ export default {
}, },
resetForm () { resetForm () {
this.$refs['form'].resetFields() this.$refs['form'].resetFields()
this.form = {
id: null,
questionType: 4,
gradeLevel: null,
subjectId: null,
title: '',
items: [
],
analyze: '',
correct: '',
score: '',
difficult: 0
}
}, },
...mapActions('exam', { initSubject: 'initSubject' }), ...mapActions('exam', { initSubject: 'initSubject' }),
...mapActions('tagsView', { delCurrentView: 'delCurrentView' }) ...mapActions('tagsView', { delCurrentView: 'delCurrentView' })

View File

@ -196,24 +196,6 @@ export default {
}, },
resetForm () { resetForm () {
this.$refs['form'].resetFields() this.$refs['form'].resetFields()
this.form = {
id: null,
questionType: 2,
gradeLevel: null,
subjectId: null,
title: '',
items: [
{ id: null, prefix: 'A', content: '' },
{ id: null, prefix: 'B', content: '' },
{ id: null, prefix: 'C', content: '' },
{ id: null, prefix: 'D', content: '' }
],
analyze: '',
correct: '',
correctArray: [],
score: '',
difficult: 0
}
}, },
...mapActions('exam', { initSubject: 'initSubject' }), ...mapActions('exam', { initSubject: 'initSubject' }),
...mapActions('tagsView', { delCurrentView: 'delCurrentView' }) ...mapActions('tagsView', { delCurrentView: 'delCurrentView' })

View File

@ -1,14 +1,14 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="form" ref="form" label-width="100px" v-loading="formLoading" :rules="rules"> <el-form :model="form" ref="form" label-width="100px" v-loading="formLoading" :rules="rules">
<el-form-item label="industry" prop="industryId" required> <el-form-item label="年级:" prop="gradeLevel" required>
<el-select v-model="form.industryId" placeholder="industry" @change="levelChange"> <el-select v-model="form.gradeLevel" placeholder="年级" @change="levelChange">
<el-option v-for="item in industryFilter" :key="item.id" :value="item.id" :label="item.name"></el-option> <el-option v-for="item in levelEnum" :key="item.key" :value="item.key" :label="item.value"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="skill" prop="skillId" required> <el-form-item label="学科:" prop="subjectId" required>
<el-select v-model="form.skillId" placeholder="skill" > <el-select v-model="form.subjectId" placeholder="学科" >
<el-option v-for="item in subjectFilter" :key="item.id" :value="item.id" :label="item.name"></el-option> <el-option v-for="item in subjectFilter" :key="item.id" :value="item.id" :label="item.name+' ( '+item.levelName+' )'"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="题干:" prop="title" required> <el-form-item label="题干:" prop="title" required>
@ -20,9 +20,9 @@
<el-form-item label="解析:" prop="analyze" required> <el-form-item label="解析:" prop="analyze" required>
<el-input v-model="form.analyze" @focus="inputClick(form,'analyze')" /> <el-input v-model="form.analyze" @focus="inputClick(form,'analyze')" />
</el-form-item> </el-form-item>
<!-- <el-form-item label="分数:" prop="score" required> <el-form-item label="分数:" prop="score" required>
<el-input-number v-model="form.score" :precision="1" :step="1" :max="100"></el-input-number> <el-input-number v-model="form.score" :precision="1" :step="1" :max="100"></el-input-number>
</el-form-item> --> </el-form-item>
<el-form-item label="难度:" required> <el-form-item label="难度:" required>
<el-rate v-model="form.difficult" class="question-item-rate"></el-rate> <el-rate v-model="form.difficult" class="question-item-rate"></el-rate>
</el-form-item> </el-form-item>
@ -50,7 +50,6 @@ import QuestionShow from '../components/Show'
import Ueditor from '@/components/Ueditor' import Ueditor from '@/components/Ueditor'
import { mapGetters, mapState, mapActions } from 'vuex' import { mapGetters, mapState, mapActions } from 'vuex'
import questionApi from '@/api/question' import questionApi from '@/api/question'
import industryApi from '@/api/industry'
export default { export default {
components: { components: {
@ -61,17 +60,16 @@ export default {
form: { form: {
id: null, id: null,
questionType: 5, questionType: 5,
industryId: null, gradeLevel: null,
skillId: null, subjectId: null,
title: '', title: '',
items: [], items: [],
analyze: '', analyze: '',
correct: '', correct: '',
score: '0', score: '',
difficult: 0 difficult: 0
}, },
subjectFilter: null, subjectFilter: null,
industryFilter: null,
formLoading: false, formLoading: false,
rules: { rules: {
gradeLevel: [ gradeLevel: [
@ -120,10 +118,6 @@ export default {
_this.formLoading = false _this.formLoading = false
}) })
} }
industryApi.list().then(re => {
this.industryFilter=re.response;
})
}, },
methods: { methods: {
editorReady (instance) { editorReady (instance) {
@ -168,24 +162,10 @@ export default {
}, },
resetForm () { resetForm () {
this.$refs['form'].resetFields() this.$refs['form'].resetFields()
this.form = {
id: null,
questionType: 5,
gradeLevel: null,
subjectId: null,
title: '',
items: [],
analyze: '',
correct: '',
score: '',
difficult: 0
}
}, },
levelChange () { levelChange () {
this.form.subjectId = null this.form.subjectId = null
this.subjectFilter = this.subjects.filter(data => data.level === this.form.gradeLevel) this.subjectFilter = this.subjects.filter(data => data.level === this.form.gradeLevel)
console.log(this.subjectFilter);
}, },
showQuestion () { showQuestion () {
this.questionShow.dialog = true this.questionShow.dialog = true

View File

@ -173,21 +173,6 @@ export default {
}, },
resetForm () { resetForm () {
this.$refs['form'].resetFields() this.$refs['form'].resetFields()
this.form = {
id: null,
questionType: 3,
gradeLevel: null,
subjectId: null,
title: '',
items: [
{ id: null, prefix: 'A', content: '是' },
{ id: null, prefix: 'B', content: '否' }
],
analyze: '',
correct: '',
score: '',
difficult: 0
}
}, },
levelChange () { levelChange () {
this.form.subjectId = null this.form.subjectId = null

View File

@ -4,15 +4,15 @@
<el-form-item label="题目ID"> <el-form-item label="题目ID">
<el-input v-model="queryParam.id" clearable></el-input> <el-input v-model="queryParam.id" clearable></el-input>
</el-form-item> </el-form-item>
<el-form-item label="industry"> <el-form-item label="年级">
<el-select v-model="queryParam.industry" placeholder="industry" @change="levelChange" clearable> <el-select v-model="queryParam.level" placeholder="年级" @change="levelChange" clearable>
<el-option v-for="item in industryFilter" :key="item.id" :value="item.id" :label="item.name"></el-option> <el-option v-for="item in levelEnum" :key="item.key" :value="item.key" :label="item.value"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="skill"> <el-form-item label="学科">
<el-select v-model="queryParam.skill" clearable> <el-select v-model="queryParam.subjectId" clearable>
<el-option v-for="item in subjectFilter" :key="item.id" :value="item.id" <el-option v-for="item in subjectFilter" :key="item.id" :value="item.id"
:label="item.name"></el-option> :label="item.name+' ( '+item.levelName+' )'"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="题型:"> <el-form-item label="题型:">
@ -32,11 +32,10 @@
</el-form> </el-form>
<el-table v-loading="listLoading" :data="tableData" border fit highlight-current-row style="width: 100%"> <el-table v-loading="listLoading" :data="tableData" border fit highlight-current-row style="width: 100%">
<el-table-column prop="id" label="Id" width="90px"/> <el-table-column prop="id" label="Id" width="90px"/>
<el-table-column prop="industryName" label="industry" width="120px"/> <el-table-column prop="subjectId" label="学科" :formatter="subjectFormatter" width="120px"/>
<el-table-column prop="skillName" label="skill" width="120px"/>
<el-table-column prop="questionType" label="题型" :formatter="questionTypeFormatter" width="70px"/> <el-table-column prop="questionType" label="题型" :formatter="questionTypeFormatter" width="70px"/>
<el-table-column prop="shortTitle" label="题干" show-overflow-tooltip/> <el-table-column prop="shortTitle" label="题干" show-overflow-tooltip/>
<!-- <el-table-column prop="score" label="分数" width="60px"/> --> <el-table-column prop="score" label="分数" width="60px"/>
<el-table-column prop="difficult" label="难度" width="60px"/> <el-table-column prop="difficult" label="难度" width="60px"/>
<el-table-column prop="createTime" label="创建时间" width="160px"/> <el-table-column prop="createTime" label="创建时间" width="160px"/>
<el-table-column label="操作" align="center" width="220px"> <el-table-column label="操作" align="center" width="220px">
@ -60,7 +59,6 @@ import { mapGetters, mapState, mapActions } from 'vuex'
import Pagination from '@/components/Pagination' import Pagination from '@/components/Pagination'
import QuestionShow from './components/Show' import QuestionShow from './components/Show'
import questionApi from '@/api/question' import questionApi from '@/api/question'
import industryApi from '@/api/industry'
export default { export default {
components: { Pagination, QuestionShow }, components: { Pagination, QuestionShow },
@ -69,14 +67,13 @@ export default {
queryParam: { queryParam: {
id: null, id: null,
questionType: null, questionType: null,
skill: null, level: null,
industry: null, subjectId: null,
pageIndex: 1, pageIndex: 1,
pageSize: 10 pageSize: 10
}, },
subjectFilter: null, subjectFilter: null,
industryFilter: null, listLoading: true,
listLoading: false,
tableData: [], tableData: [],
total: 0, total: 0,
questionShow: { questionShow: {
@ -90,13 +87,6 @@ export default {
created () { created () {
this.initSubject() this.initSubject()
this.search() this.search()
let _this = this
this.initSubject(function () {
_this.subjectFilter = _this.subjects
})
industryApi.list().then(re => {
this.industryFilter=re.response;
})
}, },
methods: { methods: {
submitForm () { submitForm () {

View File

@ -3,7 +3,7 @@
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form" auto-complete="on" label-position="left"> <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form" auto-complete="on" label-position="left">
<div class="title-container"> <div class="title-container">
<h3 class="title">TekSystem管理系统</h3> <h3 class="title">学之思管理系统</h3>
</div> </div>
<el-form-item prop="userName"> <el-form-item prop="userName">
@ -52,7 +52,7 @@
</el-form> </el-form>
<div class="account-foot-copyright"> <div class="account-foot-copyright">
<span>Copyright © 2020 TekSystem 版权所有</span> <span>Copyright © 2020 武汉思维跳跃科技有限公司 版权所有</span>
</div> </div>
</div> </div>
</template> </template>

View File

@ -20,7 +20,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="出生日期:"> <el-form-item label="出生日期:">
<el-date-picker v-model="form.birthDay" value-format="yyyy-MM-dd" type="date" placeholder="选择日期"/> <el-date-picker v-model="form.birthDay" type="date" placeholder="选择日期"/>
</el-form-item> </el-form-item>
<el-form-item label="手机:"> <el-form-item label="手机:">
<el-input v-model="form.phone"></el-input> <el-input v-model="form.phone"></el-input>
@ -104,7 +104,6 @@ export default {
}) })
}, },
resetForm () { resetForm () {
let lastId = this.form.id
this.$refs['form'].resetFields() this.$refs['form'].resetFields()
this.form = { this.form = {
id: null, id: null,
@ -118,7 +117,6 @@ export default {
birthDay: null, birthDay: null,
phone: null phone: null
} }
this.form = lastId
}, },
...mapActions('tagsView', { delCurrentView: 'delCurrentView' }) ...mapActions('tagsView', { delCurrentView: 'delCurrentView' })
}, },

View File

@ -20,7 +20,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="出生日期:"> <el-form-item label="出生日期:">
<el-date-picker v-model="form.birthDay" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" /> <el-date-picker v-model="form.birthDay" type="date" placeholder="选择日期" />
</el-form-item> </el-form-item>
<el-form-item label="手机:"> <el-form-item label="手机:">
<el-input v-model="form.phone"></el-input> <el-input v-model="form.phone"></el-input>

View File

@ -20,7 +20,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="出生日期:"> <el-form-item label="出生日期:">
<el-date-picker v-model="form.birthDay" value-format="yyyy-MM-dd" type="date" placeholder="选择日期" /> <el-date-picker v-model="form.birthDay" type="date" placeholder="选择日期" />
</el-form-item> </el-form-item>
<el-form-item label="手机:"> <el-form-item label="手机:">
<el-input v-model="form.phone"></el-input> <el-input v-model="form.phone"></el-input>

View File

@ -20,4 +20,3 @@ yarn-error.log*
*.njsproj *.njsproj
*.sln *.sln
*.sw? *.sw?
/package-lock.json

View File

@ -1,6 +1,6 @@
{ {
"name": "xzs-student", "name": "xzs-student",
"version": "3.1.0", "version": "3.0.8",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {
@ -2119,16 +2119,6 @@
"integrity": "sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo=", "integrity": "sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo=",
"dev": true "dev": true
}, },
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz",
"integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=",
"dev": true,
"optional": true,
"requires": {
"color-convert": "^2.0.1"
}
},
"cacache": { "cacache": {
"version": "13.0.1", "version": "13.0.1",
"resolved": "https://registry.npm.taobao.org/cacache/download/cacache-13.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcacache%2Fdownload%2Fcacache-13.0.1.tgz", "resolved": "https://registry.npm.taobao.org/cacache/download/cacache-13.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcacache%2Fdownload%2Fcacache-13.0.1.tgz",
@ -2155,34 +2145,6 @@
"unique-filename": "^1.1.1" "unique-filename": "^1.1.1"
} }
}, },
"chalk": {
"version": "4.1.0",
"resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz",
"integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=",
"dev": true,
"optional": true,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz",
"integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=",
"dev": true,
"optional": true,
"requires": {
"color-name": "~1.1.4"
}
},
"color-name": {
"version": "1.1.4",
"resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz",
"integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=",
"dev": true,
"optional": true
},
"debug": { "debug": {
"version": "4.3.1", "version": "4.3.1",
"resolved": "https://registry.npm.taobao.org/debug/download/debug-4.3.1.tgz?cache=0&sync_timestamp=1605791507452&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.3.1.tgz", "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.3.1.tgz?cache=0&sync_timestamp=1605791507452&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.3.1.tgz",
@ -2213,25 +2175,6 @@
"path-exists": "^4.0.0" "path-exists": "^4.0.0"
} }
}, },
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz",
"integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=",
"dev": true,
"optional": true
},
"loader-utils": {
"version": "2.0.0",
"resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-2.0.0.tgz",
"integrity": "sha1-5MrOW4FtQloWa18JfhDNErNgZLA=",
"dev": true,
"optional": true,
"requires": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
"json5": "^2.1.2"
}
},
"locate-path": { "locate-path": {
"version": "5.0.0", "version": "5.0.0",
"resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-5.0.0.tgz?cache=0&sync_timestamp=1597081764621&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flocate-path%2Fdownload%2Flocate-path-5.0.0.tgz", "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-5.0.0.tgz?cache=0&sync_timestamp=1597081764621&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flocate-path%2Fdownload%2Flocate-path-5.0.0.tgz",
@ -2302,16 +2245,6 @@
"minipass": "^3.1.1" "minipass": "^3.1.1"
} }
}, },
"supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1608033330722&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz",
"integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=",
"dev": true,
"optional": true,
"requires": {
"has-flag": "^4.0.0"
}
},
"terser-webpack-plugin": { "terser-webpack-plugin": {
"version": "2.3.8", "version": "2.3.8",
"resolved": "https://registry.npm.taobao.org/terser-webpack-plugin/download/terser-webpack-plugin-2.3.8.tgz?cache=0&sync_timestamp=1597229611059&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fterser-webpack-plugin%2Fdownload%2Fterser-webpack-plugin-2.3.8.tgz", "resolved": "https://registry.npm.taobao.org/terser-webpack-plugin/download/terser-webpack-plugin-2.3.8.tgz?cache=0&sync_timestamp=1597229611059&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fterser-webpack-plugin%2Fdownload%2Fterser-webpack-plugin-2.3.8.tgz",
@ -2328,18 +2261,6 @@
"terser": "^4.6.12", "terser": "^4.6.12",
"webpack-sources": "^1.4.3" "webpack-sources": "^1.4.3"
} }
},
"vue-loader-v16": {
"version": "npm:vue-loader@16.1.2",
"resolved": "https://registry.npm.taobao.org/vue-loader/download/vue-loader-16.1.2.tgz?cache=0&sync_timestamp=1608188009078&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-loader%2Fdownload%2Fvue-loader-16.1.2.tgz",
"integrity": "sha1-XAO2xQ0qX5g8fOuhXFDXjKKymPQ=",
"dev": true,
"optional": true,
"requires": {
"chalk": "^4.1.0",
"hash-sum": "^2.0.0",
"loader-utils": "^2.0.0"
}
} }
} }
}, },
@ -13009,6 +12930,87 @@
} }
} }
}, },
"vue-loader-v16": {
"version": "npm:vue-loader@16.0.0-rc.2",
"resolved": "https://registry.npm.taobao.org/vue-loader/download/vue-loader-16.0.0-rc.2.tgz",
"integrity": "sha1-tqfn8w0o81ZZqD3kH0oYMaQjKgQ=",
"dev": true,
"optional": true,
"requires": {
"chalk": "^4.1.0",
"hash-sum": "^2.0.0",
"loader-utils": "^2.0.0"
},
"dependencies": {
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz",
"integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=",
"dev": true,
"optional": true,
"requires": {
"color-convert": "^2.0.1"
}
},
"chalk": {
"version": "4.1.0",
"resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz",
"integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=",
"dev": true,
"optional": true,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz",
"integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=",
"dev": true,
"optional": true,
"requires": {
"color-name": "~1.1.4"
}
},
"color-name": {
"version": "1.1.4",
"resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz",
"integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=",
"dev": true,
"optional": true
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz",
"integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=",
"dev": true,
"optional": true
},
"loader-utils": {
"version": "2.0.0",
"resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-2.0.0.tgz",
"integrity": "sha1-5MrOW4FtQloWa18JfhDNErNgZLA=",
"dev": true,
"optional": true,
"requires": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
"json5": "^2.1.2"
}
},
"supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1606205060845&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz",
"integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=",
"dev": true,
"optional": true,
"requires": {
"has-flag": "^4.0.0"
}
}
}
},
"vue-router": { "vue-router": {
"version": "3.4.9", "version": "3.4.9",
"resolved": "https://registry.npm.taobao.org/vue-router/download/vue-router-3.4.9.tgz?cache=0&sync_timestamp=1604612037000&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-router%2Fdownload%2Fvue-router-3.4.9.tgz", "resolved": "https://registry.npm.taobao.org/vue-router/download/vue-router-3.4.9.tgz?cache=0&sync_timestamp=1604612037000&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-router%2Fdownload%2Fvue-router-3.4.9.tgz",

View File

@ -1,6 +1,6 @@
{ {
"name": "xzs-student", "name": "xzs-student",
"version": "3.1.0", "version": "3.0.8",
"author": "武汉思维跳跃科技有限公司", "author": "武汉思维跳跃科技有限公司",
"description": "学之思考试系统", "description": "学之思考试系统",
"license": "AGPL-3.0", "license": "AGPL-3.0",

View File

@ -66,7 +66,7 @@
</div> </div>
</el-footer> </el-footer>
<div class="foot-copyright"> <div class="foot-copyright">
<span>Copyright © 2020 TekSystem 版权所有</span> <span>Copyright © 2020 武汉思维跳跃科技有限公司 版权所有</span>
</div> </div>
</el-container> </el-container>
</template> </template>

View File

@ -51,7 +51,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="出生日期:"> <el-form-item label="出生日期:">
<el-date-picker v-model="form.birthDay" value-format="yyyy-MM-dd" type="date" placeholder="选择日期"/> <el-date-picker v-model="form.birthDay" type="date" placeholder="选择日期"/>
</el-form-item> </el-form-item>
<el-form-item label="手机:"> <el-form-item label="手机:">
<el-input v-model="form.phone"></el-input> <el-input v-model="form.phone"></el-input>

View File

@ -5,7 +5,7 @@
<groupId>com.mindskip</groupId> <groupId>com.mindskip</groupId>
<artifactId>xzs</artifactId> <artifactId>xzs</artifactId>
<version>3.1.0</version> <version>3.0.8</version>
<packaging>jar</packaging> <packaging>jar</packaging>
<name>xzs</name> <name>xzs</name>

View File

@ -4,7 +4,6 @@ package com.mindskip.xzs.controller.admin;
import com.mindskip.xzs.base.BaseApiController; import com.mindskip.xzs.base.BaseApiController;
import com.mindskip.xzs.base.RestResponse; import com.mindskip.xzs.base.RestResponse;
import com.mindskip.xzs.domain.Subject; import com.mindskip.xzs.domain.Subject;
import com.mindskip.xzs.service.IndustryService;
import com.mindskip.xzs.service.SubjectService; import com.mindskip.xzs.service.SubjectService;
import com.mindskip.xzs.utility.PageInfoHelper; import com.mindskip.xzs.utility.PageInfoHelper;
import com.mindskip.xzs.viewmodel.admin.education.SubjectEditRequestVM; import com.mindskip.xzs.viewmodel.admin.education.SubjectEditRequestVM;

View File

@ -1,62 +0,0 @@
package com.mindskip.xzs.controller.admin;
import com.github.pagehelper.PageInfo;
import com.mindskip.xzs.base.BaseApiController;
import com.mindskip.xzs.base.RestResponse;
import com.mindskip.xzs.domain.Industry;
import com.mindskip.xzs.service.IndustryService;
import com.mindskip.xzs.utility.PageInfoHelper;
import com.mindskip.xzs.viewmodel.admin.industry.IndustryEditRequestVM;
import com.mindskip.xzs.viewmodel.admin.industry.IndustryPageRequestVM;
import com.mindskip.xzs.viewmodel.admin.industry.IndustryResponseVM;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
@RestController("AdminIndustryController")
@RequestMapping(value = "/api/admin")
@AllArgsConstructor
public class IndustryController extends BaseApiController {
private final IndustryService industryService;
@RequestMapping(value = "/industry/list", method = RequestMethod.POST)
public RestResponse<List<Industry>> list() {
List<Industry> industries = industryService.allIndustry();
return RestResponse.ok(industries);
}
@RequestMapping(value = "/industry/page", method = RequestMethod.POST)
public RestResponse<PageInfo<IndustryResponseVM>> pageList(@RequestBody IndustryPageRequestVM model) {
PageInfo<Industry> pageInfo = industryService.page(model);
PageInfo<IndustryResponseVM> page = PageInfoHelper.copyMap(pageInfo, e -> modelMapper.map(e, IndustryResponseVM.class));
return RestResponse.ok(page);
}
@RequestMapping(value = "/industry/edit", method = RequestMethod.POST)
public RestResponse edit(@RequestBody @Valid IndustryEditRequestVM model) {
Industry industry = modelMapper.map(model, Industry.class);
if (model.getId() == null) {
industryService.insertByFilter(industry);
} else {
industryService.updateByIdFilter(industry);
}
return RestResponse.ok();
}
@RequestMapping(value = "/industry/select/{id}", method = RequestMethod.POST)
public RestResponse<IndustryEditRequestVM> select(@PathVariable Integer id) {
Industry industry = industryService.selectById(id);
IndustryEditRequestVM vm = modelMapper.map(industry, IndustryEditRequestVM.class);
return RestResponse.ok(vm);
}
@RequestMapping(value = "/industry/delete/{id}", method = RequestMethod.POST)
public RestResponse delete(@PathVariable Integer id) {
industryService.deleteById(id);
return RestResponse.ok();
}
}

View File

@ -1,62 +0,0 @@
package com.mindskip.xzs.controller.admin;
import com.github.pagehelper.PageInfo;
import com.mindskip.xzs.base.BaseApiController;
import com.mindskip.xzs.base.RestResponse;
import com.mindskip.xzs.domain.Skill;
import com.mindskip.xzs.service.SkillService;
import com.mindskip.xzs.utility.PageInfoHelper;
import com.mindskip.xzs.viewmodel.admin.skill.SkillEditRequestVM;
import com.mindskip.xzs.viewmodel.admin.skill.SkillPageRequestVM;
import com.mindskip.xzs.viewmodel.admin.skill.SkillResponseVM;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
@RestController("AdminSkillController")
@RequestMapping(value = "/api/admin")
@AllArgsConstructor
public class SkillController extends BaseApiController {
private final SkillService skillService;
@RequestMapping(value = "/skill/list", method = RequestMethod.POST)
public RestResponse<List<Skill>> list() {
List<Skill> industries = skillService.allSkill();
return RestResponse.ok(industries);
}
@RequestMapping(value = "/skill/page", method = RequestMethod.POST)
public RestResponse<PageInfo<SkillResponseVM>> pageList(@RequestBody SkillPageRequestVM model) {
PageInfo<Skill> pageInfo = skillService.page(model);
PageInfo<SkillResponseVM> page = PageInfoHelper.copyMap(pageInfo, e -> modelMapper.map(e, SkillResponseVM.class));
return RestResponse.ok(page);
}
@RequestMapping(value = "/skill/edit", method = RequestMethod.POST)
public RestResponse edit(@RequestBody @Valid SkillEditRequestVM model) {
Skill skill = modelMapper.map(model, Skill.class);
if (model.getId() == null) {
skillService.insertByFilter(skill);
} else {
skillService.updateByIdFilter(skill);
}
return RestResponse.ok();
}
@RequestMapping(value = "/skill/select/{id}", method = RequestMethod.POST)
public RestResponse<SkillEditRequestVM> select(@PathVariable Integer id) {
Skill skill = skillService.selectById(id);
SkillEditRequestVM vm = modelMapper.map(skill, SkillEditRequestVM.class);
return RestResponse.ok(vm);
}
@RequestMapping(value = "/skill/delete/{id}", method = RequestMethod.POST)
public RestResponse delete(@PathVariable Integer id) {
skillService.deleteById(id);
return RestResponse.ok();
}
}

View File

@ -1,31 +0,0 @@
package com.mindskip.xzs.domain;
import java.io.Serializable;
/**
* t_industry
* @author
*/
public class Industry implements Serializable {
private Integer id;
private String name;
private static final long serialVersionUID = 1L;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

View File

@ -17,14 +17,6 @@ public class Question implements Serializable {
private Integer subjectId; private Integer subjectId;
private Integer industryId;
private String industryName;
private Integer skillId;
private String skillName;
private Integer score; private Integer score;
private Integer gradeLevel; private Integer gradeLevel;
@ -67,38 +59,6 @@ public class Question implements Serializable {
this.subjectId = subjectId; this.subjectId = subjectId;
} }
public String getIndustryName() {
return industryName;
}
public void setIndustryName(String industryName) {
this.industryName = industryName;
}
public String getSkillName() {
return skillName;
}
public void setSkillName(String skillName) {
this.skillName = skillName;
}
public Integer getIndustryId() {
return industryId;
}
public void setIndustryId(Integer industryId) {
this.industryId = industryId;
}
public Integer getSkillId() {
return skillId;
}
public void setSkillId(Integer skillId) {
this.skillId = skillId;
}
public Integer getScore() { public Integer getScore() {
return score; return score;
} }

View File

@ -1,31 +0,0 @@
package com.mindskip.xzs.domain;
import java.io.Serializable;
/**
* t_industry
* @author
*/
public class Skill implements Serializable {
private Integer id;
private String name;
private static final long serialVersionUID = 1L;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

View File

@ -1,29 +0,0 @@
package com.mindskip.xzs.repository;
import com.mindskip.xzs.domain.Industry;
import com.mindskip.xzs.domain.Subject;
import com.mindskip.xzs.viewmodel.admin.industry.IndustryEditRequestVM;
import com.mindskip.xzs.viewmodel.admin.industry.IndustryPageRequestVM;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface IndustryMapper extends BaseMapper<Industry> {
int deleteByPrimaryKey(Integer id);
int insert(Industry record);
int insertSelective(Industry record);
Industry selectByPrimaryKey(Integer id);
int updateByPrimaryKeySelective(Industry record);
int updateByPrimaryKey(Industry record);
List<Industry> page(IndustryPageRequestVM requestVM);
List<Industry> allIndustry();
}

View File

@ -1,27 +0,0 @@
package com.mindskip.xzs.repository;
import com.mindskip.xzs.domain.Skill;
import com.mindskip.xzs.viewmodel.admin.skill.SkillPageRequestVM;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface SkillMapper extends BaseMapper<Skill> {
int deleteByPrimaryKey(Integer id);
int insert(Skill record);
int insertSelective(Skill record);
Skill selectByPrimaryKey(Integer id);
int updateByPrimaryKeySelective(Skill record);
int updateByPrimaryKey(Skill record);
List<Skill> page(SkillPageRequestVM requestVM);
List<Skill> allSkill();
}

View File

@ -1,19 +0,0 @@
package com.mindskip.xzs.service;
import com.github.pagehelper.PageInfo;
import com.mindskip.xzs.domain.Industry;
import com.mindskip.xzs.domain.Subject;
import com.mindskip.xzs.viewmodel.admin.industry.IndustryPageRequestVM;
import java.util.List;
/**
* @Auther: Kevin Cui
* @Date: 2020/12/24 14
* @Description:
*/
public interface IndustryService extends BaseService<Industry> {
PageInfo<Industry> page(IndustryPageRequestVM requestVM);
List<Industry> allIndustry();
}

View File

@ -1,18 +0,0 @@
package com.mindskip.xzs.service;
import com.github.pagehelper.PageInfo;
import com.mindskip.xzs.domain.Skill;
import com.mindskip.xzs.viewmodel.admin.skill.SkillPageRequestVM;
import java.util.List;
/**
* @Auther: Kevin Cui
* @Date: 2020/12/24 14
* @Description:
*/
public interface SkillService extends BaseService<Skill> {
PageInfo<Skill> page(SkillPageRequestVM requestVM);
List<Skill> allSkill();
}

View File

@ -1,46 +0,0 @@
package com.mindskip.xzs.service.impl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.mindskip.xzs.domain.Industry;
import com.mindskip.xzs.repository.IndustryMapper;
import com.mindskip.xzs.service.IndustryService;
import com.mindskip.xzs.viewmodel.admin.industry.IndustryPageRequestVM;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @Auther: Kevin Cui
* @Date: 2020/12/24 14
* @Description:
*/
@Service
public class IndustryServiceImpl extends BaseServiceImpl<Industry> implements IndustryService {
private final IndustryMapper industryMapper;
private final static String CACHE_NAME = "xzs:industry";
public IndustryServiceImpl(IndustryMapper industryMapper) {
super(industryMapper);
this.industryMapper = industryMapper;
}
@Override
@Cacheable(value = CACHE_NAME, key = "#id", unless = "#result == null")
public Industry selectById(Integer id) {
return super.selectById(id);
}
@Override
public PageInfo<Industry> page(IndustryPageRequestVM requestVM) {
return PageHelper.startPage(requestVM.getPageIndex(), requestVM.getPageSize(), "id desc").doSelectPageInfo(() ->
industryMapper.page(requestVM)
);
}
@Override
public List<Industry> allIndustry() {
return industryMapper.allIndustry();
}
}

View File

@ -57,7 +57,7 @@ public class QuestionServiceImpl extends BaseServiceImpl<Question> implements Qu
@Transactional @Transactional
public Question insertFullQuestion(QuestionEditRequestVM model, Integer userId) { public Question insertFullQuestion(QuestionEditRequestVM model, Integer userId) {
Date now = new Date(); Date now = new Date();
// Integer gradeLevel = subjectService.levelBySubjectId(model.getSubjectId()); Integer gradeLevel = subjectService.levelBySubjectId(model.getSubjectId());
//题干解析选项等 插入 //题干解析选项等 插入
TextContent infoTextContent = new TextContent(); TextContent infoTextContent = new TextContent();
@ -66,10 +66,8 @@ public class QuestionServiceImpl extends BaseServiceImpl<Question> implements Qu
textContentService.insertByFilter(infoTextContent); textContentService.insertByFilter(infoTextContent);
Question question = new Question(); Question question = new Question();
// question.setSubjectId(model.getSubjectId()); question.setSubjectId(model.getSubjectId());
question.setIndustryId(model.getIndustryId()); question.setGradeLevel(gradeLevel);
question.setSkillId(model.getSkillId());
// question.setGradeLevel(gradeLevel);
question.setCreateTime(now); question.setCreateTime(now);
question.setQuestionType(model.getQuestionType()); question.setQuestionType(model.getQuestionType());
question.setStatus(QuestionStatusEnum.OK.getCode()); question.setStatus(QuestionStatusEnum.OK.getCode());
@ -86,12 +84,10 @@ public class QuestionServiceImpl extends BaseServiceImpl<Question> implements Qu
@Override @Override
@Transactional @Transactional
public Question updateFullQuestion(QuestionEditRequestVM model) { public Question updateFullQuestion(QuestionEditRequestVM model) {
// Integer gradeLevel = subjectService.levelBySubjectId(model.getSubjectId()); Integer gradeLevel = subjectService.levelBySubjectId(model.getSubjectId());
Question question = questionMapper.selectByPrimaryKey(model.getId()); Question question = questionMapper.selectByPrimaryKey(model.getId());
// question.setSubjectId(model.getSubjectId()); question.setSubjectId(model.getSubjectId());
question.setIndustryId(model.getIndustryId()); question.setGradeLevel(gradeLevel);
question.setSkillId(model.getSkillId());
// question.setGradeLevel(gradeLevel);
question.setScore(ExamUtil.scoreFromVM(model.getScore())); question.setScore(ExamUtil.scoreFromVM(model.getScore()));
question.setDifficult(model.getDifficult()); question.setDifficult(model.getDifficult());
question.setCorrectFromVM(model.getCorrect(), model.getCorrectArray()); question.setCorrectFromVM(model.getCorrect(), model.getCorrectArray());

View File

@ -1,46 +0,0 @@
package com.mindskip.xzs.service.impl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.mindskip.xzs.domain.Skill;
import com.mindskip.xzs.repository.SkillMapper;
import com.mindskip.xzs.service.SkillService;
import com.mindskip.xzs.viewmodel.admin.skill.SkillPageRequestVM;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @Auther: Kevin Cui
* @Date: 2020/12/24 14
* @Description:
*/
@Service
public class SkillServiceImpl extends BaseServiceImpl<Skill> implements SkillService {
private final SkillMapper skillMapper;
private final static String CACHE_NAME = "xzs:skill";
public SkillServiceImpl(SkillMapper skillMapper) {
super(skillMapper);
this.skillMapper = skillMapper;
}
@Override
@Cacheable(value = CACHE_NAME, key = "#id", unless = "#result == null")
public Skill selectById(Integer id) {
return super.selectById(id);
}
@Override
public PageInfo<Skill> page(SkillPageRequestVM requestVM) {
return PageHelper.startPage(requestVM.getPageIndex(), requestVM.getPageSize(), "id desc").doSelectPageInfo(() ->
skillMapper.page(requestVM)
);
}
@Override
public List<Skill> allSkill() {
return skillMapper.allSkill();
}
}

View File

@ -1,19 +0,0 @@
package com.mindskip.xzs.viewmodel.admin.industry;
import com.mindskip.xzs.viewmodel.BaseVM;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Auther: Kevin Cui
* @Date: 2020/12/24 15
* @Description:
*/
@Data
public class IndustryEditRequestVM extends BaseVM {
private Integer id;
@NotBlank
private String name;
}

View File

@ -1,19 +0,0 @@
package com.mindskip.xzs.viewmodel.admin.industry;
import com.mindskip.xzs.base.BasePage;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Auther: Kevin Cui
* @Date: 2020/12/24 15
* @Description:
*/
@Data
public class IndustryPageRequestVM extends BasePage {
private Integer id;
@NotBlank
private String name;
}

View File

@ -1,19 +0,0 @@
package com.mindskip.xzs.viewmodel.admin.industry;
import com.mindskip.xzs.viewmodel.BaseVM;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Auther: Kevin Cui
* @Date: 2020/12/24 15
* @Description:
*/
@Data
public class IndustryResponseVM extends BaseVM {
private Integer id;
@NotBlank
private String name;
}

View File

@ -13,13 +13,8 @@ public class QuestionEditRequestVM {
private Integer id; private Integer id;
@NotNull @NotNull
private Integer questionType; private Integer questionType;
@NotNull @NotNull
private Integer industryId; private Integer subjectId;
@NotNull
private Integer skillId;
@NotBlank @NotBlank
private String title; private String title;

View File

@ -10,7 +10,4 @@ public class QuestionPageRequestVM extends BasePage {
private Integer level; private Integer level;
private Integer subjectId; private Integer subjectId;
private Integer questionType; private Integer questionType;
private Integer industryId;
private Integer skillId;
} }

View File

@ -16,14 +16,6 @@ public class QuestionResponseVM extends BaseVM {
private Integer subjectId; private Integer subjectId;
private Integer industryId;
private String industryName;
private Integer skillId;
private String skillName;
private Integer createUser; private Integer createUser;
private String score; private String score;

View File

@ -1,19 +0,0 @@
package com.mindskip.xzs.viewmodel.admin.skill;
import com.mindskip.xzs.viewmodel.BaseVM;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Auther: Kevin Cui
* @Date: 2020/12/24 15
* @Description:
*/
@Data
public class SkillEditRequestVM extends BaseVM {
private Integer id;
@NotBlank
private String name;
}

View File

@ -1,19 +0,0 @@
package com.mindskip.xzs.viewmodel.admin.skill;
import com.mindskip.xzs.base.BasePage;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Auther: Kevin Cui
* @Date: 2020/12/24 15
* @Description:
*/
@Data
public class SkillPageRequestVM extends BasePage {
private Integer id;
@NotBlank
private String name;
}

View File

@ -1,19 +0,0 @@
package com.mindskip.xzs.viewmodel.admin.skill;
import com.mindskip.xzs.viewmodel.BaseVM;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Auther: Kevin Cui
* @Date: 2020/12/24 15
* @Description:
*/
@Data
public class SkillResponseVM extends BaseVM {
private Integer id;
@NotBlank
private String name;
}

View File

@ -3,9 +3,9 @@ logging:
spring: spring:
redis: redis:
host: localhost host: 192.168.0.96
datasource: datasource:
url: jdbc:mysql://home.ken123.tk:3306/xzs?useSSL=false&useUnicode=true&serverTimezone=Asia/Shanghai&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&allowPublicKeyRetrieval=true&allowMultiQueries=true url: jdbc:mysql://192.168.0.96:3306/xzs?useSSL=false&useUnicode=true&serverTimezone=Asia/Shanghai&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&allowPublicKeyRetrieval=true&allowMultiQueries=true
username: root username: root
password: kenjian password: 123456
driver-class-name: com.mysql.cj.jdbc.Driver driver-class-name: com.mysql.cj.jdbc.Driver

View File

@ -1,69 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mindskip.xzs.repository.IndustryMapper">
<resultMap id="BaseResultMap" type="com.mindskip.xzs.domain.Industry">
<id column="id" jdbcType="INTEGER" property="id" />
<result column="name" jdbcType="VARCHAR" property="name" />
</resultMap>
<sql id="Base_Column_List">
id, `name`
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from t_industry
where id = #{id,jdbcType=INTEGER}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
delete from t_industry
where id = #{id,jdbcType=INTEGER}
</delete>
<insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.mindskip.xzs.domain.Industry" useGeneratedKeys="true">
insert into t_industry (`name`)
values (#{name,jdbcType=VARCHAR})
</insert>
<insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.mindskip.xzs.domain.Industry" useGeneratedKeys="true">
insert into t_industry
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="name != null">
`name`,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="name != null">
#{name,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.mindskip.xzs.domain.Industry">
update t_industry
<set>
<if test="name != null">
`name` = #{name,jdbcType=VARCHAR},
</if>
</set>
where id = #{id,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="com.mindskip.xzs.domain.Industry">
update t_industry
set `name` = #{name,jdbcType=VARCHAR}
where id = #{id,jdbcType=INTEGER}
</update>
<select id="page" resultMap="BaseResultMap" parameterType="com.mindskip.xzs.viewmodel.admin.industry.IndustryEditRequestVM">
SELECT
<include refid="Base_Column_List"/>
FROM t_industry
<where>
<if test="id != null ">
and id= #{id}
</if>
</where>
</select>
<select id="allIndustry" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from t_industry
</select>
</mapper>

View File

@ -5,10 +5,6 @@
<id column="id" jdbcType="INTEGER" property="id" /> <id column="id" jdbcType="INTEGER" property="id" />
<result column="question_type" jdbcType="INTEGER" property="questionType" /> <result column="question_type" jdbcType="INTEGER" property="questionType" />
<result column="subject_id" jdbcType="INTEGER" property="subjectId" /> <result column="subject_id" jdbcType="INTEGER" property="subjectId" />
<result column="industry_id" jdbcType="INTEGER" property="industryId" />
<result column="industry_name" jdbcType="VARCHAR" property="industryName" />
<result column="skill_id" jdbcType="INTEGER" property="skillId" />
<result column="skill_name" jdbcType="VARCHAR" property="skillName" />
<result column="score" jdbcType="INTEGER" property="score" /> <result column="score" jdbcType="INTEGER" property="score" />
<result column="grade_level" jdbcType="INTEGER" property="gradeLevel" /> <result column="grade_level" jdbcType="INTEGER" property="gradeLevel" />
<result column="difficult" jdbcType="INTEGER" property="difficult" /> <result column="difficult" jdbcType="INTEGER" property="difficult" />
@ -20,13 +16,9 @@
<result column="deleted" jdbcType="BIT" property="deleted" /> <result column="deleted" jdbcType="BIT" property="deleted" />
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id, question_type, subject_id, industry_id, skill_id, score, grade_level, difficult, correct, info_text_content_id, id, question_type, subject_id, score, grade_level, difficult, correct, info_text_content_id,
create_user, status, create_time, deleted create_user, status, create_time, deleted
</sql> </sql>
<sql id="Page_Column_List">
q.id, q.question_type, q.subject_id, q.industry_id, i.name AS industry_name, q.skill_id, s.name AS skill_name, q.score, q.grade_level, q.difficult, q.correct, q.info_text_content_id,
q.create_user, q.status, q.create_time, q.deleted
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap"> <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select select
<include refid="Base_Column_List" /> <include refid="Base_Column_List" />
@ -61,12 +53,6 @@
<if test="subjectId != null"> <if test="subjectId != null">
subject_id, subject_id,
</if> </if>
<if test="industryId != null">
industry_id,
</if>
<if test="skillId != null">
skill_id,
</if>
<if test="score != null"> <if test="score != null">
score, score,
</if> </if>
@ -105,12 +91,6 @@
<if test="subjectId != null"> <if test="subjectId != null">
#{subjectId,jdbcType=INTEGER}, #{subjectId,jdbcType=INTEGER},
</if> </if>
<if test="industryId != null">
#{industryId,jdbcType=INTEGER},
</if>
<if test="skillId != null">
#{skillId,jdbcType=INTEGER},
</if>
<if test="score != null"> <if test="score != null">
#{score,jdbcType=INTEGER}, #{score,jdbcType=INTEGER},
</if> </if>
@ -149,12 +129,6 @@
<if test="subjectId != null"> <if test="subjectId != null">
subject_id = #{subjectId,jdbcType=INTEGER}, subject_id = #{subjectId,jdbcType=INTEGER},
</if> </if>
<if test="industryId != null">
industry_id = #{industryId,jdbcType=INTEGER},
</if>
<if test="skillId != null">
skill_id = #{skillId,jdbcType=INTEGER},
</if>
<if test="score != null"> <if test="score != null">
score = #{score,jdbcType=INTEGER}, score = #{score,jdbcType=INTEGER},
</if> </if>
@ -206,27 +180,21 @@
<select id="page" resultMap="BaseResultMap" parameterType="com.mindskip.xzs.viewmodel.admin.question.QuestionPageRequestVM"> <select id="page" resultMap="BaseResultMap" parameterType="com.mindskip.xzs.viewmodel.admin.question.QuestionPageRequestVM">
SELECT SELECT
<include refid="Page_Column_List"/> <include refid="Base_Column_List"/>
FROM t_question AS q LEFT JOIN t_industry AS i ON q.industry_id = i.id LEFT JOIN t_skill AS s ON s.id = q.skill_id FROM t_question
<where> <where>
and q.deleted=0 and deleted=0
<if test="id != null "> <if test="id != null ">
and q.id= #{id} and id= #{id}
</if> </if>
<if test="level != null "> <if test="level != null ">
and q.grade_level= #{level} and grade_level= #{level}
</if> </if>
<if test="subjectId != null "> <if test="subjectId != null ">
and q.subject_id= #{subjectId} and subject_id= #{subjectId}
</if> </if>
<if test="questionType != null "> <if test="questionType != null ">
and q.question_type= #{questionType} and question_type= #{questionType}
</if>
<if test="industryId != null ">
and q.industry_id= #{industryId}
</if>
<if test="skillId != null ">
and q.skill_id= #{skillId}
</if> </if>
</where> </where>
</select> </select>

View File

@ -1,69 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mindskip.xzs.repository.SkillMapper">
<resultMap id="BaseResultMap" type="com.mindskip.xzs.domain.Skill">
<id column="id" jdbcType="INTEGER" property="id" />
<result column="name" jdbcType="VARCHAR" property="name" />
</resultMap>
<sql id="Base_Column_List">
id, `name`
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from t_skill
where id = #{id,jdbcType=INTEGER}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
delete from t_skill
where id = #{id,jdbcType=INTEGER}
</delete>
<insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.mindskip.xzs.domain.Skill" useGeneratedKeys="true">
insert into t_skill (`name`)
values (#{name,jdbcType=VARCHAR})
</insert>
<insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.mindskip.xzs.domain.Skill" useGeneratedKeys="true">
insert into t_skill
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="name != null">
`name`,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="name != null">
#{name,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.mindskip.xzs.domain.Skill">
update t_skill
<set>
<if test="name != null">
`name` = #{name,jdbcType=VARCHAR},
</if>
</set>
where id = #{id,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="com.mindskip.xzs.domain.Skill">
update t_skill
set `name` = #{name,jdbcType=VARCHAR}
where id = #{id,jdbcType=INTEGER}
</update>
<select id="page" resultMap="BaseResultMap" parameterType="com.mindskip.xzs.viewmodel.admin.skill.SkillEditRequestVM">
SELECT
<include refid="Base_Column_List"/>
FROM t_skill
<where>
<if test="id != null ">
and id= #{id}
</if>
</where>
</select>
<select id="allSkill" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from t_skill
</select>
</mapper>

View File

@ -1,4 +1,4 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate"><meta http-equiv="Pragma" content="no-cache"><meta http-equiv="Expires" content="0"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="favicon.ico"><title>TEKSystem管理系统</title><style>html { <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate"><meta http-equiv="Pragma" content="no-cache"><meta http-equiv="Expires" content="0"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="favicon.ico"><title>学之思管理系统</title><style>html {
height: 100%; height: 100%;
width: 100%; width: 100%;
} }
@ -13,4 +13,4 @@
hm.src = 'https://hm.baidu.com/hm.js?cd8218cd51f800ed2b73e5751cb3f4f9' hm.src = 'https://hm.baidu.com/hm.js?cd8218cd51f800ed2b73e5751cb3f4f9'
var s = document.getElementsByTagName('script')[0] var s = document.getElementsByTagName('script')[0]
s.parentNode.insertBefore(hm, s) s.parentNode.insertBefore(hm, s)
})()</script><link href="static/css/chunk-066bbd34.c306629d.css" rel="prefetch"><link href="static/css/chunk-111f3671.d650a2aa.css" rel="prefetch"><link href="static/css/chunk-157f9069.c306629d.css" rel="prefetch"><link href="static/css/chunk-1c4df292.50289542.css" rel="prefetch"><link href="static/css/chunk-2baa78ac.c306629d.css" rel="prefetch"><link href="static/css/chunk-360c43ba.c306629d.css" rel="prefetch"><link href="static/css/chunk-3e96bd8c.c306629d.css" rel="prefetch"><link href="static/css/chunk-4010637e.c306629d.css" rel="prefetch"><link href="static/css/chunk-42236473.c306629d.css" rel="prefetch"><link href="static/css/chunk-5bc3d75d.c306629d.css" rel="prefetch"><link href="static/css/chunk-6092f506.89936c18.css" rel="prefetch"><link href="static/css/chunk-873a42e2.1951fa25.css" rel="prefetch"><link href="static/css/chunk-a85d3c1e.c8588555.css" rel="prefetch"><link href="static/css/chunk-a9d03770.c306629d.css" rel="prefetch"><link href="static/css/chunk-bab2e2c4.c306629d.css" rel="prefetch"><link href="static/js/chunk-066bbd34.140534af.js" rel="prefetch"><link href="static/js/chunk-111f3671.2e5e24f5.js" rel="prefetch"><link href="static/js/chunk-157f9069.c7c81c3e.js" rel="prefetch"><link href="static/js/chunk-16f9edc1.378287d5.js" rel="prefetch"><link href="static/js/chunk-1c4df292.38da0410.js" rel="prefetch"><link href="static/js/chunk-2baa78ac.a199e373.js" rel="prefetch"><link href="static/js/chunk-2d0c138b.b700863a.js" rel="prefetch"><link href="static/js/chunk-2d221bd2.a1b5633d.js" rel="prefetch"><link href="static/js/chunk-2d2300ef.88e7351f.js" rel="prefetch"><link href="static/js/chunk-2d230fe7.042d38d1.js" rel="prefetch"><link href="static/js/chunk-360c43ba.17196737.js" rel="prefetch"><link href="static/js/chunk-3e96bd8c.93acee3f.js" rel="prefetch"><link href="static/js/chunk-4010637e.ada51c0e.js" rel="prefetch"><link href="static/js/chunk-42236473.f7640463.js" rel="prefetch"><link href="static/js/chunk-5bc3d75d.a7027944.js" rel="prefetch"><link href="static/js/chunk-5bc4738d.f9bf6802.js" rel="prefetch"><link href="static/js/chunk-6092f506.272010c0.js" rel="prefetch"><link href="static/js/chunk-75f11c77.575d12af.js" rel="prefetch"><link href="static/js/chunk-78234ca2.ec0d4de6.js" rel="prefetch"><link href="static/js/chunk-793f0082.ad135597.js" rel="prefetch"><link href="static/js/chunk-873a42e2.641597a8.js" rel="prefetch"><link href="static/js/chunk-a85d3c1e.c270d287.js" rel="prefetch"><link href="static/js/chunk-a9d03770.bd46b6bc.js" rel="prefetch"><link href="static/js/chunk-b1da6300.469ef5f8.js" rel="prefetch"><link href="static/js/chunk-bab2e2c4.546b2e9b.js" rel="prefetch"><link href="static/js/chunk-d0753fda.12ca9d22.js" rel="prefetch"><link href="static/css/chunk-vendors.ee57d822.css" rel="preload" as="style"><link href="static/css/index.b455b9ca.css" rel="preload" as="style"><link href="static/js/chunk-vendors.9dd0934b.js" rel="preload" as="script"><link href="static/js/index.d6d95467.js" rel="preload" as="script"><link href="static/css/chunk-vendors.ee57d822.css" rel="stylesheet"><link href="static/css/index.b455b9ca.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but vue-demo doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="static/js/chunk-vendors.9dd0934b.js"></script><script src="static/js/index.d6d95467.js"></script></body></html> })()</script><link href="static/css/chunk-0226adbc.0e1403ca.css" rel="prefetch"><link href="static/css/chunk-066bbd34.c306629d.css" rel="prefetch"><link href="static/css/chunk-111f3671.d650a2aa.css" rel="prefetch"><link href="static/css/chunk-157f9069.c306629d.css" rel="prefetch"><link href="static/css/chunk-2e16d177.89936c18.css" rel="prefetch"><link href="static/css/chunk-360c43ba.c306629d.css" rel="prefetch"><link href="static/css/chunk-42236473.c306629d.css" rel="prefetch"><link href="static/css/chunk-5bc3d75d.c306629d.css" rel="prefetch"><link href="static/css/chunk-65f8ca6f.c306629d.css" rel="prefetch"><link href="static/css/chunk-7c62808c.c306629d.css" rel="prefetch"><link href="static/css/chunk-873a42e2.1951fa25.css" rel="prefetch"><link href="static/css/chunk-a85d3c1e.c8588555.css" rel="prefetch"><link href="static/css/chunk-a9d03770.c306629d.css" rel="prefetch"><link href="static/css/chunk-bab2e2c4.c306629d.css" rel="prefetch"><link href="static/js/chunk-0226adbc.3bf936af.js" rel="prefetch"><link href="static/js/chunk-066bbd34.fe350225.js" rel="prefetch"><link href="static/js/chunk-111f3671.43084b31.js" rel="prefetch"><link href="static/js/chunk-157f9069.915b3f54.js" rel="prefetch"><link href="static/js/chunk-16f9edc1.16c0ff09.js" rel="prefetch"><link href="static/js/chunk-2d0c138b.7ca512a8.js" rel="prefetch"><link href="static/js/chunk-2d221bd2.0d60a519.js" rel="prefetch"><link href="static/js/chunk-2d2300ef.07397eb2.js" rel="prefetch"><link href="static/js/chunk-2d230fe7.042d38d1.js" rel="prefetch"><link href="static/js/chunk-2e16d177.b87f0553.js" rel="prefetch"><link href="static/js/chunk-360c43ba.57bc1551.js" rel="prefetch"><link href="static/js/chunk-42236473.e28ff618.js" rel="prefetch"><link href="static/js/chunk-5bc3d75d.76a57e6a.js" rel="prefetch"><link href="static/js/chunk-65f8ca6f.747bcb8d.js" rel="prefetch"><link href="static/js/chunk-733c35b2.96963128.js" rel="prefetch"><link href="static/js/chunk-75f11c77.3e0718d5.js" rel="prefetch"><link href="static/js/chunk-78234ca2.358d6493.js" rel="prefetch"><link href="static/js/chunk-793f0082.2a968cbd.js" rel="prefetch"><link href="static/js/chunk-7c62808c.12b4eee3.js" rel="prefetch"><link href="static/js/chunk-873a42e2.82b236f8.js" rel="prefetch"><link href="static/js/chunk-a85d3c1e.5d88e836.js" rel="prefetch"><link href="static/js/chunk-a9d03770.42a58c33.js" rel="prefetch"><link href="static/js/chunk-bab2e2c4.ba646524.js" rel="prefetch"><link href="static/js/chunk-d0753fda.1658ae86.js" rel="prefetch"><link href="static/css/chunk-vendors.ee57d822.css" rel="preload" as="style"><link href="static/css/index.30c57bc1.css" rel="preload" as="style"><link href="static/js/chunk-vendors.9dd0934b.js" rel="preload" as="script"><link href="static/js/index.a7c2b5f0.js" rel="preload" as="script"><link href="static/css/chunk-vendors.ee57d822.css" rel="stylesheet"><link href="static/css/index.30c57bc1.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but vue-demo doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="static/js/chunk-vendors.9dd0934b.js"></script><script src="static/js/index.a7c2b5f0.js"></script></body></html>

View File

@ -1 +1 @@
@supports (-webkit-mask:none) and (not (cater-color:#fff)){.login-container .el-input input{color:#fff}}.login-container .el-input{display:inline-block;height:47px;width:85%}.login-container .el-input input{background:transparent;border:0;-webkit-appearance:none;border-radius:0;padding:12px 5px 12px 15px;color:#fff;height:47px;caret-color:#fff}.login-container .el-input input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #283443 inset!important;box-shadow:inset 0 0 0 1000px #283443!important;-webkit-text-fill-color:#fff!important}.login-container .el-form-item{border:1px solid hsla(0,0%,100%,.1);background:rgba(0,0,0,.1);border-radius:5px;color:#454545}.login-container[data-v-da2e2d10]{min-height:100%;width:100%;background-color:#2d3a4b;overflow:hidden}.login-container .login-form[data-v-da2e2d10]{position:relative;width:520px;max-width:100%;padding:30px 50px 10px 50px;margin:120px auto auto auto;overflow:hidden;background:rgba(252,254,255,.11)}.login-container .tips[data-v-da2e2d10]{font-size:14px;color:#fff;margin-bottom:10px}.login-container .tips span[data-v-da2e2d10]:first-of-type{margin-right:16px}.login-container .svg-container[data-v-da2e2d10]{padding:6px 5px 6px 15px;color:#889aa4;vertical-align:middle;width:30px;display:inline-block}.login-container .title-container[data-v-da2e2d10]{position:relative}.login-container .title-container .title[data-v-da2e2d10]{font-size:26px;color:#eee;margin:0 auto 40px auto;text-align:center;font-weight:700}.login-container .show-pwd[data-v-da2e2d10]{position:absolute;right:10px;top:7px;font-size:16px;color:#889aa4;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.login-container .thirdparty-button[data-v-da2e2d10]{position:absolute;right:0;bottom:6px}@media only screen and (max-width:470px){.login-container .thirdparty-button[data-v-da2e2d10]{display:none}} @supports (-webkit-mask:none) and (not (cater-color:#fff)){.login-container .el-input input{color:#fff}}.login-container .el-input{display:inline-block;height:47px;width:85%}.login-container .el-input input{background:transparent;border:0;-webkit-appearance:none;border-radius:0;padding:12px 5px 12px 15px;color:#fff;height:47px;caret-color:#fff}.login-container .el-input input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #283443 inset!important;box-shadow:inset 0 0 0 1000px #283443!important;-webkit-text-fill-color:#fff!important}.login-container .el-form-item{border:1px solid hsla(0,0%,100%,.1);background:rgba(0,0,0,.1);border-radius:5px;color:#454545}.login-container[data-v-675a2798]{min-height:100%;width:100%;background-color:#2d3a4b;overflow:hidden}.login-container .login-form[data-v-675a2798]{position:relative;width:520px;max-width:100%;padding:30px 50px 10px 50px;margin:120px auto auto auto;overflow:hidden;background:rgba(252,254,255,.11)}.login-container .tips[data-v-675a2798]{font-size:14px;color:#fff;margin-bottom:10px}.login-container .tips span[data-v-675a2798]:first-of-type{margin-right:16px}.login-container .svg-container[data-v-675a2798]{padding:6px 5px 6px 15px;color:#889aa4;vertical-align:middle;width:30px;display:inline-block}.login-container .title-container[data-v-675a2798]{position:relative}.login-container .title-container .title[data-v-675a2798]{font-size:26px;color:#eee;margin:0 auto 40px auto;text-align:center;font-weight:700}.login-container .show-pwd[data-v-675a2798]{position:absolute;right:10px;top:7px;font-size:16px;color:#889aa4;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.login-container .thirdparty-button[data-v-675a2798]{position:absolute;right:0;bottom:6px}@media only screen and (max-width:470px){.login-container .thirdparty-button[data-v-675a2798]{display:none}}

View File

@ -1 +0,0 @@
.pagination-container[data-v-90fd946a]{background:#fff}.pagination-container.hidden[data-v-90fd946a]{display:none}

View File

@ -1 +0,0 @@
.pagination-container[data-v-90fd946a]{background:#fff}.pagination-container.hidden[data-v-90fd946a]{display:none}

View File

@ -1 +0,0 @@
@supports (-webkit-mask:none) and (not (cater-color:#fff)){.login-container .el-input input{color:#fff}}.login-container .el-input{display:inline-block;height:47px;width:85%}.login-container .el-input input{background:transparent;border:0;-webkit-appearance:none;border-radius:0;padding:12px 5px 12px 15px;color:#fff;height:47px;caret-color:#fff}.login-container .el-input input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #283443 inset!important;box-shadow:inset 0 0 0 1000px #283443!important;-webkit-text-fill-color:#fff!important}.login-container .el-form-item{border:1px solid hsla(0,0%,100%,.1);background:rgba(0,0,0,.1);border-radius:5px;color:#454545}.login-container[data-v-417fb36e]{min-height:100%;width:100%;background-color:#2d3a4b;overflow:hidden}.login-container .login-form[data-v-417fb36e]{position:relative;width:520px;max-width:100%;padding:30px 50px 10px 50px;margin:120px auto auto auto;overflow:hidden;background:rgba(252,254,255,.11)}.login-container .tips[data-v-417fb36e]{font-size:14px;color:#fff;margin-bottom:10px}.login-container .tips span[data-v-417fb36e]:first-of-type{margin-right:16px}.login-container .svg-container[data-v-417fb36e]{padding:6px 5px 6px 15px;color:#889aa4;vertical-align:middle;width:30px;display:inline-block}.login-container .title-container[data-v-417fb36e]{position:relative}.login-container .title-container .title[data-v-417fb36e]{font-size:26px;color:#eee;margin:0 auto 40px auto;text-align:center;font-weight:700}.login-container .show-pwd[data-v-417fb36e]{position:absolute;right:10px;top:7px;font-size:16px;color:#889aa4;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.login-container .thirdparty-button[data-v-417fb36e]{position:absolute;right:0;bottom:6px}@media only screen and (max-width:470px){.login-container .thirdparty-button[data-v-417fb36e]{display:none}}

View File

@ -1 +0,0 @@
.pagination-container[data-v-90fd946a]{background:#fff}.pagination-container.hidden[data-v-90fd946a]{display:none}

View File

@ -1 +0,0 @@
.pagination-container[data-v-90fd946a]{background:#fff}.pagination-container.hidden[data-v-90fd946a]{display:none}

View File

@ -1 +0,0 @@
.pagination-container[data-v-90fd946a]{background:#fff}.pagination-container.hidden[data-v-90fd946a]{display:none}

View File

@ -1 +0,0 @@
.pagination-container[data-v-90fd946a]{background:#fff}.pagination-container.hidden[data-v-90fd946a]{display:none}

View File

@ -1 +0,0 @@
.box-center[data-v-bd51907a]{margin:0 auto;display:table}.text-muted[data-v-bd51907a]{color:#777}.user-profile .user-name[data-v-bd51907a]{font-weight:700}.user-profile .box-center[data-v-bd51907a]{padding-top:10px}.user-profile .user-role[data-v-bd51907a]{padding-top:10px;font-weight:400;font-size:14px}.user-profile .box-social[data-v-bd51907a]{padding-top:30px}.user-profile .box-social .el-table[data-v-bd51907a]{border-top:1px solid #dfe6ec}.user-profile .user-follow[data-v-bd51907a]{padding-top:20px}.user-bio[data-v-bd51907a]{margin-top:20px;color:#606266}.user-bio span[data-v-bd51907a]{padding-left:4px}.user-bio .user-bio-section[data-v-bd51907a]{font-size:14px;padding:15px 0}.user-bio .user-bio-section .user-bio-section-header[data-v-bd51907a]{border-bottom:1px solid #dfe6ec;padding-bottom:10px;margin-bottom:10px;font-weight:700}

View File

@ -1 +0,0 @@
.pagination-container[data-v-90fd946a]{background:#fff}.pagination-container.hidden[data-v-90fd946a]{display:none}

View File

@ -1 +0,0 @@
.pagination-container[data-v-90fd946a]{background:#fff}.pagination-container.hidden[data-v-90fd946a]{display:none}

View File

@ -1 +0,0 @@
.pagination-container[data-v-90fd946a]{background:#fff}.pagination-container.hidden[data-v-90fd946a]{display:none}.exampaper-item-box .q-title{margin:0 5px 0 5px}

View File

@ -1 +0,0 @@
.pagination-container[data-v-90fd946a]{background:#fff}.pagination-container.hidden[data-v-90fd946a]{display:none}

View File

@ -1 +0,0 @@
.pagination-container[data-v-90fd946a]{background:#fff}.pagination-container.hidden[data-v-90fd946a]{display:none}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-0226adbc"],{2017:function(e,o,t){"use strict";t("cafe")},"3c9b":function(e,o,t){"use strict";t("e852")},"9ed6":function(e,o,t){"use strict";t.r(o);var s=function(){var e=this,o=e.$createElement,t=e._self._c||o;return t("div",{staticClass:"login-container"},[t("el-form",{ref:"loginForm",staticClass:"login-form",attrs:{model:e.loginForm,rules:e.loginRules,"auto-complete":"on","label-position":"left"}},[t("div",{staticClass:"title-container"},[t("h3",{staticClass:"title"},[e._v("学之思管理系统")])]),t("el-form-item",{attrs:{prop:"userName"}},[t("span",{staticClass:"svg-container"},[t("svg-icon",{attrs:{"icon-class":"user"}})],1),t("el-input",{ref:"userName",attrs:{placeholder:"用户名",name:"userName",type:"text",tabindex:"1","auto-complete":"on"},model:{value:e.loginForm.userName,callback:function(o){e.$set(e.loginForm,"userName",o)},expression:"loginForm.userName"}})],1),t("el-tooltip",{attrs:{content:"Caps lock is On",placement:"right",manual:""},model:{value:e.capsTooltip,callback:function(o){e.capsTooltip=o},expression:"capsTooltip"}},[t("el-form-item",{attrs:{prop:"password"}},[t("span",{staticClass:"svg-container"},[t("svg-icon",{attrs:{"icon-class":"password"}})],1),t("el-input",{key:e.passwordType,ref:"password",attrs:{type:e.passwordType,placeholder:"密码",name:"password",tabindex:"2","auto-complete":"on"},on:{blur:function(o){e.capsTooltip=!1}},nativeOn:{keyup:[function(o){return e.checkCapslock(o)},function(o){return!o.type.indexOf("key")&&e._k(o.keyCode,"enter",13,o.key,"Enter")?null:e.handleLogin(o)}]},model:{value:e.loginForm.password,callback:function(o){e.$set(e.loginForm,"password",o)},expression:"loginForm.password"}}),t("span",{staticClass:"show-pwd",on:{click:e.showPwd}},[t("svg-icon",{attrs:{"icon-class":"password"===e.passwordType?"eye":"eye-open"}})],1)],1)],1),t("el-checkbox",{staticStyle:{"margin-bottom":"20px","margin-left":"5px"},model:{value:e.loginForm.remember,callback:function(o){e.$set(e.loginForm,"remember",o)},expression:"loginForm.remember"}},[e._v("记住密码")]),t("el-button",{staticStyle:{width:"100%","margin-bottom":"30px"},attrs:{loading:e.loading,type:"primary"},nativeOn:{click:function(o){return o.preventDefault(),e.handleLogin(o)}}},[e._v("登录")])],1),e._m(0)],1)},n=[function(){var e=this,o=e.$createElement,t=e._self._c||o;return t("div",{staticClass:"account-foot-copyright"},[t("span",[e._v("Copyright © 2020 武汉思维跳跃科技有限公司 版权所有")])])}],a=t("5530"),r=t("2f62"),i=t("7ded"),l={name:"Login",data:function(){var e=function(e,o,t){o.length<5?t(new Error("用户名不能少于5个字符")):t()},o=function(e,o,t){o.length<5?t(new Error("密码不能少于5个字符")):t()};return{loginForm:{userName:"",password:"",remember:!1},loginRules:{userName:[{required:!0,trigger:"blur",validator:e}],password:[{required:!0,trigger:"blur",validator:o}]},passwordType:"password",capsTooltip:!1,loading:!1,showDialog:!1}},created:function(){},mounted:function(){""===this.loginForm.userName?this.$refs.userName.focus():""===this.loginForm.password&&this.$refs.password.focus()},destroyed:function(){},methods:Object(a["a"])({checkCapslock:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=e.shiftKey,t=e.key;t&&1===t.length&&(this.capsTooltip=!!(o&&t>="a"&&t<="z"||!o&&t>="A"&&t<="Z")),"CapsLock"===t&&!0===this.capsTooltip&&(this.capsTooltip=!1)},showPwd:function(){var e=this;"password"===this.passwordType?this.passwordType="":this.passwordType="password",this.$nextTick((function(){e.$refs.password.focus()}))},handleLogin:function(){var e=this,o=this;this.$refs.loginForm.validate((function(t){if(!t)return!1;e.loading=!0,i["a"].login(e.loginForm).then((function(e){e&&1===e.code?(o.setUserName(o.loginForm.userName),o.$router.push({path:"/"})):(o.loading=!1,o.$message({message:e.message,type:"error"}))})).catch((function(e){o.loading=!1}))}))}},Object(r["d"])("user",["setUserName"]))},c=l,p=(t("2017"),t("3c9b"),t("2877")),u=Object(p["a"])(c,s,n,!1,null,"675a2798",null);o["default"]=u.exports},cafe:function(e,o,t){},e852:function(e,o,t){}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-16f9edc1"],{"93fd":function(e,t,r){"use strict";r.r(t);var o=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"app-container"},[r("el-form",{directives:[{name:"loading",rawName:"v-loading",value:e.formLoading,expression:"formLoading"}],ref:"form",attrs:{model:e.form,"label-width":"100px",rules:e.rules}},[r("el-form-item",{attrs:{label:"标题:",prop:"title",required:""}},[r("el-input",{model:{value:e.form.title,callback:function(t){e.$set(e.form,"title",t)},expression:"form.title"}})],1),r("el-form-item",{attrs:{label:"内容:",prop:"content",required:""}},[r("el-input",{attrs:{type:"textarea",rows:"13"},model:{value:e.form.content,callback:function(t){e.$set(e.form,"content",t)},expression:"form.content"}})],1),r("el-form-item",{attrs:{label:"接收人:",required:""}},[r("el-select",{attrs:{multiple:"",filterable:"",remote:"","reserve-keyword":"",placeholder:"请输入用户名","remote-method":e.getUserByUserName,loading:e.selectLoading},model:{value:e.form.receiveUserIds,callback:function(t){e.$set(e.form,"receiveUserIds",t)},expression:"form.receiveUserIds"}},e._l(e.options,(function(e){return r("el-option",{key:e.value,attrs:{label:e.name,value:e.value}})})),1)],1),r("el-form-item",[r("el-button",{attrs:{type:"primary"},on:{click:e.submitForm}},[e._v("发送")]),r("el-button",{on:{click:e.resetForm}},[e._v("重置")])],1)],1)],1)},n=[],s=r("5530"),i=r("2f62"),a=r("c24f"),l=r("c443"),c={data:function(){return{form:{title:"",content:"",receiveUserIds:[]},formLoading:!1,selectLoading:!1,options:[],rules:{title:[{required:!0,message:"请输入消息标题",trigger:"blur"}],realName:[{required:!0,message:"请输入消息内容",trigger:"blur"}]}}},created:function(){},methods:Object(s["a"])({getUserByUserName:function(e){var t=this;""!==e?(t.selectLoading=!0,a["a"].selectByUserName(e).then((function(e){t.selectLoading=!1,t.options=e.response}))):t.options=[]},submitForm:function(){var e=this,t=this;this.$refs.form.validate((function(r){if(!r)return!1;e.formLoading=!0,l["a"].send(e.form).then((function(e){1===e.code?(t.$message.success(e.message),t.delCurrentView(t).then((function(){t.$router.push("/message/list")}))):(t.$message.error(e.message),t.formLoading=!1)})).catch((function(e){t.formLoading=!1}))}))},resetForm:function(){this.$refs["form"].resetFields(),this.form={title:"",content:"",receiveUserIds:[]}}},Object(i["b"])("tagsView",{delCurrentView:"delCurrentView"}))},m=c,u=r("2877"),f=Object(u["a"])(m,o,n,!1,null,null,null);t["default"]=f.exports},c443:function(e,t,r){"use strict";var o=r("b775");t["a"]={pageList:function(e){return Object(o["a"])("/api/admin/message/page",e)},send:function(e){return Object(o["a"])("/api/admin/message/send",e)}}}}]);

View File

@ -1 +0,0 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-1c4df292"],{"0e94":function(e,o,t){"use strict";t("686c")},2017:function(e,o,t){"use strict";t("cafe")},"686c":function(e,o,t){},"9ed6":function(e,o,t){"use strict";t.r(o);var s=function(){var e=this,o=e.$createElement,t=e._self._c||o;return t("div",{staticClass:"login-container"},[t("el-form",{ref:"loginForm",staticClass:"login-form",attrs:{model:e.loginForm,rules:e.loginRules,"auto-complete":"on","label-position":"left"}},[t("div",{staticClass:"title-container"},[t("h3",{staticClass:"title"},[e._v("TekSystem管理系统")])]),t("el-form-item",{attrs:{prop:"userName"}},[t("span",{staticClass:"svg-container"},[t("svg-icon",{attrs:{"icon-class":"user"}})],1),t("el-input",{ref:"userName",attrs:{placeholder:"用户名",name:"userName",type:"text",tabindex:"1","auto-complete":"on"},model:{value:e.loginForm.userName,callback:function(o){e.$set(e.loginForm,"userName",o)},expression:"loginForm.userName"}})],1),t("el-tooltip",{attrs:{content:"Caps lock is On",placement:"right",manual:""},model:{value:e.capsTooltip,callback:function(o){e.capsTooltip=o},expression:"capsTooltip"}},[t("el-form-item",{attrs:{prop:"password"}},[t("span",{staticClass:"svg-container"},[t("svg-icon",{attrs:{"icon-class":"password"}})],1),t("el-input",{key:e.passwordType,ref:"password",attrs:{type:e.passwordType,placeholder:"密码",name:"password",tabindex:"2","auto-complete":"on"},on:{blur:function(o){e.capsTooltip=!1}},nativeOn:{keyup:[function(o){return e.checkCapslock(o)},function(o){return!o.type.indexOf("key")&&e._k(o.keyCode,"enter",13,o.key,"Enter")?null:e.handleLogin(o)}]},model:{value:e.loginForm.password,callback:function(o){e.$set(e.loginForm,"password",o)},expression:"loginForm.password"}}),t("span",{staticClass:"show-pwd",on:{click:e.showPwd}},[t("svg-icon",{attrs:{"icon-class":"password"===e.passwordType?"eye":"eye-open"}})],1)],1)],1),t("el-checkbox",{staticStyle:{"margin-bottom":"20px","margin-left":"5px"},model:{value:e.loginForm.remember,callback:function(o){e.$set(e.loginForm,"remember",o)},expression:"loginForm.remember"}},[e._v("记住密码")]),t("el-button",{staticStyle:{width:"100%","margin-bottom":"30px"},attrs:{loading:e.loading,type:"primary"},nativeOn:{click:function(o){return o.preventDefault(),e.handleLogin(o)}}},[e._v("登录")])],1),e._m(0)],1)},n=[function(){var e=this,o=e.$createElement,t=e._self._c||o;return t("div",{staticClass:"account-foot-copyright"},[t("span",[e._v("Copyright © 2020 TekSystem 版权所有")])])}],a=t("5530"),r=t("2f62"),i=t("7ded"),l={name:"Login",data:function(){var e=function(e,o,t){o.length<5?t(new Error("用户名不能少于5个字符")):t()},o=function(e,o,t){o.length<5?t(new Error("密码不能少于5个字符")):t()};return{loginForm:{userName:"",password:"",remember:!1},loginRules:{userName:[{required:!0,trigger:"blur",validator:e}],password:[{required:!0,trigger:"blur",validator:o}]},passwordType:"password",capsTooltip:!1,loading:!1,showDialog:!1}},created:function(){},mounted:function(){""===this.loginForm.userName?this.$refs.userName.focus():""===this.loginForm.password&&this.$refs.password.focus()},destroyed:function(){},methods:Object(a["a"])({checkCapslock:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=e.shiftKey,t=e.key;t&&1===t.length&&(this.capsTooltip=!!(o&&t>="a"&&t<="z"||!o&&t>="A"&&t<="Z")),"CapsLock"===t&&!0===this.capsTooltip&&(this.capsTooltip=!1)},showPwd:function(){var e=this;"password"===this.passwordType?this.passwordType="":this.passwordType="password",this.$nextTick((function(){e.$refs.password.focus()}))},handleLogin:function(){var e=this,o=this;this.$refs.loginForm.validate((function(t){if(!t)return!1;e.loading=!0,i["a"].login(e.loginForm).then((function(e){e&&1===e.code?(o.setUserName(o.loginForm.userName),o.$router.push({path:"/"})):(o.loading=!1,o.$message({message:e.message,type:"error"}))})).catch((function(e){o.loading=!1}))}))}},Object(r["d"])("user",["setUserName"]))},c=l,p=(t("2017"),t("0e94"),t("2877")),u=Object(p["a"])(c,s,n,!1,null,"da2e2d10",null);o["default"]=u.exports},cafe:function(e,o,t){}}]);

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0c138b"],{"44b7":function(e,t,r){"use strict";r.r(t);var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"app-container"},[r("el-form",{directives:[{name:"loading",rawName:"v-loading",value:e.formLoading,expression:"formLoading"}],ref:"form",attrs:{model:e.form,"label-width":"100px"}},[r("el-form-item",{attrs:{label:"skill",required:""}},[r("el-input",{model:{value:e.form.name,callback:function(t){e.$set(e.form,"name",t)},expression:"form.name"}})],1),r("el-form-item",{attrs:{label:"年级:",required:""}},[r("el-select",{attrs:{placeholder:"年级"},model:{value:e.form.level,callback:function(t){e.$set(e.form,"level",t)},expression:"form.level"}},e._l(e.levelEnum,(function(e){return r("el-option",{key:e.key,attrs:{value:e.key,label:e.value}})})),1)],1),r("el-form-item",[r("el-button",{attrs:{type:"primary"},on:{click:e.submitForm}},[e._v("提交")]),r("el-button",{on:{click:e.resetForm}},[e._v("重置")])],1)],1)],1)},l=[],o=r("5530"),a=r("2f62"),i=r("c418"),m={data:function(){return{form:{id:null,name:"",level:1,levelName:""},formLoading:!1}},created:function(){var e=this.$route.query.id,t=this;e&&0!==parseInt(e)&&(t.formLoading=!0,i["a"].select(e).then((function(e){t.form=e.response,t.formLoading=!1})))},methods:Object(o["a"])({submitForm:function(){var e=this;this.formLoading=!0,this.form.levelName=this.enumFormat(this.levelEnum,this.form.level),i["a"].edit(this.form).then((function(t){1===t.code?(e.$message.success(t.message),e.delCurrentView(e).then((function(){e.$router.push("/education/subject/list")}))):(e.$message.error(t.message),e.formLoading=!1)})).catch((function(t){e.formLoading=!1}))},resetForm:function(){this.$refs["form"].resetFields(),this.form={id:null,name:"",level:1,levelName:""}}},Object(a["b"])("tagsView",{delCurrentView:"delCurrentView"})),computed:Object(o["a"])(Object(o["a"])({},Object(a["c"])("enumItem",["enumFormat"])),Object(a["e"])("enumItem",{levelEnum:function(e){return e.user.levelEnum}}))},s=m,u=r("2877"),c=Object(u["a"])(s,n,l,!1,null,null,null);t["default"]=c.exports}}]);

View File

@ -0,0 +1 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0c138b"],{"44b7":function(e,t,r){"use strict";r.r(t);var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"app-container"},[r("el-form",{directives:[{name:"loading",rawName:"v-loading",value:e.formLoading,expression:"formLoading"}],ref:"form",attrs:{model:e.form,"label-width":"100px"}},[r("el-form-item",{attrs:{label:"学科:",required:""}},[r("el-input",{model:{value:e.form.name,callback:function(t){e.$set(e.form,"name",t)},expression:"form.name"}})],1),r("el-form-item",{attrs:{label:"年级:",required:""}},[r("el-select",{attrs:{placeholder:"年级"},model:{value:e.form.level,callback:function(t){e.$set(e.form,"level",t)},expression:"form.level"}},e._l(e.levelEnum,(function(e){return r("el-option",{key:e.key,attrs:{value:e.key,label:e.value}})})),1)],1),r("el-form-item",[r("el-button",{attrs:{type:"primary"},on:{click:e.submitForm}},[e._v("提交")]),r("el-button",{on:{click:e.resetForm}},[e._v("重置")])],1)],1)],1)},o=[],l=r("5530"),a=r("2f62"),i=r("c418"),m={data:function(){return{form:{id:null,name:"",level:1,levelName:""},formLoading:!1}},created:function(){var e=this.$route.query.id,t=this;e&&0!==parseInt(e)&&(t.formLoading=!0,i["a"].select(e).then((function(e){t.form=e.response,t.formLoading=!1})))},methods:Object(l["a"])({submitForm:function(){var e=this;this.formLoading=!0,this.form.levelName=this.enumFormat(this.levelEnum,this.form.level),i["a"].edit(this.form).then((function(t){1===t.code?(e.$message.success(t.message),e.delCurrentView(e).then((function(){e.$router.push("/education/subject/list")}))):(e.$message.error(t.message),e.formLoading=!1)})).catch((function(t){e.formLoading=!1}))},resetForm:function(){this.$refs["form"].resetFields(),this.form={id:null,name:"",level:1,levelName:""}}},Object(a["b"])("tagsView",{delCurrentView:"delCurrentView"})),computed:Object(l["a"])(Object(l["a"])({},Object(a["c"])("enumItem",["enumFormat"])),Object(a["e"])("enumItem",{levelEnum:function(e){return e.user.levelEnum}}))},s=m,u=r("2877"),c=Object(u["a"])(s,n,o,!1,null,null,null);t["default"]=c.exports}}]);

View File

@ -1 +0,0 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0c138b"],{"44b7":function(e,t,n){"use strict";n.r(t);var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"app-container"},[n("el-form",{directives:[{name:"loading",rawName:"v-loading",value:e.formLoading,expression:"formLoading"}],ref:"form",attrs:{model:e.form,"label-width":"100px"}},[n("el-form-item",{attrs:{label:"skill",required:""}},[n("el-input",{model:{value:e.form.name,callback:function(t){e.$set(e.form,"name",t)},expression:"form.name"}})],1),n("el-form-item",[n("el-button",{attrs:{type:"primary"},on:{click:e.submitForm}},[e._v("提交")]),n("el-button",{on:{click:e.resetForm}},[e._v("重置")])],1)],1)],1)},o=[],i=n("5530"),a=n("2f62"),m=n("c418"),l={data:function(){return{form:{id:null,name:"",level:1,levelName:""},formLoading:!1}},created:function(){var e=this.$route.query.id,t=this;e&&0!==parseInt(e)&&(t.formLoading=!0,m["a"].select(e).then((function(e){t.form=e.response,t.formLoading=!1})))},methods:Object(i["a"])({submitForm:function(){var e=this;this.formLoading=!0,this.form.levelName=this.enumFormat(this.levelEnum,this.form.level),m["a"].edit(this.form).then((function(t){1===t.code?(e.$message.success(t.message),e.delCurrentView(e).then((function(){e.$router.push("/education/subject/list")}))):(e.$message.error(t.message),e.formLoading=!1)})).catch((function(t){e.formLoading=!1}))},resetForm:function(){this.$refs["form"].resetFields(),this.form={id:null,name:"",level:1,levelName:""}}},Object(a["b"])("tagsView",{delCurrentView:"delCurrentView"})),computed:Object(i["a"])(Object(i["a"])({},Object(a["c"])("enumItem",["enumFormat"])),Object(a["e"])("enumItem",{levelEnum:function(e){return e.user.levelEnum}}))},s=l,u=n("2877"),c=Object(u["a"])(s,r,o,!1,null,null,null);t["default"]=c.exports}}]);

View File

@ -0,0 +1 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d221bd2"],{cc40:function(e,r,t){"use strict";t.r(r);var l=function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("div",{staticClass:"app-container"},[t("el-form",{directives:[{name:"loading",rawName:"v-loading",value:e.formLoading,expression:"formLoading"}],ref:"form",attrs:{model:e.form,"label-width":"100px",rules:e.rules}},[t("el-form-item",{attrs:{label:"用户名:",prop:"userName",required:""}},[t("el-input",{model:{value:e.form.userName,callback:function(r){e.$set(e.form,"userName",r)},expression:"form.userName"}})],1),t("el-form-item",{attrs:{label:"密码:",required:""}},[t("el-input",{model:{value:e.form.password,callback:function(r){e.$set(e.form,"password",r)},expression:"form.password"}})],1),t("el-form-item",{attrs:{label:"真实姓名:",prop:"realName",required:""}},[t("el-input",{model:{value:e.form.realName,callback:function(r){e.$set(e.form,"realName",r)},expression:"form.realName"}})],1),t("el-form-item",{attrs:{label:"年龄:"}},[t("el-input",{model:{value:e.form.age,callback:function(r){e.$set(e.form,"age",r)},expression:"form.age"}})],1),t("el-form-item",{attrs:{label:"性别:"}},[t("el-select",{attrs:{placeholder:"性别",clearable:""},model:{value:e.form.sex,callback:function(r){e.$set(e.form,"sex",r)},expression:"form.sex"}},e._l(e.sexEnum,(function(e){return t("el-option",{key:e.key,attrs:{value:e.key,label:e.value}})})),1)],1),t("el-form-item",{attrs:{label:"出生日期:"}},[t("el-date-picker",{attrs:{type:"date",placeholder:"选择日期"},model:{value:e.form.birthDay,callback:function(r){e.$set(e.form,"birthDay",r)},expression:"form.birthDay"}})],1),t("el-form-item",{attrs:{label:"手机:"}},[t("el-input",{model:{value:e.form.phone,callback:function(r){e.$set(e.form,"phone",r)},expression:"form.phone"}})],1),t("el-form-item",{attrs:{label:"年级:",prop:"userLevel",required:""}},[t("el-select",{attrs:{placeholder:"年级"},model:{value:e.form.userLevel,callback:function(r){e.$set(e.form,"userLevel",r)},expression:"form.userLevel"}},e._l(e.levelEnum,(function(e){return t("el-option",{key:e.key,attrs:{value:e.key,label:e.value}})})),1)],1),t("el-form-item",{attrs:{label:"状态:",required:""}},[t("el-select",{attrs:{placeholder:"状态"},model:{value:e.form.status,callback:function(r){e.$set(e.form,"status",r)},expression:"form.status"}},e._l(e.statusEnum,(function(e){return t("el-option",{key:e.key,attrs:{value:e.key,label:e.value}})})),1)],1),t("el-form-item",[t("el-button",{attrs:{type:"primary"},on:{click:e.submitForm}},[e._v("提交")]),t("el-button",{on:{click:e.resetForm}},[e._v("重置")])],1)],1)],1)},a=[],s=t("5530"),o=t("2f62"),n=t("c24f"),u={data:function(){return{form:{id:null,userName:"",password:"",realName:"",role:1,status:1,age:"",sex:"",birthDay:null,phone:null,userLevel:null},formLoading:!1,rules:{userName:[{required:!0,message:"请输入用户名",trigger:"blur"}],realName:[{required:!0,message:"请输入真实姓名",trigger:"blur"}],userLevel:[{required:!0,message:"请选择年级",trigger:"change"}]}}},created:function(){var e=this.$route.query.id,r=this;e&&0!==parseInt(e)&&(r.formLoading=!0,n["a"].selectUser(e).then((function(e){r.form=e.response,r.formLoading=!1})))},methods:Object(s["a"])({submitForm:function(){var e=this,r=this;this.$refs.form.validate((function(t){if(!t)return!1;e.formLoading=!0,n["a"].createUser(e.form).then((function(e){1===e.code?(r.$message.success(e.message),r.delCurrentView(r).then((function(){r.$router.push("/user/student/list")}))):(r.$message.error(e.message),r.formLoading=!1)})).catch((function(e){r.formLoading=!1}))}))},resetForm:function(){this.$refs["form"].resetFields(),this.form={id:null,userName:"",password:"",realName:"",role:1,status:1,age:"",sex:"",birthDay:null,phone:null,userLevel:null}}},Object(o["b"])("tagsView",{delCurrentView:"delCurrentView"})),computed:Object(s["a"])(Object(s["a"])({},Object(o["c"])("enumItem",["enumFormat"])),Object(o["e"])("enumItem",{sexEnum:function(e){return e.user.sexEnum},roleEnum:function(e){return e.user.roleEnum},statusEnum:function(e){return e.user.statusEnum},levelEnum:function(e){return e.user.levelEnum}}))},m=u,i=t("2877"),f=Object(i["a"])(m,l,a,!1,null,null,null);r["default"]=f.exports}}]);

View File

@ -1 +0,0 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d221bd2"],{cc40:function(e,r,t){"use strict";t.r(r);var l=function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("div",{staticClass:"app-container"},[t("el-form",{directives:[{name:"loading",rawName:"v-loading",value:e.formLoading,expression:"formLoading"}],ref:"form",attrs:{model:e.form,"label-width":"100px",rules:e.rules}},[t("el-form-item",{attrs:{label:"用户名:",prop:"userName",required:""}},[t("el-input",{model:{value:e.form.userName,callback:function(r){e.$set(e.form,"userName",r)},expression:"form.userName"}})],1),t("el-form-item",{attrs:{label:"密码:",required:""}},[t("el-input",{model:{value:e.form.password,callback:function(r){e.$set(e.form,"password",r)},expression:"form.password"}})],1),t("el-form-item",{attrs:{label:"真实姓名:",prop:"realName",required:""}},[t("el-input",{model:{value:e.form.realName,callback:function(r){e.$set(e.form,"realName",r)},expression:"form.realName"}})],1),t("el-form-item",{attrs:{label:"年龄:"}},[t("el-input",{model:{value:e.form.age,callback:function(r){e.$set(e.form,"age",r)},expression:"form.age"}})],1),t("el-form-item",{attrs:{label:"性别:"}},[t("el-select",{attrs:{placeholder:"性别",clearable:""},model:{value:e.form.sex,callback:function(r){e.$set(e.form,"sex",r)},expression:"form.sex"}},e._l(e.sexEnum,(function(e){return t("el-option",{key:e.key,attrs:{value:e.key,label:e.value}})})),1)],1),t("el-form-item",{attrs:{label:"出生日期:"}},[t("el-date-picker",{attrs:{type:"date","value-format":"yyyy-MM-dd",placeholder:"选择日期"},model:{value:e.form.birthDay,callback:function(r){e.$set(e.form,"birthDay",r)},expression:"form.birthDay"}})],1),t("el-form-item",{attrs:{label:"手机:"}},[t("el-input",{model:{value:e.form.phone,callback:function(r){e.$set(e.form,"phone",r)},expression:"form.phone"}})],1),t("el-form-item",{attrs:{label:"年级:",prop:"userLevel",required:""}},[t("el-select",{attrs:{placeholder:"年级"},model:{value:e.form.userLevel,callback:function(r){e.$set(e.form,"userLevel",r)},expression:"form.userLevel"}},e._l(e.levelEnum,(function(e){return t("el-option",{key:e.key,attrs:{value:e.key,label:e.value}})})),1)],1),t("el-form-item",{attrs:{label:"状态:",required:""}},[t("el-select",{attrs:{placeholder:"状态"},model:{value:e.form.status,callback:function(r){e.$set(e.form,"status",r)},expression:"form.status"}},e._l(e.statusEnum,(function(e){return t("el-option",{key:e.key,attrs:{value:e.key,label:e.value}})})),1)],1),t("el-form-item",[t("el-button",{attrs:{type:"primary"},on:{click:e.submitForm}},[e._v("提交")]),t("el-button",{on:{click:e.resetForm}},[e._v("重置")])],1)],1)],1)},a=[],o=t("5530"),s=t("2f62"),n=t("c24f"),u={data:function(){return{form:{id:null,userName:"",password:"",realName:"",role:1,status:1,age:"",sex:"",birthDay:null,phone:null,userLevel:null},formLoading:!1,rules:{userName:[{required:!0,message:"请输入用户名",trigger:"blur"}],realName:[{required:!0,message:"请输入真实姓名",trigger:"blur"}],userLevel:[{required:!0,message:"请选择年级",trigger:"change"}]}}},created:function(){var e=this.$route.query.id,r=this;e&&0!==parseInt(e)&&(r.formLoading=!0,n["a"].selectUser(e).then((function(e){r.form=e.response,r.formLoading=!1})))},methods:Object(o["a"])({submitForm:function(){var e=this,r=this;this.$refs.form.validate((function(t){if(!t)return!1;e.formLoading=!0,n["a"].createUser(e.form).then((function(e){1===e.code?(r.$message.success(e.message),r.delCurrentView(r).then((function(){r.$router.push("/user/student/list")}))):(r.$message.error(e.message),r.formLoading=!1)})).catch((function(e){r.formLoading=!1}))}))},resetForm:function(){this.$refs["form"].resetFields(),this.form={id:null,userName:"",password:"",realName:"",role:1,status:1,age:"",sex:"",birthDay:null,phone:null,userLevel:null}}},Object(s["b"])("tagsView",{delCurrentView:"delCurrentView"})),computed:Object(o["a"])(Object(o["a"])({},Object(s["c"])("enumItem",["enumFormat"])),Object(s["e"])("enumItem",{sexEnum:function(e){return e.user.sexEnum},roleEnum:function(e){return e.user.roleEnum},statusEnum:function(e){return e.user.statusEnum},levelEnum:function(e){return e.user.levelEnum}}))},m=u,i=t("2877"),f=Object(i["a"])(m,l,a,!1,null,null,null);r["default"]=f.exports}}]);

View File

@ -1 +0,0 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d221bd2"],{cc40:function(e,r,t){"use strict";t.r(r);var l=function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("div",{staticClass:"app-container"},[t("el-form",{directives:[{name:"loading",rawName:"v-loading",value:e.formLoading,expression:"formLoading"}],ref:"form",attrs:{model:e.form,"label-width":"100px",rules:e.rules}},[t("el-form-item",{attrs:{label:"用户名:",prop:"userName",required:""}},[t("el-input",{model:{value:e.form.userName,callback:function(r){e.$set(e.form,"userName",r)},expression:"form.userName"}})],1),t("el-form-item",{attrs:{label:"密码:",required:""}},[t("el-input",{model:{value:e.form.password,callback:function(r){e.$set(e.form,"password",r)},expression:"form.password"}})],1),t("el-form-item",{attrs:{label:"真实姓名:",prop:"realName",required:""}},[t("el-input",{model:{value:e.form.realName,callback:function(r){e.$set(e.form,"realName",r)},expression:"form.realName"}})],1),t("el-form-item",{attrs:{label:"年龄:"}},[t("el-input",{model:{value:e.form.age,callback:function(r){e.$set(e.form,"age",r)},expression:"form.age"}})],1),t("el-form-item",{attrs:{label:"性别:"}},[t("el-select",{attrs:{placeholder:"性别",clearable:""},model:{value:e.form.sex,callback:function(r){e.$set(e.form,"sex",r)},expression:"form.sex"}},e._l(e.sexEnum,(function(e){return t("el-option",{key:e.key,attrs:{value:e.key,label:e.value}})})),1)],1),t("el-form-item",{attrs:{label:"出生日期:"}},[t("el-date-picker",{attrs:{type:"date","value-format":"yyyy-MM-dd",placeholder:"选择日期"},model:{value:e.form.birthDay,callback:function(r){e.$set(e.form,"birthDay",r)},expression:"form.birthDay"}})],1),t("el-form-item",{attrs:{label:"手机:"}},[t("el-input",{model:{value:e.form.phone,callback:function(r){e.$set(e.form,"phone",r)},expression:"form.phone"}})],1),t("el-form-item",{attrs:{label:"年级:",prop:"userLevel",required:""}},[t("el-select",{attrs:{placeholder:"年级"},model:{value:e.form.userLevel,callback:function(r){e.$set(e.form,"userLevel",r)},expression:"form.userLevel"}},e._l(e.levelEnum,(function(e){return t("el-option",{key:e.key,attrs:{value:e.key,label:e.value}})})),1)],1),t("el-form-item",{attrs:{label:"状态:",required:""}},[t("el-select",{attrs:{placeholder:"状态"},model:{value:e.form.status,callback:function(r){e.$set(e.form,"status",r)},expression:"form.status"}},e._l(e.statusEnum,(function(e){return t("el-option",{key:e.key,attrs:{value:e.key,label:e.value}})})),1)],1),t("el-form-item",[t("el-button",{attrs:{type:"primary"},on:{click:e.submitForm}},[e._v("提交")]),t("el-button",{on:{click:e.resetForm}},[e._v("重置")])],1)],1)],1)},a=[],o=t("5530"),s=t("2f62"),n=t("c24f"),u={data:function(){return{form:{id:null,userName:"",password:"",realName:"",role:1,status:1,age:"",sex:"",birthDay:null,phone:null,userLevel:null},formLoading:!1,rules:{userName:[{required:!0,message:"请输入用户名",trigger:"blur"}],realName:[{required:!0,message:"请输入真实姓名",trigger:"blur"}],userLevel:[{required:!0,message:"请选择年级",trigger:"change"}]}}},created:function(){var e=this.$route.query.id,r=this;e&&0!==parseInt(e)&&(r.formLoading=!0,n["a"].selectUser(e).then((function(e){r.form=e.response,r.formLoading=!1})))},methods:Object(o["a"])({submitForm:function(){var e=this,r=this;this.$refs.form.validate((function(t){if(!t)return!1;e.formLoading=!0,n["a"].createUser(e.form).then((function(e){1===e.code?(r.$message.success(e.message),r.delCurrentView(r).then((function(){r.$router.push("/user/student/list")}))):(r.$message.error(e.message),r.formLoading=!1)})).catch((function(e){r.formLoading=!1}))}))},resetForm:function(){this.$refs["form"].resetFields(),this.form={id:null,userName:"",password:"",realName:"",role:1,status:1,age:"",sex:"",birthDay:null,phone:null,userLevel:null}}},Object(s["b"])("tagsView",{delCurrentView:"delCurrentView"})),computed:Object(o["a"])(Object(o["a"])({},Object(s["c"])("enumItem",["enumFormat"])),Object(s["e"])("enumItem",{sexEnum:function(e){return e.user.sexEnum},roleEnum:function(e){return e.user.roleEnum},statusEnum:function(e){return e.user.statusEnum},levelEnum:function(e){return e.user.levelEnum}}))},m=u,i=t("2877"),f=Object(i["a"])(m,l,a,!1,null,null,null);r["default"]=f.exports}}]);

View File

@ -0,0 +1 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d2300ef"],{eb51:function(e,r,t){"use strict";t.r(r);var a=function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("div",{staticClass:"app-container"},[t("el-form",{directives:[{name:"loading",rawName:"v-loading",value:e.formLoading,expression:"formLoading"}],ref:"form",attrs:{model:e.form,"label-width":"100px",rules:e.rules}},[t("el-form-item",{attrs:{label:"用户名:",prop:"userName",required:""}},[t("el-input",{model:{value:e.form.userName,callback:function(r){e.$set(e.form,"userName",r)},expression:"form.userName"}})],1),t("el-form-item",{attrs:{label:"密码:",required:""}},[t("el-input",{model:{value:e.form.password,callback:function(r){e.$set(e.form,"password",r)},expression:"form.password"}})],1),t("el-form-item",{attrs:{label:"真实姓名:",prop:"realName",required:""}},[t("el-input",{model:{value:e.form.realName,callback:function(r){e.$set(e.form,"realName",r)},expression:"form.realName"}})],1),t("el-form-item",{attrs:{label:"年龄:"}},[t("el-input",{model:{value:e.form.age,callback:function(r){e.$set(e.form,"age",r)},expression:"form.age"}})],1),t("el-form-item",{attrs:{label:"性别:"}},[t("el-select",{attrs:{placeholder:"性别",clearable:""},model:{value:e.form.sex,callback:function(r){e.$set(e.form,"sex",r)},expression:"form.sex"}},e._l(e.sexEnum,(function(e){return t("el-option",{key:e.key,attrs:{value:e.key,label:e.value}})})),1)],1),t("el-form-item",{attrs:{label:"出生日期:"}},[t("el-date-picker",{attrs:{type:"date",placeholder:"选择日期"},model:{value:e.form.birthDay,callback:function(r){e.$set(e.form,"birthDay",r)},expression:"form.birthDay"}})],1),t("el-form-item",{attrs:{label:"手机:"}},[t("el-input",{model:{value:e.form.phone,callback:function(r){e.$set(e.form,"phone",r)},expression:"form.phone"}})],1),t("el-form-item",{attrs:{label:"状态:",required:""}},[t("el-select",{attrs:{placeholder:"状态"},model:{value:e.form.status,callback:function(r){e.$set(e.form,"status",r)},expression:"form.status"}},e._l(e.statusEnum,(function(e){return t("el-option",{key:e.key,attrs:{value:e.key,label:e.value}})})),1)],1),t("el-form-item",[t("el-button",{attrs:{type:"primary"},on:{click:e.submitForm}},[e._v("提交")]),t("el-button",{on:{click:e.resetForm}},[e._v("重置")])],1)],1)],1)},o=[],l=t("5530"),s=t("2f62"),n=t("c24f"),u={data:function(){return{form:{id:null,userName:"",password:"",realName:"",role:3,status:1,age:"",sex:"",birthDay:null,phone:null},formLoading:!1,rules:{userName:[{required:!0,message:"请输入用户名",trigger:"blur"}],realName:[{required:!0,message:"请输入真实姓名",trigger:"blur"}]}}},created:function(){var e=this.$route.query.id,r=this;e&&0!==parseInt(e)&&(r.formLoading=!0,n["a"].selectUser(e).then((function(e){r.form=e.response,r.formLoading=!1})))},methods:Object(l["a"])({submitForm:function(){var e=this,r=this;this.$refs.form.validate((function(t){if(!t)return!1;e.formLoading=!0,n["a"].createUser(e.form).then((function(e){1===e.code?(r.$message.success(e.message),r.delCurrentView(r).then((function(){r.$router.push("/user/admin/list")}))):(r.$message.error(e.message),r.formLoading=!1)})).catch((function(e){r.formLoading=!1}))}))},resetForm:function(){this.$refs["form"].resetFields(),this.form={id:null,userName:"",password:"",realName:"",role:3,status:1,age:"",sex:"",birthDay:null,phone:null}}},Object(s["b"])("tagsView",{delCurrentView:"delCurrentView"})),computed:Object(l["a"])(Object(l["a"])({},Object(s["c"])("enumItem",["enumFormat"])),Object(s["e"])("enumItem",{sexEnum:function(e){return e.user.sexEnum},roleEnum:function(e){return e.user.roleEnum},statusEnum:function(e){return e.user.statusEnum}}))},m=u,i=t("2877"),f=Object(i["a"])(m,a,o,!1,null,null,null);r["default"]=f.exports}}]);

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