|
@@ -4,13 +4,13 @@
|
|
|
<i class="iconfont icon-top"></i>
|
|
|
</div>
|
|
|
<div class="tab">
|
|
|
- <span>{{myWorks}} {{workTotalNum !== undefined ? `(${workTotalNum})`:''}}</span>
|
|
|
+ <span>{{ myWorks }} {{ workTotalNum !== undefined ? `(${workTotalNum})` : '' }}</span>
|
|
|
<div class="tab-r">
|
|
|
<div class="filter">
|
|
|
- <div :class="{active: isFilterFocus}" @focusin="onFilterFocus" @focusout="onFilterBlur">
|
|
|
+ <div :class="{ active: isFilterFocus }" @focusin="onFilterFocus" @focusout="onFilterBlur">
|
|
|
<i class="iconfont iconworks_search search"></i>
|
|
|
<input type="text" :placeholder="search" v-model="searchKey">
|
|
|
- <i v-if="searchKey" @click="searchKey=''" class="iconfont icontoast_red del"></i>
|
|
|
+ <i v-if="searchKey" @click="searchKey = ''" class="iconfont icontoast_red del"></i>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -26,7 +26,7 @@
|
|
|
<div>
|
|
|
<i class="iconfont icon_plus"></i>
|
|
|
</div>
|
|
|
- <span>{{create}}</span>
|
|
|
+ <span>{{ create }}</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
</li>
|
|
@@ -38,27 +38,27 @@
|
|
|
</div>
|
|
|
</li>
|
|
|
</template>
|
|
|
- <li v-for="(item,i) in list" :key="i" :class="{'has-more-data': hasMoreData}">
|
|
|
+ <li v-for="(item, i) in list" :key="i" :class="{ 'has-more-data': hasMoreData }">
|
|
|
<div class="wrapper">
|
|
|
<div class="li-hover">
|
|
|
- <span class="lipreview" @click="handlePreview(item)">{{preview}}</span>
|
|
|
+ <span class="lipreview" @click="handlePreview(item)">{{ preview }}</span>
|
|
|
<ul class="oper">
|
|
|
- <li class="comfirmhover" @click="edit(item)"><i class="iconfont icon-works_editor"></i>{{edittips}}</li>
|
|
|
- <li class="comfirmhover" @click="openShare(item)"><i class="iconfont icon-works_share"></i>{{share}}</li>
|
|
|
- <li class="cancelhover" @click="del(item, i)"><i class="iconfont icon-works_delete"></i>{{deltips}}</li>
|
|
|
+ <li class="comfirmhover" @click="edit(item)"><i class="iconfont icon-works_editor"></i>{{ edittips }}</li>
|
|
|
+ <li class="comfirmhover" @click="openShare(item)"><i class="iconfont icon-works_share"></i>{{ share }}</li>
|
|
|
+ <li class="cancelhover" @click="del(item, i)"><i class="iconfont icon-works_delete"></i>{{ deltips }}</li>
|
|
|
</ul>
|
|
|
</div>
|
|
|
<div class="img" @click="handlePreview(item)">
|
|
|
- <img class="real" :src="item.icon||$thumb" alt="" />
|
|
|
+ <img class="real" :src="item.icon || $thumb" alt="" />
|
|
|
</div>
|
|
|
<div class="li-info">
|
|
|
<div>
|
|
|
- <span class="shenglve tttttt" :title="item.name||no_title">{{item.name||no_title}}</span>
|
|
|
+ <span class="shenglve tttttt" :title="item.name || no_title">{{ item.name || no_title }}</span>
|
|
|
</div>
|
|
|
<div>
|
|
|
- <span>{{item.createTime.split(' ')[0]}}</span>
|
|
|
+ <span>{{ item.createTime.split(' ')[0] }}</span>
|
|
|
<div :title="item.visit">
|
|
|
- <i class="iconfont iconworks_look"></i>{{item.visit>10000?'1w+':item.visit}}
|
|
|
+ <i class="iconfont iconworks_look"></i>{{ item.visit > 10000 ? '1w+' : item.visit }}
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -70,19 +70,20 @@
|
|
|
</ul>
|
|
|
<div class="nodata" v-if="list.length == 0 && !hasMoreData && lastestUsedSearchKey">
|
|
|
<img :src="$noresult" alt="" />
|
|
|
- <span>{{no_serch_result}}~</span>
|
|
|
+ <span>{{ no_serch_result }}~</span>
|
|
|
</div>
|
|
|
<div class="nodata" v-if="list.length == 0 && !hasMoreData && !lastestUsedSearchKey">
|
|
|
<img :src="config.empty" alt="" />
|
|
|
- <span>{{no_works}}</span>
|
|
|
- <button @click="add" class="upload-btn-in-table">{{create}}</button>
|
|
|
+ <span>{{ no_works }}</span>
|
|
|
+ <button @click="add" class="upload-btn-in-table">{{ create }}</button>
|
|
|
</div>
|
|
|
- <share :show='showShare' :item="shareItem" @close="showShare=false"></share>
|
|
|
- <preview v-if="showItem" :name="showItem.name" :show="showPreview" :ifr="`./show.html?id=${showItem.id}&lang=${$lang}`"
|
|
|
- :dark="false" @close="showPreview = false" />
|
|
|
+ <share :show='showShare' :item="shareItem" @close="showShare = false"></share>
|
|
|
+ <preview v-if="showItem" :name="showItem.name" :show="showPreview"
|
|
|
+ :ifr="`./show.html?id=${showItem.id}&lang=${$lang}`" :dark="false" @close="showPreview = false" />
|
|
|
<div class="dialog" style="z-index: 10" v-if="isShowMaterialSelector">
|
|
|
- <MaterialSelector :title="select_material" @cancle="isShowMaterialSelector = false" @submit="handleSubmitFromMaterialSelector"
|
|
|
- :selectableType="['pano', '3D']" :isMultiSelection="true" :workId="newWorkId" initialMaterialType="pano" />
|
|
|
+ <MaterialSelector :title="select_material" @cancle="isShowMaterialSelector = false"
|
|
|
+ @submit="handleSubmitFromMaterialSelector" :selectableType="['pano', '3D']" :isMultiSelection="true"
|
|
|
+ :workId="newWorkId" initialMaterialType="pano" />
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
@@ -95,7 +96,8 @@ import config from "@/config";
|
|
|
import { debounce } from "@/utils/other.js"
|
|
|
import MaterialSelector from "@/components/materialSelectorForManageCenter.vue";
|
|
|
import { mapGetters } from "vuex";
|
|
|
-import {i18n} from "@/lang"
|
|
|
+import { i18n } from "@/lang"
|
|
|
+import { $waiting } from "@/components/shared/loading";
|
|
|
|
|
|
|
|
|
import {
|
|
@@ -207,15 +209,18 @@ export default {
|
|
|
},
|
|
|
add() {
|
|
|
// 新建作品,弹窗让用户给作品选择素材。
|
|
|
+ $waiting.show();
|
|
|
addWorks(
|
|
|
{},
|
|
|
(res) => {
|
|
|
+ $waiting.hide();
|
|
|
this.newWorkId = res.data.id
|
|
|
this.isShowMaterialSelector = true
|
|
|
},
|
|
|
)
|
|
|
},
|
|
|
handleSubmitFromMaterialSelector(selected) {
|
|
|
+ $waiting.show();
|
|
|
// 拿新作品的初始数据
|
|
|
getPanoInfo(
|
|
|
this.newWorkId,
|
|
@@ -250,12 +255,15 @@ export default {
|
|
|
{
|
|
|
id: this.newWorkId,
|
|
|
password: '',
|
|
|
- someData: { ...this.info,
|
|
|
- status: 1,
|
|
|
- icon: this.info.scenes[0].icon },
|
|
|
+ someData: {
|
|
|
+ ...this.info,
|
|
|
+ status: 1,
|
|
|
+ icon: this.info.scenes[0].icon
|
|
|
+ },
|
|
|
},
|
|
|
// 保存成功
|
|
|
() => {
|
|
|
+ $waiting.hide();
|
|
|
// 隐藏素材选择弹窗
|
|
|
this.isShowMaterialSelector = false
|
|
|
|
|
@@ -290,6 +298,7 @@ export default {
|
|
|
},
|
|
|
// 保存失败,删除新建的作品。
|
|
|
(error) => {
|
|
|
+ $waiting.hide();
|
|
|
console.error('保存失败:', error);
|
|
|
delWorks(this.newWorkId)
|
|
|
this.newWorkId = ''
|
|
@@ -313,6 +322,9 @@ export default {
|
|
|
title: this.$i18n.t("material.works.delete_work"),
|
|
|
content: this.$i18n.t("material.works.comfirm_delete"),
|
|
|
ok: () => {
|
|
|
+
|
|
|
+ $waiting.show();
|
|
|
+
|
|
|
delWorks(item.id, () => {
|
|
|
this.$msg.success(this.$i18n.t("gather.delete_success"));
|
|
|
this.isRequestingMoreData = true
|
|
@@ -324,6 +336,7 @@ export default {
|
|
|
searchKey: this.searchKey
|
|
|
},
|
|
|
(data) => {
|
|
|
+ $waiting.hide();
|
|
|
this.list.splice(index, 1)
|
|
|
this.list = this.list.concat(data.data.list)
|
|
|
if (this.list.length === data.data.total) {
|
|
@@ -340,6 +353,7 @@ export default {
|
|
|
})
|
|
|
},
|
|
|
() => {
|
|
|
+ $waiting.hide();
|
|
|
this.lastestUsedSearchKey = lastestUsedSearchKey
|
|
|
this.isRequestingMoreData = false
|
|
|
}
|