2 Комити d89cf4f04f ... f4fb42d314

Аутор SHA1 Порука Датум
  1 f4fb42d314 Merge branch 'master' of http://gogs.imwork.top/Silos/imwork-plus пре 2 недеља
  1 b782e2a220 1.添加图书修改功能 пре 2 недеља

+ 153 - 0
imwork-windows/imwork-silos/src/main/resources/static/business/cms/book/info/js/update.js

@@ -1,8 +1,146 @@
 // 页面加载完成后初始化
 $(document).ready(function () {
+    initCategory();
     getBookInfo();
 });
+layui.use(['form', 'layer'], function () {
+    var form = layui.form
+    layer = parent.layer === undefined ? layui.layer : top.layer,
+        $ = layui.jquery;
+    form.on("submit(save)", function (data) {
+        //弹出loading
+        const index = top.layer.msg('数据提交中,请稍候', {icon: 16, time: false, shade: 0.8});
+        //实际使用时的提交信息
+        $.ajax( {
+            url : "/cms/book/info/save",
+            type : "POST",
+            dataType:"json",
+            contentType:'application/json;charset=UTF-8',
+            data:JSON.stringify({id:$("#id").val(),
+                isbn:$("#isbn").val(),
+                title:$("#title").val(),
+                subtitle: $("#subtitle").val(),
+                author: $("#author").val(),
+                otherAuthors: $("#otherAuthors").val(),
+                publisher: $("#publisher").val(),
+                publishDate: $("#publishDate").val(),
+                edition: $("#edition").val(),
+                categoryCode: $("#categoryCode").val(),
+                language: $("#language").val(),
+                coverImage: $("#coverImage").val(),
+                summary: $("#summary").val(),
+                toc: $("#toc").val(),
+                price: $("#price").val(),
+                pages: $("#pages").val(),
+                dimensions: $("#dimensions").val(),
+                binding: $("#binding").val(),
+                series: $("#series").val(),
+                source: $("#source").val(),
+                filePaths: $("#filePaths").val()
+            }),
+            success : function(res) {
+                console.log(res);
+                layer.close(index);
+                layer.msg(res.msg);
+                layer.closeAll("iframe");
+                //刷新父页面
+                parent.location.reload();
+            },
+            error:function(e){
+                layer.close(index);
+                layer.msg("信息提交异常!");
+                layer.closeAll("iframe");
+                //刷新父页面
+                parent.location.reload();
+            }
+        })
+        return false;
+    })
+})
+// 配置常量
+const CONFIG = {
+    table: {
+        elem: '#list',
+        url: '/cms/book/info/queryPage',
+        method: 'POST',
+        contentType: 'application/json;charset=utf-8',
+        page: true,
+        limits: [10, 15, 20, 25],
+        limit: 15,
+        id: "listTable",
+        request: {
+            pageName: "pageNo",
+            limitName: "pageRows"
+        },
+        response: {
+            statusName: 'code',
+            statusCode: 200,
+            msgName: 'msg',
+            countName: 'totalRows',
+            dataName: 'data'
+        }
+    },
+    grid: {
+        pageNo: 1,
+        pageRows: 100
+    }
+};
+//初始化分类
+function initCategory() {
+    var requestData = $.extend({}, CONFIG.grid);
+    $.ajax({
+        url: "/cms/book/categories/queryPage",
+        type: "POST",
+        dataType: "json",
+        contentType: 'application/json;charset=UTF-8',
+        data: JSON.stringify(requestData),
+        success: function (res) {
+            if (res.code === 200) {
+                setCategory(res.data.dataList);
+            } else {
+                showError("加载失败", res.msg);
+            }
+        },
+        error: function (xhr, status, error) {
+            console.error("请求失败:", error);
+            showError("请求失败", "网络错误或服务器异常");
+        }
+    });
+}
+
+function setCategory(categories){
+    if (!categories || categories.length === 0) {
+        return;
+    }
+    const staticData = [];
+    categories.forEach(category => {
+        staticData.push({value:category.categoryCode, text:category.categoryName}); // 使用id作为键,整个对象作为值
+    });
+    // 创建渲染器实例
+    var selectRenderer = new SelectRenderer({
+        placeholderText: '请选择',
+        valueField: 'id',
+        textField: 'name'
+    });
+    // 渲染单个select
+    selectRenderer.render('#categoryCode', staticData);
+}
+// 时间格式化
+function formatTime(timestamp) {
+    if (!timestamp) return '';
+
+    var date = new Date(timestamp);
+    if (isNaN(date.getTime())) return timestamp;
 
+    var year = date.getFullYear();
+    var month = (date.getMonth() + 1).toString().padStart(2, '0');
+    var day = date.getDate().toString().padStart(2, '0');
+    var hours = date.getHours().toString().padStart(2, '0');
+    var minutes = date.getMinutes().toString().padStart(2, '0');
+    var seconds = date.getSeconds().toString().padStart(2, '0');
+
+    return year + "-" + month + "-" + day + " " + hours + ":" + minutes + ":" + seconds;
+}
 /**
  * 读取图书信息
  */
