fengdong777 2 years ago
parent
commit
c5c43c24ff
  1. 12
      demo-web-ui/src/api/system/dictType/index.js
  2. 36
      demo-web-ui/src/api/system/roleAdminister/index.js
  3. 80
      demo-web-ui/src/api/system/sources/index.js
  4. 17
      demo-web-ui/src/api/user.js
  5. 334
      demo-web-ui/src/layout/components/TagsView/index.vue
  6. 4
      demo-web-ui/src/store/modules/user.js
  7. 513
      demo-web-ui/src/views/PwdModify/PwdModify.vue
  8. 1
      demo-web-ui/src/views/Regist/User.vue
  9. 908
      demo-web-ui/src/views/RoleAdminister/RoleAdminister.vue
  10. 434
      demo-web-ui/src/views/dictManage/dictCommon.vue
  11. 200
      demo-web-ui/src/views/dictManage/dictManage.vue
  12. 155
      demo-web-ui/src/views/dictManage/dictMap.vue
  13. 58
      demo-web-ui/src/views/guideManage/guideManage.vue
  14. 4
      demo-web-ui/src/views/login/login.vue
  15. 388
      demo-web-ui/src/views/workflow/definition/definition.vue

12
demo-web-ui/src/api/system/dictType/index.js

@ -2,10 +2,10 @@ import request from '@/utils/request'
import qs from 'qs'
let tokens = window.sessionStorage.getItem('token')
// 获取菜单 分页列表
// 查询字典
export function pageList(data) {
return request({
url: '/portal/v1/dicttypes/pageList',
url: 'v1/DictType/pageList',
method: 'POST',
data: data,
headers: {
@ -16,18 +16,18 @@ export function pageList(data) {
}
// 根据sid 修改
export function putDictType(data) {
export function delOrgroles(data) {
return request({
url: '/portal/v1/dicttypes/update/' + data.sid,
url: 'v1/DictType/delete/' + data.sid,
method: 'POST',
data: qs.stringify(data)
})
}
// 保存 角色信息
export function saveDictType(data) {
export function save(data) {
return request({
url: '/portal/v1/dicttypes/save',
url: 'v1/DictType/save',
method: 'POST',
data: data,
headers: { 'Content-Type': 'application/json', 'token': tokens }

36
demo-web-ui/src/api/system/roleAdminister/index.js

@ -16,10 +16,11 @@ export function roleOrgList(data){
export function postList(data){
return request({
url: '/portal/v1/syspost/list',
method: 'get',
url: 'v1/sysrole/RoleOne',
method: 'post',
data: data,
headers: {'Content-Type': 'application/json'}
headers: {'Content-Type': 'application/json'},
'token':tokens
})
}
@ -31,19 +32,6 @@ export function typeValues(data) {
params: data
})
}
// 设置是否可用:isEnable:1可用,0不可用
export function setRoleEnable(data) {
return request({
url: '/portal/v1/sysrole/setIsEnable/' + data.sid + '/' + data.isEnable,
method: 'POST',
data: data,
headers: {
'Content-Type': 'application/json'
}
})
}
/**
* <新增 保存角色>
* @orgSid 机构SID
@ -52,7 +40,7 @@ export function setRoleEnable(data) {
* */
export function saveOrgroles(data) {
return request({
url: '/portal/v1/sysrole/save',
url: 'v1/sysrole/addRole',
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
@ -69,7 +57,7 @@ export function saveOrgroles(data) {
* */
export function putOrgroles(data) {
return request({
url: `/portal/v1/sysrole/update/${data.sid}`,
url: 'v1/sysrole/alterRole',
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
@ -84,22 +72,14 @@ export function putOrgroles(data) {
* */
export function delOrgroles(data) {
return request({
url: `/portal/v1/sysrole/delBySids/${data.sid}`,
method: 'get',
url: `v1/sysrole/deleteRole/${data.sid}`,
method: 'post',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 移动端授权
export function getRoleMenuList(data) {
return request({
url: '/portal/v1/sysmobilemenurole/getRoleMenuList',
method: 'post',
params: { roleSid: data }
})
}
// 菜单授权保存
export function saveRoleMenuList(data) {

80
demo-web-ui/src/api/system/sources/index.js

@ -27,7 +27,18 @@ export function saveSourcesInfo(data) {
// 修改 保存 资源信息
export function putSourcesInfo(data) {
return request({
url: 'v1/sysinfo/alterInfo',
url: 'v1/sysuser/alterInfoUser',
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 修改登录密码
export function alterPassword(data) {
return request({
url: 'v1/sysuser/alterPassword',
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
@ -76,60 +87,18 @@ export function delSources(data) {
}
})
}
// 获取获取资源类别
export function getZzylb(data) {
return request({
url: '/portal/v1/syssource/listAll',
method: 'post',
headers: {'Content-Type': 'application/json'}
})
}
// 获取资源 不分页列表
export function sourcesList(data) {
return request({
url: '/system/v1/sources/list',
method: 'post',
data: data,
headers: {'Content-Type': 'application/json'}
})
}
// 获取资源列表 不分页下拉
export function getsourceList(data) {
export function deleteSysInfoShip(data) {
return request({
url: '/system/v1/sources/sourceList',
method: 'post'
url: 'v1/sysinfoship/deleteSysInfoShip/' + data.sid,
method: 'get',
data: qs.stringify(data),
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
////获取资源 分页列表
//export function sourcesPageList(data) {
//return request({
// url: '/system/v1/sources/pagelist',
// method: 'POST',
// data: data,
// headers: {'Content-Type': 'application/json'}
//})
//}
//根据sid 获取单个 资源信息
export function getSourcesInfo(data) {
return request({
@ -139,3 +108,14 @@ export function getSourcesInfo(data) {
})
}
// 获取个人信息
export function UserInfo(data) {
return request({
url: `v1/sysuser/selectUserInfo/${data.sid}`,
method: 'post',
data: data,
headers: {'Content-Type': 'application/json',
}
})
}

17
demo-web-ui/src/api/user.js

@ -16,7 +16,7 @@ export function registUser(data) {
data,
})
}
// 获取手机验证码
// 获取
export function getVerificationCode(data) {
return request({
url: '/system/user/getVerificationCode',
@ -25,21 +25,6 @@ export function getVerificationCode(data) {
})
}
// 获取登录验证码
export function imgCode() {
return request({
url: '/system/api/defaultBlendCode?temm=' + new Date().getTime(),
method: 'get'
})
}
// 获取用信息
export function getInfo(token) {
return request({
url: '/system/user/loginDetails',
method: 'post',
})
}
// 根据token值获取登录后的用户信息
export function loginDetails(data) {

334
demo-web-ui/src/layout/components/TagsView/index.vue

@ -1,343 +1,13 @@
<template>
<div id="tags-view-container" class="tags-view-container">
<scroll-pane ref="scrollPane" class="tags-view-wrapper" @scroll="handleScroll">
<router-link
v-for="(tag,index) in visitedViews"
ref="tag"
:key="tag.path"
:class="isActive(tag)?'active':''"
:to="{ path: tag.path, query: tag.query, fullPath: tag.fullPath }"
tag="span"
class="tags-view-item"
@click.middle.native="!isAffix(tag)?closeSelectedTag(tag):''"
@contextmenu.prevent.native="openMenu(tag,$event)"
>
{{ tag.title }}
<span v-if="!isAffix(tag)" class="el-icon-close" @click.prevent.stop="closeSelectedTag(index)" />
</router-link>
</scroll-pane>
<!--<div class="tags-close-box">
<el-dropdown @command="handleTags">
<el-button size="mini" type="primary"> 标签选项<i class="el-icon-arrow-down el-icon--right"></i> </el-button>
<el-dropdown-menu size="small" slot="dropdown">
<el-dropdown-item command="other">关闭其他</el-dropdown-item>
<el-dropdown-item command="all">关闭所有</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>-->
.<template>
<ul v-show="visible" :style="{left:left+'px',top:top+'px'}" class="contextmenu">
<li @click="refreshSelectedTag(selectedTag)">刷新</li>
<li v-if="!isAffix(selectedTag)" @click="closeSelectedTag(selectedTag)">关闭</li>
<li @click="closeOthersTags">关闭其他</li>
<li @click="closeAllTags(selectedTag)">关闭所有</li>
</ul>
</div>
</template>
<script>
import ScrollPane from './ScrollPane'
import path from 'path'
export default {
components: { ScrollPane },
data() {
return {
visible: false,
top: 0,
left: 0,
selectedTag: {},
affixTags: []
}
},
computed: {
visitedViews() {
return this.$store.state.tagsView.visitedViews
},
routes() {
return this.$store.state.permission.routes
}
},
watch: {
$route() {
this.addTags()
this.moveToCurrentTag()
},
visible(value) {
if (value) {
document.body.addEventListener('click', this.closeMenu)
} else {
document.body.removeEventListener('click', this.closeMenu)
}
}
},
mounted() {
this.initTags()
this.addTags()
},
methods: {
isActive(route) {
return route.path === this.$route.path
},
isAffix(tag) {
return tag.meta && tag.meta.affix
},
filterAffixTags(routes, basePath = '/') {
let tags = []
routes.forEach(route => {
if (route.meta && route.meta.affix) {
const tagPath = path.resolve(basePath, route.path)
tags.push({
fullPath: tagPath,
path: tagPath,
name: route.name,
meta: { ...route.meta }
})
}
if (route.children) {
const tempTags = this.filterAffixTags(route.children, route.path)
if (tempTags.length >= 1) {
tags = [...tags, ...tempTags]
}
}
})
return tags
},
initTags() {
const affixTags = this.affixTags = this.filterAffixTags(this.routes)
for (const tag of affixTags) {
// Must have tag name
if (tag.name) {
this.$store.dispatch('tagsView/addVisitedView', tag)
}
}
},
addTags() {
const { name } = this.$route
if (name) {
this.$store.dispatch('tagsView/addView', this.$route)
}
return false
},
moveToCurrentTag() {
const tags = this.$refs.tag
this.$nextTick(() => {
for (const tag of tags) {
if (tag.to.path === this.$route.path) {
this.$refs.scrollPane.moveToTarget(tag)
// when query is different then update
if (tag.to.fullPath !== this.$route.fullPath) {
this.$store.dispatch('tagsView/updateVisitedView', this.$route)
}
break
}
}
})
},
refreshSelectedTag(view) {
this.$store.dispatch('tagsView/delCachedView', view).then(() => {
const { fullPath } = view
this.$nextTick(() => {
this.$router.replace({
path: '/redirect' + fullPath
})
})
})
},
closeSelectedTag(index) {
const delItem = this.visitedViews.splice(index, 1)[0];
const item = this.visitedViews[index] ? this.visitedViews[index] : this.visitedViews[index - 1];
if (item) {
delItem.path === this.$route.fullPath && this.$router.push(item.path);
} else {
this.$router.push('/index');
}
// this.$store.dispatch('tagsView/delView', view).then(({ visitedViews }) => {
// if (this.isActive(view)) {
// this.toLastView(visitedViews, view)
// }
// })
},
closeOthersTags() {
this.$router.push(this.selectedTag)
this.$store.dispatch('tagsView/delOthersViews', this.selectedTag).then(() => {
this.moveToCurrentTag()
})
},
closeAllTags(view) {
this.$store.dispatch('tagsView/delAllViews').then(({ visitedViews }) => {
if (this.affixTags.some(tag => tag.path === view.path)) {
return
}
this.toLastView(visitedViews, view)
})
},
toLastView(visitedViews, view) {
const latestView = visitedViews.slice(-1)[0]
if (latestView) {
this.$router.push(latestView.fullPath)
} else {
// now the default is to redirect to the home page if there is no tags-view,
// you can adjust it according to your needs.
if (view.name === 'Dashboard') {
// to reload home page
this.$router.replace({ path: '/redirect' + view.fullPath })
} else {
this.$router.push('/')
}
}
},
openMenu(tag, e) {
const menuMinWidth = 105
const offsetLeft = this.$el.getBoundingClientRect().left // container margin left
const offsetWidth = this.$el.offsetWidth // container width
const maxLeft = offsetWidth - menuMinWidth // left boundary
const left = e.clientX - offsetLeft + 15 // 15: margin right
if (left > maxLeft) {
this.left = maxLeft
} else {
this.left = left
}
this.top = e.clientY - 32
this.visible = true
this.selectedTag = tag
},
closeMenu() {
this.visible = false
},
handleScroll() {
this.closeMenu()
},
handleTags(command) {
command === 'other' ? this.closeOther() : this.closeAll();
},
//
closeAll() {
// this.visitedViews = [];
this.visitedViews.splice(0, this.visitedViews.length);
this.$router.push('/index');
},
//
closeOther() {
return this.visitedViews.filter((item) => {
return item.path === this.$route.fullPath;
});
// this.visitedViews = curItem;
},
}
}
</script>
<style lang="scss" scoped>
@import "~@/styles/variables.scss";
.tags-view-container {
position:relative;
height: 40px;
width: 100%;
// background: $menuHover;
background: #FFFFFF;
border-bottom: 1px solid #d8dce5;
box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 3px 0 rgba(0, 0, 0, .04);
.tags-view-wrapper {
height: 40px;
.tags-view-item {
display: inline-block;
position: relative;
cursor: pointer;
height: 30px;
line-height: 30px;
border-radius: 10px 10px 0 0;
color: #495060;
border: 1px solid #d8dce5;
background: #FFFFFF;
padding: 0 10px;
font-size: 14px;
margin-left: 5px;
margin-top: 9px;
&:first-of-type {
margin-left: 15px;
}
&:last-of-type {
margin-right: 15px;
}
&.active {
background-color: $menuHover;
color: #FFFFFF;
&::before {
content: '';
background: #FFFFFF;
display: inline-block;
width: 8px;
height: 8px;
border-radius: 50%;
position: relative;
margin-right: 2px;
}
}
}
}
.contextmenu {
margin: 0;
background: #fff;
z-index: 3000;
position: absolute;
list-style-type: none;
padding: 5px 0;
border-radius: 4px;
font-size: 12px;
font-weight: 400;
color: #333;
box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .3);
li {
margin: 0;
padding: 7px 16px;
cursor: pointer;
&:hover {
background: #eee;
}
}
}
}
</style>
<style>
<style lang="scss">
//reset element css of el-icon-close
.tags-view-wrapper {
.tags-view-item {
.el-icon-close {
width: 16px;
height: 16px;
vertical-align: 1px;
border-radius: 50%;
text-align: center;
transition: all .3s cubic-bezier(.645, .045, .355, 1);
transform-origin: 100% 50%;
&:before {
// transform: scale(.6);
// display: inline-block;
vertical-align: -1px;
}
&:hover {
background-color: #b4bccc;
color: #fff;
}
}
}
}
.tags-close-box {
position: absolute;
right: 0;
top: 0;
box-sizing: border-box;
padding-top: 1px;
text-align: center;
width: 110px;
height: 30px;
background: #fff;
box-shadow: -3px 0 15px 3px rgba(0, 0, 0, 0.1);
z-index: 10;
}
</style>

4
demo-web-ui/src/store/modules/user.js

@ -44,7 +44,8 @@ const actions = {
roleName: data.roleName,
defaultOrgPathName: data.defaultOrgPathName,
defaultOrgPath: data.defaultOrgPath,
postName: data.postName
postName: data.postName,
sid: data.sid
}
commit('SET_UESRINFO', user)
window.sessionStorage.setItem('userSid', user.userSid)
@ -56,6 +57,7 @@ const actions = {
window.sessionStorage.setItem('defaultOrgPathName', user.defaultOrgPathName)
window.sessionStorage.setItem('defaultOrgPath', user.defaultOrgPath)
window.sessionStorage.setItem('postName', user.postName)
window.sessionStorage.setItem('sid', user.sid)
resolve(data)
}).catch(error => {
reject(error)

513
demo-web-ui/src/views/PwdModify/PwdModify.vue

@ -1,167 +1,422 @@
<template>
<div class="content">
<div class="right_cont">
<!-- table -->
<div style="padding-top: 15px;"></div>
<table class="tishi" cellspacing="0" style="margin:0 auto 30px">
<div>
<div v-if="this.msg != 5">
<span>
查询不到您的个人信息请添加:
<el-button type="primary" size="mini" @click="saveSid()">
添加
</el-button>
</span>
</div>
<div v-else-if="this.infoSid != null">
<el-tabs v-model="activeName" class="my-tabs" type="card">
<el-tab-pane label="学生信息" name="roleList">
<div class="container">
<el-table :data="tableData" border style="width: 100%">
<el-table-column
label="序号"
width="70px"
type="index"
align="center"
>
</el-table-column>
<el-table-column label="操作" width="150px" align="center">
<template slot-scope="scope">
<el-button
type="primary"
size="mini"
@click="editRow(scope.row)"
>
修改
</el-button>
</template>
</el-table-column>
<el-table-column
prop="name"
label="学生姓名"
width="100px"
align="center"
>
</el-table-column>
<el-table-column
prop="userName"
label="学号ID"
align="center"
width="150px"
>
</el-table-column>
<el-table-column
prop="sex"
label="性别"
align="center"
width="70px"
>
</el-table-column>
<el-table-column
prop="nickName"
width="100px"
label="昵称"
align="center"
>
</el-table-column>
<el-table-column
prop="calss"
label="所属班级"
align="center"
width="100px"
>
</el-table-column>
<el-table-column
prop="department"
label="系别"
align="center"
width="100px"
>
</el-table-column>
<el-table-column
prop="speciality"
label="专业"
align="center"
width="150px"
>
</el-table-column>
<el-table-column
prop="studyYear"
label="入学年份"
align="center"
width="150px"
>
</el-table-column>
</el-table>
</div>
</el-tab-pane>
<el-tab-pane label="修改密码" name="addrole">
<div class="right_cont">
<!-- table -->
<div style="padding-top: 15px"></div>
<table class="tishi" cellspacing="0" style="margin: 0 auto 30px">
<tr>
<td style="border-bottom: none; border-right: none">新密码</td>
<td style="border-bottom: none">
<el-input
type="password"
v-model="usePwd.password"
show-password
/>
<span>*</span>
</td>
</tr>
<tr>
<td style="border-right: none">确认密码</td>
<td>
<el-input
type="password"
v-model="usePwd.id"
show-password
/>
<span>*</span>
</td>
</tr>
</table>
<span slot="footer" class="dialog-footer" style="margin-left: 40%">
<el-button
style="margin-left: 8%; width: 100px; height: 40px"
type="primary"
@click="updatePsw()"
>确认</el-button
>
</span>
</div>
</el-tab-pane>
</el-tabs>
</div>
<!-- 编辑角色信息 -->
<el-dialog
:title="dialogTitle + '角色信息'"
:visible.sync="editDialog"
width="40%"
>
<table class="e-table" cellspacing="0">
<tr>
<td>学生姓名</td>
<td>
<el-input v-model="form.name" style="width: 300px"></el-input>
</td>
</tr>
<tr>
<td style="border-bottom: none; border-right: none;">原密码</td>
<td style="border-bottom: none;">
<el-input type="password" v-model="form.original" show-password/>
<span>*</span>
<td>学号ID</td>
<td>
<el-input v-model="form.infoId" style="width: 300px"></el-input>
</td>
</tr>
<tr>
<td style="border-bottom: none; border-right: none;">新密码</td>
<td style="border-bottom: none;">
<el-input type="password" v-model="form.password" show-password/>
<span>*</span>
<td>昵称</td>
<td>
<el-input v-model="form.nickName" style="width: 300px"></el-input>
</td>
</tr>
<tr>
<td style="border-right: none;">确认密码</td>
<td>性别</td>
<td>
<el-input type="password" v-model="form.confirmPassword" show-password/>
<span>*</span>
<el-input v-model="form.sex" style="width: 300px"></el-input>
</td>
</tr>
<tr>
<td>所属班级</td>
<td>
<el-input v-model="form.calss" style="width: 300px"></el-input>
</td>
</tr>
<tr>
<td>系别</td>
<td>
<el-input v-model="form.department" style="width: 300px"></el-input>
</td>
</tr>
<tr>
<td>专业</td>
<td>
<el-input v-model="form.speciality" style="width: 300px"></el-input>
</td>
</tr>
<tr>
<td>入学年份</td>
<td>
<el-input v-model="form.studyYear" style="width: 300px"></el-input>
</td>
</tr>
</table>
<span slot="footer" class="dialog-footer" style="margin-left:40%;">
<el-button style=" margin-left: 8%; width: 100px;height: 40px;" type="primary"
@click="updatePsw()">确认</el-button>
<!-- <el-button style="margin-left: 6%; width: 100px;height: 40px;" type="danger" @click="$router.go(-1)">关闭</el-button> -->
</span>
</div>
<div style="margin-top: 20px; text-align: center">
<el-button type="primary" @click="save()">保存</el-button>
<!--<el-button @click="editDialog = false">关闭</el-button>-->
</div>
</el-dialog>
</div>
</template>
<script>
import login from '@/api/User/login.js'
import {removeStorage} from '@/utils/auth'
import User from '@/api/User/login.js'
import myviewer from '@/components/viewerjs/index.vue'
export default {
components: {myviewer},
data() {
return {
checked: '',
form: {
confirmPassword: '',
original: '',
password: '',
userSid: window.sessionStorage.getItem('userSid')
import {
putSourcesInfo,
UserInfo,
saveSourcesInfo,
alterPassword
} from "@/api/system/sources/index.js";
export default {
data() {
return {
activeName: "roleList",
dialogTitle: "",
editDialog: false,
entry: false,
form: {
userSid: "",
id: "9",
},
student: {},
type: "xs",
infoSid: "",
jiuye: "已就业",
formBackup: Object.assign({}, this.form),
page: {
total: 0, //
current: 1, //
size: 10, //
params: {
psid: "",
sourceId: "",
sourceName: "",
},
token: window.sessionStorage.getItem('token')
}
},
msg: 0,
tableData: [],
zylb: [],
sourceList: [],
usePwd: {
id: "",
password: ""
},
token: window.sessionStorage.getItem("token"),
sid: window.sessionStorage.getItem("sid"),
};
},
mounted() {
this.loginform();
},
methods: {
loginform() {
UserInfo({ sid: this.sid }).then((res) => {
this.msg = res.msg.length;
console.log(res);
let qyArry = Object.keys(res.data).map((item) => {
if (res.data[item] == null) {
delete res.data[item];
}
return res.data;
});
this.qyArry = Object.values(qyArry[0]);
console.log(qyArry);
this.tableData = qyArry;
this.form.id = qyArry.id;
});
},
mounted() {
pagination(val) {
//
this.page.current = val.pageNum;
this.page.size = val.pageSize;
},
methods: {
updatePsw() {
if (this.form.password != this.form.confirmPassword) {
resetSearch() {
//
this.page = {
total: 0, //
current: 1, //
size: 10, //
params: {
name: "",
psid: "",
sourceId: "",
sourceName: "",
},
};
this.getPageList();
},
getPageList() {},
saveSid() {
this.dialogTitle = "添加";
this.editDialog = true;
},
save() {
if (this.msg != 5) {
this.form.userSid = this.sid;
this.dialogTitle = "新增";
console.log(this.form.userSid);
saveSourcesInfo(this.form).then((res) => {
console.log(res);
this.editDialog = false;
if (res.code == 200) {
location.reload(true);
}
this.$message({
type: 'warning',
message: '两次密码输入不一致!'
message: res.msg,
type: "success",
});
return
}
login.updatePassword(this.form).then(res => {
this.$alert('密码修改成!请重新登录点击确定后退出。', '修改成功', {
confirmButtonText: '确定',
callback: action => {
User.logout({token: this.token}).then(res => {
// removeToken()
window.sessionStorage.removeStorage('token')
window.sessionStorage.removeStorage('userSid')
this.$router.push({path: '/login'})
})
.catch(() => {
this.$router.push({path: '/login'})
})
}
});
} else {
putSourcesInfo(this.form).then((res) => {
this.form.userSid = this.sid;
this.editDialog = false;
this.loginform();
this.$message({
message: res.msg,
type: "success",
});
// this.$message({
// type: 'success',
// message: '!'
// });
})
},
guanli() {
this.$router.push({
name: 'roleAdminister'
})
});
}
this.reset();
},
}
reset() {
this.form = {};
},
editRow(row) {
this.dialogTitle = "编辑";
this.editDialog = true;
this.form = Object.assign({}, row);
// getSourcesInfo({sid: row.sid}).then(res => {
// this.form = res.data
// })
},
updatePsw() {
// if (this.formPwd.password != this.formPwd.confirmPassword) {
// this.$message({
// type: 'warning',
// message: '!'
// });
// return
// }
alterPassword(this.usePwd).then((res) => {
if(res.code===200){
this.$alert("密码修改成!请重新登录点击确定后退出。", "修改成功", {
confirmButtonText: "确定",
callback: (action) => {
window.sessionStorage.removeStorage("token");
window.sessionStorage.removeStorage("userSid");
this.$router.push({ path: "/login" });
},
});
}
});
},
},
};
</script>
<style scoped="scoped" lang="scss">
.my-tabs {
margin-top: 10px;
}
.content {
width: 100%;
padding-top: 10px;
font-size: 16px;
color: #fff;
box-sizing: border-box;
}
.content {
width: 100%;
padding-top: 10px;
font-size: 16px;
color: #fff;
box-sizing: border-box;
}
.shouye {
position: absolute;
top: -3px;
left: 100px;
font-size: 16px;
color: #0395d8;
font-weight: bold;
}
.shouye {
position: absolute;
top: -3px;
left: 100px;
font-size: 16px;
color: #0395d8;
font-weight: bold;
}
.placename {
position: absolute;
top: -3px;
left: 210px;
font-size: 16px;
color: #fff;
font-weight: bold;
}
.placename {
position: absolute;
top: -3px;
left: 210px;
font-size: 16px;
color: #fff;
font-weight: bold;
}
.right_cont {
width: 100%;
height: 645px;
background-color: #fff;
margin: 0;
padding: 15px;
box-sizing: border-box;
}
.right_cont {
width: 100%;
height: 645px;
background-color: #fff;
margin: 0;
padding: 15px;
box-sizing: border-box;
}
.tishi {
width: 560px;
color: #000;
padding-left: 1.5%;
margin-bottom: 50px;
.tishi {
width: 560px;
color: #000;
padding-left: 1.5%;
margin-bottom: 50px;
tr {
height: 70px;
}
tr {
height: 70px;
}
td {
border: 1px solid #e6e9f0;
text-align: center;
}
td {
border: 1px solid #e6e9f0;
text-align: center;
}
td:first-child {
background-color: #f7f9fc;
}
td:first-child {
background-color: #f7f9fc;
}
.el-input,
input {
width: 80%;
}
.el-input,
input {
width: 80%;
}
span {
font-size: 26px;
color: red;
margin-left: 10px;
}
span {
font-size: 26px;
color: red;
margin-left: 10px;
}
}
</style>

1
demo-web-ui/src/views/Regist/User.vue

@ -124,6 +124,7 @@ export default {
if (valid) {
registUser(this.userForm)
.then((res) => {
console.log(this.userForm)
console.log(res);
this.btnDisabled = false;
this.$confirm("注册成功, 是否关闭页面?", "提示", {

908
demo-web-ui/src/views/RoleAdminister/RoleAdminister.vue

File diff suppressed because it is too large

434
demo-web-ui/src/views/dictManage/dictCommon.vue

@ -1,248 +1,246 @@
<template>
<div class="container">
<div v-show="viewState == 1">
<div class="tab-header">
<el-form ref="form" :inline="true" :model="form" label-width="80px">
<el-row :gutter="20">
<el-col :span="14">
<el-form-item label="数据value">
<el-input v-model="page.params.dictValue" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item style="float: right;">
<el-button type="primary" @click="onSearch()"> </el-button>
<el-button @click="add()"> </el-button>
<el-button @click="closeDict"> </el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<el-table :data="tableData" border style="width: 100%;">
<el-table-column label="序号" width="50px" type="index" align="center">
</el-table-column>
<el-table-column label="操作" align="center" width="280px">
<template slot-scope="scope">
<!-- <el-button type="primary" size="mini" @click="add(scope.row)">-->
<!-- 添加子级-->
<!-- </el-button>-->
<el-button type="primary" size="mini" @click="editRow(scope.row)">
修改
</el-button>
<el-button type="danger" size="mini" @click.native.prevent="deleteRow(scope.row)">
删除
</el-button>
<el-button type="primary" size="mini" @click="handleMap(scope.row)">
映射
</el-button>
</template>
</el-table-column>
<el-table-column prop="dictType" label="字典分类编码" align="center">
</el-table-column>
<el-table-column prop="groupName" label="数据分组" align="center">
</el-table-column>
<el-table-column prop="dictKey" label="数据key" align="center">
</el-table-column>
<el-table-column prop="dictValue" label="数据value" align="center">
</el-table-column>
</el-table>
<pagination :total="page.total" :page.sync="page.current" :limit.sync="page.size" @pagination="pagination"/>
<template xmlns="">
<div>
<el-tabs
class="my-tabs"
v-model="activeName"
type="card"
>
<el-tab-pane label="字典列表" name="roleList">
<div class="container">
<!-- table -->
<el-table :data="roleTable" border style="width: 100%">
<el-table-column
label="序号"
width="50px"
type="index"
align="center"
>
</el-table-column>
<el-table-column label="操作" width="520px" align="center">
<template slot-scope="scope">
<el-button
@click="editRow(scope.row)"
type="primary"
size="mini"
>修改</el-button
>
<el-button @click="delRow(scope.row)" type="danger" size="mini"
>删除</el-button
>
</template>
</el-table-column>
<el-table-column
prop="dictTypeCode"
label="类型代码"
width="220px"
align="center"
>
</el-table-column>
<el-table-column
prop="dictTypeName"
label="类型名称"
width="220px"
align="center"
>
</el-table-column>
<el-table-column prop="remarks" label="类型说明" align="center">
</el-table-column>
</el-table>
<!-- 分类编辑 -->
<el-dialog :title="dialogTitle + '字典数据'" :visible.sync="editDialog" width="50%">
<table class="e-table" cellspacing="0">
<tr>
<td>字典分类编码</td>
<td>
{{ form.dictType }}
</td>
</tr>
<tr>
<td>数据分组</td>
<td>
<el-input v-model="form.groupName"></el-input>
</td>
</tr>
<tr>
<td>数据key</td>
<td>
<el-input v-model="form.dictKey"></el-input>
</td>
</tr>
<tr>
<td>数据value</td>
<td>
<el-input v-model="form.dictValue"></el-input>
</td>
</tr>
</table>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="save()"> </el-button>
<el-button @click="editDialog = false"> </el-button>
<!-- 编辑字典信息 -->
<el-dialog
:title="dialogTitle + '字典信息'"
:visible.sync="editDialog"
width="40%"
>
<table class="e-table" cellspacing="0">
<tr>
<td>类型代码</td>
<td>
<el-input
v-model="roleForm.dictTypeCode"
style="width: 300px"
></el-input>
</td>
</tr>
<tr>
<td>类型名称</td>
<td>
<el-input
v-model="roleForm.dictTypeName"
style="width: 300px"
></el-input>
</td>
</tr>
<tr>
<td>类型说明</td>
<td>
<el-input
type="textarea"
v-model="roleForm.remarks"
></el-input>
</td>
</tr>
</table>
<div style="margin-top: 20px; text-align: center">
<el-button type="primary" @click="save1()"> </el-button>
<el-button @click="editDialog = false"> </el-button>
</div>
</el-dialog>
</div>
</el-dialog>
</div>
<dictMap v-show="viewState == 2" ref="divAdd" @doback="resetState"/>
</el-tab-pane>
<!-- 添加字典 -->
<el-tab-pane label="添加字典" name="addrole">
<el-card class="box-card">
<table class="e-table" cellspacing="0">
<tr>
<td>类型代码</td>
<td>
<el-input
v-model="roleForm.dictTypeCode"
style="width: 300px"
></el-input>
</td>
</tr>
<tr>
<td>类型名称</td>
<td>
<el-input
v-model="roleForm.dictTypeName"
style="width: 300px"
></el-input>
</td>
</tr>
<tr>
<td>类型说明</td>
<td>
<el-input
type="textarea"
:autosize="{ minRows: 4, maxRows: 6 }"
v-model="roleForm.remarks"
></el-input>
</td>
</tr>
</table>
<div style="margin-top: 20px; text-align: center">
<el-button type="primary" @click="save()"> </el-button>
</div>
</el-card>
</el-tab-pane>
</el-tabs>
</div>
</template>
<script>
import { deldictCommon, dictCommonList, putdictCommon, savedictCommon } from '@/api/system/dictType/dictCommon.js'
import dictMap from './dictMap'
<script>;
import { save,pageList,delOrgroles } from '@/api/system/dictType/index.js'
export default {
components: {
dictMap
},
data() {
return {
editDialog: false,
dialogTitle: '',
viewState: 1,
form: {
dictKey: '',
dictType: '',
groupName: '',
dictValue: '',
parentSid: ''
dialogTitle: "",
activeName: "roleList",
editDialog:false,
roleForm: {
dictTypeCode: "",
dictTypeName: "",
remarks: ""
},
formBackup: {},
search: {
name: "",
},
page: {
total: 0, //
current: 1, //
size: 10, //
params: {
dictKey: '',
dictType: '',
dictValue: '',
parentSid: '',
sidPath: '',
}
},
tableData: []
}
},
props: ['dictData'],
watch: {
dictData: {
handler(val) {
this.form.parentSid = val.sid
this.form.dictType = val.dictType
this.form.groupName = val.groupName
this.page.params.parentSid = val.sid
this.page.params.dictType = val.dictType
this.getPageList(this.page)
},
deep: true
}
roleTable: [],
postSidData1: [],
postSidData: [
{ num: "0", type: "学生" },
{ num: "1", type: "教师" },
{ num: "2", type: "管理员" },
],
};
},
mounted() {
// if (this.$route.query.sid) {
// sessionStorage.setItem('dictType', this.$route.query.dictType);
// sessionStorage.setItem('parentSid', this.$route.query.sid);
// this.page.params.dictType = this.$route.query.dictType
// this.page.params.parentSid = this.$route.query.sid
// this.form.dictType = this.$route.query.dictType;
// this.form.parentSid = this.$route.query.sid
// } else {
// this.page.params.dictType = sessionStorage.getItem('dictType');
// this.page.params.parentSid = sessionStorage.getItem('parentSid');
// this.form.dictType = sessionStorage.getItem('dictType');
// this.form.parentSid = sessionStorage.getItem('parentSid');
// }
this.getPageList(this.page)
this.formBackup = Object.assign({}, this.roleForm);
this.getroleOrgList();
this.getPostList();
},
methods: {
pagination(val) { //
this.page.current = val.pageNum
this.page.size = val.pageSize
this.getPageList(this.page)
},
onSearch() { //
this.getPageList(this.page)
},
resetSearch() { //
this.getPageList(this.page)
},
getPageList(data) { //
dictCommonList(data).then((res) => {
this.tableData = res.data.records
this.page.total = res.data.total
})
getPostList() {
pageList(this.page).then((res) => {
console.log(res);
if (res.success) {
this.roleTable = res.data.records;
}
});
},
add(row) {
if (row) {
this.form.dictType = row.dictType
this.form.parentSid = row.sid
} else {
this.form.parentSid = 0
// this.form.dictType = row.dictType
//
getroleOrgList(flag) {
if (flag == "1") {
this.page.current = 1;
}
this.dialogTitle = '新增'
this.editDialog = true
this.form.dictKey = ''
this.form.groupName = ''
this.form.dictValue = ''
this.form.sid = ''
},
closeDict() {
this.form.parentSid = ''
this.form.dictType = ''
this.form.groupName = ''
this.page.params.parentSid = ''
this.page.params.dictType = ''
this.$emit('doback')
let params = this.page;
params.params = this.search;
},
editRow(row) {
this.dialogTitle = '编辑'
this.editDialog = true
this.form = Object.assign({}, row)
this.dialogTitle = "编辑";
this.editDialog = true;
this.roleForm = Object.assign({}, row);
},
save() {
if (this.form.sid) {
putdictCommon(this.form).then(res => {
this.editDialog = false
this.getPageList(this.page)
this.$message({
message: res.msg,
type: 'success'
})
})
} else {
savedictCommon(this.form).then(res => {
this.editDialog = false
this.getPageList(this.page)
this.$message({
message: res.msg,
type: 'success'
})
})
}
},
deleteRow(row) {
this.$confirm('确定要删除该数据吗, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
delRow(row) {
console.log("rowrow",row);
this.$confirm("确定要删除该角色吗, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then(() => {
deldictCommon({ sid: row.sid }).then(res => {
this.getPageList(this.page)
this.$message({
type: 'success',
message: '删除成功!'
})
})
})
delOrgroles({ sid: row.sid }).then((res) => {
if (res.success) {
this.getPostList();
this.$message({
showClose: true,
type: "success",
message: "删除成功!",
});
}
});
});
},
handleMap(row) {
this.viewState = 2
this.$refs['divAdd'].showAdd(row)
//
save() {
save(this.roleForm).then((res) => {
console.log(res);
if (res.success) {
this.$message({
showClose: true,
message: res.msg,
type: "success",
});
(this.activeName = "roleList"), this.getPostList();
}
});
},
resetState() {
this.viewState = 1
}
}
}
save1(){
save(this.roleForm).then((res) => {
if (res.success) {
this.getPostList();
this.editDialog = false;
this.$message({
showClose: true,
message: res.msg,
type: "success",
});
}
});
},
},
};
</script>
<style scoped>
.my-tabs {
margin-top: 10px;
}
</style>

200
demo-web-ui/src/views/dictManage/dictManage.vue

@ -1,200 +0,0 @@
<template>
<div class="container">
<div v-show="viewState == 1">
<div class="tab-header">
<el-form ref="form" :inline="true" :model="form" label-width="80px">
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="分类名称">
<el-input clearable v-model="page.params.dictTypeName"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="说明">
<el-input clearable v-model="page.params.remarks"></el-input>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item style="float: right;">
<el-button type="primary" @click="onSearch()">查询</el-button>
<el-button @click="add()">添加</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<el-table :data="tableData" border style="width: 100%;">
<el-table-column label="序号" width="50px" type="index" align="center">
</el-table-column>
<el-table-column label="操作" align="center" width="300px">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="guanli(scope.row)">
管理
</el-button>
<el-button type="primary" size="mini" @click="editRow(scope.row)">
修改
</el-button>
<el-button type="danger" size="mini" @click.native.prevent="deleteRow(scope.row)">
删除
</el-button>
</template>
</el-table-column>
<el-table-column prop="dictTypeCode" label="字典分类编码" align="center">
</el-table-column>
<el-table-column prop="dictTypeName" label="字典分类名称" align="center">
</el-table-column>
<el-table-column prop="remarks" label="说明" align="center">
</el-table-column>
</el-table>
<pagination :total="page.total" :page.sync="page.current" :limit.sync="page.size" @pagination="pagination"/>
<!-- 分类编辑 -->
<el-dialog :title="dialogTitle + '字典分类'" :visible.sync="editDialog" width="50%">
<el-form>
<table class="e-table" cellspacing="0">
<tr>
<td>数据字典code</td>
<td>
<el-input v-model="form.dictTypeCode"></el-input>
</td>
</tr>
<tr>
<td>数据分类名称</td>
<td>
<el-input v-model="form.dictTypeName"></el-input>
</td>
</tr>
<tr>
<td>说明</td>
<td>
<el-input type="textarea" v-model="form.remarks"></el-input>
</td>
</tr>
</table>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="save()"> </el-button>
<el-button @click="editDialog = false"> </el-button>
</div>
</el-dialog>
</div>
<dict-common @doback="resetState" :dictData='dictData' v-show="viewState == 2"/>
</div>
</template>
<script>
import { pageList, saveDictType, putDictType, delDictType } from '@/api/system/dictType/index.js'
import dictCommon from './dictCommon.vue'
export default {
data() {
return {
editDialog: false,
dialogTitle: '',
form: {},
formBackup: Object.assign({}, this.form),
page: {
total: 0, //
current: 1, //
size: 10, //
params: {
dictTypeName: '',
dictTypeCode: ''
}
},
tableData: [],
viewState: 1,
dictData: {}
}
},
components: {
dictCommon
},
mounted() {
this.getPageList(this.page)
},
methods: {
pagination(val) { //
this.page.current = val.pageNum
this.page.size = val.pageSize
this.getPageList(this.page)
},
onSearch() { //
this.getPageList()
},
resetSearch() { //
this.page.current = 1
this.getPageList()
},
getPageList() { //
pageList(this.page).then((res) => {
if (res.success) {
this.tableData = res.data.records
this.page.total = res.data.total
} else {
this.tableData = []
this.page.total = 0
}
})
},
add() {
this.dialogTitle = '新增'
this.editDialog = true
this.form = Object.assign({}, this.formBackup)
},
editRow(row) {
this.dialogTitle = '编辑'
this.editDialog = true
this.form = Object.assign({}, row)
},
save() {
if (this.form.sid) {
putDictType(this.form).then(res => {
this.editDialog = false
this.getPageList(this.page)
this.$message({
message: res.msg,
type: 'success'
})
})
} else {
saveDictType(this.form).then(res => {
this.editDialog = false
this.getPageList(this.page)
this.$message({
message: res.msg,
type: 'success'
})
})
}
},
deleteRow(row) {
this.$confirm('确定要删除该条数据吗, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
delDictType({ sid: row.sid }).then(res => {
this.getPageList(this.page)
this.$message({
type: 'success',
message: '删除成功!'
})
})
})
},
guanli(row) {
this.dictData = { dictType: row.dictTypeCode }
this.viewState = 2
},
resetState() {
this.viewState = 1
}
}
}
</script>
<style scoped="scoped">
.my-tabs {
margin-top: 10px;
}
</style>

155
demo-web-ui/src/views/dictManage/dictMap.vue

@ -1,155 +0,0 @@
<template>
<div class="app-app-container">
<div class="tab-header webtop">
<!--标题-->
<div>{{ viewTitle }}</div>
<!--start 添加修改按钮-->
<div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="save()">保存
</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="form_obj" class="formadd" :model="formobj">
<div class="title">
<div>[{{ dictionariesKey }}+{{dictionariesValue}}]映射列表</div>
<el-button type="primary" size="mini" @click="Add">添加</el-button>
</div>
<el-table :key="tableKey" :data="formobj.listDtos" :index="index" border style="width: 100%">
<el-table-column fixed width="80px" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column fixed prop="name" label="操作" width="100px" align="center" header-align="center">
<template slot-scope="scope">
<el-button size="mini" type="danger" @click="dataDelete(scope.$index)">删除
</el-button>
</template>
</el-table-column>
<el-table-column label="映射来源" align="center">
<template slot-scope="scope">
<el-select v-model="scope.row.map_sourceValue" filterable placeholder="" @change="changeSource($event, scope.row)">
<el-option v-for="item in mappingsource_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"></el-option>
</el-select>
</template>
</el-table-column>
<el-table-column label="映射实体名称" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.map_object" placeholder="" clearable/>
</template>
</el-table-column>
<el-table-column label="映射项目类别" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.map_item" placeholder="" clearable/>
</template>
</el-table-column>
<el-table-column label="映射项目编码" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.map_itemKey" placeholder="" clearable/>
</template>
</el-table-column>
<el-table-column label="映射项目值" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.map_itemValue" placeholder="" clearable/>
</template>
</el-table-column>
</el-table>
</el-form>
</div>
</div>
</template>
<script>
import { typeValues } from '@/api/system/roleAdminister/index'
import { saveMappingList, selectMappingListInfo } from '@/api/system/dictType/index.js'
export default {
data() {
return{
viewTitle: '数据字典-映射管理',
tableKey: 0,
index: 0,
dictionariesKey: '',
dictionariesValue: '',
mappingsource_list: [],
formobj: {
userSid: '',
dictSid: '',
listDtos: []
},
submitdisabled: false
}
},
methods: {
showAdd(row) {
this.formobj.dictSid = row.sid
this.dictionariesKey = row.dictType
this.dictionariesValue = row.dictValue
this.formobj.userSid = window.sessionStorage.getItem('userSid')
typeValues({ type: 'sys_mappingsource' }).then((resp) => {
if (resp.success) {
this.mappingsource_list = resp.data
}
})
selectMappingListInfo({ dictSid: row.sid }).then((resp) => {
if (resp.success) {
this.formobj.listDtos = resp.data
}
})
},
Add() {
this.formobj.listDtos.push({
map_item: '',
map_itemKey: '',
map_itemValue: '',
map_object: '',
map_sourceKey: '',
map_sourceValue: '',
sid: ''
})
},
changeSource(value, row) {
let bb = null
this.mappingsource_list.forEach((e) => {
if (e.dictValue === value) {
bb = {
value: e.dictValue,
key: e.dictKey
}
}
})
row.map_sourceKey = bb.key
},
dataDelete(index) {
this.formobj.listDtos.splice(index, 1)
},
save() {
if (this.formobj.listDtos.length === 0) {
this.$message({ showClose: true, type: 'error', message: '映射列表不能为空' })
return
}
saveMappingList(this.formobj).then((res) => {
if (res.success) {
this.$message({ showClose: true, type: 'success', message: '保存成功' })
this.handleReturn()
}
})
},
handleReturn() {
this.formobj = {
userSid: '',
dictSid: '',
listDtos: []
}
this.$emit('doback')
}
}
}
</script>
<style scoped>
.title {
padding: 7px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
</style>

58
demo-web-ui/src/views/guideManage/guideManage.vue

@ -24,13 +24,6 @@
<el-button type="primary" size="mini" @click="editRow(scope.row)">
添加
</el-button>
<el-button
type="danger"
size="mini"
@click.native.prevent="deleteRow(scope.row)"
>
删除
</el-button>
</template>
</el-table-column>
</el-table>
@ -41,19 +34,32 @@
:limit.sync="page.size"
@pagination="pagination"
/>
<el-dialog title="收货地址" :visible.sync="lookstuders">
<el-table :data="gridData">
<el-dialog title="学生" :visible.sync="lookstuders">
<el-table
ref="multipleTable"
:data="gridData"
row-key="sid"
:tree-props="{children: 'children', hasChildren: 'hasChildren'}"
border
>
<el-table-column
property="infoId"
label="日期"
width="150"
></el-table-column>
<el-table-column
property="name"
property="studentName"
label="姓名"
width="200"
></el-table-column>
<el-table-column property="address" label="地址"></el-table-column>
<el-table-column property="studentNo" label="学号"></el-table-column>
<el-table-column property="calss" label="班级"></el-table-column>
<el-table-column label="操作" align="center">
<template slot-scope="scope">
<el-button
type="danger"
size="mini"
@click.native.prevent="deleteRow(scope.row)"
>
删除
</el-button>
</template>
</el-table-column>
</el-table>
</el-dialog>
<!-- 编辑角色信息 -->
@ -89,7 +95,7 @@
v-for="item in options"
:key="item.value"
:label="item.name"
:value="item.id"
:value="item.name"
>
</el-option>
</el-select>
@ -103,7 +109,7 @@
v-for="item in options"
:key="item.value"
:label="item.infoId"
:value="item.id"
:value="item.infoId"
>
</el-option>
</el-select>
@ -125,6 +131,7 @@ import {
pageList,
saveSysInfoShip,
selectTeacherDownStudent,
deleteSysInfoShip
} from "@/api/system/sources/index.js";
export default {
@ -135,7 +142,7 @@ export default {
editDialog: false,
lookstuders: false,
form: {},
gridData: {},
gridData: [],
teacher: {},
type: "js",
formBackup: Object.assign({}, this.form),
@ -166,10 +173,10 @@ export default {
methods: {
lookstuder(row) {
this.lookstuders = true;
console.log(row.infoId);
selectTeacherDownStudent({ infoId: row.infoId }).then((res) => {
this.gridData=res.data
});
selectTeacherDownStudent({ infoId: row.infoId }).then((res) => {
console.log(res.data);
this.gridData = res.data;
});
},
pagination(val) {
//
@ -216,7 +223,6 @@ export default {
this.form = Object.assign({}, row);
},
save() {
console.log(this.teacher);
saveSysInfoShip(this.teacher).then((res) => {
console.log(res);
});
@ -228,8 +234,8 @@ export default {
cancelButtonText: "取消",
type: "warning",
}).then(() => {
delSources({ sid: row.sid }).then((res) => {
this.getPageList();
deleteSysInfoShip({ sid: row.sid }).then((res) => {
this.getPageList()
this.$message({
type: "success",
message: "删除成功!",

4
demo-web-ui/src/views/login/login.vue

@ -100,6 +100,8 @@ export default {
mounted() {},
methods: {
login(data) {
console.log(data);
console.log(this.loginForm);
this.loading = true;
this.loginForm.verifyCode = data.verifyCode;
this.loginForm.uuid = data.uuid;
@ -161,7 +163,7 @@ export default {
});
},
regist(){
this.$router.push('/reg')
this.$router.push('/Regist')
}
},
};

388
demo-web-ui/src/views/workflow/definition/definition.vue

@ -1,33 +1,77 @@
<template>
<el-tabs class="my-tabs" v-model="activeName" type="card" @tab-click="handleClick">
<el-tabs
v-model="activeName"
class="my-tabs"
type="card"
@tab-click="handleClick"
>
<el-tab-pane label="学生信息" name="roleList">
<div class="container">
<el-table :data="tableData" border style="width: 100%">
<el-table-column label="序号" width="70px" type="index" align="center">
<el-table-column
label="序号"
width="70px"
type="index"
align="center"
>
</el-table-column>
<el-table-column label="操作" width="150px" align="center">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="editRow(scope.row)">
修改
</el-button>
<el-button type="danger" size="mini" @click.native.prevent="deleteRow(scope.row)">
<el-button
type="danger"
size="mini"
@click.native.prevent="deleteRow(scope.row)"
>
删除
</el-button>
</template>
</el-table-column>
<el-table-column prop="name" label="学生姓名" width="100px" align="center">
<el-table-column
prop="name"
label="学生姓名"
width="100px"
align="center"
>
</el-table-column>
<el-table-column prop="infoId" label="学号ID" align="center" width="150px">
<el-table-column
prop="infoId"
label="学号ID"
align="center"
width="150px"
>
</el-table-column>
<el-table-column prop="sex" label="性别" align="center" width="70px">
</el-table-column>
<el-table-column prop="calss" label="所属班级" align="center" width="100px">
<el-table-column
prop="calss"
label="所属班级"
align="center"
width="100px"
>
</el-table-column>
<el-table-column prop="department" label="系别" align="center" width="100px">
<el-table-column
prop="department"
label="系别"
align="center"
width="100px"
>
</el-table-column>
<el-table-column prop="speciality" label="专业" align="center" width="150px">
<el-table-column
prop="speciality"
label="专业"
align="center"
width="150px"
>
</el-table-column>
<el-table-column prop="studyYear" label="入学年份" align="center" width="150px">
<el-table-column
prop="studyYear"
label="入学年份"
align="center"
width="150px"
>
</el-table-column>
<el-table-column width="200px" label="成绩录入" align="center">
<template>
@ -38,9 +82,18 @@
</el-table-column>
</el-table>
<pagination :total="page.total" :page.sync="page.current" :limit.sync="page.size" @pagination="pagination" />
<pagination
:total="page.total"
:page.sync="page.current"
:limit.sync="page.size"
@pagination="pagination"
/>
<!-- 编辑角色信息 -->
<el-dialog :title="dialogTitle + '角色信息'" :visible.sync="editDialog" width="40%">
<el-dialog
:title="dialogTitle + '角色信息'"
:visible.sync="editDialog"
width="40%"
>
<table class="e-table" cellspacing="0">
<tr>
<td>学生姓名</td>
@ -69,20 +122,29 @@
<tr>
<td>系别</td>
<td>
<el-input v-model="form.department" style="width: 300px"></el-input>
<el-input
v-model="form.department"
style="width: 300px"
></el-input>
</td>
</tr>
<tr>
<td>专业</td>
<td>
<el-input v-model="form.speciality" style="width: 300px"></el-input>
<el-input
v-model="form.speciality"
style="width: 300px"
></el-input>
</td>
</tr>
<tr>
<td>入学年份</td>
<td>
<el-input v-model="form.studyYear" style="width: 300px"></el-input>
<el-input
v-model="form.studyYear"
style="width: 300px"
></el-input>
</td>
</tr>
</table>
@ -147,30 +209,46 @@
<!--</div>-->
</el-tab-pane>
<!-- 学生成绩录入 -->
<el-dialog :title="dialogTitle + '学生成绩'" :visible.sync="entry" width="40%">
<el-dialog
:title="dialogTitle + '学生成绩'"
:visible.sync="entry"
width="40%"
>
<table class="e-table" cellspacing="0">
<tr>
<td>学号ID</td>
<td>
<el-input v-model="student.studentNo" style="width: 300px"></el-input>
<el-input
v-model="student.studentNo"
style="width: 300px"
></el-input>
</td>
</tr>
<tr>
<td>四级()</td>
<td>
<el-input v-model="student.fourScore" style="width: 300px"></el-input>
<el-input
v-model="student.fourScore"
style="width: 300px"
></el-input>
</td>
</tr>
<tr>
<td>六级()</td>
<td>
<el-input v-model="student.sixScore" style="width: 300px"></el-input>
<el-input
v-model="student.sixScore"
style="width: 300px"
></el-input>
</td>
</tr>
<tr>
<td>计算机()</td>
<td>
<el-input v-model="student.computerScore" style="width: 300px"></el-input>
<el-input
v-model="student.computerScore"
style="width: 300px"
></el-input>
</td>
</tr>
<tr>
@ -210,154 +288,154 @@
</template>
<script>
import {
pageList,
saveSourcesInfo,
putSourcesInfo,
delSources,
addStudentScore
} from "@/api/system/sources/index.js";
import {
pageList,
saveSourcesInfo,
putSourcesInfo,
delSources,
addStudentScore
} from '@/api/system/sources/index.js'
export default {
data() {
return {
activeName: "roleList",
dialogTitle: "",
editDialog: false,
entry: false,
form: {},
student: {},
type: "xs",
jiuye: '已就业',
formBackup: Object.assign({}, this.form),
page: {
total: 0, //
current: 1, //
size: 10, //
params: {
psid: "",
sourceId: "",
sourceName: "",
},
export default {
data() {
return {
activeName: "roleList",
dialogTitle: "",
editDialog: false,
entry: false,
form: {},
student: {},
type: "xs",
jiuye: "已就业",
formBackup: Object.assign({}, this.form),
page: {
total: 0, //
current: 1, //
size: 10, //
params: {
psid: "",
sourceId: "",
sourceName: "",
},
},
tableData: [],
tableData1:[{name:'小王',infoId:'xs123',calss:'1',sex:'男',department:'2',speciality:'1',studyYear:'2023'},
],
zylb: [],
sourceList: [],
};
},
mounted() {
this.getPageList(this.page);
// getsourceList().then(res => {
// this.sourceList = res.data
// })
// getZzylb().then(res => {
// this.zylb = res.data
// })
},
methods: {
pagination(val) {
//
this.page.current = val.pageNum;
this.page.size = val.pageSize;
this.getPageList(this.page);
},
resetSearch() {
//
this.page = {
total: 0, //
current: 1, //
size: 10, //
params: {
name: "",
psid: "",
sourceId: "",
sourceName: "",
},
tableData: [],
zylb: [],
sourceList: [],
};
this.getPageList();
},
mounted() {
this.getPageList(this.page);
// getsourceList().then(res => {
// this.sourceList = res.data
// })
// getZzylb().then(res => {
// this.zylb = res.data
// })
getPageList() {
//
pageList(this.type).then((res) => {
this.tableData = res.data;
this.page.total = res.data.total;
});
},
methods: {
pagination(val) {
//
this.page.current = val.pageNum;
this.page.size = val.pageSize;
this.getPageList(this.page);
},
resetSearch() {
//
this.page = {
total: 0, //
current: 1, //
size: 10, //
params: {
name: "",
psid: "",
sourceId: "",
sourceName: "",
},
};
handleClick(tab, event) {
if (tab.name == "addrole") {
this.dialogTitle = "新增";
this.roleForm = Object.assign({}, this.formBackup);
} else {
this.getPageList();
},
getPageList() {
//
pageList(this.type).then((res) => {
this.tableData = res.data;
this.page.total = res.data.total;
}
},
save() {
if (this.form.sid) {
putSourcesInfo(this.form).then((res) => {
this.editDialog = false;
this.getPageList(this.page);
this.$message({
message: res.msg,
type: "success",
});
});
},
handleClick(tab, event) {
if (tab.name == "addrole") {
this.dialogTitle = "新增";
this.roleForm = Object.assign({}, this.formBackup);
} else {
} else {
saveSourcesInfo(this.form).then((res) => {
this.getPageList();
}
},
save() {
if (this.form.sid) {
putSourcesInfo(this.form).then((res) => {
this.editDialog = false;
this.getPageList(this.page);
this.$message({
message: res.msg,
type: "success",
});
});
} else {
saveSourcesInfo(this.form).then((res) => {
this.getPageList();
this.activeName = "roleList";
this.$message({
message: res.msg,
type: "success",
});
});
}
this.reset();
},
save1() {
this.entry = false;
console.log(this.student);
addStudentScore(this.student).then((res) => {
console.log(res);
})
},
reset() {
this.form = {};
},
editRow(row) {
this.dialogTitle = "编辑";
this.editDialog = true;
this.form = Object.assign({}, row);
// getSourcesInfo({sid: row.sid}).then(res => {
// this.form = res.data
// })
},
chengji() {
this.dialogTitle = "录入";
this.entry = true;
},
deleteRow(row) {
this.$confirm("确定要删除该资源吗, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then(() => {
delSources({
sid: row.sid
}).then((res) => {
this.getPageList();
this.$message({
type: "success",
message: "删除成功!",
});
this.activeName = "roleList";
this.$message({
message: res.msg,
type: "success",
});
});
},
}
this.reset();
},
save1() {
this.entry = false;
console.log(this.student);
addStudentScore(this.student).then((res) => {
console.log(res);
});
},
};
reset() {
this.form = {};
},
editRow(row) {
this.dialogTitle = "编辑";
this.editDialog = true;
this.form = Object.assign({}, row);
// getSourcesInfo({sid: row.sid}).then(res => {
// this.form = res.data
// })
},
chengji() {
this.dialogTitle = "录入";
this.entry = true;
},
deleteRow(row) {
this.$confirm("确定要删除该资源吗, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then(() => {
delSources({ sid: row.sid }).then((res) => {
this.getPageList();
this.$message({
type: 'success',
message: '删除成功!'
})
})
})
}
}
}
</script>
<style scoped="scoped" lang="scss">
.my-tabs {
margin-top: 10px;
}
.my-tabs {
margin-top: 10px;
}
</style>
Loading…
Cancel
Save