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> |