287 lines
12 KiB
Cheetah
287 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="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: '#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/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/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" .}} |