perf(suite): 商业版用户已购套餐支持修改

This commit is contained in:
xiaojunnuo
2026-05-17 00:29:36 +08:00
parent 667e7b185b
commit bdb3d09c09
5 changed files with 70 additions and 14 deletions
@@ -40,6 +40,9 @@ export default {
basicInfo: "Basic Information", basicInfo: "Basic Information",
disabled: "Disabled", disabled: "Disabled",
enabled: "Enabled", enabled: "Enabled",
enabledLabel: "Enabled",
normal: "Normal",
used_up: "Used up",
default: "Default", default: "Default",
success: "Success", success: "Success",
test: "Test", test: "Test",
@@ -33,6 +33,7 @@ export default {
pipeline_count: "Pipeline Count", pipeline_count: "Pipeline Count",
unit_item: "items", unit_item: "items",
deploy_count: "Deploy Count", deploy_count: "Deploy Count",
deploy_count_used: "Used Deploy Count",
unit_times: "times", unit_times: "times",
monitor_count: "Certificate Monitor Count", monitor_count: "Certificate Monitor Count",
duration: "Duration", duration: "Duration",
@@ -44,6 +44,9 @@ export default {
basicInfo: "基础信息", basicInfo: "基础信息",
disabled: "禁用", disabled: "禁用",
enabled: "启用", enabled: "启用",
enabledLabel: "启用",
normal: "正常",
used_up: "已用完",
default: "默认", default: "默认",
success: "成功", success: "成功",
test: "测试", test: "测试",
@@ -33,6 +33,7 @@ export default {
pipeline_count: "流水线数量", pipeline_count: "流水线数量",
unit_item: "条", unit_item: "条",
deploy_count: "部署次数", deploy_count: "部署次数",
deploy_count_used: "已用部署次数",
unit_times: "次", unit_times: "次",
monitor_count: "证书监控数量", monitor_count: "证书监控数量",
duration: "时长", duration: "时长",
@@ -1,6 +1,5 @@
import { AddReq, compute, CreateCrudOptionsProps, CreateCrudOptionsRet, DelReq, dict, EditReq, UserPageQuery, UserPageRes } from "@fast-crud/fast-crud"; import { AddReq, compute, CreateCrudOptionsProps, CreateCrudOptionsRet, DelReq, dict, EditReq, UserPageQuery, UserPageRes } from "@fast-crud/fast-crud";
import { sysUserSuiteApi } from "./api"; import { sysUserSuiteApi } from "./api";
import { useRouter } from "vue-router";
import SuiteValueEdit from "/@/views/sys/suite/product/suite-value-edit.vue"; import SuiteValueEdit from "/@/views/sys/suite/product/suite-value-edit.vue";
import SuiteValue from "/@/views/sys/suite/product/suite-value.vue"; import SuiteValue from "/@/views/sys/suite/product/suite-value.vue";
import DurationValue from "/@/views/sys/suite/product/duration-value.vue"; import DurationValue from "/@/views/sys/suite/product/duration-value.vue";
@@ -33,8 +32,6 @@ export default function ({ crudExpose, context }: CreateCrudOptionsProps): Creat
return res; return res;
}; };
const router = useRouter();
return { return {
crudOptions: { crudOptions: {
request: { request: {
@@ -71,7 +68,7 @@ export default function ({ crudExpose, context }: CreateCrudOptionsProps): Creat
buttons: { buttons: {
view: { show: true }, view: { show: true },
copy: { show: false }, copy: { show: false },
edit: { show: false }, edit: { show: true },
remove: { show: true }, remove: { show: true },
// continue:{ // continue:{
// text:"续期", // text:"续期",
@@ -107,7 +104,7 @@ export default function ({ crudExpose, context }: CreateCrudOptionsProps): Creat
show: true, show: true,
}, },
form: { form: {
show: false, rules: [{ required: true, message: t("certd.field_required") }],
}, },
column: { column: {
width: 200, width: 200,
@@ -127,7 +124,9 @@ export default function ({ crudExpose, context }: CreateCrudOptionsProps): Creat
label: "nickName", label: "nickName",
}), }),
form: { form: {
show: true,
component: { component: {
disabled: true,
crossPage: true, crossPage: true,
multiple: false, multiple: false,
select: { select: {
@@ -183,7 +182,10 @@ export default function ({ crudExpose, context }: CreateCrudOptionsProps): Creat
], ],
}), }),
form: { form: {
show: false, show: true,
component: {
disabled: true,
},
}, },
column: { column: {
width: 80, width: 80,
@@ -204,7 +206,6 @@ export default function ({ crudExpose, context }: CreateCrudOptionsProps): Creat
title: t("certd.domain_count"), title: t("certd.domain_count"),
type: "text", type: "text",
form: { form: {
show: false,
key: ["content", "maxDomainCount"], key: ["content", "maxDomainCount"],
component: { component: {
name: SuiteValueEdit, name: SuiteValueEdit,
@@ -227,7 +228,6 @@ export default function ({ crudExpose, context }: CreateCrudOptionsProps): Creat
title: t("certd.wildcardDomainCountPart"), title: t("certd.wildcardDomainCountPart"),
type: "text", type: "text",
form: { form: {
show: false,
key: ["content", "maxWildcardDomainCount"], key: ["content", "maxWildcardDomainCount"],
component: { component: {
name: SuiteValueEdit, name: SuiteValueEdit,
@@ -250,7 +250,6 @@ export default function ({ crudExpose, context }: CreateCrudOptionsProps): Creat
title: t("certd.pipeline_count"), title: t("certd.pipeline_count"),
type: "text", type: "text",
form: { form: {
show: false,
key: ["content", "maxPipelineCount"], key: ["content", "maxPipelineCount"],
component: { component: {
name: SuiteValueEdit, name: SuiteValueEdit,
@@ -273,7 +272,6 @@ export default function ({ crudExpose, context }: CreateCrudOptionsProps): Creat
title: t("certd.deploy_count"), title: t("certd.deploy_count"),
type: "text", type: "text",
form: { form: {
show: false,
key: ["content", "maxDeployCount"], key: ["content", "maxDeployCount"],
component: { component: {
name: SuiteValueEdit, name: SuiteValueEdit,
@@ -299,7 +297,6 @@ export default function ({ crudExpose, context }: CreateCrudOptionsProps): Creat
title: t("certd.monitor_count"), title: t("certd.monitor_count"),
type: "text", type: "text",
form: { form: {
show: false,
key: ["content", "maxMonitorCount"], key: ["content", "maxMonitorCount"],
component: { component: {
name: SuiteValueEdit, name: SuiteValueEdit,
@@ -321,7 +318,9 @@ export default function ({ crudExpose, context }: CreateCrudOptionsProps): Creat
duration: { duration: {
title: t("certd.duration"), title: t("certd.duration"),
type: "text", type: "text",
form: { show: false }, form: {
rules: [{ required: true, message: t("certd.field_required") }],
},
column: { column: {
component: { component: {
name: DurationValue, name: DurationValue,
@@ -365,7 +364,13 @@ export default function ({ crudExpose, context }: CreateCrudOptionsProps): Creat
title: t("certd.expires_time"), title: t("certd.expires_time"),
type: "date", type: "date",
form: { form: {
show: false, valueBuilder: ({ value }) => {
return dayjs(value);
},
valueResolve: ({ value }) => {
//今天的最后一秒
return dayjs(value).endOf("day").valueOf();
},
}, },
column: { column: {
width: 150, width: 150,
@@ -390,13 +395,56 @@ export default function ({ crudExpose, context }: CreateCrudOptionsProps): Creat
}), }),
form: { form: {
value: true, value: true,
show: false,
}, },
column: { column: {
width: 100, width: 100,
align: "center", align: "center",
}, },
}, },
deployCountUsed: {
title: t("certd.deploy_count_used"),
type: "number",
form: {
value: 0,
rules: [{ required: true, message: t("certd.field_required") }],
},
column: {
show: false,
},
},
disabled: {
title: t("certd.disabled"),
type: "dict-switch",
dict: dict({
data: [
{ label: t("certd.enabledLabel"), value: false, color: "success" },
{ label: t("certd.disabledLabel"), value: true, color: "error" },
],
}),
form: {
value: false,
},
column: {
width: 100,
align: "center",
},
},
isEmpty: {
title: t("certd.status"),
type: "dict-switch",
dict: dict({
data: [
{ label: t("certd.normal"), value: false, color: "success" },
{ label: t("certd.used_up"), value: true, color: "gray" },
],
}),
form: {
value: false,
},
column: {
show: false,
},
},
createTime: { createTime: {
title: t("certd.createTime"), title: t("certd.createTime"),
type: "datetime", type: "datetime",