285 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Cheetah
		
	
	
	
	
	
			
		
		
	
	
			285 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Cheetah
		
	
	
	
	
	
| {{template "header"}}
 | |
| 
 | |
| <form class="layui-form" style="padding-bottom: 80px;">
 | |
|     {{.CsrfTokenField}}
 | |
|     <input type="hidden" id="ID" name="ID" value="{{.Item.ID}}" />
 | |
| 
 | |
|     <div class="layui-tab-content" style="padding-top: 0;">
 | |
|         <div class="layui-tab-item layui-show">
 | |
|             <div class="layui-card">
 | |
|                 <div class="layui-card-header">项目信息</div>
 | |
|                 <div class="layui-card-body">
 | |
|                     <div class="layui-form-item">
 | |
|                         <div class="layui-form-label">选择项目</div>
 | |
|                         <div class="layui-input-inline" id="ProjectID" style="width: 240px;"></div>
 | |
|                     </div>
 | |
|                 </div>
 | |
|             </div>
 | |
| 
 | |
|             <div class="layui-card">
 | |
|                 <div class="layui-card-header">项目预算信息</div>
 | |
|                 <div class="layui-card-body">
 | |
|                     {{if .Item.ID}}
 | |
|                     <div class="layui-form-item">
 | |
|                         <div class="layui-form-label">编号</div>
 | |
|                         <div class="layui-form-label" style="width:400px;text-align:left;">
 | |
|                             {{.Item.ID}}
 | |
|                         </div>
 | |
|                     </div>
 | |
|                     {{end}}
 | |
|                     <div class="layui-form-item">
 | |
|                         <label class="layui-form-label">名称</label>
 | |
|                         <div class="layui-input-inline">
 | |
|                             <input type="text" id="Name" name="Name" value="{{.Item.Name}}" lay-verify="required"
 | |
|                                 autocomplete="off" placeholder="请输入名称" class="layui-input" style="width:700px;" />
 | |
|                         </div>
 | |
|                     </div>
 | |
|                     <div class="layui-form-item">
 | |
|                         <label class="layui-form-label">预算类型</label>
 | |
|                         <div class="layui-input-inline">
 | |
|                             <select id="BudgetType" name="BudgetType">
 | |
|                                 {{if eq .Item.BudgetType 1}}
 | |
|                                 <option value="1" selected>支出</option>
 | |
|                                 {{else}}
 | |
|                                 <option value="1">支出</option>
 | |
|                                 {{end}}
 | |
| 
 | |
|                                 {{if eq .Item.BudgetType 2}}
 | |
|                                 <option value="2" selected>收入</option>
 | |
|                                 {{else}}
 | |
|                                 <option value="2">收入</option>
 | |
|                                 {{end}}
 | |
|                             </select>
 | |
|                         </div>
 | |
|                     </div>
 | |
|                     <div class="layui-form-item">
 | |
|                         <label class="layui-form-label">预算类别</label>
 | |
|                         <div class="layui-input-inline" id="CategoryID" style="width: 240px;"></div>
 | |
|                     </div>
 | |
|                     <div class="layui-form-item">
 | |
|                         <label class="layui-form-label">开始时间</label>
 | |
|                         <div class="layui-input-inline">
 | |
|                             <input type="text" id="StartAt" name="StartAt" value="{{.Item.StartAt}}"
 | |
|                                 lay-verify="required" autocomplete="off" placeholder="请输入名称" class="layui-input" />
 | |
|                         </div>
 | |
|                         <label class="layui-form-label">结束时间</label>
 | |
|                         <div class="layui-input-inline">
 | |
|                             <input type="text" id="EndAt" name="EndAt" value="{{.Item.EndAt}}" lay-verify="required"
 | |
|                                 autocomplete="off" placeholder="请输入名称" class="layui-input" />
 | |
|                         </div>
 | |
|                     </div>
 | |
|                     <div class="layui-form-item">
 | |
|                         <label class="layui-form-label">预算金额</label>
 | |
|                         <div class="layui-input-inline">
 | |
|                             <input type="text" id="Amount" name="Amount" value="{{.Item.Amount}}" lay-verify="required"
 | |
|                                 autocomplete="off" placeholder="请输入预算金额" class="layui-input" />
 | |
|                         </div>
 | |
