From 209b0a3b5051a6c618aa74486d2c2472fcd898b0 Mon Sep 17 00:00:00 2001 From: fl <3098731433@qq.com> Date: Wed, 5 Mar 2025 13:47:59 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BA=94=E4=BB=98=E5=BD=95=E5=85=A5=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E4=BB=98=E6=AC=BE=E8=B4=A6=E5=8F=B7=EF=BC=8C=E4=BA=BA?= =?UTF-8?q?=E6=AC=A1=20=E4=BB=98=E6=AC=BE=E8=B4=A6=E6=88=B7=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=20=E6=B7=BB=E5=8A=A0=E5=BC=80=E6=88=B7=E6=97=B6?= =?UTF-8?q?=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basic/controller/DownloadController.java | 2 + .../ca/bm/entity/PayAccountInfoBean.java | 5 ++ .../impl/PayAccountInfoServiceImpl.java | 17 +++--- .../ca/im/controller/PayableController.java | 7 +++ .../boot/manager/ca/im/dao/PayableDao.java | 2 + .../manager/ca/im/entity/PayableBean.java | 3 ++ .../manager/ca/im/service/PayableService.java | 1 + .../im/service/impl/PayableServiceImpl.java | 35 +++++++----- src/main/resources/application.properties | 18 +++---- src/main/resources/download/jh_gy_gzc.xlsx | Bin 0 -> 10268 bytes .../mappers/ca/PayAccountInfoMapper.xml | 17 ++++-- .../resources/mappers/ca/PayableMapper.xml | 28 ++++++++-- .../static/pages/finance/addPayable.html | 49 +++++++++++++++-- .../pages/finance/addPaymentAccount.html | 17 +++++- .../static/pages/finance/payable.html | 51 +++++++++++++++--- .../static/pages/finance/paymentAccount.html | 23 ++++++-- .../static/pages/wages/uploadWagesTwo.html | 9 ++++ 17 files changed, 232 insertions(+), 52 deletions(-) create mode 100644 src/main/resources/download/jh_gy_gzc.xlsx diff --git a/src/main/java/com/bonus/boot/manager/basic/controller/DownloadController.java b/src/main/java/com/bonus/boot/manager/basic/controller/DownloadController.java index e38d6e4..9f98466 100644 --- a/src/main/java/com/bonus/boot/manager/basic/controller/DownloadController.java +++ b/src/main/java/com/bonus/boot/manager/basic/controller/DownloadController.java @@ -56,6 +56,8 @@ public class DownloadController { response.addHeader("Pragma", "no-cache"); if(Objects.equals(filename,"zh_model.xlsx")){ // 招行新模版 filename = "招商银行工资导入模板(新).xlsx"; + }else if(Objects.equals(filename,"jh_gy_gzc.xlsx")){ // 建行(贵阳)新模版 + filename = "建设银行工资导入模板(贵阳).xlsx"; } String encodeName = URLEncoder.encode(filename, StandardCharsets.UTF_8.toString()); response.setHeader("Content-Disposition", "attachment; filename=\"" + encodeName + "\"; filename*=utf-8''" + encodeName); diff --git a/src/main/java/com/bonus/boot/manager/ca/bm/entity/PayAccountInfoBean.java b/src/main/java/com/bonus/boot/manager/ca/bm/entity/PayAccountInfoBean.java index 6fc33c4..bc198e3 100644 --- a/src/main/java/com/bonus/boot/manager/ca/bm/entity/PayAccountInfoBean.java +++ b/src/main/java/com/bonus/boot/manager/ca/bm/entity/PayAccountInfoBean.java @@ -40,4 +40,9 @@ public class PayAccountInfoBean { * 开户行地址 */ String openingBankAddress; + + /** + * 开户日期 + */ + String openingAccountDate; } diff --git a/src/main/java/com/bonus/boot/manager/ca/bm/service/impl/PayAccountInfoServiceImpl.java b/src/main/java/com/bonus/boot/manager/ca/bm/service/impl/PayAccountInfoServiceImpl.java index f371283..5e53356 100644 --- a/src/main/java/com/bonus/boot/manager/ca/bm/service/impl/PayAccountInfoServiceImpl.java +++ b/src/main/java/com/bonus/boot/manager/ca/bm/service/impl/PayAccountInfoServiceImpl.java @@ -106,12 +106,14 @@ public class PayAccountInfoServiceImpl implements PayAccountInfoService { writer.setColumnWidth(3, 35); writer.writeCellValue(4,1,"开户行地址"); writer.setColumnWidth(4, 35); - writer.writeCellValue(5,1,"备注"); + writer.writeCellValue(5,1,"开户时间"); + writer.setColumnWidth(4, 35); + writer.writeCellValue(6,1,"备注"); writer.setColumnWidth(5, 35); - writer.writeCellValue(6,1,"操作人"); + writer.writeCellValue(7,1,"操作人"); writer.setColumnWidth(6, 10); - writer.writeCellValue(7,1,"操作时间"); - writer.setColumnWidth(7, 25); + writer.writeCellValue(8,1,"操作时间"); + writer.setColumnWidth(7, 45); // 设置表头高度、单元格宽度 writer.setRowHeight(0, 35); @@ -121,9 +123,10 @@ public class PayAccountInfoServiceImpl implements PayAccountInfoService { writer.writeCellValue(2, 2 + i, list.get(i).getAccountNumber()==null?"":list.get(i).getAccountNumber()); writer.writeCellValue(3, 2 + i, list.get(i).getOpeningBank()==null?"":list.get(i).getOpeningBank()); writer.writeCellValue(4, 2 + i, list.get(i).getOpeningBankAddress()==null?"":list.get(i).getOpeningBankAddress()); - writer.writeCellValue(5, 2 + i, list.get(i).getRemarks()==null?"":list.get(i).getRemarks()); - writer.writeCellValue(6, 2 + i, list.get(i).getCzyName()==null?"":list.get(i).getCzyName()); - writer.writeCellValue(7, 2 + i, list.get(i).getCzsj()==null?"":list.get(i).getCzsj()); + writer.writeCellValue(5, 2 + i, list.get(i).getOpeningAccountDate()==null?"":list.get(i).getOpeningAccountDate()); + writer.writeCellValue(6, 2 + i, list.get(i).getRemarks()==null?"":list.get(i).getRemarks()); + writer.writeCellValue(7, 2 + i, list.get(i).getCzyName()==null?"":list.get(i).getCzyName()); + writer.writeCellValue(8, 2 + i, list.get(i).getCzsj()==null?"":list.get(i).getCzsj()); writer.setRowHeight(2 + i, 35); } response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8"); diff --git a/src/main/java/com/bonus/boot/manager/ca/im/controller/PayableController.java b/src/main/java/com/bonus/boot/manager/ca/im/controller/PayableController.java index 3320ebb..87ba394 100644 --- a/src/main/java/com/bonus/boot/manager/ca/im/controller/PayableController.java +++ b/src/main/java/com/bonus/boot/manager/ca/im/controller/PayableController.java @@ -104,6 +104,13 @@ public class PayableController { return dao.getFKZH(); } + @LogAnnotation + @GetMapping("/getBankAccount") + @ApiOperation(value = "银行账号下拉选") + public List getBankAccount() { + return dao.getBankAccount(); + } + @PostMapping("/getUnit") @ApiOperation(value = "查询") @PreAuthorize("hasAuthority('sys:unit:query')") diff --git a/src/main/java/com/bonus/boot/manager/ca/im/dao/PayableDao.java b/src/main/java/com/bonus/boot/manager/ca/im/dao/PayableDao.java index 47a1235..c7af1e4 100644 --- a/src/main/java/com/bonus/boot/manager/ca/im/dao/PayableDao.java +++ b/src/main/java/com/bonus/boot/manager/ca/im/dao/PayableDao.java @@ -83,4 +83,6 @@ public interface PayableDao { List getHTIDByMC(String htmc); + + List getBankAccount(); } diff --git a/src/main/java/com/bonus/boot/manager/ca/im/entity/PayableBean.java b/src/main/java/com/bonus/boot/manager/ca/im/entity/PayableBean.java index ae4c45e..e336ea1 100644 --- a/src/main/java/com/bonus/boot/manager/ca/im/entity/PayableBean.java +++ b/src/main/java/com/bonus/boot/manager/ca/im/entity/PayableBean.java @@ -52,5 +52,8 @@ public class PayableBean { String gyssl;//供应商数量 String ht;//对应的合同id String department;//组织机构 + Integer accountId;//应付款账号 + String accountName;//应付款账号 + Integer personNum;//人次 } diff --git a/src/main/java/com/bonus/boot/manager/ca/im/service/PayableService.java b/src/main/java/com/bonus/boot/manager/ca/im/service/PayableService.java index 13ce1a1..c9a0b10 100644 --- a/src/main/java/com/bonus/boot/manager/ca/im/service/PayableService.java +++ b/src/main/java/com/bonus/boot/manager/ca/im/service/PayableService.java @@ -1,6 +1,7 @@ package com.bonus.boot.manager.ca.im.service; +import com.bonus.boot.manager.ca.bm.entity.PayAccountInfoBean; import com.bonus.boot.manager.ca.bm.entity.SupplierInfoBean; import com.bonus.boot.manager.ca.im.entity.PayableBean; diff --git a/src/main/java/com/bonus/boot/manager/ca/im/service/impl/PayableServiceImpl.java b/src/main/java/com/bonus/boot/manager/ca/im/service/impl/PayableServiceImpl.java index bf65fb7..8230000 100644 --- a/src/main/java/com/bonus/boot/manager/ca/im/service/impl/PayableServiceImpl.java +++ b/src/main/java/com/bonus/boot/manager/ca/im/service/impl/PayableServiceImpl.java @@ -2,6 +2,7 @@ package com.bonus.boot.manager.ca.im.service.impl; import cn.hutool.core.io.IoUtil; import cn.hutool.poi.excel.ExcelWriter; +import com.bonus.boot.manager.ca.bm.entity.PayAccountInfoBean; import com.bonus.boot.manager.ca.bm.entity.SupplierInfoBean; import com.bonus.boot.manager.ca.im.dao.PayableDao; import com.bonus.boot.manager.ca.im.entity.PayableBean; @@ -71,7 +72,6 @@ public class PayableServiceImpl implements PayableService { List integerList = new ArrayList<>(); collect.forEach((k,v) -> integerList.add(v)); - String fileName = "应付录入信息"; //记录用于合并的rowIndex ArrayList> mergeRows = new ArrayList<>(); @@ -109,16 +109,20 @@ public class PayableServiceImpl implements PayableService { writer.setColumnWidth(6, 15); writer.writeCellValue(7,1,"商品名称"); writer.setColumnWidth(7, 15); - writer.writeCellValue(8,1,"金额"); + writer.writeCellValue(8,1,"付款账号"); writer.setColumnWidth(8, 15); - writer.writeCellValue(9,1,"发票号码"); - writer.setColumnWidth(9, 20); - writer.writeCellValue(10,1,"开票金额"); + writer.writeCellValue(9,1,"金额"); + writer.setColumnWidth(9, 15); + writer.writeCellValue(10,1,"人次"); writer.setColumnWidth(10, 15); - writer.writeCellValue(11,1,"制单人"); - writer.setColumnWidth(11, 15); - writer.writeCellValue(12,1,"摘要"); - writer.setColumnWidth(12, 20); + writer.writeCellValue(11,1,"发票号码"); + writer.setColumnWidth(11, 20); + writer.writeCellValue(12,1,"开票金额"); + writer.setColumnWidth(12, 15); + writer.writeCellValue(13,1,"制单人"); + writer.setColumnWidth(13, 15); + writer.writeCellValue(14,1,"摘要"); + writer.setColumnWidth(14, 20); // 设置表头高度、单元格宽度 writer.setRowHeight(0, 35); for (int i = 0; i < list.size(); i++) { @@ -130,11 +134,13 @@ public class PayableServiceImpl implements PayableService { writer.writeCellValue(5, 2 + i, list.get(i).getGysmc()==null?"":list.get(i).getGysmc()); writer.writeCellValue(6, 2 + i, list.get(i).getSpbh()==null?"":list.get(i).getSpbh()); writer.writeCellValue(7, 2 + i, list.get(i).getSpmc()==null?"":list.get(i).getSpmc()); - writer.writeCellValue(8, 2 + i, list.get(i).getJe()); - writer.writeCellValue(9, 2 + i, list.get(i).getFphm()==null?"":list.get(i).getFphm()); - writer.writeCellValue(10, 2 + i, list.get(i).getKpje()); - writer.writeCellValue(11, 2 + i, list.get(i).getZdr()==null?"":list.get(i).getZdr()); - writer.writeCellValue(12, 2 + i, list.get(i).getSpzy()==null?"":list.get(i).getSpzy()); + writer.writeCellValue(8, 2 + i, list.get(i).getAccountName()); + writer.writeCellValue(9, 2 + i, list.get(i).getJe()); + writer.writeCellValue(10, 2 + i, list.get(i).getPersonNum()); + writer.writeCellValue(11, 2 + i, list.get(i).getFphm()==null?"":list.get(i).getFphm()); + writer.writeCellValue(12, 2 + i, list.get(i).getKpje()); + writer.writeCellValue(13, 2 + i, list.get(i).getZdr()==null?"":list.get(i).getZdr()); + writer.writeCellValue(14, 2 + i, list.get(i).getSpzy()==null?"":list.get(i).getSpzy()); writer.setRowHeight(2 + i, 35); } response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8"); @@ -584,4 +590,5 @@ public class PayableServiceImpl implements PayableService { writer.close(); IoUtil.close(out); } + } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 0f417b2..02c9ccb 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,10 +1,10 @@ -server.port=20003 +server.port=2002 #????·?? server.servlet.context-path=/yncw #mysql????????? -spring.datasource.url=jdbc:mysql://192.168.0.14:1103/yncw1?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true +spring.datasource.url=jdbc:mysql://192.168.0.14:4418/yncw1?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true spring.datasource.username=root -spring.datasource.password=dszadmin@ynreal14! +spring.datasource.password=Bonus@admin123! #spring.datasource.url=jdbc:mysql://127.0.0.1:3306/yncw_real?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true #spring.datasource.username=mroot #spring.datasource.password=bonus@admin123 @@ -21,13 +21,13 @@ mybatis.type-aliases-package=com.bonus.boot.manager.*.entity # ????????????????????? mybatis.configuration.map-underscore-to-camel-case=true #redis config -#spring.redis.host=127.0.0.1 -#spring.redis.port=6379 -#spring.redis.password= +spring.redis.host=127.0.0.1 +spring.redis.port=6379 +spring.redis.password= -spring.redis.host=192.168.0.14 -spring.redis.port=2004 -spring.redis.password=Plzbns@Redis123! +#spring.redis.host=192.168.0.14 +#spring.redis.port=2001 +#spring.redis.password=Dszbns@Redis123! # ??? logging.config=classpath:logback-boot.xml log.level.root=info diff --git a/src/main/resources/download/jh_gy_gzc.xlsx b/src/main/resources/download/jh_gy_gzc.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..e59b0159b8f6d3b90c007971e7fb07a0e4912d64 GIT binary patch literal 10268 zcma)ibzGHO(>C3)>F#cj29ZWuT0puxHjRLEr$|eKv~)>#cY}0ycYUDeIUaq^`~1H3 z$F4OqYuz*VeeE?fmz)$h1RTio2#{S7cz*xSfPMO4V686)w6?Khl6w+EfBFIDhZtM1 zvAqx|2#6RM2ngVxV!AdqjLw!8$sb!J+XMjqhu(*Piv=rGg?Fu#qJU$gw91qzgHcBE zy1oN!_0$d@LWsrYkjAj!h-FGpnThD?4@Mpj*G6g_i<2=^o~1%Pz7YDU&ct@gFtxJX z9Vhl|WGSMI@LDvmurpp1r)Ni=hGM47)XlDpLbJXW00-&30ZutPUPt|H%Ip{HuiqxJ zD;v@Px#X`M5K&FHZeOEU!IXLGWi^3Gq+)YkEe;E`7RLN>#Xv*L)&fNWF!?r%uZ;}G>He=9%v8|9z=*0%;4 zK0Dm+qo7n9GkVvd_hS0mQjydo&y3lWSFbD*1XXZ#WW8kvC8C7=9Q4tWQ+x^^qT~5# zjXToV*8((1CX(g*#fZiCBxJoWq_O5TqqSg`ip(iw5@;+FqG;yIzNNZofN?erp>HeHQ{L*Amh5I46eA8B7ygIAB|$LsCYQpj@r`dvEa z;8jw&WvT3tv^sRon5jN)Ebd@a&>>XZ)OxN5ZHOj|fJA9(C@!x}0e*J#&_<7I1cAt{r-6%oWsp^Y3T8xe|)(Dw;paT4gn5E?wK2Z3-f(^(*gCu~SCp!R<*uFm{BiH^t5G|)>`m|4hKzRxT z+HZkyu(P+ed=5o+l;(3N{0|`?g}dDoBND9$EW2h4iM6P?oanM;s)dq1ktZV^Hzl#; zI4_535f1jXou)+7YX=bGXO$+a&}4yn3FNDDCeLOcnJQ**Lrf~?=eZUcz(tI<8alei zyu{{{T;(zKdQF|w+F-W|rvL76U2dkiIA*b879r*|b4GW*N|V9wYmOjo01gStSE}7J z&rT-%m#3J}mv0R+ccYW%t->>>20p&ILaFfCO+;^m)q-h(eQiO26^NRc$rWlG*bl4A zP1oyO=@Fpw(hmnBAJ^@CPH$HYx_YY%Ygan9SiHqqUTisZ@e@VJs);CMYLRGnZs3VA zF69+(%2G%tzh7&}@ce4S;f!=;U(Q$Ss?ob6eP31)wWU;CW>nONB*a&myLWwi;Loo8 zcjy6sa;>w)577B{0i>S-PS!wkI}<}g`#%9HUrUcI;>ilvlREZ)$^KAbc@9>Xil+4} zGrD_f#iP!(JFG;V0w8@>C)7hazq86L!b&etnQG8Nc=q8&lNW%xs$3uv^WE+sV5p&# zuhx~3YgRrlo*E4w543Srs1;~IJ?+(5fgJ&U{2kFH55w<(ukai>?O>2uY$mG}%@=`2g zFgre*c;}$adA-MxrNRNnklBsO+J*QK+*vJ*;MjN7VN%31Bp%&`vCcNZ<|E&-r5vai zgDU&h2?b}j^Iqg|_$D5Y|OWcfj~JKhHv;ft>;c&=AfiZXvLo#Afwc{Z{RpF3| zpQ{9y|d!zO)D-NH7 zbguhE7i!t2jhs*2mi_@N9Bsn3Nz3Uq16{=#XI(~ zPCg7yBqVk=aVsb8m!|>shlus3rlay11-qXX)wi=1;{4+_X9Q`{cn{5)0FG28$!P2 zGS|)ajZ6zq{{;y?^VrL@x(G|?RZflDKfw0iANc3P$P*∈2Re{&5(QCWsxLg9HH~ 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 lPv* - insert into ca_bm_pay_account_info (name,remark,oper_user,oper_time,is_active, account_number,opening_bank,opening_bank_address) - values (#{name},#{remarks},#{czy},now(),'1', #{accountNumber},#{openingBank},#{openingBankAddress}) + insert into ca_bm_pay_account_info (name,remark,oper_user,oper_time,is_active, account_number,opening_bank,opening_bank_address,opening_account_date) + values (#{name},#{remarks},#{czy},now(),'1', #{accountNumber},#{openingBank},#{openingBankAddress},#{openingAccountDate}) update ca_bm_pay_account_info set name = #{name},remark = #{remarks},oper_user = #{czy},oper_time = now(), account_number = #{accountNumber}, - opening_bank = #{openingBank},opening_bank_address = #{openingBankAddress} + opening_bank = #{openingBank},opening_bank_address = #{openingBankAddress},opening_account_date = #{openingAccountDate} where id = #{id} @@ -36,6 +36,7 @@ cbpai.account_number as accountNumber, cbpai.opening_bank as openingBank, cbpai.opening_bank_address as openingBankAddress, + cbpai.opening_account_date as openingAccountDate, cbpai.remark as remarks, su.username as czyName, cbpai.oper_time as czsj @@ -45,6 +46,9 @@ and cbpai.name like concat ('%',#{params.name},'%') + + and cbpai.opening_account_date like concat ('%',#{params.openingAccountDate},'%') + order by cbpai.oper_time desc @@ -291,11 +302,15 @@ su.username as zdr, cip.spzy, cip.htmc as htmcid, - po.name as department + po.name as department, + cbpa.id as accountId, + cbpa.name as accountName, + cip.person_num as personNum from ca_im_payable cip left join ca_bm_supplier_info cbsi on cbsi.is_active = '1' and cbsi.id = cip.htmc left join pm_organization po on po.id = cbsi.department and po.is_active = '1' left join ca_bm_goods_info cbgi on cbgi.is_active = '1' and cbgi.id = cip.spbh + left join ca_bm_pay_account_info cbpa on cbpa.id = cip.account_id and cbgi.is_active = '1' left join sys_user su on su.is_active = '1' and su.id = cip.zdr where cip.is_active = '1') a where '1' = '1' @@ -317,6 +332,9 @@ and a.rq between #{params.startTime} and #{params.endTime} + + and a.accountId = #{params.accountId} + ORDER BY a.rq asc @@ -735,6 +753,10 @@ select id from ca_bm_supplier_info where IS_ACTIVE = '1' and CONTRACT_OR_PRO_NAME = #{htmc} + \ No newline at end of file diff --git a/src/main/resources/static/pages/finance/addPayable.html b/src/main/resources/static/pages/finance/addPayable.html index 487ffa6..c67dcfe 100644 --- a/src/main/resources/static/pages/finance/addPayable.html +++ b/src/main/resources/static/pages/finance/addPayable.html @@ -52,12 +52,27 @@ + +

+ + +
+
- +
+
+ +
+ +
+
+
@@ -67,7 +82,7 @@
- +
@@ -137,6 +152,7 @@ layui.form.render('select') } }) + getBankAccount(""); } @@ -189,6 +205,29 @@ }) } + function getBankAccount(id) { + $("#accountId").empty(); + $.ajax({ + url: ctxPath + '/payable/getBankAccount', + method: 'get', + success: function (data) { + var str = ''; + if (data.length > 0) { + str += ''; + for (var i = 0; i < data.length; i++) { + if (id == data[i].id) { + str += ''; + } else { + str += ''; + } + } + } + $("#accountId").append(str); + layui.form.render('select') + } + }) + } + function spbh(spid) { $("#spbh").empty(); $.ajax({ @@ -249,7 +288,9 @@ spbh: [/^(?!-1).*$/, '请选择商品名称'], zdr: [/^(?!-1).*$/, '请选择制单人'], je: [/(^$)|^[0-9]+(\.[0-9]{1,2})?$/,'请输入正确金额,小数点后二位'], - kpje: [/(^$)|^[0-9]+(\.[0-9]{1,2})?$/,'请输入正确开票金额,小数点后二位'] + kpje: [/(^$)|^[0-9]+(\.[0-9]{1,2})?$/,'请输入正确开票金额,小数点后二位'], + personNum: [/^[1-9]\d{0,5}$/,"请输入1-999999之间的正整数"], + accountId: [/^(?!-1).*$/, '请选择银行账号'] }) @@ -294,6 +335,8 @@ gysbh(data.gysmc,data.htmc); //$("#gysmc").val(data.gysmc); spbh(data.spid); + getBankAccount(data.accountId); + $("#personNum").val(data.personNum); //$("#spbh").val(data.spbh); $("#je").val(data.je); $("#fphm").val(data.fphm); diff --git a/src/main/resources/static/pages/finance/addPaymentAccount.html b/src/main/resources/static/pages/finance/addPaymentAccount.html index 6c03027..0058415 100644 --- a/src/main/resources/static/pages/finance/addPaymentAccount.html +++ b/src/main/resources/static/pages/finance/addPaymentAccount.html @@ -39,13 +39,20 @@
-
+
+
+ +
+ +
+
+
@@ -73,6 +80,11 @@ layui.use(['table', 'layer', 'laydate', 'jquery', 'form'], function(){ var layer = layui.layer; form = layui.form; + var laydate = layui.laydate; + // 渲染 + laydate.render({ + elem: '#openingAccountDate' + }); initData(); form.render(); }); @@ -90,6 +102,7 @@ $("#remarks").val(data.remarks); $("#openingBank").val(data.openingBank); $("#openingBankAddress").val(data.openingBankAddress); + $("#openingAccountDate").val(data.openingAccountDate); } }); } @@ -106,12 +119,12 @@ }else{ formdata.id = id; } - formdata.name = $("#name").val(); formdata.accountNumber = $("#accountNumber").val(); formdata.remarks = $("#remarks").val(); formdata.openingBank = $("#openingBank").val(); formdata.openingBankAddress = $("#openingBankAddress").val(); + formdata.openingAccountDate = $("#openingAccountDate").val(); $.ajax({ type : 'post', url : ctxPath + '/payAccountInfo', diff --git a/src/main/resources/static/pages/finance/payable.html b/src/main/resources/static/pages/finance/payable.html index 799f1e2..aa3f027 100644 --- a/src/main/resources/static/pages/finance/payable.html +++ b/src/main/resources/static/pages/finance/payable.html @@ -22,6 +22,11 @@ .wrap { word-wrap: break-word; } + + .layui-input, .layui-textarea{ + width: 100% !important; + } + @@ -36,27 +41,33 @@
- +
- +
- +
- +
- + +
+
+
+
+
@@ -140,6 +151,8 @@ format: 'yyyy-MM-dd' }); + getBankAccount(""); + table.render({ elem: '#demo' , url: ctxPath + '/payable/getList' //数据接口 @@ -165,7 +178,9 @@ , {field: 'gysmc', width: 200, align: 'center',title:'往来单位',templet: '#gysmcView'} , {field: 'spbh', width: 200, align: 'center', title: '商品编号'} , {field: 'spmc', width: 200, align: 'center', title: '商品名称'} + , {field: 'accountName', width: 200, align: 'center', title: '付款账号'} , {field: 'je', width: 200, align: 'center', title: '金额'} + , {field: 'personNum', width: 200, align: 'center', title: '人次'} , {field: 'fphm', width: 200, align: 'center', title: '发票号码'} , {field: 'kpje', width: 200, align: 'center', title: '开票金额'} , {field: 'zdr', width: 200, align: 'center', title: '制单人'} @@ -215,6 +230,29 @@ openForms("","新增"); } + function getBankAccount(id) { + $("#accountId").empty(); + $.ajax({ + url: ctxPath + '/payable/getBankAccount', + method: 'get', + success: function (data) { + var str = ''; + if (data.length > 0) { + str += ''; + for (var i = 0; i < data.length; i++) { + if (id == data[i].id) { + str += ''; + } else { + str += ''; + } + } + } + $("#accountId").append(str); + layui.form.render('select') + } + }) + } + /** * 新增功能 */ @@ -307,6 +345,7 @@ spbh :$('#spbh').val(), pzh :$('#pzh').val(), zdr :$('#zdr').val(), + accountId :$('#accountId').val(), startTime :$('#startTime').val(), endTime :$('#endTime').val() } //设定异步数据接口的额外参数 @@ -317,7 +356,7 @@ $("#exportBt").click(function () { var token = localStorage.getItem("token"); var loadingMsg = layer.msg('下载中,请稍候...', {icon: 16, scrollbar: false, time: 0}); - var url = ctxPath + "/payable/exp?htmc=" + $("#htmc").val().trim()+"&gysmc=" + $("#gysmc").val().trim()+ "&spbh=" + $("#spbh").val().trim()+"&pzh=" + $("#pzh").val().trim()+"&zdr=" + $("#zdr").val().trim()+"&startTime=" + $("#startTime").val().trim()+"&endTime=" + $("#endTime").val().trim()+"&token=" + token; + var url = ctxPath + "/payable/exp?htmc=" + $("#htmc").val().trim()+"&gysmc=" + $("#gysmc").val().trim()+ "&spbh=" + $("#spbh").val().trim()+"&pzh=" + $("#pzh").val().trim()+"&zdr=" + $("#zdr").val().trim()+"&accountId=" + $("#accountId").val().trim()+"&startTime=" + $("#startTime").val().trim()+"&endTime=" + $("#endTime").val().trim()+"&token=" + token; var xhr = new XMLHttpRequest(); xhr.open("get", url, true); xhr.responseType = "blob"; // 转换流 diff --git a/src/main/resources/static/pages/finance/paymentAccount.html b/src/main/resources/static/pages/finance/paymentAccount.html index 396b604..4529786 100644 --- a/src/main/resources/static/pages/finance/paymentAccount.html +++ b/src/main/resources/static/pages/finance/paymentAccount.html @@ -39,6 +39,11 @@ placeholder="请输入账户名称">
+
+
+ +
+
@@ -97,6 +102,13 @@ form.render(); form.verify({}); + var laydate = layui.laydate; + // 渲染 + laydate.render({ + elem: '#openingAccountDate' + ,type: 'month' + }); + table.render({ elem: '#demo' , url: ctxPath + '/payAccountInfo/getList' //数据接口 @@ -104,7 +116,8 @@ , toolbar: true //开启工具栏,此处显示默认图标,可以自定义模板,详见文档 , defaultToolbar: [] , where: { - name: $('#name').val() + name: $('#name').val(), + openingAccountDate: $('#openingAccountDate').val() } //post请求必须加where ,post请求需要的参数 , cellMinWidth: 80 , cols: [[ //表头 @@ -117,6 +130,7 @@ } , {field: 'openingBank', align: 'center', title: '开户行'} , {field: 'openingBankAddress', align: 'center', title: '开户行地址'} + , {field: 'openingAccountDate', align: 'center', title: '开户时间'} , {field: 'remarks', align: 'center', title: '备注'} , {field: 'czyName', align: 'center', title: '操作人'} , {field: 'czsj', align: 'center', title: '操作时间'} @@ -192,7 +206,8 @@ , method: 'post' //方式默认是get , page: true , where: { - name: $('#name').val() + name: $('#name').val(), + openingAccountDate: $('#openingAccountDate').val() } //设定异步数据接口的额外参数 }); }); @@ -200,7 +215,7 @@ $("#exportBt").click(function () { var token = localStorage.getItem("token"); var loadingMsg = layer.msg('下载中,请稍候...', {icon: 16, scrollbar: false, time: 0}); - var url = ctxPath + "/payAccountInfo/exp?name=" + $("#name").val().trim() + "&token=" + token; + var url = ctxPath + "/payAccountInfo/exp?name=" + $("#name").val().trim() + "&openingAccountDate=" + $("#openingAccountDate").val().trim() + "&token=" + token; var xhr = new XMLHttpRequest(); xhr.open("get", url, true); xhr.responseType = "blob"; // 转换流 diff --git a/src/main/resources/static/pages/wages/uploadWagesTwo.html b/src/main/resources/static/pages/wages/uploadWagesTwo.html index 8b4398d..2f4e3ba 100644 --- a/src/main/resources/static/pages/wages/uploadWagesTwo.html +++ b/src/main/resources/static/pages/wages/uploadWagesTwo.html @@ -48,6 +48,7 @@
+
@@ -190,6 +191,14 @@ function downloadWages() { window.open(ctxPath + "/download/download?filename=建设银行工资导入模板.xlsx") } + + /** + * 下载工资册模板(贵阳) + * */ + function downloadNewWages() { + window.open(ctxPath + "/download/download?filename=jh_gy_gzc.xlsx") + } + \ No newline at end of file