二次编辑商品
This commit is contained in:
@@ -14,6 +14,10 @@ const {
|
||||
router,
|
||||
loading,
|
||||
uploading,
|
||||
isEditMode,
|
||||
pageTitle,
|
||||
submitButtonText,
|
||||
submitLoadingText,
|
||||
publishAgreements,
|
||||
virtualAssetSaleAgreementChecked,
|
||||
sellerAgreementChecked,
|
||||
@@ -119,7 +123,7 @@ function selectRadio<T extends string>(value: T, setter: (value: T) => void) {
|
||||
<button class="back-btn" type="button" @click="router.back()">
|
||||
<van-icon name="arrow-left" :size="20" />
|
||||
</button>
|
||||
<h1>发布账号</h1>
|
||||
<h1>{{ pageTitle }}</h1>
|
||||
<span class="header-spacer"></span>
|
||||
</header>
|
||||
|
||||
@@ -710,7 +714,7 @@ function selectRadio<T extends string>(value: T, setter: (value: T) => void) {
|
||||
|
||||
<div class="publish-actions">
|
||||
<van-button round class="reset-btn" :disabled="loading" @click="handleResetDraft">
|
||||
重置
|
||||
{{ isEditMode ? '恢复' : '重置' }}
|
||||
</van-button>
|
||||
<van-button
|
||||
type="primary"
|
||||
@@ -718,10 +722,10 @@ function selectRadio<T extends string>(value: T, setter: (value: T) => void) {
|
||||
class="submit-btn"
|
||||
:loading="loading"
|
||||
:disabled="!canPublishAfterAgreements"
|
||||
loading-text="发布中..."
|
||||
:loading-text="submitLoadingText"
|
||||
@click="handleSubmit"
|
||||
>
|
||||
保存发布
|
||||
{{ submitButtonText }}
|
||||
</van-button>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -33,6 +33,8 @@ const {
|
||||
selectedSkins,
|
||||
uploadedScreenshotCount,
|
||||
requiredScreenshotCount,
|
||||
isEditMode,
|
||||
submitButtonText,
|
||||
disabledOnlineStartOptions,
|
||||
disabledOnlineEndOptions,
|
||||
serverOptions,
|
||||
@@ -684,13 +686,17 @@ function selectDailyLoss(value: string | number) {
|
||||
:disabled="!canPublishAfterAgreements"
|
||||
@click="handleSubmit"
|
||||
>
|
||||
立即发布
|
||||
{{ submitButtonText }}
|
||||
</el-button>
|
||||
<el-button :icon="DocumentChecked" :disabled="loading" @click="handleSaveDraft"
|
||||
<el-button
|
||||
v-if="!isEditMode"
|
||||
:icon="DocumentChecked"
|
||||
:disabled="loading"
|
||||
@click="handleSaveDraft"
|
||||
>保存草稿</el-button
|
||||
>
|
||||
<el-button :icon="RefreshRight" :disabled="loading" @click="handleResetDraft"
|
||||
>重置草稿</el-button
|
||||
>{{ isEditMode ? '恢复原信息' : '重置草稿' }}</el-button
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
<script setup lang="ts">
|
||||
import { CopyDocument, Plus, Refresh } from '@element-plus/icons-vue'
|
||||
import { CopyDocument, Edit, Plus, Refresh } from '@element-plus/icons-vue'
|
||||
import { ElMessage, ElMessageBox } from 'element-plus'
|
||||
import { computed, onMounted, ref } from 'vue'
|
||||
import { useRoute } from 'vue-router'
|
||||
|
||||
import {
|
||||
fetchSellerListings,
|
||||
@@ -18,6 +19,7 @@ const submittingID = ref<number | null>(null)
|
||||
const offliningID = ref<number | null>(null)
|
||||
const listings = ref<Listing[]>([])
|
||||
const statusFilter = ref('all')
|
||||
const route = useRoute()
|
||||
|
||||
const displayListings = computed(() => {
|
||||
if (statusFilter.value === 'all') return listings.value
|
||||
@@ -125,10 +127,20 @@ function canSubmit(row: Listing) {
|
||||
return !isPendingReview(row) && row.status !== 'rented' && row.status !== 'published'
|
||||
}
|
||||
|
||||
function canEdit(row: Listing) {
|
||||
return !isPendingReview(row) && row.status !== 'rented' && row.status !== 'published'
|
||||
}
|
||||
|
||||
function canOffline(row: Listing) {
|
||||
return row.status !== 'rented' && row.status !== 'offline'
|
||||
}
|
||||
|
||||
function editPath(row: Listing) {
|
||||
return route.path.startsWith('/m/')
|
||||
? `/m/seller/listings/${row.id}/edit`
|
||||
: `/seller/listings/${row.id}/edit`
|
||||
}
|
||||
|
||||
function statusTone(status: string) {
|
||||
const tones: Record<string, string> = {
|
||||
published: 'success',
|
||||
@@ -235,6 +247,9 @@ function isPendingReview(row: Listing) {
|
||||
</div>
|
||||
|
||||
<div class="listing-actions">
|
||||
<RouterLink v-if="canEdit(item)" :to="editPath(item)">
|
||||
<el-button :icon="Edit">编辑</el-button>
|
||||
</RouterLink>
|
||||
<el-button
|
||||
:disabled="!canSubmit(item)"
|
||||
:loading="submittingID === item.id"
|
||||
|
||||
Reference in New Issue
Block a user