fix: scene list
This commit is contained in:
@@ -7,6 +7,11 @@
|
|||||||
</vab-query-form-left-panel>
|
</vab-query-form-left-panel>
|
||||||
<vab-query-form-right-panel :span="12">
|
<vab-query-form-right-panel :span="12">
|
||||||
<el-form :inline="true" :model="queryForm" @submit.native.prevent>
|
<el-form :inline="true" :model="queryForm" @submit.native.prevent>
|
||||||
|
<el-form-item>
|
||||||
|
<el-select v-model="queryForm.scene" clearable placeholder="请选择场景" @change="queryData">
|
||||||
|
<el-option v-for="item in sceneList" :key="item.scene" :label="item.sceneName" :value="item.scene" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-input v-model.trim="queryForm.keyword" clearable placeholder="请输入查询条件" />
|
<el-input v-model.trim="queryForm.keyword" clearable placeholder="请输入查询条件" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -26,6 +31,11 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
<el-table-column align="center" label="场景" show-overflow-tooltip>
|
||||||
|
<template #default="{ row }">
|
||||||
|
{{ getSceneName(row.scene) }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column align="center" label="使用次数" prop="useCount" show-overflow-tooltip />
|
<el-table-column align="center" label="使用次数" prop="useCount" show-overflow-tooltip />
|
||||||
<el-table-column align="center" label="是否启用" show-overflow-tooltip>
|
<el-table-column align="center" label="是否启用" show-overflow-tooltip>
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
@@ -60,6 +70,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { doDelete, getList, toggleEnable, doMoveUp, doMoveDown } from '@/api/spring/blessing/contentTemplate'
|
import { doDelete, getList, toggleEnable, doMoveUp, doMoveDown } from '@/api/spring/blessing/contentTemplate'
|
||||||
|
import { getAll as getAllScenes } from '@/api/spring/blessing/scene'
|
||||||
import Edit from './components/AppManagementEdit'
|
import Edit from './components/AppManagementEdit'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@@ -77,9 +88,10 @@
|
|||||||
pageNo: 1,
|
pageNo: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
keyword: '',
|
keyword: '',
|
||||||
fortuneLevel: '',
|
scene: '',
|
||||||
},
|
},
|
||||||
timeOutID: null,
|
timeOutID: null,
|
||||||
|
sceneList: [],
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
@@ -88,6 +100,7 @@
|
|||||||
this.queryForm.keyword = templateId
|
this.queryForm.keyword = templateId
|
||||||
this.queryForm.pageNo = 1
|
this.queryForm.pageNo = 1
|
||||||
}
|
}
|
||||||
|
this.fetchSceneList()
|
||||||
this.fetchData()
|
this.fetchData()
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -99,7 +112,7 @@
|
|||||||
this.selectRows = val
|
this.selectRows = val
|
||||||
},
|
},
|
||||||
handleEdit(row) {
|
handleEdit(row) {
|
||||||
if (row.id) {
|
if (row && row.id) {
|
||||||
this.$refs['edit'].showEdit(row)
|
this.$refs['edit'].showEdit(row)
|
||||||
} else {
|
} else {
|
||||||
this.$refs['edit'].showEdit()
|
this.$refs['edit'].showEdit()
|
||||||
@@ -189,13 +202,14 @@
|
|||||||
if (enabled.length === 0) return false
|
if (enabled.length === 0) return false
|
||||||
return enabled[enabled.length - 1].id === row.id
|
return enabled[enabled.length - 1].id === row.id
|
||||||
},
|
},
|
||||||
|
async fetchSceneList() {
|
||||||
|
const { data } = await getAllScenes()
|
||||||
|
this.sceneList = data || []
|
||||||
|
},
|
||||||
|
getSceneName(scene) {
|
||||||
|
const found = this.sceneList.find((item) => item.scene === scene)
|
||||||
|
return found ? found.sceneName : scene
|
||||||
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style scoped>
|
|
||||||
.content-cell {
|
|
||||||
white-space: pre-wrap;
|
|
||||||
word-break: break-word;
|
|
||||||
line-height: 1.6;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|||||||
@@ -7,6 +7,11 @@
|
|||||||
</vab-query-form-left-panel>
|
</vab-query-form-left-panel>
|
||||||
<vab-query-form-right-panel :span="12">
|
<vab-query-form-right-panel :span="12">
|
||||||
<el-form :inline="true" :model="queryForm" @submit.native.prevent>
|
<el-form :inline="true" :model="queryForm" @submit.native.prevent>
|
||||||
|
<el-form-item>
|
||||||
|
<el-select v-model="queryForm.scene" clearable placeholder="请选择场景" @change="queryData">
|
||||||
|
<el-option v-for="item in sceneList" :key="item.scene" :label="item.sceneName" :value="item.scene" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-input v-model.trim="queryForm.keyword" clearable placeholder="请输入查询条件" />
|
<el-input v-model.trim="queryForm.keyword" clearable placeholder="请输入查询条件" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -34,6 +39,11 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column align="center" label="标题" prop="name" show-overflow-tooltip />
|
<el-table-column align="center" label="标题" prop="name" show-overflow-tooltip />
|
||||||
|
<el-table-column align="center" label="场景" show-overflow-tooltip>
|
||||||
|
<template #default="{ row }">
|
||||||
|
{{ getSceneName(row.scene) }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column align="center" label="使用次数" prop="useCount" show-overflow-tooltip />
|
<el-table-column align="center" label="使用次数" prop="useCount" show-overflow-tooltip />
|
||||||
<el-table-column align="center" label="是否启用" show-overflow-tooltip>
|
<el-table-column align="center" label="是否启用" show-overflow-tooltip>
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
@@ -68,6 +78,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { doDelete, getList, toggleEnable, doMoveUp, doMoveDown } from '@/api/spring/blessing/template'
|
import { doDelete, getList, toggleEnable, doMoveUp, doMoveDown } from '@/api/spring/blessing/template'
|
||||||
|
import { getAll as getAllScenes } from '@/api/spring/blessing/scene'
|
||||||
import { formatTime } from '@/utils'
|
import { formatTime } from '@/utils'
|
||||||
import { getThumbUrl } from '@/utils/blessing'
|
import { getThumbUrl } from '@/utils/blessing'
|
||||||
import Edit from './components/AppManagementEdit'
|
import Edit from './components/AppManagementEdit'
|
||||||
@@ -87,9 +98,10 @@
|
|||||||
pageNo: 1,
|
pageNo: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
keyword: '',
|
keyword: '',
|
||||||
fortuneLevel: '',
|
scene: '',
|
||||||
},
|
},
|
||||||
timeOutID: null,
|
timeOutID: null,
|
||||||
|
sceneList: [],
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
@@ -98,43 +110,26 @@
|
|||||||
this.queryForm.keyword = templateId
|
this.queryForm.keyword = templateId
|
||||||
this.queryForm.pageNo = 1
|
this.queryForm.pageNo = 1
|
||||||
}
|
}
|
||||||
|
this.fetchSceneList()
|
||||||
this.fetchData()
|
this.fetchData()
|
||||||
},
|
},
|
||||||
|
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
clearTimeout(this.timeOutID)
|
clearTimeout(this.timeOutID)
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
getThumbUrl,
|
|
||||||
setSelectRows(val) {
|
setSelectRows(val) {
|
||||||
this.selectRows = val
|
this.selectRows = val
|
||||||
},
|
},
|
||||||
handleEdit(row) {
|
handleEdit(row) {
|
||||||
if (row.id) {
|
|
||||||
this.$refs['edit'].showEdit(row)
|
this.$refs['edit'].showEdit(row)
|
||||||
} else {
|
|
||||||
this.$refs['edit'].showEdit()
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
handleDelete(row) {
|
handleDelete(row) {
|
||||||
if (row.id) {
|
if (row.id) {
|
||||||
this.$baseConfirm('你确定要删除当前项吗', null, async () => {
|
this.$baseConfirm('你确定要删除当前项吗', null, async () => {
|
||||||
const { msg } = await doDelete({ ids: [row.id] })
|
const { msg } = await doDelete(row.id)
|
||||||
this.$baseMessage(msg, 'success')
|
this.$baseMessage(msg, 'success')
|
||||||
this.fetchData()
|
this.fetchData()
|
||||||
})
|
})
|
||||||
} else {
|
|
||||||
if (this.selectRows.length > 0) {
|
|
||||||
const ids = this.selectRows.map((item) => item.id).join()
|
|
||||||
this.$baseConfirm('你确定要删除选中项吗', null, async () => {
|
|
||||||
const { msg } = await doDelete({ ids: ids.split(',') })
|
|
||||||
this.$baseMessage(msg, 'success')
|
|
||||||
this.fetchData()
|
|
||||||
})
|
|
||||||
} else {
|
|
||||||
this.$baseMessage('未选中任何行', 'error')
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
handleSizeChange(val) {
|
handleSizeChange(val) {
|
||||||
@@ -156,49 +151,41 @@
|
|||||||
this.total = data.totalCount
|
this.total = data.totalCount
|
||||||
this.timeOutID = setTimeout(() => {
|
this.timeOutID = setTimeout(() => {
|
||||||
this.listLoading = false
|
this.listLoading = false
|
||||||
}, 300)
|
}, 500)
|
||||||
},
|
},
|
||||||
async handleToggleEnable(row, val) {
|
async handleToggleEnable(row, value) {
|
||||||
const prev = row.isEnabled
|
this.$baseConfirm(`你确定要${value ? '启用' : '禁用'}当前项吗`, null, async () => {
|
||||||
row.isEnabled = val
|
const { msg } = await toggleEnable(row.id, value)
|
||||||
try {
|
this.$baseMessage(msg, 'success')
|
||||||
const { msg } = await toggleEnable(row.id, val)
|
|
||||||
if (msg) this.$baseMessage(msg, 'success')
|
|
||||||
this.fetchData()
|
this.fetchData()
|
||||||
} catch (e) {
|
})
|
||||||
row.isEnabled = prev
|
|
||||||
this.$baseMessage('更新失败', 'error')
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
async handleMoveUp(row) {
|
async handleMoveUp(row) {
|
||||||
try {
|
|
||||||
const { msg } = await doMoveUp(row.id)
|
const { msg } = await doMoveUp(row.id)
|
||||||
if (msg) this.$baseMessage(msg, 'success')
|
this.$baseMessage(msg, 'success')
|
||||||
this.fetchData()
|
this.fetchData()
|
||||||
} catch (e) {
|
|
||||||
this.$baseMessage('操作失败', 'error')
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
async handleMoveDown(row) {
|
async handleMoveDown(row) {
|
||||||
try {
|
|
||||||
const { msg } = await doMoveDown(row.id)
|
const { msg } = await doMoveDown(row.id)
|
||||||
if (msg) this.$baseMessage(msg, 'success')
|
this.$baseMessage(msg, 'success')
|
||||||
this.fetchData()
|
this.fetchData()
|
||||||
} catch (e) {
|
|
||||||
this.$baseMessage('操作失败', 'error')
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
isFirstEnabled(row) {
|
isFirstEnabled(row) {
|
||||||
if (!this.list || this.list.length === 0) return false
|
const enabledList = this.list.filter((item) => item.isEnabled)
|
||||||
const enabled = this.list.filter((item) => item.isEnabled)
|
return enabledList.length > 0 && enabledList[0].id === row.id
|
||||||
if (enabled.length === 0) return false
|
|
||||||
return enabled[0].id === row.id
|
|
||||||
},
|
},
|
||||||
isLastEnabled(row) {
|
isLastEnabled(row) {
|
||||||
if (!this.list || this.list.length === 0) return false
|
const enabledList = this.list.filter((item) => item.isEnabled)
|
||||||
const enabled = this.list.filter((item) => item.isEnabled)
|
return enabledList.length > 0 && enabledList[enabledList.length - 1].id === row.id
|
||||||
if (enabled.length === 0) return false
|
},
|
||||||
return enabled[enabled.length - 1].id === row.id
|
getThumbUrl,
|
||||||
|
async fetchSceneList() {
|
||||||
|
const { data } = await getAllScenes()
|
||||||
|
this.sceneList = data || []
|
||||||
|
},
|
||||||
|
getSceneName(scene) {
|
||||||
|
const found = this.sceneList.find((item) => item.scene === scene)
|
||||||
|
return found ? found.sceneName : scene
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,11 @@
|
|||||||
</vab-query-form-left-panel>
|
</vab-query-form-left-panel>
|
||||||
<vab-query-form-right-panel :span="12">
|
<vab-query-form-right-panel :span="12">
|
||||||
<el-form :inline="true" :model="queryForm" @submit.native.prevent>
|
<el-form :inline="true" :model="queryForm" @submit.native.prevent>
|
||||||
|
<el-form-item>
|
||||||
|
<el-select v-model="queryForm.scene" clearable placeholder="请选择场景" @change="queryData">
|
||||||
|
<el-option v-for="item in sceneList" :key="item.scene" :label="item.sceneName" :value="item.scene" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-input v-model.trim="queryForm.keyword" clearable placeholder="请输入查询条件" />
|
<el-input v-model.trim="queryForm.keyword" clearable placeholder="请输入查询条件" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -34,6 +39,11 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column align="center" label="标题" prop="name" show-overflow-tooltip />
|
<el-table-column align="center" label="标题" prop="name" show-overflow-tooltip />
|
||||||
|
<el-table-column align="center" label="场景" show-overflow-tooltip>
|
||||||
|
<template #default="{ row }">
|
||||||
|
{{ getSceneName(row.scene) }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column align="center" label="使用次数" prop="useCount" show-overflow-tooltip />
|
<el-table-column align="center" label="使用次数" prop="useCount" show-overflow-tooltip />
|
||||||
<el-table-column align="center" label="是否启用" show-overflow-tooltip>
|
<el-table-column align="center" label="是否启用" show-overflow-tooltip>
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
@@ -68,6 +78,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { doDelete, getList, toggleEnable, doMoveUp, doMoveDown } from '@/api/spring/blessing/titleTemplate/index'
|
import { doDelete, getList, toggleEnable, doMoveUp, doMoveDown } from '@/api/spring/blessing/titleTemplate/index'
|
||||||
|
import { getAll as getAllScenes } from '@/api/spring/blessing/scene'
|
||||||
import { formatTime } from '@/utils'
|
import { formatTime } from '@/utils'
|
||||||
import { getThumbUrl } from '@/utils/blessing'
|
import { getThumbUrl } from '@/utils/blessing'
|
||||||
import Edit from './components/AppManagementEdit'
|
import Edit from './components/AppManagementEdit'
|
||||||
@@ -87,9 +98,10 @@
|
|||||||
pageNo: 1,
|
pageNo: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
keyword: '',
|
keyword: '',
|
||||||
fortuneLevel: '',
|
scene: '',
|
||||||
},
|
},
|
||||||
timeOutID: null,
|
timeOutID: null,
|
||||||
|
sceneList: [],
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
@@ -98,43 +110,26 @@
|
|||||||
this.queryForm.keyword = templateId
|
this.queryForm.keyword = templateId
|
||||||
this.queryForm.pageNo = 1
|
this.queryForm.pageNo = 1
|
||||||
}
|
}
|
||||||
|
this.fetchSceneList()
|
||||||
this.fetchData()
|
this.fetchData()
|
||||||
},
|
},
|
||||||
|
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
clearTimeout(this.timeOutID)
|
clearTimeout(this.timeOutID)
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
getThumbUrl,
|
|
||||||
setSelectRows(val) {
|
setSelectRows(val) {
|
||||||
this.selectRows = val
|
this.selectRows = val
|
||||||
},
|
},
|
||||||
handleEdit(row) {
|
handleEdit(row) {
|
||||||
if (row.id) {
|
|
||||||
this.$refs['edit'].showEdit(row)
|
this.$refs['edit'].showEdit(row)
|
||||||
} else {
|
|
||||||
this.$refs['edit'].showEdit()
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
handleDelete(row) {
|
handleDelete(row) {
|
||||||
if (row.id) {
|
if (row.id) {
|
||||||
this.$baseConfirm('你确定要删除当前项吗', null, async () => {
|
this.$baseConfirm('你确定要删除当前项吗', null, async () => {
|
||||||
const { msg } = await doDelete({ ids: [row.id] })
|
const { msg } = await doDelete(row.id)
|
||||||
this.$baseMessage(msg, 'success')
|
this.$baseMessage(msg, 'success')
|
||||||
this.fetchData()
|
this.fetchData()
|
||||||
})
|
})
|
||||||
} else {
|
|
||||||
if (this.selectRows.length > 0) {
|
|
||||||
const ids = this.selectRows.map((item) => item.id).join()
|
|
||||||
this.$baseConfirm('你确定要删除选中项吗', null, async () => {
|
|
||||||
const { msg } = await doDelete({ ids: ids.split(',') })
|
|
||||||
this.$baseMessage(msg, 'success')
|
|
||||||
this.fetchData()
|
|
||||||
})
|
|
||||||
} else {
|
|
||||||
this.$baseMessage('未选中任何行', 'error')
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
handleSizeChange(val) {
|
handleSizeChange(val) {
|
||||||
@@ -156,49 +151,41 @@
|
|||||||
this.total = data.totalCount
|
this.total = data.totalCount
|
||||||
this.timeOutID = setTimeout(() => {
|
this.timeOutID = setTimeout(() => {
|
||||||
this.listLoading = false
|
this.listLoading = false
|
||||||
}, 300)
|
}, 500)
|
||||||
},
|
},
|
||||||
async handleToggleEnable(row, val) {
|
async handleToggleEnable(row, value) {
|
||||||
const prev = row.isEnabled
|
this.$baseConfirm(`你确定要${value ? '启用' : '禁用'}当前项吗`, null, async () => {
|
||||||
row.isEnabled = val
|
const { msg } = await toggleEnable(row.id, value)
|
||||||
try {
|
this.$baseMessage(msg, 'success')
|
||||||
const { msg } = await toggleEnable(row.id, val)
|
|
||||||
if (msg) this.$baseMessage(msg, 'success')
|
|
||||||
this.fetchData()
|
this.fetchData()
|
||||||
} catch (e) {
|
})
|
||||||
row.isEnabled = prev
|
|
||||||
this.$baseMessage('更新失败', 'error')
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
async handleMoveUp(row) {
|
async handleMoveUp(row) {
|
||||||
try {
|
|
||||||
const { msg } = await doMoveUp(row.id)
|
const { msg } = await doMoveUp(row.id)
|
||||||
if (msg) this.$baseMessage(msg, 'success')
|
this.$baseMessage(msg, 'success')
|
||||||
this.fetchData()
|
this.fetchData()
|
||||||
} catch (e) {
|
|
||||||
this.$baseMessage('操作失败', 'error')
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
async handleMoveDown(row) {
|
async handleMoveDown(row) {
|
||||||
try {
|
|
||||||
const { msg } = await doMoveDown(row.id)
|
const { msg } = await doMoveDown(row.id)
|
||||||
if (msg) this.$baseMessage(msg, 'success')
|
this.$baseMessage(msg, 'success')
|
||||||
this.fetchData()
|
this.fetchData()
|
||||||
} catch (e) {
|
|
||||||
this.$baseMessage('操作失败', 'error')
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
isFirstEnabled(row) {
|
isFirstEnabled(row) {
|
||||||
if (!this.list || this.list.length === 0) return false
|
const enabledList = this.list.filter((item) => item.isEnabled)
|
||||||
const enabled = this.list.filter((item) => item.isEnabled)
|
return enabledList.length > 0 && enabledList[0].id === row.id
|
||||||
if (enabled.length === 0) return false
|
|
||||||
return enabled[0].id === row.id
|
|
||||||
},
|
},
|
||||||
isLastEnabled(row) {
|
isLastEnabled(row) {
|
||||||
if (!this.list || this.list.length === 0) return false
|
const enabledList = this.list.filter((item) => item.isEnabled)
|
||||||
const enabled = this.list.filter((item) => item.isEnabled)
|
return enabledList.length > 0 && enabledList[enabledList.length - 1].id === row.id
|
||||||
if (enabled.length === 0) return false
|
},
|
||||||
return enabled[enabled.length - 1].id === row.id
|
getThumbUrl,
|
||||||
|
async fetchSceneList() {
|
||||||
|
const { data } = await getAllScenes()
|
||||||
|
this.sceneList = data || []
|
||||||
|
},
|
||||||
|
getSceneName(scene) {
|
||||||
|
const found = this.sceneList.find((item) => item.scene === scene)
|
||||||
|
return found ? found.sceneName : scene
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user