|                         <label class="layui-form-label">已支付金额</label>
 | |
|                         <div class="layui-input-inline">
 | |
|                             <input type="text" id="UsedAmount" name="UsedAmount" value="{{.Item.UsedAmount}}"
 | |
|                                 lay-verify="required" autocomplete="off" placeholder="请输入已支付金额" class="layui-input" />
 | |
|                         </div>
 | |
|                         <label class="layui-form-label">剩余金额</label>
 | |
|                         <div class="layui-input-inline">
 | |
|                             <input type="text" id="RemainingAmount" name="RemainingAmount"
 | |
|                                 value="{{.Item.RemainingAmount}}" lay-verify="required" autocomplete="off"
 | |
|                                 placeholder="请输入剩余金额" class="layui-input" />
 | |
|                         </div>
 | |
|                     </div>
 | |
|                     <div class="layui-form-item">
 | |
|                         <label class="layui-form-label">备注</label>
 | |
|                         <div class="layui-input-inline">
 | |
|                             <textarea id="Remark" name="Remark" class="layui-textarea"
 | |
|                                 style="width: 600px; height: 60px;">{{.Item.Remark}}</textarea>
 | |
|                         </div>
 | |
|                     </div>
 | |
|                 </div>
 | |
|             </div>
 | |
| 
 | |
|             <div class="layui-card">
 | |
|                 <div class="layui-card-header">其他</div>
 | |
|                 <div class="layui-card-body">
 | |
|                     <div class="layui-form-item">
 | |
|                         <label class="layui-form-label">状态</label>
 | |
|                         <div class="layui-input-inline">
 | |
|                             <select id="Status" name="Status">
 | |
|                                 {{range .Statuses}}
 | |
|                                 {{if .Selected}}
 | |
|                                 <option value="{{.Value}}" selected>{{.Name}}</option>
 | |
|                                 {{else}}
 | |
|                                 <option value="{{.Value}}">{{.Name}}</option>
 | |
|                                 {{end}}
 | |
|                                 {{end}}
 | |
|                             </select>
 | |
|                         </div>
 | |
|                     </div>
 | |
|                     {{if .Item.ID}}
 | |
|                     <div class="layui-form-item">
 | |
|                         <div class="layui-form-label">创建</div>
 | |
|                         <div class="layui-form-label" style="width:400px;text-align:left;">
 | |
|                             {{.Item.CreatedName}}
 | |
|                             ({{dateFormat .Item.CreatedAt}})
 | |
|                         </div>
 | |
|                     </div>
 | |
|                     <div class="layui-form-item">
 | |
|                         <div class="layui-form-label">更新</div>
 | |
|                         <div class="layui-form-label" style="width:400px;text-align:left;">
 | |
|                             {{.Item.UpdatedName}}
 | |
|                             ({{dateFormat .Item.UpdatedAt}})
 | |
|                         </div>
 | |
|                     </div>
 | |
|                     {{end}}
 | |
|                 </div>
 | |
|             </div>
 | |
|         </div>
 | |
|     </div>
 | |
| 
 | |
|     <div class="layui-form-item layui-fixbar btn-fixbar-box">
 | |
|         <div class="layui-input-block">
 | |
|             {{ submitBtn .AuthorizeMenus "save"}}
 | |
|             <button type="button" class="layui-btn layui-btn-primary layui-btn-sm" lay-on="close">
 | |
|                 <i class="layui-icon layui-icon-close"></i>关闭
 | |
|             </button>
 | |
|         </div>
 | |
|     </div>
 | |
| 
 | |
| </form>
 | |
| 
 | |
| {{define "css"}}
 | |
| <style>
 | |
|     .layui-body {
 | |
|         padding: 15px;
 | |
|         left: 0;
 | |
|     }
 | |
| 
 | |
|     .loader::after {
 | |
|         content: '';
 | |
|     }
 | |
| </style>
 | |
| {{end}}
 | |
| 
 | |
| {{define "js"}}
 | |
| <script>
 | |
