From 0950e15656bbec50ce0b3084e8307e2956327175 Mon Sep 17 00:00:00 2001 From: zhangsiqi <2825463979@qq.com> Date: Sat, 20 Apr 2024 15:29:33 +0800 Subject: [PATCH] =?UTF-8?q?[update]=E4=BF=AE=E5=A4=8D=E9=94=80=E5=94=AE?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=AE=A1=E6=A0=B8=E5=8A=9F=E8=83=BD=EF=BC=8C?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=8E=B7=E5=8F=96=E5=B7=A5=E7=A8=8B=E5=91=98?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SysSalesOrderController.java | 102 ++-- .../system/service/ISysSalesOrderService.java | 6 +- .../impl/SysSalesOrderServiceImpl.java | 13 +- .../templates/system/salesOrder/detail.html | 9 +- .../templates/system/salesOrder/edit.html | 42 +- .../system/salesOrder/salesOrder.html | 12 +- .../system/salesOrder/taskModifyApply.html | 472 ++++++++++++++++-- .../system/salesOrder/taskYwjlVerify.html | 142 +++--- .../system/salesOrder/taskYwzgVerify.html | 271 +++++----- .../system/salesOrder/taskZozjVerify.html | 37 +- 10 files changed, 762 insertions(+), 344 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/controller/SysSalesOrderController.java b/ruoyi-admin/src/main/java/com/ruoyi/system/controller/SysSalesOrderController.java index 1610a7fc..60900492 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/controller/SysSalesOrderController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/controller/SysSalesOrderController.java @@ -5,6 +5,8 @@ import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.util.MapUtils; import com.alibaba.excel.write.metadata.WriteSheet; import com.alibaba.excel.write.metadata.fill.FillConfig; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.ruoyi.ck.utils.Result; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.config.RuoYiConfig; @@ -20,10 +22,7 @@ import com.ruoyi.common.utils.file.FileUtils; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.erp.domain.ErpMaterialVo; import com.ruoyi.process.general.service.IProcessService; -import com.ruoyi.system.domain.SysCustomerQuoteVo; -import com.ruoyi.system.domain.SysSalesFinish; -import com.ruoyi.system.domain.SysSalesOrder; -import com.ruoyi.system.domain.SysSalesOrderVo; +import com.ruoyi.system.domain.*; import com.ruoyi.system.domain.exportDto.SysSalesFinishDto; import com.ruoyi.system.domain.exportDto.SysSalesOrderDto; import com.ruoyi.system.service.*; @@ -82,6 +81,9 @@ public class SysSalesOrderController extends BaseController @Autowired private ISysUserService sysUserService; + @Autowired + private ISysMakeOrderService sysMakeOrderService; + @RequiresPermissions("system:salesOrder:view") @GetMapping() public String salesOrder(ModelMap mmap) @@ -100,33 +102,14 @@ public class SysSalesOrderController extends BaseController { SysUser curUser = ShiroUtils.getSysUser(); Long userId = curUser.getUserId(); - List list1 = new ArrayList<>(); Set roleKeys = roleService.selectRoleKeys(userId); - SysUser sysUser = new SysUser(); - List sysUserList = sysUserService.selectUserList(sysUser); // 业务员角色只能看到自己创建的数据 if(roleKeys.contains("ywyRole")){ - sysSalesOrderVo.setApplyUser(curUser.getLoginName());startPage(); - List list = sysSalesOrderService.selectSysSalesOrderList(sysSalesOrderVo); - return getDataTable(list); - } - if (roleKeys.contains("ywjlRole")){ - startPage(); - List list = sysSalesOrderService.selectSysSalesOrderList(sysSalesOrderVo); - list.stream().filter(item -> !Objects.equals(item.getCreateBy(), "admin") - && !Objects.equals(item.getCreateBy(), "yfzj") && Objects.equals(item.getCreateBy(), "ywzg")); - return getDataTable(list); - } - if (roleKeys.contains("ywgzRole")){ - startPage(); - List list = sysSalesOrderService.selectSysSalesOrderList(sysSalesOrderVo); - list.stream().filter(item -> !Objects.equals(item.getCreateBy(), "admin") && !Objects.equals(item.getCreateBy(), "yfzj") - && Objects.equals(item.getCreateBy(), "ywjl")); - return getDataTable(list); + sysSalesOrderVo.setApplyUser(curUser.getLoginName()); } + startPage(); List list = sysSalesOrderService.selectSysSalesOrderList(sysSalesOrderVo); - return getDataTable(list); } @@ -194,9 +177,12 @@ public class SysSalesOrderController extends BaseController @Log(title = "销售订单", businessType = BusinessType.UPDATE) @PostMapping("/edit") @ResponseBody - public AjaxResult editSave(SysSalesOrder sysSalesOrder) + public AjaxResult editSave(@RequestBody SysSalesOrder sysSalesOrder) { - return toAjax(sysSalesOrderService.updateSysSalesOrder(sysSalesOrder)); + sysSalesOrder.setUseStatus("0"); + sysSalesOrder.setAuditStatus("0"); + sysSalesOrderService.submitApply(sysSalesOrder); + return AjaxResult.success(); } @@ -392,7 +378,16 @@ public class SysSalesOrderController extends BaseController String verifyName = task.getTaskDefinitionKey().substring(0, 1).toUpperCase() + task.getTaskDefinitionKey().substring(1); return prefix + "/task" + verifyName; } - + /** + * 自动绑定页面字段 + */ + @ModelAttribute("/preloadObj") + public SysSalesOrderVo getObj(@RequestParam(value = "salesOrderId", required = false) Long salesOrderId, HttpSession session) { + if (salesOrderId != null) { + return sysSalesOrderService.selectSysSalesOrderById(salesOrderId); + } + return new SysSalesOrderVo(); + } /** * 完成任务 * @@ -400,58 +395,56 @@ public class SysSalesOrderController extends BaseController */ @RequestMapping(value = "/complete/{taskId}", method = {RequestMethod.POST, RequestMethod.GET}) @ResponseBody - public AjaxResult complete(@PathVariable("taskId") String taskId, @RequestParam(value = "saveEntity", required = false) String saveEntity, - @ModelAttribute("preloadObj") SysSalesOrderVo salesOrderVo, HttpServletRequest request) { + public AjaxResult complete(@PathVariable("taskId") String taskId,@RequestParam(value = "saveEntity", required = false) String saveEntity, + @RequestParam(value = "salesOrderChildList", required = false) String salesOrderChildList, + @ModelAttribute("preloadObj") SysSalesOrderVo sysSalesOrderVo,HttpServletRequest request){ + System.out.println("taskId = " + taskId + ", saveEntity = " + saveEntity + ", salesOrderChildList = " + salesOrderChildList + ", sysSalesOrderVo = " + sysSalesOrderVo + ", request = " + request); + sysSalesOrderVo.setSysSalesOrderChildList(JSON.parseArray(salesOrderChildList, SysSalesOrderChild.class)); boolean saveEntityBoolean = BooleanUtils.toBoolean(saveEntity); - String instanceId = salesOrderVo.getInstanceId(); - String instanceType = salesOrderVo.getInstanceType(); - + if (saveEntityBoolean) { + sysSalesOrderService.updateSysSalesOrder(sysSalesOrderVo); + } + String instanceId = sysSalesOrderVo.getInstanceId(); + String instanceType = sysSalesOrderVo.getInstanceType(); boolean approvedFlag = processService.complete(taskId, instanceId, - salesOrderVo.getApplyTitle(), salesOrderVo.getSalesOrderCode(), + sysSalesOrderVo.getApplyTitle(), sysSalesOrderVo.getSalesOrderCode(), "salesorder", new HashMap(), request); if(!approvedFlag){ // 审核状态-审核拒绝 - salesOrderVo.setAuditStatus("2"); + sysSalesOrderVo.setAuditStatus("2"); } // 如果任务已结束更新业务表状态 boolean processIsFinish = processService.judgeProcessIsFinish(instanceId); if (processIsFinish) { // 审核通过 - salesOrderVo.setAuditStatus("1"); + sysSalesOrderVo.setAuditStatus("1"); + //生产订单生成 + sysMakeOrderService.generateMakeOrderBySalesOrderCode(sysSalesOrderVo.getSalesOrderCode()); // 提交 if("submit".equals(instanceType)){ // 使用状态-是 - salesOrderVo.setUseStatus("1"); + sysSalesOrderVo.setUseStatus("1"); } // 作废 else if("cancel".equals(instanceType)){ // 使用状态-已作废 - salesOrderVo.setUseStatus("2"); + sysSalesOrderVo.setUseStatus("2"); } // 恢复 else if("restore".equals(instanceType)){ // 使用状态-是 - salesOrderVo.setUseStatus("1"); + sysSalesOrderVo.setUseStatus("1"); } } - sysSalesOrderService.updateSysSalesOrder(salesOrderVo); + sysSalesOrderService.updateSysSalesOrder(sysSalesOrderVo); // 驳回申请后继续申请,可能修改表单 if (saveEntityBoolean) { - sysSalesOrderService.updateSysSalesOrder(salesOrderVo); + sysSalesOrderService.updateSysSalesOrder(sysSalesOrderVo); } return success("任务已完成"); } - /** - * 自动绑定页面字段 - */ - @ModelAttribute("/preloadObj") - public SysSalesOrderVo getObj(@RequestParam(value = "id", required = false) Long id, HttpSession session) { - if (id != null) { - return sysSalesOrderService.selectSysSalesOrderById(id); - } - return new SysSalesOrderVo(); - } + /** * 作废客户销售订单信息信息 @@ -480,4 +473,11 @@ public class SysSalesOrderController extends BaseController sysSalesOrderVo.setKeyword(keyword); return success(sysSalesOrderService.selectSysSalesOrderList(sysSalesOrderVo)); } + @GetMapping("/getBinessMembers") + @ResponseBody + public TableDataInfo getBinessMembers(){ + startPage(); + List list = sysUserService.selectRoleToUserList("ywyRole"); + return getDataTable(list); + } } \ No newline at end of file diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/ISysSalesOrderService.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/ISysSalesOrderService.java index 3ca3554b..06f448eb 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/ISysSalesOrderService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/ISysSalesOrderService.java @@ -47,10 +47,10 @@ public interface ISysSalesOrderService /** * 修改销售订单 * - * @param sysSalesOrder 销售订单 + * @param sysSalesOrderVo 销售订单 * @return 结果 */ - public int updateSysSalesOrder(SysSalesOrder sysSalesOrder); + public int updateSysSalesOrder(SysSalesOrderVo sysSalesOrderVo); /** * 批量删除销售订单 @@ -76,8 +76,10 @@ public interface ISysSalesOrderService ProcessInstance cancelSysCustomerById(Long id); /** * 恢复申请 */ + @Transactional(rollbackFor = Exception.class) ProcessInstance restoreSysCustomerById(Long id); /** * 提交申请*/ + public ProcessInstance submitApply(SysSalesOrder sysSalesOrder); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysSalesOrderServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysSalesOrderServiceImpl.java index 0c6f1c0e..368c3586 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysSalesOrderServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysSalesOrderServiceImpl.java @@ -171,7 +171,6 @@ public class SysSalesOrderServiceImpl implements ISysSalesOrderService String loginName = ShiroUtils.getLoginName(); sysSalesOrder.setCreateBy(loginName); sysSalesOrder.setCreateTime(new Date()); - sysSalesOrder.setApplyUser(loginName); int result = sysSalesOrderMapper.insertSysSalesOrder(sysSalesOrder); sysSalesOrder.getSalesOrderId(); int s = sysSalesOrder.getSysSalesOrderChildList().size(); @@ -195,17 +194,15 @@ public class SysSalesOrderServiceImpl implements ISysSalesOrderService * @return 结果 */ @Override - public int updateSysSalesOrder(SysSalesOrder sysSalesOrder) + public int updateSysSalesOrder(SysSalesOrderVo sysSalesOrder) { SysUser user = userMapper.selectUserByLoginName(sysSalesOrder.getApplyUser()); String loginName = ShiroUtils.getLoginName(); sysSalesOrder.setUpdateBy(loginName); sysSalesOrder.setUpdateTime(new Date()); // 存在提交完就流程结束的情况 - List sysSalesOrderChildList = sysSalesOrder.getSysSalesOrderChildList(); - if (sysSalesOrderChildList.isEmpty()){ - return 0; - }else{ + if(sysSalesOrder.getSysSalesOrderChildList() != null){ + List sysSalesOrderChildList = sysSalesOrder.getSysSalesOrderChildList(); for (SysSalesOrderChild sysSalesOrderChild:sysSalesOrderChildList) { if (sysSalesOrderChild.getId() != null && sysSalesOrderChild.getId() != 0){ sysSalesOrderChildService.updateSysSalesOrderChild(sysSalesOrderChild); @@ -263,7 +260,6 @@ public class SysSalesOrderServiceImpl implements ISysSalesOrderService String processInstanceId = processInstance.getProcessInstanceId(); // 作废实例id sysSalesOrder.setCancelInstanceId(processInstanceId); - sysSalesOrder.setInstanceId(processInstanceId); // 存在提交完就流程结束的情况 boolean processIsFinish = processService.judgeProcessIsFinish(processInstanceId); if(processIsFinish){ @@ -292,7 +288,6 @@ public class SysSalesOrderServiceImpl implements ISysSalesOrderService String processInstanceId = processInstance.getProcessInstanceId(); // 恢复实例id sysSalesOrder.setRestoreInstanceId(processInstanceId); - sysSalesOrder.setInstanceId(processInstanceId); // 存在提交完就流程结束的情况 boolean processIsFinish = processService.judgeProcessIsFinish(processInstanceId); if(processIsFinish){ @@ -326,7 +321,6 @@ public class SysSalesOrderServiceImpl implements ISysSalesOrderService String processInstanceId = processInstance.getProcessInstanceId(); // 提交实例id sysSalesOrder.setSubmitInstanceId(processInstanceId); - sysSalesOrder.setInstanceId(processInstanceId); // 存在提交完就流程结束的情况 boolean processIsFinish = processService.judgeProcessIsFinish(processInstanceId); if(processIsFinish){ @@ -336,7 +330,6 @@ public class SysSalesOrderServiceImpl implements ISysSalesOrderService sysSalesOrder.setUseStatus("1"); } sysSalesOrderMapper.updateSysSalesOrder(sysSalesOrder); - return processInstance; } diff --git a/ruoyi-admin/src/main/resources/templates/system/salesOrder/detail.html b/ruoyi-admin/src/main/resources/templates/system/salesOrder/detail.html index 12bd14c5..191218d5 100644 --- a/ruoyi-admin/src/main/resources/templates/system/salesOrder/detail.html +++ b/ruoyi-admin/src/main/resources/templates/system/salesOrder/detail.html @@ -241,7 +241,7 @@
- +
@@ -564,16 +564,15 @@ } /*业务员列表*/ $.ajax({ - url: ctx + 'system/user/list', - type: 'post', + url: ctx + 'system/salesOrder/getBinessMembers', + type: 'get', success: function (res) { if (res.rows.length > 0) { var usertData = res.rows; for (let i in usertData) { - $("#form-salesOrder-edit select[name='businessMembers']").append( + $("#select[name='businessMembers']").append( ""); } - $("#form-salesOrder-edit select[name='businessMembers']").val(sysSalesOrder.businessMembers).trigger("change"); } else { $.modal.msgError(res.msg); } diff --git a/ruoyi-admin/src/main/resources/templates/system/salesOrder/edit.html b/ruoyi-admin/src/main/resources/templates/system/salesOrder/edit.html index 515990d7..ee7c4908 100644 --- a/ruoyi-admin/src/main/resources/templates/system/salesOrder/edit.html +++ b/ruoyi-admin/src/main/resources/templates/system/salesOrder/edit.html @@ -237,8 +237,8 @@
- - + +
@@ -246,8 +246,8 @@
- - + +
@@ -517,6 +517,22 @@ } }, }); + /*业务员列表*/ + $.ajax({ + url: ctx + 'system/salesOrder/getBinessMembers', + type: 'get', + success: function (res) { + if (res.rows.length > 0) { + var usertData = res.rows; + for (let i in usertData) { + $("#select[name='businessMembers']").append( + ""); + } + } else { + $.modal.msgError(res.msg); + } + } + }); $("#enterprise_edit").val(sysSalesOrder.enterprise); $("#enterpriseSum_edit").val(Number(sysSalesOrder.enterpriseSum)); $("#noRmb_edit").val(Number(sysSalesOrder.noRmb).toFixed(2)); @@ -559,23 +575,7 @@ curParams.quoteId = sysSalesOrder.salesOrderCode; return curParams; } - /*业务员列表*/ - $.ajax({ - url: ctx + 'system/user/list', - type: 'post', - success: function (res) { - if (res.rows.length > 0) { - var usertData = res.rows; - for (let i in usertData) { - $("#form-salesOrder-edit select[name='businessMembers']").append( - ""); - } - $("#form-salesOrder-edit select[name='businessMembers']").val(sysSalesOrder.businessMembers).trigger("change"); - } else { - $.modal.msgError(res.msg); - } - } - }); + function doSubmit(index, layero,uniqueId){ var iframeWin = window[layero.find('iframe')[0]['name']]; var rowData = iframeWin.$('#bootstrap-select-table').bootstrapTable('getSelections')[0]; diff --git a/ruoyi-admin/src/main/resources/templates/system/salesOrder/salesOrder.html b/ruoyi-admin/src/main/resources/templates/system/salesOrder/salesOrder.html index 06ef5d4d..b080b7dd 100644 --- a/ruoyi-admin/src/main/resources/templates/system/salesOrder/salesOrder.html +++ b/ruoyi-admin/src/main/resources/templates/system/salesOrder/salesOrder.html @@ -114,7 +114,7 @@
  • - +
  • @@ -209,16 +209,14 @@ var prefix = ctx + "system/salesOrder"; $(function () { $.ajax({ - url: ctx + 'system/user/list', - type: 'post', + url: ctx + 'system/salesOrder/getBinessMembers', + type: 'get', success: function (res) { - console.log(res) if (res.rows.length > 0) { var usertData = res.rows; - //alert(JSON.stringify(data)); for (let i in usertData) { - // console.log(finishProductData[i].finishProductCode) - $("select[name='businessMembers']").append(""); + $("#select[name='businessMembers']").append( + ""); } } else { $.modal.msgError(res.msg); diff --git a/ruoyi-admin/src/main/resources/templates/system/salesOrder/taskModifyApply.html b/ruoyi-admin/src/main/resources/templates/system/salesOrder/taskModifyApply.html index 0ef0c563..3ef7a91b 100644 --- a/ruoyi-admin/src/main/resources/templates/system/salesOrder/taskModifyApply.html +++ b/ruoyi-admin/src/main/resources/templates/system/salesOrder/taskModifyApply.html @@ -12,9 +12,12 @@
    -
    + + + +
    @@ -241,46 +244,58 @@

    计算

    - - + + + +
    - - - - + + + + +
    +
    + + + +
    - - - - + + + + +
    +
    + + + +
    - -
    -
    - -
    - +
    +
    + +
    + +
    -
    +
    选择报价信息 - - 添加物料 -
    -
    +
    @@ -299,7 +314,7 @@ var sysUnitClassDatas = [[${@dict.getType('sys_unit_class')}]]; var processMethodDatas = [[${@dict.getType('processMethod')}]]; var sysSalesOrder = [[${formData}]]; - $("#form-edit").validate({ + $("#form-modfify-audit").validate({ onkeyup: false, rules:{ }, @@ -311,10 +326,411 @@ function submitHandler() { if ($.validate.form()) { var taskId = [[${taskId}]]; - $.operate.save(prefix + "/complete/" + taskId, $('#form-edit').serialize()); + $.operate.save(prefix + "/complete/" + taskId, $('#form-modfify-audit').serialize()); } } - + $("#form-modfify-audit").validate({focusCleanup: true}); + var prefix = ctx + "system/salesOrder"; + var commonCurrencyDatas = [[${@dict.getType('sys_common_currency')}]]; + var materialTypeDatas = [[${@category.getChildByCode('materialType')}]]; + var auditStatusDatas = [[${@dict.getType('auditStatus')}]]; + var sysUnitClassDatas = [[${@dict.getType('sys_unit_class')}]]; + var processMethodDatas = [[${@dict.getType('processMethod')}]]; + var sysSalesOrder = [[${formData}]]; + $("#form-modfify-audit").validate({focusCleanup: true}); + $(function() { + var options = { + id:'bootstrap-sub-table-editOrder4', + url: ctx + "system/orderChild/list", + pagination: false, + queryParams: queryParams, + sidePagination: "client", + model: "物料报价信息", + columns: [ + {checkbox: true}, + {field: 'index',align: 'center', title: "序号", + formatter: function (value, row, index) { + var columnIndex = $.common.sprintf("", $.table.serialNumber(index)); + return columnIndex + $.table.serialNumber(index); + } + }, + {title: '物料索引id',field: 'materialId',align: 'center',visible: false}, + {title: '料号',field: 'materialCode',align: 'center'}, + {title: '物料名称',field: 'materialName',align: 'center'}, + {title: '图片',field: 'photoUrl', + formatter: function(value, row, index) { + return $.table.imageView(value); + } + }, + {title: '物料类型',field: 'materialType',align: 'center', + formatter: function(value, row, index) { + return $.table.selectCategoryLabel(materialTypeDatas, value); + } + }, + { title: '描述',field: 'describe',align: 'center'}, + {title: '品牌',field: 'brand',align: 'center'}, + { title: '单位',field: 'unit',align: 'center', + formatter: function(value, row, index) { + return $.table.selectDictLabel(sysUnitClassDatas, value); + } + }, + {title: '加工方式',field: 'processMethod',align: 'center', + formatter: function(value, row, index) { + return $.table.selectDictLabel(processMethodDatas, value); + } + }, + { title: '对外售价',field: 'materialSole',editable: true}, + {title: '国内税率',field: 'countTax',align: 'center',editable: true}, + { title: '美元汇率',field: 'usdTax', align: 'center',editable: true}, + {field: 'materialNum',align: 'center',title: '物料的数量',editable: true}, + { title: '物料的不含税单价(RMB)', + field: 'materialNoRmb', + align: 'center', + editable: function(value, row, index) { + var commonCurrency3 = $("#commonCurrency_edit option:selected").val(); + if (commonCurrency3 == 1){ + return true; + }else{ + return false; + } + } + }, + {title: '物料的不含税单价(美元)', + field: 'materialNoUsd', + align: 'center', + editable: function(value, row, index) { + var commonCurrency2= $("#commonCurrency_edit option:selected").val(); + if (commonCurrency2 == 2){ + return true; + }else{ + return false; + } + } + }, + { title: '物料的含税单价(美元)',field: 'materialUsd',align: 'center'}, + { title: '物料的含税总价(美元)',field: 'materialUsdSum',align: 'center'}, + { title: '物料的不含税总价(美元)',field: 'materialNoUsdSum',align: 'center'}, + { title: '物料的含税总价(RMB)',field: 'materialNoRmbSum', align: 'center'}, + { title: '物料的不含税总价(RMB)',field: 'materialRmbSum',align: 'center'}, + { title: '录入人',field: 'createBy',align: 'center',visible: false}, + { title: '录入时间',field: 'createTime',align: 'center',visible: false}, + { title: '更新人',field: 'updateBy',align: 'center',visible: false}, + { title: '上次更新时间',field: 'updateTime',align: 'center',visible: false}, + { title: '备注',field: 'remark',align: 'center', visible: false }, + { title: '审核状态',field: 'auditStatus',align: 'center',visible: false, + formatter: function(value, row, index) { + return $.table.selectDictLabel(auditStatusDatas, value); + } + }, + {title: '操作', align: 'center', + formatter: function (value, row, index) { + var actions = []; + actions.push('删除 '); + return actions.join(''); + } + } + ], + onEditableSave:function(field, row, oldValue, $el){ + var commonCurrency1 = $("#commonCurrency_edit option:selected").val(); + var rmb1 = $("#taxRate_edit").val(); + if (rmb1 =='' || rmb1== null){ + rmb1 = 0; + }else{ + rmb1 = $("#taxRate_edit").val(); + } + var rmb = Number(rmb1).toFixed(2) / 100; + var usd = $("#usdTax_edit").val(); + if (usd =='' || usd== null){ + usd = 0; + }else{ + usd = Number(usd).toFixed(2); + } + if(commonCurrency1 == 1){ + row.materialNoRmb = Number(row.materialNoRmb).toFixed(2); + row.materialRmb = Number(row.materialNoRmb * Number(1 + rmb)); + row.materialNoRmbSum = Number(row.materialNum * Number(row.materialNoRmb)).toFixed(2); + row.materialRmbSum = Number(row.materialRmb * row.materialNum).toFixed(2); + row.materialNoUsd = Number(row.materialNoRmb / usd).toFixed(2); + row.materialNoUsdSum = Number(row.materialNum * row.materialNoUsd).toFixed(2); + row.materialUsd = Number(row.materialNoUsd).toFixed(2) + row.materialUsdSum = Number(row.materialNum * Number(row.materialUsd)).toFixed(2); + } + else if( commonCurrency1 == 2){ + row.materialNoUsd = Number(row.materialNoUsd).toFixed(2); + row.materialUsd = Number(row.materialNoUsd).toFixed(2); + row.materialUsdSum = Number(row.materialNum * row.materialUsd).toFixed(2); + row.materialNoUsdSum = Number(row.materialNoUsd * row.materialNum).toFixed(2); + row.materialNoRmb = Number(row.materialNoUsd * usd).toFixed(2); + row.materialRmb = Number(row.materialNoRmb * (1 + rmb)).toFixed(2); + row.materialNoRmbSum = Number(row.materialNoRmb * row.materialNum).toFixed(2); + row.materialRmbSum = Number(row.materialRmb * row.materialNum).toFixed(2); + } + getTotalAmount() + }, + }; + $.table.init(options); + $.ajax({ + type: "post", + url:ctx + "system/customer/customerList", + dataType:"json", + delay:250, + cache:true, + success: function (res, params) { + if (res.rows.length > 0) { + var result = res.rows; + for (let i in result) { + $("#form-modfify-audit select[name='enterpriseCode']").append( + ""); + } + $("#form-modfify-audit select[name='enterpriseCode']").val(sysSalesOrder.enterpriseCode).trigger("change"); + } else { + $.modal.msgError(res.msg); + } + }, + }); + $.ajax({ + type: "post", + url:ctx + "system/shippingaddress/list", + dataType:"json", + delay:250, + cache:true, + data:{ + enterpriseCode:sysSalesOrder.enterpriseCode, + }, + success: function (res, params) { + if (res.rows.length > 0) { + var result = res.rows; + for (let i in result) { + $("#form-modfify-audit select[name='customerDelivery']").append( + ""); + } + $("#form-modfify-audit select[name='customerDelivery']").val(sysSalesOrder.customerDelivery).trigger() + } + } + }); + $.ajax({ + type: "post", + url:ctx + "system/contacts/list", + dataType:"json", + delay:250, + cache:true, + data:{ + enterpriseCode:sysSalesOrder.enterpriseCode, + }, + success: function (res, params) { + if (res.rows.length > 0) { + var result = res.rows; + for (let i in result) { + $("#form-modfify-audit select[name='customerContact']").append( + ""); + } + $("#form-modfify-audit select[name='customerContact']").val(sysSalesOrder.customerContact).trigger("change"); + } else { + $.modal.msgError(res.msg); + } + }, + }); + $("#enterprise_edit").val(sysSalesOrder.enterprise); + $("#enterpriseSum_edit").val(sysSalesOrder.enterpriseSum); + $("#noRmb_edit").val(sysSalesOrder.noRmb); + $("#rmb_edit").val(sysSalesOrder.rmb); + $("#noRmbSum_edit").val(sysSalesOrder.noRmbSum); + $("#rmbTax_edit").val(sysSalesOrder.rmbSum); + $("#noUsd_edit").val(sysSalesOrder.noUsd); + $("#usd_edit").val(sysSalesOrder.usd); + $("#noUsdSum_edit").val(sysSalesOrder.noUsdSum); + $("#usdSum_edit").val(sysSalesOrder.usdSum); + }); + $('#enterpriseCode_edit').on('select2:select', function (e) { + var data = e.params.data; + $("input[name='enterpriseName']").val(data.enterpriseName); + $("input[name='customerPurser']").val(data.customerPurser); + $("input[name='taxRate']").val(data.taxRate); + $("input[name='confirmFax']").val(data.confirmTax); + $("#commonCurrency_add").val(data.commonCurrency).trigger('change'); + commonCurrency = $("#commonCurrency_edit option:selected").val(); + console.log("commonCurrency",commonCurrency); + }); + $('#customerContact_edit').on('select2:select', function (e) { + var data = e.params.data; + $("input[name='contactPost']").val(data.customerPosition); + $("input[name='contactNumber']").val(data.cellPhone); + $("input[name='contactEmail']").val(data.commonEmail); + }); + $('#customerDelivery_edit').on('select2:select', function (e) { + var data1 = e.params.data; + $("input[name='deliveryPhone']").val(data1.customerPhone); + $("input[name='deliveryAddress']").val(data1.deliveryAddress); + }); + function queryParams(params) { + var curParams = { + // 传递参数查询参数 + pageSize: params.limit, + pageNum: params.offset / params.limit + 1, + quoteId: sysSalesOrder.salesOrderCode, + }; + curParams.quoteId = sysSalesOrder.salesOrderCode; + return curParams; + } + /*业务员列表*/ + $.ajax({ + url: ctx + 'system/salesOrder/getBinessMembers', + type: 'get', + success: function (res) { + if (res.rows.length > 0) { + var usertData = res.rows; + for (let i in usertData) { + $("#select[name='businessMembers']").append( + ""); + } + } else { + $.modal.msgError(res.msg); + } + } + }); + function doSubmit(index, layero,uniqueId){ + var iframeWin = window[layero.find('iframe')[0]['name']]; + var rowData = iframeWin.$('#bootstrap-select-table').bootstrapTable('getSelections')[0]; + console.log("rowData:"+rowData); + var totalNum = $("#bootstrap-select-table").bootstrapTable('getData').length; + var rmb1 = $("#taxRate_edit").val(); + if (rmb1 =='' || rmb1== null){ + rmb1 = 0; + }else{ + rmb1 = $("#taxRate_edit").val(); + } + var rmb = Number(rmb1).toFixed(2) / 100; + var usd = $("#usdTax_edit").val(); + if (usd =='' || usd== null){ + usd = 0; + }else{ + usd = Number(usd).toFixed(2); + } + $("#bootstrap-sub-table-editOrder4").bootstrapTable('insertRow', { + index: 1, + row: { + id:'', + materialId:rowData.id, + materialCode: rowData.materialNo, + materialName: rowData.materialName, + materialType: rowData.materialType, + describe: rowData.describe, + brand: rowData.brand, + photoUrl: rowData.photoUrl, + unit: rowData.unit, + processMethod: rowData.processMethod, + countTax:rmb, + usdTax: usd, + materialSole: rowData.materialSole, + materialNum: 0, + materialNoRmb: 0.0, + materialNoUsd: 0.0, + materialRmb: 0.0, + materialNoRmbSum: 0.0, + materialRmbSum: 0, + materialUsd: 0.0, + materialUsdSum: 0.0, + materialNoUsdSum: 0.0, + remark: "", + } + }) + layer.close(index); + } + function insertRow() { + var url = ctx + "erp/material/select"; + var options = { + title: '选择料号', + url: url, + callBack: doSubmit + }; + $.modal.openOptions(options); + } + /* 删除指定表格行 */ + function removeRow(index){ + $("#bootstrap-sub-table-editOrder4").bootstrapTable('remove', { + field: 'index', + value: index + }) + } + $("input[name='pricingDate']").datetimepicker({ + format: "yyyy-mm-dd", + minView: "month", + autoclose: true + }); + $("input[name='deliveryTime']").datetimepicker({ + format: "yyyy-mm-dd", + minView: "month", + autoclose: true + }); + $("input[name='orderReceivingTime']").datetimepicker({ + format: "yyyy-mm-dd", + minView: "month", + autoclose: true + }); + $("input[name='modificationTime']").datetimepicker({ + format: "yyyy-mm-dd", + minView: "month", + autoclose: true + }); + //计算 + function getTotalAmount(){ + let getData = $("#bootstrap-sub-table-editOrder4").bootstrapTable('getData'); + let enterprise = 0;let enterpriseSum = 0; let noRmb = 0; + let rmb = 0;let noRmbSum =0;let rmbSum = 0; + let noUsd = 0;let usd = 0;let noUsdSum =0; let usdSum = 0; + $("input[name='materialSum']").val(0); + $("input[name='enterpriseSum']").val(0); + $("input[name='noRmbPrice']").val(0); + $("input[name='noRmbSum']").val(0); + $("input[name='rmbPrice']").val(0); + $("input[name='rmbTaxSum']").val(0); + $("input[name='noUsdPrice']").val(0); + $("input[name='noUsdSum']").val(0); + $("input[name='usdPrice']").val(0); + $("input[name='usdTaxSum']").val(0); + for(let i=0;i \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/templates/system/salesOrder/taskYwjlVerify.html b/ruoyi-admin/src/main/resources/templates/system/salesOrder/taskYwjlVerify.html index d8c635ec..0365a56a 100644 --- a/ruoyi-admin/src/main/resources/templates/system/salesOrder/taskYwjlVerify.html +++ b/ruoyi-admin/src/main/resources/templates/system/salesOrder/taskYwjlVerify.html @@ -15,6 +15,9 @@
    + + +
    @@ -112,7 +115,7 @@
    - +
    @@ -150,7 +153,7 @@
    - +
    @@ -166,7 +169,7 @@
    - +
    @@ -235,60 +238,72 @@
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    +
    +

    计算

    - - + + + +
    - - + + + +
    - - + + + +
    - - + + + +
    - - + + + +
    - -
    -
    - -
    - -
    -
    - -
    - -
    -
    +
    +
    -
    + +
    选择报价信息 - - 添加物料 -
    -
    +
    @@ -312,7 +327,7 @@ $("#form-ywjl-audit").validate({focusCleanup: true}); $(function() { var options = { - id:'bootstrap-sub-table-editOrder', + id:'bootstrap-sub-table-editOrder1', url: ctx + "system/orderChild/list", pagination: false, queryParams: queryParams, @@ -502,16 +517,6 @@ } }, }); - $("#enterprise_edit").val(sysSalesOrder.enterprise); - $("#enterpriseSum_edit").val(sysSalesOrder.enterpriseSum); - $("#noRmb_edit").val(sysSalesOrder.noRmb); - $("#rmb_edit").val(sysSalesOrder.rmb); - $("#noRmbSum_edit").val(sysSalesOrder.noRmbSum); - $("#rmbTax_edit").val(sysSalesOrder.rmbSum); - $("#noUsd_edit").val(sysSalesOrder.noUsd); - $("#usd_edit").val(sysSalesOrder.usd); - $("#noUsdSum_edit").val(sysSalesOrder.noUsdSum); - $("#usdSum_edit").val(sysSalesOrder.usdSum); }); $('#enterpriseCode_edit').on('select2:select', function (e) { var data = e.params.data; @@ -539,23 +544,21 @@ // 传递参数查询参数 pageSize: params.limit, pageNum: params.offset / params.limit + 1, - quoteId: sysSalesOrder.salesOrderCode, + quoteId: sysSalesOrder.salesOrderCode }; - curParams.quoteId = sysSalesOrder.salesOrderCode; return curParams; } /*业务员列表*/ $.ajax({ - url: ctx + 'system/user/list', - type: 'post', + url: ctx + 'system/salesOrder/getBinessMembers', + type: 'get', success: function (res) { if (res.rows.length > 0) { var usertData = res.rows; for (let i in usertData) { - $("#form-ywjl-audit select[name='businessMembers']").append( + $("#select[name='businessMembers']").append( ""); } - $("#form-ywjl-audit select[name='businessMembers']").val(sysSalesOrder.businessMembers).trigger("change"); } else { $.modal.msgError(res.msg); } @@ -579,7 +582,7 @@ }else{ usd = Number(usd).toFixed(2); } - $("#bootstrap-sub-table-editOrder").bootstrapTable('insertRow', { + $("#bootstrap-sub-table-editOrder1").bootstrapTable('insertRow', { index: 1, row: { id:'', @@ -595,15 +598,15 @@ countTax:rmb, usdTax: usd, materialSole: rowData.materialSole, - materialNum: '', - materialNoRmb: '', - materialNoUsd: '', - materialRmb: '', - materialNoRmbSum: '', - materialRmbSum: '', - materialUsd: '', - materialUsdSum: '', - materialNoUsdSum: '', + materialNum: 0, + materialNoRmb: 0.0, + materialNoUsd: 0.0, + materialRmb: 0.0, + materialNoRmbSum: 0.0, + materialRmbSum: 0, + materialUsd: 0.0, + materialUsdSum: 0.0, + materialNoUsdSum: 0.0, remark: "", } }) @@ -620,7 +623,7 @@ } /* 删除指定表格行 */ function removeRow(index){ - $("#bootstrap-sub-table-editOrder").bootstrapTable('remove', { + $("#bootstrap-sub-table-editOrder1").bootstrapTable('remove', { field: 'index', value: index }) @@ -648,7 +651,7 @@ //计算 function getTotalAmount(){ // $("#addFinishbomTable").bootstrapTable('refresh'); - let getData = $("#bootstrap-sub-table-order").bootstrapTable('getData'); + let getData = $("#bootstrap-sub-table-editOrder1").bootstrapTable('getData'); let enterprise = 0;let enterpriseSum = 0; let noRmb = 0; let rmb = 0;let noRmbSum =0;let rmbSum = 0; let noUsd = 0;let usd = 0;let noUsdSum =0; let usdSum = 0; @@ -707,16 +710,15 @@ }); function submitHandler() { if ($.validate.form()) { - var formData = $("#form-ywjl-audit").serializeArray(); - var tableData = $("#bootstrap-sub-table-editOrder").bootstrapTable('getData'); - var rows = tableData.length; if ($('textarea[name="comment"]').val()) { $('input[name="p_COM_comment"]').val($('textarea[name="comment"]').val()); } + var tableData = $("#bootstrap-sub-table-editOrder1").bootstrapTable('getData'); + $("input[name= 'salesOrderChildList']").val(JSON.stringify(tableData)); + var formData = $("#form-ywjl-audit").serialize(); + console.log("$(\"#form-ywjl-audit\").serialize()",formData); var taskId = [[${taskId}]]; - formData.push({"name": "sysSalesOrderChildList", "value": tableData}); - var jsonData = $.common.formDataToJson(formData); - $.operate.save(prefix + "/complete/" + taskId, $('#form-ywjl-audit').serialize()); + $.operate.save(prefix + "/complete/" + taskId,formData); } } diff --git a/ruoyi-admin/src/main/resources/templates/system/salesOrder/taskYwzgVerify.html b/ruoyi-admin/src/main/resources/templates/system/salesOrder/taskYwzgVerify.html index a48ad1ee..3d861975 100644 --- a/ruoyi-admin/src/main/resources/templates/system/salesOrder/taskYwzgVerify.html +++ b/ruoyi-admin/src/main/resources/templates/system/salesOrder/taskYwzgVerify.html @@ -12,14 +12,17 @@
    -
    + + + +
    - +
    @@ -34,96 +37,98 @@
    - -
    -
    -
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    -
    @@ -132,54 +137,62 @@
    - - + +
    - +
    - +
    - +
    - -
    + +
    - - + +
    - +
    - -
    -
    + +
    +
    + name="invoice" th:value="${dict.dictValue}" + th:checked="${dict.isDefault == 'Y' ? true : false}">
    @@ -187,27 +200,31 @@
    - +
    - +
    - +
    - - + +
    @@ -215,85 +232,97 @@
    - - + +
    - +
    - +
    - + +
    +
    +
    +
    + +
    + +
    +
    +
    + +
    + +

    计算

    - - + + + +
    - - + + + +
    - - + + + +
    - - + + + +
    - - + + + +
    + -
    -
    - -
    - -
    -
    -
    - -
    - -
    -
    -
    选择报价信息 - - 添加物料 -
    -
    +
    @@ -305,7 +334,6 @@