2025-06-25 10:53:11 +08:00

158 lines
5.2 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<form class="layui-form page-content p-4">
<h3 class="h3-title">新建报销</h3>
<div class="p-4 border-b">
<h3 class="h3-title hover">
<span>基本信息</span>
</h3>
</div>
<div class="layui-row border-b">
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray-2">账单编号<font>*</font>
</td>
<td>
<input type="text" name="order" lay-verify="required" disabled class="layui-input"
value="{{ generateBillNumber() }}" />
</td>
<td class="layui-td-gray-2">隶属部门<font>*</font>
</td>
<td colspan="3">
<select name="department" lay-verify="required" lay-reqText="请选择项目类型" class="layui-select" lay-search=""
lay-filter="department"></select>
</td>
</tr>
<tr>
<td class="layui-td-gray-2">创建者
</td>
<td colspan="4">
<input type="hidden" name="creater" lay-verify="required" disabled class="layui-input" value="" />
<input type="text" name="creatername" required disabled class="layui-input" value="" />
</td>
</tr>
<tr>
<td class="layui-td-gray-2">备注
</td>
<td colspan="4">
<textarea name="schedule" lay-verify="" lay-reqText="请输入" placeholder="请输入备注" class="layui-textarea" value=""
rows="1"></textarea>
</td>
</tr>
</table>
</div>
<div class="pt-1">
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">
立即提交
</button>
</div>
</form>
<script>
//生成账单编号
function generateBillNumber() {
var currentDate = new Date();
var year = currentDate.getFullYear().toString().slice(-2);
var month = ('0' + (currentDate.getMonth() + 1)).slice(-2);
var day = ('0' + currentDate.getDate()).slice(-2);
var hours = ('0' + currentDate.getHours()).slice(-2);
var minutes = ('0' + currentDate.getMinutes()).slice(-2);
var seconds = ('0' + currentDate.getSeconds()).slice(-2);
var milliseconds = ('00' + currentDate.getMilliseconds()).slice(-3);
return year + month + day + hours + minutes + seconds + milliseconds;
}
// 修改生成账单编号的函数直接设置到对应的input元素的value属性上
function setBillNumber() {
var billNumber = generateBillNumber();
document.querySelector('input[name="order"]').value = billNumber;
}
// 调用函数设置账单编号
setBillNumber();
</script>
<script>
layui.use(["form"], function () {
var form = layui.form;
// 获取项目类别
// fetch("/reimbursement/index/getproject")
// .then((response) => response.json())
// .then((data) => {
// var select = document.querySelector('select[name="project"]');
// select.innerHTML = '<option value="">请选择项目类型</option>';
// data.data.forEach((project) => {
// var option = document.createElement("option");
// option.value = project.id;
// option.innerText = project.project;
// select.appendChild(option);
// });
// form.render("select");
// })
// .catch((error) => {
// console.error("Error:", error);
// });
// 获取部门
fetch("/reimbursement/index/getdepartment")
.then((response) => response.json())
.then((data) => {
var select = document.querySelector('select[name="department"]');
select.innerHTML = '<option value="">请选择项目类型</option>';
data.data.forEach((department) => {
var option = document.createElement("option");
option.value = department.id;
option.innerText = department.department;
select.appendChild(option);
});
form.render("select");
})
.catch((error) => {
console.error("Error:", error);
});
// 获取创建者
const apiUrl = '/reimbursement/index/getcreater';
fetch(apiUrl)
.then(response => {
if (!response.ok) {
throw new Error('接口反馈有误!');
}
return response.json();
})
.then(data => {
// 假设返回的数据中创建者的名字存储在 data.createrId
document.querySelector('input[name="creater"]').value = data.createrId;
document.querySelector('input[name="creatername"]').value = data.createrName;
})
.catch(error => {
console.error('获取操作出现问题:', error);
});
// 监听提交事件
form.on("submit(webform)", function (data) {
// 发送请求并处理响应
fetch("/reimbursement/index/add", {
method: "POST",
body: JSON.stringify(data.field),
headers: {
"Content-Type": "application/json",
},
})
.then((response) => response.json())
.then((result) => {
layer.msg(result.msg);
if (result.code === 2) {
setTimeout(function () {
document.querySelector("form").reset(); // Reset the form
location.reload(); // 刷新页面
}, 1000);
}
});
return false;
});
});
</script>