更新命名问题
This commit is contained in:
@@ -168,26 +168,28 @@ class Index extends BaseController
|
||||
}
|
||||
}
|
||||
|
||||
//编辑条目
|
||||
//编辑条目(查看)
|
||||
public function edititem($id)
|
||||
{
|
||||
$param = get_params();
|
||||
// 编辑逻辑
|
||||
$reimbursementLists = ReimbursementList::where('id', $param['id'])
|
||||
$reimbursementLists = ReimbursementList::where('id', $id)
|
||||
->field('id, pid, times, department, project, cate, price, creater, haveticket, tickets, remark, create_time')
|
||||
->find();
|
||||
// print_r($reimbursementLists);
|
||||
|
||||
if ($reimbursementLists) {
|
||||
// 获取项目名称
|
||||
$project = ProjectList::where('id', $reimbursementLists['project'])->value('name_short');
|
||||
// 获取发生时间
|
||||
$times = $reimbursementLists['times'];
|
||||
// 获取部门名称
|
||||
$department = DepartmentList::where('id', $reimbursementLists['department'])->value('title');
|
||||
// 获取创建者名称
|
||||
$creater = Admin::where('id', $reimbursementLists['creater'])->value('name');
|
||||
// print_r($creater);
|
||||
|
||||
if ($project) {
|
||||
$reimbursementLists['project'] = $project;
|
||||
if ($times) {
|
||||
$timesDate = date('Y年m月d日', strtotime($times));
|
||||
$reimbursementLists['times'] = $timesDate;
|
||||
}
|
||||
|
||||
if ($department) {
|
||||
$reimbursementLists['department'] = $department;
|
||||
}
|
||||
@@ -195,23 +197,49 @@ class Index extends BaseController
|
||||
$reimbursementLists['creater'] = $creater;
|
||||
}
|
||||
|
||||
View::assign('detail', $reimbursementLists);
|
||||
} else {
|
||||
return json(["code" => 1, "msg" => "信息不存在"]); // 返回JSON格式数据
|
||||
if ($reimbursementLists) {
|
||||
View::assign('detail', $reimbursementLists);
|
||||
} else {
|
||||
View::assign('message', '没有详细数据');
|
||||
}
|
||||
}
|
||||
|
||||
$param['update_time'] = date('Y-m-d H:i:s', time());
|
||||
$param['update_time'] = date('Y-m-d', time());
|
||||
$res = ReimbursementList::where('id', $param['id'])->strict(false)->field(true)->update($param);
|
||||
if ($res) {
|
||||
add_log('edit', $param['id'], $param, $reimbursementLists);
|
||||
return json(["code" => 0, "msg" => "编辑成功"]); // 返回JSON格式数据
|
||||
} else {
|
||||
return json(["code" => -1, "msg" => "编辑失败"]); // 返回JSON格式数据
|
||||
return view();
|
||||
// return $reimbursementLists;
|
||||
}
|
||||
|
||||
// 编辑条目详情
|
||||
public function editdetailitem()
|
||||
{
|
||||
$param = get_params();
|
||||
if (request()->isPost()) {
|
||||
$id = $param['id'];
|
||||
$reimbursementLists = ReimbursementList::where('id', $id)
|
||||
->field('id, pid, times, department, project, cate, price, creater, haveticket, tickets, remark, create_time')
|
||||
->find();
|
||||
|
||||
if ($reimbursementLists) {
|
||||
$dateString = $param['times'];
|
||||
$dateString = str_replace(['年', '月', '日'], '-', $dateString);
|
||||
$dateString = rtrim($dateString, '-');
|
||||
|
||||
$reimbursementLists->department = $param['department'];
|
||||
$reimbursementLists->project = $param['project'];
|
||||
$reimbursementLists->cate = $param['cate'];
|
||||
$reimbursementLists->price = $param['price'];
|
||||
$reimbursementLists->haveticket = $param['haveticket'];
|
||||
$reimbursementLists->tickets = $param['tickets'];
|
||||
$reimbursementLists->remark = $param['remark'];
|
||||
$reimbursementLists->save();
|
||||
return json(["code" => 0, "msg" => "编辑成功"]);
|
||||
} else {
|
||||
return json(["code" => 1, "msg" => "信息不存在"]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
//添加
|
||||
public function add()
|
||||
{
|
||||
@@ -298,7 +326,7 @@ class Index extends BaseController
|
||||
}
|
||||
|
||||
// 查看报销详情
|
||||
public function viewitem($id)
|
||||
public function viewitemlist($id)
|
||||
{
|
||||
$reimbursementLists = ReimbursementList::where('pid', $id)
|
||||
->whereNull('delete_time')
|
||||
@@ -457,45 +485,6 @@ class Index extends BaseController
|
||||
}
|
||||
}
|
||||
|
||||
public function editdetailitem($id)
|
||||
{
|
||||
$reimbursementLists = ReimbursementList::where('id', $id)
|
||||
->field('id, pid, times, department, project, cate, price, creater, haveticket, tickets, remark, create_time')
|
||||
->find();
|
||||
// print_r($reimbursementLists);
|
||||
|
||||
if ($reimbursementLists) {
|
||||
// 获取发生时间
|
||||
$times = $reimbursementLists['times'];
|
||||
// 获取部门名称
|
||||
$department = DepartmentList::where('id', $reimbursementLists['department'])->value('title');
|
||||
// 获取创建者名称
|
||||
$creater = Admin::where('id', $reimbursementLists['creater'])->value('name');
|
||||
// print_r($creater);
|
||||
|
||||
if ($times) {
|
||||
$timesDate = date('Y年m月d日', strtotime($times));
|
||||
$reimbursementLists['times'] = $timesDate;
|
||||
}
|
||||
|
||||
if ($department) {
|
||||
$reimbursementLists['department'] = $department;
|
||||
}
|
||||
if ($creater) {
|
||||
$reimbursementLists['creater'] = $creater;
|
||||
}
|
||||
|
||||
if ($reimbursementLists) {
|
||||
View::assign('detail', $reimbursementLists);
|
||||
} else {
|
||||
View::assign('message', '没有详细数据');
|
||||
}
|
||||
}
|
||||
|
||||
return view();
|
||||
// return $reimbursementLists;
|
||||
}
|
||||
|
||||
//编辑锁定状态
|
||||
public function editlock($id, $lock)
|
||||
{
|
||||
|
||||
@@ -0,0 +1,349 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title></title>
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black">
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<meta name="format-detection" content="telephone=no">
|
||||
<link rel="stylesheet" href="/static/assets/gougu/css/gougu.css">
|
||||
<style>
|
||||
.close {
|
||||
width: 100%;
|
||||
height: 80px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<form action="">
|
||||
<div class="page-content">
|
||||
<div class="p-4 border-b">
|
||||
<h3 class="h3-title hover">
|
||||
<span>报销编号 - </span><span>{$detail.id}</span>
|
||||
</h3>
|
||||
<input type="text" name="pid" lay-verify="" class="layui-input" value="{$detail.pid}" id="pid"
|
||||
style="display: none;"/>
|
||||
<input type="text" name="department" lay-verify="" class="layui-input" value="{$detail.department}"
|
||||
id="department" style="display: none;"/>
|
||||
<input type="text" name="project" lay-verify="" class="layui-input" value="{$detail.project}"
|
||||
id="project" style="display: none;"/>
|
||||
<input type="text" name="dates" lay-verify="" class="layui-input" value="" id="dates"
|
||||
style="display: none;"/>
|
||||
<input type="text" name="id" lay-verify="" class="layui-input" value="{$detail.id}" id="id"
|
||||
style="display: none;"/>
|
||||
</div>
|
||||
<div class="layui-row border-b">
|
||||
<table class="layui-table layui-table-form">
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">费用类型</td>
|
||||
<td>
|
||||
<select name="cate" lay-verify="required" lay-reqText="请选择费用类型" class="layui-select"
|
||||
lay-search lay-filter="cate" style="width: 100%;" id="cate">
|
||||
<option value="">请选择费用类型</option>
|
||||
</select>
|
||||
</td>
|
||||
<td class="layui-td-gray-2">隶属项目</td>
|
||||
<td>
|
||||
<select name="project" lay-verify="required" lay-reqText="请选择隶属项目" class="layui-select"
|
||||
lay-search lay-filter="cate" style="width: 100%;" id="project">
|
||||
<option value="">请选择隶属项目</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">报销金额</td>
|
||||
<td>
|
||||
<input type="text" name="price" lay-verify="" lay-reqText="请填入报销金额,例如:52.00"
|
||||
placeholder="请填入报销金额,例如:52.00" class="layui-input" value="{$detail.price}"
|
||||
id="price"/>
|
||||
</td>
|
||||
<td class="layui-td-gray-2">是否有票</td>
|
||||
<td>
|
||||
<select name="haveticket" lay-verify="required" lay-reqText="请选择" class="layui-select"
|
||||
lay-search lay-filter="haveticket" style="width: 100%;">
|
||||
<option value="无">无</option>
|
||||
<option value="有">有</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">发生时间</td>
|
||||
<td>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="times" class="layui-input" id="times" placeholder="yyyy年MM月dd日"
|
||||
value="{$detail.times}">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">上传票据</td>
|
||||
<td colspan="4">
|
||||
<input type="hidden" name="tickets" id="ticketsInput" value="{$detail.tickets}">
|
||||
<div id="no-ticket-msg" style="color: red;">当前无票,不可上传</div>
|
||||
<div class="layui-upload-drag" style="display: block;" id="ID-upload-demo-drag">
|
||||
<i class="layui-icon layui-icon-upload"></i>
|
||||
<div>点击上传,或将文件拖拽到此处</div>
|
||||
<div class="layui-hide" id="tickets">
|
||||
<hr>
|
||||
<img src="{#tickets}" alt="上传成功后渲染" style="max-width: 100%">
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">上传附件</td>
|
||||
<td colspan="4">
|
||||
<div class="layui-upload">
|
||||
<button type="button" class="layui-btn layui-btn-normal" id="uploadfile">选择多文件</button>
|
||||
<div class="layui-upload-list">
|
||||
<table class="layui-table">
|
||||
<colgroup>
|
||||
<col style="min-width: 100px;">
|
||||
<col width="150">
|
||||
<col width="260">
|
||||
<col width="150">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<th>文件名</th>
|
||||
<th>大小</th>
|
||||
<th>上传进度</th>
|
||||
<th>操作</th>
|
||||
</thead>
|
||||
<tbody id="update"></tbody>
|
||||
</table>
|
||||
</div>
|
||||
<button type="button" class="layui-btn" id="uploadfileaction">开始上传</button>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">备注</td>
|
||||
<td colspan="4">
|
||||
<input type="text" name="remark" lay-verify="" lay-reqText="" placeholder=""
|
||||
class="layui-input" value="{$detail.remark}" id="remark"/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="close">
|
||||
<button class="layui-btn layui-btn-normal" lay-filter="webform" lay-submit="">
|
||||
立即提交
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
</body>
|
||||
<script>
|
||||
const moduleInit = ["tool", "gouguEdit", "gouguComment"];
|
||||
|
||||
function gouguInit() {
|
||||
var table = layui.table;
|
||||
var tool = layui.tool;
|
||||
var dropdown = layui.dropdown;
|
||||
var $ = layui.jquery;
|
||||
var form = layui.form;
|
||||
var layer = layui.layer;
|
||||
var upload = layui.upload;
|
||||
var element = layui.element;
|
||||
var laydate = layui.laydate;
|
||||
|
||||
upload.render({
|
||||
elem: '#ID-upload-demo-drag',
|
||||
url: '/api/index/upload',
|
||||
done: function (res) {
|
||||
layer.msg('上传成功');
|
||||
// 将图片路径赋值给隐藏的 input 元素
|
||||
document.getElementById('ticketsInput').value = res.data.filepath;
|
||||
console.log(res);
|
||||
}
|
||||
});
|
||||
|
||||
// 获取项目类别
|
||||
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);
|
||||
});
|
||||
select.value = '{$detail.project}';
|
||||
form.render("select");
|
||||
})
|
||||
.catch((error) => {
|
||||
console.error("Error:", error);
|
||||
});
|
||||
|
||||
//渲染日期选择
|
||||
// laydate.render({
|
||||
// elem: '#times',
|
||||
// format: 'yyyy年MM月dd日',
|
||||
// done: function (value) {
|
||||
// console.log('您选择的日期是:' + value);
|
||||
// times = value.replace(/年|月/g, '-').replace('日', '');
|
||||
// }
|
||||
// });
|
||||
|
||||
// 上传附件渲染
|
||||
// 制作多文件上传表格
|
||||
var uploadListIns = upload.render({
|
||||
elem: '#uploadfile',
|
||||
elemList: $('#update'),
|
||||
url: '/api/index/upload',
|
||||
accept: 'file',
|
||||
multiple: true,
|
||||
number: 3,
|
||||
auto: false,
|
||||
bindAction: '#uploadfileaction',
|
||||
choose: function (obj) {
|
||||
var that = this;
|
||||
var files = this.files = obj.pushFile();
|
||||
// 读取本地文件
|
||||
obj.preview(function (index, file, result) {
|
||||
var tr = $('<tr id="upload-' + index + '">' +
|
||||
'<td>' + file.name + '</td>' +
|
||||
'<td>' + (file.size / 1024).toFixed(1) + 'kb</td>' +
|
||||
'<td><div class="layui-progress" lay-filter="progress-demo-' + index + '"><div class="layui-progress-bar" lay-percent=""></div></div></td>' +
|
||||
'<td>' +
|
||||
'<button class="layui-btn layui-btn-xs demo-reload layui-hide">重传</button>' +
|
||||
'<button class="layui-btn layui-btn-xs layui-btn-danger demo-delete">删除</button>' +
|
||||
'</td>' +
|
||||
'</tr>');
|
||||
|
||||
// 单个重传
|
||||
tr.find('.demo-reload').on('click', function () {
|
||||
obj.upload(index, file);
|
||||
});
|
||||
// 删除
|
||||
tr.find('.demo-delete').on('click', function () {
|
||||
delete files[index];
|
||||
tr.remove();
|
||||
// 清空 input file 值,以免删除后出现同名文件不可选
|
||||
uploadListIns.config.elem.next()[0].value = '';
|
||||
});
|
||||
$('#update').append(tr);
|
||||
element.render('progress');
|
||||
});
|
||||
},
|
||||
done: function (res, index, upload) {
|
||||
var that = this;
|
||||
var tr = $('#update').find('tr#upload-' + index);
|
||||
var tds = tr.children();
|
||||
tds.eq(3).html('');
|
||||
delete this.files[index];
|
||||
return;
|
||||
//}
|
||||
this.error(index, upload);
|
||||
},
|
||||
allDone: function (obj) {
|
||||
console.log(obj);
|
||||
},
|
||||
error: function (index, upload) {
|
||||
var that = this;
|
||||
var tr = $('#update').find('tr#upload-' + index);
|
||||
var tds = tr.children();
|
||||
// 显示重传
|
||||
tds.eq(3).find('.demo-reload').removeClass('layui-hide');
|
||||
},
|
||||
progress: function (n, elem, e, index) {
|
||||
element.progress('progress-demo-' + index, n + '%');
|
||||
}
|
||||
});
|
||||
|
||||
// 获取费用类型
|
||||
fetch("/reimbursement/index/reimcate")
|
||||
.then((response) => response.json())
|
||||
.then((data) => {
|
||||
var select = document.querySelector('select[name="cate"]');
|
||||
// select.innerHTML = '<option value="">请选择费用类型</option>';
|
||||
data.data.forEach((cate) => {
|
||||
var option = document.createElement("option");
|
||||
option.value = cate.id;
|
||||
option.innerText = cate.cate;
|
||||
select.appendChild(option);
|
||||
});
|
||||
select.value = '{$detail.cate}';
|
||||
form.render("select");
|
||||
})
|
||||
.catch((error) => {
|
||||
console.error("Error:", error);
|
||||
});
|
||||
|
||||
//监听提交结果
|
||||
form.on("submit(webform)", function (data) {
|
||||
fetch("/reimbursement/index/editdetailitem", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({
|
||||
id: document.getElementById('id').value,
|
||||
pid: document.getElementById('pid').value,
|
||||
project: document.querySelector('select[name="project"]').value,
|
||||
department: document.getElementById('department').value,
|
||||
cate: document.querySelector('select[name="cate"]').value,
|
||||
haveticket: document.querySelector('select[name="haveticket"]').value,
|
||||
price: document.getElementById('price').value,
|
||||
remark: document.getElementById('remark').value,
|
||||
times: document.getElementById('times').value,
|
||||
tickets: document.getElementById('ticketsInput').value,
|
||||
}),
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
})
|
||||
.then((response) => response.json())
|
||||
.then((result) => {
|
||||
layer.msg(result.msg, {
|
||||
time: 1000,
|
||||
end: function () {
|
||||
if (result.code === 0) {
|
||||
var index = window.parent.layer.getFrameIndex(window.name);
|
||||
window.parent.layer.close(index);
|
||||
window.parent.layui.table.reload('reimbursementdetail'); // 刷新表格
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
return false;
|
||||
});
|
||||
}
|
||||
|
||||
</script>
|
||||
<script>
|
||||
// 获取是否有票选择框元素
|
||||
const haveticketSelect = document.querySelector('select[name="haveticket"]');
|
||||
// 获取上传票据区域元素
|
||||
const uploadSection = document.querySelector('#ID-upload-demo-drag');
|
||||
// 获取无票提示信息元素
|
||||
const noTicketMsg = document.getElementById('no-ticket-msg');
|
||||
|
||||
// 初始隐藏上传票据区域
|
||||
uploadSection.style.display = 'none';
|
||||
|
||||
// 监听是否有票选择框的change事件
|
||||
haveticketSelect.addEventListener('change', function () {
|
||||
// 如果选择了有票
|
||||
if (haveticketSelect.value === '有') {
|
||||
// 显示上传票据区域
|
||||
uploadSection.style.display = 'block';
|
||||
// 隐藏无票提示信息
|
||||
noTicketMsg.style.display = 'none';
|
||||
} else {
|
||||
// 否则隐藏上传票据区域
|
||||
uploadSection.style.display = 'none';
|
||||
// 显示无票提示信息
|
||||
noTicketMsg.style.display = 'block';
|
||||
}
|
||||
});
|
||||
</script>
|
||||
<script src="/static/assets/layui/layui.js"></script>
|
||||
<script src="/static/assets/gougu/gouguInit.js"></script>
|
||||
@@ -59,19 +59,17 @@
|
||||
|
||||
// console.log(data);
|
||||
if (obj.event === 'view') {
|
||||
var id = data.id; // 获取当前行数据的id
|
||||
var id = data.id;
|
||||
// console.log(id);
|
||||
// 使用layer弹出层来显示详情页面
|
||||
layui.layer.open({
|
||||
type: 2, // iframe层
|
||||
type: 2,
|
||||
title: '报销详情',
|
||||
shadeClose: true,
|
||||
shade: 0.8,
|
||||
area: ['70%', '90%'], // 宽高
|
||||
area: ['70%', '90%'],
|
||||
content: '/reimbursement/index/view?id=' + id,
|
||||
|
||||
end: function () {
|
||||
// 弹出层关闭时刷新当前页面
|
||||
layui.table.reload('reimbursement');
|
||||
}
|
||||
});
|
||||
@@ -168,7 +166,7 @@
|
||||
cols: [
|
||||
[
|
||||
{ type: 'checkbox' },
|
||||
{ field: 'id', width: 80, title: '编号', sort: true, align: "center", totalRowText: '合计:' },
|
||||
{ field: 'id', width: 100, title: '编号', sort: true, align: "center"},
|
||||
{
|
||||
field: "order",
|
||||
title: "账单编号",
|
||||
@@ -195,13 +193,13 @@
|
||||
width: 120,
|
||||
rowspan: 2,
|
||||
},
|
||||
{
|
||||
field: "lock",
|
||||
title: "账单状态",
|
||||
align: "center",
|
||||
width: 120,
|
||||
rowspan: 2,
|
||||
},
|
||||
// {
|
||||
// field: "lock",
|
||||
// title: "账单状态",
|
||||
// align: "center",
|
||||
// width: 120,
|
||||
// rowspan: 2,
|
||||
// },
|
||||
{
|
||||
field: "department",
|
||||
title: "隶属部门",
|
||||
|
||||
@@ -33,80 +33,74 @@
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="page-content">
|
||||
<div class="p-4 border-b">
|
||||
<h3 class="h3-title hover">
|
||||
<span>基本信息</span>
|
||||
</h3>
|
||||
<div class="page-content">
|
||||
<div class="p-4 border-b">
|
||||
<div style="display: flex;justify-content: space-between;align-items: center;">
|
||||
<div>
|
||||
<h3 class="h3-title hover">
|
||||
<span>基本信息</span>
|
||||
</h3>
|
||||
</div>
|
||||
<div style="color: #b3b3b3;">
|
||||
创建时间:{$detail.create_time}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<input type="text" value="{$detail.id}" id="pid" style="display: none;">
|
||||
<div class="layui-row border-b">
|
||||
<table class="layui-table layui-table-form">
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">账单号
|
||||
</td>
|
||||
<td>
|
||||
{$detail.order}
|
||||
</td>
|
||||
<td class="layui-td-gray-2">创建者
|
||||
</td>
|
||||
<td>
|
||||
{$detail.creater}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">隶属部门
|
||||
</td>
|
||||
<td>
|
||||
{$detail.department}
|
||||
</td>
|
||||
<td class="layui-td-gray-2">报销状态
|
||||
</td>
|
||||
<td>
|
||||
{$detail.status}
|
||||
<a href="javascript:;" onclick="editstatus('{$detail.id}')" style="margin-left: 20px;">修改</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">备注
|
||||
</td>
|
||||
<td colspan="4">
|
||||
{$detail.remark}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="p-4 border-b">
|
||||
<h3 class="h3-title hover">
|
||||
<span>详细信息</span>
|
||||
<span>
|
||||
<a class="layui-btn layui-btn-xs layui-btn-normal" lay-event="additem" id="additem">增加报销</a>
|
||||
<a class="layui-btn layui-btn-xs" lay-event="edititem" id="edititem">编辑</a>
|
||||
<a class="layui-btn layui-btn-xs layui-btn-normal" lay-event="delete" id="delete">删除</a>
|
||||
</span>
|
||||
</h3>
|
||||
</div>
|
||||
<div class="layui-row border-b">
|
||||
<table class="layui-table layui-table-form" id="reimbursementdetail"></table>
|
||||
</div>
|
||||
</div>
|
||||
<input type="text" value="{$detail.id}" id="pid" style="display: none;">
|
||||
<div class="layui-row border-b">
|
||||
<table class="layui-table layui-table-form">
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">账单号
|
||||
</td>
|
||||
<td>
|
||||
{$detail.order}
|
||||
</td>
|
||||
<td class="layui-td-gray-2">创建时间
|
||||
</td>
|
||||
<td>
|
||||
{$detail.create_time}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">隶属部门
|
||||
</td>
|
||||
<td>
|
||||
{$detail.department}
|
||||
</td>
|
||||
<td class="layui-td-gray-2">报销状态
|
||||
</td>
|
||||
<td>
|
||||
{$detail.status}
|
||||
<a href="javascript:;" onclick="editstatus('{$detail.id}')" style="margin-left: 20px;">修改</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">创建者
|
||||
</td>
|
||||
<td>
|
||||
{$detail.creater}
|
||||
</td>
|
||||
<td class="layui-td-gray-2">账单状态
|
||||
</td>
|
||||
<td>
|
||||
{$detail.lock}
|
||||
<a href="javascript:;" onclick="editlock('{$detail.id}')" style="margin-left: 20px;">修改</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">备注
|
||||
</td>
|
||||
<td colspan="4">
|
||||
{$detail.remark}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="close">
|
||||
<button class="layui-btn" onclick="printPage()">打印本页</button>
|
||||
<button class="layui-btn layui-bg-blue" id="refresh">刷新</button>
|
||||
</div>
|
||||
<div class="p-4 border-b">
|
||||
<h3 class="h3-title hover">
|
||||
<span>详细信息</span>
|
||||
<span>
|
||||
<a class="layui-btn layui-btn-xs layui-btn-normal" lay-event="additem" id="additem">增加报销</a>
|
||||
<a class="layui-btn layui-btn-xs" lay-event="edititem" id="edititem">编辑</a>
|
||||
<a class="layui-btn layui-btn-xs layui-btn-normal" lay-event="delete" id="delete">删除</a>
|
||||
</span>
|
||||
</h3>
|
||||
</div>
|
||||
<div class="layui-row border-b">
|
||||
<table class="layui-table layui-table-form" id="reimbursementdetail"></table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="close">
|
||||
<button class="layui-btn" onclick="printPage()">打印本页</button>
|
||||
<button class="layui-btn layui-bg-blue" id="refresh">刷新</button>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<script>
|
||||
@@ -181,7 +175,7 @@
|
||||
$("#delete").on("click", function () {
|
||||
// 只有在未报销状态下才允许删除
|
||||
if (currentStatus === "已报销") return;
|
||||
layui.layer.confirm("确定删除该内容吗?", {icon: 3, title: "提示"}, function (index) {
|
||||
layui.layer.confirm("确定删除该内容吗?", { icon: 3, title: "提示" }, function (index) {
|
||||
var checkStatus = layui.table.checkStatus('reimbursementdetail'); // 获取选中行的状态
|
||||
var data = checkStatus.data; // 获取选中的数据
|
||||
if (data.length === 0) {
|
||||
@@ -189,7 +183,7 @@
|
||||
return;
|
||||
}
|
||||
var id = data[0].id; // 获取第一个选中项的 ID
|
||||
$.post("/reimbursement/index/delete", {id: id}, function (res) {
|
||||
$.post("/reimbursement/index/delete", { id: id }, function (res) {
|
||||
if (res.code === 0) {
|
||||
layui.layer.msg(res.msg);
|
||||
layui.table.reload('reimbursementdetail'); // 刷新表格
|
||||
@@ -215,15 +209,15 @@
|
||||
layui.pageTable = layui.table.render({
|
||||
elem: "#reimbursementdetail",
|
||||
// toolbar: '#toolbarDemo',
|
||||
cellMinWidth: 80,
|
||||
url: "/reimbursement/index/viewitem?id=" + pid,// 数据接口
|
||||
// cellMinWidth: 80,
|
||||
url: "/reimbursement/index/viewitemlist?id=" + pid,// 数据接口
|
||||
page: true,
|
||||
limit: 50,
|
||||
totalRow: true,
|
||||
filter: "reimbursementdetail",
|
||||
cols: [
|
||||
[
|
||||
{type: 'checkbox',},
|
||||
{ type: 'checkbox', },
|
||||
{
|
||||
field: 'id',
|
||||
width: 100,
|
||||
@@ -267,26 +261,28 @@
|
||||
field: "price",
|
||||
title: "报销金额",
|
||||
align: "center",
|
||||
width: 120,
|
||||
rowspan: 2,
|
||||
templet: function (d) {
|
||||
return '<span>' + d.price + "</span>";
|
||||
},
|
||||
totalRow: true, // 添加此行以计算总计
|
||||
},
|
||||
{
|
||||
field: "haveticket",
|
||||
title: "是否有票",
|
||||
width: 120,
|
||||
align: "center",
|
||||
rowspan: 2,
|
||||
templet: function (d) {
|
||||
return '<span>' + d.haveticket + "</span>";
|
||||
},
|
||||
},
|
||||
// {
|
||||
// field: "haveticket",
|
||||
// title: "是否有票",
|
||||
// width: 120,
|
||||
// align: "center",
|
||||
// rowspan: 2,
|
||||
// templet: function (d) {
|
||||
// return '<span>' + d.haveticket + "</span>";
|
||||
// },
|
||||
// },
|
||||
{
|
||||
field: "tickets",
|
||||
title: "发票查看",
|
||||
align: "center",
|
||||
width: 120,
|
||||
rowspan: 2,
|
||||
templet: function (d) {
|
||||
if (d.tickets) {
|
||||
@@ -389,17 +385,17 @@
|
||||
$.ajax({
|
||||
url: '/reimbursement/index/editstatus',
|
||||
type: 'POST',
|
||||
data: {id: id, status: status},
|
||||
data: { id: id, status: status },
|
||||
success: function (response) {
|
||||
if (response.code === 0) {
|
||||
layer.closeAll();
|
||||
layer.msg(response.msg, {icon: 1});
|
||||
layer.msg(response.msg, { icon: 1 });
|
||||
} else {
|
||||
layer.msg(response.msg, {icon: 2});
|
||||
layer.msg(response.msg, { icon: 2 });
|
||||
}
|
||||
},
|
||||
error: function () {
|
||||
layer.msg('请求失败', {icon: 2});
|
||||
layer.msg('请求失败', { icon: 2 });
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -410,17 +406,17 @@
|
||||
$.ajax({
|
||||
url: '/reimbursement/index/editlock',
|
||||
type: 'POST',
|
||||
data: {id: id, lock: lock},
|
||||
data: { id: id, lock: lock },
|
||||
success: function (response) {
|
||||
if (response.code === 0) {
|
||||
layer.closeAll();
|
||||
layer.msg(response.msg, {icon: 1});
|
||||
layer.msg(response.msg, { icon: 1 });
|
||||
} else {
|
||||
layer.msg(response.msg, {icon: 2});
|
||||
layer.msg(response.msg, { icon: 2 });
|
||||
}
|
||||
},
|
||||
error: function () {
|
||||
layer.msg('请求失败', {icon: 2});
|
||||
layer.msg('请求失败', { icon: 2 });
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user