提交 3bb7909b authored 作者: 龙菲's avatar 龙菲

优化角色模块、修复布展和文物文件问题

上级 ea774897
<template> <template>
<div class="images-list" > <div class="images-list">
<el-upload <el-upload
action="#" action="#"
:on-remove="handleRemove" :on-remove="handleRemove"
...@@ -82,18 +82,16 @@ export default { ...@@ -82,18 +82,16 @@ export default {
handler: function (val) { handler: function (val) {
// this.fileList = JSON.parse(JSON.stringify(val)); // this.fileList = JSON.parse(JSON.stringify(val));
// 将回填的字段从url-->pressUrl // 将回填的字段从url-->pressUrl
if (val.length > 0) { this.fileList = val.map((item) => {
this.fileList = val.map((item) => { return {
return { highImg: item.url,
highImg: item.url, lowImg: item.pressUrl,
lowImg: item.pressUrl, url: item.pressUrl,
url: item.pressUrl, // pressUrl:item.pressUrl,
// pressUrl:item.pressUrl, name: item.name,
name: item.name, fileId: item.fileId,
fileId: item.fileId, };
}; });
});
}
}, },
immediate: true, immediate: true,
deep: true, deep: true,
...@@ -137,19 +135,11 @@ export default { ...@@ -137,19 +135,11 @@ export default {
methods: { methods: {
getFiles() { getFiles() {
if ( if (
this.fileType == "jpg" || this.fileType.indexOf("jpg") != -1 ||
this.fileType == "png" || this.fileType.indexOf("jpeg") != -1 ||
this.fileType == "jpeg" this.fileType.indexOf("png") != -1
) { ) {
let newFileList = this.fileList.map((item) => { let newFileList = this.fileList.map((item) => {
// return {
// // highImg: item.url,
// // lowImg: item.pressUrl,
// url: item.highImg,
// pressUrl: item.lowImg,
// name: item.name,
// fileId: item.fileId,
// };
item.url = item.highImg; item.url = item.highImg;
item.pressUrl = item.lowImg; item.pressUrl = item.lowImg;
item.name = item.name; item.name = item.name;
......
...@@ -23,6 +23,9 @@ export default { ...@@ -23,6 +23,9 @@ export default {
value: { value: {
type: String, type: String,
}, },
placeholder: {
type: String,
},
}, },
watch: { watch: {
value: { value: {
...@@ -32,6 +35,12 @@ export default { ...@@ -32,6 +35,12 @@ export default {
immediate: true, immediate: true,
deep: true, deep: true,
}, },
placeholder(value) {
debugger
if (value) {
this.editorOption.placeholder = value;
}
},
}, },
components: { components: {
quillEditor, quillEditor,
......
...@@ -8,9 +8,9 @@ import getPageTitle from '@/utils/get-page-title' ...@@ -8,9 +8,9 @@ import getPageTitle from '@/utils/get-page-title'
import { getMenu } from "./api/user"; import { getMenu } from "./api/user";
import { addRouter } from "./utils/addRouter"; import { addRouter } from "./utils/addRouter";
import user from "./store/modules/user"; import user from "./store/modules/user";
NProgress.configure({ // NProgress.configure({
showSpinner: false // showSpinner: false
}) // NProgress Configuration // }) // NProgress Configuration
const whiteList = ['/login'] // no redirect whitelist const whiteList = ['/login'] // no redirect whitelist
...@@ -22,7 +22,6 @@ router.beforeEach(async (to, from, next) => { ...@@ -22,7 +22,6 @@ router.beforeEach(async (to, from, next) => {
document.title = getPageTitle(to.meta.title) document.title = getPageTitle(to.meta.title)
// determine whether the user has logged in // determine whether the user has logged in
if (getToken()) { if (getToken()) {
// 判断cookice是否存在 不存在即为未登录 // 判断cookice是否存在 不存在即为未登录
if (to.path !== "/login") { if (to.path !== "/login") {
...@@ -37,22 +36,6 @@ router.beforeEach(async (to, from, next) => { ...@@ -37,22 +36,6 @@ router.beforeEach(async (to, from, next) => {
Message({ message: "您已经登录", type: "info" }); Message({ message: "您已经登录", type: "info" });
next("/"); next("/");
} }
// if (to.path === '/login') {
// // if is logged in, redirect to the home page
// next({
// path: '/'
// })
// NProgress.done()
// } else {
// // next()
// // NProgress.done()
// if (user.state.init) {
// // 获取了动态路由 data一定true,就无需再次请求 直接放行
// next();
// } else {
// // data为false,一定没有获取动态路由,就跳转到获取动态路由的方法
// gotoRouter(to, next);
// }
// } // }
} else { } else {
/* has no token*/ /* has no token*/
...@@ -75,7 +58,6 @@ router.afterEach((to, from) => { ...@@ -75,7 +58,6 @@ router.afterEach((to, from) => {
function gotoRouter(to, next) { function gotoRouter(to, next) {
getMenu() // 获取动态路由的方法 getMenu() // 获取动态路由的方法
.then(res => { .then(res => {
console.log("解析后端动态路由", res);
const asyncRouter = addRouter(res.data.menus); // 进行递归解析 const asyncRouter = addRouter(res.data.menus); // 进行递归解析
// store.dispatch("user/setroles", res.data.permit); // store.dispatch("user/setroles", res.data.permit);
return asyncRouter; return asyncRouter;
...@@ -88,7 +70,6 @@ function gotoRouter(to, next) { ...@@ -88,7 +70,6 @@ function gotoRouter(to, next) {
hidden: true hidden: true
}); });
router.addRoutes(asyncRouter); // vue-router提供的addRouter方法进行路由拼接 router.addRoutes(asyncRouter); // vue-router提供的addRouter方法进行路由拼接
console.log(asyncRouter);
store.dispatch("user/setRouterList", asyncRouter); // 存储到vuex store.dispatch("user/setRouterList", asyncRouter); // 存储到vuex
// store.dispatch("user/GetInfo"); // store.dispatch("user/GetInfo");
store.commit("user/set_init", true); store.commit("user/set_init", true);
......
...@@ -143,7 +143,10 @@ ...@@ -143,7 +143,10 @@
:label-width="formLabelWidth" :label-width="formLabelWidth"
prop="intro" prop="intro"
> >
<VueQuillEditor v-model="dialogForm.intro" /> <VueQuillEditor
v-model="dialogForm.intro"
placeholder="请输入馆藏介绍"
/>
</el-form-item> </el-form-item>
<el-form-item label="关联文献" :label-width="formLabelWidth"> <el-form-item label="关联文献" :label-width="formLabelWidth">
<el-select <el-select
...@@ -208,10 +211,7 @@ ...@@ -208,10 +211,7 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item <el-form-item label="文物封面" :label-width="formLabelWidth">
label="文物封面"
:label-width="formLabelWidth"
>
<ManualUploader <ManualUploader
:files="faceImage" :files="faceImage"
:fileLimit="1" :fileLimit="1"
...@@ -325,16 +325,17 @@ export default { ...@@ -325,16 +325,17 @@ export default {
this.dialogForm.status = Boolean(Number(this.dialogForm.status)); this.dialogForm.status = Boolean(Number(this.dialogForm.status));
// debugger // debugger
// 回填媒体 // 回填媒体
if (this.dialogForm.faceImageUrl) { this.faceImage = [
this.faceImage = [ {
{ name: "",
name: "", url: this.dialogForm.faceImageUrl || "",
url: this.dialogForm.faceImageUrl, pressUrl:
fileId: this.dialogForm.faceImage, this.dialogForm.faceImagePressUrl ||
}, this.dialogForm.faceImageUrl ||
]; "",
} fileId: this.dialogForm.faceImage || "",
},
];
this.images = this.dialogForm.imagesVo || []; this.images = this.dialogForm.imagesVo || [];
this.videos = this.dialogForm.videosVo || []; this.videos = this.dialogForm.videosVo || [];
this.audios = this.dialogForm.audiosVo || []; this.audios = this.dialogForm.audiosVo || [];
...@@ -490,7 +491,7 @@ export default { ...@@ -490,7 +491,7 @@ export default {
this.reset(); this.reset();
}, },
handleSubmit() { handleSubmit() {
this.$refs.form.validate(async (valid,err) => { this.$refs.form.validate(async (valid, err) => {
if (valid) { if (valid) {
var that = this; var that = this;
this.submitLoading = true; this.submitLoading = true;
...@@ -499,41 +500,55 @@ export default { ...@@ -499,41 +500,55 @@ export default {
let successFilesObj = []; let successFilesObj = [];
// 需要被删除的文件Id // 需要被删除的文件Id
let deleteFileArr = []; let deleteFileArr = [];
// debugger
// 添加布展本身的媒体文件至formData // 添加布展本身的媒体文件至formData
const mediaArr = ["faceImage", "images", "videos", "audios"]; const mediaArr = ["faceImage", "images", "videos", "audios"];
let newFiles = {}; let newFiles = {};
// debugger;
mediaArr.map((media) => { mediaArr.map((media) => {
let files = [...this.$refs[media].getFiles()]; let files = [...this.$refs[media].getFiles()];
let fileIds = []; let fileIds = [];
files.map((f) => { files.map((f) => {
switch (f.status) { // switch (f.status) {
case "ready": // case "ready":
formData.append(media, f.raw); // formData.append(media, f.raw);
break; // break;
case "success": // case "success":
if (successFilesObj[media]) { // if (successFilesObj[media]) {
successFilesObj[media].push(f); // successFilesObj[media].push(f);
} else { // } else {
successFilesObj[media] = [f]; // successFilesObj[media] = [f];
} // }
fileIds.push(f.fileId); // fileIds.push(f.fileId);
break; // break;
// }
if (f.status && f.status == "ready") {
console.log(media, "---", f.raw);
formData.append(media, f.raw);
} else {
if (successFilesObj[media]) {
successFilesObj[media].push(f);
} else {
successFilesObj[media] = [f];
}
fileIds.push(f.fileId);
} }
}); });
newFiles[media] = fileIds; newFiles[media] = fileIds;
}); });
mediaArr.map((media) => { mediaArr.map((media) => {
if (this.dialogForm[media]) { if (this.dialogForm[media]) {
let oldFileIdArr = this.dialogForm[media].split(","); let oldFileIdArr = this.dialogForm[media].split(",");
oldFileIdArr.map((oldId) => { oldFileIdArr.map((oldId) => {
if (newFiles[media].indexOf(oldId) == -1) { if (newFiles[media].indexOf(oldId) == -1) {
console.log(oldId + "被删除"); console.log(oldId + "被删除");
deleteFileArr.push(oldId); deleteFileArr.push(oldId);
} }
}); });
} }
}); });
// return;
// 上传所有媒体文件 // 上传所有媒体文件
let filesObj = {}; let filesObj = {};
...@@ -636,6 +651,7 @@ export default { ...@@ -636,6 +651,7 @@ export default {
if (deleteFileArr.length > 0) { if (deleteFileArr.length > 0) {
await deleteFiles(deleteFileArr); await deleteFiles(deleteFileArr);
} }
// return;
editCulturalRelic(params) editCulturalRelic(params)
.then((res) => { .then((res) => {
if (res.code == 0) { if (res.code == 0) {
...@@ -652,7 +668,7 @@ export default { ...@@ -652,7 +668,7 @@ export default {
this.submitLoading = false; this.submitLoading = false;
}); });
} }
}else{ } else {
console.warn(err); console.warn(err);
} }
}); });
......
...@@ -287,7 +287,7 @@ export default { ...@@ -287,7 +287,7 @@ export default {
methods: { methods: {
async search(form) { async search(form) {
var params = { var params = {
page: this.list.current, page: 1,
limit: this.list.size, limit: this.list.size,
...form, ...form,
}; };
......
...@@ -96,7 +96,7 @@ ...@@ -96,7 +96,7 @@
@ready="onEditorReady($event)" @ready="onEditorReady($event)"
class=".editor" class=".editor"
/> --> /> -->
<VueQuillEditor v-model="currentData.intro" /> <VueQuillEditor v-model="currentData.intro" placeholder="请输入单元介绍"/>
</el-col> </el-col>
</el-row> </el-row>
......
...@@ -104,7 +104,10 @@ ...@@ -104,7 +104,10 @@
</el-form-item> </el-form-item>
<el-form-item label="展览介绍" :label-width="formLabelWidth"> <el-form-item label="展览介绍" :label-width="formLabelWidth">
<VueQuillEditor v-model="dialogForm.intro" /> <VueQuillEditor
v-model="dialogForm.intro"
placeholder="请输入展览介绍"
/>
</el-form-item> </el-form-item>
<el-form-item label="关键词" :label-width="formLabelWidth"> <el-form-item label="关键词" :label-width="formLabelWidth">
<el-input <el-input
...@@ -185,10 +188,7 @@ ...@@ -185,10 +188,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item <el-form-item label="展览封面" :label-width="formLabelWidth">
label="展览封面"
:label-width="formLabelWidth"
>
<ManualUploader <ManualUploader
:fileLimit="1" :fileLimit="1"
listType="picture-card" listType="picture-card"
...@@ -327,15 +327,23 @@ export default { ...@@ -327,15 +327,23 @@ export default {
} }
} }
// 回填媒体资源 // 回填媒体资源
if (this.dialogForm.faceImageUrl) { if (
this.dialogForm.faceImageUrl ||
this.dialogForm.faceImagePressUrl
) {
this.faceImage = [ this.faceImage = [
{ {
name: "", name: "",
url: this.dialogForm.faceImageUrl, url: this.dialogForm.faceImageUrl || "",
fileId: this.dialogForm.faceImage, pressUrl:
pressUrl: this.dialogForm.faceImagePressUrl, this.dialogForm.faceImagePressUrl ||
this.dialogForm.faceImageUrl ||
"",
fileId: this.dialogForm.faceImage || "",
}, },
]; ];
} else {
this.faceImage = [];
} }
this.images = this.dialogForm.imagesVo || []; this.images = this.dialogForm.imagesVo || [];
this.videos = this.dialogForm.videosVo || []; this.videos = this.dialogForm.videosVo || [];
...@@ -401,7 +409,7 @@ export default { ...@@ -401,7 +409,7 @@ export default {
}, },
}, },
data() { data() {
let that =this let that = this;
var checkFaceImage = (rule, value, callback) => { var checkFaceImage = (rule, value, callback) => {
if (that.faceImage.length == 0) { if (that.faceImage.length == 0) {
// this.$message.info('请上传封面') // this.$message.info('请上传封面')
...@@ -549,20 +557,32 @@ export default { ...@@ -549,20 +557,32 @@ export default {
let files = [...this.$refs[media].getFiles()]; let files = [...this.$refs[media].getFiles()];
let fileIds = []; //不同媒体或单元已经存在的文件id数组 let fileIds = []; //不同媒体或单元已经存在的文件id数组
files.map((f) => { files.map((f) => {
switch (f.status) { // switch (f.status) {
case "ready": // case "ready":
formData.append(media, f.raw); // formData.append(media, f.raw);
break; // break;
case "success": // case "success":
if (successFilesObj[media]) { // if (successFilesObj[media]) {
successFilesObj[media].push(f); // successFilesObj[media].push(f);
} else { // } else {
successFilesObj[media] = [f]; // successFilesObj[media] = [f];
} // }
fileIds.push(f.fileId); // fileIds.push(f.fileId);
break; // break;
// }
if (f.status && f.status == "ready") {
formData.append(media, f.raw);
} else {
if (successFilesObj[media]) {
successFilesObj[media].push(f);
} else {
successFilesObj[media] = [f];
}
fileIds.push(f.fileId);
} }
}); });
newFiles[media] = fileIds; newFiles[media] = fileIds;
}); });
...@@ -841,7 +861,7 @@ export default { ...@@ -841,7 +861,7 @@ export default {
if (params.deptId instanceof Array) { if (params.deptId instanceof Array) {
params.deptId = params.deptId[params.deptId.length - 1]; params.deptId = params.deptId[params.deptId.length - 1];
} }
// return;
if (deleteFileArr.length > 0) { if (deleteFileArr.length > 0) {
await deleteFiles(deleteFileArr); await deleteFiles(deleteFileArr);
} }
......
...@@ -79,12 +79,12 @@ ...@@ -79,12 +79,12 @@
:displayDetail="curPreviewObj" :displayDetail="curPreviewObj"
@handleClose="handleClosePreviewDialog" @handleClose="handleClosePreviewDialog"
/> />
<CopyDialog <!-- <CopyDialog
:visible="copyDialogVisible" :visible="copyDialogVisible"
@handleClose="handleCloseCopyDialog" @handleClose="handleCloseCopyDialog"
@handleCopySelect="handleCopySelect" @handleCopySelect="handleCopySelect"
:list="list" :list="list"
/> /> -->
<el-image-viewer <el-image-viewer
v-if="imgViewerVisible" v-if="imgViewerVisible"
:on-close="closeImgViewer" :on-close="closeImgViewer"
...@@ -212,7 +212,7 @@ export default { ...@@ -212,7 +212,7 @@ export default {
methods: { methods: {
async search(form) { async search(form) {
var params = { var params = {
page: this.list.current, page: 1,
limit: this.list.size, limit: this.list.size,
...form, ...form,
}; };
...@@ -309,6 +309,11 @@ export default { ...@@ -309,6 +309,11 @@ export default {
this.editDialogVisible = false; this.editDialogVisible = false;
this.form = { this.form = {
status: 1, status: 1,
faceImage: "", // 封面(图片1张)
images: "", //展览图片
videos: "", //展览视频
audios: "", //展览音频
exhibitionUnits: [], //布展单元
}; };
}, },
// 关闭预览图片 // 关闭预览图片
......
...@@ -78,7 +78,10 @@ ...@@ -78,7 +78,10 @@
/> />
</el-form-item> </el-form-item>
<el-form-item label="简介" :label-width="formLabelWidth"> <el-form-item label="简介" :label-width="formLabelWidth">
<VueQuillEditor v-model="dialogForm.intro" /> <VueQuillEditor
v-model="dialogForm.intro"
:placeholder="'请输入博物馆介绍'"
/>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
......
...@@ -67,7 +67,6 @@ export default { ...@@ -67,7 +67,6 @@ export default {
}, },
dataScope: { dataScope: {
type: Number, type: Number,
default: 0,
}, },
}, },
watch: { watch: {
......
<template> <template>
<el-dialog <el-dialog
:visible="dialogVisible" :visible="dialogVisible"
width="40%" width="30%"
style="height: 98%" style="height: 98%"
:before-close="handleClose" :before-close="handleClose"
top="5vh" top="5vh"
...@@ -12,8 +12,12 @@ ...@@ -12,8 +12,12 @@
<div class="label">{{ title }}</div> <div class="label">{{ title }}</div>
</div> </div>
<div class="dialog-content"> <div class="dialog-content">
<el-form :model="dialogForm" class="basic-info"> <el-form :model="dialogForm" class="basic-info" :rules="rules">
<el-form-item label="角色名称" :label-width="formLabelWidth"> <el-form-item
label="角色名称"
:label-width="formLabelWidth"
prop="name"
>
<el-input <el-input
v-model="dialogForm.name" v-model="dialogForm.name"
autocomplete="off" autocomplete="off"
...@@ -28,12 +32,10 @@ ...@@ -28,12 +32,10 @@
type="textarea" type="textarea"
placeholder="请输入备注" placeholder="请输入备注"
v-model="dialogForm.remark" v-model="dialogForm.remark"
maxlength="600"
show-word-limit
> >
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="权限" :label-width="formLabelWidth"> <el-form-item label="菜单权限" :label-width="formLabelWidth">
<el-tree <el-tree
ref="tree" ref="tree"
:data="dialogForm.permissionRespNodes" :data="dialogForm.permissionRespNodes"
...@@ -60,7 +62,6 @@ import { ...@@ -60,7 +62,6 @@ import {
addRole, addRole,
upadateRole, upadateRole,
getPermissionTreeAll, getPermissionTreeAll,
getPermissionById,
} from "@/api/user"; } from "@/api/user";
export default { export default {
name: "InfoEditDialog", name: "InfoEditDialog",
...@@ -124,6 +125,15 @@ export default { ...@@ -124,6 +125,15 @@ export default {
children: "children", children: "children",
checkStrictly: true, checkStrictly: true,
}, },
rules: {
name: [
{
required: true,
message: "请输入角色名称",
trigger: "blur",
},
],
},
}; };
}, },
...@@ -153,6 +163,8 @@ export default { ...@@ -153,6 +163,8 @@ export default {
this.reload(); this.reload();
} }
} else { } else {
params.dataScope = "5"; //默认数据权限为自己
// return
let res = await addRole(params); let res = await addRole(params);
if (res.code == 0) { if (res.code == 0) {
this.$message.success("添加成功!"); this.$message.success("添加成功!");
...@@ -163,14 +175,12 @@ export default { ...@@ -163,14 +175,12 @@ export default {
reload() { reload() {
this.$emit("refresh"); this.$emit("refresh");
this.$emit("handleClose"); this.$emit("handleClose");
this.files = [];
}, },
handleClose(done) { handleClose(done) {
this.$confirm("确认关闭?") this.$confirm("确认关闭?")
.then((_) => { .then((_) => {
done(); done();
this.$emit("handleClose"); this.$emit("handleClose");
this.files = [];
}) })
.catch((_) => {}); .catch((_) => {});
}, },
...@@ -201,7 +211,6 @@ export default { ...@@ -201,7 +211,6 @@ export default {
}, },
async getDefaultTree() { async getDefaultTree() {
// debugger
let res = await getPermissionTreeAll(); let res = await getPermissionTreeAll();
this.$set(this.dialogForm, "permissionRespNodes", res.data); this.$set(this.dialogForm, "permissionRespNodes", res.data);
}, },
......
...@@ -54,8 +54,8 @@ ...@@ -54,8 +54,8 @@
/> />
<DataEditDialog <DataEditDialog
:visible="dataEditDialog" :visible="dataEditDialog"
:id="form.id" :id="dataScopeForm.id"
:dataScope="form.dataScope" :dataScope="dataScopeForm.dataScope"
@handleCloseDataEdit="handleCloseDataEdit" @handleCloseDataEdit="handleCloseDataEdit"
@refresh="loadData" @refresh="loadData"
/> />
...@@ -66,7 +66,7 @@ ...@@ -66,7 +66,7 @@
import TablePage from "@/components/Table/TablePage.vue"; import TablePage from "@/components/Table/TablePage.vue";
import TableOperation from "@/components/Table/TableOperation.vue"; import TableOperation from "@/components/Table/TableOperation.vue";
import { title, operates, operations } from "./config"; import { title, operates, operations } from "./config";
import { getRoleList, getRoleById, deleteRole,upadateRole } from "@/api/user"; import { getRoleList, getRoleById, deleteRole, upadateRole } from "@/api/user";
import InfoEditDialog from "./components/InfoEditDialog"; import InfoEditDialog from "./components/InfoEditDialog";
import DataEditDialog from "./components/DataEditDialog"; import DataEditDialog from "./components/DataEditDialog";
import SearchBar from "@/components/SearchBar"; import SearchBar from "@/components/SearchBar";
...@@ -118,8 +118,10 @@ export default { ...@@ -118,8 +118,10 @@ export default {
name: "", name: "",
remark: "", remark: "",
status: 1, status: 1,
permissionRespNodes: [], permissionRespNodes: [],//菜单权限树
dataScope: 5,//默认数据权限为自己
}, },
dataScopeForm: {},//编辑数据权限的表单
dataEditDialog: false, //编辑数据的对话框 dataEditDialog: false, //编辑数据的对话框
}; };
}, },
...@@ -202,7 +204,7 @@ export default { ...@@ -202,7 +204,7 @@ export default {
} }
break; break;
case "dataPermission": case "dataPermission":
this.form =row this.dataScopeForm = row;
this.dataEditDialog = true; this.dataEditDialog = true;
break; break;
} }
...@@ -240,12 +242,15 @@ export default { ...@@ -240,12 +242,15 @@ export default {
this.form = { this.form = {
status: 1, status: 1,
permissionRespNodes: [], permissionRespNodes: [],
dataScope: 5,
}; };
}, },
handleCloseDataEdit() { handleCloseDataEdit() {
this.dataEditDialog = false; this.dataEditDialog = false;
this.form = {}; this.dataScopeForm = {
dataScope: 5,
};
}, },
}, },
}; };
......
<template> <template>
<div class="users app-container"> <div class="users app-container">
<el-row :gutter="16"> <el-row :gutter="16">
<el-col :span="6"> <el-col :span="4">
<el-tree <el-tree
:data="treeData" :data="treeData"
:props="defaultProps" :props="defaultProps"
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
:expand-on-click-node="false" :expand-on-click-node="false"
></el-tree> ></el-tree>
</el-col> </el-col>
<el-col :span="18"> <el-col :span="20">
<div class="top-bar"> <div class="top-bar">
<SearchBar :config="searchConfig" @search="search" @reset="reset" /> <SearchBar :config="searchConfig" @search="search" @reset="reset" />
<el-button <el-button
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论