LIJIAN před 1 měsícem
rodič
revize
5b7603a109

+ 4 - 4
ema-admin/src/main/resources/web/pages/assets/asset_status_history_form.html

@@ -82,16 +82,16 @@
             <div class="section-title"><i class="layui-icon layui-icon-date"></i> 时间信息</div>
 
             <div class="layui-form-item">
-                <label class="layui-form-label">生效开始</label>
+                <label class="layui-form-label"><span class="required">*</span>生效开始</label>
                 <div class="layui-input-inline">
-                    <input type="text" name="startDate" id="startDate" placeholder="yyyy-MM-dd" class="layui-input" style="width: 300px;">
+                    <input type="text" name="startDate" id="startDate" lay-verify="required"  placeholder="yyyy-MM-dd" class="layui-input" style="width: 300px;">
                 </div>
             </div>
 
             <div class="layui-form-item">
-                <label class="layui-form-label">生效结束</label>
+                <label class="layui-form-label"><span class="required">*</span>生效结束</label>
                 <div class="layui-input-inline">
-                    <input type="text" name="endDate" id="endDate" placeholder="yyyy-MM-dd" class="layui-input" style="width: 300px;">
+                    <input type="text" name="endDate" id="endDate" lay-verify="required" placeholder="yyyy-MM-dd" class="layui-input" style="width: 300px;">
                 </div>
             </div>
         </div>

+ 12 - 19
ema-admin/src/main/resources/web/pages/assets/assets_form.html

