20200617-zlp-1
多部门切换 视频学习页面 过滤bug
This commit is contained in:
@ -9,6 +9,23 @@ export function listDept(query) {
|
||||
})
|
||||
}
|
||||
|
||||
// 查询多幼儿园列表
|
||||
export function getDeptsInfo() {
|
||||
return request({
|
||||
url: '/system/dept/getDeptsInfo',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// 切换部门
|
||||
export function changeDept(deptId) {
|
||||
return request({
|
||||
url: '/system/dept/changeDept/'+deptId,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
// 查询部门详细
|
||||
export function getDept(deptId) {
|
||||
return request({
|
||||
|
@ -1,6 +1,11 @@
|
||||
<template>
|
||||
<div class="navbar">
|
||||
<hamburger id="hamburger-container" :is-active="sidebar.opened" class="hamburger-container" @toggleClick="toggleSideBar" />
|
||||
<hamburger
|
||||
id="hamburger-container"
|
||||
:is-active="sidebar.opened"
|
||||
class="hamburger-container"
|
||||
@toggleClick="toggleSideBar"
|
||||
/>
|
||||
|
||||
<breadcrumb id="breadcrumb-container" class="breadcrumb-container" />
|
||||
|
||||
@ -13,15 +18,17 @@
|
||||
<el-tooltip content="布局大小" effect="dark" placement="bottom">
|
||||
<size-select id="size-select" class="right-menu-item hover-effect" />
|
||||
</el-tooltip>
|
||||
|
||||
</template>
|
||||
|
||||
<el-dropdown class="avatar-container right-menu-item hover-effect" trigger="click">
|
||||
<div class="avatar-wrapper">
|
||||
<img :src="avatar" class="user-avatar">
|
||||
<img :src="avatar" class="user-avatar" />
|
||||
<i class="el-icon-caret-bottom" />
|
||||
</div>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<router-link to="/user/change/dept" v-if="isMoreSchool">
|
||||
<el-dropdown-item>切换园所</el-dropdown-item>
|
||||
</router-link>
|
||||
<router-link to="/user/profile">
|
||||
<el-dropdown-item>个人中心</el-dropdown-item>
|
||||
</router-link>
|
||||
@ -38,12 +45,13 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapGetters } from 'vuex'
|
||||
import Breadcrumb from '@/components/Breadcrumb'
|
||||
import Hamburger from '@/components/Hamburger'
|
||||
import Screenfull from '@/components/Screenfull'
|
||||
import SizeSelect from '@/components/SizeSelect'
|
||||
import Search from '@/components/HeaderSearch'
|
||||
import { mapGetters } from "vuex";
|
||||
import Breadcrumb from "@/components/Breadcrumb";
|
||||
import Hamburger from "@/components/Hamburger";
|
||||
import Screenfull from "@/components/Screenfull";
|
||||
import SizeSelect from "@/components/SizeSelect";
|
||||
import Search from "@/components/HeaderSearch";
|
||||
import { getDeptsInfo } from "@/api/system/dept";
|
||||
|
||||
export default {
|
||||
components: {
|
||||
@ -54,40 +62,55 @@ export default {
|
||||
Search
|
||||
},
|
||||
computed: {
|
||||
...mapGetters([
|
||||
'sidebar',
|
||||
'avatar',
|
||||
'device'
|
||||
]),
|
||||
...mapGetters(["sidebar", "avatar", "device"]),
|
||||
setting: {
|
||||
get() {
|
||||
return this.$store.state.settings.showSettings
|
||||
return this.$store.state.settings.showSettings;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.dispatch('settings/changeSetting', {
|
||||
key: 'showSettings',
|
||||
this.$store.dispatch("settings/changeSetting", {
|
||||
key: "showSettings",
|
||||
value: val
|
||||
})
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
isMoreSchool: undefined
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getDepts();
|
||||
},
|
||||
methods: {
|
||||
getDepts() {
|
||||
getDeptsInfo().then(response => {
|
||||
// console.log("school=" + response.total);
|
||||
// console.log( response);
|
||||
if (response.total <= 1) {
|
||||
this.isMoreSchool = false;
|
||||
} else {
|
||||
this.isMoreSchool = true;
|
||||
}
|
||||
});
|
||||
},
|
||||
toggleSideBar() {
|
||||
this.$store.dispatch('app/toggleSideBar')
|
||||
this.$store.dispatch("app/toggleSideBar");
|
||||
},
|
||||
async logout() {
|
||||
this.$confirm('确定注销并退出系统吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
this.$confirm("确定注销并退出系统吗?", "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
}).then(() => {
|
||||
this.$store.dispatch('LogOut').then(() => {
|
||||
location.reload()
|
||||
})
|
||||
})
|
||||
this.$store.dispatch("LogOut").then(() => {
|
||||
location.reload();
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@ -96,18 +119,18 @@ export default {
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
background: #fff;
|
||||
box-shadow: 0 1px 4px rgba(0,21,41,.08);
|
||||
box-shadow: 0 1px 4px rgba(0, 21, 41, 0.08);
|
||||
|
||||
.hamburger-container {
|
||||
line-height: 46px;
|
||||
height: 100%;
|
||||
float: left;
|
||||
cursor: pointer;
|
||||
transition: background .3s;
|
||||
-webkit-tap-highlight-color:transparent;
|
||||
transition: background 0.3s;
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
|
||||
&:hover {
|
||||
background: rgba(0, 0, 0, .025)
|
||||
background: rgba(0, 0, 0, 0.025);
|
||||
}
|
||||
}
|
||||
|
||||
@ -139,10 +162,10 @@ export default {
|
||||
|
||||
&.hover-effect {
|
||||
cursor: pointer;
|
||||
transition: background .3s;
|
||||
transition: background 0.3s;
|
||||
|
||||
&:hover {
|
||||
background: rgba(0, 0, 0, .025)
|
||||
background: rgba(0, 0, 0, 0.025);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -78,6 +78,19 @@ export const constantRoutes = [{
|
||||
meta: { title: '个人中心', icon: 'user' }
|
||||
}]
|
||||
},
|
||||
{
|
||||
path: '/user/change',
|
||||
component: Layout,
|
||||
hidden: true,
|
||||
redirect: 'noredirect',
|
||||
children: [{
|
||||
path: 'dept',
|
||||
component: () =>
|
||||
import ('@/views/system/user/change/dept/index'),
|
||||
name: 'Changedept',
|
||||
meta: { title: '切换岗位', icon: 'user' }
|
||||
}]
|
||||
},
|
||||
{
|
||||
path: '/dict',
|
||||
component: Layout,
|
||||
|
@ -166,7 +166,7 @@
|
||||
<video
|
||||
v-if="imageUrl.length > 1 && imgFlag == false"
|
||||
controls="controls"
|
||||
:src="[qiniuUrl + '/' + imageUrl]"
|
||||
:src="[imageUrl]"
|
||||
class="avatar"
|
||||
></video>
|
||||
<i
|
||||
@ -201,7 +201,7 @@ export default {
|
||||
name: "Video",
|
||||
data() {
|
||||
return {
|
||||
qiniuUrl: "https://files.benyiedu.com", // 个人七牛访问前缀
|
||||
qiniuUrl: "https://files.benyiedu.com/", // 个人七牛访问前缀
|
||||
imgFlag: false,
|
||||
imageUrl: [],
|
||||
percent: 0,
|
||||
@ -287,10 +287,16 @@ export default {
|
||||
methods: {
|
||||
//获取选中节点的label用作标题
|
||||
getLastChildName(val) {
|
||||
//console.log(val[val.length-1]);
|
||||
//console.log(this.$refs.myCascader.getCheckedNodes()[0].pathLabels[val.length-1]);
|
||||
var lastLable=this.$refs.typeCascader.getCheckedNodes()[0].pathLabels[val.length-1];
|
||||
this.form.title=lastLable;
|
||||
//console.log(val == undefined);
|
||||
if (val == undefined) {
|
||||
} else {
|
||||
//console.log(val[val.length-1]);
|
||||
//console.log(this.$refs.myCascader.getCheckedNodes()[0].pathLabels[val.length-1]);
|
||||
var lastLable = this.$refs.typeCascader.getCheckedNodes()[0].pathLabels[
|
||||
val.length - 1
|
||||
];
|
||||
this.form.title = lastLable;
|
||||
}
|
||||
},
|
||||
// 字典状态字典翻译
|
||||
typeFormat(row, column) {
|
||||
@ -325,7 +331,7 @@ export default {
|
||||
this.imgFlag = false;
|
||||
this.percent = 0;
|
||||
if (response.hash) {
|
||||
this.imageUrl = response.hash;
|
||||
this.imageUrl = this.qiniuUrl + response.hash + "?e=";
|
||||
} else {
|
||||
this.msgError("视频上传失败,请重新上传!");
|
||||
}
|
||||
@ -401,7 +407,7 @@ export default {
|
||||
if (this.queryParams.type == null) {
|
||||
this.queryParams.type = "";
|
||||
} else {
|
||||
this.queryParams.type = this.queryParams.type.toString();
|
||||
this.queryParams.type = this.queryParams.type.toString() + ",";
|
||||
}
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
@ -446,6 +452,10 @@ export default {
|
||||
this.open = true;
|
||||
this.title = "修改培训";
|
||||
this.imageUrl = response.data.videourl;
|
||||
// console.log(response.data.videourl);
|
||||
// console.log(
|
||||
// response.data.videourl.split("benyiedu.com/")[1].split("?e=")[0]
|
||||
// );
|
||||
//console.log(this.imageUrl);
|
||||
//获取讲师列表
|
||||
listAllLecturer().then(response => {
|
||||
@ -457,12 +467,20 @@ export default {
|
||||
/** 提交按钮 */
|
||||
submitForm: function() {
|
||||
//上传完成 赋值给from表单
|
||||
this.form.videourl = this.imageUrl;
|
||||
if (this.imageUrl) {
|
||||
this.form.videourl = this.imageUrl
|
||||
.split("benyiedu.com/")[1]
|
||||
.split("?e=")[0];
|
||||
} else {
|
||||
this.msgError("等待视频上传");
|
||||
return;
|
||||
}
|
||||
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
//提交将type arry转字符串
|
||||
//console.log(this.form.type.toString());
|
||||
this.form.type = this.form.type.toString();
|
||||
this.form.type = this.form.type.toString() + ",";
|
||||
|
||||
if (this.form.id != undefined) {
|
||||
updateVideo(this.form).then(response => {
|
||||
|
@ -171,8 +171,9 @@ export default {
|
||||
if (this.queryParams.type == null) {
|
||||
this.queryParams.type = "";
|
||||
} else {
|
||||
this.queryParams.type = this.queryParams.type.toString();
|
||||
this.queryParams.type = this.queryParams.type.toString()+",";
|
||||
}
|
||||
//console.log(this.queryParams.type);
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
|
@ -46,7 +46,7 @@ export default {
|
||||
methods: {
|
||||
async getData() {
|
||||
await listTeacherGroupXw().then(response => {
|
||||
console.log(response);
|
||||
//console.log(response);
|
||||
let name = [];
|
||||
let value = [];
|
||||
let len = response.rows;
|
||||
|
@ -12,7 +12,12 @@
|
||||
</el-form-item>
|
||||
<el-form-item label="幼儿园类型" prop="type">
|
||||
<el-select v-model="queryParams.type" placeholder="请选择幼儿园类型" clearable size="small">
|
||||
<el-option label="请选择字典生成" value />
|
||||
<el-option
|
||||
v-for="dict in typeOptions"
|
||||
:key="dict.dictValue"
|
||||
:label="dict.dictLabel"
|
||||
:value="dict.dictValue"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="所在省" prop="provincename">
|
||||
@ -43,21 +48,15 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="状态" prop="status">
|
||||
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="small">
|
||||
<el-option label="请选择字典生成" value />
|
||||
<el-select v-model="queryParams.status" placeholder="状态" clearable size="small">
|
||||
<el-option
|
||||
v-for="dict in statusOptions"
|
||||
:key="dict.dictValue"
|
||||
:label="dict.dictLabel"
|
||||
:value="dict.dictValue"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="创建时间" prop="approvalTime">
|
||||
<el-date-picker
|
||||
clearable
|
||||
size="small"
|
||||
style="width: 200px"
|
||||
v-model="queryParams.approvalTime"
|
||||
type="date"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="选择创建时间"
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
@ -169,18 +168,6 @@
|
||||
<el-form-item label="所在省" prop="provincename">
|
||||
<v-distpicker v-model="form.provincename" @selected="onSelected"></v-distpicker>
|
||||
</el-form-item>
|
||||
<!--<el-form-item label="所在城市" prop="regionid">
|
||||
<el-input v-model="form.regionid" placeholder="请输入所在城市" />
|
||||
</el-form-item>-->
|
||||
<!--<el-form-item label="所在城市" prop="regionname">
|
||||
<v-distpicker v-model="form.regionname" @selected="onSelected"></v-distpicker>
|
||||
</el-form-item>-->
|
||||
<!--<el-form-item label="所在区" prop="area">
|
||||
<el-input v-model="form.area" placeholder="请输入所在区" />
|
||||
</el-form-item>-->
|
||||
<!--<el-form-item label="所在区" prop="areaname">
|
||||
<v-distpicker v-model="form.areaname" @selected="onSelected"></v-distpicker>
|
||||
</el-form-item>-->
|
||||
<el-form-item label="详细地址" prop="address">
|
||||
<el-input v-model="form.address" placeholder="请输入详细地址" />
|
||||
</el-form-item>
|
||||
@ -223,18 +210,7 @@
|
||||
</el-form-item>
|
||||
<el-form-item label="创建时间" prop="createTime" v-show="false">
|
||||
<el-input v-model="form.createTime"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="审核时间" prop="approvalTime">
|
||||
<el-date-picker
|
||||
clearable
|
||||
size="small"
|
||||
style="width: 200px"
|
||||
v-model="form.approvalTime"
|
||||
type="date"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="选择审核时间"
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
</el-form-item>
|
||||
<el-form-item label="园所会员性质" prop="isDemonstr">
|
||||
<el-select v-model="form.isDemonstr" placeholder="请选择">
|
||||
<el-option
|
||||
@ -244,10 +220,7 @@
|
||||
:value="dict.dictValue"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="营业执照图片" prop="businesslicenseimg">
|
||||
<el-input v-model="form.businesslicenseimg" type="textarea" placeholder="请输入内容" />
|
||||
</el-form-item>
|
||||
</el-form-item>
|
||||
<el-form-item label="家长手册发布状态" prop="openBook" v-show="false">
|
||||
<el-input v-model="form.openBook" placeholder="请输入家长手册发布状态" />
|
||||
</el-form-item>
|
||||
@ -271,12 +244,6 @@
|
||||
placeholder="选择开通截至日期"
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="当前学年" prop="dqxn">
|
||||
<el-input v-model="form.dqxn" placeholder="请输入当前学年" />
|
||||
</el-form-item>
|
||||
<el-form-item label="当前学期" prop="dqxq">
|
||||
<el-input v-model="form.dqxq" placeholder="请输入当前学期" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
|
106
ruoyi-ui/src/views/system/user/change/dept/index.vue
Normal file
106
ruoyi-ui/src/views/system/user/change/dept/index.vue
Normal file
@ -0,0 +1,106 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="24" :xs="24">
|
||||
<el-card class="box-card">
|
||||
<div slot="header" class="clearfix">
|
||||
<span>所属园所信息</span>
|
||||
</div>
|
||||
<div>
|
||||
<ul class="list-group list-group-striped">
|
||||
<li class="list-group-item">
|
||||
<svg-icon icon-class="user" />用户名称
|
||||
<div class="pull-right">{{ user.userName }}</div>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<svg-icon icon-class="tree" />所属部门
|
||||
<div class="pull-right" v-if="user.dept">{{ user.dept.deptName }}</div>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<svg-icon icon-class="tree" />选择部门
|
||||
<div class="pull-right" v-for="item in deptsOptions" :key="item.deptId">
|
||||
<input
|
||||
type="radio"
|
||||
name="dept"
|
||||
:id="item.deptId"
|
||||
:value="item.deptId"
|
||||
v-model="checkedValue"
|
||||
/>
|
||||
<label :for="item.deptId">{{ item.deptName }}</label>
|
||||
</div>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<el-button type="primary" size="mini" @click="submit">保存</el-button>
|
||||
<el-button type="danger" size="mini" @click="close">关闭</el-button>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</el-card>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getUserProfile } from "@/api/system/user";
|
||||
import { getDeptsInfo,changeDept } from "@/api/system/dept";
|
||||
|
||||
export default {
|
||||
name: "changedept",
|
||||
data() {
|
||||
return {
|
||||
checkedValue: null,
|
||||
oldValue: null,
|
||||
user: {},
|
||||
deptsOptions: []
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getUser();
|
||||
this.getDepts();
|
||||
},
|
||||
methods: {
|
||||
getDepts() {
|
||||
getDeptsInfo().then(response => {
|
||||
// console.log("school=" + response.total);
|
||||
// console.log( response);
|
||||
if (response.total <= 1) {
|
||||
} else {
|
||||
console.log(response);
|
||||
this.deptsOptions = response.rows;
|
||||
}
|
||||
});
|
||||
},
|
||||
getUser() {
|
||||
getUserProfile().then(response => {
|
||||
this.user = response.data;
|
||||
this.checkedValue = response.data.dept.deptId;
|
||||
this.oldValue = response.data.dept.deptId;
|
||||
});
|
||||
},
|
||||
submit() {
|
||||
if (this.checkedValue == this.oldValue) {
|
||||
this.msgError("幼儿园无变化");
|
||||
return;
|
||||
} else {
|
||||
//切换岗位
|
||||
changeDept(this.checkedValue).then(
|
||||
response => {
|
||||
if (response.code === 200) {
|
||||
this.msgSuccess(response.msg);
|
||||
this.getUser();
|
||||
this.getDepts();
|
||||
} else {
|
||||
this.msgError(response.msg);
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
},
|
||||
close() {
|
||||
this.$store.dispatch("tagsView/delView", this.$route);
|
||||
this.$router.push({ path: "/index" });
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
Reference in New Issue
Block a user