提交 38ec8a91 authored 作者: 龙菲's avatar 龙菲

修改展览部分逻辑,修复bug

上级 fe3273d4
$deepBlue: #252F57;
$yellow: #dfab46;
$font-size-sm: 14px;
$font-size-base: 16px;
$font-size-lg: 22px;
$nav-height: 120px;
$defaultFontFamily: Avenir, Helvetica Neue, Arial, Helvetica, sans-serif;
/* 设置滚动条的样式 */
::-webkit-scrollbar {
width: 5px;
height: 5px;
background-color: transparent;
}
::-webkit-scrollbar:hover {
background-color: #eee;
}
/* 滚动槽/外层轨道 */
::-webkit-scrollbar-track {
width: 5px;
height: 5px;
border-radius: 5px;
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
background-color: transparent;
}
/* 滚动条滑块 */
::-webkit-scrollbar-thumb {
min-height: 5px;
min-width: 5px;
border-radius: 5px;
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
}
/* 设置滚动条的样式 */
::-webkit-scrollbar {
width: 5px;
height: 5px;
background-color: transparent;
}
::-webkit-scrollbar:hover {
background-color: #eee;
}
/* 滚动槽/外层轨道 */
::-webkit-scrollbar-track {
width: 5px;
height: 5px;
border-radius: 5px;
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
background-color: transparent;
}
/* 滚动条滑块 */
::-webkit-scrollbar-thumb {
min-height: 5px;
min-width: 5px;
border-radius: 5px;
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
}
\ No newline at end of file
$deepBlue: #252F57;
$yellow: #dfab46;
$font-size-sm: 14px;
$font-size-base: 16px;
$font-size-lg: 22px;
$nav-height: 120px;
$defaultFontFamily: Avenir, Helvetica Neue, Arial, Helvetica, sans-serif;
\ No newline at end of file
......@@ -6,19 +6,10 @@
:title="deleteTitle ? deleteTitle : '确定删除吗?'"
@confirm="clickOperation(op)"
>
<!-- <el-link
type="danger"
:disabled="disabled"
size="mini"
slot="reference"
:icon="icons[op.type]"
>
{{ op.title }}</el-link
> -->
<PermissionButton
:perms="op.perms"
type="danger"
:disabled="disabled"
:disabled="op.disabled"
size="mini"
slot="reference"
:icon="icons[op.type]"
......@@ -26,32 +17,11 @@
>
</el-popconfirm>
</span>
<!-- <span
class="view-3d"
v-else-if="op.type == 'view3D'"
@click="clickOperation(op)"
>
<el-link type="primary">
<svg-icon icon-class="three"></svg-icon>{{ op.title }}</el-link
></span
> -->
<!-- <el-link
v-else-if="op.type == 'view'"
size="mini"
:icon="icons[op.type]"
:disabled="disabled && op.type != 'view'"
@click="clickOperation(op)"
type="primary"
style="margin-right: 16px"
v-else
>{{ op.title }}
</el-link> -->
<PermissionButton
:perms="op.perms"
size="mini"
:icon="icons[op.type]"
:disabled="disabled && op.type != 'view'"
:disabled="op.disabled && op.type != 'view'"
@click="clickOperation(op)"
type="primary"
style="margin-right: 16px"
......
......@@ -40,6 +40,9 @@
<template v-else-if="item.prop == 'faceImagePressUrl'">
<slot name="faceImagePressUrl" :scope="scope.row"></slot>
</template>
<template v-else-if="item.prop == 'sourceWay'">
<slot name="sourceWay" :scope="scope.row"></slot>
</template>
<template v-else-if="item.prop == 'images'">
<slot name="images" :scope="scope.row"></slot>
</template>
......
......@@ -73,7 +73,7 @@ export default {
data() {
return {
fileList: [],
removedIds:[],//被删除的文件Id集合
removedIds: [], //被删除的文件Id集合
};
},
watch: {
......@@ -88,9 +88,8 @@ export default {
} else {
return {
highImg: item.url,
lowImg: item.pressUrl,
url: item.pressUrl,
// pressUrl:item.pressUrl,
lowImg: item.pressUrl || item.url,
url: item.pressUrl || item.url,
name: item.name,
fileId: item.fileId,
};
......@@ -139,19 +138,14 @@ export default {
if (item.status == "ready") {
return item;
} else {
const {highImg,lowImg,name,fileId,status} =item
const { highImg, lowImg, name, fileId, status } = item;
const obj = {
urL:highImg,
pressUrl:lowImg,
urL: highImg,
pressUrl: lowImg,
name,
fileId,
status,
}
// item.url = item.highImg;
// item.pressUrl = item.lowImg;
// item.name = item.name;
// item.fileId = item.fileId;
// item.status =
};
return obj;
}
});
......@@ -210,7 +204,7 @@ export default {
const { status } = file;
if (status == "success") {
this.removedIds.push(file.fileId);
this.$emit('getRemovedIds',this.removedIds)
this.$emit("getRemovedIds", this.removedIds);
}
that.fileList.map(async (item, index) => {
if (item.uid === file.uid) {
......
......@@ -74,7 +74,7 @@ const constantsTool = {
return item.tagType
},
// 获取Type,用于展示tag状态 等
// 获取Type,用于展示流程状态 等
getStepTypeByValue(dictName, value) {
const list = constantsTool.allList[dictName]
if (!list) {
......
......@@ -55,11 +55,13 @@ const fileUploadFuctions = {
},
/**
* 获取需要已经存在(数据库已存储的)文件ID对象
* 获取需要已经存在(数据库已存储的)文件ID对象,并且仍然需要保留的
* @param {Array} mediaKeys 媒体keys数组
* @param {Array} dialogForm 表单对象
* @param {Array} removedIds 已经被删除的ID
* @returns {Object} 已经存在(数据库已存储的)文件ID对象
*/
getOldIdsObj(mediaKeys, dialogForm, $el) {
getOldIdsObj({ mediaKeys, dialogForm, removedIds }, $el) {
// debugger
let oldFileIdsObj = {};
// 文物的3D文件和封面需要单独处理
......@@ -67,11 +69,11 @@ const fileUploadFuctions = {
mediaKeys.forEach((key) => {
// 因为封面和3D文件的旧ID就是dialogForm的faceImage和file3d,此时还是旧的
// 新的在调用组件的this.faceImage和this.file3d对象里
if (key == "faceImage") {
if (key == "faceImage" && !removedIds.includes(dialogForm.faceImage)) {
oldFileIdsObj.faceImage = dialogForm.faceImage;
return;
}
if (key == "file3d") {
if (key == "file3d" && !removedIds.includes(dialogForm.file3d)) {
oldFileIdsObj.file3d = dialogForm.file3d;
return;
}
......@@ -80,7 +82,7 @@ const fileUploadFuctions = {
// 已存在的文件status为success
const files = $el.$refs[key].getFiles();
const successItems = files.filter((item) => {
return item.status == "success";
return item.status == "success" && !removedIds.includes(item.fileId);
});
if (successItems.length > 0) {
// 获取他们的fileId
......
......@@ -19,6 +19,7 @@ const transformData = {
fileId: faceImage || "",
},
];
console.log('result', result);
return result;
},
......@@ -26,15 +27,16 @@ const transformData = {
* 转换服务器的封面数据到前端可用的3D模型数据
* @param {String} file3d 3D文件ID
* @param {String} file3dUrl 3D文件url
* @param {String} file3dName 3D文件名称
* @returns {Array} el-upload组件需要的数据
*/
file3dToClient(file3d, file3dUrl) {
file3dToClient(file3d, file3dUrl, file3dName) {
if (!file3d) {
return [];
}
const file3dArr = [
{
name: "",
name: file3dName,
url: file3dUrl || "",
fileId: file3d || "",
},
......
......@@ -427,6 +427,7 @@ export default {
deptId,
file3d,
file3dUrl,
file3dName,
} = this.dialogForm;
this.dialogForm.status = statusStrToBool(status);
this.faceImage = faceImageToClient(
......@@ -434,7 +435,7 @@ export default {
faceImageUrl,
faceImagePressUrl
);
this.file3d = file3dToClient(file3d, file3dUrl);
this.file3d = file3dToClient(file3d, file3dUrl, file3dName);
this.images = imagesVo || [];
this.videos = videosVo || [];
this.audios = audiosVo || [];
......@@ -543,7 +544,6 @@ export default {
* @returns {object} 传入的媒体key对应的id字符串,多个以逗号隔开
*/
async uploadMediaFiles(mediaKeys, dialogForm) {
console.log("doing uploadMediaFiles");
return new Promise(async (resolve, reject) => {
const {
getNeedUploadFormData,
......@@ -560,14 +560,26 @@ export default {
let upLoadRes = await uploadV1(formData);
if (upLoadRes.code == 0) {
const newIdObj = getNewIdsObj(mediaKeys, upLoadRes);
const oldIdObj = getOldIdsObj(mediaKeys, dialogForm, this);
const { removedIds } = this;
const options = {
mediaKeys,
dialogForm,
removedIds,
};
const oldIdObj = getOldIdsObj(options, this);
const mediaForm = getMergedIdsObj(oldIdObj, newIdObj, mediaKeys);
console.log("mediaForm", mediaForm);
resolve(mediaForm);
}
} else {
// 没有任何媒体需要上传的,把已有的交给后面
const mediaForm = getOldIdsObj(mediaKeys, dialogForm, this);
const { removedIds } = this;
const options = {
mediaKeys,
dialogForm,
removedIds,
};
const mediaForm = getOldIdsObj(options, this);
console.log("uploadMediaFiles nothing to upload", mediaForm);
resolve(mediaForm);
}
......
......@@ -148,11 +148,11 @@ export const unPassedTitle = [{
// columnAlign: 'center',
// isCulturalRelicType:true
// },
{
prop: "createId",
label: "创建人",
columnAlign: 'center',
},
// {
// prop: "createId",
// label: "创建人",
// columnAlign: 'center',
// },
{
prop: "createTime",
label: "创建时间",
......@@ -258,29 +258,28 @@ export const operates = {
width: "180px",
}
// 操作(临时表)
export const operationsTemp = [
{
// 编辑按钮
export const editButton = {
type: 'edit',
title: '编辑',
perms: 'bizCulturalRelic:update'
},
{
type: 'delete',
title: '删除',
perms: 'bizCulturalRelic:delete'
},
]
}
// 编辑禁用按钮
export const editDisabledButton = {
type: 'edit',
title: '编辑',
perms: 'bizCulturalRelic:update',
disabled: true
}
// 操作(最终表)
export const operations = [
{
// 编辑按钮
export const deleteButton = {
type: 'delete',
title: '删除',
perms: 'bizCulturalRelic:delete'
},
]
}
// 搜索配置
export const searchConfig = [
......
......@@ -57,6 +57,12 @@
:tableTitle="getTitle"
:operates="operates"
>
<template v-slot:sourceWay="data">
<DictText
name="culturalRelicSourceWay"
:dictValue="data.scope.sourceWay"
/>
</template>
<template v-slot:status="data">
<el-popconfirm
:title="getStatusTitle(data.scope.status)"
......@@ -68,6 +74,22 @@
></el-switch>
</el-popconfirm>
</template>
<template v-slot:checkStatus="data">
<el-tag
:type="
$constantsTool.getTagTypeByValue(
'checkStatus',
data.scope.checkStatus
)
"
>{{
$constantsTool.getLabelByValue(
"checkStatus",
data.scope.checkStatus
)
}}</el-tag
>
</template>
<template v-slot:faceImageUrl="data">
<img
:src="
......@@ -87,7 +109,7 @@
</template>
<template v-slot:operates="scope">
<TableOperation
:operations="getOperations"
:operations="getOperations(scope.scope.row)"
:rawData="scope.scope.row"
@handleOperation="handleOperation"
></TableOperation>
......@@ -135,8 +157,9 @@ import {
passedTitle,
unPassedTitle,
operates,
operations,
operationsTemp,
editButton,
deleteButton,
editDisabledButton,
searchConfig,
} from "./configs/list";
import {
......@@ -188,8 +211,6 @@ export default {
passedTitle,
unPassedTitle,
operates,
operations,
operationsTemp,
tabActive: "unPassed",
};
},
......@@ -213,8 +234,17 @@ export default {
}
};
},
getOperations() {
return this.tabActive == "passed" ? this.operations : this.operationsTemp;
getOperations(row) {
return (row) => {
if (this.tabActive == "passed") {
return [deleteButton];
} else if (row.checkStatus == 0) {
// 审核中的禁用编辑
return [editDisabledButton, deleteButton];
} else {
return [editButton, deleteButton];
}
};
},
},
async created() {
......
<template>
<el-dialog
:visible="dialogVisible"
:visible="visible"
width="70%"
style="height: 98%"
:before-close="handleClose"
......@@ -92,10 +92,6 @@ import { getLogList } from "@/api/log";
export default {
name: "ImportRecordDialog",
props: {
visible: {
type: Boolean,
default: false,
},
filesList: {
type: Array,
default: () => [],
......@@ -104,7 +100,6 @@ export default {
watch: {
visible: {
handler: function (value) {
this.dialogVisible = value;
if (value) {
this.loadData();
}
......@@ -140,14 +135,10 @@ export default {
}
};
},
getYestoday() {
console.log(getYestoday());
return getYestoday();
},
},
data() {
return {
dialogVisible: false,
visible: false,
list: {
records: [],
size: 10,
......@@ -168,6 +159,7 @@ export default {
};
},
methods: {
getYestoday,
async search(form) {
var params = {
page: this.list.current,
......@@ -211,7 +203,6 @@ export default {
if (params.createTime) {
delete params.createTime;
}
// let res = await getImportListPage(params);
let res = await getLogList(params);
if (res.code == 0) {
this.list = res.data;
......@@ -244,7 +235,7 @@ export default {
},
handleClose() {
this.$emit("handleClose");
this.visible = false;
},
},
};
......
......@@ -764,7 +764,6 @@ export default {
* @returns {object} 传入的媒体key对应的id字符串,多个以逗号隔开
*/
async uploadMediaFiles(mediaKeys, dialogForm) {
console.log("doing uploadMediaFiles");
return new Promise(async (resolve, reject) => {
const formData = getNeedUploadFormData(this, mediaKeys);
const unitData = [...this.$refs["exhibitionUnits"].getUnitData()];
......
......@@ -298,7 +298,7 @@
></el-button>
<el-button
size="mini"
@click="cancelForm"
@click="handleClose"
icon="el-icon-circle-close"
type="warning"
>取 消</el-button
......@@ -930,6 +930,7 @@ export default {
this.reload();
this.submitLoading = false;
this.$message.success("提交成功!");
this.visible = false;
}, 1000);
}
})
......@@ -970,6 +971,7 @@ export default {
handleClose(done) {
this.$confirm("确认关闭?")
.then((_) => {
this.visible = false;
this.reload();
this.submitLoading = false;
done();
......
......@@ -209,12 +209,12 @@ export const unPassedTitle = [
// columnAlign: 'center',
// width:100
// },
{
prop: "status",
label: "是否上架",
columnAlign: "center",
isStatus: true,
},
// {
// prop: "status",
// label: "是否上架",
// columnAlign: "center",
// isStatus: true,
// },
{
prop: "checkStatus",
label: "审核状态",
......@@ -265,35 +265,57 @@ export const operates = {
columnAlign: "center",
};
// 临时表
export const operationsTemp = [
// {
// type: "view",
// title: "预览",
// perms: "bizExhibition:list"
// },
{
type: "edit",
title: "编辑",
perms: 'bizExhibition:update'
},
{
type: "delete",
title: "删除",
perms: 'bizExhibition:delete'
},
];
// 编辑按钮
export const editButton = {
type: 'edit',
title: '编辑',
perms: 'bizCulturalRelic:update'
}
// 最终表
export const operations = [
// {
// type: "edit",
// title: "编辑",
// perms: 'bizExhibition:update'
// },
{
type: "delete",
title: "删除",
perms: 'bizExhibition:delete'
},
];
// 编辑禁用按钮
export const editDisabledButton = {
type: 'edit',
title: '编辑',
perms: 'bizCulturalRelic:update',
disabled: true
}
// 编辑按钮
export const deleteButton = {
type: 'delete',
title: '删除',
perms: 'bizCulturalRelic:delete'
}
// // 临时表
// export const operationsTemp = [
// // {
// // type: "view",
// // title: "预览",
// // perms: "bizExhibition:list"
// // },
// {
// type: "edit",
// title: "编辑",
// perms: 'bizExhibition:update'
// },
// {
// type: "delete",
// title: "删除",
// perms: 'bizExhibition:delete'
// },
// ];
// // 最终表
// export const operations = [
// // {
// // type: "edit",
// // title: "编辑",
// // perms: 'bizExhibition:update'
// // },
// {
// type: "delete",
// title: "删除",
// perms: 'bizExhibition:delete'
// },
// ];
......@@ -27,15 +27,18 @@
</div>
<div class="tools-item">
<PermissionButton
pers="bizExhibition:add"
button
perms="bizExhibition:add"
type="primary"
size="mini"
@click.native="handleOperation({ type: 'add' })"
icon="el-icon-plus"
style="margin-right: 10px"
>添加</PermissionButton
>
<PermissionButton
pers="bizExhibition:add"
button
perms="bizExhibition:add"
type="success"
size="mini"
@click.native="handleOperation({ type: 'multiAdd' })"
......@@ -58,37 +61,31 @@
<el-popconfirm
:title="getStatusTitle(data.scope.status)"
@confirm="handleChangeStatus(data.scope)"
v-if="!isDisabledStatusbtn(data.scope.checkStatus)"
>
<el-switch
slot="reference"
:disabled="isDisabledStatusbtn(data.scope.checkStatus)"
:value="Boolean(Number(data.scope.status))"
></el-switch>
</el-popconfirm>
<el-switch
slot="reference"
:disabled="isDisabledStatusbtn(data.scope.checkStatus)"
:value="Boolean(Number(data.scope.status))"
v-else
></el-switch>
</template>
<template v-slot:displayType="data">
{{ dicts.displayType[data.scope.type] }}
</template>
<template v-slot:checkStatus="data">
<el-tag type="primary" v-if="data.scope.checkStatus == 0">
审核中
</el-tag>
<el-tag type="success" v-if="data.scope.checkStatus == 1">
已通过
</el-tag>
<el-tag type="danger" v-if="data.scope.checkStatus == -2">
已驳回
</el-tag>
<el-tag type="warning" v-if="data.scope.checkStatus == -1">
待提交
</el-tag>
<el-tag
:type="
$constantsTool.getTagTypeByValue(
'checkStatus',
data.scope.checkStatus
)
"
>{{
$constantsTool.getLabelByValue(
"checkStatus",
data.scope.checkStatus
)
}}</el-tag
>
</template>
<template v-slot:faceImageUrl="data">
<img
......@@ -113,7 +110,7 @@
</template>
<template v-slot:operates="scope">
<TableOperation
:operations="getOperations"
:operations="getOperations(scope.scope.row)"
:rawData="scope.scope.row"
@handleOperation="handleOperation"
>
......@@ -133,27 +130,21 @@
>
</el-pagination>
</div>
<InfoEditDialog
:visible="editDialogVisible"
:form="form"
:currentPageIds="currentPageIds"
@handleClose="handleClose"
@handleClose="closeInfoEditDialog"
@refresh="loadData"
@changeDisplay="reloadDisplay"
ref="InfoEditDialog"
/>
<PreviewDialog
v-if="Object.keys(curPreviewObj).length > 0"
:visible="previewDialogVisible"
ref="PreviewDialog"
:displayDetail="curPreviewObj"
@handleClose="handleClosePreviewDialog"
/>
<ImportRecordDialog
:visible="importRecordVisible"
@reload="loadData"
@handleClose="handleImportRecordClose"
/>
<ImportRecordDialog ref="ImportRecordDialog" @reload="loadData" />
<UploadListDialog
:visible="multiUploadVisible"
......@@ -180,13 +171,15 @@ import {
passedTitle,
unPassedTitle,
operates,
operations,
operationsTemp,
editButton,
editDisabledButton,
deleteButton,
} from "./configs/list";
import {
getListPer,
getListPerTemp,
deleteDisplay,
deleteDisplayTemp,
getDisplayByIdTemp,
editDisplay,
} from "@/api/display";
......@@ -265,8 +258,6 @@ export default {
passedTitle,
unPassedTitle,
operates,
operations,
operationsTemp,
};
},
computed: {
......@@ -289,16 +280,18 @@ export default {
//在审核中和已通过,则不能使用提交审核、编辑及删除按钮
};
},
isDisabledStatusbtn(checkStatus) {
//待提交、审核中,不能使用上下架
return (checkStatus) => {
return checkStatus == "0" || checkStatus == "-1";
getOperations(row) {
return (row) => {
if (this.tabActive == "passed") {
return [deleteButton];
} else if (row.checkStatus == 0) {
// 状态为审核中的禁用编辑
return [editDisabledButton, deleteButton];
} else {
return [editButton, deleteButton];
}
};
},
getOperations() {
return this.tabActive == "passed" ? this.operations : this.operationsTemp;
},
getTitle() {
return this.tabActive == "passed" ? this.passedTitle : this.unPassedTitle;
},
......@@ -379,48 +372,75 @@ export default {
}
},
async handleOperation(value, row) {
handleOperation(value, row) {
switch (value.type) {
case "add":
this.editDialogVisible = true;
this.openDialog("InfoEditDialog");
case "view":
this.handleView(row);
break;
case "edit":
this.handleEdit(row);
break;
case "delete":
this.handleDelete(row);
break;
case "multiAdd":
this.openDialog("UploadDialog");
break;
case "downloadTemplate":
this.handleDownloadTemplate();
break;
case "viewImportRecord":
this.importRecordVisible = true;
break;
}
},
openDialog(refName) {
this.$refs[refName].visible = true;
},
// 预览展览
async handleView(row) {
if (row) {
if (titles.includes(row.title)) {
this.$message.info("精品展暂不支持预览!");
return;
}
this.previewDialogVisible = true;
let res = await getDisplayByIdTemp({
exhibitionId: row.exhibitionId,
});
if (res.data) {
this.curPreviewObj = res.data;
this.openDialog("PreviewDialog");
} else {
this.$message.error("暂无数据!");
}
break;
case "edit":
}
},
// 编辑展览
async handleEdit(row) {
let editRes = await getDisplayByIdTemp({
exhibitionId: row.exhibitionId,
});
this.form = editRes.data;
this.editDialogVisible = true;
break;
case "delete":
let deleteRes = await deleteDisplay([row.exhibitionId]);
this.$refs.InfoEditDialog.visible = true;
},
// 删除展览
async handleDelete(row) {
let request;
if (this.tabActive == "unPassed") {
request = deleteDisplayTemp;
} else {
request = deleteDisplay;
}
let deleteRes = await request([row.exhibitionId]);
if (deleteRes.code === 0) {
this.loadData();
this.$message.success("删除成功!");
}
break;
case "multiAdd":
this.$refs.UploadDialog.visible = true;
break;
case "downloadTemplate":
this.handleDownloadTemplate();
break;
case "viewImportRecord":
this.importRecordVisible = true;
break;
}
},
//下载批量导入模板
......@@ -445,17 +465,20 @@ export default {
(progressEvent) => this.uploadUnderWayCallback(progressEvent, index),
(c) => this.cancelCallBack(c, index)
).then((res) => {
let status;
let desc;
if (res.data.code == 0) {
this.$set(this.filesList[index], "status", "success");
this.$set(this.filesList[index], "desc", "上传成功");
this.$message.success("文件" + file.name + "上传成功!");
this.loadData();
status = "success";
desc = "上传成功";
this.$message.success(desc);
} else {
this.$set(this.filesList[index], "status", "warning");
this.$set(this.filesList[index], "desc", "上传失败" + res.data.msg);
this.$message.error("上传失败:" + res.data.msg);
this.loadData();
status = "warning";
desc = "上传失败" + res.data.msg;
this.$message.error(desc);
}
this.$set(this.filesList[index], "status", status);
this.$set(this.filesList[index], "desc", desc);
this.loadData();
});
},
......@@ -568,8 +591,7 @@ export default {
console.log("submit!");
},
// 关闭Dialog
handleClose() {
this.editDialogVisible = false;
closeInfoEditDialog() {
this.form = {
status: 1,
faceImage: "", // 封面(图片1张)
......@@ -596,26 +618,11 @@ export default {
handleCopy() {
this.copyDialogVisible = true;
},
handleCloseCopyDialog() {
this.copyDialogVisible = false;
},
async handleCopySelect(value) {
const { exhibitionId } = value;
let res = await getDisplayByIdTemp({ exhibitionId });
delete res.data.exhibitionId;
this.form = { ...res.data };
this.editDialogVisible = true;
console.log("this.form", this.form);
},
themeTypeCode(code) {
return themeTypeCode[code];
},
// // 文件个数超出
// handleExceed() {
// this.$message.error(`超出上传文件个数,请删除以后再上传!`);
// },
handleUpload(file) {
this.multiUploadVisible = true; //显示弹窗
this.filesList.push({
......@@ -634,10 +641,6 @@ export default {
this.filesList = [];
},
handleImportRecordClose() {
this.importRecordVisible = false;
},
handleMultiUploadClose() {
// 文件列表中如果Status为null,则代表有仍在上传中
let isUpLoading = false;
......
......@@ -51,7 +51,6 @@ import CulturalRelicTable from "./culturalRelic/CulturalRelicTable.vue";
import DisplayBaseInfo from "./display/DisplayBaseInfo.vue";
import ApprovalInfo from "./approval/ApprovalInfo.vue";
import DisplayRender from "./display/DisplayRender.vue";
// import { cr, crList, display } from "../mock";
export default {
name: "PreviewDialog",
components: {
......@@ -168,7 +167,11 @@ export default {
<style lang="scss" scoped>
::v-deep .el-tabs__content {
max-height: 60vh;
max-height: 64vh;
overflow: auto;
}
::v-deep .el-table__body-wrapper {
overflow-x: hidden;
}
</style>
<template>
<!-- 文物基本信息 -->
<div>
<el-card shadow="hover">
<el-card shadow="hover" v-if="info">
<el-descriptions title="展览基本详情" :column="1" labelClassName="label">
<el-descriptions-item
:label="item.label"
......@@ -100,6 +100,7 @@
</el-descriptions-item>
</el-descriptions>
</el-card>
<el-empty v-else />
</div>
</template>
......
<template>
<!-- 展览效果预览图 -->
<div class="container">
<div>
<div class="container" v-if="info">
<NavBar />
<NormalStyle
v-if="info.themeType == NORMAL_STYLE.value"
......@@ -19,6 +20,8 @@
/>
<Footer />
</div>
<el-empty v-else />
</div>
</template>
<script>
......@@ -48,11 +51,11 @@ export default {
default: () => ({}),
},
},
data(){
data() {
return {
...THEME_TYPE,
}
}
};
},
};
</script>
......
......@@ -128,6 +128,7 @@ export const crTabletitle = [{
prop: "detailSize",
label: "尺寸",
columnAlign: 'center',
showOverFlowToolTip: true
},
{
prop: "textureTypeLabel",
......@@ -150,6 +151,7 @@ export const crTabletitle = [{
prop: "createTime",
label: "创建时间",
columnAlign: 'center',
showOverFlowToolTip: true
},
{
......@@ -164,13 +166,13 @@ export const crTabletitle = [{
columnAlign: 'center',
showOverFlowToolTip: true,
},
{
prop: "intro",
label: "馆藏介绍",
columnAlign: 'center',
showOverFlowToolTip: true,
width: 120,
},
// {
// prop: "intro",
// label: "馆藏介绍",
// columnAlign: 'center',
// showOverFlowToolTip: true,
// width: 120,
// },
{
prop: "themeWord",
......@@ -183,6 +185,7 @@ export const crTabletitle = [{
label: "封面",
columnAlign: 'center',
isFaceImage: true,
showOverFlowToolTip: true
},
// {
// prop: "imagesVo",
......
......@@ -10,30 +10,20 @@
v-loading="loading"
>
<template v-slot:checkStatus="data">
<el-tag type="primary" v-if="data.scope.checkStatus == 0">
{{
$constantsTool.getLabelByValue(
"checkStatus",
data.scope.checkStatus
)
}}
</el-tag>
<el-tag type="success" v-if="data.scope.checkStatus == 1">
{{
$constantsTool.getLabelByValue(
"checkStatus",
<el-tag
:type="
$constantsTool.getTagTypeByValue(
'checkStatus',
data.scope.checkStatus
)
}}
</el-tag>
<el-tag type="danger" v-if="data.scope.checkStatus == -2">
{{
"
>{{
$constantsTool.getLabelByValue(
"checkStatus",
data.scope.checkStatus
)
}}
</el-tag>
}}</el-tag
>
</template>
<template v-slot:operates="scope">
<TableOperation
......@@ -190,28 +180,17 @@ export default {
...mapGetters(["dicts", "userInfo"]),
getOperation(row) {
return (row) => {
const label = this.$constantsTool.getLabelByValue(
"checkStatus",
row.checkStatus
);
switch (label) {
case "已驳回":
return [viewButton, approvalButton, reSubmitButtton];
break;
case "审核中":
switch (row.checkStatus) {
case 0:
// 审核中
return [viewButton, approvalButton];
break;
case "已通过":
case 1:
// 已通过
return [viewButton];
break;
case -2:
// 已驳回
return [viewButton, reSubmitButtton];
}
// 管理员2种
// 1 查看详情和审批
// 2 查看详情 管理员操作——已审核、被驳回的条目能够操作的
// 普通人2种
// 1 查看详情
// 2 重传-当被驳回时
};
},
},
......
......@@ -32,7 +32,7 @@ module.exports = {
productionSourceMap: false,
devServer: {
// host: '172.24.100.158',
host:'0.0.0.0',
host: '0.0.0.0',
port: port,
open: true,
overlay: {
......@@ -71,13 +71,6 @@ module.exports = {
}
}
},
// css: {
// loaderOptions: {
// sass: {
// prependData: `@import "@/assets/styles/variable.scss";` //引入全局变量
// }
// }
// },
css: {
// 是否使用css分离插件 ExtractTextPlugin
extract: true,
......@@ -85,7 +78,7 @@ module.exports = {
sourceMap: false,
loaderOptions: {
sass: {
prependData: `@import "@/assets/styles/variable.scss";`, //引入全局变量
prependData: `@import "@/assets/styles/index.scss";`, //引入全局变量
},
},
},
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论