20200617-zlp-1

多部门切换
视频学习页面 过滤bug
This commit is contained in:
paidaxing444
2020-06-17 17:58:52 +08:00
parent 4b8bf8f5d4
commit 639357f280
17 changed files with 415 additions and 206 deletions

View File

@ -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({

View File

@ -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);
}
}
}

View File

@ -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,

View File

@ -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 => {

View File

@ -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();
},

View File

@ -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;

View File

@ -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>

View 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>