Initial commit

This commit is contained in:
yan.y
2024-07-08 14:58:50 +08:00
commit c347facccd
934 changed files with 68903 additions and 0 deletions
@@ -0,0 +1,44 @@
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head th:replace="/common/template :: header(~{::title},~{::link},~{::style})">
</head>
<body>
<div class="layui-form timo-compile">
<form th:action="@{/users/petBaseInfo/save}">
<input type="hidden" name="id" th:if="${petBaseInfo}" th:value="${petBaseInfo.id}">
<div class="layui-form-item">
<label class="layui-form-label">宠物类型</label>
<div class="layui-input-inline">
<select class="timo-search-select" name="petType" mo:dict="PET_TYPE"
mo-selected="${petBaseInfo?.petType}"></select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">宠物品种</label>
<div class="layui-input-inline">
<input class="layui-input" type="text" name="assortment" placeholder="请输入宠物品种" th:value="${petBaseInfo?.assortment}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">大小</label>
<div class="layui-input-inline">
<select class="timo-search-select" name="petSize" mo:dict="PET_SIZE"
mo-selected="${petBaseInfo?.petSize}"></select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">毛发</label>
<div class="layui-input-inline">
<select class="timo-search-select" name="hair" mo:dict="PET_HAIR"
mo-selected="${petBaseInfo?.hair}"></select>
</div>
</div>
<div class="layui-form-item timo-finally">
<button class="layui-btn ajax-submit"><i class="fa fa-check-circle"></i> 保存</button>
<button class="layui-btn btn-secondary close-popup"><i class="fa fa-times-circle"></i> 关闭</button>
</div>
</form>
</div>
<script th:replace="/common/template :: script"></script>
</body>
</html>
@@ -0,0 +1,37 @@
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head th:replace="/common/template :: header(~{::title},~{::link},~{::style})">
</head>
<body>
<div class="timo-detail-page">
<div class="timo-detail-title">基本信息</div>
<table class="layui-table timo-detail-table">
<colgroup>
<col width="100px"><col>
<col width="100px"><col>
</colgroup>
<tbody>
<tr>
<th>主键ID</th>
<td th:text="${petBaseInfo.id}"></td>
<th>宠物类型</th>
<td th:text="${petBaseInfo.petType}"></td>
</tr>
<tr>
<th>宠物品种</th>
<td th:text="${petBaseInfo.assortment}"></td>
<th>大小</th>
<td th:text="${petBaseInfo.petSize}"></td>
</tr>
<tr>
<th>毛发</th>
<td th:text="${petBaseInfo.hair}"></td>
<th>创建时间</th>
<td th:text="${#dates.format(petBaseInfo.createDate, 'yyyy-MM-dd HH:mm:ss')}"></td>
</tr>
</tbody>
</table>
</div>
<script th:replace="/common/template :: script"></script>
</body>
</html>
@@ -0,0 +1,95 @@
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org"
xmlns:mo="http://www.thymeleaf.org">
<head th:replace="/common/template :: header(~{::title},~{::link},~{::style})">
</head>
<body class="timo-layout-page">
<div class="layui-card">
<div class="layui-card-header timo-card-header">
<span><i class="fa fa-bars"></i> 宠物基础信息管理</span>
<i class="layui-icon layui-icon-refresh refresh-btn"></i>
</div>
<div class="layui-card-body">
<div class="layui-row timo-card-screen">
<div class="pull-left layui-form-pane timo-search-box">
<div class="layui-inline">
<div class="layui-inline">
<label class="layui-form-label">宠物类型</label>
<div class="layui-input-block timo-search-status">
<select class="timo-search-select" name="petType" mo:dict="PET_TYPE"
mo-selected="${param?.petType}">
</select>
</div>
</div>
</div>
<!--<div class="layui-inline">
<label class="layui-form-label">宠物品种</label>
<div class="layui-input-block">
<input type="text" name="assortment" th:value="${param.assortment}" placeholder="请输入宠物品种" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">毛发</label>
<div class="layui-input-block">
<select class="timo-search-select" name="hair" mo:dict="PET_HAIR"
mo-selected="${param?.hair}"></select>
&lt;!&ndash; <input type="text" name="hair" th:value="${param.hair}" placeholder="请输入毛发" autocomplete="off" class="layui-input">&ndash;&gt;
</div>
</div>-->
<div class="layui-inline">
<button class="layui-btn timo-search-btn">
<i class="fa fa-search"></i>
</button>
</div>
</div>
<div class="pull-right screen-btn-group">
<button class="layui-btn open-popup" data-title="添加宠物基础信息" th:attr="data-url=@{/users/petBaseInfo/add}" data-size="auto">
<i class="fa fa-plus"></i> 添加</button>
<div class="btn-group">
<button class="layui-btn">操作<span class="caret"></span></button>
<dl class="layui-nav-child layui-anim layui-anim-upbit">
<dd><a class="ajax-status" th:href="@{/users/petBaseInfo/status/ok}">启用</a></dd>
<dd><a class="ajax-status" th:href="@{/users/petBaseInfo/status/freezed}">冻结</a></dd>
<dd><a class="ajax-status" th:href="@{/users/petBaseInfo/status/delete}">删除</a></dd>
</dl>
</div>
</div>
</div>
<div class="timo-table-wrap">
<table class="layui-table timo-table">
<thead>
<tr>
<th class="timo-table-checkbox">
<label class="timo-checkbox"><input type="checkbox">
<i class="layui-icon layui-icon-ok"></i></label>
</th>
<th>宠物类型</th>
<th>宠物品种</th>
<th>大小</th>
<th>毛发</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<tr th:each="item:${list}">
<td><label class="timo-checkbox"><input type="checkbox" th:value="${item.id}">
<i class="layui-icon layui-icon-ok"></i></label></td>
<td th:text="${#dicts.petType(item.petType)}">宠物类型</td>
<td th:text="${item.assortment}">宠物品种</td>
<td th:text="${#dicts.petSize(item.petSize)}">大小</td>
<td th:text="${#dicts.petHair(item.hair)}">毛发</td>
<td>
<a class="open-popup" data-title="编辑宠物基础信息" th:attr="data-url=@{'/users/petBaseInfo/edit/'+${item.id}}" data-size="auto" href="#">编辑</a>
<a class="open-popup" data-title="详细信息" th:attr="data-url=@{'/users/petBaseInfo/detail/'+${item.id}}" data-size="800,600" href="#">详细</a>
<a class="ajax-get" data-msg="您是否确认删除" th:href="@{/users/petBaseInfo/status/delete(ids=${item.id})}">删除</a>
</td>
</tr>
</tbody>
</table>
</div>
<div th:replace="/common/fragment :: page"></div>
</div>
</div>
<script th:replace="/common/template :: script"></script>
</body>
</html>
@@ -0,0 +1,89 @@
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head th:replace="/common/template :: header(~{::title},~{::link},~{::style})">
</head>
<body>
<div class="layui-form timo-compile">
<form th:action="@{/users/pets/save}">
<input type="hidden" name="id" th:if="${pets1}" th:value="${pets1.id}">
<div class="layui-form-item">
<label class="layui-form-label">用户Id</label>
<div class="layui-input-inline">
<input class="layui-input" type="text" name="uid" placeholder="请输入用户Id" th:value="${pets1?.uid}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">宠物名称</label>
<div class="layui-input-inline">
<input class="layui-input" type="text" name="nickName" placeholder="请输入宠物名称" th:value="${pets1?.nickName}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">宠物头像类型</label>
<div class="layui-input-inline">
<input class="layui-input" type="text" name="headImgType" placeholder="请输入宠物头像类型" th:value="${pets1?.headImgType}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">宠物头像</label>
<div class="layui-input-inline">
<input class="layui-input" type="text" name="headImgUrl" placeholder="请输入宠物头像" th:value="${pets1?.headImgUrl}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">宠物描述</label>
<div class="layui-input-inline">
<input class="layui-input" type="text" name="desc" placeholder="请输入宠物描述" th:value="${pets1?.desc}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">注意事项</label>
<div class="layui-input-inline">
<input class="layui-input" type="text" name="precaution" placeholder="请输入注意事项" th:value="${pets1?.precaution}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">性别</label>
<div class="layui-input-inline">
<input class="layui-input" type="text" name="gender" placeholder="请输入性别" th:value="${pets1?.gender}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">生日</label>
<div class="layui-input-inline">
<input class="layui-input" type="text" name="birthday" placeholder="请输入生日" th:value="${pets1?.birthday}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">是否绝育</label>
<div class="layui-input-inline">
<input class="layui-input" type="text" name="eunuch" placeholder="请输入是否绝育" th:value="${pets1?.eunuch}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">最后服务时间</label>
<div class="layui-input-inline">
<input class="layui-input" type="text" name="lastServiceDate" placeholder="请输入最后服务时间" th:value="${pets1?.lastServiceDate}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">体重</label>
<div class="layui-input-inline">
<input class="layui-input" type="text" name="weight" placeholder="请输入体重" th:value="${pets1?.weight}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">创建时间</label>
<div class="layui-input-inline">
<input class="layui-input" type="text" name="createTime" placeholder="请输入创建时间" th:value="${pets1?.createTime}">
</div>
</div>
<div class="layui-form-item timo-finally">
<button class="layui-btn ajax-submit"><i class="fa fa-check-circle"></i> 保存</button>
<button class="layui-btn btn-secondary close-popup"><i class="fa fa-times-circle"></i> 关闭</button>
</div>
</form>
</div>
<script th:replace="/common/template :: script"></script>
</body>
</html>
@@ -0,0 +1,61 @@
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head th:replace="/common/template :: header(~{::title},~{::link},~{::style})">
</head>
<body>
<div class="timo-detail-page">
<div class="timo-detail-title">基本信息</div>
<table class="layui-table timo-detail-table">
<colgroup>
<col width="100px"><col>
<col width="100px"><col>
</colgroup>
<tbody>
<tr>
<th>主键ID</th>
<td th:text="${pets1.id}"></td>
<th>用户Id</th>
<td th:text="${pets1.uid}"></td>
</tr>
<tr>
<th>宠物名称</th>
<td th:text="${pets1.nickName}"></td>
<th>宠物头像类型</th>
<td th:text="${pets1.headImgType}"></td>
</tr>
<tr>
<th>宠物头像</th>
<td th:text="${pets1.headImgUrl}"></td>
<th>宠物描述</th>
<td th:text="${pets1.desc}"></td>
</tr>
<tr>
<th>注意事项</th>
<td th:text="${pets1.precaution}"></td>
<th>性别</th>
<td th:text="${pets1.gender}"></td>
</tr>
<tr>
<th>生日</th>
<td th:text="${pets1.birthday}"></td>
<th>是否绝育</th>
<td th:text="${pets1.eunuch}"></td>
</tr>
<tr>
<th>最后服务时间</th>
<td th:text="${pets1.lastServiceDate}"></td>
<th>体重</th>
<td th:text="${pets1.weight}"></td>
</tr>
<tr>
<th>创建时间</th>
<td th:text="${pets1.createTime}"></td>
<th>创建时间</th>
<td th:text="${#dates.format(pets1.createDate, 'yyyy-MM-dd HH:mm:ss')}"></td>
</tr>
</tbody>
</table>
</div>
<script th:replace="/common/template :: script"></script>
</body>
</html>
@@ -0,0 +1,97 @@
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org"
xmlns:mo="http://www.thymeleaf.org">
<head th:replace="/common/template :: header(~{::title},~{::link},~{::style})">
</head>
<body class="timo-layout-page">
<div class="layui-card">
<div class="layui-card-header timo-card-header">
<span><i class="fa fa-bars"></i> 用户宠物信息管理</span>
<i class="layui-icon layui-icon-refresh refresh-btn"></i>
</div>
<div class="layui-card-body">
<div class="layui-row timo-card-screen">
<div class="pull-left layui-form-pane timo-search-box">
<div class="layui-inline">
<label class="layui-form-label">状态</label>
<div class="layui-input-block timo-search-status">
<select class="timo-search-select" name="status" mo:dict="SEARCH_STATUS" mo-selected="${param.status}"></select>
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">用户Id</label>
<div class="layui-input-block">
<input type="text" name="uid" th:value="${param.uid}" placeholder="请输入用户Id" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">宠物生日</label>
<div class="layui-input-inline">
<input class="layui-input" type="text" id="birthday" name="birthday" placeholder="请输入宠物生日" th:value="${param?.birthday}" lay-key="1" >
</div>
</div>
<div class="layui-inline">
<button class="layui-btn timo-search-btn">
<i class="fa fa-search"></i>
</button>
</div>
</div>
</div>
<div class="timo-table-wrap">
<table class="layui-table timo-table">
<thead>
<tr>
<th class="timo-table-checkbox">
<label class="timo-checkbox"><input type="checkbox">
<i class="layui-icon layui-icon-ok"></i></label>
</th>
<th>用户Id</th>
<th>宠物类型</th>
<th>宠物名称</th>
<th>宠物品种</th>
<th>性别</th>
<th>生日</th>
<th>是否绝育</th>
<th>最后服务时间</th>
<th>体重</th>
<th>宠物描述</th>
<th>注意事项</th>
<th>创建时间</th>
</tr>
</thead>
<tbody>
<tr th:each="item:${list}">
<td><label class="timo-checkbox"><input type="checkbox" th:value="${item.id}">
<i class="layui-icon layui-icon-ok"></i></label></td>
<td th:text="${item.uid}">用户Id</td>
<td th:text="${#dicts.petType(item.petBaseInfo.petType)}">宠物类型</td>
<td th:text="${item.nickName}">宠物名称</td>
<td th:text="${item.petBaseInfo.assortment}">宠物品种</td>
<td th:text="${#dicts.petGender(item.gender)}">性别</td>
<td th:text="${item.birthday}">生日</td>
<td th:text="${#dicts.petEunuch(item.eunuch)}">是否绝育</td>
<td th:text="${item.lastServiceDate}">最后服务时间</td>
<td th:if="${item.petBaseInfo.petType == 1}" th:text="${#dicts.petCatWeight(item.weight)}">体重</td>
<td th:if="${item.petBaseInfo.petType == 2}" th:text="${#dicts.petDogWeight(item.weight)}">体重</td>
<td th:text="${item.desc}">宠物描述</td>
<td th:text="${item.precaution}">注意事项</td>
<td th:text="${item.createTime}">创建时间</td>
</tr>
</tbody>
</table>
</div>
<div th:replace="/common/fragment :: page"></div>
</div>
</div>
<script th:replace="/common/template :: script"></script>
<script type="text/javascript">
layui.use(['laydate','form'], function () {
var laydate = layui.laydate;
// 渲染
laydate.render({
elem: '#birthday'
});
})
</script>
</body>
</html>
@@ -0,0 +1,65 @@
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head th:replace="/common/template :: header(~{::title},~{::link},~{::style})">
</head>
<body>
<div class="layui-form timo-compile">
<form th:action="@{/users/users/save}">
<input type="hidden" name="id" th:if="${users}" th:value="${users.id}">
<div class="layui-form-item">
<label class="layui-form-label">昵称</label>
<div class="layui-input-inline">
<input class="layui-input" type="text" name="nickName" placeholder="请输入昵称" th:value="${users?.nickName}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">头像地址</label>
<div class="layui-input-inline">
<input class="layui-input" type="text" name="headImgUrl" placeholder="请输入头像地址" th:value="${users?.headImgUrl}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">openId</label>
<div class="layui-input-inline">
<input class="layui-input" type="text" name="openId" placeholder="请输入openId" th:value="${users?.openId}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">unionId</label>
<div class="layui-input-inline">
<input class="layui-input" type="text" name="unionId" placeholder="请输入unionId" th:value="${users?.unionId}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">用户类型</label>
<div class="layui-input-inline">
<input class="layui-input" type="text" name="userType" placeholder="请输入用户类型 0普通用户 1护理人员" th:value="${users?.userType}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">手机号</label>
<div class="layui-input-inline">
<input class="layui-input" type="text" name="mobile" placeholder="请输入手机号" th:value="${users?.mobile}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">角色</label>
<div class="layui-input-inline">
<input class="layui-input" type="text" name="role" placeholder="请输入角色" th:value="${users?.role}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">创建时间</label>
<div class="layui-input-inline">
<input class="layui-input" type="text" name="createTime" placeholder="请输入创建时间" th:value="${users?.createTime}">
</div>
</div>
<div class="layui-form-item timo-finally">
<button class="layui-btn ajax-submit"><i class="fa fa-check-circle"></i> 保存</button>
<button class="layui-btn btn-secondary close-popup"><i class="fa fa-times-circle"></i> 关闭</button>
</div>
</form>
</div>
<script th:replace="/common/template :: script"></script>
</body>
</html>
@@ -0,0 +1,49 @@
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head th:replace="/common/template :: header(~{::title},~{::link},~{::style})">
</head>
<body>
<div class="timo-detail-page">
<div class="timo-detail-title">基本信息</div>
<table class="layui-table timo-detail-table">
<colgroup>
<col width="100px"><col>
<col width="100px"><col>
</colgroup>
<tbody>
<tr>
<th>主键ID</th>
<td th:text="${users.id}"></td>
<th>昵称</th>
<td th:text="${users.nickName}"></td>
</tr>
<tr>
<th>头像地址</th>
<td><img th:src="${users.headImgUrl}" alt="url"/></td>
<th>余额</th>
<td th:text="${users.amount}"></td>
</tr>
<tr>
<th>openId</th>
<td th:text="${users.openId}"></td>
<th>unionId</th>
<td th:text="${users.unionId}"></td>
</tr>
<tr>
<th>用户类型</th>
<td th:text="${users.userType}"></td>
<th>手机号</th>
<td th:text="${users.mobile}"></td>
</tr>
<tr>
<th>角色</th>
<td th:text="${#dicts.roleType(users.role)}"></td>
<th>创建时间</th>
<td th:text="${users.createTime}"></td>
</tr>
</tbody>
</table>
</div>
<script th:replace="/common/template :: script"></script>
</body>
</html>
@@ -0,0 +1,102 @@
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org"
xmlns:mo="http://www.thymeleaf.org">
<head th:replace="/common/template :: header(~{::title},~{::link},~{::style})">
</head>
<body class="timo-layout-page">
<div class="layui-card">
<div class="layui-card-header timo-card-header">
<span><i class="fa fa-bars"></i> users管理</span>
<i class="layui-icon layui-icon-refresh refresh-btn"></i>
</div>
<div class="layui-card-body">
<div class="layui-row timo-card-screen">
<div class="pull-left layui-form-pane timo-search-box">
<div class="layui-inline">
<label class="layui-form-label">状态</label>
<div class="layui-input-block timo-search-status">
<select class="timo-search-select" name="status" mo:dict="SEARCH_STATUS" mo-selected="${param.status}"></select>
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">用户ID</label>
<div class="layui-input-block">
<input type="text" name="id" th:value="${param.id}" placeholder="请输入用户ID" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">手机号</label>
<div class="layui-input-block">
<input type="text" name="mobile" th:value="${param.mobile}" placeholder="请输入手机号" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">角色</label>
<div class="layui-input-block">
<input type="text" name="role" th:value="${param.role}" placeholder="请输入角色" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn timo-search-btn">
<i class="fa fa-search"></i>
</button>
</div>
</div>
<div class="pull-right screen-btn-group">
<button class="layui-btn open-popup" data-title="添加users" th:attr="data-url=@{/users/users/add}" data-size="auto">
<i class="fa fa-plus"></i> 添加</button>
<div class="btn-group">
<button class="layui-btn">操作<span class="caret"></span></button>
<dl class="layui-nav-child layui-anim layui-anim-upbit">
<dd><a class="ajax-status" th:href="@{/users/users/status/ok}">启用</a></dd>
<dd><a class="ajax-status" th:href="@{/users/users/status/freezed}">冻结</a></dd>
<dd><a class="ajax-status" th:href="@{/users/users/status/delete}">删除</a></dd>
</dl>
</div>
</div>
</div>
<div class="timo-table-wrap">
<table class="layui-table timo-table">
<thead>
<tr>
<th>用户ID</th>
<th>昵称</th>
<th>头像地址</th>
<th>余额</th>
<th>折扣</th>
<th>openId</th>
<th>手机号</th>
<th>角色</th>
<th>用户宠物</th>
<th>创建时间</th>
<th>用户操作</th>
</tr>
</thead>
<tbody>
<tr th:each="item:${list}">
<td th:text="${item.id}">用户ID</td>
<td th:text="${item.nickName}">昵称</td>
<td><img th:src="${item.headImgUrl}" alt="url" style="width: 100px; height: auto;"/> </td>
<td th:text="${item.amount == null ? 0 : item.amount / 10.0}">余额</td>
<td th:text="${item.discount}">余额</td>
<td th:text="${item.openId}">openId</td>
<td th:text="${item.mobile}">手机号</td>
<td th:text="${#dicts.roleType(item.role)}">角色</td>
<td>
<a class="open-popup" data-title="宠物下单" th:attr="data-url=@{'/users/users/toPetInfos/'+${item.id}}" data-size="auto" href="#">宠物下单</a>
</td>
<td th:text="${item.createTime}">创建时间</td>
<td>
<a class="open-popup" data-title="充值" th:attr="data-url=@{'/users/users/toRecharge/'+${item.id}}" data-size="auto" href="#">充值</a>
<a class="open-popup" data-title="编辑" th:attr="data-url=@{'/users/users/edit/'+${item.id}}" data-size="auto" href="#">编辑</a>
</td>
</tr>
</tbody>
</table>
</div>
<div th:replace="/common/fragment :: page"></div>
</div>
</div>
<script th:replace="/common/template :: script"></script>
</body>
</html>
@@ -0,0 +1,212 @@
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org"
xmlns:mo="http://www.thymeleaf.org" xmlns="http://www.w3.org/1999/html">
<head th:replace="/common/template :: header(~{::title},~{::link},~{::style})">
</head>
<body>
<div class="layui-form timo-compile">
<div class="layui-card-body">
<form id="form_settle" th:action="@{'/orders/orderMain/orderSettle/'+${orderId}}"></form>
<div class="layui-form-item">
<label class="layui-form-label">用户服务地址</label>
<div class="layui-input-inline">
<select class="timo-search-select" id="userServiceAddr" name="userServiceAddr" >
<option th:each="item:${users.userServiceAddrs}" th:value="${item.id}" th:text="${item.addr}"></option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">服务时间</label>
<div class="layui-input-inline">
<input class="layui-input" type="text" id="serviceTime" name="serviceTime" placeholder="请输入服务时间" lay-key="1" >
</div>
</div><div class="layui-form-item">
<label class="layui-form-label">用户当前折扣</label>
<div class="layui-input-inline">
<input class="layui-input" type="text" id="discount" name="discount" readonly th:value="${users.discount == null ? 0 : users.discount}">
</div>
</div><div class="layui-form-item">
<label class="layui-form-label">用户当前余额</label>
<div class="layui-input-inline">
<input class="layui-input" type="text" id="amount" name="amount" readonly th:value="${users.amount == null ? 0 : users.amount / 10.0}">
</div>
</div>
<div class="timo-table-wrap">
<table class="layui-table timo-table">
<thead>
<tr>
<th>宠物信息</th>
<th>商品信息</th>
</tr>
</thead>
<tbody>
<tr th:each="item,iterStat:${userPetInfos}">
<td>
宠物类型:<span th:text="${#dicts.petType(item.petBaseInfo.petType)}"></span><br>
宠物名称:<span th:text="${item.nickName}"></span><br>
宠物品种:<span th:text="${item.petBaseInfo.assortment}"></span><br>
宠物性别:<span th:text="${#dicts.petGender(item.gender)}"></span><br>
<span th:if="${item.petBaseInfo.petType == 1}"
th:text="'宠物体重:' + ${#dicts.petCatWeight(item.weight)}"></span>
<span th:if="${item.petBaseInfo.petType == 2}"
th:text="'宠物体重:' + ${#dicts.petDogWeight(item.weight)}"></span><br>
</td>
<td th:if="${item.goodsInfo}">
<form th:id="'form_' + ${item.id}" th:action="@{'/orders/orderMain/petOrderSave/'+${item.id}}"
method="post">
<input type="hidden" name="petId" th:if="${item}" th:value="${item.id}">
<input type="hidden" name="orderId" th:value="${orderId}">
<div class="layui-form-item" th:if="${item.goodsInfo.containsKey(1)}">
<label class="layui-form-label">洗护</label>
<div class="layui-input-inline">
<input class="layui-input" th:name="'goodsId1' + ${item.id}" price="0" time="0" type="radio" title="无"/>
<input class="layui-input" th:name="'goodsId1' + ${item.id}" th:each="goods : ${item.goodsInfo[1]}"
type="radio" th:value="${goods.id}" th:price="${goods.price}" th:time="${goods.time}" th:title="${goods.name + '(' + goods.price + ')'}"/>
</div>
</div>
<div class="layui-form-item" th:if="${item.goodsInfo.containsKey(2)}">
<label class="layui-form-label">美容</label>
<div class="layui-input-inline">
<input class="layui-input" th:name="'goodsId2' + ${item.id}" price="0" time="0" type="radio" title="无"/>
<input class="layui-input" th:name="'goodsId2' + ${item.id}" th:each="goods : ${item.goodsInfo[2]}"
type="radio" th:value="${goods.id}" th:price="${goods.price}" th:time="${goods.time}" th:title="${goods.name + '(' + goods.price + ')'}"/>
</div>
</div>
<div class="layui-form-item" th:if="${item.goodsInfo.containsKey(3)}">
<label class="layui-form-label">附加服务</label>
<div class="layui-input-inline">
<input class="layui-input" th:name="'goodsId3' + ${item.id}" th:each="goods : ${item.goodsInfo[3]}"
type="checkbox" th:value="${goods.id}" th:price="${goods.price}" th:time="${goods.time}" th:title="${goods.name + '(' + goods.price + ')'}"/>
</div>
</div>
<div class="layui-form-item" th:if="${item.goodsInfo.containsKey(4)}">
<label class="layui-form-label">附加产品</label>
<div class="layui-input-inline">
<input class="layui-input" th:name="'goodsId4' + ${item.id}" th:each="goods : ${item.goodsInfo[4]}"
type="checkbox" th:value="${goods.id}" th:price="${goods.price}" th:time="${goods.time}" th:title="${goods.name + '(' + goods.price + ')'}"/>
</div>
</div>
</form>
</td>
</tr>
</tbody>
</table>
<div class="layui-form-item">
<label class="layui-form-label">预计总金额</label>
<div class="layui-input-inline">
<input class="layui-input" type="text" id="totalAmount" readonly value="0">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">预计服务时长</label>
<div class="layui-input-inline">
<input class="layui-input" type="text" id="serviceTimeAll" readonly value="0">
</div>
</div>
<div class="layui-form-item timo-finally">
<button class="layui-btn" id="submitBtn"><i class="fa fa-check-circle"></i> 保存</button>
<button class="layui-btn btn-secondary close-popup"><i class="fa fa-times-circle"></i> 关闭</button>
</div>
</div>
</div>
</div>
<script th:replace="/common/template :: script"></script>
<script>
layui.use(['laydate'], function () {
var laydate = layui.laydate;
// 渲染
laydate.render({
elem: '#serviceTime',
type: 'datetime'
});
})
layui.use('form', function () {
var $ = layui.$;
// 绑定按钮点击事件
$('#submitBtn').on('click', function () {
// 遍历所有表单并提交
var successSize = 0;
var failSize = 0;
var userServiceAddr = $("#userServiceAddr").val();
var serviceTime = $("#serviceTime").val();
if ((serviceTime === null || serviceTime === '' || serviceTime === undefined)
|| (userServiceAddr === null || userServiceAddr === '' || userServiceAddr === undefined)) {
alert("服务区域,用户地址及服务时间必须填写")
return false
}
$('form').each(function () {
var $form = $(this);
if ($form.attr("id") === 'form_settle') {
return true;
}
$.ajax({
type: $form.attr('method'),
url: $form.attr('action'),
data: $form.serialize() + '&userServiceAddr=' + userServiceAddr + '&serviceTime=' + serviceTime,
async: false,
success: function (response) {
console.log(response);
successSize ++
},
error: function (err) {
console.log(err);
failSize ++
}
});
});
if (failSize > 0) {
alert("下单失败")
return false
}
var $form = $("#form_settle")
$.ajax({
type: $form.attr('method'),
url: $form.attr('action'),
data: $form.serialize(),
async: false,
success: function (response) {
console.log("结算成功");
},
error: function (err) {
console.log(err + " 结算失败");
}
});
alert("提交成功,成功数: " + successSize + " , 失败数: " + failSize)
var index = parent.layer.getFrameIndex(window.name); // 获取当前iframe层的索引
parent.layer.close(index); // 关闭当前iframe层
});
var form = layui.form;
form.on('radio', function(data){
let totalAmount = 0;
let time = 0;
$('input[type="radio"]:checked').each(function() {
totalAmount = totalAmount + parseInt($(this).attr("price"))
time = time + parseInt($(this).attr("time"))
});
$('input[type="checkbox"]:checked').each(function() {
totalAmount = totalAmount + parseInt($(this).attr("price"))
time = time + parseInt($(this).attr("time"))
});
const discount = $("#discount").val() == 0 ? 100 : $("#discount").val();
$("#totalAmount").val(Math.round(totalAmount * (discount / 100.0)))
$("#serviceTimeAll").val(time)
});
form.on('checkbox', function(data){
let totalAmount = 0;
let time = 0;
$('input[type="radio"]:checked').each(function() {
totalAmount = totalAmount + parseInt($(this).attr("price"))
time = time + parseInt($(this).attr("time"))
});
$('input[type="checkbox"]:checked').each(function() {
totalAmount = totalAmount + parseInt($(this).attr("price"))
time = time + parseInt($(this).attr("time"))
});
const discount = $("#discount").val() == 0 ? 100 : $("#discount").val();
$("#totalAmount").val(Math.round(totalAmount * (discount / 100.0) * 10) / 10.0)
$("#serviceTimeAll").val(time)
});
});
</script>
</body>
</html>
@@ -0,0 +1,35 @@
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head th:replace="/common/template :: header(~{::title},~{::link},~{::style})">
</head>
<body>
<div class="layui-form timo-compile">
<form th:action="@{/users/users/recharge}">
<input type="hidden" name="id" th:if="${users}" th:value="${users.id}">
<div class="layui-form-item">
<label class="layui-form-label">当前金额</label>
<div class="layui-input-inline">
<input class="layui-input" type="text" name="showAmount" disabled th:value="${users.amount == null ? 0 : users.amount / 10.0}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">充值金额</label>
<div class="layui-input-inline">
<input class="layui-input" type="text" name="payAmount" placeholder="请输入充值金额">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">折扣</label>
<div class="layui-input-inline">
<input class="layui-input" type="text" name="discount" placeholder="请输入折扣" th:value="${users.discount}">
</div>
</div>
<div class="layui-form-item timo-finally">
<button class="layui-btn ajax-submit"><i class="fa fa-check-circle"></i> 保存</button>
<button class="layui-btn btn-secondary close-popup"><i class="fa fa-times-circle"></i> 关闭</button>
</div>
</form>
</div>
<script th:replace="/common/template :: script"></script>
</body>
</html>
@@ -0,0 +1,59 @@
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head th:replace="/common/template :: header(~{::title},~{::link},~{::style})">
</head>
<body>
<div class="layui-form timo-compile">
<form th:action="@{/users/usersAmountRecords/save}">
<input type="hidden" name="id" th:if="${usersAmountRecords}" th:value="${usersAmountRecords.id}">
<div class="layui-form-item">
<label class="layui-form-label">用户ID</label>
<div class="layui-input-inline">
<input class="layui-input" type="text" name="userId" placeholder="请输入用户ID" th:value="${usersAmountRecords?.userId}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">操作类型</label>
<div class="layui-input-inline">
<input class="layui-input" type="text" name="type" placeholder="请输入操作类型" th:value="${usersAmountRecords?.type}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">原始余额</label>
<div class="layui-input-inline">
<input class="layui-input" type="text" name="originAmount" placeholder="请输入原始余额" th:value="${usersAmountRecords?.originAmount}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">操作余额</label>
<div class="layui-input-inline">
<input class="layui-input" type="text" name="proAmount" placeholder="请输入操作余额" th:value="${usersAmountRecords?.proAmount}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">当前余额</label>
<div class="layui-input-inline">
<input class="layui-input" type="text" name="currAmount" placeholder="请输入当前余额" th:value="${usersAmountRecords?.currAmount}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">操作场景</label>
<div class="layui-input-inline">
<input class="layui-input" type="text" name="proScene" placeholder="请输入操作场景" th:value="${usersAmountRecords?.proScene}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">创建时间</label>
<div class="layui-input-inline">
<input class="layui-input" type="text" name="createTime" placeholder="请输入创建时间" th:value="${usersAmountRecords?.createTime}">
</div>
</div>
<div class="layui-form-item timo-finally">
<button class="layui-btn ajax-submit"><i class="fa fa-check-circle"></i> 保存</button>
<button class="layui-btn btn-secondary close-popup"><i class="fa fa-times-circle"></i> 关闭</button>
</div>
</form>
</div>
<script th:replace="/common/template :: script"></script>
</body>
</html>
@@ -0,0 +1,49 @@
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head th:replace="/common/template :: header(~{::title},~{::link},~{::style})">
</head>
<body>
<div class="timo-detail-page">
<div class="timo-detail-title">基本信息</div>
<table class="layui-table timo-detail-table">
<colgroup>
<col width="100px"><col>
<col width="100px"><col>
</colgroup>
<tbody>
<tr>
<th>主键ID</th>
<td th:text="${usersAmountRecords.id}"></td>
<th>用户ID</th>
<td th:text="${usersAmountRecords.userId}"></td>
</tr>
<tr>
<th>操作类型</th>
<td th:text="${usersAmountRecords.type}"></td>
<th>原始余额</th>
<td th:text="${usersAmountRecords.originAmount}"></td>
</tr>
<tr>
<th>操作余额</th>
<td th:text="${usersAmountRecords.proAmount}"></td>
<th>当前余额</th>
<td th:text="${usersAmountRecords.currAmount}"></td>
</tr>
<tr>
<th>操作场景</th>
<td th:text="${usersAmountRecords.proScene}"></td>
<th>创建时间</th>
<td th:text="${usersAmountRecords.createTime}"></td>
</tr>
<tr>
<th>创建时间</th>
<td th:text="${#dates.format(usersAmountRecords.createDate, 'yyyy-MM-dd HH:mm:ss')}"></td>
<th>更新时间</th>
<td th:text="${#dates.format(usersAmountRecords.updateDate, 'yyyy-MM-dd HH:mm:ss')}"></td>
</tr>
</tbody>
</table>
</div>
<script th:replace="/common/template :: script"></script>
</body>
</html>
@@ -0,0 +1,73 @@
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org"
xmlns:mo="http://www.thymeleaf.org">
<head th:replace="/common/template :: header(~{::title},~{::link},~{::style})">
</head>
<body class="timo-layout-page">
<div class="layui-card">
<div class="layui-card-header timo-card-header">
<span><i class="fa fa-bars"></i> 用户消耗记录管理</span>
<i class="layui-icon layui-icon-refresh refresh-btn"></i>
</div>
<div class="layui-card-body">
<div class="layui-row timo-card-screen">
<div class="pull-left layui-form-pane timo-search-box">
<div class="layui-inline">
<label class="layui-form-label">用户ID</label>
<div class="layui-input-block">
<input type="text" name="userId" th:value="${param.userId}" placeholder="请输入用户ID" autocomplete="off" class="layui-input">
</div>
</div>
<!--<div class="layui-inline">
<label class="layui-form-label">操作类型</label>
<div class="layui-input-block">
<input type="text" name="type" th:value="${param.type}" placeholder="请输入操作类型" autocomplete="off" class="layui-input">
</div>
</div>-->
<div class="layui-inline">
<label class="layui-form-label">操作场景</label>
<div class="layui-input-block">
<input type="text" name="proScene" th:value="${param.proScene}" placeholder="请输入操作场景" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn timo-search-btn">
<i class="fa fa-search"></i>
</button>
</div>
</div>
</div>
<div class="timo-table-wrap">
<table class="layui-table timo-table">
<thead>
<tr>
<th>用户ID</th>
<th>操作类型</th>
<th>原始余额</th>
<th>操作余额</th>
<th>当前余额</th>
<th>操作场景</th>
<th>订单ID</th>
<th>创建时间</th>
</tr>
</thead>
<tbody>
<tr th:each="item:${list}">
<td th:text="${item.userId}">用户ID</td>
<td th:text="${#dicts.userAmountRecordType(item.type)}">操作类型</td>
<td th:text="${item.originAmount / 10.0}">原始余额</td>
<td th:text="${item.proAmount / 10.0}">操作余额</td>
<td th:text="${item.currAmount / 10.0}">当前余额</td>
<td th:text="${item.proScene}">操作场景</td>
<td th:text="${item.orderId}">操作场景</td>
<td th:text="${item.createTime}">创建时间</td>
</tr>
</tbody>
</table>
</div>
<div th:replace="/common/fragment :: page"></div>
</div>
</div>
<script th:replace="/common/template :: script"></script>
</body>
</html>