yijia-webman/app/view/goods/receipt.html

258 lines
10 KiB
HTML
Raw Normal View History

2025-03-30 10:36:39 +08:00
{layout name="layout" /}
<div class="layui-row layui-col-space12">
<div class="layui-col-xs12 layui-col-md12">
<div class="layuimini-container location-index-page">
<div class="layuimini-main">
<fieldset class="table-search-fieldset">
<legend>搜索信息</legend>
<div style="margin: 10px 10px 10px 10px">
<form class="layui-form layui-form-pane" action="">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">关键词</label>
<div class="layui-input-block">
<input class="layui-input" name="keyword" placeholder="支持模糊查询">
</div>
</div>
<div class="layui-inline">
<button type="submit" class="layui-btn layui-btn-primary" lay-submit lay-filter="data-search-btn"><i class="layui-icon"></i> 搜 索</button>
<button type="reset" class="layui-btn layui-btn-primary" ><i class="layui-icon"></i> 重 置</button>
</div>
</div>
<div class="layui-word-aux">
1. 添加日志,直接新增对应商品库存<br>
2. 删除日志,不会扣除已添加库存<br>
3. 修改日志,只能修改总价和进货日期<br>
4. 大包可拆分小包数量=当时商品的可拆分数量如仅记录当时1大包可以拆分成10小包后期改包装后1大包可以拆分20包不影响<br>
5. 小包进货单价=大包单价➗大包可拆分小包数量<br>
</div>
</form>
</div>
</fieldset>
<div class="image-table">
<table id="table-container" class="layui-table" data-url="/goods/apiGetReceiptList" lay-filter="table-container-filter"></table>
</div>
</div>
</div>
</div>
</div>
<!-- 隐藏列 -->
<!-- 编辑单元格提交url -->
<input type="hidden" id="row-modify" data-url="/manager.goodsReceiptLog/modify">
<!-- 操作列 -->
<script type="text/html" id="row-operate">
<a class="layui-btn layui-btn-primary layui-btn-xs" data-href="/goods/editReceipt?id={{d.id}}" data-title="编辑" lay-event="edit">编辑</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" data-href="/goods/delReceipt.html" lay-event="del">删除</a>
</script>
<!-- toolbar -->
<script type="text/html" id="toolbar-tpl">
<a class="layui-btn layui-btn-primary layui-btn-sm" data-table-refresh lay-event="refresh"><i class="fa fa-refresh"></i></a>
<a class="layui-btn layui-btn-normal layui-btn-sm" data-href="/manager.goodsReceiptLog/add.html" data-title="添加" lay-event="add">添加</a>
<a class="layui-btn layui-btn-danger layui-btn-sm" data-href="/manager.goodsReceiptLog/del.html" lay-event="del">删除</a>
</script>
<script>
layui.use(['laytpl', 'table', 'jquery', 'form', 'laydate'], function () {
let $ = layui.jquery,
table = layui.table,
laydate = layui.laydate,
form = layui.form;
/**** index begin ***/
if ($('.location-index-page').length > 0) {
// 渲染表格
let listUrl = $('#table-container').data('url');
let insTb = table.render({
elem: '#table-container',
title: '列表',
defaultToolbar: ['filter', 'exports', {
title: '搜索' //自定义头部工具栏右侧图标。如无需自定义,去除该参数即可
, layEvent: 'search'
, icon: 'layui-icon-search'
}],
toolbar: '#toolbar-tpl',
//method: 'POST',
url: listUrl,
page: true,
limit: 20,
limits: [20,50,100,200,500,1000],
request: {
pageName: 'page',
limitName: 'size',
},
parseData: function (res) {
return {
"code": res.code, //解析接口状态
"msg": res.msg, //解析提示文本
"count": res.receiptList.total, //解析数据长度
"data": res.receiptList.data //解析数据列表
};
},
cols: [[
{type: 'checkbox'},
{field: 'id', title: '#'},
{field: 'goods_name', title: '商品名称'},
{field: 'total_price', title: '总价'},
{field: 'num', title: '大包数量'},
{field: 'cost_price', title: '大包进货单价'},
{field: 'small_cost_price', title: '小包进货单价'},
{field: 'split_to_small', title: '大包可拆分小包数量'},
{field: 'bought_at', title: '进货日期'}
,{templet: '#row-operate', minWidth: 180, align: 'center', title: '操作'}
]],
done: function () {
//Tools.setInsTb(insTb);
}
});
//监听工具条 注意区别toolbar和tool toolbar是表头上的工具条 tool是行中的工具条
table.on('toolbar(table-container-filter)', function (obj) {
let layEvent = obj.event;
//let insTb = Tools.getInsTb();
let url = $($(this).context).data('href')
let title = $($(this).context).data('title')
let width = $($(this).context).data('width') ? $($(this).context).data('width') : '100%';
let height = $($(this).context).data('height') ? $($(this).context).data('height') : '100%';
let checkStatus = table.checkStatus('table-container');
let selected = checkStatus.data;
let ids = [];
switch (layEvent) {
// toolbar 删除
case 'del':
if (checkStatus.data.length <= 0) {
layer.msg('请先选择数据');
return false;
}
// let selected = checkStatus.data;
// let ids = [];
$.each(selected, function (index, val) {
ids.push(val.id);
})
//delRow(url, ids, insTb);
return false;
// toolbar 刷新
case 'refresh':
//refreshTab(insTb);
return false;
// toolbar 搜索
case 'search':
let search = $('.table-search-fieldset');
if (search.hasClass('div-show')) {
search.css('display', 'none').removeClass('div-show');
} else {
search.css('display', 'block').addClass('div-show');
}
return false;
// 其他 默认为打开弹出层
default:
if (layEvent !== 'LAYTABLE_COLS' && layEvent !== 'LAYTABLE_EXPORT') {
layerAlert('get', '添加', '/goods/addReceipt');
//openLayer(url, title, width, height);
return false;
}
}
});
//监听行工具条
table.on('tool(table-container-filter)', function (obj) {
let data = obj.data;
let layEvent = obj.event;
let url = $($(this).context).data('href');
console.log($(this).data('href'));
console.log(data.id);
let title = $($(this).context).data('title');
let width = $($(this).context).data('width') ? $($(this).context).data('width') : '100%';
let height = $($(this).context).data('height') ? $($(this).context).data('height') : '100%';
//let insTb = Tools.getInsTb();
switch (layEvent) {
// 行 删除
case 'del':
let url = '/goods/apiDelReceipt';
$.post(url, {id: data.id}, function (res) {
if (res.code === 0) {
insTb.reload();
}
layer.msg(res.msg);
});
return false;
//其他 默认为打开弹出层
default:
layerAlert('get', title, url);
//openLayer(url, title, width, height);
return false;
}
});
// 监听
let modifyUrl = $('#row-modify').data('url');
table.on('edit(table-container)', function (obj) {
let id = obj.data.id;
$.ajax(modifyUrl, {
data: {"id": id, "field": obj.field, "value": obj.value}
,dataType : 'json'
,type: 'POST'
})
.done(function (res) {
if (res.code === 0) {
insTb.reload();
}
})
});
// switch变更
function changeSwitch(filter) {
form.on('switch(' + filter + ')', function (obj) {
let val = obj.elem.checked ? 1 : 0;
$.post(modifyUrl, {id: this.value, field: this.name, value: val}, function (res) {
layer.msg(res.msg)
if (res.code !== 0) {
//操作不成功则刷新页面
insTb.reload();
}
})
});
}
// 监听搜索操作
form.on('submit(data-search-btn)', function (data) {
//执行搜索重载
table.reload('table-container', {
page: {curr: 1}
, where: data.field
}, 'data');
return false;
});
}
/*** index end ***/
if ($('.location-operate-page').length > 0) {
let parentCategory = $('#parent-category');
let categoryList = parentCategory.data('list') ? parentCategory.data('list') : [];
laydate.render({
elem: '#published-at',
type: 'datetime',
});
laydate.render({
elem: '#bought_at'
});
}
});
</script>