From 51bca63ec651549898a45bd53f646e3b53779e28 Mon Sep 17 00:00:00 2001 From: lanyuanxiaoyao Date: Fri, 29 Nov 2024 10:28:28 +0800 Subject: [PATCH] =?UTF-8?q?feat(web):=20=E5=A2=9E=E5=8A=A0=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E8=B5=84=E6=BA=90=E7=A1=AE=E6=9D=83=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gringotts-frontend/components/constants.js | 16 +++++++++++ gringotts-frontend/pages/index/main.js | 2 +- gringotts-frontend/pages/index/tab-data.js | 27 ++++++++++++++++--- .../confirmation/entity/Confirmation.java | 4 +++ .../controller/DataResourceController.java | 5 ++++ 5 files changed, 49 insertions(+), 5 deletions(-) diff --git a/gringotts-frontend/components/constants.js b/gringotts-frontend/components/constants.js index 96aa4bc..a09116b 100644 --- a/gringotts-frontend/components/constants.js +++ b/gringotts-frontend/components/constants.js @@ -175,6 +175,7 @@ export const userStateMapping = [ ] export const confirmationStateMapping = [ + mappingItem('未确权', 'NONE'), mappingItem('草稿', 'DRAFT', 'bg-primary'), mappingItem('审查中', 'CHECKING', 'bg-warning'), mappingItem('通过', 'NORMAL', 'bg-success'), @@ -199,6 +200,21 @@ export function apiPost(url) { return api('post', url) } +export function arrayInCheck(array, field) { + return `\${ARRAYINCLUDES(['${array.join("','")}'], ${field})}` +} + +export function arrayOutCheck(array, field) { + return `\${!ARRAYINCLUDES(['${array.join("','")}'], ${field})}` +} + +export const confirmationState = { + none: 'NONE', + draft: 'DRAFT', + checking: 'CHECKING', + normal: 'NORMAL', +} + export function roleCheck(roles) { return `\${ARRAYINCLUDES(['${roles.join("','")}'], role)}` } diff --git a/gringotts-frontend/pages/index/main.js b/gringotts-frontend/pages/index/main.js index 54c098f..e0dddb2 100644 --- a/gringotts-frontend/pages/index/main.js +++ b/gringotts-frontend/pages/index/main.js @@ -59,8 +59,8 @@ useAmis(information => { tabs: [ // tabOverview(), // tabMarket(), - tabCheck(), tabData(), + tabCheck(), tabPermissions(), tabUser(), tabSettings(), diff --git a/gringotts-frontend/pages/index/tab-data.js b/gringotts-frontend/pages/index/tab-data.js index 7a2ca23..beffd42 100644 --- a/gringotts-frontend/pages/index/tab-data.js +++ b/gringotts-frontend/pages/index/tab-data.js @@ -3,7 +3,16 @@ import { resourceDetailDialog, resourceEditeDialog } from "../../components/resource/dialog-resource.js"; -import {apiGet, crudCommonOptions, userOnly} from "../../components/constants.js"; +import { + apiGet, + arrayInCheck, + arrayOutCheck, + confirmationState, + confirmationStateMapping, + crudCommonOptions, + mappingField, + userOnly +} from "../../components/constants.js"; export function resourceList() { return { @@ -23,12 +32,18 @@ export function resourceList() { { label: '名称', name: 'name', - width: 200, + width: 150, }, { label: '描述', name: 'description', }, + { + label: '确权状态', + width: 80, + align: 'center', + ...mappingField('confirmationState', confirmationStateMapping) + }, { label: '创建时间', width: 150, @@ -57,14 +72,18 @@ export function resourceList() { trigger: 'hover', buttons: [ { - disabledOn: '${confirmationId}', + disabledOn: arrayOutCheck([confirmationState.none, confirmationState.draft], 'confirmationState'), + disabledTip: '审查或确权成功后无法编辑', + tooltipPlacement: 'top', type: 'action', label: '编辑', level: 'link', ...resourceEditeDialog(), }, { - disabledOn: '${confirmationId}', + disabledOn: arrayInCheck([confirmationState.checking], 'confirmationState'), + disabledTip: '审查中无法删除', + tooltipPlacement: 'bottom', type: 'action', label: "删除", confirmTitle: '确认删除', diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/confirmation/entity/Confirmation.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/confirmation/entity/Confirmation.java index 7ddc438..c793d43 100644 --- a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/confirmation/entity/Confirmation.java +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/confirmation/entity/Confirmation.java @@ -64,6 +64,10 @@ public class Confirmation extends SimpleEntity { private State state = State.DRAFT; public enum State { + /** + * 无确权 + */ + NONE, /** * 草稿 */ diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/controller/DataResourceController.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/controller/DataResourceController.java index 83dfdca..69e09dd 100644 --- a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/controller/DataResourceController.java +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/controller/DataResourceController.java @@ -6,6 +6,7 @@ import com.eshore.gringotts.web.domain.base.controller.SimpleControllerSupport; import com.eshore.gringotts.web.domain.base.entity.FileInfo; import com.eshore.gringotts.web.domain.base.entity.SimpleListItem; import com.eshore.gringotts.web.domain.base.entity.SimpleSaveItem; +import com.eshore.gringotts.web.domain.confirmation.entity.Confirmation; import com.eshore.gringotts.web.domain.resource.entity.DataResource; import com.eshore.gringotts.web.domain.resource.entity.format.CsvResourceFormat; import com.eshore.gringotts.web.domain.resource.entity.format.JsonLineResourceFormat; @@ -78,6 +79,9 @@ public class DataResourceController extends SimpleControllerSupport