@@ -12,8 +12,6 @@
         .form-section {
             background: #fff;
             border-radius: 4px;
-            padding: 20px;
-            margin-bottom: 15px;
         }
         .section-title {
             font-size: 14px;
@@ -38,7 +36,7 @@
             <div class="section-title"><i class="layui-icon layui-icon-user"></i> 基本信息</div>
 
             <div class="layui-form-item">
-                <label class="layui-form-label"><span class="required">*</span>资产管理部门</label>
+                <label class="layui-form-label"><span class="required">*</span>管理部门</label>
                 <div class="layui-input-inline">
                     <input type="text" name="deptName" lay-verify="required" placeholder="请输入资产管理部门" class="layui-input" style="width: 300px;">
                 </div>
@@ -54,25 +52,20 @@
             <div class="layui-form-item">
                 <label class="layui-form-label"><span class="required">*</span>资产类型</label>
                 <div class="layui-input-inline">
-                    <input type="text" name="assetType" lay-verify="required" placeholder="请输入资产类型" class="layui-input" style="width: 200px;">
+                    <input type="text" name="assetType" lay-verify="required" placeholder="请输入资产类型" class="layui-input" style="width: 300px;">
                 </div>
             </div>
-        </div>
-
-        <div class="form-section">
-            <div class="section-title"><i class="layui-icon layui-icon-set"></i> 规格信息</div>
-
             <div class="layui-form-item">
                 <label class="layui-form-label">品牌</label>
                 <div class="layui-input-inline">
-                    <input type="text" name="brand" placeholder="请输入品牌" class="layui-input" style="width: 200px;">
+                    <input type="text" name="brand" placeholder="请输入品牌" class="layui-input" style="width: 300px;">
                 </div>
             </div>
 
             <div class="layui-form-item">
                 <label class="layui-form-label">型号</label>
                 <div class="layui-input-inline">
-                    <input type="text" name="model" placeholder="请输入型号" class="layui-input" style="width: 200px;">
+                    <input type="text" name="model" placeholder="请输入型号" class="layui-input" style="width: 300px;">
                 </div>
             </div>
         </div>
@@ -83,14 +76,14 @@
             <div class="layui-form-item">
                 <label class="layui-form-label">购买日期</label>
                 <div class="layui-input-inline">
-                    <input type="text" name="purchaseDate" id="purchaseDate" placeholder="请选择购买日期" class="layui-input" style="width: 200px;">
+                    <input type="text" name="purchaseDate" id="purchaseDate" placeholder="请选择购买日期" class="layui-input" style="width: 300px;">
                 </div>
             </div>
 
             <div class="layui-form-item">
                 <label class="layui-form-label">采购价值</label>
                 <div class="layui-input-inline">
-                    <input type="number" name="purchaseValue" placeholder="请输入采购价值" class="layui-input" style="width: 200px;">
+                    <input type="number" name="purchaseValue" placeholder="请输入采购价值" class="layui-input" style="width: 300px;">
                 </div>
             </div>
         </div>
@@ -101,7 +94,7 @@
             <div class="layui-form-item">
                 <label class="layui-form-label">盘点状态</label>
                 <div class="layui-input-inline">
-                    <select name="invstkStatus" class="layui-select" style="width: 200px;">
+                    <select name="invstkStatus" class="layui-select" style="width: 300px;">
                         <option value="0">未盘点</option>
                         <option value="1">已盘点</option>
                     </select>
@@ -111,7 +104,7 @@
             <div class="layui-form-item">
                 <label class="layui-form-label">最后盘点时间</label>
                 <div class="layui-input-inline">
-                    <input type="text" name="lastInvstkTime" id="lastInvstkTime" placeholder="请选择最后盘点时间" class="layui-input" style="width: 200px;">
+                    <input type="text" name="lastInvstkTime" id="lastInvstkTime" placeholder="请选择最后盘点时间" class="layui-input" style="width: 300px;">
                 </div>
             </div>
         </div>
@@ -133,28 +126,28 @@
             <div class="layui-form-item">
                 <label class="layui-form-label">扩展字段1</label>
                 <div class="layui-input-inline">
-                    <input type="text" name="attribute1" placeholder="请输入扩展字段1" class="layui-input" style="width: 200px;">
+                    <input type="text" name="attribute1" placeholder="请输入扩展字段1" class="layui-input" style="width: 300px;">
                 </div>
             </div>
 
             <div class="layui-form-item">
                 <label class="layui-form-label">扩展字段2</label>
                 <div class="layui-input-inline">
-                    <input type="text" name="attribute2" placeholder="请输入扩展字段2" class="layui-input" style="width: 200px;">
+                    <input type="text" name="attribute2" placeholder="请输入扩展字段2" class="layui-input" style="width: 300px;">
                 </div>
             </div>
 
             <div class="layui-form-item">
                 <label class="layui-form-label">扩展字段3</label>
                 <div class="layui-input-inline">
-                    <input type="text" name="attribute3" placeholder="请输入扩展字段3" class="layui-input" style="width: 200px;">
+                    <input type="text" name="attribute3" placeholder="请输入扩展字段3" class="layui-input" style="width: 300px;">
                 </div>
             </div>
 
             <div class="layui-form-item">
                 <label class="layui-form-label">扩展字段4</label>
                 <div class="layui-input-inline">
-                    <input type="text" name="attribute4" placeholder="请输入扩展字段4" class="layui-input" style="width: 200px;">
+                    <input type="text" name="attribute4" placeholder="请输入扩展字段4" class="layui-input" style="width: 300px;">
                 </div>
             </div>
         </div>

+ 138 - 68
ema-admin/src/main/resources/web/pages/assets/assets_list.html

@@ -165,9 +165,14 @@
             margin: 0 10px 10px 10px;
             border-radius: 4px;
             padding: 12px 15px;
+        }
+        .type-detail-card .detail-row {
             display: flex;
-            align-items: flex-start;
             gap: 20px;
+            margin-bottom: 10px;
+        }
+        .type-detail-card .detail-row:last-child {
+            margin-bottom: 0;
         }
         .type-detail-card .detail-group {
             flex: 1;
@@ -183,7 +188,6 @@
             white-space: nowrap;
             overflow: hidden;
             text-overflow: ellipsis;
-            cursor: pointer;
         }
         .layui-table-view {
             margin: 0;
@@ -218,77 +222,124 @@
 
         <!-- 右侧:资产状态历史 -->
         <div class="dict-right">
-            <!-- 资产详情卡片 -->
-            <div class="type-info-card" id="assetInfoCard" style="display:none;">
-                <div class="type-info">
-                    <div class="type-name" id="assetInfoName">-</div>
-                    <div class="type-code" id="assetInfoCode">-</div>
-                </div>
-                <div class="type-actions">
-                    <button class="layui-btn layui-btn-xs" id="btnEditAsset"><i class="layui-icon layui-icon-edit"></i></button>
-                    <button class="layui-btn layui-btn-xs layui-btn-danger" id="btnDelAsset"><i class="layui-icon layui-icon-delete"></i></button>
+            <div class="type-info-card-container">
+                <!-- 资产详情卡片 -->
+                <div class="type-info-card" id="assetInfoCard" style="display:none;">
+                    <div class="type-info">
+                        <div class="type-name" id="assetInfoCode">-</div>
+                        <div class="type-code" id="assetInfoType">-</div>
+                    </div>
+                    <div class="type-actions">
+                        <button class="layui-btn layui-btn-xs" id="btnEditAsset"><i class="layui-icon layui-icon-edit"></i></button>
+                        <button class="layui-btn layui-btn-xs layui-btn-danger" id="btnDelAsset"><i class="layui-icon layui-icon-delete"></i></button>
+                    </div>
                 </div>
-            </div>
             <div class="type-detail-card" id="assetDetailCard" style="display:none;">
-                <div class="detail-group">
-                    <div class="detail-label">资产类型</div>
-                    <div class="detail-value" id="assetDetailType">-</div>
+                <div class="detail-row">
+                    <div class="detail-group">
+                        <div class="detail-label">品牌</div>
+                        <div class="detail-value" id="assetDetailBrand">-</div>
+                    </div>
+                    <div class="detail-group">
+                        <div class="detail-label">型号</div>
+                        <div class="detail-value" id="assetDetailModel">-</div>
+                    </div>
+                    <div class="detail-group">
+                        <div class="detail-label">管理部门</div>
+                        <div class="detail-value" id="assetDetailDept">-</div>
+                    </div>
                 </div>
-                <div class="detail-group">
-                    <div class="detail-label">品牌/型号</div>
-                    <div class="detail-value" id="assetDetailBrand">-</div>
+                <div class="detail-row">
+                    <div class="detail-group">
+                        <div class="detail-label">采购日期</div>
+                        <div class="detail-value" id="assetDetailPurchaseDate">-</div>
+                    </div>
+                    <div class="detail-group">
+                        <div class="detail-label">采购价值</div>
+                        <div class="detail-value" id="assetDetailPurchaseValue">-</div>
+                    </div>
+                    <div class="detail-group">
+                        <div class="detail-label">盘点状态</div>
+                        <div class="detail-value" id="assetDetailStatus">-</div>
+                    </div>
                 </div>
-                <div class="detail-group">
-                    <div class="detail-label">采购价值</div>
-                    <div class="detail-value" id="assetDetailValue">-</div>
+                <div class="detail-row">
+                    <div class="detail-group">
+                        <div class="detail-label">最后盘点时间</div>
+                        <div class="detail-value" id="assetDetailLastInvstkTime">-</div>
+                    </div>
+                    <div class="detail-group">
+                        <div class="detail-label">备注</div>
+                        <div class="detail-value" id="assetDetailRemark">-</div>
+                    </div>
+                    <div class="detail-group"></div>
+                </div>
+                <div class="detail-row" id="extFieldRow" style="display:none;">
+                    <div class="detail-group">
+                        <div class="detail-label">扩展字段1</div>
+                        <div class="detail-value" id="assetDetailAttr1">-</div>
+                    </div>
+                    <div class="detail-group">
+                        <div class="detail-label">扩展字段2</div>
+                        <div class="detail-value" id="assetDetailAttr2">-</div>
+                    </div>
+                    <div class="detail-group"></div>
                 </div>
-                <div class="detail-group">
-                    <div class="detail-label">盘点状态</div>
-                    <div class="detail-value" id="assetDetailStatus">-</div>
+                <div class="detail-row" id="extFieldRow2" style="display:none;">
+                    <div class="detail-group">
+                        <div class="detail-label">扩展字段3</div>
+                        <div class="detail-value" id="assetDetailAttr3">-</div>
+                    </div>
+                    <div class="detail-group">
+                        <div class="detail-label">扩展字段4</div>
+                        <div class="detail-value" id="assetDetailAttr4">-</div>
+                    </div>
+                    <div class="detail-group"></div>
                 </div>
             </div>
 
-            <div class="panel-header">
-                <span class="title"><i class="layui-icon layui-icon-time"></i> <span id="historyTitle">状态历史</span></span>
-            </div>
-            <div class="search-form">
-                <form class="layui-form layui-form-pane" lay-filter="historySearchForm">
-                    <div class="layui-form-item" style="margin-bottom: 0;">
-                        <div class="layui-inline">
-                            <label class="layui-form-label">使用状态</label>
-                            <div class="layui-input-inline">
-                                <select name="useStatus" class="layui-select">
-                                    <option value="">全部</option>
-                                    <option value="在库">在库</option>
-                                    <option value="正常使用">正常使用</option>
-                                    <option value="已转移">已转移</option>
-                                    <option value="报废中">报废中</option>
-                                    <option value="维修中">维修中</option>
-                                </select>
+                <div class="panel-header">
+                    <span class="title"><i class="layui-icon layui-icon-time"></i> <span id="historyTitle">状态历史</span></span>
+                </div>
+                <div class="search-form">
+                    <form class="layui-form layui-form-pane" lay-filter="historySearchForm">
+                        <div class="layui-form-item" style="margin-bottom: 0;">
+                            <div class="layui-inline">
+                                <label class="layui-form-label">使用状态</label>
+                                <div class="layui-input-inline">
+                                    <select name="useStatus" class="layui-select">
+                                        <option value="">全部</option>
+                                        <option value="在库">在库</option>
+                                        <option value="正常使用">正常使用</option>
+                                        <option value="已转移">已转移</option>
+                                        <option value="报废中">报废中</option>
+                                        <option value="维修中">维修中</option>
+                                    </select>
+                                </div>
                             </div>
-                        </div>
-                        <div class="layui-inline">
-                            <label class="layui-form-label">使用部门</label>
-                            <div class="layui-input-inline">
-                                <input type="text" name="useDept" placeholder="部门" class="layui-input">
+                            <div class="layui-inline">
+                                <label class="layui-form-label">使用部门</label>
+                                <div class="layui-input-inline">
+                                    <input type="text" name="useDept" placeholder="部门" class="layui-input">
+                                </div>
+                            </div>
+                            <div class="layui-inline">
+                                <button type="button" class="layui-btn layui-btn-sm" id="btnSearchHistory"><i class="layui-icon layui-icon-search"></i></button>
+                                <button type="reset" class="layui-btn layui-btn-sm layui-btn-primary">重置</button>
                             </div>
                         </div>
-                        <div class="layui-inline">
-                            <button type="button" class="layui-btn layui-btn-sm" id="btnSearchHistory"><i class="layui-icon layui-icon-search"></i></button>
-                            <button type="reset" class="layui-btn layui-btn-sm layui-btn-primary">重置</button>
-                        </div>
+                    </form>
+                </div>
+                <div class="table-toolbar">
+                    <button class="layui-btn layui-btn-sm" id="btnAddHistory2"><i class="layui-icon layui-icon-add-1"></i> 添加状态</button>
+                </div>
+                <div class="panel-body">
+                    <div id="emptyTip" class="empty-tip" style="display:none;">
+                        <i class="layui-icon layui-icon-tree"></i>
+                        <p>请从左侧选择一个资产</p>
                     </div>
-                </form>
-            </div>
-            <div class="table-toolbar">
-                <button class="layui-btn layui-btn-sm" id="btnAddHistory2"><i class="layui-icon layui-icon-add-1"></i> 添加状态</button>
-            </div>
-            <div class="panel-body">
-                <div id="emptyTip" class="empty-tip" style="display:none;">
-                    <i class="layui-icon layui-icon-tree"></i>
-                    <p>请从左侧选择一个资产</p>
+                    <table id="historyList" lay-filter="historyList"></table>
                 </div>
-                <table id="historyList" lay-filter="historyList"></table>
             </div>
         </div>
     </div>
@@ -356,14 +407,33 @@
                         var info = res.data;
                         $('#assetInfoCard').show();
                         $('#assetDetailCard').show();
-                        $('#assetInfoName').text(info.assetCode || '-');
-                        $('#assetInfoCode').text(info.deptName || '-');
-                        $('#assetDetailType').text(info.assetType || '-');
-                        $('#assetDetailBrand').text((info.brand || '-') + ' / ' + (info.model || '-'));
-                        $('#assetDetailValue').text(info.purchaseValue ? '¥' + info.purchaseValue : '-');
+                        // 主卡片:资产编码 + 资产类型
+                        $('#assetInfoCode').text(info.assetCode || '-');
+                        $('#assetInfoType').text(info.assetType || '-');
+                        // 详情卡片:所有字段
+                        $('#assetDetailDept').text(info.deptName || '-');
+                        $('#assetDetailBrand').text(info.brand || '-');
+                        $('#assetDetailModel').text(info.model || '-');
+                        $('#assetDetailPurchaseDate').text(info.purchaseDate || '-');
+                        $('#assetDetailPurchaseValue').text(info.purchaseValue ? '¥' + info.purchaseValue : '-');
                         var statusText = info.invstkStatus === '1' ? '已盘点' : '未盘点';
-                        var statusClass = info.invstkStatus === '1' ? 'layui-badge-green' : 'layui-badge-gray';
+                        var statusClass = info.invstkStatus === '1' ? 'layui-bg-green' : 'layui-bg-gray';
                         $('#assetDetailStatus').html('<span class="layui-badge ' + statusClass + '">' + statusText + '</span>');
+                        $('#assetDetailLastInvstkTime').text(info.lastInvstkTime || '-');
+                        $('#assetDetailRemark').text(info.remark || '-');
+                        // 扩展字段
+                        var hasExt = info.attribute1 || info.attribute2 || info.attribute3 || info.attribute4;
+                        if (hasExt) {
+                            $('#extFieldRow').show();
+                            $('#extFieldRow2').show();
+                            $('#assetDetailAttr1').text(info.attribute1 || '-');
+                            $('#assetDetailAttr2').text(info.attribute2 || '-');
+                            $('#assetDetailAttr3').text(info.attribute3 || '-');
+                            $('#assetDetailAttr4').text(info.attribute4 || '-');
+                        } else {
+                            $('#extFieldRow').hide();
+                            $('#extFieldRow2').hide();
+                        }
                     }
                 });
             }
@@ -376,13 +446,13 @@
                     page: true,
                     limit: 20,
                     limits: [10, 20, 50, 100],
-                    height: 'full-120',
+                    maxHeight: '500px',
                     where: {},
                     cols: [[
+                        { field: 'assetCode', title: '资产编码', width: 120 },
                         { field: 'assetType', title: '资产类型', width: 120 },
                         { field: 'model', title: '型号', width: 120 },
                         { field: 'brand', title: '品牌', width: 120 },
-                        { field: 'assetCode', title: '资产编码', width: 120 },
                         { field: 'deptName', title: '管理部门', width: 120 },
                         { field: 'purchaseValue', title: '采购价(元)', width: 120, templet: '#purchaseValueTpl' },
                         { field: 'invstkStatus', title: '盘点状态', width: 120, templet: '#invstkStatusTpl' },