费用报销单

master
jiaxudong 2024-04-26 18:56:25 +08:00
parent 1362692dd2
commit 17afd36c26
7 changed files with 92 additions and 239 deletions

View File

@ -23,15 +23,16 @@
</where>
</select>
<insert id="insertZZSGL_JX_FYDJ" parameterType="map">
INSERT INTO ZZSGL_JX_FYDJ(
INSERT INTO ZZSGL_JX_FYDJ
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="FYID!=null and FYID!=''">FYID, </if>
<if test="DJBH!=null and DJBH!=''">DJBH, </if>
<if test="DJRQ!=null and DJRQ!=''">DJRQ, </if>
<if test="DJRQ!=null">DJRQ, </if>
<if test="DJLX!=null and DJLX!=''">DJLX, </if>
<if test="DJJE!=null and DJJE!=''">DJJE, </if>
<if test="DJSE!=null and DJSE!=''">DJSE, </if>
<if test="BXR!=null and BXR!=''">BXR, </if>
<if test="BXSJ!=null and BXSJ!=''">BXSJ, </if>
<if test="BXSJ!=null">BXSJ, </if>
<if test="BXZT!=null and BXZT!=''">BXZT, </if>
<if test="BXSY!=null and BXSY!=''">BXSY, </if>
<if test="KHSH!=null and KHSH!=''">KHSH, </if>
@ -39,15 +40,16 @@
<if test="SSBM!=null and SSBM!=''">SSBM, </if>
<if test="ZW!=null and ZW!=''">ZW, </if>
<if test="BZ!=null and BZ!=''">BZ, </if>
) VALUES (
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="FYID!=null and FYID!=''">#{FYID}, </if>
<if test="DJBH!=null and DJBH!=''">#{DJBH}, </if>
<if test="DJRQ!=null and DJRQ!=''">#{DJRQ}, </if>
<if test="DJRQ!=null">#{DJRQ}, </if>
<if test="DJLX!=null and DJLX!=''">#{DJLX}, </if>
<if test="DJJE!=null and DJJE!=''">#{DJJE}, </if>
<if test="DJSE!=null and DJSE!=''">#{DJSE}, </if>
<if test="BXR!=null and BXR!=''">#{BXR}, </if>
<if test="BXSJ!=null and BXSJ!=''">#{BXSJ}, </if>
<if test="BXSJ!=null">#{BXSJ}, </if>
<if test="BXZT!=null and BXZT!=''">#{BXZT}, </if>
<if test="BXSY!=null and BXSY!=''">#{BXSY}, </if>
<if test="KHSH!=null and KHSH!=''">#{KHSH}, </if>
@ -55,18 +57,18 @@
<if test="SSBM!=null and SSBM!=''">#{SSBM}, </if>
<if test="ZW!=null and ZW!=''">#{ZW}, </if>
<if test="BZ!=null and BZ!=''">#{BZ} </if>
)
</trim>
</insert>
<insert id="updateZZSGL_JX_FYDJ" parameterType="map">
UPDATE ZZSGL_JX_FYDJ
<set>
<if test="DJBH!=null and DJBH!=''">DJBH = #{DJBH}, </if>
<if test="DJRQ!=null and DJRQ!=''">DJRQ = #{DJRQ}, </if>
<if test="DJRQ!=null">DJRQ = #{DJRQ}, </if>
<if test="DJLX!=null and DJLX!=''">DJLX = #{DJLX}, </if>
<if test="DJJE!=null and DJJE!=''">DJJE = #{DJJE}, </if>
<if test="DJSE!=null and DJSE!=''">DJSE = #{DJSE}, </if>
<if test="BXR!=null and BXR!=''">BXR = #{BXR}, </if>
<if test="BXSJ!=null and BXSJ!=''">BXSJ = #{BXSJ}, </if>
<if test="BXSJ!=null">BXSJ = #{BXSJ}, </if>
<if test="BXZT!=null and BXZT!=''">BXZT = #{BXZT}, </if>
<if test="BXSY!=null and BXSY!=''">BXSY = #{BXSY}, </if>
<if test="KHSH!=null and KHSH!=''">KHSH = #{KHSH}, </if>

View File

