From d6604972a61e94e023050db6c6df9cbbf2a4eee6 Mon Sep 17 00:00:00 2001 From: "{jiaxudong3333@163.com}" Date: Tue, 23 Apr 2024 03:45:12 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B4=B9=E7=94=A8=E6=8A=A5=E9=94=80=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xxgl/xmkpgl/fybx/FybxController.java | 50 ++++- .../dao/xxgl/xmkpgl/fybx/FybxMapper.java | 8 + .../xxgl/xmkpgl/fybx/FybxServiceImpl.java | 58 ++++-- .../xxgl/xmkpgl/fybx/IFybxService.java | 4 + .../mapper/mysql/xxgl/FybxMapper.xml | 59 +++++- .../resources/static/zzsxt/public/table.js | 6 + .../static/zzsxt/xxgl/xmkpgl/fybx/index.js | 28 +-- .../zzsxt/xxgl/xmkpgl/fybx/index_add.js | 158 ++++++--------- .../zzsxt/xxgl/xmkpgl/fybx/index_edit.js | 91 ++++++--- .../xxgl/xmkpgl/fybx/index_fpxxSelector.js | 189 ++++++++++++++++++ .../zzsxt/xxgl/xmkpgl/fybx/index_open.js | 2 - .../zzsxt/xxgl/xmkpgl/fybx/index_add.html | 6 +- .../zzsxt/xxgl/xmkpgl/fybx/index_edit.html | 7 +- .../xxgl/xmkpgl/fybx/index_fpxxSelector.html | 77 +++++++ 14 files changed, 569 insertions(+), 174 deletions(-) create mode 100644 src/main/resources/static/zzsxt/xxgl/xmkpgl/fybx/index_fpxxSelector.js create mode 100644 src/main/resources/templates/zzsxt/xxgl/xmkpgl/fybx/index_fpxxSelector.html diff --git a/src/main/java/net/htjs/pt4/zzsxt/controller/xxgl/xmkpgl/fybx/FybxController.java b/src/main/java/net/htjs/pt4/zzsxt/controller/xxgl/xmkpgl/fybx/FybxController.java index 65d3cfe..42f7f68 100644 --- a/src/main/java/net/htjs/pt4/zzsxt/controller/xxgl/xmkpgl/fybx/FybxController.java +++ b/src/main/java/net/htjs/pt4/zzsxt/controller/xxgl/xmkpgl/fybx/FybxController.java @@ -1,7 +1,9 @@ package net.htjs.pt4.zzsxt.controller.xxgl.xmkpgl.fybx; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.map.MapUtil; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONArray; @@ -41,21 +43,26 @@ public class FybxController extends BaseController { } @RequestMapping(value = "index_add", method = RequestMethod.GET) - public String kpsqIndexAdd() { + public String indexAdd() { return "zzsxt/xxgl/xmkpgl/fybx/index_add"; } @RequestMapping(value = "index_edit", method = RequestMethod.GET) - public String kpsqIndexEdit() { + public String indexEdit() { return "zzsxt/xxgl/xmkpgl/fybx/index_edit"; } @RequestMapping(value = "index_open", method = RequestMethod.GET) - public String kpsqIndexOpen() { + public String indexOpen() { return "zzsxt/xxgl/xmkpgl/fybx/index_open"; } + @RequestMapping(value = "index_fpxxSelector", method = RequestMethod.GET) + public String indexFpxxSelector() { + return "zzsxt/xxgl/xmkpgl/fybx/index_fpxxSelector"; + } + @RequestMapping(value = "findAll", produces = "application/json;charset=UTF-8") @ResponseBody @@ -117,6 +124,28 @@ public class FybxController extends BaseController { return getResult(mapModel, code, msg, callback); } + @RequestMapping(value = "selectZZSGL_JX_FPXX", produces = "application/json;charset=UTF-8") + @ResponseBody + public Object selectZZSGL_JX_FPXX(@RequestParam Map userMap, String callback) throws Exception { + int code; + String msg = "操作成功!"; + if (userMap.get("limit") != null && !"".equals(userMap.get("limit"))) { + userMap.put("pageSize", userMap.get("limit")); + } + Map mapModel = new HashMap(); + try { + List list = this.fybxService.selectZZSGL_JX_FPXX(userMap); + mapModel.put("data", getPageModel(list)); + code = 0; + } catch (Exception e) { + log.error(e.getMessage()); + e.printStackTrace(); + code = -1; + msg = "查询发票信息失败!" + e.getMessage(); + } + return getResult(mapModel, code, msg, callback); + } + @RequestMapping(value = "fqbx", produces = "application/json;charset=UTF-8") @ResponseBody public Object sendJxpz(@RequestParam Map params, String callback) throws SaveException { @@ -142,20 +171,31 @@ public class FybxController extends BaseController { String result = HttpClientUtil.postRequest(apiUrl, param, "json", "utf-8", 0, 0); JSONObject resultJson = JSONUtil.parseObj(result); log.info("返回结果:{}", JSONUtil.toJsonPrettyStr(resultJson)); + + Map updateMap = new HashMap(); + updateMap.put("FYID", data.get("FYID")); + updateMap.put("BXZT", 2); + + this.fybxService.updateBxztById(updateMap); } + return getResult(mapModel, code, msg, callback); } private JSONObject packageRequestData(JSONObject data) throws SaveException { JSONObject fydj = new JSONObject(); fydj.put("djbh", data.get("DJBH")); // 单据编号 - fydj.put("djrq", data.get("DJRQ")); // 单据日期 格式:yyyy-MM-dd + if (ObjectUtil.isNotEmpty(data.get("DJRQ"))) { + fydj.put("djrq", DateUtil.format(DateUtil.date(data.getLong("DJRQ")), "yyyy-MM-dd")); // 单据日期 格式:yyyy-MM-dd + } fydj.put("djlx", data.get("DJLX")); // 单据类型 fydj.put("djje", data.get("DJJE")); // 单据金额 fydj.put("djse", data.get("DJSE")); // 单据税额 fydj.put("bxr", data.get("BXR")); // 报销人 - fydj.put("bxsj", data.get("BXSJ")); // 报销时间 yyyy-MM-dd HH:mm:ss + if (ObjectUtil.isNotEmpty(data.get("BXSJ"))) { + fydj.put("bxsj", DateUtil.format(DateUtil.date(data.getLong("BXSJ")), "yyyy-MM-dd HH:mm:ss")); // 报销时间 yyyy-MM-dd HH:mm:ss + } fydj.put("bxsy", data.get("BXSY")); // 报销事由 fydj.put("bxzt", data.get("BXZT")); // 报销状态:1.未报销 2.报销中 3.已报销 fydj.put("bz", data.get("BZ")); // 备注 diff --git a/src/main/java/net/htjs/pt4/zzsxt/dao/xxgl/xmkpgl/fybx/FybxMapper.java b/src/main/java/net/htjs/pt4/zzsxt/dao/xxgl/xmkpgl/fybx/FybxMapper.java index 833715b..0b5eaea 100644 --- a/src/main/java/net/htjs/pt4/zzsxt/dao/xxgl/xmkpgl/fybx/FybxMapper.java +++ b/src/main/java/net/htjs/pt4/zzsxt/dao/xxgl/xmkpgl/fybx/FybxMapper.java @@ -20,4 +20,12 @@ public interface FybxMapper { List selectZZSGL_JX_FYDJMX(Map userMap); List selectZZSGL_JX_FYDJ_MX_FP(Map userMap); + + List selectZZSGL_JX_FPXX(Map userMap); + + Integer deleteZZSGL_JX_FYDJ_MX_FP(Map deleteMap); + + void updateBxztById(Map updateMap); + + int updateZZSGL_JX_FYDJ(Map userMap); } diff --git a/src/main/java/net/htjs/pt4/zzsxt/service/impl/xxgl/xmkpgl/fybx/FybxServiceImpl.java b/src/main/java/net/htjs/pt4/zzsxt/service/impl/xxgl/xmkpgl/fybx/FybxServiceImpl.java index 9ffa164..6704fcf 100644 --- a/src/main/java/net/htjs/pt4/zzsxt/service/impl/xxgl/xmkpgl/fybx/FybxServiceImpl.java +++ b/src/main/java/net/htjs/pt4/zzsxt/service/impl/xxgl/xmkpgl/fybx/FybxServiceImpl.java @@ -1,7 +1,7 @@ package net.htjs.pt4.zzsxt.service.impl.xxgl.xmkpgl.fybx; import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import lombok.AllArgsConstructor; @@ -13,7 +13,7 @@ import net.htjs.pt4.zzsxt.tools.CommonUtil; import net.htjs.util.Get16BM; import org.springframework.stereotype.Service; -import java.util.Collections; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -47,30 +47,53 @@ public class FybxServiceImpl implements IFybxService { djbhMap.put("DJBH", djbh); List mxArray = this.fybxMapper.selectZZSGL_JX_FYDJ(djbhMap); if (!mxArray.isEmpty()) { - throw new RuntimeException("单据编号已经存在"); + Map map = mxArray.get(0); + userMap.put("FYID", map.get("FYID")); + // 更新费用单据 + result = this.fybxMapper.updateZZSGL_JX_FYDJ(userMap); + }else{ + userMap.put("FYID", Get16BM.getUnquieID()); + userMap.put("BXSJ", DateUtil.date()); + // 保存费用单据 + result = this.fybxMapper.insertZZSGL_JX_FYDJ(userMap); } - - userMap.put("FYID", Get16BM.getUnquieID()); - userMap.put("BXSJ", DateUtil.date()); - // 保存费用单据 - result = this.fybxMapper.insertZZSGL_JX_FYDJ(userMap); // 保存费用单据明细 if (userMap.get("FYMX_list") != null) { - List list = CommonUtil.JsonStringToList(userMap.get("FYMX_list").toString()); - if (list != null && !list.isEmpty()) { - for (Map map : list) { + List mxfplist = new ArrayList<>(); + List fymxList = CommonUtil.JsonStringToList(userMap.get("FYMX_list").toString()); + if (fymxList != null && !fymxList.isEmpty()) { + for (Map map : fymxList) { Object fymxid = map.get("FYMXID"); if (StrUtil.isBlankIfStr(fymxid)) { fymxid = Get16BM.getUnquieID(); } map.put("FYMXID", fymxid); map.put("FYID", userMap.get("FYID")); + + Map deleteMap = new HashMap(); + deleteMap.put("FYID", userMap.get("FYID")); + deleteMap.put("FYMXID", fymxid); + this.fybxMapper.deleteZZSGL_JX_FYDJ_MX_FP(deleteMap);//先删除数据中当前申请的所有明细信息, + + String FPID = MapUtil.getStr(map, "FPID"); + if (StrUtil.isNotBlank(FPID)) { + String[] fpids = FPID.split(","); + for (String fpid : fpids) { + Map mxfp = new HashMap(); + mxfp.put("FPID", fpid); + mxfp.put("FYMXID", fymxid); + mxfp.put("FYID", userMap.get("FYID")); + mxfp.put("ID", Get16BM.getUnquieID()); + mxfplist.add(mxfp); + } + } } Map deleteMap = new HashMap(); deleteMap.put("FYID", userMap.get("FYID")); this.fybxMapper.deleteZZSGL_JX_FYDJMX(deleteMap);//先删除数据中当前申请的所有明细信息, // 然后把界面上的显示的明细信息全部保存到表中。 - this.fybxMapper.insertZZSGL_JX_FYDJMX(list); + this.fybxMapper.insertZZSGL_JX_FYDJMX(fymxList); + this.fybxMapper.insertZZSGL_JX_FYDJ_MX_FP(mxfplist); } } @@ -92,4 +115,15 @@ public class FybxServiceImpl implements IFybxService { public List selectZZSGL_JX_FYDJ_MX_FP(Map userMap) { return this.fybxMapper.selectZZSGL_JX_FYDJ_MX_FP(userMap); } + + @Override + public List selectZZSGL_JX_FPXX(Map userMap) { + return this.fybxMapper.selectZZSGL_JX_FPXX(userMap); + } + + @Override + public void updateBxztById(Map updateMap) { + this.fybxMapper.updateBxztById(updateMap); + } + } diff --git a/src/main/java/net/htjs/pt4/zzsxt/service/xxgl/xmkpgl/fybx/IFybxService.java b/src/main/java/net/htjs/pt4/zzsxt/service/xxgl/xmkpgl/fybx/IFybxService.java index 47bbbb7..cc0b25b 100644 --- a/src/main/java/net/htjs/pt4/zzsxt/service/xxgl/xmkpgl/fybx/IFybxService.java +++ b/src/main/java/net/htjs/pt4/zzsxt/service/xxgl/xmkpgl/fybx/IFybxService.java @@ -15,4 +15,8 @@ public interface IFybxService { List selectZZSGL_JX_FYDJMX(Map userMap) throws SaveException; List selectZZSGL_JX_FYDJ_MX_FP(Map userMap); + + List selectZZSGL_JX_FPXX(Map userMap); + + void updateBxztById(Map updateMap); } diff --git a/src/main/resources/mapper/mysql/xxgl/FybxMapper.xml b/src/main/resources/mapper/mysql/xxgl/FybxMapper.xml index 2d5ae6d..70e04ec 100644 --- a/src/main/resources/mapper/mysql/xxgl/FybxMapper.xml +++ b/src/main/resources/mapper/mysql/xxgl/FybxMapper.xml @@ -9,10 +9,10 @@ AND T.DJBH = #{DJBH} - AND T.DJRQ_Q >= #{DJRQ_Q} + AND T.DJRQ >= #{DJRQ_Q} - AND T.DJRQ_Z <= #{DJRQ_Z} + AND T.DJRQ <= #{DJRQ_Z} AND T.DJLX = #{DJLX} @@ -30,12 +30,40 @@ #{BXSJ}, #{BXZT}, #{BXSY}, #{KHSH}, #{KHMC}, #{SSBM}, #{ZW}, #{BZ} ) + + UPDATE ZZSGL_JX_FYDJ SET + DJBH = #{DJBH}, + DJRQ = #{DJRQ}, + DJLX = #{DJLX}, + DJJE = #{DJJE}, + DJSE = #{DJSE}, + BXR = #{BXR}, + BXSJ = #{BXSJ}, + BXZT = #{BXZT}, + BXSY = #{BXSY}, + KHSH = #{KHSH}, + KHMC = #{KHMC}, + SSBM = #{SSBM}, + ZW = #{ZW}, + BZ = #{BZ} + WHERE FYID = #{FYID} + + + + UPDATE ZZSGL_JX_FYDJ SET BXZT = #{BXZT} + WHERE FYID = #{FYID} + DELETE FROM ZZSGL_JX_FYDJMX WHERE FYID = #{FYID} + + DELETE + FROM ZZSGL_JX_FYDJ_MX_FP + WHERE FYID = #{FYID} AND FYMXID = #{FYMXID} + INSERT INTO ZZSGL_JX_FYDJMX( @@ -73,8 +101,8 @@ + \ No newline at end of file diff --git a/src/main/resources/static/zzsxt/public/table.js b/src/main/resources/static/zzsxt/public/table.js index 0163648..3bac1a7 100644 --- a/src/main/resources/static/zzsxt/public/table.js +++ b/src/main/resources/static/zzsxt/public/table.js @@ -256,6 +256,11 @@ var tablePublic = (function() { // curSeg.onInsert($("#"+table_id),table_id); // tr_=$("#"+table_id).find("tr:last"); // } + try{ + callBackObj.onTableCallBack(); + }catch (e){ + + } } }, /** @@ -337,6 +342,7 @@ var tablePublic = (function() { tablePublic.onResetXh(now_table_id); try{ //执行回调函数 新增行不再执行回调函数 + callBackObj.onTableCallBack(); }catch (e){ } diff --git a/src/main/resources/static/zzsxt/xxgl/xmkpgl/fybx/index.js b/src/main/resources/static/zzsxt/xxgl/xmkpgl/fybx/index.js index 6a09da6..6e4598a 100644 --- a/src/main/resources/static/zzsxt/xxgl/xmkpgl/fybx/index.js +++ b/src/main/resources/static/zzsxt/xxgl/xmkpgl/fybx/index.js @@ -143,17 +143,21 @@ var kpsq_list = (function () { {field: 'BXR', title: '报销人', width: 160, align: 'left'}, { field: 'BXSJ', title: '报销时间', width: 130, templet: function (d) { - var time = new Date(d.BXSJ); - var year = time.getFullYear(); - var mon = time.getMonth() + 1; - if (mon < 10) { - mon = '0' + mon; + if(!!d.BXSJ){ + var time = new Date(d.BXSJ); + var year = time.getFullYear(); + var mon = time.getMonth() + 1; + if (mon < 10) { + mon = '0' + mon; + } + var day = time.getDay(); + if (day < 10) { + day = '0' + day; + } + + return '
' + year + '-' + mon + '-' + day + '
'; } - var day = time.getDay(); - if (day < 10) { - day = '0' + day; - } - return '
' + year + '-' + mon + '-' + day + '
'; + return ''; } }, { @@ -174,11 +178,11 @@ var kpsq_list = (function () { {field: 'KHMC', title: '客户名称', width: 160, align: 'left'}, { - title: '操作', fixed: 'right', width: 220, + title: '操作', fixed: 'right', width: 220, align: 'center', templet: function (data) { return '查看' + '修改' - + '删除' + // + '删除' } } ]; diff --git a/src/main/resources/static/zzsxt/xxgl/xmkpgl/fybx/index_add.js b/src/main/resources/static/zzsxt/xxgl/xmkpgl/fybx/index_add.js index 9845707..0b39af1 100644 --- a/src/main/resources/static/zzsxt/xxgl/xmkpgl/fybx/index_add.js +++ b/src/main/resources/static/zzsxt/xxgl/xmkpgl/fybx/index_add.js @@ -50,20 +50,7 @@ var kpsq_add =(function(){ initLayout(); curSeg.onSavePre(); }, - //自动计算税额、价税合计 - onAutoComputeSE:function (obj) { - var jebhs = $('#JEBHS').val(); - jebhs = sctTools.onUnFormartMoney(jebhs); - jebhs = parseFloat(jebhs); - if(jebhs!=undefined){ - var se = jebhs*parseFloat($(obj).val()); - $('#SE').val(sctTools.onMoneyFormat(se,2)); - var jshj = jebhs+se; - $('#JSHJ').val(sctTools.onMoneyFormat(jshj,2)); - } - - }, - //在开票信息或分包发票扣除表格中插入或删除一行数据时的回调函数 + //在表格中插入或删除一行数据时的回调函数 onTableCallBack : function(obj) { if (obj) { //删除回调 @@ -75,6 +62,8 @@ var kpsq_add =(function(){ } }else{ //插入回调 + console.log("插入回调"); + form.render('select'); // 重新渲染 select 组件 } }, @@ -157,7 +146,6 @@ var kpsq_add =(function(){ }*/ layer.confirm('是否删除这条开票信息?',{icon: 3},function (index) { tablePublic.onDelete(obj); - curSeg.onComputeHj(); layer.closeAll('dialog'); }); }, @@ -181,91 +169,9 @@ var kpsq_add =(function(){ trObj.find("input[name='"+i+"']").val(val); }); } - curSeg.onComputeHj(); }); }, - /**批量选择*/ - onXqFpKcPl:function(){ - if(recordfpfp.length==0){ - layui.use('layer', function () { - var layer = layui.layer; - layer.ready(function () { - top.layer.alert("请先选择含有分包发票信息的分包合同!", {icon: 0,closeBtn:0}); - }) - }) - return; - } - var _winParam = { - other: { - recordfpfp: recordfpfp, - callfun:curSeg.onXqFpKcPlDataFill - } - }; - top.sctTools.openPage({ - type: 2, - id: 'win_kpsq_onXqFpKcPl', - title: '分包发票扣除信息批量选择', - maxmin: true, - shadeClose: true, //点击遮罩关闭层 - area: ['800px', '380px'], - content: '/web/xxgl/xmkpgl/kpsq/onXqFpKcPl', - btn: ['选取', '关闭'], - btnAlign: 'c', - success: function(layero,index) { - var obj = layero.find("iframe")[0].contentWindow; - obj.onXqFpKcPL.onLoad(_winParam); - }, - yes: function (index, layero) { - //top.window.iframeLayerData = {CZLX: "add"}; - var body = top.layer.getChildFrame("body",index); - body.find("#kpsqAddFpkcplSubmit").click(); - top.layer.close(index); - }, - btn2: function (index, layero) { - //top.layer.closeAll(); - } - }); - }, - //双击展示商品编码信息 - onOpenSpbm:function () { - var _winParam = { - other: { - parentJs_obj:kpsq_add - } - }; - top.sctTools.openPage({ - type: 2, - id: 'win_zbhtwh_spbmSelector', - title: '商品编码信息', - maxmin: true, - shadeClose: true, //点击遮罩关闭层 - area: ['1095px', '570px'], - content: '/web/htgl/zbhtwh/index_spbmSelector', - btn: ['保存', '关闭'], - btnAlign: 'c', - success: function(layero,index) { - var obj = layero.find("iframe")[0].contentWindow; - obj.zbhtxx_spbmSelector.onload(_winParam); - }, - yes: function (index, layero) { - //top.window.iframeLayerData = {CZLX: "add"}; - var body = top.layer.getChildFrame("body",index); - body.find("#zbhtwhAddSpbmSubmit").click(); - top.layer.close(index); - }, - btn2: function (index, layero) { - //top.layer.closeAll(); - } - }); - }, - //在合同明细中插入一条商品编码数据对应的各字段值 2019-6-27 19:31:17 细节需要优化 - onInsertOneSpbm:function (spbmArray) { - tablePublic.onInsertData(spbmArray,'tbSave_kpmx'); - var a = $("#HTZJE").val(); - if(a=="0" || a=="" || a==undefined){ - $("#HTZJE").val("0.00"); - } - }, + //回调父页面函数的方法 2019-7-9 14:41:52 calPareFuc : function () { layui.use("layer", function () { @@ -282,7 +188,61 @@ var kpsq_add =(function(){ } parent.layer.closeAll(); }); - } + }, + openFpxx: function (){ + var _winParam = { + other: { + parentJs_obj:kpsq_add + } + }; + top.sctTools.openPage({ + type: 2, + id: 'win_zbhtwh_spbmSelector', + title: '发票信息', + maxmin: true, + shadeClose: true, //点击遮罩关闭层 + area: ['1095px', '570px'], + content: '/web/xxgl/xmkpgl/fybx/index_fpxxSelector', + btn: ['保存', '关闭'], + btnAlign: 'c', + success: function(layero,index) { + 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(); + top.layer.close(index); + }, + btn2: function (index, layero) { + //top.layer.closeAll(); + } + }); + }, + //在合同明细中插入一条商品编码数据对应的各字段值 2019-6-27 19:31:17 细节需要优化 + onInsertOneSpbm:function (spbmArray) { + console.log(spbmArray) + 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); + fpids.push(item.FPID); + } + var data = { + FYLX: '', + FYSY: '', + FPID: fpids.join(','), + FPZS: FPZS, + JSHJ: JSHJ, + HJJE: HJJE, + HJSE: HJSE + }; + tablePublic.onInsertData([data],'tbSave_kpmx'); + }, }; })(); diff --git a/src/main/resources/static/zzsxt/xxgl/xmkpgl/fybx/index_edit.js b/src/main/resources/static/zzsxt/xxgl/xmkpgl/fybx/index_edit.js index 5d4c0ec..546f2ef 100644 --- a/src/main/resources/static/zzsxt/xxgl/xmkpgl/fybx/index_edit.js +++ b/src/main/resources/static/zzsxt/xxgl/xmkpgl/fybx/index_edit.js @@ -67,40 +67,15 @@ var kpsq_edit =(function(){ if (trCount == 1) {//最少保留一行内容 tablePublic.onInsert(this, tableId); } - if(tableId=='tbSave_kpmx'){ - }else if(tableId=='tbSave_fbmx'){//删除分包扣除 - curSeg.deleteZZSGL_HT_FBHT_FPXX_KC(obj); - } }else{ //插入回调 + form.render('select'); // 重新渲染 select 组件 } }, //绑定数据 bindData : function(jsonObj, xhrArgs){ - var a = 0; - SQZJE = jsonObj.data[0].SQZJE; - var GCJSD = jsonObj.data[0].GCJSD; - if (GCJSD != '' && GCJSD != null){ - $("#GCJSD").val(GCJSD); - var fileFullUploadPath = GCJSD; - $("#a_GCJSD").click(function(){ - sctTools.onViewImage(fileFullUploadPath); - }).show(); - } - - for(var h=0;h发票信息', + maxmin: true, + shadeClose: true, //点击遮罩关闭层 + area: ['1095px', '570px'], + content: '/web/xxgl/xmkpgl/fybx/index_fpxxSelector', + btn: ['保存', '关闭'], + btnAlign: 'c', + success: function(layero,index) { + 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(); + top.layer.close(index); + }, + btn2: function (index, layero) { + //top.layer.closeAll(); + } + }); + }, + //在合同明细中插入一条商品编码数据对应的各字段值 2019-6-27 19:31:17 细节需要优化 + onInsertOneSpbm:function (spbmArray) { + console.log(spbmArray) + 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); + fpids.push(item.FPID); + } + var data = { + FYLX: '', + FYSY: '', + FPID: fpids.join(','), + FPZS: FPZS, + JSHJ: JSHJ, + HJJE: HJJE, + HJSE: HJSE + }; + tablePublic.onInsertData([data],'tbSave_kpmx'); + }, }; })(); diff --git a/src/main/resources/static/zzsxt/xxgl/xmkpgl/fybx/index_fpxxSelector.js b/src/main/resources/static/zzsxt/xxgl/xmkpgl/fybx/index_fpxxSelector.js new file mode 100644 index 0000000..ec33ecf --- /dev/null +++ b/src/main/resources/static/zzsxt/xxgl/xmkpgl/fybx/index_fpxxSelector.js @@ -0,0 +1,189 @@ +//ie情况下重复执行onload造成获取对象丢失 360无此影响 +//index_add.js对象传到此js使用zbhtxx_spbmSelector.onload()方法,因此避免可以将此处注掉 +/*$(function(){ + zbhtxx_spbmSelector.onload(); +});*/ +var zbhtxx_spbmSelector =(function(){ + //私有属性 + var curSeg=null; + var tspz = "00"; + if(top.window.iframeLayerData !=undefined){ + tspz = top.window.iframeLayerData; + } + //私有方法 + var initLayout = function(){ + layui.use('table', function () { + var table = layui.table; + var index = layer.load(0); + table.render({ + elem: '#table_sb', + id:'table_sb', + /*height:'full-220',*/ + url: "/web/xxgl/xmkpgl/fybx/selectZZSGL_JX_FPXX", + where: { + }, + dataType: "json", + cols: [[ + {type: 'checkbox'}, + {field: 'FPID', title:"发票ID", hide:true}, + {field: 'FPDM', title: '发票代码', width: 200, align:'center'}, + {field: 'FPHM', title: '发票号码', width: 200, align:'center'}, + {field: 'KPRQ', title: '开票日期', width: 200, align:'center'}, + {field: 'XFMC', title: '销方名称', width: 120, align:'center'}, + {field: 'XFSH', title: '销方税号', width: 110, align:'center'} + ]], + parseData: function (res) { + var code = res.code; + if (code == 0) { + var resdata = res.data.total; + if (!!resdata && resdata != 0){ + return { + "code": res.code, + "msg": res.msg, + "count": res.data.list[0].TOTAL, + "data": res.data.list + }; + }else { + return { + "code": res.code, + "msg": res.msg, + "count": 0, + "data": res.data.list + }; + } + } else { + return { + "code": res.code, + "msg": res.msg, + "count": 0, + "data": '' + }; + } + }, + skin: 'line', + loading: true, + even: true, + page: { + groups: 5 //只显示 5 个连续页码 + }, + limits: [10, 20, 30, 40, 50], + limit: 10, + done:function(){ //返回数据执行回调函数 + layer.close(index); //返回数据关闭loading + //table.resize(); + } + }); + }); + + // 删除组件释放内存 + $(window).unload(function () { + }); + }; + //共有方法 + return { + //加载数据 + onload : function(_winParam){ + curSeg = zbhtxx_spbmSelector; + initLayout(); + curSeg.onSavePre(_winParam); + }, + onQuery: function () { + layui.use('table', function () { + var table = layui.table; + var index = layer.load(0); + table.render({ + elem: '#table_sb', + id:'table_sb', + /*height:'full-220',*/ + url: "/web/xxgl/xmkpgl/fybx/selectZZSGL_JX_FPXX", + where: + { + MC: $("#SPMC").val(), + GGXH: $("#GGXH").val(), + TSPZ: tspz + }, + dataType: "json", + cols: [[ + {type: 'checkbox'}, + {field: 'FPID', title:"发票ID", hide:true}, + {field: 'FPDM', title: '发票代码', width: 200, align:'center'}, + {field: 'FPHM', title: '发票号码', width: 200, align:'center'}, + {field: 'KPRQ', title: '开票日期', width: 200, align:'center'}, + {field: 'XFMC', title: '销方名称', width: 120, align:'center'}, + {field: 'XFSH', title: '销方税号', width: 110, align:'center'} + ]], + parseData: function (res) { + var code = res.code; + if (code == 0) { + var resdata = res.data.total; + if (!!resdata && resdata != 0){ + return { + "code": res.code, + "msg": res.msg, + "count": res.data.list[0].TOTAL, + "data": res.data.list + }; + }else { + return { + "code": res.code, + "msg": res.msg, + "count": 0, + "data": res.data.list + }; + } + } else { + return { + "code": res.code, + "msg": res.msg, + "count": 0, + "data": '' + }; + } + }, + skin: 'line', + loading: true, + even: true, + page: { + groups: 5 //只显示 5 个连续页码 + }, + limits: [10, 20, 30, 40, 50], + limit: 10, + done:function(){ //返回数据执行回调函数 + layer.close(index); //返回数据关闭loading + //table.resize(); + } + }); + }); + + // 删除组件释放内存 + $(window).unload(function () { + }); + }, + onSavePre: function (_winParam) { + //监听提交 + layui.use(['form'], function() { + var form = layui.form; + var layer = layui.layer; + form.on('submit(formZbhtwhSaveSpbm)', function () { + layui.use('table', function () { + var table = layui.table; + var selectData = table.checkStatus('table_sb').data; + curSeg.onSave(selectData,_winParam); + }); + }); + }); + }, + onSave:function (selectData,_winParam) { + if(selectData.length === 0){ + parent.layer.msg("请选择发票信息!", { + icon: 0, + time: 3000 + }); + return false; + } + var a = selectData; + var parentJs_obj = _winParam.other.parentJs_obj; + parentJs_obj.onInsertOneSpbm(a); + } + }; +})(); \ No newline at end of file diff --git a/src/main/resources/static/zzsxt/xxgl/xmkpgl/fybx/index_open.js b/src/main/resources/static/zzsxt/xxgl/xmkpgl/fybx/index_open.js index 784d743..59abddf 100644 --- a/src/main/resources/static/zzsxt/xxgl/xmkpgl/fybx/index_open.js +++ b/src/main/resources/static/zzsxt/xxgl/xmkpgl/fybx/index_open.js @@ -53,8 +53,6 @@ var kpsq_open = (function () { curSeg = kpsq_open; initLayout(); curSeg.onQueryFydjmx(); - curSeg.onSavePre(); - }, //绑定数据 bindData: function (jsonObj, xhrArgs) { diff --git a/src/main/resources/templates/zzsxt/xxgl/xmkpgl/fybx/index_add.html b/src/main/resources/templates/zzsxt/xxgl/xmkpgl/fybx/index_add.html index 90f3210..091bdb5 100644 --- a/src/main/resources/templates/zzsxt/xxgl/xmkpgl/fybx/index_add.html +++ b/src/main/resources/templates/zzsxt/xxgl/xmkpgl/fybx/index_add.html @@ -42,8 +42,6 @@ 基本信息
- -
@@ -225,6 +223,7 @@ + 1 @@ -250,11 +249,10 @@ -
- + 关联发票 增加 删除
diff --git a/src/main/resources/templates/zzsxt/xxgl/xmkpgl/fybx/index_edit.html b/src/main/resources/templates/zzsxt/xxgl/xmkpgl/fybx/index_edit.html index 726705c..7445641 100644 --- a/src/main/resources/templates/zzsxt/xxgl/xmkpgl/fybx/index_edit.html +++ b/src/main/resources/templates/zzsxt/xxgl/xmkpgl/fybx/index_edit.html @@ -42,6 +42,7 @@ 基本信息
+
@@ -222,6 +223,7 @@ + 1 @@ -247,13 +249,12 @@ -
- + 关联发票 增加 - 删除 + 删除
diff --git a/src/main/resources/templates/zzsxt/xxgl/xmkpgl/fybx/index_fpxxSelector.html b/src/main/resources/templates/zzsxt/xxgl/xmkpgl/fybx/index_fpxxSelector.html new file mode 100644 index 0000000..4e808fa --- /dev/null +++ b/src/main/resources/templates/zzsxt/xxgl/xmkpgl/fybx/index_fpxxSelector.html @@ -0,0 +1,77 @@ + + + + 商品编码选择 + + + + + + + + + + + +
+
+
+
+
+
+ +
+
+
+ + + \ No newline at end of file