312 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Cheetah
		
	
	
	
	
	
			
		
		
	
	
			312 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">
 | |
|                     <div class="layui-form-item">
 | |
|                         <div class="layui-form-label">选择预算</div>
 | |
|                         <div class="layui-input-inline" id="BudgetID" 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" id="IncomeType" style="width: 240px;"></div>
 | |
|                     </div>
 | |
|                     <div class="layui-form-item">
 | |
|                         <label class="layui-form-label">收入银行</label>
 | |
|                         <div class="layui-input-inline" id="IncomeBank" 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="IncomeAt" name="IncomeAt" value="{{.Item.IncomeAt}}"
 | |
|                                 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>
 | |
|                     </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="pear-btn pear-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(['form', 'jquery', 'iconPicker', 'laydate', 'dtree', 'xmSelect', "util"], function () {
 | |
|         let form = layui.form;
 | |
|         let $ = layui.jquery;
 | |
|         let iconPicker = layui.iconPicker;
 | |
|         let dtree = layui.dtree;
 | |
|         let xmSelect = layui.xmSelect;
 | |
|         let util = layui.util;
 | |
|         let laydate = layui.laydate;
 | |
| 
 | |
|         laydate.render({
 | |
|             elem: '#IncomeAt',
 | |
|             type: 'date',
 | |
|             value: '{{today}}',
 | |
|         });
 | |
| 
 | |
|         // 表单提交
 | |
|         form.on('submit(save)', function (data) {
 | |
|             $.ajax({
 | |
|                 url: '/income/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();
 | |
|         getBudget('{{.Item.ProjectID}}');
 | |
|         getIncomeType();
 | |
|         getIncomeBank();
 | |
| 
 | |
|         function getProject() {
 | |
|             $.ajax({
 | |
|                 url: '/project/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) {
 | |
|                             console.log(data);
 | |
|                             console.log(data.arr[0].value);
 | |
|                             getBudget(data.arr[0].value);
 | |
|                         },
 | |
|                     });
 | |
|                 },
 | |
|                 error: function (err) {
 | |
|                     // 处理请求错误
 | |
|                     console.log('请求出错:', err);
 | |
|                 }
 | |
|             });
 | |
|         }
 | |
| 
 | |
|         function getBudget(projectId) {
 | |
|             $.ajax({
 | |
|                 url: '/budget/xmselect?projectId=' + projectId,
 | |
|                 type: 'post',
 | |
|                 dataType: 'json',
 | |
|                 headers: { 'X-CSRF-Token': $('#csrf_token').val() },
 | |
|                 success: function (res) {
 | |
|                     xmSelect.render({
 | |
|                         el: '#BudgetID',
 | |
|                         // 工具栏
 | |
|                         radio: true,
 | |
|                         toolbar: {
 | |
|                             show: true
 | |
|                         },
 | |
|                         tips: '请选择项目预算',
 | |
|                         filterable: true,
 | |
|                         data: res,
 | |
|                         name: 'BudgetID',
 | |
|                         initValue: ['{{.Item.BudgetID}}'],
 | |
|                         on: function (data) {
 | |
|                             console.log(data);
 | |
|                         },
 | |
|                     });
 | |
|                 },
 | |
|                 error: function (err) {
 | |
|                     // 处理请求错误
 | |
|                     console.log('请求出错:', err);
 | |
|                 }
 | |
|             });
 | |
|         }
 | |
| 
 | |
|         function getIncomeType() {
 | |
|             $.ajax({
 | |
|                 url: '/system/category/xmselect?letter=income_category',
 | |
|                 type: 'post',
 | |
|                 dataType: 'json',
 | |
|                 headers: { 'X-CSRF-Token': $('#csrf_token').val() },
 | |
|                 success: function (res) {
 | |
|                     xmSelect.render({
 | |
|                         el: '#IncomeType',
 | |
|                         // 工具栏
 | |
|                         radio: true,
 | |
|                         toolbar: {
 | |
|                             show: true
 | |
|                         },
 | |
|                         tips: '请选择收入类别',
 | |
|                         filterable: true,
 | |
|                         data: res,
 | |
|                         name: 'IncomeType',
 | |
|                         initValue: ['{{.Item.IncomeType}}'],
 | |
|                         on: function (data) { },
 | |
|                     });
 | |
|                 },
 | |
|                 error: function (err) {
 | |
|                     // 处理请求错误
 | |
|                     console.log('请求出错:', err);
 | |
|                 }
 | |
|             });
 | |
|         }
 | |
| 
 | |
|         function getIncomeBank() {
 | |
|             $.ajax({
 | |
|                 url: '/system/category/xmselect?letter=income_bank',
 | |
|                 type: 'post',
 | |
|                 dataType: 'json',
 | |
|                 headers: { 'X-CSRF-Token': $('#csrf_token').val() },
 | |
|                 success: function (res) {
 | |
|                     xmSelect.render({
 | |
|                         el: '#IncomeBank',
 | |
|                         // 工具栏
 | |
|                         radio: true,
 | |
|                         toolbar: {
 | |
|                             show: true
 | |
|                         },
 | |
|                         tips: '请选择收入银行',
 | |
|                         filterable: true,
 | |
|                         data: res,
 | |
|                         name: 'IncomeBank',
 | |
|                         initValue: ['{{.Item.IncomeBank}}'],
 | |
|                         on: function (data) { },
 | |
|                     });
 | |
|                 },
 | |
|                 error: function (err) {
 | |
|                     // 处理请求错误
 | |
|                     console.log('请求出错:', err);
 | |
|                 }
 | |
|             });
 | |
|         }
 | |
|     });
 | |
| </script>
 | |
| {{end}}
 | |
| 
 | |
| {{template "footer" .}} |