Commit 98276cb3 authored by 胡冲's avatar 胡冲

修改学习内容出现内存满。造成卡顿

parent 7feeaade
......@@ -12,7 +12,7 @@ module.exports = {
assetsPublicPath: '/',
proxyTable: {
'/mall': {
target: "http://111.203.232.175:8088/mall",
target: "http://192.168.0.102:8088/mall",
// target: "http://192.168.0.106:8088/mall",
// target: "http://192.168.204.66:8088/mall",
changeOrigin: true,
......
......@@ -66,7 +66,7 @@
export default {
data() {
return {
uploadUrl:'http://111.203.232.175:8088/mall/file/upload/allType',
uploadUrl:'http://192.168.0.102:8088/mall/file/upload/allType',
formVisible: false,
headers:{Authorization: localStorage.getItem('backToken')},
formItem: {},
......
......@@ -11,7 +11,7 @@
<div class="title">app目录界面设置</div>
<div class="btn-group">
<el-upload
action="http://111.203.232.175:8088/mall/file/image/upload"
action="http://192.168.0.102:8088/mall/file/image/upload"
:on-success="uploadPageImg"
:before-upload="handleBeforeUpload"
:headers ="headers"
......@@ -43,7 +43,7 @@
<div class="title">app运行画面设置</div>
<div class="btn-group">
<el-upload
action="http://111.203.232.175:8088/mall/file/image/upload"
action="http://192.168.0.102:8088/mall/file/image/upload"
:on-success="uploadRunImg"
:before-upload="handleBeforeUpload"
:headers ="headers"
......
......@@ -137,7 +137,7 @@ export default {
}
// console.log(boardList)
vm.formInline.exhibitionBoardList = boardList
console.log(1111,vm.formInline.exhibitionBoardList)
// console.log(1111,vm.formInline.exhibitionBoardList)
// console.log(this.formInline.exhibitionBoardList[0].videoList);
})
.catch(function (err) {
......@@ -148,7 +148,7 @@ export default {
history.go(-1);
},
handleChange(val) {
console.log(val);
// console.log(val);
},
},
};
......
......@@ -3,7 +3,7 @@
<el-upload
accept=".jpg,.jpeg,.png.JPG,.JPEG,.PNG"
:class="{disabled:uploadDisabled}"
action="http://111.203.232.175:8088/mall/file/image/upload"
action="http://192.168.0.102:8088/mall/file/image/upload"
list-type="picture-card"
:on-preview="handlePictureCardPreview"
:on-remove="handleRemove"
......
......@@ -3,7 +3,7 @@
<el-upload
accept=".jpg,.jpeg,.png,.JPG,.JPEG,.PBG"
:class="{disabled:uploadDisabled}"
action="http://111.203.232.175:8088/mall/file/image/upload"
action="http://192.168.0.102:8088/mall/file/image/upload"
list-type="picture-card"
:on-preview="handlePictureCardPreview"
:on-remove="handleRemove"
......
......@@ -371,7 +371,7 @@ export default {
};
this.getTableData(param, "update");
},
setSelctTable() {
async setSelctTable() {
if (!this.multipleSelection.length) {
return false;
}
......@@ -385,6 +385,7 @@ export default {
}
});
});
await this.getTableParam1()
},
setSelctTable1() {
// console.log(this.multipleSelection1)
......@@ -485,13 +486,15 @@ export default {
});
},
// 展板多选赋值
async handleSelectionChange(val) {
handleSelectionChange(val) {
this.multipleSelection = val;
let newArray = val.map(item => {
return item.id;
});
this.ruleForm.exhibitionBoardIdList = newArray;
await this.getTableParam1()
if(this.type === 'add') {
this.getTableParam1()
}
},
// 展板资料多选赋值
handleSelectionChange1(val) {
......@@ -586,7 +589,6 @@ export default {
}
this.getTableParam()
},
//
getSelectDep2(exhibitionBoardCatIdList) {
if (exhibitionBoardCatIdList.length === this.assetType2.length) {
this.checkedThing2 = true;
......@@ -611,15 +613,24 @@ export default {
},
// 筛选展板资料备选清单选项条件
getTableParam1(){
if((this.ruleForm.exhibitionBoardIdList.length>0)){
let vm = this;
const param = {
boardList:this.ruleForm.exhibitionBoardIdList.toString()
};
if(param.boardList.length>0){
this.getTableData1(param);
}else{
this.tableData1 = []
}
},
getTableData1 () {
let vm = this;
vm.$https(
{
url: "asset/getAssetByBoard",
method: "get",
authType: this.backToken
},
{ boardList:vm.ruleForm.exhibitionBoardIdList.toString()}
{ boardList:vm.ruleForm.exhibitionBoardIdList.toString() }
)
.then(res => {
// alert(1)
......@@ -627,14 +638,14 @@ export default {
// console.log(data)
vm.tableData1 = data;
// 选中表格数据
console.log(this.type)
// console.log(this.type)
if(this.type === 'add'){
vm.multipleSelection1 = res.data.data
setTimeout(() => {
vm.setSelctTable1();
}, 1000);
}else{
console.log(this.multipleSelection1)
// console.log(this.multipleSelection1)
vm.multipleSelection1 = this.multipleSelection1
setTimeout(() => {
vm.setSelctTable1();
......@@ -644,12 +655,9 @@ export default {
.catch(function(err) {
console.log(err);
});
}else{
this.tableData1 = []
}
},
// 根据展板类别,版权方获取展板备选清单
getTableData(param, type) {
async getTableData(param, type) {
let vm = this;
vm.$https(
......
<template>
<div class="listPage H100 learn-box">
<div class="search-container">
<el-form :inline="true" :model="form" onsubmit="return false;">
<el-form-item>
<el-input
placeholder="请输入学习内容名称"
v-model="form.nameOrCode"
@keyup.enter.native="Search"
clearable
></el-input>
</el-form-item>
<el-form-item>
<el-date-picker
value-format="yyyy-MM-dd"
v-model="value1"
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" class="btn_form_search" @click="Search"
>查询</el-button
>
<el-button size="mini" class="btn_form_search" @click="Reset"
>重置</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">
<div class="btn-group">
<el-button type="primary" @click="addPermis()">新建学习内容</el-button>
</div>
<div class="party-table">
<el-table
border
style="width: 100%; height: 100%"
height="100%"
ref="multipleTable"
:data="tableData"
>
<el-table-column type="index" width="120" label="序号">
<template slot-scope="scope">
<span>{{ (page.currentPage - 1) * 10 + scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
label="学习内容名称"
prop="name"
>
<template slot-scope="scope">
<div class="table-btn-group">
<el-tooltip content="上移" placement="top">
<el-button circle :disabled="scope.$index == 0"
@click="moveUpward(scope.row, scope.$index)" >
<i class="icon-table-up icon-up"></i>
</el-button>
</el-tooltip>
<el-tooltip content="下移" placement="top">
<el-button circle
:disabled="(scope.$index + 1) == tableData.length"
@click="moveDown(scope.row, scope.$index)">
<i class="icon-table-up icon-down"></i>
</el-button>
</el-tooltip>
<span>&nbsp;&nbsp;</span>
<span>{{scope.row.name}}</span>
</div>
</template>
</el-table-column>
<el-table-column label="创建时间" prop="createTime"></el-table-column>
<el-table-column label="创建者" prop="creatorName"></el-table-column>
<el-table-column
show-overflow-tooltip
label="所含展板数量"
prop="exhibitionBoardCount"
></el-table-column>
<el-table-column label="审核状态" prop="auditStatus">
<template slot-scope="scope">
<span v-if="scope.row.auditStatus === 'TBC'">待初审</span>
<span v-else-if="scope.row.auditStatus === 'REFUSED'"
>已驳回</span
>
<span v-else-if="scope.row.auditStatus === 'TBCA'">待复审</span>
<span v-else-if="scope.row.auditStatus === 'APPROVED_FINAL'"
>通过</span
>
</template>
</el-table-column>
<el-table-column label="使用状态" prop="published">
<template slot-scope="scope">
<!-- {{scope.row.published}} -->
<span v-if="scope.row.published">启用</span>
<span v-else>禁用</span>
</template>
</el-table-column>
<el-table-column
label="操作"
width="240"
header-align="center"
align="center"
>
<template slot-scope="scope">
<div class="table-btn-group">
<!-- <el-tooltip content="上移" placement="top">
<el-button circle :disabled="scope.$index == 0"
@click="moveUpward(scope.row, scope.$index)" >
<i class="icon-table-up icon-up"></i>
</el-button>
</el-tooltip>
<el-tooltip content="下移" placement="top">
<el-button circle
:disabled="(scope.$index + 1) == tableData.length"
@click="moveDown(scope.row, scope.$index)">
<i class="icon-table-up icon-down"></i>
</el-button>
</el-tooltip> -->
<el-tooltip content="修改" placement="top">
<el-button :disabled="(scope.row.published)||(scope.row.auditStatus === 'TBC')||(scope.row.auditStatus === 'TBCA')" circle @click="openEdit(scope.row)">
<i class="icon-table icon-edit"></i>
</el-button>
</el-tooltip>
<el-tooltip content="详情" placement="top">
<el-button circle @click="learnDetails(scope.row)">
<i class="icon-table icon-detail"></i>
</el-button>
</el-tooltip>
<el-tooltip content="启用" placement="top">
<el-button circle :disabled="(scope.row.auditStatus === 'TBC')||(scope.row.auditStatus === 'TBCA')||((scope.row.createType === '1')&&(userType !== '1'))" v-show="!scope.row.published" @click="handlePublish(scope.row, 'True')">
<i class="icon-table icon-enable"></i>
</el-button>
</el-tooltip>
<el-tooltip content="禁用" placement="top">
<el-button circle :disabled="(scope.row.auditStatus === 'TBC')||(scope.row.auditStatus === 'TBCA')" v-show="scope.row.published" @click="handlePublish(scope.row, 'False')">
<i class="icon-table icon-disable"></i>
</el-button>
</el-tooltip>
</div>
</template>
</el-table-column>
</el-table>
</div>
<div class="partyt-pagination">
<el-pagination
@current-change="handleCurrentChange"
:current-page="page.currentPage"
:page-size="page.pageSize"
layout="prev, pager, next, jumper"
:total="page.total"
></el-pagination>
</div>
</div>
</div>
</template>
<script>
export default {
data() {
var checkIsNull = (rule, value, callback) => {
if (value) {
if (value.trim() == "") {
callback(new Error("不允许只输入空格"));
} else {
callback();
}
}
};
return {
userType:'',
value1: "",
page: { currentPage: 1, pageSize: 10, total: 0 },
tableData: [],
FormVisible: false,
FormVisible1: false,
formLabelWidth: "100px",
form: {
name: "",
},
editform: {
menuName: "",
menuUrl: "",
parentId: "",
sort: "",
id: "",
},
permisform: {
menuName: "",
menuUrl: "",
parentId: "",
sort: "",
},
typeList: [],
rules: {
sort: [
{ required: true, message: "请输入顺序值", trigger: "change" },
{ pattern: /^(\d{1,5})?$/, message: "排序值为低于5位数的纯数字" },
],
menuName: [
{ required: true, message: "请输入菜单名称", trigger: "change" },
{ max: 20, message: "不能超过20个字符", trigger: "change" },
{ validator: checkIsNull, trigger: "blur" },
],
menuUrl: [
{ required: true, message: "请输入菜单地址", trigger: "change" },
{ validator: checkIsNull, trigger: "blur" },
],
parentId: [
{ required: true, message: "请输入父级菜单", trigger: "change" },
],
},
value: "",
name: "",
};
},
computed: {},
mounted() {
this.onSearch();
this.userType = localStorage.getItem("userType");
},
components: {},
methods: {
// 上移
moveUpward(row, index) {
this.getSort(row.id,(this.tableData[index - 1]).id)
if (index > 0) {
let upData = this.tableData[index - 1];
this.tableData.splice(index - 1, 1);
this.tableData.splice(index, 0, upData);
} else {
this.$message({
message: "已经是第一条,上移失败",
type: "warning"
});
}
},
// 下移
moveDown(row, index) {
this.getSort(row.id,(this.tableData[index + 1]).id)
if (index + 1 == this.tableData.length) {
this.$message({
message: "已经是最后一条,下移失败",
type: "warning"
});
} else {
let downData = this.tableData[index + 1];
this.tableData.splice(index + 1, 1);
this.tableData.splice(index, 0, downData);
}
},
// 排序接口
getSort(sourceId,targetId){
let _this = this;
_this
.$https({
method: "put",
url: "learningContent/sort",
authType: this.backToken
},
_this.$qs.stringify({
sourceId:sourceId,
targetId:targetId
}))
.then(
res => {
this.$message({
type: "success",
message: "成功!"
});
_this.Search();
},
error => {
this.$message({
type: "fail",
message: "失败!" + error.response.data
});
}
);
},
// 渲染父级权限
getPermis() {
let vm = this;
vm.$https({
method: "get",
url:
"menu/getRoleMenu?roleId=" +
sessionStorage.gelearningContent("roleId"),
authType: this.backToken,
}).then(
(res) => {
let data = res.data;
vm.typeList = data.map((e, i) => {
return {
id: e.id,
name:
e.menuName.indexOf("-") == -1
? e.menuName
: e.menuName.split("-")[1],
};
});
},
(error) => {
console.log(error);
}
);
},
// 上下架
handlePublish(row, isPublish) {
let _this = this;
let _isPublish = isPublish
_this
.$https(
{
method: "put",
url: "learningContent/enable/" + row.id,
authType: this.backToken,
},
_this.$qs.stringify({ isPublish: isPublish })
)
.then(
(res) => {
if(res.data.resultCode === "200"){
if(_isPublish === 'True'){
this.$message({ type: "success", message: "启用申请已提交,待审核!" });
}else{
this.$message({ type: "success", message: "禁用申请已提交,待审核!" });
}
_this.onSearch();
}else{
this.$message({ type: "error", message: res.data.message });
}
},
(error) => {
this.$message({
type: "fail",
message: "失败!" + error.response.data,
});
}
);
},
// 获得数据接口
getTableData(param) {
let vm = this;
vm.$https(
{
url: "learningContent/getPageList",
method: "post",
authType: this.backToken,
},
vm.$qs.stringify(param)
// param
)
.then((res) => {
let data = res.data.data;
vm.page.pageSize = data.size;
vm.page.total = data.total;
vm.tableData = data.records;
})
.catch(function (err) {
console.log(err);
});
},
// 分页
handleCurrentChange(val) {
let _this = this;
_this.page.currentPage = val;
_this.onSearch();
},
onSearch() {
let _this = this;
let param = _this.getSearchQuery();
_this.getTableData(param);
},
// 重置
Reset() {
this.form = {};
this.value1 = "";
this.Search();
},
Search() {
let _this = this;
_this.page.currentPage = 1;
let searchObj = {
_index: 1,
_size: _this.page.pageSize,
nameOrCode: _this.form.nameOrCode,
startDate: this.value1 ? this.value1[0] : "",
endDate: this.value1 ? this.value1[1] : "",
};
this.getTableData(searchObj);
},
// // 获取当前查询参数
getSearchQuery() {
let _this = this;
let searchObj = {
_index: _this.page.currentPage,
_size: _this.page.pageSize,
};
for (let key in _this.form) {
if (_this.form[key]) {
searchObj[key] = _this.form[key];
}
}
return searchObj;
},
// 添加
addPermis() {
this.$router.push({ path: "learnContentAdd", query: { type: "add" } });
// $('.el-dialog__title').html('新建');
// this.FormVisible1 = true;
},
// 学习内容详情
learnDetails(row) {
this.$router.push({ path: "learnContentDetails", query: { id: row.id } });
},
// 添加权限
permisSave() {
let _this = this;
_this.$refs.permisform.validate((valid) => {
if (valid) {
_this
.$https(
{ url: "menu/add", method: "post", authType: this.backToken },
_this.$qs.stringify(_this.permisform)
)
.then(
(res) => {
if (res.data.status == 200 || res.data.status == 201) {
_this.$message({
type: "success",
message: res.data.message,
});
//跳回用户列表
_this.onSearch();
_this.FormVisible1 = false;
for (let key in _this.permisform) {
_this.permisform[key] = null;
}
_this.$refs["permisform"].resetFields();
} else {
_this.$message({
type: "error",
message: res.data.message,
});
}
},
(error) => {
_this.$message({
type: "error",
message: error,
});
}
);
}
});
},
// 编辑关闭
close() {
this.FormVisible = false;
this.$refs["editform"].resetFields();
},
// 新增关闭
close1() {
this.FormVisible1 = false;
for (let key in this.permisform) {
this.permisform[key] = null;
}
this.$refs["permisform"].resetFields();
},
// 编辑弹框
openEdit(row) {
this.$router.push({
path: "learnContentUpdate",
query: { type: "Update", id: row.id },
});
// alert('编辑')
// $('.el-dialog__title').html('编辑');
// let _this=this;
// //成功之后清除数据
// for (let key in this.editform) {
// _this.editform[key]=null;
// }
// _this.editform= Object.assign({}, row);
// _this.FormVisible = true;
},
// 删除
handleDelete(row) {
let _this = this;
this.$confirm("此操作将永久删除, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
_this
.$https({
method: "delete",
url: "learningContent/delete/" + row.id,
authType: this.backToken,
})
.then(
(res) => {
this.$message({ type: "success", message: "删除成功!" });
_this.Search();
},
(error) => {
this.$message({
type: "fail",
message: "删除失败!" + error.response.data,
});
}
);
})
.catch(() => {});
},
// 保存编辑信息
submitForm() {
let _this = this;
_this.$refs.editform.validate((valid) => {
if (valid) {
let searchObj = {};
for (let key in _this.editform) {
if (this.editform[key]) {
searchObj[key] = _this.editform[key];
}
}
let str = _this.editform.menuName;
let index = str.lastIndexOf("-");
str = str.substring(index + 1, str.length);
searchObj.menuName = str;
_this
.$https(
{
url: "menu/edit",
method: "put",
authType: this.backToken,
},
_this.$qs.stringify(searchObj)
)
.then(
(res) => {
if (res.data.status == 200 || res.data.status == 201) {
_this.$message({
type: "success",
message: res.data.message,
});
_this.onSearch();
_this.FormVisible = false;
_this.$refs["editform"].resetFields();
} else {
_this.$message({
type: "error",
message: res.data.message,
});
}
},
(error) => {
_this.$message({
type: "error",
message: error,
});
}
);
}
});
},
// 批量操作
handleSelectionChange(selection) {
let _this = this;
_this.selection = selection;
},
},
};
</script>
<style lang="less">
// @import "../../../../style/common";
// @import "../../style/list";
@import "../../../../style/table.less";
@import "../../../../style/pagination.less";
.learn-box {
@media screen and (max-width: 1024px) {
.page-tip {
display: none !important;
}
}
}
</style>
<template>
<div class="listPage H100 learn-box">
<div class="search-container">
<el-form :inline="true" :model="form" onsubmit="return false;">
<el-form-item>
<el-input
placeholder="请输入学习内容名称"
v-model="form.nameOrCode"
@keyup.enter.native="Search"
clearable
></el-input>
</el-form-item>
<el-form-item>
<el-date-picker
value-format="yyyy-MM-dd"
v-model="value1"
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" class="btn_form_search" @click="Search"
>查询</el-button
>
<el-button size="mini" class="btn_form_search" @click="Reset"
>重置</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">
<div class="btn-group">
<el-button type="primary" @click="addPermis()">新建学习内容</el-button>
</div>
<div class="party-table">
<el-table
border
style="width: 100%; height: 100%"
height="100%"
ref="multipleTable"
:data="tableData"
>
<el-table-column type="index" width="120" label="序号">
<template slot-scope="scope">
<span>{{ (page.currentPage - 1) * 10 + scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
label="学习内容名称"
prop="name"
>
<template slot-scope="scope">
<div class="table-btn-group">
<el-tooltip content="上移" placement="top">
<el-button circle :disabled="scope.$index == 0"
@click="moveUpward(scope.row, scope.$index)" >
<i class="icon-table-up icon-up"></i>
</el-button>
</el-tooltip>
<el-tooltip content="下移" placement="top">
<el-button circle
:disabled="(scope.$index + 1) == tableData.length"
@click="moveDown(scope.row, scope.$index)">
<i class="icon-table-up icon-down"></i>
</el-button>
</el-tooltip>
<span>&nbsp;&nbsp;</span>
<span>{{scope.row.name}}</span>
</div>
</template>
</el-table-column>
<el-table-column label="创建时间" prop="createTime"></el-table-column>
<el-table-column label="创建者" prop="creatorName"></el-table-column>
<el-table-column
show-overflow-tooltip
label="所含展板数量"
prop="exhibitionBoardCount"
></el-table-column>
<el-table-column label="审核状态" prop="auditStatus">
<template slot-scope="scope">
<span v-if="scope.row.auditStatus === 'TBC'">待初审</span>
<span v-else-if="scope.row.auditStatus === 'REFUSED'"
>已驳回</span
>
<span v-else-if="scope.row.auditStatus === 'TBCA'">待复审</span>
<span v-else-if="scope.row.auditStatus === 'APPROVED_FINAL'"
>通过</span
>
</template>
</el-table-column>
<el-table-column label="使用状态" prop="published">
<template slot-scope="scope">
<!-- {{scope.row.published}} -->
<span v-if="scope.row.published">启用</span>
<span v-else>禁用</span>
</template>
</el-table-column>
<el-table-column
label="操作"
width="240"
header-align="center"
align="center"
>
<template slot-scope="scope">
<div class="table-btn-group">
<!-- <el-tooltip content="上移" placement="top">
<el-button circle :disabled="scope.$index == 0"
@click="moveUpward(scope.row, scope.$index)" >
<i class="icon-table-up icon-up"></i>
</el-button>
</el-tooltip>
<el-tooltip content="下移" placement="top">
<el-button circle
:disabled="(scope.$index + 1) == tableData.length"
@click="moveDown(scope.row, scope.$index)">
<i class="icon-table-up icon-down"></i>
</el-button>
</el-tooltip> -->
<el-tooltip content="修改" placement="top">
<el-button :disabled="(scope.row.published)||(scope.row.auditStatus === 'TBC')||(scope.row.auditStatus === 'TBCA')" circle @click="openEdit(scope.row)">
<i class="icon-table icon-edit"></i>
</el-button>
</el-tooltip>
<el-tooltip content="详情" placement="top">
<el-button circle @click="learnDetails(scope.row)">
<i class="icon-table icon-detail"></i>
</el-button>
</el-tooltip>
<el-tooltip content="启用" placement="top">
<el-button circle :disabled="(scope.row.auditStatus === 'TBC')||(scope.row.auditStatus === 'TBCA')||((scope.row.createType === '1')&&(userType !== '1'))" v-show="!scope.row.published" @click="handlePublish(scope.row, 'True')">
<i class="icon-table icon-enable"></i>
</el-button>
</el-tooltip>
<el-tooltip content="禁用" placement="top">
<el-button circle :disabled="(scope.row.auditStatus === 'TBC')||(scope.row.auditStatus === 'TBCA')" v-show="scope.row.published" @click="handlePublish(scope.row, 'False')">
<i class="icon-table icon-disable"></i>
</el-button>
</el-tooltip>
</div>
</template>
</el-table-column>
</el-table>
</div>
<div class="partyt-pagination">
<el-pagination
@current-change="handleCurrentChange"
:current-page="page.currentPage"
:page-size="page.pageSize"
layout="prev, pager, next, jumper"
:total="page.total"
></el-pagination>
</div>
</div>
</div>
</template>
<script>
export default {
data() {
var checkIsNull = (rule, value, callback) => {
if (value) {
if (value.trim() == "") {
callback(new Error("不允许只输入空格"));
} else {
callback();
}
}
};
return {
userType:'',
value1: "",
page: { currentPage: 1, pageSize: 10, total: 0 },
tableData: [],
FormVisible: false,
FormVisible1: false,
formLabelWidth: "100px",
form: {
name: "",
},
editform: {
menuName: "",
menuUrl: "",
parentId: "",
sort: "",
id: "",
},
permisform: {
menuName: "",
menuUrl: "",
parentId: "",
sort: "",
},
typeList: [],
rules: {
sort: [
{ required: true, message: "请输入顺序值", trigger: "change" },
{ pattern: /^(\d{1,5})?$/, message: "排序值为低于5位数的纯数字" },
],
menuName: [
{ required: true, message: "请输入菜单名称", trigger: "change" },
{ max: 20, message: "不能超过20个字符", trigger: "change" },
{ validator: checkIsNull, trigger: "blur" },
],
menuUrl: [
{ required: true, message: "请输入菜单地址", trigger: "change" },
{ validator: checkIsNull, trigger: "blur" },
],
parentId: [
{ required: true, message: "请输入父级菜单", trigger: "change" },
],
},
value: "",
name: "",
};
},
computed: {},
mounted() {
this.onSearch();
this.userType = localStorage.getItem("userType");
},
components: {},
methods: {
// 上移
moveUpward(row, index) {
this.getSort(row.id,(this.tableData[index - 1]).id)
if (index > 0) {
let upData = this.tableData[index - 1];
this.tableData.splice(index - 1, 1);
this.tableData.splice(index, 0, upData);
} else {
this.$message({
message: "已经是第一条,上移失败",
type: "warning"
});
}
},
// 下移
moveDown(row, index) {
this.getSort(row.id,(this.tableData[index + 1]).id)
if (index + 1 == this.tableData.length) {
this.$message({
message: "已经是最后一条,下移失败",
type: "warning"
});
} else {
let downData = this.tableData[index + 1];
this.tableData.splice(index + 1, 1);
this.tableData.splice(index, 0, downData);
}
},
// 排序接口
getSort(sourceId,targetId){
let _this = this;
_this
.$https({
method: "put",
url: "learningContent/sort",
authType: this.backToken
},
_this.$qs.stringify({
sourceId:sourceId,
targetId:targetId
}))
.then(
res => {
this.$message({
type: "success",
message: "成功!"
});
_this.Search();
},
error => {
this.$message({
type: "fail",
message: "失败!" + error.response.data
});
}
);
},
// 渲染父级权限
getPermis() {
let vm = this;
vm.$https({
method: "get",
url:
"menu/getRoleMenu?roleId=" +
sessionStorage.gelearningContent("roleId"),
authType: this.backToken,
}).then(
(res) => {
let data = res.data;
vm.typeList = data.map((e, i) => {
return {
id: e.id,
name:
e.menuName.indexOf("-") == -1
? e.menuName
: e.menuName.split("-")[1],
};
});
},
(error) => {
console.log(error);
}
);
},
// 上下架
handlePublish(row, isPublish) {
let _this = this;
let _isPublish = isPublish
_this
.$https(
{
method: "put",
url: "learningContent/enable/" + row.id,
authType: this.backToken,
},
_this.$qs.stringify({ isPublish: isPublish })
)
.then(
(res) => {
if(res.data.resultCode === "200"){
if(_isPublish === 'True'){
this.$message({ type: "success", message: "启用申请已提交,待审核!" });
}else{
this.$message({ type: "success", message: "禁用申请已提交,待审核!" });
}
_this.onSearch();
}else{
this.$message({ type: "error", message: res.data.message });
}
},
(error) => {
this.$message({
type: "fail",
message: "失败!" + error.response.data,
});
}
);
},
// 获得数据接口
getTableData(param) {
let vm = this;
vm.$https(
{
url: "learningContent/getPageList",
method: "post",
authType: this.backToken,
},
vm.$qs.stringify(param)
// param
)
.then((res) => {
let data = res.data.data;
vm.page.pageSize = data.size;
vm.page.total = data.total;
vm.tableData = data.records;
})
.catch(function (err) {
console.log(err);
});
},
// 分页
handleCurrentChange(val) {
let _this = this;
_this.page.currentPage = val;
_this.onSearch();
},
onSearch() {
let _this = this;
let param = _this.getSearchQuery();
_this.getTableData(param);
},
// 重置
Reset() {
this.form = {};
this.value1 = "";
this.Search();
},
Search() {
let _this = this;
_this.page.currentPage = 1;
let searchObj = {
_index: 1,
_size: _this.page.pageSize,
nameOrCode: _this.form.nameOrCode,
startDate: this.value1 ? this.value1[0] : "",
endDate: this.value1 ? this.value1[1] : "",
};
this.getTableData(searchObj);
},
// // 获取当前查询参数
getSearchQuery() {
let _this = this;
let searchObj = {
_index: _this.page.currentPage,
_size: _this.page.pageSize,
};
for (let key in _this.form) {
if (_this.form[key]) {
searchObj[key] = _this.form[key];
}
}
return searchObj;
},
// 添加
addPermis() {
this.$router.push({ path: "learnContentAdd", query: { type: "add" } });
// $('.el-dialog__title').html('新建');
// this.FormVisible1 = true;
},
// 学习内容详情
learnDetails(row) {
this.$router.push({ path: "learnContentDetails", query: { id: row.id } });
},
// 添加权限
permisSave() {
let _this = this;
_this.$refs.permisform.validate((valid) => {
if (valid) {
_this
.$https(
{ url: "menu/add", method: "post", authType: this.backToken },
_this.$qs.stringify(_this.permisform)
)
.then(
(res) => {
if (res.data.status == 200 || res.data.status == 201) {
_this.$message({
type: "success",
message: res.data.message,
});
//跳回用户列表
_this.onSearch();
_this.FormVisible1 = false;
for (let key in _this.permisform) {
_this.permisform[key] = null;
}
_this.$refs["permisform"].resetFields();
} else {
_this.$message({
type: "error",
message: res.data.message,
});
}
},
(error) => {
_this.$message({
type: "error",
message: error,
});
}
);
}
});
},
// 编辑关闭
close() {
this.FormVisible = false;
this.$refs["editform"].resetFields();
},
// 新增关闭
close1() {
this.FormVisible1 = false;
for (let key in this.permisform) {
this.permisform[key] = null;
}
this.$refs["permisform"].resetFields();
},
// 编辑弹框
openEdit(row) {
this.$router.push({
path: "learnContentUpdate",
query: { type: "Update", id: row.id },
});
// alert('编辑')
// $('.el-dialog__title').html('编辑');
// let _this=this;
// //成功之后清除数据
// for (let key in this.editform) {
// _this.editform[key]=null;
// }
// _this.editform= Object.assign({}, row);
// _this.FormVisible = true;
},
// 删除
handleDelete(row) {
let _this = this;
this.$confirm("此操作将永久删除, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
_this
.$https({
method: "delete",
url: "learningContent/delete/" + row.id,
authType: this.backToken,
})
.then(
(res) => {
this.$message({ type: "success", message: "删除成功!" });
_this.Search();
},
(error) => {
this.$message({
type: "fail",
message: "删除失败!" + error.response.data,
});
}
);
})
.catch(() => {});
},
// 保存编辑信息
submitForm() {
let _this = this;
_this.$refs.editform.validate((valid) => {
if (valid) {
let searchObj = {};
for (let key in _this.editform) {
if (this.editform[key]) {
searchObj[key] = _this.editform[key];
}
}
let str = _this.editform.menuName;
let index = str.lastIndexOf("-");
str = str.substring(index + 1, str.length);
searchObj.menuName = str;
_this
.$https(
{
url: "menu/edit",
method: "put",
authType: this.backToken,
},
_this.$qs.stringify(searchObj)
)
.then(
(res) => {
if (res.data.status == 200 || res.data.status == 201) {
_this.$message({
type: "success",
message: res.data.message,
});
_this.onSearch();
_this.FormVisible = false;
_this.$refs["editform"].resetFields();
} else {
_this.$message({
type: "error",
message: res.data.message,
});
}
},
(error) => {
_this.$message({
type: "error",
message: error,
});
}
);
}
});
},
// 批量操作
handleSelectionChange(selection) {
let _this = this;
_this.selection = selection;
},
},
};
</script>
<style lang="less">
// @import "../../../../style/common";
// @import "../../style/list";
@import "../../../../style/table.less";
@import "../../../../style/pagination.less";
.learn-box {
@media screen and (max-width: 1024px) {
.page-tip {
display: none !important;
}
}
}
</style>
......@@ -387,7 +387,7 @@ export default {
axios({
method: "get",
url: 'http://111.203.232.175:8088/mall/asset/downloadCipher',
url: 'http://192.168.0.102:8088/mall/asset/downloadCipher',
params: {
// idList:str
......@@ -425,7 +425,7 @@ export default {
axios({
method: "get",
url: 'http://111.203.232.175:8088/mall/asset/download',
url: 'http://192.168.0.102:8088/mall/asset/download',
params: {
// idList: "1382697227765313538"
idList:str
......
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