@@ -20,6 +158,21 @@ function getBookInfo() {
                 $("#title").val(book.title);
                 $("#subtitle").val(book.subtitle);
                 $("#author").val(book.author);
+                $("#otherAuthors").val(book.otherAuthors);
+                $("#publisher").val(book.publisher);
+                $("#publishDate").text(formatTime(book.publishDate));
+                $("#edition").val(book.edition);
+                $("#categoryCode option[value='"+book.categoryCode+"']").prop('selected', true);
+                $("#language option[value='"+book.language+"']").prop('selected', true);
+                $("#price").val(book.price);
+                $("#dimensions").val(book.dimensions);
+                $("#pages").val(book.pages);
+                $("#binding").val(book.binding);
+                $("#series").val(book.series);
+                $("#source").val(book.source);
+                $("#summary").val(book.summary);
+                $("#toc").val(book.toc);
+
             }
         },
         error: function (xhr, status, error) {

+ 2 - 2
imwork-windows/imwork-silos/src/main/resources/templates/cms/book/info/edit.html

@@ -127,8 +127,8 @@
 
                 <div class="form-row">
                     <div class="form-group">
-                        <label for="format">开本/尺寸</label>
-                        <select id="format" name="format">
+                        <label for="dimensions">开本/尺寸</label>
+                        <select id="dimensions" name="dimensions">
                             <option value="">请选择开本</option>
                             <option value="16k">16开</option>
                             <option value="32k">32开</option>

+ 6 - 15
imwork-windows/imwork-silos/src/main/resources/templates/cms/book/info/update.html

@@ -76,15 +76,6 @@
                         <label for="categoryCode" class="required">图书分类</label>
                         <select id="categoryCode" name="categoryCode" required>
                             <option value="">请选择分类</option>
-                            <option value="literature">文学</option>
-                            <option value="science">科学技术</option>
-                            <option value="history">历史传记</option>
-                            <option value="economics">经济管理</option>
-                            <option value="education">教育学习</option>
-                            <option value="art">艺术设计</option>
-                            <option value="life">生活健康</option>
-                            <option value="children">儿童读物</option>
-                            <option value="other">其他</option>
                         </select>
                         <div class="error-message" id="categoryError">请选择图书分类</div>
                     </div>
@@ -120,8 +111,8 @@
 
                 <div class="form-row">
                     <div class="form-group">
-                        <label for="format">开本/尺寸</label>
-                        <select id="format" name="format">
+                        <label for="dimensions">开本/尺寸</label>
+                        <select id="dimensions" name="dimensions">
                             <option value="">请选择开本</option>
                             <option value="16k">16开</option>
                             <option value="32k">32开</option>
@@ -303,15 +294,15 @@
                 <h3 class="section-title">内容描述</h3>
                 <div class="form-row">
                     <div class="form-group full-width">
-                        <label for="description">内容简介/摘要</label>
-                        <textarea id="description" name="description" rows="4" placeholder="请输入图书内容简介或摘要"></textarea>
+                        <label for="summary">内容简介/摘要</label>
+                        <textarea id="summary" name="summary" rows="4" placeholder="请输入图书内容简介或摘要"></textarea>
                     </div>
                 </div>
 
                 <div class="form-row">
                     <div class="form-group full-width">
-                        <label for="tableOfContents">目录</label>
-                        <textarea id="tableOfContents" name="tableOfContents" rows="6" placeholder="请输入图书目录,每章一行"></textarea>
+                        <label for="toc">目录</label>
+                        <textarea id="toc" name="toc" rows="6" placeholder="请输入图书目录,每章一行"></textarea>
                     </div>
                 </div>
             </div>