mirror of
https://gitee.com/bookshelfplus/bookshelfplus
synced 2025-09-21 01:10:39 +08:00
277 lines
9.8 KiB
HTML
277 lines
9.8 KiB
HTML
<!-- 生成分类结构 -->
|
|
<script src="/assets/javascripts/generateCategoryHierarchy.js"></script>
|
|
<script>
|
|
async function getControlsProfile() {
|
|
// 获取分类列表
|
|
var categoryOptions = [];
|
|
|
|
var responseData = await getRequest("/category/list");
|
|
var axiosData = responseData.data;
|
|
var status = axiosData.status;
|
|
var data = axiosData.data;
|
|
if (status === "success") {
|
|
// console.log(data)
|
|
hierarchyData = generateCategoryHierarchy(data);
|
|
console.log(hierarchyData);
|
|
function render(category) {
|
|
categoryOptions.push({
|
|
"tag": "option",
|
|
"attr": { "value": category.id },
|
|
"innerHTML": `${" ".repeat((category.level - 1) * 8)}${category.name}`,
|
|
})
|
|
for (let i = 0; i < category.children.length; i++)
|
|
render(category.children[i]);
|
|
}
|
|
render({ children: hierarchyData });
|
|
categoryOptions.shift(); // 删除数组中的第一个元素
|
|
} else {
|
|
alert(`出错啦!${data.errMsg} (错误码: ${data.errCode}) `);
|
|
}
|
|
|
|
console.log(categoryOptions);
|
|
return [
|
|
// 【模板】
|
|
// {
|
|
// // 必填
|
|
// "tag": "input",
|
|
// "attr": {
|
|
// // 可选
|
|
// "id": "",
|
|
// "name": "", // 用于 POST 提交
|
|
// "class": "",
|
|
// "style": "",
|
|
// "placeholder": "电子书的名称",
|
|
// },
|
|
// "label": {
|
|
// "value": "书本名称",
|
|
// },
|
|
// "required": true, // 是否必填
|
|
|
|
// // 可选
|
|
// "innerHTML": "",
|
|
// "children": [
|
|
// {
|
|
// "tag": "option",
|
|
// "attr": { "value": "1" },
|
|
// "innerHTML": "选项1",
|
|
// },
|
|
// {
|
|
// "tag": "option",
|
|
// "attr": { "value": "2" },
|
|
// "innerHTML": "选项2",
|
|
// },
|
|
// ],
|
|
// "validate": function (value) {
|
|
// var validate = validateUtils.setValue(value)
|
|
// .validate.notNull(value, "书本名称不能为空,请输入书本名称")
|
|
// .validate.notNull(value, "书本名称不能超过 50 个字符")
|
|
// .validate.notNull(value, "书本名称不能包含特殊字符")
|
|
// .result();
|
|
// console.log(validate);
|
|
|
|
// if (validateUtils.isEmpty(value)) {
|
|
// result = false;
|
|
// msg = "不能为空";
|
|
// }
|
|
// return { result: result, msg: msg };
|
|
// }
|
|
// },
|
|
{
|
|
"tag": "input",
|
|
"attr": {
|
|
"name": "",
|
|
"class": "",
|
|
"style": "",
|
|
"placeholder": "电子书的名称",
|
|
},
|
|
"label": {
|
|
"value": "书本名称",
|
|
},
|
|
"required": true, // 是否必填
|
|
"innerHTML": "",
|
|
"validate": function (value) {
|
|
|
|
var validate = validateUtils.setValue(value)
|
|
.validate.notNull(value, "书本名称不能为空,请输入书本名称")
|
|
.validate.notNull(value, "书本名称不能超过 50 个字符")
|
|
.validate.notNull(value, "书本名称不能包含特殊字符")
|
|
.result();
|
|
console.log(validate);
|
|
|
|
if (validateUtils.isEmpty(value)) {
|
|
result = false;
|
|
msg = "不能为空";
|
|
}
|
|
return { result: result, msg: msg };
|
|
}
|
|
},
|
|
{
|
|
"tag": "input",
|
|
"attr": {
|
|
"name": "",
|
|
"class": "",
|
|
"style": "",
|
|
"placeholder": "电子书的作者",
|
|
},
|
|
"label": {
|
|
"value": "作者姓名",
|
|
},
|
|
"required": true, // 是否必填
|
|
"innerHTML": "",
|
|
"validate": function (value) {
|
|
var result = true, msg = "";
|
|
if (validateUtils.isEmpty(value)) {
|
|
result = false;
|
|
msg = "不能为空";
|
|
}
|
|
return { result: result, msg: msg };
|
|
}
|
|
},
|
|
{
|
|
"tag": "textarea",
|
|
"attr": {
|
|
"id": "",
|
|
"name": "",
|
|
"class": "",
|
|
"style": "height:100px;",
|
|
"placeholder": "电子书的简介",
|
|
},
|
|
"label": {
|
|
"value": "书籍简介",
|
|
},
|
|
"required": false, // 是否必填
|
|
"innerHTML": "",
|
|
"validate": function (value) {
|
|
var result = true, msg = "";
|
|
if (validateUtils.isEmpty(value)) {
|
|
result = false;
|
|
msg = "不能为空";
|
|
}
|
|
return { result: result, msg: msg };
|
|
}
|
|
},
|
|
{
|
|
"tag": "select",
|
|
"attr": {
|
|
"id": "",
|
|
"name": "",
|
|
"class": "",
|
|
"style": "",
|
|
"placeholder": "书籍语言",
|
|
},
|
|
"label": {
|
|
"value": "语言",
|
|
},
|
|
"required": true, // 是否必填
|
|
"children": [
|
|
{
|
|
"tag": "option",
|
|
"attr": { "value": "Chinese" },
|
|
"innerHTML": "中文",
|
|
},
|
|
{
|
|
"tag": "option",
|
|
"attr": { "value": "English" },
|
|
"innerHTML": "英文",
|
|
},
|
|
{
|
|
"tag": "option",
|
|
"attr": { "value": "" },
|
|
"innerHTML": "其他",
|
|
},
|
|
],
|
|
"innerHTML": "",
|
|
"validate": function (value) {
|
|
var result = true, msg = "";
|
|
if (validateUtils.isEmpty(value)) {
|
|
result = false;
|
|
msg = "不能为空";
|
|
}
|
|
return { result: result, msg: msg };
|
|
}
|
|
},
|
|
{
|
|
"tag": "input",
|
|
"attr": {
|
|
"name": "",
|
|
"class": "",
|
|
"style": "",
|
|
"placeholder": "出版社",
|
|
},
|
|
"label": {
|
|
"value": "出版社",
|
|
},
|
|
"required": true, // 是否必填
|
|
"innerHTML": "",
|
|
"validate": function (value) {
|
|
var result = true, msg = "";
|
|
if (validateUtils.isEmpty(value)) {
|
|
result = false;
|
|
msg = "不能为空";
|
|
}
|
|
return { result: result, msg: msg };
|
|
}
|
|
},
|
|
{
|
|
"tag": "input",
|
|
"attr": {
|
|
"name": "",
|
|
"class": "",
|
|
"style": "",
|
|
"placeholder": "",
|
|
},
|
|
"label": {
|
|
"value": "来源(版权)",
|
|
},
|
|
"required": false, // 是否必填
|
|
"innerHTML": "",
|
|
"validate": function (value) {
|
|
var result = true, msg = "";
|
|
if (validateUtils.isEmpty(value)) {
|
|
result = false;
|
|
msg = "不能为空";
|
|
}
|
|
return { result: result, msg: msg };
|
|
}
|
|
},
|
|
{
|
|
"tag": "select",
|
|
"attr": {
|
|
"name": "",
|
|
"class": "",
|
|
"style": "",
|
|
},
|
|
"label": {
|
|
"value": "书籍分类",
|
|
},
|
|
"required": true, // 是否必填
|
|
"children": categoryOptions,
|
|
// [
|
|
// {
|
|
// "tag": "option",
|
|
// "attr": { "value": "1" },
|
|
// "innerHTML": "选项1",
|
|
// },
|
|
// {
|
|
// "tag": "option",
|
|
// "attr": { "value": "2" },
|
|
// "innerHTML": "选项2",
|
|
// },
|
|
// ],
|
|
|
|
"validate": function (value) {
|
|
var result = true, msg = "";
|
|
if (validateUtils.isEmpty(value)) {
|
|
result = false;
|
|
msg = "不能为空";
|
|
}
|
|
return { result: result, msg: msg };
|
|
}
|
|
},
|
|
];
|
|
}
|
|
|
|
function getSubmitButtonValue() {
|
|
return "提交";
|
|
}
|
|
</script> |