@ -1,24 +1,19 @@
$(function () {
kpsq_list.onLoad();
fybx_list.onLoad();
});
/**
* 费用报销单
*/
var kpsq_list = (function () {
var fybx_list = (function () {
//私有属性
var request = $.getRequest();
var kpsx = request['kpsx'];
var curSeg/*, formSearch = "formSearch",tbList,gridObj*/;
var selectXmObj;//左侧导航树所选项目数据对象
var cksqzje;//查看页面申请总金额
var sqid;//查看页面申请总金额
var form, dataSize;
var resdata = 0;
var xmid = '';
var zzjgdm;
var xmzpid = '';
var djlx = '1';
// 私有方法
var initLayout = function () {
layui.use('form', function () {
@ -37,19 +32,8 @@ var kpsq_list = (function () {
});
});
var djlxOptions = [];
djlxOptions.push('<option value="" >--全部--</option>');
FybxUtil.Enums.djlx.forEach(function(item,index,arr){
djlxOptions.push('<option value="' + item.value + '" >' + item.label + '</option>');
});
$("#DJLX").html(djlxOptions.join());
var bxztOptions = [];
bxztOptions.push('<option value="" >--全部--</option>');
FybxUtil.Enums.bxzt.forEach(function(item,index,arr){
bxztOptions.push('<option value="' + item.value + '" >' + item.label + '</option>');
});
$("#BXZT").html(bxztOptions.join());
FybxUtil.renderSelectOptions("#DJLX", FybxUtil.Enums.djlx)
FybxUtil.renderSelectOptions("#BXZT", FybxUtil.Enums.bxzt)
//页面宽度计算
$('.content-wrapper').css('width', $(window).width() - $('.sidebar').width() - 20 + 'px');
@ -111,7 +95,7 @@ var kpsq_list = (function () {
return {
//初始化入口
onLoad: function () {
curSeg = kpsq_list;
curSeg = fybx_list;
initLayout();
curSeg.onQuery();
// 删除组件释放内存
@ -232,7 +216,7 @@ var kpsq_list = (function () {
top.window.iframeLayerData = kpsx;
top.sctTools.openPage({
type: 2,
id: 'win_kpsq_addfpxx',
id: 'win_fybx_addfpxx',
title: '<b>新增费用报销信息</b>',
maxmin: true,
shadeClose: false, //点击遮罩关闭层
@ -297,7 +281,7 @@ var kpsq_list = (function () {
top.window.iframeLayerData = {transParams: row};
top.sctTools.openPage({
type: 2,
id: 'win_kpsq_editfpxx',
id: 'win_fybx_editfpxx',
title: '<b>修改费用报销信息</b>',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
@ -307,7 +291,7 @@ var kpsq_list = (function () {
btnAlign: 'c',
yes: function (index, layero) {
var body = top.layer.getChildFrame('body', index);
body.find("#kpsqEditSubmit").click();
body.find("#fybxEditSubmit").click();
layui.table.reload("table_sb", {page: {curr: $(".layui-laypage-em").next().html()}});
},
btn2: function (index, layero) {
@ -353,7 +337,7 @@ var kpsq_list = (function () {
top.window.iframeLayerData = {FYBX_obj: data};
top.sctTools.openPage({
type: 2,
id: 'win_kpsq_openfpxx',
id: 'win_fybx_openfpxx',
title: "查看费用报销信息",
maxmin: true,
shadeClose: true, //点击遮罩关闭层
@ -369,129 +353,6 @@ var kpsq_list = (function () {
}
});
},
/**
*@return
*@author Blue shaoming
*Description 开票审核流程流程闭合之后开票申请人点击上报开票操作开票流程至十一局本部 5 已上报开票 6 已开票
*@data 2019-08-03
*/
onSbkp: function (data) {
/* var SQIDS = data.SQID;
var mkmc = '项目开票管理-开票信息导出';
var param="?SQID=" + SQIDS + "&MKMC="+mkmc;
location.href = baseTools.getWebRoot() + "/web/xxgl/xmkpgl/kpsq/selectZZSGL_XX_FPKJ_DC.do"+encodeURI(param);*/
$.ajax({
url: "/web/xxgl/xmkpgl/kpsq/updateZZSGL_XX_KPSQ.do",
data: {
SQID: data.SQID,
SQZT: '5',
CZRY_DM: jdglTools.getUserDataByKey("CZRY_DM")
},
dataType: "json",
success: function (res) {
curSeg.reOnLoad();
if (res.code == '1') {
layer.msg("操作成功", {
icon: 6,
time: 3000
});
// layui.table.reload("table_sb", {page: {curr: $(".layui-laypage-em").next().html()}});
} else {
layer.msg("操作失败", {
icon: 2,
time: 3000
});
}
}
})
},
//删除开票申请记录操作
onDelete: function (data) {
var SQID = "";
var text = "确认要删除此记录吗?";
if (data != null && data != '' && data != undefined) {
if (data.length < 1) {
layui.use('layer', function () {
var layer = layui.layer;
layer.ready(function () {
top.layer.alert("请选择一条记录!", {icon: 0, closeBtn: 0});
})
});
return false;
} else if (data.length > 1) {
text = "确认要删除" + data.length + "条记录吗?";
}
var ids = "";
var ybx = 0;//多选后,批量删除时,判断其中已报销的记录数
for (var i = 0; i < data.length; i++) {
if (data[i].BXZT == FybxUtil.onGetSqztValue("审批通过")) {// 已报销
ybx++;
} else {
ids += data[i].SQID;
if (i < (data.length - 1)) {
ids += ',';
}
}
}
if (ysh > 0) {
text = "在选中的开票申请中有" + ysh + "条已通过审批,不能被删除!" +
"确认要删除剩余" + (data.length - ysh) + "条记录吗?";
}
if (data.length == ysh) {
layui.use('layer', function () {
var layer = layui.layer;
layer.ready(function () {
top.layer.alert("选中的开票申请已经全部通过审批,不能被删除!", {icon: 0, closeBtn: 0});
})
});
return false;
}
SQID = ids;
}
layer.confirm(text, {icon: 3}, function (index) {
$.ajax({
url: "/web/xxgl/xmkpgl/kpsq/deleteZZSGL_XX_KPSQ.do",
data: {
SQID: SQID,
CZRY_DM: jdglTools.getUserDataByKey("CZRY_DM")
},
dataType: "json",
success: function (res) {
if (res.code == '2') {
layer.msg("删除成功", {
icon: 6,
time: 3000
});
layui.table.reload("table_sb", {page: {curr: $(".layui-laypage-em").next().html()}});
} else {
layer.msg("删除失败", {
icon: 2,
time: 3000
});
}
}
})
});
},
//查询所选项目的项目维护信息是否存在
onQueryXmxx: function (zzjgDm) {
$.ajax({
url: "/web/xmgl/xmwh/selectZZSGL_XM_XMXX.do",
data: {
XMBH: zzjgDm
},
dataType: "json",
async: false,
success: function (res) {
if (res.code == '0') {
dataSize = res.data.total;
}
}
})
}
};
})();

View File

@ -5,8 +5,7 @@ $(function(){
var kpsq_add =(function(){
//私有属性
var curSeg,sl;
var selectToAddHtmx;//当前选中添加到开票明细的合同明细数据集
var recordfpfp= new Array();//记录分包发票扣除信息
var tableId = 'tbSave_fymx';
var form;
//私有方法
//初始化页面布局
@ -28,15 +27,13 @@ var kpsq_add =(function(){
"rowno_name":"rowno_kpmx",
"rowno_type":"span"
}];
// 表格重置之前 初始化费用类型下拉框select组件
FybxUtil.renderSelectOptions('select[name=FYLX]', FybxUtil.Enums.fylx);
// 单据类型
FybxUtil.renderSelectOptions('select#DJLX', FybxUtil.Enums.djlx);
// 表格重置
tablePublic.onReset(curSeg,tableType);
var djlxOptions = [];
djlxOptions.push('<option value="" >--全部--</option>');
FybxUtil.Enums.djlx.forEach(function(item,index,arr){
djlxOptions.push('<option value="' + item.value + '" >' + item.label + '</option>');
});
$("#DJLX").html(djlxOptions.join());
layui.use(['form','element','jquery','layer'], function () {
form = layui.form;
});
@ -79,8 +76,7 @@ var kpsq_add =(function(){
// 保存数据
onSave : function(data){
var url = "/web/xxgl/xmkpgl/fybx/insert";// 新增费用报销
var kpxxList = tablePublic.onSave('tbSave_kpmx');
var kpxxList = tablePublic.onSave(tableId);
data["FYMX_list"] = JSON.stringify(kpxxList);
data["DJBH"] = $("#DJBH").val();
data["DJRQ"] = $("#DJRQ").val();
@ -128,49 +124,26 @@ var kpsq_add =(function(){
});
},
//删除一行开票信息
/**
* 删除一行费用明细信息
* @param obj
*/
onDeleteKpmx:function (obj) {
var kpxxList = tablePublic.onSave('tbSave_kpmx');
var kpxxList = tablePublic.onSave(tableId);
if(kpxxList.length == 1){
layui.use('layer', function () {
var layer = layui.layer;
layer.ready(function () {
top.layer.alert("开票信息不能为空!", {icon: 0,closeBtn:0});
top.layer.alert("费用明细信息不能为空!", {icon: 0,closeBtn:0});
})
})
return false;
}else{
layer.confirm('是否删除这条费用明细信息?',{icon: 3},function (index) {
tablePublic.onDelete(obj);
layer.closeAll('dialog');
});
}
/*if(!confirm('')){
return false;
}*/
layer.confirm('是否删除这条开票信息?',{icon: 3},function (index) {
tablePublic.onDelete(obj);
layer.closeAll('dialog');
});
},
//复原一行开票信息到数据库记录数据
onFyKpmx:function (obj) {
/*if(!confirm('')){
return false;
}*/
layer.confirm('是否复原这条开票信息?',{icon: 3},function (index) {
var trObj = $(obj).parent().parent();
var tr_htmxid = trObj.find("input[name='HTMXID']").val();//当前行的合同明细ID
var htmxRecord;
for(var i=0;i<selectToAddHtmx.length;i++){
if(tr_htmxid == selectToAddHtmx[i].HTMXID){
htmxRecord = selectToAddHtmx[i];
}
}
if(htmxRecord){
jQuery.each(htmxRecord, function(i, val) {
trObj.find("input[name='SPSL']").val('');
trObj.find("input[name='"+i+"']").val(val);
});
}
});
},
//回调父页面函数的方法 2019-7-9 14:41:52
calPareFuc : function () {
layui.use("layer", function () {
@ -189,7 +162,7 @@ var kpsq_add =(function(){
});
},
openFpxx: function (){
openFpxx: function (el){
var _winParam = {
other: {
parentJs_obj:kpsq_add
@ -197,7 +170,7 @@ var kpsq_add =(function(){
};
top.sctTools.openPage({
type: 2,
id: 'win_zbhtwh_spbmSelector',
id: 'win_fybx_fpfSelector',
title: '<b>发票信息</b>',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
@ -206,12 +179,18 @@ var kpsq_add =(function(){
btn: ['保存', '关闭'],
btnAlign: 'c',
success: function(layero,index) {
// 标记当前行 begin
$('#' + tableId).find('tr').attr('data-current', false);
$(el).parents('tr').attr('data-current', true);
// 标记当前行 end
_winParam.other.FPID = $(el).parents('tr').find('[name=FPID]').val();
var obj = layero.find("iframe")[0].contentWindow;
obj.zbhtxx_spbmSelector.onload(_winParam);
},
yes: function (index, layero) {
var body = top.layer.getChildFrame("body",index);
body.find("#zbhtwhAddSpbmSubmit").click();
body.find("#fymxSelectFpSubmit").click();
top.layer.close(index);
},
btn2: function (index, layero) {
@ -219,29 +198,42 @@ var kpsq_add =(function(){
}
});
},
//在合同明细中插入一条商品编码数据对应的各字段值 2019-6-27 19:31:17 细节需要优化
onInsertOneSpbm:function (spbmArray) {
console.log(spbmArray)
/**
* 选择发票窗口回调方法
* @param transData
*/
onSelectFapiao: function (transData) {
var fpids = [];
var JSHJ = 0, HJJE = 0, HJSE = 0, FPZS = 0;
for(var i = 0; i < spbmArray.length; i++){
var item = spbmArray[i];
FPZS++;
JSHJ += (item.JSHJ || 0);
HJJE += (item.JEBHS || 0);
HJSE += (item.SE || 0);
var jshj = 0,
hjje = 0,
hjse = 0,
fpzs = 0;
transData.forEach(function (item) {
fpzs++;
jshj += (item.JSHJ || 0);
hjje += (item.JEBHS || 0);
hjse += (item.SE || 0);
fpids.push(item.FPID);
});
var rowData = {};
rowData.FPID = fpids.join(',');
rowData.FPZS = fpzs;
rowData.JSHJ = jshj;
rowData.HJJE = hjje;
rowData.HJSE = hjse;
var currentRow = $('#' + tableId).find('tr[data-current=true]');
if (!!currentRow.length) {
Object.keys(rowData).forEach(name => {
currentRow.find("select[name='" + name + "']").val(rowData[name]);
currentRow.find("input[name='" + name + "']").val(rowData[name]);
currentRow.find("span[name='" + name + "']").text(rowData[name]);
currentRow.find("div[name='" + name + "']").html(rowData[name]);
});
} else {
tablePublic.onInsertData([rowData], tableId);
}
var data = {
FYLX: '',
FYSY: '',
FPID: fpids.join(','),
FPZS: FPZS,
JSHJ: JSHJ,
HJJE: HJJE,
HJSE: HJSE
};
tablePublic.onInsertData([data],'tbSave_kpmx');
},
};
})();

View File

@ -5,7 +5,7 @@ $(function () {
var kpsq_edit = (function () {
//私有属性
var curSeg;
var selectedObj;//选定的开票申请记录
var selectedObj;//选定的费用单据记录
var tableId = 'tbSave_fymx';
//私有方法
//初始化页面布局
@ -80,7 +80,7 @@ var kpsq_edit = (function () {
//监听提交
layui.use(['form'], function () {
var form = layui.form;
form.on('submit(formKpsqEdit)', function (data) {
form.on('submit(formFybxEdit)', function (data) {
curSeg.onSave(data.field);
});
});
@ -88,8 +88,7 @@ var kpsq_edit = (function () {
// 保存数据
onSave: function (data) {
var url = "/web/xxgl/xmkpgl/fybx/insert";// 新增费用报销,新增和修改页面保存操作调用的是同一个后台方法
var kpxxList = tablePublic.onSave('tbSave_fymx');
var kpxxList = tablePublic.onSave(tableId);
data["FYMX_list"] = JSON.stringify(kpxxList);
data["DJBH"] = $("#DJBH").val();
data["DJRQ"] = $("#DJRQ").val();
@ -106,7 +105,7 @@ var kpsq_edit = (function () {
data["BZ"] = $("#BZ").val();
data["FYID"] = $("#FYID").val();
var url = "/web/xxgl/xmkpgl/fybx/insert";// 新增费用报销,新增和修改页面保存操作调用的是同一个后台方法
baseTools.xhrAjax({
url: url,
params: data,
@ -221,7 +220,7 @@ var kpsq_edit = (function () {
};
top.sctTools.openPage({
type: 2,
id: 'win_zbhtwh_spbmSelector',
id: 'win_fybx_fpfSelector',
title: '<b>发票信息</b>',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
@ -230,7 +229,6 @@ var kpsq_edit = (function () {
btn: ['保存', '关闭'],
btnAlign: 'c',
success: function (layero, index) {
console.log(arguments)
// 标记当前行 begin
$('#' + tableId).find('tr').attr('data-current', false);
$(el).parents('tr').attr('data-current', true);

View File

@ -110,8 +110,8 @@
</div>
<div class="layui-form-item">
<div class="layui-inline">
<a href="#" class="layui-btn" onclick="kpsq_list.onQuery();" id="search_id">查询</a>
<a href="#" class="layui-btn" onclick="kpsq_list.onClearForm();" id="clean_id">清空</a>
<a href="#" class="layui-btn" onclick="fybx_list.onQuery();" id="search_id">查询</a>
<a href="#" class="layui-btn" onclick="fybx_list.onClearForm();" id="clean_id">清空</a>
</div>
</div>
</div>

View File

@ -205,7 +205,7 @@
费用明细
</div>
<div class="m_table table_h">
<table cellspacing="0" cellpadding="0" border="0" class="layui-table" id="tbSave_kpmx" lay-filter="tbSave_kpmx" >
<table cellspacing="0" cellpadding="0" border="0" class="layui-table" id="tbSave_fymx" lay-filter="tbSave_fymx" >
<thead>
<tr>
<th style="width: 3%;">序号</th>
@ -253,7 +253,7 @@
<td>
<div class="m_table_btn">
<span class="s_fc_blue" onclick="kpsq_add.openFpxx();">关联发票</span>
<span class="s_fc_blue" onclick="tablePublic.onInsert(this, 'tbSave_kpmx');">增加</span>
<span class="s_fc_blue" onclick="kpsq_add.onAddFymxRow(this);">增加</span>
<span class="s_fc_red" onclick="kpsq_add.onDeleteKpmx(this);">删除</span>
</div>
</td>

View File

@ -263,12 +263,12 @@
<div
class="layui-btn save"
lay-submit=""
lay-filter="formKpsqEdit"
id="kpsqEditSubmit"
lay-filter="formFybxEdit"
id="fybxEditSubmit"
>
保存
</div>
<div type="button" class="layui-btn layui-btn-primary" id="kpsqEditReset">
<div type="button" class="layui-btn layui-btn-primary" id="fybxEditReset">
关闭
</div>
</div>