Commit 0bfde0c8 authored by xulili's avatar xulili

学习制作

parent 4529986f
......@@ -13,6 +13,7 @@ module.exports = {
proxyTable: {
'/mall': {
target: "http://192.168.110.67/mall",
// target: "http://192.168.204.66:8088/mall",
changeOrigin: true,
pathRewrite: {
'^/mall': '/' // 重写接口
......
let statusOption = [
{ label: "活跃", value: 'ENABLE' },
{ label: "禁用", value: 'DISABLE' },
{ label: "待审核", value: 'TBC' },
]
export {
statusOption
}
\ No newline at end of file
......@@ -22,12 +22,20 @@
<template slot-scope="scope">
<div v-if="item.isEdit" class="table-btn-group">
<el-tooltip content="修改" placement="top">
<el-button circle @click="handleOperate(scope.row, 'edit')">
<el-button
circle
:disabled="scope.row.statusName !== '活跃'"
@click="handleOperate(scope.row, 'edit')"
>
<i class="icon-table icon-edit"></i>
</el-button>
</el-tooltip>
<el-tooltip content="重置密码" placement="top">
<el-button circle @click="handleOperate(scope.row, 'reset')">
<el-button
circle
:disabled="scope.row.statusName !== '活跃'"
@click="handleOperate(scope.row, 'reset')"
>
<i class="icon-table icon-reset"></i>
</el-button>
</el-tooltip>
......
......@@ -128,7 +128,7 @@ export default {
}
},
// 翻页
handleChangeCurrent() {
handleChangeCurrent(val) {
this.page._index = val;
this.getPageList();
},
......
......@@ -206,7 +206,7 @@ export default {
});
},
// 翻页
handleChangeCurrent() {
handleChangeCurrent(val) {
this.page._index = val;
this.getPageList();
},
......
......@@ -8,6 +8,7 @@
v-model="form.userName"
placeholder="请输入用户名"
suffix-icon="el-icon-search"
clearable
></el-input>
</el-form-item>
<el-form-item>
......@@ -59,6 +60,7 @@ import { partyPagination } from "@/components/index";
import accountTable from "./components/accountTable";
import { addDialog, editDialog } from "./statisticalDialog/index";
import msgDialog from "./msgDialog.vue";
import { statusOption } from "@/config/account";
export default {
data() {
return {
......@@ -67,11 +69,7 @@ export default {
status: "",
type: 5, //1.用户账号 2.平台单位单位管理员账号 3.机顶盒账号 4.运维账号 5. 统计账号
},
statusOption: [
{ label: "活跃", value: 1 },
{ label: "禁用", value: 2 },
{ label: "待审核", value: 3 },
],
statusOption: statusOption,
feildList: [
{ prop: "userName", label: "统计用户名" },
{ prop: "orgName", label: "所属单位" },
......@@ -270,7 +268,7 @@ export default {
}
},
// 翻页
handleChangeCurrent() {
handleChangeCurrent(val) {
this.page._index = val;
this.getPageList();
},
......
......@@ -5,13 +5,18 @@
<el-form :inline="true" :model="form">
<el-form-item>
<el-input
clearable
v-model="form.userName"
placeholder="请输入运维人员姓名"
suffix-icon="el-icon-search"
></el-input>
</el-form-item>
<el-form-item>
<el-select v-model="form.status" placeholder="请选择账号状态">
<el-select
v-model="form.status"
placeholder="请选择账号状态"
clearable
>
<el-option
v-for="(item, index) in statusOption"
:key="index"
......@@ -56,6 +61,7 @@ import { partyPagination } from "@/components/index";
import accountTable from "./components/accountTable";
import { addDialog, editDialog } from "./stbDialog/index";
import msgDialog from "./msgDialog.vue";
import { statusOption } from "@/config/account";
export default {
data() {
return {
......@@ -64,11 +70,7 @@ export default {
status: "",
type: 4, //1.用户账号 2.平台单位单位管理员账号 3.机顶盒账号 4.运维账号
},
statusOption: [
{ label: "活跃", value: 1 },
{ label: "禁用", value: 2 },
{ label: "待审核", value: 3 },
],
statusOption: statusOption,
feildList: [
{ prop: "userName", label: "运维人员姓名" },
{ prop: "orgName", label: "运维区域" },
......@@ -258,7 +260,7 @@ export default {
}
},
// 翻页
handleChangeCurrent() {
handleChangeCurrent(val) {
this.page._index = val;
this.getPageList();
},
......
......@@ -315,7 +315,7 @@ export default {
}
},
// 翻页
handleChangeCurrent() {
handleChangeCurrent(val) {
this.page._index = val;
this.getPageList();
},
......
......@@ -50,7 +50,7 @@ export default {
return {
form: {
userName: "",
type: 1, //1.用户账号 2.平台单位单位管理员账号 3.机顶盒账号 4.运维账号 5. 统计账号
type: 1, //1.用户账号 2.平台单位单位管理员账号 3.机顶盒账号 4.运维账号 5. 统计账号
},
feildList: [
{ prop: "userName", label: "平台用户名" },
......@@ -90,7 +90,7 @@ export default {
},
handleReset() {
this.form.userName = "";
this.getFirstPageList();
this.getFirstPageList();
},
getPageList() {
let requestParams = {};
......@@ -131,9 +131,9 @@ export default {
},
// 编辑
handleEdit() {
this.$refs.editDialog.id = this.activeRow.id
this.$refs.editDialog.getDetailById()
this.$refs.editDialog.dialogVisible = true;
this.$refs.editDialog.id = this.activeRow.id;
this.$refs.editDialog.getDetailById();
this.$refs.editDialog.dialogVisible = true;
},
// 重置密码
handleResetPwd() {
......@@ -238,7 +238,7 @@ export default {
}
},
// 翻页
handleChangeCurrent() {
handleChangeCurrent(val) {
this.page._index = val;
this.getPageList();
},
......
......@@ -3,10 +3,9 @@
<el-dialog
custom-class="party-dialog"
title="视频详情"
width="80%"
width="900px"
:visible.sync="dialogVisible"
:before-close="close"
>
<div>
<!--
......@@ -15,9 +14,16 @@
</video>
<button @click="playClick" :class="{hide: isPlay}">点击播放</button> -->
<!--class="video-js vjs-default-skin vjs-big-play-centered" -->
<video :preload="preload"
:poster="videoImg" :height="height" :width="width" align="center" :controls="controls" :autoplay="autoplay">
<source :src="videoSrc" type="video/mp4">
<video
:preload="preload"
:poster="videoImg"
:height="height"
:width="width"
align="center"
:controls="controls"
:autoplay="autoplay"
>
<source :src="videoSrc" type="video/mp4" />
</video>
</div>
<!-- <div slot="footer" class="dialog-footer btn-group">
......@@ -30,29 +36,28 @@
export default {
data() {
return {
dialogVisible:false,
videoSrc: 'https://video.pearvideo.com/mp4/short/20200209/cont-1650197-14888002-hd.mp4',
videoImg: 'https://sm.ms/image/ueRFCZfk2xTONGb',
playStatus: '',
muteStatus: '',
dialogVisible: false,
// videoSrc: 'https://video.pearvideo.com/mp4/short/20200209/cont-1650197-14888002-hd.mp4',
// videoImg: 'https://sm.ms/image/ueRFCZfk2xTONGb',
videoSrc: "",
videoImg: "",
playStatus: "",
muteStatus: "",
isMute: true,
isPlay: false,
width: '820', // 设置视频播放器的显示宽度(以像素为单位)
height: '500', // 设置视频播放器的显示高度(以像素为单位)
preload: 'auto', // 建议浏览器是否应在<video>加载元素后立即开始下载视频数据。
width: "820", // 设置视频播放器的显示宽度(以像素为单位)
height: "500", // 设置视频播放器的显示高度(以像素为单位)
preload: "auto", // 建议浏览器是否应在<video>加载元素后立即开始下载视频数据。
controls: true, // 确定播放器是否具有用户可以与之交互的控件。没有控件,启动视频播放的唯一方法是使用autoplay属性或通过Player API。
autoplay: ''
}
autoplay: "",
};
},
methods: {
// 新增关闭
close() {
this.dialogVisible = false;
},
}
},
};
</script>
......
......@@ -7,6 +7,8 @@
:on-remove="handleRemove"
:on-success="handleAvatarSuccess"
:headers="headers"
:file-list="fileList"
accept=""
>
<i class="el-icon-plus"></i>
</el-upload>
......@@ -21,34 +23,53 @@ export default {
data() {
return {
dialogImageUrl: "",
dialogVisible: false
dialogVisible: false,
fileList: [
{
name: "",
url: "",
},
],
};
},
computed: {
computed: {
headers() {
// return { 'token': this.backToken }
}
return {
Authorization: localStorage.getItem("backToken") || "",
};
},
},
methods: {
// 图片上传成功的返回值
handleAvatarSuccess(res, file) {
console.log(res)
console.log(res.data.url)
this.$emit('imgUrl', res.data.url)
// console.log(data.fileList[0].url)
// this.imageUrl = URL.createObjectURL(file.raw);
if (res.resultCode == 200) {
this.$emit("imgUrl", res.data.url);
this.imageUrl = res.data.url;
} else {
this.$message.error(res.message);
}
},
handleRemove(file, fileList) {
console.log(file, fileList);
this.$emit("imgUrl", "");
},
handlePictureCardPreview(file) {
this.dialogImageUrl = file.url;
this.dialogVisible = true;
}
}
},
showImg(cover) {
let file = {
name: "",
url: cover,
};
this.fileList = [file]
},
},
};
</script>
<style>
.avatar {
width: 100%;
height: 100%;
}
</style>
<template>
<div>
<!--
<div>
<!--
<video :src="videoSrc" :poster="videoImg" :autoplay="playStatus" height="421" width="700" :muted="muteStatus">
your browser does not support the video tag
</video>
<button @click="playClick" :class="{hide: isPlay}">点击播放</button> -->
<!--class="video-js vjs-default-skin vjs-big-play-centered" -->
<video :preload="preload"
:poster="videoImg" :height="height" :width="width" align="center" :controls="controls" :autoplay="autoplay">
<source :src="videoSrc" type="video/mp4">
</video>
</div>
<!--class="video-js vjs-default-skin vjs-big-play-centered" -->
<video
:preload="preload"
:poster="videoImg"
:height="height"
:width="width"
align="center"
:controls="controls"
:autoplay="autoplay"
>
<source :src="videoSrc" type="video/mp4" />
</video>
</div>
</template>
<script>
export default {
name: 'Video',
data () {
name: "Video",
data() {
return {
videoSrc: 'https://video.pearvideo.com/mp4/short/20200209/cont-1650197-14888002-hd.mp4',
videoImg: 'https://sm.ms/image/ueRFCZfk2xTONGb',
playStatus: '',
muteStatus: '',
videoSrc:
"https://video.pearvideo.com/mp4/short/20200209/cont-1650197-14888002-hd.mp4",
videoImg: "https://sm.ms/image/ueRFCZfk2xTONGb",
playStatus: "",
muteStatus: "",
isMute: true,
isPlay: false,
width: '820', // 设置视频播放器的显示宽度(以像素为单位)
height: '500', // 设置视频播放器的显示高度(以像素为单位)
preload: 'auto', // 建议浏览器是否应在<video>加载元素后立即开始下载视频数据。
width: "820", // 设置视频播放器的显示宽度(以像素为单位)
height: "500", // 设置视频播放器的显示高度(以像素为单位)
preload: "auto", // 建议浏览器是否应在<video>加载元素后立即开始下载视频数据。
controls: true, // 确定播放器是否具有用户可以与之交互的控件。没有控件,启动视频播放的唯一方法是使用autoplay属性或通过Player API。
autoplay: ''
}
}
autoplay: "",
};
},
// 自动播放属性,muted:静音播放
// autoplay: 'muted',
}
};
</script>
<style scoped >
</style>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -60,7 +60,7 @@ export default {
feildList:[
{prop:'userName',label:'运维账号'},
{prop:'area',label:'运维区域'},
{prop:'operationIp',label:'操作Ip'},
{prop:'operationType',label:'操作类型'},
{prop:'createTime',label:'操作时间'}
],
list: [],
......
This diff is collapsed.
<template>
<!-- 机顶盒运维日志 -->
<div class="set-top-log-wrapper height100">
<div class="search-container">
<el-form :inline="true" :model="form">
<el-form-item>
<el-select v-model="form.user" placeholder="请选择">
<el-option
v-model="form.organId"
v-for="item in organList"
:key="item.id"
:label="item.orgName"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-date-picker
v-model="form.date"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期">
</el-date-picker>
</el-form-item>
<el-form-item>
<div class="btn-group">
<el-button type="primary" @click="handleSubmit">查询</el-button>
<el-button @click="handleReset">重置</el-button>
</div>
</el-form-item>
</el-form>
<div class="page-tip">
<span class="page-tip-title">页面说明:</span>
<span class="page-tips">可查看所有账号在系统上的操作信息,可根据操作类型、操作时间段查询等方式对日志信息进行筛选</span>
</div>
</div>
<div class="table-content hasTabs">
<party-table
class="noAdd"
:currentPage="page._index"
:feildList="feildList"
:list="list">
</party-table>
<party-pagination
:page="page"
@changePage="handleChangeCurrent"
/>
<div class="search-container">
<el-form :inline="true" :model="form">
<el-form-item>
<el-select v-model="form.user" placeholder="请选择所属单位">
<el-option
v-model="form.organId"
v-for="item in organList"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-date-picker
v-model="form.date"
type="daterange"
range-separator="至"
value-format="yyyy-MM-dd"
start-placeholder="开始日期"
end-placeholder="结束日期"
>
</el-date-picker>
</el-form-item>
<el-form-item>
<div class="btn-group">
<el-button type="primary" @click="handleSubmit">查询</el-button>
<el-button @click="handleReset">重置</el-button>
</div>
</el-form-item>
</el-form>
<div class="page-tip">
<span class="page-tip-title">页面说明:</span>
<span class="page-tips"
>可查看所有账号在系统上的操作信息,可根据操作类型、操作时间段查询等方式对日志信息进行筛选</span
>
</div>
</div>
<div class="table-content hasTabs">
<party-table
class="noAdd"
:currentPage="page._index"
:feildList="feildList"
:list="list"
>
</party-table>
<party-pagination :page="page" @changePage="handleChangeCurrent" />
</div>
</div>
</template>
<script>
import { partyPagination,partyTable } from '@/components/index'
import { getOrgListWithOutPage } from "@/config/organ.js"
import { partyPagination, partyTable } from "@/components/index";
import { getOrgListWithOutPage } from "@/config/organ.js";
export default {
data(){
return{
form:{
organId:'',
date:'',
startDate:'',
endDate:''
},
organList:[],
feildList:[
{prop:'macAddr',label:'机顶盒Mac地址'},
{prop:'orgName',label:'所属单位'},
{prop:'learnName',label:'学习内容'},
{prop:'startTime',label:'开始时间'},
{prop:'endTime',label:'结束时间'}
],
list: [],
page:{
_index:1,
_size:10,
total:0
}
}
data() {
return {
form: {
organId: "",
date: "",
startDate: "",
endDate: "",
},
organList: [],
feildList: [
{ prop: "macAddr", label: "机顶盒Mac地址" },
{ prop: "orgName", label: "所属单位" },
{ prop: "learnName", label: "学习内容" },
{ prop: "startTime", label: "开始时间" },
{ prop: "endTime", label: "结束时间" },
],
list: [],
page: {
_index: 1,
_size: 10,
total: 0,
},
};
},
components: { partyTable, partyPagination },
mounted() {
// 获取所属范围列表
this.getOrgList();
// 获取机顶盒运维类表
this.getFirstPageList();
},
methods: {
getOrgList() {
getOrgListWithOutPage().then((res) => {
this.organList = res;
});
},
components:{ partyTable, partyPagination},
mounted(){
// 获取所属范围列表
this.getOrgList()
// 获取机顶盒运维类表
this.getLog()
getFirstPageList() {
this.page._index = 1;
this.getPageList();
},
methods:{
getOrgList(){
getOrgListWithOutPage().then(res=>{
this.organList = res
})
},
handleSubmit(){
this.getLog()
},
handleReset(){
for(let key in this.form){
this.form[key] = ""
}
this.getLog()
handleSubmit() {
this.getPageList();
},
handleReset() {
for (let key in this.form) {
this.form[key] = "";
}
this.getFirstPageList();
},
getPageList() {
let requestParams = {};
requestParams._index = this.page._index;
requestParams._size = this.page._size;
if (this.form.organId) {
requestParams.organId = this.form.organId;
}
if (this.form.date) {
requestParams.startDate = this.form.date[0];
requestParams.endDate = this.form.date[1];
}
this.$https(
{
method: "get",
url: "sysLog/runLogList",
authType: this.backToken,
},
getLog(){
let requestParams = {}
requestParams._index = this.page._index
requestParams._size = this.page._size
if(this.form.organId){
requestParams.organId = this.form.organId
}
if(this.form.date){
requestParams.startDate = this.form.date[0]
requestParams.endDate = this.form.date[1]
requestParams
)
.then((res) => {
if (res.status != 200) {
this.getResWithOutData();
} else {
if (res.data.resultCode == 200) {
this.list = res.data.data.records;
this.page._size = res.data.data.size;
this.page.total = res.data.data.total;
} else {
this.getResWithOutData();
}
this.$https({
method:'get',
url: 'sysLog/runLogList',
authType: this.backToken,
},requestParams).then(res=>{
if(res.status != 200){
this.getResWithOutData()
}else{
if(res.data.resultCode == 200){
this.list = res.data.data.records
this.page._size = res.data.data.size
this.page.total = res.data.data.total
}else{
this.getResWithOutData()
}
}
}).catch(err=>{
console.log(err)
})
},
// 页面返回值为空
getResWithOutData(){
this.list = []
this.page = {
_index:1,
_size:10,
total:0
}
},
// 翻页
handleChangeCurrent(val){
this.page._index = val
this.getLog()
}
}
})
.catch((err) => {
console.log(err);
});
},
watch:{
}
}
// 页面返回值为空
getResWithOutData() {
this.list = [];
this.page = {
_index: 1,
_size: 10,
total: 0,
};
},
// 翻页
handleChangeCurrent(val) {
this.page._index = val;
this.getPageList();
},
},
watch: {},
};
</script>
<style lang="less" scoped>
</style>
\ No newline at end of file
This diff is collapsed.
......@@ -356,11 +356,11 @@ const router = new Router({
// --学习
{
path: '/learnProject',
name: '学习项目制作',
name: '学习项目管理',
component: () => import('@/page/content/learn/project/index'),
meta: {
showBreadcrumb: true,
title: '学习项目制作',
title: '学习项目管理',
}
},
{
......
......@@ -389,7 +389,6 @@
}
.info-wrapper {
height: 100%;
width: 640px;
margin: 0 auto;
background: #fff;
......@@ -412,6 +411,7 @@
height: calc(100% - 156px);
overflow-y: auto;
overflow-x: hidden;
padding: 20px 0;
}
.info-footer {
......
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