|     layui.use(['jquery', 'form', 'laydate', 'xmSelect', "util"], function () {
 | |
|         let $ = layui.jquery;
 | |
|         let form = layui.form;
 | |
|         let laydate = layui.laydate;
 | |
|         let xmSelect = layui.xmSelect;
 | |
|         let util = layui.util;
 | |
| 
 | |
|         /**开始时间 */
 | |
|         laydate.render({
 | |
|             elem: '#StartAt',
 | |
|             type: 'date',
 | |
|             value: '{{today}}',
 | |
|         });
 | |
| 
 | |
|         /**截止时间 */
 | |
|         laydate.render({
 | |
|             elem: '#EndAt',
 | |
|             type: 'date',
 | |
|             value: '{{threeMonth}}',
 | |
|         });
 | |
| 
 | |
|         laydate.render({
 | |
|             elem: '#ApplyAt',
 | |
|             type: 'date',
 | |
|             value: '{{today}}',
 | |
|         });
 | |
| 
 | |
|         // 表单提交
 | |
|         form.on('submit(save)', function (data) {
 | |
|             $.ajax({
 | |
|                 url: '/budget/save',
 | |
|                 type: 'post',
 | |
|                 dataType: 'json',
 | |
|                 data: data.field,
 | |
|                 success: function (result) {
 | |
|                     if (result.success) {
 | |
|                         layer.msg(result.msg, { icon: 1, time: 1000 }, function () {
 | |
|                             parent.layer.close(parent.layer.getFrameIndex(window.name)); // 关闭当前页
 | |
|                             parent.layui.table.reload("tablelist", {
 | |
|                                 page: { curr: 1 },
 | |
|                             });
 | |
|                         });
 | |
|                     } else {
 | |
|                         parent.layer.msg(result.msg, { icon: 2 })
 | |
|                     }
 | |
|                 }
 | |
|             });
 | |
| 
 | |
|             return false;
 | |
|         });
 | |
| 
 | |
|         // 事件绑定
 | |
|         util.on("lay-on", {
 | |
|             "close": function () {
 | |
|                 window.parent.layer.close(parent.layer.getFrameIndex(window.name));
 | |
|             }
 | |
|         });
 | |
| 
 | |
|         getProject();
 | |
|         getCategory();
 | |
| 
 | |
|         function getProject() {
 | |
|             $.ajax({
 | |
|                 url: '/project/data?type=xmselect',
 | |
|                 type: 'post',
 | |
|                 dataType: 'json',
 | |
|                 headers: { 'X-CSRF-Token': $('#csrf_token').val() },
 | |
|                 success: function (res) {
 | |
|                     xmSelect.render({
 | |
|                         el: '#ProjectID',
 | |
|                         // 工具栏
 | |
|                         radio: true,
 | |
|                         toolbar: {
 | |
|                             show: true
 | |
|                         },
 | |
|                         tips: '请选择项目',
 | |
|                         filterable: true,
 | |
|                         data: res,
 | |
|                         name: 'ProjectID',
 | |
|                         initValue: ['{{.Item.ProjectID}}'],
 | |
|                         on: function (data) { },
 | |
|                     });
 | |
|                 },
 | |
|                 error: function (err) {
 | |
|                     // 处理请求错误
 | |
|                     console.log('请求出错:', err);
 | |
|                 }
 | |
|             });
 | |
|         }
 | |
| 
 | |
|         function getCategory() {
 | |
|             $.ajax({
 | |
|                 url: '/system/category/data?type=xmselect&letter=budget_category',
 | |
|                 type: 'post',
 | |
|                 dataType: 'json',
 | |
|                 headers: { 'X-CSRF-Token': $('#csrf_token').val() },
 | |
|                 success: function (res) {
 | |
|                     xmSelect.render({
 | |
|                         el: '#CategoryID',
 | |
|                         // 工具栏
 | |
|                         radio: true,
 | |
|                         toolbar: {
 | |
|                             show: true
 | |
|                         },
 | |
|                         tips: '请选择预算类别',
 | |
|                         filterable: true,
 | |
|                         data: res,
 | |
|                         name: 'Category',
 | |
|                         initValue: ['{{.Item.Category}}'],
 | |
|                         on: function (data) { },
 | |
|                     });
 | |
|                 },
 | |
|                 error: function (err) {
 | |
|                     // 处理请求错误
 | |
|                     console.log('请求出错:', err);
 | |
|                 }
 | |
|             });
 | |
|         }
 | |
|     });
 | |
| </script>
 | |
| {{end}}
 | |
| 
 | |
| {{template "footer" .}} |