From 48e603108f6b4caf81350d16dc349c4cc21e1f11 Mon Sep 17 00:00:00 2001 From: weizhiqiang <598748873@qq.com> Date: Mon, 21 Oct 2019 16:33:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E5=87=BA=E5=8D=95=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ExpenditureController.java | 94 ++++++ .../java/com/skyeye/dao/ExpenditureDao.java | 39 +++ .../main/java/com/skyeye/dao/IncomeDao.java | 6 +- .../skyeye/service/ExpenditureService.java | 25 ++ .../com/skyeye/service/IncomeService.java | 2 +- .../service/impl/ExpenditureServiceImpl.java | 244 ++++++++++++++ .../service/impl/IncomeServiceImpl.java | 4 +- .../dbmapper/erp/ExpenditureMapper.xml | 173 ++++++++++ .../resources/dbmapper/erp/IncomeMapper.xml | 4 +- .../src/main/resources/mapping/erp.xml | 43 ++- .../template/js/expenditure/expenditureadd.js | 263 ++++++++++++++++ .../js/expenditure/expenditureedit.js | 298 ++++++++++++++++++ .../js/expenditure/expenditureinfo.js | 28 ++ .../js/expenditure/expenditurelist.js | 172 ++++++++++ .../template/js/income/incomeedit.js | 1 - .../tpl/expenditure/expenditureadd.html | 104 ++++++ .../tpl/expenditure/expenditureedit.html | 111 +++++++ .../tpl/expenditure/expenditureinfo.html | 99 ++++++ .../tpl/expenditure/expenditurelist.html | 53 ++++ .../template/tpl/income/incomeadd.html | 4 +- .../template/tpl/income/incomeedit.html | 4 +- .../template/tpl/income/incomeinfo.html | 2 +- 22 files changed, 1756 insertions(+), 17 deletions(-) create mode 100644 erp-modular/src/main/java/com/skyeye/controller/ExpenditureController.java create mode 100644 erp-modular/src/main/java/com/skyeye/dao/ExpenditureDao.java create mode 100644 erp-modular/src/main/java/com/skyeye/service/ExpenditureService.java create mode 100644 erp-modular/src/main/java/com/skyeye/service/impl/ExpenditureServiceImpl.java create mode 100644 erp-modular/src/main/resources/dbmapper/erp/ExpenditureMapper.xml create mode 100644 erp-modular/src/main/resources/template/js/expenditure/expenditureadd.js create mode 100644 erp-modular/src/main/resources/template/js/expenditure/expenditureedit.js create mode 100644 erp-modular/src/main/resources/template/js/expenditure/expenditureinfo.js create mode 100644 erp-modular/src/main/resources/template/js/expenditure/expenditurelist.js create mode 100644 erp-modular/src/main/resources/template/tpl/expenditure/expenditureadd.html create mode 100644 erp-modular/src/main/resources/template/tpl/expenditure/expenditureedit.html create mode 100644 erp-modular/src/main/resources/template/tpl/expenditure/expenditureinfo.html create mode 100644 erp-modular/src/main/resources/template/tpl/expenditure/expenditurelist.html diff --git a/erp-modular/src/main/java/com/skyeye/controller/ExpenditureController.java b/erp-modular/src/main/java/com/skyeye/controller/ExpenditureController.java new file mode 100644 index 00000000..8f36f7e1 --- /dev/null +++ b/erp-modular/src/main/java/com/skyeye/controller/ExpenditureController.java @@ -0,0 +1,94 @@ +package com.skyeye.controller; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import com.skyeye.common.object.InputObject; +import com.skyeye.common.object.OutputObject; +import com.skyeye.service.ExpenditureService; + +/** + * @Author 卫志强 + * @Description 支出单 + * @Date 2019/10/20 10:22 + */ +@Controller +public class ExpenditureController { + + @Autowired + private ExpenditureService expenditureService; + + /** + * 查询支出单列表信息 + * @param inputObject + * @param outputObject + * @throws Exception + */ + @RequestMapping("/post/ExpenditureController/queryExpenditureByList") + @ResponseBody + public void queryExpenditureByList(InputObject inputObject, OutputObject outputObject) throws Exception{ + expenditureService.queryExpenditureByList(inputObject, outputObject); + } + + /** + * 添加支出单 + * @param inputObject + * @param outputObject + * @throws Exception + */ + @RequestMapping("/post/ExpenditureController/insertExpenditure") + @ResponseBody + public void insertExpenditure(InputObject inputObject, OutputObject outputObject) throws Exception{ + expenditureService.insertExpenditure(inputObject, outputObject); + } + + /** + * 查询支出单用于数据回显 + * @param inputObject + * @param outputObject + * @throws Exception + */ + @RequestMapping("/post/ExpenditureController/queryExpenditureToEditById") + @ResponseBody + public void queryExpenditureToEditById(InputObject inputObject, OutputObject outputObject) throws Exception{ + expenditureService.queryExpenditureToEditById(inputObject, outputObject); + } + + /** + * 编辑支出单信息 + * @param inputObject + * @param outputObject + * @throws Exception + */ + @RequestMapping("/post/ExpenditureController/editExpenditureById") + @ResponseBody + public void editExpenditureById(InputObject inputObject, OutputObject outputObject) throws Exception{ + expenditureService.editExpenditureById(inputObject, outputObject); + } + + /** + * 删除支出单信息 + * @param inputObject + * @param outputObject + * @throws Exception + */ + @RequestMapping("/post/ExpenditureController/deleteExpenditureById") + @ResponseBody + public void deleteExpenditureById(InputObject inputObject, OutputObject outputObject) throws Exception{ + expenditureService.deleteExpenditureById(inputObject, outputObject); + } + + /** + * 查看支出单详情 + * @param inputObject + * @param outputObject + * @throws Exception + */ + @RequestMapping("/post/ExpenditureController/queryExpenditureByDetail") + @ResponseBody + public void queryExpenditureByDetail(InputObject inputObject, OutputObject outputObject) throws Exception{ + expenditureService.queryExpenditureByDetail(inputObject, outputObject); + } +} diff --git a/erp-modular/src/main/java/com/skyeye/dao/ExpenditureDao.java b/erp-modular/src/main/java/com/skyeye/dao/ExpenditureDao.java new file mode 100644 index 00000000..cc0b5a78 --- /dev/null +++ b/erp-modular/src/main/java/com/skyeye/dao/ExpenditureDao.java @@ -0,0 +1,39 @@ +package com.skyeye.dao; + +import com.github.miemiedev.mybatis.paginator.domain.PageBounds; + +import java.util.List; +import java.util.Map; + +/** + * @Author: 卫志强 + * @Description: TODO + * @Date: 2019/10/20 10:23 + */ +public interface ExpenditureDao { + + public List> queryExpenditureByList(Map params, PageBounds pageBounds) throws Exception; + + public int insertExpenditure(Map params) throws Exception; + + public int insertExpenditureItem(List> entitys) throws Exception; + + public Map queryExpenditureToEditById(Map params) throws Exception; + + public int editExpenditureById(Map params) throws Exception; + + public int editExpenditureByDeleteFlag(Map params) throws Exception; + + public Map queryExpenditureDetailById(Map params) throws Exception; + + public List> queryExpenditureItemsDetailById(Map bean) throws Exception; + + public List> queryExpenditureItemsToEditById(Map params) throws Exception; + + public int editExpenditureItemsByDeleteFlag(Map params) throws Exception; + + public int deleteExpenditureItemById(Map params) throws Exception; + + public List> queryUserInfoById(Map bean) throws Exception; + +} diff --git a/erp-modular/src/main/java/com/skyeye/dao/IncomeDao.java b/erp-modular/src/main/java/com/skyeye/dao/IncomeDao.java index 8b622bf9..705b25e0 100644 --- a/erp-modular/src/main/java/com/skyeye/dao/IncomeDao.java +++ b/erp-modular/src/main/java/com/skyeye/dao/IncomeDao.java @@ -19,7 +19,7 @@ public interface IncomeDao { public Map queryIncomeToEditById(Map params) throws Exception; - public int editIncomById(Map params) throws Exception; + public int editIncomeById(Map params) throws Exception; public int editIncomeByDeleteFlag(Map params) throws Exception; @@ -31,9 +31,7 @@ public interface IncomeDao { public int editIncomeItemsByDeleteFlag(Map params) throws Exception; - public int editIncomItemById(List> entitys) throws Exception; - - public int deleteIncomItemById(Map params) throws Exception; + public int deleteIncomeItemById(Map params) throws Exception; public List> queryUserInfoById(Map bean) throws Exception; } diff --git a/erp-modular/src/main/java/com/skyeye/service/ExpenditureService.java b/erp-modular/src/main/java/com/skyeye/service/ExpenditureService.java new file mode 100644 index 00000000..efb066b6 --- /dev/null +++ b/erp-modular/src/main/java/com/skyeye/service/ExpenditureService.java @@ -0,0 +1,25 @@ +package com.skyeye.service; + +import com.skyeye.common.object.InputObject; +import com.skyeye.common.object.OutputObject; + +/** + * @Author: 卫志强 + * @Description: TODO + * @Date: 2019/10/20 10:22 + */ +public interface ExpenditureService { + + public void queryExpenditureByList(InputObject inputObject, OutputObject outputObject) throws Exception; + + public void insertExpenditure(InputObject inputObject, OutputObject outputObject) throws Exception; + + public void queryExpenditureToEditById(InputObject inputObject, OutputObject outputObject) throws Exception; + + public void editExpenditureById(InputObject inputObject, OutputObject outputObject) throws Exception; + + public void deleteExpenditureById(InputObject inputObject, OutputObject outputObject) throws Exception; + + public void queryExpenditureByDetail(InputObject inputObject, OutputObject outputObject) throws Exception; + +} diff --git a/erp-modular/src/main/java/com/skyeye/service/IncomeService.java b/erp-modular/src/main/java/com/skyeye/service/IncomeService.java index e85ab71f..38e1daac 100644 --- a/erp-modular/src/main/java/com/skyeye/service/IncomeService.java +++ b/erp-modular/src/main/java/com/skyeye/service/IncomeService.java @@ -4,7 +4,7 @@ import com.skyeye.common.object.InputObject; import com.skyeye.common.object.OutputObject; /** - * @Author: 奈何繁华如云烟 + * @Author: 卫志强 * @Description: TODO * @Date: 2019/10/20 10:22 */ diff --git a/erp-modular/src/main/java/com/skyeye/service/impl/ExpenditureServiceImpl.java b/erp-modular/src/main/java/com/skyeye/service/impl/ExpenditureServiceImpl.java new file mode 100644 index 00000000..bb3b8eaa --- /dev/null +++ b/erp-modular/src/main/java/com/skyeye/service/impl/ExpenditureServiceImpl.java @@ -0,0 +1,244 @@ +package com.skyeye.service.impl; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.github.miemiedev.mybatis.paginator.domain.PageBounds; +import com.github.miemiedev.mybatis.paginator.domain.PageList; +import com.skyeye.common.object.InputObject; +import com.skyeye.common.object.OutputObject; +import com.skyeye.common.util.ToolUtil; +import com.skyeye.dao.ExpenditureDao; +import com.skyeye.erp.util.ErpConstants; +import com.skyeye.erp.util.ErpOrderNum; +import com.skyeye.service.ExpenditureService; + +import net.sf.json.JSONArray; + +/** + * @Author 卫志强 + * @Description TODO + * @Date 2019/10/20 10:23 + */ +@Service +public class ExpenditureServiceImpl implements ExpenditureService { + + @Autowired + private ExpenditureDao expenditureDao; + + /** + * 查询支出单列表信息 + * @param inputObject + * @param outputObject + * @throws Exception + */ + @Override + public void queryExpenditureByList(InputObject inputObject, OutputObject outputObject) throws Exception { + Map params = inputObject.getParams(); + params.put("userId", inputObject.getLogParams().get("id")); + List> beans = expenditureDao.queryExpenditureByList(params, + new PageBounds(Integer.parseInt(params.get("page").toString()), Integer.parseInt(params.get("limit").toString()))); + PageList> beansPageList = (PageList>) beans; + int total = beansPageList.getPaginator().getTotalCount(); + outputObject.setBeans(beans); + outputObject.settotal(total); + } + + /** + * 添加支出单 + * @param inputObject + * @param outputObject + * @throws Exception + */ + @SuppressWarnings("unchecked") + @Override + @Transactional(value="transactionManager") + public void insertExpenditure(InputObject inputObject, OutputObject outputObject) throws Exception { + Map params = inputObject.getParams(); + String initemStr = params.get("initemStr").toString(); + if(ToolUtil.isJson(initemStr)) { + //财务主表ID + String useId = ToolUtil.getSurFaceId(); + String userId = inputObject.getLogParams().get("id").toString(); + //处理数据 + JSONArray jArray = JSONArray.fromObject(initemStr); + //支出单中间转换对象,财务子表存储对象 + Map bean; + List> entitys = new ArrayList<>();//财务子表实体集合信息 + BigDecimal allPrice = new BigDecimal("0");//主单总价 + BigDecimal itemAllPrice = null;//子单对象 + for(int i = 0; i < jArray.size(); i++){ + bean = jArray.getJSONObject(i); + Map entity = new HashMap<>(); + //获取子项金额 + itemAllPrice = new BigDecimal(bean.get("initemMoney").toString()); + entity.put("id", ToolUtil.getSurFaceId()); + entity.put("headerId", useId); + entity.put("accountId", params.get("accountId")); + entity.put("inOutItemId", bean.get("initemId")); + entity.put("eachAmount", bean.get("initemMoney")); + entity.put("remark", bean.get("remark")); + entity.put("userId", userId); + entity.put("deleteFlag", 0); + entitys.add(entity); + //计算总金额 + allPrice = allPrice.add(itemAllPrice); + } + if(entitys.size() == 0){ + outputObject.setreturnMessage("请选择收入项目"); + return; + } + Map accountHead = new HashMap<>(); + ErpOrderNum erpOrderNum = new ErpOrderNum(); + String orderNum = erpOrderNum.getAccountOrderNumBySubType(userId, ErpConstants.AccountTheadSubType.EXPENDITURE_ORDER.getNum()); + accountHead.put("id", useId); + accountHead.put("type", ErpConstants.AccountTheadSubType.EXPENDITURE_ORDER.getNum());//支出单 + accountHead.put("billNo", orderNum); + accountHead.put("totalPrice", allPrice); + accountHead.put("userId", userId); + accountHead.put("organId", params.get("organId")); + accountHead.put("operTime", params.get("operTime")); + accountHead.put("accountId", params.get("accountId")); + accountHead.put("handsPersonId", params.get("handsPersonId")); + accountHead.put("remark", params.get("remark")); + accountHead.put("changeAmount", params.get("changeAmount")); + accountHead.put("deleteFlag", 0); + expenditureDao.insertExpenditure(accountHead); + expenditureDao.insertExpenditureItem(entitys); + }else{ + outputObject.setreturnMessage("数据格式错误"); + } + } + + /** + * 查询支出单用于数据回显 + * @param inputObject + * @param outputObject + * @throws Exception + */ + @Override + public void queryExpenditureToEditById(InputObject inputObject, OutputObject outputObject) throws Exception { + Map params = inputObject.getParams(); + params.put("userId", inputObject.getLogParams().get("id")); + Map bean = expenditureDao.queryExpenditureToEditById(params); + if(bean != null && !bean.isEmpty()){ + List> beans = expenditureDao.queryExpenditureItemsToEditById(params); + bean.put("items", beans); + //获取经手人员 + List> userInfo = expenditureDao.queryUserInfoById(bean); + bean.put("userInfo", userInfo); + outputObject.setBean(bean); + outputObject.settotal(1); + }else{ + outputObject.setreturnMessage("未查询到信息!"); + } + } + + /** + * 编辑支出单信息 + * @param inputObject + * @param outputObject + * @throws Exception + */ + @SuppressWarnings("unchecked") + @Override + @Transactional(value="transactionManager") + public void editExpenditureById(InputObject inputObject, OutputObject outputObject) throws Exception { + Map params = inputObject.getParams(); + String initemStr = params.get("initemStr").toString(); + if(ToolUtil.isJson(initemStr)) { + String useId = params.get("id").toString(); + String userId = inputObject.getLogParams().get("id").toString(); + //处理数据 + JSONArray jArray = JSONArray.fromObject(initemStr); + //支出单中间转换对象,财务子表存储对象 + Map bean; + List> entitys = new ArrayList<>();//财务子表实体集合信息 + BigDecimal allPrice = new BigDecimal("0");//主单总价 + BigDecimal itemAllPrice = null;//子单对象 + for(int i = 0; i < jArray.size(); i++){ + bean = jArray.getJSONObject(i); + Map entity = new HashMap<>(); + //获取子项金额 + itemAllPrice = new BigDecimal(bean.get("initemMoney").toString()); + entity.put("id", ToolUtil.getSurFaceId()); + entity.put("headerId", useId); + entity.put("accountId", params.get("accountId")); + entity.put("inOutItemId", bean.get("initemId")); + entity.put("eachAmount", bean.get("initemMoney")); + entity.put("remark", bean.get("remark")); + entity.put("userId", userId); + entity.put("deleteFlag", "0"); + entitys.add(entity); + //计算总金额 + allPrice = allPrice.add(itemAllPrice); + } + if(entitys.size() == 0){ + outputObject.setreturnMessage("请选择收入项目"); + return; + } + Map accountHead = new HashMap<>(); + accountHead.put("id", useId); + accountHead.put("userId", userId); + accountHead.put("totalPrice", allPrice); + accountHead.put("organId", params.get("organId")); + accountHead.put("operTime", params.get("operTime")); + accountHead.put("accountId", params.get("accountId")); + accountHead.put("handsPersonId", params.get("handsPersonId")); + accountHead.put("remark", params.get("remark")); + accountHead.put("changeAmount", params.get("changeAmount")); + expenditureDao.editExpenditureById(accountHead); + //删除之前的绑定信息 + expenditureDao.deleteExpenditureItemById(params); + expenditureDao.insertExpenditureItem(entitys); + }else{ + outputObject.setreturnMessage("数据格式错误"); + } + } + + /** + * 删除支出单信息 + * @param inputObject + * @param outputObject + * @throws Exception + */ + @Override + @Transactional(value="transactionManager") + public void deleteExpenditureById(InputObject inputObject, OutputObject outputObject) throws Exception { + Map params = inputObject.getParams(); + params.put("userId", inputObject.getLogParams().get("id")); + params.put("deleteFlag", 1); + expenditureDao.editExpenditureByDeleteFlag(params); + expenditureDao.editExpenditureItemsByDeleteFlag(params); + } + + /** + * 查看支出单详情 + * @param inputObject + * @param outputObject + * @throws Exception + */ + @Override + public void queryExpenditureByDetail(InputObject inputObject, OutputObject outputObject) throws Exception { + Map params = inputObject.getParams(); + params.put("userId", inputObject.getLogParams().get("id")); + //获取财务主表信息 + Map bean = expenditureDao.queryExpenditureDetailById(params); + if(bean != null && !bean.isEmpty()){ + //获取子表信息 + List> beans = expenditureDao.queryExpenditureItemsDetailById(bean); + bean.put("items", beans); + outputObject.setBean(bean); + outputObject.settotal(1); + }else{ + outputObject.setreturnMessage("该数据已不存在."); + } + } +} diff --git a/erp-modular/src/main/java/com/skyeye/service/impl/IncomeServiceImpl.java b/erp-modular/src/main/java/com/skyeye/service/impl/IncomeServiceImpl.java index 35ffa4b8..77a68a54 100644 --- a/erp-modular/src/main/java/com/skyeye/service/impl/IncomeServiceImpl.java +++ b/erp-modular/src/main/java/com/skyeye/service/impl/IncomeServiceImpl.java @@ -192,9 +192,9 @@ public class IncomeServiceImpl implements IncomeService { accountHead.put("handsPersonId", params.get("handsPersonId")); accountHead.put("remark", params.get("remark")); accountHead.put("changeAmount", params.get("changeAmount")); - incomeDao.editIncomById(accountHead); + incomeDao.editIncomeById(accountHead); //删除之前的绑定信息 - incomeDao.deleteIncomItemById(params); + incomeDao.deleteIncomeItemById(params); incomeDao.insertIncomeItem(entitys); }else{ outputObject.setreturnMessage("数据格式错误"); diff --git a/erp-modular/src/main/resources/dbmapper/erp/ExpenditureMapper.xml b/erp-modular/src/main/resources/dbmapper/erp/ExpenditureMapper.xml new file mode 100644 index 00000000..f583f2ce --- /dev/null +++ b/erp-modular/src/main/resources/dbmapper/erp/ExpenditureMapper.xml @@ -0,0 +1,173 @@ + + + + + + + + INSERT INTO erp_accounthead( + id, type, organ_id, hands_person_id, change_amount, total_price, account_id, bill_no, bill_time, remark, tenant_id, delete_flag + ) VALUES + (#{id}, #{type}, #{organId}, #{handsPersonId}, #{changeAmount}, #{totalPrice}, #{accountId}, #{billNo}, #{operTime}, #{remark}, #{userId}, #{deleteFlag}) + + + + INSERT INTO erp_accountitem( + id, header_id, account_id, in_out_item_id, each_amount, remark, tenant_id, delete_flag + ) VALUES + + (#{item.id}, #{item.headerId}, #{item.accountId}, #{item.inOutItemId}, #{item.eachAmount}, #{item.remark}, #{item.userId}, #{item.deleteFlag}) + + + + + + + + + UPDATE erp_accounthead + + organ_id = #{organId}, + hands_person_id = #{handsPersonId}, + change_amount = #{changeAmount}, + total_price = #{totalPrice}, + account_id = #{accountId}, + bill_time = #{operTime}, + remark = #{remark} + + WHERE + id = #{id} + AND tenant_id = #{userId} + + + + DELETE + FROM + erp_accountitem + WHERE + header_id = #{id} + + + + UPDATE erp_accounthead + + delete_flag = #{deleteFlag} + + WHERE + id = #{id} + AND tenant_id = #{userId} + + + + UPDATE erp_accountitem + + delete_flag = #{deleteFlag} + + WHERE + header_id = #{id} + AND tenant_id = #{userId} + + + + + + + + + \ No newline at end of file diff --git a/erp-modular/src/main/resources/dbmapper/erp/IncomeMapper.xml b/erp-modular/src/main/resources/dbmapper/erp/IncomeMapper.xml index 87c6f268..e48ad791 100644 --- a/erp-modular/src/main/resources/dbmapper/erp/IncomeMapper.xml +++ b/erp-modular/src/main/resources/dbmapper/erp/IncomeMapper.xml @@ -77,7 +77,7 @@ a.header_id = #{id} - + UPDATE erp_accounthead organ_id = #{organId}, @@ -93,7 +93,7 @@ AND tenant_id = #{userId} - + DELETE FROM erp_accountitem diff --git a/erp-modular/src/main/resources/mapping/erp.xml b/erp-modular/src/main/resources/mapping/erp.xml index a66d57aa..7ddaa0ce 100644 --- a/erp-modular/src/main/resources/mapping/erp.xml +++ b/erp-modular/src/main/resources/mapping/erp.xml @@ -329,7 +329,7 @@ - + @@ -365,5 +365,44 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/erp-modular/src/main/resources/template/js/expenditure/expenditureadd.js b/erp-modular/src/main/resources/template/js/expenditure/expenditureadd.js new file mode 100644 index 00000000..7b8e98bd --- /dev/null +++ b/erp-modular/src/main/resources/template/js/expenditure/expenditureadd.js @@ -0,0 +1,263 @@ + +var userReturnList = new Array();//选择用户返回的集合或者进行回显的集合 +var chooseOrNotMy = "1";//人员列表中是否包含自己--1.包含;其他参数不包含 +var chooseOrNotEmail = "2";//人员列表中是否必须绑定邮箱--1.必须;其他参数没必要 +var checkType = "2";//人员选择类型,1.多选;其他。单选 + +layui.config({ + base: basePath, + version: skyeyeVersion +}).extend({ //指定js别名 + window: 'js/winui.window' +}).define(['window', 'jquery', 'winui', 'laydate'], function(exports) { + winui.renderColor(); + layui.use(['form', 'tagEditor'], function(form) { + var index = parent.layer.getFrameIndex(window.name); //获取窗口索引 + var $ = layui.$, + laydate = layui.laydate; + var rowNum = 1; //表格的序号 + var initemHtml = "";//收支项目 + + var usetableTemplate = $("#usetableTemplate").html(); + var selOption = getFileContent('tpl/template/select-option.tpl'); + var handsPersonList = new Array();//经手人员 + + //单据时间 + laydate.render({ + elem: '#operTime', + type: 'datetime', + value: getFormatDate(), + trigger: 'click' + }); + + initAccountHtml(); + //初始化账户 + function initAccountHtml() { + AjaxPostUtil.request({url: reqBasePath + "account009", params: {}, type: 'json', callback: function(json) { + if(json.returnCode == 0) { + //加载账户数据 + $("#accountId").html(getDataUseHandlebars(selOption, json)); + //初始化往来单位 + initSupplierHtml(); + } else { + winui.window.msg(json.returnMessage, {icon: 2, time: 2000}); + } + }}); + } + + //初始化往来单位 + function initSupplierHtml() { + AjaxPostUtil.request({url: reqBasePath + "supplier010", params: {}, type: 'json', callback: function(json) { + if(json.returnCode == 0) { + //加载往来单位数据 + $("#organId").html(getDataUseHandlebars(selOption, json)); + //初始化支出项目 + initItemHtml(); + } else { + winui.window.msg(json.returnMessage, {icon: 2, time: 2000}); + } + }}); + } + + //初始化支出项目 + function initItemHtml() { + AjaxPostUtil.request({url: reqBasePath + "inoutitem007", params: {}, type: 'json', callback: function(json) { + if(json.returnCode == 0) { + //加载支出项目数据 + initemHtml = getDataUseHandlebars(selOption, json); + //渲染 + form.render(); + //初始化一行数据 + addRow(); + } else { + winui.window.msg(json.returnMessage, {icon: 2, time: 2000}); + } + }}); + } + + //数量变化 + $("body").on("input", ".rkMoney", function() { + //计算价格 + calculatedTotalPrice(); + }); + $("body").on("change", ".rkMoney", function() { + calculatedTotalPrice(); + }); + + //计算总价 + function calculatedTotalPrice(){ + var rowTr = $("#useTable tr"); + var allPrice = 0; + $.each(rowTr, function(i, item) { + //获取行坐标 + var rowNum = $(item).attr("trcusid").replace("tr", ""); + //获取金额 + var initemMoney = parseFloat(isNull($("#initemMoney" + rowNum).val()) ? "0" : $("#initemMoney" + rowNum).val()); + //输出金额 + $("#initemMoney" + rowNum).html((initemMoney).toFixed(2)); + allPrice += initemMoney; + }); + $("#allPrice").html(allPrice.toFixed(2)); + } + + form.on('submit(formAddBean)', function(data) { + //表单验证 + if(winui.verifyForm(data.elem)) { + //获取数据 + var rowTr = $("#useTable tr"); + if(rowTr.length == 0) { + winui.window.msg('请选择收入项目.', {icon: 2, time: 2000}); + return false; + } + var tableData = new Array(); + var noError = false; //循环遍历表格数据时,是否有其他错误信息 + $.each(rowTr, function(i, item) { + //获取行编号 + var rowNum = $(item).attr("trcusid").replace("tr", ""); + if(inTableDataArrayByAssetarId($("#initemId" + rowNum).val(), tableData)) { + $("#initemId" + rowNum).addClass("layui-form-danger"); + $("#initemId" + rowNum).focus(); + winui.window.msg('一张单中不允许出现相同收支项目信息.', {icon: 2, time: 2000}); + noError = true; + return false; + } + var row = { + initemId: $("#initemId" + rowNum).val(), + initemMoney: $("#initemMoney" +rowNum).val(), + remark: $("#remark" + rowNum).val() + }; + tableData.push(row); + }); + if(noError) { + return false; + } + + var handsPersonId = ""; + $.each(handsPersonList, function (i, item) { + handsPersonId = item.id; + }); + if(isNull(handsPersonId)){ + winui.window.msg('请选择经手人.', {icon: 2, time: 2000}); + return false; + } + + var params = { + organId: $("#organId").val(), + handsPersonId: handsPersonId, + operTime: $("#operTime").val(), + accountId: $("#accountId").val(), + remark: $("#remark").val(), + changeAmount: $("#changeAmount").val(), + initemStr: JSON.stringify(tableData) + }; + AjaxPostUtil.request({url: reqBasePath + "expenditure002", params: params, type: 'json', callback: function(json) { + if(json.returnCode == 0) { + parent.layer.close(index); + parent.refreshCode = '0'; + } else { + winui.window.msg(json.returnMessage, {icon: 2, time: 2000}); + } + }}); + } + return false; + }); + + //判断选中的收支项目是否也在数组中 + function inTableDataArrayByAssetarId(initemId, array) { + var isIn = false; + $.each(array, function(i, item) { + if(item.initemId === initemId) { + isIn = true; + return false; + } + }); + return isIn; + } + + $('#handsPersonId').tagEditor({ + initialTags: [], + placeholder: '请选择经手人员', + beforeTagDelete: function(field, editor, tags, val) { + var inArray = -1; + $.each(handsPersonList, function(i, item) { + if(val === item.name) { + inArray = i; + return false; + } + }); + if(inArray != -1) { //如果该元素在集合中存在 + handsPersonList.splice(inArray, 1); + } + } + }); + + //人员选择 + $("body").on("click", "#toHandsPersonSelPeople", function(e){ + userReturnList = [].concat(handsPersonList); + _openNewWindows({ + url: "../../tpl/common/sysusersel.html", + title: "人员选择", + pageId: "sysuserselpage", + area: ['80vw', '80vh'], + callBack: function(refreshCode){ + if (refreshCode == '0') { + //移除所有tag + var tags = $('#handsPersonId').tagEditor('getTags')[0].tags; + for (i = 0; i < tags.length; i++) { + $('#handsPersonId').tagEditor('removeTag', tags[i]); + } + handsPersonList = [].concat(userReturnList); + //添加新的tag + $.each(handsPersonList, function(i, item){ + $('#handsPersonId').tagEditor('addTag', item.name); + }); + } else if (refreshCode == '-9999') { + winui.window.msg("操作失败", {icon: 2,time: 2000}); + } + }}); + }); + + //新增行 + $("body").on("click", "#addRow", function() { + addRow(); + }); + + //删除行 + $("body").on("click", "#deleteRow", function() { + deleteRow(); + }); + + //新增行 + function addRow() { + var par = { + id: "row" + rowNum.toString(), //checkbox的id + trId: "tr" + rowNum.toString(), //行的id + initemId: "initemId" + rowNum.toString(), //收入项目id + initemMoney: "initemMoney" + rowNum.toString(), //金额id + remark: "remark" + rowNum.toString() //备注id + }; + $("#useTable").append(getDataUseHandlebars(usetableTemplate, par)); + //赋值给收支项目 + $("#" + "initemId" + rowNum.toString()).html(initemHtml); + form.render('select'); + form.render('checkbox'); + rowNum++; + } + + //删除行 + function deleteRow() { + var checkRow = $("#useTable input[type='checkbox'][name='tableCheckRow']:checked"); + if(checkRow.length > 0) { + $.each(checkRow, function(i, item) { + $(item).parent().parent().remove(); + }); + } else { + winui.window.msg('请选择要删除的行', {icon: 2, time: 2000}); + } + } + + $("body").on("click", "#cancle", function() { + parent.layer.close(index); + }); + }); +}); \ No newline at end of file diff --git a/erp-modular/src/main/resources/template/js/expenditure/expenditureedit.js b/erp-modular/src/main/resources/template/js/expenditure/expenditureedit.js new file mode 100644 index 00000000..4f6dc23c --- /dev/null +++ b/erp-modular/src/main/resources/template/js/expenditure/expenditureedit.js @@ -0,0 +1,298 @@ + +var userReturnList = new Array();//选择用户返回的集合或者进行回显的集合 +var chooseOrNotMy = "1";//人员列表中是否包含自己--1.包含;其他参数不包含 +var chooseOrNotEmail = "2";//人员列表中是否必须绑定邮箱--1.必须;其他参数没必要 +var checkType = "2";//人员选择类型,1.多选;其他。单选 + +layui.config({ + base: basePath, + version: skyeyeVersion +}).extend({ //指定js别名 + window: 'js/winui.window' +}).define(['window', 'jquery', 'winui', 'laydate'], function(exports) { + winui.renderColor(); + layui.use(['form', 'tagEditor'], function(form) { + var index = parent.layer.getFrameIndex(window.name); //获取窗口索引 + var $ = layui.$, + laydate = layui.laydate; + var rowNum = 1; //表格的序号 + var initemHtml = "";//收支项目 + + var beanTemplate = $("#beanTemplate").html(); + var usetableTemplate = $("#usetableTemplate").html(); + var selOption = getFileContent('tpl/template/select-option.tpl'); + var handsPersonList = new Array();//经手人员 + + //加载单据数据 + var orderObject = []; + showGrid({ + id: "showForm", + url: reqBasePath + "expenditure003", + params: {rowId: parent.rowId}, + pagination: false, + template: beanTemplate, + ajaxSendAfter:function(json){ + //单据时间 + laydate.render({ + elem: '#operTime', + type: 'datetime', + trigger: 'click' + }); + orderObject = json; + initAccountHtml(); + + var userNames = ""; + handsPersonList = json.bean.userInfo; + $.each(handsPersonList, function (i, item) { + userNames += item.name + ','; + }); + //人员选择 + $('#handsPersonId').tagEditor({ + initialTags: userNames.split(','), + placeholder: '请选择经手人员', + beforeTagDelete: function(field, editor, tags, val) { + var inArray = -1; + $.each(handsPersonList, function(i, item) { + if(val === item.name) { + inArray = i; + return false; + } + }); + if(inArray != -1) { //如果该元素在集合中存在 + handsPersonList.splice(inArray, 1); + } + } + }); + } + }); + + //初始化账户 + function initAccountHtml() { + AjaxPostUtil.request({url: reqBasePath + "account009", params: {}, type: 'json', callback: function(json) { + if(json.returnCode == 0) { + //加载账户数据 + $("#accountId").html(getDataUseHandlebars(selOption, json)); + //初始化往来单位 + initSupplierHtml(); + } else { + winui.window.msg(json.returnMessage, {icon: 2, time: 2000}); + } + }}); + } + + //初始化往来单位 + function initSupplierHtml() { + AjaxPostUtil.request({url: reqBasePath + "supplier010", params: {}, type: 'json', callback: function(json) { + if(json.returnCode == 0) { + //加载往来单位数据 + $("#organId").html(getDataUseHandlebars(selOption, json)); + //初始化支出项目 + initItemHtml(); + } else { + winui.window.msg(json.returnMessage, {icon: 2, time: 2000}); + } + }}); + } + + //初始化支出项目 + function initItemHtml() { + AjaxPostUtil.request({url: reqBasePath + "inoutitem007", params: {}, type: 'json', callback: function(json) { + if(json.returnCode == 0) { + //加载支出项目数据 + initemHtml = getDataUseHandlebars(selOption, json); + //渲染数据到页面 + initDataToShow(); + } else { + winui.window.msg(json.returnMessage, {icon: 2, time: 2000}); + } + }}); + } + + //渲染数据到页面 + function initDataToShow(){ + $("#organId").val(orderObject.bean.organId);//来往单位 + $("#accountId").val(orderObject.bean.accountId);//账户 + $("#payType").val(orderObject.bean.payType);//收款类型 + + //渲染列表项 + $.each(orderObject.bean.items, function(i, item){ + addRow(); + $("#initemId" + (rowNum - 1)).val(item.initemId);//支出项目回显 + $("#initemMoney" + (rowNum - 1)).val(item.initemMoney.toFixed(2));//金额回显 + $("#remark" + (rowNum - 1)).val(item.remark);//备注回显 + //设置标识 + $("tr[trcusid='tr" + (rowNum - 1) + "']").attr("thisid", item.id); + }); + //渲染 + form.render(); + } + + form.on('submit(formEditBean)', function(data) { + //表单验证 + if(winui.verifyForm(data.elem)) { + var rowTr = $("#useTable tr"); + if(rowTr.length == 0) { + winui.window.msg('请选择收入项目.', {icon: 2, time: 2000}); + return false; + } + var tableData = new Array(); + var noError = false; //循环遍历表格数据时,是否有其他错误信息 + $.each(rowTr, function(i, item) { + //获取行编号 + var rowNum = $(item).attr("trcusid").replace("tr", ""); + if(inTableDataArrayByAssetarId($("#initemId" + rowNum).val(), tableData)) { + $("#initemId" + rowNum).addClass("layui-form-danger"); + $("#initemId" + rowNum).focus(); + winui.window.msg('一张单中不允许出现相同收支项目信息.', {icon: 2, time: 2000}); + noError = true; + return false; + } + var row = { + initemId: $("#initemId" + rowNum).val(), + initemMoney: $("#initemMoney" +rowNum).val(), + rkNum: $("#rkNum" + rowNum).val(), + remark: $("#remark" + rowNum).val() + }; + tableData.push(row); + }); + if(noError) { + return false; + } + + var handsPersonId = ""; + $.each(handsPersonList, function (i, item) { + handsPersonId = item.id; + }); + if(isNull(handsPersonId)){ + winui.window.msg('请选择经手人.', {icon: 2, time: 2000}); + return false; + } + + var params = { + rowId: parent.rowId, + organId: $("#organId").val(), + handsPersonId: handsPersonId, + operTime: $("#operTime").val(), + accountId: $("#accountId").val(), + remark: $("#remark").val(), + changeAmount: $("#changeAmount").val(), + initemStr: JSON.stringify(tableData) + }; + AjaxPostUtil.request({url: reqBasePath + "expenditure004", params: params, type: 'json', callback: function(json) { + if(json.returnCode == 0) { + parent.layer.close(index); + parent.refreshCode = '0'; + } else { + winui.window.msg(json.returnMessage, {icon: 2, time: 2000}); + } + }}); + } + return false; + }); + + $("body").on("input", ".rkMoney", function() { + //计算价格 + calculatedTotalPrice(); + }); + $("body").on("change", ".rkMoney", function() { + calculatedTotalPrice(); + }); + + //计算总价 + function calculatedTotalPrice(){ + var rowTr = $("#useTable tr"); + var allPrice = 0; + $.each(rowTr, function(i, item) { + //获取行坐标 + var rowNum = $(item).attr("trcusid").replace("tr", ""); + //获取金额 + var initemMoney = parseFloat(isNull($("#initemMoney" + rowNum).val()) ? "0" : $("#initemMoney" + rowNum).val()); + //输出金额 + $("#initemMoney" + rowNum).html((initemMoney).toFixed(2)); + allPrice += initemMoney; + }); + $("#allPrice").html(allPrice.toFixed(2)); + } + + //判断选中的收支项目是否也在数组中 + function inTableDataArrayByAssetarId(initemId, array) { + var isIn = false; + $.each(array, function(i, item) { + if(item.initemId === initemId) { + isIn = true; + return false; + } + }); + return isIn; + } + + //人员选择 + $("body").on("click", "#toHandsPersonSelPeople", function(e){ + userReturnList = [].concat(handsPersonList); + _openNewWindows({ + url: "../../tpl/common/sysusersel.html", + title: "人员选择", + pageId: "sysuserselpage", + area: ['80vw', '80vh'], + callBack: function(refreshCode){ + if (refreshCode == '0') { + //移除所有tag + var tags = $('#handsPersonId').tagEditor('getTags')[0].tags; + for (i = 0; i < tags.length; i++) { + $('#handsPersonId').tagEditor('removeTag', tags[i]); + } + handsPersonList = [].concat(userReturnList); + //添加新的tag + $.each(handsPersonList, function(i, item){ + $('#handsPersonId').tagEditor('addTag', item.name); + }); + } else if (refreshCode == '-9999') { + winui.window.msg("操作失败", {icon: 2,time: 2000}); + } + }}); + }); + + //新增行 + $("body").on("click", "#addRow", function() { + addRow(); + }); + + //删除行 + $("body").on("click", "#deleteRow", function() { + deleteRow(); + }); + + //新增行 + function addRow() { + var par = { + id: "row" + rowNum.toString(), //checkbox的id + trId: "tr" + rowNum.toString(), //行的id + initemId: "initemId" + rowNum.toString(), //收入项目id + initemMoney: "initemMoney" + rowNum.toString(), //金额id + remark: "remark" + rowNum.toString() //备注id + }; + $("#useTable").append(getDataUseHandlebars(usetableTemplate, par)); + //赋值给收支项目 + $("#" + "initemId" + rowNum.toString()).html(initemHtml); + form.render('select'); + form.render('checkbox'); + rowNum++; + } + + //删除行 + function deleteRow() { + var checkRow = $("#useTable input[type='checkbox'][name='tableCheckRow']:checked"); + if(checkRow.length > 0) { + $.each(checkRow, function(i, item) { + $(item).parent().parent().remove(); + }); + } else { + winui.window.msg('请选择要删除的行', {icon: 2, time: 2000}); + } + } + + $("body").on("click", "#cancle", function() { + parent.layer.close(index); + }); + }); +}); \ No newline at end of file diff --git a/erp-modular/src/main/resources/template/js/expenditure/expenditureinfo.js b/erp-modular/src/main/resources/template/js/expenditure/expenditureinfo.js new file mode 100644 index 00000000..0085ddcf --- /dev/null +++ b/erp-modular/src/main/resources/template/js/expenditure/expenditureinfo.js @@ -0,0 +1,28 @@ + +layui.config({ + base: basePath, + version: skyeyeVersion +}).extend({ //指定js别名 + window: 'js/winui.window' +}).define(['window', 'table', 'jquery', 'winui'], function (exports) { + winui.renderColor(); + layui.use(['form'], function (form) { + var index = parent.layer.getFrameIndex(window.name); //获取窗口索引 + var $ = layui.$; + + var beanTemplate = $("#beanTemplate").html(); + + showGrid({ + id: "showForm", + url: reqBasePath + "expenditure006", + params: {rowId: parent.rowId}, + pagination: false, + template: beanTemplate, + ajaxSendAfter:function(json){ + + form.render(); + } + }); + + }); +}); \ No newline at end of file diff --git a/erp-modular/src/main/resources/template/js/expenditure/expenditurelist.js b/erp-modular/src/main/resources/template/js/expenditure/expenditurelist.js new file mode 100644 index 00000000..9de0e375 --- /dev/null +++ b/erp-modular/src/main/resources/template/js/expenditure/expenditurelist.js @@ -0,0 +1,172 @@ + +var rowId = ""; + +//单据的开始时间、结束时间 +var startTime = "", endTime = ""; + +layui.config({ + base: basePath, + version: skyeyeVersion +}).extend({ //指定js别名 + window: 'js/winui.window' +}).define(['window', 'table', 'jquery', 'winui', 'form', 'laydate'], function (exports) { + winui.renderColor(); + var $ = layui.$, + form = layui.form, + laydate = layui.laydate, + table = layui.table; + authBtn('1571638020191'); + + laydate.render({ + elem: '#billTime', //指定元素 + range: '~' + }); + + //表格渲染 + table.render({ + id: 'messageTable', + elem: '#messageTable', + method: 'post', + url: reqBasePath + 'expenditure001', + where: {billNo: $("#billNo").val(), startTime: startTime, endTime: endTime}, + even: true, //隔行变色 + page: true, + limits: [8, 16, 24, 32, 40, 48, 56], + limit: 8, + cols: [[ + { title: '序号', type: 'numbers'}, + { field: 'billNo', title: '单据编号', align: 'left', width: 200, templet: function(d){ + return '' + d.billNo + ''; + }}, + { field: 'supplierName', title: '往来单位', align: 'left', width: 150}, + { field: 'totalPrice', title: '合计金额', align: 'left', width: 120}, + { field: 'hansPersonName', title: '经手人', align: 'left', width: 100}, + { field: 'billTime', title: '单据日期', align: 'center', width: 140 }, + { field: 'remark', title: '备注', align: 'center', width: 140 }, + { title: '操作', fixed: 'right', align: 'center', width: 200, toolbar: '#tableBar'} + ]] + }); + + table.on('tool(messageTable)', function (obj) { //注:tool是工具条事件名,test是table原始容器的属性 lay-filter="对应的值" + var data = obj.data; //获得当前行数据 + var layEvent = obj.event; //获得 lay-event 对应的值 + if (layEvent === 'delete') { //删除 + deleteexpenditure(data); + }else if (layEvent === 'details') { //详情 + details(data); + }else if (layEvent === 'edit') { //编辑 + edit(data); + } + }); + + //搜索表单 + form.render(); + form.on('submit(formSearch)', function (data) { + //表单验证 + if (winui.verifyForm(data.elem)) { + loadTable(); + } + return false; + }); + + //编辑 + function edit(data){ + rowId = data.id; + _openNewWindows({ + url: "../../tpl/expenditure/expenditureedit.html", + title: "编辑", + pageId: "expenditureedit", + area: ['90vw', '90vh'], + callBack: function(refreshCode){ + if (refreshCode == '0') { + winui.window.msg("操作成功", {icon: 1,time: 2000}); + loadTable(); + } else if (refreshCode == '-9999') { + winui.window.msg("操作失败", {icon: 2,time: 2000}); + } + }}); + } + + //删除 + function deleteexpenditure(data){ + layer.confirm('确认要删除信息吗?', { icon: 3, title: '删除操作' }, function (index) { + AjaxPostUtil.request({url:reqBasePath + "expenditure005", params: {rowId: data.id}, type:'json', callback:function(json){ + if(json.returnCode == 0){ + winui.window.msg("删除成功。", {icon: 1,time: 2000}); + loadTable(); + }else{ + winui.window.msg(json.returnMessage, {icon: 2,time: 2000}); + } + }}); + }); + } + + //详情 + function details(data){ + rowId = data.id; + _openNewWindows({ + url: "../../tpl/expenditure/expenditureinfo.html", + title: "详情", + pageId: "expenditureinfo", + area: ['90vw', '90vh'], + callBack: function(refreshCode){ + if (refreshCode == '0') { + winui.window.msg("操作成功", {icon: 1,time: 2000}); + loadTable(); + } else if (refreshCode == '-9999') { + winui.window.msg("操作失败", {icon: 2,time: 2000}); + } + }}); + } + + //添加 + $("body").on("click", "#addBean", function(){ + _openNewWindows({ + url: "../../tpl/expenditure/expenditureadd.html", + title: "新增", + pageId: "expenditureadd", + area: ['90vw', '90vh'], + callBack: function(refreshCode){ + if (refreshCode == '0') { + winui.window.msg("操作成功", {icon: 1,time: 2000}); + loadTable(); + } else if (refreshCode == '-9999') { + winui.window.msg("操作失败", {icon: 2,time: 2000}); + } + }}); + }); + + $("body").on("click", "#reloadTable", function() { + loadTable(); + }); + + $("body").on("click", "#formSearch", function () { + refreshTable(); + }) + + //刷新 + function loadTable(){ + if(isNull($("#billTime").val())){//一定要记得,当createTime为空时 + startTime = ""; + endTime = ""; + }else { + startTime = $("#billTime").val().split('~')[0].trim() + ' 00:00:00'; + endTime = $("#billTime").val().split('~')[1].trim() + ' 23:59:59'; + } + table.reload("messageTable", {where:{billNo: $("#billNo").val(), material: $("#material").val(), startTime: startTime, endTime: endTime}}); + } + + //搜索 + function refreshTable(){ + if(isNull($("#billTime").val())){//一定要记得,当createTime为空时 + startTime = ""; + endTime = ""; + }else { + startTime = $("#billTime").val().split('~')[0].trim() + ' 00:00:00'; + endTime = $("#billTime").val().split('~')[1].trim() + ' 23:59:59'; + } + table.reload("messageTable", {page: {curr: 1}, where:{billNo: $("#billNo").val(), material: $("#material").val(), startTime: startTime, endTime: endTime}}) + } + + exports('expenditurelist', {}); +}); diff --git a/erp-modular/src/main/resources/template/js/income/incomeedit.js b/erp-modular/src/main/resources/template/js/income/incomeedit.js index 66ed0a13..53eb94d3 100644 --- a/erp-modular/src/main/resources/template/js/income/incomeedit.js +++ b/erp-modular/src/main/resources/template/js/income/incomeedit.js @@ -127,7 +127,6 @@ layui.config({ form.render(); } - form.on('submit(formEditBean)', function(data) { //表单验证 if(winui.verifyForm(data.elem)) { diff --git a/erp-modular/src/main/resources/template/tpl/expenditure/expenditureadd.html b/erp-modular/src/main/resources/template/tpl/expenditure/expenditureadd.html new file mode 100644 index 00000000..c3449c97 --- /dev/null +++ b/erp-modular/src/main/resources/template/tpl/expenditure/expenditureadd.html @@ -0,0 +1,104 @@ + + + + + + + + + + +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+
+
+ + +
+
+ + + + + + + + + + + +
支出项目金额备注
+
+
+
+ +
+ +
+
+
+ +
+ 0.00 +
+
+
+ +
+ +
+
+
+ +
+ + +
+
+
+ +
+ +
+
+
+
+ + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/erp-modular/src/main/resources/template/tpl/expenditure/expenditureedit.html b/erp-modular/src/main/resources/template/tpl/expenditure/expenditureedit.html new file mode 100644 index 00000000..d3b404af --- /dev/null +++ b/erp-modular/src/main/resources/template/tpl/expenditure/expenditureedit.html @@ -0,0 +1,111 @@ + + + + + + + + + + +
+ + + +
+ +
+
+ + + + + + + + + \ No newline at end of file diff --git a/erp-modular/src/main/resources/template/tpl/expenditure/expenditureinfo.html b/erp-modular/src/main/resources/template/tpl/expenditure/expenditureinfo.html new file mode 100644 index 00000000..764bb1c9 --- /dev/null +++ b/erp-modular/src/main/resources/template/tpl/expenditure/expenditureinfo.html @@ -0,0 +1,99 @@ + + + + + + + + + + +
+
+ +
+ + + +
+ + + + + \ No newline at end of file diff --git a/erp-modular/src/main/resources/template/tpl/expenditure/expenditurelist.html b/erp-modular/src/main/resources/template/tpl/expenditure/expenditurelist.html new file mode 100644 index 00000000..e6fb88f9 --- /dev/null +++ b/erp-modular/src/main/resources/template/tpl/expenditure/expenditurelist.html @@ -0,0 +1,53 @@ + + + + + + + + + + +
+
+
+
+ +
+ +
+ +
+ +
+ + +
+
+
+
+
+
+ + +
+
+
+
+ + +
+ + + + + \ No newline at end of file diff --git a/erp-modular/src/main/resources/template/tpl/income/incomeadd.html b/erp-modular/src/main/resources/template/tpl/income/incomeadd.html index a7d25d75..4cc08a2c 100644 --- a/erp-modular/src/main/resources/template/tpl/income/incomeadd.html +++ b/erp-modular/src/main/resources/template/tpl/income/incomeadd.html @@ -58,9 +58,9 @@
- +
- +
diff --git a/erp-modular/src/main/resources/template/tpl/income/incomeedit.html b/erp-modular/src/main/resources/template/tpl/income/incomeedit.html index cd6a29dd..8ff53af9 100644 --- a/erp-modular/src/main/resources/template/tpl/income/incomeedit.html +++ b/erp-modular/src/main/resources/template/tpl/income/incomeedit.html @@ -60,9 +60,9 @@
- +
- +
diff --git a/erp-modular/src/main/resources/template/tpl/income/incomeinfo.html b/erp-modular/src/main/resources/template/tpl/income/incomeinfo.html index cfab54a1..c98d163b 100644 --- a/erp-modular/src/main/resources/template/tpl/income/incomeinfo.html +++ b/erp-modular/src/main/resources/template/tpl/income/incomeinfo.html @@ -69,7 +69,7 @@
- +
{{changeAmount}}元