自定义题库增加人工审核功能

This commit is contained in:
zhl 2021-07-09 14:52:26 +08:00
parent 8d3337f37c
commit 33b0e1f767
23 changed files with 99 additions and 48 deletions

View File

@ -1 +0,0 @@
[data-v-2f4afb68]:export{menuBg:#304156;menuText:#bfcbd9;menuActiveText:#409eff}.pagination-container[data-v-2f4afb68]{background:#fff;padding:32px 16px}.pagination-container.hidden[data-v-2f4afb68]{display:none}[data-v-543578d7]:export{menuBg:#304156;menuText:#bfcbd9;menuActiveText:#409eff}.el-tag[data-v-543578d7]{margin-right:5px}.action-bar[data-v-543578d7]{margin-bottom:15px}.excel-upload-input[data-v-543578d7]{display:none;z-index:-9999}.el-form-item[data-v-543578d7]{margin-bottom:22px}

1
dist/css/chunk-eefef43a.5b67724c.css vendored Normal file
View File

@ -0,0 +1 @@
[data-v-2f4afb68]:export{menuBg:#304156;menuText:#bfcbd9;menuActiveText:#409eff}.pagination-container[data-v-2f4afb68]{background:#fff;padding:32px 16px}.pagination-container.hidden[data-v-2f4afb68]{display:none}[data-v-3e3fed42]:export{menuBg:#304156;menuText:#bfcbd9;menuActiveText:#409eff}.el-tag[data-v-3e3fed42]{margin-right:5px}.action-bar[data-v-3e3fed42]{margin-bottom:15px}.excel-upload-input[data-v-3e3fed42]{display:none;z-index:-9999}.el-form-item[data-v-3e3fed42]{margin-bottom:22px}

2
dist/index.html vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
dist/js/chunk-6b4a5bf1.2e23e3ef.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

11
dist/js/chunk-e3e6e8fe.55781adb.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
dist/js/chunk-eefef43a.126242a3.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -8,7 +8,7 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([
"url": "/css/404.96fe1c26.css"
},
{
"revision": "bc2001263287e1f5365f",
"revision": "84e7c3bed966b3fc30f7",
"url": "/css/app.286de1f3.css"
},
{
@ -36,7 +36,7 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([
"url": "/css/chunk-144e8b05.200293c4.css"
},
{
"revision": "c1fa0e1f1610eb7748ae",
"revision": "e2497676a9ee524646de",
"url": "/css/chunk-151a93ee.03ae7354.css"
},
{
@ -96,7 +96,7 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([
"url": "/css/chunk-6a58c187.6520e346.css"
},
{
"revision": "d26e18775be9921fc89e",
"revision": "c8e1c16d26bee580a904",
"url": "/css/chunk-6b4a5bf1.1a2de8a5.css"
},
{
@ -107,10 +107,6 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([
"revision": "705ef7b5a627589c4b17",
"url": "/css/chunk-7ee58394.200293c4.css"
},
{
"revision": "6471edf443c70b38f586",
"url": "/css/chunk-cd008602.286b633f.css"
},
{
"revision": "250d2f003d999693e07e",
"url": "/css/chunk-d4ad27d8.af60e613.css"
@ -119,6 +115,10 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([
"revision": "bb3352d565ba82b3b98d",
"url": "/css/chunk-eccc87f4.200293c4.css"
},
{
"revision": "57e1617f89f10dfc92e3",
"url": "/css/chunk-eefef43a.5b67724c.css"
},
{
"revision": "319e84980e85a20d77a8",
"url": "/css/chunk-facc6e54.3c643e28.css"
@ -180,7 +180,7 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([
"url": "/img/404.a57b6f31.png"
},
{
"revision": "bda216de3a3429f51f0a45b8c43f1aa1",
"revision": "f867600656d36b7d94d835df827f545d",
"url": "/index.html"
},
{
@ -192,8 +192,8 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([
"url": "/js/404.b1bc2078.js"
},
{
"revision": "bc2001263287e1f5365f",
"url": "/js/app.98162ca8.js"
"revision": "84e7c3bed966b3fc30f7",
"url": "/js/app.3dd6e76e.js"
},
{
"revision": "4308fe0503e593d27da4",
@ -224,8 +224,8 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([
"url": "/js/chunk-144e8b05.539f7280.js"
},
{
"revision": "c1fa0e1f1610eb7748ae",
"url": "/js/chunk-151a93ee.c9e353a9.js"
"revision": "e2497676a9ee524646de",
"url": "/js/chunk-151a93ee.365ed109.js"
},
{
"revision": "5555cb1c7e66d6c84a44",
@ -284,8 +284,8 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([
"url": "/js/chunk-6a58c187.c9e4da80.js"
},
{
"revision": "d26e18775be9921fc89e",
"url": "/js/chunk-6b4a5bf1.b1a85584.js"
"revision": "c8e1c16d26bee580a904",
"url": "/js/chunk-6b4a5bf1.2e23e3ef.js"
},
{
"revision": "3bb850b4a7057e8d7464",
@ -303,22 +303,22 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([
"revision": "c9fdd0be1f6d28f0467d",
"url": "/js/chunk-83c684a0.49c7c576.js"
},
{
"revision": "6471edf443c70b38f586",
"url": "/js/chunk-cd008602.48da3f3a.js"
},
{
"revision": "250d2f003d999693e07e",
"url": "/js/chunk-d4ad27d8.80e78674.js"
},
{
"revision": "b0f793378050be6c3b82",
"url": "/js/chunk-e3e6e8fe.4fd32f55.js"
"revision": "598f1a31722ec19314b4",
"url": "/js/chunk-e3e6e8fe.55781adb.js"
},
{
"revision": "bb3352d565ba82b3b98d",
"url": "/js/chunk-eccc87f4.c30ff0d8.js"
},
{
"revision": "57e1617f89f10dfc92e3",
"url": "/js/chunk-eefef43a.126242a3.js"
},
{
"revision": "319e84980e85a20d77a8",
"url": "/js/chunk-facc6e54.964a7b46.js"

View File

@ -14,7 +14,7 @@
importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js");
importScripts(
"/precache-manifest.963ef33c59ccd033bb0eccaa795de8fd.js"
"/precache-manifest.79915f6f365027ff3d86b927e6c1e45d.js"
);
workbox.core.setCacheNameDetails({prefix: "pyxis-fe"});

View File

@ -34,6 +34,16 @@ export const importQuestions = (shop: string, data: any) =>
data
})
/**
* update shop puzzle review status
*/
export const updateQuestionStatus = (shop: string, data: any) =>
request({
url: `/api/${shop}/puzzle/review`,
method: 'post',
data
})
export const deleteShopQuestion = (shop: string, ids: string[]) =>
request({
url: `/api/${shop}/puzzle/delete`,

View File

@ -181,16 +181,26 @@
</el-table-column>
<el-table-column
align="center"
width="180"
width="320"
label="操作"
fixed="right"
>
<template slot-scope="scope">
<el-button
:type="scope.row.status === 1? 'success' : 'warning'"
size="small"
style="margin-left: 10px"
v-permission="['shoppuzzle:review']"
@click="reviewQuestion(scope)"
>
{{ reviewBtnName(scope.row.status) }}
</el-button>
<router-link :to="'/question/shoppuzzle/'+scope.row.shop+'/'+scope.row._id">
<el-button
type="primary"
size="small"
icon="el-icon-edit"
style="margin-left: 10px"
v-permission="['shoppuzzle:edit']"
>
编辑
@ -226,7 +236,13 @@ import { getShops } from '@/api/shop'
import { formatJson, parseTime } from '@/utils'
import { IQuestionData, formatQType } from '@/api/question'
import { UserModule } from '@/store/modules/user'
import { deleteShopQuestion, getShopCategory, getShopQuestions, importQuestions } from '@/api/shoppuzzle'
import {
deleteShopQuestion,
getShopCategory,
getShopQuestions,
importQuestions,
updateQuestionStatus
} from '@/api/shoppuzzle'
import { IShopData } from '@/api/types'
import { EVENT_SHOP_PUZZLES_UPDATE, EVENT_SHOP_UPDATE, EventBus } from '@/utils/event-bus'
import { exportJson2Excel } from '@/utils/excel'
@ -319,6 +335,15 @@ export default class extends Vue {
}
}
private reviewBtnName(val: number) {
switch (val) {
case 1:
return '取消审核'
default:
return '通过审核'
}
}
async created() {
if (UserModule.level === 1) {
await this.getRemoteDeptList()
@ -367,6 +392,22 @@ export default class extends Vue {
})
}
private async reviewQuestion(scope: any) {
const { $index, row } = scope
let status = 0
if (row.status === 1) {
status = -1
} else {
status = 1
}
const { data } = await updateQuestionStatus(this.listQuery.shop, { id: row._id, status })
this.list.splice($index, 1, data)
this.$message({
type: 'success',
message: '操作成功!'
})
}
private search() {
this.filterData()
}