fix: recommed
All checks were successful
continuous-integration/drone/tag Build is passing

This commit is contained in:
zzc
2026-02-05 21:10:32 +08:00
parent 4a90afd968
commit 1d3258ee0d
4 changed files with 73 additions and 10 deletions

View File

@@ -18,7 +18,14 @@
</vab-query-form>
<el-table v-loading="listLoading" :data="list" :element-loading-text="elementLoadingText">
<el-table-column align="center" label="ID" prop="id" show-overflow-tooltip />
<el-table-column align="center" label="ID" prop="id" show-overflow-tooltip>
<template #default="{ row }">
<span style="cursor: pointer" @click="handleCopyId(row.id)">
<i class="el-icon-copy-document" />
{{ row.id }}
</span>
</template>
</el-table-column>
<el-table-column align="center" label="排序" prop="sort" show-overflow-tooltip />
<el-table-column align="center" label="类型" prop="type" show-overflow-tooltip />
@@ -94,6 +101,15 @@
clearTimeout(this.timeOutID)
},
methods: {
handleCopyId(text) {
const input = document.createElement('input')
input.value = text
document.body.appendChild(input)
input.select()
document.execCommand('copy')
document.body.removeChild(input)
this.$baseMessage('复制成功', 'success')
},
setSelectRows(val) {
this.selectRows = val
},

View File

@@ -18,7 +18,14 @@
</vab-query-form>
<el-table v-loading="listLoading" :data="list" :element-loading-text="elementLoadingText">
<el-table-column align="center" label="ID" prop="id" show-overflow-tooltip />
<el-table-column align="center" label="ID" show-overflow-tooltip>
<template #default="{ row }">
<span style="cursor: pointer" @click="handleCopyId(row.id)">
<i class="el-icon-copy-document" />
{{ row.id }}
</span>
</template>
</el-table-column>
<el-table-column align="center" label="排序" prop="sort" show-overflow-tooltip />
<el-table-column align="center" label="类型" prop="type" show-overflow-tooltip />
@@ -94,6 +101,15 @@
clearTimeout(this.timeOutID)
},
methods: {
handleCopyId(text) {
const input = document.createElement('input')
input.value = text
document.body.appendChild(input)
input.select()
document.execCommand('copy')
document.body.removeChild(input)
this.$baseMessage('复制成功', 'success')
},
setSelectRows(val) {
this.selectRows = val
},

View File

@@ -18,7 +18,14 @@
</vab-query-form>
<el-table v-loading="listLoading" :data="list" :element-loading-text="elementLoadingText">
<el-table-column align="center" label="ID" prop="id" show-overflow-tooltip />
<el-table-column align="center" label="ID" prop="id" show-overflow-tooltip>
<template #default="{ row }">
<span style="cursor: pointer" @click="handleCopyId(row.id)">
<i class="el-icon-copy-document" />
{{ row.id }}
</span>
</template>
</el-table-column>
<el-table-column align="center" label="排序" prop="sort" show-overflow-tooltip />
@@ -95,6 +102,15 @@
clearTimeout(this.timeOutID)
},
methods: {
handleCopyId(text) {
const input = document.createElement('input')
input.value = text
document.body.appendChild(input)
input.select()
document.execCommand('copy')
document.body.removeChild(input)
this.$baseMessage('复制成功', 'success')
},
setSelectRows(val) {
this.selectRows = val
},

View File

@@ -16,9 +16,9 @@
</el-select>
</el-form-item>
<el-form-item label="资源ID" prop="resourceId">
<el-form-item label="资源ID" prop="recommendId">
<div style="display: flex; gap: 10px">
<el-input v-model="form.resourceId" placeholder="请输入资源ID" @blur="handleCheckId" />
<el-input v-model="form.recommendId" placeholder="请输入资源ID" @blur="handleCheckId" />
<el-button :loading="checking" type="primary" @click="handleCheckId">查询</el-button>
</div>
</el-form-item>
@@ -27,6 +27,15 @@
<el-image :preview-src-list="[previewImage]" :src="previewImage" style="width: 100px; height: 100px; border-radius: 4px" />
</el-form-item>
<template v-if="canSave">
<el-form-item label="推荐标题" prop="title">
<el-input v-model="form.title" placeholder="请输入推荐标题" />
</el-form-item>
<el-form-item label="推荐内容" prop="content">
<el-input v-model="form.content" placeholder="请输入推荐内容" :rows="2" type="textarea" />
</el-form-item>
</template>
<el-form-item label="标签" prop="tag">
<el-select v-model="form.tag" placeholder="请选择标签" style="width: 100%">
<el-option label="最新" value="new" />
@@ -57,15 +66,19 @@
form: {
scene: '',
type: '',
resourceId: '',
recommendId: '',
tag: '',
isEnabled: true,
imageUrl: '',
title: '',
content: '',
},
rules: {
scene: [{ required: true, trigger: 'change', message: '请选择场景' }],
type: [{ required: true, trigger: 'change', message: '请选择类型' }],
resourceId: [{ required: true, trigger: 'blur', message: '请输入资源ID' }],
recommendId: [{ required: true, trigger: 'blur', message: '请输入资源ID' }],
title: [{ required: true, trigger: 'blur', message: '请输入推荐标题' }],
content: [{ required: true, trigger: 'blur', message: '请输入推荐内容' }],
},
title: '添加推介',
dialogFormVisible: false,
@@ -97,7 +110,7 @@
}
},
async handleCheckId() {
if (!this.form.scene || !this.form.type || !this.form.resourceId) {
if (!this.form.scene || !this.form.type || !this.form.recommendId) {
this.$baseMessage('请先完善场景、类型和资源ID', 'warning')
return
}
@@ -108,7 +121,7 @@
const { data } = await getItemDetail({
scene: this.form.scene,
type: this.form.type,
id: this.form.resourceId,
id: this.form.recommendId,
})
if (data && data.imageUrl) {
this.previewImage = data.imageUrl
@@ -129,10 +142,12 @@
this.form = {
scene: '',
type: '',
resourceId: '',
recommendId: '',
tag: '',
isEnabled: true,
imageUrl: '',
title: '',
content: '',
}
this.previewImage = ''
this.canSave = false