305 lines
8.0 KiB
HTML
305 lines
8.0 KiB
HTML
{extend name="../../base/view/common/base" /}
|
|
<!-- 主体 -->
|
|
{block name="breadcrumb"}
|
|
<span class="layui-breadcrumb">
|
|
<a href="http://www.meteteme.com/" target="_blank">江苏美天科技</a>
|
|
<a href="/application/nav/index">
|
|
<cite>应用</cite>
|
|
</a>
|
|
<a>
|
|
<cite>供应商管理</cite>
|
|
</a>
|
|
</span>
|
|
{/block}
|
|
{block name="body"}
|
|
<div class="table-content p-3">
|
|
<div class="layui-form-bar border-t border-x">
|
|
<button class="layui-btn layui-btn-sm layui-bg-blue add-new">+ 新建供应商</button>
|
|
<button class="layui-btn layui-btn-sm" id="refresh-btn">刷新</button>
|
|
</div>
|
|
<div class="layui-form-bar border-t border-x">
|
|
<form id="taskForm" class="layui-form">
|
|
<div class="layui-col-md4" style="width: 200px;margin-right: 10px;">
|
|
<div class="layui-input-wrap">
|
|
<div class="layui-input-prefix">
|
|
<!-- <i class="layui-icon layui-icon-username"></i>-->
|
|
</div>
|
|
<input id="gys" type="text" name="supplier_name" value="" placeholder="请输入供应商名称" class="layui-input"
|
|
lay-affix="clear">
|
|
</div>
|
|
</div>
|
|
<div class="layui-col-md4" style="width: 200px;margin-right: 10px;">
|
|
<div class="layui-input-wrap">
|
|
<input id="lxr" type="text" name="contact_name" value="" placeholder="请输入联系人名称" class="layui-input"
|
|
lay-affix="clear">
|
|
</div>
|
|
</div>
|
|
<div class="layui-col-md4" style="width: 200px;margin-right: 10px;">
|
|
<div class="layui-input-wrap">
|
|
<input id="lxdh" type="text" name="contact_phone" value="" placeholder="请输入联系电话" class="layui-input"
|
|
lay-affix="clear">
|
|
</div>
|
|
</div>
|
|
<button class="layui-btn" lay-submit lay-filter="webform">搜索</button>
|
|
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
|
|
</form>
|
|
</div>
|
|
<table class="layui-hide" id="supplier" lay-filter="supplier"></table>
|
|
</div>
|
|
{/block}
|
|
<!-- /主体 -->
|
|
|
|
<!-- 脚本 -->
|
|
{block name="script"}
|
|
<script>
|
|
const moduleInit = ['tool', 'gouguEdit', 'gouguComment'];
|
|
|
|
function gouguInit() {
|
|
var table = layui.table,
|
|
form = layui.form,
|
|
tool = layui.tool;
|
|
|
|
//存储表格原始数据
|
|
var originalData = [];
|
|
|
|
// 添加按钮
|
|
$('.add-new').on('click', function () {
|
|
tool.open('/business/supplier/add');
|
|
});
|
|
|
|
// 刷新按钮
|
|
$("#refresh-btn").on("click", function () {
|
|
location.reload();
|
|
});
|
|
|
|
// 搜索按钮
|
|
form.on('submit(webform)', function (data) {
|
|
var field = data.field; // 获取表单字段
|
|
|
|
// 根据筛选条件筛选原始数据
|
|
var filteredData = originalData.filter(function (item) {
|
|
return (!field.supplier_name || item.supplier_name.includes(field.supplier_name)) &&
|
|
(!field.contact_name || item.contact_name.includes(field.contact_name)) &&
|
|
(!field.contact_phone || item.contact_phone.includes(field.contact_phone));
|
|
});
|
|
|
|
// 更新表格,只修改数据,不重新加载整个表格结构
|
|
layui.pageTable.reload({
|
|
data: filteredData, // 使用筛选后的数据更新表格
|
|
page: {
|
|
curr: 1 // 重新从第 1 页开始
|
|
}
|
|
});
|
|
|
|
return false; // 阻止默认 form 提交
|
|
});
|
|
|
|
// 表格渲染
|
|
layui.pageTable = table.render({
|
|
elem: '#supplier',
|
|
title: '供应商列表',
|
|
cellMinWidth: 80,
|
|
url: "/business/supplier/index", // 数据接口
|
|
page: true, // 开启分页
|
|
limit: 50,
|
|
height: 'full-130',
|
|
cols: [[
|
|
// {
|
|
// field: 'id',
|
|
// title: '供应商编号',
|
|
// width: 100,
|
|
// align: 'center',
|
|
// rowspan: 2,
|
|
// templet: function (d) {
|
|
// return 'S' + d.id;
|
|
// }
|
|
// },
|
|
{
|
|
field: 'supplier_name',
|
|
title: '供应商名称',
|
|
align: 'center',
|
|
width: 300,
|
|
rowspan: 2,
|
|
templet: function (d) {
|
|
var html = '<span>' + (d.supplier_name || '-') + '</span>';
|
|
return html;
|
|
}
|
|
},
|
|
{
|
|
field: 'contact_name',
|
|
title: '联系人',
|
|
align: 'center',
|
|
width: 120,
|
|
rowspan: 2,
|
|
templet: function (d) {
|
|
var html = '<span>' + (d.contact_name || '-') + '</span>';
|
|
return html;
|
|
}
|
|
},
|
|
{
|
|
field: 'contact_phone',
|
|
title: '联系电话',
|
|
align: 'center',
|
|
width: 120,
|
|
rowspan: 2,
|
|
templet: function (d) {
|
|
var html = '<span>' + (d.contact_phone || '-') + '</span>';
|
|
return html;
|
|
}
|
|
},
|
|
{
|
|
field: 'contact_email',
|
|
title: '电子邮件',
|
|
align: 'center',
|
|
width: 180,
|
|
rowspan: 2,
|
|
templet: function (d) {
|
|
var html = '<span>' + (d.contact_email || '-') + '</span>';
|
|
return html;
|
|
}
|
|
},
|
|
{
|
|
field: 'company_size',
|
|
title: '规模',
|
|
align: 'center',
|
|
width: 120,
|
|
rowspan: 2,
|
|
templet: function (d) {
|
|
// 将 company_size 转换为字符串进行匹配
|
|
var sizeText = '';
|
|
switch (String(d.company_size)) {
|
|
case '1':
|
|
sizeText = '微型企业';
|
|
break;
|
|
case '2':
|
|
sizeText = '小型企业';
|
|
break;
|
|
case '3':
|
|
sizeText = '中型企业';
|
|
break;
|
|
case '4':
|
|
sizeText = '大型企业';
|
|
break;
|
|
case '5':
|
|
sizeText = '事业单位';
|
|
break;
|
|
case '6':
|
|
sizeText = '国有企业';
|
|
break;
|
|
case '7':
|
|
sizeText = '外企';
|
|
break;
|
|
case '8':
|
|
sizeText = '其他';
|
|
break;
|
|
default:
|
|
sizeText = '-';
|
|
}
|
|
return '<span>' + sizeText + '</span>';
|
|
}
|
|
},
|
|
{
|
|
field: 'business_scope',
|
|
title: '业务范围',
|
|
align: 'center',
|
|
width: 240,
|
|
rowspan: 2,
|
|
templet: function (d) {
|
|
var html = '<span>' + (d.business_scope || '-') + '</span>';
|
|
return html;
|
|
}
|
|
},
|
|
{
|
|
field: 'remarks',
|
|
title: '备注',
|
|
align: 'center',
|
|
rowspan: 2,
|
|
templet: function (d) {
|
|
var html = '<span>' + (d.remarks || '-') + '</span>';
|
|
return html;
|
|
}
|
|
},
|
|
{
|
|
title: "操作",
|
|
align: "center",
|
|
width: 240,
|
|
minWidth: 125,
|
|
toolbar: "#barDemo",
|
|
},
|
|
]],
|
|
done: function (res, curr, count) {
|
|
// 仅在首次加载表格时保存原始数据
|
|
if (originalData.length === 0) {
|
|
originalData = res.data;
|
|
}
|
|
}
|
|
});
|
|
|
|
// 搜索重置按钮
|
|
$("#taskForm").on("click", '[lay-filter="clear"]', function () {
|
|
layui.pageTable.reload({
|
|
data: originalData, // 重置为原始数据
|
|
page: {
|
|
curr: 1 // 重新从第 1 页开始
|
|
}
|
|
});
|
|
});
|
|
|
|
table.on('tool(supplier)', function (obj) {
|
|
var data = obj.data; // 获取当前行的数据
|
|
|
|
if (obj.event === 'edit') {
|
|
var id = data.id; // 获取当前行数据的id
|
|
var url = '/business/supplier/edit?id=' + id;
|
|
tool.open(url);
|
|
} else if (obj.event === 'delete') {
|
|
layui.layer.confirm(
|
|
"确定删除该账号吗?",
|
|
{ icon: 3, title: "提示" },
|
|
function (index) {
|
|
$.post(
|
|
"/business/supplier/delete",
|
|
{ id: data.id },
|
|
function (res) {
|
|
if (res.code === 0) {
|
|
layui.layer.msg(res.msg);
|
|
obj.del(); // 删除表格中的对应行数据
|
|
} else {
|
|
layui.layer.msg(res.msg);
|
|
}
|
|
}
|
|
);
|
|
layui.layer.close(index);
|
|
}
|
|
);
|
|
} else if (obj.event === 'invoice') {
|
|
var id = data.id; // 获取当前行数据的id
|
|
var url = '/business/supplier/invoice?id=' + id;
|
|
tool.open(url);
|
|
} else if (obj.event === 'view') {
|
|
var id = data.id; // 获取当前行数据的id
|
|
console.log('查看详情', id);
|
|
// 查看详情
|
|
layui.layer.open({
|
|
type: 2, // iframe层
|
|
title: '供应商详情',
|
|
shadeClose: true,
|
|
shade: 0.8,
|
|
area: ['70%', '90%'], // 宽高
|
|
content: '/business/supplier/view?id=' + id,
|
|
});
|
|
}
|
|
});
|
|
}
|
|
|
|
|
|
</script>
|
|
|
|
<script type="text/html" id="barDemo">
|
|
<a class="layui-btn layui-btn-xs " lay-event="view">详情</a>
|
|
<a class="layui-btn layui-btn-xs " lay-event="edit">编辑</a>
|
|
<a class="layui-btn layui-btn-xs layui-bg-blue" lay-event="invoice">开票信息</a>
|
|
<a class="layui-btn layui-btn-xs layui-bg-red" lay-event="delete">删除</a>
|
|
</script>
|
|
{/block}
|
|
<!-- /脚本 --> |