Commit 8f4de510 authored by 乐宝呗666's avatar 乐宝呗666

修改功能

parent 71a3fdcb
...@@ -20,7 +20,7 @@ const routes= [ ...@@ -20,7 +20,7 @@ const routes= [
meta: { meta: {
title: '登录' title: '登录'
}, },
component: () => import('@/views/setTopBoxManage/login') component: () => import('@/views/login')
}, },
{ {
path: '/success', path: '/success',
...@@ -28,7 +28,7 @@ const routes= [ ...@@ -28,7 +28,7 @@ const routes= [
meta: { meta: {
title: '操作成功' title: '操作成功'
}, },
component: () => import('@/views/setTopBoxManage/success') component: () => import('@/views/success')
}, },
{ {
path: '/opt', path: '/opt',
...@@ -81,7 +81,7 @@ const router = new VueRouter({ ...@@ -81,7 +81,7 @@ const router = new VueRouter({
}) })
router.beforeEach((to, from, next) => { router.beforeEach((to, from, next) => {
let user = localStorage.getItem("token"); let user = localStorage.getItem("token");
if (!user && to.path !=='/login') { // 通过vuex state获取当前的token是否存在 if (!user && to.path !=='/login' && to.path !=='/success') { // 通过vuex state获取当前的token是否存在
next({ next({
path: '/login', path: '/login',
}) })
......
This diff is collapsed.
...@@ -80,7 +80,7 @@ export default { ...@@ -80,7 +80,7 @@ export default {
.login-container { .login-container {
width: 100%; width: 100%;
height: 100%; height: 100%;
max-width: 1024px; max-width: 1280px;
.login-bg { .login-bg {
width: 100%; width: 100%;
height: 100%; height: 100%;
......
...@@ -109,8 +109,12 @@ export default { ...@@ -109,8 +109,12 @@ export default {
) )
.then((res) => { .then((res) => {
if (res.data.resultCode === "200") { if (res.data.resultCode === "200") {
// 调用激活接口 if(status === '2'){
this.$router.replace("/success"); this.$router.replace({path:"/success",query:{txt:'激活成功'}})
}else{
this.$router.replace({path:"/success",query:{txt:'上报成功'}})
}
} else { } else {
this.$toast(res.data.message); this.$toast(res.data.message);
} }
......
<template> <template>
<div class="success-container"> <div class="success-container">
<img src="images/applets/success.png" alt="" /> <img src="images/applets/success.png" alt="" />
<p>操作成功</p> <p>{{txt}}</p>
<van-button type="default" @click="sureBtn">确定</van-button>
</div> </div>
</template> </template>
<script> <script>
export default {}; export default {
data(){
return {
txt:'',
url:''
}
},
mounted(){
this.txt = this.$route.query.txt || '操作成功'
this.url = this.$route.query.url || '/commit'
},
methods:{
sureBtn(){
this.$router.push(this.url)
}
}
};
</script> </script>
<style lang="scss"> <style lang="scss">
.success-container { .success-container {
...@@ -22,6 +39,16 @@ export default {}; ...@@ -22,6 +39,16 @@ export default {};
font-size: 18px; font-size: 18px;
color: #333; color: #333;
} }
.van-button--normal {
background: #a4151d;
border-radius: 4px;
height: 40px;
width: 85%;
color: #fff;
border: none;
font-size: 16px;
margin-top: 30px;
}
} }
</style> </style>
This diff is collapsed.
...@@ -2,10 +2,18 @@ ...@@ -2,10 +2,18 @@
<div class="admin-conatiner"> <div class="admin-conatiner">
<Header title="管理员信息" /> <Header title="管理员信息" />
<ul> <ul>
<li v-for="(item,index) in list" :key="index" @click="goDetail(item)"> <li v-for="(item, index) in list" :key="index" @click="goDetail(item)">
<span>{{item.userName}}</span> <span>{{ item.userName }}</span>
<img v-if="item.id===currentUserId" src="/images/applets/edit.png" alt /> <img
<img v-if="item.id!==currentUserId" src="/images/applets/detail.png" alt /> v-if="item.id === currentUserId"
src="/images/applets/edit.png"
alt
/>
<img
v-if="item.id !== currentUserId"
src="/images/applets/detail.png"
alt
/>
</li> </li>
</ul> </ul>
<my-tabbar active="2"></my-tabbar> <my-tabbar active="2"></my-tabbar>
...@@ -19,7 +27,7 @@ export default { ...@@ -19,7 +27,7 @@ export default {
data() { data() {
return { return {
list: [], list: [],
currentUserId: JSON.parse(localStorage.getItem("userInfo")).id currentUserId: JSON.parse(localStorage.getItem("userInfo")).id,
}; };
}, },
mounted() { mounted() {
...@@ -32,21 +40,25 @@ export default { ...@@ -32,21 +40,25 @@ export default {
let param = { let param = {
_index: 1, _index: 1,
_size: 10, _size: 10,
type: JSON.parse(localStorage.getItem("userInfo")).type type: JSON.parse(localStorage.getItem("userInfo")).type,
}; };
vm.$https( vm.$https(
{ {
url: "tUser/getPageList", url: "tUser/getPageList",
method: "get", method: "get",
authType: this.backToken authType: this.backToken,
}, },
param param
) )
.then(res => { .then((res) => {
let data = res.data.data; if (res.data.resultCode === "200") {
vm.list = data.records; let data = res.data.data;
vm.list = data.records;
} else {
this.$toast(res.data.message);
}
}) })
.catch(function(err) { .catch(function (err) {
console.log(err); console.log(err);
}); });
}, },
...@@ -55,17 +67,17 @@ export default { ...@@ -55,17 +67,17 @@ export default {
// 修改页面 // 修改页面
this.$router.push({ this.$router.push({
path: "/adminInfo", path: "/adminInfo",
query: { id: item.id, disabled: false } query: { id: item.id, disabled: false },
}); });
} else { } else {
// 详情页面 // 详情页面
this.$router.push({ this.$router.push({
path: "/adminInfo", path: "/adminInfo",
query: { id: item.id, disabled: true } query: { id: item.id, disabled: true },
}); });
} }
} },
} },
}; };
</script> </script>
...@@ -73,7 +85,7 @@ export default { ...@@ -73,7 +85,7 @@ export default {
.admin-conatiner { .admin-conatiner {
width: 100%; width: 100%;
height: 100vh; height: 100vh;
padding: 50px 16px 60px; padding: 50px 24px 60px;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
box-sizing: border-box; box-sizing: border-box;
......
<template> <template>
<div class="home"> <div class="home">
<Header title="观影互动"/> <Header title="观影互动" />
<div class="commit-container"> <div class="commit-container">
<van-tabs type="card" v-model="activeTab"> <van-tabs type="card" v-model="activeTab">
<van-tab title="观影互动"> <van-tab title="观影互动">
<div class="commit-page"> <div class="commit-page">
<commit-tab @updateActive="updateActive"/> <commit-tab @updateActive="updateActive" />
</div> </div>
</van-tab> </van-tab>
<van-tab title="互动历史"> <van-tab title="互动历史">
<div class="commit-page"> <div class="commit-page">
<history-tab /> <history-tab />
</div> </div>
</van-tab> </van-tab>
</van-tabs> </van-tabs>
...@@ -20,58 +20,31 @@ ...@@ -20,58 +20,31 @@
</template> </template>
<script> <script>
import Header from '@/components/Header/index.vue' import Header from "@/components/Header/index.vue";
import commitTab from './components/commitTab.vue' import commitTab from "./components/commitTab.vue";
import historyTab from './components/historyTab.vue' import historyTab from "./components/historyTab.vue";
export default { export default {
components:{ components: {
Header, Header,
commitTab, commitTab,
historyTab historyTab,
}, },
data() { data() {
return { return {
activeTab: 1, activeTab: 1,
form: {}, form: {},
cellIcon:'/images/applets/date.png', cellIcon: "/images/applets/date.png",
show: false, show: false,
fileList: [], fileList: [],
imgFileList: [] imgFileList: [],
}; };
}, },
mounted() {}, mounted() {},
methods: { methods: {
updateActive(active){ updateActive(active) {
this.activeTab = active this.activeTab = active;
}, },
onOversize(file) { },
console.log(file);
this.$toast("文件大小不能超过 500kb");
},
// 打开日历
onDisplay() {
this.show = true;
},
// 关闭日历
onClose() {
this.show = false;
},
// 确认日历
onConfirm(event) {
this.show = false;
this.form.studyTime = this.formatDate(event);
},
// 格式化日历
formatDate(date) {
date = new Date(date);
return `${date.getFullYear()}/${date.getMonth() + 1}/${date.getDate()}`;
},
// 提交数据
onSubmit() {
console.log(this.form);
this.$toast.success("提交成功");
}
}
}; };
</script> </script>
...@@ -79,32 +52,35 @@ export default { ...@@ -79,32 +52,35 @@ export default {
.home { .home {
width: 100%; width: 100%;
height: 100vh; height: 100vh;
padding: 50px 16px 60px; padding: 60px 16px;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
box-sizing: border-box; box-sizing: border-box;
.commit-container { .commit-container {
height: 100%; height: 100%;
/deep/.van-tabs--card>.van-tabs__wrap { /deep/.van-tabs--card > .van-tabs__wrap {
height: 40px; height: 40px;
.van-tabs__nav {
background: rgba(164, 21, 29, 0.1);
}
.van-tabs__nav--card { .van-tabs__nav--card {
margin: 0; margin: 0;
height: 40px; height: 40px;
border-top-left-radius: 8px; border-top-left-radius: 8px;
border-top-right-radius: 8px; border-top-right-radius: 8px;
border: 1px solid #A4151D; border: 1px solid #a4151d;
.van-tab { .van-tab {
color: #A4151D; color: #a4151d;
border-right: 1px solid #A4151D; border-right: 1px solid #a4151d;
&.van-tab--active { &.van-tab--active {
color: #fff; color: #fff;
background-color: #A4151D; background-color: #a4151d;
} }
&:last-child { &:last-child {
border-top-right-radius:8px; border-top-right-radius: 8px;
} }
&:first-child { &:first-child {
border-top-left-radius:8px; border-top-left-radius: 8px;
} }
} }
} }
......
<template> <template>
<div class="admin-detail-content"> <div class="admin-detail-content">
<Header title="管理员详情"/> <Header title="管理员详情" />
<div class="input-box"> <div class="input-box">
<van-field <van-field
label="管理员姓名" label="管理员姓名"
...@@ -49,93 +49,95 @@ ...@@ -49,93 +49,95 @@
</template> </template>
<script> <script>
import Header from '@/components/Header/index.vue' import Header from "@/components/Header/index.vue";
export default { export default {
components:{Header}, components: { Header },
data() { data() {
return { return {
disabled: false, disabled: false,
form: {} form: {},
}; };
}, },
mounted() { mounted() {
this.adminId = this.$route.query.id; this.adminId = this.$route.query.id;
// 查询管理员信息 // 查询管理员信息
if (this.$route.query.disabled === "true") { if (this.$route.query.disabled === "true") {
console.log("查看"); this.disabled = true
this.disabled = true;
// 新增 // 新增
} else { } else {
// 修改 // 修改
console.log("修改"); this.disabled = false
this.disabled = false;
} }
this.getUserInfo() this.getUserInfo();
}, },
methods: { methods: {
getUserInfo(){ getUserInfo() {
let vm = this; let vm = this
let param = { let param = {
id:this.adminId id: this.adminId,
}; };
vm.$https( vm.$https(
{ {
url: "tUser/getById", url: "tUser/getById",
method: "get", method: "get",
authType: this.backToken authType: this.backToken,
},param) },
.then(res => { param
if(res.data.resultCode==='200'){ )
this.form = res.data.data; .then((res) => {
console.log(this.form) if (res.data.resultCode === "200") {
}else{ this.form = res.data.data
} else {
this.$toast(res.data.message) this.$toast(res.data.message)
} }
}) })
.catch(function(err) { .catch(function (err) {
console.log(err); console.log(err);
}); });
}, },
onCancel() { onCancel() {
this.$router.go(-1); this.$router.go(-1)
}, },
// 提交数据 // 提交数据
onSubmit() { onSubmit() {
console.log(this.form); console.log(this.form)
let vm = this; let vm = this
let param = {}; let param = {}
for (let key in this.form) { for (let key in this.form) {
if (this.form[key]) { if (this.form[key]) {
param[key] = this.form[key]; param[key] = this.form[key];
} }
} }
console.log(param)
vm.$https( vm.$https(
{ {
url: "tUser/update", url: "tUser/update",
method: "put", method: "put",
authType: this.backToken authType: this.backToken,
},param) },
.then(res => { param
if(res.data.resultCode==='200'){ )
.then((res) => {
if (res.data.resultCode === "200") {
this.form = res.data.data; this.form = res.data.data;
this.$toast.success("信息修改成功"); this.$router.replace({
this.$router.replace('/admin') path: "/success",
}else{ query: { txt: "信息修改成功", url: "/admin" },
this.$toast(res.data.message) });
} else {
this.$toast(res.data.message);
} }
}) })
.catch(function(err) { .catch(function (err) {
console.log(err); console.log(err);
}); });
} },
} },
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.admin-detail-content { .admin-detail-content {
padding: 50px 16px 0; padding: 50px 24px 0;
// height: calc(100% - 150px); // height: calc(100% - 150px);
overflow-y: auto; overflow-y: auto;
.input-box { .input-box {
...@@ -151,11 +153,11 @@ export default { ...@@ -151,11 +153,11 @@ export default {
} }
} }
.admin-detail-button { .admin-detail-button {
padding: 0 40px; padding: 0 24px;
box-sizing: border-box; box-sizing: border-box;
width: 100%; width: 100%;
margin: 0 auto; margin: 0 auto;
.van-button--normal { .van-button--normal {
background: #a4151d; background: #a4151d;
border-radius: 4px; border-radius: 4px;
...@@ -175,12 +177,11 @@ export default { ...@@ -175,12 +177,11 @@ export default {
color: #b40011; color: #b40011;
} }
} }
.cancel { .cancel {
.van-button--normal{ .van-button--normal {
width: 100%; width: 100%;
}
} }
}
.van-field__control, .van-field__control,
.van-cell__value { .van-cell__value {
color: #333; color: #333;
......
...@@ -110,6 +110,7 @@ ...@@ -110,6 +110,7 @@
v-model="imgFileList" v-model="imgFileList"
multiple multiple
:after-read="uploadImg" :after-read="uploadImg"
:before-delete="deleteImg"
> >
<div class="avatar-plus"> <div class="avatar-plus">
<span>+</span> <span>+</span>
...@@ -177,7 +178,6 @@ export default { ...@@ -177,7 +178,6 @@ export default {
}) })
.then((res) => { .then((res) => {
if (res.data.resultCode === "200") { if (res.data.resultCode === "200") {
console.log(res.data.data);
vm.boardList = res.data.data; vm.boardList = res.data.data;
vm.boardNameList = res.data.data.map((item) => item.name); vm.boardNameList = res.data.data.map((item) => item.name);
} }
...@@ -186,6 +186,7 @@ export default { ...@@ -186,6 +186,7 @@ export default {
console.log(err); console.log(err);
}); });
}, },
// 下拉框确认按钮
onConfirmBoard(value, index) { onConfirmBoard(value, index) {
this.form.boardName = value; this.form.boardName = value;
this.form.boardId = this.boardList[index].id; this.form.boardId = this.boardList[index].id;
...@@ -257,10 +258,13 @@ export default { ...@@ -257,10 +258,13 @@ export default {
} }
return `${value}分`; return `${value}分`;
}, },
// 上传图片
uploadImg(file) { uploadImg(file) {
let vm = this; let vm = this;
// if(Array.isArray(file)){}
const param = new FormData(); const param = new FormData();
param.append("file", file.file); param.append("file", file.file);
console.log(file)
vm.$https( vm.$https(
{ {
url: "file/image/upload", url: "file/image/upload",
...@@ -270,12 +274,17 @@ export default { ...@@ -270,12 +274,17 @@ export default {
param param
) )
.then((res) => { .then((res) => {
this.form.images.push(res.data.url); if(res.data.resultCode==='200'){
this.form.images.push(res.data.data.url);
}else{
this.$toast(res.data.message)
}
}) })
.catch(function (err) { .catch(function (err) {
console.log(err); console.log(err);
}); });
}, },
// 上传视频
uploadVideo(file) { uploadVideo(file) {
let vm = this; let vm = this;
const param = new FormData(); const param = new FormData();
...@@ -289,12 +298,21 @@ export default { ...@@ -289,12 +298,21 @@ export default {
param param
) )
.then((res) => { .then((res) => {
this.form.videos.push(...res.data.urlList); if(res.data.resultCode==='200'){
this.form.videos.push(...res.data.data.urlList);
}else{
this.$toast(res.data.message)
}
}) })
.catch(function (err) { .catch(function (err) {
console.log(err); console.log(err);
}); });
}, },
deleteImg(file,detail){
this.form.images.splice(detail.index,1)
return true
},
// 提交数据 // 提交数据
onSubmit() { onSubmit() {
let vm = this; let vm = this;
...@@ -318,15 +336,13 @@ export default { ...@@ -318,15 +336,13 @@ export default {
) )
.then((res) => { .then((res) => {
if (res.data.resultCode === "200") { if (res.data.resultCode === "200") {
this.$toast.success("提交成功"); this.$router.replace({path:"/success",query:{txt:'提交成功',url:'/commit'}})
// this.$emit('updateActive',1)
this.$router.replace("/success");
} else { } else {
this.$toast(res.data.message); this.$toast(res.data.message)
} }
}) })
.catch(function (err) { .catch(function (err) {
console.log(err); console.log(err)
}); });
}, },
}, },
...@@ -335,7 +351,7 @@ export default { ...@@ -335,7 +351,7 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
.commit-page-content { .commit-page-content {
padding: 24px 12px; padding: 24px 20px;
height: calc(100% - 200px); height: calc(100% - 200px);
overflow-y: auto; overflow-y: auto;
.field-title { .field-title {
...@@ -345,7 +361,6 @@ export default { ...@@ -345,7 +361,6 @@ export default {
color: #333; color: #333;
font-size: 16px; font-size: 16px;
line-height: 20px; line-height: 20px;
padding-left: 16px;
&:before { &:before {
content: ""; content: "";
height: 16px; height: 16px;
...@@ -354,7 +369,7 @@ export default { ...@@ -354,7 +369,7 @@ export default {
display: inline-block; display: inline-block;
background: #a4151d; background: #a4151d;
position: absolute; position: absolute;
left: 0; left: -20px;
top: 2px; top: 2px;
} }
} }
...@@ -405,6 +420,7 @@ export default { ...@@ -405,6 +420,7 @@ export default {
/deep/.field-textarea { /deep/.field-textarea {
min-height: 80px; min-height: 80px;
padding: 0;
.van-field__value { .van-field__value {
background-color: #f5f5f5; background-color: #f5f5f5;
} }
......
...@@ -14,30 +14,36 @@ ...@@ -14,30 +14,36 @@
</form> </form>
<div class="detail-body"> <div class="detail-body">
<van-pull-refresh v-model="refreshing" @refresh="onRefresh"> <van-pull-refresh v-model="refreshing" @refresh="onRefresh">
<van-list <van-list
v-model="loading" v-model="loading"
:finished="finished" :finished="finished"
finished-text="没有更多了" finished-text="没有更多了"
@load="onLoad" @load="onLoad"
offset="50" offset="50"
> >
<van-cell v-for="(item,index) in tableData" :key="index"> <van-cell v-for="(item, index) in tableData" :key="index">
<van-swipe-cell :stop-propagation="true"> <van-swipe-cell :stop-propagation="true">
<van-card :title="item.name" :thumb="item.cover" @click="goDetail(item)"/> <van-card
<template #right> :title="item.name"
<van-button :thumb="item.cover"
@click="optFn(item)" @click="goDetail(item)"
square
:text="active?'启用':'删除'"
type="danger"
:class="{'delete-button':active===0,'enable-button':active===1}"
/> />
</template> <template #right>
</van-swipe-cell> <van-button
</van-cell> @click="optFn(item)"
</van-list> square
</van-pull-refresh> :text="active ? '启用' : '删除'"
type="danger"
:class="{
'delete-button': active === 0,
'enable-button': active === 1,
}"
/>
</template>
</van-swipe-cell>
</van-cell>
</van-list>
</van-pull-refresh>
</div> </div>
</div> </div>
</div> </div>
...@@ -45,67 +51,69 @@ ...@@ -45,67 +51,69 @@
<script> <script>
export default { export default {
props: ["active","proId"], props: ["active", "proId"],
data() { data() {
return { return {
searchVal:"", searchVal: "",
pageNum: 1, pageNum: 1,
pageSize: 8, pageSize: 8,
tableData:[], tableData: [],
loading: false, loading: false,
finished: false, finished: false,
refreshing: false, refreshing: false,
flag:true, flag: true,
}; };
}, },
watch:{ watch: {
"active"(val,oldVal){ active() {
this.onRefresh() this.onRefresh();
} },
}, },
mounted() { mounted() {
this.getList() this.getList();
}, },
methods: { methods: {
// 获得数据接口 // 获得数据接口
getList() { getList() {
let vm = this; let vm = this;
let param = { let param = {
_index:this.pageNum, _index: this.pageNum,
_size:this.pageSize, _size: this.pageSize,
isPublished: this.active!==1, isPublished: this.active !== 1,
learningProjectId:this.proId, learningProjectId: this.proId,
nameOrCode: this.searchVal nameOrCode: this.searchVal,
}; };
vm.$https( vm.$https(
{ {
url: "learningContent/getPageList", url: "learningContent/getPageList",
method: "post", method: "post",
authType: this.backToken authType: this.backToken,
}, },
vm.$qs.stringify(param) vm.$qs.stringify(param)
).then(res => { )
if(res.data.resultCode==='200'){ .then((res) => {
vm.loading = false if (res.data.resultCode === "200") {
vm.loading = false;
let data = res.data.data; let data = res.data.data;
vm.tableData = vm.flag ? data.records :vm.tableData.concat(data.records) vm.tableData = vm.flag
vm.flag = false ? data.records
: vm.tableData.concat(data.records);
vm.flag = false;
vm.refreshing = false; vm.refreshing = false;
vm.pageNum = vm.pageNum + 1 vm.pageNum = vm.pageNum + 1;
vm.finished = data.records.length < vm.pageSize ? true : false vm.finished = data.records.length < vm.pageSize;
vm.tableData = [...vm.tableData] vm.tableData = [...vm.tableData];
}else{ } else {
vm.$message({type:'error',message:res.data.message}) vm.$toast( res.data.message );
} }
}) })
.catch(function(err) { .catch(function (err) {
console.log(err); console.log(err);
}) });
}, },
// 列表的load上拉加载事件 // 列表的load上拉加载事件
onLoad() { onLoad() {
if(!this.flag){ if (!this.flag) {
console.log("加载数据"); console.log("加载数据");
this.loading = true; this.loading = true;
this.flag = false; this.flag = false;
...@@ -122,47 +130,49 @@ export default { ...@@ -122,47 +130,49 @@ export default {
}, },
optFn(item) { optFn(item) {
if (this.active === 1) { if (this.active === 1) {
this.changeStatus(true,item.id) this.changeStatus(true, item.id);
} else { } else {
this.changeStatus(false,item.id) this.changeStatus(false, item.id);
} }
}, },
// 启用 禁用 // 启用 禁用
changeStatus(flag,id){ changeStatus(flag, id) {
let vm = this; let vm = this;
let param = { let param = {
id:id, id: id,
isPublish:flag isPublish: flag,
}; };
vm.$https( vm.$https(
{ {
url: `learningContent/enable/${id}`, url: `learningContent/enable/${id}`,
method: "put", method: "put",
authType: this.backToken authType: this.backToken,
},vm.$qs.stringify(param)) },
.then(res => { vm.$qs.stringify(param)
if(res.data.resultCode==='200'){ )
this.$toast(res.data.message) .then((res) => {
this.onRefresh() if (res.data.resultCode === "200") {
}else{ this.$toast(res.data.message);
this.$toast(res.data.message) this.onRefresh();
} else {
this.$toast(res.data.message);
} }
}) })
.catch(function(err) { .catch(function (err) {
console.log(err); console.log(err);
}); });
}, },
goDetail(item) { goDetail(item) {
this.$router.push({path:'/learnDetail',query:{id:item.id}}) this.$router.push({ path: "/learnDetail", query: { id: item.id } });
} },
} },
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.learn-detail-content { .learn-detail-content {
height: calc(100vh - 100px); height: calc(100vh - 100px);
.page-wrapper{ .page-wrapper {
height: 100%; height: 100%;
} }
.van-search { .van-search {
......
...@@ -127,7 +127,7 @@ export default { ...@@ -127,7 +127,7 @@ export default {
vm.finished = data.records.length < vm.pageSize ? true : false vm.finished = data.records.length < vm.pageSize ? true : false
vm.tableData = [...vm.tableData] vm.tableData = [...vm.tableData]
}else{ }else{
vm.$message({type:'error',message:res.data.message}) vm.$toast(res.data.message)
} }
}) })
...@@ -158,7 +158,7 @@ export default { ...@@ -158,7 +158,7 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
.history-page-content { .history-page-content {
padding: 24px 12px; padding: 24px 0px;
height: calc(100% - 200px); height: calc(100% - 200px);
overflow-y: auto; overflow-y: auto;
.van-pull-refresh { .van-pull-refresh {
...@@ -168,12 +168,15 @@ export default { ...@@ -168,12 +168,15 @@ export default {
padding-left: 0; padding-left: 0;
padding-right: 0; padding-right: 0;
} }
/deep/.van-collapse-item__title {
font-size: 16px;
}
.van-hairline--top-bottom::after { .van-hairline--top-bottom::after {
border-width: 0; border-width: 0;
} }
.field-title { .field-title {
position: relative; position: relative;
// padding-bottom: 20px; font-size: 16px;
span { span {
color: #333; color: #333;
font-size: 16px; font-size: 16px;
...@@ -193,6 +196,7 @@ export default { ...@@ -193,6 +196,7 @@ export default {
} }
.author { .author {
float: right; float: right;
margin-right: 20px;
} }
.content { .content {
.learn-title { .learn-title {
......
<template> <template>
<div class="learn-content-container"> <div class="learn-content-container">
<Header title="学习内容"/> <Header title="学习内容" />
<div class="content"> <div class="content">
<van-tabs type="card" v-model="activeTab"> <van-tabs type="card" v-model="activeTab">
<van-tab title="启用列表"> <van-tab title="启用列表">
<content-tab :active="activeTab" :proId="proId"/> <content-tab :active="activeTab" :proId="proId" />
</van-tab> </van-tab>
<van-tab title="禁用列表"> <van-tab title="禁用列表">
<content-tab :active="activeTab" :proId="proId"/> <content-tab :active="activeTab" :proId="proId" />
</van-tab> </van-tab>
</van-tabs> </van-tabs>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import contentTab from './contentTab.vue' import contentTab from "./contentTab.vue";
import Header from '@/components/Header/index.vue' import Header from "@/components/Header/index.vue";
export default { export default {
components:{Header,contentTab}, components: { Header, contentTab },
data() { data() {
return { return {
activeTab: 0, activeTab: 0,
proId:'' proId: "",
}; };
}, },
mounted() { mounted() {
this.proId = this.$route.query.id; this.proId = this.$route.query.id;
}, },
methods: { methods: {},
}
}; };
</script> </script>
...@@ -38,13 +36,16 @@ export default { ...@@ -38,13 +36,16 @@ export default {
.learn-content-container { .learn-content-container {
width: 100%; width: 100%;
height: 100vh; height: 100vh;
padding: 50px 16px 16px; padding: 60px 16px 16px;
box-sizing: border-box; box-sizing: border-box;
.content { .content {
height: calc(100vh - 66px); height: calc(100vh - 66px);
} }
/deep/.van-tabs--card > .van-tabs__wrap { /deep/.van-tabs--card > .van-tabs__wrap {
height: 40px; height: 40px;
.van-tabs__nav {
background: rgba(164, 21, 29, 0.1);
}
.van-tabs__nav--card { .van-tabs__nav--card {
margin: 0; margin: 0;
height: 40px; height: 40px;
......
<template> <template>
<div class="learn-detail-page-content"> <div class="learn-detail-page-content">
<Header title="学习内容详情"/> <Header title="学习内容详情" />
<div class="page-wrapper"> <div class="page-wrapper">
<div class="title-content"> <div class="title-content">
<div class="row-body"> <div class="row-body">
<div class="title-label">学习内容名称</div> <div class="title-label">学习内容名称</div>
<div class="title-body">{{list.name}}</div> <div class="title-body">{{ list.name }}</div>
</div> </div>
<div class="row-body"> <div class="row-body">
<div class="title-label">学习内容宣传图</div> <div class="title-label">学习内容宣传图</div>
<div class="title-body"> <div class="title-body">
<img :src="list.cover" alt=""> <img :src="list.cover" alt="" />
</div> </div>
</div> </div>
</div> </div>
<van-collapse v-model="activeNames" accordion> <van-collapse v-model="activeNames" accordion>
<van-collapse-item :name="item.id" :title="item.name" v-for="(item,index) in list.exhibitionBoardList" :key="index"> <van-collapse-item
:name="item.id"
:title="item.name"
v-for="(item, index) in list.exhibitionBoardList"
:key="index"
>
<div class="content"> <div class="content">
<div class="row-body"> <div class="row-body">
<div class="title-label">展板版权方</div> <div class="title-label">展板版权方</div>
<div class="title-body">{{item.assetCopyrightOwnerName}}</div> <div class="title-body">{{ item.assetCopyrightOwnerName }}</div>
</div>
<div class="row-body">
<div class="title-label">展板宣传图</div>
<div class="title-body">
<img :src="item.cover" alt="" />
</div> </div>
<div class="row-body"> </div>
<div class="title-label">展板宣传图</div> <div class="detail-body">
<div class="title-body"> <div class="learn-title">展板简介</div>
<img :src="item.cover" alt=""> <div class="learn-body textarea">
</div> {{ item.remarks }}
</div> </div>
<div class="detail-body"> </div>
<div class="learn-title">展板简介</div>
<div class="learn-body textarea"> <div class="detail-body">
{{item.remarks}} <div class="learn-title">展板视频</div>
</div> <div class="learn-body">
</div> <span class="file-box" v-for="(s, i) in item.videoUrl" :key="i">
<video
<div class="detail-body"> controls
<div class="learn-title">展板视频</div> width="100%"
<div class="learn-body"> height="100%"
<span class="file-box" v-for="(s,i) in item.videoUrl" :key="i"> poster="images/applets/video.png"
<video controls width='100%' height='100%' poster="images/applets/video.png"> >
<source :src="s.fileUrl" /> <source :src="s.fileUrl" />
</video> </video>
<span>{{s.fileName}}</span> <span>{{ s.fileName }}</span>
</span> </span>
</div>
</div> </div>
<div class="detail-body"> </div>
<div class="learn-title">展板音频</div> <div class="detail-body">
<div class="learn-body"> <div class="learn-title">展板音频</div>
<span class="file-box" v-for="(s,i) in item.guideAudioUrl" :key="i"> <div class="learn-body">
<audio controls width='100%' height='100%' poster="images/applets/audio.png"> <span
<source :src="s.fileUrl" /> class="file-box"
</audio> v-for="(s, i) in item.guideAudioUrl"
<span>{{s.fileName}}</span> :key="i"
</span> >
</div> <audio
controls
width="100%"
height="100%"
poster="images/applets/audio.png"
>
<source :src="s.fileUrl" />
</audio>
<span>{{ s.fileName }}</span>
</span>
</div> </div>
</div>
</div> </div>
</van-collapse-item> </van-collapse-item>
</van-collapse> </van-collapse>
...@@ -65,49 +83,51 @@ ...@@ -65,49 +83,51 @@
</template> </template>
<script> <script>
import Header from '@/components/Header/index.vue' import Header from "@/components/Header/index.vue";
export default { export default {
components:{Header}, components: { Header },
data() { data() {
return { return {
activeNames: [], activeNames: [],
list:[] list: [],
}; };
}, },
mounted() { mounted() {
this.id = this.$route.query.id; this.id = this.$route.query.id;
this.getContentInfo() this.getContentInfo();
}, },
methods: { methods: {
// 获取详情 // 获取详情
getContentInfo(){ getContentInfo() {
let vm = this; let vm = this;
let param = { let param = {
id:this.id id: this.id,
}; };
vm.$https( vm.$https(
{ {
url: `learningContent/get/${this.id}`, url: `learningContent/get/${this.id}`,
method: "get", method: "get",
authType: this.backToken authType: this.backToken,
},param) },
.then(res => { param
if(res.data.resultCode==='200'){ )
.then((res) => {
if (res.data.resultCode === "200") {
this.list = res.data.data; this.list = res.data.data;
this.activeNames = this.list.exhibitionBoardList[0].id this.activeNames = this.list.exhibitionBoardList[0].id;
this.list.exhibitionBoardList.forEach(item=>{ this.list.exhibitionBoardList.forEach((item) => {
item.videoUrl =JSON.parse(item.videoUrl) item.videoUrl = JSON.parse(item.videoUrl);
item.guideAudioUrl =JSON.parse(item.guideAudioUrl) item.guideAudioUrl = JSON.parse(item.guideAudioUrl);
}) });
}else{ } else {
this.$toast(res.data.message) this.$toast(res.data.message);
} }
}) })
.catch(function(err) { .catch(function (err) {
console.log(err); console.log(err);
}); });
}, },
} },
}; };
</script> </script>
...@@ -153,37 +173,36 @@ export default { ...@@ -153,37 +173,36 @@ export default {
border-width: 0; border-width: 0;
} }
.content { .content {
.learn-title { .learn-title {
font-size: 14px; font-size: 14px;
color: #333333; color: #333333;
padding-bottom: 12px;
}
.detail-body {
margin-bottom: 20px;
.learn-body {
display: flex;
flex-wrap: wrap;
padding-bottom: 12px; padding-bottom: 12px;
} .file-box {
width: 50%;
.detail-body { padding: 10px;
margin-bottom: 20px; box-sizing: border-box;
.learn-body{
display: flex;
flex-wrap: wrap;
padding-bottom: 12px;
.file-box {
width: 50%;
padding: 10px;
box-sizing: border-box;
}
img {
width: 32px;
height: auto;
padding: 0 5px;
box-sizing: border-box;
vertical-align: middle;
}
} }
.textarea { img {
line-height: 1.5; width: 32px;
color: #333; height: auto;
padding: 0 5px;
box-sizing: border-box;
vertical-align: middle;
} }
} }
.textarea {
line-height: 1.5;
color: #333;
}
}
} }
} }
</style> </style>
\ No newline at end of file
<template> <template>
<div class="edit-psd-conatiner"> <div class="edit-psd-conatiner">
<Header title="修改密码"/> <Header title="修改密码" />
<div class="edit-container"> <div class="edit-container">
<van-form @submit="onSubmit"> <van-form @submit="onSubmit">
<div class="input-box"> <div class="input-box">
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
v-model="form.oldPassWord" v-model="form.oldPassWord"
placeholder="请输入当前密码" placeholder="请输入当前密码"
input-align="right" input-align="right"
:rules="[{ required: true}]" :rules="[{ required: true }]"
/> />
<van-field <van-field
label="新密码" label="新密码"
...@@ -25,18 +25,18 @@ ...@@ -25,18 +25,18 @@
v-model="form.password" v-model="form.password"
placeholder="请输入新密码" placeholder="请输入新密码"
input-align="right" input-align="right"
:rules="[{ required: true}]" :rules="[{ required: true }]"
/> />
<van-field <van-field
label="再次输入新密码" label="再次输入新密码"
v-model="form.againPsd" v-model="form.againPsd"
placeholder="请再次输入新密码" placeholder="请再次输入新密码"
input-align="right" input-align="right"
:rules="[{ required: true}]" :rules="[{ required: true }]"
/> />
</div> </div>
<div class="admin-detail-button"> <div class="admin-detail-button">
<van-button type="default" plain native-type="button" @click="onCancle">取消</van-button> <!-- <van-button type="default" plain native-type="button" @click="onCancle">取消</van-button> -->
<van-button type="default" native-type="submit">提交</van-button> <van-button type="default" native-type="submit">提交</van-button>
</div> </div>
</van-form> </van-form>
...@@ -46,14 +46,14 @@ ...@@ -46,14 +46,14 @@
</template> </template>
<script> <script>
import Header from '@/components/Header/index.vue' import Header from "@/components/Header/index.vue";
export default { export default {
components:{Header}, components: { Header },
data() { data() {
return { return {
form: { form: {
username:JSON.parse(localStorage.getItem('userInfo')).userName username: JSON.parse(localStorage.getItem("userInfo")).userName,
} },
}; };
}, },
mounted() { mounted() {
...@@ -61,47 +61,49 @@ export default { ...@@ -61,47 +61,49 @@ export default {
}, },
methods: { methods: {
onCancle() { onCancle() {
this.form ={ this.form = {
username:JSON.parse(localStorage.getItem('userInfo')).userName username: JSON.parse(localStorage.getItem("userInfo")).userName,
} };
}, },
// 提交数据 // 提交数据
onSubmit() { onSubmit() {
if(this.form.password !== this.form.againPsd){ if (this.form.password !== this.form.againPsd) {
this.$toast('两次输入的密码不一致') this.$toast("两次输入的密码不一致");
return false return false;
} }
let vm = this; let vm = this;
let param = { let param = {
password: this.form.password, password: this.form.password,
oldPassWord: this.form.oldPassWord, oldPassWord: this.form.oldPassWord,
}; };
vm.$https( vm.$https(
{ {
url: "tUser/editPwd", url: "tUser/editPwd",
method: "put", method: "put",
authType: this.backToken authType: this.backToken,
}, },
vm.$qs.stringify(param) vm.$qs.stringify(param)
) )
.then(res => { .then((res) => {
if(res.data.resultCode==='200'){ if (res.data.resultCode === "200") {
localStorage.removeItem('token') localStorage.removeItem("token");
localStorage.removeItem('userInfo') localStorage.removeItem("userInfo");
this.$toast.success("密码已修改,请用新密码重新登录系统"); this.$router.replace({
this.$router.replace('/login') path: "/success",
}else{ query: {
txt: "密码已修改,请用新密码重新登录系统",
url: "/login",
},
});
} else {
this.$toast(res.data.message); this.$toast(res.data.message);
} }
}) })
.catch(function(err) { .catch(function (err) {
console.log(err); console.log(err);
}); });
},
},
}
}
}; };
</script> </script>
...@@ -109,12 +111,11 @@ export default { ...@@ -109,12 +111,11 @@ export default {
.edit-psd-conatiner { .edit-psd-conatiner {
width: 100%; width: 100%;
height: 100vh; height: 100vh;
padding: 50px 16px 60px; padding: 50px 24px 60px;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
box-sizing: border-box; box-sizing: border-box;
.edit-container { .edit-container {
} }
.input-box { .input-box {
...@@ -130,16 +131,17 @@ export default { ...@@ -130,16 +131,17 @@ export default {
} }
} }
.admin-detail-button { .admin-detail-button {
padding: 0 40px; padding: 0 24px;
box-sizing: border-box; box-sizing: border-box;
width: 100%; width: 100%;
margin: 0 auto; margin: 0 auto;
text-align: center;
.van-button--normal { .van-button--normal {
background: #a4151d; background: #a4151d;
border-radius: 4px; border-radius: 4px;
height: 40px; height: 40px;
width: 45%; width: 100%;
color: #fff; color: #fff;
border: none; border: none;
font-size: 16px; font-size: 16px;
...@@ -155,7 +157,7 @@ export default { ...@@ -155,7 +157,7 @@ export default {
} }
} }
/deep/.van-field__label { /deep/.van-field__label {
width: 7.2em; width: 7.2em;
} }
.van-field__control, .van-field__control,
.van-cell__value { .van-cell__value {
......
...@@ -2,18 +2,22 @@ ...@@ -2,18 +2,22 @@
<div class="learn-conatiner"> <div class="learn-conatiner">
<Header title="学习项目" /> <Header title="学习项目" />
<van-pull-refresh v-model="refreshing" @refresh="onRefresh"> <van-pull-refresh v-model="refreshing" @refresh="onRefresh">
<van-list <van-list
v-model="loading" v-model="loading"
:finished="finished" :finished="finished"
finished-text="没有更多了" finished-text="没有更多了"
@load="onLoad" @load="onLoad"
offset="5" offset="5"
> >
<van-cell v-for="(item,index) in list" :key="index" @click="goDetail(item)"> <van-cell
<span>{{item.name}}</span> v-for="(item, index) in list"
<img src="/images/applets/coming.png" alt /> :key="index"
</van-cell> @click="goDetail(item)"
</van-list> >
<span>{{ item.name }}</span>
<img src="/images/applets/coming.png" alt />
</van-cell>
</van-list>
</van-pull-refresh> </van-pull-refresh>
<my-tabbar active="1"></my-tabbar> <my-tabbar active="1"></my-tabbar>
</div> </div>
...@@ -29,7 +33,7 @@ export default { ...@@ -29,7 +33,7 @@ export default {
finished: false, finished: false,
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
flag:true, flag: true,
list: [], list: [],
refreshing: false, refreshing: false,
}; };
...@@ -44,32 +48,36 @@ export default { ...@@ -44,32 +48,36 @@ export default {
let param = { let param = {
_index: this.pageNum, _index: this.pageNum,
_size: this.pageSize, _size: this.pageSize,
type: JSON.parse(localStorage.getItem("userInfo")).type type: JSON.parse(localStorage.getItem("userInfo")).type,
}; };
vm.$https( vm.$https(
{ {
url: "learningProject/getPageList", url: "learningProject/getPageList",
method: "post", method: "post",
authType: this.backToken authType: this.backToken,
}, },
vm.$qs.stringify(param) vm.$qs.stringify(param)
) )
.then(res => { .then((res) => {
let data = res.data.data; if (res.data.resultCode === "200") {
this.loading = false let data = res.data.data;
vm.list = this.flag ? data.records : vm.list.concat(data.records) this.loading = false;
this.pageNum = this.pageNum + 1 vm.list = this.flag ? data.records : vm.list.concat(data.records);
this.finished = data.records.length < this.pageSize ? true : false this.pageNum = this.pageNum + 1;
this.flag = false; this.finished = data.records.length < this.pageSize;
this.refreshing = false; this.flag = false;
this.refreshing = false;
} else {
this.$toast(res.data.message);
}
}) })
.catch(function(err) { .catch(function (err) {
console.log(err); console.log(err);
}); });
}, },
// 列表的load上拉加载事件 // 列表的load上拉加载事件
onLoad() { onLoad() {
if(!this.flag){ if (!this.flag) {
console.log("加载数据"); console.log("加载数据");
this.loading = true; this.loading = true;
this.flag = false; this.flag = false;
...@@ -81,13 +89,13 @@ export default { ...@@ -81,13 +89,13 @@ export default {
this.finished = false; this.finished = false;
this.flag = true; this.flag = true;
this.loading = true; this.loading = true;
this.pageNum =1; this.pageNum = 1;
this.getList(); this.getList();
}, },
goDetail(item) { goDetail(item) {
this.$router.push({ path: "/learnContent", query: { id: item.id } }); this.$router.push({ path: "/learnContent", query: { id: item.id } });
} },
} },
}; };
</script> </script>
...@@ -100,7 +108,8 @@ export default { ...@@ -100,7 +108,8 @@ export default {
flex-direction: column; flex-direction: column;
box-sizing: border-box; box-sizing: border-box;
.van-pull-refresh { .van-pull-refresh {
overflow-y:auto; overflow-y: auto;
padding: 0 8px;
} }
.van-cell { .van-cell {
padding: 0; padding: 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment