提交 471529d4 authored 作者: 龙菲's avatar 龙菲

完善在线抠图单个删除、修复已有的bug

上级 8e501b21
...@@ -33,7 +33,6 @@ ...@@ -33,7 +33,6 @@
<el-button round v-if="!hasToken"> <el-button round v-if="!hasToken">
<i class="el-icon-user"></i> <i class="el-icon-user"></i>
<span>登录</span> <span>登录</span>
<!-- <i class="el-icon-arrow-down el-icon--right"></i> -->
</el-button> </el-button>
<el-dropdown trigger="click" v-else> <el-dropdown trigger="click" v-else>
<el-button round> <el-button round>
...@@ -41,7 +40,6 @@ ...@@ -41,7 +40,6 @@
<span>{{ <span>{{
hasToken ? userInfo.nickName || userInfo.username : "登录" hasToken ? userInfo.nickName || userInfo.username : "登录"
}}</span> }}</span>
<!-- <i class="el-icon-arrow-down el-icon--right"></i> -->
</el-button> </el-button>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item v-if="!hasToken" class="operation-item" <el-dropdown-item v-if="!hasToken" class="operation-item"
......
...@@ -13,8 +13,9 @@ ...@@ -13,8 +13,9 @@
v-for="(item, index) in imgList" v-for="(item, index) in imgList"
:key="index" :key="index"
> >
<!-- {{ $getFullUrl(item[imgKey]) }} -->
<img :src="$getFullUrl(item[imgKey])" alt="" /> <img :src="$getFullUrl(item[imgKey])" alt="" />
<div class="enlarge" @click="handelPreviewImages(imgList,index)"> <div class="enlarge" @click="handelPreviewImages(imgList, index)">
<img src="@/assets/imgs/enlarge-s.png" alt="" /> <img src="@/assets/imgs/enlarge-s.png" alt="" />
</div> </div>
</swiper-slide> </swiper-slide>
...@@ -52,8 +53,8 @@ ...@@ -52,8 +53,8 @@
/> />
</div> </div>
</template> </template>
<script> <script>
import { swiper, swiperSlide } from "vue-awesome-swiper"; import { swiper, swiperSlide } from "vue-awesome-swiper";
import "swiper/dist/css/swiper.css"; import "swiper/dist/css/swiper.css";
export default { export default {
...@@ -95,7 +96,7 @@ export default { ...@@ -95,7 +96,7 @@ export default {
slideToClickedSlide: true, slideToClickedSlide: true,
}, },
imgViewerVisible: false, imgViewerVisible: false,
initialIndex:0 initialIndex: 0,
}; };
}, },
...@@ -108,10 +109,10 @@ export default { ...@@ -108,10 +109,10 @@ export default {
}); });
}, },
methods: { methods: {
handelPreviewImages(items,i) { handelPreviewImages(items, i) {
this.imgViewerVisible = true; this.imgViewerVisible = true;
this.previewList = items.map((item) => this.$getFullUrl(item.url)); this.previewList = items.map((item) => this.$getFullUrl(item.url));
this.initialIndex = i this.initialIndex = i;
}, },
closeImgViewer() { closeImgViewer() {
this.imgViewerVisible = false; this.imgViewerVisible = false;
...@@ -119,8 +120,8 @@ export default { ...@@ -119,8 +120,8 @@ export default {
}, },
}; };
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.firstDiv { .firstDiv {
/* width: 1920px; */ /* width: 1920px; */
/* height: 1080px; */ /* height: 1080px; */
...@@ -181,7 +182,6 @@ export default { ...@@ -181,7 +182,6 @@ export default {
} }
} }
.gallery-top { .gallery-top {
height: 80%; height: 80%;
width: 100%; width: 100%;
...@@ -200,7 +200,3 @@ export default { ...@@ -200,7 +200,3 @@ export default {
opacity: 1; opacity: 1;
} }
</style> </style>
\ No newline at end of file
...@@ -12,26 +12,17 @@ ...@@ -12,26 +12,17 @@
:key="index" :key="index"
> >
<img :src="item.pressUrl" alt="" /> <img :src="item.pressUrl" alt="" />
<!-- <div class="enlarge" @click="handelPreviewImages(imgList)">
<img src="@/assets/imgs/enlarge-s.png" alt="" />
</div> -->
</swiper-slide> </swiper-slide>
<div <div
class="swiper-button-next swiper-button-white" class="swiper-button-next swiper-button-white"
slot="button-next" slot="button-next"
></div> ></div>
<div <div
class="swiper-button-prev swiper-button-white" class="swiper-button-prev swiper-button-white"
slot="button-prev" slot="button-prev"
></div> ></div>
</swiper> </swiper>
</div> </div>
<!-- <el-image-viewer
v-if="imgViewerVisible"
:on-close="closeImgViewer"
:url-list="previewList"
/> -->
</div> </div>
</template> </template>
......
...@@ -12,7 +12,6 @@ ...@@ -12,7 +12,6 @@
:key="index" :key="index"
@click="handleClickItem(item)" @click="handleClickItem(item)"
> >
<!-- <img :src="item.pressUrl || item.faceImagePressUrl" alt="" /> -->
<div <div
class="img-container" class="img-container"
@click="handelPreviewImages(imgList, index)" @click="handelPreviewImages(imgList, index)"
...@@ -20,14 +19,6 @@ ...@@ -20,14 +19,6 @@
<slot name="img" :item="item"></slot> <slot name="img" :item="item"></slot>
</div> </div>
<slot name="info" :item="item" /> <slot name="info" :item="item" />
<!-- <div
class="enlarge"
@click="handelPreviewImages(imgList)"
v-if="needEnlarge"
>
<img src="@/assets/imgs/enlarge-s.png" alt="" />
<span>查看大图</span>
</div> -->
</swiper-slide> </swiper-slide>
<!--分页器。如果放置在swiper外面,需要自定义样式。--> <!--分页器。如果放置在swiper外面,需要自定义样式。-->
...@@ -106,7 +97,6 @@ export default { ...@@ -106,7 +97,6 @@ export default {
this.imgViewerVisible = false; this.imgViewerVisible = false;
}, },
handleClickItem(item) { handleClickItem(item) {
debugger;
this.$emit("handleClickItem", item); this.$emit("handleClickItem", item);
}, },
}, },
......
...@@ -100,7 +100,7 @@ export default { ...@@ -100,7 +100,7 @@ export default {
}; };
</script> </script>
<style lang='scss'> <style lang="scss">
// 富文本编辑器汉化 // 富文本编辑器汉化
.editor { .editor {
line-height: normal !important; line-height: normal !important;
...@@ -114,8 +114,10 @@ export default { ...@@ -114,8 +114,10 @@ export default {
content: "保存"; content: "保存";
padding-right: 0px; padding-right: 0px;
} }
.ql-editor{ .ql-editor {
min-height: 120px; min-height: 120px;
max-height: 150px;
overflow: auto;
} }
.ql-snow .ql-tooltip[data-mode="video"]::before { .ql-snow .ql-tooltip[data-mode="video"]::before {
...@@ -182,4 +184,4 @@ export default { ...@@ -182,4 +184,4 @@ export default {
.ql-snow .ql-picker.ql-font .ql-picker-item[data-value="monospace"]::before { .ql-snow .ql-picker.ql-font .ql-picker-item[data-value="monospace"]::before {
content: "等宽字体"; content: "等宽字体";
} }
</style> </style>
\ No newline at end of file
...@@ -45,7 +45,8 @@ router.beforeEach(async (to, from, next) => { ...@@ -45,7 +45,8 @@ router.beforeEach(async (to, from, next) => {
next() next()
} else { } else {
// other pages that do not have permission to access are redirected to the login page. // other pages that do not have permission to access are redirected to the login page.
next(`/login?redirect=${to.path}`) // next(`/login?redirect=${to.path}`)
next('/login')
NProgress.done() NProgress.done()
} }
} }
......
...@@ -173,9 +173,6 @@ export default { ...@@ -173,9 +173,6 @@ export default {
], ],
}; };
}, },
mounted() {
this.loadData();
},
methods: { methods: {
async search(form) { async search(form) {
var params = { var params = {
......
...@@ -5,16 +5,11 @@ ...@@ -5,16 +5,11 @@
<!-- 展览基本信息 --> <!-- 展览基本信息 -->
<div class="content-item display-detail_basic_info"> <div class="content-item display-detail_basic_info">
<div class="info-container"> <div class="info-container">
<div <div v-if="hasImages" class="info-container-left">
v-if="displayDetail.imagesVo && displayDetail.imagesVo.length > 0"
class="info-container-left"
>
<SlideImage <SlideImage
:imgList="displayDetail.imagesVo" :imgList="displayDetail.imagesVo"
:imgKey="'middleUrl'" :imgKey="'middleUrl'"
v-if=" v-if="hasImages"
displayDetail.imagesVo && displayDetail.imagesVo.length > 0
"
/> />
<SlideImage <SlideImage
:imgList="[{ middleUrl: displayDetail.faceImagePressUrl }]" :imgList="[{ middleUrl: displayDetail.faceImagePressUrl }]"
...@@ -35,28 +30,19 @@ ...@@ -35,28 +30,19 @@
<el-col :span="24" class="left"> <el-col :span="24" class="left">
<div class="basic-info"> <div class="basic-info">
<div class="body-item"> <div class="body-item">
<span class="label"> <span class="label"> 关键词: </span>
<!-- <svg-icon icon-class="keyword"></svg-icon> -->
关键词:
</span>
<span class="value">{{ <span class="value">{{
displayDetail.keyword || "暂无" displayDetail.keyword || "暂无"
}}</span> }}</span>
</div> </div>
<div class="body-item" v-if="dicts.displayType"> <div class="body-item" v-if="dicts.displayType">
<span class="label"> <span class="label"> 展览类型: </span>
<!-- <svg-icon icon-class="zllx"></svg-icon> -->
展览类型:
</span>
<span class="value">{{ <span class="value">{{
dicts.displayType[displayDetail.type] || "暂无" dicts.displayType[displayDetail.type] || "暂无"
}}</span> }}</span>
</div> </div>
<div class="body-item" v-if="dicts.displayCharacter"> <div class="body-item" v-if="dicts.displayCharacter">
<span class="label"> <span class="label"> 展览性质: </span>
<!-- <svg-icon icon-class="zlxz"></svg-icon> -->
展览性质:
</span>
<span class="value">{{ <span class="value">{{
dicts.displayCharacter[ dicts.displayCharacter[
displayDetail.displayCharacter displayDetail.displayCharacter
...@@ -64,19 +50,13 @@ ...@@ -64,19 +50,13 @@
}}</span> }}</span>
</div> </div>
<div class="body-item"> <div class="body-item">
<span class="label"> <span class="label"> 展览单位: </span>
<!-- <svg-icon icon-class="zldw"></svg-icon> -->
展览单位:
</span>
<span class="value">{{ <span class="value">{{
displayDetail.deptName || "暂无" displayDetail.deptName || "暂无"
}}</span> }}</span>
</div> </div>
<div class="body-item"> <div class="body-item">
<span class="label"> <span class="label"> 展览地区: </span>
<!-- <svg-icon icon-class="zldq"></svg-icon> -->
展览地区:
</span>
<span class="value">{{ <span class="value">{{
displayDetail.regionName || "暂无" displayDetail.regionName || "暂无"
}}</span> }}</span>
...@@ -113,7 +93,6 @@ ...@@ -113,7 +93,6 @@
:style="{ animationPlayState: audioPlaying ? 'running' : 'paused' }" :style="{ animationPlayState: audioPlaying ? 'running' : 'paused' }"
v-if="displayDetail.audiosVo && displayDetail.audiosVo.length > 0" v-if="displayDetail.audiosVo && displayDetail.audiosVo.length > 0"
> >
<!-- <img src="@/assets/imgs/display/normal/music.png" alt="" /> -->
<svg-icon icon-class="music"></svg-icon> <svg-icon icon-class="music"></svg-icon>
<AudioPlayer <AudioPlayer
style="display: none" style="display: none"
...@@ -144,11 +123,7 @@ ...@@ -144,11 +123,7 @@
</div> </div>
<!-- 展览简介 --> <!-- 展览简介 -->
<div class="content-item display-detail_intro" id="intro"> <div class="content-item display-detail_intro" id="intro">
<div class="intro-title"> <div class="intro-title">展览简介</div>
<!-- <svg-icon icon-class="jianjie"></svg-icon> -->
<!-- <i class="el-icon-tickets"></i> -->
<span>展览简介</span>
</div>
<div class="intro-content"> <div class="intro-content">
<div class="left-box">简介</div> <div class="left-box">简介</div>
<div <div
...@@ -189,18 +164,9 @@ ...@@ -189,18 +164,9 @@
class="content-item videos" class="content-item videos"
v-if="displayDetail.videosVo && displayDetail.videosVo.length > 0" v-if="displayDetail.videosVo && displayDetail.videosVo.length > 0"
> >
<div class="video-title"> <div class="video-title">展览视频</div>
<!-- <i class="el-icon-video-camera"></i> -->
展览视频
</div>
<div class="video-content"> <div class="video-content">
<div class="player"> <div class="player">
<!-- <video-player
v-if="currentVideo && currentVideo.url"
:src="$getFullUrl(currentVideo.url)"
class="video-player"
>
</video-player> -->
<Video <Video
:url="$getFullUrl(currentVideo.url)" :url="$getFullUrl(currentVideo.url)"
class="video-player" class="video-player"
...@@ -327,7 +293,6 @@ import { swiper, swiperSlide } from "vue-awesome-swiper"; ...@@ -327,7 +293,6 @@ import { swiper, swiperSlide } from "vue-awesome-swiper";
import "swiper/dist/css/swiper.css"; import "swiper/dist/css/swiper.css";
import { isElementInViewport2 } from "@/utils/index"; import { isElementInViewport2 } from "@/utils/index";
import NormalStyleUnit from "./NormalStyleUnit.vue"; import NormalStyleUnit from "./NormalStyleUnit.vue";
// import videoPlayer from "@/components/VideoPlayer";
import Video from "@/components/Video"; import Video from "@/components/Video";
export default { export default {
...@@ -354,6 +319,16 @@ export default { ...@@ -354,6 +319,16 @@ export default {
default: () => ({}), default: () => ({}),
}, },
}, },
computed: {
hasImages() {
if (!this.displayDetail) {
return;
}
return (
this.displayDetail.imagesVo && this.displayDetail.imagesVo.length > 0
);
},
},
data() { data() {
let vm = this; let vm = this;
return { return {
...@@ -461,16 +436,16 @@ export default { ...@@ -461,16 +436,16 @@ export default {
} }
} }
} }
this.$nextTick(() => { // this.$nextTick(() => {
// this.replaceFaceImage(); // // this.replaceFaceImage();
if ( // if (
this.displayDetail.audiosVo && // this.displayDetail.audiosVo &&
this.displayDetail.audiosVo.length > 0 // this.displayDetail.audiosVo.length > 0
) { // ) {
this.$message.info("正在播放当前文物讲解音频,点击旋转按钮可关闭"); // this.$message.info("正在播放当前文物讲解音频,点击旋转按钮可关闭");
this.$refs.AudioPlayer.play(); // this.$refs.AudioPlayer.play();
} // }
}); // });
}, },
// 点击音频 // 点击音频
......
...@@ -41,6 +41,9 @@ ...@@ -41,6 +41,9 @@
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
</div> </div>
<el-card v-if="prviewType == 'approval'" class="approval-form">
<ApprovalForm :flowId="detail.id" />
</el-card>
</el-dialog> </el-dialog>
</template> </template>
...@@ -51,6 +54,7 @@ import DisplayBaseInfo from "@/components/DisplayBaseInfo"; ...@@ -51,6 +54,7 @@ import DisplayBaseInfo from "@/components/DisplayBaseInfo";
import CulturalRelicTable from "./culturalRelic/CulturalRelicTable.vue"; import CulturalRelicTable from "./culturalRelic/CulturalRelicTable.vue";
import ApprovalInfo from "./approval/ApprovalInfo.vue"; import ApprovalInfo from "./approval/ApprovalInfo.vue";
import DisplayRender from "./display/DisplayRender.vue"; import DisplayRender from "./display/DisplayRender.vue";
import ApprovalForm from "./approval/ApprovalForm.vue";
export default { export default {
name: "PreviewDialog", name: "PreviewDialog",
components: { components: {
...@@ -59,6 +63,7 @@ export default { ...@@ -59,6 +63,7 @@ export default {
ApprovalInfo, ApprovalInfo,
DisplayBaseInfo, DisplayBaseInfo,
DisplayRender, DisplayRender,
ApprovalForm,
}, },
props: { props: {
// 预览类型,view or approval // 预览类型,view or approval
...@@ -169,9 +174,18 @@ export default { ...@@ -169,9 +174,18 @@ export default {
::v-deep .el-tabs__content { ::v-deep .el-tabs__content {
max-height: 64vh; max-height: 64vh;
overflow: auto; overflow: auto;
padding-bottom: 80px;
} }
::v-deep .el-table__body-wrapper { ::v-deep .el-table__body-wrapper {
overflow-x: hidden; overflow-x: hidden;
} }
.approval-form {
padding: 20px;
position: absolute;
bottom: 0;
left: 0;
right: 0;
z-index: 99;
}
</style> </style>
<template> <template>
<div class="approval-form"> <div class="approval-form">
<!-- 审批表单 --> <el-button
<el-form
size="mini" size="mini"
:model="dialogForm" style="margin: 0 10px 0; width: calc((100% - 20px) / 2)"
prop="remark" type="primary"
:rules="rules" icon="el-icon-check"
ref="form" @click.native="handleCheck(AGREE)"
>同意</el-button
> >
<el-form-item label="审批意见:"> <el-popover placement="top" width="400" trigger="click" ref="popover">
<el-radio-group <el-form :model="dialogForm" size="mini" ref="form" :rules="rules">
v-model="checkStatus" <el-form-item prop="remark">
size="mini" <el-input
style="margin-bottom: 20px" type="textarea"
> placeholder="驳回意见"
<el-radio :label="1" border>同意</el-radio> v-model="dialogForm.remark"
<el-radio :label="-2" border>驳回</el-radio> size="mini"
</el-radio-group> :rows="2"
</el-form-item> >
<el-form-item label="驳回意见:" prop="remark" v-if="checkStatus == -2"> </el-input
<el-input ></el-form-item>
type="textarea" <el-form-item>
placeholder="驳回意见" <el-button @click.native="handleCancel" plain>取消</el-button>
v-model="dialogForm.remark" <el-button type="primary" @click.native="handleCheck(DISAGREE)"
size="mini" >确定</el-button
:rows="4" >
> </el-form-item>
</el-input> </el-form>
</el-form-item> <el-button
<el-form-item> slot="reference"
<el-button size="mini"
size="mini" style="margin: 0; width: calc((100% - 20px) / 2)"
style="margin: 0 10px 0; width: calc((100% - 20px) / 2)" type="primary"
type="primary" icon="el-icon-close"
icon="el-icon-check" plain
@click.native="handleCheck" @click.native="() => (popoverVisible = true)"
>确定</el-button >驳回</el-button
> >
<el-button </el-popover>
size="mini"
style="margin: 0; width: calc((100% - 20px) / 2)"
type="primary"
icon="el-icon-close"
@click.native="handleCancel"
plain
>取消</el-button
>
</el-form-item>
</el-form>
</div> </div>
</template> </template>
...@@ -64,6 +54,8 @@ export default { ...@@ -64,6 +54,8 @@ export default {
inject: ["handleClosePreviewDialog", "loadData"], inject: ["handleClosePreviewDialog", "loadData"],
data() { data() {
return { return {
AGREE: 1,
DISAGREE: -2,
checkStatus: 1, //1同意 -2驳回 checkStatus: 1, //1同意 -2驳回
dialogForm: { dialogForm: {
remark: "", //驳回意见 remark: "", //驳回意见
...@@ -77,12 +69,12 @@ export default { ...@@ -77,12 +69,12 @@ export default {
}, },
], ],
}, },
popoverVisible: false,
}; };
}, },
methods: { methods: {
handleCheck() { handleCheck(checkStatus) {
const { checkStatus } = this; if (checkStatus == this.DISAGREE) {
if (checkStatus == -2) {
this.$refs.form.validate(async (valid) => { this.$refs.form.validate(async (valid) => {
if (valid) { if (valid) {
const { remark } = this.dialogForm; const { remark } = this.dialogForm;
...@@ -93,6 +85,11 @@ export default { ...@@ -93,6 +85,11 @@ export default {
this.submit(checkStatus); this.submit(checkStatus);
} }
}, },
handleCancel() {
this.$refs.popover.doClose();
this.handleClosePreviewDialog();
this.$refs.form.resetFields();
},
async submit(checkStatus, remark) { async submit(checkStatus, remark) {
const params = { const params = {
...@@ -112,6 +109,9 @@ export default { ...@@ -112,6 +109,9 @@ export default {
this.loadData(); this.loadData();
// 重置数据 // 重置数据
this.$refs.form.resetFields(); this.$refs.form.resetFields();
if (this.$refs.popover) {
this.$refs.popover.doClose();
}
} }
}, },
}, },
......
...@@ -48,10 +48,6 @@ ...@@ -48,10 +48,6 @@
</el-steps> </el-steps>
<span v-else></span> <span v-else></span>
</el-card> </el-card>
<el-card v-if="isShowApprovalForm">
<h3>请审批</h3>
<ApprovalForm :flowId="flowId" />
</el-card>
</div> </div>
</template> </template>
......
...@@ -293,16 +293,17 @@ export const approvleTableTitle = [ ...@@ -293,16 +293,17 @@ export const approvleTableTitle = [
label: "创建人", label: "创建人",
columnAlign: 'center', columnAlign: 'center',
}, },
// {
// prop: "createTime",
// label: "创建时间",
// columnAlign: 'center',
// },
{ {
prop: "updateTime", prop: "createTime",
label: "更新时间", label: "创建时间",
columnAlign: 'center', columnAlign: 'center',
sortable: true
}, },
// {
// prop: "updateTime",
// label: "更新时间",
// columnAlign: 'center',
// },
{ {
prop: "remark", prop: "remark",
label: "备注", label: "备注",
......
...@@ -55,7 +55,7 @@ ...@@ -55,7 +55,7 @@
:flowId="currentFlowId" :flowId="currentFlowId"
/> />
<DisplayInfoEditDialog <DisplayInfoEditDialog
ref="displayInfo" ref="DisplayInfo"
:form="resubmitDisplayInfo" :form="resubmitDisplayInfo"
@refresh="loadData" @refresh="loadData"
:flowId="currentFlowId" :flowId="currentFlowId"
...@@ -263,6 +263,7 @@ export default { ...@@ -263,6 +263,7 @@ export default {
case "文物": case "文物":
if (isManual) { if (isManual) {
const data = await this.getSourceDetail(id); const data = await this.getSourceDetail(id);
console.log(data);
this.resubmitCrInfo = data; this.resubmitCrInfo = data;
this.$appCommon.openDialog(this, "CrInfo"); this.$appCommon.openDialog(this, "CrInfo");
} else { } else {
......
...@@ -65,15 +65,18 @@ ...@@ -65,15 +65,18 @@
</div> </div>
<div class="more" @click.prevent="toggleItemCheckbox(item)"> <div class="more" @click.prevent="toggleItemCheckbox(item)">
<el-button <el-button
style="margin-right: 8px" title="下载"
style="margin-right: 12px"
type="text" type="text"
icon="el-icon-download" icon="el-icon-download"
@click="handleDownload(item)" @click="handleDownloadRow(item)"
></el-button> ></el-button>
<el-dropdown> <el-dropdown>
<i class="el-icon-more" style="color: #409eff"></i> <i class="el-icon-more" style="color: #409eff"></i>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item>删除</el-dropdown-item> <el-dropdown-item @click.native="handleDeleteRow(item)"
>删除</el-dropdown-item
>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
</div> </div>
...@@ -87,34 +90,6 @@ ...@@ -87,34 +90,6 @@
<div class="name">{{ item.name }}</div> <div class="name">{{ item.name }}</div>
</div> </div>
</div> </div>
<!-- <el-row class="container" :gutter="10">
<el-col
:span="getColSpan"
v-for="(item, index) in mattingImagesPage.records"
:key="index"
class="img-item"
>
<div
:class="['modal', item.checked ? 'active' : '']"
v-if="isShowCheckbox"
@click.prevent="toggleItemCheckbox(item)"
>
<el-checkbox
class="checkbox"
v-if="isShowCheckbox"
v-model="item.checked"
></el-checkbox>
</div>
<el-image
style="width: 200px; height: 150px; padding: 10px"
:src="item.pressUrl"
fit="contain"
:preview-src-list="srcList"
></el-image>
<div class="name">{{ item.name }}</div>
</el-col>
</el-row>-->
<el-pagination <el-pagination
v-if="mattingImagesPage.records.length > 0" v-if="mattingImagesPage.records.length > 0"
background background
...@@ -147,7 +122,11 @@ ...@@ -147,7 +122,11 @@
<script> <script>
import { tableTitle } from "../configs/list"; import { tableTitle } from "../configs/list";
import { downFileByFileIds, getMattingImagesPage } from "@/api/matting"; import {
downFileByFileIds,
getMattingImagesPage,
deleteMattingImage,
} from "@/api/matting";
import { Debounce } from "@/utils/index"; import { Debounce } from "@/utils/index";
export default { export default {
name: "PreviewDialog", name: "PreviewDialog",
...@@ -261,13 +240,13 @@ export default { ...@@ -261,13 +240,13 @@ export default {
(item) => item.checked (item) => item.checked
); );
}, },
// 卡片右上角的下载
handleDownloadRow: Debounce(function (row) { handleDownloadRow: Debounce(function (row) {
const { fileId } = row; const { fileId } = row;
const ids = [fileId]; const ids = [fileId];
this.download(ids); this.download(ids);
}, 600), }, 600),
// 底部下载按钮
handleDownload: Debounce(function () { handleDownload: Debounce(function () {
let ids = []; let ids = [];
if (this.isShowCheckbox) { if (this.isShowCheckbox) {
...@@ -285,6 +264,24 @@ export default { ...@@ -285,6 +264,24 @@ export default {
} }
this.download(ids); this.download(ids);
}, 600), }, 600),
// 卡片右上角的删除
handleDeleteRow: Debounce(function (row) {
const { fileId } = row;
const ids = [fileId];
this.deleteByIds(ids);
}, 600),
//
async deleteByIds(ids) {
const params = ids;
const res = await deleteMattingImage(params);
if (res.code == 0) {
this.$message.success("删除成功!");
}
this.loadImgs();
},
// 公共的删除方法 // 公共的删除方法
async download(ids) { async download(ids) {
const params = ids; const params = ids;
......
...@@ -192,7 +192,7 @@ export default { ...@@ -192,7 +192,7 @@ export default {
}; };
break; break;
case "edit": case "edit":
this.edit(); this.edit(row);
break; break;
case "delete": case "delete":
let deleteRes = await deleteRole(row.id); let deleteRes = await deleteRole(row.id);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论