158 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			158 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <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> |