From 9f7ae56f71c5641f5eafe163fce2ff8dafbb69b3 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Tue, 23 Apr 2019 10:18:52 +0800 Subject: [PATCH 001/117] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=80=80=E5=87=BA?= =?UTF-8?q?=E6=97=B6=EF=BC=8C=E7=82=B9=E5=87=BB=E5=8F=96=E6=B6=88=E4=B9=9F?= =?UTF-8?q?=E9=80=80=E5=87=BA=E7=B3=BB=E7=BB=9F=E7=9A=84BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- erp_web/pages/common/main.html | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/erp_web/pages/common/main.html b/erp_web/pages/common/main.html index 90ec09ad..297b3d92 100644 --- a/erp_web/pages/common/main.html +++ b/erp_web/pages/common/main.html @@ -105,9 +105,13 @@ }); $('#loginOut').click(function () { - if (confirm("确认要退出系统吗?")) + if (confirm("确认要退出系统吗?")){ + //确定 sessionStorage.removeItem("userId"); location.href = '/user/logout'; + }else{ + //取消 + } }) //IE下禁止选中 document.body.onselectstart = document.body.ondrag = function () { From 5eee36e5160122e01788eccec7b67baef13d0b59 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Wed, 24 Apr 2019 10:31:50 +0800 Subject: [PATCH 002/117] =?UTF-8?q?=E9=83=A8=E5=88=86=E8=A1=A8=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E7=A7=9F=E6=88=B7id?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sql/jsh_erp.sql | 13 ++++ sql/华夏ERP数据库设计汇总.xlsx | Bin 85223 -> 86356 bytes .../com/jsh/erp/datasource/entities/App.java | 32 ++++++++++ .../erp/datasource/entities/AppExample.java | 60 ++++++++++++++++++ .../erp/datasource/entities/Functions.java | 32 ++++++++++ .../datasource/entities/FunctionsExample.java | 60 ++++++++++++++++++ .../datasource/entities/MaterialProperty.java | 32 ++++++++++ .../entities/MaterialPropertyExample.java | 60 ++++++++++++++++++ .../erp/datasource/entities/UserBusiness.java | 32 ++++++++++ .../entities/UserBusinessExample.java | 60 ++++++++++++++++++ src/main/resources/mapper_xml/AppMapper.xml | 25 ++++++-- .../resources/mapper_xml/FunctionsMapper.xml | 26 ++++++-- .../mapper_xml/MaterialPropertyMapper.xml | 29 +++++++-- .../mapper_xml/UserBusinessMapper.xml | 29 +++++++-- 14 files changed, 466 insertions(+), 24 deletions(-) diff --git a/sql/jsh_erp.sql b/sql/jsh_erp.sql index b87fa1c8..386cc430 100644 --- a/sql/jsh_erp.sql +++ b/sql/jsh_erp.sql @@ -1605,4 +1605,17 @@ ALTER TABLE jsh_log DROP FOREIGN KEY FKF2696AA13E226853; -- ---------------------------- ALTER TABLE jsh_material DROP FOREIGN KEY FK675951272AB6672C; ALTER TABLE jsh_material DROP FOREIGN KEY jsh_material_ibfk_1; +-- ---------------------------- +-- 时间:2019年4月24日 +-- version:1.0.14 +-- 此次更新 +-- 1、批量增加部分表的tenant_id租户字段 +-- 特别提醒:之后的sql都是在之前基础上迭代,可以对已存在的系统进行数据保留更新 +-- ---------------------------- +alter table databasechangelog add tenant_id bigint(20) DEFAULT null COMMENT '租户id'; +alter table databasechangeloglock add tenant_id bigint(20) DEFAULT null COMMENT '租户id'; +alter table jsh_app add tenant_id bigint(20) DEFAULT null COMMENT '租户id'; +alter table jsh_functions add tenant_id bigint(20) DEFAULT null COMMENT '租户id'; +alter table jsh_materialproperty add tenant_id bigint(20) DEFAULT null COMMENT '租户id'; +alter table jsh_userbusiness add tenant_id bigint(20) DEFAULT null COMMENT '租户id'; diff --git a/sql/华夏ERP数据库设计汇总.xlsx b/sql/华夏ERP数据库设计汇总.xlsx index 51aba82ef42f75371f642dc95b9ec9f186d35afd..de87917a9104fef6e42ff7a604accafef3b5c0c9 100644 GIT binary patch delta 70957 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 F{{U63Bntol delta 69783 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 diff --git a/src/main/java/com/jsh/erp/datasource/entities/App.java b/src/main/java/com/jsh/erp/datasource/entities/App.java index c5d30bf6..8639e7fb 100644 --- a/src/main/java/com/jsh/erp/datasource/entities/App.java +++ b/src/main/java/com/jsh/erp/datasource/entities/App.java @@ -129,6 +129,14 @@ public class App { */ private String deleteFlag; + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database column jsh_app.tenant_id + * + * @mbggenerated + */ + private Long tenantId; + /** * This method was generated by MyBatis Generator. * This method returns the value of the database column jsh_app.Id @@ -512,4 +520,28 @@ public class App { public void setDeleteFlag(String deleteFlag) { this.deleteFlag = deleteFlag == null ? null : deleteFlag.trim(); } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column jsh_app.tenant_id + * + * @return the value of jsh_app.tenant_id + * + * @mbggenerated + */ + public Long getTenantId() { + return tenantId; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column jsh_app.tenant_id + * + * @param tenantId the value for jsh_app.tenant_id + * + * @mbggenerated + */ + public void setTenantId(Long tenantId) { + this.tenantId = tenantId; + } } \ No newline at end of file diff --git a/src/main/java/com/jsh/erp/datasource/entities/AppExample.java b/src/main/java/com/jsh/erp/datasource/entities/AppExample.java index ed21763a..87d8bbde 100644 --- a/src/main/java/com/jsh/erp/datasource/entities/AppExample.java +++ b/src/main/java/com/jsh/erp/datasource/entities/AppExample.java @@ -1263,6 +1263,66 @@ public class AppExample { addCriterion("delete_Flag not between", value1, value2, "deleteFlag"); return (Criteria) this; } + + public Criteria andTenantIdIsNull() { + addCriterion("tenant_id is null"); + return (Criteria) this; + } + + public Criteria andTenantIdIsNotNull() { + addCriterion("tenant_id is not null"); + return (Criteria) this; + } + + public Criteria andTenantIdEqualTo(Long value) { + addCriterion("tenant_id =", value, "tenantId"); + return (Criteria) this; + } + + public Criteria andTenantIdNotEqualTo(Long value) { + addCriterion("tenant_id <>", value, "tenantId"); + return (Criteria) this; + } + + public Criteria andTenantIdGreaterThan(Long value) { + addCriterion("tenant_id >", value, "tenantId"); + return (Criteria) this; + } + + public Criteria andTenantIdGreaterThanOrEqualTo(Long value) { + addCriterion("tenant_id >=", value, "tenantId"); + return (Criteria) this; + } + + public Criteria andTenantIdLessThan(Long value) { + addCriterion("tenant_id <", value, "tenantId"); + return (Criteria) this; + } + + public Criteria andTenantIdLessThanOrEqualTo(Long value) { + addCriterion("tenant_id <=", value, "tenantId"); + return (Criteria) this; + } + + public Criteria andTenantIdIn(List values) { + addCriterion("tenant_id in", values, "tenantId"); + return (Criteria) this; + } + + public Criteria andTenantIdNotIn(List values) { + addCriterion("tenant_id not in", values, "tenantId"); + return (Criteria) this; + } + + public Criteria andTenantIdBetween(Long value1, Long value2) { + addCriterion("tenant_id between", value1, value2, "tenantId"); + return (Criteria) this; + } + + public Criteria andTenantIdNotBetween(Long value1, Long value2) { + addCriterion("tenant_id not between", value1, value2, "tenantId"); + return (Criteria) this; + } } /** diff --git a/src/main/java/com/jsh/erp/datasource/entities/Functions.java b/src/main/java/com/jsh/erp/datasource/entities/Functions.java index 272e166d..1031978a 100644 --- a/src/main/java/com/jsh/erp/datasource/entities/Functions.java +++ b/src/main/java/com/jsh/erp/datasource/entities/Functions.java @@ -89,6 +89,14 @@ public class Functions { */ private String deleteFlag; + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database column jsh_functions.tenant_id + * + * @mbggenerated + */ + private Long tenantId; + /** * This method was generated by MyBatis Generator. * This method returns the value of the database column jsh_functions.Id @@ -352,4 +360,28 @@ public class Functions { public void setDeleteFlag(String deleteFlag) { this.deleteFlag = deleteFlag == null ? null : deleteFlag.trim(); } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column jsh_functions.tenant_id + * + * @return the value of jsh_functions.tenant_id + * + * @mbggenerated + */ + public Long getTenantId() { + return tenantId; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column jsh_functions.tenant_id + * + * @param tenantId the value for jsh_functions.tenant_id + * + * @mbggenerated + */ + public void setTenantId(Long tenantId) { + this.tenantId = tenantId; + } } \ No newline at end of file diff --git a/src/main/java/com/jsh/erp/datasource/entities/FunctionsExample.java b/src/main/java/com/jsh/erp/datasource/entities/FunctionsExample.java index 099cdf54..ba6a8f28 100644 --- a/src/main/java/com/jsh/erp/datasource/entities/FunctionsExample.java +++ b/src/main/java/com/jsh/erp/datasource/entities/FunctionsExample.java @@ -933,6 +933,66 @@ public class FunctionsExample { addCriterion("delete_Flag not between", value1, value2, "deleteFlag"); return (Criteria) this; } + + public Criteria andTenantIdIsNull() { + addCriterion("tenant_id is null"); + return (Criteria) this; + } + + public Criteria andTenantIdIsNotNull() { + addCriterion("tenant_id is not null"); + return (Criteria) this; + } + + public Criteria andTenantIdEqualTo(Long value) { + addCriterion("tenant_id =", value, "tenantId"); + return (Criteria) this; + } + + public Criteria andTenantIdNotEqualTo(Long value) { + addCriterion("tenant_id <>", value, "tenantId"); + return (Criteria) this; + } + + public Criteria andTenantIdGreaterThan(Long value) { + addCriterion("tenant_id >", value, "tenantId"); + return (Criteria) this; + } + + public Criteria andTenantIdGreaterThanOrEqualTo(Long value) { + addCriterion("tenant_id >=", value, "tenantId"); + return (Criteria) this; + } + + public Criteria andTenantIdLessThan(Long value) { + addCriterion("tenant_id <", value, "tenantId"); + return (Criteria) this; + } + + public Criteria andTenantIdLessThanOrEqualTo(Long value) { + addCriterion("tenant_id <=", value, "tenantId"); + return (Criteria) this; + } + + public Criteria andTenantIdIn(List values) { + addCriterion("tenant_id in", values, "tenantId"); + return (Criteria) this; + } + + public Criteria andTenantIdNotIn(List values) { + addCriterion("tenant_id not in", values, "tenantId"); + return (Criteria) this; + } + + public Criteria andTenantIdBetween(Long value1, Long value2) { + addCriterion("tenant_id between", value1, value2, "tenantId"); + return (Criteria) this; + } + + public Criteria andTenantIdNotBetween(Long value1, Long value2) { + addCriterion("tenant_id not between", value1, value2, "tenantId"); + return (Criteria) this; + } } /** diff --git a/src/main/java/com/jsh/erp/datasource/entities/MaterialProperty.java b/src/main/java/com/jsh/erp/datasource/entities/MaterialProperty.java index 4ad6a4da..bd184753 100644 --- a/src/main/java/com/jsh/erp/datasource/entities/MaterialProperty.java +++ b/src/main/java/com/jsh/erp/datasource/entities/MaterialProperty.java @@ -49,6 +49,14 @@ public class MaterialProperty { */ private String deleteFlag; + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database column jsh_materialproperty.tenant_id + * + * @mbggenerated + */ + private Long tenantId; + /** * This method was generated by MyBatis Generator. * This method returns the value of the database column jsh_materialproperty.id @@ -192,4 +200,28 @@ public class MaterialProperty { public void setDeleteFlag(String deleteFlag) { this.deleteFlag = deleteFlag == null ? null : deleteFlag.trim(); } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column jsh_materialproperty.tenant_id + * + * @return the value of jsh_materialproperty.tenant_id + * + * @mbggenerated + */ + public Long getTenantId() { + return tenantId; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column jsh_materialproperty.tenant_id + * + * @param tenantId the value for jsh_materialproperty.tenant_id + * + * @mbggenerated + */ + public void setTenantId(Long tenantId) { + this.tenantId = tenantId; + } } \ No newline at end of file diff --git a/src/main/java/com/jsh/erp/datasource/entities/MaterialPropertyExample.java b/src/main/java/com/jsh/erp/datasource/entities/MaterialPropertyExample.java index 64b3e60d..64413a3c 100644 --- a/src/main/java/com/jsh/erp/datasource/entities/MaterialPropertyExample.java +++ b/src/main/java/com/jsh/erp/datasource/entities/MaterialPropertyExample.java @@ -593,6 +593,66 @@ public class MaterialPropertyExample { addCriterion("delete_Flag not between", value1, value2, "deleteFlag"); return (Criteria) this; } + + public Criteria andTenantIdIsNull() { + addCriterion("tenant_id is null"); + return (Criteria) this; + } + + public Criteria andTenantIdIsNotNull() { + addCriterion("tenant_id is not null"); + return (Criteria) this; + } + + public Criteria andTenantIdEqualTo(Long value) { + addCriterion("tenant_id =", value, "tenantId"); + return (Criteria) this; + } + + public Criteria andTenantIdNotEqualTo(Long value) { + addCriterion("tenant_id <>", value, "tenantId"); + return (Criteria) this; + } + + public Criteria andTenantIdGreaterThan(Long value) { + addCriterion("tenant_id >", value, "tenantId"); + return (Criteria) this; + } + + public Criteria andTenantIdGreaterThanOrEqualTo(Long value) { + addCriterion("tenant_id >=", value, "tenantId"); + return (Criteria) this; + } + + public Criteria andTenantIdLessThan(Long value) { + addCriterion("tenant_id <", value, "tenantId"); + return (Criteria) this; + } + + public Criteria andTenantIdLessThanOrEqualTo(Long value) { + addCriterion("tenant_id <=", value, "tenantId"); + return (Criteria) this; + } + + public Criteria andTenantIdIn(List values) { + addCriterion("tenant_id in", values, "tenantId"); + return (Criteria) this; + } + + public Criteria andTenantIdNotIn(List values) { + addCriterion("tenant_id not in", values, "tenantId"); + return (Criteria) this; + } + + public Criteria andTenantIdBetween(Long value1, Long value2) { + addCriterion("tenant_id between", value1, value2, "tenantId"); + return (Criteria) this; + } + + public Criteria andTenantIdNotBetween(Long value1, Long value2) { + addCriterion("tenant_id not between", value1, value2, "tenantId"); + return (Criteria) this; + } } /** diff --git a/src/main/java/com/jsh/erp/datasource/entities/UserBusiness.java b/src/main/java/com/jsh/erp/datasource/entities/UserBusiness.java index 2f6fe048..48627c14 100644 --- a/src/main/java/com/jsh/erp/datasource/entities/UserBusiness.java +++ b/src/main/java/com/jsh/erp/datasource/entities/UserBusiness.java @@ -49,6 +49,14 @@ public class UserBusiness { */ private String deleteFlag; + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database column jsh_userbusiness.tenant_id + * + * @mbggenerated + */ + private Long tenantId; + /** * This method was generated by MyBatis Generator. * This method returns the value of the database column jsh_userbusiness.Id @@ -192,4 +200,28 @@ public class UserBusiness { public void setDeleteFlag(String deleteFlag) { this.deleteFlag = deleteFlag == null ? null : deleteFlag.trim(); } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column jsh_userbusiness.tenant_id + * + * @return the value of jsh_userbusiness.tenant_id + * + * @mbggenerated + */ + public Long getTenantId() { + return tenantId; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column jsh_userbusiness.tenant_id + * + * @param tenantId the value for jsh_userbusiness.tenant_id + * + * @mbggenerated + */ + public void setTenantId(Long tenantId) { + this.tenantId = tenantId; + } } \ No newline at end of file diff --git a/src/main/java/com/jsh/erp/datasource/entities/UserBusinessExample.java b/src/main/java/com/jsh/erp/datasource/entities/UserBusinessExample.java index 615c5c70..c76e443d 100644 --- a/src/main/java/com/jsh/erp/datasource/entities/UserBusinessExample.java +++ b/src/main/java/com/jsh/erp/datasource/entities/UserBusinessExample.java @@ -603,6 +603,66 @@ public class UserBusinessExample { addCriterion("delete_Flag not between", value1, value2, "deleteFlag"); return (Criteria) this; } + + public Criteria andTenantIdIsNull() { + addCriterion("tenant_id is null"); + return (Criteria) this; + } + + public Criteria andTenantIdIsNotNull() { + addCriterion("tenant_id is not null"); + return (Criteria) this; + } + + public Criteria andTenantIdEqualTo(Long value) { + addCriterion("tenant_id =", value, "tenantId"); + return (Criteria) this; + } + + public Criteria andTenantIdNotEqualTo(Long value) { + addCriterion("tenant_id <>", value, "tenantId"); + return (Criteria) this; + } + + public Criteria andTenantIdGreaterThan(Long value) { + addCriterion("tenant_id >", value, "tenantId"); + return (Criteria) this; + } + + public Criteria andTenantIdGreaterThanOrEqualTo(Long value) { + addCriterion("tenant_id >=", value, "tenantId"); + return (Criteria) this; + } + + public Criteria andTenantIdLessThan(Long value) { + addCriterion("tenant_id <", value, "tenantId"); + return (Criteria) this; + } + + public Criteria andTenantIdLessThanOrEqualTo(Long value) { + addCriterion("tenant_id <=", value, "tenantId"); + return (Criteria) this; + } + + public Criteria andTenantIdIn(List values) { + addCriterion("tenant_id in", values, "tenantId"); + return (Criteria) this; + } + + public Criteria andTenantIdNotIn(List values) { + addCriterion("tenant_id not in", values, "tenantId"); + return (Criteria) this; + } + + public Criteria andTenantIdBetween(Long value1, Long value2) { + addCriterion("tenant_id between", value1, value2, "tenantId"); + return (Criteria) this; + } + + public Criteria andTenantIdNotBetween(Long value1, Long value2) { + addCriterion("tenant_id not between", value1, value2, "tenantId"); + return (Criteria) this; + } } /** diff --git a/src/main/resources/mapper_xml/AppMapper.xml b/src/main/resources/mapper_xml/AppMapper.xml index f1e7bc67..52e76cea 100644 --- a/src/main/resources/mapper_xml/AppMapper.xml +++ b/src/main/resources/mapper_xml/AppMapper.xml @@ -22,6 +22,7 @@ + Id, Number, Name, Type, Icon, URL, Width, Height, ReSize, OpenMax, Flash, ZL, Sort, - Remark, Enabled, delete_Flag + Remark, Enabled, delete_Flag, tenant_id - id, nativeName, enabled, sort, anotherName, delete_Flag + id, nativeName, enabled, sort, anotherName, delete_Flag, tenant_id insert into jsh_userbusiness (Id, Type, KeyId, - Value, BtnStr, delete_Flag - ) + Value, BtnStr, delete_Flag, + tenant_id) values (#{id,jdbcType=BIGINT}, #{type,jdbcType=VARCHAR}, #{keyid,jdbcType=VARCHAR}, - #{value,jdbcType=VARCHAR}, #{btnstr,jdbcType=VARCHAR}, #{deleteFlag,jdbcType=VARCHAR} - ) + #{value,jdbcType=VARCHAR}, #{btnstr,jdbcType=VARCHAR}, #{deleteFlag,jdbcType=VARCHAR}, + #{tenantId,jdbcType=BIGINT}) From 2fe10c756ed50c13dcfb2ec7edbc62f6a7bc1fdb Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Mon, 6 May 2019 16:23:09 +0800 Subject: [PATCH 025/117] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AF=BC=E5=87=BA?= =?UTF-8?q?=E6=97=B6=E6=97=A2=E8=BF=94=E5=9B=9E=E6=B5=81=E5=8F=88=E8=BF=94?= =?UTF-8?q?=E5=9B=9Ejson=E6=95=B0=E6=8D=AE=E5=AF=BC=E8=87=B4=E5=90=8E?= =?UTF-8?q?=E5=8F=B0=E5=BC=82=E5=B8=B8=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/jsh/erp/controller/SupplierController.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/com/jsh/erp/controller/SupplierController.java b/src/main/java/com/jsh/erp/controller/SupplierController.java index 8c0976f3..1b6d5cfe 100644 --- a/src/main/java/com/jsh/erp/controller/SupplierController.java +++ b/src/main/java/com/jsh/erp/controller/SupplierController.java @@ -290,7 +290,7 @@ public class SupplierController { * @return */ @GetMapping(value = "/exportExcel") - public BaseResponseInfo exportExcel(@RequestParam("supplier") String supplier, + public void exportExcel(@RequestParam("supplier") String supplier, @RequestParam("type") String type, @RequestParam("phonenum") String phonenum, @RequestParam("telephone") String telephone, @@ -338,7 +338,6 @@ public class SupplierController { map.put("message", message); res.data = map; } - return res; } /** From 1841c1f665da1dd531f3d68c7979ad889b7d542a Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Mon, 6 May 2019 16:25:11 +0800 Subject: [PATCH 026/117] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AF=BC=E5=87=BA?= =?UTF-8?q?=E6=97=B6=E6=97=A2=E8=BF=94=E5=9B=9E=E6=B5=81=E5=8F=88=E8=BF=94?= =?UTF-8?q?=E5=9B=9Ejson=E6=95=B0=E6=8D=AE=E5=AF=BC=E8=87=B4=E5=90=8E?= =?UTF-8?q?=E5=8F=B0=E5=BC=82=E5=B8=B8=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/jsh/erp/controller/DepotItemController.java | 6 +----- .../java/com/jsh/erp/controller/MaterialController.java | 3 +-- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/jsh/erp/controller/DepotItemController.java b/src/main/java/com/jsh/erp/controller/DepotItemController.java index 0b4a11fd..3c573e32 100644 --- a/src/main/java/com/jsh/erp/controller/DepotItemController.java +++ b/src/main/java/com/jsh/erp/controller/DepotItemController.java @@ -660,7 +660,7 @@ public class DepotItemController { * @return */ @GetMapping(value = "/exportExcel") - public BaseResponseInfo exportExcel(@RequestParam("currentPage") Integer currentPage, + public void exportExcel(@RequestParam("currentPage") Integer currentPage, @RequestParam("pageSize") Integer pageSize, @RequestParam("projectId") Integer projectId, @RequestParam("monthTime") String monthTime, @@ -717,10 +717,6 @@ public class DepotItemController { message = "导出失败"; res.code = 500; } - /** - * 2019-01-15response已经返回,finally部分完全没必要 - * */ - return res; } /** diff --git a/src/main/java/com/jsh/erp/controller/MaterialController.java b/src/main/java/com/jsh/erp/controller/MaterialController.java index 4bf35c6b..1a078abd 100644 --- a/src/main/java/com/jsh/erp/controller/MaterialController.java +++ b/src/main/java/com/jsh/erp/controller/MaterialController.java @@ -199,7 +199,7 @@ public class MaterialController { * @return */ @GetMapping(value = "/exportExcel") - public BaseResponseInfo exportExcel(@RequestParam("name") String name, + public void exportExcel(@RequestParam("name") String name, @RequestParam("model") String model, @RequestParam("categoryId") Long categoryId, @RequestParam("categoryIds") String categoryIds, @@ -240,7 +240,6 @@ public class MaterialController { map.put("message", message); res.data = map; } - return res; } /** From b5f4cc8fc2a8373e053c766135a28ed4584808ac Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Mon, 6 May 2019 17:02:35 +0800 Subject: [PATCH 027/117] =?UTF-8?q?=E6=8B=86=E5=88=86js=EF=BC=8C=E5=8E=BB?= =?UTF-8?q?=E6=8E=89=E4=B8=8D=E7=9B=B8=E5=85=B3=E5=85=83=E7=B4=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- erp_web/js/pages/manage/vendor.js | 40 ++++--------------------------- 1 file changed, 5 insertions(+), 35 deletions(-) diff --git a/erp_web/js/pages/manage/vendor.js b/erp_web/js/pages/manage/vendor.js index a1982ad7..2a4d0191 100644 --- a/erp_web/js/pages/manage/vendor.js +++ b/erp_web/js/pages/manage/vendor.js @@ -1,30 +1,12 @@ //初始化界面 +var listType = "供应商"; //类型 +var listTypeEn = "Vendor"; //英文类型 $(function() { - var listTitle = ""; //单据标题 - var listType = ""; //类型 - var listTypeEn = ""; //英文类型 - getType(); initTableData(); ininPager(); bindEvent(); }); -//根据名称获取类型 -function getType(){ - listTitle = $("#tablePanel").prev().text(); - if(listTitle === "供应商信息列表"){ - listType = "供应商"; - listTypeEn = "Vendor"; - } - else if(listTitle === "客户信息列表"){ - listType = "客户"; - listTypeEn = "Customer"; - } - else if(listTitle === "会员信息列表"){ - listType = "会员"; - listTypeEn = "Member"; - } -} //初始化表格数据 function initTableData() { @@ -599,13 +581,7 @@ function editSupplier(index) { //显示累计应收和累计应付 var thisDateTime = getNowFormatDateTime(); //当前时间 - var supType = "customer"; - if(listType === "客户"){ - supType = "customer" - } - else if(listType === "供应商"){ - supType = "vendor" - } + var supType = "vendor"; $.ajax({ type:"get", url: "/depotHead/findTotalPay", @@ -635,14 +611,8 @@ function editSupplier(index) { var money = moneyA+moneyB; var moneyBeginNeedGet = $("#BeginNeedGet").val()-0; //期初应收 var moneyBeginNeedPay = $("#BeginNeedPay").val()-0; //期初应付 - if(listType === "客户"){ - money = (money + moneyBeginNeedGet - moneyBeginNeedPay).toFixed(2); - $("#AllNeedGet").val(money); //累计应收 - } - else if(listType === "供应商"){ - money = (money + moneyBeginNeedPay - moneyBeginNeedGet).toFixed(2); - $("#AllNeedPay").val(money); //累计应付 - } + money = (money + moneyBeginNeedPay - moneyBeginNeedGet).toFixed(2); + $("#AllNeedPay").val(money); //累计应付 } }, error: function(){ From 47fc1aeda476de4f019d6aa3fd8ef1897156392e Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Mon, 6 May 2019 18:07:14 +0800 Subject: [PATCH 028/117] =?UTF-8?q?=E6=8B=86=E5=88=86js=EF=BC=8C=E5=8E=BB?= =?UTF-8?q?=E6=8E=89=E4=B8=8D=E7=9B=B8=E5=85=B3=E5=85=83=E7=B4=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- erp_web/js/pages/manage/customer.js | 706 ++++++++++++++++++++++++++ erp_web/js/pages/manage/member.js | 715 +++++++++++++++++++++++++++ erp_web/js/pages/manage/supplier.js | 735 ---------------------------- erp_web/pages/manage/customer.html | 2 +- erp_web/pages/manage/member.html | 2 +- 5 files changed, 1423 insertions(+), 737 deletions(-) create mode 100644 erp_web/js/pages/manage/customer.js create mode 100644 erp_web/js/pages/manage/member.js delete mode 100644 erp_web/js/pages/manage/supplier.js diff --git a/erp_web/js/pages/manage/customer.js b/erp_web/js/pages/manage/customer.js new file mode 100644 index 00000000..8b3ebb95 --- /dev/null +++ b/erp_web/js/pages/manage/customer.js @@ -0,0 +1,706 @@ +var listType = "客户"; //类型 +var listTypeEn ="Customer"; //英文类型 +//初始化界面 +$(function() { + initTableData(); + ininPager(); + bindEvent(); +}); + + + +//初始化表格数据 +function initTableData() { + //改变宽度和高度 + $("#searchPanel").panel({width:webW-2}); + $("#tablePanel").panel({width:webW-2}); + $('#tableData').datagrid({ + //title:'单位列表', + //iconCls:'icon-save', + //width:700, + height:heightInfo, + nowrap: false, + rownumbers: false, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + //fitColumns:true, + //单击行是否选中 + checkOnSelect : false, + //交替出现背景 + striped : true, + pagination: true, + //自动截取数据 + //nowrap : true, + //loadFilter: pagerFilter, + pageSize: initPageSize, + pageList: initPageNum, + columns:[[ + { field: 'id',width:35,align:"center",checkbox:true}, + { title: '操作',field: 'op',align:"center",width:60,formatter:function(value, rec,index) + { + /** + * create by: qiankunpingtai + * create time: 2019/5/6 9:33 + * website:https://qiankunpingtai.cn + * description: + * 修改效率低下的js实现 + */ + var str = ''; + // var rowInfo = rec.id + 'AaBb' + rec.supplier +'AaBb' + rec.contacts + 'AaBb'+ rec.phonenum + 'AaBb'+ rec.email + 'AaBb'+ rec.beginneedget + 'AaBb'+ rec.beginneedpay + 'AaBb' + rec.isystem + 'AaBb' + rec.description+ 'AaBb' + rec.type + // + 'AaBb' + rec.fax + 'AaBb' + rec.telephone + 'AaBb' + rec.address + 'AaBb' + rec.taxnum + 'AaBb' + rec.bankname + 'AaBb' + rec.accountnumber + 'AaBb' + rec.taxrate; + str += '   '; + str += ''; + return str; + } + }, + { title: '名称',field: 'supplier',width:150}, + { title: '联系人', field: 'contacts',width:50,align:"center"}, + { title: '手机号码', field: 'telephone',width:100,align:"center"}, + { title: '电子邮箱',field: 'email',width:80,align:"center"}, + { title: '联系电话', field: 'phonenum',width:100,align:"center"}, + { title: '传真', field: 'fax',width:100,align:"center"}, + { title: '预付款',field: 'advancein',width:70,align:"center"}, + { title: '期初应收',field: 'beginneedget',width:70,align:"center"}, + { title: '期初应付',field: 'beginneedpay',width:70,align:"center"}, + { title: '税率(%)', field: 'taxrate',width:50,align:"center"}, + { title: '状态',field: 'enabled',width:70,align:"center",formatter:function(value){ + return value? "启用":"禁用"; + }} + ]], + toolbar:[ + { + id:'addSupplier', + text:'增加', + iconCls:'icon-add', + handler:function() { + addSuppler(); + } + },'-', + { + id:'deleteSupplier', + text:'删除', + iconCls:'icon-remove', + handler:function() { + batDeleteSupplier(); + } + },'-', + { + id:'setEnable', + text:'启用', + iconCls:'icon-ok', + handler:function() { + setEnableFun(); + } + },'-', + { + id:'setDisEnable', + text:'禁用', + iconCls:'icon-no', + handler:function() { + setDisEnableFun(); + } + },'-', + { + id:'setInput', + text:'导入', + iconCls:'icon-excel', + handler:function() { + setInputFun(); + } + },'-', + { + id:'setOutput', + text:'导出', + iconCls:'icon-excel', + handler:function() { + setOutputFun(); + } + } + ], + onLoadError:function() { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); + showSupplierDetails(1,initPageSize); +} + + +//分页信息处理 +function ininPager() { + try { + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + pager.pagination({ + onSelectPage:function(pageNum, pageSize) + { + opts.pageNumber = pageNum; + opts.pageSize = pageSize; + pager.pagination('refresh', { + pageNumber:pageNum, + pageSize:pageSize + }); + showSupplierDetails(pageNum,pageSize); + } + }); + } + catch (e) { + $.messager.alert('异常处理提示',"分页信息异常 : " + e.name + ": " + e.message,'error'); + } +} + +//删除信息 +function deleteSupplier(id) { + $.messager.confirm('删除确认','确定要删除此条信息吗?',function(r) { + if (r) { + // var supplierTotalInfo = supplierInfo.split("AaBb"); + $.ajax({ + type:"post", + url: "/supplier/batchDeleteSupplierByIds", + dataType: "json", + data: ({ + ids : id + }), + success: function (res) { + if(res && res.code == 200) { + $("#searchBtn").click(); + } else { + if(res && res.code == 601){ + var jsondata={}; + jsondata.ids=id; + jsondata.deleteType='2'; + var type='single'; + batDeleteSupplierForceConfirm(res,"/supplier/batchDeleteSupplierByIds",jsondata,type); + }else if(res && res.code == 600){ + $.messager.alert('删除提示', res.msg, 'error'); + }else{ + $.messager.alert('删除提示', '删除信息失败,请稍后再试!', 'error'); + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('删除提示','删除信息异常,请稍后再试!','error'); + return; + } + }); + } + }); +} + +//批量删除单位 +function batDeleteSupplier() { + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) { + $.messager.alert('删除提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) { + $.messager.confirm('删除确认','确定要删除选中的' + row.length + '条信息吗?',function(r) { + if (r) { + var ids = ""; + for(var i = 0;i < row.length; i ++) { + if(i == row.length-1) + { + ids += row[i].id; + break; + } + ids += row[i].id + ","; + } + $.ajax({ + type:"post", + url: "/supplier/batchDeleteSupplierByIds", + dataType: "json", + async : false, + data: ({ + ids : ids + }), + success: function (res) { + if(res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + if(res && res.code == 601){ + var jsondata={}; + jsondata.ids=ids; + jsondata.deleteType='2'; + var type='batch'; + batDeleteSupplierForceConfirm(res,"/supplier/batchDeleteSupplierByIds",jsondata,type); + }else if(res && res.code == 600){ + $.messager.alert('删除提示', res.msg, 'error'); + }else{ + $.messager.alert('删除提示', '删除信息失败,请稍后再试!', 'error'); + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('删除提示','删除信息异常,请稍后再试!','error'); + return; + } + }); + } + }); + } +} +/** + * 确认强制删除 + * */ +function batDeleteSupplierForceConfirm(res,url,jsondata) { + $.messager.confirm('删除确认', res.msg, function (r) { + if (r) { + $.ajax({ + type: "post", + url: url, + dataType: "json", + data: (jsondata), + success: function (res) { + if(res && res.code == 200) { + $("#searchBtn").click(); + if(type=='batch'){ + $(":checkbox").attr("checked", false); + } + }else if(res && res.code == 600){ + $.messager.alert('删除提示', res.msg, 'error'); + }else { + $.messager.alert('删除提示', '删除信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('删除提示', '删除信息失败,请稍后再试!', 'error'); + return; + } + }); + } + }); +} + +//批量启用 +function setEnableFun() { + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) { + $.messager.alert('启用提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) { + $.messager.confirm('启用确认','确定要启用选中的' + row.length + '条信息吗?',function(r) { + if (r) { + var ids = ""; + for(var i = 0;i < row.length; i ++) { + if(i == row.length-1) { + ids += row[i].id; + break; + } + ids += row[i].id + ","; + } + $.ajax({ + type:"post", + url: "/supplier/batchSetEnable", + dataType: "json", + async : false, + data: ({ + enabled: true, + supplierIDs : ids + }), + success: function (res) { + if(res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('启用提示', '启用信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('启用提示','启用信息异常,请稍后再试!','error'); + return; + } + }); + } + }); + } +} + +//批量禁用 +function setDisEnableFun() { + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) { + $.messager.alert('禁用提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) { + $.messager.confirm('禁用确认','确定要禁用选中的' + row.length + '条信息吗?',function(r) { + if (r) { + var ids = ""; + for(var i = 0;i < row.length; i ++) { + if(i == row.length-1) { + ids += row[i].id; + break; + } + ids += row[i].id + ","; + } + $.ajax({ + type:"post", + url: "/supplier/batchSetEnable", + dataType: "json", + async : false, + data: ({ + enabled: false, + supplierIDs : ids + }), + success: function (res) { + if(res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('禁用提示', '禁用信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('禁用提示','禁用信息异常,请稍后再试!','error'); + return; + } + }); + } + }); + } +} + +//导入数据 +function setInputFun(){ + //IE下不允许编辑 input=file的值 解决思路:重新克隆input=file,把这个input元素复制一个,然后将原来的删除。 + //在IE下复制元素的时候,其中的值是不会被复制的,所以就达到了清空文件域的目的了。 + //而在Firefox下,其中的值也会被一同复制,清空一下就做到兼容 + var fileUploadInput = $("#supplierFile"); + fileUploadInput.after(fileUploadInput.clone().val("")); + fileUploadInput.remove(); + $("#isCheck").val(1); + $('#importExcelDlg').dialog('open').dialog('setTitle','导入' + listType + '信息'); + $(".window-mask").css({ width: webW-20 ,height: webH}); + $("#supplierFile").focus(); +} + +//导出数据 +function setOutputFun(){ + var supplier = $.trim($("#searchSupplier").val()); + var phonenum = $.trim($("#searchPhonenum").val()); + var telephone = $.trim($("#searchTelephone").val()); + var description = $.trim($("#searchDesc").val()); + var browserType=getOs(); + window.location.href = "/supplier/exportExcel?browserType=" + browserType + + "&supplier=" + supplier + "&type=" + listType + "&phonenum=" + phonenum + "&telephone=" + telephone + "&description=" + description; +} + +//增加单位 +var url; +var supplierID = 0; +//保存编辑前的名称 +var oldSupplier = ""; + +function addSuppler() { + $('#supplierDlg').dialog('open').dialog('setTitle',' 增加'+listType+"信息"); + $(".window-mask").css({ width: webW ,height: webH}); + $("#supplier").focus(); + $('#supplierFM').form('clear'); + oldSupplier = ""; + supplierID = 0; + url = '/supplier/add'; +} + +function bindEvent(){ + //导入excel对话框 + $('#importExcelDlg').dialog({ + width: 400, + closed: true, + cache: false, + modal: true, + collapsible:false, + closable: true, + buttons:'#dlg-buttons5' + }); + //导入excel表格 + $("#saveimport").unbind().bind({ + click:function() { + if($("#supplierFile").val().length == 0) + { + $.messager.alert('提示','请选择文件!','info'); + return; + } + $("#importExcelFM").submit(); + $('#importExcelDlg').dialog('close'); + + $.messager.progress({ + title:'请稍候', + msg:'数据处理ing...' + }); + setTimeout(function(){ + $.messager.progress('close'); + var opts = $("#tableData").datagrid('options'); + showSupplierDetails(opts.pageNumber,opts.pageSize); + },3300); + } + }); + //保存信息 + $("#saveSupplier").off("click").on("click", function () { + if(validateForm("supplierFM")) { + return; + } + if (checkSupplierName()) { + return; + } + var reg = /^([0-9])+$/; + var phonenum = $.trim($("#phonenum").val()); + if(phonenum.length>0 && !reg.test(phonenum)) { + $.messager.alert('提示','电话号码只能是数字','info'); + $("#phonenum").val("").focus(); + return; + } + var beginNeedGet = $.trim($("#BeginNeedGet").val()); + var beginNeedPay = $.trim($("#BeginNeedPay").val()); + if(beginNeedGet && beginNeedPay) { + $.messager.alert('提示','期初应收和期初应付不能同时输入','info'); + return; + } + + var obj = $("#supplierFM").serializeObject(); + obj.type = listType; + obj.enabled = 1; + $.ajax({ + url: url, + type:"post", + dataType: "json", + data:{ + info: JSON.stringify(obj) + }, + success: function(res) { + if(res && res.code === 200) { + $('#supplierDlg').dialog('close'); + //加载完以后重新初始化 + var opts = $("#tableData").datagrid('options'); + showSupplierDetails(opts.pageNumber, opts.pageSize); + } + } + }); + }); + + //初始化键盘enter事件 + $(document).keydown(function(event) { + //兼容 IE和firefox 事件 + var e = window.event || event; + var k = e.keyCode||e.which||e.charCode; + //兼容 IE,firefox 兼容 + var obj = e.srcElement ? e.srcElement : e.target; + //绑定键盘事件为 id是指定的输入框才可以触发键盘事件 13键盘事件 + if(k == "13"&&(obj.id=="supplier" || obj.id=="contacts"|| obj.id=="phonenum" + || obj.id=="email" || obj.id=="description" )) + { + $("#saveSupplier").click(); + } + + //搜索按钮添加快捷键 + if(k == "13"&&(obj.id=="searchSupplier" || obj.id=="searchContacts"|| obj.id=="searchPhonenum" + || obj.id=="searchEmail" || obj.id=="searchDesc" )) + { + $("#searchBtn").click(); + } + }); + + //搜索处理 + $("#searchBtn").unbind().bind({ + click:function() { + showSupplierDetails(1,initPageSize); + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + opts.pageNumber = 1; + opts.pageSize = initPageSize; + pager.pagination('refresh', { + pageNumber:1, + pageSize:initPageSize + }); + } + }); + + $("#searchBtn").click(); + + //重置按钮 + $("#searchResetBtn").unbind().bind({ + click:function(){ + $("#searchSupplier").val(""); + $("#searchType").val(""); + $("#searchPhonenum").val(""); + $("#searchTelephone").val(""); + $("#searchDesc").val(""); + + //加载完以后重新初始化 + $("#searchBtn").click(); + } + }); + +} + + +//编辑信息 +function editSupplier(index) { + // var supplierInfo = supplierTotalInfo.split("AaBb"); + //获取当前行 + var rowsdata = $("#tableData").datagrid("getRows")[index]; + var beginNeedGet = rowsdata.beginneedget; + var beginNeedPay = rowsdata.beginneedpay; + var row = { + supplier : rowsdata.supplier, + contacts : (rowsdata.contacts).replace("undefined",""), + phonenum : (rowsdata.phonenum).replace("undefined",""), + email : (rowsdata.email).replace("undefined",""), + BeginNeedGet : beginNeedGet == "0"? "":beginNeedGet, + BeginNeedPay : beginNeedPay == "0"? "":beginNeedPay, + AllNeedGet: "", + AllNeedPay: "", + description : (rowsdata.description).replace("undefined",""), + type : rowsdata.type, + fax : (rowsdata.fax).replace("undefined",""), + telephone : (rowsdata.telephone).replace("undefined",""), + address : (rowsdata.address).replace("undefined",""), + taxNum : (rowsdata.taxnum).replace("undefined",""), + bankName : (rowsdata.bankname).replace("undefined",""), + accountNumber : (rowsdata.accountnumber).replace("undefined",""), + taxRate : rowsdata.taxrate==undefined?"":rowsdata.taxrate + }; + oldSupplier = rowsdata.supplier; + $('#supplierDlg').dialog('open').dialog('setTitle',' 编辑'+listType +"信息"); + $(".window-mask").css({ width: webW ,height: webH}); + $('#supplierFM').form('load',row); + supplierID = rowsdata.id; + //焦点在名称输入框==定焦在输入文字后面 + $("#supplier").val("").focus().val(rowsdata.supplier); + url = '/supplier/update?id=' + rowsdata.id; + + //显示累计应收和累计应付 + var thisDateTime = getNowFormatDateTime(); //当前时间 + var supType = "customer"; + $.ajax({ + type:"get", + url: "/depotHead/findTotalPay", + dataType: "json", + async: false, + data: ({ + supplierId: rowsdata.id, + endTime:thisDateTime, + supType: supType + }), + success: function(res){ + if (res && res.code === 200 && res.data && res.data.rows && res.data.rows.getAllMoney !== "") { + var moneyA = res.data.rows.getAllMoney.toFixed(2)-0; + $.ajax({ + type:"get", + url: "/accountHead/findTotalPay", + dataType: "json", + async: false, + data: ({ + supplierId: rowsdata.id, + endTime:thisDateTime, + supType: supType + }), + success: function(res){ + if (res && res.code === 200 && res.data && res.data.rows && res.data.rows.getAllMoney !== "") { + var moneyB = res.data.rows.getAllMoney.toFixed(2)-0; + var money = moneyA+moneyB; + var moneyBeginNeedGet = $("#BeginNeedGet").val()-0; //期初应收 + var moneyBeginNeedPay = $("#BeginNeedPay").val()-0; //期初应付 + money = (money + moneyBeginNeedGet - moneyBeginNeedPay).toFixed(2); + $("#AllNeedGet").val(money); //累计应收 + } + }, + error: function(){ + $.messager.alert('提示','网络异常请稍后再试!','error'); + return; + } + }); + } + }, + error: function(){ + $.messager.alert('提示','网络异常请稍后再试!','error'); + return; + } + }); +} + + +//检查单位名称是否存在 ++ 重名无法提示问题需要跟进 +function checkSupplierName() { + var supplierName = $.trim($("#supplier").val()); + //表示是否存在 true == 存在 false = 不存在 + var flag = false; + //开始ajax名称检验,不能重名 + if(supplierName.length > 0 &&( oldSupplier.length ==0 || supplierName != oldSupplier)) { + $.ajax({ + type:"get", + url: "/supplier/checkIsNameExist", + dataType: "json", + async : false, + data: ({ + id : supplierID, + name : supplierName + }), + success: function (res) { + if(res && res.code === 200) { + if(res.data && res.data.status) { + flag = res.data.status; + if (flag) { + $.messager.alert('提示', '单位名称已经存在', 'info'); + return; + } + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('提示','检查单位名称是否存在异常,请稍后再试!','error'); + return; + } + }); + } + return flag; +} + + +function showSupplierDetails(pageNo,pageSize) { + var supplier = $.trim($("#searchSupplier").val()); + var phonenum = $.trim($("#searchPhonenum").val()); + var telephone = $.trim($("#searchTelephone").val()); + var description = $.trim($("#searchDesc").val()); + $.ajax({ + type:"get", + url: "/supplier/list", + dataType: "json", + data: ({ + search: JSON.stringify({ + supplier: supplier, + type: listType, + phonenum: phonenum, + telephone: telephone, + description: description + }), + currentPage: pageNo, + pageSize: pageSize + }), + success: function (res) { + if(res && res.code === 200){ + if(res.data && res.data.page) { + $("#tableData").datagrid('loadData', res.data.page); + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + return; + } + }); +} + diff --git a/erp_web/js/pages/manage/member.js b/erp_web/js/pages/manage/member.js new file mode 100644 index 00000000..1ffdd2b5 --- /dev/null +++ b/erp_web/js/pages/manage/member.js @@ -0,0 +1,715 @@ +var listType = "会员"; //类型 +var listTypeEn = "Member"; //英文类型 +//初始化界面 +$(function() { + initTableData(); + ininPager(); + bindEvent(); +}); + + +//初始化表格数据 +function initTableData() { + //改变宽度和高度 + $("#searchPanel").panel({width:webW-2}); + $("#tablePanel").panel({width:webW-2}); + $('#tableData').datagrid({ + //title:'单位列表', + //iconCls:'icon-save', + //width:700, + height:heightInfo, + nowrap: false, + rownumbers: false, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + //fitColumns:true, + //单击行是否选中 + checkOnSelect : false, + //交替出现背景 + striped : true, + pagination: true, + //自动截取数据 + //nowrap : true, + //loadFilter: pagerFilter, + pageSize: initPageSize, + pageList: initPageNum, + columns:[[ + { field: 'id',width:35,align:"center",checkbox:true}, + { title: '操作',field: 'op',align:"center",width:60,formatter:function(value, rec,index) + { + /** + * create by: qiankunpingtai + * create time: 2019/5/6 9:33 + * website:https://qiankunpingtai.cn + * description: + * 修改效率低下的js实现 + */ + var str = ''; + // var rowInfo = rec.id + 'AaBb' + rec.supplier +'AaBb' + rec.contacts + 'AaBb'+ rec.phonenum + 'AaBb'+ rec.email + 'AaBb'+ rec.beginneedget + 'AaBb'+ rec.beginneedpay + 'AaBb' + rec.isystem + 'AaBb' + rec.description+ 'AaBb' + rec.type + // + 'AaBb' + rec.fax + 'AaBb' + rec.telephone + 'AaBb' + rec.address + 'AaBb' + rec.taxnum + 'AaBb' + rec.bankname + 'AaBb' + rec.accountnumber + 'AaBb' + rec.taxrate; + str += '   '; + str += ''; + return str; + } + }, + { title: '名称',field: 'supplier',width:150}, + { title: '联系人', field: 'contacts',width:50,align:"center"}, + { title: '手机号码', field: 'telephone',width:100,align:"center"}, + { title: '电子邮箱',field: 'email',width:80,align:"center"}, + { title: '联系电话', field: 'phonenum',width:100,align:"center"}, + { title: '传真', field: 'fax',width:100,align:"center"}, + { title: '预付款',field: 'advancein',width:70,align:"center"}, + { title: '期初应收',field: 'beginneedget',width:70,align:"center"}, + { title: '期初应付',field: 'beginneedpay',width:70,align:"center"}, + { title: '税率(%)', field: 'taxrate',width:50,align:"center"}, + { title: '状态',field: 'enabled',width:70,align:"center",formatter:function(value){ + return value? "启用":"禁用"; + }} + ]], + toolbar:[ + { + id:'addSupplier', + text:'增加', + iconCls:'icon-add', + handler:function() { + addSuppler(); + } + },'-', + { + id:'deleteSupplier', + text:'删除', + iconCls:'icon-remove', + handler:function() { + batDeleteSupplier(); + } + },'-', + { + id:'setEnable', + text:'启用', + iconCls:'icon-ok', + handler:function() { + setEnableFun(); + } + },'-', + { + id:'setDisEnable', + text:'禁用', + iconCls:'icon-no', + handler:function() { + setDisEnableFun(); + } + },'-', + { + id:'setInput', + text:'导入', + iconCls:'icon-excel', + handler:function() { + setInputFun(); + } + },'-', + { + id:'setOutput', + text:'导出', + iconCls:'icon-excel', + handler:function() { + setOutputFun(); + } + } + ], + onLoadError:function() { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); + showSupplierDetails(1,initPageSize); +} + + +//分页信息处理 +function ininPager() { + try { + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + pager.pagination({ + onSelectPage:function(pageNum, pageSize) + { + opts.pageNumber = pageNum; + opts.pageSize = pageSize; + pager.pagination('refresh', { + pageNumber:pageNum, + pageSize:pageSize + }); + showSupplierDetails(pageNum,pageSize); + } + }); + } + catch (e) { + $.messager.alert('异常处理提示',"分页信息异常 : " + e.name + ": " + e.message,'error'); + } +} + +//删除信息 +function deleteSupplier(id) { + $.messager.confirm('删除确认','确定要删除此条信息吗?',function(r) { + if (r) { + // var supplierTotalInfo = supplierInfo.split("AaBb"); + $.ajax({ + type:"post", + url: "/supplier/batchDeleteSupplierByIds", + dataType: "json", + data: ({ + ids : id + }), + success: function (res) { + if(res && res.code == 200) { + $("#searchBtn").click(); + } else { + if(res && res.code == 601){ + var jsondata={}; + jsondata.ids=id; + jsondata.deleteType='2'; + var type='single'; + batDeleteSupplierForceConfirm(res,"/supplier/batchDeleteSupplierByIds",jsondata,type); + }else if(res && res.code == 600){ + $.messager.alert('删除提示', res.msg, 'error'); + }else{ + $.messager.alert('删除提示', '删除信息失败,请稍后再试!', 'error'); + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('删除提示','删除信息异常,请稍后再试!','error'); + return; + } + }); + } + }); +} + +//批量删除单位 +function batDeleteSupplier() { + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) { + $.messager.alert('删除提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) { + $.messager.confirm('删除确认','确定要删除选中的' + row.length + '条信息吗?',function(r) { + if (r) { + var ids = ""; + for(var i = 0;i < row.length; i ++) { + if(i == row.length-1) + { + ids += row[i].id; + break; + } + ids += row[i].id + ","; + } + $.ajax({ + type:"post", + url: "/supplier/batchDeleteSupplierByIds", + dataType: "json", + async : false, + data: ({ + ids : ids + }), + success: function (res) { + if(res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + if(res && res.code == 601){ + var jsondata={}; + jsondata.ids=ids; + jsondata.deleteType='2'; + var type='batch'; + batDeleteSupplierForceConfirm(res,"/supplier/batchDeleteSupplierByIds",jsondata,type); + }else if(res && res.code == 600){ + $.messager.alert('删除提示', res.msg, 'error'); + }else{ + $.messager.alert('删除提示', '删除信息失败,请稍后再试!', 'error'); + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('删除提示','删除信息异常,请稍后再试!','error'); + return; + } + }); + } + }); + } +} +/** + * 确认强制删除 + * */ +function batDeleteSupplierForceConfirm(res,url,jsondata) { + $.messager.confirm('删除确认', res.msg, function (r) { + if (r) { + $.ajax({ + type: "post", + url: url, + dataType: "json", + data: (jsondata), + success: function (res) { + if(res && res.code == 200) { + $("#searchBtn").click(); + if(type=='batch'){ + $(":checkbox").attr("checked", false); + } + }else if(res && res.code == 600){ + $.messager.alert('删除提示', res.msg, 'error'); + }else { + $.messager.alert('删除提示', '删除信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('删除提示', '删除信息失败,请稍后再试!', 'error'); + return; + } + }); + } + }); +} + +//批量启用 +function setEnableFun() { + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) { + $.messager.alert('启用提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) { + $.messager.confirm('启用确认','确定要启用选中的' + row.length + '条信息吗?',function(r) { + if (r) { + var ids = ""; + for(var i = 0;i < row.length; i ++) { + if(i == row.length-1) { + ids += row[i].id; + break; + } + ids += row[i].id + ","; + } + $.ajax({ + type:"post", + url: "/supplier/batchSetEnable", + dataType: "json", + async : false, + data: ({ + enabled: true, + supplierIDs : ids + }), + success: function (res) { + if(res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('启用提示', '启用信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('启用提示','启用信息异常,请稍后再试!','error'); + return; + } + }); + } + }); + } +} + +//批量禁用 +function setDisEnableFun() { + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) { + $.messager.alert('禁用提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) { + $.messager.confirm('禁用确认','确定要禁用选中的' + row.length + '条信息吗?',function(r) { + if (r) { + var ids = ""; + for(var i = 0;i < row.length; i ++) { + if(i == row.length-1) { + ids += row[i].id; + break; + } + ids += row[i].id + ","; + } + $.ajax({ + type:"post", + url: "/supplier/batchSetEnable", + dataType: "json", + async : false, + data: ({ + enabled: false, + supplierIDs : ids + }), + success: function (res) { + if(res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('禁用提示', '禁用信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('禁用提示','禁用信息异常,请稍后再试!','error'); + return; + } + }); + } + }); + } +} + +//导入数据 +function setInputFun(){ + //IE下不允许编辑 input=file的值 解决思路:重新克隆input=file,把这个input元素复制一个,然后将原来的删除。 + //在IE下复制元素的时候,其中的值是不会被复制的,所以就达到了清空文件域的目的了。 + //而在Firefox下,其中的值也会被一同复制,清空一下就做到兼容 + var fileUploadInput = $("#supplierFile"); + fileUploadInput.after(fileUploadInput.clone().val("")); + fileUploadInput.remove(); + $("#isCheck").val(1); + $('#importExcelDlg').dialog('open').dialog('setTitle','导入' + listType + '信息'); + $(".window-mask").css({ width: webW-20 ,height: webH}); + $("#supplierFile").focus(); +} + +//导出数据 +function setOutputFun(){ + var supplier = $.trim($("#searchSupplier").val()); + var phonenum = $.trim($("#searchPhonenum").val()); + var telephone = $.trim($("#searchTelephone").val()); + var description = $.trim($("#searchDesc").val()); + var browserType=getOs(); + window.location.href = "/supplier/exportExcel?browserType=" + browserType + + "&supplier=" + supplier + "&type=" + listType + "&phonenum=" + phonenum + "&telephone=" + telephone + "&description=" + description; +} + +//增加单位 +var url; +var supplierID = 0; +//保存编辑前的名称 +var oldSupplier = ""; + +function addSuppler() { + $('#supplierDlg').dialog('open').dialog('setTitle',' 增加'+listType+"信息"); + $(".window-mask").css({ width: webW ,height: webH}); + $("#supplier").focus(); + $('#supplierFM').form('clear'); + oldSupplier = ""; + supplierID = 0; + url = '/supplier/add'; +} + +function bindEvent(){ + //导入excel对话框 + $('#importExcelDlg').dialog({ + width: 400, + closed: true, + cache: false, + modal: true, + collapsible:false, + closable: true, + buttons:'#dlg-buttons5' + }); + //导入excel表格 + $("#saveimport").unbind().bind({ + click:function() { + if($("#supplierFile").val().length == 0) + { + $.messager.alert('提示','请选择文件!','info'); + return; + } + $("#importExcelFM").submit(); + $('#importExcelDlg').dialog('close'); + + $.messager.progress({ + title:'请稍候', + msg:'数据处理ing...' + }); + setTimeout(function(){ + $.messager.progress('close'); + var opts = $("#tableData").datagrid('options'); + showSupplierDetails(opts.pageNumber,opts.pageSize); + },3300); + } + }); + //保存信息 + $("#saveSupplier").off("click").on("click", function () { + if(validateForm("supplierFM")) { + return; + } + if (checkSupplierName()) { + return; + } + var reg = /^([0-9])+$/; + var phonenum = $.trim($("#phonenum").val()); + if(phonenum.length>0 && !reg.test(phonenum)) { + $.messager.alert('提示','电话号码只能是数字','info'); + $("#phonenum").val("").focus(); + return; + } + var beginNeedGet = $.trim($("#BeginNeedGet").val()); + var beginNeedPay = $.trim($("#BeginNeedPay").val()); + if(beginNeedGet && beginNeedPay) { + $.messager.alert('提示','期初应收和期初应付不能同时输入','info'); + return; + } + + var obj = $("#supplierFM").serializeObject(); + obj.type = listType; + obj.enabled = 1; + $.ajax({ + url: url, + type:"post", + dataType: "json", + data:{ + info: JSON.stringify(obj) + }, + success: function(res) { + if(res && res.code === 200) { + $('#supplierDlg').dialog('close'); + //加载完以后重新初始化 + var opts = $("#tableData").datagrid('options'); + showSupplierDetails(opts.pageNumber, opts.pageSize); + } + } + }); + }); + + //初始化键盘enter事件 + $(document).keydown(function(event) { + //兼容 IE和firefox 事件 + var e = window.event || event; + var k = e.keyCode||e.which||e.charCode; + //兼容 IE,firefox 兼容 + var obj = e.srcElement ? e.srcElement : e.target; + //绑定键盘事件为 id是指定的输入框才可以触发键盘事件 13键盘事件 + if(k == "13"&&(obj.id=="supplier" || obj.id=="contacts"|| obj.id=="phonenum" + || obj.id=="email" || obj.id=="description" )) + { + $("#saveSupplier").click(); + } + + //搜索按钮添加快捷键 + if(k == "13"&&(obj.id=="searchSupplier" || obj.id=="searchContacts"|| obj.id=="searchPhonenum" + || obj.id=="searchEmail" || obj.id=="searchDesc" )) + { + $("#searchBtn").click(); + } + }); + + //搜索处理 + $("#searchBtn").unbind().bind({ + click:function() { + showSupplierDetails(1,initPageSize); + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + opts.pageNumber = 1; + opts.pageSize = initPageSize; + pager.pagination('refresh', { + pageNumber:1, + pageSize:initPageSize + }); + } + }); + + $("#searchBtn").click(); + + //重置按钮 + $("#searchResetBtn").unbind().bind({ + click:function(){ + $("#searchSupplier").val(""); + $("#searchType").val(""); + $("#searchPhonenum").val(""); + $("#searchTelephone").val(""); + $("#searchDesc").val(""); + + //加载完以后重新初始化 + $("#searchBtn").click(); + } + }); + +} + + +//编辑信息 +function editSupplier(index) { + // var supplierInfo = supplierTotalInfo.split("AaBb"); + //获取当前行 + var rowsdata = $("#tableData").datagrid("getRows")[index]; + var beginNeedGet = rowsdata.beginneedget; + var beginNeedPay = rowsdata.beginneedpay; + var row = { + supplier : rowsdata.supplier, + contacts : (rowsdata.contacts).replace("undefined",""), + phonenum : (rowsdata.phonenum).replace("undefined",""), + email : (rowsdata.email).replace("undefined",""), + BeginNeedGet : beginNeedGet == "0"? "":beginNeedGet, + BeginNeedPay : beginNeedPay == "0"? "":beginNeedPay, + AllNeedGet: "", + AllNeedPay: "", + description : (rowsdata.description).replace("undefined",""), + type : rowsdata.type, + fax : (rowsdata.fax).replace("undefined",""), + telephone : (rowsdata.telephone).replace("undefined",""), + address : (rowsdata.address).replace("undefined",""), + taxNum : (rowsdata.taxnum).replace("undefined",""), + bankName : (rowsdata.bankname).replace("undefined",""), + accountNumber : (rowsdata.accountnumber).replace("undefined",""), + taxRate : rowsdata.taxrate==undefined?"":rowsdata.taxrate + }; + oldSupplier = rowsdata.supplier; + $('#supplierDlg').dialog('open').dialog('setTitle',' 编辑'+listType +"信息"); + $(".window-mask").css({ width: webW ,height: webH}); + $('#supplierFM').form('load',row); + supplierID = rowsdata.id; + //焦点在名称输入框==定焦在输入文字后面 + $("#supplier").val("").focus().val(rowsdata.supplier); + url = '/supplier/update?id=' + rowsdata.id; + + //显示累计应收和累计应付 + var thisDateTime = getNowFormatDateTime(); //当前时间 + var supType = "customer"; + $.ajax({ + type:"get", + url: "/depotHead/findTotalPay", + dataType: "json", + async: false, + data: ({ + supplierId: rowsdata.id, + endTime:thisDateTime, + supType: supType + }), + success: function(res){ + if (res && res.code === 200 && res.data && res.data.rows && res.data.rows.getAllMoney !== "") { + var moneyA = res.data.rows.getAllMoney.toFixed(2)-0; + $.ajax({ + type:"get", + url: "/accountHead/findTotalPay", + dataType: "json", + async: false, + data: ({ + supplierId: rowsdata.id, + endTime:thisDateTime, + supType: supType + }), + success: function(res){ + if (res && res.code === 200 && res.data && res.data.rows && res.data.rows.getAllMoney !== "") { + var moneyB = res.data.rows.getAllMoney.toFixed(2)-0; + var money = moneyA+moneyB; + var moneyBeginNeedGet = $("#BeginNeedGet").val()-0; //期初应收 + var moneyBeginNeedPay = $("#BeginNeedPay").val()-0; //期初应付 + /** + * 会员该做什么操作呢? + * + * */ + if(listType === "客户"){ + money = (money + moneyBeginNeedGet - moneyBeginNeedPay).toFixed(2); + $("#AllNeedGet").val(money); //累计应收 + } + else if(listType === "供应商"){ + money = (money + moneyBeginNeedPay - moneyBeginNeedGet).toFixed(2); + $("#AllNeedPay").val(money); //累计应付 + } + } + }, + error: function(){ + $.messager.alert('提示','网络异常请稍后再试!','error'); + return; + } + }); + } + }, + error: function(){ + $.messager.alert('提示','网络异常请稍后再试!','error'); + return; + } + }); +} + + +//检查单位名称是否存在 ++ 重名无法提示问题需要跟进 +function checkSupplierName() { + var supplierName = $.trim($("#supplier").val()); + //表示是否存在 true == 存在 false = 不存在 + var flag = false; + //开始ajax名称检验,不能重名 + if(supplierName.length > 0 &&( oldSupplier.length ==0 || supplierName != oldSupplier)) { + $.ajax({ + type:"get", + url: "/supplier/checkIsNameExist", + dataType: "json", + async : false, + data: ({ + id : supplierID, + name : supplierName + }), + success: function (res) { + if(res && res.code === 200) { + if(res.data && res.data.status) { + flag = res.data.status; + if (flag) { + $.messager.alert('提示', '单位名称已经存在', 'info'); + return; + } + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('提示','检查单位名称是否存在异常,请稍后再试!','error'); + return; + } + }); + } + return flag; +} + + +function showSupplierDetails(pageNo,pageSize) { + var supplier = $.trim($("#searchSupplier").val()); + var phonenum = $.trim($("#searchPhonenum").val()); + var telephone = $.trim($("#searchTelephone").val()); + var description = $.trim($("#searchDesc").val()); + $.ajax({ + type:"get", + url: "/supplier/list", + dataType: "json", + data: ({ + search: JSON.stringify({ + supplier: supplier, + type: listType, + phonenum: phonenum, + telephone: telephone, + description: description + }), + currentPage: pageNo, + pageSize: pageSize + }), + success: function (res) { + if(res && res.code === 200){ + if(res.data && res.data.page) { + $("#tableData").datagrid('loadData', res.data.page); + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + return; + } + }); +} + diff --git a/erp_web/js/pages/manage/supplier.js b/erp_web/js/pages/manage/supplier.js deleted file mode 100644 index 1099ef3e..00000000 --- a/erp_web/js/pages/manage/supplier.js +++ /dev/null @@ -1,735 +0,0 @@ - //初始化界面 - $(function() { - var listTitle = ""; //单据标题 - var listType = ""; //类型 - var listTypeEn = ""; //英文类型 - getType(); - initTableData(); - ininPager(); - bindEvent(); - }); - - //根据名称获取类型 - function getType(){ - listTitle = $("#tablePanel").prev().text(); - if(listTitle === "供应商信息列表"){ - listType = "供应商"; - listTypeEn = "Vendor"; - } - else if(listTitle === "客户信息列表"){ - listType = "客户"; - listTypeEn = "Customer"; - } - else if(listTitle === "会员信息列表"){ - listType = "会员"; - listTypeEn = "Member"; - } - } - - //初始化表格数据 - function initTableData() { - //改变宽度和高度 - $("#searchPanel").panel({width:webW-2}); - $("#tablePanel").panel({width:webW-2}); - $('#tableData').datagrid({ - //title:'单位列表', - //iconCls:'icon-save', - //width:700, - height:heightInfo, - nowrap: false, - rownumbers: false, - //动画效果 - animate:false, - //选中单行 - singleSelect : true, - collapsible:false, - selectOnCheck:false, - //fitColumns:true, - //单击行是否选中 - checkOnSelect : false, - //交替出现背景 - striped : true, - pagination: true, - //自动截取数据 - //nowrap : true, - //loadFilter: pagerFilter, - pageSize: initPageSize, - pageList: initPageNum, - columns:[[ - { field: 'id',width:35,align:"center",checkbox:true}, - { title: '操作',field: 'op',align:"center",width:60,formatter:function(value, rec,index) - { - /** - * create by: qiankunpingtai - * create time: 2019/5/6 9:33 - * website:https://qiankunpingtai.cn - * description: - * 修改效率低下的js实现 - */ - var str = ''; - // var rowInfo = rec.id + 'AaBb' + rec.supplier +'AaBb' + rec.contacts + 'AaBb'+ rec.phonenum + 'AaBb'+ rec.email + 'AaBb'+ rec.beginneedget + 'AaBb'+ rec.beginneedpay + 'AaBb' + rec.isystem + 'AaBb' + rec.description+ 'AaBb' + rec.type - // + 'AaBb' + rec.fax + 'AaBb' + rec.telephone + 'AaBb' + rec.address + 'AaBb' + rec.taxnum + 'AaBb' + rec.bankname + 'AaBb' + rec.accountnumber + 'AaBb' + rec.taxrate; - str += '   '; - str += ''; - return str; - } - }, - { title: '名称',field: 'supplier',width:150}, - { title: '联系人', field: 'contacts',width:50,align:"center"}, - { title: '手机号码', field: 'telephone',width:100,align:"center"}, - { title: '电子邮箱',field: 'email',width:80,align:"center"}, - { title: '联系电话', field: 'phonenum',width:100,align:"center"}, - { title: '传真', field: 'fax',width:100,align:"center"}, - { title: '预付款',field: 'advancein',width:70,align:"center"}, - { title: '期初应收',field: 'beginneedget',width:70,align:"center"}, - { title: '期初应付',field: 'beginneedpay',width:70,align:"center"}, - { title: '税率(%)', field: 'taxrate',width:50,align:"center"}, - { title: '状态',field: 'enabled',width:70,align:"center",formatter:function(value){ - return value? "启用":"禁用"; - }} - ]], - toolbar:[ - { - id:'addSupplier', - text:'增加', - iconCls:'icon-add', - handler:function() { - addSuppler(); - } - },'-', - { - id:'deleteSupplier', - text:'删除', - iconCls:'icon-remove', - handler:function() { - batDeleteSupplier(); - } - },'-', - { - id:'setEnable', - text:'启用', - iconCls:'icon-ok', - handler:function() { - setEnableFun(); - } - },'-', - { - id:'setDisEnable', - text:'禁用', - iconCls:'icon-no', - handler:function() { - setDisEnableFun(); - } - },'-', - { - id:'setInput', - text:'导入', - iconCls:'icon-excel', - handler:function() { - setInputFun(); - } - },'-', - { - id:'setOutput', - text:'导出', - iconCls:'icon-excel', - handler:function() { - setOutputFun(); - } - } - ], - onLoadError:function() { - $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); - return; - } - }); - showSupplierDetails(1,initPageSize); - } - - - //分页信息处理 - function ininPager() { - try { - var opts = $("#tableData").datagrid('options'); - var pager = $("#tableData").datagrid('getPager'); - pager.pagination({ - onSelectPage:function(pageNum, pageSize) - { - opts.pageNumber = pageNum; - opts.pageSize = pageSize; - pager.pagination('refresh', { - pageNumber:pageNum, - pageSize:pageSize - }); - showSupplierDetails(pageNum,pageSize); - } - }); - } - catch (e) { - $.messager.alert('异常处理提示',"分页信息异常 : " + e.name + ": " + e.message,'error'); - } - } - - //删除信息 - function deleteSupplier(id) { - $.messager.confirm('删除确认','确定要删除此条信息吗?',function(r) { - if (r) { - // var supplierTotalInfo = supplierInfo.split("AaBb"); - $.ajax({ - type:"post", - url: "/supplier/batchDeleteSupplierByIds", - dataType: "json", - data: ({ - ids : id - }), - success: function (res) { - if(res && res.code == 200) { - $("#searchBtn").click(); - } else { - if(res && res.code == 601){ - var jsondata={}; - jsondata.ids=id; - jsondata.deleteType='2'; - var type='single'; - batDeleteSupplierForceConfirm(res,"/supplier/batchDeleteSupplierByIds",jsondata,type); - }else if(res && res.code == 600){ - $.messager.alert('删除提示', res.msg, 'error'); - }else{ - $.messager.alert('删除提示', '删除信息失败,请稍后再试!', 'error'); - } - } - }, - //此处添加错误处理 - error:function() { - $.messager.alert('删除提示','删除信息异常,请稍后再试!','error'); - return; - } - }); - } - }); - } - - //批量删除单位 - function batDeleteSupplier() { - var row = $('#tableData').datagrid('getChecked'); - if(row.length == 0) { - $.messager.alert('删除提示','没有记录被选中!','info'); - return; - } - if(row.length > 0) { - $.messager.confirm('删除确认','确定要删除选中的' + row.length + '条信息吗?',function(r) { - if (r) { - var ids = ""; - for(var i = 0;i < row.length; i ++) { - if(i == row.length-1) - { - ids += row[i].id; - break; - } - ids += row[i].id + ","; - } - $.ajax({ - type:"post", - url: "/supplier/batchDeleteSupplierByIds", - dataType: "json", - async : false, - data: ({ - ids : ids - }), - success: function (res) { - if(res && res.code === 200) { - $("#searchBtn").click(); - $(":checkbox").attr("checked", false); - } else { - if(res && res.code == 601){ - var jsondata={}; - jsondata.ids=ids; - jsondata.deleteType='2'; - var type='batch'; - batDeleteSupplierForceConfirm(res,"/supplier/batchDeleteSupplierByIds",jsondata,type); - }else if(res && res.code == 600){ - $.messager.alert('删除提示', res.msg, 'error'); - }else{ - $.messager.alert('删除提示', '删除信息失败,请稍后再试!', 'error'); - } - } - }, - //此处添加错误处理 - error:function() { - $.messager.alert('删除提示','删除信息异常,请稍后再试!','error'); - return; - } - }); - } - }); - } - } - /** - * 确认强制删除 - * */ - function batDeleteSupplierForceConfirm(res,url,jsondata) { - $.messager.confirm('删除确认', res.msg, function (r) { - if (r) { - $.ajax({ - type: "post", - url: url, - dataType: "json", - data: (jsondata), - success: function (res) { - if(res && res.code == 200) { - $("#searchBtn").click(); - if(type=='batch'){ - $(":checkbox").attr("checked", false); - } - }else if(res && res.code == 600){ - $.messager.alert('删除提示', res.msg, 'error'); - }else { - $.messager.alert('删除提示', '删除信息失败,请稍后再试!', 'error'); - } - }, - //此处添加错误处理 - error: function () { - $.messager.alert('删除提示', '删除信息失败,请稍后再试!', 'error'); - return; - } - }); - } - }); - } - - //批量启用 - function setEnableFun() { - var row = $('#tableData').datagrid('getChecked'); - if(row.length == 0) { - $.messager.alert('启用提示','没有记录被选中!','info'); - return; - } - if(row.length > 0) { - $.messager.confirm('启用确认','确定要启用选中的' + row.length + '条信息吗?',function(r) { - if (r) { - var ids = ""; - for(var i = 0;i < row.length; i ++) { - if(i == row.length-1) { - ids += row[i].id; - break; - } - ids += row[i].id + ","; - } - $.ajax({ - type:"post", - url: "/supplier/batchSetEnable", - dataType: "json", - async : false, - data: ({ - enabled: true, - supplierIDs : ids - }), - success: function (res) { - if(res && res.code === 200) { - $("#searchBtn").click(); - $(":checkbox").attr("checked", false); - } else { - $.messager.alert('启用提示', '启用信息失败,请稍后再试!', 'error'); - } - }, - //此处添加错误处理 - error:function() { - $.messager.alert('启用提示','启用信息异常,请稍后再试!','error'); - return; - } - }); - } - }); - } - } - - //批量禁用 - function setDisEnableFun() { - var row = $('#tableData').datagrid('getChecked'); - if(row.length == 0) { - $.messager.alert('禁用提示','没有记录被选中!','info'); - return; - } - if(row.length > 0) { - $.messager.confirm('禁用确认','确定要禁用选中的' + row.length + '条信息吗?',function(r) { - if (r) { - var ids = ""; - for(var i = 0;i < row.length; i ++) { - if(i == row.length-1) { - ids += row[i].id; - break; - } - ids += row[i].id + ","; - } - $.ajax({ - type:"post", - url: "/supplier/batchSetEnable", - dataType: "json", - async : false, - data: ({ - enabled: false, - supplierIDs : ids - }), - success: function (res) { - if(res && res.code === 200) { - $("#searchBtn").click(); - $(":checkbox").attr("checked", false); - } else { - $.messager.alert('禁用提示', '禁用信息失败,请稍后再试!', 'error'); - } - }, - //此处添加错误处理 - error:function() { - $.messager.alert('禁用提示','禁用信息异常,请稍后再试!','error'); - return; - } - }); - } - }); - } - } - - //导入数据 - function setInputFun(){ - //IE下不允许编辑 input=file的值 解决思路:重新克隆input=file,把这个input元素复制一个,然后将原来的删除。 - //在IE下复制元素的时候,其中的值是不会被复制的,所以就达到了清空文件域的目的了。 - //而在Firefox下,其中的值也会被一同复制,清空一下就做到兼容 - var fileUploadInput = $("#supplierFile"); - fileUploadInput.after(fileUploadInput.clone().val("")); - fileUploadInput.remove(); - $("#isCheck").val(1); - $('#importExcelDlg').dialog('open').dialog('setTitle','导入' + listType + '信息'); - $(".window-mask").css({ width: webW-20 ,height: webH}); - $("#supplierFile").focus(); - } - - //导出数据 - function setOutputFun(){ - var supplier = $.trim($("#searchSupplier").val()); - var phonenum = $.trim($("#searchPhonenum").val()); - var telephone = $.trim($("#searchTelephone").val()); - var description = $.trim($("#searchDesc").val()); - var browserType=getOs(); - window.location.href = "/supplier/exportExcel?browserType=" + browserType - + "&supplier=" + supplier + "&type=" + listType + "&phonenum=" + phonenum + "&telephone=" + telephone + "&description=" + description; - } - - //增加单位 - var url; - var supplierID = 0; - //保存编辑前的名称 - var oldSupplier = ""; - - function addSuppler() { - $('#supplierDlg').dialog('open').dialog('setTitle',' 增加'+listType+"信息"); - $(".window-mask").css({ width: webW ,height: webH}); - $("#supplier").focus(); - $('#supplierFM').form('clear'); - oldSupplier = ""; - supplierID = 0; - url = '/supplier/add'; - } - - function bindEvent(){ - //导入excel对话框 - $('#importExcelDlg').dialog({ - width: 400, - closed: true, - cache: false, - modal: true, - collapsible:false, - closable: true, - buttons:'#dlg-buttons5' - }); - //导入excel表格 - $("#saveimport").unbind().bind({ - click:function() { - if($("#supplierFile").val().length == 0) - { - $.messager.alert('提示','请选择文件!','info'); - return; - } - $("#importExcelFM").submit(); - $('#importExcelDlg').dialog('close'); - - $.messager.progress({ - title:'请稍候', - msg:'数据处理ing...' - }); - setTimeout(function(){ - $.messager.progress('close'); - var opts = $("#tableData").datagrid('options'); - showSupplierDetails(opts.pageNumber,opts.pageSize); - },3300); - } - }); - //保存信息 - $("#saveSupplier").off("click").on("click", function () { - if(validateForm("supplierFM")) { - return; - } - if (checkSupplierName()) { - return; - } - var reg = /^([0-9])+$/; - var phonenum = $.trim($("#phonenum").val()); - if(phonenum.length>0 && !reg.test(phonenum)) { - $.messager.alert('提示','电话号码只能是数字','info'); - $("#phonenum").val("").focus(); - return; - } - var beginNeedGet = $.trim($("#BeginNeedGet").val()); - var beginNeedPay = $.trim($("#BeginNeedPay").val()); - if(beginNeedGet && beginNeedPay) { - $.messager.alert('提示','期初应收和期初应付不能同时输入','info'); - return; - } - - var obj = $("#supplierFM").serializeObject(); - obj.type = listType; - obj.enabled = 1; - $.ajax({ - url: url, - type:"post", - dataType: "json", - data:{ - info: JSON.stringify(obj) - }, - success: function(res) { - if(res && res.code === 200) { - $('#supplierDlg').dialog('close'); - //加载完以后重新初始化 - var opts = $("#tableData").datagrid('options'); - showSupplierDetails(opts.pageNumber, opts.pageSize); - } - } - }); - }); - - //初始化键盘enter事件 - $(document).keydown(function(event) { - //兼容 IE和firefox 事件 - var e = window.event || event; - var k = e.keyCode||e.which||e.charCode; - //兼容 IE,firefox 兼容 - var obj = e.srcElement ? e.srcElement : e.target; - //绑定键盘事件为 id是指定的输入框才可以触发键盘事件 13键盘事件 - if(k == "13"&&(obj.id=="supplier" || obj.id=="contacts"|| obj.id=="phonenum" - || obj.id=="email" || obj.id=="description" )) - { - $("#saveSupplier").click(); - } - - //搜索按钮添加快捷键 - if(k == "13"&&(obj.id=="searchSupplier" || obj.id=="searchContacts"|| obj.id=="searchPhonenum" - || obj.id=="searchEmail" || obj.id=="searchDesc" )) - { - $("#searchBtn").click(); - } - }); - - //搜索处理 - $("#searchBtn").unbind().bind({ - click:function() { - showSupplierDetails(1,initPageSize); - var opts = $("#tableData").datagrid('options'); - var pager = $("#tableData").datagrid('getPager'); - opts.pageNumber = 1; - opts.pageSize = initPageSize; - pager.pagination('refresh', { - pageNumber:1, - pageSize:initPageSize - }); - } - }); - - $("#searchBtn").click(); - - //重置按钮 - $("#searchResetBtn").unbind().bind({ - click:function(){ - $("#searchSupplier").val(""); - $("#searchType").val(""); - $("#searchPhonenum").val(""); - $("#searchTelephone").val(""); - $("#searchDesc").val(""); - - //加载完以后重新初始化 - $("#searchBtn").click(); - } - }); - - } - - - //编辑信息 - function editSupplier(index) { - // var supplierInfo = supplierTotalInfo.split("AaBb"); - //获取当前行 - var rowsdata = $("#tableData").datagrid("getRows")[index]; - var beginNeedGet = rowsdata.beginneedget; - var beginNeedPay = rowsdata.beginneedpay; - var row = { - supplier : rowsdata.supplier, - contacts : (rowsdata.contacts).replace("undefined",""), - phonenum : (rowsdata.phonenum).replace("undefined",""), - email : (rowsdata.email).replace("undefined",""), - BeginNeedGet : beginNeedGet == "0"? "":beginNeedGet, - BeginNeedPay : beginNeedPay == "0"? "":beginNeedPay, - AllNeedGet: "", - AllNeedPay: "", - description : (rowsdata.description).replace("undefined",""), - type : rowsdata.type, - fax : (rowsdata.fax).replace("undefined",""), - telephone : (rowsdata.telephone).replace("undefined",""), - address : (rowsdata.address).replace("undefined",""), - taxNum : (rowsdata.taxnum).replace("undefined",""), - bankName : (rowsdata.bankname).replace("undefined",""), - accountNumber : (rowsdata.accountnumber).replace("undefined",""), - taxRate : rowsdata.taxrate==undefined?"":rowsdata.taxrate - }; - oldSupplier = rowsdata.supplier; - $('#supplierDlg').dialog('open').dialog('setTitle',' 编辑'+listType +"信息"); - $(".window-mask").css({ width: webW ,height: webH}); - $('#supplierFM').form('load',row); - supplierID = rowsdata.id; - //焦点在名称输入框==定焦在输入文字后面 - $("#supplier").val("").focus().val(rowsdata.supplier); - url = '/supplier/update?id=' + rowsdata.id; - - //显示累计应收和累计应付 - var thisDateTime = getNowFormatDateTime(); //当前时间 - var supType = "customer"; - if(listType === "客户"){ - supType = "customer" - } - else if(listType === "供应商"){ - supType = "vendor" - } - $.ajax({ - type:"get", - url: "/depotHead/findTotalPay", - dataType: "json", - async: false, - data: ({ - supplierId: rowsdata.id, - endTime:thisDateTime, - supType: supType - }), - success: function(res){ - if (res && res.code === 200 && res.data && res.data.rows && res.data.rows.getAllMoney !== "") { - var moneyA = res.data.rows.getAllMoney.toFixed(2)-0; - $.ajax({ - type:"get", - url: "/accountHead/findTotalPay", - dataType: "json", - async: false, - data: ({ - supplierId: rowsdata.id, - endTime:thisDateTime, - supType: supType - }), - success: function(res){ - if (res && res.code === 200 && res.data && res.data.rows && res.data.rows.getAllMoney !== "") { - var moneyB = res.data.rows.getAllMoney.toFixed(2)-0; - var money = moneyA+moneyB; - var moneyBeginNeedGet = $("#BeginNeedGet").val()-0; //期初应收 - var moneyBeginNeedPay = $("#BeginNeedPay").val()-0; //期初应付 - if(listType === "客户"){ - money = (money + moneyBeginNeedGet - moneyBeginNeedPay).toFixed(2); - $("#AllNeedGet").val(money); //累计应收 - } - else if(listType === "供应商"){ - money = (money + moneyBeginNeedPay - moneyBeginNeedGet).toFixed(2); - $("#AllNeedPay").val(money); //累计应付 - } - } - }, - error: function(){ - $.messager.alert('提示','网络异常请稍后再试!','error'); - return; - } - }); - } - }, - error: function(){ - $.messager.alert('提示','网络异常请稍后再试!','error'); - return; - } - }); - } - - - //检查单位名称是否存在 ++ 重名无法提示问题需要跟进 - function checkSupplierName() { - var supplierName = $.trim($("#supplier").val()); - //表示是否存在 true == 存在 false = 不存在 - var flag = false; - //开始ajax名称检验,不能重名 - if(supplierName.length > 0 &&( oldSupplier.length ==0 || supplierName != oldSupplier)) { - $.ajax({ - type:"get", - url: "/supplier/checkIsNameExist", - dataType: "json", - async : false, - data: ({ - id : supplierID, - name : supplierName - }), - success: function (res) { - if(res && res.code === 200) { - if(res.data && res.data.status) { - flag = res.data.status; - if (flag) { - $.messager.alert('提示', '单位名称已经存在', 'info'); - return; - } - } - } - }, - //此处添加错误处理 - error:function() { - $.messager.alert('提示','检查单位名称是否存在异常,请稍后再试!','error'); - return; - } - }); - } - return flag; - } - - - function showSupplierDetails(pageNo,pageSize) { - var supplier = $.trim($("#searchSupplier").val()); - var phonenum = $.trim($("#searchPhonenum").val()); - var telephone = $.trim($("#searchTelephone").val()); - var description = $.trim($("#searchDesc").val()); - $.ajax({ - type:"get", - url: "/supplier/list", - dataType: "json", - data: ({ - search: JSON.stringify({ - supplier: supplier, - type: listType, - phonenum: phonenum, - telephone: telephone, - description: description - }), - currentPage: pageNo, - pageSize: pageSize - }), - success: function (res) { - if(res && res.code === 200){ - if(res.data && res.data.page) { - $("#tableData").datagrid('loadData', res.data.page); - } - } - }, - //此处添加错误处理 - error:function() { - $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); - return; - } - }); - } - diff --git a/erp_web/pages/manage/customer.html b/erp_web/pages/manage/customer.html index 4448e41b..c96a693e 100644 --- a/erp_web/pages/manage/customer.html +++ b/erp_web/pages/manage/customer.html @@ -13,7 +13,7 @@ - + diff --git a/erp_web/pages/manage/member.html b/erp_web/pages/manage/member.html index b6680d80..a5acea2f 100644 --- a/erp_web/pages/manage/member.html +++ b/erp_web/pages/manage/member.html @@ -13,7 +13,7 @@ - + From d676e2583b6820b5759de7633cab10c31999ce05 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Tue, 7 May 2019 11:37:36 +0800 Subject: [PATCH 029/117] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=B4=A2=E5=8A=A1?= =?UTF-8?q?=E7=AE=A1=E7=90=86js=E6=95=88=E7=8E=87=E4=BD=8E=E4=B8=8B?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- erp_web/js/pages/financial/financial_base.js | 71 +++++++++++--------- 1 file changed, 41 insertions(+), 30 deletions(-) diff --git a/erp_web/js/pages/financial/financial_base.js b/erp_web/js/pages/financial/financial_base.js index 54645980..0e0216eb 100644 --- a/erp_web/js/pages/financial/financial_base.js +++ b/erp_web/js/pages/financial/financial_base.js @@ -231,14 +231,21 @@ pageList: initPageNum, columns:[[ { field: 'id',width:35,align:"center",checkbox:true}, - { title: '操作',field: 'op',align:"center",width:90,formatter:function(value,rec) { + { title: '操作',field: 'op',align:"center",width:90,formatter:function(value, rec,index) { + /** + * create by: qiankunpingtai + * create time: 2019/5/7 10:48 + * website:https://qiankunpingtai.cn + * description: + * 修改效率低下的js + */ var str = ''; - var rowInfo = rec.id + 'AaBb' + rec.billno+ 'AaBb' + rec.billtime+ 'AaBb' + rec.remark - + 'AaBb' + rec.accountid+ 'AaBb' + rec.accountname + 'AaBb' + rec.organid + 'AaBb' + rec.organname - + 'AaBb' + rec.handspersonid + 'AaBb' + rec.handspersonname + 'AaBb' + rec.changeamount + 'AaBb' + rec.totalprice; + // var rowInfo = rec.id + 'AaBb' + rec.billno+ 'AaBb' + rec.billtime+ 'AaBb' + rec.remark + // + 'AaBb' + rec.accountid+ 'AaBb' + rec.accountname + 'AaBb' + rec.organid + 'AaBb' + rec.organname + // + 'AaBb' + rec.handspersonid + 'AaBb' + rec.handspersonname + 'AaBb' + rec.changeamount + 'AaBb' + rec.totalprice; var orgId = rec.organid ? rec.organid : 0; - str += '   '; - str += '   '; + str += '   '; + str += '   '; str += ''; return str; } @@ -695,43 +702,47 @@ } //编辑信息 - function editAccountHead(accountHeadTotalInfo){ - var accountHeadInfo = accountHeadTotalInfo.split("AaBb"); - $("#BillNo").val(accountHeadInfo[1]); - $("#BillTime").val(accountHeadInfo[2]); - $("#Remark").val(accountHeadInfo[3]); - $("#AccountId").val(accountHeadInfo[4]); - $('#OrganId').combobox('setValue', accountHeadInfo[6]); - $("#HandsPersonId").val(accountHeadInfo[8]); - $("#ChangeAmount").val(accountHeadInfo[10]); - var TotalPrice = accountHeadInfo[11]; - preTotalPrice = accountHeadInfo[11]; //记录前一次合计金额,用于收预付款 + function editAccountHead(index){ + // var accountHeadInfo = accountHeadTotalInfo.split("AaBb"); + //获取当前行 + var rowsdata = $("#tableData").datagrid("getRows")[index]; + $("#BillNo").val(rowsdata.billno); + $("#BillTime").val(rowsdata.billtime); + $("#Remark").val(rowsdata.remark); + $("#AccountId").val(rowsdata.accountid); + $('#OrganId').combobox('setValue', rowsdata.organid); + $("#HandsPersonId").val(rowsdata.handspersonid); + $("#ChangeAmount").val(rowsdata.changeamount); + var TotalPrice = rowsdata.totalprice; + preTotalPrice = rowsdata.totalprice; //记录前一次合计金额,用于收预付款 var editTitle = listTitle.replace("列表","信息"); $('#accountHeadDlg').dialog('open').dialog('setTitle',' 编辑' + editTitle); $(".window-mask").css({ width: webW ,height: webH}); - accountHeadID = accountHeadInfo[0]; + accountHeadID = rowsdata.id; initTableData_account("edit",TotalPrice); //明细列表 reject(); //撤销下、刷新列表 - url = '/accountHead/update?id=' + accountHeadInfo[0]; + url = '/accountHead/update?id=' + rowsdata.id; } //查看信息 - function showAccountHead(accountHeadTotalInfo){ - var accountHeadInfo = accountHeadTotalInfo.split("AaBb"); - $("#BillNoShow").text(accountHeadInfo[1]); - $("#BillTimeShow").text(accountHeadInfo[2]); - $("#RemarkShow").text(accountHeadInfo[3]); - $("#AccountIdShow").text(accountHeadInfo[5]); - $('#OrganIdShow').text(accountHeadInfo[7]); - $("#HandsPersonIdShow").text(accountHeadInfo[9]); - $("#ChangeAmountShow").text(accountHeadInfo[10].replace("undefined","0")); - var TotalPrice = accountHeadInfo[11]; + function showAccountHead(index){ + // var accountHeadInfo = accountHeadTotalInfo.split("AaBb"); + //获取当前行 + var rowsdata = $("#tableData").datagrid("getRows")[index]; + $("#BillNoShow").text(rowsdata.billno); + $("#BillTimeShow").text(rowsdata.billtime); + $("#RemarkShow").text(rowsdata.remark); + $("#AccountIdShow").text(rowsdata.accountname); + $('#OrganIdShow').text(rowsdata.organname); + $("#HandsPersonIdShow").text(rowsdata.handspersonname); + $("#ChangeAmountShow").text(rowsdata.rowsdata==undefined?'0':rowsdata.rowsdata); + var TotalPrice = rowsdata.totalprice; var showTitle = listTitle.replace("列表","信息"); $('#accountHeadDlgShow').dialog('open').dialog('setTitle',' 查看' + showTitle); $(".window-mask").css({ width: webW ,height: webH}); - accountHeadID = accountHeadInfo[0]; + accountHeadID = rowsdata.id; initTableData_account_show(TotalPrice); //明细列表-查看状态 } From b3034ef6548c462c8c740e5ec1845968b30f0a5c Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Tue, 7 May 2019 14:51:53 +0800 Subject: [PATCH 030/117] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/serialNumber/SerialNumberService.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/jsh/erp/service/serialNumber/SerialNumberService.java b/src/main/java/com/jsh/erp/service/serialNumber/SerialNumberService.java index 498ce83c..46705c46 100644 --- a/src/main/java/com/jsh/erp/service/serialNumber/SerialNumberService.java +++ b/src/main/java/com/jsh/erp/service/serialNumber/SerialNumberService.java @@ -428,21 +428,22 @@ public class SerialNumberService { public void checkAndUpdateSerialNumber(DepotItem depotItem,User userInfo) throws Exception{ if(depotItem!=null){ //查询商品下已分配的可用序列号数量 + int serialNumberSum=0; try{ - int SerialNumberSum= serialNumberMapperEx.countSerialNumberByMaterialIdAndDepotheadId(depotItem.getMaterialid(),null,BusinessConstants.IS_SELL_HOLD); + serialNumberSum= serialNumberMapperEx.countSerialNumberByMaterialIdAndDepotheadId(depotItem.getMaterialid(),null,BusinessConstants.IS_SELL_HOLD); //BasicNumber=OperNumber*ratio - if((depotItem.getBasicnumber()==null?0:depotItem.getBasicnumber()).intValue()>SerialNumberSum){ - //获取商品名称 - Material material= materialMapper.selectByPrimaryKey(depotItem.getMaterialid()); - throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_SERIAL_NUMBERE_NOT_ENOUGH_CODE, - String.format(ExceptionConstants.MATERIAL_SERIAL_NUMBERE_NOT_ENOUGH_MSG,material==null?"":material.getName())); - } }catch(Exception e){ logger.error("异常码[{}],异常提示[{}],异常[{}]", ExceptionConstants.DATA_READ_FAIL_CODE,ExceptionConstants.DATA_READ_FAIL_MSG,e); throw new BusinessRunTimeException(ExceptionConstants.DATA_READ_FAIL_CODE, ExceptionConstants.DATA_READ_FAIL_MSG); } + if((depotItem.getBasicnumber()==null?0:depotItem.getBasicnumber()).intValue()>serialNumberSum){ + //获取商品名称 + Material material= materialMapper.selectByPrimaryKey(depotItem.getMaterialid()); + throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_SERIAL_NUMBERE_NOT_ENOUGH_CODE, + String.format(ExceptionConstants.MATERIAL_SERIAL_NUMBERE_NOT_ENOUGH_MSG,material==null?"":material.getName())); + } //商品下序列号充足,分配序列号 sellSerialNumber(depotItem.getMaterialid(),depotItem.getHeaderid(),(depotItem.getBasicnumber()==null?0:depotItem.getBasicnumber()).intValue(),userInfo); From 4f26664b54dd691824f484e2b2c30e43b4a4ec27 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Tue, 7 May 2019 15:05:13 +0800 Subject: [PATCH 031/117] =?UTF-8?q?=E4=BF=AE=E5=A4=8Djs=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- erp_web/pages/manage/functions.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erp_web/pages/manage/functions.html b/erp_web/pages/manage/functions.html index 6159f293..af7dfc70 100644 --- a/erp_web/pages/manage/functions.html +++ b/erp_web/pages/manage/functions.html @@ -398,7 +398,7 @@ $("#Enabled").attr("checked", rowsdata.enabled === true ? true : false); $("#Type").focus().val(rowsdata.type); var pushbtn=rowsdata.pushbtn; - if (pushbtn !== "undefined" && pushbtn !== "") { + if (pushbtn) { var arr = pushbtn.split(","); var pushBtnArray = []; for (var i = 0; i < arr.length; i++) { From 88830c7209ba66d84e1a95d96a7869c8ace9d4e7 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Tue, 7 May 2019 17:05:43 +0800 Subject: [PATCH 032/117] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8D=95=E6=8D=AE?= =?UTF-8?q?=E7=9B=B8=E5=85=B3js=E6=95=88=E7=8E=87=E4=BD=8E=E4=B8=8B?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- erp_web/js/pages/materials/in_out.js | 179 ++++++++++++++------------- 1 file changed, 95 insertions(+), 84 deletions(-) diff --git a/erp_web/js/pages/materials/in_out.js b/erp_web/js/pages/materials/in_out.js index 4c14f6e1..1c8ab0f2 100644 --- a/erp_web/js/pages/materials/in_out.js +++ b/erp_web/js/pages/materials/in_out.js @@ -553,26 +553,26 @@ columns:[[ { field: 'id',width:35,align:"center",checkbox:true}, { title: '操作',field: 'op',align:"center",width:opWidth, - formatter:function(value,rec) { + formatter:function(value, rec,index) { var str = ''; - var rowInfo = rec.id + 'AaBb' + rec.projectid+ 'AaBb' + rec.number+ 'AaBb' + rec.operpersonname - + 'AaBb' + rec.opertimeStr+ 'AaBb' + rec.organid+ 'AaBb' + rec.handspersonid - + 'AaBb' + rec.accountid+ 'AaBb' + rec.changeamount+ 'AaBb' + rec.remark - + 'AaBb' + rec.projectName+ 'AaBb' + rec.organName+ 'AaBb' + rec.handsPersonName - + 'AaBb' + rec.accountName + 'AaBb' + rec.totalprice + 'AaBb' + rec.allocationprojectid - + 'AaBb' + rec.allocationProjectName + 'AaBb' + rec.paytype + 'AaBb' + rec.salesman - + 'AaBb' + rec.discount + 'AaBb' + rec.discountmoney + 'AaBb' + rec.discountlastmoney - + 'AaBb' + rec.accountidlist + 'AaBb' + rec.accountmoneylist - + 'AaBb' + rec.othermoney + 'AaBb' + rec.othermoneylist + 'AaBb' + rec.othermoneyitem - + 'AaBb' + rec.accountday + 'AaBb' + rec.linknumber; - rowInfo = rowInfo.replace(/\"/g, ""); - rowInfo = rowInfo.replace(/\[|]/g,""); + // var rowInfo = rec.id + 'AaBb' + rec.projectid+ 'AaBb' + rec.number+ 'AaBb' + rec.operpersonname + // + 'AaBb' + rec.opertimeStr+ 'AaBb' + rec.organid+ 'AaBb' + rec.handspersonid + // + 'AaBb' + rec.accountid+ 'AaBb' + rec.changeamount+ 'AaBb' + rec.remark + // + 'AaBb' + rec.projectName+ 'AaBb' + rec.organName+ 'AaBb' + rec.handsPersonName + // + 'AaBb' + rec.accountName + 'AaBb' + rec.totalprice + 'AaBb' + rec.allocationprojectid + // + 'AaBb' + rec.allocationProjectName + 'AaBb' + rec.paytype + 'AaBb' + rec.salesman + // + 'AaBb' + rec.discount + 'AaBb' + rec.discountmoney + 'AaBb' + rec.discountlastmoney + // + 'AaBb' + rec.accountidlist + 'AaBb' + rec.accountmoneylist + // + 'AaBb' + rec.othermoney + 'AaBb' + rec.othermoneylist + 'AaBb' + rec.othermoneyitem + // + 'AaBb' + rec.accountday + 'AaBb' + rec.linknumber; + // rowInfo = rowInfo.replace(/\"/g, ""); + // rowInfo = rowInfo.replace(/\[|]/g,""); var orgId = rec.organid? rec.organid:0; - str += '   '; - str += '   '; + str += '   '; + str += '   '; str += ''; if(isShowSkip) { - str += '   '; + str += '   '; } return str; } @@ -1338,11 +1338,13 @@ } //订单转采购或销售 - function skipDepotHead(rowInfo, status){ + function skipDepotHead(index, status){ + //获取当前行 + var rowsdata = $("#tableData").datagrid("getRows")[index]; if(status == "0" || status == "2") { $.messager.alert('提示','未审核和已转的单据禁止操作!','warning'); } else { - sessionStorage.setItem("rowInfo", rowInfo); //将单据信息存入缓存中 + sessionStorage.setItem("rowInfo", JSON.stringify(rowsdata)); //将单据信息存入缓存中 if(listTitle == "采购订单列表") { parent.addTab("订单转采购", "../materials/purchase_in_list.html?t=skip", ""); } else if(listTitle == "销售订单列表") { @@ -1644,54 +1646,61 @@ } //编辑信息 - function editDepotHead(depotHeadTotalInfo, status){ + function editDepotHead(index, status){ if(status == "1" || status == "2") { $.messager.alert('编辑提示','已审核和已转的单据不能编辑!','warning'); return; } - var depotHeadInfo = depotHeadTotalInfo.split("AaBb"); - $("#ProjectId").focus().val(depotHeadInfo[1]); - var ProjectId=depotHeadInfo[1]; + // var depotHeadInfo = depotHeadTotalInfo.split("AaBb"); + //获取当前行 + var rowsdata =''; + if(Number(index).toString()=='NaN'){ + rowsdata=$.parseJSON(index); + }else{ + rowsdata=$("#tableData").datagrid("getRows")[index]; + } + $("#ProjectId").focus().val(rowsdata.projectid); + var ProjectId=rowsdata.projectid; if(ProjectId!='') { initSystemData_person(ProjectId); initSelectInfo_person(); } - var TotalPrice = depotHeadInfo[14]; //合计金额 + var TotalPrice = rowsdata.totalprice; //合计金额 if(pageType === "skip") { //从订单跳转过来 buildNumber(); //生成单据编号 var thisDateTime = getNowFormatDateTime(); //当前时间 $("#OperTime").val(thisDateTime); - $("#LinkNumber").val(depotHeadInfo[2]); //关联订单号 + $("#LinkNumber").val(rowsdata.number); //关联订单号 $("#AccountId").val(defaultAccountId); //初始化默认的账户Id $("#DiscountLastMoney").val(TotalPrice); //优惠后金额 $("#ChangeAmount").val(TotalPrice).attr("data-changeamount", TotalPrice); } else { - $("#Number").val(depotHeadInfo[2]).attr("data-defaultNumber",depotHeadInfo[2]); - $("#OperTime").val(depotHeadInfo[4]); - $("#LinkNumber").val(depotHeadInfo[28].replace("undefined","")); //关联订单号 - $("#AccountId").val(depotHeadInfo[7]); //账户Id - $("#DiscountLastMoney").val(depotHeadInfo[21].replace("undefined","0.00")); //优惠后金额 - $("#ChangeAmount").val(depotHeadInfo[8]).attr("data-changeamount", depotHeadInfo[8]); + $("#Number").val(rowsdata.number).attr("data-defaultNumber",rowsdata.number); + $("#OperTime").val(rowsdata.opertimeStr); + $("#LinkNumber").val(rowsdata.linknumber==undefined?"":rowsdata.linknumber); //关联订单号 + $("#AccountId").val(rowsdata.accountid); //账户Id + $("#DiscountLastMoney").val(rowsdata.discountlastmoney==undefined?"0.00":rowsdata.discountlastmoney); //优惠后金额 + $("#ChangeAmount").val(rowsdata.changeamount).attr("data-changeamount", rowsdata.changeamount); } - $('#OrganId').combobox('setValue', depotHeadInfo[5]=='undefined'?'':depotHeadInfo[5]); - $("#HandsPersonId").val(depotHeadInfo[6]); - $("#Remark").val(depotHeadInfo[9]); - $("#Discount").val(depotHeadInfo[19].replace("undefined","0")); - $("#DiscountMoney").val(depotHeadInfo[20].replace("undefined","0.00")); - $("#Debt").val((depotHeadInfo[21].replace("undefined","0.00")-depotHeadInfo[8]).toFixed(2)); - $("#AccountDay").val(depotHeadInfo[27].replace("undefined","")); //结算天数 - preTotalPrice = depotHeadInfo[14]; //记录前一次合计金额,用于扣预付款 - $("#AllocationProjectId").val(depotHeadInfo[15]); - oldNumber = depotHeadInfo[2]; //记录编辑前的单据编号 - oldId = depotHeadInfo[0]; //记录单据Id + $('#OrganId').combobox('setValue', rowsdata.organid==undefined?'':rowsdata.organid); + $("#HandsPersonId").val(rowsdata.handspersonid); + $("#Remark").val(rowsdata.remark); + $("#Discount").val(rowsdata.discount==undefined?"0":rowsdata.discount); + $("#DiscountMoney").val(rowsdata.discountmoney==undefined?"0.00":rowsdata.discountmoney); + $("#Debt").val(Number((rowsdata.discountlastmoney==undefined?'0.00':rowsdata.discountlastmoney-rowsdata.changeamount)).toFixed(2)); + $("#AccountDay").val(rowsdata.accountday==undefined?"":rowsdata.accountday); //结算天数 + preTotalPrice = rowsdata.totalprice; //记录前一次合计金额,用于扣预付款 + $("#AllocationProjectId").val(rowsdata.allocationprojectid); + oldNumber = rowsdata.number; //记录编辑前的单据编号 + oldId = rowsdata.id; //记录单据Id var editTitle = listTitle.replace("列表","信息"); $('#depotHeadDlg').dialog('open').dialog('setTitle',' 编辑' + editTitle); $(".window-mask").css({ width: webW ,height: webH}); - depotHeadID = depotHeadInfo[0]; + depotHeadID = rowsdata.id; if(listSubType == "零售"){ var option = ""; - if(depotHeadInfo[17] === "预付款"){ + if(rowsdata.paytype == "预付款"){ option = ''; option += ''; } @@ -1701,9 +1710,9 @@ $("#payType").empty().append(option); } - if(listSubType === "销售" || listSubType === "销售退货"){ - if(depotHeadInfo[18]){ - var arr = depotHeadInfo[18].split(","); + if(listSubType == "销售" || listSubType == "销售退货"){ + if(rowsdata.salesman){ + var arr = rowsdata.salesman.split(","); var salesmanArray = []; for(var i=0;i 查看' + showTitle); $(".window-mask").css({ width: webW ,height: webH}); - depotHeadID = depotHeadInfo[0]; + depotHeadID = rowsdata.id; initTableData_material_show(TotalPrice); //商品列表-查看状态 //零售单据展示数据 @@ -1843,8 +1854,8 @@ } } if(listSubType === "销售" || listSubType === "销售退货"){ - if(depotHeadInfo[18]){ - var arr = depotHeadInfo[18].split(","); + if(rowsdata.salesman){ + var arr = rowsdata.salesman.split(","); var salesmanStr = ""; for(var i=0;i Date: Tue, 7 May 2019 17:19:51 +0800 Subject: [PATCH 033/117] =?UTF-8?q?=E6=8B=86=E5=88=86=E8=B4=A2=E5=8A=A1?= =?UTF-8?q?=E7=AE=A1=E7=90=86js=EF=BC=8C=E5=87=8F=E5=B0=91=E8=80=A6?= =?UTF-8?q?=E5=90=88=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- erp_web/js/pages/financial/advance_in.js | 1165 ++++++++++++++++++ erp_web/js/pages/financial/financial_base.js | 1165 ------------------ erp_web/js/pages/financial/giro.js | 1165 ++++++++++++++++++ erp_web/js/pages/financial/item_in.js | 1165 ++++++++++++++++++ erp_web/js/pages/financial/item_out.js | 1165 ++++++++++++++++++ erp_web/js/pages/financial/money_in.js | 1165 ++++++++++++++++++ erp_web/js/pages/financial/money_out.js | 1165 ++++++++++++++++++ erp_web/pages/financial/advance_in.html | 2 +- erp_web/pages/financial/giro.html | 2 +- erp_web/pages/financial/item_in.html | 2 +- erp_web/pages/financial/item_out.html | 2 +- erp_web/pages/financial/money_in.html | 2 +- erp_web/pages/financial/money_out.html | 2 +- 13 files changed, 6996 insertions(+), 1171 deletions(-) create mode 100644 erp_web/js/pages/financial/advance_in.js delete mode 100644 erp_web/js/pages/financial/financial_base.js create mode 100644 erp_web/js/pages/financial/giro.js create mode 100644 erp_web/js/pages/financial/item_in.js create mode 100644 erp_web/js/pages/financial/item_out.js create mode 100644 erp_web/js/pages/financial/money_in.js create mode 100644 erp_web/js/pages/financial/money_out.js diff --git a/erp_web/js/pages/financial/advance_in.js b/erp_web/js/pages/financial/advance_in.js new file mode 100644 index 00000000..42be5859 --- /dev/null +++ b/erp_web/js/pages/financial/advance_in.js @@ -0,0 +1,1165 @@ +//初始化界面 +$(function(){ + var accountList = null; + var accountID = null; + var supplierList = null; + var supplierID = null; + var personList = null; + var personID = null; + var ProjectSearch = null; + var accountHeadMaxId = null; //获取最大的Id + var accepId = null; //保存的主表id + var url; + var accountHeadID = 0; + var preTotalPrice = 0; //前一次加载的金额 + var orgAccountHead = ""; //保存编辑前的名称 + var editIndex = undefined; + var listTitle = ""; //单据标题 + var payTypeTitle = "";//收入 支出 + var organUrl = ""; //组织数据接口地址 + var amountNum = ""; //单据编号开头字符 + var itemType = true; //隐藏当前列 + var moneyType = true; //隐藏当前列 + var inOrOut = ""; //链接类型为收入或者支出 + getType(); + initSystemData_person(); //经手人数据 + initSelectInfo_person(); //经手人信息 + initSystemData_account(); //账户数据 + initSelectInfo_account(); //账户信息 + initSupplier(); //供应商 + initTableData(); + ininPager(); + initForm(); + bindEvent();//绑定操作事件 + $("#searchBtn").click(); +}); +//根据单据名称获取类型 +function getType(){ + listTitle = $("#tablePanel").prev().text(); + var supUrl = "/supplier/findBySelect_sup"; //供应商接口 + var cusUrl = "/supplier/findBySelect_cus"; //客户接口 + var retailUrl = "/supplier/findBySelect_retail"; //散户接口 + if(listTitle === "收入单列表"){ + listType = "收入"; + itemType = false; //显示当前列 + moneyType = true; //隐藏当前列 + payTypeTitle = "收入项目"; + inOrOut = "in"; + organUrl = cusUrl; + amountNum = "SR"; + } + else if(listTitle === "支出单列表"){ + listType = "支出"; + itemType = false; //显示当前列 + moneyType = true; //隐藏当前列 + payTypeTitle = "支出项目"; + inOrOut = "out"; + organUrl = supUrl; + amountNum = "ZC"; + } + else if(listTitle === "收款单列表"){ + listType = "收款"; + itemType = true; //隐藏当前列 + moneyType = false; //显示当前列 + payTypeTitle = "无标题"; + inOrOut = ""; + organUrl = cusUrl; + amountNum = "SK"; + } + else if(listTitle === "付款单列表"){ + listType = "付款"; + itemType = true; //隐藏当前列 + moneyType = false; //显示当前列 + payTypeTitle = "无标题"; + inOrOut = ""; + organUrl = supUrl; + amountNum = "FK"; + } + else if(listTitle === "转账单列表"){ + listType = "转账"; + itemType = true; //隐藏当前列 + moneyType = false; //显示当前列 + payTypeTitle = "无标题"; + inOrOut = ""; + organUrl = supUrl; + amountNum = "ZZ"; + } + else if(listTitle === "收预付款列表"){ + listType = "收预付款"; + itemType = true; //隐藏当前列 + moneyType = false; //显示当前列 + payTypeTitle = "无标题"; + inOrOut = ""; + organUrl = retailUrl; + amountNum = "SYF"; + } +} +//获取账户信息 +function initSystemData_account(){ + $.ajax({ + type:"get", + url: "/account/getAccount", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + accountList = res.data.accountList; + } + } + } + }); +} +//获取账户信息 +function initSelectInfo_account(){ + var options = ""; + if(accountList !=null) + { + options = ""; + for(var i = 0 ;i < accountList.length; i++) + { + var account = accountList[i]; + options += ''; + } + $("#AccountId").empty().append(options); + } +} + +//初始化单位信息 +function initSupplier(){ + $('#OrganId').combobox({ + url: organUrl, + valueField:'id', + textField:'supplier', + formatter: function(row){ + var opts = $(this).combobox('options'); + if(row[opts.textField]!=="非会员") { + return row[opts.textField]; + } + } + }); +} + +//获取财务员 +function initSystemData_person(){ + var type = "财务员"; + $.ajax({ + type:"get", + url: "/person/getPersonByType", + data: { + type: type + }, + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + personList = res.data.personList; + } + } + }); +} +//获取财务员 +function initSelectInfo_person(){ + var options = ""; + + if(personList !=null) + { + for(var i = 0 ;i < personList.length;i++) + { + var person = personList[i]; + if(0 == i) + { + personID = person.id; + } + if(person.type=="财务员") + { + options += ''; + } + } + $("#HandsPersonId").empty().append(options); + } +} + +//防止表单提交重复 +function initForm(){ + $('#accountHeadFM').form({ + onSubmit: function(){ + return false; + } + }); +} + +//初始化表格数据 +function initTableData(){ + var organNameTitle = ""; + var organNameHidden = false; + if(listType === "收入" || listType === "支出") { + organNameTitle = "往来单位"; + } + else if(listType === "收款") { + organNameTitle = "付款单位"; + } + else if(listType === "付款") { + organNameTitle = "收款单位"; + } + else if(listType === "收预付款") { + organNameTitle = "付款会员"; + } + if(listType === "转账") { + organNameHidden = true; + } + $('#tableData').datagrid({ + //width:700, + height:heightInfo, + rownumbers: false, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + //fitColumns:true, + //单击行是否选中 + //checkOnSelect : false, + pagination: true, + //交替出现背景 + striped : true, + //loadFilter: pagerFilter, + pageSize: 5, + pageList: initPageNum, + columns:[[ + { field: 'id',width:35,align:"center",checkbox:true}, + { title: '操作',field: 'op',align:"center",width:90,formatter:function(value, rec,index) { + /** + * create by: qiankunpingtai + * create time: 2019/5/7 10:48 + * website:https://qiankunpingtai.cn + * description: + * 修改效率低下的js + */ + var str = ''; + // var rowInfo = rec.id + 'AaBb' + rec.billno+ 'AaBb' + rec.billtime+ 'AaBb' + rec.remark + // + 'AaBb' + rec.accountid+ 'AaBb' + rec.accountname + 'AaBb' + rec.organid + 'AaBb' + rec.organname + // + 'AaBb' + rec.handspersonid + 'AaBb' + rec.handspersonname + 'AaBb' + rec.changeamount + 'AaBb' + rec.totalprice; + var orgId = rec.organid ? rec.organid : 0; + str += '   '; + str += '   '; + str += ''; + return str; + } + }, + { field: 'organid',width:5, hidden:true}, + { title: organNameTitle,field: 'organname',width:140,hidden:organNameHidden}, + { title: '单据编号',field: 'billno',width:140}, + { title: '经手人',field: 'handspersonname',width:80}, + { title: '单据时间 ',field: 'billtime',width:140}, + { title: '合计',field: 'totalprice',width:80}, + { title: '备注',field: 'remark',width:100} + ]], + toolbar:[ + { + id:'addAccountHead', + text:'增加', + iconCls:'icon-add', + handler:function() + { + addAccountHead(); + } + }, + { + id:'deleteAccountHead', + text:'删除', + iconCls:'icon-remove', + handler:function() + { + batDeleteAccountHead(); + } + } + ], + onLoadError:function() + { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); +} + +//初始化表格数据-明细列表-编辑状态 +function initTableData_account(type,TotalPrice){ + $('#accountData').datagrid({ + height:280, + rownumbers: false, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + //单击行是否选中 + checkOnSelect : false, + pagination: false, + //交替出现背景 + striped : true, + showFooter: true, + //loadFilter: pagerFilter, + onClickRow: onClickRow, + columns:[[ + { field: 'Id',width:35,align:"center",checkbox:true}, + { title: payTypeTitle,field: 'InOutItemId',width:230,hidden:itemType, + formatter:function(value,row,index){ + return row.InOutItemName; + }, + editor:{ + type:'combobox', + options:{ + valueField:'Id', + textField:'InOutItemName', + method:'get', + url: "/inOutItem/findBySelect?type=" + inOrOut + } + } + }, + { title: '账户名称',field: 'AccountId',width:230,hidden:moneyType, + formatter:function(value,row,index){ + return row.AccountName; + }, + editor:{ + type:'combobox', + options:{ + valueField:'Id', + textField:'AccountName', + method:'get', + url: "/account/findBySelect" + } + } + }, + { title: '金额',field: 'EachAmount',editor:'validatebox',width:70}, + { title: '备注',field: 'Remark',editor:'validatebox',width:150} + ]], + toolbar:[ + { + id:'append', + text:'新增', + iconCls:'icon-add', + handler:function() + { + append(); //新增 + } + }, + { + id:'delete', + text:'删除', + iconCls:'icon-remove', + handler:function() + { + removeit(); //删除 + } + }, + { + id:'reject', + text:'撤销', + iconCls:'icon-undo', + handler:function() + { + reject(); //撤销 + } + } + ], + onLoadError:function() + { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); + $.ajax({ + type:"get", + url: '/accountItem/getDetailList', + data: { + headerId: accountHeadID + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + var data = res.data; + var EachAmount = 0; + if(type === "edit") { + EachAmount = TotalPrice; + } + var array = []; + array.push({ + "EachAmount": EachAmount + }); + data.footer = array; + $("#accountData").datagrid('loadData',data); + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); +} + + +//初始化表格数据-明细列表-查看状态 +function initTableData_account_show(TotalPrice){ + $('#accountDataShow').datagrid({ + height:280, + rownumbers: true, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + //单击行是否选中 + checkOnSelect : false, + pagination: false, + //交替出现背景 + striped : true, + showFooter: true, + //loadFilter: pagerFilter, + onClickRow: onClickRow, + columns:[[ + { title: payTypeTitle, field: 'InOutItemName', width:230, hidden:itemType}, + { title: '账户名称', field: 'AccountName', width:230, hidden:moneyType}, + { title: '金额',field: 'EachAmount',width:70}, + { title: '备注',field: 'Remark',width:150} + ]], + onLoadError:function() + { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); + $.ajax({ + type:"get", + url: '/accountItem/getDetailList', + data: { + headerId: accountHeadID + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + var data = res.data; + var EachAmount = TotalPrice; + var array = []; + array.push({ + "EachAmount": EachAmount + }); + data.footer = array; + $("#accountDataShow").datagrid('loadData', data); + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); +} + + +//分页信息处理 +function ininPager(){ + try + { + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + pager.pagination({ + onSelectPage:function(pageNum, pageSize) + { + opts.pageNumber = pageNum; + opts.pageSize = pageSize; + pager.pagination('refresh', + { + pageNumber:pageNum, + pageSize:pageSize + }); + showAccountHeadDetails(pageNum,pageSize); + } + }); + } + catch (e) + { + $.messager.alert('异常处理提示',"分页信息异常 : " + e.name + ": " + e.message,'error'); + } +} + +//删除财务信息 +function deleteAccountHead(accountHeadID, thisOrganId, totalPrice){ + $.messager.confirm('删除确认','确定要删除此财务信息吗?',function(r) + { + if (r) + { + $.ajax({ + type:"post", + url: "/accountHead/batchDeleteAccountHeadByIds", + dataType: "json", + data:{ + ids: accountHeadID + }, + success: function (res) { + if(res && res.code == 200) { + $("#searchBtn").click(); + } else { + if(res && res.code == 601){ + var jsondata={}; + jsondata.ids=accountHeadID; + jsondata.deleteType='2'; + var type='single'; + batDeleteAccountHeadForceConfirm(res,"/accountHead/batchDeleteAccountHeadByIds",jsondata,type); + }else if(res && res.code == 600){ + $.messager.alert('删除提示', res.msg, 'error'); + return; + }else{ + $.messager.alert('删除提示', '删除信息失败,请稍后再试!', 'error'); + return; + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('删除提示','删除财务信息异常,请稍后再试!','error'); + return; + } + }); + + //更新会员的预收款信息 + if(listType === "收预付款"){ + $.ajax({ + type:"post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data:{ + supplierId: thisOrganId, //会员id + advanceIn: 0-totalPrice //删除时同时删除用户的预付款信息 + }, + success: function(res){ + if(res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function(){ + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + } + }); +} + +//批量删除财务信息 +function batDeleteAccountHead(){ + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) + { + $.messager.alert('删除提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) + { + $.messager.confirm('删除确认','确定要删除选中的' + row.length + '条财务信息吗?',function(r) + { + if (r) + { + var ids = ""; + for(var i = 0;i < row.length; i ++) { + if(i == row.length-1) + { + ids += row[i].id; + break; + } + ids += row[i].id + ","; + } + + //批量删除 + $.ajax({ + type:"post", + url: "/accountHead/batchDeleteAccountHeadByIds", + dataType: "json", + async : false, + data: ({ + ids : ids + }), + success: function (res) { + if(res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + if(res && res.code == 601){ + var jsondata={}; + jsondata.ids=ids; + jsondata.deleteType='2'; + var type='batch'; + batDeleteAccountHeadForceConfirm(res,"/accountHead/batchDeleteAccountHeadByIds",jsondata,type); + }else if(res && res.code == 600){ + $.messager.alert('删除提示', res.msg, 'error'); + return; + }else{ + $.messager.alert('删除提示', '删除信息失败,请稍后再试!', 'error'); + return; + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('删除提示','删除财务信息异常,请稍后再试!','error'); + return; + } + }); + //批量更新会员的预收款信息 + for(var i = 0;i < row.length; i ++) { + if(listType === "收预付款"){ + $.ajax({ + type:"post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data:{ + supplierId: row[i].organid, //会员id + advanceIn: 0 - row[i].totalprice //删除时同时删除用户的预付款信息 + }, + success: function(res){ + if(res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function(){ + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + } + } + }); + } +} +/** + * 确认强制删除 + * */ +function batDeleteAccountHeadForceConfirm(res,url,jsondata) { + $.messager.confirm('删除确认', res.msg, function (r) { + if (r) { + $.ajax({ + type: "post", + url: url, + dataType: "json", + data: (jsondata), + success: function (res) { + if(res && res.code == 200) { + $("#searchBtn").click(); + if(type=='batch'){ + $(":checkbox").attr("checked", false); + } + }else if(res && res.code == 600){ + $.messager.alert('删除提示', res.msg, 'error'); + return; + }else { + $.messager.alert('删除提示','删除财务信息异常,请稍后再试!','error'); + return; + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('删除提示','删除财务信息异常,请稍后再试!','error'); + return; + } + }); + } + }); +} + + +//增加 +function addAccountHead(){ + $('#accountHeadFM').form('clear'); + var thisDateTime = getNowFormatDateTime(); //当前时间 + $("#BillTime").val(thisDateTime); + var thisNumber = getNowFormatDateNum(); //根据时间生成编号 + $("#BillNo").val(amountNum + thisNumber).focus(); + var addTitle = listTitle.replace("列表","信息"); + $('#accountHeadDlg').dialog('open').dialog('setTitle',' 增加' + addTitle); + $(".window-mask").css({ width: webW ,height: webH}); + + orgAccountHead = ""; + accountHeadID = 0; + initTableData_account("add"); //明细列表 + reject(); //撤销下、刷新材料列表 + url = '/accountHead/add'; + + //收预付款单据支持刷卡功能 + if(listType == "收预付款") { + //当会员卡号长度超过10位后,自动点击下拉框,用于兼容刷卡器 + $("#OrganId").next().find("input").off("keyup").on("keyup",function(){ + if($(this).val().length === 10){ + setTimeout(function(){ + $(".combo-panel .combobox-item-selected").click(); + },500); + } + }); + } +} + +//编辑信息 +function editAccountHead(index){ + // var accountHeadInfo = accountHeadTotalInfo.split("AaBb"); + //获取当前行 + var rowsdata = $("#tableData").datagrid("getRows")[index]; + $("#BillNo").val(rowsdata.billno); + $("#BillTime").val(rowsdata.billtime); + $("#Remark").val(rowsdata.remark); + $("#AccountId").val(rowsdata.accountid); + $('#OrganId').combobox('setValue', rowsdata.organid); + $("#HandsPersonId").val(rowsdata.handspersonid); + $("#ChangeAmount").val(rowsdata.changeamount); + var TotalPrice = rowsdata.totalprice; + preTotalPrice = rowsdata.totalprice; //记录前一次合计金额,用于收预付款 + var editTitle = listTitle.replace("列表","信息"); + $('#accountHeadDlg').dialog('open').dialog('setTitle',' 编辑' + editTitle); + $(".window-mask").css({ width: webW ,height: webH}); + accountHeadID = rowsdata.id; + + initTableData_account("edit",TotalPrice); //明细列表 + reject(); //撤销下、刷新列表 + url = '/accountHead/update?id=' + rowsdata.id; +} + +//查看信息 +function showAccountHead(index){ + // var accountHeadInfo = accountHeadTotalInfo.split("AaBb"); + //获取当前行 + var rowsdata = $("#tableData").datagrid("getRows")[index]; + $("#BillNoShow").text(rowsdata.billno); + $("#BillTimeShow").text(rowsdata.billtime); + $("#RemarkShow").text(rowsdata.remark); + $("#AccountIdShow").text(rowsdata.accountname); + $('#OrganIdShow').text(rowsdata.organname); + $("#HandsPersonIdShow").text(rowsdata.handspersonname); + $("#ChangeAmountShow").text(rowsdata.rowsdata==undefined?'0':rowsdata.rowsdata); + var TotalPrice = rowsdata.totalprice; + var showTitle = listTitle.replace("列表","信息"); + $('#accountHeadDlgShow').dialog('open').dialog('setTitle',' 查看' + showTitle); + $(".window-mask").css({ width: webW ,height: webH}); + + accountHeadID = rowsdata.id; + initTableData_account_show(TotalPrice); //明细列表-查看状态 +} + +//绑定操作事件 +function bindEvent(){ + //搜索处理 + $("#searchBtn").unbind().bind({ + click:function() + { + showAccountHeadDetails(1,initPageSize); + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + opts.pageNumber = 1; + opts.pageSize = initPageSize; + pager.pagination('refresh', { + pageNumber:1, + pageSize:initPageSize + }); + } + }); + + //重置按钮 + $("#searchResetBtn").unbind().bind({ + click:function(){ + $("#searchBillNo").val(""); + $("#searchBeginTime").val(""); + $("#searchEndTime").val(""); + //加载完以后重新初始化 + $("#searchBtn").click(); + } + }); + + //保存信息 + $("#saveAccountHead").off("click").on("click", function () { + if(!$('#accountHeadFM').form('validate')){ + return; + } else { + if (listTitle === "收入单列表") { + if (!$('#AccountId').val()) { + $.messager.alert('提示', '请选择收款账户!', 'warning'); + return; + } + if (!$('#OrganId').combobox('getValue')) { + $.messager.alert('提示', '请选择往来单位!', 'warning'); + return; + } + if (!$('#HandsPersonId').val()) { + $.messager.alert('提示', '请选择经手人!', 'warning'); + return; + } + } + else if (listTitle === "支出单列表") { + if (!$('#AccountId').val()) { + $.messager.alert('提示', '请选择付款账户!', 'warning'); + return; + } + if (!$('#OrganId').combobox('getValue')) { + $.messager.alert('提示', '请选择往来单位!', 'warning'); + return; + } + if (!$('#HandsPersonId').val()) { + $.messager.alert('提示', '请选择经手人!', 'warning'); + return; + } + } + else if (listTitle === "收款单列表") { + if (!$('#OrganId').combobox('getValue')) { + $.messager.alert('提示', '请选择付款单位!', 'warning'); + return; + } + if (!$('#HandsPersonId').val()) { + $.messager.alert('提示', '请选择经手人!', 'warning'); + return; + } + } + else if (listTitle === "付款单列表") { + if (!$('#OrganId').combobox('getValue')) { + $.messager.alert('提示', '请选择收款单位!', 'warning'); + return; + } + if (!$('#HandsPersonId').val()) { + $.messager.alert('提示', '请选择经手人!', 'warning'); + return; + } + } + else if (listTitle === "转账单列表") { + if (!$('#HandsPersonId').val()) { + $.messager.alert('提示', '请选择经手人!', 'warning'); + return; + } + if (!$('#AccountId').val()) { + $.messager.alert('提示', '请选择付款账户!', 'warning'); + return; + } + } + else if (listTitle === "收预付款列表") { + if (!$('#HandsPersonId').val()) { + $.messager.alert('提示', '请选择经手人!', 'warning'); + return; + } + if (!$('#OrganId').combobox('getValue')) { + $.messager.alert('提示', '请选择付款会员!', 'warning'); + return; + } + } + var OrganId = null; + var ChangeAmount = $.trim($("#ChangeAmount").val()); + var TotalPrice = $("#accountHeadFM .datagrid-footer [field='EachAmount'] div").text(); + if (listType !== "转账") { + OrganId = $('#OrganId').combobox('getValue'); + } + if (listType === "支出" || listType === "转账") { + //支出为负数 + ChangeAmount = 0 - ChangeAmount; + } + if (listType === "支出" || listType === "付款" || listType === "转账") { + //支出和付款为负数 + TotalPrice = 0 - TotalPrice; + } + //更新会员的预收款信息 + if (listType === "收预付款") { + var advanceIn = 0; //预付款金额 + if (accountHeadID) { + advanceIn = TotalPrice - preTotalPrice; //修改时,预付款=合计金额-加载金额 + } + else { + advanceIn = TotalPrice; //新增时,预付款=合计金额 + } + $.ajax({ + type: "post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data: { + supplierId: OrganId, + advanceIn: advanceIn + }, + success: function (res) { + if (res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function () { + $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); + return; + } + }); + } + + //保存单位信息 + $.ajax({ + type: "post", + url: url, + dataType: "json", + async: false, + data: ({ + info : JSON.stringify({ + Type: listType, + BillNo: $.trim($("#BillNo").val()), + BillTime: $.trim($("#BillTime").val()), + AccountId: $.trim($("#AccountId").val()), + ChangeAmount: ChangeAmount, //付款/收款/优惠/实付 + TotalPrice: TotalPrice, //合计 + OrganId: OrganId, + HandsPersonId: $.trim($("#HandsPersonId").val()), + Remark: $.trim($("#Remark").val()) + }) + }), + success: function (tipInfo) { + if (tipInfo) { + //保存明细记录 + if (accountHeadID == 0) { + getMaxId(); //查找最大的Id + accept(accountHeadMaxId, listType); //新增 + } + else { + accept(accountHeadID, listType); //修改 + } + + $('#accountHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showAccountHeadDetails(opts.pageNumber, opts.pageSize); + } + else { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); + return; + } + }); + } + }); + + //打印单据 + $("#printAccountHeadShow").off("click").on("click",function(){ + var tableString = $("#accountHeadDlgShow").html(); + localStorage.setItem("tableString",tableString); + window.open("../../js/print/print_form.html","location:No;status:No;help:No;dialogWidth:800px;dialogHeight:600px;scroll:auto;"); + }); + + //初始化键盘enter事件 + $(document).keydown(function(event) + { + //兼容 IE和firefox 事件 + var e = window.event || event; + var k = e.keyCode||e.which||e.charCode; + //兼容 IE,firefox 兼容 + var obj = e.srcElement ? e.srcElement : e.target; + //绑定键盘事件为 id是指定的输入框才可以触发键盘事件 13键盘事件 ---遗留问题 enter键效验 对话框会关闭问题 + if(k == "13"&&(obj.id=="BillNo"||obj.id=="BillTime")) + { + $("#saveAccountHead").click(); + } + //搜索按钮添加快捷键 + if(k == "13"&&(obj.id=="searchBillNo")) + { + $("#searchBtn").click(); + } + }); +} + +function showAccountHeadDetails(pageNo,pageSize){ + $.ajax({ + type:"get", + url: "/accountHead/list", + dataType: "json", + data: ({ + search: JSON.stringify({ + type: listType, + billNo: $.trim($("#searchBillNo").val()), + beginTime: $("#searchBeginTime").val(), + endTime: $("#searchEndTime").val() + }), + currentPage: pageNo, + pageSize: pageSize + }), + success: function (res) { + if(res && res.code === 200){ + if(res.data && res.data.page) { + $("#tableData").datagrid('loadData', res.data.page); + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + return; + } + }); +} + +//自动计算事件 +function autoReckon() { + //延时绑定事件 + setTimeout(function(){ + var body =$("#accountHeadFM .datagrid-body"); + var footer =$("#accountHeadFM .datagrid-footer"); + var input = ".datagrid-editable-input"; + + //修改金额,自动计算单价和合计 + body.find("[field='EachAmount']").find(input).off("keyup").on("keyup",function(){ + var TotalPrice = 0; + var EachAmount =$(this).val()-0; //金额 + body.find("[field='EachAmount']").each(function(){ + if($(this).find("div").text()!==""){ + TotalPrice = TotalPrice + parseFloat($(this).find("div").text().toString()); + } + }); + TotalPrice = TotalPrice + EachAmount; + footer.find("[field='EachAmount']").find("div").text((TotalPrice).toFixed(2)); + }); + },500); +} + +//结束编辑 +function endEditing() { + var edField = ""; + if(!itemType){ + edField = "InOutItemId"; + edName = "InOutItemName"; + } + else { + edField = "AccountId"; + edName = "AccountName"; + } + if (editIndex == undefined) { return true } + if ($('#accountData').datagrid('validateRow', editIndex)) { + var ed = $('#accountData').datagrid('getEditor', {index: editIndex, field: edField}); + var textName = $(ed.target).combobox('getText'); + $('#accountData').datagrid('getRows')[editIndex][edName] = textName; + $('#accountData').datagrid('endEdit', editIndex); + editIndex = undefined; + return true; + } else { + return false; + } +} +//单击 +function onClickRow(index) { + if (editIndex != index) { + if (endEditing()) { + $('#accountData').datagrid('selectRow', index) + .datagrid('beginEdit', index); + editIndex = index; + autoReckon(); + } else { + $('#accountData').datagrid('selectRow', editIndex); + } + } +} +//新增 +function append() { + if (endEditing()) { + $('#accountData').datagrid('appendRow', {}); + editIndex = $('#accountData').datagrid('getRows').length - 1; + $('#accountData').datagrid('selectRow', editIndex).datagrid('beginEdit', editIndex); + autoReckon(); + } +} +//删除 +function removeit() { + if (editIndex == undefined) { return } + $('#accountData').datagrid('cancelEdit', editIndex) + .datagrid('deleteRow', editIndex); + editIndex = undefined; +} +//撤销 +function reject() { + $('#accountData').datagrid('rejectChanges'); + editIndex = undefined; +} +//判断 +function CheckData() { + var row = $('#accountData').datagrid('getRows'); + var totalRowNum = ""; + for (var i = 0; i < row.length; i++) { + if(!itemType){ + if (row[i].InOutItemId == "") { + totalRowNum += (i + 1) + "、"; + } + } + else{ + if (row[i].AccountId == "") { + totalRowNum += (i + 1) + "、"; + } + } + } + if (totalRowNum != "") { + var totalRowNum = totalRowNum.substring(0, totalRowNum.length - 1); + $.messager.alert('提示',"第" + totalRowNum + "行数据填写不完整!",'info'); + return false; + } + return true; +} +//保存 +function accept(accepId,listType) { + append(); + removeit(); + if ($("#accountData").datagrid('getChanges').length) { + if (!CheckData()) + return false; + var inserted = $("#accountData").datagrid('getChanges', "inserted"); + var deleted = $("#accountData").datagrid('getChanges', "deleted"); + var updated = $("#accountData").datagrid('getChanges', "updated"); + $.ajax({ + type: "post", + url: "/accountItem/saveDetials", + data: { + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated), + headerId: accepId, + listType: listType + }, + success: function (tipInfo) + { + if (tipInfo) { + $.messager.alert('提示','保存成功!','info'); + } + else + $.messager.alert('提示','保存失败!','error'); + + }, + error: function (XmlHttpRequest, textStatus, errorThrown) + { + $.messager.alert('提示',XmlHttpRequest.responseText,'error'); + } + }); + } + if (endEditing()) { + $('#accountData').datagrid('acceptChanges'); + } +} +//获取MaxId +function getMaxId(){ + var accountHeadMax=null; + $.ajax({ + type:"get", + url: "/accountHead/getMaxId", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + accountHeadMax = res.data.maxId; + } + } + } + }); + + if(accountHeadMax !=null) { + accountHeadMaxId=accountHeadMax; + } +} \ No newline at end of file diff --git a/erp_web/js/pages/financial/financial_base.js b/erp_web/js/pages/financial/financial_base.js deleted file mode 100644 index 0e0216eb..00000000 --- a/erp_web/js/pages/financial/financial_base.js +++ /dev/null @@ -1,1165 +0,0 @@ - //初始化界面 - $(function(){ - var accountList = null; - var accountID = null; - var supplierList = null; - var supplierID = null; - var personList = null; - var personID = null; - var ProjectSearch = null; - var accountHeadMaxId = null; //获取最大的Id - var accepId = null; //保存的主表id - var url; - var accountHeadID = 0; - var preTotalPrice = 0; //前一次加载的金额 - var orgAccountHead = ""; //保存编辑前的名称 - var editIndex = undefined; - var listTitle = ""; //单据标题 - var payTypeTitle = "";//收入 支出 - var organUrl = ""; //组织数据接口地址 - var amountNum = ""; //单据编号开头字符 - var itemType = true; //隐藏当前列 - var moneyType = true; //隐藏当前列 - var inOrOut = ""; //链接类型为收入或者支出 - getType(); - initSystemData_person(); //经手人数据 - initSelectInfo_person(); //经手人信息 - initSystemData_account(); //账户数据 - initSelectInfo_account(); //账户信息 - initSupplier(); //供应商 - initTableData(); - ininPager(); - initForm(); - bindEvent();//绑定操作事件 - $("#searchBtn").click(); - }); - //根据单据名称获取类型 - function getType(){ - listTitle = $("#tablePanel").prev().text(); - var supUrl = "/supplier/findBySelect_sup"; //供应商接口 - var cusUrl = "/supplier/findBySelect_cus"; //客户接口 - var retailUrl = "/supplier/findBySelect_retail"; //散户接口 - if(listTitle === "收入单列表"){ - listType = "收入"; - itemType = false; //显示当前列 - moneyType = true; //隐藏当前列 - payTypeTitle = "收入项目"; - inOrOut = "in"; - organUrl = cusUrl; - amountNum = "SR"; - } - else if(listTitle === "支出单列表"){ - listType = "支出"; - itemType = false; //显示当前列 - moneyType = true; //隐藏当前列 - payTypeTitle = "支出项目"; - inOrOut = "out"; - organUrl = supUrl; - amountNum = "ZC"; - } - else if(listTitle === "收款单列表"){ - listType = "收款"; - itemType = true; //隐藏当前列 - moneyType = false; //显示当前列 - payTypeTitle = "无标题"; - inOrOut = ""; - organUrl = cusUrl; - amountNum = "SK"; - } - else if(listTitle === "付款单列表"){ - listType = "付款"; - itemType = true; //隐藏当前列 - moneyType = false; //显示当前列 - payTypeTitle = "无标题"; - inOrOut = ""; - organUrl = supUrl; - amountNum = "FK"; - } - else if(listTitle === "转账单列表"){ - listType = "转账"; - itemType = true; //隐藏当前列 - moneyType = false; //显示当前列 - payTypeTitle = "无标题"; - inOrOut = ""; - organUrl = supUrl; - amountNum = "ZZ"; - } - else if(listTitle === "收预付款列表"){ - listType = "收预付款"; - itemType = true; //隐藏当前列 - moneyType = false; //显示当前列 - payTypeTitle = "无标题"; - inOrOut = ""; - organUrl = retailUrl; - amountNum = "SYF"; - } - } - //获取账户信息 - function initSystemData_account(){ - $.ajax({ - type:"get", - url: "/account/getAccount", - //设置为同步 - async:false, - dataType: "json", - success: function (res) { - if(res && res.code === 200) { - if(res.data) { - accountList = res.data.accountList; - } - } - } - }); - } - //获取账户信息 - function initSelectInfo_account(){ - var options = ""; - if(accountList !=null) - { - options = ""; - for(var i = 0 ;i < accountList.length; i++) - { - var account = accountList[i]; - options += ''; - } - $("#AccountId").empty().append(options); - } - } - - //初始化单位信息 - function initSupplier(){ - $('#OrganId').combobox({ - url: organUrl, - valueField:'id', - textField:'supplier', - formatter: function(row){ - var opts = $(this).combobox('options'); - if(row[opts.textField]!=="非会员") { - return row[opts.textField]; - } - } - }); - } - - //获取财务员 - function initSystemData_person(){ - var type = "财务员"; - $.ajax({ - type:"get", - url: "/person/getPersonByType", - data: { - type: type - }, - //设置为同步 - async:false, - dataType: "json", - success: function (res) { - if(res && res.code === 200) { - personList = res.data.personList; - } - } - }); - } - //获取财务员 - function initSelectInfo_person(){ - var options = ""; - - if(personList !=null) - { - for(var i = 0 ;i < personList.length;i++) - { - var person = personList[i]; - if(0 == i) - { - personID = person.id; - } - if(person.type=="财务员") - { - options += ''; - } - } - $("#HandsPersonId").empty().append(options); - } - } - - //防止表单提交重复 - function initForm(){ - $('#accountHeadFM').form({ - onSubmit: function(){ - return false; - } - }); - } - - //初始化表格数据 - function initTableData(){ - var organNameTitle = ""; - var organNameHidden = false; - if(listType === "收入" || listType === "支出") { - organNameTitle = "往来单位"; - } - else if(listType === "收款") { - organNameTitle = "付款单位"; - } - else if(listType === "付款") { - organNameTitle = "收款单位"; - } - else if(listType === "收预付款") { - organNameTitle = "付款会员"; - } - if(listType === "转账") { - organNameHidden = true; - } - $('#tableData').datagrid({ - //width:700, - height:heightInfo, - rownumbers: false, - //动画效果 - animate:false, - //选中单行 - singleSelect : true, - collapsible:false, - selectOnCheck:false, - //fitColumns:true, - //单击行是否选中 - //checkOnSelect : false, - pagination: true, - //交替出现背景 - striped : true, - //loadFilter: pagerFilter, - pageSize: 5, - pageList: initPageNum, - columns:[[ - { field: 'id',width:35,align:"center",checkbox:true}, - { title: '操作',field: 'op',align:"center",width:90,formatter:function(value, rec,index) { - /** - * create by: qiankunpingtai - * create time: 2019/5/7 10:48 - * website:https://qiankunpingtai.cn - * description: - * 修改效率低下的js - */ - var str = ''; - // var rowInfo = rec.id + 'AaBb' + rec.billno+ 'AaBb' + rec.billtime+ 'AaBb' + rec.remark - // + 'AaBb' + rec.accountid+ 'AaBb' + rec.accountname + 'AaBb' + rec.organid + 'AaBb' + rec.organname - // + 'AaBb' + rec.handspersonid + 'AaBb' + rec.handspersonname + 'AaBb' + rec.changeamount + 'AaBb' + rec.totalprice; - var orgId = rec.organid ? rec.organid : 0; - str += '   '; - str += '   '; - str += ''; - return str; - } - }, - { field: 'organid',width:5, hidden:true}, - { title: organNameTitle,field: 'organname',width:140,hidden:organNameHidden}, - { title: '单据编号',field: 'billno',width:140}, - { title: '经手人',field: 'handspersonname',width:80}, - { title: '单据时间 ',field: 'billtime',width:140}, - { title: '合计',field: 'totalprice',width:80}, - { title: '备注',field: 'remark',width:100} - ]], - toolbar:[ - { - id:'addAccountHead', - text:'增加', - iconCls:'icon-add', - handler:function() - { - addAccountHead(); - } - }, - { - id:'deleteAccountHead', - text:'删除', - iconCls:'icon-remove', - handler:function() - { - batDeleteAccountHead(); - } - } - ], - onLoadError:function() - { - $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); - return; - } - }); - } - - //初始化表格数据-明细列表-编辑状态 - function initTableData_account(type,TotalPrice){ - $('#accountData').datagrid({ - height:280, - rownumbers: false, - //动画效果 - animate:false, - //选中单行 - singleSelect : true, - collapsible:false, - selectOnCheck:false, - //单击行是否选中 - checkOnSelect : false, - pagination: false, - //交替出现背景 - striped : true, - showFooter: true, - //loadFilter: pagerFilter, - onClickRow: onClickRow, - columns:[[ - { field: 'Id',width:35,align:"center",checkbox:true}, - { title: payTypeTitle,field: 'InOutItemId',width:230,hidden:itemType, - formatter:function(value,row,index){ - return row.InOutItemName; - }, - editor:{ - type:'combobox', - options:{ - valueField:'Id', - textField:'InOutItemName', - method:'get', - url: "/inOutItem/findBySelect?type=" + inOrOut - } - } - }, - { title: '账户名称',field: 'AccountId',width:230,hidden:moneyType, - formatter:function(value,row,index){ - return row.AccountName; - }, - editor:{ - type:'combobox', - options:{ - valueField:'Id', - textField:'AccountName', - method:'get', - url: "/account/findBySelect" - } - } - }, - { title: '金额',field: 'EachAmount',editor:'validatebox',width:70}, - { title: '备注',field: 'Remark',editor:'validatebox',width:150} - ]], - toolbar:[ - { - id:'append', - text:'新增', - iconCls:'icon-add', - handler:function() - { - append(); //新增 - } - }, - { - id:'delete', - text:'删除', - iconCls:'icon-remove', - handler:function() - { - removeit(); //删除 - } - }, - { - id:'reject', - text:'撤销', - iconCls:'icon-undo', - handler:function() - { - reject(); //撤销 - } - } - ], - onLoadError:function() - { - $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); - return; - } - }); - $.ajax({ - type:"get", - url: '/accountItem/getDetailList', - data: { - headerId: accountHeadID - }, - dataType: "json", - success: function (res) { - if(res && res.code === 200) { - var data = res.data; - var EachAmount = 0; - if(type === "edit") { - EachAmount = TotalPrice; - } - var array = []; - array.push({ - "EachAmount": EachAmount - }); - data.footer = array; - $("#accountData").datagrid('loadData',data); - } - }, - error:function() { - $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); - } - }); - } - - - //初始化表格数据-明细列表-查看状态 - function initTableData_account_show(TotalPrice){ - $('#accountDataShow').datagrid({ - height:280, - rownumbers: true, - //动画效果 - animate:false, - //选中单行 - singleSelect : true, - collapsible:false, - selectOnCheck:false, - //单击行是否选中 - checkOnSelect : false, - pagination: false, - //交替出现背景 - striped : true, - showFooter: true, - //loadFilter: pagerFilter, - onClickRow: onClickRow, - columns:[[ - { title: payTypeTitle, field: 'InOutItemName', width:230, hidden:itemType}, - { title: '账户名称', field: 'AccountName', width:230, hidden:moneyType}, - { title: '金额',field: 'EachAmount',width:70}, - { title: '备注',field: 'Remark',width:150} - ]], - onLoadError:function() - { - $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); - return; - } - }); - $.ajax({ - type:"get", - url: '/accountItem/getDetailList', - data: { - headerId: accountHeadID - }, - dataType: "json", - success: function (res) { - if(res && res.code === 200) { - var data = res.data; - var EachAmount = TotalPrice; - var array = []; - array.push({ - "EachAmount": EachAmount - }); - data.footer = array; - $("#accountDataShow").datagrid('loadData', data); - } - }, - error:function() { - $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); - } - }); - } - - - //分页信息处理 - function ininPager(){ - try - { - var opts = $("#tableData").datagrid('options'); - var pager = $("#tableData").datagrid('getPager'); - pager.pagination({ - onSelectPage:function(pageNum, pageSize) - { - opts.pageNumber = pageNum; - opts.pageSize = pageSize; - pager.pagination('refresh', - { - pageNumber:pageNum, - pageSize:pageSize - }); - showAccountHeadDetails(pageNum,pageSize); - } - }); - } - catch (e) - { - $.messager.alert('异常处理提示',"分页信息异常 : " + e.name + ": " + e.message,'error'); - } - } - - //删除财务信息 - function deleteAccountHead(accountHeadID, thisOrganId, totalPrice){ - $.messager.confirm('删除确认','确定要删除此财务信息吗?',function(r) - { - if (r) - { - $.ajax({ - type:"post", - url: "/accountHead/batchDeleteAccountHeadByIds", - dataType: "json", - data:{ - ids: accountHeadID - }, - success: function (res) { - if(res && res.code == 200) { - $("#searchBtn").click(); - } else { - if(res && res.code == 601){ - var jsondata={}; - jsondata.ids=accountHeadID; - jsondata.deleteType='2'; - var type='single'; - batDeleteAccountHeadForceConfirm(res,"/accountHead/batchDeleteAccountHeadByIds",jsondata,type); - }else if(res && res.code == 600){ - $.messager.alert('删除提示', res.msg, 'error'); - return; - }else{ - $.messager.alert('删除提示', '删除信息失败,请稍后再试!', 'error'); - return; - } - } - }, - //此处添加错误处理 - error:function() { - $.messager.alert('删除提示','删除财务信息异常,请稍后再试!','error'); - return; - } - }); - - //更新会员的预收款信息 - if(listType === "收预付款"){ - $.ajax({ - type:"post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data:{ - supplierId: thisOrganId, //会员id - advanceIn: 0-totalPrice //删除时同时删除用户的预付款信息 - }, - success: function(res){ - if(res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function(){ - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); - } - } - }); - } - - //批量删除财务信息 - function batDeleteAccountHead(){ - var row = $('#tableData').datagrid('getChecked'); - if(row.length == 0) - { - $.messager.alert('删除提示','没有记录被选中!','info'); - return; - } - if(row.length > 0) - { - $.messager.confirm('删除确认','确定要删除选中的' + row.length + '条财务信息吗?',function(r) - { - if (r) - { - var ids = ""; - for(var i = 0;i < row.length; i ++) { - if(i == row.length-1) - { - ids += row[i].id; - break; - } - ids += row[i].id + ","; - } - - //批量删除 - $.ajax({ - type:"post", - url: "/accountHead/batchDeleteAccountHeadByIds", - dataType: "json", - async : false, - data: ({ - ids : ids - }), - success: function (res) { - if(res && res.code === 200) { - $("#searchBtn").click(); - $(":checkbox").attr("checked", false); - } else { - if(res && res.code == 601){ - var jsondata={}; - jsondata.ids=ids; - jsondata.deleteType='2'; - var type='batch'; - batDeleteAccountHeadForceConfirm(res,"/accountHead/batchDeleteAccountHeadByIds",jsondata,type); - }else if(res && res.code == 600){ - $.messager.alert('删除提示', res.msg, 'error'); - return; - }else{ - $.messager.alert('删除提示', '删除信息失败,请稍后再试!', 'error'); - return; - } - } - }, - //此处添加错误处理 - error:function() { - $.messager.alert('删除提示','删除财务信息异常,请稍后再试!','error'); - return; - } - }); - //批量更新会员的预收款信息 - for(var i = 0;i < row.length; i ++) { - if(listType === "收预付款"){ - $.ajax({ - type:"post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data:{ - supplierId: row[i].organid, //会员id - advanceIn: 0 - row[i].totalprice //删除时同时删除用户的预付款信息 - }, - success: function(res){ - if(res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function(){ - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); - } - } - } - }); - } - } - /** - * 确认强制删除 - * */ - function batDeleteAccountHeadForceConfirm(res,url,jsondata) { - $.messager.confirm('删除确认', res.msg, function (r) { - if (r) { - $.ajax({ - type: "post", - url: url, - dataType: "json", - data: (jsondata), - success: function (res) { - if(res && res.code == 200) { - $("#searchBtn").click(); - if(type=='batch'){ - $(":checkbox").attr("checked", false); - } - }else if(res && res.code == 600){ - $.messager.alert('删除提示', res.msg, 'error'); - return; - }else { - $.messager.alert('删除提示','删除财务信息异常,请稍后再试!','error'); - return; - } - }, - //此处添加错误处理 - error: function () { - $.messager.alert('删除提示','删除财务信息异常,请稍后再试!','error'); - return; - } - }); - } - }); - } - - - //增加 - function addAccountHead(){ - $('#accountHeadFM').form('clear'); - var thisDateTime = getNowFormatDateTime(); //当前时间 - $("#BillTime").val(thisDateTime); - var thisNumber = getNowFormatDateNum(); //根据时间生成编号 - $("#BillNo").val(amountNum + thisNumber).focus(); - var addTitle = listTitle.replace("列表","信息"); - $('#accountHeadDlg').dialog('open').dialog('setTitle',' 增加' + addTitle); - $(".window-mask").css({ width: webW ,height: webH}); - - orgAccountHead = ""; - accountHeadID = 0; - initTableData_account("add"); //明细列表 - reject(); //撤销下、刷新材料列表 - url = '/accountHead/add'; - - //收预付款单据支持刷卡功能 - if(listType == "收预付款") { - //当会员卡号长度超过10位后,自动点击下拉框,用于兼容刷卡器 - $("#OrganId").next().find("input").off("keyup").on("keyup",function(){ - if($(this).val().length === 10){ - setTimeout(function(){ - $(".combo-panel .combobox-item-selected").click(); - },500); - } - }); - } - } - - //编辑信息 - function editAccountHead(index){ - // var accountHeadInfo = accountHeadTotalInfo.split("AaBb"); - //获取当前行 - var rowsdata = $("#tableData").datagrid("getRows")[index]; - $("#BillNo").val(rowsdata.billno); - $("#BillTime").val(rowsdata.billtime); - $("#Remark").val(rowsdata.remark); - $("#AccountId").val(rowsdata.accountid); - $('#OrganId').combobox('setValue', rowsdata.organid); - $("#HandsPersonId").val(rowsdata.handspersonid); - $("#ChangeAmount").val(rowsdata.changeamount); - var TotalPrice = rowsdata.totalprice; - preTotalPrice = rowsdata.totalprice; //记录前一次合计金额,用于收预付款 - var editTitle = listTitle.replace("列表","信息"); - $('#accountHeadDlg').dialog('open').dialog('setTitle',' 编辑' + editTitle); - $(".window-mask").css({ width: webW ,height: webH}); - accountHeadID = rowsdata.id; - - initTableData_account("edit",TotalPrice); //明细列表 - reject(); //撤销下、刷新列表 - url = '/accountHead/update?id=' + rowsdata.id; - } - - //查看信息 - function showAccountHead(index){ - // var accountHeadInfo = accountHeadTotalInfo.split("AaBb"); - //获取当前行 - var rowsdata = $("#tableData").datagrid("getRows")[index]; - $("#BillNoShow").text(rowsdata.billno); - $("#BillTimeShow").text(rowsdata.billtime); - $("#RemarkShow").text(rowsdata.remark); - $("#AccountIdShow").text(rowsdata.accountname); - $('#OrganIdShow').text(rowsdata.organname); - $("#HandsPersonIdShow").text(rowsdata.handspersonname); - $("#ChangeAmountShow").text(rowsdata.rowsdata==undefined?'0':rowsdata.rowsdata); - var TotalPrice = rowsdata.totalprice; - var showTitle = listTitle.replace("列表","信息"); - $('#accountHeadDlgShow').dialog('open').dialog('setTitle',' 查看' + showTitle); - $(".window-mask").css({ width: webW ,height: webH}); - - accountHeadID = rowsdata.id; - initTableData_account_show(TotalPrice); //明细列表-查看状态 - } - - //绑定操作事件 - function bindEvent(){ - //搜索处理 - $("#searchBtn").unbind().bind({ - click:function() - { - showAccountHeadDetails(1,initPageSize); - var opts = $("#tableData").datagrid('options'); - var pager = $("#tableData").datagrid('getPager'); - opts.pageNumber = 1; - opts.pageSize = initPageSize; - pager.pagination('refresh', { - pageNumber:1, - pageSize:initPageSize - }); - } - }); - - //重置按钮 - $("#searchResetBtn").unbind().bind({ - click:function(){ - $("#searchBillNo").val(""); - $("#searchBeginTime").val(""); - $("#searchEndTime").val(""); - //加载完以后重新初始化 - $("#searchBtn").click(); - } - }); - - //保存信息 - $("#saveAccountHead").off("click").on("click", function () { - if(!$('#accountHeadFM').form('validate')){ - return; - } else { - if (listTitle === "收入单列表") { - if (!$('#AccountId').val()) { - $.messager.alert('提示', '请选择收款账户!', 'warning'); - return; - } - if (!$('#OrganId').combobox('getValue')) { - $.messager.alert('提示', '请选择往来单位!', 'warning'); - return; - } - if (!$('#HandsPersonId').val()) { - $.messager.alert('提示', '请选择经手人!', 'warning'); - return; - } - } - else if (listTitle === "支出单列表") { - if (!$('#AccountId').val()) { - $.messager.alert('提示', '请选择付款账户!', 'warning'); - return; - } - if (!$('#OrganId').combobox('getValue')) { - $.messager.alert('提示', '请选择往来单位!', 'warning'); - return; - } - if (!$('#HandsPersonId').val()) { - $.messager.alert('提示', '请选择经手人!', 'warning'); - return; - } - } - else if (listTitle === "收款单列表") { - if (!$('#OrganId').combobox('getValue')) { - $.messager.alert('提示', '请选择付款单位!', 'warning'); - return; - } - if (!$('#HandsPersonId').val()) { - $.messager.alert('提示', '请选择经手人!', 'warning'); - return; - } - } - else if (listTitle === "付款单列表") { - if (!$('#OrganId').combobox('getValue')) { - $.messager.alert('提示', '请选择收款单位!', 'warning'); - return; - } - if (!$('#HandsPersonId').val()) { - $.messager.alert('提示', '请选择经手人!', 'warning'); - return; - } - } - else if (listTitle === "转账单列表") { - if (!$('#HandsPersonId').val()) { - $.messager.alert('提示', '请选择经手人!', 'warning'); - return; - } - if (!$('#AccountId').val()) { - $.messager.alert('提示', '请选择付款账户!', 'warning'); - return; - } - } - else if (listTitle === "收预付款列表") { - if (!$('#HandsPersonId').val()) { - $.messager.alert('提示', '请选择经手人!', 'warning'); - return; - } - if (!$('#OrganId').combobox('getValue')) { - $.messager.alert('提示', '请选择付款会员!', 'warning'); - return; - } - } - var OrganId = null; - var ChangeAmount = $.trim($("#ChangeAmount").val()); - var TotalPrice = $("#accountHeadFM .datagrid-footer [field='EachAmount'] div").text(); - if (listType !== "转账") { - OrganId = $('#OrganId').combobox('getValue'); - } - if (listType === "支出" || listType === "转账") { - //支出为负数 - ChangeAmount = 0 - ChangeAmount; - } - if (listType === "支出" || listType === "付款" || listType === "转账") { - //支出和付款为负数 - TotalPrice = 0 - TotalPrice; - } - //更新会员的预收款信息 - if (listType === "收预付款") { - var advanceIn = 0; //预付款金额 - if (accountHeadID) { - advanceIn = TotalPrice - preTotalPrice; //修改时,预付款=合计金额-加载金额 - } - else { - advanceIn = TotalPrice; //新增时,预付款=合计金额 - } - $.ajax({ - type: "post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data: { - supplierId: OrganId, - advanceIn: advanceIn - }, - success: function (res) { - if (res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function () { - $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); - return; - } - }); - } - - //保存单位信息 - $.ajax({ - type: "post", - url: url, - dataType: "json", - async: false, - data: ({ - info : JSON.stringify({ - Type: listType, - BillNo: $.trim($("#BillNo").val()), - BillTime: $.trim($("#BillTime").val()), - AccountId: $.trim($("#AccountId").val()), - ChangeAmount: ChangeAmount, //付款/收款/优惠/实付 - TotalPrice: TotalPrice, //合计 - OrganId: OrganId, - HandsPersonId: $.trim($("#HandsPersonId").val()), - Remark: $.trim($("#Remark").val()) - }) - }), - success: function (tipInfo) { - if (tipInfo) { - //保存明细记录 - if (accountHeadID == 0) { - getMaxId(); //查找最大的Id - accept(accountHeadMaxId, listType); //新增 - } - else { - accept(accountHeadID, listType); //修改 - } - - $('#accountHeadDlg').dialog('close'); - var opts = $("#tableData").datagrid('options'); - showAccountHeadDetails(opts.pageNumber, opts.pageSize); - } - else { - $.messager.show({ - title: '错误提示', - msg: '保存信息失败,请稍后重试!' - }); - } - }, - //此处添加错误处理 - error: function () { - $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); - return; - } - }); - } - }); - - //打印单据 - $("#printAccountHeadShow").off("click").on("click",function(){ - var tableString = $("#accountHeadDlgShow").html(); - localStorage.setItem("tableString",tableString); - window.open("../../js/print/print_form.html","location:No;status:No;help:No;dialogWidth:800px;dialogHeight:600px;scroll:auto;"); - }); - - //初始化键盘enter事件 - $(document).keydown(function(event) - { - //兼容 IE和firefox 事件 - var e = window.event || event; - var k = e.keyCode||e.which||e.charCode; - //兼容 IE,firefox 兼容 - var obj = e.srcElement ? e.srcElement : e.target; - //绑定键盘事件为 id是指定的输入框才可以触发键盘事件 13键盘事件 ---遗留问题 enter键效验 对话框会关闭问题 - if(k == "13"&&(obj.id=="BillNo"||obj.id=="BillTime")) - { - $("#saveAccountHead").click(); - } - //搜索按钮添加快捷键 - if(k == "13"&&(obj.id=="searchBillNo")) - { - $("#searchBtn").click(); - } - }); - } - - function showAccountHeadDetails(pageNo,pageSize){ - $.ajax({ - type:"get", - url: "/accountHead/list", - dataType: "json", - data: ({ - search: JSON.stringify({ - type: listType, - billNo: $.trim($("#searchBillNo").val()), - beginTime: $("#searchBeginTime").val(), - endTime: $("#searchEndTime").val() - }), - currentPage: pageNo, - pageSize: pageSize - }), - success: function (res) { - if(res && res.code === 200){ - if(res.data && res.data.page) { - $("#tableData").datagrid('loadData', res.data.page); - } - } - }, - //此处添加错误处理 - error:function() { - $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); - return; - } - }); - } - - //自动计算事件 - function autoReckon() { - //延时绑定事件 - setTimeout(function(){ - var body =$("#accountHeadFM .datagrid-body"); - var footer =$("#accountHeadFM .datagrid-footer"); - var input = ".datagrid-editable-input"; - - //修改金额,自动计算单价和合计 - body.find("[field='EachAmount']").find(input).off("keyup").on("keyup",function(){ - var TotalPrice = 0; - var EachAmount =$(this).val()-0; //金额 - body.find("[field='EachAmount']").each(function(){ - if($(this).find("div").text()!==""){ - TotalPrice = TotalPrice + parseFloat($(this).find("div").text().toString()); - } - }); - TotalPrice = TotalPrice + EachAmount; - footer.find("[field='EachAmount']").find("div").text((TotalPrice).toFixed(2)); - }); - },500); - } - - //结束编辑 - function endEditing() { - var edField = ""; - if(!itemType){ - edField = "InOutItemId"; - edName = "InOutItemName"; - } - else { - edField = "AccountId"; - edName = "AccountName"; - } - if (editIndex == undefined) { return true } - if ($('#accountData').datagrid('validateRow', editIndex)) { - var ed = $('#accountData').datagrid('getEditor', {index: editIndex, field: edField}); - var textName = $(ed.target).combobox('getText'); - $('#accountData').datagrid('getRows')[editIndex][edName] = textName; - $('#accountData').datagrid('endEdit', editIndex); - editIndex = undefined; - return true; - } else { - return false; - } - } - //单击 - function onClickRow(index) { - if (editIndex != index) { - if (endEditing()) { - $('#accountData').datagrid('selectRow', index) - .datagrid('beginEdit', index); - editIndex = index; - autoReckon(); - } else { - $('#accountData').datagrid('selectRow', editIndex); - } - } - } - //新增 - function append() { - if (endEditing()) { - $('#accountData').datagrid('appendRow', {}); - editIndex = $('#accountData').datagrid('getRows').length - 1; - $('#accountData').datagrid('selectRow', editIndex).datagrid('beginEdit', editIndex); - autoReckon(); - } - } - //删除 - function removeit() { - if (editIndex == undefined) { return } - $('#accountData').datagrid('cancelEdit', editIndex) - .datagrid('deleteRow', editIndex); - editIndex = undefined; - } - //撤销 - function reject() { - $('#accountData').datagrid('rejectChanges'); - editIndex = undefined; - } - //判断 - function CheckData() { - var row = $('#accountData').datagrid('getRows'); - var totalRowNum = ""; - for (var i = 0; i < row.length; i++) { - if(!itemType){ - if (row[i].InOutItemId == "") { - totalRowNum += (i + 1) + "、"; - } - } - else{ - if (row[i].AccountId == "") { - totalRowNum += (i + 1) + "、"; - } - } - } - if (totalRowNum != "") { - var totalRowNum = totalRowNum.substring(0, totalRowNum.length - 1); - $.messager.alert('提示',"第" + totalRowNum + "行数据填写不完整!",'info'); - return false; - } - return true; - } - //保存 - function accept(accepId,listType) { - append(); - removeit(); - if ($("#accountData").datagrid('getChanges').length) { - if (!CheckData()) - return false; - var inserted = $("#accountData").datagrid('getChanges', "inserted"); - var deleted = $("#accountData").datagrid('getChanges', "deleted"); - var updated = $("#accountData").datagrid('getChanges', "updated"); - $.ajax({ - type: "post", - url: "/accountItem/saveDetials", - data: { - inserted: JSON.stringify(inserted), - deleted: JSON.stringify(deleted), - updated: JSON.stringify(updated), - headerId: accepId, - listType: listType - }, - success: function (tipInfo) - { - if (tipInfo) { - $.messager.alert('提示','保存成功!','info'); - } - else - $.messager.alert('提示','保存失败!','error'); - - }, - error: function (XmlHttpRequest, textStatus, errorThrown) - { - $.messager.alert('提示',XmlHttpRequest.responseText,'error'); - } - }); - } - if (endEditing()) { - $('#accountData').datagrid('acceptChanges'); - } - } - //获取MaxId - function getMaxId(){ - var accountHeadMax=null; - $.ajax({ - type:"get", - url: "/accountHead/getMaxId", - //设置为同步 - async:false, - dataType: "json", - success: function (res) { - if(res && res.code === 200) { - if(res.data) { - accountHeadMax = res.data.maxId; - } - } - } - }); - - if(accountHeadMax !=null) { - accountHeadMaxId=accountHeadMax; - } - } \ No newline at end of file diff --git a/erp_web/js/pages/financial/giro.js b/erp_web/js/pages/financial/giro.js new file mode 100644 index 00000000..42be5859 --- /dev/null +++ b/erp_web/js/pages/financial/giro.js @@ -0,0 +1,1165 @@ +//初始化界面 +$(function(){ + var accountList = null; + var accountID = null; + var supplierList = null; + var supplierID = null; + var personList = null; + var personID = null; + var ProjectSearch = null; + var accountHeadMaxId = null; //获取最大的Id + var accepId = null; //保存的主表id + var url; + var accountHeadID = 0; + var preTotalPrice = 0; //前一次加载的金额 + var orgAccountHead = ""; //保存编辑前的名称 + var editIndex = undefined; + var listTitle = ""; //单据标题 + var payTypeTitle = "";//收入 支出 + var organUrl = ""; //组织数据接口地址 + var amountNum = ""; //单据编号开头字符 + var itemType = true; //隐藏当前列 + var moneyType = true; //隐藏当前列 + var inOrOut = ""; //链接类型为收入或者支出 + getType(); + initSystemData_person(); //经手人数据 + initSelectInfo_person(); //经手人信息 + initSystemData_account(); //账户数据 + initSelectInfo_account(); //账户信息 + initSupplier(); //供应商 + initTableData(); + ininPager(); + initForm(); + bindEvent();//绑定操作事件 + $("#searchBtn").click(); +}); +//根据单据名称获取类型 +function getType(){ + listTitle = $("#tablePanel").prev().text(); + var supUrl = "/supplier/findBySelect_sup"; //供应商接口 + var cusUrl = "/supplier/findBySelect_cus"; //客户接口 + var retailUrl = "/supplier/findBySelect_retail"; //散户接口 + if(listTitle === "收入单列表"){ + listType = "收入"; + itemType = false; //显示当前列 + moneyType = true; //隐藏当前列 + payTypeTitle = "收入项目"; + inOrOut = "in"; + organUrl = cusUrl; + amountNum = "SR"; + } + else if(listTitle === "支出单列表"){ + listType = "支出"; + itemType = false; //显示当前列 + moneyType = true; //隐藏当前列 + payTypeTitle = "支出项目"; + inOrOut = "out"; + organUrl = supUrl; + amountNum = "ZC"; + } + else if(listTitle === "收款单列表"){ + listType = "收款"; + itemType = true; //隐藏当前列 + moneyType = false; //显示当前列 + payTypeTitle = "无标题"; + inOrOut = ""; + organUrl = cusUrl; + amountNum = "SK"; + } + else if(listTitle === "付款单列表"){ + listType = "付款"; + itemType = true; //隐藏当前列 + moneyType = false; //显示当前列 + payTypeTitle = "无标题"; + inOrOut = ""; + organUrl = supUrl; + amountNum = "FK"; + } + else if(listTitle === "转账单列表"){ + listType = "转账"; + itemType = true; //隐藏当前列 + moneyType = false; //显示当前列 + payTypeTitle = "无标题"; + inOrOut = ""; + organUrl = supUrl; + amountNum = "ZZ"; + } + else if(listTitle === "收预付款列表"){ + listType = "收预付款"; + itemType = true; //隐藏当前列 + moneyType = false; //显示当前列 + payTypeTitle = "无标题"; + inOrOut = ""; + organUrl = retailUrl; + amountNum = "SYF"; + } +} +//获取账户信息 +function initSystemData_account(){ + $.ajax({ + type:"get", + url: "/account/getAccount", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + accountList = res.data.accountList; + } + } + } + }); +} +//获取账户信息 +function initSelectInfo_account(){ + var options = ""; + if(accountList !=null) + { + options = ""; + for(var i = 0 ;i < accountList.length; i++) + { + var account = accountList[i]; + options += ''; + } + $("#AccountId").empty().append(options); + } +} + +//初始化单位信息 +function initSupplier(){ + $('#OrganId').combobox({ + url: organUrl, + valueField:'id', + textField:'supplier', + formatter: function(row){ + var opts = $(this).combobox('options'); + if(row[opts.textField]!=="非会员") { + return row[opts.textField]; + } + } + }); +} + +//获取财务员 +function initSystemData_person(){ + var type = "财务员"; + $.ajax({ + type:"get", + url: "/person/getPersonByType", + data: { + type: type + }, + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + personList = res.data.personList; + } + } + }); +} +//获取财务员 +function initSelectInfo_person(){ + var options = ""; + + if(personList !=null) + { + for(var i = 0 ;i < personList.length;i++) + { + var person = personList[i]; + if(0 == i) + { + personID = person.id; + } + if(person.type=="财务员") + { + options += ''; + } + } + $("#HandsPersonId").empty().append(options); + } +} + +//防止表单提交重复 +function initForm(){ + $('#accountHeadFM').form({ + onSubmit: function(){ + return false; + } + }); +} + +//初始化表格数据 +function initTableData(){ + var organNameTitle = ""; + var organNameHidden = false; + if(listType === "收入" || listType === "支出") { + organNameTitle = "往来单位"; + } + else if(listType === "收款") { + organNameTitle = "付款单位"; + } + else if(listType === "付款") { + organNameTitle = "收款单位"; + } + else if(listType === "收预付款") { + organNameTitle = "付款会员"; + } + if(listType === "转账") { + organNameHidden = true; + } + $('#tableData').datagrid({ + //width:700, + height:heightInfo, + rownumbers: false, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + //fitColumns:true, + //单击行是否选中 + //checkOnSelect : false, + pagination: true, + //交替出现背景 + striped : true, + //loadFilter: pagerFilter, + pageSize: 5, + pageList: initPageNum, + columns:[[ + { field: 'id',width:35,align:"center",checkbox:true}, + { title: '操作',field: 'op',align:"center",width:90,formatter:function(value, rec,index) { + /** + * create by: qiankunpingtai + * create time: 2019/5/7 10:48 + * website:https://qiankunpingtai.cn + * description: + * 修改效率低下的js + */ + var str = ''; + // var rowInfo = rec.id + 'AaBb' + rec.billno+ 'AaBb' + rec.billtime+ 'AaBb' + rec.remark + // + 'AaBb' + rec.accountid+ 'AaBb' + rec.accountname + 'AaBb' + rec.organid + 'AaBb' + rec.organname + // + 'AaBb' + rec.handspersonid + 'AaBb' + rec.handspersonname + 'AaBb' + rec.changeamount + 'AaBb' + rec.totalprice; + var orgId = rec.organid ? rec.organid : 0; + str += '   '; + str += '   '; + str += ''; + return str; + } + }, + { field: 'organid',width:5, hidden:true}, + { title: organNameTitle,field: 'organname',width:140,hidden:organNameHidden}, + { title: '单据编号',field: 'billno',width:140}, + { title: '经手人',field: 'handspersonname',width:80}, + { title: '单据时间 ',field: 'billtime',width:140}, + { title: '合计',field: 'totalprice',width:80}, + { title: '备注',field: 'remark',width:100} + ]], + toolbar:[ + { + id:'addAccountHead', + text:'增加', + iconCls:'icon-add', + handler:function() + { + addAccountHead(); + } + }, + { + id:'deleteAccountHead', + text:'删除', + iconCls:'icon-remove', + handler:function() + { + batDeleteAccountHead(); + } + } + ], + onLoadError:function() + { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); +} + +//初始化表格数据-明细列表-编辑状态 +function initTableData_account(type,TotalPrice){ + $('#accountData').datagrid({ + height:280, + rownumbers: false, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + //单击行是否选中 + checkOnSelect : false, + pagination: false, + //交替出现背景 + striped : true, + showFooter: true, + //loadFilter: pagerFilter, + onClickRow: onClickRow, + columns:[[ + { field: 'Id',width:35,align:"center",checkbox:true}, + { title: payTypeTitle,field: 'InOutItemId',width:230,hidden:itemType, + formatter:function(value,row,index){ + return row.InOutItemName; + }, + editor:{ + type:'combobox', + options:{ + valueField:'Id', + textField:'InOutItemName', + method:'get', + url: "/inOutItem/findBySelect?type=" + inOrOut + } + } + }, + { title: '账户名称',field: 'AccountId',width:230,hidden:moneyType, + formatter:function(value,row,index){ + return row.AccountName; + }, + editor:{ + type:'combobox', + options:{ + valueField:'Id', + textField:'AccountName', + method:'get', + url: "/account/findBySelect" + } + } + }, + { title: '金额',field: 'EachAmount',editor:'validatebox',width:70}, + { title: '备注',field: 'Remark',editor:'validatebox',width:150} + ]], + toolbar:[ + { + id:'append', + text:'新增', + iconCls:'icon-add', + handler:function() + { + append(); //新增 + } + }, + { + id:'delete', + text:'删除', + iconCls:'icon-remove', + handler:function() + { + removeit(); //删除 + } + }, + { + id:'reject', + text:'撤销', + iconCls:'icon-undo', + handler:function() + { + reject(); //撤销 + } + } + ], + onLoadError:function() + { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); + $.ajax({ + type:"get", + url: '/accountItem/getDetailList', + data: { + headerId: accountHeadID + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + var data = res.data; + var EachAmount = 0; + if(type === "edit") { + EachAmount = TotalPrice; + } + var array = []; + array.push({ + "EachAmount": EachAmount + }); + data.footer = array; + $("#accountData").datagrid('loadData',data); + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); +} + + +//初始化表格数据-明细列表-查看状态 +function initTableData_account_show(TotalPrice){ + $('#accountDataShow').datagrid({ + height:280, + rownumbers: true, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + //单击行是否选中 + checkOnSelect : false, + pagination: false, + //交替出现背景 + striped : true, + showFooter: true, + //loadFilter: pagerFilter, + onClickRow: onClickRow, + columns:[[ + { title: payTypeTitle, field: 'InOutItemName', width:230, hidden:itemType}, + { title: '账户名称', field: 'AccountName', width:230, hidden:moneyType}, + { title: '金额',field: 'EachAmount',width:70}, + { title: '备注',field: 'Remark',width:150} + ]], + onLoadError:function() + { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); + $.ajax({ + type:"get", + url: '/accountItem/getDetailList', + data: { + headerId: accountHeadID + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + var data = res.data; + var EachAmount = TotalPrice; + var array = []; + array.push({ + "EachAmount": EachAmount + }); + data.footer = array; + $("#accountDataShow").datagrid('loadData', data); + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); +} + + +//分页信息处理 +function ininPager(){ + try + { + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + pager.pagination({ + onSelectPage:function(pageNum, pageSize) + { + opts.pageNumber = pageNum; + opts.pageSize = pageSize; + pager.pagination('refresh', + { + pageNumber:pageNum, + pageSize:pageSize + }); + showAccountHeadDetails(pageNum,pageSize); + } + }); + } + catch (e) + { + $.messager.alert('异常处理提示',"分页信息异常 : " + e.name + ": " + e.message,'error'); + } +} + +//删除财务信息 +function deleteAccountHead(accountHeadID, thisOrganId, totalPrice){ + $.messager.confirm('删除确认','确定要删除此财务信息吗?',function(r) + { + if (r) + { + $.ajax({ + type:"post", + url: "/accountHead/batchDeleteAccountHeadByIds", + dataType: "json", + data:{ + ids: accountHeadID + }, + success: function (res) { + if(res && res.code == 200) { + $("#searchBtn").click(); + } else { + if(res && res.code == 601){ + var jsondata={}; + jsondata.ids=accountHeadID; + jsondata.deleteType='2'; + var type='single'; + batDeleteAccountHeadForceConfirm(res,"/accountHead/batchDeleteAccountHeadByIds",jsondata,type); + }else if(res && res.code == 600){ + $.messager.alert('删除提示', res.msg, 'error'); + return; + }else{ + $.messager.alert('删除提示', '删除信息失败,请稍后再试!', 'error'); + return; + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('删除提示','删除财务信息异常,请稍后再试!','error'); + return; + } + }); + + //更新会员的预收款信息 + if(listType === "收预付款"){ + $.ajax({ + type:"post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data:{ + supplierId: thisOrganId, //会员id + advanceIn: 0-totalPrice //删除时同时删除用户的预付款信息 + }, + success: function(res){ + if(res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function(){ + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + } + }); +} + +//批量删除财务信息 +function batDeleteAccountHead(){ + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) + { + $.messager.alert('删除提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) + { + $.messager.confirm('删除确认','确定要删除选中的' + row.length + '条财务信息吗?',function(r) + { + if (r) + { + var ids = ""; + for(var i = 0;i < row.length; i ++) { + if(i == row.length-1) + { + ids += row[i].id; + break; + } + ids += row[i].id + ","; + } + + //批量删除 + $.ajax({ + type:"post", + url: "/accountHead/batchDeleteAccountHeadByIds", + dataType: "json", + async : false, + data: ({ + ids : ids + }), + success: function (res) { + if(res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + if(res && res.code == 601){ + var jsondata={}; + jsondata.ids=ids; + jsondata.deleteType='2'; + var type='batch'; + batDeleteAccountHeadForceConfirm(res,"/accountHead/batchDeleteAccountHeadByIds",jsondata,type); + }else if(res && res.code == 600){ + $.messager.alert('删除提示', res.msg, 'error'); + return; + }else{ + $.messager.alert('删除提示', '删除信息失败,请稍后再试!', 'error'); + return; + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('删除提示','删除财务信息异常,请稍后再试!','error'); + return; + } + }); + //批量更新会员的预收款信息 + for(var i = 0;i < row.length; i ++) { + if(listType === "收预付款"){ + $.ajax({ + type:"post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data:{ + supplierId: row[i].organid, //会员id + advanceIn: 0 - row[i].totalprice //删除时同时删除用户的预付款信息 + }, + success: function(res){ + if(res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function(){ + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + } + } + }); + } +} +/** + * 确认强制删除 + * */ +function batDeleteAccountHeadForceConfirm(res,url,jsondata) { + $.messager.confirm('删除确认', res.msg, function (r) { + if (r) { + $.ajax({ + type: "post", + url: url, + dataType: "json", + data: (jsondata), + success: function (res) { + if(res && res.code == 200) { + $("#searchBtn").click(); + if(type=='batch'){ + $(":checkbox").attr("checked", false); + } + }else if(res && res.code == 600){ + $.messager.alert('删除提示', res.msg, 'error'); + return; + }else { + $.messager.alert('删除提示','删除财务信息异常,请稍后再试!','error'); + return; + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('删除提示','删除财务信息异常,请稍后再试!','error'); + return; + } + }); + } + }); +} + + +//增加 +function addAccountHead(){ + $('#accountHeadFM').form('clear'); + var thisDateTime = getNowFormatDateTime(); //当前时间 + $("#BillTime").val(thisDateTime); + var thisNumber = getNowFormatDateNum(); //根据时间生成编号 + $("#BillNo").val(amountNum + thisNumber).focus(); + var addTitle = listTitle.replace("列表","信息"); + $('#accountHeadDlg').dialog('open').dialog('setTitle',' 增加' + addTitle); + $(".window-mask").css({ width: webW ,height: webH}); + + orgAccountHead = ""; + accountHeadID = 0; + initTableData_account("add"); //明细列表 + reject(); //撤销下、刷新材料列表 + url = '/accountHead/add'; + + //收预付款单据支持刷卡功能 + if(listType == "收预付款") { + //当会员卡号长度超过10位后,自动点击下拉框,用于兼容刷卡器 + $("#OrganId").next().find("input").off("keyup").on("keyup",function(){ + if($(this).val().length === 10){ + setTimeout(function(){ + $(".combo-panel .combobox-item-selected").click(); + },500); + } + }); + } +} + +//编辑信息 +function editAccountHead(index){ + // var accountHeadInfo = accountHeadTotalInfo.split("AaBb"); + //获取当前行 + var rowsdata = $("#tableData").datagrid("getRows")[index]; + $("#BillNo").val(rowsdata.billno); + $("#BillTime").val(rowsdata.billtime); + $("#Remark").val(rowsdata.remark); + $("#AccountId").val(rowsdata.accountid); + $('#OrganId').combobox('setValue', rowsdata.organid); + $("#HandsPersonId").val(rowsdata.handspersonid); + $("#ChangeAmount").val(rowsdata.changeamount); + var TotalPrice = rowsdata.totalprice; + preTotalPrice = rowsdata.totalprice; //记录前一次合计金额,用于收预付款 + var editTitle = listTitle.replace("列表","信息"); + $('#accountHeadDlg').dialog('open').dialog('setTitle',' 编辑' + editTitle); + $(".window-mask").css({ width: webW ,height: webH}); + accountHeadID = rowsdata.id; + + initTableData_account("edit",TotalPrice); //明细列表 + reject(); //撤销下、刷新列表 + url = '/accountHead/update?id=' + rowsdata.id; +} + +//查看信息 +function showAccountHead(index){ + // var accountHeadInfo = accountHeadTotalInfo.split("AaBb"); + //获取当前行 + var rowsdata = $("#tableData").datagrid("getRows")[index]; + $("#BillNoShow").text(rowsdata.billno); + $("#BillTimeShow").text(rowsdata.billtime); + $("#RemarkShow").text(rowsdata.remark); + $("#AccountIdShow").text(rowsdata.accountname); + $('#OrganIdShow').text(rowsdata.organname); + $("#HandsPersonIdShow").text(rowsdata.handspersonname); + $("#ChangeAmountShow").text(rowsdata.rowsdata==undefined?'0':rowsdata.rowsdata); + var TotalPrice = rowsdata.totalprice; + var showTitle = listTitle.replace("列表","信息"); + $('#accountHeadDlgShow').dialog('open').dialog('setTitle',' 查看' + showTitle); + $(".window-mask").css({ width: webW ,height: webH}); + + accountHeadID = rowsdata.id; + initTableData_account_show(TotalPrice); //明细列表-查看状态 +} + +//绑定操作事件 +function bindEvent(){ + //搜索处理 + $("#searchBtn").unbind().bind({ + click:function() + { + showAccountHeadDetails(1,initPageSize); + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + opts.pageNumber = 1; + opts.pageSize = initPageSize; + pager.pagination('refresh', { + pageNumber:1, + pageSize:initPageSize + }); + } + }); + + //重置按钮 + $("#searchResetBtn").unbind().bind({ + click:function(){ + $("#searchBillNo").val(""); + $("#searchBeginTime").val(""); + $("#searchEndTime").val(""); + //加载完以后重新初始化 + $("#searchBtn").click(); + } + }); + + //保存信息 + $("#saveAccountHead").off("click").on("click", function () { + if(!$('#accountHeadFM').form('validate')){ + return; + } else { + if (listTitle === "收入单列表") { + if (!$('#AccountId').val()) { + $.messager.alert('提示', '请选择收款账户!', 'warning'); + return; + } + if (!$('#OrganId').combobox('getValue')) { + $.messager.alert('提示', '请选择往来单位!', 'warning'); + return; + } + if (!$('#HandsPersonId').val()) { + $.messager.alert('提示', '请选择经手人!', 'warning'); + return; + } + } + else if (listTitle === "支出单列表") { + if (!$('#AccountId').val()) { + $.messager.alert('提示', '请选择付款账户!', 'warning'); + return; + } + if (!$('#OrganId').combobox('getValue')) { + $.messager.alert('提示', '请选择往来单位!', 'warning'); + return; + } + if (!$('#HandsPersonId').val()) { + $.messager.alert('提示', '请选择经手人!', 'warning'); + return; + } + } + else if (listTitle === "收款单列表") { + if (!$('#OrganId').combobox('getValue')) { + $.messager.alert('提示', '请选择付款单位!', 'warning'); + return; + } + if (!$('#HandsPersonId').val()) { + $.messager.alert('提示', '请选择经手人!', 'warning'); + return; + } + } + else if (listTitle === "付款单列表") { + if (!$('#OrganId').combobox('getValue')) { + $.messager.alert('提示', '请选择收款单位!', 'warning'); + return; + } + if (!$('#HandsPersonId').val()) { + $.messager.alert('提示', '请选择经手人!', 'warning'); + return; + } + } + else if (listTitle === "转账单列表") { + if (!$('#HandsPersonId').val()) { + $.messager.alert('提示', '请选择经手人!', 'warning'); + return; + } + if (!$('#AccountId').val()) { + $.messager.alert('提示', '请选择付款账户!', 'warning'); + return; + } + } + else if (listTitle === "收预付款列表") { + if (!$('#HandsPersonId').val()) { + $.messager.alert('提示', '请选择经手人!', 'warning'); + return; + } + if (!$('#OrganId').combobox('getValue')) { + $.messager.alert('提示', '请选择付款会员!', 'warning'); + return; + } + } + var OrganId = null; + var ChangeAmount = $.trim($("#ChangeAmount").val()); + var TotalPrice = $("#accountHeadFM .datagrid-footer [field='EachAmount'] div").text(); + if (listType !== "转账") { + OrganId = $('#OrganId').combobox('getValue'); + } + if (listType === "支出" || listType === "转账") { + //支出为负数 + ChangeAmount = 0 - ChangeAmount; + } + if (listType === "支出" || listType === "付款" || listType === "转账") { + //支出和付款为负数 + TotalPrice = 0 - TotalPrice; + } + //更新会员的预收款信息 + if (listType === "收预付款") { + var advanceIn = 0; //预付款金额 + if (accountHeadID) { + advanceIn = TotalPrice - preTotalPrice; //修改时,预付款=合计金额-加载金额 + } + else { + advanceIn = TotalPrice; //新增时,预付款=合计金额 + } + $.ajax({ + type: "post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data: { + supplierId: OrganId, + advanceIn: advanceIn + }, + success: function (res) { + if (res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function () { + $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); + return; + } + }); + } + + //保存单位信息 + $.ajax({ + type: "post", + url: url, + dataType: "json", + async: false, + data: ({ + info : JSON.stringify({ + Type: listType, + BillNo: $.trim($("#BillNo").val()), + BillTime: $.trim($("#BillTime").val()), + AccountId: $.trim($("#AccountId").val()), + ChangeAmount: ChangeAmount, //付款/收款/优惠/实付 + TotalPrice: TotalPrice, //合计 + OrganId: OrganId, + HandsPersonId: $.trim($("#HandsPersonId").val()), + Remark: $.trim($("#Remark").val()) + }) + }), + success: function (tipInfo) { + if (tipInfo) { + //保存明细记录 + if (accountHeadID == 0) { + getMaxId(); //查找最大的Id + accept(accountHeadMaxId, listType); //新增 + } + else { + accept(accountHeadID, listType); //修改 + } + + $('#accountHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showAccountHeadDetails(opts.pageNumber, opts.pageSize); + } + else { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); + return; + } + }); + } + }); + + //打印单据 + $("#printAccountHeadShow").off("click").on("click",function(){ + var tableString = $("#accountHeadDlgShow").html(); + localStorage.setItem("tableString",tableString); + window.open("../../js/print/print_form.html","location:No;status:No;help:No;dialogWidth:800px;dialogHeight:600px;scroll:auto;"); + }); + + //初始化键盘enter事件 + $(document).keydown(function(event) + { + //兼容 IE和firefox 事件 + var e = window.event || event; + var k = e.keyCode||e.which||e.charCode; + //兼容 IE,firefox 兼容 + var obj = e.srcElement ? e.srcElement : e.target; + //绑定键盘事件为 id是指定的输入框才可以触发键盘事件 13键盘事件 ---遗留问题 enter键效验 对话框会关闭问题 + if(k == "13"&&(obj.id=="BillNo"||obj.id=="BillTime")) + { + $("#saveAccountHead").click(); + } + //搜索按钮添加快捷键 + if(k == "13"&&(obj.id=="searchBillNo")) + { + $("#searchBtn").click(); + } + }); +} + +function showAccountHeadDetails(pageNo,pageSize){ + $.ajax({ + type:"get", + url: "/accountHead/list", + dataType: "json", + data: ({ + search: JSON.stringify({ + type: listType, + billNo: $.trim($("#searchBillNo").val()), + beginTime: $("#searchBeginTime").val(), + endTime: $("#searchEndTime").val() + }), + currentPage: pageNo, + pageSize: pageSize + }), + success: function (res) { + if(res && res.code === 200){ + if(res.data && res.data.page) { + $("#tableData").datagrid('loadData', res.data.page); + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + return; + } + }); +} + +//自动计算事件 +function autoReckon() { + //延时绑定事件 + setTimeout(function(){ + var body =$("#accountHeadFM .datagrid-body"); + var footer =$("#accountHeadFM .datagrid-footer"); + var input = ".datagrid-editable-input"; + + //修改金额,自动计算单价和合计 + body.find("[field='EachAmount']").find(input).off("keyup").on("keyup",function(){ + var TotalPrice = 0; + var EachAmount =$(this).val()-0; //金额 + body.find("[field='EachAmount']").each(function(){ + if($(this).find("div").text()!==""){ + TotalPrice = TotalPrice + parseFloat($(this).find("div").text().toString()); + } + }); + TotalPrice = TotalPrice + EachAmount; + footer.find("[field='EachAmount']").find("div").text((TotalPrice).toFixed(2)); + }); + },500); +} + +//结束编辑 +function endEditing() { + var edField = ""; + if(!itemType){ + edField = "InOutItemId"; + edName = "InOutItemName"; + } + else { + edField = "AccountId"; + edName = "AccountName"; + } + if (editIndex == undefined) { return true } + if ($('#accountData').datagrid('validateRow', editIndex)) { + var ed = $('#accountData').datagrid('getEditor', {index: editIndex, field: edField}); + var textName = $(ed.target).combobox('getText'); + $('#accountData').datagrid('getRows')[editIndex][edName] = textName; + $('#accountData').datagrid('endEdit', editIndex); + editIndex = undefined; + return true; + } else { + return false; + } +} +//单击 +function onClickRow(index) { + if (editIndex != index) { + if (endEditing()) { + $('#accountData').datagrid('selectRow', index) + .datagrid('beginEdit', index); + editIndex = index; + autoReckon(); + } else { + $('#accountData').datagrid('selectRow', editIndex); + } + } +} +//新增 +function append() { + if (endEditing()) { + $('#accountData').datagrid('appendRow', {}); + editIndex = $('#accountData').datagrid('getRows').length - 1; + $('#accountData').datagrid('selectRow', editIndex).datagrid('beginEdit', editIndex); + autoReckon(); + } +} +//删除 +function removeit() { + if (editIndex == undefined) { return } + $('#accountData').datagrid('cancelEdit', editIndex) + .datagrid('deleteRow', editIndex); + editIndex = undefined; +} +//撤销 +function reject() { + $('#accountData').datagrid('rejectChanges'); + editIndex = undefined; +} +//判断 +function CheckData() { + var row = $('#accountData').datagrid('getRows'); + var totalRowNum = ""; + for (var i = 0; i < row.length; i++) { + if(!itemType){ + if (row[i].InOutItemId == "") { + totalRowNum += (i + 1) + "、"; + } + } + else{ + if (row[i].AccountId == "") { + totalRowNum += (i + 1) + "、"; + } + } + } + if (totalRowNum != "") { + var totalRowNum = totalRowNum.substring(0, totalRowNum.length - 1); + $.messager.alert('提示',"第" + totalRowNum + "行数据填写不完整!",'info'); + return false; + } + return true; +} +//保存 +function accept(accepId,listType) { + append(); + removeit(); + if ($("#accountData").datagrid('getChanges').length) { + if (!CheckData()) + return false; + var inserted = $("#accountData").datagrid('getChanges', "inserted"); + var deleted = $("#accountData").datagrid('getChanges', "deleted"); + var updated = $("#accountData").datagrid('getChanges', "updated"); + $.ajax({ + type: "post", + url: "/accountItem/saveDetials", + data: { + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated), + headerId: accepId, + listType: listType + }, + success: function (tipInfo) + { + if (tipInfo) { + $.messager.alert('提示','保存成功!','info'); + } + else + $.messager.alert('提示','保存失败!','error'); + + }, + error: function (XmlHttpRequest, textStatus, errorThrown) + { + $.messager.alert('提示',XmlHttpRequest.responseText,'error'); + } + }); + } + if (endEditing()) { + $('#accountData').datagrid('acceptChanges'); + } +} +//获取MaxId +function getMaxId(){ + var accountHeadMax=null; + $.ajax({ + type:"get", + url: "/accountHead/getMaxId", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + accountHeadMax = res.data.maxId; + } + } + } + }); + + if(accountHeadMax !=null) { + accountHeadMaxId=accountHeadMax; + } +} \ No newline at end of file diff --git a/erp_web/js/pages/financial/item_in.js b/erp_web/js/pages/financial/item_in.js new file mode 100644 index 00000000..42be5859 --- /dev/null +++ b/erp_web/js/pages/financial/item_in.js @@ -0,0 +1,1165 @@ +//初始化界面 +$(function(){ + var accountList = null; + var accountID = null; + var supplierList = null; + var supplierID = null; + var personList = null; + var personID = null; + var ProjectSearch = null; + var accountHeadMaxId = null; //获取最大的Id + var accepId = null; //保存的主表id + var url; + var accountHeadID = 0; + var preTotalPrice = 0; //前一次加载的金额 + var orgAccountHead = ""; //保存编辑前的名称 + var editIndex = undefined; + var listTitle = ""; //单据标题 + var payTypeTitle = "";//收入 支出 + var organUrl = ""; //组织数据接口地址 + var amountNum = ""; //单据编号开头字符 + var itemType = true; //隐藏当前列 + var moneyType = true; //隐藏当前列 + var inOrOut = ""; //链接类型为收入或者支出 + getType(); + initSystemData_person(); //经手人数据 + initSelectInfo_person(); //经手人信息 + initSystemData_account(); //账户数据 + initSelectInfo_account(); //账户信息 + initSupplier(); //供应商 + initTableData(); + ininPager(); + initForm(); + bindEvent();//绑定操作事件 + $("#searchBtn").click(); +}); +//根据单据名称获取类型 +function getType(){ + listTitle = $("#tablePanel").prev().text(); + var supUrl = "/supplier/findBySelect_sup"; //供应商接口 + var cusUrl = "/supplier/findBySelect_cus"; //客户接口 + var retailUrl = "/supplier/findBySelect_retail"; //散户接口 + if(listTitle === "收入单列表"){ + listType = "收入"; + itemType = false; //显示当前列 + moneyType = true; //隐藏当前列 + payTypeTitle = "收入项目"; + inOrOut = "in"; + organUrl = cusUrl; + amountNum = "SR"; + } + else if(listTitle === "支出单列表"){ + listType = "支出"; + itemType = false; //显示当前列 + moneyType = true; //隐藏当前列 + payTypeTitle = "支出项目"; + inOrOut = "out"; + organUrl = supUrl; + amountNum = "ZC"; + } + else if(listTitle === "收款单列表"){ + listType = "收款"; + itemType = true; //隐藏当前列 + moneyType = false; //显示当前列 + payTypeTitle = "无标题"; + inOrOut = ""; + organUrl = cusUrl; + amountNum = "SK"; + } + else if(listTitle === "付款单列表"){ + listType = "付款"; + itemType = true; //隐藏当前列 + moneyType = false; //显示当前列 + payTypeTitle = "无标题"; + inOrOut = ""; + organUrl = supUrl; + amountNum = "FK"; + } + else if(listTitle === "转账单列表"){ + listType = "转账"; + itemType = true; //隐藏当前列 + moneyType = false; //显示当前列 + payTypeTitle = "无标题"; + inOrOut = ""; + organUrl = supUrl; + amountNum = "ZZ"; + } + else if(listTitle === "收预付款列表"){ + listType = "收预付款"; + itemType = true; //隐藏当前列 + moneyType = false; //显示当前列 + payTypeTitle = "无标题"; + inOrOut = ""; + organUrl = retailUrl; + amountNum = "SYF"; + } +} +//获取账户信息 +function initSystemData_account(){ + $.ajax({ + type:"get", + url: "/account/getAccount", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + accountList = res.data.accountList; + } + } + } + }); +} +//获取账户信息 +function initSelectInfo_account(){ + var options = ""; + if(accountList !=null) + { + options = ""; + for(var i = 0 ;i < accountList.length; i++) + { + var account = accountList[i]; + options += ''; + } + $("#AccountId").empty().append(options); + } +} + +//初始化单位信息 +function initSupplier(){ + $('#OrganId').combobox({ + url: organUrl, + valueField:'id', + textField:'supplier', + formatter: function(row){ + var opts = $(this).combobox('options'); + if(row[opts.textField]!=="非会员") { + return row[opts.textField]; + } + } + }); +} + +//获取财务员 +function initSystemData_person(){ + var type = "财务员"; + $.ajax({ + type:"get", + url: "/person/getPersonByType", + data: { + type: type + }, + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + personList = res.data.personList; + } + } + }); +} +//获取财务员 +function initSelectInfo_person(){ + var options = ""; + + if(personList !=null) + { + for(var i = 0 ;i < personList.length;i++) + { + var person = personList[i]; + if(0 == i) + { + personID = person.id; + } + if(person.type=="财务员") + { + options += ''; + } + } + $("#HandsPersonId").empty().append(options); + } +} + +//防止表单提交重复 +function initForm(){ + $('#accountHeadFM').form({ + onSubmit: function(){ + return false; + } + }); +} + +//初始化表格数据 +function initTableData(){ + var organNameTitle = ""; + var organNameHidden = false; + if(listType === "收入" || listType === "支出") { + organNameTitle = "往来单位"; + } + else if(listType === "收款") { + organNameTitle = "付款单位"; + } + else if(listType === "付款") { + organNameTitle = "收款单位"; + } + else if(listType === "收预付款") { + organNameTitle = "付款会员"; + } + if(listType === "转账") { + organNameHidden = true; + } + $('#tableData').datagrid({ + //width:700, + height:heightInfo, + rownumbers: false, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + //fitColumns:true, + //单击行是否选中 + //checkOnSelect : false, + pagination: true, + //交替出现背景 + striped : true, + //loadFilter: pagerFilter, + pageSize: 5, + pageList: initPageNum, + columns:[[ + { field: 'id',width:35,align:"center",checkbox:true}, + { title: '操作',field: 'op',align:"center",width:90,formatter:function(value, rec,index) { + /** + * create by: qiankunpingtai + * create time: 2019/5/7 10:48 + * website:https://qiankunpingtai.cn + * description: + * 修改效率低下的js + */ + var str = ''; + // var rowInfo = rec.id + 'AaBb' + rec.billno+ 'AaBb' + rec.billtime+ 'AaBb' + rec.remark + // + 'AaBb' + rec.accountid+ 'AaBb' + rec.accountname + 'AaBb' + rec.organid + 'AaBb' + rec.organname + // + 'AaBb' + rec.handspersonid + 'AaBb' + rec.handspersonname + 'AaBb' + rec.changeamount + 'AaBb' + rec.totalprice; + var orgId = rec.organid ? rec.organid : 0; + str += '   '; + str += '   '; + str += ''; + return str; + } + }, + { field: 'organid',width:5, hidden:true}, + { title: organNameTitle,field: 'organname',width:140,hidden:organNameHidden}, + { title: '单据编号',field: 'billno',width:140}, + { title: '经手人',field: 'handspersonname',width:80}, + { title: '单据时间 ',field: 'billtime',width:140}, + { title: '合计',field: 'totalprice',width:80}, + { title: '备注',field: 'remark',width:100} + ]], + toolbar:[ + { + id:'addAccountHead', + text:'增加', + iconCls:'icon-add', + handler:function() + { + addAccountHead(); + } + }, + { + id:'deleteAccountHead', + text:'删除', + iconCls:'icon-remove', + handler:function() + { + batDeleteAccountHead(); + } + } + ], + onLoadError:function() + { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); +} + +//初始化表格数据-明细列表-编辑状态 +function initTableData_account(type,TotalPrice){ + $('#accountData').datagrid({ + height:280, + rownumbers: false, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + //单击行是否选中 + checkOnSelect : false, + pagination: false, + //交替出现背景 + striped : true, + showFooter: true, + //loadFilter: pagerFilter, + onClickRow: onClickRow, + columns:[[ + { field: 'Id',width:35,align:"center",checkbox:true}, + { title: payTypeTitle,field: 'InOutItemId',width:230,hidden:itemType, + formatter:function(value,row,index){ + return row.InOutItemName; + }, + editor:{ + type:'combobox', + options:{ + valueField:'Id', + textField:'InOutItemName', + method:'get', + url: "/inOutItem/findBySelect?type=" + inOrOut + } + } + }, + { title: '账户名称',field: 'AccountId',width:230,hidden:moneyType, + formatter:function(value,row,index){ + return row.AccountName; + }, + editor:{ + type:'combobox', + options:{ + valueField:'Id', + textField:'AccountName', + method:'get', + url: "/account/findBySelect" + } + } + }, + { title: '金额',field: 'EachAmount',editor:'validatebox',width:70}, + { title: '备注',field: 'Remark',editor:'validatebox',width:150} + ]], + toolbar:[ + { + id:'append', + text:'新增', + iconCls:'icon-add', + handler:function() + { + append(); //新增 + } + }, + { + id:'delete', + text:'删除', + iconCls:'icon-remove', + handler:function() + { + removeit(); //删除 + } + }, + { + id:'reject', + text:'撤销', + iconCls:'icon-undo', + handler:function() + { + reject(); //撤销 + } + } + ], + onLoadError:function() + { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); + $.ajax({ + type:"get", + url: '/accountItem/getDetailList', + data: { + headerId: accountHeadID + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + var data = res.data; + var EachAmount = 0; + if(type === "edit") { + EachAmount = TotalPrice; + } + var array = []; + array.push({ + "EachAmount": EachAmount + }); + data.footer = array; + $("#accountData").datagrid('loadData',data); + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); +} + + +//初始化表格数据-明细列表-查看状态 +function initTableData_account_show(TotalPrice){ + $('#accountDataShow').datagrid({ + height:280, + rownumbers: true, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + //单击行是否选中 + checkOnSelect : false, + pagination: false, + //交替出现背景 + striped : true, + showFooter: true, + //loadFilter: pagerFilter, + onClickRow: onClickRow, + columns:[[ + { title: payTypeTitle, field: 'InOutItemName', width:230, hidden:itemType}, + { title: '账户名称', field: 'AccountName', width:230, hidden:moneyType}, + { title: '金额',field: 'EachAmount',width:70}, + { title: '备注',field: 'Remark',width:150} + ]], + onLoadError:function() + { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); + $.ajax({ + type:"get", + url: '/accountItem/getDetailList', + data: { + headerId: accountHeadID + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + var data = res.data; + var EachAmount = TotalPrice; + var array = []; + array.push({ + "EachAmount": EachAmount + }); + data.footer = array; + $("#accountDataShow").datagrid('loadData', data); + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); +} + + +//分页信息处理 +function ininPager(){ + try + { + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + pager.pagination({ + onSelectPage:function(pageNum, pageSize) + { + opts.pageNumber = pageNum; + opts.pageSize = pageSize; + pager.pagination('refresh', + { + pageNumber:pageNum, + pageSize:pageSize + }); + showAccountHeadDetails(pageNum,pageSize); + } + }); + } + catch (e) + { + $.messager.alert('异常处理提示',"分页信息异常 : " + e.name + ": " + e.message,'error'); + } +} + +//删除财务信息 +function deleteAccountHead(accountHeadID, thisOrganId, totalPrice){ + $.messager.confirm('删除确认','确定要删除此财务信息吗?',function(r) + { + if (r) + { + $.ajax({ + type:"post", + url: "/accountHead/batchDeleteAccountHeadByIds", + dataType: "json", + data:{ + ids: accountHeadID + }, + success: function (res) { + if(res && res.code == 200) { + $("#searchBtn").click(); + } else { + if(res && res.code == 601){ + var jsondata={}; + jsondata.ids=accountHeadID; + jsondata.deleteType='2'; + var type='single'; + batDeleteAccountHeadForceConfirm(res,"/accountHead/batchDeleteAccountHeadByIds",jsondata,type); + }else if(res && res.code == 600){ + $.messager.alert('删除提示', res.msg, 'error'); + return; + }else{ + $.messager.alert('删除提示', '删除信息失败,请稍后再试!', 'error'); + return; + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('删除提示','删除财务信息异常,请稍后再试!','error'); + return; + } + }); + + //更新会员的预收款信息 + if(listType === "收预付款"){ + $.ajax({ + type:"post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data:{ + supplierId: thisOrganId, //会员id + advanceIn: 0-totalPrice //删除时同时删除用户的预付款信息 + }, + success: function(res){ + if(res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function(){ + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + } + }); +} + +//批量删除财务信息 +function batDeleteAccountHead(){ + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) + { + $.messager.alert('删除提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) + { + $.messager.confirm('删除确认','确定要删除选中的' + row.length + '条财务信息吗?',function(r) + { + if (r) + { + var ids = ""; + for(var i = 0;i < row.length; i ++) { + if(i == row.length-1) + { + ids += row[i].id; + break; + } + ids += row[i].id + ","; + } + + //批量删除 + $.ajax({ + type:"post", + url: "/accountHead/batchDeleteAccountHeadByIds", + dataType: "json", + async : false, + data: ({ + ids : ids + }), + success: function (res) { + if(res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + if(res && res.code == 601){ + var jsondata={}; + jsondata.ids=ids; + jsondata.deleteType='2'; + var type='batch'; + batDeleteAccountHeadForceConfirm(res,"/accountHead/batchDeleteAccountHeadByIds",jsondata,type); + }else if(res && res.code == 600){ + $.messager.alert('删除提示', res.msg, 'error'); + return; + }else{ + $.messager.alert('删除提示', '删除信息失败,请稍后再试!', 'error'); + return; + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('删除提示','删除财务信息异常,请稍后再试!','error'); + return; + } + }); + //批量更新会员的预收款信息 + for(var i = 0;i < row.length; i ++) { + if(listType === "收预付款"){ + $.ajax({ + type:"post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data:{ + supplierId: row[i].organid, //会员id + advanceIn: 0 - row[i].totalprice //删除时同时删除用户的预付款信息 + }, + success: function(res){ + if(res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function(){ + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + } + } + }); + } +} +/** + * 确认强制删除 + * */ +function batDeleteAccountHeadForceConfirm(res,url,jsondata) { + $.messager.confirm('删除确认', res.msg, function (r) { + if (r) { + $.ajax({ + type: "post", + url: url, + dataType: "json", + data: (jsondata), + success: function (res) { + if(res && res.code == 200) { + $("#searchBtn").click(); + if(type=='batch'){ + $(":checkbox").attr("checked", false); + } + }else if(res && res.code == 600){ + $.messager.alert('删除提示', res.msg, 'error'); + return; + }else { + $.messager.alert('删除提示','删除财务信息异常,请稍后再试!','error'); + return; + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('删除提示','删除财务信息异常,请稍后再试!','error'); + return; + } + }); + } + }); +} + + +//增加 +function addAccountHead(){ + $('#accountHeadFM').form('clear'); + var thisDateTime = getNowFormatDateTime(); //当前时间 + $("#BillTime").val(thisDateTime); + var thisNumber = getNowFormatDateNum(); //根据时间生成编号 + $("#BillNo").val(amountNum + thisNumber).focus(); + var addTitle = listTitle.replace("列表","信息"); + $('#accountHeadDlg').dialog('open').dialog('setTitle',' 增加' + addTitle); + $(".window-mask").css({ width: webW ,height: webH}); + + orgAccountHead = ""; + accountHeadID = 0; + initTableData_account("add"); //明细列表 + reject(); //撤销下、刷新材料列表 + url = '/accountHead/add'; + + //收预付款单据支持刷卡功能 + if(listType == "收预付款") { + //当会员卡号长度超过10位后,自动点击下拉框,用于兼容刷卡器 + $("#OrganId").next().find("input").off("keyup").on("keyup",function(){ + if($(this).val().length === 10){ + setTimeout(function(){ + $(".combo-panel .combobox-item-selected").click(); + },500); + } + }); + } +} + +//编辑信息 +function editAccountHead(index){ + // var accountHeadInfo = accountHeadTotalInfo.split("AaBb"); + //获取当前行 + var rowsdata = $("#tableData").datagrid("getRows")[index]; + $("#BillNo").val(rowsdata.billno); + $("#BillTime").val(rowsdata.billtime); + $("#Remark").val(rowsdata.remark); + $("#AccountId").val(rowsdata.accountid); + $('#OrganId').combobox('setValue', rowsdata.organid); + $("#HandsPersonId").val(rowsdata.handspersonid); + $("#ChangeAmount").val(rowsdata.changeamount); + var TotalPrice = rowsdata.totalprice; + preTotalPrice = rowsdata.totalprice; //记录前一次合计金额,用于收预付款 + var editTitle = listTitle.replace("列表","信息"); + $('#accountHeadDlg').dialog('open').dialog('setTitle',' 编辑' + editTitle); + $(".window-mask").css({ width: webW ,height: webH}); + accountHeadID = rowsdata.id; + + initTableData_account("edit",TotalPrice); //明细列表 + reject(); //撤销下、刷新列表 + url = '/accountHead/update?id=' + rowsdata.id; +} + +//查看信息 +function showAccountHead(index){ + // var accountHeadInfo = accountHeadTotalInfo.split("AaBb"); + //获取当前行 + var rowsdata = $("#tableData").datagrid("getRows")[index]; + $("#BillNoShow").text(rowsdata.billno); + $("#BillTimeShow").text(rowsdata.billtime); + $("#RemarkShow").text(rowsdata.remark); + $("#AccountIdShow").text(rowsdata.accountname); + $('#OrganIdShow').text(rowsdata.organname); + $("#HandsPersonIdShow").text(rowsdata.handspersonname); + $("#ChangeAmountShow").text(rowsdata.rowsdata==undefined?'0':rowsdata.rowsdata); + var TotalPrice = rowsdata.totalprice; + var showTitle = listTitle.replace("列表","信息"); + $('#accountHeadDlgShow').dialog('open').dialog('setTitle',' 查看' + showTitle); + $(".window-mask").css({ width: webW ,height: webH}); + + accountHeadID = rowsdata.id; + initTableData_account_show(TotalPrice); //明细列表-查看状态 +} + +//绑定操作事件 +function bindEvent(){ + //搜索处理 + $("#searchBtn").unbind().bind({ + click:function() + { + showAccountHeadDetails(1,initPageSize); + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + opts.pageNumber = 1; + opts.pageSize = initPageSize; + pager.pagination('refresh', { + pageNumber:1, + pageSize:initPageSize + }); + } + }); + + //重置按钮 + $("#searchResetBtn").unbind().bind({ + click:function(){ + $("#searchBillNo").val(""); + $("#searchBeginTime").val(""); + $("#searchEndTime").val(""); + //加载完以后重新初始化 + $("#searchBtn").click(); + } + }); + + //保存信息 + $("#saveAccountHead").off("click").on("click", function () { + if(!$('#accountHeadFM').form('validate')){ + return; + } else { + if (listTitle === "收入单列表") { + if (!$('#AccountId').val()) { + $.messager.alert('提示', '请选择收款账户!', 'warning'); + return; + } + if (!$('#OrganId').combobox('getValue')) { + $.messager.alert('提示', '请选择往来单位!', 'warning'); + return; + } + if (!$('#HandsPersonId').val()) { + $.messager.alert('提示', '请选择经手人!', 'warning'); + return; + } + } + else if (listTitle === "支出单列表") { + if (!$('#AccountId').val()) { + $.messager.alert('提示', '请选择付款账户!', 'warning'); + return; + } + if (!$('#OrganId').combobox('getValue')) { + $.messager.alert('提示', '请选择往来单位!', 'warning'); + return; + } + if (!$('#HandsPersonId').val()) { + $.messager.alert('提示', '请选择经手人!', 'warning'); + return; + } + } + else if (listTitle === "收款单列表") { + if (!$('#OrganId').combobox('getValue')) { + $.messager.alert('提示', '请选择付款单位!', 'warning'); + return; + } + if (!$('#HandsPersonId').val()) { + $.messager.alert('提示', '请选择经手人!', 'warning'); + return; + } + } + else if (listTitle === "付款单列表") { + if (!$('#OrganId').combobox('getValue')) { + $.messager.alert('提示', '请选择收款单位!', 'warning'); + return; + } + if (!$('#HandsPersonId').val()) { + $.messager.alert('提示', '请选择经手人!', 'warning'); + return; + } + } + else if (listTitle === "转账单列表") { + if (!$('#HandsPersonId').val()) { + $.messager.alert('提示', '请选择经手人!', 'warning'); + return; + } + if (!$('#AccountId').val()) { + $.messager.alert('提示', '请选择付款账户!', 'warning'); + return; + } + } + else if (listTitle === "收预付款列表") { + if (!$('#HandsPersonId').val()) { + $.messager.alert('提示', '请选择经手人!', 'warning'); + return; + } + if (!$('#OrganId').combobox('getValue')) { + $.messager.alert('提示', '请选择付款会员!', 'warning'); + return; + } + } + var OrganId = null; + var ChangeAmount = $.trim($("#ChangeAmount").val()); + var TotalPrice = $("#accountHeadFM .datagrid-footer [field='EachAmount'] div").text(); + if (listType !== "转账") { + OrganId = $('#OrganId').combobox('getValue'); + } + if (listType === "支出" || listType === "转账") { + //支出为负数 + ChangeAmount = 0 - ChangeAmount; + } + if (listType === "支出" || listType === "付款" || listType === "转账") { + //支出和付款为负数 + TotalPrice = 0 - TotalPrice; + } + //更新会员的预收款信息 + if (listType === "收预付款") { + var advanceIn = 0; //预付款金额 + if (accountHeadID) { + advanceIn = TotalPrice - preTotalPrice; //修改时,预付款=合计金额-加载金额 + } + else { + advanceIn = TotalPrice; //新增时,预付款=合计金额 + } + $.ajax({ + type: "post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data: { + supplierId: OrganId, + advanceIn: advanceIn + }, + success: function (res) { + if (res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function () { + $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); + return; + } + }); + } + + //保存单位信息 + $.ajax({ + type: "post", + url: url, + dataType: "json", + async: false, + data: ({ + info : JSON.stringify({ + Type: listType, + BillNo: $.trim($("#BillNo").val()), + BillTime: $.trim($("#BillTime").val()), + AccountId: $.trim($("#AccountId").val()), + ChangeAmount: ChangeAmount, //付款/收款/优惠/实付 + TotalPrice: TotalPrice, //合计 + OrganId: OrganId, + HandsPersonId: $.trim($("#HandsPersonId").val()), + Remark: $.trim($("#Remark").val()) + }) + }), + success: function (tipInfo) { + if (tipInfo) { + //保存明细记录 + if (accountHeadID == 0) { + getMaxId(); //查找最大的Id + accept(accountHeadMaxId, listType); //新增 + } + else { + accept(accountHeadID, listType); //修改 + } + + $('#accountHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showAccountHeadDetails(opts.pageNumber, opts.pageSize); + } + else { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); + return; + } + }); + } + }); + + //打印单据 + $("#printAccountHeadShow").off("click").on("click",function(){ + var tableString = $("#accountHeadDlgShow").html(); + localStorage.setItem("tableString",tableString); + window.open("../../js/print/print_form.html","location:No;status:No;help:No;dialogWidth:800px;dialogHeight:600px;scroll:auto;"); + }); + + //初始化键盘enter事件 + $(document).keydown(function(event) + { + //兼容 IE和firefox 事件 + var e = window.event || event; + var k = e.keyCode||e.which||e.charCode; + //兼容 IE,firefox 兼容 + var obj = e.srcElement ? e.srcElement : e.target; + //绑定键盘事件为 id是指定的输入框才可以触发键盘事件 13键盘事件 ---遗留问题 enter键效验 对话框会关闭问题 + if(k == "13"&&(obj.id=="BillNo"||obj.id=="BillTime")) + { + $("#saveAccountHead").click(); + } + //搜索按钮添加快捷键 + if(k == "13"&&(obj.id=="searchBillNo")) + { + $("#searchBtn").click(); + } + }); +} + +function showAccountHeadDetails(pageNo,pageSize){ + $.ajax({ + type:"get", + url: "/accountHead/list", + dataType: "json", + data: ({ + search: JSON.stringify({ + type: listType, + billNo: $.trim($("#searchBillNo").val()), + beginTime: $("#searchBeginTime").val(), + endTime: $("#searchEndTime").val() + }), + currentPage: pageNo, + pageSize: pageSize + }), + success: function (res) { + if(res && res.code === 200){ + if(res.data && res.data.page) { + $("#tableData").datagrid('loadData', res.data.page); + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + return; + } + }); +} + +//自动计算事件 +function autoReckon() { + //延时绑定事件 + setTimeout(function(){ + var body =$("#accountHeadFM .datagrid-body"); + var footer =$("#accountHeadFM .datagrid-footer"); + var input = ".datagrid-editable-input"; + + //修改金额,自动计算单价和合计 + body.find("[field='EachAmount']").find(input).off("keyup").on("keyup",function(){ + var TotalPrice = 0; + var EachAmount =$(this).val()-0; //金额 + body.find("[field='EachAmount']").each(function(){ + if($(this).find("div").text()!==""){ + TotalPrice = TotalPrice + parseFloat($(this).find("div").text().toString()); + } + }); + TotalPrice = TotalPrice + EachAmount; + footer.find("[field='EachAmount']").find("div").text((TotalPrice).toFixed(2)); + }); + },500); +} + +//结束编辑 +function endEditing() { + var edField = ""; + if(!itemType){ + edField = "InOutItemId"; + edName = "InOutItemName"; + } + else { + edField = "AccountId"; + edName = "AccountName"; + } + if (editIndex == undefined) { return true } + if ($('#accountData').datagrid('validateRow', editIndex)) { + var ed = $('#accountData').datagrid('getEditor', {index: editIndex, field: edField}); + var textName = $(ed.target).combobox('getText'); + $('#accountData').datagrid('getRows')[editIndex][edName] = textName; + $('#accountData').datagrid('endEdit', editIndex); + editIndex = undefined; + return true; + } else { + return false; + } +} +//单击 +function onClickRow(index) { + if (editIndex != index) { + if (endEditing()) { + $('#accountData').datagrid('selectRow', index) + .datagrid('beginEdit', index); + editIndex = index; + autoReckon(); + } else { + $('#accountData').datagrid('selectRow', editIndex); + } + } +} +//新增 +function append() { + if (endEditing()) { + $('#accountData').datagrid('appendRow', {}); + editIndex = $('#accountData').datagrid('getRows').length - 1; + $('#accountData').datagrid('selectRow', editIndex).datagrid('beginEdit', editIndex); + autoReckon(); + } +} +//删除 +function removeit() { + if (editIndex == undefined) { return } + $('#accountData').datagrid('cancelEdit', editIndex) + .datagrid('deleteRow', editIndex); + editIndex = undefined; +} +//撤销 +function reject() { + $('#accountData').datagrid('rejectChanges'); + editIndex = undefined; +} +//判断 +function CheckData() { + var row = $('#accountData').datagrid('getRows'); + var totalRowNum = ""; + for (var i = 0; i < row.length; i++) { + if(!itemType){ + if (row[i].InOutItemId == "") { + totalRowNum += (i + 1) + "、"; + } + } + else{ + if (row[i].AccountId == "") { + totalRowNum += (i + 1) + "、"; + } + } + } + if (totalRowNum != "") { + var totalRowNum = totalRowNum.substring(0, totalRowNum.length - 1); + $.messager.alert('提示',"第" + totalRowNum + "行数据填写不完整!",'info'); + return false; + } + return true; +} +//保存 +function accept(accepId,listType) { + append(); + removeit(); + if ($("#accountData").datagrid('getChanges').length) { + if (!CheckData()) + return false; + var inserted = $("#accountData").datagrid('getChanges', "inserted"); + var deleted = $("#accountData").datagrid('getChanges', "deleted"); + var updated = $("#accountData").datagrid('getChanges', "updated"); + $.ajax({ + type: "post", + url: "/accountItem/saveDetials", + data: { + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated), + headerId: accepId, + listType: listType + }, + success: function (tipInfo) + { + if (tipInfo) { + $.messager.alert('提示','保存成功!','info'); + } + else + $.messager.alert('提示','保存失败!','error'); + + }, + error: function (XmlHttpRequest, textStatus, errorThrown) + { + $.messager.alert('提示',XmlHttpRequest.responseText,'error'); + } + }); + } + if (endEditing()) { + $('#accountData').datagrid('acceptChanges'); + } +} +//获取MaxId +function getMaxId(){ + var accountHeadMax=null; + $.ajax({ + type:"get", + url: "/accountHead/getMaxId", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + accountHeadMax = res.data.maxId; + } + } + } + }); + + if(accountHeadMax !=null) { + accountHeadMaxId=accountHeadMax; + } +} \ No newline at end of file diff --git a/erp_web/js/pages/financial/item_out.js b/erp_web/js/pages/financial/item_out.js new file mode 100644 index 00000000..42be5859 --- /dev/null +++ b/erp_web/js/pages/financial/item_out.js @@ -0,0 +1,1165 @@ +//初始化界面 +$(function(){ + var accountList = null; + var accountID = null; + var supplierList = null; + var supplierID = null; + var personList = null; + var personID = null; + var ProjectSearch = null; + var accountHeadMaxId = null; //获取最大的Id + var accepId = null; //保存的主表id + var url; + var accountHeadID = 0; + var preTotalPrice = 0; //前一次加载的金额 + var orgAccountHead = ""; //保存编辑前的名称 + var editIndex = undefined; + var listTitle = ""; //单据标题 + var payTypeTitle = "";//收入 支出 + var organUrl = ""; //组织数据接口地址 + var amountNum = ""; //单据编号开头字符 + var itemType = true; //隐藏当前列 + var moneyType = true; //隐藏当前列 + var inOrOut = ""; //链接类型为收入或者支出 + getType(); + initSystemData_person(); //经手人数据 + initSelectInfo_person(); //经手人信息 + initSystemData_account(); //账户数据 + initSelectInfo_account(); //账户信息 + initSupplier(); //供应商 + initTableData(); + ininPager(); + initForm(); + bindEvent();//绑定操作事件 + $("#searchBtn").click(); +}); +//根据单据名称获取类型 +function getType(){ + listTitle = $("#tablePanel").prev().text(); + var supUrl = "/supplier/findBySelect_sup"; //供应商接口 + var cusUrl = "/supplier/findBySelect_cus"; //客户接口 + var retailUrl = "/supplier/findBySelect_retail"; //散户接口 + if(listTitle === "收入单列表"){ + listType = "收入"; + itemType = false; //显示当前列 + moneyType = true; //隐藏当前列 + payTypeTitle = "收入项目"; + inOrOut = "in"; + organUrl = cusUrl; + amountNum = "SR"; + } + else if(listTitle === "支出单列表"){ + listType = "支出"; + itemType = false; //显示当前列 + moneyType = true; //隐藏当前列 + payTypeTitle = "支出项目"; + inOrOut = "out"; + organUrl = supUrl; + amountNum = "ZC"; + } + else if(listTitle === "收款单列表"){ + listType = "收款"; + itemType = true; //隐藏当前列 + moneyType = false; //显示当前列 + payTypeTitle = "无标题"; + inOrOut = ""; + organUrl = cusUrl; + amountNum = "SK"; + } + else if(listTitle === "付款单列表"){ + listType = "付款"; + itemType = true; //隐藏当前列 + moneyType = false; //显示当前列 + payTypeTitle = "无标题"; + inOrOut = ""; + organUrl = supUrl; + amountNum = "FK"; + } + else if(listTitle === "转账单列表"){ + listType = "转账"; + itemType = true; //隐藏当前列 + moneyType = false; //显示当前列 + payTypeTitle = "无标题"; + inOrOut = ""; + organUrl = supUrl; + amountNum = "ZZ"; + } + else if(listTitle === "收预付款列表"){ + listType = "收预付款"; + itemType = true; //隐藏当前列 + moneyType = false; //显示当前列 + payTypeTitle = "无标题"; + inOrOut = ""; + organUrl = retailUrl; + amountNum = "SYF"; + } +} +//获取账户信息 +function initSystemData_account(){ + $.ajax({ + type:"get", + url: "/account/getAccount", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + accountList = res.data.accountList; + } + } + } + }); +} +//获取账户信息 +function initSelectInfo_account(){ + var options = ""; + if(accountList !=null) + { + options = ""; + for(var i = 0 ;i < accountList.length; i++) + { + var account = accountList[i]; + options += ''; + } + $("#AccountId").empty().append(options); + } +} + +//初始化单位信息 +function initSupplier(){ + $('#OrganId').combobox({ + url: organUrl, + valueField:'id', + textField:'supplier', + formatter: function(row){ + var opts = $(this).combobox('options'); + if(row[opts.textField]!=="非会员") { + return row[opts.textField]; + } + } + }); +} + +//获取财务员 +function initSystemData_person(){ + var type = "财务员"; + $.ajax({ + type:"get", + url: "/person/getPersonByType", + data: { + type: type + }, + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + personList = res.data.personList; + } + } + }); +} +//获取财务员 +function initSelectInfo_person(){ + var options = ""; + + if(personList !=null) + { + for(var i = 0 ;i < personList.length;i++) + { + var person = personList[i]; + if(0 == i) + { + personID = person.id; + } + if(person.type=="财务员") + { + options += ''; + } + } + $("#HandsPersonId").empty().append(options); + } +} + +//防止表单提交重复 +function initForm(){ + $('#accountHeadFM').form({ + onSubmit: function(){ + return false; + } + }); +} + +//初始化表格数据 +function initTableData(){ + var organNameTitle = ""; + var organNameHidden = false; + if(listType === "收入" || listType === "支出") { + organNameTitle = "往来单位"; + } + else if(listType === "收款") { + organNameTitle = "付款单位"; + } + else if(listType === "付款") { + organNameTitle = "收款单位"; + } + else if(listType === "收预付款") { + organNameTitle = "付款会员"; + } + if(listType === "转账") { + organNameHidden = true; + } + $('#tableData').datagrid({ + //width:700, + height:heightInfo, + rownumbers: false, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + //fitColumns:true, + //单击行是否选中 + //checkOnSelect : false, + pagination: true, + //交替出现背景 + striped : true, + //loadFilter: pagerFilter, + pageSize: 5, + pageList: initPageNum, + columns:[[ + { field: 'id',width:35,align:"center",checkbox:true}, + { title: '操作',field: 'op',align:"center",width:90,formatter:function(value, rec,index) { + /** + * create by: qiankunpingtai + * create time: 2019/5/7 10:48 + * website:https://qiankunpingtai.cn + * description: + * 修改效率低下的js + */ + var str = ''; + // var rowInfo = rec.id + 'AaBb' + rec.billno+ 'AaBb' + rec.billtime+ 'AaBb' + rec.remark + // + 'AaBb' + rec.accountid+ 'AaBb' + rec.accountname + 'AaBb' + rec.organid + 'AaBb' + rec.organname + // + 'AaBb' + rec.handspersonid + 'AaBb' + rec.handspersonname + 'AaBb' + rec.changeamount + 'AaBb' + rec.totalprice; + var orgId = rec.organid ? rec.organid : 0; + str += '   '; + str += '   '; + str += ''; + return str; + } + }, + { field: 'organid',width:5, hidden:true}, + { title: organNameTitle,field: 'organname',width:140,hidden:organNameHidden}, + { title: '单据编号',field: 'billno',width:140}, + { title: '经手人',field: 'handspersonname',width:80}, + { title: '单据时间 ',field: 'billtime',width:140}, + { title: '合计',field: 'totalprice',width:80}, + { title: '备注',field: 'remark',width:100} + ]], + toolbar:[ + { + id:'addAccountHead', + text:'增加', + iconCls:'icon-add', + handler:function() + { + addAccountHead(); + } + }, + { + id:'deleteAccountHead', + text:'删除', + iconCls:'icon-remove', + handler:function() + { + batDeleteAccountHead(); + } + } + ], + onLoadError:function() + { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); +} + +//初始化表格数据-明细列表-编辑状态 +function initTableData_account(type,TotalPrice){ + $('#accountData').datagrid({ + height:280, + rownumbers: false, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + //单击行是否选中 + checkOnSelect : false, + pagination: false, + //交替出现背景 + striped : true, + showFooter: true, + //loadFilter: pagerFilter, + onClickRow: onClickRow, + columns:[[ + { field: 'Id',width:35,align:"center",checkbox:true}, + { title: payTypeTitle,field: 'InOutItemId',width:230,hidden:itemType, + formatter:function(value,row,index){ + return row.InOutItemName; + }, + editor:{ + type:'combobox', + options:{ + valueField:'Id', + textField:'InOutItemName', + method:'get', + url: "/inOutItem/findBySelect?type=" + inOrOut + } + } + }, + { title: '账户名称',field: 'AccountId',width:230,hidden:moneyType, + formatter:function(value,row,index){ + return row.AccountName; + }, + editor:{ + type:'combobox', + options:{ + valueField:'Id', + textField:'AccountName', + method:'get', + url: "/account/findBySelect" + } + } + }, + { title: '金额',field: 'EachAmount',editor:'validatebox',width:70}, + { title: '备注',field: 'Remark',editor:'validatebox',width:150} + ]], + toolbar:[ + { + id:'append', + text:'新增', + iconCls:'icon-add', + handler:function() + { + append(); //新增 + } + }, + { + id:'delete', + text:'删除', + iconCls:'icon-remove', + handler:function() + { + removeit(); //删除 + } + }, + { + id:'reject', + text:'撤销', + iconCls:'icon-undo', + handler:function() + { + reject(); //撤销 + } + } + ], + onLoadError:function() + { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); + $.ajax({ + type:"get", + url: '/accountItem/getDetailList', + data: { + headerId: accountHeadID + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + var data = res.data; + var EachAmount = 0; + if(type === "edit") { + EachAmount = TotalPrice; + } + var array = []; + array.push({ + "EachAmount": EachAmount + }); + data.footer = array; + $("#accountData").datagrid('loadData',data); + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); +} + + +//初始化表格数据-明细列表-查看状态 +function initTableData_account_show(TotalPrice){ + $('#accountDataShow').datagrid({ + height:280, + rownumbers: true, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + //单击行是否选中 + checkOnSelect : false, + pagination: false, + //交替出现背景 + striped : true, + showFooter: true, + //loadFilter: pagerFilter, + onClickRow: onClickRow, + columns:[[ + { title: payTypeTitle, field: 'InOutItemName', width:230, hidden:itemType}, + { title: '账户名称', field: 'AccountName', width:230, hidden:moneyType}, + { title: '金额',field: 'EachAmount',width:70}, + { title: '备注',field: 'Remark',width:150} + ]], + onLoadError:function() + { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); + $.ajax({ + type:"get", + url: '/accountItem/getDetailList', + data: { + headerId: accountHeadID + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + var data = res.data; + var EachAmount = TotalPrice; + var array = []; + array.push({ + "EachAmount": EachAmount + }); + data.footer = array; + $("#accountDataShow").datagrid('loadData', data); + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); +} + + +//分页信息处理 +function ininPager(){ + try + { + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + pager.pagination({ + onSelectPage:function(pageNum, pageSize) + { + opts.pageNumber = pageNum; + opts.pageSize = pageSize; + pager.pagination('refresh', + { + pageNumber:pageNum, + pageSize:pageSize + }); + showAccountHeadDetails(pageNum,pageSize); + } + }); + } + catch (e) + { + $.messager.alert('异常处理提示',"分页信息异常 : " + e.name + ": " + e.message,'error'); + } +} + +//删除财务信息 +function deleteAccountHead(accountHeadID, thisOrganId, totalPrice){ + $.messager.confirm('删除确认','确定要删除此财务信息吗?',function(r) + { + if (r) + { + $.ajax({ + type:"post", + url: "/accountHead/batchDeleteAccountHeadByIds", + dataType: "json", + data:{ + ids: accountHeadID + }, + success: function (res) { + if(res && res.code == 200) { + $("#searchBtn").click(); + } else { + if(res && res.code == 601){ + var jsondata={}; + jsondata.ids=accountHeadID; + jsondata.deleteType='2'; + var type='single'; + batDeleteAccountHeadForceConfirm(res,"/accountHead/batchDeleteAccountHeadByIds",jsondata,type); + }else if(res && res.code == 600){ + $.messager.alert('删除提示', res.msg, 'error'); + return; + }else{ + $.messager.alert('删除提示', '删除信息失败,请稍后再试!', 'error'); + return; + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('删除提示','删除财务信息异常,请稍后再试!','error'); + return; + } + }); + + //更新会员的预收款信息 + if(listType === "收预付款"){ + $.ajax({ + type:"post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data:{ + supplierId: thisOrganId, //会员id + advanceIn: 0-totalPrice //删除时同时删除用户的预付款信息 + }, + success: function(res){ + if(res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function(){ + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + } + }); +} + +//批量删除财务信息 +function batDeleteAccountHead(){ + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) + { + $.messager.alert('删除提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) + { + $.messager.confirm('删除确认','确定要删除选中的' + row.length + '条财务信息吗?',function(r) + { + if (r) + { + var ids = ""; + for(var i = 0;i < row.length; i ++) { + if(i == row.length-1) + { + ids += row[i].id; + break; + } + ids += row[i].id + ","; + } + + //批量删除 + $.ajax({ + type:"post", + url: "/accountHead/batchDeleteAccountHeadByIds", + dataType: "json", + async : false, + data: ({ + ids : ids + }), + success: function (res) { + if(res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + if(res && res.code == 601){ + var jsondata={}; + jsondata.ids=ids; + jsondata.deleteType='2'; + var type='batch'; + batDeleteAccountHeadForceConfirm(res,"/accountHead/batchDeleteAccountHeadByIds",jsondata,type); + }else if(res && res.code == 600){ + $.messager.alert('删除提示', res.msg, 'error'); + return; + }else{ + $.messager.alert('删除提示', '删除信息失败,请稍后再试!', 'error'); + return; + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('删除提示','删除财务信息异常,请稍后再试!','error'); + return; + } + }); + //批量更新会员的预收款信息 + for(var i = 0;i < row.length; i ++) { + if(listType === "收预付款"){ + $.ajax({ + type:"post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data:{ + supplierId: row[i].organid, //会员id + advanceIn: 0 - row[i].totalprice //删除时同时删除用户的预付款信息 + }, + success: function(res){ + if(res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function(){ + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + } + } + }); + } +} +/** + * 确认强制删除 + * */ +function batDeleteAccountHeadForceConfirm(res,url,jsondata) { + $.messager.confirm('删除确认', res.msg, function (r) { + if (r) { + $.ajax({ + type: "post", + url: url, + dataType: "json", + data: (jsondata), + success: function (res) { + if(res && res.code == 200) { + $("#searchBtn").click(); + if(type=='batch'){ + $(":checkbox").attr("checked", false); + } + }else if(res && res.code == 600){ + $.messager.alert('删除提示', res.msg, 'error'); + return; + }else { + $.messager.alert('删除提示','删除财务信息异常,请稍后再试!','error'); + return; + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('删除提示','删除财务信息异常,请稍后再试!','error'); + return; + } + }); + } + }); +} + + +//增加 +function addAccountHead(){ + $('#accountHeadFM').form('clear'); + var thisDateTime = getNowFormatDateTime(); //当前时间 + $("#BillTime").val(thisDateTime); + var thisNumber = getNowFormatDateNum(); //根据时间生成编号 + $("#BillNo").val(amountNum + thisNumber).focus(); + var addTitle = listTitle.replace("列表","信息"); + $('#accountHeadDlg').dialog('open').dialog('setTitle',' 增加' + addTitle); + $(".window-mask").css({ width: webW ,height: webH}); + + orgAccountHead = ""; + accountHeadID = 0; + initTableData_account("add"); //明细列表 + reject(); //撤销下、刷新材料列表 + url = '/accountHead/add'; + + //收预付款单据支持刷卡功能 + if(listType == "收预付款") { + //当会员卡号长度超过10位后,自动点击下拉框,用于兼容刷卡器 + $("#OrganId").next().find("input").off("keyup").on("keyup",function(){ + if($(this).val().length === 10){ + setTimeout(function(){ + $(".combo-panel .combobox-item-selected").click(); + },500); + } + }); + } +} + +//编辑信息 +function editAccountHead(index){ + // var accountHeadInfo = accountHeadTotalInfo.split("AaBb"); + //获取当前行 + var rowsdata = $("#tableData").datagrid("getRows")[index]; + $("#BillNo").val(rowsdata.billno); + $("#BillTime").val(rowsdata.billtime); + $("#Remark").val(rowsdata.remark); + $("#AccountId").val(rowsdata.accountid); + $('#OrganId').combobox('setValue', rowsdata.organid); + $("#HandsPersonId").val(rowsdata.handspersonid); + $("#ChangeAmount").val(rowsdata.changeamount); + var TotalPrice = rowsdata.totalprice; + preTotalPrice = rowsdata.totalprice; //记录前一次合计金额,用于收预付款 + var editTitle = listTitle.replace("列表","信息"); + $('#accountHeadDlg').dialog('open').dialog('setTitle',' 编辑' + editTitle); + $(".window-mask").css({ width: webW ,height: webH}); + accountHeadID = rowsdata.id; + + initTableData_account("edit",TotalPrice); //明细列表 + reject(); //撤销下、刷新列表 + url = '/accountHead/update?id=' + rowsdata.id; +} + +//查看信息 +function showAccountHead(index){ + // var accountHeadInfo = accountHeadTotalInfo.split("AaBb"); + //获取当前行 + var rowsdata = $("#tableData").datagrid("getRows")[index]; + $("#BillNoShow").text(rowsdata.billno); + $("#BillTimeShow").text(rowsdata.billtime); + $("#RemarkShow").text(rowsdata.remark); + $("#AccountIdShow").text(rowsdata.accountname); + $('#OrganIdShow').text(rowsdata.organname); + $("#HandsPersonIdShow").text(rowsdata.handspersonname); + $("#ChangeAmountShow").text(rowsdata.rowsdata==undefined?'0':rowsdata.rowsdata); + var TotalPrice = rowsdata.totalprice; + var showTitle = listTitle.replace("列表","信息"); + $('#accountHeadDlgShow').dialog('open').dialog('setTitle',' 查看' + showTitle); + $(".window-mask").css({ width: webW ,height: webH}); + + accountHeadID = rowsdata.id; + initTableData_account_show(TotalPrice); //明细列表-查看状态 +} + +//绑定操作事件 +function bindEvent(){ + //搜索处理 + $("#searchBtn").unbind().bind({ + click:function() + { + showAccountHeadDetails(1,initPageSize); + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + opts.pageNumber = 1; + opts.pageSize = initPageSize; + pager.pagination('refresh', { + pageNumber:1, + pageSize:initPageSize + }); + } + }); + + //重置按钮 + $("#searchResetBtn").unbind().bind({ + click:function(){ + $("#searchBillNo").val(""); + $("#searchBeginTime").val(""); + $("#searchEndTime").val(""); + //加载完以后重新初始化 + $("#searchBtn").click(); + } + }); + + //保存信息 + $("#saveAccountHead").off("click").on("click", function () { + if(!$('#accountHeadFM').form('validate')){ + return; + } else { + if (listTitle === "收入单列表") { + if (!$('#AccountId').val()) { + $.messager.alert('提示', '请选择收款账户!', 'warning'); + return; + } + if (!$('#OrganId').combobox('getValue')) { + $.messager.alert('提示', '请选择往来单位!', 'warning'); + return; + } + if (!$('#HandsPersonId').val()) { + $.messager.alert('提示', '请选择经手人!', 'warning'); + return; + } + } + else if (listTitle === "支出单列表") { + if (!$('#AccountId').val()) { + $.messager.alert('提示', '请选择付款账户!', 'warning'); + return; + } + if (!$('#OrganId').combobox('getValue')) { + $.messager.alert('提示', '请选择往来单位!', 'warning'); + return; + } + if (!$('#HandsPersonId').val()) { + $.messager.alert('提示', '请选择经手人!', 'warning'); + return; + } + } + else if (listTitle === "收款单列表") { + if (!$('#OrganId').combobox('getValue')) { + $.messager.alert('提示', '请选择付款单位!', 'warning'); + return; + } + if (!$('#HandsPersonId').val()) { + $.messager.alert('提示', '请选择经手人!', 'warning'); + return; + } + } + else if (listTitle === "付款单列表") { + if (!$('#OrganId').combobox('getValue')) { + $.messager.alert('提示', '请选择收款单位!', 'warning'); + return; + } + if (!$('#HandsPersonId').val()) { + $.messager.alert('提示', '请选择经手人!', 'warning'); + return; + } + } + else if (listTitle === "转账单列表") { + if (!$('#HandsPersonId').val()) { + $.messager.alert('提示', '请选择经手人!', 'warning'); + return; + } + if (!$('#AccountId').val()) { + $.messager.alert('提示', '请选择付款账户!', 'warning'); + return; + } + } + else if (listTitle === "收预付款列表") { + if (!$('#HandsPersonId').val()) { + $.messager.alert('提示', '请选择经手人!', 'warning'); + return; + } + if (!$('#OrganId').combobox('getValue')) { + $.messager.alert('提示', '请选择付款会员!', 'warning'); + return; + } + } + var OrganId = null; + var ChangeAmount = $.trim($("#ChangeAmount").val()); + var TotalPrice = $("#accountHeadFM .datagrid-footer [field='EachAmount'] div").text(); + if (listType !== "转账") { + OrganId = $('#OrganId').combobox('getValue'); + } + if (listType === "支出" || listType === "转账") { + //支出为负数 + ChangeAmount = 0 - ChangeAmount; + } + if (listType === "支出" || listType === "付款" || listType === "转账") { + //支出和付款为负数 + TotalPrice = 0 - TotalPrice; + } + //更新会员的预收款信息 + if (listType === "收预付款") { + var advanceIn = 0; //预付款金额 + if (accountHeadID) { + advanceIn = TotalPrice - preTotalPrice; //修改时,预付款=合计金额-加载金额 + } + else { + advanceIn = TotalPrice; //新增时,预付款=合计金额 + } + $.ajax({ + type: "post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data: { + supplierId: OrganId, + advanceIn: advanceIn + }, + success: function (res) { + if (res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function () { + $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); + return; + } + }); + } + + //保存单位信息 + $.ajax({ + type: "post", + url: url, + dataType: "json", + async: false, + data: ({ + info : JSON.stringify({ + Type: listType, + BillNo: $.trim($("#BillNo").val()), + BillTime: $.trim($("#BillTime").val()), + AccountId: $.trim($("#AccountId").val()), + ChangeAmount: ChangeAmount, //付款/收款/优惠/实付 + TotalPrice: TotalPrice, //合计 + OrganId: OrganId, + HandsPersonId: $.trim($("#HandsPersonId").val()), + Remark: $.trim($("#Remark").val()) + }) + }), + success: function (tipInfo) { + if (tipInfo) { + //保存明细记录 + if (accountHeadID == 0) { + getMaxId(); //查找最大的Id + accept(accountHeadMaxId, listType); //新增 + } + else { + accept(accountHeadID, listType); //修改 + } + + $('#accountHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showAccountHeadDetails(opts.pageNumber, opts.pageSize); + } + else { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); + return; + } + }); + } + }); + + //打印单据 + $("#printAccountHeadShow").off("click").on("click",function(){ + var tableString = $("#accountHeadDlgShow").html(); + localStorage.setItem("tableString",tableString); + window.open("../../js/print/print_form.html","location:No;status:No;help:No;dialogWidth:800px;dialogHeight:600px;scroll:auto;"); + }); + + //初始化键盘enter事件 + $(document).keydown(function(event) + { + //兼容 IE和firefox 事件 + var e = window.event || event; + var k = e.keyCode||e.which||e.charCode; + //兼容 IE,firefox 兼容 + var obj = e.srcElement ? e.srcElement : e.target; + //绑定键盘事件为 id是指定的输入框才可以触发键盘事件 13键盘事件 ---遗留问题 enter键效验 对话框会关闭问题 + if(k == "13"&&(obj.id=="BillNo"||obj.id=="BillTime")) + { + $("#saveAccountHead").click(); + } + //搜索按钮添加快捷键 + if(k == "13"&&(obj.id=="searchBillNo")) + { + $("#searchBtn").click(); + } + }); +} + +function showAccountHeadDetails(pageNo,pageSize){ + $.ajax({ + type:"get", + url: "/accountHead/list", + dataType: "json", + data: ({ + search: JSON.stringify({ + type: listType, + billNo: $.trim($("#searchBillNo").val()), + beginTime: $("#searchBeginTime").val(), + endTime: $("#searchEndTime").val() + }), + currentPage: pageNo, + pageSize: pageSize + }), + success: function (res) { + if(res && res.code === 200){ + if(res.data && res.data.page) { + $("#tableData").datagrid('loadData', res.data.page); + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + return; + } + }); +} + +//自动计算事件 +function autoReckon() { + //延时绑定事件 + setTimeout(function(){ + var body =$("#accountHeadFM .datagrid-body"); + var footer =$("#accountHeadFM .datagrid-footer"); + var input = ".datagrid-editable-input"; + + //修改金额,自动计算单价和合计 + body.find("[field='EachAmount']").find(input).off("keyup").on("keyup",function(){ + var TotalPrice = 0; + var EachAmount =$(this).val()-0; //金额 + body.find("[field='EachAmount']").each(function(){ + if($(this).find("div").text()!==""){ + TotalPrice = TotalPrice + parseFloat($(this).find("div").text().toString()); + } + }); + TotalPrice = TotalPrice + EachAmount; + footer.find("[field='EachAmount']").find("div").text((TotalPrice).toFixed(2)); + }); + },500); +} + +//结束编辑 +function endEditing() { + var edField = ""; + if(!itemType){ + edField = "InOutItemId"; + edName = "InOutItemName"; + } + else { + edField = "AccountId"; + edName = "AccountName"; + } + if (editIndex == undefined) { return true } + if ($('#accountData').datagrid('validateRow', editIndex)) { + var ed = $('#accountData').datagrid('getEditor', {index: editIndex, field: edField}); + var textName = $(ed.target).combobox('getText'); + $('#accountData').datagrid('getRows')[editIndex][edName] = textName; + $('#accountData').datagrid('endEdit', editIndex); + editIndex = undefined; + return true; + } else { + return false; + } +} +//单击 +function onClickRow(index) { + if (editIndex != index) { + if (endEditing()) { + $('#accountData').datagrid('selectRow', index) + .datagrid('beginEdit', index); + editIndex = index; + autoReckon(); + } else { + $('#accountData').datagrid('selectRow', editIndex); + } + } +} +//新增 +function append() { + if (endEditing()) { + $('#accountData').datagrid('appendRow', {}); + editIndex = $('#accountData').datagrid('getRows').length - 1; + $('#accountData').datagrid('selectRow', editIndex).datagrid('beginEdit', editIndex); + autoReckon(); + } +} +//删除 +function removeit() { + if (editIndex == undefined) { return } + $('#accountData').datagrid('cancelEdit', editIndex) + .datagrid('deleteRow', editIndex); + editIndex = undefined; +} +//撤销 +function reject() { + $('#accountData').datagrid('rejectChanges'); + editIndex = undefined; +} +//判断 +function CheckData() { + var row = $('#accountData').datagrid('getRows'); + var totalRowNum = ""; + for (var i = 0; i < row.length; i++) { + if(!itemType){ + if (row[i].InOutItemId == "") { + totalRowNum += (i + 1) + "、"; + } + } + else{ + if (row[i].AccountId == "") { + totalRowNum += (i + 1) + "、"; + } + } + } + if (totalRowNum != "") { + var totalRowNum = totalRowNum.substring(0, totalRowNum.length - 1); + $.messager.alert('提示',"第" + totalRowNum + "行数据填写不完整!",'info'); + return false; + } + return true; +} +//保存 +function accept(accepId,listType) { + append(); + removeit(); + if ($("#accountData").datagrid('getChanges').length) { + if (!CheckData()) + return false; + var inserted = $("#accountData").datagrid('getChanges', "inserted"); + var deleted = $("#accountData").datagrid('getChanges', "deleted"); + var updated = $("#accountData").datagrid('getChanges', "updated"); + $.ajax({ + type: "post", + url: "/accountItem/saveDetials", + data: { + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated), + headerId: accepId, + listType: listType + }, + success: function (tipInfo) + { + if (tipInfo) { + $.messager.alert('提示','保存成功!','info'); + } + else + $.messager.alert('提示','保存失败!','error'); + + }, + error: function (XmlHttpRequest, textStatus, errorThrown) + { + $.messager.alert('提示',XmlHttpRequest.responseText,'error'); + } + }); + } + if (endEditing()) { + $('#accountData').datagrid('acceptChanges'); + } +} +//获取MaxId +function getMaxId(){ + var accountHeadMax=null; + $.ajax({ + type:"get", + url: "/accountHead/getMaxId", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + accountHeadMax = res.data.maxId; + } + } + } + }); + + if(accountHeadMax !=null) { + accountHeadMaxId=accountHeadMax; + } +} \ No newline at end of file diff --git a/erp_web/js/pages/financial/money_in.js b/erp_web/js/pages/financial/money_in.js new file mode 100644 index 00000000..42be5859 --- /dev/null +++ b/erp_web/js/pages/financial/money_in.js @@ -0,0 +1,1165 @@ +//初始化界面 +$(function(){ + var accountList = null; + var accountID = null; + var supplierList = null; + var supplierID = null; + var personList = null; + var personID = null; + var ProjectSearch = null; + var accountHeadMaxId = null; //获取最大的Id + var accepId = null; //保存的主表id + var url; + var accountHeadID = 0; + var preTotalPrice = 0; //前一次加载的金额 + var orgAccountHead = ""; //保存编辑前的名称 + var editIndex = undefined; + var listTitle = ""; //单据标题 + var payTypeTitle = "";//收入 支出 + var organUrl = ""; //组织数据接口地址 + var amountNum = ""; //单据编号开头字符 + var itemType = true; //隐藏当前列 + var moneyType = true; //隐藏当前列 + var inOrOut = ""; //链接类型为收入或者支出 + getType(); + initSystemData_person(); //经手人数据 + initSelectInfo_person(); //经手人信息 + initSystemData_account(); //账户数据 + initSelectInfo_account(); //账户信息 + initSupplier(); //供应商 + initTableData(); + ininPager(); + initForm(); + bindEvent();//绑定操作事件 + $("#searchBtn").click(); +}); +//根据单据名称获取类型 +function getType(){ + listTitle = $("#tablePanel").prev().text(); + var supUrl = "/supplier/findBySelect_sup"; //供应商接口 + var cusUrl = "/supplier/findBySelect_cus"; //客户接口 + var retailUrl = "/supplier/findBySelect_retail"; //散户接口 + if(listTitle === "收入单列表"){ + listType = "收入"; + itemType = false; //显示当前列 + moneyType = true; //隐藏当前列 + payTypeTitle = "收入项目"; + inOrOut = "in"; + organUrl = cusUrl; + amountNum = "SR"; + } + else if(listTitle === "支出单列表"){ + listType = "支出"; + itemType = false; //显示当前列 + moneyType = true; //隐藏当前列 + payTypeTitle = "支出项目"; + inOrOut = "out"; + organUrl = supUrl; + amountNum = "ZC"; + } + else if(listTitle === "收款单列表"){ + listType = "收款"; + itemType = true; //隐藏当前列 + moneyType = false; //显示当前列 + payTypeTitle = "无标题"; + inOrOut = ""; + organUrl = cusUrl; + amountNum = "SK"; + } + else if(listTitle === "付款单列表"){ + listType = "付款"; + itemType = true; //隐藏当前列 + moneyType = false; //显示当前列 + payTypeTitle = "无标题"; + inOrOut = ""; + organUrl = supUrl; + amountNum = "FK"; + } + else if(listTitle === "转账单列表"){ + listType = "转账"; + itemType = true; //隐藏当前列 + moneyType = false; //显示当前列 + payTypeTitle = "无标题"; + inOrOut = ""; + organUrl = supUrl; + amountNum = "ZZ"; + } + else if(listTitle === "收预付款列表"){ + listType = "收预付款"; + itemType = true; //隐藏当前列 + moneyType = false; //显示当前列 + payTypeTitle = "无标题"; + inOrOut = ""; + organUrl = retailUrl; + amountNum = "SYF"; + } +} +//获取账户信息 +function initSystemData_account(){ + $.ajax({ + type:"get", + url: "/account/getAccount", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + accountList = res.data.accountList; + } + } + } + }); +} +//获取账户信息 +function initSelectInfo_account(){ + var options = ""; + if(accountList !=null) + { + options = ""; + for(var i = 0 ;i < accountList.length; i++) + { + var account = accountList[i]; + options += ''; + } + $("#AccountId").empty().append(options); + } +} + +//初始化单位信息 +function initSupplier(){ + $('#OrganId').combobox({ + url: organUrl, + valueField:'id', + textField:'supplier', + formatter: function(row){ + var opts = $(this).combobox('options'); + if(row[opts.textField]!=="非会员") { + return row[opts.textField]; + } + } + }); +} + +//获取财务员 +function initSystemData_person(){ + var type = "财务员"; + $.ajax({ + type:"get", + url: "/person/getPersonByType", + data: { + type: type + }, + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + personList = res.data.personList; + } + } + }); +} +//获取财务员 +function initSelectInfo_person(){ + var options = ""; + + if(personList !=null) + { + for(var i = 0 ;i < personList.length;i++) + { + var person = personList[i]; + if(0 == i) + { + personID = person.id; + } + if(person.type=="财务员") + { + options += ''; + } + } + $("#HandsPersonId").empty().append(options); + } +} + +//防止表单提交重复 +function initForm(){ + $('#accountHeadFM').form({ + onSubmit: function(){ + return false; + } + }); +} + +//初始化表格数据 +function initTableData(){ + var organNameTitle = ""; + var organNameHidden = false; + if(listType === "收入" || listType === "支出") { + organNameTitle = "往来单位"; + } + else if(listType === "收款") { + organNameTitle = "付款单位"; + } + else if(listType === "付款") { + organNameTitle = "收款单位"; + } + else if(listType === "收预付款") { + organNameTitle = "付款会员"; + } + if(listType === "转账") { + organNameHidden = true; + } + $('#tableData').datagrid({ + //width:700, + height:heightInfo, + rownumbers: false, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + //fitColumns:true, + //单击行是否选中 + //checkOnSelect : false, + pagination: true, + //交替出现背景 + striped : true, + //loadFilter: pagerFilter, + pageSize: 5, + pageList: initPageNum, + columns:[[ + { field: 'id',width:35,align:"center",checkbox:true}, + { title: '操作',field: 'op',align:"center",width:90,formatter:function(value, rec,index) { + /** + * create by: qiankunpingtai + * create time: 2019/5/7 10:48 + * website:https://qiankunpingtai.cn + * description: + * 修改效率低下的js + */ + var str = ''; + // var rowInfo = rec.id + 'AaBb' + rec.billno+ 'AaBb' + rec.billtime+ 'AaBb' + rec.remark + // + 'AaBb' + rec.accountid+ 'AaBb' + rec.accountname + 'AaBb' + rec.organid + 'AaBb' + rec.organname + // + 'AaBb' + rec.handspersonid + 'AaBb' + rec.handspersonname + 'AaBb' + rec.changeamount + 'AaBb' + rec.totalprice; + var orgId = rec.organid ? rec.organid : 0; + str += '   '; + str += '   '; + str += ''; + return str; + } + }, + { field: 'organid',width:5, hidden:true}, + { title: organNameTitle,field: 'organname',width:140,hidden:organNameHidden}, + { title: '单据编号',field: 'billno',width:140}, + { title: '经手人',field: 'handspersonname',width:80}, + { title: '单据时间 ',field: 'billtime',width:140}, + { title: '合计',field: 'totalprice',width:80}, + { title: '备注',field: 'remark',width:100} + ]], + toolbar:[ + { + id:'addAccountHead', + text:'增加', + iconCls:'icon-add', + handler:function() + { + addAccountHead(); + } + }, + { + id:'deleteAccountHead', + text:'删除', + iconCls:'icon-remove', + handler:function() + { + batDeleteAccountHead(); + } + } + ], + onLoadError:function() + { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); +} + +//初始化表格数据-明细列表-编辑状态 +function initTableData_account(type,TotalPrice){ + $('#accountData').datagrid({ + height:280, + rownumbers: false, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + //单击行是否选中 + checkOnSelect : false, + pagination: false, + //交替出现背景 + striped : true, + showFooter: true, + //loadFilter: pagerFilter, + onClickRow: onClickRow, + columns:[[ + { field: 'Id',width:35,align:"center",checkbox:true}, + { title: payTypeTitle,field: 'InOutItemId',width:230,hidden:itemType, + formatter:function(value,row,index){ + return row.InOutItemName; + }, + editor:{ + type:'combobox', + options:{ + valueField:'Id', + textField:'InOutItemName', + method:'get', + url: "/inOutItem/findBySelect?type=" + inOrOut + } + } + }, + { title: '账户名称',field: 'AccountId',width:230,hidden:moneyType, + formatter:function(value,row,index){ + return row.AccountName; + }, + editor:{ + type:'combobox', + options:{ + valueField:'Id', + textField:'AccountName', + method:'get', + url: "/account/findBySelect" + } + } + }, + { title: '金额',field: 'EachAmount',editor:'validatebox',width:70}, + { title: '备注',field: 'Remark',editor:'validatebox',width:150} + ]], + toolbar:[ + { + id:'append', + text:'新增', + iconCls:'icon-add', + handler:function() + { + append(); //新增 + } + }, + { + id:'delete', + text:'删除', + iconCls:'icon-remove', + handler:function() + { + removeit(); //删除 + } + }, + { + id:'reject', + text:'撤销', + iconCls:'icon-undo', + handler:function() + { + reject(); //撤销 + } + } + ], + onLoadError:function() + { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); + $.ajax({ + type:"get", + url: '/accountItem/getDetailList', + data: { + headerId: accountHeadID + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + var data = res.data; + var EachAmount = 0; + if(type === "edit") { + EachAmount = TotalPrice; + } + var array = []; + array.push({ + "EachAmount": EachAmount + }); + data.footer = array; + $("#accountData").datagrid('loadData',data); + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); +} + + +//初始化表格数据-明细列表-查看状态 +function initTableData_account_show(TotalPrice){ + $('#accountDataShow').datagrid({ + height:280, + rownumbers: true, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + //单击行是否选中 + checkOnSelect : false, + pagination: false, + //交替出现背景 + striped : true, + showFooter: true, + //loadFilter: pagerFilter, + onClickRow: onClickRow, + columns:[[ + { title: payTypeTitle, field: 'InOutItemName', width:230, hidden:itemType}, + { title: '账户名称', field: 'AccountName', width:230, hidden:moneyType}, + { title: '金额',field: 'EachAmount',width:70}, + { title: '备注',field: 'Remark',width:150} + ]], + onLoadError:function() + { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); + $.ajax({ + type:"get", + url: '/accountItem/getDetailList', + data: { + headerId: accountHeadID + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + var data = res.data; + var EachAmount = TotalPrice; + var array = []; + array.push({ + "EachAmount": EachAmount + }); + data.footer = array; + $("#accountDataShow").datagrid('loadData', data); + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); +} + + +//分页信息处理 +function ininPager(){ + try + { + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + pager.pagination({ + onSelectPage:function(pageNum, pageSize) + { + opts.pageNumber = pageNum; + opts.pageSize = pageSize; + pager.pagination('refresh', + { + pageNumber:pageNum, + pageSize:pageSize + }); + showAccountHeadDetails(pageNum,pageSize); + } + }); + } + catch (e) + { + $.messager.alert('异常处理提示',"分页信息异常 : " + e.name + ": " + e.message,'error'); + } +} + +//删除财务信息 +function deleteAccountHead(accountHeadID, thisOrganId, totalPrice){ + $.messager.confirm('删除确认','确定要删除此财务信息吗?',function(r) + { + if (r) + { + $.ajax({ + type:"post", + url: "/accountHead/batchDeleteAccountHeadByIds", + dataType: "json", + data:{ + ids: accountHeadID + }, + success: function (res) { + if(res && res.code == 200) { + $("#searchBtn").click(); + } else { + if(res && res.code == 601){ + var jsondata={}; + jsondata.ids=accountHeadID; + jsondata.deleteType='2'; + var type='single'; + batDeleteAccountHeadForceConfirm(res,"/accountHead/batchDeleteAccountHeadByIds",jsondata,type); + }else if(res && res.code == 600){ + $.messager.alert('删除提示', res.msg, 'error'); + return; + }else{ + $.messager.alert('删除提示', '删除信息失败,请稍后再试!', 'error'); + return; + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('删除提示','删除财务信息异常,请稍后再试!','error'); + return; + } + }); + + //更新会员的预收款信息 + if(listType === "收预付款"){ + $.ajax({ + type:"post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data:{ + supplierId: thisOrganId, //会员id + advanceIn: 0-totalPrice //删除时同时删除用户的预付款信息 + }, + success: function(res){ + if(res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function(){ + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + } + }); +} + +//批量删除财务信息 +function batDeleteAccountHead(){ + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) + { + $.messager.alert('删除提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) + { + $.messager.confirm('删除确认','确定要删除选中的' + row.length + '条财务信息吗?',function(r) + { + if (r) + { + var ids = ""; + for(var i = 0;i < row.length; i ++) { + if(i == row.length-1) + { + ids += row[i].id; + break; + } + ids += row[i].id + ","; + } + + //批量删除 + $.ajax({ + type:"post", + url: "/accountHead/batchDeleteAccountHeadByIds", + dataType: "json", + async : false, + data: ({ + ids : ids + }), + success: function (res) { + if(res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + if(res && res.code == 601){ + var jsondata={}; + jsondata.ids=ids; + jsondata.deleteType='2'; + var type='batch'; + batDeleteAccountHeadForceConfirm(res,"/accountHead/batchDeleteAccountHeadByIds",jsondata,type); + }else if(res && res.code == 600){ + $.messager.alert('删除提示', res.msg, 'error'); + return; + }else{ + $.messager.alert('删除提示', '删除信息失败,请稍后再试!', 'error'); + return; + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('删除提示','删除财务信息异常,请稍后再试!','error'); + return; + } + }); + //批量更新会员的预收款信息 + for(var i = 0;i < row.length; i ++) { + if(listType === "收预付款"){ + $.ajax({ + type:"post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data:{ + supplierId: row[i].organid, //会员id + advanceIn: 0 - row[i].totalprice //删除时同时删除用户的预付款信息 + }, + success: function(res){ + if(res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function(){ + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + } + } + }); + } +} +/** + * 确认强制删除 + * */ +function batDeleteAccountHeadForceConfirm(res,url,jsondata) { + $.messager.confirm('删除确认', res.msg, function (r) { + if (r) { + $.ajax({ + type: "post", + url: url, + dataType: "json", + data: (jsondata), + success: function (res) { + if(res && res.code == 200) { + $("#searchBtn").click(); + if(type=='batch'){ + $(":checkbox").attr("checked", false); + } + }else if(res && res.code == 600){ + $.messager.alert('删除提示', res.msg, 'error'); + return; + }else { + $.messager.alert('删除提示','删除财务信息异常,请稍后再试!','error'); + return; + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('删除提示','删除财务信息异常,请稍后再试!','error'); + return; + } + }); + } + }); +} + + +//增加 +function addAccountHead(){ + $('#accountHeadFM').form('clear'); + var thisDateTime = getNowFormatDateTime(); //当前时间 + $("#BillTime").val(thisDateTime); + var thisNumber = getNowFormatDateNum(); //根据时间生成编号 + $("#BillNo").val(amountNum + thisNumber).focus(); + var addTitle = listTitle.replace("列表","信息"); + $('#accountHeadDlg').dialog('open').dialog('setTitle',' 增加' + addTitle); + $(".window-mask").css({ width: webW ,height: webH}); + + orgAccountHead = ""; + accountHeadID = 0; + initTableData_account("add"); //明细列表 + reject(); //撤销下、刷新材料列表 + url = '/accountHead/add'; + + //收预付款单据支持刷卡功能 + if(listType == "收预付款") { + //当会员卡号长度超过10位后,自动点击下拉框,用于兼容刷卡器 + $("#OrganId").next().find("input").off("keyup").on("keyup",function(){ + if($(this).val().length === 10){ + setTimeout(function(){ + $(".combo-panel .combobox-item-selected").click(); + },500); + } + }); + } +} + +//编辑信息 +function editAccountHead(index){ + // var accountHeadInfo = accountHeadTotalInfo.split("AaBb"); + //获取当前行 + var rowsdata = $("#tableData").datagrid("getRows")[index]; + $("#BillNo").val(rowsdata.billno); + $("#BillTime").val(rowsdata.billtime); + $("#Remark").val(rowsdata.remark); + $("#AccountId").val(rowsdata.accountid); + $('#OrganId').combobox('setValue', rowsdata.organid); + $("#HandsPersonId").val(rowsdata.handspersonid); + $("#ChangeAmount").val(rowsdata.changeamount); + var TotalPrice = rowsdata.totalprice; + preTotalPrice = rowsdata.totalprice; //记录前一次合计金额,用于收预付款 + var editTitle = listTitle.replace("列表","信息"); + $('#accountHeadDlg').dialog('open').dialog('setTitle',' 编辑' + editTitle); + $(".window-mask").css({ width: webW ,height: webH}); + accountHeadID = rowsdata.id; + + initTableData_account("edit",TotalPrice); //明细列表 + reject(); //撤销下、刷新列表 + url = '/accountHead/update?id=' + rowsdata.id; +} + +//查看信息 +function showAccountHead(index){ + // var accountHeadInfo = accountHeadTotalInfo.split("AaBb"); + //获取当前行 + var rowsdata = $("#tableData").datagrid("getRows")[index]; + $("#BillNoShow").text(rowsdata.billno); + $("#BillTimeShow").text(rowsdata.billtime); + $("#RemarkShow").text(rowsdata.remark); + $("#AccountIdShow").text(rowsdata.accountname); + $('#OrganIdShow').text(rowsdata.organname); + $("#HandsPersonIdShow").text(rowsdata.handspersonname); + $("#ChangeAmountShow").text(rowsdata.rowsdata==undefined?'0':rowsdata.rowsdata); + var TotalPrice = rowsdata.totalprice; + var showTitle = listTitle.replace("列表","信息"); + $('#accountHeadDlgShow').dialog('open').dialog('setTitle',' 查看' + showTitle); + $(".window-mask").css({ width: webW ,height: webH}); + + accountHeadID = rowsdata.id; + initTableData_account_show(TotalPrice); //明细列表-查看状态 +} + +//绑定操作事件 +function bindEvent(){ + //搜索处理 + $("#searchBtn").unbind().bind({ + click:function() + { + showAccountHeadDetails(1,initPageSize); + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + opts.pageNumber = 1; + opts.pageSize = initPageSize; + pager.pagination('refresh', { + pageNumber:1, + pageSize:initPageSize + }); + } + }); + + //重置按钮 + $("#searchResetBtn").unbind().bind({ + click:function(){ + $("#searchBillNo").val(""); + $("#searchBeginTime").val(""); + $("#searchEndTime").val(""); + //加载完以后重新初始化 + $("#searchBtn").click(); + } + }); + + //保存信息 + $("#saveAccountHead").off("click").on("click", function () { + if(!$('#accountHeadFM').form('validate')){ + return; + } else { + if (listTitle === "收入单列表") { + if (!$('#AccountId').val()) { + $.messager.alert('提示', '请选择收款账户!', 'warning'); + return; + } + if (!$('#OrganId').combobox('getValue')) { + $.messager.alert('提示', '请选择往来单位!', 'warning'); + return; + } + if (!$('#HandsPersonId').val()) { + $.messager.alert('提示', '请选择经手人!', 'warning'); + return; + } + } + else if (listTitle === "支出单列表") { + if (!$('#AccountId').val()) { + $.messager.alert('提示', '请选择付款账户!', 'warning'); + return; + } + if (!$('#OrganId').combobox('getValue')) { + $.messager.alert('提示', '请选择往来单位!', 'warning'); + return; + } + if (!$('#HandsPersonId').val()) { + $.messager.alert('提示', '请选择经手人!', 'warning'); + return; + } + } + else if (listTitle === "收款单列表") { + if (!$('#OrganId').combobox('getValue')) { + $.messager.alert('提示', '请选择付款单位!', 'warning'); + return; + } + if (!$('#HandsPersonId').val()) { + $.messager.alert('提示', '请选择经手人!', 'warning'); + return; + } + } + else if (listTitle === "付款单列表") { + if (!$('#OrganId').combobox('getValue')) { + $.messager.alert('提示', '请选择收款单位!', 'warning'); + return; + } + if (!$('#HandsPersonId').val()) { + $.messager.alert('提示', '请选择经手人!', 'warning'); + return; + } + } + else if (listTitle === "转账单列表") { + if (!$('#HandsPersonId').val()) { + $.messager.alert('提示', '请选择经手人!', 'warning'); + return; + } + if (!$('#AccountId').val()) { + $.messager.alert('提示', '请选择付款账户!', 'warning'); + return; + } + } + else if (listTitle === "收预付款列表") { + if (!$('#HandsPersonId').val()) { + $.messager.alert('提示', '请选择经手人!', 'warning'); + return; + } + if (!$('#OrganId').combobox('getValue')) { + $.messager.alert('提示', '请选择付款会员!', 'warning'); + return; + } + } + var OrganId = null; + var ChangeAmount = $.trim($("#ChangeAmount").val()); + var TotalPrice = $("#accountHeadFM .datagrid-footer [field='EachAmount'] div").text(); + if (listType !== "转账") { + OrganId = $('#OrganId').combobox('getValue'); + } + if (listType === "支出" || listType === "转账") { + //支出为负数 + ChangeAmount = 0 - ChangeAmount; + } + if (listType === "支出" || listType === "付款" || listType === "转账") { + //支出和付款为负数 + TotalPrice = 0 - TotalPrice; + } + //更新会员的预收款信息 + if (listType === "收预付款") { + var advanceIn = 0; //预付款金额 + if (accountHeadID) { + advanceIn = TotalPrice - preTotalPrice; //修改时,预付款=合计金额-加载金额 + } + else { + advanceIn = TotalPrice; //新增时,预付款=合计金额 + } + $.ajax({ + type: "post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data: { + supplierId: OrganId, + advanceIn: advanceIn + }, + success: function (res) { + if (res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function () { + $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); + return; + } + }); + } + + //保存单位信息 + $.ajax({ + type: "post", + url: url, + dataType: "json", + async: false, + data: ({ + info : JSON.stringify({ + Type: listType, + BillNo: $.trim($("#BillNo").val()), + BillTime: $.trim($("#BillTime").val()), + AccountId: $.trim($("#AccountId").val()), + ChangeAmount: ChangeAmount, //付款/收款/优惠/实付 + TotalPrice: TotalPrice, //合计 + OrganId: OrganId, + HandsPersonId: $.trim($("#HandsPersonId").val()), + Remark: $.trim($("#Remark").val()) + }) + }), + success: function (tipInfo) { + if (tipInfo) { + //保存明细记录 + if (accountHeadID == 0) { + getMaxId(); //查找最大的Id + accept(accountHeadMaxId, listType); //新增 + } + else { + accept(accountHeadID, listType); //修改 + } + + $('#accountHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showAccountHeadDetails(opts.pageNumber, opts.pageSize); + } + else { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); + return; + } + }); + } + }); + + //打印单据 + $("#printAccountHeadShow").off("click").on("click",function(){ + var tableString = $("#accountHeadDlgShow").html(); + localStorage.setItem("tableString",tableString); + window.open("../../js/print/print_form.html","location:No;status:No;help:No;dialogWidth:800px;dialogHeight:600px;scroll:auto;"); + }); + + //初始化键盘enter事件 + $(document).keydown(function(event) + { + //兼容 IE和firefox 事件 + var e = window.event || event; + var k = e.keyCode||e.which||e.charCode; + //兼容 IE,firefox 兼容 + var obj = e.srcElement ? e.srcElement : e.target; + //绑定键盘事件为 id是指定的输入框才可以触发键盘事件 13键盘事件 ---遗留问题 enter键效验 对话框会关闭问题 + if(k == "13"&&(obj.id=="BillNo"||obj.id=="BillTime")) + { + $("#saveAccountHead").click(); + } + //搜索按钮添加快捷键 + if(k == "13"&&(obj.id=="searchBillNo")) + { + $("#searchBtn").click(); + } + }); +} + +function showAccountHeadDetails(pageNo,pageSize){ + $.ajax({ + type:"get", + url: "/accountHead/list", + dataType: "json", + data: ({ + search: JSON.stringify({ + type: listType, + billNo: $.trim($("#searchBillNo").val()), + beginTime: $("#searchBeginTime").val(), + endTime: $("#searchEndTime").val() + }), + currentPage: pageNo, + pageSize: pageSize + }), + success: function (res) { + if(res && res.code === 200){ + if(res.data && res.data.page) { + $("#tableData").datagrid('loadData', res.data.page); + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + return; + } + }); +} + +//自动计算事件 +function autoReckon() { + //延时绑定事件 + setTimeout(function(){ + var body =$("#accountHeadFM .datagrid-body"); + var footer =$("#accountHeadFM .datagrid-footer"); + var input = ".datagrid-editable-input"; + + //修改金额,自动计算单价和合计 + body.find("[field='EachAmount']").find(input).off("keyup").on("keyup",function(){ + var TotalPrice = 0; + var EachAmount =$(this).val()-0; //金额 + body.find("[field='EachAmount']").each(function(){ + if($(this).find("div").text()!==""){ + TotalPrice = TotalPrice + parseFloat($(this).find("div").text().toString()); + } + }); + TotalPrice = TotalPrice + EachAmount; + footer.find("[field='EachAmount']").find("div").text((TotalPrice).toFixed(2)); + }); + },500); +} + +//结束编辑 +function endEditing() { + var edField = ""; + if(!itemType){ + edField = "InOutItemId"; + edName = "InOutItemName"; + } + else { + edField = "AccountId"; + edName = "AccountName"; + } + if (editIndex == undefined) { return true } + if ($('#accountData').datagrid('validateRow', editIndex)) { + var ed = $('#accountData').datagrid('getEditor', {index: editIndex, field: edField}); + var textName = $(ed.target).combobox('getText'); + $('#accountData').datagrid('getRows')[editIndex][edName] = textName; + $('#accountData').datagrid('endEdit', editIndex); + editIndex = undefined; + return true; + } else { + return false; + } +} +//单击 +function onClickRow(index) { + if (editIndex != index) { + if (endEditing()) { + $('#accountData').datagrid('selectRow', index) + .datagrid('beginEdit', index); + editIndex = index; + autoReckon(); + } else { + $('#accountData').datagrid('selectRow', editIndex); + } + } +} +//新增 +function append() { + if (endEditing()) { + $('#accountData').datagrid('appendRow', {}); + editIndex = $('#accountData').datagrid('getRows').length - 1; + $('#accountData').datagrid('selectRow', editIndex).datagrid('beginEdit', editIndex); + autoReckon(); + } +} +//删除 +function removeit() { + if (editIndex == undefined) { return } + $('#accountData').datagrid('cancelEdit', editIndex) + .datagrid('deleteRow', editIndex); + editIndex = undefined; +} +//撤销 +function reject() { + $('#accountData').datagrid('rejectChanges'); + editIndex = undefined; +} +//判断 +function CheckData() { + var row = $('#accountData').datagrid('getRows'); + var totalRowNum = ""; + for (var i = 0; i < row.length; i++) { + if(!itemType){ + if (row[i].InOutItemId == "") { + totalRowNum += (i + 1) + "、"; + } + } + else{ + if (row[i].AccountId == "") { + totalRowNum += (i + 1) + "、"; + } + } + } + if (totalRowNum != "") { + var totalRowNum = totalRowNum.substring(0, totalRowNum.length - 1); + $.messager.alert('提示',"第" + totalRowNum + "行数据填写不完整!",'info'); + return false; + } + return true; +} +//保存 +function accept(accepId,listType) { + append(); + removeit(); + if ($("#accountData").datagrid('getChanges').length) { + if (!CheckData()) + return false; + var inserted = $("#accountData").datagrid('getChanges', "inserted"); + var deleted = $("#accountData").datagrid('getChanges', "deleted"); + var updated = $("#accountData").datagrid('getChanges', "updated"); + $.ajax({ + type: "post", + url: "/accountItem/saveDetials", + data: { + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated), + headerId: accepId, + listType: listType + }, + success: function (tipInfo) + { + if (tipInfo) { + $.messager.alert('提示','保存成功!','info'); + } + else + $.messager.alert('提示','保存失败!','error'); + + }, + error: function (XmlHttpRequest, textStatus, errorThrown) + { + $.messager.alert('提示',XmlHttpRequest.responseText,'error'); + } + }); + } + if (endEditing()) { + $('#accountData').datagrid('acceptChanges'); + } +} +//获取MaxId +function getMaxId(){ + var accountHeadMax=null; + $.ajax({ + type:"get", + url: "/accountHead/getMaxId", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + accountHeadMax = res.data.maxId; + } + } + } + }); + + if(accountHeadMax !=null) { + accountHeadMaxId=accountHeadMax; + } +} \ No newline at end of file diff --git a/erp_web/js/pages/financial/money_out.js b/erp_web/js/pages/financial/money_out.js new file mode 100644 index 00000000..42be5859 --- /dev/null +++ b/erp_web/js/pages/financial/money_out.js @@ -0,0 +1,1165 @@ +//初始化界面 +$(function(){ + var accountList = null; + var accountID = null; + var supplierList = null; + var supplierID = null; + var personList = null; + var personID = null; + var ProjectSearch = null; + var accountHeadMaxId = null; //获取最大的Id + var accepId = null; //保存的主表id + var url; + var accountHeadID = 0; + var preTotalPrice = 0; //前一次加载的金额 + var orgAccountHead = ""; //保存编辑前的名称 + var editIndex = undefined; + var listTitle = ""; //单据标题 + var payTypeTitle = "";//收入 支出 + var organUrl = ""; //组织数据接口地址 + var amountNum = ""; //单据编号开头字符 + var itemType = true; //隐藏当前列 + var moneyType = true; //隐藏当前列 + var inOrOut = ""; //链接类型为收入或者支出 + getType(); + initSystemData_person(); //经手人数据 + initSelectInfo_person(); //经手人信息 + initSystemData_account(); //账户数据 + initSelectInfo_account(); //账户信息 + initSupplier(); //供应商 + initTableData(); + ininPager(); + initForm(); + bindEvent();//绑定操作事件 + $("#searchBtn").click(); +}); +//根据单据名称获取类型 +function getType(){ + listTitle = $("#tablePanel").prev().text(); + var supUrl = "/supplier/findBySelect_sup"; //供应商接口 + var cusUrl = "/supplier/findBySelect_cus"; //客户接口 + var retailUrl = "/supplier/findBySelect_retail"; //散户接口 + if(listTitle === "收入单列表"){ + listType = "收入"; + itemType = false; //显示当前列 + moneyType = true; //隐藏当前列 + payTypeTitle = "收入项目"; + inOrOut = "in"; + organUrl = cusUrl; + amountNum = "SR"; + } + else if(listTitle === "支出单列表"){ + listType = "支出"; + itemType = false; //显示当前列 + moneyType = true; //隐藏当前列 + payTypeTitle = "支出项目"; + inOrOut = "out"; + organUrl = supUrl; + amountNum = "ZC"; + } + else if(listTitle === "收款单列表"){ + listType = "收款"; + itemType = true; //隐藏当前列 + moneyType = false; //显示当前列 + payTypeTitle = "无标题"; + inOrOut = ""; + organUrl = cusUrl; + amountNum = "SK"; + } + else if(listTitle === "付款单列表"){ + listType = "付款"; + itemType = true; //隐藏当前列 + moneyType = false; //显示当前列 + payTypeTitle = "无标题"; + inOrOut = ""; + organUrl = supUrl; + amountNum = "FK"; + } + else if(listTitle === "转账单列表"){ + listType = "转账"; + itemType = true; //隐藏当前列 + moneyType = false; //显示当前列 + payTypeTitle = "无标题"; + inOrOut = ""; + organUrl = supUrl; + amountNum = "ZZ"; + } + else if(listTitle === "收预付款列表"){ + listType = "收预付款"; + itemType = true; //隐藏当前列 + moneyType = false; //显示当前列 + payTypeTitle = "无标题"; + inOrOut = ""; + organUrl = retailUrl; + amountNum = "SYF"; + } +} +//获取账户信息 +function initSystemData_account(){ + $.ajax({ + type:"get", + url: "/account/getAccount", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + accountList = res.data.accountList; + } + } + } + }); +} +//获取账户信息 +function initSelectInfo_account(){ + var options = ""; + if(accountList !=null) + { + options = ""; + for(var i = 0 ;i < accountList.length; i++) + { + var account = accountList[i]; + options += ''; + } + $("#AccountId").empty().append(options); + } +} + +//初始化单位信息 +function initSupplier(){ + $('#OrganId').combobox({ + url: organUrl, + valueField:'id', + textField:'supplier', + formatter: function(row){ + var opts = $(this).combobox('options'); + if(row[opts.textField]!=="非会员") { + return row[opts.textField]; + } + } + }); +} + +//获取财务员 +function initSystemData_person(){ + var type = "财务员"; + $.ajax({ + type:"get", + url: "/person/getPersonByType", + data: { + type: type + }, + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + personList = res.data.personList; + } + } + }); +} +//获取财务员 +function initSelectInfo_person(){ + var options = ""; + + if(personList !=null) + { + for(var i = 0 ;i < personList.length;i++) + { + var person = personList[i]; + if(0 == i) + { + personID = person.id; + } + if(person.type=="财务员") + { + options += ''; + } + } + $("#HandsPersonId").empty().append(options); + } +} + +//防止表单提交重复 +function initForm(){ + $('#accountHeadFM').form({ + onSubmit: function(){ + return false; + } + }); +} + +//初始化表格数据 +function initTableData(){ + var organNameTitle = ""; + var organNameHidden = false; + if(listType === "收入" || listType === "支出") { + organNameTitle = "往来单位"; + } + else if(listType === "收款") { + organNameTitle = "付款单位"; + } + else if(listType === "付款") { + organNameTitle = "收款单位"; + } + else if(listType === "收预付款") { + organNameTitle = "付款会员"; + } + if(listType === "转账") { + organNameHidden = true; + } + $('#tableData').datagrid({ + //width:700, + height:heightInfo, + rownumbers: false, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + //fitColumns:true, + //单击行是否选中 + //checkOnSelect : false, + pagination: true, + //交替出现背景 + striped : true, + //loadFilter: pagerFilter, + pageSize: 5, + pageList: initPageNum, + columns:[[ + { field: 'id',width:35,align:"center",checkbox:true}, + { title: '操作',field: 'op',align:"center",width:90,formatter:function(value, rec,index) { + /** + * create by: qiankunpingtai + * create time: 2019/5/7 10:48 + * website:https://qiankunpingtai.cn + * description: + * 修改效率低下的js + */ + var str = ''; + // var rowInfo = rec.id + 'AaBb' + rec.billno+ 'AaBb' + rec.billtime+ 'AaBb' + rec.remark + // + 'AaBb' + rec.accountid+ 'AaBb' + rec.accountname + 'AaBb' + rec.organid + 'AaBb' + rec.organname + // + 'AaBb' + rec.handspersonid + 'AaBb' + rec.handspersonname + 'AaBb' + rec.changeamount + 'AaBb' + rec.totalprice; + var orgId = rec.organid ? rec.organid : 0; + str += '   '; + str += '   '; + str += ''; + return str; + } + }, + { field: 'organid',width:5, hidden:true}, + { title: organNameTitle,field: 'organname',width:140,hidden:organNameHidden}, + { title: '单据编号',field: 'billno',width:140}, + { title: '经手人',field: 'handspersonname',width:80}, + { title: '单据时间 ',field: 'billtime',width:140}, + { title: '合计',field: 'totalprice',width:80}, + { title: '备注',field: 'remark',width:100} + ]], + toolbar:[ + { + id:'addAccountHead', + text:'增加', + iconCls:'icon-add', + handler:function() + { + addAccountHead(); + } + }, + { + id:'deleteAccountHead', + text:'删除', + iconCls:'icon-remove', + handler:function() + { + batDeleteAccountHead(); + } + } + ], + onLoadError:function() + { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); +} + +//初始化表格数据-明细列表-编辑状态 +function initTableData_account(type,TotalPrice){ + $('#accountData').datagrid({ + height:280, + rownumbers: false, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + //单击行是否选中 + checkOnSelect : false, + pagination: false, + //交替出现背景 + striped : true, + showFooter: true, + //loadFilter: pagerFilter, + onClickRow: onClickRow, + columns:[[ + { field: 'Id',width:35,align:"center",checkbox:true}, + { title: payTypeTitle,field: 'InOutItemId',width:230,hidden:itemType, + formatter:function(value,row,index){ + return row.InOutItemName; + }, + editor:{ + type:'combobox', + options:{ + valueField:'Id', + textField:'InOutItemName', + method:'get', + url: "/inOutItem/findBySelect?type=" + inOrOut + } + } + }, + { title: '账户名称',field: 'AccountId',width:230,hidden:moneyType, + formatter:function(value,row,index){ + return row.AccountName; + }, + editor:{ + type:'combobox', + options:{ + valueField:'Id', + textField:'AccountName', + method:'get', + url: "/account/findBySelect" + } + } + }, + { title: '金额',field: 'EachAmount',editor:'validatebox',width:70}, + { title: '备注',field: 'Remark',editor:'validatebox',width:150} + ]], + toolbar:[ + { + id:'append', + text:'新增', + iconCls:'icon-add', + handler:function() + { + append(); //新增 + } + }, + { + id:'delete', + text:'删除', + iconCls:'icon-remove', + handler:function() + { + removeit(); //删除 + } + }, + { + id:'reject', + text:'撤销', + iconCls:'icon-undo', + handler:function() + { + reject(); //撤销 + } + } + ], + onLoadError:function() + { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); + $.ajax({ + type:"get", + url: '/accountItem/getDetailList', + data: { + headerId: accountHeadID + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + var data = res.data; + var EachAmount = 0; + if(type === "edit") { + EachAmount = TotalPrice; + } + var array = []; + array.push({ + "EachAmount": EachAmount + }); + data.footer = array; + $("#accountData").datagrid('loadData',data); + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); +} + + +//初始化表格数据-明细列表-查看状态 +function initTableData_account_show(TotalPrice){ + $('#accountDataShow').datagrid({ + height:280, + rownumbers: true, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + //单击行是否选中 + checkOnSelect : false, + pagination: false, + //交替出现背景 + striped : true, + showFooter: true, + //loadFilter: pagerFilter, + onClickRow: onClickRow, + columns:[[ + { title: payTypeTitle, field: 'InOutItemName', width:230, hidden:itemType}, + { title: '账户名称', field: 'AccountName', width:230, hidden:moneyType}, + { title: '金额',field: 'EachAmount',width:70}, + { title: '备注',field: 'Remark',width:150} + ]], + onLoadError:function() + { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); + $.ajax({ + type:"get", + url: '/accountItem/getDetailList', + data: { + headerId: accountHeadID + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + var data = res.data; + var EachAmount = TotalPrice; + var array = []; + array.push({ + "EachAmount": EachAmount + }); + data.footer = array; + $("#accountDataShow").datagrid('loadData', data); + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); +} + + +//分页信息处理 +function ininPager(){ + try + { + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + pager.pagination({ + onSelectPage:function(pageNum, pageSize) + { + opts.pageNumber = pageNum; + opts.pageSize = pageSize; + pager.pagination('refresh', + { + pageNumber:pageNum, + pageSize:pageSize + }); + showAccountHeadDetails(pageNum,pageSize); + } + }); + } + catch (e) + { + $.messager.alert('异常处理提示',"分页信息异常 : " + e.name + ": " + e.message,'error'); + } +} + +//删除财务信息 +function deleteAccountHead(accountHeadID, thisOrganId, totalPrice){ + $.messager.confirm('删除确认','确定要删除此财务信息吗?',function(r) + { + if (r) + { + $.ajax({ + type:"post", + url: "/accountHead/batchDeleteAccountHeadByIds", + dataType: "json", + data:{ + ids: accountHeadID + }, + success: function (res) { + if(res && res.code == 200) { + $("#searchBtn").click(); + } else { + if(res && res.code == 601){ + var jsondata={}; + jsondata.ids=accountHeadID; + jsondata.deleteType='2'; + var type='single'; + batDeleteAccountHeadForceConfirm(res,"/accountHead/batchDeleteAccountHeadByIds",jsondata,type); + }else if(res && res.code == 600){ + $.messager.alert('删除提示', res.msg, 'error'); + return; + }else{ + $.messager.alert('删除提示', '删除信息失败,请稍后再试!', 'error'); + return; + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('删除提示','删除财务信息异常,请稍后再试!','error'); + return; + } + }); + + //更新会员的预收款信息 + if(listType === "收预付款"){ + $.ajax({ + type:"post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data:{ + supplierId: thisOrganId, //会员id + advanceIn: 0-totalPrice //删除时同时删除用户的预付款信息 + }, + success: function(res){ + if(res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function(){ + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + } + }); +} + +//批量删除财务信息 +function batDeleteAccountHead(){ + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) + { + $.messager.alert('删除提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) + { + $.messager.confirm('删除确认','确定要删除选中的' + row.length + '条财务信息吗?',function(r) + { + if (r) + { + var ids = ""; + for(var i = 0;i < row.length; i ++) { + if(i == row.length-1) + { + ids += row[i].id; + break; + } + ids += row[i].id + ","; + } + + //批量删除 + $.ajax({ + type:"post", + url: "/accountHead/batchDeleteAccountHeadByIds", + dataType: "json", + async : false, + data: ({ + ids : ids + }), + success: function (res) { + if(res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + if(res && res.code == 601){ + var jsondata={}; + jsondata.ids=ids; + jsondata.deleteType='2'; + var type='batch'; + batDeleteAccountHeadForceConfirm(res,"/accountHead/batchDeleteAccountHeadByIds",jsondata,type); + }else if(res && res.code == 600){ + $.messager.alert('删除提示', res.msg, 'error'); + return; + }else{ + $.messager.alert('删除提示', '删除信息失败,请稍后再试!', 'error'); + return; + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('删除提示','删除财务信息异常,请稍后再试!','error'); + return; + } + }); + //批量更新会员的预收款信息 + for(var i = 0;i < row.length; i ++) { + if(listType === "收预付款"){ + $.ajax({ + type:"post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data:{ + supplierId: row[i].organid, //会员id + advanceIn: 0 - row[i].totalprice //删除时同时删除用户的预付款信息 + }, + success: function(res){ + if(res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function(){ + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + } + } + }); + } +} +/** + * 确认强制删除 + * */ +function batDeleteAccountHeadForceConfirm(res,url,jsondata) { + $.messager.confirm('删除确认', res.msg, function (r) { + if (r) { + $.ajax({ + type: "post", + url: url, + dataType: "json", + data: (jsondata), + success: function (res) { + if(res && res.code == 200) { + $("#searchBtn").click(); + if(type=='batch'){ + $(":checkbox").attr("checked", false); + } + }else if(res && res.code == 600){ + $.messager.alert('删除提示', res.msg, 'error'); + return; + }else { + $.messager.alert('删除提示','删除财务信息异常,请稍后再试!','error'); + return; + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('删除提示','删除财务信息异常,请稍后再试!','error'); + return; + } + }); + } + }); +} + + +//增加 +function addAccountHead(){ + $('#accountHeadFM').form('clear'); + var thisDateTime = getNowFormatDateTime(); //当前时间 + $("#BillTime").val(thisDateTime); + var thisNumber = getNowFormatDateNum(); //根据时间生成编号 + $("#BillNo").val(amountNum + thisNumber).focus(); + var addTitle = listTitle.replace("列表","信息"); + $('#accountHeadDlg').dialog('open').dialog('setTitle',' 增加' + addTitle); + $(".window-mask").css({ width: webW ,height: webH}); + + orgAccountHead = ""; + accountHeadID = 0; + initTableData_account("add"); //明细列表 + reject(); //撤销下、刷新材料列表 + url = '/accountHead/add'; + + //收预付款单据支持刷卡功能 + if(listType == "收预付款") { + //当会员卡号长度超过10位后,自动点击下拉框,用于兼容刷卡器 + $("#OrganId").next().find("input").off("keyup").on("keyup",function(){ + if($(this).val().length === 10){ + setTimeout(function(){ + $(".combo-panel .combobox-item-selected").click(); + },500); + } + }); + } +} + +//编辑信息 +function editAccountHead(index){ + // var accountHeadInfo = accountHeadTotalInfo.split("AaBb"); + //获取当前行 + var rowsdata = $("#tableData").datagrid("getRows")[index]; + $("#BillNo").val(rowsdata.billno); + $("#BillTime").val(rowsdata.billtime); + $("#Remark").val(rowsdata.remark); + $("#AccountId").val(rowsdata.accountid); + $('#OrganId').combobox('setValue', rowsdata.organid); + $("#HandsPersonId").val(rowsdata.handspersonid); + $("#ChangeAmount").val(rowsdata.changeamount); + var TotalPrice = rowsdata.totalprice; + preTotalPrice = rowsdata.totalprice; //记录前一次合计金额,用于收预付款 + var editTitle = listTitle.replace("列表","信息"); + $('#accountHeadDlg').dialog('open').dialog('setTitle',' 编辑' + editTitle); + $(".window-mask").css({ width: webW ,height: webH}); + accountHeadID = rowsdata.id; + + initTableData_account("edit",TotalPrice); //明细列表 + reject(); //撤销下、刷新列表 + url = '/accountHead/update?id=' + rowsdata.id; +} + +//查看信息 +function showAccountHead(index){ + // var accountHeadInfo = accountHeadTotalInfo.split("AaBb"); + //获取当前行 + var rowsdata = $("#tableData").datagrid("getRows")[index]; + $("#BillNoShow").text(rowsdata.billno); + $("#BillTimeShow").text(rowsdata.billtime); + $("#RemarkShow").text(rowsdata.remark); + $("#AccountIdShow").text(rowsdata.accountname); + $('#OrganIdShow').text(rowsdata.organname); + $("#HandsPersonIdShow").text(rowsdata.handspersonname); + $("#ChangeAmountShow").text(rowsdata.rowsdata==undefined?'0':rowsdata.rowsdata); + var TotalPrice = rowsdata.totalprice; + var showTitle = listTitle.replace("列表","信息"); + $('#accountHeadDlgShow').dialog('open').dialog('setTitle',' 查看' + showTitle); + $(".window-mask").css({ width: webW ,height: webH}); + + accountHeadID = rowsdata.id; + initTableData_account_show(TotalPrice); //明细列表-查看状态 +} + +//绑定操作事件 +function bindEvent(){ + //搜索处理 + $("#searchBtn").unbind().bind({ + click:function() + { + showAccountHeadDetails(1,initPageSize); + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + opts.pageNumber = 1; + opts.pageSize = initPageSize; + pager.pagination('refresh', { + pageNumber:1, + pageSize:initPageSize + }); + } + }); + + //重置按钮 + $("#searchResetBtn").unbind().bind({ + click:function(){ + $("#searchBillNo").val(""); + $("#searchBeginTime").val(""); + $("#searchEndTime").val(""); + //加载完以后重新初始化 + $("#searchBtn").click(); + } + }); + + //保存信息 + $("#saveAccountHead").off("click").on("click", function () { + if(!$('#accountHeadFM').form('validate')){ + return; + } else { + if (listTitle === "收入单列表") { + if (!$('#AccountId').val()) { + $.messager.alert('提示', '请选择收款账户!', 'warning'); + return; + } + if (!$('#OrganId').combobox('getValue')) { + $.messager.alert('提示', '请选择往来单位!', 'warning'); + return; + } + if (!$('#HandsPersonId').val()) { + $.messager.alert('提示', '请选择经手人!', 'warning'); + return; + } + } + else if (listTitle === "支出单列表") { + if (!$('#AccountId').val()) { + $.messager.alert('提示', '请选择付款账户!', 'warning'); + return; + } + if (!$('#OrganId').combobox('getValue')) { + $.messager.alert('提示', '请选择往来单位!', 'warning'); + return; + } + if (!$('#HandsPersonId').val()) { + $.messager.alert('提示', '请选择经手人!', 'warning'); + return; + } + } + else if (listTitle === "收款单列表") { + if (!$('#OrganId').combobox('getValue')) { + $.messager.alert('提示', '请选择付款单位!', 'warning'); + return; + } + if (!$('#HandsPersonId').val()) { + $.messager.alert('提示', '请选择经手人!', 'warning'); + return; + } + } + else if (listTitle === "付款单列表") { + if (!$('#OrganId').combobox('getValue')) { + $.messager.alert('提示', '请选择收款单位!', 'warning'); + return; + } + if (!$('#HandsPersonId').val()) { + $.messager.alert('提示', '请选择经手人!', 'warning'); + return; + } + } + else if (listTitle === "转账单列表") { + if (!$('#HandsPersonId').val()) { + $.messager.alert('提示', '请选择经手人!', 'warning'); + return; + } + if (!$('#AccountId').val()) { + $.messager.alert('提示', '请选择付款账户!', 'warning'); + return; + } + } + else if (listTitle === "收预付款列表") { + if (!$('#HandsPersonId').val()) { + $.messager.alert('提示', '请选择经手人!', 'warning'); + return; + } + if (!$('#OrganId').combobox('getValue')) { + $.messager.alert('提示', '请选择付款会员!', 'warning'); + return; + } + } + var OrganId = null; + var ChangeAmount = $.trim($("#ChangeAmount").val()); + var TotalPrice = $("#accountHeadFM .datagrid-footer [field='EachAmount'] div").text(); + if (listType !== "转账") { + OrganId = $('#OrganId').combobox('getValue'); + } + if (listType === "支出" || listType === "转账") { + //支出为负数 + ChangeAmount = 0 - ChangeAmount; + } + if (listType === "支出" || listType === "付款" || listType === "转账") { + //支出和付款为负数 + TotalPrice = 0 - TotalPrice; + } + //更新会员的预收款信息 + if (listType === "收预付款") { + var advanceIn = 0; //预付款金额 + if (accountHeadID) { + advanceIn = TotalPrice - preTotalPrice; //修改时,预付款=合计金额-加载金额 + } + else { + advanceIn = TotalPrice; //新增时,预付款=合计金额 + } + $.ajax({ + type: "post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data: { + supplierId: OrganId, + advanceIn: advanceIn + }, + success: function (res) { + if (res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function () { + $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); + return; + } + }); + } + + //保存单位信息 + $.ajax({ + type: "post", + url: url, + dataType: "json", + async: false, + data: ({ + info : JSON.stringify({ + Type: listType, + BillNo: $.trim($("#BillNo").val()), + BillTime: $.trim($("#BillTime").val()), + AccountId: $.trim($("#AccountId").val()), + ChangeAmount: ChangeAmount, //付款/收款/优惠/实付 + TotalPrice: TotalPrice, //合计 + OrganId: OrganId, + HandsPersonId: $.trim($("#HandsPersonId").val()), + Remark: $.trim($("#Remark").val()) + }) + }), + success: function (tipInfo) { + if (tipInfo) { + //保存明细记录 + if (accountHeadID == 0) { + getMaxId(); //查找最大的Id + accept(accountHeadMaxId, listType); //新增 + } + else { + accept(accountHeadID, listType); //修改 + } + + $('#accountHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showAccountHeadDetails(opts.pageNumber, opts.pageSize); + } + else { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); + return; + } + }); + } + }); + + //打印单据 + $("#printAccountHeadShow").off("click").on("click",function(){ + var tableString = $("#accountHeadDlgShow").html(); + localStorage.setItem("tableString",tableString); + window.open("../../js/print/print_form.html","location:No;status:No;help:No;dialogWidth:800px;dialogHeight:600px;scroll:auto;"); + }); + + //初始化键盘enter事件 + $(document).keydown(function(event) + { + //兼容 IE和firefox 事件 + var e = window.event || event; + var k = e.keyCode||e.which||e.charCode; + //兼容 IE,firefox 兼容 + var obj = e.srcElement ? e.srcElement : e.target; + //绑定键盘事件为 id是指定的输入框才可以触发键盘事件 13键盘事件 ---遗留问题 enter键效验 对话框会关闭问题 + if(k == "13"&&(obj.id=="BillNo"||obj.id=="BillTime")) + { + $("#saveAccountHead").click(); + } + //搜索按钮添加快捷键 + if(k == "13"&&(obj.id=="searchBillNo")) + { + $("#searchBtn").click(); + } + }); +} + +function showAccountHeadDetails(pageNo,pageSize){ + $.ajax({ + type:"get", + url: "/accountHead/list", + dataType: "json", + data: ({ + search: JSON.stringify({ + type: listType, + billNo: $.trim($("#searchBillNo").val()), + beginTime: $("#searchBeginTime").val(), + endTime: $("#searchEndTime").val() + }), + currentPage: pageNo, + pageSize: pageSize + }), + success: function (res) { + if(res && res.code === 200){ + if(res.data && res.data.page) { + $("#tableData").datagrid('loadData', res.data.page); + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + return; + } + }); +} + +//自动计算事件 +function autoReckon() { + //延时绑定事件 + setTimeout(function(){ + var body =$("#accountHeadFM .datagrid-body"); + var footer =$("#accountHeadFM .datagrid-footer"); + var input = ".datagrid-editable-input"; + + //修改金额,自动计算单价和合计 + body.find("[field='EachAmount']").find(input).off("keyup").on("keyup",function(){ + var TotalPrice = 0; + var EachAmount =$(this).val()-0; //金额 + body.find("[field='EachAmount']").each(function(){ + if($(this).find("div").text()!==""){ + TotalPrice = TotalPrice + parseFloat($(this).find("div").text().toString()); + } + }); + TotalPrice = TotalPrice + EachAmount; + footer.find("[field='EachAmount']").find("div").text((TotalPrice).toFixed(2)); + }); + },500); +} + +//结束编辑 +function endEditing() { + var edField = ""; + if(!itemType){ + edField = "InOutItemId"; + edName = "InOutItemName"; + } + else { + edField = "AccountId"; + edName = "AccountName"; + } + if (editIndex == undefined) { return true } + if ($('#accountData').datagrid('validateRow', editIndex)) { + var ed = $('#accountData').datagrid('getEditor', {index: editIndex, field: edField}); + var textName = $(ed.target).combobox('getText'); + $('#accountData').datagrid('getRows')[editIndex][edName] = textName; + $('#accountData').datagrid('endEdit', editIndex); + editIndex = undefined; + return true; + } else { + return false; + } +} +//单击 +function onClickRow(index) { + if (editIndex != index) { + if (endEditing()) { + $('#accountData').datagrid('selectRow', index) + .datagrid('beginEdit', index); + editIndex = index; + autoReckon(); + } else { + $('#accountData').datagrid('selectRow', editIndex); + } + } +} +//新增 +function append() { + if (endEditing()) { + $('#accountData').datagrid('appendRow', {}); + editIndex = $('#accountData').datagrid('getRows').length - 1; + $('#accountData').datagrid('selectRow', editIndex).datagrid('beginEdit', editIndex); + autoReckon(); + } +} +//删除 +function removeit() { + if (editIndex == undefined) { return } + $('#accountData').datagrid('cancelEdit', editIndex) + .datagrid('deleteRow', editIndex); + editIndex = undefined; +} +//撤销 +function reject() { + $('#accountData').datagrid('rejectChanges'); + editIndex = undefined; +} +//判断 +function CheckData() { + var row = $('#accountData').datagrid('getRows'); + var totalRowNum = ""; + for (var i = 0; i < row.length; i++) { + if(!itemType){ + if (row[i].InOutItemId == "") { + totalRowNum += (i + 1) + "、"; + } + } + else{ + if (row[i].AccountId == "") { + totalRowNum += (i + 1) + "、"; + } + } + } + if (totalRowNum != "") { + var totalRowNum = totalRowNum.substring(0, totalRowNum.length - 1); + $.messager.alert('提示',"第" + totalRowNum + "行数据填写不完整!",'info'); + return false; + } + return true; +} +//保存 +function accept(accepId,listType) { + append(); + removeit(); + if ($("#accountData").datagrid('getChanges').length) { + if (!CheckData()) + return false; + var inserted = $("#accountData").datagrid('getChanges', "inserted"); + var deleted = $("#accountData").datagrid('getChanges', "deleted"); + var updated = $("#accountData").datagrid('getChanges', "updated"); + $.ajax({ + type: "post", + url: "/accountItem/saveDetials", + data: { + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated), + headerId: accepId, + listType: listType + }, + success: function (tipInfo) + { + if (tipInfo) { + $.messager.alert('提示','保存成功!','info'); + } + else + $.messager.alert('提示','保存失败!','error'); + + }, + error: function (XmlHttpRequest, textStatus, errorThrown) + { + $.messager.alert('提示',XmlHttpRequest.responseText,'error'); + } + }); + } + if (endEditing()) { + $('#accountData').datagrid('acceptChanges'); + } +} +//获取MaxId +function getMaxId(){ + var accountHeadMax=null; + $.ajax({ + type:"get", + url: "/accountHead/getMaxId", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + accountHeadMax = res.data.maxId; + } + } + } + }); + + if(accountHeadMax !=null) { + accountHeadMaxId=accountHeadMax; + } +} \ No newline at end of file diff --git a/erp_web/pages/financial/advance_in.html b/erp_web/pages/financial/advance_in.html index 9cc28e0d..c31613b4 100644 --- a/erp_web/pages/financial/advance_in.html +++ b/erp_web/pages/financial/advance_in.html @@ -14,7 +14,7 @@ - + diff --git a/erp_web/pages/financial/giro.html b/erp_web/pages/financial/giro.html index 4bda0463..2a1d5cce 100644 --- a/erp_web/pages/financial/giro.html +++ b/erp_web/pages/financial/giro.html @@ -14,7 +14,7 @@ - + diff --git a/erp_web/pages/financial/item_in.html b/erp_web/pages/financial/item_in.html index 87451120..f6f7f010 100644 --- a/erp_web/pages/financial/item_in.html +++ b/erp_web/pages/financial/item_in.html @@ -14,7 +14,7 @@ - + diff --git a/erp_web/pages/financial/item_out.html b/erp_web/pages/financial/item_out.html index cc7bdef3..df31bf8c 100644 --- a/erp_web/pages/financial/item_out.html +++ b/erp_web/pages/financial/item_out.html @@ -14,7 +14,7 @@ - + diff --git a/erp_web/pages/financial/money_in.html b/erp_web/pages/financial/money_in.html index d1a07192..93e8b7e4 100644 --- a/erp_web/pages/financial/money_in.html +++ b/erp_web/pages/financial/money_in.html @@ -14,7 +14,7 @@ - + diff --git a/erp_web/pages/financial/money_out.html b/erp_web/pages/financial/money_out.html index cde020a1..3d2faa87 100644 --- a/erp_web/pages/financial/money_out.html +++ b/erp_web/pages/financial/money_out.html @@ -14,7 +14,7 @@ - + From 50d54bd9d909c9d087a6c209bc884eb036e47695 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Tue, 7 May 2019 17:32:43 +0800 Subject: [PATCH 034/117] =?UTF-8?q?=E6=8B=86=E5=88=86=E5=8D=95=E6=8D=AE?= =?UTF-8?q?=E7=9B=B8=E5=85=B3js=EF=BC=8C=E5=87=8F=E5=B0=91=E8=80=A6?= =?UTF-8?q?=E5=90=88=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../js/pages/materials/allocation_out_list.js | 3205 +++++++++++++++++ erp_web/js/pages/materials/assemble_list.js | 3205 +++++++++++++++++ .../js/pages/materials/disassemble_list.js | 3205 +++++++++++++++++ erp_web/js/pages/materials/in_out.js | 3205 ----------------- erp_web/js/pages/materials/other_in_list.js | 3205 +++++++++++++++++ erp_web/js/pages/materials/other_out_list.js | 3205 +++++++++++++++++ .../js/pages/materials/purchase_back_list.js | 3205 +++++++++++++++++ .../js/pages/materials/purchase_in_list.js | 3205 +++++++++++++++++ .../pages/materials/purchase_orders_list.js | 3205 +++++++++++++++++ .../js/pages/materials/retail_back_list.js | 3205 +++++++++++++++++ erp_web/js/pages/materials/retail_out_list.js | 3205 +++++++++++++++++ erp_web/js/pages/materials/sale_back_list.js | 3205 +++++++++++++++++ .../js/pages/materials/sale_orders_list.js | 3205 +++++++++++++++++ erp_web/js/pages/materials/sale_out_list.js | 3205 +++++++++++++++++ .../pages/materials/allocation_out_list.html | 2 +- erp_web/pages/materials/assemble_list.html | 2 +- erp_web/pages/materials/disassemble_list.html | 2 +- erp_web/pages/materials/other_in_list.html | 2 +- erp_web/pages/materials/other_out_list.html | 2 +- .../pages/materials/purchase_back_list.html | 2 +- erp_web/pages/materials/purchase_in_list.html | 2 +- .../pages/materials/purchase_orders_list.html | 2 +- erp_web/pages/materials/retail_back_list.html | 2 +- erp_web/pages/materials/retail_out_list.html | 2 +- erp_web/pages/materials/sale_back_list.html | 2 +- erp_web/pages/materials/sale_orders_list.html | 2 +- erp_web/pages/materials/sale_out_list.html | 2 +- 27 files changed, 41678 insertions(+), 3218 deletions(-) create mode 100644 erp_web/js/pages/materials/allocation_out_list.js create mode 100644 erp_web/js/pages/materials/assemble_list.js create mode 100644 erp_web/js/pages/materials/disassemble_list.js delete mode 100644 erp_web/js/pages/materials/in_out.js create mode 100644 erp_web/js/pages/materials/other_in_list.js create mode 100644 erp_web/js/pages/materials/other_out_list.js create mode 100644 erp_web/js/pages/materials/purchase_back_list.js create mode 100644 erp_web/js/pages/materials/purchase_in_list.js create mode 100644 erp_web/js/pages/materials/purchase_orders_list.js create mode 100644 erp_web/js/pages/materials/retail_back_list.js create mode 100644 erp_web/js/pages/materials/retail_out_list.js create mode 100644 erp_web/js/pages/materials/sale_back_list.js create mode 100644 erp_web/js/pages/materials/sale_orders_list.js create mode 100644 erp_web/js/pages/materials/sale_out_list.js diff --git a/erp_web/js/pages/materials/allocation_out_list.js b/erp_web/js/pages/materials/allocation_out_list.js new file mode 100644 index 00000000..662d9507 --- /dev/null +++ b/erp_web/js/pages/materials/allocation_out_list.js @@ -0,0 +1,3205 @@ +//初始化界面 +var defDepotId = null; +var kid = sessionStorage.getItem("userId"); +var pageType = getUrlParam('t'); //获取页面类型传值 +var depotList = null; +var depotID = null; +var supplierList = null; +var supplierID = null; +var personList = null; +var personID = null; +var ProjectSearch=null; +var userBusinessList=null; +var userdepot=null; +var depotHeadMaxId=null; //获取最大的Id +var accepId=null; //保存的主表id +var url; +var depotHeadID = 0; +var preTotalPrice = 0; //前一次加载的金额 +var orgDepotHead = ""; +var editIndex = undefined; +var listTitle = ""; //单据标题 +var listType = ""; //入库 出库 +var listSubType = ""; //采购 销售等 +var payTypeTitle = "";//付款 收款 +var organUrl = ""; //组织数据接口地址 +var amountNum = ""; //单据编号开头字符 +var depotString = ""; //店铺id列表 +/**默认编号有意义吗,不如空着吧*/ +var orgDefaultId=''; //单位默认编号 +var orgDefaultList; //存储查询出来的会员列表 +var accountList; //账户列表 +var outItemList; //支出项目列表 +var thisTaxRate = 0; //当前税率,选择供应商或者客户的时候设置 +var oldNumber = ""; //编辑前的单据编号 +var oldId = 0; //编辑前的单据Id +var otherColumns = true; //明细中的‘别名’列是否显示 +var btnEnableList = getBtnStr(); //获取按钮的权限 +var mPropertyList = ""; //商品属性列表 +var defaultAccountId = 0; //默认账户id +$(function(){ + //初始化系统基础信息 + getType(); + initSystemData_UB(); + initSelectInfo_UB(); + initSystemData_depot(); + initSelectInfo_depot(); + initSystemData_person(); + initSelectInfo_person(); + initSystemData_account(); + initSelectInfo_account(); + initSupplier(); //供应商 + initSalesman(); //销售人员 + initOutItemList(); //初始化支出项目 + initMProperty(); //初始化商品属性 + initTableData(); + ininPager(); + initForm(); + bindEvent();//绑定操作事件 +}); +//根据单据名称获取类型 +function getType(){ + listTitle = $("#tablePanel").prev().text(); + depotString = "|"; + //改变宽度和高度 + $("#searchPanel").panel({width:webW-2}); + $("#tablePanel").panel({width:webW-2}); + var supUrl = "/supplier/findBySelect_sup"; //供应商接口 + var cusUrl = "/supplier/findBySelect_cus?UBType=UserCustomer&UBKeyId=" + kid; //客户接口 + var retailUrl = "/supplier/findBySelect_retail"; //散户接口 + if(listTitle === "采购订单列表"){ + listType = "其它"; + listSubType = "采购订单"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "CGDD"; + } + else if(listTitle === "采购入库列表"){ + listType = "入库"; + listSubType = "采购"; + payTypeTitle = "付款"; + organUrl = supUrl; + amountNum = "CGRK"; + } + else if(listTitle === "零售退货列表"){ + listType = "入库"; + listSubType = "零售退货"; //注:用预付款购买的产品不能退货 + payTypeTitle = "付款"; + organUrl = retailUrl; + amountNum = "LSTH"; + } + else if(listTitle === "销售退货列表"){ + listType = "入库"; + listSubType = "销售退货"; + payTypeTitle = "付款"; + organUrl = cusUrl; + amountNum = "XSTH"; + } + else if(listTitle === "其它入库列表"){ + listType = "入库"; + listSubType = "其它"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "QTRK"; + } + else if(listTitle === "零售出库列表"){ + listType = "出库"; + listSubType = "零售"; + payTypeTitle = "收款"; + organUrl = retailUrl; + amountNum = "LSCK"; + } + else if(listTitle === "销售订单列表"){ + listType = "其它"; + listSubType = "销售订单"; + payTypeTitle = "隐藏"; + organUrl = cusUrl; + amountNum = "XSDD"; + } + else if(listTitle === "销售出库列表"){ + listType = "出库"; + listSubType = "销售"; + payTypeTitle = "收款"; + organUrl = cusUrl; + amountNum = "XSCK"; + } + else if(listTitle === "采购退货列表"){ + listType = "出库"; + listSubType = "采购退货"; + payTypeTitle = "收款"; + organUrl = supUrl; + amountNum = "CGTH"; + } + else if(listTitle === "其它出库列表"){ + listType = "出库"; + listSubType = "其它"; + payTypeTitle = "隐藏"; + organUrl = cusUrl; + amountNum = "QTCK"; + } + else if(listTitle === "调拨出库列表"){ + listType = "出库"; + listSubType = "调拨"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "DBCK"; + } + else if(listTitle === "组装单列表"){ + listType = "其它"; + listSubType = "组装单"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "ZZD"; + } + else if(listTitle === "拆卸单列表"){ + listType = "其它"; + listSubType = "拆卸单"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "CXD"; + } +} +//初始化系统基础信息 +function initSystemData_UB(){ + $.ajax({ + type:"get", + url: "/userBusiness/getBasicData", + data: ({ + KeyId:kid, + Type:"UserDepot" + }), + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if (res && res.code === 200) { + userBusinessList = res.data.userBusinessList; + } + else { + userBusinessList = null; + } + } + }); + +} +//初始化页面选项卡 +function initSelectInfo_UB(){ + + if(userBusinessList !=null) + { + if(userBusinessList.length>0) + { + //用户对应的仓库列表 [1][2][3]... + userdepot =userBusinessList[0].value; + } + } +} + + +//初始化系统基础信息 +function initSystemData_depot(){ + $.ajax({ + type:"get", + url: "/depot/getAllList", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200){ + depotList = res.data; + } else { + $.messager.alert('提示', '查找系统基础信息异常,请与管理员联系!', 'error'); + return; + } + } + }); +} +//初始化页面选项卡 +function initSelectInfo_depot(){ + var options = ""; + + if(depotList !=null) + { + options = ""; + for(var i = 0 ;i < depotList.length;i++) + { + var depot = depotList[i]; + + if(userdepot!=null) + { + if(userdepot.indexOf("["+depot.id+"]")!=-1) + { + if(depot.isDefault){ + defDepotId = depot.id; + } + options += ''; + depotString = depotString + depot.id + ","; + } + } + if(depot.type === 1){ + depotString = depotString + depot.id + ","; + } + } + depotString = depotString.substring(1, depotString.length-1); + $("#ProjectId").empty().append(options); + $("#AllocationProjectId").empty().append(options); + $("#searchProjectId").empty().append('').append(options); + } +} + +//初始化供应商、客户、散户信息 +function initSupplier(){ + $('#OrganId').combobox({ + url: organUrl, + valueField:'id', + textField:'supplier', + filter: function(q, row){ + var opts = $(this).combobox('options'); + return row[opts.textField].indexOf(q) >-1; + }, + onLoadSuccess: function(res) { + var data = $(this).combobox('getData'); + for(var i = 0; i<= data.length; i++){ + if(data && data[i] && data[i].supplier === "非会员"){ + orgDefaultId = data[i].id; + } + } + if(listSubType === "零售"){ + orgDefaultList = res; + } + }, + onSelect: function(rec){ + if(listSubType === "零售"){ + var option = ""; + if(rec.supplier !== "非会员" && rec.advanceIn >0){ + option = ''; + option += ''; + } + else { + option += ''; + } + $("#payType").empty().append(option); + } + else{ + $.ajax({ + type:"get", + url: "/supplier/findById", + data: { + supplierId: rec.id + }, + dataType: "json", + success: function (res){ + if(res && res.code === 200) { + if(res.data && res.data[0]){ + thisTaxRate = res.data[0].taxRate; //设置当前的税率 + } + } + }, + error:function(){ + + } + }); + } + } + }); +} + +//初始化销售人员 +function initSalesman(){ + $('#Salesman').combobox({ + url: "/person/getPersonByNumType?type=1", + valueField:'id', + textField:'name', + multiple: true + }); +} + +//初始化收入项目列表 +function initOutItemList(){ + $.ajax({ + type:"get", + url: "/inOutItem/findBySelect?type=out", + //设置为同步 + async:false, + dataType: "json", + success: function (res){ + if(res){ + outItemList = res; + } + }, + error:function(){ + + } + }); +} + +//初始化商品属性 +function initMProperty(){ + $.ajax({ + type: "get", + url: "/materialProperty/list", + dataType: "json", + data: ({ + search: JSON.stringify({ + name: "" + }), + currentPage: 1, + pageSize: 100 + }), + success: function (res) { + if(res && res.code === 200){ + if(res.data && res.data.page) { + var thisRows = res.data.page.rows; + for (var i = 0; i < thisRows.length; i++) { + if (thisRows[i].enabled) { + mPropertyList += thisRows[i].nativeName + ","; + } + } + if (mPropertyList) { + mPropertyList = mPropertyList.substring(0, mPropertyList.length - 1); + } + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('查询提示','查询信息异常,请稍后再试!','error'); + return; + } + }); +} + +//初始化系统基础信息 +function initSystemData_person(){ + $.ajax({ + type:"get", + url: "/person/getAllList", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + personList = res.data.personList; + } + } + } + }); +} +//初始化页面选项卡 +function initSelectInfo_person(){ + var options1 = ""; + + if(personList !=null) + { + for(var i = 0 ;i < personList.length;i++) + { + var person = personList[i]; + if(0 == i) + { + personID = person.id; + } + if(person.type=="仓管员") + { + options1 += ''; + } + } + $("#HandsPersonId").empty().append(options1); + } +} +//获取账户信息 +function initSystemData_account(){ + $.ajax({ + type:"get", + url: "/account/getAccount", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + accountList = res.data.accountList; + } + } + } + }); +} +//获取账户信息 +function initSelectInfo_account(){ + var options = ""; + if(accountList !=null){ + options = ""; + options += ""; + for(var i = 0 ;i < accountList.length;i++) { + var account = accountList[i]; + options += ''; + if(account.isdefault) { + defaultAccountId = account.id; //给账户赋值默认id + } + } + $("#AccountId").empty().append(options); + } +} + +//防止表单提交重复 +function initForm(){ + $('#depotHeadFM').form({ + onSubmit: function(){ + return false; + } + }); +} + +//初始化表格数据 +function initTableData(){ + if(pageType === "skip") { + var oldRowInfo = sessionStorage.getItem("rowInfo"); + editDepotHead(oldRowInfo); //自动弹出编辑框,带缓存数据 + } + var hideType = undefined; + var isHiddenStatus = true; + if(payTypeTitle === "隐藏"){ + hideType = true; //隐藏当前列 + } + var tableToolBar = [ + { + id:'addDepotHead', + text:'增加', + iconCls:'icon-add', + handler:function() + { + addDepotHead(); + } + }, + { + id:'deleteDepotHead', + text:'删除', + iconCls:'icon-remove', + handler:function() + { + batDeleteDepotHead(); + } + } + ]; + //如果允许的按钮列表中存在就显示,3-代表审核|反审核的权限 + if(btnEnableList && btnEnableList.indexOf(3)>-1){ + isHiddenStatus = false; //显示 + tableToolBar.push({ + id:'okDepotHead', + text:'审核', + iconCls:'icon-ok', + handler:function() { + setStatusFun(); + } + }, + { + id:'undoDepotHead', + text:'反审核', + iconCls:'icon-undo', + handler:function() { + setUnStatusFun(); + } + }); + } + else { + isHiddenStatus = true; //隐藏 + } + var isShowLastMoneyColumn = false; //是否显示优惠后金额和价税合计,true为隐藏,false为显示 + if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowLastMoneyColumn = true; //隐藏 + } + var isShowOrganNameColumn = false; //是否显示供应商、客户等信息,true为隐藏,false为显示 + var organNameTitle = ""; //组织名称标题 + if(listSubType == "调拨" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowOrganNameColumn = true; //隐藏 + } + else { + if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "采购退货列表" || listTitle == "其它入库列表"){ + organNameTitle = "供应商名称"; + } + else if(listTitle == "销售订单列表" || listTitle == "销售退货列表" || listTitle == "销售出库列表" || listTitle == "其它出库列表"){ + organNameTitle = "客户名称"; + } + else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ + organNameTitle = "会员卡号"; + } + } + var opWidth = 90; //操作宽度 + var isShowSkip = false; //是否显示跳转按钮 + var opTitle = ""; //跳转按钮的标题 + if(listTitle == "采购订单列表") { + opWidth = 120; + isShowSkip = true; + opTitle = "转采购入库"; + } else if(listTitle == "销售订单列表") { + opWidth = 120; + isShowSkip = true; + opTitle = "转销售出库"; + } + $('#tableData').datagrid({ + height:heightInfo, + rownumbers: false, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + pagination: true, + //交替出现背景 + striped : true, + pageSize: 10, + pageList: initPageNum, + columns:[[ + { field: 'id',width:35,align:"center",checkbox:true}, + { title: '操作',field: 'op',align:"center",width:opWidth, + formatter:function(value, rec,index) { + var str = ''; + // var rowInfo = rec.id + 'AaBb' + rec.projectid+ 'AaBb' + rec.number+ 'AaBb' + rec.operpersonname + // + 'AaBb' + rec.opertimeStr+ 'AaBb' + rec.organid+ 'AaBb' + rec.handspersonid + // + 'AaBb' + rec.accountid+ 'AaBb' + rec.changeamount+ 'AaBb' + rec.remark + // + 'AaBb' + rec.projectName+ 'AaBb' + rec.organName+ 'AaBb' + rec.handsPersonName + // + 'AaBb' + rec.accountName + 'AaBb' + rec.totalprice + 'AaBb' + rec.allocationprojectid + // + 'AaBb' + rec.allocationProjectName + 'AaBb' + rec.paytype + 'AaBb' + rec.salesman + // + 'AaBb' + rec.discount + 'AaBb' + rec.discountmoney + 'AaBb' + rec.discountlastmoney + // + 'AaBb' + rec.accountidlist + 'AaBb' + rec.accountmoneylist + // + 'AaBb' + rec.othermoney + 'AaBb' + rec.othermoneylist + 'AaBb' + rec.othermoneyitem + // + 'AaBb' + rec.accountday + 'AaBb' + rec.linknumber; + // rowInfo = rowInfo.replace(/\"/g, ""); + // rowInfo = rowInfo.replace(/\[|]/g,""); + var orgId = rec.organid? rec.organid:0; + str += '   '; + str += '   '; + str += ''; + if(isShowSkip) { + str += '   '; + } + return str; + } + }, + { title: organNameTitle, field: 'organName',width:120, hidden:isShowOrganNameColumn}, + { title: '单据编号',field: 'number',width:135, formatter:function (value,rec) { + if(rec.linknumber) { + return value + "[转]"; + } else { + return value; + } + } + }, + { title: '商品信息',field: 'materialsList',width:180,formatter:function(value){ + if(value) { + return value.replace(",",","); + } + } + }, + { title: '单据日期',field: 'opertimeStr',width:130}, + { title: '操作员',field: 'operpersonname',width:60}, + { title: '金额合计',field: 'totalprice',width:60}, + { title: '含税合计',field: 'totaltaxlastmoney',hidden:isShowLastMoneyColumn,width:60,formatter:function(value,rec){ + return (rec.discountmoney + rec.discountlastmoney).toFixed(2); + } + }, + { title: '优惠后金额',field: 'discountlastmoney',hidden:isShowLastMoneyColumn,width:80}, + { title: payTypeTitle,field: 'changeamount',width:50,hidden:hideType}, + { title: '状态',field: 'status',hidden:isHiddenStatus, width:70,align:"center",formatter:function(value){ + if(value === "0") { + return "未审核"; + } else if(value === "1") { + return "已审核"; + } else if(value === "2") { + if(listTitle == "采购订单列表") { + return "已转采购"; + } else if(listTitle == "销售订单列表") { + return "已转销售"; + } + } + } + } + ]], + toolbar:tableToolBar, + onLoadError:function() { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); +} + +//查找库存的方法 +function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ + var thisRatio = 1; //比例 + $.ajax({ + url: "/material/findById", + type: "get", + dataType: "json", + data: { + id: mId + }, + success: function (rec) { + if(rec && rec.code === 200 && rec.data && rec.data[0]) { + var loadRatio = 1; //在单位输入框上面加载比例字段 + if(rec.data[0].unit) { //如果存在计量单位信息 + loadRatio = 1; + } + else{ + var unitName = rec.data[0].unitName; + if(unitName) { + thisRatio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); + unitName = unitName.substring(0, unitName.indexOf("(")); + } + var unitArr = unitName.split(","); + var basicUnit = unitArr[0]; //基础单位 + var otherUnit = unitArr[1]; //副单位 + var unitSetInput =""; //单位 + if(listSubType === "采购订单" || listSubType === "采购" || listSubType === "采购退货"){ + unitSetInput = rec.data[0].firstinunit; + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = thisRatio; + } + } + else if(listSubType === "销售订单" || listSubType === "销售" || listSubType === "销售退货" || listSubType === "零售" || listSubType === "零售退货"){ + unitSetInput = rec.data[0].firstoutunit; + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = thisRatio; + } + } + } + //查询库存 + $.ajax({ + type: "get", + url: '/depotItem/findStockNumById', + data:{ + projectId: depotId, + materialId: mId, + monthTime: monthTime, + currentPage: 1, + pageSize: 10 + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if (res.data && res.data.page && res.data.page[0]) { + var thisStock = res.data.page[0].thisSum; + if (type == "select") { //选择下拉框的时候 + if (ratio != undefined && ratio != 1) { + loadRatio = ratio; + } + } + else if (type == "click") { //点击库存的时候 + if (ratio != undefined) { + loadRatio = ratio; + } + } + thisStock = (thisStock / loadRatio).toFixed(2); + body.find("[field='Stock']").find(input).val(thisStock).attr("data-stock", res.data.page[0].thisSum); //加载库存数据 + } + else { + body.find("[field='Stock']").find(input).val(0).attr("data-stock", 0); //加载库存数据 + } + body.find("[field='Stock']").find(input).prop("readonly", "readonly"); //设置库存数据为只读 + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); + } + }, + error: function () { + $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); + } + }); +} +//优惠率、合计的统计方法 +function statisticsFun(body,UnitPrice,OperNumber,footer,taxRate){ + var TotalPrice = 0; + var taxLastMoneyTotal = 0; + //金额的合计 + body.find("[field='AllPrice']").each(function(){ + if($(this).find("div").text()!==""){ + TotalPrice = TotalPrice + parseFloat($(this).find("div").text().toString()); + } + }); + TotalPrice = TotalPrice + UnitPrice*OperNumber; + footer.find("[field='AllPrice']").find("div").text((TotalPrice).toFixed(2)); //金额的合计 + //价税合计的总计 + body.find("[field='TaxLastMoney']").each(function(){ + if($(this).find("div").text()!==""){ + taxLastMoneyTotal = taxLastMoneyTotal + (parseFloat($(this).find("div").text().toString())-0); + } + }); + taxLastMoneyTotal = taxLastMoneyTotal + (UnitPrice*OperNumber*(1+taxRate/100)); + footer.find("[field='TaxLastMoney']").find("div").text((taxLastMoneyTotal).toFixed(2)); //价税合计的页脚总计 + var discount = $("#Discount").val(); //优惠率 + var discountMoney = (taxLastMoneyTotal*discount/100).toFixed(2); + $("#DiscountMoney").val(discountMoney);//优惠金额 + var discountLastMoney = (taxLastMoneyTotal*(1-discount/100)).toFixed(2) + $("#DiscountLastMoney").val(discountLastMoney);//优惠后金额 + if($("#AccountId").val()!=="many"){ + $("#ChangeAmount").val(discountLastMoney); //本次付、收款 + } + var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 + $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 + + if(listSubType == "零售" || listSubType == "零售退货") { + $("#ChangeAmount, #getAmount").val((TotalPrice).toFixed(2)); + $("#backAmount").val(0); + } +} +//初始化表格数据-商品列表-编辑状态 +function initTableData_material(type,TotalPrice){ + var body,footer,input; //定义表格和文本框 + var ratio = 1; //比例-品名专用 + var ratioDepot = 1; //比例-仓库用 + var monthTime = getNowFormatMonth(); + var isShowAnotherDepot = true; //显示对方仓库,true为隐藏,false为显示 + var depotHeadName = ""; //仓库名称 + var depotUrl = ""; //仓库接口地址 + var depotTextField = ""; //仓库下拉名称 + var anotherDepotHeadName = ""; //对方仓库的列的标题 + var anotherDepotUrl = ""; //对方仓库接口地址 + var anotherDepotTextField = ""; + if(listSubType == "调拨"){ + isShowAnotherDepot = false; //调拨时候显示对方仓库 + anotherDepotHeadName = "调入仓库"; + anotherDepotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; + anotherDepotTextField = "depotName"; + } + depotHeadName = "仓库名称"; + depotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; + depotTextField = "depotName"; + var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 + if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowTaxColumn = true; //隐藏 + } + var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 + if(listSubType == "组装单" || listSubType == "拆卸单"){ + isShowMaterialTypeColumn = false; //显示 + } + $('#materialData').datagrid({ + height:245, + rownumbers: false, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + //单击行是否选中 + checkOnSelect : false, + pagination: false, + //交替出现背景 + striped : true, + showFooter: true, + //loadFilter: pagerFilter, + onClickRow: onClickRow, + columns:[[ + { field: 'Id',width:35,align:"center",checkbox:true}, + { title: '商品类型',field: 'MType',editor:'validatebox',hidden:isShowMaterialTypeColumn,width:80}, + { title: depotHeadName, field: 'DepotId', editor: 'validatebox', width: 90, + formatter: function (value, row, index) { + return row.DepotName; + }, + editor: { + type: 'combobox', + options: { + valueField: 'id', + textField: depotTextField, + method: 'get', + url: depotUrl, + onSelect:function(rec){ + var depotId = rec.id; + body =$("#depotHeadFM .datagrid-body"); + footer =$("#depotHeadFM .datagrid-footer"); + input = ".datagrid-editable-input"; + var mId = body.find("[field='MaterialId']").find(".combo-value").val(); + if(mId){ + var type = "select"; //type 类型:点击 click,选择 select + findStockNumById(depotId, mId, monthTime, body, input, ratioDepot, type); + } + } + } + } + }, + { title: '品名(型号)(扩展信息)(单位)',field: 'MaterialId',width:230, + formatter:function(value,row,index){ + return row.MaterialName; + }, + editor:{ + type:'combobox', + options:{ + valueField:'Id', + textField:'MaterialName', + method:'get', + url: "/material/findBySelect", + panelWidth: 300, //下拉框的宽度 + //全面模糊匹配,过滤字段 + filter: function(q, row){ + var opts = $(this).combobox('options'); + return row[opts.textField].indexOf(q) >-1; + }, + onBeforeLoad: function(param){ + param.mpList = mPropertyList; //商品属性 + }, + onSelect:function(rec){ + if(rec) { + var mId = rec.Id; + $.ajax({ + url: "/material/findById", + type: "get", + dataType: "json", + data: { + id: mId + }, + success: function (res) { + if(res && res.code === 200 && res.data && res.data[0]) { + var retailPrice = res.data[0].retailprice-0; //零售价格 + var presetPriceOne = res.data[0].presetpriceone-0; //预计采购价 + var presetPriceTwo = res.data[0].presetpricetwo-0; //批发价 + var firstInUnit = res.data[0].firstinunit; //首选入库单位 + var firstOutUnit = res.data[0].firstoutunit; //首选出库单位 + var basicPresetPriceOne = ""; //多单位-入库-基础价格 + var basicPresetPriceTwo = ""; //多单位-出库-基础价格 + var retailPriceOne = ""; //多单位-入库-零售价格 + var otherPresetPriceOne = ""; //多单位-入库-其他价格 + var otherPresetPriceTwo = ""; //多单位-出库-其他价格 + var retailPriceTwo = ""; //多单位-出库-零售价格 + var basicUnit = ""; //基础单位 + var otherUnit = ""; //其他单位 + if(!res.data[0].unit){ + var ps = res.data[0].pricestrategy; + var psObj = JSON.parse(ps); + basicPresetPriceOne = psObj[0].basic.PresetPriceOne-0; + basicPresetPriceTwo = psObj[0].basic.PresetPriceTwo-0; + retailPriceOne = psObj[0].basic.RetailPrice-0; + otherPresetPriceOne = psObj[1].other.PresetPriceOne-0; + otherPresetPriceTwo = psObj[1].other.PresetPriceTwo-0; + retailPriceTwo = psObj[1].other.RetailPrice-0; + basicUnit = psObj[0].basic.Unit; + otherUnit = psObj[1].other.Unit; + } + body =$("#depotHeadFM .datagrid-body"); + footer =$("#depotHeadFM .datagrid-footer"); + input = ".datagrid-editable-input"; + if(res.data[0].unit){ //如果存在计量单位信息 + ratio = 1; //重置比例为1 + body.find("[field='Unit']").find(input).val(res.data[0].unit); //设置-计量单位信息 + body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 + body.find("[field='Unit']").find(input).off("click"); //移除点击事件 + body.find("[field='Unit']").find(input).attr("data-ratio",ratio); //修改比例缓存信息 + } + else { + var unitName = res.data[0].unitName; + if(unitName) { + ratio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); //给比例赋值 + unitName = unitName.substring(0, unitName.indexOf("(")); + } + var unitArr = unitName.split(","); + var basicUnit = unitArr[0]; //基础单位 + var otherUnit = unitArr[1]; //副单位 + var unitSetInput =""; //单位 + body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 + var loadRatio = 1; //在单位输入框上面加载比例字段 + if(listSubType === "采购" || listSubType === "采购退货" || listSubType === "采购订单"){ + unitSetInput = res.data[0].firstinunit; //给单位文本框赋值 + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = ratio; + } + } + else if(listSubType === "销售" || listSubType === "销售退货" || listSubType === "销售订单" || listSubType === "零售" || listSubType === "零售退货"){ + unitSetInput = res.data[0].firstoutunit; //给单位文本框赋值 + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = ratio; + } + } + body.find("[field='Unit']").find(input).val(unitSetInput).attr("data-ratio", loadRatio); //设置-首选单位 + + body.find("[field='Unit']").find(input).off("click").on("click",function(){ + if(basicUnit && otherUnit) { + var self = this; + //定义模版 + var temp = "
"; + temp +="
    "; + temp +="
  • " + basicUnit + "
  • "; + temp +="
  • " + otherUnit + "
  • "; + temp +="
"; + temp +="
"; + if($('.unit-list').length){ + $('.unit-list').remove(); //如果存在计量单位列表先移除 + } + else { + $(self).after(temp); //加载列表信息 + } + //计量单位列表的单击事件 + $('.unit-list ul li').off("click").on("click",function(){ + var unit = $(this).text(); + var thisRatio = $(this).attr("data-ratio"); //获取比例 + $(self).val(unit).attr("data-ratio", thisRatio); + $(self).keyup(); //模拟键盘操作 + $('.unit-list').remove(); //移除计量单位列表 + var stock = body.find("[field='Stock']").find(input).attr("data-stock"); //从缓存中取值 + var type = $(this).attr("data-type"); + var UnitPrice = 0; + if(type === "basic"){ + if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { + UnitPrice = basicPresetPriceOne; + } + else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { + UnitPrice = basicPresetPriceTwo; + } + else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ + UnitPrice = retailPriceOne; + } + body.find("[field='Stock']").find(input).val(stock); //修改库存 + } + else if(type === "other"){ + if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { + UnitPrice = otherPresetPriceOne; + } + else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { + UnitPrice = otherPresetPriceTwo; + } + else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ + UnitPrice = retailPriceTwo; + } + body.find("[field='Stock']").find(input).val((stock/ratio).toFixed(2)); //修改库存 + } + body.find("[field='UnitPrice']").find(input).val(UnitPrice); //单价 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //获取数量 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //获取税率 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //点击空白处移除计量单位列表 + $(".datagrid-body").off("click").on("click",function(){ + $('.unit-list').remove(); //移除计量单位列表 + }); + } + }); + } + var detailPrice = 0; //明细列表-单价 + if(listSubType == "零售" || listSubType == "零售退货") { + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = retailPrice; + } + else { + if (firstOutUnit == basicUnit) { + detailPrice = retailPriceOne; + } + else if (firstOutUnit == otherUnit) { + detailPrice = retailPriceTwo; + } + } + } + else if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = presetPriceOne; + } + else { + if (firstInUnit == basicUnit) { + detailPrice = basicPresetPriceOne; + } + else if (firstInUnit == otherUnit) { + detailPrice = otherPresetPriceOne; + } + } + } + else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = presetPriceTwo; + } + else { + if(firstOutUnit==basicUnit) { + detailPrice = basicPresetPriceTwo; + } + else if(firstOutUnit==otherUnit){ + detailPrice = otherPresetPriceTwo; + } + } + } + body.find("[field='OperNumber']").find(input).val(1); //数量初始化为1 + //单价和总价赋值 + if(!detailPrice) { + detailPrice = 0; + } + body.find("[field='UnitPrice']").find(input).val(detailPrice); + body.find("[field='AllPrice']").find(input).val(detailPrice); + var taxRate = body.find("[field='TaxRate']").find(input).val()-0; //获取税率 + body.find("[field='TaxUnitPrice']").find(input).val((detailPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((detailPrice*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((detailPrice*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,detailPrice,1,footer,taxRate); + + //查询库存信息 + var depotId = body.find("[field='DepotId']").find(".combo-value").val(); + if(depotId) { + var type = "select"; //type 类型:点击 click,选择 select + findStockNumById(depotId, mId, monthTime, body, input, loadRatio, type); + } + } + }, + error: function() { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + } + }); + } + } + } + } + }, + { title: '库存',field: 'Stock',editor:'validatebox',width:70}, + { title: anotherDepotHeadName, field: 'AnotherDepotId',editor:'validatebox',hidden:isShowAnotherDepot,width:90, + formatter: function (value, row, index) { + return row.AnotherDepotName; + }, + editor: { + type: 'combobox', + options: { + valueField: 'id', + textField: anotherDepotTextField, + method: 'get', + url: anotherDepotUrl + } + } + }, + { title: '单位',field: 'Unit',editor:'validatebox',width:60}, + { title: '数量',field: 'OperNumber',editor:'validatebox',width:60}, + { title: '单价',field: 'UnitPrice',editor:'validatebox',width:60}, + { title: '含税单价',field: 'TaxUnitPrice',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '金额',field: 'AllPrice',editor:'validatebox',width:75}, + { title: '税率(%)',field: 'TaxRate',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '税额',field: 'TaxMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '价税合计',field: 'TaxLastMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '备注',field: 'Remark',editor:'validatebox',width:120}, + { title: '品名-别',field: 'OtherField1',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '型号-别',field: 'OtherField2',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '颜色-别',field: 'OtherField3',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '备注1',field: 'OtherField4',editor:'validatebox',hidden:true,width:60}, + { title: '备注2',field: 'OtherField5',editor:'validatebox',hidden:true,width:60} + ]], + toolbar:[ + { + id:'append', + text:'新增', + iconCls:'icon-add', + handler:function() + { + append(); //新增 + } + }, + { + id:'delete', + text:'删除', + iconCls:'icon-remove', + handler:function() + { + batchDel(); //删除 + } + }, + { + id:'reject', + text:'撤销', + iconCls:'icon-undo', + handler:function() + { + reject(); //撤销 + } + } + ], + onLoadError:function() + { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); + $.ajax({ + type:"get", + url: '/depotItem/getDetailList', + data: { + headerId: depotHeadID, + mpList: mPropertyList + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + var data = res.data; + var AllPrice = 0; + var TaxLastMoney = 0; + var DiscountMoney = $("#DiscountMoney").val()-0; //优惠金额 + var DiscountLastMoney = $("#DiscountLastMoney").val()-0; //优惠后金额 + if(type === "edit") { + AllPrice = TotalPrice; + TaxLastMoney = DiscountMoney + DiscountLastMoney; + } + var array = []; + array.push({ + "AllPrice": AllPrice, + "TaxLastMoney": TaxLastMoney + }); + data.footer = array; + $("#materialData").datagrid('loadData',data); + //如果是订单跳转到采购或销售 + if(pageType === "skip") { + var skipList = $("#depotHeadFM .datagrid-body tr"); + //逐条自动点击每行数据 + skipList.each(function (i) { + setTimeout(function () { + skipList.eq(i).find("[field='Stock']").click(); + },(i+1)*1000); + }); + } + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); +} + +//初始化表格数据-商品列表-查看状态 +function initTableData_material_show(TotalPrice){ + var isShowAnotherDepot = true; //显示对方仓库,true为隐藏,false为显示 + var anotherDepotHeadName = ""; //对方仓库的列的标题 + var depotHeadName = ""; //仓库的列的标题 + if(listSubType == "调拨"){ + isShowAnotherDepot = false; //调拨时候显示对方仓库 + anotherDepotHeadName = "调入仓库"; + } + depotHeadName = "仓库名称"; + var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 + if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowTaxColumn = true; //隐藏 + } + var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 + if(listSubType == "组装单" || listSubType == "拆卸单"){ + isShowMaterialTypeColumn = false; //显示 + } + $('#materialDataShow').datagrid({ + height:245, + rownumbers: true, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + pagination: false, + //交替出现背景 + striped : true, + showFooter: true, + onClickRow: onClickRow, + columns:[[ + { title: '商品类型',field: 'MType',width:80, hidden:isShowMaterialTypeColumn}, + { title: depotHeadName,field: 'DepotName',editor:'validatebox',width:90}, + { title: '品名(型号)(扩展信息)(单位)',field: 'MaterialName',width:230}, + { title: anotherDepotHeadName,field: 'AnotherDepotName',hidden:isShowAnotherDepot,width:90}, + { title: '单位',field: 'Unit',editor:'validatebox',width:60}, + { title: '数量',field: 'OperNumber',editor:'validatebox',width:60}, + { title: '单价',field: 'UnitPrice',editor:'validatebox',width:60}, + { title: '含税单价',field: 'TaxUnitPrice',editor:'validattebox',hidden:isShowTaxColumn,width:75}, + { title: '金额',field: 'AllPrice',editor:'validatebox',width:75}, + { title: '税率',field: 'TaxRate',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '税额',field: 'TaxMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '价税合计',field: 'TaxLastMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '备注',field: 'Remark',editor:'validatebox',width:120}, + { title: '品名-别',field: 'OtherField1',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '型号-别',field: 'OtherField2',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '颜色-别',field: 'OtherField3',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '备注1',field: 'OtherField4',editor:'validatebox',hidden:true,width:60}, + { title: '备注2',field: 'OtherField5',editor:'validatebox',hidden:true,width:60} + ]], + onLoadError:function() { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); + $.ajax({ + type:"get", + url: '/depotItem/getDetailList', + data: { + headerId: depotHeadID, + mpList: mPropertyList + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + var data = res.data; + var AllPrice = TotalPrice; + var DiscountMoney = $("#DiscountMoneyShow").text() - 0; //优惠金额 + var DiscountLastMoney = $("#DiscountLastMoneyShow").text() - 0; //优惠后金额 + var array = []; + array.push({ + "AllPrice": AllPrice, + "TaxLastMoney": DiscountMoney + DiscountLastMoney + }); + data.footer = array; + $("#materialDataShow").datagrid('loadData', data); + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); +} + +//分页信息处理 +function ininPager(){ + try + { + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + pager.pagination({ + onSelectPage:function(pageNum, pageSize) + { + opts.pageNumber = pageNum; + opts.pageSize = pageSize; + pager.pagination('refresh', + { + pageNumber:pageNum, + pageSize:pageSize + }); + showDepotHeadDetails(pageNum,pageSize); + } + }); + } + catch (e) + { + $.messager.alert('异常处理提示',"分页信息异常 : " + e.name + ": " + e.message,'error'); + } +} + +//删除单据信息 +function deleteDepotHead(depotHeadID, thisOrganId, totalPrice, status){ + if(status == "1" || status == "2") { + $.messager.alert('删除提示','已审核和已转的单据不能删除!','warning'); + return; + } + $.messager.confirm('删除确认','确定要删除此单据信息吗?',function(r) { + if (r) { + $.ajax({ + type:"post", + // url: "/depotHead/" + depotHeadID + "/delete", + url: "/depotHead/deleteDepotHeadAndDetail", + dataType: "json", + data:{ + id: depotHeadID + }, + success: function (res) { + if(res && res.code == 200) { + $("#searchBtn").click(); + } else { + $.messager.alert('删除提示', '删除单据信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('删除提示','删除单据信息异常,请稍后再试!','error'); + return; + } + }); + + //更新会员的预收款信息 + if(listSubType === "零售") { + $.ajax({ + type:"post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data:{ + supplierId: thisOrganId, //会员id + advanceIn: totalPrice //删除时同时返还用户的预付款 + }, + success: function(res){ + if(res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function(){ + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + } + }); +} + +//订单转采购或销售 +function skipDepotHead(index, status){ + //获取当前行 + var rowsdata = $("#tableData").datagrid("getRows")[index]; + if(status == "0" || status == "2") { + $.messager.alert('提示','未审核和已转的单据禁止操作!','warning'); + } else { + sessionStorage.setItem("rowInfo", JSON.stringify(rowsdata)); //将单据信息存入缓存中 + if(listTitle == "采购订单列表") { + parent.addTab("订单转采购", "../materials/purchase_in_list.html?t=skip", ""); + } else if(listTitle == "销售订单列表") { + parent.addTab("订单转销售", "../materials/sale_out_list.html?t=skip", ""); + } + } +} + +//批量删除单据信息 +function batDeleteDepotHead(){ + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) + { + $.messager.alert('删除提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) + { + $.messager.confirm('删除确认','确定要删除选中的' + row.length + '条单据信息吗?',function(r) + { + if (r) { + var ids = ""; + for (var i = 0; i < row.length; i++) { + if (i == row.length - 1) { + if (row[i].status == 0) { + ids += row[i].id; + } + break; + } + ids += row[i].id + ","; + } + if (ids) { + //批量更新会员的预收款信息 + for (var i = 0; i < row.length; i++) { + if (listSubType === "零售") { + $.ajax({ + type: "post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data: { + supplierId: row[i].organid, //会员id + advanceIn: row[i].totalprice //删除时同时返还用户的预付款 + }, + success: function (res) { + if (res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function () { + $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); + return; + } + }); + } + } + //批量删除 + $.ajax({ + type: "post", + // url: "/depotHead/batchDelete", + url: "/depotHead/batchDeleteDepotHeadAndDetail", + dataType: "json", + async: false, + data: ({ + ids: ids + }), + success: function (res) { + if (res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('删除提示', '删除单据信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('删除提示', '删除单据信息异常,请稍后再试!', 'error'); + return; + } + }); + } else { + $.messager.alert('删除提示','没有能删除的单据!','warning'); + } + } + }); + } +} + +//批量审核 +function setStatusFun() { + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) { + $.messager.alert('审核提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) { + $.messager.confirm('审核确认','确定要审核选中的' + row.length + '条信息吗?',function(r) + { + if (r) + { + var ids = ""; + for(var i = 0;i < row.length; i ++) + { + if(i == row.length-1) + { + if(row[i].status != "2") { + ids += row[i].id; + } + break; + } + ids += row[i].id + ","; + } + if(ids) { + $.ajax({ + type:"post", + url: "/depotHead/batchSetStatus", + dataType: "json", + async : false, + data: ({ + status: "1", + depotHeadIDs : ids + }), + success: function (res) { + if(res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('审核提示', '审核信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('审核提示','审核信息异常,请稍后再试!','error'); + return; + } + }); + } else { + $.messager.alert('审核提示','没有能审核的单据!','warning'); + } + } + }); + } +} + +//批量反审核 +function setUnStatusFun() { + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) + { + $.messager.alert('反审核提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) + { + $.messager.confirm('反审核确认','确定要反审核选中的' + row.length + '条信息吗?',function(r) + { + if (r) + { + var ids = ""; + for(var i = 0;i < row.length; i ++) + { + if(i == row.length-1) + { + if(row[i].status != "2") { + ids += row[i].id; + } + break; + } + ids += row[i].id + ","; + } + if(ids) { + $.ajax({ + type: "post", + url: "/depotHead/batchSetStatus", + dataType: "json", + async: false, + data: ({ + status: "0", + depotHeadIDs: ids + }), + success: function (res) { + if (res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('反审核提示', '反审核信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('反审核提示', '反审核信息异常,请稍后再试!', 'error'); + return; + } + }); + } else { + $.messager.alert('反审核提示','没有能反审核的单据!','warning'); + } + } + }); + } +} + +//生成单据编号 +function buildNumber() { + $.ajax({ + type: "get", + url: "/depotHead/buildNumber", + success:function(res){ + if(res && res.code === 200){ + var obj = res.data; + var defaultNumber = obj.DefaultNumber; + var newNumber = amountNum + defaultNumber; + $("#Number").val(newNumber).attr("data-defaultNumber",newNumber); + } + }, + error:function(){ + $.messager.alert('提示','生成单据编号失败!','error'); + } + }); +} + +//新增信息 +function addDepotHead(){ + $('#depotHeadFM').form('clear'); + var thisDateTime = getNowFormatDateTime(); //当前时间 + $("#OperTime").val(thisDateTime); + buildNumber(); //生成单据编号 + //初始化优惠率、优惠金额、优惠后金额、本次付|收款、本次欠款 为0 + $("#Discount").val(0); + $("#DiscountMoney").val(0); + $("#DiscountLastMoney").val(0); + $("#ChangeAmount").val(0); + $("#Debt").val(0); + $("#AccountId").val(defaultAccountId); //初始化默认的账户Id + var addTitle = listTitle.replace("列表","信息"); + $('#depotHeadDlg').dialog('open').dialog('setTitle',' 增加' + addTitle); + $(".window-mask").css({ width: webW ,height: webH}); + + orgDepotHead = ""; + depotHeadID = 0; + initTableData_material("add"); //商品列表 + reject(); //撤销下、刷新商品列表 + $("#addOrgan").off("click").on("click",function(){ + $('#supplierDlg').dialog('open').dialog('setTitle',' 增加供应商信息'); + $('#supplierFM').form('clear'); + }); + + $("#addMember").off("click").on("click",function(){ + $('#supplierDlg').dialog('open').dialog('setTitle',' 增加会员信息'); + $('#supplierFM').form('clear'); + }); + $("#addCustomer").off("click").on("click",function(){ + $('#supplierDlg').dialog('open').dialog('setTitle',' 增加客户信息'); + $('#supplierFM').form('clear'); + }); + url = '/depotHead/addDepotHeadAndDetail'; + + //零售单据修改收款时,自动计算找零 + if(listSubType == "零售" || listSubType == "零售退货") { + $("#payType").val("现付"); + $("#OrganId").combobox("setValue", orgDefaultId); //自动默认选择非会员 + // 鼠标点下时清空选择项 + $("#OrganId").next().find("input").off("mousedown").on("mousedown",function(){ + $("#OrganId").combobox("setValue", ""); + }); + //当会员卡号长度超过10位后,自动点击下拉框,用于兼容刷卡器 + $("#OrganId").next().find("input").off("keyup").on("keyup",function(){ + var self = this; + if($(this).val().length === 10){ + setTimeout(function(){ + $(".combo-panel .combobox-item-selected").click(); + //更新付款类型,加载会员的预付款的金额 + for(var i=0; i0){ + option = ''; + option += ''; + } + else { + option += ''; + } + $("#payType").empty().append(option); + } + } + },1000); + } + }); + var getAmount = $("#depotHeadFM .get-amount"); + var changeAmount = $("#depotHeadFM .change-amount"); + var backAmount = $("#depotHeadFM .back-amount"); + getAmount.val(0); changeAmount.val(0); backAmount.val(0); //时间初始化 + getAmount.off("keyup").on("keyup",function() { + if(changeAmount.val()){ + backAmount.val((getAmount.val()-changeAmount.val()).toFixed(2)); + } + }); + } +} + +//编辑信息 +function editDepotHead(index, status){ + if(status == "1" || status == "2") { + $.messager.alert('编辑提示','已审核和已转的单据不能编辑!','warning'); + return; + } + // var depotHeadInfo = depotHeadTotalInfo.split("AaBb"); + //获取当前行 + var rowsdata =''; + if(Number(index).toString()=='NaN'){ + rowsdata=$.parseJSON(index); + }else{ + rowsdata=$("#tableData").datagrid("getRows")[index]; + } + $("#ProjectId").focus().val(rowsdata.projectid); + var ProjectId=rowsdata.projectid; + if(ProjectId!='') { + initSystemData_person(ProjectId); + initSelectInfo_person(); + } + var TotalPrice = rowsdata.totalprice; //合计金额 + if(pageType === "skip") { //从订单跳转过来 + buildNumber(); //生成单据编号 + var thisDateTime = getNowFormatDateTime(); //当前时间 + $("#OperTime").val(thisDateTime); + $("#LinkNumber").val(rowsdata.number); //关联订单号 + $("#AccountId").val(defaultAccountId); //初始化默认的账户Id + $("#DiscountLastMoney").val(TotalPrice); //优惠后金额 + $("#ChangeAmount").val(TotalPrice).attr("data-changeamount", TotalPrice); + } else { + $("#Number").val(rowsdata.number).attr("data-defaultNumber",rowsdata.number); + $("#OperTime").val(rowsdata.opertimeStr); + $("#LinkNumber").val(rowsdata.linknumber==undefined?"":rowsdata.linknumber); //关联订单号 + $("#AccountId").val(rowsdata.accountid); //账户Id + $("#DiscountLastMoney").val(rowsdata.discountlastmoney==undefined?"0.00":rowsdata.discountlastmoney); //优惠后金额 + $("#ChangeAmount").val(rowsdata.changeamount).attr("data-changeamount", rowsdata.changeamount); + } + $('#OrganId').combobox('setValue', rowsdata.organid==undefined?'':rowsdata.organid); + $("#HandsPersonId").val(rowsdata.handspersonid); + $("#Remark").val(rowsdata.remark); + $("#Discount").val(rowsdata.discount==undefined?"0":rowsdata.discount); + $("#DiscountMoney").val(rowsdata.discountmoney==undefined?"0.00":rowsdata.discountmoney); + $("#Debt").val(Number((rowsdata.discountlastmoney==undefined?'0.00':rowsdata.discountlastmoney-rowsdata.changeamount)).toFixed(2)); + $("#AccountDay").val(rowsdata.accountday==undefined?"":rowsdata.accountday); //结算天数 + preTotalPrice = rowsdata.totalprice; //记录前一次合计金额,用于扣预付款 + $("#AllocationProjectId").val(rowsdata.allocationprojectid); + oldNumber = rowsdata.number; //记录编辑前的单据编号 + oldId = rowsdata.id; //记录单据Id + var editTitle = listTitle.replace("列表","信息"); + $('#depotHeadDlg').dialog('open').dialog('setTitle',' 编辑' + editTitle); + $(".window-mask").css({ width: webW ,height: webH}); + depotHeadID = rowsdata.id; + + if(listSubType == "零售"){ + var option = ""; + if(rowsdata.paytype == "预付款"){ + option = ''; + option += ''; + } + else { + option += ''; + } + $("#payType").empty().append(option); + } + + if(listSubType == "销售" || listSubType == "销售退货"){ + if(rowsdata.salesman){ + var arr = rowsdata.salesman.split(","); + var salesmanArray = []; + for(var i=0;i","")); + } + } + $("#Salesman").combobox('setValues', salesmanArray); + } + } + + //采购入库、销售出库的多账户加载 + if(rowsdata.accountidlist!=undefined && rowsdata.accountmoneylist!=undefined){ + $("#AccountId").val("many"); //下拉框选中多账户 + var accountArr = rowsdata.accountidlist.split(","); + var accountMoneyArr = rowsdata.accountmoneylist.split(","); + accountMoneyArr = changeListFmtPlus(accountMoneyArr) //将数组单个金额中的数值转为正数 + + if(listSubType == "零售" || listSubType == "零售退货") { + var manyAccountMoney = 0; //多账户合计-零售 + for (var j = 0; j < accountArr.length; j++) { + if (accountList != null) { + for (var i = 0; i < accountList.length; i++) { + var account = accountList[i]; + if (accountArr[j] == account.id) { + manyAccountMoney += accountMoneyArr[j] - 0; //多账户合计-零售 + } + } + } + } + $("#getAmount").val(manyAccountMoney); //收款金额、付款金额 + var changeAmount = $("#ChangeAmount").val()-0; + $("#backAmount").val((manyAccountMoney-changeAmount).toFixed(2)); //找零 + } + + $("#AccountId").attr("data-accountArr", JSON.stringify(accountArr)).attr("data-accountMoneyArr", JSON.stringify(accountMoneyArr)); //json数据存储 + $(".many-account-ico").show(); //显示多账户的ico图标 + } + + //采购入库、销售出库的费用数据加载 + if(rowsdata.othermoneylist &&rowsdata.othermoneyitem){ + $("#OtherMoney").val(rowsdata.othermoney==undefined?"0":rowsdata.othermoney); //采购费用、销售费用 + var itemArr = rowsdata.othermoneylist.split(","); + var itemMoneyArr = rowsdata.othermoneyitem.split(","); + $("#OtherMoney").attr("data-itemArr",JSON.stringify(itemArr)).attr("data-itemMoneyArr",JSON.stringify(itemMoneyArr)); //json数据存储 + } + + initTableData_material("edit",TotalPrice); //商品列表 + reject(); //撤销下、刷新商品列表 + if(pageType === "skip") { + url = '/depotHead/addDepotHeadAndDetail'; //如果是从订单跳转过来,则此处为新增的接口 + //jshjshjsh + $("#depotHeadFM .datagrid-body").find("[field='DepotId']").click(); + } else { + url = '/depotHead/updateDepotHeadAndDetail?id=' + rowsdata.id; //更新接口 + } +} + +//查看信息 +function showDepotHead(index){ + // var depotHeadInfo = depotHeadTotalInfo.split("AaBb"); + //获取当前行 + var rowsdata = $("#tableData").datagrid("getRows")[index]; + var manyAccountMoney = 0; //多账户合计-零售 + $("#ProjectIdShow").text(rowsdata.projectName); + $("#NumberShow").text(rowsdata.number); + $("#OperTimeShow").text(rowsdata.opertimeStr); + $('#OrganIdShow').text(rowsdata.organName==undefined?'':rowsdata.organName); + $("#HandsPersonIdShow").text(rowsdata.handsPersonName); + if(rowsdata.accountName && rowsdata.accountName!=undefined){ + $("#AccountIdShow").text(rowsdata.accountName); //结算账户 + } else { + var accountArr = (rowsdata.accountidlist==undefined?"":rowsdata.accountidlist).split(","); //账户id列表 + var accountMoneyArr =(rowsdata.accountmoneylist==undefined?"":rowsdata.accountmoneylist).split(","); //账户金额列表 + var accountIdShow = ""; + for(var j =0;j 查看' + showTitle); + $(".window-mask").css({ width: webW ,height: webH}); + + depotHeadID = rowsdata.id; + initTableData_material_show(TotalPrice); //商品列表-查看状态 + + //零售单据展示数据 + if(listSubType == "零售" || listSubType == "零售退货"){ + var changeAccount = $("#depotHeadDlgShow .change-amount-show").text() -0; + if(manyAccountMoney!==0){ + $("#depotHeadDlgShow .get-amount-show").text((manyAccountMoney).toFixed(2)); + $("#depotHeadDlgShow .back-amount-show").text((manyAccountMoney -changeAccount).toFixed(2)); + } + else { + $("#depotHeadDlgShow .get-amount-show").text((changeAccount).toFixed(2)); + $("#depotHeadDlgShow .back-amount-show").text(0); + } + } + if(listSubType === "销售" || listSubType === "销售退货"){ + if(rowsdata.salesman){ + var arr = rowsdata.salesman.split(","); + var salesmanStr = ""; + for(var i=0;i",""); + } + else { + salesmanStr += arr[i].replace("<","").replace(">","") + ","; + } + } + } + $.ajax({ + type: "get", + url: "/person/getPersonByIds", + data: { + personIDs: salesmanStr + }, + success:function(res){ + if(res && res.code === 200){ + if(res.data) { + $("#SalesmanShow").text(res.data.names); //销售人员列表 + } + } + }, + error:function(){ + + } + }); + } + } +} + +//绑定操作事件 +function bindEvent(){ + showDepotHeadDetails(1,initPageSize); //初始化时自动查询 + //搜索处理 + $("#searchBtn").off("click").on("click",function(){ + showDepotHeadDetails(1,initPageSize); + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + opts.pageNumber = 1; + opts.pageSize = initPageSize; + pager.pagination('refresh', + { + pageNumber:1, + pageSize:initPageSize + }); + }); + + //重置按钮 + $("#searchResetBtn").unbind().bind({ + click:function(){ + //$("#searchProjectId").val(""); + $("#searchState").val(""); + $("#searchBeginTime").val(""); + $("#searchEndTime").val(""); + //加载完以后重新初始化 + $("#searchBtn").click(); + } + }); + + //检查单据编号是否存在 + function checkDepotHeadNumber() { + var thisNumber = $.trim($("#Number").val()); + //表示是否存在 true == 存在 false = 不存在 + var flag = false; + //开始ajax名称检验,不能重名 + if(thisNumber.length > 0 &&( oldNumber.length ==0 || thisNumber != oldNumber)) + { + $.ajax({ + type:"get", + url: "/depotHead/checkIsNumberExist", + dataType: "json", + async : false, + data: ({ + DepotHeadID : oldId, + Number : thisNumber + }), + success: function (tipInfo) + { + flag = tipInfo; + if(tipInfo) + { + $.messager.alert('提示','抱歉,该单据编号已经存在','warning'); + return; + } + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','检查单据编号是否存在异常,请稍后再试!','error'); + return; + } + }); + } + return flag; + } + //保存信息 + /** + * 2019-01-25 + * 我对这个方法的实现结果存在严重怀疑,决定重构 + * 有如下疑点: + * 1、保存完主表,返回结果后,再发起请求去操作子表,如何保证事务的一致性(业务数据一致性) + * 2、保存完主表后,再通过selectmax的方式去获取主表主键id完全就是看人品的不可靠的思路 + * 修改计划: + * 2019-01-25修改零售出库相关操作 + * 修改方式,重写url,将主从表操作合并 + * + * + * **/ + $("#saveDepotHead").off("click").on("click",function(){ + if(!$('#depotHeadFM').form('validate')){ + return; + } + else { + //如果初始编号被修改了,就要判断单据编号是否存在 + if($.trim($("#Number").val()) != $('#Number').attr("data-defaultNumber")){ + //调用查询单据编号是否重名的方法 + if(checkDepotHeadNumber()){ + return; + } + } + //输入框提示 + if(listTitle === "采购订单列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择供应商!','warning'); + return; + } + } + else if(listTitle === "采购入库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择供应商!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择结算账户!','warning'); + return; + } + } + else if(listTitle === "零售退货列表"){ + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择付款账户!','warning'); + return; + } + if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { + $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); + return; + } + } + else if(listTitle === "销售退货列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择退货单位!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择付款账户!','warning'); + return; + } + } + else if(listTitle === "其它入库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择往来单位!','warning'); + return; + } + } + else if(listTitle === "零售出库列表"){ + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择收款账户!','warning'); + return; + } + if($("#backAmount").val()-0 <0){ + $.messager.alert('提示','找零金额不能小于0!','warning'); + return; + } + if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { + $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); + return; + } + + } + else if(listTitle === "销售订单列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择购买单位!','warning'); + return; + } + } + else if(listTitle === "销售出库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择购买单位!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择收款账户!','warning'); + return; + } + } + else if(listTitle === "采购退货列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择收货单位!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择收款账户!','warning'); + return; + } + } + else if(listTitle === "其它出库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择往来单位!','warning'); + return; + } + } + else if(listTitle === "调拨出库列表"){ + + } + //进行明细的校验 + if(depotHeadID ==0) { + //新增模式下 + if (!CheckData("add")) { + return; + } + } + else { + //编辑模式下 + if (!CheckData("edit")) { + return; + } + } + var OrganId = null, ProjectId = null,AllocationProjectId = null; + var ChangeAmount = $.trim($("#ChangeAmount").val())-0; + var TotalPrice = $("#depotHeadFM .datagrid-footer [field='AllPrice'] div").text(); + if($('#OrganId').length){ + OrganId = $('#OrganId').combobox('getValue'); + } + var accountMoneyList = $("#AccountId").attr("data-accountmoneyarr"); //账户金额列表-多账户 + var accountMoneyArr; + if(accountMoneyList) { + accountMoneyList = accountMoneyList.replace("[","").replace("]","").toString(); + var reg=new RegExp("\"","g"); //创建正则RegExp对象 + accountMoneyList = accountMoneyList.replace(reg,""); //替换所有的双引号 + accountMoneyArr = accountMoneyList.split(","); //转为数组 + } + if(listSubType === "采购订单"||listSubType === "采购"||listSubType === "零售退货"||listSubType === "销售退货"){ + //付款为负数 + ChangeAmount = 0 - ChangeAmount; + TotalPrice = 0 - TotalPrice; + if(accountMoneyArr) { + accountMoneyArr = changeListFmtMinus(accountMoneyArr); //将数组单个金额中的数值转为负数 + } + } + //零售时候,可以从会员预付款中扣款 + var thisPayType = "现付"; + if(listSubType === "零售") { + if($("#payType").val() ==="预付款") { + thisPayType = "预付款"; + } + } + var SalesmanStr = ""; + if(listSubType === "销售" || listSubType === "销售退货"){ + var Salesman = $('#Salesman').combobox('getValues').toString(); //销售人员 + if(Salesman) { + var SalesmanArray = Salesman.split(","); + for (var i = 0; i < SalesmanArray.length; i++) { + if (i === SalesmanArray.length - 1) { + SalesmanStr += "<" + SalesmanArray[i] + ">"; + } + else { + SalesmanStr += "<" + SalesmanArray[i] + ">,"; + } + } + } + } + var getAccountID = $.trim($("#AccountId").val()); + if($("#AccountId").val() === "many"){ //多账户 + getAccountID = null; + } + var infoStr=JSON.stringify({ + Type: listType, + SubType: listSubType, + ProjectId: ProjectId, + AllocationProjectId: AllocationProjectId, + DefaultNumber: $.trim($("#Number").attr("data-defaultNumber")),//初始编号 + Number: $.trim($("#Number").val()), + LinkNumber: $.trim($("#LinkNumber").val()), + OperTime: $("#OperTime").val(), + OrganId: OrganId, + HandsPersonId: $.trim($("#HandsPersonId").val()), + Salesman: SalesmanStr, //销售人员 + AccountId: getAccountID, + ChangeAmount: ChangeAmount, //付款/收款 + TotalPrice: TotalPrice, //合计 + PayType: thisPayType, //现付/预付款 + Remark: $.trim($("#Remark").val()), + AccountIdList: $("#AccountId").attr("data-accountarr"), //账户列表-多账户 + AccountMoneyList: accountMoneyArr ? JSON.stringify(accountMoneyArr) : "", //账户金额列表-多账户 + Discount: $.trim($("#Discount").val()), + DiscountMoney: $.trim($("#DiscountMoney").val()), + DiscountLastMoney: $.trim($("#DiscountLastMoney").val()), + OtherMoney: $.trim($("#OtherMoney").val()), //采购费用、销售费用 + OtherMoneyList: $("#OtherMoney").attr("data-itemarr"), //支出项目列表-涉及费用 + OtherMoneyItem: $("#OtherMoney").attr("data-itemmoneyarr"), //支出项目金额列表-涉及费用 + AccountDay: $("#AccountDay").val() //结算天数 + }); + /** + * 零售出库,单独操作 + * */ + if(url.indexOf("/depotHead/addDepotHeadAndDetail")>=0){ + addDepotHeadAndDetail(url,infoStr); + return; + }else if(url.indexOf("/depotHead/updateDepotHeadAndDetail")>=0){ + updateDepotHeadAndDetail(url,infoStr,preTotalPrice); + return; + } + $.ajax({ + type:"post", + url: url, + dataType: "json", + async : false, + data: ({ + info:infoStr + }), + success: function (tipInfo) + { + if(tipInfo) + { + function closeDialog(){ + $('#depotHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showDepotHeadDetails(opts.pageNumber,opts.pageSize); + } + + if(thisPayType === "预付款") { + //更新用户信息-预付款 + var advanceIn = 0; //预付款金额 + if(depotHeadID){ + advanceIn = TotalPrice - preTotalPrice; //修改时,预付款=合计金额-加载金额 + } + else{ + advanceIn = TotalPrice; //新增时,预付款=合计金额 + } + $.ajax({ + type:"post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data:{ + supplierId: OrganId, //会员id + advanceIn: 0 - advanceIn //保存的同时扣掉用户的预付款 + }, + success: function(res){ + if(res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function(){ + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + + //保存明细记录 + if(depotHeadID ==0) + { + getMaxId(); //查找最大的Id + accept(depotHeadMaxId,closeDialog); //新增 + } + else + { + accept(depotHeadID,closeDialog); //修改 + } + } + else + { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + }); + + //打印单据 + $("#printDepotHeadShow").off("click").on("click",function(){ + var tableString = $("#depotHeadDlgShow").html(); + localStorage.setItem("tableString",tableString); + window.open("../../js/print/print_form.html","location:No;status:No;help:No;dialogWidth:800px;dialogHeight:600px;scroll:auto;"); + }); + + //初始化键盘enter事件 + $(document).keydown(function(event){ + //兼容 IE和firefox 事件 + var e = window.event || event; + var k = e.keyCode||e.which||e.charCode; + //兼容 IE,firefox 兼容 + var obj = e.srcElement ? e.srcElement : e.target; + //绑定键盘事件为 id是指定的输入框才可以触发键盘事件 13键盘事件 ---遗留问题 enter键效验 对话框会关闭问题 + if(k == "13"&&(obj.id=="State"||obj.id=="Number")) + { + $("#saveDepotHead").click(); + } + //搜索按钮添加快捷键 + if(k == "13"&&(obj.id=="searchState"||obj.id=="searchNumber"||obj.id=="searchMaterial")) + { + $("#searchBtn").click(); + } + }); + + //优惠率输入框事件 + $("#Discount").off("keyup").on("keyup",function(){ + var footer =$("#depotHeadFM .datagrid-footer"); + var totalPrice = footer.find("[field='TaxLastMoney']").find("div").text(); + var discountNum = $(this).val(); + var discountMoney = (discountNum/100*totalPrice).toFixed(2); + var discountLastMoney = (totalPrice - discountMoney).toFixed(2); + $("#DiscountMoney").val(discountMoney); //优惠金额 + $("#DiscountLastMoney").val(discountLastMoney); //优惠后金额 + if($("#AccountId").val()!=="many"){ + $("#ChangeAmount").val(discountLastMoney); //本次付、收款 + } + var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 + $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 + }); + + //优惠金额输入框事件 + $("#DiscountMoney").off("keyup").on("keyup",function(){ + var footer =$("#depotHeadFM .datagrid-footer"); + var totalPrice = footer.find("[field='TaxLastMoney']").find("div").text(); + var discountMoney = $(this).val(); + var discount = (discountMoney/totalPrice).toFixed(2)*100; + var discountLastMoney = (totalPrice - discountMoney).toFixed(2); + $("#Discount").val(discount); //优惠金额 + $("#DiscountLastMoney").val(discountLastMoney); //优惠后金额 + if($("#AccountId").val()!=="many"){ + $("#ChangeAmount").val(discountLastMoney); //本次付、收款 + } + var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 + $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 + }); + + //付款、收款输入框事件 + $("#ChangeAmount").off("keyup").on("keyup",function(){ + var discountLastMoney = $("#DiscountLastMoney").val(); + var changeAmount = $(this).val(); + var debtMoney = (discountLastMoney - changeAmount).toFixed(2); + $("#Debt").val(debtMoney); //本次欠款 + }); + + //多账户结算窗口弹出事件 + function depotHeadAccountDlgFun(){ + $('#depotHeadAccountDlg').dialog('open').dialog('setTitle',' 多账户结算'); + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").remove(); //先移除输入栏目 + $("#accountMoneyTotalDlg").text(0); //将合计初始化为0 + for(var i=0; i<6; i++) { + $("#depotHeadAccountDlg .tabs-tmp .account-content-tmp").attr("data-index",5-i); //添加索引 + var contentTmp = $("#depotHeadAccountDlg .tabs-tmp tbody").html(); + var accountDlgHead = $("#depotHeadAccountDlg .account-head-tmp"); + accountDlgHead.after(contentTmp); + } + + //获取账户信息 + function accountDlgFun() { + var options = ""; + if(accountList !=null){ + for(var i = 0 ;i < accountList.length;i++) { + var account = accountList[i]; + options += ''; + } + $(".account-id-dlg").empty().append("").append(options); + } + } + accountDlgFun(); //获取账户信息 + $("#depotHeadAccountDlg .tabs-tmp").hide(); //隐藏模板 + + //账户金额输入框事件-多账户 + $("#depotHeadAccountDlg .account-dlg .account-money-dlg").off("keyup").on("keyup",function(){ + var totalAccoutNum = 0; + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){ + var eachAccountMoney = $(this).find(".account-money-dlg").val()-0; + totalAccoutNum += eachAccountMoney; + }); + $("#accountMoneyTotalDlg").text(totalAccoutNum); + }); + + //结算多账户列表的切换事件 + $("#depotHeadAccountDlg .account-dlg .account-id-dlg").off("change").on("change",function(){ + var selectAccount = $(this).children('option:selected').text(); + if(selectAccount === ""){ + var thisMoneyDom = $(this).closest(".account-content-tmp").find(".account-money-dlg"); + var thisMoney = thisMoneyDom.val()-0; + var accountMoneyTotal = $("#accountMoneyTotalDlg").text() - 0; + $("#accountMoneyTotalDlg").text(accountMoneyTotal - thisMoney); + thisMoneyDom.val(""); //账户为空时候,将金额也置为空 + } + }); + + //保存按钮事件 + $("#saveDepotHeadAccountDlg").off("click").on("click", function(){ + //完成多账户的json数据存储 + var accountArr = []; //账户id数组 + var accountMoneyArr = []; //账户金额数组 + var errorIndex = -1; + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){ + var thisAccId = $(this).find(".account-id-dlg").val(); + var thisAccMoney = $(this).find(".account-money-dlg").val(); + if(!thisAccId && thisAccMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisAccId && !thisAccMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisAccId && thisAccMoney) { + accountArr.push(thisAccId); + accountMoneyArr.push(thisAccMoney); + } + }); + if(errorIndex >-1){ + $.messager.alert('错误提示',"第" + (errorIndex+1) + "行数据存在问题,请修改",'warning'); + return; + } + var discountLastMoneyNum =$("#DiscountLastMoney").val()-0; //优惠后金额 + var accountMoneyTotal = $("#accountMoneyTotalDlg").text()-0; //本次付款或者收款 + if(accountMoneyTotal===0){ + $.messager.alert('错误提示',"请填写金额后保存",'warning'); + return; + } + if(accountArr.length && accountMoneyArr.length) { + $("#AccountId").attr("data-accountArr",JSON.stringify(accountArr)).attr("data-accountMoneyArr",JSON.stringify(accountMoneyArr)); //json数据存储 + } + if(listSubType==="零售" || listSubType==="零售退货") { + $("#getAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 + var backAmount = $("#getAmount").val() - $("#ChangeAmount").val(); + $("#backAmount").val((backAmount - 0).toFixed(2)); //计算找零金额 + } + else { + $("#ChangeAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 + } + $("#Debt").val((discountLastMoneyNum-accountMoneyTotal).toFixed(2)); //本次欠款 + $("#depotHeadAccountDlg").dialog('close'); + }); + + //取消事件 + function cancelFun(){ + if($("#AccountId").attr("data-accountArr")){ + $("#depotHeadAccountDlg").dialog('close'); + } + else { + $("#depotHeadAccountDlg").dialog('close'); + $("#AccountId").val("").removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 + if(listSubType==="零售" || listSubType==="零售退货"){ + $("#ChangeAmount").prop("readonly","readonly"); + } + else { + $("#ChangeAmount").removeProp("readonly","readonly"); + } + $(".many-account-ico").hide(); //隐藏多账户小图标 + } + } + //多账户-取消按钮 + $("#cancelDepotHeadAccountDlg").off("click").on("click", function(){ + cancelFun(); + }); + + //多账户-右上角的关闭按钮 + $("#depotHeadAccountDlg").prev().find(".panel-tool-close").off("click").on("click", function(){ + cancelFun(); + }); + } + //点击多账户,弹出输入框 + $("#AccountId").off("change").on("change",function(){ + var selectText = $(this).children('option:selected').text(); + if(selectText === "多账户"){ + $("#ChangeAmount").prop("readonly","readonly"); + depotHeadAccountDlgFun(); + $(".many-account-ico").show(); //显示多账户小图标 + } + else{ + $(this).removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 + if(listSubType==="零售" || listSubType==="零售退货"){ + $("#ChangeAmount").prop("readonly","readonly"); + } + else { + $("#ChangeAmount").removeProp("readonly","readonly"); + } + $(".many-account-ico").hide(); //隐藏多账户小图标 + } + }); + + //结算账户-多账户小图标-点击事件 + $(".many-account-ico").off("click").on("click",function(){ + depotHeadAccountDlgFun(); + //给弹窗赋值-多账户数据 + var accountArr = $("#AccountId").attr("data-accountArr"); + accountArr = JSON.parse(accountArr); + var accountMoneyArr = $("#AccountId").attr("data-accountMoneyArr"); + accountMoneyArr = JSON.parse(accountMoneyArr); + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){ + var index = $(this).attr("data-index"); + $(this).find(".account-id-dlg").val(accountArr[index]); + $(this).find(".account-money-dlg").val(accountMoneyArr[index]); + }); + if(listSubType==="零售" || listSubType==="零售退货") { + $("#accountMoneyTotalDlg").text($("#getAmount").val()); + } + else { + $("#accountMoneyTotalDlg").text($("#ChangeAmount").val()); + } + }); + + //点击采购费用、销售费用的事件 + $(".other-money-ico").off("click").on("click",function(){ + $('#otherMoneyDlg').dialog('open').dialog('setTitle',' '+ listSubType +'费用'); + $("#otherMoneyDlg .money-dlg .money-content-tmp").remove(); //先移除输入栏目 + $("#otherMoneyTotalDlg").text(0); //将合计初始化为0 + for(var i=0; i<6; i++) { + $("#otherMoneyDlg .tabs-tmp .money-content-tmp").attr("data-index",5-i); //添加索引 + var contentTmp = $("#otherMoneyDlg .tabs-tmp tbody").html(); + var moneyDlgHead = $("#otherMoneyDlg .money-head-tmp"); + moneyDlgHead.after(contentTmp); + } + + //获取支出项目信息 + function moneyDlgFun() { + var options = ""; + if(outItemList !=null){ + for(var i = 0 ;i < outItemList.length;i++) { + var money = outItemList[i]; + options += ''; + } + $(".money-id-dlg").empty().append("").append(options); + } + } + moneyDlgFun(); //获取支出项目信息 + $("#otherMoneyDlg .tabs-tmp").hide(); //隐藏模板 + + //支出项目的金额输入框事件 + $("#otherMoneyDlg .money-dlg .other-money-dlg").off("keyup").on("keyup",function(){ + var totalMoneyNum = 0; + $("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){ + var eachOtherMoney = $(this).find(".other-money-dlg").val()-0; + totalMoneyNum += eachOtherMoney; + }); + $("#otherMoneyTotalDlg").text(totalMoneyNum); + }); + + //支出项目列表的切换事件 + $("#otherMoneyDlg .money-dlg .money-id-dlg").off("change").on("change",function(){ + var selectItem = $(this).children('option:selected').text(); + if(selectItem === ""){ + var thisMoneyDom = $(this).closest(".money-content-tmp").find(".other-money-dlg"); + var thisMoney = thisMoneyDom.val()-0; + var otherMoneyTotal = $("#otherMoneyTotalDlg").text() - 0; + $("#otherMoneyTotalDlg").text(otherMoneyTotal - thisMoney); + thisMoneyDom.val(""); //支出项目为空时候,将金额也置为空 + } + }); + + //保存按钮事件 + $("#saveOtherMoneyDlg").off("click").on("click", function(){ + //完成支出项目的json数据存储 + var itemArr = []; //支出项目id数组 + var itemMoneyArr = []; //支出项目金额数组 + var errorIndex = -1; + $("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){ + var thisId = $(this).find(".money-id-dlg").val(); + var thisMoney = $(this).find(".other-money-dlg").val(); + if(!thisId && thisMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisId && !thisMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisId && thisMoney) { + itemArr.push(thisId); + itemMoneyArr.push(thisMoney); + } + }); + if(errorIndex >-1){ + $.messager.alert('错误提示',"第" + (errorIndex+1) + "行数据存在问题,请修改",'warning'); + return; + } + var otherMoneyTotal = $("#otherMoneyTotalDlg").text()-0; //合计金额 + if(otherMoneyTotal === 0){ //0的时候清空缓存数据 + $("#OtherMoney").removeAttr("data-itemArr").removeAttr("data-itemMoneyArr"); + } + if(itemArr.length && itemMoneyArr.length) { + $("#OtherMoney").attr("data-itemArr",JSON.stringify(itemArr)).attr("data-itemMoneyArr",JSON.stringify(itemMoneyArr)); //json数据存储 + } + $("#OtherMoney").val(otherMoneyTotal); //给采购费用、销售费用赋值 + $("#otherMoneyDlg").dialog('close'); + }); + + //取消事件 + function cancelFun(){ + if($("#OtherMoney").attr("data-itemArr")){ + $("#otherMoneyDlg").dialog('close'); + } + else { + $("#otherMoneyDlg").dialog('close'); + $("#OtherMoney").val("").removeAttr("data-itemArr").removeAttr("data-itemMoneyArr"); //将下拉置空并把缓存参数清空 + } + } + //费用-取消按钮 + $("#cancelOtherMoneyDlg").off("click").on("click", function(){ + cancelFun(); + }); + + //费用-右上角的关闭按钮 + $("#otherMoneyDlg").prev().find(".panel-tool-close").off("click").on("click", function(){ + cancelFun(); + }); + + //给弹窗赋值-采购费用、销售费用数据 + var itemArr = $("#OtherMoney").attr("data-itemArr"); + itemArr = JSON.parse(itemArr); + var itemMoneyArr = $("#OtherMoney").attr("data-itemMoneyArr"); + itemMoneyArr = JSON.parse(itemMoneyArr); + $("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){ + var index = $(this).attr("data-index"); + $(this).find(".money-id-dlg").val(itemArr[index]); + if(itemMoneyArr[index]!="undefined"){ + $(this).find(".other-money-dlg").val(itemMoneyArr[index]); + } + }); + $("#otherMoneyTotalDlg").text($("#OtherMoney").val()); + }); + + if(listTitle === "采购入库列表" || listTitle === "其它入库列表" || listTitle === "采购订单列表"|| listTitle === "零售出库列表"|| listTitle === "销售出库列表"|| listTitle === "销售订单列表"){ + var supplierType = "供应商"; + if(listTitle === "零售出库列表"){ + supplierType = "会员"; + }else if(listTitle === "销售出库列表" || listTitle === "销售订单列表"){ + supplierType = "客户"; + } + //检查单位名称是否存在 ++ 重名无法提示问题需要跟进 + function checkSupplierName() { + var supplierName = $.trim($("#supplier").val()); + var orgSupplier = ""; + //表示是否存在 true == 存在 false = 不存在 + var flag = false; + //开始ajax名称检验,不能重名 + if(supplierName.length > 0 &&( orgSupplier.length ==0 || supplierName != orgSupplier)) + { + $.ajax({ + type:"get", + url: "/supplier/checkIsNameExist", + dataType: "json", + async : false, + data: ({ + id : 0, + name : supplierName + }), + success: function (res) { + if(res && res.code === 200) { + if(res.data && res.data.status) { + flag = res.data.status; + if (flag) { + $.messager.alert('提示', '单位名称已经存在', 'info'); + return; + } + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('提示','检查单位名称是否存在异常,请稍后再试!','error'); + return; + } + }); + } + return flag; + } + + //保存供应商信息 + $("#saveSupplier").off("click").on("click",function() { + if(validateForm("supplierFM")) { + return; + } + if(checkSupplierName()){ + return; + } + var reg = /^([0-9])+$/; + var phonenum = $.trim($("#phonenum").val()); + if(phonenum.length>0 && !reg.test(phonenum)) + { + $.messager.alert('提示','电话号码只能是数字','info'); + $("#phonenum").val("").focus(); + return; + } + var beginNeedGet = $.trim($("#BeginNeedGet").val()); + var beginNeedPay = $.trim($("#BeginNeedPay").val()); + if(beginNeedGet && beginNeedPay) { + $.messager.alert('提示','期初应收和期初应付不能同时输入','info'); + return; + } + var url = '/supplier/add'; + var supObj = $("#supplierFM").serializeObject(); + supObj.type = supplierType; + supObj.enabled = 1; + $.ajax({ + url: url, + type:"post", + dataType: "json", + data:{ + info: JSON.stringify(supObj) + }, + success: function(res) { + if (res) { + $('#supplierDlg').dialog('close'); + initSupplier(); //刷新供应商 + } + } + }); + }); + } +} + +function showDepotHeadDetails(pageNo,pageSize){ + var materialParam = $.trim($("#searchMaterial").val()); + $.ajax({ + type:"get", + url: "/depotItem/getHeaderIdByMaterial", + dataType: "json", + data: ({ + materialParam: materialParam, + depotIds: depotString + }), + success: function (res) { + if(res && res.code === 200) { + var ids = res.data; + if(ids){ + $.ajax({ + type: "get", + url: "/depotHead/list", + dataType: "json", + data: ({ + search: JSON.stringify({ + type: listType, + subType: listSubType, + state: $.trim($("#searchState").val()), + number: $.trim($("#searchNumber").val()), + beginTime: $("#searchBeginTime").val(), + endTime: $("#searchEndTime").val(), + dhIds: ids + }), + currentPage: pageNo, + pageSize: pageSize + }), + success: function (res) { + if(res && res.code === 200){ + if(res.data && res.data.page) { + $("#tableData").datagrid('loadData', res.data.page); + } + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); + return; + } + }); + } + else { + $("#tableData").datagrid('loadData', []); + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + return; + } + }); +} + +//自动计算事件 +function autoReckon() { + //延时绑定事件 + setTimeout(function(){ + var body =$("#depotHeadFM .datagrid-body"); + var footer =$("#depotHeadFM .datagrid-footer"); + var input = ".datagrid-editable-input"; + //点击商品下拉框,自动加载数量、单价、金额 + body.find("[field='Stock']").find(input).prop("readonly","readonly"); + //点击库存文本框,字段计算库存 + body.find("[field='Stock']").find(input).off("click").on("click",function(){ + var depotId = body.find("[field='DepotId']").find(".combo-value").val(); + var mId = body.find("[field='MaterialId']").find(".combo-value").val(); + var monthTime = getNowFormatMonth(); + if(depotId && mId){ + var ratio = body.find("[field='Unit']").find(input).attr("data-ratio"); + body.find("[field='Stock']").find(input).prop("readonly","readonly"); + //在新增的时候,这个ratio有值;在编辑的时候,这个ratio为undefined + var type = "click"; //type 类型:点击 click,选择 select + findStockNumById(depotId, mId, monthTime, body, input, ratio, type); + } + else{ + body.find("[field='Stock']").find(input).val(0).attr("data-stock",0); //加载库存数据 + } + }); + //修改数量,自动计算金额和合计,另外计算含税单价、税额、价税合计 + body.find("[field='OperNumber']").find(input).off("keyup").on("keyup",function(){ + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var OperNumber =$(this).val()-0; //数量 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + + }); + //修改单价,自动计算金额和合计 + body.find("[field='UnitPrice']").find(input).off("keyup").on("keyup",function(){ + var UnitPrice =$(this).val()-0; //单价 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //点击单价,自动提示参考价格列表 + body.find("[field='UnitPrice']").find(input).off("click").on("click",function(){ + var self = this; + var mValue = body.find("[field='MaterialId'] .combo-value").attr("value"); //获取选中的商品id + if(!mValue) { + return; + } + else { + if(listTitle!="销售出库列表" && listTitle!="采购退货列表" && listTitle!="其它出库列表" && listTitle!="调拨出库列表") { + return; + } + $.ajax({ + url: "/material/findById", + type: "get", + dataType: "json", + data: { + id: mValue - 0 + }, + success: function(res){ + if(res && res.rows && res.rows[0]) { + var retailPrice = res.rows[0].RetailPrice; + var presetPriceOne = res.rows[0].PresetPriceOne; + var presetPriceTwo = res.rows[0].PresetPriceTwo; + //定义模版 + var temp = "
"; + temp +="
    "; + temp +="
  • 批发价:" + presetPriceTwo + "
  • "; + temp +="
  • 零售价:" + retailPrice + "
  • "; + temp +="
"; + temp +="
"; + if($('.price-list').length){ + $('.price-list').remove(); //如果存在价格列表先移除 + } + else { + if(presetPriceTwo != undefined){ //多单位的商品 + $(self).after(temp); //加载列表信息 + } + } + $('.price-list ul li').off("click").on("click",function(){ + var price = $(this).text(); + price = price.substring(price.indexOf(":") + 1); + $(self).val(price); + $(self).keyup(); //模拟键盘操作 + $('.price-list').remove(); //移除价格列表 + }); + //点击空白处移除价格列表 + $(".datagrid-body").off("click").on("click",function(){ + $('.price-list').remove(); //移除价格列表 + }); + } + }, + error: function(){ + $.messager.alert('错误提示','查询商品信息异常,请稍后再试!','error'); + return; + } + }); + } + }); + //修改含税单价,自动计算单价、金额、税额、价税合计和合计 + body.find("[field='TaxUnitPrice']").find(input).off("keyup").on("keyup",function(){ + var TaxUnitPrice =$(this).val()-0; //含税单价 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var UnitPrice = TaxUnitPrice/(1+taxRate/100); //计算单价 + body.find("[field='UnitPrice']").find(input).val((UnitPrice).toFixed(2)); //单价 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改金额,自动计算单价、税额、价税合计和合计 + body.find("[field='AllPrice']").find(input).off("keyup").on("keyup",function(){ + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var AllPrice =$(this).val()-0; //金额 + var UnitPrice = (AllPrice/OperNumber).toFixed(2); + body.find("[field='UnitPrice']").find(input).val(UnitPrice); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改税率,自动计算含税单价、税额、价税合计和合计 + body.find("[field='TaxRate']").find(input).off("keyup").on("keyup",function(){ + var taxRate =$(this).val()-0; //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改税额,自动计算税率、含税单价、价税合计和合计 + body.find("[field='TaxMoney']").find(input).off("keyup").on("keyup",function(){ + var taxMoney =$(this).val()-0; //税额 + var AllPrice = body.find("[field='AllPrice']").find(input).val(); //金额 + var taxRate = taxMoney/AllPrice*100; //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxRate']").find(input).val((taxRate).toFixed(2)); //税率 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改价税合计,自动计算税率、含税单价、税额和合计 + body.find("[field='TaxLastMoney']").find(input).off("keyup").on("keyup",function(){ + var taxLastMoney =$(this).val()-0; //价税合计 + var AllPrice = body.find("[field='AllPrice']").find(input).val(); //金额 + var taxRate = (taxLastMoney-AllPrice)/AllPrice*100; //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxRate']").find(input).val((taxRate).toFixed(2)); //税率 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + + //加载税率 + if(thisTaxRate) { + body.find("[field='TaxRate']").find(input).val(thisTaxRate); + } + else { + body.find("[field='TaxRate']").find(input).val(0); //默认为0 + } + + //在商品类型加载 组装件、普通子件 + var mType = body.find("[field='MType']"); + var rowListLength = mType.find(input).closest(".datagrid-row").attr("datagrid-row-index"); + var mTypeValue = "组合件"; + if(rowListLength > 0){ + mTypeValue = "普通子件"; + } + if(listSubType == "组装单" || listSubType == "拆卸单"){ + mType.find(input).val(mTypeValue).prop("readonly","readonly"); + } + },500); +} + +//结束编辑 +function endEditing() { + if (editIndex == undefined) { return true } + if ($('#materialData').datagrid('validateRow', editIndex)) { + //仓库信息 + var edDepot = $('#materialData').datagrid('getEditor', {index:editIndex,field:'DepotId'}); + var DepotName = $(edDepot.target).combobox('getText'); + $('#materialData').datagrid('getRows')[editIndex]['DepotName'] = DepotName; + //商品信息 + var edMaterial = $('#materialData').datagrid('getEditor', {index:editIndex,field:'MaterialId'}); + var MaterialName = $(edMaterial.target).combobox('getText'); + $('#materialData').datagrid('getRows')[editIndex]['MaterialName'] = MaterialName; + $('#materialData').datagrid('endEdit', editIndex); + editIndex = undefined; + return true; + } else { + return false; + } +} +//单击 +function onClickRow(index) { + if (editIndex != index) { + if (endEditing()) { + $('#materialData').datagrid('selectRow', index).datagrid('beginEdit', index); + editIndex = index; + autoReckon(); + } else { + $('#materialData').datagrid('selectRow', editIndex); + } + } +} +//新增 +function append(){ + if (endEditing()) { + $('#materialData').datagrid('appendRow', {DepotId:defDepotId}); + editIndex = $('#materialData').datagrid('getRows').length - 1; + $('#materialData').datagrid('selectRow', editIndex).datagrid('beginEdit', editIndex); + autoReckon(); + } +} +//删除 +function batchDel(){ + /** + * 重写一下删除的逻辑 + * 获取所有选中行,直接从列表中移除 + * 点击保存时,将需要后台删除的数据提交到服务器 + * **/ + /** + * create by: qiankunpingtai + * create time: 2019/3/20 16:26 + * description: + * 这个地方比较坑的,花了一个多小时才搞明白为什么 + * 1、删除之前必须先调用endEditing结束编辑 + * 2、如果只是调用endEditing结束编辑那么正在编辑行的被选中状态会被去掉 + * 所以要在调用endEditing先获取选中的行 + */ + //如果编辑的行一开始是选中状态,结束编辑后仍然是选中状态 + var row = $('#materialData').datagrid('getChecked'); + if (endEditing()) { + if (row.length == 0) { + $.messager.alert('删除提示', '没有记录被选中!', 'info'); + return; + } + if (row.length > 0) { + $.messager.confirm('删除确认', '确定要删除选中的' + row.length + '条单据信息吗?', function (r) { + if (r) { + for (var i = 0; i < row.length; i++) { + $('#materialData').datagrid('deleteRow', $('#materialData').datagrid("getRowIndex", row[i])); + } + } + }); + } + } +} +function removeit(){ + if (editIndex == undefined) { return } + $('#materialData').datagrid('cancelEdit', editIndex) + .datagrid('deleteRow', editIndex); + editIndex = undefined; +} +//撤销 +function reject() { + $('#materialData').datagrid('rejectChanges'); + editIndex = undefined; +} +//判断 +function CheckData(type) { + append(); + removeit(); + var change = $('#materialData').datagrid('getChanges').length; + if(type =="add" && !change) { + $.messager.alert('提示','请输入明细信息!','warning'); + return false; + } + var row = $('#materialData').datagrid('getRows'); + if(!row.length){ + $.messager.alert('提示',"请输入明细信息!",'info'); + return false; + } + var totalRowNum = ""; + for (var i = 0; i < row.length; i++) { + if (row[i].DepotId == "" || row[i].MaterialId == "" || row[i].OperNumber == "" || row[i].UnitPrice === "" || row[i].AllPrice === "") { + totalRowNum += (i + 1) + "、"; + } + } + if (totalRowNum != "") { + var totalRowNum = totalRowNum.substring(0, totalRowNum.length - 1); + $.messager.alert('提示',"第" + totalRowNum + "行数据填写不完整!",'info'); + return false; + } + return true; +} +//保存 +function accept(accepId,fun) { + var inserted = $("#materialData").datagrid('getChanges', "inserted"); + var deleted = $("#materialData").datagrid('getChanges', "deleted"); + var updated = $("#materialData").datagrid('getChanges', "updated"); + $.ajax({ + type: "post", + url: "/depotItem/saveDetials", + data: { + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated), + headerId:accepId + }, + success: function (tipInfo) + { + if (tipInfo) { + $.messager.alert('提示','保存成功!','info'); + } + else { + $.messager.alert('提示', '保存失败!', 'error'); + } + fun && fun(); + }, + error: function (XmlHttpRequest, textStatus, errorThrown) + { + $.messager.alert('提示',XmlHttpRequest.responseText,'error'); + fun && fun(); + } + }); + if (endEditing()) { + $('#materialData').datagrid('acceptChanges'); + } +} +//获取MaxId +function getMaxId(){ + var depotHeadMax=null; + $.ajax({ + type:"get", + url: "/depotHead/getMaxId", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + depotHeadMax = res.data.maxId; + } + } + } + }); + + if(depotHeadMax !=null) { + depotHeadMaxId=depotHeadMax; + } +} + +/** + * 新增单据主表及单据子表 + * */ +function addDepotHeadAndDetail(url,infoStr){ + var inserted = null; + if(pageType === "skip") { + inserted = $("#materialData").datagrid('getChanges', "updated"); + } else { + inserted = $("#materialData").datagrid('getChanges', "inserted"); + } + var deleted = $("#materialData").datagrid('getChanges', "deleted"); + var updated = $("#materialData").datagrid('getChanges', "updated"); + $.ajax({ + type:"post", + url: url, + dataType: "json", + async : false, + data: ({ + info:infoStr, + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated) + }), + success: function (tipInfo){ + + if(tipInfo){ + if(tipInfo.code!=200){ + $.messager.alert('提示', tipInfo.msg, 'error'); + return; + } + $.messager.alert('提示','保存成功!','info'); + $('#depotHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showDepotHeadDetails(opts.pageNumber,opts.pageSize); + + }else { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + + + }); +} +/** + * 修改单据主表及单据子表 + * */ +function updateDepotHeadAndDetail(url,infoStr,preTotalPrice){ + var inserted = $("#materialData").datagrid('getChanges', "inserted"); + var deleted = $("#materialData").datagrid('getChanges', "deleted"); + var updated = $("#materialData").datagrid('getChanges', "updated"); + $.ajax({ + type:"post", + url: url, + dataType: "json", + async : false, + data: ({ + id:url.substring(url.lastIndexOf("?id=")+4,url.length), + info:infoStr, + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated), + preTotalPrice:preTotalPrice + }), + success: function (tipInfo){ + if(tipInfo){ + if(tipInfo.code!=200){ + $.messager.alert('提示', tipInfo.msg, 'error'); + return; + } + $.messager.alert('提示','保存成功!','info'); + $('#depotHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showDepotHeadDetails(opts.pageNumber,opts.pageSize); + if (endEditing()) { + $('#materialData').datagrid('acceptChanges'); + } + }else { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); +} + + + + diff --git a/erp_web/js/pages/materials/assemble_list.js b/erp_web/js/pages/materials/assemble_list.js new file mode 100644 index 00000000..662d9507 --- /dev/null +++ b/erp_web/js/pages/materials/assemble_list.js @@ -0,0 +1,3205 @@ +//初始化界面 +var defDepotId = null; +var kid = sessionStorage.getItem("userId"); +var pageType = getUrlParam('t'); //获取页面类型传值 +var depotList = null; +var depotID = null; +var supplierList = null; +var supplierID = null; +var personList = null; +var personID = null; +var ProjectSearch=null; +var userBusinessList=null; +var userdepot=null; +var depotHeadMaxId=null; //获取最大的Id +var accepId=null; //保存的主表id +var url; +var depotHeadID = 0; +var preTotalPrice = 0; //前一次加载的金额 +var orgDepotHead = ""; +var editIndex = undefined; +var listTitle = ""; //单据标题 +var listType = ""; //入库 出库 +var listSubType = ""; //采购 销售等 +var payTypeTitle = "";//付款 收款 +var organUrl = ""; //组织数据接口地址 +var amountNum = ""; //单据编号开头字符 +var depotString = ""; //店铺id列表 +/**默认编号有意义吗,不如空着吧*/ +var orgDefaultId=''; //单位默认编号 +var orgDefaultList; //存储查询出来的会员列表 +var accountList; //账户列表 +var outItemList; //支出项目列表 +var thisTaxRate = 0; //当前税率,选择供应商或者客户的时候设置 +var oldNumber = ""; //编辑前的单据编号 +var oldId = 0; //编辑前的单据Id +var otherColumns = true; //明细中的‘别名’列是否显示 +var btnEnableList = getBtnStr(); //获取按钮的权限 +var mPropertyList = ""; //商品属性列表 +var defaultAccountId = 0; //默认账户id +$(function(){ + //初始化系统基础信息 + getType(); + initSystemData_UB(); + initSelectInfo_UB(); + initSystemData_depot(); + initSelectInfo_depot(); + initSystemData_person(); + initSelectInfo_person(); + initSystemData_account(); + initSelectInfo_account(); + initSupplier(); //供应商 + initSalesman(); //销售人员 + initOutItemList(); //初始化支出项目 + initMProperty(); //初始化商品属性 + initTableData(); + ininPager(); + initForm(); + bindEvent();//绑定操作事件 +}); +//根据单据名称获取类型 +function getType(){ + listTitle = $("#tablePanel").prev().text(); + depotString = "|"; + //改变宽度和高度 + $("#searchPanel").panel({width:webW-2}); + $("#tablePanel").panel({width:webW-2}); + var supUrl = "/supplier/findBySelect_sup"; //供应商接口 + var cusUrl = "/supplier/findBySelect_cus?UBType=UserCustomer&UBKeyId=" + kid; //客户接口 + var retailUrl = "/supplier/findBySelect_retail"; //散户接口 + if(listTitle === "采购订单列表"){ + listType = "其它"; + listSubType = "采购订单"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "CGDD"; + } + else if(listTitle === "采购入库列表"){ + listType = "入库"; + listSubType = "采购"; + payTypeTitle = "付款"; + organUrl = supUrl; + amountNum = "CGRK"; + } + else if(listTitle === "零售退货列表"){ + listType = "入库"; + listSubType = "零售退货"; //注:用预付款购买的产品不能退货 + payTypeTitle = "付款"; + organUrl = retailUrl; + amountNum = "LSTH"; + } + else if(listTitle === "销售退货列表"){ + listType = "入库"; + listSubType = "销售退货"; + payTypeTitle = "付款"; + organUrl = cusUrl; + amountNum = "XSTH"; + } + else if(listTitle === "其它入库列表"){ + listType = "入库"; + listSubType = "其它"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "QTRK"; + } + else if(listTitle === "零售出库列表"){ + listType = "出库"; + listSubType = "零售"; + payTypeTitle = "收款"; + organUrl = retailUrl; + amountNum = "LSCK"; + } + else if(listTitle === "销售订单列表"){ + listType = "其它"; + listSubType = "销售订单"; + payTypeTitle = "隐藏"; + organUrl = cusUrl; + amountNum = "XSDD"; + } + else if(listTitle === "销售出库列表"){ + listType = "出库"; + listSubType = "销售"; + payTypeTitle = "收款"; + organUrl = cusUrl; + amountNum = "XSCK"; + } + else if(listTitle === "采购退货列表"){ + listType = "出库"; + listSubType = "采购退货"; + payTypeTitle = "收款"; + organUrl = supUrl; + amountNum = "CGTH"; + } + else if(listTitle === "其它出库列表"){ + listType = "出库"; + listSubType = "其它"; + payTypeTitle = "隐藏"; + organUrl = cusUrl; + amountNum = "QTCK"; + } + else if(listTitle === "调拨出库列表"){ + listType = "出库"; + listSubType = "调拨"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "DBCK"; + } + else if(listTitle === "组装单列表"){ + listType = "其它"; + listSubType = "组装单"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "ZZD"; + } + else if(listTitle === "拆卸单列表"){ + listType = "其它"; + listSubType = "拆卸单"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "CXD"; + } +} +//初始化系统基础信息 +function initSystemData_UB(){ + $.ajax({ + type:"get", + url: "/userBusiness/getBasicData", + data: ({ + KeyId:kid, + Type:"UserDepot" + }), + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if (res && res.code === 200) { + userBusinessList = res.data.userBusinessList; + } + else { + userBusinessList = null; + } + } + }); + +} +//初始化页面选项卡 +function initSelectInfo_UB(){ + + if(userBusinessList !=null) + { + if(userBusinessList.length>0) + { + //用户对应的仓库列表 [1][2][3]... + userdepot =userBusinessList[0].value; + } + } +} + + +//初始化系统基础信息 +function initSystemData_depot(){ + $.ajax({ + type:"get", + url: "/depot/getAllList", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200){ + depotList = res.data; + } else { + $.messager.alert('提示', '查找系统基础信息异常,请与管理员联系!', 'error'); + return; + } + } + }); +} +//初始化页面选项卡 +function initSelectInfo_depot(){ + var options = ""; + + if(depotList !=null) + { + options = ""; + for(var i = 0 ;i < depotList.length;i++) + { + var depot = depotList[i]; + + if(userdepot!=null) + { + if(userdepot.indexOf("["+depot.id+"]")!=-1) + { + if(depot.isDefault){ + defDepotId = depot.id; + } + options += ''; + depotString = depotString + depot.id + ","; + } + } + if(depot.type === 1){ + depotString = depotString + depot.id + ","; + } + } + depotString = depotString.substring(1, depotString.length-1); + $("#ProjectId").empty().append(options); + $("#AllocationProjectId").empty().append(options); + $("#searchProjectId").empty().append('').append(options); + } +} + +//初始化供应商、客户、散户信息 +function initSupplier(){ + $('#OrganId').combobox({ + url: organUrl, + valueField:'id', + textField:'supplier', + filter: function(q, row){ + var opts = $(this).combobox('options'); + return row[opts.textField].indexOf(q) >-1; + }, + onLoadSuccess: function(res) { + var data = $(this).combobox('getData'); + for(var i = 0; i<= data.length; i++){ + if(data && data[i] && data[i].supplier === "非会员"){ + orgDefaultId = data[i].id; + } + } + if(listSubType === "零售"){ + orgDefaultList = res; + } + }, + onSelect: function(rec){ + if(listSubType === "零售"){ + var option = ""; + if(rec.supplier !== "非会员" && rec.advanceIn >0){ + option = ''; + option += ''; + } + else { + option += ''; + } + $("#payType").empty().append(option); + } + else{ + $.ajax({ + type:"get", + url: "/supplier/findById", + data: { + supplierId: rec.id + }, + dataType: "json", + success: function (res){ + if(res && res.code === 200) { + if(res.data && res.data[0]){ + thisTaxRate = res.data[0].taxRate; //设置当前的税率 + } + } + }, + error:function(){ + + } + }); + } + } + }); +} + +//初始化销售人员 +function initSalesman(){ + $('#Salesman').combobox({ + url: "/person/getPersonByNumType?type=1", + valueField:'id', + textField:'name', + multiple: true + }); +} + +//初始化收入项目列表 +function initOutItemList(){ + $.ajax({ + type:"get", + url: "/inOutItem/findBySelect?type=out", + //设置为同步 + async:false, + dataType: "json", + success: function (res){ + if(res){ + outItemList = res; + } + }, + error:function(){ + + } + }); +} + +//初始化商品属性 +function initMProperty(){ + $.ajax({ + type: "get", + url: "/materialProperty/list", + dataType: "json", + data: ({ + search: JSON.stringify({ + name: "" + }), + currentPage: 1, + pageSize: 100 + }), + success: function (res) { + if(res && res.code === 200){ + if(res.data && res.data.page) { + var thisRows = res.data.page.rows; + for (var i = 0; i < thisRows.length; i++) { + if (thisRows[i].enabled) { + mPropertyList += thisRows[i].nativeName + ","; + } + } + if (mPropertyList) { + mPropertyList = mPropertyList.substring(0, mPropertyList.length - 1); + } + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('查询提示','查询信息异常,请稍后再试!','error'); + return; + } + }); +} + +//初始化系统基础信息 +function initSystemData_person(){ + $.ajax({ + type:"get", + url: "/person/getAllList", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + personList = res.data.personList; + } + } + } + }); +} +//初始化页面选项卡 +function initSelectInfo_person(){ + var options1 = ""; + + if(personList !=null) + { + for(var i = 0 ;i < personList.length;i++) + { + var person = personList[i]; + if(0 == i) + { + personID = person.id; + } + if(person.type=="仓管员") + { + options1 += ''; + } + } + $("#HandsPersonId").empty().append(options1); + } +} +//获取账户信息 +function initSystemData_account(){ + $.ajax({ + type:"get", + url: "/account/getAccount", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + accountList = res.data.accountList; + } + } + } + }); +} +//获取账户信息 +function initSelectInfo_account(){ + var options = ""; + if(accountList !=null){ + options = ""; + options += ""; + for(var i = 0 ;i < accountList.length;i++) { + var account = accountList[i]; + options += ''; + if(account.isdefault) { + defaultAccountId = account.id; //给账户赋值默认id + } + } + $("#AccountId").empty().append(options); + } +} + +//防止表单提交重复 +function initForm(){ + $('#depotHeadFM').form({ + onSubmit: function(){ + return false; + } + }); +} + +//初始化表格数据 +function initTableData(){ + if(pageType === "skip") { + var oldRowInfo = sessionStorage.getItem("rowInfo"); + editDepotHead(oldRowInfo); //自动弹出编辑框,带缓存数据 + } + var hideType = undefined; + var isHiddenStatus = true; + if(payTypeTitle === "隐藏"){ + hideType = true; //隐藏当前列 + } + var tableToolBar = [ + { + id:'addDepotHead', + text:'增加', + iconCls:'icon-add', + handler:function() + { + addDepotHead(); + } + }, + { + id:'deleteDepotHead', + text:'删除', + iconCls:'icon-remove', + handler:function() + { + batDeleteDepotHead(); + } + } + ]; + //如果允许的按钮列表中存在就显示,3-代表审核|反审核的权限 + if(btnEnableList && btnEnableList.indexOf(3)>-1){ + isHiddenStatus = false; //显示 + tableToolBar.push({ + id:'okDepotHead', + text:'审核', + iconCls:'icon-ok', + handler:function() { + setStatusFun(); + } + }, + { + id:'undoDepotHead', + text:'反审核', + iconCls:'icon-undo', + handler:function() { + setUnStatusFun(); + } + }); + } + else { + isHiddenStatus = true; //隐藏 + } + var isShowLastMoneyColumn = false; //是否显示优惠后金额和价税合计,true为隐藏,false为显示 + if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowLastMoneyColumn = true; //隐藏 + } + var isShowOrganNameColumn = false; //是否显示供应商、客户等信息,true为隐藏,false为显示 + var organNameTitle = ""; //组织名称标题 + if(listSubType == "调拨" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowOrganNameColumn = true; //隐藏 + } + else { + if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "采购退货列表" || listTitle == "其它入库列表"){ + organNameTitle = "供应商名称"; + } + else if(listTitle == "销售订单列表" || listTitle == "销售退货列表" || listTitle == "销售出库列表" || listTitle == "其它出库列表"){ + organNameTitle = "客户名称"; + } + else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ + organNameTitle = "会员卡号"; + } + } + var opWidth = 90; //操作宽度 + var isShowSkip = false; //是否显示跳转按钮 + var opTitle = ""; //跳转按钮的标题 + if(listTitle == "采购订单列表") { + opWidth = 120; + isShowSkip = true; + opTitle = "转采购入库"; + } else if(listTitle == "销售订单列表") { + opWidth = 120; + isShowSkip = true; + opTitle = "转销售出库"; + } + $('#tableData').datagrid({ + height:heightInfo, + rownumbers: false, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + pagination: true, + //交替出现背景 + striped : true, + pageSize: 10, + pageList: initPageNum, + columns:[[ + { field: 'id',width:35,align:"center",checkbox:true}, + { title: '操作',field: 'op',align:"center",width:opWidth, + formatter:function(value, rec,index) { + var str = ''; + // var rowInfo = rec.id + 'AaBb' + rec.projectid+ 'AaBb' + rec.number+ 'AaBb' + rec.operpersonname + // + 'AaBb' + rec.opertimeStr+ 'AaBb' + rec.organid+ 'AaBb' + rec.handspersonid + // + 'AaBb' + rec.accountid+ 'AaBb' + rec.changeamount+ 'AaBb' + rec.remark + // + 'AaBb' + rec.projectName+ 'AaBb' + rec.organName+ 'AaBb' + rec.handsPersonName + // + 'AaBb' + rec.accountName + 'AaBb' + rec.totalprice + 'AaBb' + rec.allocationprojectid + // + 'AaBb' + rec.allocationProjectName + 'AaBb' + rec.paytype + 'AaBb' + rec.salesman + // + 'AaBb' + rec.discount + 'AaBb' + rec.discountmoney + 'AaBb' + rec.discountlastmoney + // + 'AaBb' + rec.accountidlist + 'AaBb' + rec.accountmoneylist + // + 'AaBb' + rec.othermoney + 'AaBb' + rec.othermoneylist + 'AaBb' + rec.othermoneyitem + // + 'AaBb' + rec.accountday + 'AaBb' + rec.linknumber; + // rowInfo = rowInfo.replace(/\"/g, ""); + // rowInfo = rowInfo.replace(/\[|]/g,""); + var orgId = rec.organid? rec.organid:0; + str += '   '; + str += '   '; + str += ''; + if(isShowSkip) { + str += '   '; + } + return str; + } + }, + { title: organNameTitle, field: 'organName',width:120, hidden:isShowOrganNameColumn}, + { title: '单据编号',field: 'number',width:135, formatter:function (value,rec) { + if(rec.linknumber) { + return value + "[转]"; + } else { + return value; + } + } + }, + { title: '商品信息',field: 'materialsList',width:180,formatter:function(value){ + if(value) { + return value.replace(",",","); + } + } + }, + { title: '单据日期',field: 'opertimeStr',width:130}, + { title: '操作员',field: 'operpersonname',width:60}, + { title: '金额合计',field: 'totalprice',width:60}, + { title: '含税合计',field: 'totaltaxlastmoney',hidden:isShowLastMoneyColumn,width:60,formatter:function(value,rec){ + return (rec.discountmoney + rec.discountlastmoney).toFixed(2); + } + }, + { title: '优惠后金额',field: 'discountlastmoney',hidden:isShowLastMoneyColumn,width:80}, + { title: payTypeTitle,field: 'changeamount',width:50,hidden:hideType}, + { title: '状态',field: 'status',hidden:isHiddenStatus, width:70,align:"center",formatter:function(value){ + if(value === "0") { + return "未审核"; + } else if(value === "1") { + return "已审核"; + } else if(value === "2") { + if(listTitle == "采购订单列表") { + return "已转采购"; + } else if(listTitle == "销售订单列表") { + return "已转销售"; + } + } + } + } + ]], + toolbar:tableToolBar, + onLoadError:function() { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); +} + +//查找库存的方法 +function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ + var thisRatio = 1; //比例 + $.ajax({ + url: "/material/findById", + type: "get", + dataType: "json", + data: { + id: mId + }, + success: function (rec) { + if(rec && rec.code === 200 && rec.data && rec.data[0]) { + var loadRatio = 1; //在单位输入框上面加载比例字段 + if(rec.data[0].unit) { //如果存在计量单位信息 + loadRatio = 1; + } + else{ + var unitName = rec.data[0].unitName; + if(unitName) { + thisRatio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); + unitName = unitName.substring(0, unitName.indexOf("(")); + } + var unitArr = unitName.split(","); + var basicUnit = unitArr[0]; //基础单位 + var otherUnit = unitArr[1]; //副单位 + var unitSetInput =""; //单位 + if(listSubType === "采购订单" || listSubType === "采购" || listSubType === "采购退货"){ + unitSetInput = rec.data[0].firstinunit; + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = thisRatio; + } + } + else if(listSubType === "销售订单" || listSubType === "销售" || listSubType === "销售退货" || listSubType === "零售" || listSubType === "零售退货"){ + unitSetInput = rec.data[0].firstoutunit; + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = thisRatio; + } + } + } + //查询库存 + $.ajax({ + type: "get", + url: '/depotItem/findStockNumById', + data:{ + projectId: depotId, + materialId: mId, + monthTime: monthTime, + currentPage: 1, + pageSize: 10 + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if (res.data && res.data.page && res.data.page[0]) { + var thisStock = res.data.page[0].thisSum; + if (type == "select") { //选择下拉框的时候 + if (ratio != undefined && ratio != 1) { + loadRatio = ratio; + } + } + else if (type == "click") { //点击库存的时候 + if (ratio != undefined) { + loadRatio = ratio; + } + } + thisStock = (thisStock / loadRatio).toFixed(2); + body.find("[field='Stock']").find(input).val(thisStock).attr("data-stock", res.data.page[0].thisSum); //加载库存数据 + } + else { + body.find("[field='Stock']").find(input).val(0).attr("data-stock", 0); //加载库存数据 + } + body.find("[field='Stock']").find(input).prop("readonly", "readonly"); //设置库存数据为只读 + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); + } + }, + error: function () { + $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); + } + }); +} +//优惠率、合计的统计方法 +function statisticsFun(body,UnitPrice,OperNumber,footer,taxRate){ + var TotalPrice = 0; + var taxLastMoneyTotal = 0; + //金额的合计 + body.find("[field='AllPrice']").each(function(){ + if($(this).find("div").text()!==""){ + TotalPrice = TotalPrice + parseFloat($(this).find("div").text().toString()); + } + }); + TotalPrice = TotalPrice + UnitPrice*OperNumber; + footer.find("[field='AllPrice']").find("div").text((TotalPrice).toFixed(2)); //金额的合计 + //价税合计的总计 + body.find("[field='TaxLastMoney']").each(function(){ + if($(this).find("div").text()!==""){ + taxLastMoneyTotal = taxLastMoneyTotal + (parseFloat($(this).find("div").text().toString())-0); + } + }); + taxLastMoneyTotal = taxLastMoneyTotal + (UnitPrice*OperNumber*(1+taxRate/100)); + footer.find("[field='TaxLastMoney']").find("div").text((taxLastMoneyTotal).toFixed(2)); //价税合计的页脚总计 + var discount = $("#Discount").val(); //优惠率 + var discountMoney = (taxLastMoneyTotal*discount/100).toFixed(2); + $("#DiscountMoney").val(discountMoney);//优惠金额 + var discountLastMoney = (taxLastMoneyTotal*(1-discount/100)).toFixed(2) + $("#DiscountLastMoney").val(discountLastMoney);//优惠后金额 + if($("#AccountId").val()!=="many"){ + $("#ChangeAmount").val(discountLastMoney); //本次付、收款 + } + var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 + $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 + + if(listSubType == "零售" || listSubType == "零售退货") { + $("#ChangeAmount, #getAmount").val((TotalPrice).toFixed(2)); + $("#backAmount").val(0); + } +} +//初始化表格数据-商品列表-编辑状态 +function initTableData_material(type,TotalPrice){ + var body,footer,input; //定义表格和文本框 + var ratio = 1; //比例-品名专用 + var ratioDepot = 1; //比例-仓库用 + var monthTime = getNowFormatMonth(); + var isShowAnotherDepot = true; //显示对方仓库,true为隐藏,false为显示 + var depotHeadName = ""; //仓库名称 + var depotUrl = ""; //仓库接口地址 + var depotTextField = ""; //仓库下拉名称 + var anotherDepotHeadName = ""; //对方仓库的列的标题 + var anotherDepotUrl = ""; //对方仓库接口地址 + var anotherDepotTextField = ""; + if(listSubType == "调拨"){ + isShowAnotherDepot = false; //调拨时候显示对方仓库 + anotherDepotHeadName = "调入仓库"; + anotherDepotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; + anotherDepotTextField = "depotName"; + } + depotHeadName = "仓库名称"; + depotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; + depotTextField = "depotName"; + var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 + if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowTaxColumn = true; //隐藏 + } + var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 + if(listSubType == "组装单" || listSubType == "拆卸单"){ + isShowMaterialTypeColumn = false; //显示 + } + $('#materialData').datagrid({ + height:245, + rownumbers: false, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + //单击行是否选中 + checkOnSelect : false, + pagination: false, + //交替出现背景 + striped : true, + showFooter: true, + //loadFilter: pagerFilter, + onClickRow: onClickRow, + columns:[[ + { field: 'Id',width:35,align:"center",checkbox:true}, + { title: '商品类型',field: 'MType',editor:'validatebox',hidden:isShowMaterialTypeColumn,width:80}, + { title: depotHeadName, field: 'DepotId', editor: 'validatebox', width: 90, + formatter: function (value, row, index) { + return row.DepotName; + }, + editor: { + type: 'combobox', + options: { + valueField: 'id', + textField: depotTextField, + method: 'get', + url: depotUrl, + onSelect:function(rec){ + var depotId = rec.id; + body =$("#depotHeadFM .datagrid-body"); + footer =$("#depotHeadFM .datagrid-footer"); + input = ".datagrid-editable-input"; + var mId = body.find("[field='MaterialId']").find(".combo-value").val(); + if(mId){ + var type = "select"; //type 类型:点击 click,选择 select + findStockNumById(depotId, mId, monthTime, body, input, ratioDepot, type); + } + } + } + } + }, + { title: '品名(型号)(扩展信息)(单位)',field: 'MaterialId',width:230, + formatter:function(value,row,index){ + return row.MaterialName; + }, + editor:{ + type:'combobox', + options:{ + valueField:'Id', + textField:'MaterialName', + method:'get', + url: "/material/findBySelect", + panelWidth: 300, //下拉框的宽度 + //全面模糊匹配,过滤字段 + filter: function(q, row){ + var opts = $(this).combobox('options'); + return row[opts.textField].indexOf(q) >-1; + }, + onBeforeLoad: function(param){ + param.mpList = mPropertyList; //商品属性 + }, + onSelect:function(rec){ + if(rec) { + var mId = rec.Id; + $.ajax({ + url: "/material/findById", + type: "get", + dataType: "json", + data: { + id: mId + }, + success: function (res) { + if(res && res.code === 200 && res.data && res.data[0]) { + var retailPrice = res.data[0].retailprice-0; //零售价格 + var presetPriceOne = res.data[0].presetpriceone-0; //预计采购价 + var presetPriceTwo = res.data[0].presetpricetwo-0; //批发价 + var firstInUnit = res.data[0].firstinunit; //首选入库单位 + var firstOutUnit = res.data[0].firstoutunit; //首选出库单位 + var basicPresetPriceOne = ""; //多单位-入库-基础价格 + var basicPresetPriceTwo = ""; //多单位-出库-基础价格 + var retailPriceOne = ""; //多单位-入库-零售价格 + var otherPresetPriceOne = ""; //多单位-入库-其他价格 + var otherPresetPriceTwo = ""; //多单位-出库-其他价格 + var retailPriceTwo = ""; //多单位-出库-零售价格 + var basicUnit = ""; //基础单位 + var otherUnit = ""; //其他单位 + if(!res.data[0].unit){ + var ps = res.data[0].pricestrategy; + var psObj = JSON.parse(ps); + basicPresetPriceOne = psObj[0].basic.PresetPriceOne-0; + basicPresetPriceTwo = psObj[0].basic.PresetPriceTwo-0; + retailPriceOne = psObj[0].basic.RetailPrice-0; + otherPresetPriceOne = psObj[1].other.PresetPriceOne-0; + otherPresetPriceTwo = psObj[1].other.PresetPriceTwo-0; + retailPriceTwo = psObj[1].other.RetailPrice-0; + basicUnit = psObj[0].basic.Unit; + otherUnit = psObj[1].other.Unit; + } + body =$("#depotHeadFM .datagrid-body"); + footer =$("#depotHeadFM .datagrid-footer"); + input = ".datagrid-editable-input"; + if(res.data[0].unit){ //如果存在计量单位信息 + ratio = 1; //重置比例为1 + body.find("[field='Unit']").find(input).val(res.data[0].unit); //设置-计量单位信息 + body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 + body.find("[field='Unit']").find(input).off("click"); //移除点击事件 + body.find("[field='Unit']").find(input).attr("data-ratio",ratio); //修改比例缓存信息 + } + else { + var unitName = res.data[0].unitName; + if(unitName) { + ratio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); //给比例赋值 + unitName = unitName.substring(0, unitName.indexOf("(")); + } + var unitArr = unitName.split(","); + var basicUnit = unitArr[0]; //基础单位 + var otherUnit = unitArr[1]; //副单位 + var unitSetInput =""; //单位 + body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 + var loadRatio = 1; //在单位输入框上面加载比例字段 + if(listSubType === "采购" || listSubType === "采购退货" || listSubType === "采购订单"){ + unitSetInput = res.data[0].firstinunit; //给单位文本框赋值 + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = ratio; + } + } + else if(listSubType === "销售" || listSubType === "销售退货" || listSubType === "销售订单" || listSubType === "零售" || listSubType === "零售退货"){ + unitSetInput = res.data[0].firstoutunit; //给单位文本框赋值 + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = ratio; + } + } + body.find("[field='Unit']").find(input).val(unitSetInput).attr("data-ratio", loadRatio); //设置-首选单位 + + body.find("[field='Unit']").find(input).off("click").on("click",function(){ + if(basicUnit && otherUnit) { + var self = this; + //定义模版 + var temp = "
"; + temp +="
    "; + temp +="
  • " + basicUnit + "
  • "; + temp +="
  • " + otherUnit + "
  • "; + temp +="
"; + temp +="
"; + if($('.unit-list').length){ + $('.unit-list').remove(); //如果存在计量单位列表先移除 + } + else { + $(self).after(temp); //加载列表信息 + } + //计量单位列表的单击事件 + $('.unit-list ul li').off("click").on("click",function(){ + var unit = $(this).text(); + var thisRatio = $(this).attr("data-ratio"); //获取比例 + $(self).val(unit).attr("data-ratio", thisRatio); + $(self).keyup(); //模拟键盘操作 + $('.unit-list').remove(); //移除计量单位列表 + var stock = body.find("[field='Stock']").find(input).attr("data-stock"); //从缓存中取值 + var type = $(this).attr("data-type"); + var UnitPrice = 0; + if(type === "basic"){ + if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { + UnitPrice = basicPresetPriceOne; + } + else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { + UnitPrice = basicPresetPriceTwo; + } + else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ + UnitPrice = retailPriceOne; + } + body.find("[field='Stock']").find(input).val(stock); //修改库存 + } + else if(type === "other"){ + if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { + UnitPrice = otherPresetPriceOne; + } + else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { + UnitPrice = otherPresetPriceTwo; + } + else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ + UnitPrice = retailPriceTwo; + } + body.find("[field='Stock']").find(input).val((stock/ratio).toFixed(2)); //修改库存 + } + body.find("[field='UnitPrice']").find(input).val(UnitPrice); //单价 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //获取数量 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //获取税率 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //点击空白处移除计量单位列表 + $(".datagrid-body").off("click").on("click",function(){ + $('.unit-list').remove(); //移除计量单位列表 + }); + } + }); + } + var detailPrice = 0; //明细列表-单价 + if(listSubType == "零售" || listSubType == "零售退货") { + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = retailPrice; + } + else { + if (firstOutUnit == basicUnit) { + detailPrice = retailPriceOne; + } + else if (firstOutUnit == otherUnit) { + detailPrice = retailPriceTwo; + } + } + } + else if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = presetPriceOne; + } + else { + if (firstInUnit == basicUnit) { + detailPrice = basicPresetPriceOne; + } + else if (firstInUnit == otherUnit) { + detailPrice = otherPresetPriceOne; + } + } + } + else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = presetPriceTwo; + } + else { + if(firstOutUnit==basicUnit) { + detailPrice = basicPresetPriceTwo; + } + else if(firstOutUnit==otherUnit){ + detailPrice = otherPresetPriceTwo; + } + } + } + body.find("[field='OperNumber']").find(input).val(1); //数量初始化为1 + //单价和总价赋值 + if(!detailPrice) { + detailPrice = 0; + } + body.find("[field='UnitPrice']").find(input).val(detailPrice); + body.find("[field='AllPrice']").find(input).val(detailPrice); + var taxRate = body.find("[field='TaxRate']").find(input).val()-0; //获取税率 + body.find("[field='TaxUnitPrice']").find(input).val((detailPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((detailPrice*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((detailPrice*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,detailPrice,1,footer,taxRate); + + //查询库存信息 + var depotId = body.find("[field='DepotId']").find(".combo-value").val(); + if(depotId) { + var type = "select"; //type 类型:点击 click,选择 select + findStockNumById(depotId, mId, monthTime, body, input, loadRatio, type); + } + } + }, + error: function() { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + } + }); + } + } + } + } + }, + { title: '库存',field: 'Stock',editor:'validatebox',width:70}, + { title: anotherDepotHeadName, field: 'AnotherDepotId',editor:'validatebox',hidden:isShowAnotherDepot,width:90, + formatter: function (value, row, index) { + return row.AnotherDepotName; + }, + editor: { + type: 'combobox', + options: { + valueField: 'id', + textField: anotherDepotTextField, + method: 'get', + url: anotherDepotUrl + } + } + }, + { title: '单位',field: 'Unit',editor:'validatebox',width:60}, + { title: '数量',field: 'OperNumber',editor:'validatebox',width:60}, + { title: '单价',field: 'UnitPrice',editor:'validatebox',width:60}, + { title: '含税单价',field: 'TaxUnitPrice',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '金额',field: 'AllPrice',editor:'validatebox',width:75}, + { title: '税率(%)',field: 'TaxRate',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '税额',field: 'TaxMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '价税合计',field: 'TaxLastMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '备注',field: 'Remark',editor:'validatebox',width:120}, + { title: '品名-别',field: 'OtherField1',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '型号-别',field: 'OtherField2',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '颜色-别',field: 'OtherField3',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '备注1',field: 'OtherField4',editor:'validatebox',hidden:true,width:60}, + { title: '备注2',field: 'OtherField5',editor:'validatebox',hidden:true,width:60} + ]], + toolbar:[ + { + id:'append', + text:'新增', + iconCls:'icon-add', + handler:function() + { + append(); //新增 + } + }, + { + id:'delete', + text:'删除', + iconCls:'icon-remove', + handler:function() + { + batchDel(); //删除 + } + }, + { + id:'reject', + text:'撤销', + iconCls:'icon-undo', + handler:function() + { + reject(); //撤销 + } + } + ], + onLoadError:function() + { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); + $.ajax({ + type:"get", + url: '/depotItem/getDetailList', + data: { + headerId: depotHeadID, + mpList: mPropertyList + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + var data = res.data; + var AllPrice = 0; + var TaxLastMoney = 0; + var DiscountMoney = $("#DiscountMoney").val()-0; //优惠金额 + var DiscountLastMoney = $("#DiscountLastMoney").val()-0; //优惠后金额 + if(type === "edit") { + AllPrice = TotalPrice; + TaxLastMoney = DiscountMoney + DiscountLastMoney; + } + var array = []; + array.push({ + "AllPrice": AllPrice, + "TaxLastMoney": TaxLastMoney + }); + data.footer = array; + $("#materialData").datagrid('loadData',data); + //如果是订单跳转到采购或销售 + if(pageType === "skip") { + var skipList = $("#depotHeadFM .datagrid-body tr"); + //逐条自动点击每行数据 + skipList.each(function (i) { + setTimeout(function () { + skipList.eq(i).find("[field='Stock']").click(); + },(i+1)*1000); + }); + } + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); +} + +//初始化表格数据-商品列表-查看状态 +function initTableData_material_show(TotalPrice){ + var isShowAnotherDepot = true; //显示对方仓库,true为隐藏,false为显示 + var anotherDepotHeadName = ""; //对方仓库的列的标题 + var depotHeadName = ""; //仓库的列的标题 + if(listSubType == "调拨"){ + isShowAnotherDepot = false; //调拨时候显示对方仓库 + anotherDepotHeadName = "调入仓库"; + } + depotHeadName = "仓库名称"; + var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 + if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowTaxColumn = true; //隐藏 + } + var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 + if(listSubType == "组装单" || listSubType == "拆卸单"){ + isShowMaterialTypeColumn = false; //显示 + } + $('#materialDataShow').datagrid({ + height:245, + rownumbers: true, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + pagination: false, + //交替出现背景 + striped : true, + showFooter: true, + onClickRow: onClickRow, + columns:[[ + { title: '商品类型',field: 'MType',width:80, hidden:isShowMaterialTypeColumn}, + { title: depotHeadName,field: 'DepotName',editor:'validatebox',width:90}, + { title: '品名(型号)(扩展信息)(单位)',field: 'MaterialName',width:230}, + { title: anotherDepotHeadName,field: 'AnotherDepotName',hidden:isShowAnotherDepot,width:90}, + { title: '单位',field: 'Unit',editor:'validatebox',width:60}, + { title: '数量',field: 'OperNumber',editor:'validatebox',width:60}, + { title: '单价',field: 'UnitPrice',editor:'validatebox',width:60}, + { title: '含税单价',field: 'TaxUnitPrice',editor:'validattebox',hidden:isShowTaxColumn,width:75}, + { title: '金额',field: 'AllPrice',editor:'validatebox',width:75}, + { title: '税率',field: 'TaxRate',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '税额',field: 'TaxMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '价税合计',field: 'TaxLastMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '备注',field: 'Remark',editor:'validatebox',width:120}, + { title: '品名-别',field: 'OtherField1',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '型号-别',field: 'OtherField2',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '颜色-别',field: 'OtherField3',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '备注1',field: 'OtherField4',editor:'validatebox',hidden:true,width:60}, + { title: '备注2',field: 'OtherField5',editor:'validatebox',hidden:true,width:60} + ]], + onLoadError:function() { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); + $.ajax({ + type:"get", + url: '/depotItem/getDetailList', + data: { + headerId: depotHeadID, + mpList: mPropertyList + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + var data = res.data; + var AllPrice = TotalPrice; + var DiscountMoney = $("#DiscountMoneyShow").text() - 0; //优惠金额 + var DiscountLastMoney = $("#DiscountLastMoneyShow").text() - 0; //优惠后金额 + var array = []; + array.push({ + "AllPrice": AllPrice, + "TaxLastMoney": DiscountMoney + DiscountLastMoney + }); + data.footer = array; + $("#materialDataShow").datagrid('loadData', data); + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); +} + +//分页信息处理 +function ininPager(){ + try + { + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + pager.pagination({ + onSelectPage:function(pageNum, pageSize) + { + opts.pageNumber = pageNum; + opts.pageSize = pageSize; + pager.pagination('refresh', + { + pageNumber:pageNum, + pageSize:pageSize + }); + showDepotHeadDetails(pageNum,pageSize); + } + }); + } + catch (e) + { + $.messager.alert('异常处理提示',"分页信息异常 : " + e.name + ": " + e.message,'error'); + } +} + +//删除单据信息 +function deleteDepotHead(depotHeadID, thisOrganId, totalPrice, status){ + if(status == "1" || status == "2") { + $.messager.alert('删除提示','已审核和已转的单据不能删除!','warning'); + return; + } + $.messager.confirm('删除确认','确定要删除此单据信息吗?',function(r) { + if (r) { + $.ajax({ + type:"post", + // url: "/depotHead/" + depotHeadID + "/delete", + url: "/depotHead/deleteDepotHeadAndDetail", + dataType: "json", + data:{ + id: depotHeadID + }, + success: function (res) { + if(res && res.code == 200) { + $("#searchBtn").click(); + } else { + $.messager.alert('删除提示', '删除单据信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('删除提示','删除单据信息异常,请稍后再试!','error'); + return; + } + }); + + //更新会员的预收款信息 + if(listSubType === "零售") { + $.ajax({ + type:"post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data:{ + supplierId: thisOrganId, //会员id + advanceIn: totalPrice //删除时同时返还用户的预付款 + }, + success: function(res){ + if(res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function(){ + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + } + }); +} + +//订单转采购或销售 +function skipDepotHead(index, status){ + //获取当前行 + var rowsdata = $("#tableData").datagrid("getRows")[index]; + if(status == "0" || status == "2") { + $.messager.alert('提示','未审核和已转的单据禁止操作!','warning'); + } else { + sessionStorage.setItem("rowInfo", JSON.stringify(rowsdata)); //将单据信息存入缓存中 + if(listTitle == "采购订单列表") { + parent.addTab("订单转采购", "../materials/purchase_in_list.html?t=skip", ""); + } else if(listTitle == "销售订单列表") { + parent.addTab("订单转销售", "../materials/sale_out_list.html?t=skip", ""); + } + } +} + +//批量删除单据信息 +function batDeleteDepotHead(){ + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) + { + $.messager.alert('删除提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) + { + $.messager.confirm('删除确认','确定要删除选中的' + row.length + '条单据信息吗?',function(r) + { + if (r) { + var ids = ""; + for (var i = 0; i < row.length; i++) { + if (i == row.length - 1) { + if (row[i].status == 0) { + ids += row[i].id; + } + break; + } + ids += row[i].id + ","; + } + if (ids) { + //批量更新会员的预收款信息 + for (var i = 0; i < row.length; i++) { + if (listSubType === "零售") { + $.ajax({ + type: "post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data: { + supplierId: row[i].organid, //会员id + advanceIn: row[i].totalprice //删除时同时返还用户的预付款 + }, + success: function (res) { + if (res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function () { + $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); + return; + } + }); + } + } + //批量删除 + $.ajax({ + type: "post", + // url: "/depotHead/batchDelete", + url: "/depotHead/batchDeleteDepotHeadAndDetail", + dataType: "json", + async: false, + data: ({ + ids: ids + }), + success: function (res) { + if (res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('删除提示', '删除单据信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('删除提示', '删除单据信息异常,请稍后再试!', 'error'); + return; + } + }); + } else { + $.messager.alert('删除提示','没有能删除的单据!','warning'); + } + } + }); + } +} + +//批量审核 +function setStatusFun() { + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) { + $.messager.alert('审核提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) { + $.messager.confirm('审核确认','确定要审核选中的' + row.length + '条信息吗?',function(r) + { + if (r) + { + var ids = ""; + for(var i = 0;i < row.length; i ++) + { + if(i == row.length-1) + { + if(row[i].status != "2") { + ids += row[i].id; + } + break; + } + ids += row[i].id + ","; + } + if(ids) { + $.ajax({ + type:"post", + url: "/depotHead/batchSetStatus", + dataType: "json", + async : false, + data: ({ + status: "1", + depotHeadIDs : ids + }), + success: function (res) { + if(res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('审核提示', '审核信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('审核提示','审核信息异常,请稍后再试!','error'); + return; + } + }); + } else { + $.messager.alert('审核提示','没有能审核的单据!','warning'); + } + } + }); + } +} + +//批量反审核 +function setUnStatusFun() { + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) + { + $.messager.alert('反审核提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) + { + $.messager.confirm('反审核确认','确定要反审核选中的' + row.length + '条信息吗?',function(r) + { + if (r) + { + var ids = ""; + for(var i = 0;i < row.length; i ++) + { + if(i == row.length-1) + { + if(row[i].status != "2") { + ids += row[i].id; + } + break; + } + ids += row[i].id + ","; + } + if(ids) { + $.ajax({ + type: "post", + url: "/depotHead/batchSetStatus", + dataType: "json", + async: false, + data: ({ + status: "0", + depotHeadIDs: ids + }), + success: function (res) { + if (res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('反审核提示', '反审核信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('反审核提示', '反审核信息异常,请稍后再试!', 'error'); + return; + } + }); + } else { + $.messager.alert('反审核提示','没有能反审核的单据!','warning'); + } + } + }); + } +} + +//生成单据编号 +function buildNumber() { + $.ajax({ + type: "get", + url: "/depotHead/buildNumber", + success:function(res){ + if(res && res.code === 200){ + var obj = res.data; + var defaultNumber = obj.DefaultNumber; + var newNumber = amountNum + defaultNumber; + $("#Number").val(newNumber).attr("data-defaultNumber",newNumber); + } + }, + error:function(){ + $.messager.alert('提示','生成单据编号失败!','error'); + } + }); +} + +//新增信息 +function addDepotHead(){ + $('#depotHeadFM').form('clear'); + var thisDateTime = getNowFormatDateTime(); //当前时间 + $("#OperTime").val(thisDateTime); + buildNumber(); //生成单据编号 + //初始化优惠率、优惠金额、优惠后金额、本次付|收款、本次欠款 为0 + $("#Discount").val(0); + $("#DiscountMoney").val(0); + $("#DiscountLastMoney").val(0); + $("#ChangeAmount").val(0); + $("#Debt").val(0); + $("#AccountId").val(defaultAccountId); //初始化默认的账户Id + var addTitle = listTitle.replace("列表","信息"); + $('#depotHeadDlg').dialog('open').dialog('setTitle',' 增加' + addTitle); + $(".window-mask").css({ width: webW ,height: webH}); + + orgDepotHead = ""; + depotHeadID = 0; + initTableData_material("add"); //商品列表 + reject(); //撤销下、刷新商品列表 + $("#addOrgan").off("click").on("click",function(){ + $('#supplierDlg').dialog('open').dialog('setTitle',' 增加供应商信息'); + $('#supplierFM').form('clear'); + }); + + $("#addMember").off("click").on("click",function(){ + $('#supplierDlg').dialog('open').dialog('setTitle',' 增加会员信息'); + $('#supplierFM').form('clear'); + }); + $("#addCustomer").off("click").on("click",function(){ + $('#supplierDlg').dialog('open').dialog('setTitle',' 增加客户信息'); + $('#supplierFM').form('clear'); + }); + url = '/depotHead/addDepotHeadAndDetail'; + + //零售单据修改收款时,自动计算找零 + if(listSubType == "零售" || listSubType == "零售退货") { + $("#payType").val("现付"); + $("#OrganId").combobox("setValue", orgDefaultId); //自动默认选择非会员 + // 鼠标点下时清空选择项 + $("#OrganId").next().find("input").off("mousedown").on("mousedown",function(){ + $("#OrganId").combobox("setValue", ""); + }); + //当会员卡号长度超过10位后,自动点击下拉框,用于兼容刷卡器 + $("#OrganId").next().find("input").off("keyup").on("keyup",function(){ + var self = this; + if($(this).val().length === 10){ + setTimeout(function(){ + $(".combo-panel .combobox-item-selected").click(); + //更新付款类型,加载会员的预付款的金额 + for(var i=0; i0){ + option = ''; + option += ''; + } + else { + option += ''; + } + $("#payType").empty().append(option); + } + } + },1000); + } + }); + var getAmount = $("#depotHeadFM .get-amount"); + var changeAmount = $("#depotHeadFM .change-amount"); + var backAmount = $("#depotHeadFM .back-amount"); + getAmount.val(0); changeAmount.val(0); backAmount.val(0); //时间初始化 + getAmount.off("keyup").on("keyup",function() { + if(changeAmount.val()){ + backAmount.val((getAmount.val()-changeAmount.val()).toFixed(2)); + } + }); + } +} + +//编辑信息 +function editDepotHead(index, status){ + if(status == "1" || status == "2") { + $.messager.alert('编辑提示','已审核和已转的单据不能编辑!','warning'); + return; + } + // var depotHeadInfo = depotHeadTotalInfo.split("AaBb"); + //获取当前行 + var rowsdata =''; + if(Number(index).toString()=='NaN'){ + rowsdata=$.parseJSON(index); + }else{ + rowsdata=$("#tableData").datagrid("getRows")[index]; + } + $("#ProjectId").focus().val(rowsdata.projectid); + var ProjectId=rowsdata.projectid; + if(ProjectId!='') { + initSystemData_person(ProjectId); + initSelectInfo_person(); + } + var TotalPrice = rowsdata.totalprice; //合计金额 + if(pageType === "skip") { //从订单跳转过来 + buildNumber(); //生成单据编号 + var thisDateTime = getNowFormatDateTime(); //当前时间 + $("#OperTime").val(thisDateTime); + $("#LinkNumber").val(rowsdata.number); //关联订单号 + $("#AccountId").val(defaultAccountId); //初始化默认的账户Id + $("#DiscountLastMoney").val(TotalPrice); //优惠后金额 + $("#ChangeAmount").val(TotalPrice).attr("data-changeamount", TotalPrice); + } else { + $("#Number").val(rowsdata.number).attr("data-defaultNumber",rowsdata.number); + $("#OperTime").val(rowsdata.opertimeStr); + $("#LinkNumber").val(rowsdata.linknumber==undefined?"":rowsdata.linknumber); //关联订单号 + $("#AccountId").val(rowsdata.accountid); //账户Id + $("#DiscountLastMoney").val(rowsdata.discountlastmoney==undefined?"0.00":rowsdata.discountlastmoney); //优惠后金额 + $("#ChangeAmount").val(rowsdata.changeamount).attr("data-changeamount", rowsdata.changeamount); + } + $('#OrganId').combobox('setValue', rowsdata.organid==undefined?'':rowsdata.organid); + $("#HandsPersonId").val(rowsdata.handspersonid); + $("#Remark").val(rowsdata.remark); + $("#Discount").val(rowsdata.discount==undefined?"0":rowsdata.discount); + $("#DiscountMoney").val(rowsdata.discountmoney==undefined?"0.00":rowsdata.discountmoney); + $("#Debt").val(Number((rowsdata.discountlastmoney==undefined?'0.00':rowsdata.discountlastmoney-rowsdata.changeamount)).toFixed(2)); + $("#AccountDay").val(rowsdata.accountday==undefined?"":rowsdata.accountday); //结算天数 + preTotalPrice = rowsdata.totalprice; //记录前一次合计金额,用于扣预付款 + $("#AllocationProjectId").val(rowsdata.allocationprojectid); + oldNumber = rowsdata.number; //记录编辑前的单据编号 + oldId = rowsdata.id; //记录单据Id + var editTitle = listTitle.replace("列表","信息"); + $('#depotHeadDlg').dialog('open').dialog('setTitle',' 编辑' + editTitle); + $(".window-mask").css({ width: webW ,height: webH}); + depotHeadID = rowsdata.id; + + if(listSubType == "零售"){ + var option = ""; + if(rowsdata.paytype == "预付款"){ + option = ''; + option += ''; + } + else { + option += ''; + } + $("#payType").empty().append(option); + } + + if(listSubType == "销售" || listSubType == "销售退货"){ + if(rowsdata.salesman){ + var arr = rowsdata.salesman.split(","); + var salesmanArray = []; + for(var i=0;i","")); + } + } + $("#Salesman").combobox('setValues', salesmanArray); + } + } + + //采购入库、销售出库的多账户加载 + if(rowsdata.accountidlist!=undefined && rowsdata.accountmoneylist!=undefined){ + $("#AccountId").val("many"); //下拉框选中多账户 + var accountArr = rowsdata.accountidlist.split(","); + var accountMoneyArr = rowsdata.accountmoneylist.split(","); + accountMoneyArr = changeListFmtPlus(accountMoneyArr) //将数组单个金额中的数值转为正数 + + if(listSubType == "零售" || listSubType == "零售退货") { + var manyAccountMoney = 0; //多账户合计-零售 + for (var j = 0; j < accountArr.length; j++) { + if (accountList != null) { + for (var i = 0; i < accountList.length; i++) { + var account = accountList[i]; + if (accountArr[j] == account.id) { + manyAccountMoney += accountMoneyArr[j] - 0; //多账户合计-零售 + } + } + } + } + $("#getAmount").val(manyAccountMoney); //收款金额、付款金额 + var changeAmount = $("#ChangeAmount").val()-0; + $("#backAmount").val((manyAccountMoney-changeAmount).toFixed(2)); //找零 + } + + $("#AccountId").attr("data-accountArr", JSON.stringify(accountArr)).attr("data-accountMoneyArr", JSON.stringify(accountMoneyArr)); //json数据存储 + $(".many-account-ico").show(); //显示多账户的ico图标 + } + + //采购入库、销售出库的费用数据加载 + if(rowsdata.othermoneylist &&rowsdata.othermoneyitem){ + $("#OtherMoney").val(rowsdata.othermoney==undefined?"0":rowsdata.othermoney); //采购费用、销售费用 + var itemArr = rowsdata.othermoneylist.split(","); + var itemMoneyArr = rowsdata.othermoneyitem.split(","); + $("#OtherMoney").attr("data-itemArr",JSON.stringify(itemArr)).attr("data-itemMoneyArr",JSON.stringify(itemMoneyArr)); //json数据存储 + } + + initTableData_material("edit",TotalPrice); //商品列表 + reject(); //撤销下、刷新商品列表 + if(pageType === "skip") { + url = '/depotHead/addDepotHeadAndDetail'; //如果是从订单跳转过来,则此处为新增的接口 + //jshjshjsh + $("#depotHeadFM .datagrid-body").find("[field='DepotId']").click(); + } else { + url = '/depotHead/updateDepotHeadAndDetail?id=' + rowsdata.id; //更新接口 + } +} + +//查看信息 +function showDepotHead(index){ + // var depotHeadInfo = depotHeadTotalInfo.split("AaBb"); + //获取当前行 + var rowsdata = $("#tableData").datagrid("getRows")[index]; + var manyAccountMoney = 0; //多账户合计-零售 + $("#ProjectIdShow").text(rowsdata.projectName); + $("#NumberShow").text(rowsdata.number); + $("#OperTimeShow").text(rowsdata.opertimeStr); + $('#OrganIdShow').text(rowsdata.organName==undefined?'':rowsdata.organName); + $("#HandsPersonIdShow").text(rowsdata.handsPersonName); + if(rowsdata.accountName && rowsdata.accountName!=undefined){ + $("#AccountIdShow").text(rowsdata.accountName); //结算账户 + } else { + var accountArr = (rowsdata.accountidlist==undefined?"":rowsdata.accountidlist).split(","); //账户id列表 + var accountMoneyArr =(rowsdata.accountmoneylist==undefined?"":rowsdata.accountmoneylist).split(","); //账户金额列表 + var accountIdShow = ""; + for(var j =0;j 查看' + showTitle); + $(".window-mask").css({ width: webW ,height: webH}); + + depotHeadID = rowsdata.id; + initTableData_material_show(TotalPrice); //商品列表-查看状态 + + //零售单据展示数据 + if(listSubType == "零售" || listSubType == "零售退货"){ + var changeAccount = $("#depotHeadDlgShow .change-amount-show").text() -0; + if(manyAccountMoney!==0){ + $("#depotHeadDlgShow .get-amount-show").text((manyAccountMoney).toFixed(2)); + $("#depotHeadDlgShow .back-amount-show").text((manyAccountMoney -changeAccount).toFixed(2)); + } + else { + $("#depotHeadDlgShow .get-amount-show").text((changeAccount).toFixed(2)); + $("#depotHeadDlgShow .back-amount-show").text(0); + } + } + if(listSubType === "销售" || listSubType === "销售退货"){ + if(rowsdata.salesman){ + var arr = rowsdata.salesman.split(","); + var salesmanStr = ""; + for(var i=0;i",""); + } + else { + salesmanStr += arr[i].replace("<","").replace(">","") + ","; + } + } + } + $.ajax({ + type: "get", + url: "/person/getPersonByIds", + data: { + personIDs: salesmanStr + }, + success:function(res){ + if(res && res.code === 200){ + if(res.data) { + $("#SalesmanShow").text(res.data.names); //销售人员列表 + } + } + }, + error:function(){ + + } + }); + } + } +} + +//绑定操作事件 +function bindEvent(){ + showDepotHeadDetails(1,initPageSize); //初始化时自动查询 + //搜索处理 + $("#searchBtn").off("click").on("click",function(){ + showDepotHeadDetails(1,initPageSize); + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + opts.pageNumber = 1; + opts.pageSize = initPageSize; + pager.pagination('refresh', + { + pageNumber:1, + pageSize:initPageSize + }); + }); + + //重置按钮 + $("#searchResetBtn").unbind().bind({ + click:function(){ + //$("#searchProjectId").val(""); + $("#searchState").val(""); + $("#searchBeginTime").val(""); + $("#searchEndTime").val(""); + //加载完以后重新初始化 + $("#searchBtn").click(); + } + }); + + //检查单据编号是否存在 + function checkDepotHeadNumber() { + var thisNumber = $.trim($("#Number").val()); + //表示是否存在 true == 存在 false = 不存在 + var flag = false; + //开始ajax名称检验,不能重名 + if(thisNumber.length > 0 &&( oldNumber.length ==0 || thisNumber != oldNumber)) + { + $.ajax({ + type:"get", + url: "/depotHead/checkIsNumberExist", + dataType: "json", + async : false, + data: ({ + DepotHeadID : oldId, + Number : thisNumber + }), + success: function (tipInfo) + { + flag = tipInfo; + if(tipInfo) + { + $.messager.alert('提示','抱歉,该单据编号已经存在','warning'); + return; + } + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','检查单据编号是否存在异常,请稍后再试!','error'); + return; + } + }); + } + return flag; + } + //保存信息 + /** + * 2019-01-25 + * 我对这个方法的实现结果存在严重怀疑,决定重构 + * 有如下疑点: + * 1、保存完主表,返回结果后,再发起请求去操作子表,如何保证事务的一致性(业务数据一致性) + * 2、保存完主表后,再通过selectmax的方式去获取主表主键id完全就是看人品的不可靠的思路 + * 修改计划: + * 2019-01-25修改零售出库相关操作 + * 修改方式,重写url,将主从表操作合并 + * + * + * **/ + $("#saveDepotHead").off("click").on("click",function(){ + if(!$('#depotHeadFM').form('validate')){ + return; + } + else { + //如果初始编号被修改了,就要判断单据编号是否存在 + if($.trim($("#Number").val()) != $('#Number').attr("data-defaultNumber")){ + //调用查询单据编号是否重名的方法 + if(checkDepotHeadNumber()){ + return; + } + } + //输入框提示 + if(listTitle === "采购订单列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择供应商!','warning'); + return; + } + } + else if(listTitle === "采购入库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择供应商!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择结算账户!','warning'); + return; + } + } + else if(listTitle === "零售退货列表"){ + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择付款账户!','warning'); + return; + } + if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { + $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); + return; + } + } + else if(listTitle === "销售退货列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择退货单位!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择付款账户!','warning'); + return; + } + } + else if(listTitle === "其它入库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择往来单位!','warning'); + return; + } + } + else if(listTitle === "零售出库列表"){ + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择收款账户!','warning'); + return; + } + if($("#backAmount").val()-0 <0){ + $.messager.alert('提示','找零金额不能小于0!','warning'); + return; + } + if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { + $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); + return; + } + + } + else if(listTitle === "销售订单列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择购买单位!','warning'); + return; + } + } + else if(listTitle === "销售出库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择购买单位!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择收款账户!','warning'); + return; + } + } + else if(listTitle === "采购退货列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择收货单位!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择收款账户!','warning'); + return; + } + } + else if(listTitle === "其它出库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择往来单位!','warning'); + return; + } + } + else if(listTitle === "调拨出库列表"){ + + } + //进行明细的校验 + if(depotHeadID ==0) { + //新增模式下 + if (!CheckData("add")) { + return; + } + } + else { + //编辑模式下 + if (!CheckData("edit")) { + return; + } + } + var OrganId = null, ProjectId = null,AllocationProjectId = null; + var ChangeAmount = $.trim($("#ChangeAmount").val())-0; + var TotalPrice = $("#depotHeadFM .datagrid-footer [field='AllPrice'] div").text(); + if($('#OrganId').length){ + OrganId = $('#OrganId').combobox('getValue'); + } + var accountMoneyList = $("#AccountId").attr("data-accountmoneyarr"); //账户金额列表-多账户 + var accountMoneyArr; + if(accountMoneyList) { + accountMoneyList = accountMoneyList.replace("[","").replace("]","").toString(); + var reg=new RegExp("\"","g"); //创建正则RegExp对象 + accountMoneyList = accountMoneyList.replace(reg,""); //替换所有的双引号 + accountMoneyArr = accountMoneyList.split(","); //转为数组 + } + if(listSubType === "采购订单"||listSubType === "采购"||listSubType === "零售退货"||listSubType === "销售退货"){ + //付款为负数 + ChangeAmount = 0 - ChangeAmount; + TotalPrice = 0 - TotalPrice; + if(accountMoneyArr) { + accountMoneyArr = changeListFmtMinus(accountMoneyArr); //将数组单个金额中的数值转为负数 + } + } + //零售时候,可以从会员预付款中扣款 + var thisPayType = "现付"; + if(listSubType === "零售") { + if($("#payType").val() ==="预付款") { + thisPayType = "预付款"; + } + } + var SalesmanStr = ""; + if(listSubType === "销售" || listSubType === "销售退货"){ + var Salesman = $('#Salesman').combobox('getValues').toString(); //销售人员 + if(Salesman) { + var SalesmanArray = Salesman.split(","); + for (var i = 0; i < SalesmanArray.length; i++) { + if (i === SalesmanArray.length - 1) { + SalesmanStr += "<" + SalesmanArray[i] + ">"; + } + else { + SalesmanStr += "<" + SalesmanArray[i] + ">,"; + } + } + } + } + var getAccountID = $.trim($("#AccountId").val()); + if($("#AccountId").val() === "many"){ //多账户 + getAccountID = null; + } + var infoStr=JSON.stringify({ + Type: listType, + SubType: listSubType, + ProjectId: ProjectId, + AllocationProjectId: AllocationProjectId, + DefaultNumber: $.trim($("#Number").attr("data-defaultNumber")),//初始编号 + Number: $.trim($("#Number").val()), + LinkNumber: $.trim($("#LinkNumber").val()), + OperTime: $("#OperTime").val(), + OrganId: OrganId, + HandsPersonId: $.trim($("#HandsPersonId").val()), + Salesman: SalesmanStr, //销售人员 + AccountId: getAccountID, + ChangeAmount: ChangeAmount, //付款/收款 + TotalPrice: TotalPrice, //合计 + PayType: thisPayType, //现付/预付款 + Remark: $.trim($("#Remark").val()), + AccountIdList: $("#AccountId").attr("data-accountarr"), //账户列表-多账户 + AccountMoneyList: accountMoneyArr ? JSON.stringify(accountMoneyArr) : "", //账户金额列表-多账户 + Discount: $.trim($("#Discount").val()), + DiscountMoney: $.trim($("#DiscountMoney").val()), + DiscountLastMoney: $.trim($("#DiscountLastMoney").val()), + OtherMoney: $.trim($("#OtherMoney").val()), //采购费用、销售费用 + OtherMoneyList: $("#OtherMoney").attr("data-itemarr"), //支出项目列表-涉及费用 + OtherMoneyItem: $("#OtherMoney").attr("data-itemmoneyarr"), //支出项目金额列表-涉及费用 + AccountDay: $("#AccountDay").val() //结算天数 + }); + /** + * 零售出库,单独操作 + * */ + if(url.indexOf("/depotHead/addDepotHeadAndDetail")>=0){ + addDepotHeadAndDetail(url,infoStr); + return; + }else if(url.indexOf("/depotHead/updateDepotHeadAndDetail")>=0){ + updateDepotHeadAndDetail(url,infoStr,preTotalPrice); + return; + } + $.ajax({ + type:"post", + url: url, + dataType: "json", + async : false, + data: ({ + info:infoStr + }), + success: function (tipInfo) + { + if(tipInfo) + { + function closeDialog(){ + $('#depotHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showDepotHeadDetails(opts.pageNumber,opts.pageSize); + } + + if(thisPayType === "预付款") { + //更新用户信息-预付款 + var advanceIn = 0; //预付款金额 + if(depotHeadID){ + advanceIn = TotalPrice - preTotalPrice; //修改时,预付款=合计金额-加载金额 + } + else{ + advanceIn = TotalPrice; //新增时,预付款=合计金额 + } + $.ajax({ + type:"post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data:{ + supplierId: OrganId, //会员id + advanceIn: 0 - advanceIn //保存的同时扣掉用户的预付款 + }, + success: function(res){ + if(res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function(){ + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + + //保存明细记录 + if(depotHeadID ==0) + { + getMaxId(); //查找最大的Id + accept(depotHeadMaxId,closeDialog); //新增 + } + else + { + accept(depotHeadID,closeDialog); //修改 + } + } + else + { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + }); + + //打印单据 + $("#printDepotHeadShow").off("click").on("click",function(){ + var tableString = $("#depotHeadDlgShow").html(); + localStorage.setItem("tableString",tableString); + window.open("../../js/print/print_form.html","location:No;status:No;help:No;dialogWidth:800px;dialogHeight:600px;scroll:auto;"); + }); + + //初始化键盘enter事件 + $(document).keydown(function(event){ + //兼容 IE和firefox 事件 + var e = window.event || event; + var k = e.keyCode||e.which||e.charCode; + //兼容 IE,firefox 兼容 + var obj = e.srcElement ? e.srcElement : e.target; + //绑定键盘事件为 id是指定的输入框才可以触发键盘事件 13键盘事件 ---遗留问题 enter键效验 对话框会关闭问题 + if(k == "13"&&(obj.id=="State"||obj.id=="Number")) + { + $("#saveDepotHead").click(); + } + //搜索按钮添加快捷键 + if(k == "13"&&(obj.id=="searchState"||obj.id=="searchNumber"||obj.id=="searchMaterial")) + { + $("#searchBtn").click(); + } + }); + + //优惠率输入框事件 + $("#Discount").off("keyup").on("keyup",function(){ + var footer =$("#depotHeadFM .datagrid-footer"); + var totalPrice = footer.find("[field='TaxLastMoney']").find("div").text(); + var discountNum = $(this).val(); + var discountMoney = (discountNum/100*totalPrice).toFixed(2); + var discountLastMoney = (totalPrice - discountMoney).toFixed(2); + $("#DiscountMoney").val(discountMoney); //优惠金额 + $("#DiscountLastMoney").val(discountLastMoney); //优惠后金额 + if($("#AccountId").val()!=="many"){ + $("#ChangeAmount").val(discountLastMoney); //本次付、收款 + } + var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 + $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 + }); + + //优惠金额输入框事件 + $("#DiscountMoney").off("keyup").on("keyup",function(){ + var footer =$("#depotHeadFM .datagrid-footer"); + var totalPrice = footer.find("[field='TaxLastMoney']").find("div").text(); + var discountMoney = $(this).val(); + var discount = (discountMoney/totalPrice).toFixed(2)*100; + var discountLastMoney = (totalPrice - discountMoney).toFixed(2); + $("#Discount").val(discount); //优惠金额 + $("#DiscountLastMoney").val(discountLastMoney); //优惠后金额 + if($("#AccountId").val()!=="many"){ + $("#ChangeAmount").val(discountLastMoney); //本次付、收款 + } + var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 + $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 + }); + + //付款、收款输入框事件 + $("#ChangeAmount").off("keyup").on("keyup",function(){ + var discountLastMoney = $("#DiscountLastMoney").val(); + var changeAmount = $(this).val(); + var debtMoney = (discountLastMoney - changeAmount).toFixed(2); + $("#Debt").val(debtMoney); //本次欠款 + }); + + //多账户结算窗口弹出事件 + function depotHeadAccountDlgFun(){ + $('#depotHeadAccountDlg').dialog('open').dialog('setTitle',' 多账户结算'); + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").remove(); //先移除输入栏目 + $("#accountMoneyTotalDlg").text(0); //将合计初始化为0 + for(var i=0; i<6; i++) { + $("#depotHeadAccountDlg .tabs-tmp .account-content-tmp").attr("data-index",5-i); //添加索引 + var contentTmp = $("#depotHeadAccountDlg .tabs-tmp tbody").html(); + var accountDlgHead = $("#depotHeadAccountDlg .account-head-tmp"); + accountDlgHead.after(contentTmp); + } + + //获取账户信息 + function accountDlgFun() { + var options = ""; + if(accountList !=null){ + for(var i = 0 ;i < accountList.length;i++) { + var account = accountList[i]; + options += ''; + } + $(".account-id-dlg").empty().append("").append(options); + } + } + accountDlgFun(); //获取账户信息 + $("#depotHeadAccountDlg .tabs-tmp").hide(); //隐藏模板 + + //账户金额输入框事件-多账户 + $("#depotHeadAccountDlg .account-dlg .account-money-dlg").off("keyup").on("keyup",function(){ + var totalAccoutNum = 0; + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){ + var eachAccountMoney = $(this).find(".account-money-dlg").val()-0; + totalAccoutNum += eachAccountMoney; + }); + $("#accountMoneyTotalDlg").text(totalAccoutNum); + }); + + //结算多账户列表的切换事件 + $("#depotHeadAccountDlg .account-dlg .account-id-dlg").off("change").on("change",function(){ + var selectAccount = $(this).children('option:selected').text(); + if(selectAccount === ""){ + var thisMoneyDom = $(this).closest(".account-content-tmp").find(".account-money-dlg"); + var thisMoney = thisMoneyDom.val()-0; + var accountMoneyTotal = $("#accountMoneyTotalDlg").text() - 0; + $("#accountMoneyTotalDlg").text(accountMoneyTotal - thisMoney); + thisMoneyDom.val(""); //账户为空时候,将金额也置为空 + } + }); + + //保存按钮事件 + $("#saveDepotHeadAccountDlg").off("click").on("click", function(){ + //完成多账户的json数据存储 + var accountArr = []; //账户id数组 + var accountMoneyArr = []; //账户金额数组 + var errorIndex = -1; + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){ + var thisAccId = $(this).find(".account-id-dlg").val(); + var thisAccMoney = $(this).find(".account-money-dlg").val(); + if(!thisAccId && thisAccMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisAccId && !thisAccMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisAccId && thisAccMoney) { + accountArr.push(thisAccId); + accountMoneyArr.push(thisAccMoney); + } + }); + if(errorIndex >-1){ + $.messager.alert('错误提示',"第" + (errorIndex+1) + "行数据存在问题,请修改",'warning'); + return; + } + var discountLastMoneyNum =$("#DiscountLastMoney").val()-0; //优惠后金额 + var accountMoneyTotal = $("#accountMoneyTotalDlg").text()-0; //本次付款或者收款 + if(accountMoneyTotal===0){ + $.messager.alert('错误提示',"请填写金额后保存",'warning'); + return; + } + if(accountArr.length && accountMoneyArr.length) { + $("#AccountId").attr("data-accountArr",JSON.stringify(accountArr)).attr("data-accountMoneyArr",JSON.stringify(accountMoneyArr)); //json数据存储 + } + if(listSubType==="零售" || listSubType==="零售退货") { + $("#getAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 + var backAmount = $("#getAmount").val() - $("#ChangeAmount").val(); + $("#backAmount").val((backAmount - 0).toFixed(2)); //计算找零金额 + } + else { + $("#ChangeAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 + } + $("#Debt").val((discountLastMoneyNum-accountMoneyTotal).toFixed(2)); //本次欠款 + $("#depotHeadAccountDlg").dialog('close'); + }); + + //取消事件 + function cancelFun(){ + if($("#AccountId").attr("data-accountArr")){ + $("#depotHeadAccountDlg").dialog('close'); + } + else { + $("#depotHeadAccountDlg").dialog('close'); + $("#AccountId").val("").removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 + if(listSubType==="零售" || listSubType==="零售退货"){ + $("#ChangeAmount").prop("readonly","readonly"); + } + else { + $("#ChangeAmount").removeProp("readonly","readonly"); + } + $(".many-account-ico").hide(); //隐藏多账户小图标 + } + } + //多账户-取消按钮 + $("#cancelDepotHeadAccountDlg").off("click").on("click", function(){ + cancelFun(); + }); + + //多账户-右上角的关闭按钮 + $("#depotHeadAccountDlg").prev().find(".panel-tool-close").off("click").on("click", function(){ + cancelFun(); + }); + } + //点击多账户,弹出输入框 + $("#AccountId").off("change").on("change",function(){ + var selectText = $(this).children('option:selected').text(); + if(selectText === "多账户"){ + $("#ChangeAmount").prop("readonly","readonly"); + depotHeadAccountDlgFun(); + $(".many-account-ico").show(); //显示多账户小图标 + } + else{ + $(this).removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 + if(listSubType==="零售" || listSubType==="零售退货"){ + $("#ChangeAmount").prop("readonly","readonly"); + } + else { + $("#ChangeAmount").removeProp("readonly","readonly"); + } + $(".many-account-ico").hide(); //隐藏多账户小图标 + } + }); + + //结算账户-多账户小图标-点击事件 + $(".many-account-ico").off("click").on("click",function(){ + depotHeadAccountDlgFun(); + //给弹窗赋值-多账户数据 + var accountArr = $("#AccountId").attr("data-accountArr"); + accountArr = JSON.parse(accountArr); + var accountMoneyArr = $("#AccountId").attr("data-accountMoneyArr"); + accountMoneyArr = JSON.parse(accountMoneyArr); + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){ + var index = $(this).attr("data-index"); + $(this).find(".account-id-dlg").val(accountArr[index]); + $(this).find(".account-money-dlg").val(accountMoneyArr[index]); + }); + if(listSubType==="零售" || listSubType==="零售退货") { + $("#accountMoneyTotalDlg").text($("#getAmount").val()); + } + else { + $("#accountMoneyTotalDlg").text($("#ChangeAmount").val()); + } + }); + + //点击采购费用、销售费用的事件 + $(".other-money-ico").off("click").on("click",function(){ + $('#otherMoneyDlg').dialog('open').dialog('setTitle',' '+ listSubType +'费用'); + $("#otherMoneyDlg .money-dlg .money-content-tmp").remove(); //先移除输入栏目 + $("#otherMoneyTotalDlg").text(0); //将合计初始化为0 + for(var i=0; i<6; i++) { + $("#otherMoneyDlg .tabs-tmp .money-content-tmp").attr("data-index",5-i); //添加索引 + var contentTmp = $("#otherMoneyDlg .tabs-tmp tbody").html(); + var moneyDlgHead = $("#otherMoneyDlg .money-head-tmp"); + moneyDlgHead.after(contentTmp); + } + + //获取支出项目信息 + function moneyDlgFun() { + var options = ""; + if(outItemList !=null){ + for(var i = 0 ;i < outItemList.length;i++) { + var money = outItemList[i]; + options += ''; + } + $(".money-id-dlg").empty().append("").append(options); + } + } + moneyDlgFun(); //获取支出项目信息 + $("#otherMoneyDlg .tabs-tmp").hide(); //隐藏模板 + + //支出项目的金额输入框事件 + $("#otherMoneyDlg .money-dlg .other-money-dlg").off("keyup").on("keyup",function(){ + var totalMoneyNum = 0; + $("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){ + var eachOtherMoney = $(this).find(".other-money-dlg").val()-0; + totalMoneyNum += eachOtherMoney; + }); + $("#otherMoneyTotalDlg").text(totalMoneyNum); + }); + + //支出项目列表的切换事件 + $("#otherMoneyDlg .money-dlg .money-id-dlg").off("change").on("change",function(){ + var selectItem = $(this).children('option:selected').text(); + if(selectItem === ""){ + var thisMoneyDom = $(this).closest(".money-content-tmp").find(".other-money-dlg"); + var thisMoney = thisMoneyDom.val()-0; + var otherMoneyTotal = $("#otherMoneyTotalDlg").text() - 0; + $("#otherMoneyTotalDlg").text(otherMoneyTotal - thisMoney); + thisMoneyDom.val(""); //支出项目为空时候,将金额也置为空 + } + }); + + //保存按钮事件 + $("#saveOtherMoneyDlg").off("click").on("click", function(){ + //完成支出项目的json数据存储 + var itemArr = []; //支出项目id数组 + var itemMoneyArr = []; //支出项目金额数组 + var errorIndex = -1; + $("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){ + var thisId = $(this).find(".money-id-dlg").val(); + var thisMoney = $(this).find(".other-money-dlg").val(); + if(!thisId && thisMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisId && !thisMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisId && thisMoney) { + itemArr.push(thisId); + itemMoneyArr.push(thisMoney); + } + }); + if(errorIndex >-1){ + $.messager.alert('错误提示',"第" + (errorIndex+1) + "行数据存在问题,请修改",'warning'); + return; + } + var otherMoneyTotal = $("#otherMoneyTotalDlg").text()-0; //合计金额 + if(otherMoneyTotal === 0){ //0的时候清空缓存数据 + $("#OtherMoney").removeAttr("data-itemArr").removeAttr("data-itemMoneyArr"); + } + if(itemArr.length && itemMoneyArr.length) { + $("#OtherMoney").attr("data-itemArr",JSON.stringify(itemArr)).attr("data-itemMoneyArr",JSON.stringify(itemMoneyArr)); //json数据存储 + } + $("#OtherMoney").val(otherMoneyTotal); //给采购费用、销售费用赋值 + $("#otherMoneyDlg").dialog('close'); + }); + + //取消事件 + function cancelFun(){ + if($("#OtherMoney").attr("data-itemArr")){ + $("#otherMoneyDlg").dialog('close'); + } + else { + $("#otherMoneyDlg").dialog('close'); + $("#OtherMoney").val("").removeAttr("data-itemArr").removeAttr("data-itemMoneyArr"); //将下拉置空并把缓存参数清空 + } + } + //费用-取消按钮 + $("#cancelOtherMoneyDlg").off("click").on("click", function(){ + cancelFun(); + }); + + //费用-右上角的关闭按钮 + $("#otherMoneyDlg").prev().find(".panel-tool-close").off("click").on("click", function(){ + cancelFun(); + }); + + //给弹窗赋值-采购费用、销售费用数据 + var itemArr = $("#OtherMoney").attr("data-itemArr"); + itemArr = JSON.parse(itemArr); + var itemMoneyArr = $("#OtherMoney").attr("data-itemMoneyArr"); + itemMoneyArr = JSON.parse(itemMoneyArr); + $("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){ + var index = $(this).attr("data-index"); + $(this).find(".money-id-dlg").val(itemArr[index]); + if(itemMoneyArr[index]!="undefined"){ + $(this).find(".other-money-dlg").val(itemMoneyArr[index]); + } + }); + $("#otherMoneyTotalDlg").text($("#OtherMoney").val()); + }); + + if(listTitle === "采购入库列表" || listTitle === "其它入库列表" || listTitle === "采购订单列表"|| listTitle === "零售出库列表"|| listTitle === "销售出库列表"|| listTitle === "销售订单列表"){ + var supplierType = "供应商"; + if(listTitle === "零售出库列表"){ + supplierType = "会员"; + }else if(listTitle === "销售出库列表" || listTitle === "销售订单列表"){ + supplierType = "客户"; + } + //检查单位名称是否存在 ++ 重名无法提示问题需要跟进 + function checkSupplierName() { + var supplierName = $.trim($("#supplier").val()); + var orgSupplier = ""; + //表示是否存在 true == 存在 false = 不存在 + var flag = false; + //开始ajax名称检验,不能重名 + if(supplierName.length > 0 &&( orgSupplier.length ==0 || supplierName != orgSupplier)) + { + $.ajax({ + type:"get", + url: "/supplier/checkIsNameExist", + dataType: "json", + async : false, + data: ({ + id : 0, + name : supplierName + }), + success: function (res) { + if(res && res.code === 200) { + if(res.data && res.data.status) { + flag = res.data.status; + if (flag) { + $.messager.alert('提示', '单位名称已经存在', 'info'); + return; + } + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('提示','检查单位名称是否存在异常,请稍后再试!','error'); + return; + } + }); + } + return flag; + } + + //保存供应商信息 + $("#saveSupplier").off("click").on("click",function() { + if(validateForm("supplierFM")) { + return; + } + if(checkSupplierName()){ + return; + } + var reg = /^([0-9])+$/; + var phonenum = $.trim($("#phonenum").val()); + if(phonenum.length>0 && !reg.test(phonenum)) + { + $.messager.alert('提示','电话号码只能是数字','info'); + $("#phonenum").val("").focus(); + return; + } + var beginNeedGet = $.trim($("#BeginNeedGet").val()); + var beginNeedPay = $.trim($("#BeginNeedPay").val()); + if(beginNeedGet && beginNeedPay) { + $.messager.alert('提示','期初应收和期初应付不能同时输入','info'); + return; + } + var url = '/supplier/add'; + var supObj = $("#supplierFM").serializeObject(); + supObj.type = supplierType; + supObj.enabled = 1; + $.ajax({ + url: url, + type:"post", + dataType: "json", + data:{ + info: JSON.stringify(supObj) + }, + success: function(res) { + if (res) { + $('#supplierDlg').dialog('close'); + initSupplier(); //刷新供应商 + } + } + }); + }); + } +} + +function showDepotHeadDetails(pageNo,pageSize){ + var materialParam = $.trim($("#searchMaterial").val()); + $.ajax({ + type:"get", + url: "/depotItem/getHeaderIdByMaterial", + dataType: "json", + data: ({ + materialParam: materialParam, + depotIds: depotString + }), + success: function (res) { + if(res && res.code === 200) { + var ids = res.data; + if(ids){ + $.ajax({ + type: "get", + url: "/depotHead/list", + dataType: "json", + data: ({ + search: JSON.stringify({ + type: listType, + subType: listSubType, + state: $.trim($("#searchState").val()), + number: $.trim($("#searchNumber").val()), + beginTime: $("#searchBeginTime").val(), + endTime: $("#searchEndTime").val(), + dhIds: ids + }), + currentPage: pageNo, + pageSize: pageSize + }), + success: function (res) { + if(res && res.code === 200){ + if(res.data && res.data.page) { + $("#tableData").datagrid('loadData', res.data.page); + } + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); + return; + } + }); + } + else { + $("#tableData").datagrid('loadData', []); + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + return; + } + }); +} + +//自动计算事件 +function autoReckon() { + //延时绑定事件 + setTimeout(function(){ + var body =$("#depotHeadFM .datagrid-body"); + var footer =$("#depotHeadFM .datagrid-footer"); + var input = ".datagrid-editable-input"; + //点击商品下拉框,自动加载数量、单价、金额 + body.find("[field='Stock']").find(input).prop("readonly","readonly"); + //点击库存文本框,字段计算库存 + body.find("[field='Stock']").find(input).off("click").on("click",function(){ + var depotId = body.find("[field='DepotId']").find(".combo-value").val(); + var mId = body.find("[field='MaterialId']").find(".combo-value").val(); + var monthTime = getNowFormatMonth(); + if(depotId && mId){ + var ratio = body.find("[field='Unit']").find(input).attr("data-ratio"); + body.find("[field='Stock']").find(input).prop("readonly","readonly"); + //在新增的时候,这个ratio有值;在编辑的时候,这个ratio为undefined + var type = "click"; //type 类型:点击 click,选择 select + findStockNumById(depotId, mId, monthTime, body, input, ratio, type); + } + else{ + body.find("[field='Stock']").find(input).val(0).attr("data-stock",0); //加载库存数据 + } + }); + //修改数量,自动计算金额和合计,另外计算含税单价、税额、价税合计 + body.find("[field='OperNumber']").find(input).off("keyup").on("keyup",function(){ + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var OperNumber =$(this).val()-0; //数量 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + + }); + //修改单价,自动计算金额和合计 + body.find("[field='UnitPrice']").find(input).off("keyup").on("keyup",function(){ + var UnitPrice =$(this).val()-0; //单价 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //点击单价,自动提示参考价格列表 + body.find("[field='UnitPrice']").find(input).off("click").on("click",function(){ + var self = this; + var mValue = body.find("[field='MaterialId'] .combo-value").attr("value"); //获取选中的商品id + if(!mValue) { + return; + } + else { + if(listTitle!="销售出库列表" && listTitle!="采购退货列表" && listTitle!="其它出库列表" && listTitle!="调拨出库列表") { + return; + } + $.ajax({ + url: "/material/findById", + type: "get", + dataType: "json", + data: { + id: mValue - 0 + }, + success: function(res){ + if(res && res.rows && res.rows[0]) { + var retailPrice = res.rows[0].RetailPrice; + var presetPriceOne = res.rows[0].PresetPriceOne; + var presetPriceTwo = res.rows[0].PresetPriceTwo; + //定义模版 + var temp = "
"; + temp +="
    "; + temp +="
  • 批发价:" + presetPriceTwo + "
  • "; + temp +="
  • 零售价:" + retailPrice + "
  • "; + temp +="
"; + temp +="
"; + if($('.price-list').length){ + $('.price-list').remove(); //如果存在价格列表先移除 + } + else { + if(presetPriceTwo != undefined){ //多单位的商品 + $(self).after(temp); //加载列表信息 + } + } + $('.price-list ul li').off("click").on("click",function(){ + var price = $(this).text(); + price = price.substring(price.indexOf(":") + 1); + $(self).val(price); + $(self).keyup(); //模拟键盘操作 + $('.price-list').remove(); //移除价格列表 + }); + //点击空白处移除价格列表 + $(".datagrid-body").off("click").on("click",function(){ + $('.price-list').remove(); //移除价格列表 + }); + } + }, + error: function(){ + $.messager.alert('错误提示','查询商品信息异常,请稍后再试!','error'); + return; + } + }); + } + }); + //修改含税单价,自动计算单价、金额、税额、价税合计和合计 + body.find("[field='TaxUnitPrice']").find(input).off("keyup").on("keyup",function(){ + var TaxUnitPrice =$(this).val()-0; //含税单价 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var UnitPrice = TaxUnitPrice/(1+taxRate/100); //计算单价 + body.find("[field='UnitPrice']").find(input).val((UnitPrice).toFixed(2)); //单价 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改金额,自动计算单价、税额、价税合计和合计 + body.find("[field='AllPrice']").find(input).off("keyup").on("keyup",function(){ + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var AllPrice =$(this).val()-0; //金额 + var UnitPrice = (AllPrice/OperNumber).toFixed(2); + body.find("[field='UnitPrice']").find(input).val(UnitPrice); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改税率,自动计算含税单价、税额、价税合计和合计 + body.find("[field='TaxRate']").find(input).off("keyup").on("keyup",function(){ + var taxRate =$(this).val()-0; //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改税额,自动计算税率、含税单价、价税合计和合计 + body.find("[field='TaxMoney']").find(input).off("keyup").on("keyup",function(){ + var taxMoney =$(this).val()-0; //税额 + var AllPrice = body.find("[field='AllPrice']").find(input).val(); //金额 + var taxRate = taxMoney/AllPrice*100; //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxRate']").find(input).val((taxRate).toFixed(2)); //税率 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改价税合计,自动计算税率、含税单价、税额和合计 + body.find("[field='TaxLastMoney']").find(input).off("keyup").on("keyup",function(){ + var taxLastMoney =$(this).val()-0; //价税合计 + var AllPrice = body.find("[field='AllPrice']").find(input).val(); //金额 + var taxRate = (taxLastMoney-AllPrice)/AllPrice*100; //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxRate']").find(input).val((taxRate).toFixed(2)); //税率 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + + //加载税率 + if(thisTaxRate) { + body.find("[field='TaxRate']").find(input).val(thisTaxRate); + } + else { + body.find("[field='TaxRate']").find(input).val(0); //默认为0 + } + + //在商品类型加载 组装件、普通子件 + var mType = body.find("[field='MType']"); + var rowListLength = mType.find(input).closest(".datagrid-row").attr("datagrid-row-index"); + var mTypeValue = "组合件"; + if(rowListLength > 0){ + mTypeValue = "普通子件"; + } + if(listSubType == "组装单" || listSubType == "拆卸单"){ + mType.find(input).val(mTypeValue).prop("readonly","readonly"); + } + },500); +} + +//结束编辑 +function endEditing() { + if (editIndex == undefined) { return true } + if ($('#materialData').datagrid('validateRow', editIndex)) { + //仓库信息 + var edDepot = $('#materialData').datagrid('getEditor', {index:editIndex,field:'DepotId'}); + var DepotName = $(edDepot.target).combobox('getText'); + $('#materialData').datagrid('getRows')[editIndex]['DepotName'] = DepotName; + //商品信息 + var edMaterial = $('#materialData').datagrid('getEditor', {index:editIndex,field:'MaterialId'}); + var MaterialName = $(edMaterial.target).combobox('getText'); + $('#materialData').datagrid('getRows')[editIndex]['MaterialName'] = MaterialName; + $('#materialData').datagrid('endEdit', editIndex); + editIndex = undefined; + return true; + } else { + return false; + } +} +//单击 +function onClickRow(index) { + if (editIndex != index) { + if (endEditing()) { + $('#materialData').datagrid('selectRow', index).datagrid('beginEdit', index); + editIndex = index; + autoReckon(); + } else { + $('#materialData').datagrid('selectRow', editIndex); + } + } +} +//新增 +function append(){ + if (endEditing()) { + $('#materialData').datagrid('appendRow', {DepotId:defDepotId}); + editIndex = $('#materialData').datagrid('getRows').length - 1; + $('#materialData').datagrid('selectRow', editIndex).datagrid('beginEdit', editIndex); + autoReckon(); + } +} +//删除 +function batchDel(){ + /** + * 重写一下删除的逻辑 + * 获取所有选中行,直接从列表中移除 + * 点击保存时,将需要后台删除的数据提交到服务器 + * **/ + /** + * create by: qiankunpingtai + * create time: 2019/3/20 16:26 + * description: + * 这个地方比较坑的,花了一个多小时才搞明白为什么 + * 1、删除之前必须先调用endEditing结束编辑 + * 2、如果只是调用endEditing结束编辑那么正在编辑行的被选中状态会被去掉 + * 所以要在调用endEditing先获取选中的行 + */ + //如果编辑的行一开始是选中状态,结束编辑后仍然是选中状态 + var row = $('#materialData').datagrid('getChecked'); + if (endEditing()) { + if (row.length == 0) { + $.messager.alert('删除提示', '没有记录被选中!', 'info'); + return; + } + if (row.length > 0) { + $.messager.confirm('删除确认', '确定要删除选中的' + row.length + '条单据信息吗?', function (r) { + if (r) { + for (var i = 0; i < row.length; i++) { + $('#materialData').datagrid('deleteRow', $('#materialData').datagrid("getRowIndex", row[i])); + } + } + }); + } + } +} +function removeit(){ + if (editIndex == undefined) { return } + $('#materialData').datagrid('cancelEdit', editIndex) + .datagrid('deleteRow', editIndex); + editIndex = undefined; +} +//撤销 +function reject() { + $('#materialData').datagrid('rejectChanges'); + editIndex = undefined; +} +//判断 +function CheckData(type) { + append(); + removeit(); + var change = $('#materialData').datagrid('getChanges').length; + if(type =="add" && !change) { + $.messager.alert('提示','请输入明细信息!','warning'); + return false; + } + var row = $('#materialData').datagrid('getRows'); + if(!row.length){ + $.messager.alert('提示',"请输入明细信息!",'info'); + return false; + } + var totalRowNum = ""; + for (var i = 0; i < row.length; i++) { + if (row[i].DepotId == "" || row[i].MaterialId == "" || row[i].OperNumber == "" || row[i].UnitPrice === "" || row[i].AllPrice === "") { + totalRowNum += (i + 1) + "、"; + } + } + if (totalRowNum != "") { + var totalRowNum = totalRowNum.substring(0, totalRowNum.length - 1); + $.messager.alert('提示',"第" + totalRowNum + "行数据填写不完整!",'info'); + return false; + } + return true; +} +//保存 +function accept(accepId,fun) { + var inserted = $("#materialData").datagrid('getChanges', "inserted"); + var deleted = $("#materialData").datagrid('getChanges', "deleted"); + var updated = $("#materialData").datagrid('getChanges', "updated"); + $.ajax({ + type: "post", + url: "/depotItem/saveDetials", + data: { + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated), + headerId:accepId + }, + success: function (tipInfo) + { + if (tipInfo) { + $.messager.alert('提示','保存成功!','info'); + } + else { + $.messager.alert('提示', '保存失败!', 'error'); + } + fun && fun(); + }, + error: function (XmlHttpRequest, textStatus, errorThrown) + { + $.messager.alert('提示',XmlHttpRequest.responseText,'error'); + fun && fun(); + } + }); + if (endEditing()) { + $('#materialData').datagrid('acceptChanges'); + } +} +//获取MaxId +function getMaxId(){ + var depotHeadMax=null; + $.ajax({ + type:"get", + url: "/depotHead/getMaxId", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + depotHeadMax = res.data.maxId; + } + } + } + }); + + if(depotHeadMax !=null) { + depotHeadMaxId=depotHeadMax; + } +} + +/** + * 新增单据主表及单据子表 + * */ +function addDepotHeadAndDetail(url,infoStr){ + var inserted = null; + if(pageType === "skip") { + inserted = $("#materialData").datagrid('getChanges', "updated"); + } else { + inserted = $("#materialData").datagrid('getChanges', "inserted"); + } + var deleted = $("#materialData").datagrid('getChanges', "deleted"); + var updated = $("#materialData").datagrid('getChanges', "updated"); + $.ajax({ + type:"post", + url: url, + dataType: "json", + async : false, + data: ({ + info:infoStr, + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated) + }), + success: function (tipInfo){ + + if(tipInfo){ + if(tipInfo.code!=200){ + $.messager.alert('提示', tipInfo.msg, 'error'); + return; + } + $.messager.alert('提示','保存成功!','info'); + $('#depotHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showDepotHeadDetails(opts.pageNumber,opts.pageSize); + + }else { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + + + }); +} +/** + * 修改单据主表及单据子表 + * */ +function updateDepotHeadAndDetail(url,infoStr,preTotalPrice){ + var inserted = $("#materialData").datagrid('getChanges', "inserted"); + var deleted = $("#materialData").datagrid('getChanges', "deleted"); + var updated = $("#materialData").datagrid('getChanges', "updated"); + $.ajax({ + type:"post", + url: url, + dataType: "json", + async : false, + data: ({ + id:url.substring(url.lastIndexOf("?id=")+4,url.length), + info:infoStr, + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated), + preTotalPrice:preTotalPrice + }), + success: function (tipInfo){ + if(tipInfo){ + if(tipInfo.code!=200){ + $.messager.alert('提示', tipInfo.msg, 'error'); + return; + } + $.messager.alert('提示','保存成功!','info'); + $('#depotHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showDepotHeadDetails(opts.pageNumber,opts.pageSize); + if (endEditing()) { + $('#materialData').datagrid('acceptChanges'); + } + }else { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); +} + + + + diff --git a/erp_web/js/pages/materials/disassemble_list.js b/erp_web/js/pages/materials/disassemble_list.js new file mode 100644 index 00000000..662d9507 --- /dev/null +++ b/erp_web/js/pages/materials/disassemble_list.js @@ -0,0 +1,3205 @@ +//初始化界面 +var defDepotId = null; +var kid = sessionStorage.getItem("userId"); +var pageType = getUrlParam('t'); //获取页面类型传值 +var depotList = null; +var depotID = null; +var supplierList = null; +var supplierID = null; +var personList = null; +var personID = null; +var ProjectSearch=null; +var userBusinessList=null; +var userdepot=null; +var depotHeadMaxId=null; //获取最大的Id +var accepId=null; //保存的主表id +var url; +var depotHeadID = 0; +var preTotalPrice = 0; //前一次加载的金额 +var orgDepotHead = ""; +var editIndex = undefined; +var listTitle = ""; //单据标题 +var listType = ""; //入库 出库 +var listSubType = ""; //采购 销售等 +var payTypeTitle = "";//付款 收款 +var organUrl = ""; //组织数据接口地址 +var amountNum = ""; //单据编号开头字符 +var depotString = ""; //店铺id列表 +/**默认编号有意义吗,不如空着吧*/ +var orgDefaultId=''; //单位默认编号 +var orgDefaultList; //存储查询出来的会员列表 +var accountList; //账户列表 +var outItemList; //支出项目列表 +var thisTaxRate = 0; //当前税率,选择供应商或者客户的时候设置 +var oldNumber = ""; //编辑前的单据编号 +var oldId = 0; //编辑前的单据Id +var otherColumns = true; //明细中的‘别名’列是否显示 +var btnEnableList = getBtnStr(); //获取按钮的权限 +var mPropertyList = ""; //商品属性列表 +var defaultAccountId = 0; //默认账户id +$(function(){ + //初始化系统基础信息 + getType(); + initSystemData_UB(); + initSelectInfo_UB(); + initSystemData_depot(); + initSelectInfo_depot(); + initSystemData_person(); + initSelectInfo_person(); + initSystemData_account(); + initSelectInfo_account(); + initSupplier(); //供应商 + initSalesman(); //销售人员 + initOutItemList(); //初始化支出项目 + initMProperty(); //初始化商品属性 + initTableData(); + ininPager(); + initForm(); + bindEvent();//绑定操作事件 +}); +//根据单据名称获取类型 +function getType(){ + listTitle = $("#tablePanel").prev().text(); + depotString = "|"; + //改变宽度和高度 + $("#searchPanel").panel({width:webW-2}); + $("#tablePanel").panel({width:webW-2}); + var supUrl = "/supplier/findBySelect_sup"; //供应商接口 + var cusUrl = "/supplier/findBySelect_cus?UBType=UserCustomer&UBKeyId=" + kid; //客户接口 + var retailUrl = "/supplier/findBySelect_retail"; //散户接口 + if(listTitle === "采购订单列表"){ + listType = "其它"; + listSubType = "采购订单"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "CGDD"; + } + else if(listTitle === "采购入库列表"){ + listType = "入库"; + listSubType = "采购"; + payTypeTitle = "付款"; + organUrl = supUrl; + amountNum = "CGRK"; + } + else if(listTitle === "零售退货列表"){ + listType = "入库"; + listSubType = "零售退货"; //注:用预付款购买的产品不能退货 + payTypeTitle = "付款"; + organUrl = retailUrl; + amountNum = "LSTH"; + } + else if(listTitle === "销售退货列表"){ + listType = "入库"; + listSubType = "销售退货"; + payTypeTitle = "付款"; + organUrl = cusUrl; + amountNum = "XSTH"; + } + else if(listTitle === "其它入库列表"){ + listType = "入库"; + listSubType = "其它"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "QTRK"; + } + else if(listTitle === "零售出库列表"){ + listType = "出库"; + listSubType = "零售"; + payTypeTitle = "收款"; + organUrl = retailUrl; + amountNum = "LSCK"; + } + else if(listTitle === "销售订单列表"){ + listType = "其它"; + listSubType = "销售订单"; + payTypeTitle = "隐藏"; + organUrl = cusUrl; + amountNum = "XSDD"; + } + else if(listTitle === "销售出库列表"){ + listType = "出库"; + listSubType = "销售"; + payTypeTitle = "收款"; + organUrl = cusUrl; + amountNum = "XSCK"; + } + else if(listTitle === "采购退货列表"){ + listType = "出库"; + listSubType = "采购退货"; + payTypeTitle = "收款"; + organUrl = supUrl; + amountNum = "CGTH"; + } + else if(listTitle === "其它出库列表"){ + listType = "出库"; + listSubType = "其它"; + payTypeTitle = "隐藏"; + organUrl = cusUrl; + amountNum = "QTCK"; + } + else if(listTitle === "调拨出库列表"){ + listType = "出库"; + listSubType = "调拨"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "DBCK"; + } + else if(listTitle === "组装单列表"){ + listType = "其它"; + listSubType = "组装单"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "ZZD"; + } + else if(listTitle === "拆卸单列表"){ + listType = "其它"; + listSubType = "拆卸单"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "CXD"; + } +} +//初始化系统基础信息 +function initSystemData_UB(){ + $.ajax({ + type:"get", + url: "/userBusiness/getBasicData", + data: ({ + KeyId:kid, + Type:"UserDepot" + }), + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if (res && res.code === 200) { + userBusinessList = res.data.userBusinessList; + } + else { + userBusinessList = null; + } + } + }); + +} +//初始化页面选项卡 +function initSelectInfo_UB(){ + + if(userBusinessList !=null) + { + if(userBusinessList.length>0) + { + //用户对应的仓库列表 [1][2][3]... + userdepot =userBusinessList[0].value; + } + } +} + + +//初始化系统基础信息 +function initSystemData_depot(){ + $.ajax({ + type:"get", + url: "/depot/getAllList", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200){ + depotList = res.data; + } else { + $.messager.alert('提示', '查找系统基础信息异常,请与管理员联系!', 'error'); + return; + } + } + }); +} +//初始化页面选项卡 +function initSelectInfo_depot(){ + var options = ""; + + if(depotList !=null) + { + options = ""; + for(var i = 0 ;i < depotList.length;i++) + { + var depot = depotList[i]; + + if(userdepot!=null) + { + if(userdepot.indexOf("["+depot.id+"]")!=-1) + { + if(depot.isDefault){ + defDepotId = depot.id; + } + options += ''; + depotString = depotString + depot.id + ","; + } + } + if(depot.type === 1){ + depotString = depotString + depot.id + ","; + } + } + depotString = depotString.substring(1, depotString.length-1); + $("#ProjectId").empty().append(options); + $("#AllocationProjectId").empty().append(options); + $("#searchProjectId").empty().append('').append(options); + } +} + +//初始化供应商、客户、散户信息 +function initSupplier(){ + $('#OrganId').combobox({ + url: organUrl, + valueField:'id', + textField:'supplier', + filter: function(q, row){ + var opts = $(this).combobox('options'); + return row[opts.textField].indexOf(q) >-1; + }, + onLoadSuccess: function(res) { + var data = $(this).combobox('getData'); + for(var i = 0; i<= data.length; i++){ + if(data && data[i] && data[i].supplier === "非会员"){ + orgDefaultId = data[i].id; + } + } + if(listSubType === "零售"){ + orgDefaultList = res; + } + }, + onSelect: function(rec){ + if(listSubType === "零售"){ + var option = ""; + if(rec.supplier !== "非会员" && rec.advanceIn >0){ + option = ''; + option += ''; + } + else { + option += ''; + } + $("#payType").empty().append(option); + } + else{ + $.ajax({ + type:"get", + url: "/supplier/findById", + data: { + supplierId: rec.id + }, + dataType: "json", + success: function (res){ + if(res && res.code === 200) { + if(res.data && res.data[0]){ + thisTaxRate = res.data[0].taxRate; //设置当前的税率 + } + } + }, + error:function(){ + + } + }); + } + } + }); +} + +//初始化销售人员 +function initSalesman(){ + $('#Salesman').combobox({ + url: "/person/getPersonByNumType?type=1", + valueField:'id', + textField:'name', + multiple: true + }); +} + +//初始化收入项目列表 +function initOutItemList(){ + $.ajax({ + type:"get", + url: "/inOutItem/findBySelect?type=out", + //设置为同步 + async:false, + dataType: "json", + success: function (res){ + if(res){ + outItemList = res; + } + }, + error:function(){ + + } + }); +} + +//初始化商品属性 +function initMProperty(){ + $.ajax({ + type: "get", + url: "/materialProperty/list", + dataType: "json", + data: ({ + search: JSON.stringify({ + name: "" + }), + currentPage: 1, + pageSize: 100 + }), + success: function (res) { + if(res && res.code === 200){ + if(res.data && res.data.page) { + var thisRows = res.data.page.rows; + for (var i = 0; i < thisRows.length; i++) { + if (thisRows[i].enabled) { + mPropertyList += thisRows[i].nativeName + ","; + } + } + if (mPropertyList) { + mPropertyList = mPropertyList.substring(0, mPropertyList.length - 1); + } + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('查询提示','查询信息异常,请稍后再试!','error'); + return; + } + }); +} + +//初始化系统基础信息 +function initSystemData_person(){ + $.ajax({ + type:"get", + url: "/person/getAllList", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + personList = res.data.personList; + } + } + } + }); +} +//初始化页面选项卡 +function initSelectInfo_person(){ + var options1 = ""; + + if(personList !=null) + { + for(var i = 0 ;i < personList.length;i++) + { + var person = personList[i]; + if(0 == i) + { + personID = person.id; + } + if(person.type=="仓管员") + { + options1 += ''; + } + } + $("#HandsPersonId").empty().append(options1); + } +} +//获取账户信息 +function initSystemData_account(){ + $.ajax({ + type:"get", + url: "/account/getAccount", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + accountList = res.data.accountList; + } + } + } + }); +} +//获取账户信息 +function initSelectInfo_account(){ + var options = ""; + if(accountList !=null){ + options = ""; + options += ""; + for(var i = 0 ;i < accountList.length;i++) { + var account = accountList[i]; + options += ''; + if(account.isdefault) { + defaultAccountId = account.id; //给账户赋值默认id + } + } + $("#AccountId").empty().append(options); + } +} + +//防止表单提交重复 +function initForm(){ + $('#depotHeadFM').form({ + onSubmit: function(){ + return false; + } + }); +} + +//初始化表格数据 +function initTableData(){ + if(pageType === "skip") { + var oldRowInfo = sessionStorage.getItem("rowInfo"); + editDepotHead(oldRowInfo); //自动弹出编辑框,带缓存数据 + } + var hideType = undefined; + var isHiddenStatus = true; + if(payTypeTitle === "隐藏"){ + hideType = true; //隐藏当前列 + } + var tableToolBar = [ + { + id:'addDepotHead', + text:'增加', + iconCls:'icon-add', + handler:function() + { + addDepotHead(); + } + }, + { + id:'deleteDepotHead', + text:'删除', + iconCls:'icon-remove', + handler:function() + { + batDeleteDepotHead(); + } + } + ]; + //如果允许的按钮列表中存在就显示,3-代表审核|反审核的权限 + if(btnEnableList && btnEnableList.indexOf(3)>-1){ + isHiddenStatus = false; //显示 + tableToolBar.push({ + id:'okDepotHead', + text:'审核', + iconCls:'icon-ok', + handler:function() { + setStatusFun(); + } + }, + { + id:'undoDepotHead', + text:'反审核', + iconCls:'icon-undo', + handler:function() { + setUnStatusFun(); + } + }); + } + else { + isHiddenStatus = true; //隐藏 + } + var isShowLastMoneyColumn = false; //是否显示优惠后金额和价税合计,true为隐藏,false为显示 + if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowLastMoneyColumn = true; //隐藏 + } + var isShowOrganNameColumn = false; //是否显示供应商、客户等信息,true为隐藏,false为显示 + var organNameTitle = ""; //组织名称标题 + if(listSubType == "调拨" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowOrganNameColumn = true; //隐藏 + } + else { + if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "采购退货列表" || listTitle == "其它入库列表"){ + organNameTitle = "供应商名称"; + } + else if(listTitle == "销售订单列表" || listTitle == "销售退货列表" || listTitle == "销售出库列表" || listTitle == "其它出库列表"){ + organNameTitle = "客户名称"; + } + else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ + organNameTitle = "会员卡号"; + } + } + var opWidth = 90; //操作宽度 + var isShowSkip = false; //是否显示跳转按钮 + var opTitle = ""; //跳转按钮的标题 + if(listTitle == "采购订单列表") { + opWidth = 120; + isShowSkip = true; + opTitle = "转采购入库"; + } else if(listTitle == "销售订单列表") { + opWidth = 120; + isShowSkip = true; + opTitle = "转销售出库"; + } + $('#tableData').datagrid({ + height:heightInfo, + rownumbers: false, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + pagination: true, + //交替出现背景 + striped : true, + pageSize: 10, + pageList: initPageNum, + columns:[[ + { field: 'id',width:35,align:"center",checkbox:true}, + { title: '操作',field: 'op',align:"center",width:opWidth, + formatter:function(value, rec,index) { + var str = ''; + // var rowInfo = rec.id + 'AaBb' + rec.projectid+ 'AaBb' + rec.number+ 'AaBb' + rec.operpersonname + // + 'AaBb' + rec.opertimeStr+ 'AaBb' + rec.organid+ 'AaBb' + rec.handspersonid + // + 'AaBb' + rec.accountid+ 'AaBb' + rec.changeamount+ 'AaBb' + rec.remark + // + 'AaBb' + rec.projectName+ 'AaBb' + rec.organName+ 'AaBb' + rec.handsPersonName + // + 'AaBb' + rec.accountName + 'AaBb' + rec.totalprice + 'AaBb' + rec.allocationprojectid + // + 'AaBb' + rec.allocationProjectName + 'AaBb' + rec.paytype + 'AaBb' + rec.salesman + // + 'AaBb' + rec.discount + 'AaBb' + rec.discountmoney + 'AaBb' + rec.discountlastmoney + // + 'AaBb' + rec.accountidlist + 'AaBb' + rec.accountmoneylist + // + 'AaBb' + rec.othermoney + 'AaBb' + rec.othermoneylist + 'AaBb' + rec.othermoneyitem + // + 'AaBb' + rec.accountday + 'AaBb' + rec.linknumber; + // rowInfo = rowInfo.replace(/\"/g, ""); + // rowInfo = rowInfo.replace(/\[|]/g,""); + var orgId = rec.organid? rec.organid:0; + str += '   '; + str += '   '; + str += ''; + if(isShowSkip) { + str += '   '; + } + return str; + } + }, + { title: organNameTitle, field: 'organName',width:120, hidden:isShowOrganNameColumn}, + { title: '单据编号',field: 'number',width:135, formatter:function (value,rec) { + if(rec.linknumber) { + return value + "[转]"; + } else { + return value; + } + } + }, + { title: '商品信息',field: 'materialsList',width:180,formatter:function(value){ + if(value) { + return value.replace(",",","); + } + } + }, + { title: '单据日期',field: 'opertimeStr',width:130}, + { title: '操作员',field: 'operpersonname',width:60}, + { title: '金额合计',field: 'totalprice',width:60}, + { title: '含税合计',field: 'totaltaxlastmoney',hidden:isShowLastMoneyColumn,width:60,formatter:function(value,rec){ + return (rec.discountmoney + rec.discountlastmoney).toFixed(2); + } + }, + { title: '优惠后金额',field: 'discountlastmoney',hidden:isShowLastMoneyColumn,width:80}, + { title: payTypeTitle,field: 'changeamount',width:50,hidden:hideType}, + { title: '状态',field: 'status',hidden:isHiddenStatus, width:70,align:"center",formatter:function(value){ + if(value === "0") { + return "未审核"; + } else if(value === "1") { + return "已审核"; + } else if(value === "2") { + if(listTitle == "采购订单列表") { + return "已转采购"; + } else if(listTitle == "销售订单列表") { + return "已转销售"; + } + } + } + } + ]], + toolbar:tableToolBar, + onLoadError:function() { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); +} + +//查找库存的方法 +function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ + var thisRatio = 1; //比例 + $.ajax({ + url: "/material/findById", + type: "get", + dataType: "json", + data: { + id: mId + }, + success: function (rec) { + if(rec && rec.code === 200 && rec.data && rec.data[0]) { + var loadRatio = 1; //在单位输入框上面加载比例字段 + if(rec.data[0].unit) { //如果存在计量单位信息 + loadRatio = 1; + } + else{ + var unitName = rec.data[0].unitName; + if(unitName) { + thisRatio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); + unitName = unitName.substring(0, unitName.indexOf("(")); + } + var unitArr = unitName.split(","); + var basicUnit = unitArr[0]; //基础单位 + var otherUnit = unitArr[1]; //副单位 + var unitSetInput =""; //单位 + if(listSubType === "采购订单" || listSubType === "采购" || listSubType === "采购退货"){ + unitSetInput = rec.data[0].firstinunit; + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = thisRatio; + } + } + else if(listSubType === "销售订单" || listSubType === "销售" || listSubType === "销售退货" || listSubType === "零售" || listSubType === "零售退货"){ + unitSetInput = rec.data[0].firstoutunit; + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = thisRatio; + } + } + } + //查询库存 + $.ajax({ + type: "get", + url: '/depotItem/findStockNumById', + data:{ + projectId: depotId, + materialId: mId, + monthTime: monthTime, + currentPage: 1, + pageSize: 10 + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if (res.data && res.data.page && res.data.page[0]) { + var thisStock = res.data.page[0].thisSum; + if (type == "select") { //选择下拉框的时候 + if (ratio != undefined && ratio != 1) { + loadRatio = ratio; + } + } + else if (type == "click") { //点击库存的时候 + if (ratio != undefined) { + loadRatio = ratio; + } + } + thisStock = (thisStock / loadRatio).toFixed(2); + body.find("[field='Stock']").find(input).val(thisStock).attr("data-stock", res.data.page[0].thisSum); //加载库存数据 + } + else { + body.find("[field='Stock']").find(input).val(0).attr("data-stock", 0); //加载库存数据 + } + body.find("[field='Stock']").find(input).prop("readonly", "readonly"); //设置库存数据为只读 + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); + } + }, + error: function () { + $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); + } + }); +} +//优惠率、合计的统计方法 +function statisticsFun(body,UnitPrice,OperNumber,footer,taxRate){ + var TotalPrice = 0; + var taxLastMoneyTotal = 0; + //金额的合计 + body.find("[field='AllPrice']").each(function(){ + if($(this).find("div").text()!==""){ + TotalPrice = TotalPrice + parseFloat($(this).find("div").text().toString()); + } + }); + TotalPrice = TotalPrice + UnitPrice*OperNumber; + footer.find("[field='AllPrice']").find("div").text((TotalPrice).toFixed(2)); //金额的合计 + //价税合计的总计 + body.find("[field='TaxLastMoney']").each(function(){ + if($(this).find("div").text()!==""){ + taxLastMoneyTotal = taxLastMoneyTotal + (parseFloat($(this).find("div").text().toString())-0); + } + }); + taxLastMoneyTotal = taxLastMoneyTotal + (UnitPrice*OperNumber*(1+taxRate/100)); + footer.find("[field='TaxLastMoney']").find("div").text((taxLastMoneyTotal).toFixed(2)); //价税合计的页脚总计 + var discount = $("#Discount").val(); //优惠率 + var discountMoney = (taxLastMoneyTotal*discount/100).toFixed(2); + $("#DiscountMoney").val(discountMoney);//优惠金额 + var discountLastMoney = (taxLastMoneyTotal*(1-discount/100)).toFixed(2) + $("#DiscountLastMoney").val(discountLastMoney);//优惠后金额 + if($("#AccountId").val()!=="many"){ + $("#ChangeAmount").val(discountLastMoney); //本次付、收款 + } + var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 + $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 + + if(listSubType == "零售" || listSubType == "零售退货") { + $("#ChangeAmount, #getAmount").val((TotalPrice).toFixed(2)); + $("#backAmount").val(0); + } +} +//初始化表格数据-商品列表-编辑状态 +function initTableData_material(type,TotalPrice){ + var body,footer,input; //定义表格和文本框 + var ratio = 1; //比例-品名专用 + var ratioDepot = 1; //比例-仓库用 + var monthTime = getNowFormatMonth(); + var isShowAnotherDepot = true; //显示对方仓库,true为隐藏,false为显示 + var depotHeadName = ""; //仓库名称 + var depotUrl = ""; //仓库接口地址 + var depotTextField = ""; //仓库下拉名称 + var anotherDepotHeadName = ""; //对方仓库的列的标题 + var anotherDepotUrl = ""; //对方仓库接口地址 + var anotherDepotTextField = ""; + if(listSubType == "调拨"){ + isShowAnotherDepot = false; //调拨时候显示对方仓库 + anotherDepotHeadName = "调入仓库"; + anotherDepotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; + anotherDepotTextField = "depotName"; + } + depotHeadName = "仓库名称"; + depotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; + depotTextField = "depotName"; + var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 + if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowTaxColumn = true; //隐藏 + } + var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 + if(listSubType == "组装单" || listSubType == "拆卸单"){ + isShowMaterialTypeColumn = false; //显示 + } + $('#materialData').datagrid({ + height:245, + rownumbers: false, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + //单击行是否选中 + checkOnSelect : false, + pagination: false, + //交替出现背景 + striped : true, + showFooter: true, + //loadFilter: pagerFilter, + onClickRow: onClickRow, + columns:[[ + { field: 'Id',width:35,align:"center",checkbox:true}, + { title: '商品类型',field: 'MType',editor:'validatebox',hidden:isShowMaterialTypeColumn,width:80}, + { title: depotHeadName, field: 'DepotId', editor: 'validatebox', width: 90, + formatter: function (value, row, index) { + return row.DepotName; + }, + editor: { + type: 'combobox', + options: { + valueField: 'id', + textField: depotTextField, + method: 'get', + url: depotUrl, + onSelect:function(rec){ + var depotId = rec.id; + body =$("#depotHeadFM .datagrid-body"); + footer =$("#depotHeadFM .datagrid-footer"); + input = ".datagrid-editable-input"; + var mId = body.find("[field='MaterialId']").find(".combo-value").val(); + if(mId){ + var type = "select"; //type 类型:点击 click,选择 select + findStockNumById(depotId, mId, monthTime, body, input, ratioDepot, type); + } + } + } + } + }, + { title: '品名(型号)(扩展信息)(单位)',field: 'MaterialId',width:230, + formatter:function(value,row,index){ + return row.MaterialName; + }, + editor:{ + type:'combobox', + options:{ + valueField:'Id', + textField:'MaterialName', + method:'get', + url: "/material/findBySelect", + panelWidth: 300, //下拉框的宽度 + //全面模糊匹配,过滤字段 + filter: function(q, row){ + var opts = $(this).combobox('options'); + return row[opts.textField].indexOf(q) >-1; + }, + onBeforeLoad: function(param){ + param.mpList = mPropertyList; //商品属性 + }, + onSelect:function(rec){ + if(rec) { + var mId = rec.Id; + $.ajax({ + url: "/material/findById", + type: "get", + dataType: "json", + data: { + id: mId + }, + success: function (res) { + if(res && res.code === 200 && res.data && res.data[0]) { + var retailPrice = res.data[0].retailprice-0; //零售价格 + var presetPriceOne = res.data[0].presetpriceone-0; //预计采购价 + var presetPriceTwo = res.data[0].presetpricetwo-0; //批发价 + var firstInUnit = res.data[0].firstinunit; //首选入库单位 + var firstOutUnit = res.data[0].firstoutunit; //首选出库单位 + var basicPresetPriceOne = ""; //多单位-入库-基础价格 + var basicPresetPriceTwo = ""; //多单位-出库-基础价格 + var retailPriceOne = ""; //多单位-入库-零售价格 + var otherPresetPriceOne = ""; //多单位-入库-其他价格 + var otherPresetPriceTwo = ""; //多单位-出库-其他价格 + var retailPriceTwo = ""; //多单位-出库-零售价格 + var basicUnit = ""; //基础单位 + var otherUnit = ""; //其他单位 + if(!res.data[0].unit){ + var ps = res.data[0].pricestrategy; + var psObj = JSON.parse(ps); + basicPresetPriceOne = psObj[0].basic.PresetPriceOne-0; + basicPresetPriceTwo = psObj[0].basic.PresetPriceTwo-0; + retailPriceOne = psObj[0].basic.RetailPrice-0; + otherPresetPriceOne = psObj[1].other.PresetPriceOne-0; + otherPresetPriceTwo = psObj[1].other.PresetPriceTwo-0; + retailPriceTwo = psObj[1].other.RetailPrice-0; + basicUnit = psObj[0].basic.Unit; + otherUnit = psObj[1].other.Unit; + } + body =$("#depotHeadFM .datagrid-body"); + footer =$("#depotHeadFM .datagrid-footer"); + input = ".datagrid-editable-input"; + if(res.data[0].unit){ //如果存在计量单位信息 + ratio = 1; //重置比例为1 + body.find("[field='Unit']").find(input).val(res.data[0].unit); //设置-计量单位信息 + body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 + body.find("[field='Unit']").find(input).off("click"); //移除点击事件 + body.find("[field='Unit']").find(input).attr("data-ratio",ratio); //修改比例缓存信息 + } + else { + var unitName = res.data[0].unitName; + if(unitName) { + ratio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); //给比例赋值 + unitName = unitName.substring(0, unitName.indexOf("(")); + } + var unitArr = unitName.split(","); + var basicUnit = unitArr[0]; //基础单位 + var otherUnit = unitArr[1]; //副单位 + var unitSetInput =""; //单位 + body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 + var loadRatio = 1; //在单位输入框上面加载比例字段 + if(listSubType === "采购" || listSubType === "采购退货" || listSubType === "采购订单"){ + unitSetInput = res.data[0].firstinunit; //给单位文本框赋值 + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = ratio; + } + } + else if(listSubType === "销售" || listSubType === "销售退货" || listSubType === "销售订单" || listSubType === "零售" || listSubType === "零售退货"){ + unitSetInput = res.data[0].firstoutunit; //给单位文本框赋值 + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = ratio; + } + } + body.find("[field='Unit']").find(input).val(unitSetInput).attr("data-ratio", loadRatio); //设置-首选单位 + + body.find("[field='Unit']").find(input).off("click").on("click",function(){ + if(basicUnit && otherUnit) { + var self = this; + //定义模版 + var temp = "
"; + temp +="
    "; + temp +="
  • " + basicUnit + "
  • "; + temp +="
  • " + otherUnit + "
  • "; + temp +="
"; + temp +="
"; + if($('.unit-list').length){ + $('.unit-list').remove(); //如果存在计量单位列表先移除 + } + else { + $(self).after(temp); //加载列表信息 + } + //计量单位列表的单击事件 + $('.unit-list ul li').off("click").on("click",function(){ + var unit = $(this).text(); + var thisRatio = $(this).attr("data-ratio"); //获取比例 + $(self).val(unit).attr("data-ratio", thisRatio); + $(self).keyup(); //模拟键盘操作 + $('.unit-list').remove(); //移除计量单位列表 + var stock = body.find("[field='Stock']").find(input).attr("data-stock"); //从缓存中取值 + var type = $(this).attr("data-type"); + var UnitPrice = 0; + if(type === "basic"){ + if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { + UnitPrice = basicPresetPriceOne; + } + else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { + UnitPrice = basicPresetPriceTwo; + } + else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ + UnitPrice = retailPriceOne; + } + body.find("[field='Stock']").find(input).val(stock); //修改库存 + } + else if(type === "other"){ + if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { + UnitPrice = otherPresetPriceOne; + } + else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { + UnitPrice = otherPresetPriceTwo; + } + else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ + UnitPrice = retailPriceTwo; + } + body.find("[field='Stock']").find(input).val((stock/ratio).toFixed(2)); //修改库存 + } + body.find("[field='UnitPrice']").find(input).val(UnitPrice); //单价 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //获取数量 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //获取税率 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //点击空白处移除计量单位列表 + $(".datagrid-body").off("click").on("click",function(){ + $('.unit-list').remove(); //移除计量单位列表 + }); + } + }); + } + var detailPrice = 0; //明细列表-单价 + if(listSubType == "零售" || listSubType == "零售退货") { + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = retailPrice; + } + else { + if (firstOutUnit == basicUnit) { + detailPrice = retailPriceOne; + } + else if (firstOutUnit == otherUnit) { + detailPrice = retailPriceTwo; + } + } + } + else if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = presetPriceOne; + } + else { + if (firstInUnit == basicUnit) { + detailPrice = basicPresetPriceOne; + } + else if (firstInUnit == otherUnit) { + detailPrice = otherPresetPriceOne; + } + } + } + else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = presetPriceTwo; + } + else { + if(firstOutUnit==basicUnit) { + detailPrice = basicPresetPriceTwo; + } + else if(firstOutUnit==otherUnit){ + detailPrice = otherPresetPriceTwo; + } + } + } + body.find("[field='OperNumber']").find(input).val(1); //数量初始化为1 + //单价和总价赋值 + if(!detailPrice) { + detailPrice = 0; + } + body.find("[field='UnitPrice']").find(input).val(detailPrice); + body.find("[field='AllPrice']").find(input).val(detailPrice); + var taxRate = body.find("[field='TaxRate']").find(input).val()-0; //获取税率 + body.find("[field='TaxUnitPrice']").find(input).val((detailPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((detailPrice*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((detailPrice*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,detailPrice,1,footer,taxRate); + + //查询库存信息 + var depotId = body.find("[field='DepotId']").find(".combo-value").val(); + if(depotId) { + var type = "select"; //type 类型:点击 click,选择 select + findStockNumById(depotId, mId, monthTime, body, input, loadRatio, type); + } + } + }, + error: function() { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + } + }); + } + } + } + } + }, + { title: '库存',field: 'Stock',editor:'validatebox',width:70}, + { title: anotherDepotHeadName, field: 'AnotherDepotId',editor:'validatebox',hidden:isShowAnotherDepot,width:90, + formatter: function (value, row, index) { + return row.AnotherDepotName; + }, + editor: { + type: 'combobox', + options: { + valueField: 'id', + textField: anotherDepotTextField, + method: 'get', + url: anotherDepotUrl + } + } + }, + { title: '单位',field: 'Unit',editor:'validatebox',width:60}, + { title: '数量',field: 'OperNumber',editor:'validatebox',width:60}, + { title: '单价',field: 'UnitPrice',editor:'validatebox',width:60}, + { title: '含税单价',field: 'TaxUnitPrice',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '金额',field: 'AllPrice',editor:'validatebox',width:75}, + { title: '税率(%)',field: 'TaxRate',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '税额',field: 'TaxMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '价税合计',field: 'TaxLastMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '备注',field: 'Remark',editor:'validatebox',width:120}, + { title: '品名-别',field: 'OtherField1',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '型号-别',field: 'OtherField2',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '颜色-别',field: 'OtherField3',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '备注1',field: 'OtherField4',editor:'validatebox',hidden:true,width:60}, + { title: '备注2',field: 'OtherField5',editor:'validatebox',hidden:true,width:60} + ]], + toolbar:[ + { + id:'append', + text:'新增', + iconCls:'icon-add', + handler:function() + { + append(); //新增 + } + }, + { + id:'delete', + text:'删除', + iconCls:'icon-remove', + handler:function() + { + batchDel(); //删除 + } + }, + { + id:'reject', + text:'撤销', + iconCls:'icon-undo', + handler:function() + { + reject(); //撤销 + } + } + ], + onLoadError:function() + { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); + $.ajax({ + type:"get", + url: '/depotItem/getDetailList', + data: { + headerId: depotHeadID, + mpList: mPropertyList + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + var data = res.data; + var AllPrice = 0; + var TaxLastMoney = 0; + var DiscountMoney = $("#DiscountMoney").val()-0; //优惠金额 + var DiscountLastMoney = $("#DiscountLastMoney").val()-0; //优惠后金额 + if(type === "edit") { + AllPrice = TotalPrice; + TaxLastMoney = DiscountMoney + DiscountLastMoney; + } + var array = []; + array.push({ + "AllPrice": AllPrice, + "TaxLastMoney": TaxLastMoney + }); + data.footer = array; + $("#materialData").datagrid('loadData',data); + //如果是订单跳转到采购或销售 + if(pageType === "skip") { + var skipList = $("#depotHeadFM .datagrid-body tr"); + //逐条自动点击每行数据 + skipList.each(function (i) { + setTimeout(function () { + skipList.eq(i).find("[field='Stock']").click(); + },(i+1)*1000); + }); + } + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); +} + +//初始化表格数据-商品列表-查看状态 +function initTableData_material_show(TotalPrice){ + var isShowAnotherDepot = true; //显示对方仓库,true为隐藏,false为显示 + var anotherDepotHeadName = ""; //对方仓库的列的标题 + var depotHeadName = ""; //仓库的列的标题 + if(listSubType == "调拨"){ + isShowAnotherDepot = false; //调拨时候显示对方仓库 + anotherDepotHeadName = "调入仓库"; + } + depotHeadName = "仓库名称"; + var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 + if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowTaxColumn = true; //隐藏 + } + var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 + if(listSubType == "组装单" || listSubType == "拆卸单"){ + isShowMaterialTypeColumn = false; //显示 + } + $('#materialDataShow').datagrid({ + height:245, + rownumbers: true, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + pagination: false, + //交替出现背景 + striped : true, + showFooter: true, + onClickRow: onClickRow, + columns:[[ + { title: '商品类型',field: 'MType',width:80, hidden:isShowMaterialTypeColumn}, + { title: depotHeadName,field: 'DepotName',editor:'validatebox',width:90}, + { title: '品名(型号)(扩展信息)(单位)',field: 'MaterialName',width:230}, + { title: anotherDepotHeadName,field: 'AnotherDepotName',hidden:isShowAnotherDepot,width:90}, + { title: '单位',field: 'Unit',editor:'validatebox',width:60}, + { title: '数量',field: 'OperNumber',editor:'validatebox',width:60}, + { title: '单价',field: 'UnitPrice',editor:'validatebox',width:60}, + { title: '含税单价',field: 'TaxUnitPrice',editor:'validattebox',hidden:isShowTaxColumn,width:75}, + { title: '金额',field: 'AllPrice',editor:'validatebox',width:75}, + { title: '税率',field: 'TaxRate',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '税额',field: 'TaxMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '价税合计',field: 'TaxLastMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '备注',field: 'Remark',editor:'validatebox',width:120}, + { title: '品名-别',field: 'OtherField1',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '型号-别',field: 'OtherField2',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '颜色-别',field: 'OtherField3',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '备注1',field: 'OtherField4',editor:'validatebox',hidden:true,width:60}, + { title: '备注2',field: 'OtherField5',editor:'validatebox',hidden:true,width:60} + ]], + onLoadError:function() { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); + $.ajax({ + type:"get", + url: '/depotItem/getDetailList', + data: { + headerId: depotHeadID, + mpList: mPropertyList + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + var data = res.data; + var AllPrice = TotalPrice; + var DiscountMoney = $("#DiscountMoneyShow").text() - 0; //优惠金额 + var DiscountLastMoney = $("#DiscountLastMoneyShow").text() - 0; //优惠后金额 + var array = []; + array.push({ + "AllPrice": AllPrice, + "TaxLastMoney": DiscountMoney + DiscountLastMoney + }); + data.footer = array; + $("#materialDataShow").datagrid('loadData', data); + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); +} + +//分页信息处理 +function ininPager(){ + try + { + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + pager.pagination({ + onSelectPage:function(pageNum, pageSize) + { + opts.pageNumber = pageNum; + opts.pageSize = pageSize; + pager.pagination('refresh', + { + pageNumber:pageNum, + pageSize:pageSize + }); + showDepotHeadDetails(pageNum,pageSize); + } + }); + } + catch (e) + { + $.messager.alert('异常处理提示',"分页信息异常 : " + e.name + ": " + e.message,'error'); + } +} + +//删除单据信息 +function deleteDepotHead(depotHeadID, thisOrganId, totalPrice, status){ + if(status == "1" || status == "2") { + $.messager.alert('删除提示','已审核和已转的单据不能删除!','warning'); + return; + } + $.messager.confirm('删除确认','确定要删除此单据信息吗?',function(r) { + if (r) { + $.ajax({ + type:"post", + // url: "/depotHead/" + depotHeadID + "/delete", + url: "/depotHead/deleteDepotHeadAndDetail", + dataType: "json", + data:{ + id: depotHeadID + }, + success: function (res) { + if(res && res.code == 200) { + $("#searchBtn").click(); + } else { + $.messager.alert('删除提示', '删除单据信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('删除提示','删除单据信息异常,请稍后再试!','error'); + return; + } + }); + + //更新会员的预收款信息 + if(listSubType === "零售") { + $.ajax({ + type:"post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data:{ + supplierId: thisOrganId, //会员id + advanceIn: totalPrice //删除时同时返还用户的预付款 + }, + success: function(res){ + if(res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function(){ + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + } + }); +} + +//订单转采购或销售 +function skipDepotHead(index, status){ + //获取当前行 + var rowsdata = $("#tableData").datagrid("getRows")[index]; + if(status == "0" || status == "2") { + $.messager.alert('提示','未审核和已转的单据禁止操作!','warning'); + } else { + sessionStorage.setItem("rowInfo", JSON.stringify(rowsdata)); //将单据信息存入缓存中 + if(listTitle == "采购订单列表") { + parent.addTab("订单转采购", "../materials/purchase_in_list.html?t=skip", ""); + } else if(listTitle == "销售订单列表") { + parent.addTab("订单转销售", "../materials/sale_out_list.html?t=skip", ""); + } + } +} + +//批量删除单据信息 +function batDeleteDepotHead(){ + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) + { + $.messager.alert('删除提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) + { + $.messager.confirm('删除确认','确定要删除选中的' + row.length + '条单据信息吗?',function(r) + { + if (r) { + var ids = ""; + for (var i = 0; i < row.length; i++) { + if (i == row.length - 1) { + if (row[i].status == 0) { + ids += row[i].id; + } + break; + } + ids += row[i].id + ","; + } + if (ids) { + //批量更新会员的预收款信息 + for (var i = 0; i < row.length; i++) { + if (listSubType === "零售") { + $.ajax({ + type: "post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data: { + supplierId: row[i].organid, //会员id + advanceIn: row[i].totalprice //删除时同时返还用户的预付款 + }, + success: function (res) { + if (res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function () { + $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); + return; + } + }); + } + } + //批量删除 + $.ajax({ + type: "post", + // url: "/depotHead/batchDelete", + url: "/depotHead/batchDeleteDepotHeadAndDetail", + dataType: "json", + async: false, + data: ({ + ids: ids + }), + success: function (res) { + if (res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('删除提示', '删除单据信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('删除提示', '删除单据信息异常,请稍后再试!', 'error'); + return; + } + }); + } else { + $.messager.alert('删除提示','没有能删除的单据!','warning'); + } + } + }); + } +} + +//批量审核 +function setStatusFun() { + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) { + $.messager.alert('审核提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) { + $.messager.confirm('审核确认','确定要审核选中的' + row.length + '条信息吗?',function(r) + { + if (r) + { + var ids = ""; + for(var i = 0;i < row.length; i ++) + { + if(i == row.length-1) + { + if(row[i].status != "2") { + ids += row[i].id; + } + break; + } + ids += row[i].id + ","; + } + if(ids) { + $.ajax({ + type:"post", + url: "/depotHead/batchSetStatus", + dataType: "json", + async : false, + data: ({ + status: "1", + depotHeadIDs : ids + }), + success: function (res) { + if(res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('审核提示', '审核信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('审核提示','审核信息异常,请稍后再试!','error'); + return; + } + }); + } else { + $.messager.alert('审核提示','没有能审核的单据!','warning'); + } + } + }); + } +} + +//批量反审核 +function setUnStatusFun() { + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) + { + $.messager.alert('反审核提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) + { + $.messager.confirm('反审核确认','确定要反审核选中的' + row.length + '条信息吗?',function(r) + { + if (r) + { + var ids = ""; + for(var i = 0;i < row.length; i ++) + { + if(i == row.length-1) + { + if(row[i].status != "2") { + ids += row[i].id; + } + break; + } + ids += row[i].id + ","; + } + if(ids) { + $.ajax({ + type: "post", + url: "/depotHead/batchSetStatus", + dataType: "json", + async: false, + data: ({ + status: "0", + depotHeadIDs: ids + }), + success: function (res) { + if (res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('反审核提示', '反审核信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('反审核提示', '反审核信息异常,请稍后再试!', 'error'); + return; + } + }); + } else { + $.messager.alert('反审核提示','没有能反审核的单据!','warning'); + } + } + }); + } +} + +//生成单据编号 +function buildNumber() { + $.ajax({ + type: "get", + url: "/depotHead/buildNumber", + success:function(res){ + if(res && res.code === 200){ + var obj = res.data; + var defaultNumber = obj.DefaultNumber; + var newNumber = amountNum + defaultNumber; + $("#Number").val(newNumber).attr("data-defaultNumber",newNumber); + } + }, + error:function(){ + $.messager.alert('提示','生成单据编号失败!','error'); + } + }); +} + +//新增信息 +function addDepotHead(){ + $('#depotHeadFM').form('clear'); + var thisDateTime = getNowFormatDateTime(); //当前时间 + $("#OperTime").val(thisDateTime); + buildNumber(); //生成单据编号 + //初始化优惠率、优惠金额、优惠后金额、本次付|收款、本次欠款 为0 + $("#Discount").val(0); + $("#DiscountMoney").val(0); + $("#DiscountLastMoney").val(0); + $("#ChangeAmount").val(0); + $("#Debt").val(0); + $("#AccountId").val(defaultAccountId); //初始化默认的账户Id + var addTitle = listTitle.replace("列表","信息"); + $('#depotHeadDlg').dialog('open').dialog('setTitle',' 增加' + addTitle); + $(".window-mask").css({ width: webW ,height: webH}); + + orgDepotHead = ""; + depotHeadID = 0; + initTableData_material("add"); //商品列表 + reject(); //撤销下、刷新商品列表 + $("#addOrgan").off("click").on("click",function(){ + $('#supplierDlg').dialog('open').dialog('setTitle',' 增加供应商信息'); + $('#supplierFM').form('clear'); + }); + + $("#addMember").off("click").on("click",function(){ + $('#supplierDlg').dialog('open').dialog('setTitle',' 增加会员信息'); + $('#supplierFM').form('clear'); + }); + $("#addCustomer").off("click").on("click",function(){ + $('#supplierDlg').dialog('open').dialog('setTitle',' 增加客户信息'); + $('#supplierFM').form('clear'); + }); + url = '/depotHead/addDepotHeadAndDetail'; + + //零售单据修改收款时,自动计算找零 + if(listSubType == "零售" || listSubType == "零售退货") { + $("#payType").val("现付"); + $("#OrganId").combobox("setValue", orgDefaultId); //自动默认选择非会员 + // 鼠标点下时清空选择项 + $("#OrganId").next().find("input").off("mousedown").on("mousedown",function(){ + $("#OrganId").combobox("setValue", ""); + }); + //当会员卡号长度超过10位后,自动点击下拉框,用于兼容刷卡器 + $("#OrganId").next().find("input").off("keyup").on("keyup",function(){ + var self = this; + if($(this).val().length === 10){ + setTimeout(function(){ + $(".combo-panel .combobox-item-selected").click(); + //更新付款类型,加载会员的预付款的金额 + for(var i=0; i0){ + option = ''; + option += ''; + } + else { + option += ''; + } + $("#payType").empty().append(option); + } + } + },1000); + } + }); + var getAmount = $("#depotHeadFM .get-amount"); + var changeAmount = $("#depotHeadFM .change-amount"); + var backAmount = $("#depotHeadFM .back-amount"); + getAmount.val(0); changeAmount.val(0); backAmount.val(0); //时间初始化 + getAmount.off("keyup").on("keyup",function() { + if(changeAmount.val()){ + backAmount.val((getAmount.val()-changeAmount.val()).toFixed(2)); + } + }); + } +} + +//编辑信息 +function editDepotHead(index, status){ + if(status == "1" || status == "2") { + $.messager.alert('编辑提示','已审核和已转的单据不能编辑!','warning'); + return; + } + // var depotHeadInfo = depotHeadTotalInfo.split("AaBb"); + //获取当前行 + var rowsdata =''; + if(Number(index).toString()=='NaN'){ + rowsdata=$.parseJSON(index); + }else{ + rowsdata=$("#tableData").datagrid("getRows")[index]; + } + $("#ProjectId").focus().val(rowsdata.projectid); + var ProjectId=rowsdata.projectid; + if(ProjectId!='') { + initSystemData_person(ProjectId); + initSelectInfo_person(); + } + var TotalPrice = rowsdata.totalprice; //合计金额 + if(pageType === "skip") { //从订单跳转过来 + buildNumber(); //生成单据编号 + var thisDateTime = getNowFormatDateTime(); //当前时间 + $("#OperTime").val(thisDateTime); + $("#LinkNumber").val(rowsdata.number); //关联订单号 + $("#AccountId").val(defaultAccountId); //初始化默认的账户Id + $("#DiscountLastMoney").val(TotalPrice); //优惠后金额 + $("#ChangeAmount").val(TotalPrice).attr("data-changeamount", TotalPrice); + } else { + $("#Number").val(rowsdata.number).attr("data-defaultNumber",rowsdata.number); + $("#OperTime").val(rowsdata.opertimeStr); + $("#LinkNumber").val(rowsdata.linknumber==undefined?"":rowsdata.linknumber); //关联订单号 + $("#AccountId").val(rowsdata.accountid); //账户Id + $("#DiscountLastMoney").val(rowsdata.discountlastmoney==undefined?"0.00":rowsdata.discountlastmoney); //优惠后金额 + $("#ChangeAmount").val(rowsdata.changeamount).attr("data-changeamount", rowsdata.changeamount); + } + $('#OrganId').combobox('setValue', rowsdata.organid==undefined?'':rowsdata.organid); + $("#HandsPersonId").val(rowsdata.handspersonid); + $("#Remark").val(rowsdata.remark); + $("#Discount").val(rowsdata.discount==undefined?"0":rowsdata.discount); + $("#DiscountMoney").val(rowsdata.discountmoney==undefined?"0.00":rowsdata.discountmoney); + $("#Debt").val(Number((rowsdata.discountlastmoney==undefined?'0.00':rowsdata.discountlastmoney-rowsdata.changeamount)).toFixed(2)); + $("#AccountDay").val(rowsdata.accountday==undefined?"":rowsdata.accountday); //结算天数 + preTotalPrice = rowsdata.totalprice; //记录前一次合计金额,用于扣预付款 + $("#AllocationProjectId").val(rowsdata.allocationprojectid); + oldNumber = rowsdata.number; //记录编辑前的单据编号 + oldId = rowsdata.id; //记录单据Id + var editTitle = listTitle.replace("列表","信息"); + $('#depotHeadDlg').dialog('open').dialog('setTitle',' 编辑' + editTitle); + $(".window-mask").css({ width: webW ,height: webH}); + depotHeadID = rowsdata.id; + + if(listSubType == "零售"){ + var option = ""; + if(rowsdata.paytype == "预付款"){ + option = ''; + option += ''; + } + else { + option += ''; + } + $("#payType").empty().append(option); + } + + if(listSubType == "销售" || listSubType == "销售退货"){ + if(rowsdata.salesman){ + var arr = rowsdata.salesman.split(","); + var salesmanArray = []; + for(var i=0;i","")); + } + } + $("#Salesman").combobox('setValues', salesmanArray); + } + } + + //采购入库、销售出库的多账户加载 + if(rowsdata.accountidlist!=undefined && rowsdata.accountmoneylist!=undefined){ + $("#AccountId").val("many"); //下拉框选中多账户 + var accountArr = rowsdata.accountidlist.split(","); + var accountMoneyArr = rowsdata.accountmoneylist.split(","); + accountMoneyArr = changeListFmtPlus(accountMoneyArr) //将数组单个金额中的数值转为正数 + + if(listSubType == "零售" || listSubType == "零售退货") { + var manyAccountMoney = 0; //多账户合计-零售 + for (var j = 0; j < accountArr.length; j++) { + if (accountList != null) { + for (var i = 0; i < accountList.length; i++) { + var account = accountList[i]; + if (accountArr[j] == account.id) { + manyAccountMoney += accountMoneyArr[j] - 0; //多账户合计-零售 + } + } + } + } + $("#getAmount").val(manyAccountMoney); //收款金额、付款金额 + var changeAmount = $("#ChangeAmount").val()-0; + $("#backAmount").val((manyAccountMoney-changeAmount).toFixed(2)); //找零 + } + + $("#AccountId").attr("data-accountArr", JSON.stringify(accountArr)).attr("data-accountMoneyArr", JSON.stringify(accountMoneyArr)); //json数据存储 + $(".many-account-ico").show(); //显示多账户的ico图标 + } + + //采购入库、销售出库的费用数据加载 + if(rowsdata.othermoneylist &&rowsdata.othermoneyitem){ + $("#OtherMoney").val(rowsdata.othermoney==undefined?"0":rowsdata.othermoney); //采购费用、销售费用 + var itemArr = rowsdata.othermoneylist.split(","); + var itemMoneyArr = rowsdata.othermoneyitem.split(","); + $("#OtherMoney").attr("data-itemArr",JSON.stringify(itemArr)).attr("data-itemMoneyArr",JSON.stringify(itemMoneyArr)); //json数据存储 + } + + initTableData_material("edit",TotalPrice); //商品列表 + reject(); //撤销下、刷新商品列表 + if(pageType === "skip") { + url = '/depotHead/addDepotHeadAndDetail'; //如果是从订单跳转过来,则此处为新增的接口 + //jshjshjsh + $("#depotHeadFM .datagrid-body").find("[field='DepotId']").click(); + } else { + url = '/depotHead/updateDepotHeadAndDetail?id=' + rowsdata.id; //更新接口 + } +} + +//查看信息 +function showDepotHead(index){ + // var depotHeadInfo = depotHeadTotalInfo.split("AaBb"); + //获取当前行 + var rowsdata = $("#tableData").datagrid("getRows")[index]; + var manyAccountMoney = 0; //多账户合计-零售 + $("#ProjectIdShow").text(rowsdata.projectName); + $("#NumberShow").text(rowsdata.number); + $("#OperTimeShow").text(rowsdata.opertimeStr); + $('#OrganIdShow').text(rowsdata.organName==undefined?'':rowsdata.organName); + $("#HandsPersonIdShow").text(rowsdata.handsPersonName); + if(rowsdata.accountName && rowsdata.accountName!=undefined){ + $("#AccountIdShow").text(rowsdata.accountName); //结算账户 + } else { + var accountArr = (rowsdata.accountidlist==undefined?"":rowsdata.accountidlist).split(","); //账户id列表 + var accountMoneyArr =(rowsdata.accountmoneylist==undefined?"":rowsdata.accountmoneylist).split(","); //账户金额列表 + var accountIdShow = ""; + for(var j =0;j 查看' + showTitle); + $(".window-mask").css({ width: webW ,height: webH}); + + depotHeadID = rowsdata.id; + initTableData_material_show(TotalPrice); //商品列表-查看状态 + + //零售单据展示数据 + if(listSubType == "零售" || listSubType == "零售退货"){ + var changeAccount = $("#depotHeadDlgShow .change-amount-show").text() -0; + if(manyAccountMoney!==0){ + $("#depotHeadDlgShow .get-amount-show").text((manyAccountMoney).toFixed(2)); + $("#depotHeadDlgShow .back-amount-show").text((manyAccountMoney -changeAccount).toFixed(2)); + } + else { + $("#depotHeadDlgShow .get-amount-show").text((changeAccount).toFixed(2)); + $("#depotHeadDlgShow .back-amount-show").text(0); + } + } + if(listSubType === "销售" || listSubType === "销售退货"){ + if(rowsdata.salesman){ + var arr = rowsdata.salesman.split(","); + var salesmanStr = ""; + for(var i=0;i",""); + } + else { + salesmanStr += arr[i].replace("<","").replace(">","") + ","; + } + } + } + $.ajax({ + type: "get", + url: "/person/getPersonByIds", + data: { + personIDs: salesmanStr + }, + success:function(res){ + if(res && res.code === 200){ + if(res.data) { + $("#SalesmanShow").text(res.data.names); //销售人员列表 + } + } + }, + error:function(){ + + } + }); + } + } +} + +//绑定操作事件 +function bindEvent(){ + showDepotHeadDetails(1,initPageSize); //初始化时自动查询 + //搜索处理 + $("#searchBtn").off("click").on("click",function(){ + showDepotHeadDetails(1,initPageSize); + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + opts.pageNumber = 1; + opts.pageSize = initPageSize; + pager.pagination('refresh', + { + pageNumber:1, + pageSize:initPageSize + }); + }); + + //重置按钮 + $("#searchResetBtn").unbind().bind({ + click:function(){ + //$("#searchProjectId").val(""); + $("#searchState").val(""); + $("#searchBeginTime").val(""); + $("#searchEndTime").val(""); + //加载完以后重新初始化 + $("#searchBtn").click(); + } + }); + + //检查单据编号是否存在 + function checkDepotHeadNumber() { + var thisNumber = $.trim($("#Number").val()); + //表示是否存在 true == 存在 false = 不存在 + var flag = false; + //开始ajax名称检验,不能重名 + if(thisNumber.length > 0 &&( oldNumber.length ==0 || thisNumber != oldNumber)) + { + $.ajax({ + type:"get", + url: "/depotHead/checkIsNumberExist", + dataType: "json", + async : false, + data: ({ + DepotHeadID : oldId, + Number : thisNumber + }), + success: function (tipInfo) + { + flag = tipInfo; + if(tipInfo) + { + $.messager.alert('提示','抱歉,该单据编号已经存在','warning'); + return; + } + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','检查单据编号是否存在异常,请稍后再试!','error'); + return; + } + }); + } + return flag; + } + //保存信息 + /** + * 2019-01-25 + * 我对这个方法的实现结果存在严重怀疑,决定重构 + * 有如下疑点: + * 1、保存完主表,返回结果后,再发起请求去操作子表,如何保证事务的一致性(业务数据一致性) + * 2、保存完主表后,再通过selectmax的方式去获取主表主键id完全就是看人品的不可靠的思路 + * 修改计划: + * 2019-01-25修改零售出库相关操作 + * 修改方式,重写url,将主从表操作合并 + * + * + * **/ + $("#saveDepotHead").off("click").on("click",function(){ + if(!$('#depotHeadFM').form('validate')){ + return; + } + else { + //如果初始编号被修改了,就要判断单据编号是否存在 + if($.trim($("#Number").val()) != $('#Number').attr("data-defaultNumber")){ + //调用查询单据编号是否重名的方法 + if(checkDepotHeadNumber()){ + return; + } + } + //输入框提示 + if(listTitle === "采购订单列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择供应商!','warning'); + return; + } + } + else if(listTitle === "采购入库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择供应商!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择结算账户!','warning'); + return; + } + } + else if(listTitle === "零售退货列表"){ + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择付款账户!','warning'); + return; + } + if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { + $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); + return; + } + } + else if(listTitle === "销售退货列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择退货单位!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择付款账户!','warning'); + return; + } + } + else if(listTitle === "其它入库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择往来单位!','warning'); + return; + } + } + else if(listTitle === "零售出库列表"){ + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择收款账户!','warning'); + return; + } + if($("#backAmount").val()-0 <0){ + $.messager.alert('提示','找零金额不能小于0!','warning'); + return; + } + if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { + $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); + return; + } + + } + else if(listTitle === "销售订单列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择购买单位!','warning'); + return; + } + } + else if(listTitle === "销售出库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择购买单位!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择收款账户!','warning'); + return; + } + } + else if(listTitle === "采购退货列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择收货单位!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择收款账户!','warning'); + return; + } + } + else if(listTitle === "其它出库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择往来单位!','warning'); + return; + } + } + else if(listTitle === "调拨出库列表"){ + + } + //进行明细的校验 + if(depotHeadID ==0) { + //新增模式下 + if (!CheckData("add")) { + return; + } + } + else { + //编辑模式下 + if (!CheckData("edit")) { + return; + } + } + var OrganId = null, ProjectId = null,AllocationProjectId = null; + var ChangeAmount = $.trim($("#ChangeAmount").val())-0; + var TotalPrice = $("#depotHeadFM .datagrid-footer [field='AllPrice'] div").text(); + if($('#OrganId').length){ + OrganId = $('#OrganId').combobox('getValue'); + } + var accountMoneyList = $("#AccountId").attr("data-accountmoneyarr"); //账户金额列表-多账户 + var accountMoneyArr; + if(accountMoneyList) { + accountMoneyList = accountMoneyList.replace("[","").replace("]","").toString(); + var reg=new RegExp("\"","g"); //创建正则RegExp对象 + accountMoneyList = accountMoneyList.replace(reg,""); //替换所有的双引号 + accountMoneyArr = accountMoneyList.split(","); //转为数组 + } + if(listSubType === "采购订单"||listSubType === "采购"||listSubType === "零售退货"||listSubType === "销售退货"){ + //付款为负数 + ChangeAmount = 0 - ChangeAmount; + TotalPrice = 0 - TotalPrice; + if(accountMoneyArr) { + accountMoneyArr = changeListFmtMinus(accountMoneyArr); //将数组单个金额中的数值转为负数 + } + } + //零售时候,可以从会员预付款中扣款 + var thisPayType = "现付"; + if(listSubType === "零售") { + if($("#payType").val() ==="预付款") { + thisPayType = "预付款"; + } + } + var SalesmanStr = ""; + if(listSubType === "销售" || listSubType === "销售退货"){ + var Salesman = $('#Salesman').combobox('getValues').toString(); //销售人员 + if(Salesman) { + var SalesmanArray = Salesman.split(","); + for (var i = 0; i < SalesmanArray.length; i++) { + if (i === SalesmanArray.length - 1) { + SalesmanStr += "<" + SalesmanArray[i] + ">"; + } + else { + SalesmanStr += "<" + SalesmanArray[i] + ">,"; + } + } + } + } + var getAccountID = $.trim($("#AccountId").val()); + if($("#AccountId").val() === "many"){ //多账户 + getAccountID = null; + } + var infoStr=JSON.stringify({ + Type: listType, + SubType: listSubType, + ProjectId: ProjectId, + AllocationProjectId: AllocationProjectId, + DefaultNumber: $.trim($("#Number").attr("data-defaultNumber")),//初始编号 + Number: $.trim($("#Number").val()), + LinkNumber: $.trim($("#LinkNumber").val()), + OperTime: $("#OperTime").val(), + OrganId: OrganId, + HandsPersonId: $.trim($("#HandsPersonId").val()), + Salesman: SalesmanStr, //销售人员 + AccountId: getAccountID, + ChangeAmount: ChangeAmount, //付款/收款 + TotalPrice: TotalPrice, //合计 + PayType: thisPayType, //现付/预付款 + Remark: $.trim($("#Remark").val()), + AccountIdList: $("#AccountId").attr("data-accountarr"), //账户列表-多账户 + AccountMoneyList: accountMoneyArr ? JSON.stringify(accountMoneyArr) : "", //账户金额列表-多账户 + Discount: $.trim($("#Discount").val()), + DiscountMoney: $.trim($("#DiscountMoney").val()), + DiscountLastMoney: $.trim($("#DiscountLastMoney").val()), + OtherMoney: $.trim($("#OtherMoney").val()), //采购费用、销售费用 + OtherMoneyList: $("#OtherMoney").attr("data-itemarr"), //支出项目列表-涉及费用 + OtherMoneyItem: $("#OtherMoney").attr("data-itemmoneyarr"), //支出项目金额列表-涉及费用 + AccountDay: $("#AccountDay").val() //结算天数 + }); + /** + * 零售出库,单独操作 + * */ + if(url.indexOf("/depotHead/addDepotHeadAndDetail")>=0){ + addDepotHeadAndDetail(url,infoStr); + return; + }else if(url.indexOf("/depotHead/updateDepotHeadAndDetail")>=0){ + updateDepotHeadAndDetail(url,infoStr,preTotalPrice); + return; + } + $.ajax({ + type:"post", + url: url, + dataType: "json", + async : false, + data: ({ + info:infoStr + }), + success: function (tipInfo) + { + if(tipInfo) + { + function closeDialog(){ + $('#depotHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showDepotHeadDetails(opts.pageNumber,opts.pageSize); + } + + if(thisPayType === "预付款") { + //更新用户信息-预付款 + var advanceIn = 0; //预付款金额 + if(depotHeadID){ + advanceIn = TotalPrice - preTotalPrice; //修改时,预付款=合计金额-加载金额 + } + else{ + advanceIn = TotalPrice; //新增时,预付款=合计金额 + } + $.ajax({ + type:"post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data:{ + supplierId: OrganId, //会员id + advanceIn: 0 - advanceIn //保存的同时扣掉用户的预付款 + }, + success: function(res){ + if(res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function(){ + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + + //保存明细记录 + if(depotHeadID ==0) + { + getMaxId(); //查找最大的Id + accept(depotHeadMaxId,closeDialog); //新增 + } + else + { + accept(depotHeadID,closeDialog); //修改 + } + } + else + { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + }); + + //打印单据 + $("#printDepotHeadShow").off("click").on("click",function(){ + var tableString = $("#depotHeadDlgShow").html(); + localStorage.setItem("tableString",tableString); + window.open("../../js/print/print_form.html","location:No;status:No;help:No;dialogWidth:800px;dialogHeight:600px;scroll:auto;"); + }); + + //初始化键盘enter事件 + $(document).keydown(function(event){ + //兼容 IE和firefox 事件 + var e = window.event || event; + var k = e.keyCode||e.which||e.charCode; + //兼容 IE,firefox 兼容 + var obj = e.srcElement ? e.srcElement : e.target; + //绑定键盘事件为 id是指定的输入框才可以触发键盘事件 13键盘事件 ---遗留问题 enter键效验 对话框会关闭问题 + if(k == "13"&&(obj.id=="State"||obj.id=="Number")) + { + $("#saveDepotHead").click(); + } + //搜索按钮添加快捷键 + if(k == "13"&&(obj.id=="searchState"||obj.id=="searchNumber"||obj.id=="searchMaterial")) + { + $("#searchBtn").click(); + } + }); + + //优惠率输入框事件 + $("#Discount").off("keyup").on("keyup",function(){ + var footer =$("#depotHeadFM .datagrid-footer"); + var totalPrice = footer.find("[field='TaxLastMoney']").find("div").text(); + var discountNum = $(this).val(); + var discountMoney = (discountNum/100*totalPrice).toFixed(2); + var discountLastMoney = (totalPrice - discountMoney).toFixed(2); + $("#DiscountMoney").val(discountMoney); //优惠金额 + $("#DiscountLastMoney").val(discountLastMoney); //优惠后金额 + if($("#AccountId").val()!=="many"){ + $("#ChangeAmount").val(discountLastMoney); //本次付、收款 + } + var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 + $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 + }); + + //优惠金额输入框事件 + $("#DiscountMoney").off("keyup").on("keyup",function(){ + var footer =$("#depotHeadFM .datagrid-footer"); + var totalPrice = footer.find("[field='TaxLastMoney']").find("div").text(); + var discountMoney = $(this).val(); + var discount = (discountMoney/totalPrice).toFixed(2)*100; + var discountLastMoney = (totalPrice - discountMoney).toFixed(2); + $("#Discount").val(discount); //优惠金额 + $("#DiscountLastMoney").val(discountLastMoney); //优惠后金额 + if($("#AccountId").val()!=="many"){ + $("#ChangeAmount").val(discountLastMoney); //本次付、收款 + } + var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 + $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 + }); + + //付款、收款输入框事件 + $("#ChangeAmount").off("keyup").on("keyup",function(){ + var discountLastMoney = $("#DiscountLastMoney").val(); + var changeAmount = $(this).val(); + var debtMoney = (discountLastMoney - changeAmount).toFixed(2); + $("#Debt").val(debtMoney); //本次欠款 + }); + + //多账户结算窗口弹出事件 + function depotHeadAccountDlgFun(){ + $('#depotHeadAccountDlg').dialog('open').dialog('setTitle',' 多账户结算'); + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").remove(); //先移除输入栏目 + $("#accountMoneyTotalDlg").text(0); //将合计初始化为0 + for(var i=0; i<6; i++) { + $("#depotHeadAccountDlg .tabs-tmp .account-content-tmp").attr("data-index",5-i); //添加索引 + var contentTmp = $("#depotHeadAccountDlg .tabs-tmp tbody").html(); + var accountDlgHead = $("#depotHeadAccountDlg .account-head-tmp"); + accountDlgHead.after(contentTmp); + } + + //获取账户信息 + function accountDlgFun() { + var options = ""; + if(accountList !=null){ + for(var i = 0 ;i < accountList.length;i++) { + var account = accountList[i]; + options += ''; + } + $(".account-id-dlg").empty().append("").append(options); + } + } + accountDlgFun(); //获取账户信息 + $("#depotHeadAccountDlg .tabs-tmp").hide(); //隐藏模板 + + //账户金额输入框事件-多账户 + $("#depotHeadAccountDlg .account-dlg .account-money-dlg").off("keyup").on("keyup",function(){ + var totalAccoutNum = 0; + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){ + var eachAccountMoney = $(this).find(".account-money-dlg").val()-0; + totalAccoutNum += eachAccountMoney; + }); + $("#accountMoneyTotalDlg").text(totalAccoutNum); + }); + + //结算多账户列表的切换事件 + $("#depotHeadAccountDlg .account-dlg .account-id-dlg").off("change").on("change",function(){ + var selectAccount = $(this).children('option:selected').text(); + if(selectAccount === ""){ + var thisMoneyDom = $(this).closest(".account-content-tmp").find(".account-money-dlg"); + var thisMoney = thisMoneyDom.val()-0; + var accountMoneyTotal = $("#accountMoneyTotalDlg").text() - 0; + $("#accountMoneyTotalDlg").text(accountMoneyTotal - thisMoney); + thisMoneyDom.val(""); //账户为空时候,将金额也置为空 + } + }); + + //保存按钮事件 + $("#saveDepotHeadAccountDlg").off("click").on("click", function(){ + //完成多账户的json数据存储 + var accountArr = []; //账户id数组 + var accountMoneyArr = []; //账户金额数组 + var errorIndex = -1; + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){ + var thisAccId = $(this).find(".account-id-dlg").val(); + var thisAccMoney = $(this).find(".account-money-dlg").val(); + if(!thisAccId && thisAccMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisAccId && !thisAccMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisAccId && thisAccMoney) { + accountArr.push(thisAccId); + accountMoneyArr.push(thisAccMoney); + } + }); + if(errorIndex >-1){ + $.messager.alert('错误提示',"第" + (errorIndex+1) + "行数据存在问题,请修改",'warning'); + return; + } + var discountLastMoneyNum =$("#DiscountLastMoney").val()-0; //优惠后金额 + var accountMoneyTotal = $("#accountMoneyTotalDlg").text()-0; //本次付款或者收款 + if(accountMoneyTotal===0){ + $.messager.alert('错误提示',"请填写金额后保存",'warning'); + return; + } + if(accountArr.length && accountMoneyArr.length) { + $("#AccountId").attr("data-accountArr",JSON.stringify(accountArr)).attr("data-accountMoneyArr",JSON.stringify(accountMoneyArr)); //json数据存储 + } + if(listSubType==="零售" || listSubType==="零售退货") { + $("#getAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 + var backAmount = $("#getAmount").val() - $("#ChangeAmount").val(); + $("#backAmount").val((backAmount - 0).toFixed(2)); //计算找零金额 + } + else { + $("#ChangeAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 + } + $("#Debt").val((discountLastMoneyNum-accountMoneyTotal).toFixed(2)); //本次欠款 + $("#depotHeadAccountDlg").dialog('close'); + }); + + //取消事件 + function cancelFun(){ + if($("#AccountId").attr("data-accountArr")){ + $("#depotHeadAccountDlg").dialog('close'); + } + else { + $("#depotHeadAccountDlg").dialog('close'); + $("#AccountId").val("").removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 + if(listSubType==="零售" || listSubType==="零售退货"){ + $("#ChangeAmount").prop("readonly","readonly"); + } + else { + $("#ChangeAmount").removeProp("readonly","readonly"); + } + $(".many-account-ico").hide(); //隐藏多账户小图标 + } + } + //多账户-取消按钮 + $("#cancelDepotHeadAccountDlg").off("click").on("click", function(){ + cancelFun(); + }); + + //多账户-右上角的关闭按钮 + $("#depotHeadAccountDlg").prev().find(".panel-tool-close").off("click").on("click", function(){ + cancelFun(); + }); + } + //点击多账户,弹出输入框 + $("#AccountId").off("change").on("change",function(){ + var selectText = $(this).children('option:selected').text(); + if(selectText === "多账户"){ + $("#ChangeAmount").prop("readonly","readonly"); + depotHeadAccountDlgFun(); + $(".many-account-ico").show(); //显示多账户小图标 + } + else{ + $(this).removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 + if(listSubType==="零售" || listSubType==="零售退货"){ + $("#ChangeAmount").prop("readonly","readonly"); + } + else { + $("#ChangeAmount").removeProp("readonly","readonly"); + } + $(".many-account-ico").hide(); //隐藏多账户小图标 + } + }); + + //结算账户-多账户小图标-点击事件 + $(".many-account-ico").off("click").on("click",function(){ + depotHeadAccountDlgFun(); + //给弹窗赋值-多账户数据 + var accountArr = $("#AccountId").attr("data-accountArr"); + accountArr = JSON.parse(accountArr); + var accountMoneyArr = $("#AccountId").attr("data-accountMoneyArr"); + accountMoneyArr = JSON.parse(accountMoneyArr); + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){ + var index = $(this).attr("data-index"); + $(this).find(".account-id-dlg").val(accountArr[index]); + $(this).find(".account-money-dlg").val(accountMoneyArr[index]); + }); + if(listSubType==="零售" || listSubType==="零售退货") { + $("#accountMoneyTotalDlg").text($("#getAmount").val()); + } + else { + $("#accountMoneyTotalDlg").text($("#ChangeAmount").val()); + } + }); + + //点击采购费用、销售费用的事件 + $(".other-money-ico").off("click").on("click",function(){ + $('#otherMoneyDlg').dialog('open').dialog('setTitle',' '+ listSubType +'费用'); + $("#otherMoneyDlg .money-dlg .money-content-tmp").remove(); //先移除输入栏目 + $("#otherMoneyTotalDlg").text(0); //将合计初始化为0 + for(var i=0; i<6; i++) { + $("#otherMoneyDlg .tabs-tmp .money-content-tmp").attr("data-index",5-i); //添加索引 + var contentTmp = $("#otherMoneyDlg .tabs-tmp tbody").html(); + var moneyDlgHead = $("#otherMoneyDlg .money-head-tmp"); + moneyDlgHead.after(contentTmp); + } + + //获取支出项目信息 + function moneyDlgFun() { + var options = ""; + if(outItemList !=null){ + for(var i = 0 ;i < outItemList.length;i++) { + var money = outItemList[i]; + options += ''; + } + $(".money-id-dlg").empty().append("").append(options); + } + } + moneyDlgFun(); //获取支出项目信息 + $("#otherMoneyDlg .tabs-tmp").hide(); //隐藏模板 + + //支出项目的金额输入框事件 + $("#otherMoneyDlg .money-dlg .other-money-dlg").off("keyup").on("keyup",function(){ + var totalMoneyNum = 0; + $("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){ + var eachOtherMoney = $(this).find(".other-money-dlg").val()-0; + totalMoneyNum += eachOtherMoney; + }); + $("#otherMoneyTotalDlg").text(totalMoneyNum); + }); + + //支出项目列表的切换事件 + $("#otherMoneyDlg .money-dlg .money-id-dlg").off("change").on("change",function(){ + var selectItem = $(this).children('option:selected').text(); + if(selectItem === ""){ + var thisMoneyDom = $(this).closest(".money-content-tmp").find(".other-money-dlg"); + var thisMoney = thisMoneyDom.val()-0; + var otherMoneyTotal = $("#otherMoneyTotalDlg").text() - 0; + $("#otherMoneyTotalDlg").text(otherMoneyTotal - thisMoney); + thisMoneyDom.val(""); //支出项目为空时候,将金额也置为空 + } + }); + + //保存按钮事件 + $("#saveOtherMoneyDlg").off("click").on("click", function(){ + //完成支出项目的json数据存储 + var itemArr = []; //支出项目id数组 + var itemMoneyArr = []; //支出项目金额数组 + var errorIndex = -1; + $("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){ + var thisId = $(this).find(".money-id-dlg").val(); + var thisMoney = $(this).find(".other-money-dlg").val(); + if(!thisId && thisMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisId && !thisMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisId && thisMoney) { + itemArr.push(thisId); + itemMoneyArr.push(thisMoney); + } + }); + if(errorIndex >-1){ + $.messager.alert('错误提示',"第" + (errorIndex+1) + "行数据存在问题,请修改",'warning'); + return; + } + var otherMoneyTotal = $("#otherMoneyTotalDlg").text()-0; //合计金额 + if(otherMoneyTotal === 0){ //0的时候清空缓存数据 + $("#OtherMoney").removeAttr("data-itemArr").removeAttr("data-itemMoneyArr"); + } + if(itemArr.length && itemMoneyArr.length) { + $("#OtherMoney").attr("data-itemArr",JSON.stringify(itemArr)).attr("data-itemMoneyArr",JSON.stringify(itemMoneyArr)); //json数据存储 + } + $("#OtherMoney").val(otherMoneyTotal); //给采购费用、销售费用赋值 + $("#otherMoneyDlg").dialog('close'); + }); + + //取消事件 + function cancelFun(){ + if($("#OtherMoney").attr("data-itemArr")){ + $("#otherMoneyDlg").dialog('close'); + } + else { + $("#otherMoneyDlg").dialog('close'); + $("#OtherMoney").val("").removeAttr("data-itemArr").removeAttr("data-itemMoneyArr"); //将下拉置空并把缓存参数清空 + } + } + //费用-取消按钮 + $("#cancelOtherMoneyDlg").off("click").on("click", function(){ + cancelFun(); + }); + + //费用-右上角的关闭按钮 + $("#otherMoneyDlg").prev().find(".panel-tool-close").off("click").on("click", function(){ + cancelFun(); + }); + + //给弹窗赋值-采购费用、销售费用数据 + var itemArr = $("#OtherMoney").attr("data-itemArr"); + itemArr = JSON.parse(itemArr); + var itemMoneyArr = $("#OtherMoney").attr("data-itemMoneyArr"); + itemMoneyArr = JSON.parse(itemMoneyArr); + $("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){ + var index = $(this).attr("data-index"); + $(this).find(".money-id-dlg").val(itemArr[index]); + if(itemMoneyArr[index]!="undefined"){ + $(this).find(".other-money-dlg").val(itemMoneyArr[index]); + } + }); + $("#otherMoneyTotalDlg").text($("#OtherMoney").val()); + }); + + if(listTitle === "采购入库列表" || listTitle === "其它入库列表" || listTitle === "采购订单列表"|| listTitle === "零售出库列表"|| listTitle === "销售出库列表"|| listTitle === "销售订单列表"){ + var supplierType = "供应商"; + if(listTitle === "零售出库列表"){ + supplierType = "会员"; + }else if(listTitle === "销售出库列表" || listTitle === "销售订单列表"){ + supplierType = "客户"; + } + //检查单位名称是否存在 ++ 重名无法提示问题需要跟进 + function checkSupplierName() { + var supplierName = $.trim($("#supplier").val()); + var orgSupplier = ""; + //表示是否存在 true == 存在 false = 不存在 + var flag = false; + //开始ajax名称检验,不能重名 + if(supplierName.length > 0 &&( orgSupplier.length ==0 || supplierName != orgSupplier)) + { + $.ajax({ + type:"get", + url: "/supplier/checkIsNameExist", + dataType: "json", + async : false, + data: ({ + id : 0, + name : supplierName + }), + success: function (res) { + if(res && res.code === 200) { + if(res.data && res.data.status) { + flag = res.data.status; + if (flag) { + $.messager.alert('提示', '单位名称已经存在', 'info'); + return; + } + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('提示','检查单位名称是否存在异常,请稍后再试!','error'); + return; + } + }); + } + return flag; + } + + //保存供应商信息 + $("#saveSupplier").off("click").on("click",function() { + if(validateForm("supplierFM")) { + return; + } + if(checkSupplierName()){ + return; + } + var reg = /^([0-9])+$/; + var phonenum = $.trim($("#phonenum").val()); + if(phonenum.length>0 && !reg.test(phonenum)) + { + $.messager.alert('提示','电话号码只能是数字','info'); + $("#phonenum").val("").focus(); + return; + } + var beginNeedGet = $.trim($("#BeginNeedGet").val()); + var beginNeedPay = $.trim($("#BeginNeedPay").val()); + if(beginNeedGet && beginNeedPay) { + $.messager.alert('提示','期初应收和期初应付不能同时输入','info'); + return; + } + var url = '/supplier/add'; + var supObj = $("#supplierFM").serializeObject(); + supObj.type = supplierType; + supObj.enabled = 1; + $.ajax({ + url: url, + type:"post", + dataType: "json", + data:{ + info: JSON.stringify(supObj) + }, + success: function(res) { + if (res) { + $('#supplierDlg').dialog('close'); + initSupplier(); //刷新供应商 + } + } + }); + }); + } +} + +function showDepotHeadDetails(pageNo,pageSize){ + var materialParam = $.trim($("#searchMaterial").val()); + $.ajax({ + type:"get", + url: "/depotItem/getHeaderIdByMaterial", + dataType: "json", + data: ({ + materialParam: materialParam, + depotIds: depotString + }), + success: function (res) { + if(res && res.code === 200) { + var ids = res.data; + if(ids){ + $.ajax({ + type: "get", + url: "/depotHead/list", + dataType: "json", + data: ({ + search: JSON.stringify({ + type: listType, + subType: listSubType, + state: $.trim($("#searchState").val()), + number: $.trim($("#searchNumber").val()), + beginTime: $("#searchBeginTime").val(), + endTime: $("#searchEndTime").val(), + dhIds: ids + }), + currentPage: pageNo, + pageSize: pageSize + }), + success: function (res) { + if(res && res.code === 200){ + if(res.data && res.data.page) { + $("#tableData").datagrid('loadData', res.data.page); + } + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); + return; + } + }); + } + else { + $("#tableData").datagrid('loadData', []); + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + return; + } + }); +} + +//自动计算事件 +function autoReckon() { + //延时绑定事件 + setTimeout(function(){ + var body =$("#depotHeadFM .datagrid-body"); + var footer =$("#depotHeadFM .datagrid-footer"); + var input = ".datagrid-editable-input"; + //点击商品下拉框,自动加载数量、单价、金额 + body.find("[field='Stock']").find(input).prop("readonly","readonly"); + //点击库存文本框,字段计算库存 + body.find("[field='Stock']").find(input).off("click").on("click",function(){ + var depotId = body.find("[field='DepotId']").find(".combo-value").val(); + var mId = body.find("[field='MaterialId']").find(".combo-value").val(); + var monthTime = getNowFormatMonth(); + if(depotId && mId){ + var ratio = body.find("[field='Unit']").find(input).attr("data-ratio"); + body.find("[field='Stock']").find(input).prop("readonly","readonly"); + //在新增的时候,这个ratio有值;在编辑的时候,这个ratio为undefined + var type = "click"; //type 类型:点击 click,选择 select + findStockNumById(depotId, mId, monthTime, body, input, ratio, type); + } + else{ + body.find("[field='Stock']").find(input).val(0).attr("data-stock",0); //加载库存数据 + } + }); + //修改数量,自动计算金额和合计,另外计算含税单价、税额、价税合计 + body.find("[field='OperNumber']").find(input).off("keyup").on("keyup",function(){ + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var OperNumber =$(this).val()-0; //数量 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + + }); + //修改单价,自动计算金额和合计 + body.find("[field='UnitPrice']").find(input).off("keyup").on("keyup",function(){ + var UnitPrice =$(this).val()-0; //单价 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //点击单价,自动提示参考价格列表 + body.find("[field='UnitPrice']").find(input).off("click").on("click",function(){ + var self = this; + var mValue = body.find("[field='MaterialId'] .combo-value").attr("value"); //获取选中的商品id + if(!mValue) { + return; + } + else { + if(listTitle!="销售出库列表" && listTitle!="采购退货列表" && listTitle!="其它出库列表" && listTitle!="调拨出库列表") { + return; + } + $.ajax({ + url: "/material/findById", + type: "get", + dataType: "json", + data: { + id: mValue - 0 + }, + success: function(res){ + if(res && res.rows && res.rows[0]) { + var retailPrice = res.rows[0].RetailPrice; + var presetPriceOne = res.rows[0].PresetPriceOne; + var presetPriceTwo = res.rows[0].PresetPriceTwo; + //定义模版 + var temp = "
"; + temp +="
    "; + temp +="
  • 批发价:" + presetPriceTwo + "
  • "; + temp +="
  • 零售价:" + retailPrice + "
  • "; + temp +="
"; + temp +="
"; + if($('.price-list').length){ + $('.price-list').remove(); //如果存在价格列表先移除 + } + else { + if(presetPriceTwo != undefined){ //多单位的商品 + $(self).after(temp); //加载列表信息 + } + } + $('.price-list ul li').off("click").on("click",function(){ + var price = $(this).text(); + price = price.substring(price.indexOf(":") + 1); + $(self).val(price); + $(self).keyup(); //模拟键盘操作 + $('.price-list').remove(); //移除价格列表 + }); + //点击空白处移除价格列表 + $(".datagrid-body").off("click").on("click",function(){ + $('.price-list').remove(); //移除价格列表 + }); + } + }, + error: function(){ + $.messager.alert('错误提示','查询商品信息异常,请稍后再试!','error'); + return; + } + }); + } + }); + //修改含税单价,自动计算单价、金额、税额、价税合计和合计 + body.find("[field='TaxUnitPrice']").find(input).off("keyup").on("keyup",function(){ + var TaxUnitPrice =$(this).val()-0; //含税单价 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var UnitPrice = TaxUnitPrice/(1+taxRate/100); //计算单价 + body.find("[field='UnitPrice']").find(input).val((UnitPrice).toFixed(2)); //单价 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改金额,自动计算单价、税额、价税合计和合计 + body.find("[field='AllPrice']").find(input).off("keyup").on("keyup",function(){ + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var AllPrice =$(this).val()-0; //金额 + var UnitPrice = (AllPrice/OperNumber).toFixed(2); + body.find("[field='UnitPrice']").find(input).val(UnitPrice); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改税率,自动计算含税单价、税额、价税合计和合计 + body.find("[field='TaxRate']").find(input).off("keyup").on("keyup",function(){ + var taxRate =$(this).val()-0; //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改税额,自动计算税率、含税单价、价税合计和合计 + body.find("[field='TaxMoney']").find(input).off("keyup").on("keyup",function(){ + var taxMoney =$(this).val()-0; //税额 + var AllPrice = body.find("[field='AllPrice']").find(input).val(); //金额 + var taxRate = taxMoney/AllPrice*100; //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxRate']").find(input).val((taxRate).toFixed(2)); //税率 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改价税合计,自动计算税率、含税单价、税额和合计 + body.find("[field='TaxLastMoney']").find(input).off("keyup").on("keyup",function(){ + var taxLastMoney =$(this).val()-0; //价税合计 + var AllPrice = body.find("[field='AllPrice']").find(input).val(); //金额 + var taxRate = (taxLastMoney-AllPrice)/AllPrice*100; //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxRate']").find(input).val((taxRate).toFixed(2)); //税率 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + + //加载税率 + if(thisTaxRate) { + body.find("[field='TaxRate']").find(input).val(thisTaxRate); + } + else { + body.find("[field='TaxRate']").find(input).val(0); //默认为0 + } + + //在商品类型加载 组装件、普通子件 + var mType = body.find("[field='MType']"); + var rowListLength = mType.find(input).closest(".datagrid-row").attr("datagrid-row-index"); + var mTypeValue = "组合件"; + if(rowListLength > 0){ + mTypeValue = "普通子件"; + } + if(listSubType == "组装单" || listSubType == "拆卸单"){ + mType.find(input).val(mTypeValue).prop("readonly","readonly"); + } + },500); +} + +//结束编辑 +function endEditing() { + if (editIndex == undefined) { return true } + if ($('#materialData').datagrid('validateRow', editIndex)) { + //仓库信息 + var edDepot = $('#materialData').datagrid('getEditor', {index:editIndex,field:'DepotId'}); + var DepotName = $(edDepot.target).combobox('getText'); + $('#materialData').datagrid('getRows')[editIndex]['DepotName'] = DepotName; + //商品信息 + var edMaterial = $('#materialData').datagrid('getEditor', {index:editIndex,field:'MaterialId'}); + var MaterialName = $(edMaterial.target).combobox('getText'); + $('#materialData').datagrid('getRows')[editIndex]['MaterialName'] = MaterialName; + $('#materialData').datagrid('endEdit', editIndex); + editIndex = undefined; + return true; + } else { + return false; + } +} +//单击 +function onClickRow(index) { + if (editIndex != index) { + if (endEditing()) { + $('#materialData').datagrid('selectRow', index).datagrid('beginEdit', index); + editIndex = index; + autoReckon(); + } else { + $('#materialData').datagrid('selectRow', editIndex); + } + } +} +//新增 +function append(){ + if (endEditing()) { + $('#materialData').datagrid('appendRow', {DepotId:defDepotId}); + editIndex = $('#materialData').datagrid('getRows').length - 1; + $('#materialData').datagrid('selectRow', editIndex).datagrid('beginEdit', editIndex); + autoReckon(); + } +} +//删除 +function batchDel(){ + /** + * 重写一下删除的逻辑 + * 获取所有选中行,直接从列表中移除 + * 点击保存时,将需要后台删除的数据提交到服务器 + * **/ + /** + * create by: qiankunpingtai + * create time: 2019/3/20 16:26 + * description: + * 这个地方比较坑的,花了一个多小时才搞明白为什么 + * 1、删除之前必须先调用endEditing结束编辑 + * 2、如果只是调用endEditing结束编辑那么正在编辑行的被选中状态会被去掉 + * 所以要在调用endEditing先获取选中的行 + */ + //如果编辑的行一开始是选中状态,结束编辑后仍然是选中状态 + var row = $('#materialData').datagrid('getChecked'); + if (endEditing()) { + if (row.length == 0) { + $.messager.alert('删除提示', '没有记录被选中!', 'info'); + return; + } + if (row.length > 0) { + $.messager.confirm('删除确认', '确定要删除选中的' + row.length + '条单据信息吗?', function (r) { + if (r) { + for (var i = 0; i < row.length; i++) { + $('#materialData').datagrid('deleteRow', $('#materialData').datagrid("getRowIndex", row[i])); + } + } + }); + } + } +} +function removeit(){ + if (editIndex == undefined) { return } + $('#materialData').datagrid('cancelEdit', editIndex) + .datagrid('deleteRow', editIndex); + editIndex = undefined; +} +//撤销 +function reject() { + $('#materialData').datagrid('rejectChanges'); + editIndex = undefined; +} +//判断 +function CheckData(type) { + append(); + removeit(); + var change = $('#materialData').datagrid('getChanges').length; + if(type =="add" && !change) { + $.messager.alert('提示','请输入明细信息!','warning'); + return false; + } + var row = $('#materialData').datagrid('getRows'); + if(!row.length){ + $.messager.alert('提示',"请输入明细信息!",'info'); + return false; + } + var totalRowNum = ""; + for (var i = 0; i < row.length; i++) { + if (row[i].DepotId == "" || row[i].MaterialId == "" || row[i].OperNumber == "" || row[i].UnitPrice === "" || row[i].AllPrice === "") { + totalRowNum += (i + 1) + "、"; + } + } + if (totalRowNum != "") { + var totalRowNum = totalRowNum.substring(0, totalRowNum.length - 1); + $.messager.alert('提示',"第" + totalRowNum + "行数据填写不完整!",'info'); + return false; + } + return true; +} +//保存 +function accept(accepId,fun) { + var inserted = $("#materialData").datagrid('getChanges', "inserted"); + var deleted = $("#materialData").datagrid('getChanges', "deleted"); + var updated = $("#materialData").datagrid('getChanges', "updated"); + $.ajax({ + type: "post", + url: "/depotItem/saveDetials", + data: { + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated), + headerId:accepId + }, + success: function (tipInfo) + { + if (tipInfo) { + $.messager.alert('提示','保存成功!','info'); + } + else { + $.messager.alert('提示', '保存失败!', 'error'); + } + fun && fun(); + }, + error: function (XmlHttpRequest, textStatus, errorThrown) + { + $.messager.alert('提示',XmlHttpRequest.responseText,'error'); + fun && fun(); + } + }); + if (endEditing()) { + $('#materialData').datagrid('acceptChanges'); + } +} +//获取MaxId +function getMaxId(){ + var depotHeadMax=null; + $.ajax({ + type:"get", + url: "/depotHead/getMaxId", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + depotHeadMax = res.data.maxId; + } + } + } + }); + + if(depotHeadMax !=null) { + depotHeadMaxId=depotHeadMax; + } +} + +/** + * 新增单据主表及单据子表 + * */ +function addDepotHeadAndDetail(url,infoStr){ + var inserted = null; + if(pageType === "skip") { + inserted = $("#materialData").datagrid('getChanges', "updated"); + } else { + inserted = $("#materialData").datagrid('getChanges', "inserted"); + } + var deleted = $("#materialData").datagrid('getChanges', "deleted"); + var updated = $("#materialData").datagrid('getChanges', "updated"); + $.ajax({ + type:"post", + url: url, + dataType: "json", + async : false, + data: ({ + info:infoStr, + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated) + }), + success: function (tipInfo){ + + if(tipInfo){ + if(tipInfo.code!=200){ + $.messager.alert('提示', tipInfo.msg, 'error'); + return; + } + $.messager.alert('提示','保存成功!','info'); + $('#depotHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showDepotHeadDetails(opts.pageNumber,opts.pageSize); + + }else { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + + + }); +} +/** + * 修改单据主表及单据子表 + * */ +function updateDepotHeadAndDetail(url,infoStr,preTotalPrice){ + var inserted = $("#materialData").datagrid('getChanges', "inserted"); + var deleted = $("#materialData").datagrid('getChanges', "deleted"); + var updated = $("#materialData").datagrid('getChanges', "updated"); + $.ajax({ + type:"post", + url: url, + dataType: "json", + async : false, + data: ({ + id:url.substring(url.lastIndexOf("?id=")+4,url.length), + info:infoStr, + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated), + preTotalPrice:preTotalPrice + }), + success: function (tipInfo){ + if(tipInfo){ + if(tipInfo.code!=200){ + $.messager.alert('提示', tipInfo.msg, 'error'); + return; + } + $.messager.alert('提示','保存成功!','info'); + $('#depotHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showDepotHeadDetails(opts.pageNumber,opts.pageSize); + if (endEditing()) { + $('#materialData').datagrid('acceptChanges'); + } + }else { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); +} + + + + diff --git a/erp_web/js/pages/materials/in_out.js b/erp_web/js/pages/materials/in_out.js deleted file mode 100644 index 1c8ab0f2..00000000 --- a/erp_web/js/pages/materials/in_out.js +++ /dev/null @@ -1,3205 +0,0 @@ - //初始化界面 - var defDepotId = null; - var kid = sessionStorage.getItem("userId"); - var pageType = getUrlParam('t'); //获取页面类型传值 - var depotList = null; - var depotID = null; - var supplierList = null; - var supplierID = null; - var personList = null; - var personID = null; - var ProjectSearch=null; - var userBusinessList=null; - var userdepot=null; - var depotHeadMaxId=null; //获取最大的Id - var accepId=null; //保存的主表id - var url; - var depotHeadID = 0; - var preTotalPrice = 0; //前一次加载的金额 - var orgDepotHead = ""; - var editIndex = undefined; - var listTitle = ""; //单据标题 - var listType = ""; //入库 出库 - var listSubType = ""; //采购 销售等 - var payTypeTitle = "";//付款 收款 - var organUrl = ""; //组织数据接口地址 - var amountNum = ""; //单据编号开头字符 - var depotString = ""; //店铺id列表 - /**默认编号有意义吗,不如空着吧*/ - var orgDefaultId=''; //单位默认编号 - var orgDefaultList; //存储查询出来的会员列表 - var accountList; //账户列表 - var outItemList; //支出项目列表 - var thisTaxRate = 0; //当前税率,选择供应商或者客户的时候设置 - var oldNumber = ""; //编辑前的单据编号 - var oldId = 0; //编辑前的单据Id - var otherColumns = true; //明细中的‘别名’列是否显示 - var btnEnableList = getBtnStr(); //获取按钮的权限 - var mPropertyList = ""; //商品属性列表 - var defaultAccountId = 0; //默认账户id - $(function(){ - //初始化系统基础信息 - getType(); - initSystemData_UB(); - initSelectInfo_UB(); - initSystemData_depot(); - initSelectInfo_depot(); - initSystemData_person(); - initSelectInfo_person(); - initSystemData_account(); - initSelectInfo_account(); - initSupplier(); //供应商 - initSalesman(); //销售人员 - initOutItemList(); //初始化支出项目 - initMProperty(); //初始化商品属性 - initTableData(); - ininPager(); - initForm(); - bindEvent();//绑定操作事件 - }); - //根据单据名称获取类型 - function getType(){ - listTitle = $("#tablePanel").prev().text(); - depotString = "|"; - //改变宽度和高度 - $("#searchPanel").panel({width:webW-2}); - $("#tablePanel").panel({width:webW-2}); - var supUrl = "/supplier/findBySelect_sup"; //供应商接口 - var cusUrl = "/supplier/findBySelect_cus?UBType=UserCustomer&UBKeyId=" + kid; //客户接口 - var retailUrl = "/supplier/findBySelect_retail"; //散户接口 - if(listTitle === "采购订单列表"){ - listType = "其它"; - listSubType = "采购订单"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "CGDD"; - } - else if(listTitle === "采购入库列表"){ - listType = "入库"; - listSubType = "采购"; - payTypeTitle = "付款"; - organUrl = supUrl; - amountNum = "CGRK"; - } - else if(listTitle === "零售退货列表"){ - listType = "入库"; - listSubType = "零售退货"; //注:用预付款购买的产品不能退货 - payTypeTitle = "付款"; - organUrl = retailUrl; - amountNum = "LSTH"; - } - else if(listTitle === "销售退货列表"){ - listType = "入库"; - listSubType = "销售退货"; - payTypeTitle = "付款"; - organUrl = cusUrl; - amountNum = "XSTH"; - } - else if(listTitle === "其它入库列表"){ - listType = "入库"; - listSubType = "其它"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "QTRK"; - } - else if(listTitle === "零售出库列表"){ - listType = "出库"; - listSubType = "零售"; - payTypeTitle = "收款"; - organUrl = retailUrl; - amountNum = "LSCK"; - } - else if(listTitle === "销售订单列表"){ - listType = "其它"; - listSubType = "销售订单"; - payTypeTitle = "隐藏"; - organUrl = cusUrl; - amountNum = "XSDD"; - } - else if(listTitle === "销售出库列表"){ - listType = "出库"; - listSubType = "销售"; - payTypeTitle = "收款"; - organUrl = cusUrl; - amountNum = "XSCK"; - } - else if(listTitle === "采购退货列表"){ - listType = "出库"; - listSubType = "采购退货"; - payTypeTitle = "收款"; - organUrl = supUrl; - amountNum = "CGTH"; - } - else if(listTitle === "其它出库列表"){ - listType = "出库"; - listSubType = "其它"; - payTypeTitle = "隐藏"; - organUrl = cusUrl; - amountNum = "QTCK"; - } - else if(listTitle === "调拨出库列表"){ - listType = "出库"; - listSubType = "调拨"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "DBCK"; - } - else if(listTitle === "组装单列表"){ - listType = "其它"; - listSubType = "组装单"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "ZZD"; - } - else if(listTitle === "拆卸单列表"){ - listType = "其它"; - listSubType = "拆卸单"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "CXD"; - } - } - //初始化系统基础信息 - function initSystemData_UB(){ - $.ajax({ - type:"get", - url: "/userBusiness/getBasicData", - data: ({ - KeyId:kid, - Type:"UserDepot" - }), - //设置为同步 - async:false, - dataType: "json", - success: function (res) { - if (res && res.code === 200) { - userBusinessList = res.data.userBusinessList; - } - else { - userBusinessList = null; - } - } - }); - - } - //初始化页面选项卡 - function initSelectInfo_UB(){ - - if(userBusinessList !=null) - { - if(userBusinessList.length>0) - { - //用户对应的仓库列表 [1][2][3]... - userdepot =userBusinessList[0].value; - } - } - } - - - //初始化系统基础信息 - function initSystemData_depot(){ - $.ajax({ - type:"get", - url: "/depot/getAllList", - //设置为同步 - async:false, - dataType: "json", - success: function (res) { - if(res && res.code === 200){ - depotList = res.data; - } else { - $.messager.alert('提示', '查找系统基础信息异常,请与管理员联系!', 'error'); - return; - } - } - }); - } - //初始化页面选项卡 - function initSelectInfo_depot(){ - var options = ""; - - if(depotList !=null) - { - options = ""; - for(var i = 0 ;i < depotList.length;i++) - { - var depot = depotList[i]; - - if(userdepot!=null) - { - if(userdepot.indexOf("["+depot.id+"]")!=-1) - { - if(depot.isDefault){ - defDepotId = depot.id; - } - options += ''; - depotString = depotString + depot.id + ","; - } - } - if(depot.type === 1){ - depotString = depotString + depot.id + ","; - } - } - depotString = depotString.substring(1, depotString.length-1); - $("#ProjectId").empty().append(options); - $("#AllocationProjectId").empty().append(options); - $("#searchProjectId").empty().append('').append(options); - } - } - - //初始化供应商、客户、散户信息 - function initSupplier(){ - $('#OrganId').combobox({ - url: organUrl, - valueField:'id', - textField:'supplier', - filter: function(q, row){ - var opts = $(this).combobox('options'); - return row[opts.textField].indexOf(q) >-1; - }, - onLoadSuccess: function(res) { - var data = $(this).combobox('getData'); - for(var i = 0; i<= data.length; i++){ - if(data && data[i] && data[i].supplier === "非会员"){ - orgDefaultId = data[i].id; - } - } - if(listSubType === "零售"){ - orgDefaultList = res; - } - }, - onSelect: function(rec){ - if(listSubType === "零售"){ - var option = ""; - if(rec.supplier !== "非会员" && rec.advanceIn >0){ - option = ''; - option += ''; - } - else { - option += ''; - } - $("#payType").empty().append(option); - } - else{ - $.ajax({ - type:"get", - url: "/supplier/findById", - data: { - supplierId: rec.id - }, - dataType: "json", - success: function (res){ - if(res && res.code === 200) { - if(res.data && res.data[0]){ - thisTaxRate = res.data[0].taxRate; //设置当前的税率 - } - } - }, - error:function(){ - - } - }); - } - } - }); - } - - //初始化销售人员 - function initSalesman(){ - $('#Salesman').combobox({ - url: "/person/getPersonByNumType?type=1", - valueField:'id', - textField:'name', - multiple: true - }); - } - - //初始化收入项目列表 - function initOutItemList(){ - $.ajax({ - type:"get", - url: "/inOutItem/findBySelect?type=out", - //设置为同步 - async:false, - dataType: "json", - success: function (res){ - if(res){ - outItemList = res; - } - }, - error:function(){ - - } - }); - } - - //初始化商品属性 - function initMProperty(){ - $.ajax({ - type: "get", - url: "/materialProperty/list", - dataType: "json", - data: ({ - search: JSON.stringify({ - name: "" - }), - currentPage: 1, - pageSize: 100 - }), - success: function (res) { - if(res && res.code === 200){ - if(res.data && res.data.page) { - var thisRows = res.data.page.rows; - for (var i = 0; i < thisRows.length; i++) { - if (thisRows[i].enabled) { - mPropertyList += thisRows[i].nativeName + ","; - } - } - if (mPropertyList) { - mPropertyList = mPropertyList.substring(0, mPropertyList.length - 1); - } - } - } - }, - //此处添加错误处理 - error:function() { - $.messager.alert('查询提示','查询信息异常,请稍后再试!','error'); - return; - } - }); - } - - //初始化系统基础信息 - function initSystemData_person(){ - $.ajax({ - type:"get", - url: "/person/getAllList", - //设置为同步 - async:false, - dataType: "json", - success: function (res) { - if(res && res.code === 200) { - if(res.data) { - personList = res.data.personList; - } - } - } - }); - } - //初始化页面选项卡 - function initSelectInfo_person(){ - var options1 = ""; - - if(personList !=null) - { - for(var i = 0 ;i < personList.length;i++) - { - var person = personList[i]; - if(0 == i) - { - personID = person.id; - } - if(person.type=="仓管员") - { - options1 += ''; - } - } - $("#HandsPersonId").empty().append(options1); - } - } - //获取账户信息 - function initSystemData_account(){ - $.ajax({ - type:"get", - url: "/account/getAccount", - //设置为同步 - async:false, - dataType: "json", - success: function (res) { - if(res && res.code === 200) { - if(res.data) { - accountList = res.data.accountList; - } - } - } - }); - } - //获取账户信息 - function initSelectInfo_account(){ - var options = ""; - if(accountList !=null){ - options = ""; - options += ""; - for(var i = 0 ;i < accountList.length;i++) { - var account = accountList[i]; - options += ''; - if(account.isdefault) { - defaultAccountId = account.id; //给账户赋值默认id - } - } - $("#AccountId").empty().append(options); - } - } - - //防止表单提交重复 - function initForm(){ - $('#depotHeadFM').form({ - onSubmit: function(){ - return false; - } - }); - } - - //初始化表格数据 - function initTableData(){ - if(pageType === "skip") { - var oldRowInfo = sessionStorage.getItem("rowInfo"); - editDepotHead(oldRowInfo); //自动弹出编辑框,带缓存数据 - } - var hideType = undefined; - var isHiddenStatus = true; - if(payTypeTitle === "隐藏"){ - hideType = true; //隐藏当前列 - } - var tableToolBar = [ - { - id:'addDepotHead', - text:'增加', - iconCls:'icon-add', - handler:function() - { - addDepotHead(); - } - }, - { - id:'deleteDepotHead', - text:'删除', - iconCls:'icon-remove', - handler:function() - { - batDeleteDepotHead(); - } - } - ]; - //如果允许的按钮列表中存在就显示,3-代表审核|反审核的权限 - if(btnEnableList && btnEnableList.indexOf(3)>-1){ - isHiddenStatus = false; //显示 - tableToolBar.push({ - id:'okDepotHead', - text:'审核', - iconCls:'icon-ok', - handler:function() { - setStatusFun(); - } - }, - { - id:'undoDepotHead', - text:'反审核', - iconCls:'icon-undo', - handler:function() { - setUnStatusFun(); - } - }); - } - else { - isHiddenStatus = true; //隐藏 - } - var isShowLastMoneyColumn = false; //是否显示优惠后金额和价税合计,true为隐藏,false为显示 - if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowLastMoneyColumn = true; //隐藏 - } - var isShowOrganNameColumn = false; //是否显示供应商、客户等信息,true为隐藏,false为显示 - var organNameTitle = ""; //组织名称标题 - if(listSubType == "调拨" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowOrganNameColumn = true; //隐藏 - } - else { - if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "采购退货列表" || listTitle == "其它入库列表"){ - organNameTitle = "供应商名称"; - } - else if(listTitle == "销售订单列表" || listTitle == "销售退货列表" || listTitle == "销售出库列表" || listTitle == "其它出库列表"){ - organNameTitle = "客户名称"; - } - else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ - organNameTitle = "会员卡号"; - } - } - var opWidth = 90; //操作宽度 - var isShowSkip = false; //是否显示跳转按钮 - var opTitle = ""; //跳转按钮的标题 - if(listTitle == "采购订单列表") { - opWidth = 120; - isShowSkip = true; - opTitle = "转采购入库"; - } else if(listTitle == "销售订单列表") { - opWidth = 120; - isShowSkip = true; - opTitle = "转销售出库"; - } - $('#tableData').datagrid({ - height:heightInfo, - rownumbers: false, - //动画效果 - animate:false, - //选中单行 - singleSelect : true, - collapsible:false, - selectOnCheck:false, - pagination: true, - //交替出现背景 - striped : true, - pageSize: 10, - pageList: initPageNum, - columns:[[ - { field: 'id',width:35,align:"center",checkbox:true}, - { title: '操作',field: 'op',align:"center",width:opWidth, - formatter:function(value, rec,index) { - var str = ''; - // var rowInfo = rec.id + 'AaBb' + rec.projectid+ 'AaBb' + rec.number+ 'AaBb' + rec.operpersonname - // + 'AaBb' + rec.opertimeStr+ 'AaBb' + rec.organid+ 'AaBb' + rec.handspersonid - // + 'AaBb' + rec.accountid+ 'AaBb' + rec.changeamount+ 'AaBb' + rec.remark - // + 'AaBb' + rec.projectName+ 'AaBb' + rec.organName+ 'AaBb' + rec.handsPersonName - // + 'AaBb' + rec.accountName + 'AaBb' + rec.totalprice + 'AaBb' + rec.allocationprojectid - // + 'AaBb' + rec.allocationProjectName + 'AaBb' + rec.paytype + 'AaBb' + rec.salesman - // + 'AaBb' + rec.discount + 'AaBb' + rec.discountmoney + 'AaBb' + rec.discountlastmoney - // + 'AaBb' + rec.accountidlist + 'AaBb' + rec.accountmoneylist - // + 'AaBb' + rec.othermoney + 'AaBb' + rec.othermoneylist + 'AaBb' + rec.othermoneyitem - // + 'AaBb' + rec.accountday + 'AaBb' + rec.linknumber; - // rowInfo = rowInfo.replace(/\"/g, ""); - // rowInfo = rowInfo.replace(/\[|]/g,""); - var orgId = rec.organid? rec.organid:0; - str += '   '; - str += '   '; - str += ''; - if(isShowSkip) { - str += '   '; - } - return str; - } - }, - { title: organNameTitle, field: 'organName',width:120, hidden:isShowOrganNameColumn}, - { title: '单据编号',field: 'number',width:135, formatter:function (value,rec) { - if(rec.linknumber) { - return value + "[转]"; - } else { - return value; - } - } - }, - { title: '商品信息',field: 'materialsList',width:180,formatter:function(value){ - if(value) { - return value.replace(",",","); - } - } - }, - { title: '单据日期',field: 'opertimeStr',width:130}, - { title: '操作员',field: 'operpersonname',width:60}, - { title: '金额合计',field: 'totalprice',width:60}, - { title: '含税合计',field: 'totaltaxlastmoney',hidden:isShowLastMoneyColumn,width:60,formatter:function(value,rec){ - return (rec.discountmoney + rec.discountlastmoney).toFixed(2); - } - }, - { title: '优惠后金额',field: 'discountlastmoney',hidden:isShowLastMoneyColumn,width:80}, - { title: payTypeTitle,field: 'changeamount',width:50,hidden:hideType}, - { title: '状态',field: 'status',hidden:isHiddenStatus, width:70,align:"center",formatter:function(value){ - if(value === "0") { - return "未审核"; - } else if(value === "1") { - return "已审核"; - } else if(value === "2") { - if(listTitle == "采购订单列表") { - return "已转采购"; - } else if(listTitle == "销售订单列表") { - return "已转销售"; - } - } - } - } - ]], - toolbar:tableToolBar, - onLoadError:function() { - $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); - return; - } - }); - } - - //查找库存的方法 - function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ - var thisRatio = 1; //比例 - $.ajax({ - url: "/material/findById", - type: "get", - dataType: "json", - data: { - id: mId - }, - success: function (rec) { - if(rec && rec.code === 200 && rec.data && rec.data[0]) { - var loadRatio = 1; //在单位输入框上面加载比例字段 - if(rec.data[0].unit) { //如果存在计量单位信息 - loadRatio = 1; - } - else{ - var unitName = rec.data[0].unitName; - if(unitName) { - thisRatio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); - unitName = unitName.substring(0, unitName.indexOf("(")); - } - var unitArr = unitName.split(","); - var basicUnit = unitArr[0]; //基础单位 - var otherUnit = unitArr[1]; //副单位 - var unitSetInput =""; //单位 - if(listSubType === "采购订单" || listSubType === "采购" || listSubType === "采购退货"){ - unitSetInput = rec.data[0].firstinunit; - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = thisRatio; - } - } - else if(listSubType === "销售订单" || listSubType === "销售" || listSubType === "销售退货" || listSubType === "零售" || listSubType === "零售退货"){ - unitSetInput = rec.data[0].firstoutunit; - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = thisRatio; - } - } - } - //查询库存 - $.ajax({ - type: "get", - url: '/depotItem/findStockNumById', - data:{ - projectId: depotId, - materialId: mId, - monthTime: monthTime, - currentPage: 1, - pageSize: 10 - }, - dataType: "json", - success: function (res) { - if(res && res.code === 200) { - if (res.data && res.data.page && res.data.page[0]) { - var thisStock = res.data.page[0].thisSum; - if (type == "select") { //选择下拉框的时候 - if (ratio != undefined && ratio != 1) { - loadRatio = ratio; - } - } - else if (type == "click") { //点击库存的时候 - if (ratio != undefined) { - loadRatio = ratio; - } - } - thisStock = (thisStock / loadRatio).toFixed(2); - body.find("[field='Stock']").find(input).val(thisStock).attr("data-stock", res.data.page[0].thisSum); //加载库存数据 - } - else { - body.find("[field='Stock']").find(input).val(0).attr("data-stock", 0); //加载库存数据 - } - body.find("[field='Stock']").find(input).prop("readonly", "readonly"); //设置库存数据为只读 - } - }, - error:function() { - $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); - } - }); - } - }, - error: function () { - $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); - } - }); - } - //优惠率、合计的统计方法 - function statisticsFun(body,UnitPrice,OperNumber,footer,taxRate){ - var TotalPrice = 0; - var taxLastMoneyTotal = 0; - //金额的合计 - body.find("[field='AllPrice']").each(function(){ - if($(this).find("div").text()!==""){ - TotalPrice = TotalPrice + parseFloat($(this).find("div").text().toString()); - } - }); - TotalPrice = TotalPrice + UnitPrice*OperNumber; - footer.find("[field='AllPrice']").find("div").text((TotalPrice).toFixed(2)); //金额的合计 - //价税合计的总计 - body.find("[field='TaxLastMoney']").each(function(){ - if($(this).find("div").text()!==""){ - taxLastMoneyTotal = taxLastMoneyTotal + (parseFloat($(this).find("div").text().toString())-0); - } - }); - taxLastMoneyTotal = taxLastMoneyTotal + (UnitPrice*OperNumber*(1+taxRate/100)); - footer.find("[field='TaxLastMoney']").find("div").text((taxLastMoneyTotal).toFixed(2)); //价税合计的页脚总计 - var discount = $("#Discount").val(); //优惠率 - var discountMoney = (taxLastMoneyTotal*discount/100).toFixed(2); - $("#DiscountMoney").val(discountMoney);//优惠金额 - var discountLastMoney = (taxLastMoneyTotal*(1-discount/100)).toFixed(2) - $("#DiscountLastMoney").val(discountLastMoney);//优惠后金额 - if($("#AccountId").val()!=="many"){ - $("#ChangeAmount").val(discountLastMoney); //本次付、收款 - } - var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 - $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 - - if(listSubType == "零售" || listSubType == "零售退货") { - $("#ChangeAmount, #getAmount").val((TotalPrice).toFixed(2)); - $("#backAmount").val(0); - } - } - //初始化表格数据-商品列表-编辑状态 - function initTableData_material(type,TotalPrice){ - var body,footer,input; //定义表格和文本框 - var ratio = 1; //比例-品名专用 - var ratioDepot = 1; //比例-仓库用 - var monthTime = getNowFormatMonth(); - var isShowAnotherDepot = true; //显示对方仓库,true为隐藏,false为显示 - var depotHeadName = ""; //仓库名称 - var depotUrl = ""; //仓库接口地址 - var depotTextField = ""; //仓库下拉名称 - var anotherDepotHeadName = ""; //对方仓库的列的标题 - var anotherDepotUrl = ""; //对方仓库接口地址 - var anotherDepotTextField = ""; - if(listSubType == "调拨"){ - isShowAnotherDepot = false; //调拨时候显示对方仓库 - anotherDepotHeadName = "调入仓库"; - anotherDepotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; - anotherDepotTextField = "depotName"; - } - depotHeadName = "仓库名称"; - depotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; - depotTextField = "depotName"; - var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 - if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowTaxColumn = true; //隐藏 - } - var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 - if(listSubType == "组装单" || listSubType == "拆卸单"){ - isShowMaterialTypeColumn = false; //显示 - } - $('#materialData').datagrid({ - height:245, - rownumbers: false, - //动画效果 - animate:false, - //选中单行 - singleSelect : true, - collapsible:false, - selectOnCheck:false, - //单击行是否选中 - checkOnSelect : false, - pagination: false, - //交替出现背景 - striped : true, - showFooter: true, - //loadFilter: pagerFilter, - onClickRow: onClickRow, - columns:[[ - { field: 'Id',width:35,align:"center",checkbox:true}, - { title: '商品类型',field: 'MType',editor:'validatebox',hidden:isShowMaterialTypeColumn,width:80}, - { title: depotHeadName, field: 'DepotId', editor: 'validatebox', width: 90, - formatter: function (value, row, index) { - return row.DepotName; - }, - editor: { - type: 'combobox', - options: { - valueField: 'id', - textField: depotTextField, - method: 'get', - url: depotUrl, - onSelect:function(rec){ - var depotId = rec.id; - body =$("#depotHeadFM .datagrid-body"); - footer =$("#depotHeadFM .datagrid-footer"); - input = ".datagrid-editable-input"; - var mId = body.find("[field='MaterialId']").find(".combo-value").val(); - if(mId){ - var type = "select"; //type 类型:点击 click,选择 select - findStockNumById(depotId, mId, monthTime, body, input, ratioDepot, type); - } - } - } - } - }, - { title: '品名(型号)(扩展信息)(单位)',field: 'MaterialId',width:230, - formatter:function(value,row,index){ - return row.MaterialName; - }, - editor:{ - type:'combobox', - options:{ - valueField:'Id', - textField:'MaterialName', - method:'get', - url: "/material/findBySelect", - panelWidth: 300, //下拉框的宽度 - //全面模糊匹配,过滤字段 - filter: function(q, row){ - var opts = $(this).combobox('options'); - return row[opts.textField].indexOf(q) >-1; - }, - onBeforeLoad: function(param){ - param.mpList = mPropertyList; //商品属性 - }, - onSelect:function(rec){ - if(rec) { - var mId = rec.Id; - $.ajax({ - url: "/material/findById", - type: "get", - dataType: "json", - data: { - id: mId - }, - success: function (res) { - if(res && res.code === 200 && res.data && res.data[0]) { - var retailPrice = res.data[0].retailprice-0; //零售价格 - var presetPriceOne = res.data[0].presetpriceone-0; //预计采购价 - var presetPriceTwo = res.data[0].presetpricetwo-0; //批发价 - var firstInUnit = res.data[0].firstinunit; //首选入库单位 - var firstOutUnit = res.data[0].firstoutunit; //首选出库单位 - var basicPresetPriceOne = ""; //多单位-入库-基础价格 - var basicPresetPriceTwo = ""; //多单位-出库-基础价格 - var retailPriceOne = ""; //多单位-入库-零售价格 - var otherPresetPriceOne = ""; //多单位-入库-其他价格 - var otherPresetPriceTwo = ""; //多单位-出库-其他价格 - var retailPriceTwo = ""; //多单位-出库-零售价格 - var basicUnit = ""; //基础单位 - var otherUnit = ""; //其他单位 - if(!res.data[0].unit){ - var ps = res.data[0].pricestrategy; - var psObj = JSON.parse(ps); - basicPresetPriceOne = psObj[0].basic.PresetPriceOne-0; - basicPresetPriceTwo = psObj[0].basic.PresetPriceTwo-0; - retailPriceOne = psObj[0].basic.RetailPrice-0; - otherPresetPriceOne = psObj[1].other.PresetPriceOne-0; - otherPresetPriceTwo = psObj[1].other.PresetPriceTwo-0; - retailPriceTwo = psObj[1].other.RetailPrice-0; - basicUnit = psObj[0].basic.Unit; - otherUnit = psObj[1].other.Unit; - } - body =$("#depotHeadFM .datagrid-body"); - footer =$("#depotHeadFM .datagrid-footer"); - input = ".datagrid-editable-input"; - if(res.data[0].unit){ //如果存在计量单位信息 - ratio = 1; //重置比例为1 - body.find("[field='Unit']").find(input).val(res.data[0].unit); //设置-计量单位信息 - body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 - body.find("[field='Unit']").find(input).off("click"); //移除点击事件 - body.find("[field='Unit']").find(input).attr("data-ratio",ratio); //修改比例缓存信息 - } - else { - var unitName = res.data[0].unitName; - if(unitName) { - ratio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); //给比例赋值 - unitName = unitName.substring(0, unitName.indexOf("(")); - } - var unitArr = unitName.split(","); - var basicUnit = unitArr[0]; //基础单位 - var otherUnit = unitArr[1]; //副单位 - var unitSetInput =""; //单位 - body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 - var loadRatio = 1; //在单位输入框上面加载比例字段 - if(listSubType === "采购" || listSubType === "采购退货" || listSubType === "采购订单"){ - unitSetInput = res.data[0].firstinunit; //给单位文本框赋值 - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = ratio; - } - } - else if(listSubType === "销售" || listSubType === "销售退货" || listSubType === "销售订单" || listSubType === "零售" || listSubType === "零售退货"){ - unitSetInput = res.data[0].firstoutunit; //给单位文本框赋值 - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = ratio; - } - } - body.find("[field='Unit']").find(input).val(unitSetInput).attr("data-ratio", loadRatio); //设置-首选单位 - - body.find("[field='Unit']").find(input).off("click").on("click",function(){ - if(basicUnit && otherUnit) { - var self = this; - //定义模版 - var temp = "
"; - temp +="
    "; - temp +="
  • " + basicUnit + "
  • "; - temp +="
  • " + otherUnit + "
  • "; - temp +="
"; - temp +="
"; - if($('.unit-list').length){ - $('.unit-list').remove(); //如果存在计量单位列表先移除 - } - else { - $(self).after(temp); //加载列表信息 - } - //计量单位列表的单击事件 - $('.unit-list ul li').off("click").on("click",function(){ - var unit = $(this).text(); - var thisRatio = $(this).attr("data-ratio"); //获取比例 - $(self).val(unit).attr("data-ratio", thisRatio); - $(self).keyup(); //模拟键盘操作 - $('.unit-list').remove(); //移除计量单位列表 - var stock = body.find("[field='Stock']").find(input).attr("data-stock"); //从缓存中取值 - var type = $(this).attr("data-type"); - var UnitPrice = 0; - if(type === "basic"){ - if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { - UnitPrice = basicPresetPriceOne; - } - else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { - UnitPrice = basicPresetPriceTwo; - } - else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ - UnitPrice = retailPriceOne; - } - body.find("[field='Stock']").find(input).val(stock); //修改库存 - } - else if(type === "other"){ - if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { - UnitPrice = otherPresetPriceOne; - } - else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { - UnitPrice = otherPresetPriceTwo; - } - else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ - UnitPrice = retailPriceTwo; - } - body.find("[field='Stock']").find(input).val((stock/ratio).toFixed(2)); //修改库存 - } - body.find("[field='UnitPrice']").find(input).val(UnitPrice); //单价 - var OperNumber = body.find("[field='OperNumber']").find(input).val(); //获取数量 - var taxRate = body.find("[field='TaxRate']").find(input).val(); //获取税率 - body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 - body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 - body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 - body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 - statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); - }); - //点击空白处移除计量单位列表 - $(".datagrid-body").off("click").on("click",function(){ - $('.unit-list').remove(); //移除计量单位列表 - }); - } - }); - } - var detailPrice = 0; //明细列表-单价 - if(listSubType == "零售" || listSubType == "零售退货") { - if(res.data[0].unit) { //如果存在计量单位信息 - detailPrice = retailPrice; - } - else { - if (firstOutUnit == basicUnit) { - detailPrice = retailPriceOne; - } - else if (firstOutUnit == otherUnit) { - detailPrice = retailPriceTwo; - } - } - } - else if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { - if(res.data[0].unit) { //如果存在计量单位信息 - detailPrice = presetPriceOne; - } - else { - if (firstInUnit == basicUnit) { - detailPrice = basicPresetPriceOne; - } - else if (firstInUnit == otherUnit) { - detailPrice = otherPresetPriceOne; - } - } - } - else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { - if(res.data[0].unit) { //如果存在计量单位信息 - detailPrice = presetPriceTwo; - } - else { - if(firstOutUnit==basicUnit) { - detailPrice = basicPresetPriceTwo; - } - else if(firstOutUnit==otherUnit){ - detailPrice = otherPresetPriceTwo; - } - } - } - body.find("[field='OperNumber']").find(input).val(1); //数量初始化为1 - //单价和总价赋值 - if(!detailPrice) { - detailPrice = 0; - } - body.find("[field='UnitPrice']").find(input).val(detailPrice); - body.find("[field='AllPrice']").find(input).val(detailPrice); - var taxRate = body.find("[field='TaxRate']").find(input).val()-0; //获取税率 - body.find("[field='TaxUnitPrice']").find(input).val((detailPrice*(1+taxRate/100)).toFixed(2)); //含税单价 - body.find("[field='TaxMoney']").find(input).val((detailPrice*(taxRate/100)).toFixed(2)); //税额 - body.find("[field='TaxLastMoney']").find(input).val((detailPrice*(1+taxRate/100)).toFixed(2)); //价税合计 - statisticsFun(body,detailPrice,1,footer,taxRate); - - //查询库存信息 - var depotId = body.find("[field='DepotId']").find(".combo-value").val(); - if(depotId) { - var type = "select"; //type 类型:点击 click,选择 select - findStockNumById(depotId, mId, monthTime, body, input, loadRatio, type); - } - } - }, - error: function() { - $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); - } - }); - } - } - } - } - }, - { title: '库存',field: 'Stock',editor:'validatebox',width:70}, - { title: anotherDepotHeadName, field: 'AnotherDepotId',editor:'validatebox',hidden:isShowAnotherDepot,width:90, - formatter: function (value, row, index) { - return row.AnotherDepotName; - }, - editor: { - type: 'combobox', - options: { - valueField: 'id', - textField: anotherDepotTextField, - method: 'get', - url: anotherDepotUrl - } - } - }, - { title: '单位',field: 'Unit',editor:'validatebox',width:60}, - { title: '数量',field: 'OperNumber',editor:'validatebox',width:60}, - { title: '单价',field: 'UnitPrice',editor:'validatebox',width:60}, - { title: '含税单价',field: 'TaxUnitPrice',editor:'validatebox',hidden:isShowTaxColumn,width:75}, - { title: '金额',field: 'AllPrice',editor:'validatebox',width:75}, - { title: '税率(%)',field: 'TaxRate',editor:'validatebox',hidden:isShowTaxColumn,width:75}, - { title: '税额',field: 'TaxMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, - { title: '价税合计',field: 'TaxLastMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, - { title: '备注',field: 'Remark',editor:'validatebox',width:120}, - { title: '品名-别',field: 'OtherField1',editor:'validatebox',hidden:otherColumns,width:60}, - { title: '型号-别',field: 'OtherField2',editor:'validatebox',hidden:otherColumns,width:60}, - { title: '颜色-别',field: 'OtherField3',editor:'validatebox',hidden:otherColumns,width:60}, - { title: '备注1',field: 'OtherField4',editor:'validatebox',hidden:true,width:60}, - { title: '备注2',field: 'OtherField5',editor:'validatebox',hidden:true,width:60} - ]], - toolbar:[ - { - id:'append', - text:'新增', - iconCls:'icon-add', - handler:function() - { - append(); //新增 - } - }, - { - id:'delete', - text:'删除', - iconCls:'icon-remove', - handler:function() - { - batchDel(); //删除 - } - }, - { - id:'reject', - text:'撤销', - iconCls:'icon-undo', - handler:function() - { - reject(); //撤销 - } - } - ], - onLoadError:function() - { - $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); - return; - } - }); - $.ajax({ - type:"get", - url: '/depotItem/getDetailList', - data: { - headerId: depotHeadID, - mpList: mPropertyList - }, - dataType: "json", - success: function (res) { - if(res && res.code === 200) { - var data = res.data; - var AllPrice = 0; - var TaxLastMoney = 0; - var DiscountMoney = $("#DiscountMoney").val()-0; //优惠金额 - var DiscountLastMoney = $("#DiscountLastMoney").val()-0; //优惠后金额 - if(type === "edit") { - AllPrice = TotalPrice; - TaxLastMoney = DiscountMoney + DiscountLastMoney; - } - var array = []; - array.push({ - "AllPrice": AllPrice, - "TaxLastMoney": TaxLastMoney - }); - data.footer = array; - $("#materialData").datagrid('loadData',data); - //如果是订单跳转到采购或销售 - if(pageType === "skip") { - var skipList = $("#depotHeadFM .datagrid-body tr"); - //逐条自动点击每行数据 - skipList.each(function (i) { - setTimeout(function () { - skipList.eq(i).find("[field='Stock']").click(); - },(i+1)*1000); - }); - } - } - }, - error:function() { - $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); - } - }); - } - - //初始化表格数据-商品列表-查看状态 - function initTableData_material_show(TotalPrice){ - var isShowAnotherDepot = true; //显示对方仓库,true为隐藏,false为显示 - var anotherDepotHeadName = ""; //对方仓库的列的标题 - var depotHeadName = ""; //仓库的列的标题 - if(listSubType == "调拨"){ - isShowAnotherDepot = false; //调拨时候显示对方仓库 - anotherDepotHeadName = "调入仓库"; - } - depotHeadName = "仓库名称"; - var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 - if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowTaxColumn = true; //隐藏 - } - var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 - if(listSubType == "组装单" || listSubType == "拆卸单"){ - isShowMaterialTypeColumn = false; //显示 - } - $('#materialDataShow').datagrid({ - height:245, - rownumbers: true, - //动画效果 - animate:false, - //选中单行 - singleSelect : true, - collapsible:false, - selectOnCheck:false, - pagination: false, - //交替出现背景 - striped : true, - showFooter: true, - onClickRow: onClickRow, - columns:[[ - { title: '商品类型',field: 'MType',width:80, hidden:isShowMaterialTypeColumn}, - { title: depotHeadName,field: 'DepotName',editor:'validatebox',width:90}, - { title: '品名(型号)(扩展信息)(单位)',field: 'MaterialName',width:230}, - { title: anotherDepotHeadName,field: 'AnotherDepotName',hidden:isShowAnotherDepot,width:90}, - { title: '单位',field: 'Unit',editor:'validatebox',width:60}, - { title: '数量',field: 'OperNumber',editor:'validatebox',width:60}, - { title: '单价',field: 'UnitPrice',editor:'validatebox',width:60}, - { title: '含税单价',field: 'TaxUnitPrice',editor:'validattebox',hidden:isShowTaxColumn,width:75}, - { title: '金额',field: 'AllPrice',editor:'validatebox',width:75}, - { title: '税率',field: 'TaxRate',editor:'validatebox',hidden:isShowTaxColumn,width:75}, - { title: '税额',field: 'TaxMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, - { title: '价税合计',field: 'TaxLastMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, - { title: '备注',field: 'Remark',editor:'validatebox',width:120}, - { title: '品名-别',field: 'OtherField1',editor:'validatebox',hidden:otherColumns,width:60}, - { title: '型号-别',field: 'OtherField2',editor:'validatebox',hidden:otherColumns,width:60}, - { title: '颜色-别',field: 'OtherField3',editor:'validatebox',hidden:otherColumns,width:60}, - { title: '备注1',field: 'OtherField4',editor:'validatebox',hidden:true,width:60}, - { title: '备注2',field: 'OtherField5',editor:'validatebox',hidden:true,width:60} - ]], - onLoadError:function() { - $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); - return; - } - }); - $.ajax({ - type:"get", - url: '/depotItem/getDetailList', - data: { - headerId: depotHeadID, - mpList: mPropertyList - }, - dataType: "json", - success: function (res) { - if(res && res.code === 200) { - var data = res.data; - var AllPrice = TotalPrice; - var DiscountMoney = $("#DiscountMoneyShow").text() - 0; //优惠金额 - var DiscountLastMoney = $("#DiscountLastMoneyShow").text() - 0; //优惠后金额 - var array = []; - array.push({ - "AllPrice": AllPrice, - "TaxLastMoney": DiscountMoney + DiscountLastMoney - }); - data.footer = array; - $("#materialDataShow").datagrid('loadData', data); - } - }, - error:function() { - $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); - } - }); - } - - //分页信息处理 - function ininPager(){ - try - { - var opts = $("#tableData").datagrid('options'); - var pager = $("#tableData").datagrid('getPager'); - pager.pagination({ - onSelectPage:function(pageNum, pageSize) - { - opts.pageNumber = pageNum; - opts.pageSize = pageSize; - pager.pagination('refresh', - { - pageNumber:pageNum, - pageSize:pageSize - }); - showDepotHeadDetails(pageNum,pageSize); - } - }); - } - catch (e) - { - $.messager.alert('异常处理提示',"分页信息异常 : " + e.name + ": " + e.message,'error'); - } - } - - //删除单据信息 - function deleteDepotHead(depotHeadID, thisOrganId, totalPrice, status){ - if(status == "1" || status == "2") { - $.messager.alert('删除提示','已审核和已转的单据不能删除!','warning'); - return; - } - $.messager.confirm('删除确认','确定要删除此单据信息吗?',function(r) { - if (r) { - $.ajax({ - type:"post", - // url: "/depotHead/" + depotHeadID + "/delete", - url: "/depotHead/deleteDepotHeadAndDetail", - dataType: "json", - data:{ - id: depotHeadID - }, - success: function (res) { - if(res && res.code == 200) { - $("#searchBtn").click(); - } else { - $.messager.alert('删除提示', '删除单据信息失败,请稍后再试!', 'error'); - } - }, - //此处添加错误处理 - error:function() { - $.messager.alert('删除提示','删除单据信息异常,请稍后再试!','error'); - return; - } - }); - - //更新会员的预收款信息 - if(listSubType === "零售") { - $.ajax({ - type:"post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data:{ - supplierId: thisOrganId, //会员id - advanceIn: totalPrice //删除时同时返还用户的预付款 - }, - success: function(res){ - if(res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function(){ - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); - } - } - }); - } - - //订单转采购或销售 - function skipDepotHead(index, status){ - //获取当前行 - var rowsdata = $("#tableData").datagrid("getRows")[index]; - if(status == "0" || status == "2") { - $.messager.alert('提示','未审核和已转的单据禁止操作!','warning'); - } else { - sessionStorage.setItem("rowInfo", JSON.stringify(rowsdata)); //将单据信息存入缓存中 - if(listTitle == "采购订单列表") { - parent.addTab("订单转采购", "../materials/purchase_in_list.html?t=skip", ""); - } else if(listTitle == "销售订单列表") { - parent.addTab("订单转销售", "../materials/sale_out_list.html?t=skip", ""); - } - } - } - - //批量删除单据信息 - function batDeleteDepotHead(){ - var row = $('#tableData').datagrid('getChecked'); - if(row.length == 0) - { - $.messager.alert('删除提示','没有记录被选中!','info'); - return; - } - if(row.length > 0) - { - $.messager.confirm('删除确认','确定要删除选中的' + row.length + '条单据信息吗?',function(r) - { - if (r) { - var ids = ""; - for (var i = 0; i < row.length; i++) { - if (i == row.length - 1) { - if (row[i].status == 0) { - ids += row[i].id; - } - break; - } - ids += row[i].id + ","; - } - if (ids) { - //批量更新会员的预收款信息 - for (var i = 0; i < row.length; i++) { - if (listSubType === "零售") { - $.ajax({ - type: "post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data: { - supplierId: row[i].organid, //会员id - advanceIn: row[i].totalprice //删除时同时返还用户的预付款 - }, - success: function (res) { - if (res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function () { - $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); - return; - } - }); - } - } - //批量删除 - $.ajax({ - type: "post", - // url: "/depotHead/batchDelete", - url: "/depotHead/batchDeleteDepotHeadAndDetail", - dataType: "json", - async: false, - data: ({ - ids: ids - }), - success: function (res) { - if (res && res.code === 200) { - $("#searchBtn").click(); - $(":checkbox").attr("checked", false); - } else { - $.messager.alert('删除提示', '删除单据信息失败,请稍后再试!', 'error'); - } - }, - //此处添加错误处理 - error: function () { - $.messager.alert('删除提示', '删除单据信息异常,请稍后再试!', 'error'); - return; - } - }); - } else { - $.messager.alert('删除提示','没有能删除的单据!','warning'); - } - } - }); - } - } - - //批量审核 - function setStatusFun() { - var row = $('#tableData').datagrid('getChecked'); - if(row.length == 0) { - $.messager.alert('审核提示','没有记录被选中!','info'); - return; - } - if(row.length > 0) { - $.messager.confirm('审核确认','确定要审核选中的' + row.length + '条信息吗?',function(r) - { - if (r) - { - var ids = ""; - for(var i = 0;i < row.length; i ++) - { - if(i == row.length-1) - { - if(row[i].status != "2") { - ids += row[i].id; - } - break; - } - ids += row[i].id + ","; - } - if(ids) { - $.ajax({ - type:"post", - url: "/depotHead/batchSetStatus", - dataType: "json", - async : false, - data: ({ - status: "1", - depotHeadIDs : ids - }), - success: function (res) { - if(res && res.code === 200) { - $("#searchBtn").click(); - $(":checkbox").attr("checked", false); - } else { - $.messager.alert('审核提示', '审核信息失败,请稍后再试!', 'error'); - } - }, - //此处添加错误处理 - error:function() { - $.messager.alert('审核提示','审核信息异常,请稍后再试!','error'); - return; - } - }); - } else { - $.messager.alert('审核提示','没有能审核的单据!','warning'); - } - } - }); - } - } - - //批量反审核 - function setUnStatusFun() { - var row = $('#tableData').datagrid('getChecked'); - if(row.length == 0) - { - $.messager.alert('反审核提示','没有记录被选中!','info'); - return; - } - if(row.length > 0) - { - $.messager.confirm('反审核确认','确定要反审核选中的' + row.length + '条信息吗?',function(r) - { - if (r) - { - var ids = ""; - for(var i = 0;i < row.length; i ++) - { - if(i == row.length-1) - { - if(row[i].status != "2") { - ids += row[i].id; - } - break; - } - ids += row[i].id + ","; - } - if(ids) { - $.ajax({ - type: "post", - url: "/depotHead/batchSetStatus", - dataType: "json", - async: false, - data: ({ - status: "0", - depotHeadIDs: ids - }), - success: function (res) { - if (res && res.code === 200) { - $("#searchBtn").click(); - $(":checkbox").attr("checked", false); - } else { - $.messager.alert('反审核提示', '反审核信息失败,请稍后再试!', 'error'); - } - }, - //此处添加错误处理 - error: function () { - $.messager.alert('反审核提示', '反审核信息异常,请稍后再试!', 'error'); - return; - } - }); - } else { - $.messager.alert('反审核提示','没有能反审核的单据!','warning'); - } - } - }); - } - } - - //生成单据编号 - function buildNumber() { - $.ajax({ - type: "get", - url: "/depotHead/buildNumber", - success:function(res){ - if(res && res.code === 200){ - var obj = res.data; - var defaultNumber = obj.DefaultNumber; - var newNumber = amountNum + defaultNumber; - $("#Number").val(newNumber).attr("data-defaultNumber",newNumber); - } - }, - error:function(){ - $.messager.alert('提示','生成单据编号失败!','error'); - } - }); - } - - //新增信息 - function addDepotHead(){ - $('#depotHeadFM').form('clear'); - var thisDateTime = getNowFormatDateTime(); //当前时间 - $("#OperTime").val(thisDateTime); - buildNumber(); //生成单据编号 - //初始化优惠率、优惠金额、优惠后金额、本次付|收款、本次欠款 为0 - $("#Discount").val(0); - $("#DiscountMoney").val(0); - $("#DiscountLastMoney").val(0); - $("#ChangeAmount").val(0); - $("#Debt").val(0); - $("#AccountId").val(defaultAccountId); //初始化默认的账户Id - var addTitle = listTitle.replace("列表","信息"); - $('#depotHeadDlg').dialog('open').dialog('setTitle',' 增加' + addTitle); - $(".window-mask").css({ width: webW ,height: webH}); - - orgDepotHead = ""; - depotHeadID = 0; - initTableData_material("add"); //商品列表 - reject(); //撤销下、刷新商品列表 - $("#addOrgan").off("click").on("click",function(){ - $('#supplierDlg').dialog('open').dialog('setTitle',' 增加供应商信息'); - $('#supplierFM').form('clear'); - }); - - $("#addMember").off("click").on("click",function(){ - $('#supplierDlg').dialog('open').dialog('setTitle',' 增加会员信息'); - $('#supplierFM').form('clear'); - }); - $("#addCustomer").off("click").on("click",function(){ - $('#supplierDlg').dialog('open').dialog('setTitle',' 增加客户信息'); - $('#supplierFM').form('clear'); - }); - url = '/depotHead/addDepotHeadAndDetail'; - - //零售单据修改收款时,自动计算找零 - if(listSubType == "零售" || listSubType == "零售退货") { - $("#payType").val("现付"); - $("#OrganId").combobox("setValue", orgDefaultId); //自动默认选择非会员 - // 鼠标点下时清空选择项 - $("#OrganId").next().find("input").off("mousedown").on("mousedown",function(){ - $("#OrganId").combobox("setValue", ""); - }); - //当会员卡号长度超过10位后,自动点击下拉框,用于兼容刷卡器 - $("#OrganId").next().find("input").off("keyup").on("keyup",function(){ - var self = this; - if($(this).val().length === 10){ - setTimeout(function(){ - $(".combo-panel .combobox-item-selected").click(); - //更新付款类型,加载会员的预付款的金额 - for(var i=0; i0){ - option = ''; - option += ''; - } - else { - option += ''; - } - $("#payType").empty().append(option); - } - } - },1000); - } - }); - var getAmount = $("#depotHeadFM .get-amount"); - var changeAmount = $("#depotHeadFM .change-amount"); - var backAmount = $("#depotHeadFM .back-amount"); - getAmount.val(0); changeAmount.val(0); backAmount.val(0); //时间初始化 - getAmount.off("keyup").on("keyup",function() { - if(changeAmount.val()){ - backAmount.val((getAmount.val()-changeAmount.val()).toFixed(2)); - } - }); - } - } - - //编辑信息 - function editDepotHead(index, status){ - if(status == "1" || status == "2") { - $.messager.alert('编辑提示','已审核和已转的单据不能编辑!','warning'); - return; - } - // var depotHeadInfo = depotHeadTotalInfo.split("AaBb"); - //获取当前行 - var rowsdata =''; - if(Number(index).toString()=='NaN'){ - rowsdata=$.parseJSON(index); - }else{ - rowsdata=$("#tableData").datagrid("getRows")[index]; - } - $("#ProjectId").focus().val(rowsdata.projectid); - var ProjectId=rowsdata.projectid; - if(ProjectId!='') { - initSystemData_person(ProjectId); - initSelectInfo_person(); - } - var TotalPrice = rowsdata.totalprice; //合计金额 - if(pageType === "skip") { //从订单跳转过来 - buildNumber(); //生成单据编号 - var thisDateTime = getNowFormatDateTime(); //当前时间 - $("#OperTime").val(thisDateTime); - $("#LinkNumber").val(rowsdata.number); //关联订单号 - $("#AccountId").val(defaultAccountId); //初始化默认的账户Id - $("#DiscountLastMoney").val(TotalPrice); //优惠后金额 - $("#ChangeAmount").val(TotalPrice).attr("data-changeamount", TotalPrice); - } else { - $("#Number").val(rowsdata.number).attr("data-defaultNumber",rowsdata.number); - $("#OperTime").val(rowsdata.opertimeStr); - $("#LinkNumber").val(rowsdata.linknumber==undefined?"":rowsdata.linknumber); //关联订单号 - $("#AccountId").val(rowsdata.accountid); //账户Id - $("#DiscountLastMoney").val(rowsdata.discountlastmoney==undefined?"0.00":rowsdata.discountlastmoney); //优惠后金额 - $("#ChangeAmount").val(rowsdata.changeamount).attr("data-changeamount", rowsdata.changeamount); - } - $('#OrganId').combobox('setValue', rowsdata.organid==undefined?'':rowsdata.organid); - $("#HandsPersonId").val(rowsdata.handspersonid); - $("#Remark").val(rowsdata.remark); - $("#Discount").val(rowsdata.discount==undefined?"0":rowsdata.discount); - $("#DiscountMoney").val(rowsdata.discountmoney==undefined?"0.00":rowsdata.discountmoney); - $("#Debt").val(Number((rowsdata.discountlastmoney==undefined?'0.00':rowsdata.discountlastmoney-rowsdata.changeamount)).toFixed(2)); - $("#AccountDay").val(rowsdata.accountday==undefined?"":rowsdata.accountday); //结算天数 - preTotalPrice = rowsdata.totalprice; //记录前一次合计金额,用于扣预付款 - $("#AllocationProjectId").val(rowsdata.allocationprojectid); - oldNumber = rowsdata.number; //记录编辑前的单据编号 - oldId = rowsdata.id; //记录单据Id - var editTitle = listTitle.replace("列表","信息"); - $('#depotHeadDlg').dialog('open').dialog('setTitle',' 编辑' + editTitle); - $(".window-mask").css({ width: webW ,height: webH}); - depotHeadID = rowsdata.id; - - if(listSubType == "零售"){ - var option = ""; - if(rowsdata.paytype == "预付款"){ - option = ''; - option += ''; - } - else { - option += ''; - } - $("#payType").empty().append(option); - } - - if(listSubType == "销售" || listSubType == "销售退货"){ - if(rowsdata.salesman){ - var arr = rowsdata.salesman.split(","); - var salesmanArray = []; - for(var i=0;i","")); - } - } - $("#Salesman").combobox('setValues', salesmanArray); - } - } - - //采购入库、销售出库的多账户加载 - if(rowsdata.accountidlist!=undefined && rowsdata.accountmoneylist!=undefined){ - $("#AccountId").val("many"); //下拉框选中多账户 - var accountArr = rowsdata.accountidlist.split(","); - var accountMoneyArr = rowsdata.accountmoneylist.split(","); - accountMoneyArr = changeListFmtPlus(accountMoneyArr) //将数组单个金额中的数值转为正数 - - if(listSubType == "零售" || listSubType == "零售退货") { - var manyAccountMoney = 0; //多账户合计-零售 - for (var j = 0; j < accountArr.length; j++) { - if (accountList != null) { - for (var i = 0; i < accountList.length; i++) { - var account = accountList[i]; - if (accountArr[j] == account.id) { - manyAccountMoney += accountMoneyArr[j] - 0; //多账户合计-零售 - } - } - } - } - $("#getAmount").val(manyAccountMoney); //收款金额、付款金额 - var changeAmount = $("#ChangeAmount").val()-0; - $("#backAmount").val((manyAccountMoney-changeAmount).toFixed(2)); //找零 - } - - $("#AccountId").attr("data-accountArr", JSON.stringify(accountArr)).attr("data-accountMoneyArr", JSON.stringify(accountMoneyArr)); //json数据存储 - $(".many-account-ico").show(); //显示多账户的ico图标 - } - - //采购入库、销售出库的费用数据加载 - if(rowsdata.othermoneylist &&rowsdata.othermoneyitem){ - $("#OtherMoney").val(rowsdata.othermoney==undefined?"0":rowsdata.othermoney); //采购费用、销售费用 - var itemArr = rowsdata.othermoneylist.split(","); - var itemMoneyArr = rowsdata.othermoneyitem.split(","); - $("#OtherMoney").attr("data-itemArr",JSON.stringify(itemArr)).attr("data-itemMoneyArr",JSON.stringify(itemMoneyArr)); //json数据存储 - } - - initTableData_material("edit",TotalPrice); //商品列表 - reject(); //撤销下、刷新商品列表 - if(pageType === "skip") { - url = '/depotHead/addDepotHeadAndDetail'; //如果是从订单跳转过来,则此处为新增的接口 - //jshjshjsh - $("#depotHeadFM .datagrid-body").find("[field='DepotId']").click(); - } else { - url = '/depotHead/updateDepotHeadAndDetail?id=' + rowsdata.id; //更新接口 - } - } - - //查看信息 - function showDepotHead(index){ - // var depotHeadInfo = depotHeadTotalInfo.split("AaBb"); - //获取当前行 - var rowsdata = $("#tableData").datagrid("getRows")[index]; - var manyAccountMoney = 0; //多账户合计-零售 - $("#ProjectIdShow").text(rowsdata.projectName); - $("#NumberShow").text(rowsdata.number); - $("#OperTimeShow").text(rowsdata.opertimeStr); - $('#OrganIdShow').text(rowsdata.organName==undefined?'':rowsdata.organName); - $("#HandsPersonIdShow").text(rowsdata.handsPersonName); - if(rowsdata.accountName && rowsdata.accountName!=undefined){ - $("#AccountIdShow").text(rowsdata.accountName); //结算账户 - } else { - var accountArr = (rowsdata.accountidlist==undefined?"":rowsdata.accountidlist).split(","); //账户id列表 - var accountMoneyArr =(rowsdata.accountmoneylist==undefined?"":rowsdata.accountmoneylist).split(","); //账户金额列表 - var accountIdShow = ""; - for(var j =0;j 查看' + showTitle); - $(".window-mask").css({ width: webW ,height: webH}); - - depotHeadID = rowsdata.id; - initTableData_material_show(TotalPrice); //商品列表-查看状态 - - //零售单据展示数据 - if(listSubType == "零售" || listSubType == "零售退货"){ - var changeAccount = $("#depotHeadDlgShow .change-amount-show").text() -0; - if(manyAccountMoney!==0){ - $("#depotHeadDlgShow .get-amount-show").text((manyAccountMoney).toFixed(2)); - $("#depotHeadDlgShow .back-amount-show").text((manyAccountMoney -changeAccount).toFixed(2)); - } - else { - $("#depotHeadDlgShow .get-amount-show").text((changeAccount).toFixed(2)); - $("#depotHeadDlgShow .back-amount-show").text(0); - } - } - if(listSubType === "销售" || listSubType === "销售退货"){ - if(rowsdata.salesman){ - var arr = rowsdata.salesman.split(","); - var salesmanStr = ""; - for(var i=0;i",""); - } - else { - salesmanStr += arr[i].replace("<","").replace(">","") + ","; - } - } - } - $.ajax({ - type: "get", - url: "/person/getPersonByIds", - data: { - personIDs: salesmanStr - }, - success:function(res){ - if(res && res.code === 200){ - if(res.data) { - $("#SalesmanShow").text(res.data.names); //销售人员列表 - } - } - }, - error:function(){ - - } - }); - } - } - } - - //绑定操作事件 - function bindEvent(){ - showDepotHeadDetails(1,initPageSize); //初始化时自动查询 - //搜索处理 - $("#searchBtn").off("click").on("click",function(){ - showDepotHeadDetails(1,initPageSize); - var opts = $("#tableData").datagrid('options'); - var pager = $("#tableData").datagrid('getPager'); - opts.pageNumber = 1; - opts.pageSize = initPageSize; - pager.pagination('refresh', - { - pageNumber:1, - pageSize:initPageSize - }); - }); - - //重置按钮 - $("#searchResetBtn").unbind().bind({ - click:function(){ - //$("#searchProjectId").val(""); - $("#searchState").val(""); - $("#searchBeginTime").val(""); - $("#searchEndTime").val(""); - //加载完以后重新初始化 - $("#searchBtn").click(); - } - }); - - //检查单据编号是否存在 - function checkDepotHeadNumber() { - var thisNumber = $.trim($("#Number").val()); - //表示是否存在 true == 存在 false = 不存在 - var flag = false; - //开始ajax名称检验,不能重名 - if(thisNumber.length > 0 &&( oldNumber.length ==0 || thisNumber != oldNumber)) - { - $.ajax({ - type:"get", - url: "/depotHead/checkIsNumberExist", - dataType: "json", - async : false, - data: ({ - DepotHeadID : oldId, - Number : thisNumber - }), - success: function (tipInfo) - { - flag = tipInfo; - if(tipInfo) - { - $.messager.alert('提示','抱歉,该单据编号已经存在','warning'); - return; - } - }, - //此处添加错误处理 - error:function() - { - $.messager.alert('提示','检查单据编号是否存在异常,请稍后再试!','error'); - return; - } - }); - } - return flag; - } - //保存信息 - /** - * 2019-01-25 - * 我对这个方法的实现结果存在严重怀疑,决定重构 - * 有如下疑点: - * 1、保存完主表,返回结果后,再发起请求去操作子表,如何保证事务的一致性(业务数据一致性) - * 2、保存完主表后,再通过selectmax的方式去获取主表主键id完全就是看人品的不可靠的思路 - * 修改计划: - * 2019-01-25修改零售出库相关操作 - * 修改方式,重写url,将主从表操作合并 - * - * - * **/ - $("#saveDepotHead").off("click").on("click",function(){ - if(!$('#depotHeadFM').form('validate')){ - return; - } - else { - //如果初始编号被修改了,就要判断单据编号是否存在 - if($.trim($("#Number").val()) != $('#Number').attr("data-defaultNumber")){ - //调用查询单据编号是否重名的方法 - if(checkDepotHeadNumber()){ - return; - } - } - //输入框提示 - if(listTitle === "采购订单列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择供应商!','warning'); - return; - } - } - else if(listTitle === "采购入库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择供应商!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择结算账户!','warning'); - return; - } - } - else if(listTitle === "零售退货列表"){ - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择付款账户!','warning'); - return; - } - if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { - $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); - return; - } - } - else if(listTitle === "销售退货列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择退货单位!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择付款账户!','warning'); - return; - } - } - else if(listTitle === "其它入库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择往来单位!','warning'); - return; - } - } - else if(listTitle === "零售出库列表"){ - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择收款账户!','warning'); - return; - } - if($("#backAmount").val()-0 <0){ - $.messager.alert('提示','找零金额不能小于0!','warning'); - return; - } - if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { - $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); - return; - } - - } - else if(listTitle === "销售订单列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择购买单位!','warning'); - return; - } - } - else if(listTitle === "销售出库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择购买单位!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择收款账户!','warning'); - return; - } - } - else if(listTitle === "采购退货列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择收货单位!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择收款账户!','warning'); - return; - } - } - else if(listTitle === "其它出库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择往来单位!','warning'); - return; - } - } - else if(listTitle === "调拨出库列表"){ - - } - //进行明细的校验 - if(depotHeadID ==0) { - //新增模式下 - if (!CheckData("add")) { - return; - } - } - else { - //编辑模式下 - if (!CheckData("edit")) { - return; - } - } - var OrganId = null, ProjectId = null,AllocationProjectId = null; - var ChangeAmount = $.trim($("#ChangeAmount").val())-0; - var TotalPrice = $("#depotHeadFM .datagrid-footer [field='AllPrice'] div").text(); - if($('#OrganId').length){ - OrganId = $('#OrganId').combobox('getValue'); - } - var accountMoneyList = $("#AccountId").attr("data-accountmoneyarr"); //账户金额列表-多账户 - var accountMoneyArr; - if(accountMoneyList) { - accountMoneyList = accountMoneyList.replace("[","").replace("]","").toString(); - var reg=new RegExp("\"","g"); //创建正则RegExp对象 - accountMoneyList = accountMoneyList.replace(reg,""); //替换所有的双引号 - accountMoneyArr = accountMoneyList.split(","); //转为数组 - } - if(listSubType === "采购订单"||listSubType === "采购"||listSubType === "零售退货"||listSubType === "销售退货"){ - //付款为负数 - ChangeAmount = 0 - ChangeAmount; - TotalPrice = 0 - TotalPrice; - if(accountMoneyArr) { - accountMoneyArr = changeListFmtMinus(accountMoneyArr); //将数组单个金额中的数值转为负数 - } - } - //零售时候,可以从会员预付款中扣款 - var thisPayType = "现付"; - if(listSubType === "零售") { - if($("#payType").val() ==="预付款") { - thisPayType = "预付款"; - } - } - var SalesmanStr = ""; - if(listSubType === "销售" || listSubType === "销售退货"){ - var Salesman = $('#Salesman').combobox('getValues').toString(); //销售人员 - if(Salesman) { - var SalesmanArray = Salesman.split(","); - for (var i = 0; i < SalesmanArray.length; i++) { - if (i === SalesmanArray.length - 1) { - SalesmanStr += "<" + SalesmanArray[i] + ">"; - } - else { - SalesmanStr += "<" + SalesmanArray[i] + ">,"; - } - } - } - } - var getAccountID = $.trim($("#AccountId").val()); - if($("#AccountId").val() === "many"){ //多账户 - getAccountID = null; - } - var infoStr=JSON.stringify({ - Type: listType, - SubType: listSubType, - ProjectId: ProjectId, - AllocationProjectId: AllocationProjectId, - DefaultNumber: $.trim($("#Number").attr("data-defaultNumber")),//初始编号 - Number: $.trim($("#Number").val()), - LinkNumber: $.trim($("#LinkNumber").val()), - OperTime: $("#OperTime").val(), - OrganId: OrganId, - HandsPersonId: $.trim($("#HandsPersonId").val()), - Salesman: SalesmanStr, //销售人员 - AccountId: getAccountID, - ChangeAmount: ChangeAmount, //付款/收款 - TotalPrice: TotalPrice, //合计 - PayType: thisPayType, //现付/预付款 - Remark: $.trim($("#Remark").val()), - AccountIdList: $("#AccountId").attr("data-accountarr"), //账户列表-多账户 - AccountMoneyList: accountMoneyArr ? JSON.stringify(accountMoneyArr) : "", //账户金额列表-多账户 - Discount: $.trim($("#Discount").val()), - DiscountMoney: $.trim($("#DiscountMoney").val()), - DiscountLastMoney: $.trim($("#DiscountLastMoney").val()), - OtherMoney: $.trim($("#OtherMoney").val()), //采购费用、销售费用 - OtherMoneyList: $("#OtherMoney").attr("data-itemarr"), //支出项目列表-涉及费用 - OtherMoneyItem: $("#OtherMoney").attr("data-itemmoneyarr"), //支出项目金额列表-涉及费用 - AccountDay: $("#AccountDay").val() //结算天数 - }); - /** - * 零售出库,单独操作 - * */ - if(url.indexOf("/depotHead/addDepotHeadAndDetail")>=0){ - addDepotHeadAndDetail(url,infoStr); - return; - }else if(url.indexOf("/depotHead/updateDepotHeadAndDetail")>=0){ - updateDepotHeadAndDetail(url,infoStr,preTotalPrice); - return; - } - $.ajax({ - type:"post", - url: url, - dataType: "json", - async : false, - data: ({ - info:infoStr - }), - success: function (tipInfo) - { - if(tipInfo) - { - function closeDialog(){ - $('#depotHeadDlg').dialog('close'); - var opts = $("#tableData").datagrid('options'); - showDepotHeadDetails(opts.pageNumber,opts.pageSize); - } - - if(thisPayType === "预付款") { - //更新用户信息-预付款 - var advanceIn = 0; //预付款金额 - if(depotHeadID){ - advanceIn = TotalPrice - preTotalPrice; //修改时,预付款=合计金额-加载金额 - } - else{ - advanceIn = TotalPrice; //新增时,预付款=合计金额 - } - $.ajax({ - type:"post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data:{ - supplierId: OrganId, //会员id - advanceIn: 0 - advanceIn //保存的同时扣掉用户的预付款 - }, - success: function(res){ - if(res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function(){ - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); - } - - //保存明细记录 - if(depotHeadID ==0) - { - getMaxId(); //查找最大的Id - accept(depotHeadMaxId,closeDialog); //新增 - } - else - { - accept(depotHeadID,closeDialog); //修改 - } - } - else - { - $.messager.show({ - title: '错误提示', - msg: '保存信息失败,请稍后重试!' - }); - } - }, - //此处添加错误处理 - error:function() - { - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); - } - }); - - //打印单据 - $("#printDepotHeadShow").off("click").on("click",function(){ - var tableString = $("#depotHeadDlgShow").html(); - localStorage.setItem("tableString",tableString); - window.open("../../js/print/print_form.html","location:No;status:No;help:No;dialogWidth:800px;dialogHeight:600px;scroll:auto;"); - }); - - //初始化键盘enter事件 - $(document).keydown(function(event){ - //兼容 IE和firefox 事件 - var e = window.event || event; - var k = e.keyCode||e.which||e.charCode; - //兼容 IE,firefox 兼容 - var obj = e.srcElement ? e.srcElement : e.target; - //绑定键盘事件为 id是指定的输入框才可以触发键盘事件 13键盘事件 ---遗留问题 enter键效验 对话框会关闭问题 - if(k == "13"&&(obj.id=="State"||obj.id=="Number")) - { - $("#saveDepotHead").click(); - } - //搜索按钮添加快捷键 - if(k == "13"&&(obj.id=="searchState"||obj.id=="searchNumber"||obj.id=="searchMaterial")) - { - $("#searchBtn").click(); - } - }); - - //优惠率输入框事件 - $("#Discount").off("keyup").on("keyup",function(){ - var footer =$("#depotHeadFM .datagrid-footer"); - var totalPrice = footer.find("[field='TaxLastMoney']").find("div").text(); - var discountNum = $(this).val(); - var discountMoney = (discountNum/100*totalPrice).toFixed(2); - var discountLastMoney = (totalPrice - discountMoney).toFixed(2); - $("#DiscountMoney").val(discountMoney); //优惠金额 - $("#DiscountLastMoney").val(discountLastMoney); //优惠后金额 - if($("#AccountId").val()!=="many"){ - $("#ChangeAmount").val(discountLastMoney); //本次付、收款 - } - var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 - $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 - }); - - //优惠金额输入框事件 - $("#DiscountMoney").off("keyup").on("keyup",function(){ - var footer =$("#depotHeadFM .datagrid-footer"); - var totalPrice = footer.find("[field='TaxLastMoney']").find("div").text(); - var discountMoney = $(this).val(); - var discount = (discountMoney/totalPrice).toFixed(2)*100; - var discountLastMoney = (totalPrice - discountMoney).toFixed(2); - $("#Discount").val(discount); //优惠金额 - $("#DiscountLastMoney").val(discountLastMoney); //优惠后金额 - if($("#AccountId").val()!=="many"){ - $("#ChangeAmount").val(discountLastMoney); //本次付、收款 - } - var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 - $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 - }); - - //付款、收款输入框事件 - $("#ChangeAmount").off("keyup").on("keyup",function(){ - var discountLastMoney = $("#DiscountLastMoney").val(); - var changeAmount = $(this).val(); - var debtMoney = (discountLastMoney - changeAmount).toFixed(2); - $("#Debt").val(debtMoney); //本次欠款 - }); - - //多账户结算窗口弹出事件 - function depotHeadAccountDlgFun(){ - $('#depotHeadAccountDlg').dialog('open').dialog('setTitle',' 多账户结算'); - $("#depotHeadAccountDlg .account-dlg .account-content-tmp").remove(); //先移除输入栏目 - $("#accountMoneyTotalDlg").text(0); //将合计初始化为0 - for(var i=0; i<6; i++) { - $("#depotHeadAccountDlg .tabs-tmp .account-content-tmp").attr("data-index",5-i); //添加索引 - var contentTmp = $("#depotHeadAccountDlg .tabs-tmp tbody").html(); - var accountDlgHead = $("#depotHeadAccountDlg .account-head-tmp"); - accountDlgHead.after(contentTmp); - } - - //获取账户信息 - function accountDlgFun() { - var options = ""; - if(accountList !=null){ - for(var i = 0 ;i < accountList.length;i++) { - var account = accountList[i]; - options += ''; - } - $(".account-id-dlg").empty().append("").append(options); - } - } - accountDlgFun(); //获取账户信息 - $("#depotHeadAccountDlg .tabs-tmp").hide(); //隐藏模板 - - //账户金额输入框事件-多账户 - $("#depotHeadAccountDlg .account-dlg .account-money-dlg").off("keyup").on("keyup",function(){ - var totalAccoutNum = 0; - $("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){ - var eachAccountMoney = $(this).find(".account-money-dlg").val()-0; - totalAccoutNum += eachAccountMoney; - }); - $("#accountMoneyTotalDlg").text(totalAccoutNum); - }); - - //结算多账户列表的切换事件 - $("#depotHeadAccountDlg .account-dlg .account-id-dlg").off("change").on("change",function(){ - var selectAccount = $(this).children('option:selected').text(); - if(selectAccount === ""){ - var thisMoneyDom = $(this).closest(".account-content-tmp").find(".account-money-dlg"); - var thisMoney = thisMoneyDom.val()-0; - var accountMoneyTotal = $("#accountMoneyTotalDlg").text() - 0; - $("#accountMoneyTotalDlg").text(accountMoneyTotal - thisMoney); - thisMoneyDom.val(""); //账户为空时候,将金额也置为空 - } - }); - - //保存按钮事件 - $("#saveDepotHeadAccountDlg").off("click").on("click", function(){ - //完成多账户的json数据存储 - var accountArr = []; //账户id数组 - var accountMoneyArr = []; //账户金额数组 - var errorIndex = -1; - $("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){ - var thisAccId = $(this).find(".account-id-dlg").val(); - var thisAccMoney = $(this).find(".account-money-dlg").val(); - if(!thisAccId && thisAccMoney) { - errorIndex = $(this).attr("data-index")-0; - return; - } - if(thisAccId && !thisAccMoney) { - errorIndex = $(this).attr("data-index")-0; - return; - } - if(thisAccId && thisAccMoney) { - accountArr.push(thisAccId); - accountMoneyArr.push(thisAccMoney); - } - }); - if(errorIndex >-1){ - $.messager.alert('错误提示',"第" + (errorIndex+1) + "行数据存在问题,请修改",'warning'); - return; - } - var discountLastMoneyNum =$("#DiscountLastMoney").val()-0; //优惠后金额 - var accountMoneyTotal = $("#accountMoneyTotalDlg").text()-0; //本次付款或者收款 - if(accountMoneyTotal===0){ - $.messager.alert('错误提示',"请填写金额后保存",'warning'); - return; - } - if(accountArr.length && accountMoneyArr.length) { - $("#AccountId").attr("data-accountArr",JSON.stringify(accountArr)).attr("data-accountMoneyArr",JSON.stringify(accountMoneyArr)); //json数据存储 - } - if(listSubType==="零售" || listSubType==="零售退货") { - $("#getAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 - var backAmount = $("#getAmount").val() - $("#ChangeAmount").val(); - $("#backAmount").val((backAmount - 0).toFixed(2)); //计算找零金额 - } - else { - $("#ChangeAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 - } - $("#Debt").val((discountLastMoneyNum-accountMoneyTotal).toFixed(2)); //本次欠款 - $("#depotHeadAccountDlg").dialog('close'); - }); - - //取消事件 - function cancelFun(){ - if($("#AccountId").attr("data-accountArr")){ - $("#depotHeadAccountDlg").dialog('close'); - } - else { - $("#depotHeadAccountDlg").dialog('close'); - $("#AccountId").val("").removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 - if(listSubType==="零售" || listSubType==="零售退货"){ - $("#ChangeAmount").prop("readonly","readonly"); - } - else { - $("#ChangeAmount").removeProp("readonly","readonly"); - } - $(".many-account-ico").hide(); //隐藏多账户小图标 - } - } - //多账户-取消按钮 - $("#cancelDepotHeadAccountDlg").off("click").on("click", function(){ - cancelFun(); - }); - - //多账户-右上角的关闭按钮 - $("#depotHeadAccountDlg").prev().find(".panel-tool-close").off("click").on("click", function(){ - cancelFun(); - }); - } - //点击多账户,弹出输入框 - $("#AccountId").off("change").on("change",function(){ - var selectText = $(this).children('option:selected').text(); - if(selectText === "多账户"){ - $("#ChangeAmount").prop("readonly","readonly"); - depotHeadAccountDlgFun(); - $(".many-account-ico").show(); //显示多账户小图标 - } - else{ - $(this).removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 - if(listSubType==="零售" || listSubType==="零售退货"){ - $("#ChangeAmount").prop("readonly","readonly"); - } - else { - $("#ChangeAmount").removeProp("readonly","readonly"); - } - $(".many-account-ico").hide(); //隐藏多账户小图标 - } - }); - - //结算账户-多账户小图标-点击事件 - $(".many-account-ico").off("click").on("click",function(){ - depotHeadAccountDlgFun(); - //给弹窗赋值-多账户数据 - var accountArr = $("#AccountId").attr("data-accountArr"); - accountArr = JSON.parse(accountArr); - var accountMoneyArr = $("#AccountId").attr("data-accountMoneyArr"); - accountMoneyArr = JSON.parse(accountMoneyArr); - $("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){ - var index = $(this).attr("data-index"); - $(this).find(".account-id-dlg").val(accountArr[index]); - $(this).find(".account-money-dlg").val(accountMoneyArr[index]); - }); - if(listSubType==="零售" || listSubType==="零售退货") { - $("#accountMoneyTotalDlg").text($("#getAmount").val()); - } - else { - $("#accountMoneyTotalDlg").text($("#ChangeAmount").val()); - } - }); - - //点击采购费用、销售费用的事件 - $(".other-money-ico").off("click").on("click",function(){ - $('#otherMoneyDlg').dialog('open').dialog('setTitle',' '+ listSubType +'费用'); - $("#otherMoneyDlg .money-dlg .money-content-tmp").remove(); //先移除输入栏目 - $("#otherMoneyTotalDlg").text(0); //将合计初始化为0 - for(var i=0; i<6; i++) { - $("#otherMoneyDlg .tabs-tmp .money-content-tmp").attr("data-index",5-i); //添加索引 - var contentTmp = $("#otherMoneyDlg .tabs-tmp tbody").html(); - var moneyDlgHead = $("#otherMoneyDlg .money-head-tmp"); - moneyDlgHead.after(contentTmp); - } - - //获取支出项目信息 - function moneyDlgFun() { - var options = ""; - if(outItemList !=null){ - for(var i = 0 ;i < outItemList.length;i++) { - var money = outItemList[i]; - options += ''; - } - $(".money-id-dlg").empty().append("").append(options); - } - } - moneyDlgFun(); //获取支出项目信息 - $("#otherMoneyDlg .tabs-tmp").hide(); //隐藏模板 - - //支出项目的金额输入框事件 - $("#otherMoneyDlg .money-dlg .other-money-dlg").off("keyup").on("keyup",function(){ - var totalMoneyNum = 0; - $("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){ - var eachOtherMoney = $(this).find(".other-money-dlg").val()-0; - totalMoneyNum += eachOtherMoney; - }); - $("#otherMoneyTotalDlg").text(totalMoneyNum); - }); - - //支出项目列表的切换事件 - $("#otherMoneyDlg .money-dlg .money-id-dlg").off("change").on("change",function(){ - var selectItem = $(this).children('option:selected').text(); - if(selectItem === ""){ - var thisMoneyDom = $(this).closest(".money-content-tmp").find(".other-money-dlg"); - var thisMoney = thisMoneyDom.val()-0; - var otherMoneyTotal = $("#otherMoneyTotalDlg").text() - 0; - $("#otherMoneyTotalDlg").text(otherMoneyTotal - thisMoney); - thisMoneyDom.val(""); //支出项目为空时候,将金额也置为空 - } - }); - - //保存按钮事件 - $("#saveOtherMoneyDlg").off("click").on("click", function(){ - //完成支出项目的json数据存储 - var itemArr = []; //支出项目id数组 - var itemMoneyArr = []; //支出项目金额数组 - var errorIndex = -1; - $("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){ - var thisId = $(this).find(".money-id-dlg").val(); - var thisMoney = $(this).find(".other-money-dlg").val(); - if(!thisId && thisMoney) { - errorIndex = $(this).attr("data-index")-0; - return; - } - if(thisId && !thisMoney) { - errorIndex = $(this).attr("data-index")-0; - return; - } - if(thisId && thisMoney) { - itemArr.push(thisId); - itemMoneyArr.push(thisMoney); - } - }); - if(errorIndex >-1){ - $.messager.alert('错误提示',"第" + (errorIndex+1) + "行数据存在问题,请修改",'warning'); - return; - } - var otherMoneyTotal = $("#otherMoneyTotalDlg").text()-0; //合计金额 - if(otherMoneyTotal === 0){ //0的时候清空缓存数据 - $("#OtherMoney").removeAttr("data-itemArr").removeAttr("data-itemMoneyArr"); - } - if(itemArr.length && itemMoneyArr.length) { - $("#OtherMoney").attr("data-itemArr",JSON.stringify(itemArr)).attr("data-itemMoneyArr",JSON.stringify(itemMoneyArr)); //json数据存储 - } - $("#OtherMoney").val(otherMoneyTotal); //给采购费用、销售费用赋值 - $("#otherMoneyDlg").dialog('close'); - }); - - //取消事件 - function cancelFun(){ - if($("#OtherMoney").attr("data-itemArr")){ - $("#otherMoneyDlg").dialog('close'); - } - else { - $("#otherMoneyDlg").dialog('close'); - $("#OtherMoney").val("").removeAttr("data-itemArr").removeAttr("data-itemMoneyArr"); //将下拉置空并把缓存参数清空 - } - } - //费用-取消按钮 - $("#cancelOtherMoneyDlg").off("click").on("click", function(){ - cancelFun(); - }); - - //费用-右上角的关闭按钮 - $("#otherMoneyDlg").prev().find(".panel-tool-close").off("click").on("click", function(){ - cancelFun(); - }); - - //给弹窗赋值-采购费用、销售费用数据 - var itemArr = $("#OtherMoney").attr("data-itemArr"); - itemArr = JSON.parse(itemArr); - var itemMoneyArr = $("#OtherMoney").attr("data-itemMoneyArr"); - itemMoneyArr = JSON.parse(itemMoneyArr); - $("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){ - var index = $(this).attr("data-index"); - $(this).find(".money-id-dlg").val(itemArr[index]); - if(itemMoneyArr[index]!="undefined"){ - $(this).find(".other-money-dlg").val(itemMoneyArr[index]); - } - }); - $("#otherMoneyTotalDlg").text($("#OtherMoney").val()); - }); - - if(listTitle === "采购入库列表" || listTitle === "其它入库列表" || listTitle === "采购订单列表"|| listTitle === "零售出库列表"|| listTitle === "销售出库列表"|| listTitle === "销售订单列表"){ - var supplierType = "供应商"; - if(listTitle === "零售出库列表"){ - supplierType = "会员"; - }else if(listTitle === "销售出库列表" || listTitle === "销售订单列表"){ - supplierType = "客户"; - } - //检查单位名称是否存在 ++ 重名无法提示问题需要跟进 - function checkSupplierName() { - var supplierName = $.trim($("#supplier").val()); - var orgSupplier = ""; - //表示是否存在 true == 存在 false = 不存在 - var flag = false; - //开始ajax名称检验,不能重名 - if(supplierName.length > 0 &&( orgSupplier.length ==0 || supplierName != orgSupplier)) - { - $.ajax({ - type:"get", - url: "/supplier/checkIsNameExist", - dataType: "json", - async : false, - data: ({ - id : 0, - name : supplierName - }), - success: function (res) { - if(res && res.code === 200) { - if(res.data && res.data.status) { - flag = res.data.status; - if (flag) { - $.messager.alert('提示', '单位名称已经存在', 'info'); - return; - } - } - } - }, - //此处添加错误处理 - error:function() { - $.messager.alert('提示','检查单位名称是否存在异常,请稍后再试!','error'); - return; - } - }); - } - return flag; - } - - //保存供应商信息 - $("#saveSupplier").off("click").on("click",function() { - if(validateForm("supplierFM")) { - return; - } - if(checkSupplierName()){ - return; - } - var reg = /^([0-9])+$/; - var phonenum = $.trim($("#phonenum").val()); - if(phonenum.length>0 && !reg.test(phonenum)) - { - $.messager.alert('提示','电话号码只能是数字','info'); - $("#phonenum").val("").focus(); - return; - } - var beginNeedGet = $.trim($("#BeginNeedGet").val()); - var beginNeedPay = $.trim($("#BeginNeedPay").val()); - if(beginNeedGet && beginNeedPay) { - $.messager.alert('提示','期初应收和期初应付不能同时输入','info'); - return; - } - var url = '/supplier/add'; - var supObj = $("#supplierFM").serializeObject(); - supObj.type = supplierType; - supObj.enabled = 1; - $.ajax({ - url: url, - type:"post", - dataType: "json", - data:{ - info: JSON.stringify(supObj) - }, - success: function(res) { - if (res) { - $('#supplierDlg').dialog('close'); - initSupplier(); //刷新供应商 - } - } - }); - }); - } - } - - function showDepotHeadDetails(pageNo,pageSize){ - var materialParam = $.trim($("#searchMaterial").val()); - $.ajax({ - type:"get", - url: "/depotItem/getHeaderIdByMaterial", - dataType: "json", - data: ({ - materialParam: materialParam, - depotIds: depotString - }), - success: function (res) { - if(res && res.code === 200) { - var ids = res.data; - if(ids){ - $.ajax({ - type: "get", - url: "/depotHead/list", - dataType: "json", - data: ({ - search: JSON.stringify({ - type: listType, - subType: listSubType, - state: $.trim($("#searchState").val()), - number: $.trim($("#searchNumber").val()), - beginTime: $("#searchBeginTime").val(), - endTime: $("#searchEndTime").val(), - dhIds: ids - }), - currentPage: pageNo, - pageSize: pageSize - }), - success: function (res) { - if(res && res.code === 200){ - if(res.data && res.data.page) { - $("#tableData").datagrid('loadData', res.data.page); - } - } - }, - //此处添加错误处理 - error: function () { - $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); - return; - } - }); - } - else { - $("#tableData").datagrid('loadData', []); - } - } - }, - //此处添加错误处理 - error:function() { - $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); - return; - } - }); - } - - //自动计算事件 - function autoReckon() { - //延时绑定事件 - setTimeout(function(){ - var body =$("#depotHeadFM .datagrid-body"); - var footer =$("#depotHeadFM .datagrid-footer"); - var input = ".datagrid-editable-input"; - //点击商品下拉框,自动加载数量、单价、金额 - body.find("[field='Stock']").find(input).prop("readonly","readonly"); - //点击库存文本框,字段计算库存 - body.find("[field='Stock']").find(input).off("click").on("click",function(){ - var depotId = body.find("[field='DepotId']").find(".combo-value").val(); - var mId = body.find("[field='MaterialId']").find(".combo-value").val(); - var monthTime = getNowFormatMonth(); - if(depotId && mId){ - var ratio = body.find("[field='Unit']").find(input).attr("data-ratio"); - body.find("[field='Stock']").find(input).prop("readonly","readonly"); - //在新增的时候,这个ratio有值;在编辑的时候,这个ratio为undefined - var type = "click"; //type 类型:点击 click,选择 select - findStockNumById(depotId, mId, monthTime, body, input, ratio, type); - } - else{ - body.find("[field='Stock']").find(input).val(0).attr("data-stock",0); //加载库存数据 - } - }); - //修改数量,自动计算金额和合计,另外计算含税单价、税额、价税合计 - body.find("[field='OperNumber']").find(input).off("keyup").on("keyup",function(){ - var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 - var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 - var OperNumber =$(this).val()-0; //数量 - body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 - body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 - body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 - body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 - statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); - - }); - //修改单价,自动计算金额和合计 - body.find("[field='UnitPrice']").find(input).off("keyup").on("keyup",function(){ - var UnitPrice =$(this).val()-0; //单价 - var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 - var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 - body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 - body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 - body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 - body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 - statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); - }); - //点击单价,自动提示参考价格列表 - body.find("[field='UnitPrice']").find(input).off("click").on("click",function(){ - var self = this; - var mValue = body.find("[field='MaterialId'] .combo-value").attr("value"); //获取选中的商品id - if(!mValue) { - return; - } - else { - if(listTitle!="销售出库列表" && listTitle!="采购退货列表" && listTitle!="其它出库列表" && listTitle!="调拨出库列表") { - return; - } - $.ajax({ - url: "/material/findById", - type: "get", - dataType: "json", - data: { - id: mValue - 0 - }, - success: function(res){ - if(res && res.rows && res.rows[0]) { - var retailPrice = res.rows[0].RetailPrice; - var presetPriceOne = res.rows[0].PresetPriceOne; - var presetPriceTwo = res.rows[0].PresetPriceTwo; - //定义模版 - var temp = "
"; - temp +="
    "; - temp +="
  • 批发价:" + presetPriceTwo + "
  • "; - temp +="
  • 零售价:" + retailPrice + "
  • "; - temp +="
"; - temp +="
"; - if($('.price-list').length){ - $('.price-list').remove(); //如果存在价格列表先移除 - } - else { - if(presetPriceTwo != undefined){ //多单位的商品 - $(self).after(temp); //加载列表信息 - } - } - $('.price-list ul li').off("click").on("click",function(){ - var price = $(this).text(); - price = price.substring(price.indexOf(":") + 1); - $(self).val(price); - $(self).keyup(); //模拟键盘操作 - $('.price-list').remove(); //移除价格列表 - }); - //点击空白处移除价格列表 - $(".datagrid-body").off("click").on("click",function(){ - $('.price-list').remove(); //移除价格列表 - }); - } - }, - error: function(){ - $.messager.alert('错误提示','查询商品信息异常,请稍后再试!','error'); - return; - } - }); - } - }); - //修改含税单价,自动计算单价、金额、税额、价税合计和合计 - body.find("[field='TaxUnitPrice']").find(input).off("keyup").on("keyup",function(){ - var TaxUnitPrice =$(this).val()-0; //含税单价 - var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 - var UnitPrice = TaxUnitPrice/(1+taxRate/100); //计算单价 - body.find("[field='UnitPrice']").find(input).val((UnitPrice).toFixed(2)); //单价 - var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 - body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 - body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 - body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 - statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); - }); - //修改金额,自动计算单价、税额、价税合计和合计 - body.find("[field='AllPrice']").find(input).off("keyup").on("keyup",function(){ - var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 - var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 - var AllPrice =$(this).val()-0; //金额 - var UnitPrice = (AllPrice/OperNumber).toFixed(2); - body.find("[field='UnitPrice']").find(input).val(UnitPrice); //单价 - body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 - body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 - body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 - statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); - }); - //修改税率,自动计算含税单价、税额、价税合计和合计 - body.find("[field='TaxRate']").find(input).off("keyup").on("keyup",function(){ - var taxRate =$(this).val()-0; //税率 - var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 - var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 - body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 - body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 - body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 - statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); - }); - //修改税额,自动计算税率、含税单价、价税合计和合计 - body.find("[field='TaxMoney']").find(input).off("keyup").on("keyup",function(){ - var taxMoney =$(this).val()-0; //税额 - var AllPrice = body.find("[field='AllPrice']").find(input).val(); //金额 - var taxRate = taxMoney/AllPrice*100; //税率 - var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 - var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 - body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 - body.find("[field='TaxRate']").find(input).val((taxRate).toFixed(2)); //税率 - body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 - statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); - }); - //修改价税合计,自动计算税率、含税单价、税额和合计 - body.find("[field='TaxLastMoney']").find(input).off("keyup").on("keyup",function(){ - var taxLastMoney =$(this).val()-0; //价税合计 - var AllPrice = body.find("[field='AllPrice']").find(input).val(); //金额 - var taxRate = (taxLastMoney-AllPrice)/AllPrice*100; //税率 - var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 - var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 - body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 - body.find("[field='TaxRate']").find(input).val((taxRate).toFixed(2)); //税率 - body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 - statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); - }); - - //加载税率 - if(thisTaxRate) { - body.find("[field='TaxRate']").find(input).val(thisTaxRate); - } - else { - body.find("[field='TaxRate']").find(input).val(0); //默认为0 - } - - //在商品类型加载 组装件、普通子件 - var mType = body.find("[field='MType']"); - var rowListLength = mType.find(input).closest(".datagrid-row").attr("datagrid-row-index"); - var mTypeValue = "组合件"; - if(rowListLength > 0){ - mTypeValue = "普通子件"; - } - if(listSubType == "组装单" || listSubType == "拆卸单"){ - mType.find(input).val(mTypeValue).prop("readonly","readonly"); - } - },500); - } - - //结束编辑 - function endEditing() { - if (editIndex == undefined) { return true } - if ($('#materialData').datagrid('validateRow', editIndex)) { - //仓库信息 - var edDepot = $('#materialData').datagrid('getEditor', {index:editIndex,field:'DepotId'}); - var DepotName = $(edDepot.target).combobox('getText'); - $('#materialData').datagrid('getRows')[editIndex]['DepotName'] = DepotName; - //商品信息 - var edMaterial = $('#materialData').datagrid('getEditor', {index:editIndex,field:'MaterialId'}); - var MaterialName = $(edMaterial.target).combobox('getText'); - $('#materialData').datagrid('getRows')[editIndex]['MaterialName'] = MaterialName; - $('#materialData').datagrid('endEdit', editIndex); - editIndex = undefined; - return true; - } else { - return false; - } - } - //单击 - function onClickRow(index) { - if (editIndex != index) { - if (endEditing()) { - $('#materialData').datagrid('selectRow', index).datagrid('beginEdit', index); - editIndex = index; - autoReckon(); - } else { - $('#materialData').datagrid('selectRow', editIndex); - } - } - } - //新增 - function append(){ - if (endEditing()) { - $('#materialData').datagrid('appendRow', {DepotId:defDepotId}); - editIndex = $('#materialData').datagrid('getRows').length - 1; - $('#materialData').datagrid('selectRow', editIndex).datagrid('beginEdit', editIndex); - autoReckon(); - } - } - //删除 - function batchDel(){ - /** - * 重写一下删除的逻辑 - * 获取所有选中行,直接从列表中移除 - * 点击保存时,将需要后台删除的数据提交到服务器 - * **/ - /** - * create by: qiankunpingtai - * create time: 2019/3/20 16:26 - * description: - * 这个地方比较坑的,花了一个多小时才搞明白为什么 - * 1、删除之前必须先调用endEditing结束编辑 - * 2、如果只是调用endEditing结束编辑那么正在编辑行的被选中状态会被去掉 - * 所以要在调用endEditing先获取选中的行 - */ - //如果编辑的行一开始是选中状态,结束编辑后仍然是选中状态 - var row = $('#materialData').datagrid('getChecked'); - if (endEditing()) { - if (row.length == 0) { - $.messager.alert('删除提示', '没有记录被选中!', 'info'); - return; - } - if (row.length > 0) { - $.messager.confirm('删除确认', '确定要删除选中的' + row.length + '条单据信息吗?', function (r) { - if (r) { - for (var i = 0; i < row.length; i++) { - $('#materialData').datagrid('deleteRow', $('#materialData').datagrid("getRowIndex", row[i])); - } - } - }); - } - } - } - function removeit(){ - if (editIndex == undefined) { return } - $('#materialData').datagrid('cancelEdit', editIndex) - .datagrid('deleteRow', editIndex); - editIndex = undefined; - } - //撤销 - function reject() { - $('#materialData').datagrid('rejectChanges'); - editIndex = undefined; - } - //判断 - function CheckData(type) { - append(); - removeit(); - var change = $('#materialData').datagrid('getChanges').length; - if(type =="add" && !change) { - $.messager.alert('提示','请输入明细信息!','warning'); - return false; - } - var row = $('#materialData').datagrid('getRows'); - if(!row.length){ - $.messager.alert('提示',"请输入明细信息!",'info'); - return false; - } - var totalRowNum = ""; - for (var i = 0; i < row.length; i++) { - if (row[i].DepotId == "" || row[i].MaterialId == "" || row[i].OperNumber == "" || row[i].UnitPrice === "" || row[i].AllPrice === "") { - totalRowNum += (i + 1) + "、"; - } - } - if (totalRowNum != "") { - var totalRowNum = totalRowNum.substring(0, totalRowNum.length - 1); - $.messager.alert('提示',"第" + totalRowNum + "行数据填写不完整!",'info'); - return false; - } - return true; - } - //保存 - function accept(accepId,fun) { - var inserted = $("#materialData").datagrid('getChanges', "inserted"); - var deleted = $("#materialData").datagrid('getChanges', "deleted"); - var updated = $("#materialData").datagrid('getChanges', "updated"); - $.ajax({ - type: "post", - url: "/depotItem/saveDetials", - data: { - inserted: JSON.stringify(inserted), - deleted: JSON.stringify(deleted), - updated: JSON.stringify(updated), - headerId:accepId - }, - success: function (tipInfo) - { - if (tipInfo) { - $.messager.alert('提示','保存成功!','info'); - } - else { - $.messager.alert('提示', '保存失败!', 'error'); - } - fun && fun(); - }, - error: function (XmlHttpRequest, textStatus, errorThrown) - { - $.messager.alert('提示',XmlHttpRequest.responseText,'error'); - fun && fun(); - } - }); - if (endEditing()) { - $('#materialData').datagrid('acceptChanges'); - } - } - //获取MaxId - function getMaxId(){ - var depotHeadMax=null; - $.ajax({ - type:"get", - url: "/depotHead/getMaxId", - //设置为同步 - async:false, - dataType: "json", - success: function (res) { - if(res && res.code === 200) { - if(res.data) { - depotHeadMax = res.data.maxId; - } - } - } - }); - - if(depotHeadMax !=null) { - depotHeadMaxId=depotHeadMax; - } - } - - /** - * 新增单据主表及单据子表 - * */ - function addDepotHeadAndDetail(url,infoStr){ - var inserted = null; - if(pageType === "skip") { - inserted = $("#materialData").datagrid('getChanges', "updated"); - } else { - inserted = $("#materialData").datagrid('getChanges', "inserted"); - } - var deleted = $("#materialData").datagrid('getChanges', "deleted"); - var updated = $("#materialData").datagrid('getChanges', "updated"); - $.ajax({ - type:"post", - url: url, - dataType: "json", - async : false, - data: ({ - info:infoStr, - inserted: JSON.stringify(inserted), - deleted: JSON.stringify(deleted), - updated: JSON.stringify(updated) - }), - success: function (tipInfo){ - - if(tipInfo){ - if(tipInfo.code!=200){ - $.messager.alert('提示', tipInfo.msg, 'error'); - return; - } - $.messager.alert('提示','保存成功!','info'); - $('#depotHeadDlg').dialog('close'); - var opts = $("#tableData").datagrid('options'); - showDepotHeadDetails(opts.pageNumber,opts.pageSize); - - }else { - $.messager.show({ - title: '错误提示', - msg: '保存信息失败,请稍后重试!' - }); - } - - }, - //此处添加错误处理 - error:function() - { - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - - - }); - } - /** - * 修改单据主表及单据子表 - * */ - function updateDepotHeadAndDetail(url,infoStr,preTotalPrice){ - var inserted = $("#materialData").datagrid('getChanges', "inserted"); - var deleted = $("#materialData").datagrid('getChanges', "deleted"); - var updated = $("#materialData").datagrid('getChanges', "updated"); - $.ajax({ - type:"post", - url: url, - dataType: "json", - async : false, - data: ({ - id:url.substring(url.lastIndexOf("?id=")+4,url.length), - info:infoStr, - inserted: JSON.stringify(inserted), - deleted: JSON.stringify(deleted), - updated: JSON.stringify(updated), - preTotalPrice:preTotalPrice - }), - success: function (tipInfo){ - if(tipInfo){ - if(tipInfo.code!=200){ - $.messager.alert('提示', tipInfo.msg, 'error'); - return; - } - $.messager.alert('提示','保存成功!','info'); - $('#depotHeadDlg').dialog('close'); - var opts = $("#tableData").datagrid('options'); - showDepotHeadDetails(opts.pageNumber,opts.pageSize); - if (endEditing()) { - $('#materialData').datagrid('acceptChanges'); - } - }else { - $.messager.show({ - title: '错误提示', - msg: '保存信息失败,请稍后重试!' - }); - } - - }, - //此处添加错误处理 - error:function() - { - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); - } - - - - diff --git a/erp_web/js/pages/materials/other_in_list.js b/erp_web/js/pages/materials/other_in_list.js new file mode 100644 index 00000000..662d9507 --- /dev/null +++ b/erp_web/js/pages/materials/other_in_list.js @@ -0,0 +1,3205 @@ +//初始化界面 +var defDepotId = null; +var kid = sessionStorage.getItem("userId"); +var pageType = getUrlParam('t'); //获取页面类型传值 +var depotList = null; +var depotID = null; +var supplierList = null; +var supplierID = null; +var personList = null; +var personID = null; +var ProjectSearch=null; +var userBusinessList=null; +var userdepot=null; +var depotHeadMaxId=null; //获取最大的Id +var accepId=null; //保存的主表id +var url; +var depotHeadID = 0; +var preTotalPrice = 0; //前一次加载的金额 +var orgDepotHead = ""; +var editIndex = undefined; +var listTitle = ""; //单据标题 +var listType = ""; //入库 出库 +var listSubType = ""; //采购 销售等 +var payTypeTitle = "";//付款 收款 +var organUrl = ""; //组织数据接口地址 +var amountNum = ""; //单据编号开头字符 +var depotString = ""; //店铺id列表 +/**默认编号有意义吗,不如空着吧*/ +var orgDefaultId=''; //单位默认编号 +var orgDefaultList; //存储查询出来的会员列表 +var accountList; //账户列表 +var outItemList; //支出项目列表 +var thisTaxRate = 0; //当前税率,选择供应商或者客户的时候设置 +var oldNumber = ""; //编辑前的单据编号 +var oldId = 0; //编辑前的单据Id +var otherColumns = true; //明细中的‘别名’列是否显示 +var btnEnableList = getBtnStr(); //获取按钮的权限 +var mPropertyList = ""; //商品属性列表 +var defaultAccountId = 0; //默认账户id +$(function(){ + //初始化系统基础信息 + getType(); + initSystemData_UB(); + initSelectInfo_UB(); + initSystemData_depot(); + initSelectInfo_depot(); + initSystemData_person(); + initSelectInfo_person(); + initSystemData_account(); + initSelectInfo_account(); + initSupplier(); //供应商 + initSalesman(); //销售人员 + initOutItemList(); //初始化支出项目 + initMProperty(); //初始化商品属性 + initTableData(); + ininPager(); + initForm(); + bindEvent();//绑定操作事件 +}); +//根据单据名称获取类型 +function getType(){ + listTitle = $("#tablePanel").prev().text(); + depotString = "|"; + //改变宽度和高度 + $("#searchPanel").panel({width:webW-2}); + $("#tablePanel").panel({width:webW-2}); + var supUrl = "/supplier/findBySelect_sup"; //供应商接口 + var cusUrl = "/supplier/findBySelect_cus?UBType=UserCustomer&UBKeyId=" + kid; //客户接口 + var retailUrl = "/supplier/findBySelect_retail"; //散户接口 + if(listTitle === "采购订单列表"){ + listType = "其它"; + listSubType = "采购订单"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "CGDD"; + } + else if(listTitle === "采购入库列表"){ + listType = "入库"; + listSubType = "采购"; + payTypeTitle = "付款"; + organUrl = supUrl; + amountNum = "CGRK"; + } + else if(listTitle === "零售退货列表"){ + listType = "入库"; + listSubType = "零售退货"; //注:用预付款购买的产品不能退货 + payTypeTitle = "付款"; + organUrl = retailUrl; + amountNum = "LSTH"; + } + else if(listTitle === "销售退货列表"){ + listType = "入库"; + listSubType = "销售退货"; + payTypeTitle = "付款"; + organUrl = cusUrl; + amountNum = "XSTH"; + } + else if(listTitle === "其它入库列表"){ + listType = "入库"; + listSubType = "其它"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "QTRK"; + } + else if(listTitle === "零售出库列表"){ + listType = "出库"; + listSubType = "零售"; + payTypeTitle = "收款"; + organUrl = retailUrl; + amountNum = "LSCK"; + } + else if(listTitle === "销售订单列表"){ + listType = "其它"; + listSubType = "销售订单"; + payTypeTitle = "隐藏"; + organUrl = cusUrl; + amountNum = "XSDD"; + } + else if(listTitle === "销售出库列表"){ + listType = "出库"; + listSubType = "销售"; + payTypeTitle = "收款"; + organUrl = cusUrl; + amountNum = "XSCK"; + } + else if(listTitle === "采购退货列表"){ + listType = "出库"; + listSubType = "采购退货"; + payTypeTitle = "收款"; + organUrl = supUrl; + amountNum = "CGTH"; + } + else if(listTitle === "其它出库列表"){ + listType = "出库"; + listSubType = "其它"; + payTypeTitle = "隐藏"; + organUrl = cusUrl; + amountNum = "QTCK"; + } + else if(listTitle === "调拨出库列表"){ + listType = "出库"; + listSubType = "调拨"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "DBCK"; + } + else if(listTitle === "组装单列表"){ + listType = "其它"; + listSubType = "组装单"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "ZZD"; + } + else if(listTitle === "拆卸单列表"){ + listType = "其它"; + listSubType = "拆卸单"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "CXD"; + } +} +//初始化系统基础信息 +function initSystemData_UB(){ + $.ajax({ + type:"get", + url: "/userBusiness/getBasicData", + data: ({ + KeyId:kid, + Type:"UserDepot" + }), + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if (res && res.code === 200) { + userBusinessList = res.data.userBusinessList; + } + else { + userBusinessList = null; + } + } + }); + +} +//初始化页面选项卡 +function initSelectInfo_UB(){ + + if(userBusinessList !=null) + { + if(userBusinessList.length>0) + { + //用户对应的仓库列表 [1][2][3]... + userdepot =userBusinessList[0].value; + } + } +} + + +//初始化系统基础信息 +function initSystemData_depot(){ + $.ajax({ + type:"get", + url: "/depot/getAllList", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200){ + depotList = res.data; + } else { + $.messager.alert('提示', '查找系统基础信息异常,请与管理员联系!', 'error'); + return; + } + } + }); +} +//初始化页面选项卡 +function initSelectInfo_depot(){ + var options = ""; + + if(depotList !=null) + { + options = ""; + for(var i = 0 ;i < depotList.length;i++) + { + var depot = depotList[i]; + + if(userdepot!=null) + { + if(userdepot.indexOf("["+depot.id+"]")!=-1) + { + if(depot.isDefault){ + defDepotId = depot.id; + } + options += ''; + depotString = depotString + depot.id + ","; + } + } + if(depot.type === 1){ + depotString = depotString + depot.id + ","; + } + } + depotString = depotString.substring(1, depotString.length-1); + $("#ProjectId").empty().append(options); + $("#AllocationProjectId").empty().append(options); + $("#searchProjectId").empty().append('').append(options); + } +} + +//初始化供应商、客户、散户信息 +function initSupplier(){ + $('#OrganId').combobox({ + url: organUrl, + valueField:'id', + textField:'supplier', + filter: function(q, row){ + var opts = $(this).combobox('options'); + return row[opts.textField].indexOf(q) >-1; + }, + onLoadSuccess: function(res) { + var data = $(this).combobox('getData'); + for(var i = 0; i<= data.length; i++){ + if(data && data[i] && data[i].supplier === "非会员"){ + orgDefaultId = data[i].id; + } + } + if(listSubType === "零售"){ + orgDefaultList = res; + } + }, + onSelect: function(rec){ + if(listSubType === "零售"){ + var option = ""; + if(rec.supplier !== "非会员" && rec.advanceIn >0){ + option = ''; + option += ''; + } + else { + option += ''; + } + $("#payType").empty().append(option); + } + else{ + $.ajax({ + type:"get", + url: "/supplier/findById", + data: { + supplierId: rec.id + }, + dataType: "json", + success: function (res){ + if(res && res.code === 200) { + if(res.data && res.data[0]){ + thisTaxRate = res.data[0].taxRate; //设置当前的税率 + } + } + }, + error:function(){ + + } + }); + } + } + }); +} + +//初始化销售人员 +function initSalesman(){ + $('#Salesman').combobox({ + url: "/person/getPersonByNumType?type=1", + valueField:'id', + textField:'name', + multiple: true + }); +} + +//初始化收入项目列表 +function initOutItemList(){ + $.ajax({ + type:"get", + url: "/inOutItem/findBySelect?type=out", + //设置为同步 + async:false, + dataType: "json", + success: function (res){ + if(res){ + outItemList = res; + } + }, + error:function(){ + + } + }); +} + +//初始化商品属性 +function initMProperty(){ + $.ajax({ + type: "get", + url: "/materialProperty/list", + dataType: "json", + data: ({ + search: JSON.stringify({ + name: "" + }), + currentPage: 1, + pageSize: 100 + }), + success: function (res) { + if(res && res.code === 200){ + if(res.data && res.data.page) { + var thisRows = res.data.page.rows; + for (var i = 0; i < thisRows.length; i++) { + if (thisRows[i].enabled) { + mPropertyList += thisRows[i].nativeName + ","; + } + } + if (mPropertyList) { + mPropertyList = mPropertyList.substring(0, mPropertyList.length - 1); + } + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('查询提示','查询信息异常,请稍后再试!','error'); + return; + } + }); +} + +//初始化系统基础信息 +function initSystemData_person(){ + $.ajax({ + type:"get", + url: "/person/getAllList", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + personList = res.data.personList; + } + } + } + }); +} +//初始化页面选项卡 +function initSelectInfo_person(){ + var options1 = ""; + + if(personList !=null) + { + for(var i = 0 ;i < personList.length;i++) + { + var person = personList[i]; + if(0 == i) + { + personID = person.id; + } + if(person.type=="仓管员") + { + options1 += ''; + } + } + $("#HandsPersonId").empty().append(options1); + } +} +//获取账户信息 +function initSystemData_account(){ + $.ajax({ + type:"get", + url: "/account/getAccount", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + accountList = res.data.accountList; + } + } + } + }); +} +//获取账户信息 +function initSelectInfo_account(){ + var options = ""; + if(accountList !=null){ + options = ""; + options += ""; + for(var i = 0 ;i < accountList.length;i++) { + var account = accountList[i]; + options += ''; + if(account.isdefault) { + defaultAccountId = account.id; //给账户赋值默认id + } + } + $("#AccountId").empty().append(options); + } +} + +//防止表单提交重复 +function initForm(){ + $('#depotHeadFM').form({ + onSubmit: function(){ + return false; + } + }); +} + +//初始化表格数据 +function initTableData(){ + if(pageType === "skip") { + var oldRowInfo = sessionStorage.getItem("rowInfo"); + editDepotHead(oldRowInfo); //自动弹出编辑框,带缓存数据 + } + var hideType = undefined; + var isHiddenStatus = true; + if(payTypeTitle === "隐藏"){ + hideType = true; //隐藏当前列 + } + var tableToolBar = [ + { + id:'addDepotHead', + text:'增加', + iconCls:'icon-add', + handler:function() + { + addDepotHead(); + } + }, + { + id:'deleteDepotHead', + text:'删除', + iconCls:'icon-remove', + handler:function() + { + batDeleteDepotHead(); + } + } + ]; + //如果允许的按钮列表中存在就显示,3-代表审核|反审核的权限 + if(btnEnableList && btnEnableList.indexOf(3)>-1){ + isHiddenStatus = false; //显示 + tableToolBar.push({ + id:'okDepotHead', + text:'审核', + iconCls:'icon-ok', + handler:function() { + setStatusFun(); + } + }, + { + id:'undoDepotHead', + text:'反审核', + iconCls:'icon-undo', + handler:function() { + setUnStatusFun(); + } + }); + } + else { + isHiddenStatus = true; //隐藏 + } + var isShowLastMoneyColumn = false; //是否显示优惠后金额和价税合计,true为隐藏,false为显示 + if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowLastMoneyColumn = true; //隐藏 + } + var isShowOrganNameColumn = false; //是否显示供应商、客户等信息,true为隐藏,false为显示 + var organNameTitle = ""; //组织名称标题 + if(listSubType == "调拨" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowOrganNameColumn = true; //隐藏 + } + else { + if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "采购退货列表" || listTitle == "其它入库列表"){ + organNameTitle = "供应商名称"; + } + else if(listTitle == "销售订单列表" || listTitle == "销售退货列表" || listTitle == "销售出库列表" || listTitle == "其它出库列表"){ + organNameTitle = "客户名称"; + } + else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ + organNameTitle = "会员卡号"; + } + } + var opWidth = 90; //操作宽度 + var isShowSkip = false; //是否显示跳转按钮 + var opTitle = ""; //跳转按钮的标题 + if(listTitle == "采购订单列表") { + opWidth = 120; + isShowSkip = true; + opTitle = "转采购入库"; + } else if(listTitle == "销售订单列表") { + opWidth = 120; + isShowSkip = true; + opTitle = "转销售出库"; + } + $('#tableData').datagrid({ + height:heightInfo, + rownumbers: false, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + pagination: true, + //交替出现背景 + striped : true, + pageSize: 10, + pageList: initPageNum, + columns:[[ + { field: 'id',width:35,align:"center",checkbox:true}, + { title: '操作',field: 'op',align:"center",width:opWidth, + formatter:function(value, rec,index) { + var str = ''; + // var rowInfo = rec.id + 'AaBb' + rec.projectid+ 'AaBb' + rec.number+ 'AaBb' + rec.operpersonname + // + 'AaBb' + rec.opertimeStr+ 'AaBb' + rec.organid+ 'AaBb' + rec.handspersonid + // + 'AaBb' + rec.accountid+ 'AaBb' + rec.changeamount+ 'AaBb' + rec.remark + // + 'AaBb' + rec.projectName+ 'AaBb' + rec.organName+ 'AaBb' + rec.handsPersonName + // + 'AaBb' + rec.accountName + 'AaBb' + rec.totalprice + 'AaBb' + rec.allocationprojectid + // + 'AaBb' + rec.allocationProjectName + 'AaBb' + rec.paytype + 'AaBb' + rec.salesman + // + 'AaBb' + rec.discount + 'AaBb' + rec.discountmoney + 'AaBb' + rec.discountlastmoney + // + 'AaBb' + rec.accountidlist + 'AaBb' + rec.accountmoneylist + // + 'AaBb' + rec.othermoney + 'AaBb' + rec.othermoneylist + 'AaBb' + rec.othermoneyitem + // + 'AaBb' + rec.accountday + 'AaBb' + rec.linknumber; + // rowInfo = rowInfo.replace(/\"/g, ""); + // rowInfo = rowInfo.replace(/\[|]/g,""); + var orgId = rec.organid? rec.organid:0; + str += '   '; + str += '   '; + str += ''; + if(isShowSkip) { + str += '   '; + } + return str; + } + }, + { title: organNameTitle, field: 'organName',width:120, hidden:isShowOrganNameColumn}, + { title: '单据编号',field: 'number',width:135, formatter:function (value,rec) { + if(rec.linknumber) { + return value + "[转]"; + } else { + return value; + } + } + }, + { title: '商品信息',field: 'materialsList',width:180,formatter:function(value){ + if(value) { + return value.replace(",",","); + } + } + }, + { title: '单据日期',field: 'opertimeStr',width:130}, + { title: '操作员',field: 'operpersonname',width:60}, + { title: '金额合计',field: 'totalprice',width:60}, + { title: '含税合计',field: 'totaltaxlastmoney',hidden:isShowLastMoneyColumn,width:60,formatter:function(value,rec){ + return (rec.discountmoney + rec.discountlastmoney).toFixed(2); + } + }, + { title: '优惠后金额',field: 'discountlastmoney',hidden:isShowLastMoneyColumn,width:80}, + { title: payTypeTitle,field: 'changeamount',width:50,hidden:hideType}, + { title: '状态',field: 'status',hidden:isHiddenStatus, width:70,align:"center",formatter:function(value){ + if(value === "0") { + return "未审核"; + } else if(value === "1") { + return "已审核"; + } else if(value === "2") { + if(listTitle == "采购订单列表") { + return "已转采购"; + } else if(listTitle == "销售订单列表") { + return "已转销售"; + } + } + } + } + ]], + toolbar:tableToolBar, + onLoadError:function() { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); +} + +//查找库存的方法 +function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ + var thisRatio = 1; //比例 + $.ajax({ + url: "/material/findById", + type: "get", + dataType: "json", + data: { + id: mId + }, + success: function (rec) { + if(rec && rec.code === 200 && rec.data && rec.data[0]) { + var loadRatio = 1; //在单位输入框上面加载比例字段 + if(rec.data[0].unit) { //如果存在计量单位信息 + loadRatio = 1; + } + else{ + var unitName = rec.data[0].unitName; + if(unitName) { + thisRatio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); + unitName = unitName.substring(0, unitName.indexOf("(")); + } + var unitArr = unitName.split(","); + var basicUnit = unitArr[0]; //基础单位 + var otherUnit = unitArr[1]; //副单位 + var unitSetInput =""; //单位 + if(listSubType === "采购订单" || listSubType === "采购" || listSubType === "采购退货"){ + unitSetInput = rec.data[0].firstinunit; + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = thisRatio; + } + } + else if(listSubType === "销售订单" || listSubType === "销售" || listSubType === "销售退货" || listSubType === "零售" || listSubType === "零售退货"){ + unitSetInput = rec.data[0].firstoutunit; + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = thisRatio; + } + } + } + //查询库存 + $.ajax({ + type: "get", + url: '/depotItem/findStockNumById', + data:{ + projectId: depotId, + materialId: mId, + monthTime: monthTime, + currentPage: 1, + pageSize: 10 + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if (res.data && res.data.page && res.data.page[0]) { + var thisStock = res.data.page[0].thisSum; + if (type == "select") { //选择下拉框的时候 + if (ratio != undefined && ratio != 1) { + loadRatio = ratio; + } + } + else if (type == "click") { //点击库存的时候 + if (ratio != undefined) { + loadRatio = ratio; + } + } + thisStock = (thisStock / loadRatio).toFixed(2); + body.find("[field='Stock']").find(input).val(thisStock).attr("data-stock", res.data.page[0].thisSum); //加载库存数据 + } + else { + body.find("[field='Stock']").find(input).val(0).attr("data-stock", 0); //加载库存数据 + } + body.find("[field='Stock']").find(input).prop("readonly", "readonly"); //设置库存数据为只读 + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); + } + }, + error: function () { + $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); + } + }); +} +//优惠率、合计的统计方法 +function statisticsFun(body,UnitPrice,OperNumber,footer,taxRate){ + var TotalPrice = 0; + var taxLastMoneyTotal = 0; + //金额的合计 + body.find("[field='AllPrice']").each(function(){ + if($(this).find("div").text()!==""){ + TotalPrice = TotalPrice + parseFloat($(this).find("div").text().toString()); + } + }); + TotalPrice = TotalPrice + UnitPrice*OperNumber; + footer.find("[field='AllPrice']").find("div").text((TotalPrice).toFixed(2)); //金额的合计 + //价税合计的总计 + body.find("[field='TaxLastMoney']").each(function(){ + if($(this).find("div").text()!==""){ + taxLastMoneyTotal = taxLastMoneyTotal + (parseFloat($(this).find("div").text().toString())-0); + } + }); + taxLastMoneyTotal = taxLastMoneyTotal + (UnitPrice*OperNumber*(1+taxRate/100)); + footer.find("[field='TaxLastMoney']").find("div").text((taxLastMoneyTotal).toFixed(2)); //价税合计的页脚总计 + var discount = $("#Discount").val(); //优惠率 + var discountMoney = (taxLastMoneyTotal*discount/100).toFixed(2); + $("#DiscountMoney").val(discountMoney);//优惠金额 + var discountLastMoney = (taxLastMoneyTotal*(1-discount/100)).toFixed(2) + $("#DiscountLastMoney").val(discountLastMoney);//优惠后金额 + if($("#AccountId").val()!=="many"){ + $("#ChangeAmount").val(discountLastMoney); //本次付、收款 + } + var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 + $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 + + if(listSubType == "零售" || listSubType == "零售退货") { + $("#ChangeAmount, #getAmount").val((TotalPrice).toFixed(2)); + $("#backAmount").val(0); + } +} +//初始化表格数据-商品列表-编辑状态 +function initTableData_material(type,TotalPrice){ + var body,footer,input; //定义表格和文本框 + var ratio = 1; //比例-品名专用 + var ratioDepot = 1; //比例-仓库用 + var monthTime = getNowFormatMonth(); + var isShowAnotherDepot = true; //显示对方仓库,true为隐藏,false为显示 + var depotHeadName = ""; //仓库名称 + var depotUrl = ""; //仓库接口地址 + var depotTextField = ""; //仓库下拉名称 + var anotherDepotHeadName = ""; //对方仓库的列的标题 + var anotherDepotUrl = ""; //对方仓库接口地址 + var anotherDepotTextField = ""; + if(listSubType == "调拨"){ + isShowAnotherDepot = false; //调拨时候显示对方仓库 + anotherDepotHeadName = "调入仓库"; + anotherDepotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; + anotherDepotTextField = "depotName"; + } + depotHeadName = "仓库名称"; + depotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; + depotTextField = "depotName"; + var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 + if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowTaxColumn = true; //隐藏 + } + var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 + if(listSubType == "组装单" || listSubType == "拆卸单"){ + isShowMaterialTypeColumn = false; //显示 + } + $('#materialData').datagrid({ + height:245, + rownumbers: false, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + //单击行是否选中 + checkOnSelect : false, + pagination: false, + //交替出现背景 + striped : true, + showFooter: true, + //loadFilter: pagerFilter, + onClickRow: onClickRow, + columns:[[ + { field: 'Id',width:35,align:"center",checkbox:true}, + { title: '商品类型',field: 'MType',editor:'validatebox',hidden:isShowMaterialTypeColumn,width:80}, + { title: depotHeadName, field: 'DepotId', editor: 'validatebox', width: 90, + formatter: function (value, row, index) { + return row.DepotName; + }, + editor: { + type: 'combobox', + options: { + valueField: 'id', + textField: depotTextField, + method: 'get', + url: depotUrl, + onSelect:function(rec){ + var depotId = rec.id; + body =$("#depotHeadFM .datagrid-body"); + footer =$("#depotHeadFM .datagrid-footer"); + input = ".datagrid-editable-input"; + var mId = body.find("[field='MaterialId']").find(".combo-value").val(); + if(mId){ + var type = "select"; //type 类型:点击 click,选择 select + findStockNumById(depotId, mId, monthTime, body, input, ratioDepot, type); + } + } + } + } + }, + { title: '品名(型号)(扩展信息)(单位)',field: 'MaterialId',width:230, + formatter:function(value,row,index){ + return row.MaterialName; + }, + editor:{ + type:'combobox', + options:{ + valueField:'Id', + textField:'MaterialName', + method:'get', + url: "/material/findBySelect", + panelWidth: 300, //下拉框的宽度 + //全面模糊匹配,过滤字段 + filter: function(q, row){ + var opts = $(this).combobox('options'); + return row[opts.textField].indexOf(q) >-1; + }, + onBeforeLoad: function(param){ + param.mpList = mPropertyList; //商品属性 + }, + onSelect:function(rec){ + if(rec) { + var mId = rec.Id; + $.ajax({ + url: "/material/findById", + type: "get", + dataType: "json", + data: { + id: mId + }, + success: function (res) { + if(res && res.code === 200 && res.data && res.data[0]) { + var retailPrice = res.data[0].retailprice-0; //零售价格 + var presetPriceOne = res.data[0].presetpriceone-0; //预计采购价 + var presetPriceTwo = res.data[0].presetpricetwo-0; //批发价 + var firstInUnit = res.data[0].firstinunit; //首选入库单位 + var firstOutUnit = res.data[0].firstoutunit; //首选出库单位 + var basicPresetPriceOne = ""; //多单位-入库-基础价格 + var basicPresetPriceTwo = ""; //多单位-出库-基础价格 + var retailPriceOne = ""; //多单位-入库-零售价格 + var otherPresetPriceOne = ""; //多单位-入库-其他价格 + var otherPresetPriceTwo = ""; //多单位-出库-其他价格 + var retailPriceTwo = ""; //多单位-出库-零售价格 + var basicUnit = ""; //基础单位 + var otherUnit = ""; //其他单位 + if(!res.data[0].unit){ + var ps = res.data[0].pricestrategy; + var psObj = JSON.parse(ps); + basicPresetPriceOne = psObj[0].basic.PresetPriceOne-0; + basicPresetPriceTwo = psObj[0].basic.PresetPriceTwo-0; + retailPriceOne = psObj[0].basic.RetailPrice-0; + otherPresetPriceOne = psObj[1].other.PresetPriceOne-0; + otherPresetPriceTwo = psObj[1].other.PresetPriceTwo-0; + retailPriceTwo = psObj[1].other.RetailPrice-0; + basicUnit = psObj[0].basic.Unit; + otherUnit = psObj[1].other.Unit; + } + body =$("#depotHeadFM .datagrid-body"); + footer =$("#depotHeadFM .datagrid-footer"); + input = ".datagrid-editable-input"; + if(res.data[0].unit){ //如果存在计量单位信息 + ratio = 1; //重置比例为1 + body.find("[field='Unit']").find(input).val(res.data[0].unit); //设置-计量单位信息 + body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 + body.find("[field='Unit']").find(input).off("click"); //移除点击事件 + body.find("[field='Unit']").find(input).attr("data-ratio",ratio); //修改比例缓存信息 + } + else { + var unitName = res.data[0].unitName; + if(unitName) { + ratio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); //给比例赋值 + unitName = unitName.substring(0, unitName.indexOf("(")); + } + var unitArr = unitName.split(","); + var basicUnit = unitArr[0]; //基础单位 + var otherUnit = unitArr[1]; //副单位 + var unitSetInput =""; //单位 + body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 + var loadRatio = 1; //在单位输入框上面加载比例字段 + if(listSubType === "采购" || listSubType === "采购退货" || listSubType === "采购订单"){ + unitSetInput = res.data[0].firstinunit; //给单位文本框赋值 + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = ratio; + } + } + else if(listSubType === "销售" || listSubType === "销售退货" || listSubType === "销售订单" || listSubType === "零售" || listSubType === "零售退货"){ + unitSetInput = res.data[0].firstoutunit; //给单位文本框赋值 + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = ratio; + } + } + body.find("[field='Unit']").find(input).val(unitSetInput).attr("data-ratio", loadRatio); //设置-首选单位 + + body.find("[field='Unit']").find(input).off("click").on("click",function(){ + if(basicUnit && otherUnit) { + var self = this; + //定义模版 + var temp = "
"; + temp +="
    "; + temp +="
  • " + basicUnit + "
  • "; + temp +="
  • " + otherUnit + "
  • "; + temp +="
"; + temp +="
"; + if($('.unit-list').length){ + $('.unit-list').remove(); //如果存在计量单位列表先移除 + } + else { + $(self).after(temp); //加载列表信息 + } + //计量单位列表的单击事件 + $('.unit-list ul li').off("click").on("click",function(){ + var unit = $(this).text(); + var thisRatio = $(this).attr("data-ratio"); //获取比例 + $(self).val(unit).attr("data-ratio", thisRatio); + $(self).keyup(); //模拟键盘操作 + $('.unit-list').remove(); //移除计量单位列表 + var stock = body.find("[field='Stock']").find(input).attr("data-stock"); //从缓存中取值 + var type = $(this).attr("data-type"); + var UnitPrice = 0; + if(type === "basic"){ + if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { + UnitPrice = basicPresetPriceOne; + } + else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { + UnitPrice = basicPresetPriceTwo; + } + else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ + UnitPrice = retailPriceOne; + } + body.find("[field='Stock']").find(input).val(stock); //修改库存 + } + else if(type === "other"){ + if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { + UnitPrice = otherPresetPriceOne; + } + else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { + UnitPrice = otherPresetPriceTwo; + } + else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ + UnitPrice = retailPriceTwo; + } + body.find("[field='Stock']").find(input).val((stock/ratio).toFixed(2)); //修改库存 + } + body.find("[field='UnitPrice']").find(input).val(UnitPrice); //单价 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //获取数量 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //获取税率 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //点击空白处移除计量单位列表 + $(".datagrid-body").off("click").on("click",function(){ + $('.unit-list').remove(); //移除计量单位列表 + }); + } + }); + } + var detailPrice = 0; //明细列表-单价 + if(listSubType == "零售" || listSubType == "零售退货") { + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = retailPrice; + } + else { + if (firstOutUnit == basicUnit) { + detailPrice = retailPriceOne; + } + else if (firstOutUnit == otherUnit) { + detailPrice = retailPriceTwo; + } + } + } + else if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = presetPriceOne; + } + else { + if (firstInUnit == basicUnit) { + detailPrice = basicPresetPriceOne; + } + else if (firstInUnit == otherUnit) { + detailPrice = otherPresetPriceOne; + } + } + } + else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = presetPriceTwo; + } + else { + if(firstOutUnit==basicUnit) { + detailPrice = basicPresetPriceTwo; + } + else if(firstOutUnit==otherUnit){ + detailPrice = otherPresetPriceTwo; + } + } + } + body.find("[field='OperNumber']").find(input).val(1); //数量初始化为1 + //单价和总价赋值 + if(!detailPrice) { + detailPrice = 0; + } + body.find("[field='UnitPrice']").find(input).val(detailPrice); + body.find("[field='AllPrice']").find(input).val(detailPrice); + var taxRate = body.find("[field='TaxRate']").find(input).val()-0; //获取税率 + body.find("[field='TaxUnitPrice']").find(input).val((detailPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((detailPrice*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((detailPrice*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,detailPrice,1,footer,taxRate); + + //查询库存信息 + var depotId = body.find("[field='DepotId']").find(".combo-value").val(); + if(depotId) { + var type = "select"; //type 类型:点击 click,选择 select + findStockNumById(depotId, mId, monthTime, body, input, loadRatio, type); + } + } + }, + error: function() { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + } + }); + } + } + } + } + }, + { title: '库存',field: 'Stock',editor:'validatebox',width:70}, + { title: anotherDepotHeadName, field: 'AnotherDepotId',editor:'validatebox',hidden:isShowAnotherDepot,width:90, + formatter: function (value, row, index) { + return row.AnotherDepotName; + }, + editor: { + type: 'combobox', + options: { + valueField: 'id', + textField: anotherDepotTextField, + method: 'get', + url: anotherDepotUrl + } + } + }, + { title: '单位',field: 'Unit',editor:'validatebox',width:60}, + { title: '数量',field: 'OperNumber',editor:'validatebox',width:60}, + { title: '单价',field: 'UnitPrice',editor:'validatebox',width:60}, + { title: '含税单价',field: 'TaxUnitPrice',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '金额',field: 'AllPrice',editor:'validatebox',width:75}, + { title: '税率(%)',field: 'TaxRate',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '税额',field: 'TaxMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '价税合计',field: 'TaxLastMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '备注',field: 'Remark',editor:'validatebox',width:120}, + { title: '品名-别',field: 'OtherField1',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '型号-别',field: 'OtherField2',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '颜色-别',field: 'OtherField3',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '备注1',field: 'OtherField4',editor:'validatebox',hidden:true,width:60}, + { title: '备注2',field: 'OtherField5',editor:'validatebox',hidden:true,width:60} + ]], + toolbar:[ + { + id:'append', + text:'新增', + iconCls:'icon-add', + handler:function() + { + append(); //新增 + } + }, + { + id:'delete', + text:'删除', + iconCls:'icon-remove', + handler:function() + { + batchDel(); //删除 + } + }, + { + id:'reject', + text:'撤销', + iconCls:'icon-undo', + handler:function() + { + reject(); //撤销 + } + } + ], + onLoadError:function() + { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); + $.ajax({ + type:"get", + url: '/depotItem/getDetailList', + data: { + headerId: depotHeadID, + mpList: mPropertyList + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + var data = res.data; + var AllPrice = 0; + var TaxLastMoney = 0; + var DiscountMoney = $("#DiscountMoney").val()-0; //优惠金额 + var DiscountLastMoney = $("#DiscountLastMoney").val()-0; //优惠后金额 + if(type === "edit") { + AllPrice = TotalPrice; + TaxLastMoney = DiscountMoney + DiscountLastMoney; + } + var array = []; + array.push({ + "AllPrice": AllPrice, + "TaxLastMoney": TaxLastMoney + }); + data.footer = array; + $("#materialData").datagrid('loadData',data); + //如果是订单跳转到采购或销售 + if(pageType === "skip") { + var skipList = $("#depotHeadFM .datagrid-body tr"); + //逐条自动点击每行数据 + skipList.each(function (i) { + setTimeout(function () { + skipList.eq(i).find("[field='Stock']").click(); + },(i+1)*1000); + }); + } + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); +} + +//初始化表格数据-商品列表-查看状态 +function initTableData_material_show(TotalPrice){ + var isShowAnotherDepot = true; //显示对方仓库,true为隐藏,false为显示 + var anotherDepotHeadName = ""; //对方仓库的列的标题 + var depotHeadName = ""; //仓库的列的标题 + if(listSubType == "调拨"){ + isShowAnotherDepot = false; //调拨时候显示对方仓库 + anotherDepotHeadName = "调入仓库"; + } + depotHeadName = "仓库名称"; + var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 + if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowTaxColumn = true; //隐藏 + } + var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 + if(listSubType == "组装单" || listSubType == "拆卸单"){ + isShowMaterialTypeColumn = false; //显示 + } + $('#materialDataShow').datagrid({ + height:245, + rownumbers: true, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + pagination: false, + //交替出现背景 + striped : true, + showFooter: true, + onClickRow: onClickRow, + columns:[[ + { title: '商品类型',field: 'MType',width:80, hidden:isShowMaterialTypeColumn}, + { title: depotHeadName,field: 'DepotName',editor:'validatebox',width:90}, + { title: '品名(型号)(扩展信息)(单位)',field: 'MaterialName',width:230}, + { title: anotherDepotHeadName,field: 'AnotherDepotName',hidden:isShowAnotherDepot,width:90}, + { title: '单位',field: 'Unit',editor:'validatebox',width:60}, + { title: '数量',field: 'OperNumber',editor:'validatebox',width:60}, + { title: '单价',field: 'UnitPrice',editor:'validatebox',width:60}, + { title: '含税单价',field: 'TaxUnitPrice',editor:'validattebox',hidden:isShowTaxColumn,width:75}, + { title: '金额',field: 'AllPrice',editor:'validatebox',width:75}, + { title: '税率',field: 'TaxRate',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '税额',field: 'TaxMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '价税合计',field: 'TaxLastMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '备注',field: 'Remark',editor:'validatebox',width:120}, + { title: '品名-别',field: 'OtherField1',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '型号-别',field: 'OtherField2',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '颜色-别',field: 'OtherField3',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '备注1',field: 'OtherField4',editor:'validatebox',hidden:true,width:60}, + { title: '备注2',field: 'OtherField5',editor:'validatebox',hidden:true,width:60} + ]], + onLoadError:function() { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); + $.ajax({ + type:"get", + url: '/depotItem/getDetailList', + data: { + headerId: depotHeadID, + mpList: mPropertyList + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + var data = res.data; + var AllPrice = TotalPrice; + var DiscountMoney = $("#DiscountMoneyShow").text() - 0; //优惠金额 + var DiscountLastMoney = $("#DiscountLastMoneyShow").text() - 0; //优惠后金额 + var array = []; + array.push({ + "AllPrice": AllPrice, + "TaxLastMoney": DiscountMoney + DiscountLastMoney + }); + data.footer = array; + $("#materialDataShow").datagrid('loadData', data); + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); +} + +//分页信息处理 +function ininPager(){ + try + { + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + pager.pagination({ + onSelectPage:function(pageNum, pageSize) + { + opts.pageNumber = pageNum; + opts.pageSize = pageSize; + pager.pagination('refresh', + { + pageNumber:pageNum, + pageSize:pageSize + }); + showDepotHeadDetails(pageNum,pageSize); + } + }); + } + catch (e) + { + $.messager.alert('异常处理提示',"分页信息异常 : " + e.name + ": " + e.message,'error'); + } +} + +//删除单据信息 +function deleteDepotHead(depotHeadID, thisOrganId, totalPrice, status){ + if(status == "1" || status == "2") { + $.messager.alert('删除提示','已审核和已转的单据不能删除!','warning'); + return; + } + $.messager.confirm('删除确认','确定要删除此单据信息吗?',function(r) { + if (r) { + $.ajax({ + type:"post", + // url: "/depotHead/" + depotHeadID + "/delete", + url: "/depotHead/deleteDepotHeadAndDetail", + dataType: "json", + data:{ + id: depotHeadID + }, + success: function (res) { + if(res && res.code == 200) { + $("#searchBtn").click(); + } else { + $.messager.alert('删除提示', '删除单据信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('删除提示','删除单据信息异常,请稍后再试!','error'); + return; + } + }); + + //更新会员的预收款信息 + if(listSubType === "零售") { + $.ajax({ + type:"post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data:{ + supplierId: thisOrganId, //会员id + advanceIn: totalPrice //删除时同时返还用户的预付款 + }, + success: function(res){ + if(res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function(){ + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + } + }); +} + +//订单转采购或销售 +function skipDepotHead(index, status){ + //获取当前行 + var rowsdata = $("#tableData").datagrid("getRows")[index]; + if(status == "0" || status == "2") { + $.messager.alert('提示','未审核和已转的单据禁止操作!','warning'); + } else { + sessionStorage.setItem("rowInfo", JSON.stringify(rowsdata)); //将单据信息存入缓存中 + if(listTitle == "采购订单列表") { + parent.addTab("订单转采购", "../materials/purchase_in_list.html?t=skip", ""); + } else if(listTitle == "销售订单列表") { + parent.addTab("订单转销售", "../materials/sale_out_list.html?t=skip", ""); + } + } +} + +//批量删除单据信息 +function batDeleteDepotHead(){ + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) + { + $.messager.alert('删除提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) + { + $.messager.confirm('删除确认','确定要删除选中的' + row.length + '条单据信息吗?',function(r) + { + if (r) { + var ids = ""; + for (var i = 0; i < row.length; i++) { + if (i == row.length - 1) { + if (row[i].status == 0) { + ids += row[i].id; + } + break; + } + ids += row[i].id + ","; + } + if (ids) { + //批量更新会员的预收款信息 + for (var i = 0; i < row.length; i++) { + if (listSubType === "零售") { + $.ajax({ + type: "post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data: { + supplierId: row[i].organid, //会员id + advanceIn: row[i].totalprice //删除时同时返还用户的预付款 + }, + success: function (res) { + if (res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function () { + $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); + return; + } + }); + } + } + //批量删除 + $.ajax({ + type: "post", + // url: "/depotHead/batchDelete", + url: "/depotHead/batchDeleteDepotHeadAndDetail", + dataType: "json", + async: false, + data: ({ + ids: ids + }), + success: function (res) { + if (res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('删除提示', '删除单据信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('删除提示', '删除单据信息异常,请稍后再试!', 'error'); + return; + } + }); + } else { + $.messager.alert('删除提示','没有能删除的单据!','warning'); + } + } + }); + } +} + +//批量审核 +function setStatusFun() { + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) { + $.messager.alert('审核提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) { + $.messager.confirm('审核确认','确定要审核选中的' + row.length + '条信息吗?',function(r) + { + if (r) + { + var ids = ""; + for(var i = 0;i < row.length; i ++) + { + if(i == row.length-1) + { + if(row[i].status != "2") { + ids += row[i].id; + } + break; + } + ids += row[i].id + ","; + } + if(ids) { + $.ajax({ + type:"post", + url: "/depotHead/batchSetStatus", + dataType: "json", + async : false, + data: ({ + status: "1", + depotHeadIDs : ids + }), + success: function (res) { + if(res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('审核提示', '审核信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('审核提示','审核信息异常,请稍后再试!','error'); + return; + } + }); + } else { + $.messager.alert('审核提示','没有能审核的单据!','warning'); + } + } + }); + } +} + +//批量反审核 +function setUnStatusFun() { + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) + { + $.messager.alert('反审核提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) + { + $.messager.confirm('反审核确认','确定要反审核选中的' + row.length + '条信息吗?',function(r) + { + if (r) + { + var ids = ""; + for(var i = 0;i < row.length; i ++) + { + if(i == row.length-1) + { + if(row[i].status != "2") { + ids += row[i].id; + } + break; + } + ids += row[i].id + ","; + } + if(ids) { + $.ajax({ + type: "post", + url: "/depotHead/batchSetStatus", + dataType: "json", + async: false, + data: ({ + status: "0", + depotHeadIDs: ids + }), + success: function (res) { + if (res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('反审核提示', '反审核信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('反审核提示', '反审核信息异常,请稍后再试!', 'error'); + return; + } + }); + } else { + $.messager.alert('反审核提示','没有能反审核的单据!','warning'); + } + } + }); + } +} + +//生成单据编号 +function buildNumber() { + $.ajax({ + type: "get", + url: "/depotHead/buildNumber", + success:function(res){ + if(res && res.code === 200){ + var obj = res.data; + var defaultNumber = obj.DefaultNumber; + var newNumber = amountNum + defaultNumber; + $("#Number").val(newNumber).attr("data-defaultNumber",newNumber); + } + }, + error:function(){ + $.messager.alert('提示','生成单据编号失败!','error'); + } + }); +} + +//新增信息 +function addDepotHead(){ + $('#depotHeadFM').form('clear'); + var thisDateTime = getNowFormatDateTime(); //当前时间 + $("#OperTime").val(thisDateTime); + buildNumber(); //生成单据编号 + //初始化优惠率、优惠金额、优惠后金额、本次付|收款、本次欠款 为0 + $("#Discount").val(0); + $("#DiscountMoney").val(0); + $("#DiscountLastMoney").val(0); + $("#ChangeAmount").val(0); + $("#Debt").val(0); + $("#AccountId").val(defaultAccountId); //初始化默认的账户Id + var addTitle = listTitle.replace("列表","信息"); + $('#depotHeadDlg').dialog('open').dialog('setTitle',' 增加' + addTitle); + $(".window-mask").css({ width: webW ,height: webH}); + + orgDepotHead = ""; + depotHeadID = 0; + initTableData_material("add"); //商品列表 + reject(); //撤销下、刷新商品列表 + $("#addOrgan").off("click").on("click",function(){ + $('#supplierDlg').dialog('open').dialog('setTitle',' 增加供应商信息'); + $('#supplierFM').form('clear'); + }); + + $("#addMember").off("click").on("click",function(){ + $('#supplierDlg').dialog('open').dialog('setTitle',' 增加会员信息'); + $('#supplierFM').form('clear'); + }); + $("#addCustomer").off("click").on("click",function(){ + $('#supplierDlg').dialog('open').dialog('setTitle',' 增加客户信息'); + $('#supplierFM').form('clear'); + }); + url = '/depotHead/addDepotHeadAndDetail'; + + //零售单据修改收款时,自动计算找零 + if(listSubType == "零售" || listSubType == "零售退货") { + $("#payType").val("现付"); + $("#OrganId").combobox("setValue", orgDefaultId); //自动默认选择非会员 + // 鼠标点下时清空选择项 + $("#OrganId").next().find("input").off("mousedown").on("mousedown",function(){ + $("#OrganId").combobox("setValue", ""); + }); + //当会员卡号长度超过10位后,自动点击下拉框,用于兼容刷卡器 + $("#OrganId").next().find("input").off("keyup").on("keyup",function(){ + var self = this; + if($(this).val().length === 10){ + setTimeout(function(){ + $(".combo-panel .combobox-item-selected").click(); + //更新付款类型,加载会员的预付款的金额 + for(var i=0; i0){ + option = ''; + option += ''; + } + else { + option += ''; + } + $("#payType").empty().append(option); + } + } + },1000); + } + }); + var getAmount = $("#depotHeadFM .get-amount"); + var changeAmount = $("#depotHeadFM .change-amount"); + var backAmount = $("#depotHeadFM .back-amount"); + getAmount.val(0); changeAmount.val(0); backAmount.val(0); //时间初始化 + getAmount.off("keyup").on("keyup",function() { + if(changeAmount.val()){ + backAmount.val((getAmount.val()-changeAmount.val()).toFixed(2)); + } + }); + } +} + +//编辑信息 +function editDepotHead(index, status){ + if(status == "1" || status == "2") { + $.messager.alert('编辑提示','已审核和已转的单据不能编辑!','warning'); + return; + } + // var depotHeadInfo = depotHeadTotalInfo.split("AaBb"); + //获取当前行 + var rowsdata =''; + if(Number(index).toString()=='NaN'){ + rowsdata=$.parseJSON(index); + }else{ + rowsdata=$("#tableData").datagrid("getRows")[index]; + } + $("#ProjectId").focus().val(rowsdata.projectid); + var ProjectId=rowsdata.projectid; + if(ProjectId!='') { + initSystemData_person(ProjectId); + initSelectInfo_person(); + } + var TotalPrice = rowsdata.totalprice; //合计金额 + if(pageType === "skip") { //从订单跳转过来 + buildNumber(); //生成单据编号 + var thisDateTime = getNowFormatDateTime(); //当前时间 + $("#OperTime").val(thisDateTime); + $("#LinkNumber").val(rowsdata.number); //关联订单号 + $("#AccountId").val(defaultAccountId); //初始化默认的账户Id + $("#DiscountLastMoney").val(TotalPrice); //优惠后金额 + $("#ChangeAmount").val(TotalPrice).attr("data-changeamount", TotalPrice); + } else { + $("#Number").val(rowsdata.number).attr("data-defaultNumber",rowsdata.number); + $("#OperTime").val(rowsdata.opertimeStr); + $("#LinkNumber").val(rowsdata.linknumber==undefined?"":rowsdata.linknumber); //关联订单号 + $("#AccountId").val(rowsdata.accountid); //账户Id + $("#DiscountLastMoney").val(rowsdata.discountlastmoney==undefined?"0.00":rowsdata.discountlastmoney); //优惠后金额 + $("#ChangeAmount").val(rowsdata.changeamount).attr("data-changeamount", rowsdata.changeamount); + } + $('#OrganId').combobox('setValue', rowsdata.organid==undefined?'':rowsdata.organid); + $("#HandsPersonId").val(rowsdata.handspersonid); + $("#Remark").val(rowsdata.remark); + $("#Discount").val(rowsdata.discount==undefined?"0":rowsdata.discount); + $("#DiscountMoney").val(rowsdata.discountmoney==undefined?"0.00":rowsdata.discountmoney); + $("#Debt").val(Number((rowsdata.discountlastmoney==undefined?'0.00':rowsdata.discountlastmoney-rowsdata.changeamount)).toFixed(2)); + $("#AccountDay").val(rowsdata.accountday==undefined?"":rowsdata.accountday); //结算天数 + preTotalPrice = rowsdata.totalprice; //记录前一次合计金额,用于扣预付款 + $("#AllocationProjectId").val(rowsdata.allocationprojectid); + oldNumber = rowsdata.number; //记录编辑前的单据编号 + oldId = rowsdata.id; //记录单据Id + var editTitle = listTitle.replace("列表","信息"); + $('#depotHeadDlg').dialog('open').dialog('setTitle',' 编辑' + editTitle); + $(".window-mask").css({ width: webW ,height: webH}); + depotHeadID = rowsdata.id; + + if(listSubType == "零售"){ + var option = ""; + if(rowsdata.paytype == "预付款"){ + option = ''; + option += ''; + } + else { + option += ''; + } + $("#payType").empty().append(option); + } + + if(listSubType == "销售" || listSubType == "销售退货"){ + if(rowsdata.salesman){ + var arr = rowsdata.salesman.split(","); + var salesmanArray = []; + for(var i=0;i","")); + } + } + $("#Salesman").combobox('setValues', salesmanArray); + } + } + + //采购入库、销售出库的多账户加载 + if(rowsdata.accountidlist!=undefined && rowsdata.accountmoneylist!=undefined){ + $("#AccountId").val("many"); //下拉框选中多账户 + var accountArr = rowsdata.accountidlist.split(","); + var accountMoneyArr = rowsdata.accountmoneylist.split(","); + accountMoneyArr = changeListFmtPlus(accountMoneyArr) //将数组单个金额中的数值转为正数 + + if(listSubType == "零售" || listSubType == "零售退货") { + var manyAccountMoney = 0; //多账户合计-零售 + for (var j = 0; j < accountArr.length; j++) { + if (accountList != null) { + for (var i = 0; i < accountList.length; i++) { + var account = accountList[i]; + if (accountArr[j] == account.id) { + manyAccountMoney += accountMoneyArr[j] - 0; //多账户合计-零售 + } + } + } + } + $("#getAmount").val(manyAccountMoney); //收款金额、付款金额 + var changeAmount = $("#ChangeAmount").val()-0; + $("#backAmount").val((manyAccountMoney-changeAmount).toFixed(2)); //找零 + } + + $("#AccountId").attr("data-accountArr", JSON.stringify(accountArr)).attr("data-accountMoneyArr", JSON.stringify(accountMoneyArr)); //json数据存储 + $(".many-account-ico").show(); //显示多账户的ico图标 + } + + //采购入库、销售出库的费用数据加载 + if(rowsdata.othermoneylist &&rowsdata.othermoneyitem){ + $("#OtherMoney").val(rowsdata.othermoney==undefined?"0":rowsdata.othermoney); //采购费用、销售费用 + var itemArr = rowsdata.othermoneylist.split(","); + var itemMoneyArr = rowsdata.othermoneyitem.split(","); + $("#OtherMoney").attr("data-itemArr",JSON.stringify(itemArr)).attr("data-itemMoneyArr",JSON.stringify(itemMoneyArr)); //json数据存储 + } + + initTableData_material("edit",TotalPrice); //商品列表 + reject(); //撤销下、刷新商品列表 + if(pageType === "skip") { + url = '/depotHead/addDepotHeadAndDetail'; //如果是从订单跳转过来,则此处为新增的接口 + //jshjshjsh + $("#depotHeadFM .datagrid-body").find("[field='DepotId']").click(); + } else { + url = '/depotHead/updateDepotHeadAndDetail?id=' + rowsdata.id; //更新接口 + } +} + +//查看信息 +function showDepotHead(index){ + // var depotHeadInfo = depotHeadTotalInfo.split("AaBb"); + //获取当前行 + var rowsdata = $("#tableData").datagrid("getRows")[index]; + var manyAccountMoney = 0; //多账户合计-零售 + $("#ProjectIdShow").text(rowsdata.projectName); + $("#NumberShow").text(rowsdata.number); + $("#OperTimeShow").text(rowsdata.opertimeStr); + $('#OrganIdShow').text(rowsdata.organName==undefined?'':rowsdata.organName); + $("#HandsPersonIdShow").text(rowsdata.handsPersonName); + if(rowsdata.accountName && rowsdata.accountName!=undefined){ + $("#AccountIdShow").text(rowsdata.accountName); //结算账户 + } else { + var accountArr = (rowsdata.accountidlist==undefined?"":rowsdata.accountidlist).split(","); //账户id列表 + var accountMoneyArr =(rowsdata.accountmoneylist==undefined?"":rowsdata.accountmoneylist).split(","); //账户金额列表 + var accountIdShow = ""; + for(var j =0;j 查看' + showTitle); + $(".window-mask").css({ width: webW ,height: webH}); + + depotHeadID = rowsdata.id; + initTableData_material_show(TotalPrice); //商品列表-查看状态 + + //零售单据展示数据 + if(listSubType == "零售" || listSubType == "零售退货"){ + var changeAccount = $("#depotHeadDlgShow .change-amount-show").text() -0; + if(manyAccountMoney!==0){ + $("#depotHeadDlgShow .get-amount-show").text((manyAccountMoney).toFixed(2)); + $("#depotHeadDlgShow .back-amount-show").text((manyAccountMoney -changeAccount).toFixed(2)); + } + else { + $("#depotHeadDlgShow .get-amount-show").text((changeAccount).toFixed(2)); + $("#depotHeadDlgShow .back-amount-show").text(0); + } + } + if(listSubType === "销售" || listSubType === "销售退货"){ + if(rowsdata.salesman){ + var arr = rowsdata.salesman.split(","); + var salesmanStr = ""; + for(var i=0;i",""); + } + else { + salesmanStr += arr[i].replace("<","").replace(">","") + ","; + } + } + } + $.ajax({ + type: "get", + url: "/person/getPersonByIds", + data: { + personIDs: salesmanStr + }, + success:function(res){ + if(res && res.code === 200){ + if(res.data) { + $("#SalesmanShow").text(res.data.names); //销售人员列表 + } + } + }, + error:function(){ + + } + }); + } + } +} + +//绑定操作事件 +function bindEvent(){ + showDepotHeadDetails(1,initPageSize); //初始化时自动查询 + //搜索处理 + $("#searchBtn").off("click").on("click",function(){ + showDepotHeadDetails(1,initPageSize); + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + opts.pageNumber = 1; + opts.pageSize = initPageSize; + pager.pagination('refresh', + { + pageNumber:1, + pageSize:initPageSize + }); + }); + + //重置按钮 + $("#searchResetBtn").unbind().bind({ + click:function(){ + //$("#searchProjectId").val(""); + $("#searchState").val(""); + $("#searchBeginTime").val(""); + $("#searchEndTime").val(""); + //加载完以后重新初始化 + $("#searchBtn").click(); + } + }); + + //检查单据编号是否存在 + function checkDepotHeadNumber() { + var thisNumber = $.trim($("#Number").val()); + //表示是否存在 true == 存在 false = 不存在 + var flag = false; + //开始ajax名称检验,不能重名 + if(thisNumber.length > 0 &&( oldNumber.length ==0 || thisNumber != oldNumber)) + { + $.ajax({ + type:"get", + url: "/depotHead/checkIsNumberExist", + dataType: "json", + async : false, + data: ({ + DepotHeadID : oldId, + Number : thisNumber + }), + success: function (tipInfo) + { + flag = tipInfo; + if(tipInfo) + { + $.messager.alert('提示','抱歉,该单据编号已经存在','warning'); + return; + } + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','检查单据编号是否存在异常,请稍后再试!','error'); + return; + } + }); + } + return flag; + } + //保存信息 + /** + * 2019-01-25 + * 我对这个方法的实现结果存在严重怀疑,决定重构 + * 有如下疑点: + * 1、保存完主表,返回结果后,再发起请求去操作子表,如何保证事务的一致性(业务数据一致性) + * 2、保存完主表后,再通过selectmax的方式去获取主表主键id完全就是看人品的不可靠的思路 + * 修改计划: + * 2019-01-25修改零售出库相关操作 + * 修改方式,重写url,将主从表操作合并 + * + * + * **/ + $("#saveDepotHead").off("click").on("click",function(){ + if(!$('#depotHeadFM').form('validate')){ + return; + } + else { + //如果初始编号被修改了,就要判断单据编号是否存在 + if($.trim($("#Number").val()) != $('#Number').attr("data-defaultNumber")){ + //调用查询单据编号是否重名的方法 + if(checkDepotHeadNumber()){ + return; + } + } + //输入框提示 + if(listTitle === "采购订单列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择供应商!','warning'); + return; + } + } + else if(listTitle === "采购入库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择供应商!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择结算账户!','warning'); + return; + } + } + else if(listTitle === "零售退货列表"){ + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择付款账户!','warning'); + return; + } + if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { + $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); + return; + } + } + else if(listTitle === "销售退货列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择退货单位!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择付款账户!','warning'); + return; + } + } + else if(listTitle === "其它入库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择往来单位!','warning'); + return; + } + } + else if(listTitle === "零售出库列表"){ + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择收款账户!','warning'); + return; + } + if($("#backAmount").val()-0 <0){ + $.messager.alert('提示','找零金额不能小于0!','warning'); + return; + } + if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { + $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); + return; + } + + } + else if(listTitle === "销售订单列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择购买单位!','warning'); + return; + } + } + else if(listTitle === "销售出库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择购买单位!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择收款账户!','warning'); + return; + } + } + else if(listTitle === "采购退货列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择收货单位!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择收款账户!','warning'); + return; + } + } + else if(listTitle === "其它出库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择往来单位!','warning'); + return; + } + } + else if(listTitle === "调拨出库列表"){ + + } + //进行明细的校验 + if(depotHeadID ==0) { + //新增模式下 + if (!CheckData("add")) { + return; + } + } + else { + //编辑模式下 + if (!CheckData("edit")) { + return; + } + } + var OrganId = null, ProjectId = null,AllocationProjectId = null; + var ChangeAmount = $.trim($("#ChangeAmount").val())-0; + var TotalPrice = $("#depotHeadFM .datagrid-footer [field='AllPrice'] div").text(); + if($('#OrganId').length){ + OrganId = $('#OrganId').combobox('getValue'); + } + var accountMoneyList = $("#AccountId").attr("data-accountmoneyarr"); //账户金额列表-多账户 + var accountMoneyArr; + if(accountMoneyList) { + accountMoneyList = accountMoneyList.replace("[","").replace("]","").toString(); + var reg=new RegExp("\"","g"); //创建正则RegExp对象 + accountMoneyList = accountMoneyList.replace(reg,""); //替换所有的双引号 + accountMoneyArr = accountMoneyList.split(","); //转为数组 + } + if(listSubType === "采购订单"||listSubType === "采购"||listSubType === "零售退货"||listSubType === "销售退货"){ + //付款为负数 + ChangeAmount = 0 - ChangeAmount; + TotalPrice = 0 - TotalPrice; + if(accountMoneyArr) { + accountMoneyArr = changeListFmtMinus(accountMoneyArr); //将数组单个金额中的数值转为负数 + } + } + //零售时候,可以从会员预付款中扣款 + var thisPayType = "现付"; + if(listSubType === "零售") { + if($("#payType").val() ==="预付款") { + thisPayType = "预付款"; + } + } + var SalesmanStr = ""; + if(listSubType === "销售" || listSubType === "销售退货"){ + var Salesman = $('#Salesman').combobox('getValues').toString(); //销售人员 + if(Salesman) { + var SalesmanArray = Salesman.split(","); + for (var i = 0; i < SalesmanArray.length; i++) { + if (i === SalesmanArray.length - 1) { + SalesmanStr += "<" + SalesmanArray[i] + ">"; + } + else { + SalesmanStr += "<" + SalesmanArray[i] + ">,"; + } + } + } + } + var getAccountID = $.trim($("#AccountId").val()); + if($("#AccountId").val() === "many"){ //多账户 + getAccountID = null; + } + var infoStr=JSON.stringify({ + Type: listType, + SubType: listSubType, + ProjectId: ProjectId, + AllocationProjectId: AllocationProjectId, + DefaultNumber: $.trim($("#Number").attr("data-defaultNumber")),//初始编号 + Number: $.trim($("#Number").val()), + LinkNumber: $.trim($("#LinkNumber").val()), + OperTime: $("#OperTime").val(), + OrganId: OrganId, + HandsPersonId: $.trim($("#HandsPersonId").val()), + Salesman: SalesmanStr, //销售人员 + AccountId: getAccountID, + ChangeAmount: ChangeAmount, //付款/收款 + TotalPrice: TotalPrice, //合计 + PayType: thisPayType, //现付/预付款 + Remark: $.trim($("#Remark").val()), + AccountIdList: $("#AccountId").attr("data-accountarr"), //账户列表-多账户 + AccountMoneyList: accountMoneyArr ? JSON.stringify(accountMoneyArr) : "", //账户金额列表-多账户 + Discount: $.trim($("#Discount").val()), + DiscountMoney: $.trim($("#DiscountMoney").val()), + DiscountLastMoney: $.trim($("#DiscountLastMoney").val()), + OtherMoney: $.trim($("#OtherMoney").val()), //采购费用、销售费用 + OtherMoneyList: $("#OtherMoney").attr("data-itemarr"), //支出项目列表-涉及费用 + OtherMoneyItem: $("#OtherMoney").attr("data-itemmoneyarr"), //支出项目金额列表-涉及费用 + AccountDay: $("#AccountDay").val() //结算天数 + }); + /** + * 零售出库,单独操作 + * */ + if(url.indexOf("/depotHead/addDepotHeadAndDetail")>=0){ + addDepotHeadAndDetail(url,infoStr); + return; + }else if(url.indexOf("/depotHead/updateDepotHeadAndDetail")>=0){ + updateDepotHeadAndDetail(url,infoStr,preTotalPrice); + return; + } + $.ajax({ + type:"post", + url: url, + dataType: "json", + async : false, + data: ({ + info:infoStr + }), + success: function (tipInfo) + { + if(tipInfo) + { + function closeDialog(){ + $('#depotHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showDepotHeadDetails(opts.pageNumber,opts.pageSize); + } + + if(thisPayType === "预付款") { + //更新用户信息-预付款 + var advanceIn = 0; //预付款金额 + if(depotHeadID){ + advanceIn = TotalPrice - preTotalPrice; //修改时,预付款=合计金额-加载金额 + } + else{ + advanceIn = TotalPrice; //新增时,预付款=合计金额 + } + $.ajax({ + type:"post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data:{ + supplierId: OrganId, //会员id + advanceIn: 0 - advanceIn //保存的同时扣掉用户的预付款 + }, + success: function(res){ + if(res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function(){ + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + + //保存明细记录 + if(depotHeadID ==0) + { + getMaxId(); //查找最大的Id + accept(depotHeadMaxId,closeDialog); //新增 + } + else + { + accept(depotHeadID,closeDialog); //修改 + } + } + else + { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + }); + + //打印单据 + $("#printDepotHeadShow").off("click").on("click",function(){ + var tableString = $("#depotHeadDlgShow").html(); + localStorage.setItem("tableString",tableString); + window.open("../../js/print/print_form.html","location:No;status:No;help:No;dialogWidth:800px;dialogHeight:600px;scroll:auto;"); + }); + + //初始化键盘enter事件 + $(document).keydown(function(event){ + //兼容 IE和firefox 事件 + var e = window.event || event; + var k = e.keyCode||e.which||e.charCode; + //兼容 IE,firefox 兼容 + var obj = e.srcElement ? e.srcElement : e.target; + //绑定键盘事件为 id是指定的输入框才可以触发键盘事件 13键盘事件 ---遗留问题 enter键效验 对话框会关闭问题 + if(k == "13"&&(obj.id=="State"||obj.id=="Number")) + { + $("#saveDepotHead").click(); + } + //搜索按钮添加快捷键 + if(k == "13"&&(obj.id=="searchState"||obj.id=="searchNumber"||obj.id=="searchMaterial")) + { + $("#searchBtn").click(); + } + }); + + //优惠率输入框事件 + $("#Discount").off("keyup").on("keyup",function(){ + var footer =$("#depotHeadFM .datagrid-footer"); + var totalPrice = footer.find("[field='TaxLastMoney']").find("div").text(); + var discountNum = $(this).val(); + var discountMoney = (discountNum/100*totalPrice).toFixed(2); + var discountLastMoney = (totalPrice - discountMoney).toFixed(2); + $("#DiscountMoney").val(discountMoney); //优惠金额 + $("#DiscountLastMoney").val(discountLastMoney); //优惠后金额 + if($("#AccountId").val()!=="many"){ + $("#ChangeAmount").val(discountLastMoney); //本次付、收款 + } + var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 + $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 + }); + + //优惠金额输入框事件 + $("#DiscountMoney").off("keyup").on("keyup",function(){ + var footer =$("#depotHeadFM .datagrid-footer"); + var totalPrice = footer.find("[field='TaxLastMoney']").find("div").text(); + var discountMoney = $(this).val(); + var discount = (discountMoney/totalPrice).toFixed(2)*100; + var discountLastMoney = (totalPrice - discountMoney).toFixed(2); + $("#Discount").val(discount); //优惠金额 + $("#DiscountLastMoney").val(discountLastMoney); //优惠后金额 + if($("#AccountId").val()!=="many"){ + $("#ChangeAmount").val(discountLastMoney); //本次付、收款 + } + var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 + $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 + }); + + //付款、收款输入框事件 + $("#ChangeAmount").off("keyup").on("keyup",function(){ + var discountLastMoney = $("#DiscountLastMoney").val(); + var changeAmount = $(this).val(); + var debtMoney = (discountLastMoney - changeAmount).toFixed(2); + $("#Debt").val(debtMoney); //本次欠款 + }); + + //多账户结算窗口弹出事件 + function depotHeadAccountDlgFun(){ + $('#depotHeadAccountDlg').dialog('open').dialog('setTitle',' 多账户结算'); + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").remove(); //先移除输入栏目 + $("#accountMoneyTotalDlg").text(0); //将合计初始化为0 + for(var i=0; i<6; i++) { + $("#depotHeadAccountDlg .tabs-tmp .account-content-tmp").attr("data-index",5-i); //添加索引 + var contentTmp = $("#depotHeadAccountDlg .tabs-tmp tbody").html(); + var accountDlgHead = $("#depotHeadAccountDlg .account-head-tmp"); + accountDlgHead.after(contentTmp); + } + + //获取账户信息 + function accountDlgFun() { + var options = ""; + if(accountList !=null){ + for(var i = 0 ;i < accountList.length;i++) { + var account = accountList[i]; + options += ''; + } + $(".account-id-dlg").empty().append("").append(options); + } + } + accountDlgFun(); //获取账户信息 + $("#depotHeadAccountDlg .tabs-tmp").hide(); //隐藏模板 + + //账户金额输入框事件-多账户 + $("#depotHeadAccountDlg .account-dlg .account-money-dlg").off("keyup").on("keyup",function(){ + var totalAccoutNum = 0; + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){ + var eachAccountMoney = $(this).find(".account-money-dlg").val()-0; + totalAccoutNum += eachAccountMoney; + }); + $("#accountMoneyTotalDlg").text(totalAccoutNum); + }); + + //结算多账户列表的切换事件 + $("#depotHeadAccountDlg .account-dlg .account-id-dlg").off("change").on("change",function(){ + var selectAccount = $(this).children('option:selected').text(); + if(selectAccount === ""){ + var thisMoneyDom = $(this).closest(".account-content-tmp").find(".account-money-dlg"); + var thisMoney = thisMoneyDom.val()-0; + var accountMoneyTotal = $("#accountMoneyTotalDlg").text() - 0; + $("#accountMoneyTotalDlg").text(accountMoneyTotal - thisMoney); + thisMoneyDom.val(""); //账户为空时候,将金额也置为空 + } + }); + + //保存按钮事件 + $("#saveDepotHeadAccountDlg").off("click").on("click", function(){ + //完成多账户的json数据存储 + var accountArr = []; //账户id数组 + var accountMoneyArr = []; //账户金额数组 + var errorIndex = -1; + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){ + var thisAccId = $(this).find(".account-id-dlg").val(); + var thisAccMoney = $(this).find(".account-money-dlg").val(); + if(!thisAccId && thisAccMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisAccId && !thisAccMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisAccId && thisAccMoney) { + accountArr.push(thisAccId); + accountMoneyArr.push(thisAccMoney); + } + }); + if(errorIndex >-1){ + $.messager.alert('错误提示',"第" + (errorIndex+1) + "行数据存在问题,请修改",'warning'); + return; + } + var discountLastMoneyNum =$("#DiscountLastMoney").val()-0; //优惠后金额 + var accountMoneyTotal = $("#accountMoneyTotalDlg").text()-0; //本次付款或者收款 + if(accountMoneyTotal===0){ + $.messager.alert('错误提示',"请填写金额后保存",'warning'); + return; + } + if(accountArr.length && accountMoneyArr.length) { + $("#AccountId").attr("data-accountArr",JSON.stringify(accountArr)).attr("data-accountMoneyArr",JSON.stringify(accountMoneyArr)); //json数据存储 + } + if(listSubType==="零售" || listSubType==="零售退货") { + $("#getAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 + var backAmount = $("#getAmount").val() - $("#ChangeAmount").val(); + $("#backAmount").val((backAmount - 0).toFixed(2)); //计算找零金额 + } + else { + $("#ChangeAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 + } + $("#Debt").val((discountLastMoneyNum-accountMoneyTotal).toFixed(2)); //本次欠款 + $("#depotHeadAccountDlg").dialog('close'); + }); + + //取消事件 + function cancelFun(){ + if($("#AccountId").attr("data-accountArr")){ + $("#depotHeadAccountDlg").dialog('close'); + } + else { + $("#depotHeadAccountDlg").dialog('close'); + $("#AccountId").val("").removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 + if(listSubType==="零售" || listSubType==="零售退货"){ + $("#ChangeAmount").prop("readonly","readonly"); + } + else { + $("#ChangeAmount").removeProp("readonly","readonly"); + } + $(".many-account-ico").hide(); //隐藏多账户小图标 + } + } + //多账户-取消按钮 + $("#cancelDepotHeadAccountDlg").off("click").on("click", function(){ + cancelFun(); + }); + + //多账户-右上角的关闭按钮 + $("#depotHeadAccountDlg").prev().find(".panel-tool-close").off("click").on("click", function(){ + cancelFun(); + }); + } + //点击多账户,弹出输入框 + $("#AccountId").off("change").on("change",function(){ + var selectText = $(this).children('option:selected').text(); + if(selectText === "多账户"){ + $("#ChangeAmount").prop("readonly","readonly"); + depotHeadAccountDlgFun(); + $(".many-account-ico").show(); //显示多账户小图标 + } + else{ + $(this).removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 + if(listSubType==="零售" || listSubType==="零售退货"){ + $("#ChangeAmount").prop("readonly","readonly"); + } + else { + $("#ChangeAmount").removeProp("readonly","readonly"); + } + $(".many-account-ico").hide(); //隐藏多账户小图标 + } + }); + + //结算账户-多账户小图标-点击事件 + $(".many-account-ico").off("click").on("click",function(){ + depotHeadAccountDlgFun(); + //给弹窗赋值-多账户数据 + var accountArr = $("#AccountId").attr("data-accountArr"); + accountArr = JSON.parse(accountArr); + var accountMoneyArr = $("#AccountId").attr("data-accountMoneyArr"); + accountMoneyArr = JSON.parse(accountMoneyArr); + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){ + var index = $(this).attr("data-index"); + $(this).find(".account-id-dlg").val(accountArr[index]); + $(this).find(".account-money-dlg").val(accountMoneyArr[index]); + }); + if(listSubType==="零售" || listSubType==="零售退货") { + $("#accountMoneyTotalDlg").text($("#getAmount").val()); + } + else { + $("#accountMoneyTotalDlg").text($("#ChangeAmount").val()); + } + }); + + //点击采购费用、销售费用的事件 + $(".other-money-ico").off("click").on("click",function(){ + $('#otherMoneyDlg').dialog('open').dialog('setTitle',' '+ listSubType +'费用'); + $("#otherMoneyDlg .money-dlg .money-content-tmp").remove(); //先移除输入栏目 + $("#otherMoneyTotalDlg").text(0); //将合计初始化为0 + for(var i=0; i<6; i++) { + $("#otherMoneyDlg .tabs-tmp .money-content-tmp").attr("data-index",5-i); //添加索引 + var contentTmp = $("#otherMoneyDlg .tabs-tmp tbody").html(); + var moneyDlgHead = $("#otherMoneyDlg .money-head-tmp"); + moneyDlgHead.after(contentTmp); + } + + //获取支出项目信息 + function moneyDlgFun() { + var options = ""; + if(outItemList !=null){ + for(var i = 0 ;i < outItemList.length;i++) { + var money = outItemList[i]; + options += ''; + } + $(".money-id-dlg").empty().append("").append(options); + } + } + moneyDlgFun(); //获取支出项目信息 + $("#otherMoneyDlg .tabs-tmp").hide(); //隐藏模板 + + //支出项目的金额输入框事件 + $("#otherMoneyDlg .money-dlg .other-money-dlg").off("keyup").on("keyup",function(){ + var totalMoneyNum = 0; + $("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){ + var eachOtherMoney = $(this).find(".other-money-dlg").val()-0; + totalMoneyNum += eachOtherMoney; + }); + $("#otherMoneyTotalDlg").text(totalMoneyNum); + }); + + //支出项目列表的切换事件 + $("#otherMoneyDlg .money-dlg .money-id-dlg").off("change").on("change",function(){ + var selectItem = $(this).children('option:selected').text(); + if(selectItem === ""){ + var thisMoneyDom = $(this).closest(".money-content-tmp").find(".other-money-dlg"); + var thisMoney = thisMoneyDom.val()-0; + var otherMoneyTotal = $("#otherMoneyTotalDlg").text() - 0; + $("#otherMoneyTotalDlg").text(otherMoneyTotal - thisMoney); + thisMoneyDom.val(""); //支出项目为空时候,将金额也置为空 + } + }); + + //保存按钮事件 + $("#saveOtherMoneyDlg").off("click").on("click", function(){ + //完成支出项目的json数据存储 + var itemArr = []; //支出项目id数组 + var itemMoneyArr = []; //支出项目金额数组 + var errorIndex = -1; + $("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){ + var thisId = $(this).find(".money-id-dlg").val(); + var thisMoney = $(this).find(".other-money-dlg").val(); + if(!thisId && thisMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisId && !thisMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisId && thisMoney) { + itemArr.push(thisId); + itemMoneyArr.push(thisMoney); + } + }); + if(errorIndex >-1){ + $.messager.alert('错误提示',"第" + (errorIndex+1) + "行数据存在问题,请修改",'warning'); + return; + } + var otherMoneyTotal = $("#otherMoneyTotalDlg").text()-0; //合计金额 + if(otherMoneyTotal === 0){ //0的时候清空缓存数据 + $("#OtherMoney").removeAttr("data-itemArr").removeAttr("data-itemMoneyArr"); + } + if(itemArr.length && itemMoneyArr.length) { + $("#OtherMoney").attr("data-itemArr",JSON.stringify(itemArr)).attr("data-itemMoneyArr",JSON.stringify(itemMoneyArr)); //json数据存储 + } + $("#OtherMoney").val(otherMoneyTotal); //给采购费用、销售费用赋值 + $("#otherMoneyDlg").dialog('close'); + }); + + //取消事件 + function cancelFun(){ + if($("#OtherMoney").attr("data-itemArr")){ + $("#otherMoneyDlg").dialog('close'); + } + else { + $("#otherMoneyDlg").dialog('close'); + $("#OtherMoney").val("").removeAttr("data-itemArr").removeAttr("data-itemMoneyArr"); //将下拉置空并把缓存参数清空 + } + } + //费用-取消按钮 + $("#cancelOtherMoneyDlg").off("click").on("click", function(){ + cancelFun(); + }); + + //费用-右上角的关闭按钮 + $("#otherMoneyDlg").prev().find(".panel-tool-close").off("click").on("click", function(){ + cancelFun(); + }); + + //给弹窗赋值-采购费用、销售费用数据 + var itemArr = $("#OtherMoney").attr("data-itemArr"); + itemArr = JSON.parse(itemArr); + var itemMoneyArr = $("#OtherMoney").attr("data-itemMoneyArr"); + itemMoneyArr = JSON.parse(itemMoneyArr); + $("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){ + var index = $(this).attr("data-index"); + $(this).find(".money-id-dlg").val(itemArr[index]); + if(itemMoneyArr[index]!="undefined"){ + $(this).find(".other-money-dlg").val(itemMoneyArr[index]); + } + }); + $("#otherMoneyTotalDlg").text($("#OtherMoney").val()); + }); + + if(listTitle === "采购入库列表" || listTitle === "其它入库列表" || listTitle === "采购订单列表"|| listTitle === "零售出库列表"|| listTitle === "销售出库列表"|| listTitle === "销售订单列表"){ + var supplierType = "供应商"; + if(listTitle === "零售出库列表"){ + supplierType = "会员"; + }else if(listTitle === "销售出库列表" || listTitle === "销售订单列表"){ + supplierType = "客户"; + } + //检查单位名称是否存在 ++ 重名无法提示问题需要跟进 + function checkSupplierName() { + var supplierName = $.trim($("#supplier").val()); + var orgSupplier = ""; + //表示是否存在 true == 存在 false = 不存在 + var flag = false; + //开始ajax名称检验,不能重名 + if(supplierName.length > 0 &&( orgSupplier.length ==0 || supplierName != orgSupplier)) + { + $.ajax({ + type:"get", + url: "/supplier/checkIsNameExist", + dataType: "json", + async : false, + data: ({ + id : 0, + name : supplierName + }), + success: function (res) { + if(res && res.code === 200) { + if(res.data && res.data.status) { + flag = res.data.status; + if (flag) { + $.messager.alert('提示', '单位名称已经存在', 'info'); + return; + } + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('提示','检查单位名称是否存在异常,请稍后再试!','error'); + return; + } + }); + } + return flag; + } + + //保存供应商信息 + $("#saveSupplier").off("click").on("click",function() { + if(validateForm("supplierFM")) { + return; + } + if(checkSupplierName()){ + return; + } + var reg = /^([0-9])+$/; + var phonenum = $.trim($("#phonenum").val()); + if(phonenum.length>0 && !reg.test(phonenum)) + { + $.messager.alert('提示','电话号码只能是数字','info'); + $("#phonenum").val("").focus(); + return; + } + var beginNeedGet = $.trim($("#BeginNeedGet").val()); + var beginNeedPay = $.trim($("#BeginNeedPay").val()); + if(beginNeedGet && beginNeedPay) { + $.messager.alert('提示','期初应收和期初应付不能同时输入','info'); + return; + } + var url = '/supplier/add'; + var supObj = $("#supplierFM").serializeObject(); + supObj.type = supplierType; + supObj.enabled = 1; + $.ajax({ + url: url, + type:"post", + dataType: "json", + data:{ + info: JSON.stringify(supObj) + }, + success: function(res) { + if (res) { + $('#supplierDlg').dialog('close'); + initSupplier(); //刷新供应商 + } + } + }); + }); + } +} + +function showDepotHeadDetails(pageNo,pageSize){ + var materialParam = $.trim($("#searchMaterial").val()); + $.ajax({ + type:"get", + url: "/depotItem/getHeaderIdByMaterial", + dataType: "json", + data: ({ + materialParam: materialParam, + depotIds: depotString + }), + success: function (res) { + if(res && res.code === 200) { + var ids = res.data; + if(ids){ + $.ajax({ + type: "get", + url: "/depotHead/list", + dataType: "json", + data: ({ + search: JSON.stringify({ + type: listType, + subType: listSubType, + state: $.trim($("#searchState").val()), + number: $.trim($("#searchNumber").val()), + beginTime: $("#searchBeginTime").val(), + endTime: $("#searchEndTime").val(), + dhIds: ids + }), + currentPage: pageNo, + pageSize: pageSize + }), + success: function (res) { + if(res && res.code === 200){ + if(res.data && res.data.page) { + $("#tableData").datagrid('loadData', res.data.page); + } + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); + return; + } + }); + } + else { + $("#tableData").datagrid('loadData', []); + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + return; + } + }); +} + +//自动计算事件 +function autoReckon() { + //延时绑定事件 + setTimeout(function(){ + var body =$("#depotHeadFM .datagrid-body"); + var footer =$("#depotHeadFM .datagrid-footer"); + var input = ".datagrid-editable-input"; + //点击商品下拉框,自动加载数量、单价、金额 + body.find("[field='Stock']").find(input).prop("readonly","readonly"); + //点击库存文本框,字段计算库存 + body.find("[field='Stock']").find(input).off("click").on("click",function(){ + var depotId = body.find("[field='DepotId']").find(".combo-value").val(); + var mId = body.find("[field='MaterialId']").find(".combo-value").val(); + var monthTime = getNowFormatMonth(); + if(depotId && mId){ + var ratio = body.find("[field='Unit']").find(input).attr("data-ratio"); + body.find("[field='Stock']").find(input).prop("readonly","readonly"); + //在新增的时候,这个ratio有值;在编辑的时候,这个ratio为undefined + var type = "click"; //type 类型:点击 click,选择 select + findStockNumById(depotId, mId, monthTime, body, input, ratio, type); + } + else{ + body.find("[field='Stock']").find(input).val(0).attr("data-stock",0); //加载库存数据 + } + }); + //修改数量,自动计算金额和合计,另外计算含税单价、税额、价税合计 + body.find("[field='OperNumber']").find(input).off("keyup").on("keyup",function(){ + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var OperNumber =$(this).val()-0; //数量 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + + }); + //修改单价,自动计算金额和合计 + body.find("[field='UnitPrice']").find(input).off("keyup").on("keyup",function(){ + var UnitPrice =$(this).val()-0; //单价 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //点击单价,自动提示参考价格列表 + body.find("[field='UnitPrice']").find(input).off("click").on("click",function(){ + var self = this; + var mValue = body.find("[field='MaterialId'] .combo-value").attr("value"); //获取选中的商品id + if(!mValue) { + return; + } + else { + if(listTitle!="销售出库列表" && listTitle!="采购退货列表" && listTitle!="其它出库列表" && listTitle!="调拨出库列表") { + return; + } + $.ajax({ + url: "/material/findById", + type: "get", + dataType: "json", + data: { + id: mValue - 0 + }, + success: function(res){ + if(res && res.rows && res.rows[0]) { + var retailPrice = res.rows[0].RetailPrice; + var presetPriceOne = res.rows[0].PresetPriceOne; + var presetPriceTwo = res.rows[0].PresetPriceTwo; + //定义模版 + var temp = "
"; + temp +="
    "; + temp +="
  • 批发价:" + presetPriceTwo + "
  • "; + temp +="
  • 零售价:" + retailPrice + "
  • "; + temp +="
"; + temp +="
"; + if($('.price-list').length){ + $('.price-list').remove(); //如果存在价格列表先移除 + } + else { + if(presetPriceTwo != undefined){ //多单位的商品 + $(self).after(temp); //加载列表信息 + } + } + $('.price-list ul li').off("click").on("click",function(){ + var price = $(this).text(); + price = price.substring(price.indexOf(":") + 1); + $(self).val(price); + $(self).keyup(); //模拟键盘操作 + $('.price-list').remove(); //移除价格列表 + }); + //点击空白处移除价格列表 + $(".datagrid-body").off("click").on("click",function(){ + $('.price-list').remove(); //移除价格列表 + }); + } + }, + error: function(){ + $.messager.alert('错误提示','查询商品信息异常,请稍后再试!','error'); + return; + } + }); + } + }); + //修改含税单价,自动计算单价、金额、税额、价税合计和合计 + body.find("[field='TaxUnitPrice']").find(input).off("keyup").on("keyup",function(){ + var TaxUnitPrice =$(this).val()-0; //含税单价 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var UnitPrice = TaxUnitPrice/(1+taxRate/100); //计算单价 + body.find("[field='UnitPrice']").find(input).val((UnitPrice).toFixed(2)); //单价 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改金额,自动计算单价、税额、价税合计和合计 + body.find("[field='AllPrice']").find(input).off("keyup").on("keyup",function(){ + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var AllPrice =$(this).val()-0; //金额 + var UnitPrice = (AllPrice/OperNumber).toFixed(2); + body.find("[field='UnitPrice']").find(input).val(UnitPrice); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改税率,自动计算含税单价、税额、价税合计和合计 + body.find("[field='TaxRate']").find(input).off("keyup").on("keyup",function(){ + var taxRate =$(this).val()-0; //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改税额,自动计算税率、含税单价、价税合计和合计 + body.find("[field='TaxMoney']").find(input).off("keyup").on("keyup",function(){ + var taxMoney =$(this).val()-0; //税额 + var AllPrice = body.find("[field='AllPrice']").find(input).val(); //金额 + var taxRate = taxMoney/AllPrice*100; //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxRate']").find(input).val((taxRate).toFixed(2)); //税率 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改价税合计,自动计算税率、含税单价、税额和合计 + body.find("[field='TaxLastMoney']").find(input).off("keyup").on("keyup",function(){ + var taxLastMoney =$(this).val()-0; //价税合计 + var AllPrice = body.find("[field='AllPrice']").find(input).val(); //金额 + var taxRate = (taxLastMoney-AllPrice)/AllPrice*100; //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxRate']").find(input).val((taxRate).toFixed(2)); //税率 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + + //加载税率 + if(thisTaxRate) { + body.find("[field='TaxRate']").find(input).val(thisTaxRate); + } + else { + body.find("[field='TaxRate']").find(input).val(0); //默认为0 + } + + //在商品类型加载 组装件、普通子件 + var mType = body.find("[field='MType']"); + var rowListLength = mType.find(input).closest(".datagrid-row").attr("datagrid-row-index"); + var mTypeValue = "组合件"; + if(rowListLength > 0){ + mTypeValue = "普通子件"; + } + if(listSubType == "组装单" || listSubType == "拆卸单"){ + mType.find(input).val(mTypeValue).prop("readonly","readonly"); + } + },500); +} + +//结束编辑 +function endEditing() { + if (editIndex == undefined) { return true } + if ($('#materialData').datagrid('validateRow', editIndex)) { + //仓库信息 + var edDepot = $('#materialData').datagrid('getEditor', {index:editIndex,field:'DepotId'}); + var DepotName = $(edDepot.target).combobox('getText'); + $('#materialData').datagrid('getRows')[editIndex]['DepotName'] = DepotName; + //商品信息 + var edMaterial = $('#materialData').datagrid('getEditor', {index:editIndex,field:'MaterialId'}); + var MaterialName = $(edMaterial.target).combobox('getText'); + $('#materialData').datagrid('getRows')[editIndex]['MaterialName'] = MaterialName; + $('#materialData').datagrid('endEdit', editIndex); + editIndex = undefined; + return true; + } else { + return false; + } +} +//单击 +function onClickRow(index) { + if (editIndex != index) { + if (endEditing()) { + $('#materialData').datagrid('selectRow', index).datagrid('beginEdit', index); + editIndex = index; + autoReckon(); + } else { + $('#materialData').datagrid('selectRow', editIndex); + } + } +} +//新增 +function append(){ + if (endEditing()) { + $('#materialData').datagrid('appendRow', {DepotId:defDepotId}); + editIndex = $('#materialData').datagrid('getRows').length - 1; + $('#materialData').datagrid('selectRow', editIndex).datagrid('beginEdit', editIndex); + autoReckon(); + } +} +//删除 +function batchDel(){ + /** + * 重写一下删除的逻辑 + * 获取所有选中行,直接从列表中移除 + * 点击保存时,将需要后台删除的数据提交到服务器 + * **/ + /** + * create by: qiankunpingtai + * create time: 2019/3/20 16:26 + * description: + * 这个地方比较坑的,花了一个多小时才搞明白为什么 + * 1、删除之前必须先调用endEditing结束编辑 + * 2、如果只是调用endEditing结束编辑那么正在编辑行的被选中状态会被去掉 + * 所以要在调用endEditing先获取选中的行 + */ + //如果编辑的行一开始是选中状态,结束编辑后仍然是选中状态 + var row = $('#materialData').datagrid('getChecked'); + if (endEditing()) { + if (row.length == 0) { + $.messager.alert('删除提示', '没有记录被选中!', 'info'); + return; + } + if (row.length > 0) { + $.messager.confirm('删除确认', '确定要删除选中的' + row.length + '条单据信息吗?', function (r) { + if (r) { + for (var i = 0; i < row.length; i++) { + $('#materialData').datagrid('deleteRow', $('#materialData').datagrid("getRowIndex", row[i])); + } + } + }); + } + } +} +function removeit(){ + if (editIndex == undefined) { return } + $('#materialData').datagrid('cancelEdit', editIndex) + .datagrid('deleteRow', editIndex); + editIndex = undefined; +} +//撤销 +function reject() { + $('#materialData').datagrid('rejectChanges'); + editIndex = undefined; +} +//判断 +function CheckData(type) { + append(); + removeit(); + var change = $('#materialData').datagrid('getChanges').length; + if(type =="add" && !change) { + $.messager.alert('提示','请输入明细信息!','warning'); + return false; + } + var row = $('#materialData').datagrid('getRows'); + if(!row.length){ + $.messager.alert('提示',"请输入明细信息!",'info'); + return false; + } + var totalRowNum = ""; + for (var i = 0; i < row.length; i++) { + if (row[i].DepotId == "" || row[i].MaterialId == "" || row[i].OperNumber == "" || row[i].UnitPrice === "" || row[i].AllPrice === "") { + totalRowNum += (i + 1) + "、"; + } + } + if (totalRowNum != "") { + var totalRowNum = totalRowNum.substring(0, totalRowNum.length - 1); + $.messager.alert('提示',"第" + totalRowNum + "行数据填写不完整!",'info'); + return false; + } + return true; +} +//保存 +function accept(accepId,fun) { + var inserted = $("#materialData").datagrid('getChanges', "inserted"); + var deleted = $("#materialData").datagrid('getChanges', "deleted"); + var updated = $("#materialData").datagrid('getChanges', "updated"); + $.ajax({ + type: "post", + url: "/depotItem/saveDetials", + data: { + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated), + headerId:accepId + }, + success: function (tipInfo) + { + if (tipInfo) { + $.messager.alert('提示','保存成功!','info'); + } + else { + $.messager.alert('提示', '保存失败!', 'error'); + } + fun && fun(); + }, + error: function (XmlHttpRequest, textStatus, errorThrown) + { + $.messager.alert('提示',XmlHttpRequest.responseText,'error'); + fun && fun(); + } + }); + if (endEditing()) { + $('#materialData').datagrid('acceptChanges'); + } +} +//获取MaxId +function getMaxId(){ + var depotHeadMax=null; + $.ajax({ + type:"get", + url: "/depotHead/getMaxId", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + depotHeadMax = res.data.maxId; + } + } + } + }); + + if(depotHeadMax !=null) { + depotHeadMaxId=depotHeadMax; + } +} + +/** + * 新增单据主表及单据子表 + * */ +function addDepotHeadAndDetail(url,infoStr){ + var inserted = null; + if(pageType === "skip") { + inserted = $("#materialData").datagrid('getChanges', "updated"); + } else { + inserted = $("#materialData").datagrid('getChanges', "inserted"); + } + var deleted = $("#materialData").datagrid('getChanges', "deleted"); + var updated = $("#materialData").datagrid('getChanges', "updated"); + $.ajax({ + type:"post", + url: url, + dataType: "json", + async : false, + data: ({ + info:infoStr, + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated) + }), + success: function (tipInfo){ + + if(tipInfo){ + if(tipInfo.code!=200){ + $.messager.alert('提示', tipInfo.msg, 'error'); + return; + } + $.messager.alert('提示','保存成功!','info'); + $('#depotHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showDepotHeadDetails(opts.pageNumber,opts.pageSize); + + }else { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + + + }); +} +/** + * 修改单据主表及单据子表 + * */ +function updateDepotHeadAndDetail(url,infoStr,preTotalPrice){ + var inserted = $("#materialData").datagrid('getChanges', "inserted"); + var deleted = $("#materialData").datagrid('getChanges', "deleted"); + var updated = $("#materialData").datagrid('getChanges', "updated"); + $.ajax({ + type:"post", + url: url, + dataType: "json", + async : false, + data: ({ + id:url.substring(url.lastIndexOf("?id=")+4,url.length), + info:infoStr, + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated), + preTotalPrice:preTotalPrice + }), + success: function (tipInfo){ + if(tipInfo){ + if(tipInfo.code!=200){ + $.messager.alert('提示', tipInfo.msg, 'error'); + return; + } + $.messager.alert('提示','保存成功!','info'); + $('#depotHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showDepotHeadDetails(opts.pageNumber,opts.pageSize); + if (endEditing()) { + $('#materialData').datagrid('acceptChanges'); + } + }else { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); +} + + + + diff --git a/erp_web/js/pages/materials/other_out_list.js b/erp_web/js/pages/materials/other_out_list.js new file mode 100644 index 00000000..662d9507 --- /dev/null +++ b/erp_web/js/pages/materials/other_out_list.js @@ -0,0 +1,3205 @@ +//初始化界面 +var defDepotId = null; +var kid = sessionStorage.getItem("userId"); +var pageType = getUrlParam('t'); //获取页面类型传值 +var depotList = null; +var depotID = null; +var supplierList = null; +var supplierID = null; +var personList = null; +var personID = null; +var ProjectSearch=null; +var userBusinessList=null; +var userdepot=null; +var depotHeadMaxId=null; //获取最大的Id +var accepId=null; //保存的主表id +var url; +var depotHeadID = 0; +var preTotalPrice = 0; //前一次加载的金额 +var orgDepotHead = ""; +var editIndex = undefined; +var listTitle = ""; //单据标题 +var listType = ""; //入库 出库 +var listSubType = ""; //采购 销售等 +var payTypeTitle = "";//付款 收款 +var organUrl = ""; //组织数据接口地址 +var amountNum = ""; //单据编号开头字符 +var depotString = ""; //店铺id列表 +/**默认编号有意义吗,不如空着吧*/ +var orgDefaultId=''; //单位默认编号 +var orgDefaultList; //存储查询出来的会员列表 +var accountList; //账户列表 +var outItemList; //支出项目列表 +var thisTaxRate = 0; //当前税率,选择供应商或者客户的时候设置 +var oldNumber = ""; //编辑前的单据编号 +var oldId = 0; //编辑前的单据Id +var otherColumns = true; //明细中的‘别名’列是否显示 +var btnEnableList = getBtnStr(); //获取按钮的权限 +var mPropertyList = ""; //商品属性列表 +var defaultAccountId = 0; //默认账户id +$(function(){ + //初始化系统基础信息 + getType(); + initSystemData_UB(); + initSelectInfo_UB(); + initSystemData_depot(); + initSelectInfo_depot(); + initSystemData_person(); + initSelectInfo_person(); + initSystemData_account(); + initSelectInfo_account(); + initSupplier(); //供应商 + initSalesman(); //销售人员 + initOutItemList(); //初始化支出项目 + initMProperty(); //初始化商品属性 + initTableData(); + ininPager(); + initForm(); + bindEvent();//绑定操作事件 +}); +//根据单据名称获取类型 +function getType(){ + listTitle = $("#tablePanel").prev().text(); + depotString = "|"; + //改变宽度和高度 + $("#searchPanel").panel({width:webW-2}); + $("#tablePanel").panel({width:webW-2}); + var supUrl = "/supplier/findBySelect_sup"; //供应商接口 + var cusUrl = "/supplier/findBySelect_cus?UBType=UserCustomer&UBKeyId=" + kid; //客户接口 + var retailUrl = "/supplier/findBySelect_retail"; //散户接口 + if(listTitle === "采购订单列表"){ + listType = "其它"; + listSubType = "采购订单"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "CGDD"; + } + else if(listTitle === "采购入库列表"){ + listType = "入库"; + listSubType = "采购"; + payTypeTitle = "付款"; + organUrl = supUrl; + amountNum = "CGRK"; + } + else if(listTitle === "零售退货列表"){ + listType = "入库"; + listSubType = "零售退货"; //注:用预付款购买的产品不能退货 + payTypeTitle = "付款"; + organUrl = retailUrl; + amountNum = "LSTH"; + } + else if(listTitle === "销售退货列表"){ + listType = "入库"; + listSubType = "销售退货"; + payTypeTitle = "付款"; + organUrl = cusUrl; + amountNum = "XSTH"; + } + else if(listTitle === "其它入库列表"){ + listType = "入库"; + listSubType = "其它"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "QTRK"; + } + else if(listTitle === "零售出库列表"){ + listType = "出库"; + listSubType = "零售"; + payTypeTitle = "收款"; + organUrl = retailUrl; + amountNum = "LSCK"; + } + else if(listTitle === "销售订单列表"){ + listType = "其它"; + listSubType = "销售订单"; + payTypeTitle = "隐藏"; + organUrl = cusUrl; + amountNum = "XSDD"; + } + else if(listTitle === "销售出库列表"){ + listType = "出库"; + listSubType = "销售"; + payTypeTitle = "收款"; + organUrl = cusUrl; + amountNum = "XSCK"; + } + else if(listTitle === "采购退货列表"){ + listType = "出库"; + listSubType = "采购退货"; + payTypeTitle = "收款"; + organUrl = supUrl; + amountNum = "CGTH"; + } + else if(listTitle === "其它出库列表"){ + listType = "出库"; + listSubType = "其它"; + payTypeTitle = "隐藏"; + organUrl = cusUrl; + amountNum = "QTCK"; + } + else if(listTitle === "调拨出库列表"){ + listType = "出库"; + listSubType = "调拨"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "DBCK"; + } + else if(listTitle === "组装单列表"){ + listType = "其它"; + listSubType = "组装单"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "ZZD"; + } + else if(listTitle === "拆卸单列表"){ + listType = "其它"; + listSubType = "拆卸单"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "CXD"; + } +} +//初始化系统基础信息 +function initSystemData_UB(){ + $.ajax({ + type:"get", + url: "/userBusiness/getBasicData", + data: ({ + KeyId:kid, + Type:"UserDepot" + }), + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if (res && res.code === 200) { + userBusinessList = res.data.userBusinessList; + } + else { + userBusinessList = null; + } + } + }); + +} +//初始化页面选项卡 +function initSelectInfo_UB(){ + + if(userBusinessList !=null) + { + if(userBusinessList.length>0) + { + //用户对应的仓库列表 [1][2][3]... + userdepot =userBusinessList[0].value; + } + } +} + + +//初始化系统基础信息 +function initSystemData_depot(){ + $.ajax({ + type:"get", + url: "/depot/getAllList", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200){ + depotList = res.data; + } else { + $.messager.alert('提示', '查找系统基础信息异常,请与管理员联系!', 'error'); + return; + } + } + }); +} +//初始化页面选项卡 +function initSelectInfo_depot(){ + var options = ""; + + if(depotList !=null) + { + options = ""; + for(var i = 0 ;i < depotList.length;i++) + { + var depot = depotList[i]; + + if(userdepot!=null) + { + if(userdepot.indexOf("["+depot.id+"]")!=-1) + { + if(depot.isDefault){ + defDepotId = depot.id; + } + options += ''; + depotString = depotString + depot.id + ","; + } + } + if(depot.type === 1){ + depotString = depotString + depot.id + ","; + } + } + depotString = depotString.substring(1, depotString.length-1); + $("#ProjectId").empty().append(options); + $("#AllocationProjectId").empty().append(options); + $("#searchProjectId").empty().append('').append(options); + } +} + +//初始化供应商、客户、散户信息 +function initSupplier(){ + $('#OrganId').combobox({ + url: organUrl, + valueField:'id', + textField:'supplier', + filter: function(q, row){ + var opts = $(this).combobox('options'); + return row[opts.textField].indexOf(q) >-1; + }, + onLoadSuccess: function(res) { + var data = $(this).combobox('getData'); + for(var i = 0; i<= data.length; i++){ + if(data && data[i] && data[i].supplier === "非会员"){ + orgDefaultId = data[i].id; + } + } + if(listSubType === "零售"){ + orgDefaultList = res; + } + }, + onSelect: function(rec){ + if(listSubType === "零售"){ + var option = ""; + if(rec.supplier !== "非会员" && rec.advanceIn >0){ + option = ''; + option += ''; + } + else { + option += ''; + } + $("#payType").empty().append(option); + } + else{ + $.ajax({ + type:"get", + url: "/supplier/findById", + data: { + supplierId: rec.id + }, + dataType: "json", + success: function (res){ + if(res && res.code === 200) { + if(res.data && res.data[0]){ + thisTaxRate = res.data[0].taxRate; //设置当前的税率 + } + } + }, + error:function(){ + + } + }); + } + } + }); +} + +//初始化销售人员 +function initSalesman(){ + $('#Salesman').combobox({ + url: "/person/getPersonByNumType?type=1", + valueField:'id', + textField:'name', + multiple: true + }); +} + +//初始化收入项目列表 +function initOutItemList(){ + $.ajax({ + type:"get", + url: "/inOutItem/findBySelect?type=out", + //设置为同步 + async:false, + dataType: "json", + success: function (res){ + if(res){ + outItemList = res; + } + }, + error:function(){ + + } + }); +} + +//初始化商品属性 +function initMProperty(){ + $.ajax({ + type: "get", + url: "/materialProperty/list", + dataType: "json", + data: ({ + search: JSON.stringify({ + name: "" + }), + currentPage: 1, + pageSize: 100 + }), + success: function (res) { + if(res && res.code === 200){ + if(res.data && res.data.page) { + var thisRows = res.data.page.rows; + for (var i = 0; i < thisRows.length; i++) { + if (thisRows[i].enabled) { + mPropertyList += thisRows[i].nativeName + ","; + } + } + if (mPropertyList) { + mPropertyList = mPropertyList.substring(0, mPropertyList.length - 1); + } + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('查询提示','查询信息异常,请稍后再试!','error'); + return; + } + }); +} + +//初始化系统基础信息 +function initSystemData_person(){ + $.ajax({ + type:"get", + url: "/person/getAllList", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + personList = res.data.personList; + } + } + } + }); +} +//初始化页面选项卡 +function initSelectInfo_person(){ + var options1 = ""; + + if(personList !=null) + { + for(var i = 0 ;i < personList.length;i++) + { + var person = personList[i]; + if(0 == i) + { + personID = person.id; + } + if(person.type=="仓管员") + { + options1 += ''; + } + } + $("#HandsPersonId").empty().append(options1); + } +} +//获取账户信息 +function initSystemData_account(){ + $.ajax({ + type:"get", + url: "/account/getAccount", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + accountList = res.data.accountList; + } + } + } + }); +} +//获取账户信息 +function initSelectInfo_account(){ + var options = ""; + if(accountList !=null){ + options = ""; + options += ""; + for(var i = 0 ;i < accountList.length;i++) { + var account = accountList[i]; + options += ''; + if(account.isdefault) { + defaultAccountId = account.id; //给账户赋值默认id + } + } + $("#AccountId").empty().append(options); + } +} + +//防止表单提交重复 +function initForm(){ + $('#depotHeadFM').form({ + onSubmit: function(){ + return false; + } + }); +} + +//初始化表格数据 +function initTableData(){ + if(pageType === "skip") { + var oldRowInfo = sessionStorage.getItem("rowInfo"); + editDepotHead(oldRowInfo); //自动弹出编辑框,带缓存数据 + } + var hideType = undefined; + var isHiddenStatus = true; + if(payTypeTitle === "隐藏"){ + hideType = true; //隐藏当前列 + } + var tableToolBar = [ + { + id:'addDepotHead', + text:'增加', + iconCls:'icon-add', + handler:function() + { + addDepotHead(); + } + }, + { + id:'deleteDepotHead', + text:'删除', + iconCls:'icon-remove', + handler:function() + { + batDeleteDepotHead(); + } + } + ]; + //如果允许的按钮列表中存在就显示,3-代表审核|反审核的权限 + if(btnEnableList && btnEnableList.indexOf(3)>-1){ + isHiddenStatus = false; //显示 + tableToolBar.push({ + id:'okDepotHead', + text:'审核', + iconCls:'icon-ok', + handler:function() { + setStatusFun(); + } + }, + { + id:'undoDepotHead', + text:'反审核', + iconCls:'icon-undo', + handler:function() { + setUnStatusFun(); + } + }); + } + else { + isHiddenStatus = true; //隐藏 + } + var isShowLastMoneyColumn = false; //是否显示优惠后金额和价税合计,true为隐藏,false为显示 + if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowLastMoneyColumn = true; //隐藏 + } + var isShowOrganNameColumn = false; //是否显示供应商、客户等信息,true为隐藏,false为显示 + var organNameTitle = ""; //组织名称标题 + if(listSubType == "调拨" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowOrganNameColumn = true; //隐藏 + } + else { + if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "采购退货列表" || listTitle == "其它入库列表"){ + organNameTitle = "供应商名称"; + } + else if(listTitle == "销售订单列表" || listTitle == "销售退货列表" || listTitle == "销售出库列表" || listTitle == "其它出库列表"){ + organNameTitle = "客户名称"; + } + else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ + organNameTitle = "会员卡号"; + } + } + var opWidth = 90; //操作宽度 + var isShowSkip = false; //是否显示跳转按钮 + var opTitle = ""; //跳转按钮的标题 + if(listTitle == "采购订单列表") { + opWidth = 120; + isShowSkip = true; + opTitle = "转采购入库"; + } else if(listTitle == "销售订单列表") { + opWidth = 120; + isShowSkip = true; + opTitle = "转销售出库"; + } + $('#tableData').datagrid({ + height:heightInfo, + rownumbers: false, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + pagination: true, + //交替出现背景 + striped : true, + pageSize: 10, + pageList: initPageNum, + columns:[[ + { field: 'id',width:35,align:"center",checkbox:true}, + { title: '操作',field: 'op',align:"center",width:opWidth, + formatter:function(value, rec,index) { + var str = ''; + // var rowInfo = rec.id + 'AaBb' + rec.projectid+ 'AaBb' + rec.number+ 'AaBb' + rec.operpersonname + // + 'AaBb' + rec.opertimeStr+ 'AaBb' + rec.organid+ 'AaBb' + rec.handspersonid + // + 'AaBb' + rec.accountid+ 'AaBb' + rec.changeamount+ 'AaBb' + rec.remark + // + 'AaBb' + rec.projectName+ 'AaBb' + rec.organName+ 'AaBb' + rec.handsPersonName + // + 'AaBb' + rec.accountName + 'AaBb' + rec.totalprice + 'AaBb' + rec.allocationprojectid + // + 'AaBb' + rec.allocationProjectName + 'AaBb' + rec.paytype + 'AaBb' + rec.salesman + // + 'AaBb' + rec.discount + 'AaBb' + rec.discountmoney + 'AaBb' + rec.discountlastmoney + // + 'AaBb' + rec.accountidlist + 'AaBb' + rec.accountmoneylist + // + 'AaBb' + rec.othermoney + 'AaBb' + rec.othermoneylist + 'AaBb' + rec.othermoneyitem + // + 'AaBb' + rec.accountday + 'AaBb' + rec.linknumber; + // rowInfo = rowInfo.replace(/\"/g, ""); + // rowInfo = rowInfo.replace(/\[|]/g,""); + var orgId = rec.organid? rec.organid:0; + str += '   '; + str += '   '; + str += ''; + if(isShowSkip) { + str += '   '; + } + return str; + } + }, + { title: organNameTitle, field: 'organName',width:120, hidden:isShowOrganNameColumn}, + { title: '单据编号',field: 'number',width:135, formatter:function (value,rec) { + if(rec.linknumber) { + return value + "[转]"; + } else { + return value; + } + } + }, + { title: '商品信息',field: 'materialsList',width:180,formatter:function(value){ + if(value) { + return value.replace(",",","); + } + } + }, + { title: '单据日期',field: 'opertimeStr',width:130}, + { title: '操作员',field: 'operpersonname',width:60}, + { title: '金额合计',field: 'totalprice',width:60}, + { title: '含税合计',field: 'totaltaxlastmoney',hidden:isShowLastMoneyColumn,width:60,formatter:function(value,rec){ + return (rec.discountmoney + rec.discountlastmoney).toFixed(2); + } + }, + { title: '优惠后金额',field: 'discountlastmoney',hidden:isShowLastMoneyColumn,width:80}, + { title: payTypeTitle,field: 'changeamount',width:50,hidden:hideType}, + { title: '状态',field: 'status',hidden:isHiddenStatus, width:70,align:"center",formatter:function(value){ + if(value === "0") { + return "未审核"; + } else if(value === "1") { + return "已审核"; + } else if(value === "2") { + if(listTitle == "采购订单列表") { + return "已转采购"; + } else if(listTitle == "销售订单列表") { + return "已转销售"; + } + } + } + } + ]], + toolbar:tableToolBar, + onLoadError:function() { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); +} + +//查找库存的方法 +function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ + var thisRatio = 1; //比例 + $.ajax({ + url: "/material/findById", + type: "get", + dataType: "json", + data: { + id: mId + }, + success: function (rec) { + if(rec && rec.code === 200 && rec.data && rec.data[0]) { + var loadRatio = 1; //在单位输入框上面加载比例字段 + if(rec.data[0].unit) { //如果存在计量单位信息 + loadRatio = 1; + } + else{ + var unitName = rec.data[0].unitName; + if(unitName) { + thisRatio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); + unitName = unitName.substring(0, unitName.indexOf("(")); + } + var unitArr = unitName.split(","); + var basicUnit = unitArr[0]; //基础单位 + var otherUnit = unitArr[1]; //副单位 + var unitSetInput =""; //单位 + if(listSubType === "采购订单" || listSubType === "采购" || listSubType === "采购退货"){ + unitSetInput = rec.data[0].firstinunit; + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = thisRatio; + } + } + else if(listSubType === "销售订单" || listSubType === "销售" || listSubType === "销售退货" || listSubType === "零售" || listSubType === "零售退货"){ + unitSetInput = rec.data[0].firstoutunit; + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = thisRatio; + } + } + } + //查询库存 + $.ajax({ + type: "get", + url: '/depotItem/findStockNumById', + data:{ + projectId: depotId, + materialId: mId, + monthTime: monthTime, + currentPage: 1, + pageSize: 10 + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if (res.data && res.data.page && res.data.page[0]) { + var thisStock = res.data.page[0].thisSum; + if (type == "select") { //选择下拉框的时候 + if (ratio != undefined && ratio != 1) { + loadRatio = ratio; + } + } + else if (type == "click") { //点击库存的时候 + if (ratio != undefined) { + loadRatio = ratio; + } + } + thisStock = (thisStock / loadRatio).toFixed(2); + body.find("[field='Stock']").find(input).val(thisStock).attr("data-stock", res.data.page[0].thisSum); //加载库存数据 + } + else { + body.find("[field='Stock']").find(input).val(0).attr("data-stock", 0); //加载库存数据 + } + body.find("[field='Stock']").find(input).prop("readonly", "readonly"); //设置库存数据为只读 + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); + } + }, + error: function () { + $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); + } + }); +} +//优惠率、合计的统计方法 +function statisticsFun(body,UnitPrice,OperNumber,footer,taxRate){ + var TotalPrice = 0; + var taxLastMoneyTotal = 0; + //金额的合计 + body.find("[field='AllPrice']").each(function(){ + if($(this).find("div").text()!==""){ + TotalPrice = TotalPrice + parseFloat($(this).find("div").text().toString()); + } + }); + TotalPrice = TotalPrice + UnitPrice*OperNumber; + footer.find("[field='AllPrice']").find("div").text((TotalPrice).toFixed(2)); //金额的合计 + //价税合计的总计 + body.find("[field='TaxLastMoney']").each(function(){ + if($(this).find("div").text()!==""){ + taxLastMoneyTotal = taxLastMoneyTotal + (parseFloat($(this).find("div").text().toString())-0); + } + }); + taxLastMoneyTotal = taxLastMoneyTotal + (UnitPrice*OperNumber*(1+taxRate/100)); + footer.find("[field='TaxLastMoney']").find("div").text((taxLastMoneyTotal).toFixed(2)); //价税合计的页脚总计 + var discount = $("#Discount").val(); //优惠率 + var discountMoney = (taxLastMoneyTotal*discount/100).toFixed(2); + $("#DiscountMoney").val(discountMoney);//优惠金额 + var discountLastMoney = (taxLastMoneyTotal*(1-discount/100)).toFixed(2) + $("#DiscountLastMoney").val(discountLastMoney);//优惠后金额 + if($("#AccountId").val()!=="many"){ + $("#ChangeAmount").val(discountLastMoney); //本次付、收款 + } + var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 + $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 + + if(listSubType == "零售" || listSubType == "零售退货") { + $("#ChangeAmount, #getAmount").val((TotalPrice).toFixed(2)); + $("#backAmount").val(0); + } +} +//初始化表格数据-商品列表-编辑状态 +function initTableData_material(type,TotalPrice){ + var body,footer,input; //定义表格和文本框 + var ratio = 1; //比例-品名专用 + var ratioDepot = 1; //比例-仓库用 + var monthTime = getNowFormatMonth(); + var isShowAnotherDepot = true; //显示对方仓库,true为隐藏,false为显示 + var depotHeadName = ""; //仓库名称 + var depotUrl = ""; //仓库接口地址 + var depotTextField = ""; //仓库下拉名称 + var anotherDepotHeadName = ""; //对方仓库的列的标题 + var anotherDepotUrl = ""; //对方仓库接口地址 + var anotherDepotTextField = ""; + if(listSubType == "调拨"){ + isShowAnotherDepot = false; //调拨时候显示对方仓库 + anotherDepotHeadName = "调入仓库"; + anotherDepotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; + anotherDepotTextField = "depotName"; + } + depotHeadName = "仓库名称"; + depotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; + depotTextField = "depotName"; + var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 + if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowTaxColumn = true; //隐藏 + } + var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 + if(listSubType == "组装单" || listSubType == "拆卸单"){ + isShowMaterialTypeColumn = false; //显示 + } + $('#materialData').datagrid({ + height:245, + rownumbers: false, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + //单击行是否选中 + checkOnSelect : false, + pagination: false, + //交替出现背景 + striped : true, + showFooter: true, + //loadFilter: pagerFilter, + onClickRow: onClickRow, + columns:[[ + { field: 'Id',width:35,align:"center",checkbox:true}, + { title: '商品类型',field: 'MType',editor:'validatebox',hidden:isShowMaterialTypeColumn,width:80}, + { title: depotHeadName, field: 'DepotId', editor: 'validatebox', width: 90, + formatter: function (value, row, index) { + return row.DepotName; + }, + editor: { + type: 'combobox', + options: { + valueField: 'id', + textField: depotTextField, + method: 'get', + url: depotUrl, + onSelect:function(rec){ + var depotId = rec.id; + body =$("#depotHeadFM .datagrid-body"); + footer =$("#depotHeadFM .datagrid-footer"); + input = ".datagrid-editable-input"; + var mId = body.find("[field='MaterialId']").find(".combo-value").val(); + if(mId){ + var type = "select"; //type 类型:点击 click,选择 select + findStockNumById(depotId, mId, monthTime, body, input, ratioDepot, type); + } + } + } + } + }, + { title: '品名(型号)(扩展信息)(单位)',field: 'MaterialId',width:230, + formatter:function(value,row,index){ + return row.MaterialName; + }, + editor:{ + type:'combobox', + options:{ + valueField:'Id', + textField:'MaterialName', + method:'get', + url: "/material/findBySelect", + panelWidth: 300, //下拉框的宽度 + //全面模糊匹配,过滤字段 + filter: function(q, row){ + var opts = $(this).combobox('options'); + return row[opts.textField].indexOf(q) >-1; + }, + onBeforeLoad: function(param){ + param.mpList = mPropertyList; //商品属性 + }, + onSelect:function(rec){ + if(rec) { + var mId = rec.Id; + $.ajax({ + url: "/material/findById", + type: "get", + dataType: "json", + data: { + id: mId + }, + success: function (res) { + if(res && res.code === 200 && res.data && res.data[0]) { + var retailPrice = res.data[0].retailprice-0; //零售价格 + var presetPriceOne = res.data[0].presetpriceone-0; //预计采购价 + var presetPriceTwo = res.data[0].presetpricetwo-0; //批发价 + var firstInUnit = res.data[0].firstinunit; //首选入库单位 + var firstOutUnit = res.data[0].firstoutunit; //首选出库单位 + var basicPresetPriceOne = ""; //多单位-入库-基础价格 + var basicPresetPriceTwo = ""; //多单位-出库-基础价格 + var retailPriceOne = ""; //多单位-入库-零售价格 + var otherPresetPriceOne = ""; //多单位-入库-其他价格 + var otherPresetPriceTwo = ""; //多单位-出库-其他价格 + var retailPriceTwo = ""; //多单位-出库-零售价格 + var basicUnit = ""; //基础单位 + var otherUnit = ""; //其他单位 + if(!res.data[0].unit){ + var ps = res.data[0].pricestrategy; + var psObj = JSON.parse(ps); + basicPresetPriceOne = psObj[0].basic.PresetPriceOne-0; + basicPresetPriceTwo = psObj[0].basic.PresetPriceTwo-0; + retailPriceOne = psObj[0].basic.RetailPrice-0; + otherPresetPriceOne = psObj[1].other.PresetPriceOne-0; + otherPresetPriceTwo = psObj[1].other.PresetPriceTwo-0; + retailPriceTwo = psObj[1].other.RetailPrice-0; + basicUnit = psObj[0].basic.Unit; + otherUnit = psObj[1].other.Unit; + } + body =$("#depotHeadFM .datagrid-body"); + footer =$("#depotHeadFM .datagrid-footer"); + input = ".datagrid-editable-input"; + if(res.data[0].unit){ //如果存在计量单位信息 + ratio = 1; //重置比例为1 + body.find("[field='Unit']").find(input).val(res.data[0].unit); //设置-计量单位信息 + body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 + body.find("[field='Unit']").find(input).off("click"); //移除点击事件 + body.find("[field='Unit']").find(input).attr("data-ratio",ratio); //修改比例缓存信息 + } + else { + var unitName = res.data[0].unitName; + if(unitName) { + ratio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); //给比例赋值 + unitName = unitName.substring(0, unitName.indexOf("(")); + } + var unitArr = unitName.split(","); + var basicUnit = unitArr[0]; //基础单位 + var otherUnit = unitArr[1]; //副单位 + var unitSetInput =""; //单位 + body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 + var loadRatio = 1; //在单位输入框上面加载比例字段 + if(listSubType === "采购" || listSubType === "采购退货" || listSubType === "采购订单"){ + unitSetInput = res.data[0].firstinunit; //给单位文本框赋值 + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = ratio; + } + } + else if(listSubType === "销售" || listSubType === "销售退货" || listSubType === "销售订单" || listSubType === "零售" || listSubType === "零售退货"){ + unitSetInput = res.data[0].firstoutunit; //给单位文本框赋值 + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = ratio; + } + } + body.find("[field='Unit']").find(input).val(unitSetInput).attr("data-ratio", loadRatio); //设置-首选单位 + + body.find("[field='Unit']").find(input).off("click").on("click",function(){ + if(basicUnit && otherUnit) { + var self = this; + //定义模版 + var temp = "
"; + temp +="
    "; + temp +="
  • " + basicUnit + "
  • "; + temp +="
  • " + otherUnit + "
  • "; + temp +="
"; + temp +="
"; + if($('.unit-list').length){ + $('.unit-list').remove(); //如果存在计量单位列表先移除 + } + else { + $(self).after(temp); //加载列表信息 + } + //计量单位列表的单击事件 + $('.unit-list ul li').off("click").on("click",function(){ + var unit = $(this).text(); + var thisRatio = $(this).attr("data-ratio"); //获取比例 + $(self).val(unit).attr("data-ratio", thisRatio); + $(self).keyup(); //模拟键盘操作 + $('.unit-list').remove(); //移除计量单位列表 + var stock = body.find("[field='Stock']").find(input).attr("data-stock"); //从缓存中取值 + var type = $(this).attr("data-type"); + var UnitPrice = 0; + if(type === "basic"){ + if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { + UnitPrice = basicPresetPriceOne; + } + else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { + UnitPrice = basicPresetPriceTwo; + } + else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ + UnitPrice = retailPriceOne; + } + body.find("[field='Stock']").find(input).val(stock); //修改库存 + } + else if(type === "other"){ + if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { + UnitPrice = otherPresetPriceOne; + } + else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { + UnitPrice = otherPresetPriceTwo; + } + else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ + UnitPrice = retailPriceTwo; + } + body.find("[field='Stock']").find(input).val((stock/ratio).toFixed(2)); //修改库存 + } + body.find("[field='UnitPrice']").find(input).val(UnitPrice); //单价 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //获取数量 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //获取税率 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //点击空白处移除计量单位列表 + $(".datagrid-body").off("click").on("click",function(){ + $('.unit-list').remove(); //移除计量单位列表 + }); + } + }); + } + var detailPrice = 0; //明细列表-单价 + if(listSubType == "零售" || listSubType == "零售退货") { + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = retailPrice; + } + else { + if (firstOutUnit == basicUnit) { + detailPrice = retailPriceOne; + } + else if (firstOutUnit == otherUnit) { + detailPrice = retailPriceTwo; + } + } + } + else if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = presetPriceOne; + } + else { + if (firstInUnit == basicUnit) { + detailPrice = basicPresetPriceOne; + } + else if (firstInUnit == otherUnit) { + detailPrice = otherPresetPriceOne; + } + } + } + else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = presetPriceTwo; + } + else { + if(firstOutUnit==basicUnit) { + detailPrice = basicPresetPriceTwo; + } + else if(firstOutUnit==otherUnit){ + detailPrice = otherPresetPriceTwo; + } + } + } + body.find("[field='OperNumber']").find(input).val(1); //数量初始化为1 + //单价和总价赋值 + if(!detailPrice) { + detailPrice = 0; + } + body.find("[field='UnitPrice']").find(input).val(detailPrice); + body.find("[field='AllPrice']").find(input).val(detailPrice); + var taxRate = body.find("[field='TaxRate']").find(input).val()-0; //获取税率 + body.find("[field='TaxUnitPrice']").find(input).val((detailPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((detailPrice*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((detailPrice*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,detailPrice,1,footer,taxRate); + + //查询库存信息 + var depotId = body.find("[field='DepotId']").find(".combo-value").val(); + if(depotId) { + var type = "select"; //type 类型:点击 click,选择 select + findStockNumById(depotId, mId, monthTime, body, input, loadRatio, type); + } + } + }, + error: function() { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + } + }); + } + } + } + } + }, + { title: '库存',field: 'Stock',editor:'validatebox',width:70}, + { title: anotherDepotHeadName, field: 'AnotherDepotId',editor:'validatebox',hidden:isShowAnotherDepot,width:90, + formatter: function (value, row, index) { + return row.AnotherDepotName; + }, + editor: { + type: 'combobox', + options: { + valueField: 'id', + textField: anotherDepotTextField, + method: 'get', + url: anotherDepotUrl + } + } + }, + { title: '单位',field: 'Unit',editor:'validatebox',width:60}, + { title: '数量',field: 'OperNumber',editor:'validatebox',width:60}, + { title: '单价',field: 'UnitPrice',editor:'validatebox',width:60}, + { title: '含税单价',field: 'TaxUnitPrice',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '金额',field: 'AllPrice',editor:'validatebox',width:75}, + { title: '税率(%)',field: 'TaxRate',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '税额',field: 'TaxMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '价税合计',field: 'TaxLastMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '备注',field: 'Remark',editor:'validatebox',width:120}, + { title: '品名-别',field: 'OtherField1',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '型号-别',field: 'OtherField2',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '颜色-别',field: 'OtherField3',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '备注1',field: 'OtherField4',editor:'validatebox',hidden:true,width:60}, + { title: '备注2',field: 'OtherField5',editor:'validatebox',hidden:true,width:60} + ]], + toolbar:[ + { + id:'append', + text:'新增', + iconCls:'icon-add', + handler:function() + { + append(); //新增 + } + }, + { + id:'delete', + text:'删除', + iconCls:'icon-remove', + handler:function() + { + batchDel(); //删除 + } + }, + { + id:'reject', + text:'撤销', + iconCls:'icon-undo', + handler:function() + { + reject(); //撤销 + } + } + ], + onLoadError:function() + { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); + $.ajax({ + type:"get", + url: '/depotItem/getDetailList', + data: { + headerId: depotHeadID, + mpList: mPropertyList + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + var data = res.data; + var AllPrice = 0; + var TaxLastMoney = 0; + var DiscountMoney = $("#DiscountMoney").val()-0; //优惠金额 + var DiscountLastMoney = $("#DiscountLastMoney").val()-0; //优惠后金额 + if(type === "edit") { + AllPrice = TotalPrice; + TaxLastMoney = DiscountMoney + DiscountLastMoney; + } + var array = []; + array.push({ + "AllPrice": AllPrice, + "TaxLastMoney": TaxLastMoney + }); + data.footer = array; + $("#materialData").datagrid('loadData',data); + //如果是订单跳转到采购或销售 + if(pageType === "skip") { + var skipList = $("#depotHeadFM .datagrid-body tr"); + //逐条自动点击每行数据 + skipList.each(function (i) { + setTimeout(function () { + skipList.eq(i).find("[field='Stock']").click(); + },(i+1)*1000); + }); + } + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); +} + +//初始化表格数据-商品列表-查看状态 +function initTableData_material_show(TotalPrice){ + var isShowAnotherDepot = true; //显示对方仓库,true为隐藏,false为显示 + var anotherDepotHeadName = ""; //对方仓库的列的标题 + var depotHeadName = ""; //仓库的列的标题 + if(listSubType == "调拨"){ + isShowAnotherDepot = false; //调拨时候显示对方仓库 + anotherDepotHeadName = "调入仓库"; + } + depotHeadName = "仓库名称"; + var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 + if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowTaxColumn = true; //隐藏 + } + var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 + if(listSubType == "组装单" || listSubType == "拆卸单"){ + isShowMaterialTypeColumn = false; //显示 + } + $('#materialDataShow').datagrid({ + height:245, + rownumbers: true, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + pagination: false, + //交替出现背景 + striped : true, + showFooter: true, + onClickRow: onClickRow, + columns:[[ + { title: '商品类型',field: 'MType',width:80, hidden:isShowMaterialTypeColumn}, + { title: depotHeadName,field: 'DepotName',editor:'validatebox',width:90}, + { title: '品名(型号)(扩展信息)(单位)',field: 'MaterialName',width:230}, + { title: anotherDepotHeadName,field: 'AnotherDepotName',hidden:isShowAnotherDepot,width:90}, + { title: '单位',field: 'Unit',editor:'validatebox',width:60}, + { title: '数量',field: 'OperNumber',editor:'validatebox',width:60}, + { title: '单价',field: 'UnitPrice',editor:'validatebox',width:60}, + { title: '含税单价',field: 'TaxUnitPrice',editor:'validattebox',hidden:isShowTaxColumn,width:75}, + { title: '金额',field: 'AllPrice',editor:'validatebox',width:75}, + { title: '税率',field: 'TaxRate',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '税额',field: 'TaxMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '价税合计',field: 'TaxLastMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '备注',field: 'Remark',editor:'validatebox',width:120}, + { title: '品名-别',field: 'OtherField1',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '型号-别',field: 'OtherField2',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '颜色-别',field: 'OtherField3',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '备注1',field: 'OtherField4',editor:'validatebox',hidden:true,width:60}, + { title: '备注2',field: 'OtherField5',editor:'validatebox',hidden:true,width:60} + ]], + onLoadError:function() { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); + $.ajax({ + type:"get", + url: '/depotItem/getDetailList', + data: { + headerId: depotHeadID, + mpList: mPropertyList + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + var data = res.data; + var AllPrice = TotalPrice; + var DiscountMoney = $("#DiscountMoneyShow").text() - 0; //优惠金额 + var DiscountLastMoney = $("#DiscountLastMoneyShow").text() - 0; //优惠后金额 + var array = []; + array.push({ + "AllPrice": AllPrice, + "TaxLastMoney": DiscountMoney + DiscountLastMoney + }); + data.footer = array; + $("#materialDataShow").datagrid('loadData', data); + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); +} + +//分页信息处理 +function ininPager(){ + try + { + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + pager.pagination({ + onSelectPage:function(pageNum, pageSize) + { + opts.pageNumber = pageNum; + opts.pageSize = pageSize; + pager.pagination('refresh', + { + pageNumber:pageNum, + pageSize:pageSize + }); + showDepotHeadDetails(pageNum,pageSize); + } + }); + } + catch (e) + { + $.messager.alert('异常处理提示',"分页信息异常 : " + e.name + ": " + e.message,'error'); + } +} + +//删除单据信息 +function deleteDepotHead(depotHeadID, thisOrganId, totalPrice, status){ + if(status == "1" || status == "2") { + $.messager.alert('删除提示','已审核和已转的单据不能删除!','warning'); + return; + } + $.messager.confirm('删除确认','确定要删除此单据信息吗?',function(r) { + if (r) { + $.ajax({ + type:"post", + // url: "/depotHead/" + depotHeadID + "/delete", + url: "/depotHead/deleteDepotHeadAndDetail", + dataType: "json", + data:{ + id: depotHeadID + }, + success: function (res) { + if(res && res.code == 200) { + $("#searchBtn").click(); + } else { + $.messager.alert('删除提示', '删除单据信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('删除提示','删除单据信息异常,请稍后再试!','error'); + return; + } + }); + + //更新会员的预收款信息 + if(listSubType === "零售") { + $.ajax({ + type:"post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data:{ + supplierId: thisOrganId, //会员id + advanceIn: totalPrice //删除时同时返还用户的预付款 + }, + success: function(res){ + if(res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function(){ + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + } + }); +} + +//订单转采购或销售 +function skipDepotHead(index, status){ + //获取当前行 + var rowsdata = $("#tableData").datagrid("getRows")[index]; + if(status == "0" || status == "2") { + $.messager.alert('提示','未审核和已转的单据禁止操作!','warning'); + } else { + sessionStorage.setItem("rowInfo", JSON.stringify(rowsdata)); //将单据信息存入缓存中 + if(listTitle == "采购订单列表") { + parent.addTab("订单转采购", "../materials/purchase_in_list.html?t=skip", ""); + } else if(listTitle == "销售订单列表") { + parent.addTab("订单转销售", "../materials/sale_out_list.html?t=skip", ""); + } + } +} + +//批量删除单据信息 +function batDeleteDepotHead(){ + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) + { + $.messager.alert('删除提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) + { + $.messager.confirm('删除确认','确定要删除选中的' + row.length + '条单据信息吗?',function(r) + { + if (r) { + var ids = ""; + for (var i = 0; i < row.length; i++) { + if (i == row.length - 1) { + if (row[i].status == 0) { + ids += row[i].id; + } + break; + } + ids += row[i].id + ","; + } + if (ids) { + //批量更新会员的预收款信息 + for (var i = 0; i < row.length; i++) { + if (listSubType === "零售") { + $.ajax({ + type: "post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data: { + supplierId: row[i].organid, //会员id + advanceIn: row[i].totalprice //删除时同时返还用户的预付款 + }, + success: function (res) { + if (res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function () { + $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); + return; + } + }); + } + } + //批量删除 + $.ajax({ + type: "post", + // url: "/depotHead/batchDelete", + url: "/depotHead/batchDeleteDepotHeadAndDetail", + dataType: "json", + async: false, + data: ({ + ids: ids + }), + success: function (res) { + if (res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('删除提示', '删除单据信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('删除提示', '删除单据信息异常,请稍后再试!', 'error'); + return; + } + }); + } else { + $.messager.alert('删除提示','没有能删除的单据!','warning'); + } + } + }); + } +} + +//批量审核 +function setStatusFun() { + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) { + $.messager.alert('审核提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) { + $.messager.confirm('审核确认','确定要审核选中的' + row.length + '条信息吗?',function(r) + { + if (r) + { + var ids = ""; + for(var i = 0;i < row.length; i ++) + { + if(i == row.length-1) + { + if(row[i].status != "2") { + ids += row[i].id; + } + break; + } + ids += row[i].id + ","; + } + if(ids) { + $.ajax({ + type:"post", + url: "/depotHead/batchSetStatus", + dataType: "json", + async : false, + data: ({ + status: "1", + depotHeadIDs : ids + }), + success: function (res) { + if(res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('审核提示', '审核信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('审核提示','审核信息异常,请稍后再试!','error'); + return; + } + }); + } else { + $.messager.alert('审核提示','没有能审核的单据!','warning'); + } + } + }); + } +} + +//批量反审核 +function setUnStatusFun() { + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) + { + $.messager.alert('反审核提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) + { + $.messager.confirm('反审核确认','确定要反审核选中的' + row.length + '条信息吗?',function(r) + { + if (r) + { + var ids = ""; + for(var i = 0;i < row.length; i ++) + { + if(i == row.length-1) + { + if(row[i].status != "2") { + ids += row[i].id; + } + break; + } + ids += row[i].id + ","; + } + if(ids) { + $.ajax({ + type: "post", + url: "/depotHead/batchSetStatus", + dataType: "json", + async: false, + data: ({ + status: "0", + depotHeadIDs: ids + }), + success: function (res) { + if (res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('反审核提示', '反审核信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('反审核提示', '反审核信息异常,请稍后再试!', 'error'); + return; + } + }); + } else { + $.messager.alert('反审核提示','没有能反审核的单据!','warning'); + } + } + }); + } +} + +//生成单据编号 +function buildNumber() { + $.ajax({ + type: "get", + url: "/depotHead/buildNumber", + success:function(res){ + if(res && res.code === 200){ + var obj = res.data; + var defaultNumber = obj.DefaultNumber; + var newNumber = amountNum + defaultNumber; + $("#Number").val(newNumber).attr("data-defaultNumber",newNumber); + } + }, + error:function(){ + $.messager.alert('提示','生成单据编号失败!','error'); + } + }); +} + +//新增信息 +function addDepotHead(){ + $('#depotHeadFM').form('clear'); + var thisDateTime = getNowFormatDateTime(); //当前时间 + $("#OperTime").val(thisDateTime); + buildNumber(); //生成单据编号 + //初始化优惠率、优惠金额、优惠后金额、本次付|收款、本次欠款 为0 + $("#Discount").val(0); + $("#DiscountMoney").val(0); + $("#DiscountLastMoney").val(0); + $("#ChangeAmount").val(0); + $("#Debt").val(0); + $("#AccountId").val(defaultAccountId); //初始化默认的账户Id + var addTitle = listTitle.replace("列表","信息"); + $('#depotHeadDlg').dialog('open').dialog('setTitle',' 增加' + addTitle); + $(".window-mask").css({ width: webW ,height: webH}); + + orgDepotHead = ""; + depotHeadID = 0; + initTableData_material("add"); //商品列表 + reject(); //撤销下、刷新商品列表 + $("#addOrgan").off("click").on("click",function(){ + $('#supplierDlg').dialog('open').dialog('setTitle',' 增加供应商信息'); + $('#supplierFM').form('clear'); + }); + + $("#addMember").off("click").on("click",function(){ + $('#supplierDlg').dialog('open').dialog('setTitle',' 增加会员信息'); + $('#supplierFM').form('clear'); + }); + $("#addCustomer").off("click").on("click",function(){ + $('#supplierDlg').dialog('open').dialog('setTitle',' 增加客户信息'); + $('#supplierFM').form('clear'); + }); + url = '/depotHead/addDepotHeadAndDetail'; + + //零售单据修改收款时,自动计算找零 + if(listSubType == "零售" || listSubType == "零售退货") { + $("#payType").val("现付"); + $("#OrganId").combobox("setValue", orgDefaultId); //自动默认选择非会员 + // 鼠标点下时清空选择项 + $("#OrganId").next().find("input").off("mousedown").on("mousedown",function(){ + $("#OrganId").combobox("setValue", ""); + }); + //当会员卡号长度超过10位后,自动点击下拉框,用于兼容刷卡器 + $("#OrganId").next().find("input").off("keyup").on("keyup",function(){ + var self = this; + if($(this).val().length === 10){ + setTimeout(function(){ + $(".combo-panel .combobox-item-selected").click(); + //更新付款类型,加载会员的预付款的金额 + for(var i=0; i0){ + option = ''; + option += ''; + } + else { + option += ''; + } + $("#payType").empty().append(option); + } + } + },1000); + } + }); + var getAmount = $("#depotHeadFM .get-amount"); + var changeAmount = $("#depotHeadFM .change-amount"); + var backAmount = $("#depotHeadFM .back-amount"); + getAmount.val(0); changeAmount.val(0); backAmount.val(0); //时间初始化 + getAmount.off("keyup").on("keyup",function() { + if(changeAmount.val()){ + backAmount.val((getAmount.val()-changeAmount.val()).toFixed(2)); + } + }); + } +} + +//编辑信息 +function editDepotHead(index, status){ + if(status == "1" || status == "2") { + $.messager.alert('编辑提示','已审核和已转的单据不能编辑!','warning'); + return; + } + // var depotHeadInfo = depotHeadTotalInfo.split("AaBb"); + //获取当前行 + var rowsdata =''; + if(Number(index).toString()=='NaN'){ + rowsdata=$.parseJSON(index); + }else{ + rowsdata=$("#tableData").datagrid("getRows")[index]; + } + $("#ProjectId").focus().val(rowsdata.projectid); + var ProjectId=rowsdata.projectid; + if(ProjectId!='') { + initSystemData_person(ProjectId); + initSelectInfo_person(); + } + var TotalPrice = rowsdata.totalprice; //合计金额 + if(pageType === "skip") { //从订单跳转过来 + buildNumber(); //生成单据编号 + var thisDateTime = getNowFormatDateTime(); //当前时间 + $("#OperTime").val(thisDateTime); + $("#LinkNumber").val(rowsdata.number); //关联订单号 + $("#AccountId").val(defaultAccountId); //初始化默认的账户Id + $("#DiscountLastMoney").val(TotalPrice); //优惠后金额 + $("#ChangeAmount").val(TotalPrice).attr("data-changeamount", TotalPrice); + } else { + $("#Number").val(rowsdata.number).attr("data-defaultNumber",rowsdata.number); + $("#OperTime").val(rowsdata.opertimeStr); + $("#LinkNumber").val(rowsdata.linknumber==undefined?"":rowsdata.linknumber); //关联订单号 + $("#AccountId").val(rowsdata.accountid); //账户Id + $("#DiscountLastMoney").val(rowsdata.discountlastmoney==undefined?"0.00":rowsdata.discountlastmoney); //优惠后金额 + $("#ChangeAmount").val(rowsdata.changeamount).attr("data-changeamount", rowsdata.changeamount); + } + $('#OrganId').combobox('setValue', rowsdata.organid==undefined?'':rowsdata.organid); + $("#HandsPersonId").val(rowsdata.handspersonid); + $("#Remark").val(rowsdata.remark); + $("#Discount").val(rowsdata.discount==undefined?"0":rowsdata.discount); + $("#DiscountMoney").val(rowsdata.discountmoney==undefined?"0.00":rowsdata.discountmoney); + $("#Debt").val(Number((rowsdata.discountlastmoney==undefined?'0.00':rowsdata.discountlastmoney-rowsdata.changeamount)).toFixed(2)); + $("#AccountDay").val(rowsdata.accountday==undefined?"":rowsdata.accountday); //结算天数 + preTotalPrice = rowsdata.totalprice; //记录前一次合计金额,用于扣预付款 + $("#AllocationProjectId").val(rowsdata.allocationprojectid); + oldNumber = rowsdata.number; //记录编辑前的单据编号 + oldId = rowsdata.id; //记录单据Id + var editTitle = listTitle.replace("列表","信息"); + $('#depotHeadDlg').dialog('open').dialog('setTitle',' 编辑' + editTitle); + $(".window-mask").css({ width: webW ,height: webH}); + depotHeadID = rowsdata.id; + + if(listSubType == "零售"){ + var option = ""; + if(rowsdata.paytype == "预付款"){ + option = ''; + option += ''; + } + else { + option += ''; + } + $("#payType").empty().append(option); + } + + if(listSubType == "销售" || listSubType == "销售退货"){ + if(rowsdata.salesman){ + var arr = rowsdata.salesman.split(","); + var salesmanArray = []; + for(var i=0;i","")); + } + } + $("#Salesman").combobox('setValues', salesmanArray); + } + } + + //采购入库、销售出库的多账户加载 + if(rowsdata.accountidlist!=undefined && rowsdata.accountmoneylist!=undefined){ + $("#AccountId").val("many"); //下拉框选中多账户 + var accountArr = rowsdata.accountidlist.split(","); + var accountMoneyArr = rowsdata.accountmoneylist.split(","); + accountMoneyArr = changeListFmtPlus(accountMoneyArr) //将数组单个金额中的数值转为正数 + + if(listSubType == "零售" || listSubType == "零售退货") { + var manyAccountMoney = 0; //多账户合计-零售 + for (var j = 0; j < accountArr.length; j++) { + if (accountList != null) { + for (var i = 0; i < accountList.length; i++) { + var account = accountList[i]; + if (accountArr[j] == account.id) { + manyAccountMoney += accountMoneyArr[j] - 0; //多账户合计-零售 + } + } + } + } + $("#getAmount").val(manyAccountMoney); //收款金额、付款金额 + var changeAmount = $("#ChangeAmount").val()-0; + $("#backAmount").val((manyAccountMoney-changeAmount).toFixed(2)); //找零 + } + + $("#AccountId").attr("data-accountArr", JSON.stringify(accountArr)).attr("data-accountMoneyArr", JSON.stringify(accountMoneyArr)); //json数据存储 + $(".many-account-ico").show(); //显示多账户的ico图标 + } + + //采购入库、销售出库的费用数据加载 + if(rowsdata.othermoneylist &&rowsdata.othermoneyitem){ + $("#OtherMoney").val(rowsdata.othermoney==undefined?"0":rowsdata.othermoney); //采购费用、销售费用 + var itemArr = rowsdata.othermoneylist.split(","); + var itemMoneyArr = rowsdata.othermoneyitem.split(","); + $("#OtherMoney").attr("data-itemArr",JSON.stringify(itemArr)).attr("data-itemMoneyArr",JSON.stringify(itemMoneyArr)); //json数据存储 + } + + initTableData_material("edit",TotalPrice); //商品列表 + reject(); //撤销下、刷新商品列表 + if(pageType === "skip") { + url = '/depotHead/addDepotHeadAndDetail'; //如果是从订单跳转过来,则此处为新增的接口 + //jshjshjsh + $("#depotHeadFM .datagrid-body").find("[field='DepotId']").click(); + } else { + url = '/depotHead/updateDepotHeadAndDetail?id=' + rowsdata.id; //更新接口 + } +} + +//查看信息 +function showDepotHead(index){ + // var depotHeadInfo = depotHeadTotalInfo.split("AaBb"); + //获取当前行 + var rowsdata = $("#tableData").datagrid("getRows")[index]; + var manyAccountMoney = 0; //多账户合计-零售 + $("#ProjectIdShow").text(rowsdata.projectName); + $("#NumberShow").text(rowsdata.number); + $("#OperTimeShow").text(rowsdata.opertimeStr); + $('#OrganIdShow').text(rowsdata.organName==undefined?'':rowsdata.organName); + $("#HandsPersonIdShow").text(rowsdata.handsPersonName); + if(rowsdata.accountName && rowsdata.accountName!=undefined){ + $("#AccountIdShow").text(rowsdata.accountName); //结算账户 + } else { + var accountArr = (rowsdata.accountidlist==undefined?"":rowsdata.accountidlist).split(","); //账户id列表 + var accountMoneyArr =(rowsdata.accountmoneylist==undefined?"":rowsdata.accountmoneylist).split(","); //账户金额列表 + var accountIdShow = ""; + for(var j =0;j 查看' + showTitle); + $(".window-mask").css({ width: webW ,height: webH}); + + depotHeadID = rowsdata.id; + initTableData_material_show(TotalPrice); //商品列表-查看状态 + + //零售单据展示数据 + if(listSubType == "零售" || listSubType == "零售退货"){ + var changeAccount = $("#depotHeadDlgShow .change-amount-show").text() -0; + if(manyAccountMoney!==0){ + $("#depotHeadDlgShow .get-amount-show").text((manyAccountMoney).toFixed(2)); + $("#depotHeadDlgShow .back-amount-show").text((manyAccountMoney -changeAccount).toFixed(2)); + } + else { + $("#depotHeadDlgShow .get-amount-show").text((changeAccount).toFixed(2)); + $("#depotHeadDlgShow .back-amount-show").text(0); + } + } + if(listSubType === "销售" || listSubType === "销售退货"){ + if(rowsdata.salesman){ + var arr = rowsdata.salesman.split(","); + var salesmanStr = ""; + for(var i=0;i",""); + } + else { + salesmanStr += arr[i].replace("<","").replace(">","") + ","; + } + } + } + $.ajax({ + type: "get", + url: "/person/getPersonByIds", + data: { + personIDs: salesmanStr + }, + success:function(res){ + if(res && res.code === 200){ + if(res.data) { + $("#SalesmanShow").text(res.data.names); //销售人员列表 + } + } + }, + error:function(){ + + } + }); + } + } +} + +//绑定操作事件 +function bindEvent(){ + showDepotHeadDetails(1,initPageSize); //初始化时自动查询 + //搜索处理 + $("#searchBtn").off("click").on("click",function(){ + showDepotHeadDetails(1,initPageSize); + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + opts.pageNumber = 1; + opts.pageSize = initPageSize; + pager.pagination('refresh', + { + pageNumber:1, + pageSize:initPageSize + }); + }); + + //重置按钮 + $("#searchResetBtn").unbind().bind({ + click:function(){ + //$("#searchProjectId").val(""); + $("#searchState").val(""); + $("#searchBeginTime").val(""); + $("#searchEndTime").val(""); + //加载完以后重新初始化 + $("#searchBtn").click(); + } + }); + + //检查单据编号是否存在 + function checkDepotHeadNumber() { + var thisNumber = $.trim($("#Number").val()); + //表示是否存在 true == 存在 false = 不存在 + var flag = false; + //开始ajax名称检验,不能重名 + if(thisNumber.length > 0 &&( oldNumber.length ==0 || thisNumber != oldNumber)) + { + $.ajax({ + type:"get", + url: "/depotHead/checkIsNumberExist", + dataType: "json", + async : false, + data: ({ + DepotHeadID : oldId, + Number : thisNumber + }), + success: function (tipInfo) + { + flag = tipInfo; + if(tipInfo) + { + $.messager.alert('提示','抱歉,该单据编号已经存在','warning'); + return; + } + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','检查单据编号是否存在异常,请稍后再试!','error'); + return; + } + }); + } + return flag; + } + //保存信息 + /** + * 2019-01-25 + * 我对这个方法的实现结果存在严重怀疑,决定重构 + * 有如下疑点: + * 1、保存完主表,返回结果后,再发起请求去操作子表,如何保证事务的一致性(业务数据一致性) + * 2、保存完主表后,再通过selectmax的方式去获取主表主键id完全就是看人品的不可靠的思路 + * 修改计划: + * 2019-01-25修改零售出库相关操作 + * 修改方式,重写url,将主从表操作合并 + * + * + * **/ + $("#saveDepotHead").off("click").on("click",function(){ + if(!$('#depotHeadFM').form('validate')){ + return; + } + else { + //如果初始编号被修改了,就要判断单据编号是否存在 + if($.trim($("#Number").val()) != $('#Number').attr("data-defaultNumber")){ + //调用查询单据编号是否重名的方法 + if(checkDepotHeadNumber()){ + return; + } + } + //输入框提示 + if(listTitle === "采购订单列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择供应商!','warning'); + return; + } + } + else if(listTitle === "采购入库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择供应商!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择结算账户!','warning'); + return; + } + } + else if(listTitle === "零售退货列表"){ + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择付款账户!','warning'); + return; + } + if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { + $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); + return; + } + } + else if(listTitle === "销售退货列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择退货单位!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择付款账户!','warning'); + return; + } + } + else if(listTitle === "其它入库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择往来单位!','warning'); + return; + } + } + else if(listTitle === "零售出库列表"){ + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择收款账户!','warning'); + return; + } + if($("#backAmount").val()-0 <0){ + $.messager.alert('提示','找零金额不能小于0!','warning'); + return; + } + if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { + $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); + return; + } + + } + else if(listTitle === "销售订单列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择购买单位!','warning'); + return; + } + } + else if(listTitle === "销售出库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择购买单位!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择收款账户!','warning'); + return; + } + } + else if(listTitle === "采购退货列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择收货单位!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择收款账户!','warning'); + return; + } + } + else if(listTitle === "其它出库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择往来单位!','warning'); + return; + } + } + else if(listTitle === "调拨出库列表"){ + + } + //进行明细的校验 + if(depotHeadID ==0) { + //新增模式下 + if (!CheckData("add")) { + return; + } + } + else { + //编辑模式下 + if (!CheckData("edit")) { + return; + } + } + var OrganId = null, ProjectId = null,AllocationProjectId = null; + var ChangeAmount = $.trim($("#ChangeAmount").val())-0; + var TotalPrice = $("#depotHeadFM .datagrid-footer [field='AllPrice'] div").text(); + if($('#OrganId').length){ + OrganId = $('#OrganId').combobox('getValue'); + } + var accountMoneyList = $("#AccountId").attr("data-accountmoneyarr"); //账户金额列表-多账户 + var accountMoneyArr; + if(accountMoneyList) { + accountMoneyList = accountMoneyList.replace("[","").replace("]","").toString(); + var reg=new RegExp("\"","g"); //创建正则RegExp对象 + accountMoneyList = accountMoneyList.replace(reg,""); //替换所有的双引号 + accountMoneyArr = accountMoneyList.split(","); //转为数组 + } + if(listSubType === "采购订单"||listSubType === "采购"||listSubType === "零售退货"||listSubType === "销售退货"){ + //付款为负数 + ChangeAmount = 0 - ChangeAmount; + TotalPrice = 0 - TotalPrice; + if(accountMoneyArr) { + accountMoneyArr = changeListFmtMinus(accountMoneyArr); //将数组单个金额中的数值转为负数 + } + } + //零售时候,可以从会员预付款中扣款 + var thisPayType = "现付"; + if(listSubType === "零售") { + if($("#payType").val() ==="预付款") { + thisPayType = "预付款"; + } + } + var SalesmanStr = ""; + if(listSubType === "销售" || listSubType === "销售退货"){ + var Salesman = $('#Salesman').combobox('getValues').toString(); //销售人员 + if(Salesman) { + var SalesmanArray = Salesman.split(","); + for (var i = 0; i < SalesmanArray.length; i++) { + if (i === SalesmanArray.length - 1) { + SalesmanStr += "<" + SalesmanArray[i] + ">"; + } + else { + SalesmanStr += "<" + SalesmanArray[i] + ">,"; + } + } + } + } + var getAccountID = $.trim($("#AccountId").val()); + if($("#AccountId").val() === "many"){ //多账户 + getAccountID = null; + } + var infoStr=JSON.stringify({ + Type: listType, + SubType: listSubType, + ProjectId: ProjectId, + AllocationProjectId: AllocationProjectId, + DefaultNumber: $.trim($("#Number").attr("data-defaultNumber")),//初始编号 + Number: $.trim($("#Number").val()), + LinkNumber: $.trim($("#LinkNumber").val()), + OperTime: $("#OperTime").val(), + OrganId: OrganId, + HandsPersonId: $.trim($("#HandsPersonId").val()), + Salesman: SalesmanStr, //销售人员 + AccountId: getAccountID, + ChangeAmount: ChangeAmount, //付款/收款 + TotalPrice: TotalPrice, //合计 + PayType: thisPayType, //现付/预付款 + Remark: $.trim($("#Remark").val()), + AccountIdList: $("#AccountId").attr("data-accountarr"), //账户列表-多账户 + AccountMoneyList: accountMoneyArr ? JSON.stringify(accountMoneyArr) : "", //账户金额列表-多账户 + Discount: $.trim($("#Discount").val()), + DiscountMoney: $.trim($("#DiscountMoney").val()), + DiscountLastMoney: $.trim($("#DiscountLastMoney").val()), + OtherMoney: $.trim($("#OtherMoney").val()), //采购费用、销售费用 + OtherMoneyList: $("#OtherMoney").attr("data-itemarr"), //支出项目列表-涉及费用 + OtherMoneyItem: $("#OtherMoney").attr("data-itemmoneyarr"), //支出项目金额列表-涉及费用 + AccountDay: $("#AccountDay").val() //结算天数 + }); + /** + * 零售出库,单独操作 + * */ + if(url.indexOf("/depotHead/addDepotHeadAndDetail")>=0){ + addDepotHeadAndDetail(url,infoStr); + return; + }else if(url.indexOf("/depotHead/updateDepotHeadAndDetail")>=0){ + updateDepotHeadAndDetail(url,infoStr,preTotalPrice); + return; + } + $.ajax({ + type:"post", + url: url, + dataType: "json", + async : false, + data: ({ + info:infoStr + }), + success: function (tipInfo) + { + if(tipInfo) + { + function closeDialog(){ + $('#depotHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showDepotHeadDetails(opts.pageNumber,opts.pageSize); + } + + if(thisPayType === "预付款") { + //更新用户信息-预付款 + var advanceIn = 0; //预付款金额 + if(depotHeadID){ + advanceIn = TotalPrice - preTotalPrice; //修改时,预付款=合计金额-加载金额 + } + else{ + advanceIn = TotalPrice; //新增时,预付款=合计金额 + } + $.ajax({ + type:"post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data:{ + supplierId: OrganId, //会员id + advanceIn: 0 - advanceIn //保存的同时扣掉用户的预付款 + }, + success: function(res){ + if(res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function(){ + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + + //保存明细记录 + if(depotHeadID ==0) + { + getMaxId(); //查找最大的Id + accept(depotHeadMaxId,closeDialog); //新增 + } + else + { + accept(depotHeadID,closeDialog); //修改 + } + } + else + { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + }); + + //打印单据 + $("#printDepotHeadShow").off("click").on("click",function(){ + var tableString = $("#depotHeadDlgShow").html(); + localStorage.setItem("tableString",tableString); + window.open("../../js/print/print_form.html","location:No;status:No;help:No;dialogWidth:800px;dialogHeight:600px;scroll:auto;"); + }); + + //初始化键盘enter事件 + $(document).keydown(function(event){ + //兼容 IE和firefox 事件 + var e = window.event || event; + var k = e.keyCode||e.which||e.charCode; + //兼容 IE,firefox 兼容 + var obj = e.srcElement ? e.srcElement : e.target; + //绑定键盘事件为 id是指定的输入框才可以触发键盘事件 13键盘事件 ---遗留问题 enter键效验 对话框会关闭问题 + if(k == "13"&&(obj.id=="State"||obj.id=="Number")) + { + $("#saveDepotHead").click(); + } + //搜索按钮添加快捷键 + if(k == "13"&&(obj.id=="searchState"||obj.id=="searchNumber"||obj.id=="searchMaterial")) + { + $("#searchBtn").click(); + } + }); + + //优惠率输入框事件 + $("#Discount").off("keyup").on("keyup",function(){ + var footer =$("#depotHeadFM .datagrid-footer"); + var totalPrice = footer.find("[field='TaxLastMoney']").find("div").text(); + var discountNum = $(this).val(); + var discountMoney = (discountNum/100*totalPrice).toFixed(2); + var discountLastMoney = (totalPrice - discountMoney).toFixed(2); + $("#DiscountMoney").val(discountMoney); //优惠金额 + $("#DiscountLastMoney").val(discountLastMoney); //优惠后金额 + if($("#AccountId").val()!=="many"){ + $("#ChangeAmount").val(discountLastMoney); //本次付、收款 + } + var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 + $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 + }); + + //优惠金额输入框事件 + $("#DiscountMoney").off("keyup").on("keyup",function(){ + var footer =$("#depotHeadFM .datagrid-footer"); + var totalPrice = footer.find("[field='TaxLastMoney']").find("div").text(); + var discountMoney = $(this).val(); + var discount = (discountMoney/totalPrice).toFixed(2)*100; + var discountLastMoney = (totalPrice - discountMoney).toFixed(2); + $("#Discount").val(discount); //优惠金额 + $("#DiscountLastMoney").val(discountLastMoney); //优惠后金额 + if($("#AccountId").val()!=="many"){ + $("#ChangeAmount").val(discountLastMoney); //本次付、收款 + } + var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 + $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 + }); + + //付款、收款输入框事件 + $("#ChangeAmount").off("keyup").on("keyup",function(){ + var discountLastMoney = $("#DiscountLastMoney").val(); + var changeAmount = $(this).val(); + var debtMoney = (discountLastMoney - changeAmount).toFixed(2); + $("#Debt").val(debtMoney); //本次欠款 + }); + + //多账户结算窗口弹出事件 + function depotHeadAccountDlgFun(){ + $('#depotHeadAccountDlg').dialog('open').dialog('setTitle',' 多账户结算'); + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").remove(); //先移除输入栏目 + $("#accountMoneyTotalDlg").text(0); //将合计初始化为0 + for(var i=0; i<6; i++) { + $("#depotHeadAccountDlg .tabs-tmp .account-content-tmp").attr("data-index",5-i); //添加索引 + var contentTmp = $("#depotHeadAccountDlg .tabs-tmp tbody").html(); + var accountDlgHead = $("#depotHeadAccountDlg .account-head-tmp"); + accountDlgHead.after(contentTmp); + } + + //获取账户信息 + function accountDlgFun() { + var options = ""; + if(accountList !=null){ + for(var i = 0 ;i < accountList.length;i++) { + var account = accountList[i]; + options += ''; + } + $(".account-id-dlg").empty().append("").append(options); + } + } + accountDlgFun(); //获取账户信息 + $("#depotHeadAccountDlg .tabs-tmp").hide(); //隐藏模板 + + //账户金额输入框事件-多账户 + $("#depotHeadAccountDlg .account-dlg .account-money-dlg").off("keyup").on("keyup",function(){ + var totalAccoutNum = 0; + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){ + var eachAccountMoney = $(this).find(".account-money-dlg").val()-0; + totalAccoutNum += eachAccountMoney; + }); + $("#accountMoneyTotalDlg").text(totalAccoutNum); + }); + + //结算多账户列表的切换事件 + $("#depotHeadAccountDlg .account-dlg .account-id-dlg").off("change").on("change",function(){ + var selectAccount = $(this).children('option:selected').text(); + if(selectAccount === ""){ + var thisMoneyDom = $(this).closest(".account-content-tmp").find(".account-money-dlg"); + var thisMoney = thisMoneyDom.val()-0; + var accountMoneyTotal = $("#accountMoneyTotalDlg").text() - 0; + $("#accountMoneyTotalDlg").text(accountMoneyTotal - thisMoney); + thisMoneyDom.val(""); //账户为空时候,将金额也置为空 + } + }); + + //保存按钮事件 + $("#saveDepotHeadAccountDlg").off("click").on("click", function(){ + //完成多账户的json数据存储 + var accountArr = []; //账户id数组 + var accountMoneyArr = []; //账户金额数组 + var errorIndex = -1; + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){ + var thisAccId = $(this).find(".account-id-dlg").val(); + var thisAccMoney = $(this).find(".account-money-dlg").val(); + if(!thisAccId && thisAccMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisAccId && !thisAccMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisAccId && thisAccMoney) { + accountArr.push(thisAccId); + accountMoneyArr.push(thisAccMoney); + } + }); + if(errorIndex >-1){ + $.messager.alert('错误提示',"第" + (errorIndex+1) + "行数据存在问题,请修改",'warning'); + return; + } + var discountLastMoneyNum =$("#DiscountLastMoney").val()-0; //优惠后金额 + var accountMoneyTotal = $("#accountMoneyTotalDlg").text()-0; //本次付款或者收款 + if(accountMoneyTotal===0){ + $.messager.alert('错误提示',"请填写金额后保存",'warning'); + return; + } + if(accountArr.length && accountMoneyArr.length) { + $("#AccountId").attr("data-accountArr",JSON.stringify(accountArr)).attr("data-accountMoneyArr",JSON.stringify(accountMoneyArr)); //json数据存储 + } + if(listSubType==="零售" || listSubType==="零售退货") { + $("#getAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 + var backAmount = $("#getAmount").val() - $("#ChangeAmount").val(); + $("#backAmount").val((backAmount - 0).toFixed(2)); //计算找零金额 + } + else { + $("#ChangeAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 + } + $("#Debt").val((discountLastMoneyNum-accountMoneyTotal).toFixed(2)); //本次欠款 + $("#depotHeadAccountDlg").dialog('close'); + }); + + //取消事件 + function cancelFun(){ + if($("#AccountId").attr("data-accountArr")){ + $("#depotHeadAccountDlg").dialog('close'); + } + else { + $("#depotHeadAccountDlg").dialog('close'); + $("#AccountId").val("").removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 + if(listSubType==="零售" || listSubType==="零售退货"){ + $("#ChangeAmount").prop("readonly","readonly"); + } + else { + $("#ChangeAmount").removeProp("readonly","readonly"); + } + $(".many-account-ico").hide(); //隐藏多账户小图标 + } + } + //多账户-取消按钮 + $("#cancelDepotHeadAccountDlg").off("click").on("click", function(){ + cancelFun(); + }); + + //多账户-右上角的关闭按钮 + $("#depotHeadAccountDlg").prev().find(".panel-tool-close").off("click").on("click", function(){ + cancelFun(); + }); + } + //点击多账户,弹出输入框 + $("#AccountId").off("change").on("change",function(){ + var selectText = $(this).children('option:selected').text(); + if(selectText === "多账户"){ + $("#ChangeAmount").prop("readonly","readonly"); + depotHeadAccountDlgFun(); + $(".many-account-ico").show(); //显示多账户小图标 + } + else{ + $(this).removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 + if(listSubType==="零售" || listSubType==="零售退货"){ + $("#ChangeAmount").prop("readonly","readonly"); + } + else { + $("#ChangeAmount").removeProp("readonly","readonly"); + } + $(".many-account-ico").hide(); //隐藏多账户小图标 + } + }); + + //结算账户-多账户小图标-点击事件 + $(".many-account-ico").off("click").on("click",function(){ + depotHeadAccountDlgFun(); + //给弹窗赋值-多账户数据 + var accountArr = $("#AccountId").attr("data-accountArr"); + accountArr = JSON.parse(accountArr); + var accountMoneyArr = $("#AccountId").attr("data-accountMoneyArr"); + accountMoneyArr = JSON.parse(accountMoneyArr); + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){ + var index = $(this).attr("data-index"); + $(this).find(".account-id-dlg").val(accountArr[index]); + $(this).find(".account-money-dlg").val(accountMoneyArr[index]); + }); + if(listSubType==="零售" || listSubType==="零售退货") { + $("#accountMoneyTotalDlg").text($("#getAmount").val()); + } + else { + $("#accountMoneyTotalDlg").text($("#ChangeAmount").val()); + } + }); + + //点击采购费用、销售费用的事件 + $(".other-money-ico").off("click").on("click",function(){ + $('#otherMoneyDlg').dialog('open').dialog('setTitle',' '+ listSubType +'费用'); + $("#otherMoneyDlg .money-dlg .money-content-tmp").remove(); //先移除输入栏目 + $("#otherMoneyTotalDlg").text(0); //将合计初始化为0 + for(var i=0; i<6; i++) { + $("#otherMoneyDlg .tabs-tmp .money-content-tmp").attr("data-index",5-i); //添加索引 + var contentTmp = $("#otherMoneyDlg .tabs-tmp tbody").html(); + var moneyDlgHead = $("#otherMoneyDlg .money-head-tmp"); + moneyDlgHead.after(contentTmp); + } + + //获取支出项目信息 + function moneyDlgFun() { + var options = ""; + if(outItemList !=null){ + for(var i = 0 ;i < outItemList.length;i++) { + var money = outItemList[i]; + options += ''; + } + $(".money-id-dlg").empty().append("").append(options); + } + } + moneyDlgFun(); //获取支出项目信息 + $("#otherMoneyDlg .tabs-tmp").hide(); //隐藏模板 + + //支出项目的金额输入框事件 + $("#otherMoneyDlg .money-dlg .other-money-dlg").off("keyup").on("keyup",function(){ + var totalMoneyNum = 0; + $("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){ + var eachOtherMoney = $(this).find(".other-money-dlg").val()-0; + totalMoneyNum += eachOtherMoney; + }); + $("#otherMoneyTotalDlg").text(totalMoneyNum); + }); + + //支出项目列表的切换事件 + $("#otherMoneyDlg .money-dlg .money-id-dlg").off("change").on("change",function(){ + var selectItem = $(this).children('option:selected').text(); + if(selectItem === ""){ + var thisMoneyDom = $(this).closest(".money-content-tmp").find(".other-money-dlg"); + var thisMoney = thisMoneyDom.val()-0; + var otherMoneyTotal = $("#otherMoneyTotalDlg").text() - 0; + $("#otherMoneyTotalDlg").text(otherMoneyTotal - thisMoney); + thisMoneyDom.val(""); //支出项目为空时候,将金额也置为空 + } + }); + + //保存按钮事件 + $("#saveOtherMoneyDlg").off("click").on("click", function(){ + //完成支出项目的json数据存储 + var itemArr = []; //支出项目id数组 + var itemMoneyArr = []; //支出项目金额数组 + var errorIndex = -1; + $("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){ + var thisId = $(this).find(".money-id-dlg").val(); + var thisMoney = $(this).find(".other-money-dlg").val(); + if(!thisId && thisMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisId && !thisMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisId && thisMoney) { + itemArr.push(thisId); + itemMoneyArr.push(thisMoney); + } + }); + if(errorIndex >-1){ + $.messager.alert('错误提示',"第" + (errorIndex+1) + "行数据存在问题,请修改",'warning'); + return; + } + var otherMoneyTotal = $("#otherMoneyTotalDlg").text()-0; //合计金额 + if(otherMoneyTotal === 0){ //0的时候清空缓存数据 + $("#OtherMoney").removeAttr("data-itemArr").removeAttr("data-itemMoneyArr"); + } + if(itemArr.length && itemMoneyArr.length) { + $("#OtherMoney").attr("data-itemArr",JSON.stringify(itemArr)).attr("data-itemMoneyArr",JSON.stringify(itemMoneyArr)); //json数据存储 + } + $("#OtherMoney").val(otherMoneyTotal); //给采购费用、销售费用赋值 + $("#otherMoneyDlg").dialog('close'); + }); + + //取消事件 + function cancelFun(){ + if($("#OtherMoney").attr("data-itemArr")){ + $("#otherMoneyDlg").dialog('close'); + } + else { + $("#otherMoneyDlg").dialog('close'); + $("#OtherMoney").val("").removeAttr("data-itemArr").removeAttr("data-itemMoneyArr"); //将下拉置空并把缓存参数清空 + } + } + //费用-取消按钮 + $("#cancelOtherMoneyDlg").off("click").on("click", function(){ + cancelFun(); + }); + + //费用-右上角的关闭按钮 + $("#otherMoneyDlg").prev().find(".panel-tool-close").off("click").on("click", function(){ + cancelFun(); + }); + + //给弹窗赋值-采购费用、销售费用数据 + var itemArr = $("#OtherMoney").attr("data-itemArr"); + itemArr = JSON.parse(itemArr); + var itemMoneyArr = $("#OtherMoney").attr("data-itemMoneyArr"); + itemMoneyArr = JSON.parse(itemMoneyArr); + $("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){ + var index = $(this).attr("data-index"); + $(this).find(".money-id-dlg").val(itemArr[index]); + if(itemMoneyArr[index]!="undefined"){ + $(this).find(".other-money-dlg").val(itemMoneyArr[index]); + } + }); + $("#otherMoneyTotalDlg").text($("#OtherMoney").val()); + }); + + if(listTitle === "采购入库列表" || listTitle === "其它入库列表" || listTitle === "采购订单列表"|| listTitle === "零售出库列表"|| listTitle === "销售出库列表"|| listTitle === "销售订单列表"){ + var supplierType = "供应商"; + if(listTitle === "零售出库列表"){ + supplierType = "会员"; + }else if(listTitle === "销售出库列表" || listTitle === "销售订单列表"){ + supplierType = "客户"; + } + //检查单位名称是否存在 ++ 重名无法提示问题需要跟进 + function checkSupplierName() { + var supplierName = $.trim($("#supplier").val()); + var orgSupplier = ""; + //表示是否存在 true == 存在 false = 不存在 + var flag = false; + //开始ajax名称检验,不能重名 + if(supplierName.length > 0 &&( orgSupplier.length ==0 || supplierName != orgSupplier)) + { + $.ajax({ + type:"get", + url: "/supplier/checkIsNameExist", + dataType: "json", + async : false, + data: ({ + id : 0, + name : supplierName + }), + success: function (res) { + if(res && res.code === 200) { + if(res.data && res.data.status) { + flag = res.data.status; + if (flag) { + $.messager.alert('提示', '单位名称已经存在', 'info'); + return; + } + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('提示','检查单位名称是否存在异常,请稍后再试!','error'); + return; + } + }); + } + return flag; + } + + //保存供应商信息 + $("#saveSupplier").off("click").on("click",function() { + if(validateForm("supplierFM")) { + return; + } + if(checkSupplierName()){ + return; + } + var reg = /^([0-9])+$/; + var phonenum = $.trim($("#phonenum").val()); + if(phonenum.length>0 && !reg.test(phonenum)) + { + $.messager.alert('提示','电话号码只能是数字','info'); + $("#phonenum").val("").focus(); + return; + } + var beginNeedGet = $.trim($("#BeginNeedGet").val()); + var beginNeedPay = $.trim($("#BeginNeedPay").val()); + if(beginNeedGet && beginNeedPay) { + $.messager.alert('提示','期初应收和期初应付不能同时输入','info'); + return; + } + var url = '/supplier/add'; + var supObj = $("#supplierFM").serializeObject(); + supObj.type = supplierType; + supObj.enabled = 1; + $.ajax({ + url: url, + type:"post", + dataType: "json", + data:{ + info: JSON.stringify(supObj) + }, + success: function(res) { + if (res) { + $('#supplierDlg').dialog('close'); + initSupplier(); //刷新供应商 + } + } + }); + }); + } +} + +function showDepotHeadDetails(pageNo,pageSize){ + var materialParam = $.trim($("#searchMaterial").val()); + $.ajax({ + type:"get", + url: "/depotItem/getHeaderIdByMaterial", + dataType: "json", + data: ({ + materialParam: materialParam, + depotIds: depotString + }), + success: function (res) { + if(res && res.code === 200) { + var ids = res.data; + if(ids){ + $.ajax({ + type: "get", + url: "/depotHead/list", + dataType: "json", + data: ({ + search: JSON.stringify({ + type: listType, + subType: listSubType, + state: $.trim($("#searchState").val()), + number: $.trim($("#searchNumber").val()), + beginTime: $("#searchBeginTime").val(), + endTime: $("#searchEndTime").val(), + dhIds: ids + }), + currentPage: pageNo, + pageSize: pageSize + }), + success: function (res) { + if(res && res.code === 200){ + if(res.data && res.data.page) { + $("#tableData").datagrid('loadData', res.data.page); + } + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); + return; + } + }); + } + else { + $("#tableData").datagrid('loadData', []); + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + return; + } + }); +} + +//自动计算事件 +function autoReckon() { + //延时绑定事件 + setTimeout(function(){ + var body =$("#depotHeadFM .datagrid-body"); + var footer =$("#depotHeadFM .datagrid-footer"); + var input = ".datagrid-editable-input"; + //点击商品下拉框,自动加载数量、单价、金额 + body.find("[field='Stock']").find(input).prop("readonly","readonly"); + //点击库存文本框,字段计算库存 + body.find("[field='Stock']").find(input).off("click").on("click",function(){ + var depotId = body.find("[field='DepotId']").find(".combo-value").val(); + var mId = body.find("[field='MaterialId']").find(".combo-value").val(); + var monthTime = getNowFormatMonth(); + if(depotId && mId){ + var ratio = body.find("[field='Unit']").find(input).attr("data-ratio"); + body.find("[field='Stock']").find(input).prop("readonly","readonly"); + //在新增的时候,这个ratio有值;在编辑的时候,这个ratio为undefined + var type = "click"; //type 类型:点击 click,选择 select + findStockNumById(depotId, mId, monthTime, body, input, ratio, type); + } + else{ + body.find("[field='Stock']").find(input).val(0).attr("data-stock",0); //加载库存数据 + } + }); + //修改数量,自动计算金额和合计,另外计算含税单价、税额、价税合计 + body.find("[field='OperNumber']").find(input).off("keyup").on("keyup",function(){ + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var OperNumber =$(this).val()-0; //数量 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + + }); + //修改单价,自动计算金额和合计 + body.find("[field='UnitPrice']").find(input).off("keyup").on("keyup",function(){ + var UnitPrice =$(this).val()-0; //单价 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //点击单价,自动提示参考价格列表 + body.find("[field='UnitPrice']").find(input).off("click").on("click",function(){ + var self = this; + var mValue = body.find("[field='MaterialId'] .combo-value").attr("value"); //获取选中的商品id + if(!mValue) { + return; + } + else { + if(listTitle!="销售出库列表" && listTitle!="采购退货列表" && listTitle!="其它出库列表" && listTitle!="调拨出库列表") { + return; + } + $.ajax({ + url: "/material/findById", + type: "get", + dataType: "json", + data: { + id: mValue - 0 + }, + success: function(res){ + if(res && res.rows && res.rows[0]) { + var retailPrice = res.rows[0].RetailPrice; + var presetPriceOne = res.rows[0].PresetPriceOne; + var presetPriceTwo = res.rows[0].PresetPriceTwo; + //定义模版 + var temp = "
"; + temp +="
    "; + temp +="
  • 批发价:" + presetPriceTwo + "
  • "; + temp +="
  • 零售价:" + retailPrice + "
  • "; + temp +="
"; + temp +="
"; + if($('.price-list').length){ + $('.price-list').remove(); //如果存在价格列表先移除 + } + else { + if(presetPriceTwo != undefined){ //多单位的商品 + $(self).after(temp); //加载列表信息 + } + } + $('.price-list ul li').off("click").on("click",function(){ + var price = $(this).text(); + price = price.substring(price.indexOf(":") + 1); + $(self).val(price); + $(self).keyup(); //模拟键盘操作 + $('.price-list').remove(); //移除价格列表 + }); + //点击空白处移除价格列表 + $(".datagrid-body").off("click").on("click",function(){ + $('.price-list').remove(); //移除价格列表 + }); + } + }, + error: function(){ + $.messager.alert('错误提示','查询商品信息异常,请稍后再试!','error'); + return; + } + }); + } + }); + //修改含税单价,自动计算单价、金额、税额、价税合计和合计 + body.find("[field='TaxUnitPrice']").find(input).off("keyup").on("keyup",function(){ + var TaxUnitPrice =$(this).val()-0; //含税单价 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var UnitPrice = TaxUnitPrice/(1+taxRate/100); //计算单价 + body.find("[field='UnitPrice']").find(input).val((UnitPrice).toFixed(2)); //单价 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改金额,自动计算单价、税额、价税合计和合计 + body.find("[field='AllPrice']").find(input).off("keyup").on("keyup",function(){ + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var AllPrice =$(this).val()-0; //金额 + var UnitPrice = (AllPrice/OperNumber).toFixed(2); + body.find("[field='UnitPrice']").find(input).val(UnitPrice); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改税率,自动计算含税单价、税额、价税合计和合计 + body.find("[field='TaxRate']").find(input).off("keyup").on("keyup",function(){ + var taxRate =$(this).val()-0; //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改税额,自动计算税率、含税单价、价税合计和合计 + body.find("[field='TaxMoney']").find(input).off("keyup").on("keyup",function(){ + var taxMoney =$(this).val()-0; //税额 + var AllPrice = body.find("[field='AllPrice']").find(input).val(); //金额 + var taxRate = taxMoney/AllPrice*100; //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxRate']").find(input).val((taxRate).toFixed(2)); //税率 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改价税合计,自动计算税率、含税单价、税额和合计 + body.find("[field='TaxLastMoney']").find(input).off("keyup").on("keyup",function(){ + var taxLastMoney =$(this).val()-0; //价税合计 + var AllPrice = body.find("[field='AllPrice']").find(input).val(); //金额 + var taxRate = (taxLastMoney-AllPrice)/AllPrice*100; //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxRate']").find(input).val((taxRate).toFixed(2)); //税率 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + + //加载税率 + if(thisTaxRate) { + body.find("[field='TaxRate']").find(input).val(thisTaxRate); + } + else { + body.find("[field='TaxRate']").find(input).val(0); //默认为0 + } + + //在商品类型加载 组装件、普通子件 + var mType = body.find("[field='MType']"); + var rowListLength = mType.find(input).closest(".datagrid-row").attr("datagrid-row-index"); + var mTypeValue = "组合件"; + if(rowListLength > 0){ + mTypeValue = "普通子件"; + } + if(listSubType == "组装单" || listSubType == "拆卸单"){ + mType.find(input).val(mTypeValue).prop("readonly","readonly"); + } + },500); +} + +//结束编辑 +function endEditing() { + if (editIndex == undefined) { return true } + if ($('#materialData').datagrid('validateRow', editIndex)) { + //仓库信息 + var edDepot = $('#materialData').datagrid('getEditor', {index:editIndex,field:'DepotId'}); + var DepotName = $(edDepot.target).combobox('getText'); + $('#materialData').datagrid('getRows')[editIndex]['DepotName'] = DepotName; + //商品信息 + var edMaterial = $('#materialData').datagrid('getEditor', {index:editIndex,field:'MaterialId'}); + var MaterialName = $(edMaterial.target).combobox('getText'); + $('#materialData').datagrid('getRows')[editIndex]['MaterialName'] = MaterialName; + $('#materialData').datagrid('endEdit', editIndex); + editIndex = undefined; + return true; + } else { + return false; + } +} +//单击 +function onClickRow(index) { + if (editIndex != index) { + if (endEditing()) { + $('#materialData').datagrid('selectRow', index).datagrid('beginEdit', index); + editIndex = index; + autoReckon(); + } else { + $('#materialData').datagrid('selectRow', editIndex); + } + } +} +//新增 +function append(){ + if (endEditing()) { + $('#materialData').datagrid('appendRow', {DepotId:defDepotId}); + editIndex = $('#materialData').datagrid('getRows').length - 1; + $('#materialData').datagrid('selectRow', editIndex).datagrid('beginEdit', editIndex); + autoReckon(); + } +} +//删除 +function batchDel(){ + /** + * 重写一下删除的逻辑 + * 获取所有选中行,直接从列表中移除 + * 点击保存时,将需要后台删除的数据提交到服务器 + * **/ + /** + * create by: qiankunpingtai + * create time: 2019/3/20 16:26 + * description: + * 这个地方比较坑的,花了一个多小时才搞明白为什么 + * 1、删除之前必须先调用endEditing结束编辑 + * 2、如果只是调用endEditing结束编辑那么正在编辑行的被选中状态会被去掉 + * 所以要在调用endEditing先获取选中的行 + */ + //如果编辑的行一开始是选中状态,结束编辑后仍然是选中状态 + var row = $('#materialData').datagrid('getChecked'); + if (endEditing()) { + if (row.length == 0) { + $.messager.alert('删除提示', '没有记录被选中!', 'info'); + return; + } + if (row.length > 0) { + $.messager.confirm('删除确认', '确定要删除选中的' + row.length + '条单据信息吗?', function (r) { + if (r) { + for (var i = 0; i < row.length; i++) { + $('#materialData').datagrid('deleteRow', $('#materialData').datagrid("getRowIndex", row[i])); + } + } + }); + } + } +} +function removeit(){ + if (editIndex == undefined) { return } + $('#materialData').datagrid('cancelEdit', editIndex) + .datagrid('deleteRow', editIndex); + editIndex = undefined; +} +//撤销 +function reject() { + $('#materialData').datagrid('rejectChanges'); + editIndex = undefined; +} +//判断 +function CheckData(type) { + append(); + removeit(); + var change = $('#materialData').datagrid('getChanges').length; + if(type =="add" && !change) { + $.messager.alert('提示','请输入明细信息!','warning'); + return false; + } + var row = $('#materialData').datagrid('getRows'); + if(!row.length){ + $.messager.alert('提示',"请输入明细信息!",'info'); + return false; + } + var totalRowNum = ""; + for (var i = 0; i < row.length; i++) { + if (row[i].DepotId == "" || row[i].MaterialId == "" || row[i].OperNumber == "" || row[i].UnitPrice === "" || row[i].AllPrice === "") { + totalRowNum += (i + 1) + "、"; + } + } + if (totalRowNum != "") { + var totalRowNum = totalRowNum.substring(0, totalRowNum.length - 1); + $.messager.alert('提示',"第" + totalRowNum + "行数据填写不完整!",'info'); + return false; + } + return true; +} +//保存 +function accept(accepId,fun) { + var inserted = $("#materialData").datagrid('getChanges', "inserted"); + var deleted = $("#materialData").datagrid('getChanges', "deleted"); + var updated = $("#materialData").datagrid('getChanges', "updated"); + $.ajax({ + type: "post", + url: "/depotItem/saveDetials", + data: { + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated), + headerId:accepId + }, + success: function (tipInfo) + { + if (tipInfo) { + $.messager.alert('提示','保存成功!','info'); + } + else { + $.messager.alert('提示', '保存失败!', 'error'); + } + fun && fun(); + }, + error: function (XmlHttpRequest, textStatus, errorThrown) + { + $.messager.alert('提示',XmlHttpRequest.responseText,'error'); + fun && fun(); + } + }); + if (endEditing()) { + $('#materialData').datagrid('acceptChanges'); + } +} +//获取MaxId +function getMaxId(){ + var depotHeadMax=null; + $.ajax({ + type:"get", + url: "/depotHead/getMaxId", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + depotHeadMax = res.data.maxId; + } + } + } + }); + + if(depotHeadMax !=null) { + depotHeadMaxId=depotHeadMax; + } +} + +/** + * 新增单据主表及单据子表 + * */ +function addDepotHeadAndDetail(url,infoStr){ + var inserted = null; + if(pageType === "skip") { + inserted = $("#materialData").datagrid('getChanges', "updated"); + } else { + inserted = $("#materialData").datagrid('getChanges', "inserted"); + } + var deleted = $("#materialData").datagrid('getChanges', "deleted"); + var updated = $("#materialData").datagrid('getChanges', "updated"); + $.ajax({ + type:"post", + url: url, + dataType: "json", + async : false, + data: ({ + info:infoStr, + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated) + }), + success: function (tipInfo){ + + if(tipInfo){ + if(tipInfo.code!=200){ + $.messager.alert('提示', tipInfo.msg, 'error'); + return; + } + $.messager.alert('提示','保存成功!','info'); + $('#depotHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showDepotHeadDetails(opts.pageNumber,opts.pageSize); + + }else { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + + + }); +} +/** + * 修改单据主表及单据子表 + * */ +function updateDepotHeadAndDetail(url,infoStr,preTotalPrice){ + var inserted = $("#materialData").datagrid('getChanges', "inserted"); + var deleted = $("#materialData").datagrid('getChanges', "deleted"); + var updated = $("#materialData").datagrid('getChanges', "updated"); + $.ajax({ + type:"post", + url: url, + dataType: "json", + async : false, + data: ({ + id:url.substring(url.lastIndexOf("?id=")+4,url.length), + info:infoStr, + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated), + preTotalPrice:preTotalPrice + }), + success: function (tipInfo){ + if(tipInfo){ + if(tipInfo.code!=200){ + $.messager.alert('提示', tipInfo.msg, 'error'); + return; + } + $.messager.alert('提示','保存成功!','info'); + $('#depotHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showDepotHeadDetails(opts.pageNumber,opts.pageSize); + if (endEditing()) { + $('#materialData').datagrid('acceptChanges'); + } + }else { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); +} + + + + diff --git a/erp_web/js/pages/materials/purchase_back_list.js b/erp_web/js/pages/materials/purchase_back_list.js new file mode 100644 index 00000000..662d9507 --- /dev/null +++ b/erp_web/js/pages/materials/purchase_back_list.js @@ -0,0 +1,3205 @@ +//初始化界面 +var defDepotId = null; +var kid = sessionStorage.getItem("userId"); +var pageType = getUrlParam('t'); //获取页面类型传值 +var depotList = null; +var depotID = null; +var supplierList = null; +var supplierID = null; +var personList = null; +var personID = null; +var ProjectSearch=null; +var userBusinessList=null; +var userdepot=null; +var depotHeadMaxId=null; //获取最大的Id +var accepId=null; //保存的主表id +var url; +var depotHeadID = 0; +var preTotalPrice = 0; //前一次加载的金额 +var orgDepotHead = ""; +var editIndex = undefined; +var listTitle = ""; //单据标题 +var listType = ""; //入库 出库 +var listSubType = ""; //采购 销售等 +var payTypeTitle = "";//付款 收款 +var organUrl = ""; //组织数据接口地址 +var amountNum = ""; //单据编号开头字符 +var depotString = ""; //店铺id列表 +/**默认编号有意义吗,不如空着吧*/ +var orgDefaultId=''; //单位默认编号 +var orgDefaultList; //存储查询出来的会员列表 +var accountList; //账户列表 +var outItemList; //支出项目列表 +var thisTaxRate = 0; //当前税率,选择供应商或者客户的时候设置 +var oldNumber = ""; //编辑前的单据编号 +var oldId = 0; //编辑前的单据Id +var otherColumns = true; //明细中的‘别名’列是否显示 +var btnEnableList = getBtnStr(); //获取按钮的权限 +var mPropertyList = ""; //商品属性列表 +var defaultAccountId = 0; //默认账户id +$(function(){ + //初始化系统基础信息 + getType(); + initSystemData_UB(); + initSelectInfo_UB(); + initSystemData_depot(); + initSelectInfo_depot(); + initSystemData_person(); + initSelectInfo_person(); + initSystemData_account(); + initSelectInfo_account(); + initSupplier(); //供应商 + initSalesman(); //销售人员 + initOutItemList(); //初始化支出项目 + initMProperty(); //初始化商品属性 + initTableData(); + ininPager(); + initForm(); + bindEvent();//绑定操作事件 +}); +//根据单据名称获取类型 +function getType(){ + listTitle = $("#tablePanel").prev().text(); + depotString = "|"; + //改变宽度和高度 + $("#searchPanel").panel({width:webW-2}); + $("#tablePanel").panel({width:webW-2}); + var supUrl = "/supplier/findBySelect_sup"; //供应商接口 + var cusUrl = "/supplier/findBySelect_cus?UBType=UserCustomer&UBKeyId=" + kid; //客户接口 + var retailUrl = "/supplier/findBySelect_retail"; //散户接口 + if(listTitle === "采购订单列表"){ + listType = "其它"; + listSubType = "采购订单"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "CGDD"; + } + else if(listTitle === "采购入库列表"){ + listType = "入库"; + listSubType = "采购"; + payTypeTitle = "付款"; + organUrl = supUrl; + amountNum = "CGRK"; + } + else if(listTitle === "零售退货列表"){ + listType = "入库"; + listSubType = "零售退货"; //注:用预付款购买的产品不能退货 + payTypeTitle = "付款"; + organUrl = retailUrl; + amountNum = "LSTH"; + } + else if(listTitle === "销售退货列表"){ + listType = "入库"; + listSubType = "销售退货"; + payTypeTitle = "付款"; + organUrl = cusUrl; + amountNum = "XSTH"; + } + else if(listTitle === "其它入库列表"){ + listType = "入库"; + listSubType = "其它"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "QTRK"; + } + else if(listTitle === "零售出库列表"){ + listType = "出库"; + listSubType = "零售"; + payTypeTitle = "收款"; + organUrl = retailUrl; + amountNum = "LSCK"; + } + else if(listTitle === "销售订单列表"){ + listType = "其它"; + listSubType = "销售订单"; + payTypeTitle = "隐藏"; + organUrl = cusUrl; + amountNum = "XSDD"; + } + else if(listTitle === "销售出库列表"){ + listType = "出库"; + listSubType = "销售"; + payTypeTitle = "收款"; + organUrl = cusUrl; + amountNum = "XSCK"; + } + else if(listTitle === "采购退货列表"){ + listType = "出库"; + listSubType = "采购退货"; + payTypeTitle = "收款"; + organUrl = supUrl; + amountNum = "CGTH"; + } + else if(listTitle === "其它出库列表"){ + listType = "出库"; + listSubType = "其它"; + payTypeTitle = "隐藏"; + organUrl = cusUrl; + amountNum = "QTCK"; + } + else if(listTitle === "调拨出库列表"){ + listType = "出库"; + listSubType = "调拨"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "DBCK"; + } + else if(listTitle === "组装单列表"){ + listType = "其它"; + listSubType = "组装单"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "ZZD"; + } + else if(listTitle === "拆卸单列表"){ + listType = "其它"; + listSubType = "拆卸单"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "CXD"; + } +} +//初始化系统基础信息 +function initSystemData_UB(){ + $.ajax({ + type:"get", + url: "/userBusiness/getBasicData", + data: ({ + KeyId:kid, + Type:"UserDepot" + }), + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if (res && res.code === 200) { + userBusinessList = res.data.userBusinessList; + } + else { + userBusinessList = null; + } + } + }); + +} +//初始化页面选项卡 +function initSelectInfo_UB(){ + + if(userBusinessList !=null) + { + if(userBusinessList.length>0) + { + //用户对应的仓库列表 [1][2][3]... + userdepot =userBusinessList[0].value; + } + } +} + + +//初始化系统基础信息 +function initSystemData_depot(){ + $.ajax({ + type:"get", + url: "/depot/getAllList", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200){ + depotList = res.data; + } else { + $.messager.alert('提示', '查找系统基础信息异常,请与管理员联系!', 'error'); + return; + } + } + }); +} +//初始化页面选项卡 +function initSelectInfo_depot(){ + var options = ""; + + if(depotList !=null) + { + options = ""; + for(var i = 0 ;i < depotList.length;i++) + { + var depot = depotList[i]; + + if(userdepot!=null) + { + if(userdepot.indexOf("["+depot.id+"]")!=-1) + { + if(depot.isDefault){ + defDepotId = depot.id; + } + options += ''; + depotString = depotString + depot.id + ","; + } + } + if(depot.type === 1){ + depotString = depotString + depot.id + ","; + } + } + depotString = depotString.substring(1, depotString.length-1); + $("#ProjectId").empty().append(options); + $("#AllocationProjectId").empty().append(options); + $("#searchProjectId").empty().append('').append(options); + } +} + +//初始化供应商、客户、散户信息 +function initSupplier(){ + $('#OrganId').combobox({ + url: organUrl, + valueField:'id', + textField:'supplier', + filter: function(q, row){ + var opts = $(this).combobox('options'); + return row[opts.textField].indexOf(q) >-1; + }, + onLoadSuccess: function(res) { + var data = $(this).combobox('getData'); + for(var i = 0; i<= data.length; i++){ + if(data && data[i] && data[i].supplier === "非会员"){ + orgDefaultId = data[i].id; + } + } + if(listSubType === "零售"){ + orgDefaultList = res; + } + }, + onSelect: function(rec){ + if(listSubType === "零售"){ + var option = ""; + if(rec.supplier !== "非会员" && rec.advanceIn >0){ + option = ''; + option += ''; + } + else { + option += ''; + } + $("#payType").empty().append(option); + } + else{ + $.ajax({ + type:"get", + url: "/supplier/findById", + data: { + supplierId: rec.id + }, + dataType: "json", + success: function (res){ + if(res && res.code === 200) { + if(res.data && res.data[0]){ + thisTaxRate = res.data[0].taxRate; //设置当前的税率 + } + } + }, + error:function(){ + + } + }); + } + } + }); +} + +//初始化销售人员 +function initSalesman(){ + $('#Salesman').combobox({ + url: "/person/getPersonByNumType?type=1", + valueField:'id', + textField:'name', + multiple: true + }); +} + +//初始化收入项目列表 +function initOutItemList(){ + $.ajax({ + type:"get", + url: "/inOutItem/findBySelect?type=out", + //设置为同步 + async:false, + dataType: "json", + success: function (res){ + if(res){ + outItemList = res; + } + }, + error:function(){ + + } + }); +} + +//初始化商品属性 +function initMProperty(){ + $.ajax({ + type: "get", + url: "/materialProperty/list", + dataType: "json", + data: ({ + search: JSON.stringify({ + name: "" + }), + currentPage: 1, + pageSize: 100 + }), + success: function (res) { + if(res && res.code === 200){ + if(res.data && res.data.page) { + var thisRows = res.data.page.rows; + for (var i = 0; i < thisRows.length; i++) { + if (thisRows[i].enabled) { + mPropertyList += thisRows[i].nativeName + ","; + } + } + if (mPropertyList) { + mPropertyList = mPropertyList.substring(0, mPropertyList.length - 1); + } + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('查询提示','查询信息异常,请稍后再试!','error'); + return; + } + }); +} + +//初始化系统基础信息 +function initSystemData_person(){ + $.ajax({ + type:"get", + url: "/person/getAllList", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + personList = res.data.personList; + } + } + } + }); +} +//初始化页面选项卡 +function initSelectInfo_person(){ + var options1 = ""; + + if(personList !=null) + { + for(var i = 0 ;i < personList.length;i++) + { + var person = personList[i]; + if(0 == i) + { + personID = person.id; + } + if(person.type=="仓管员") + { + options1 += ''; + } + } + $("#HandsPersonId").empty().append(options1); + } +} +//获取账户信息 +function initSystemData_account(){ + $.ajax({ + type:"get", + url: "/account/getAccount", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + accountList = res.data.accountList; + } + } + } + }); +} +//获取账户信息 +function initSelectInfo_account(){ + var options = ""; + if(accountList !=null){ + options = ""; + options += ""; + for(var i = 0 ;i < accountList.length;i++) { + var account = accountList[i]; + options += ''; + if(account.isdefault) { + defaultAccountId = account.id; //给账户赋值默认id + } + } + $("#AccountId").empty().append(options); + } +} + +//防止表单提交重复 +function initForm(){ + $('#depotHeadFM').form({ + onSubmit: function(){ + return false; + } + }); +} + +//初始化表格数据 +function initTableData(){ + if(pageType === "skip") { + var oldRowInfo = sessionStorage.getItem("rowInfo"); + editDepotHead(oldRowInfo); //自动弹出编辑框,带缓存数据 + } + var hideType = undefined; + var isHiddenStatus = true; + if(payTypeTitle === "隐藏"){ + hideType = true; //隐藏当前列 + } + var tableToolBar = [ + { + id:'addDepotHead', + text:'增加', + iconCls:'icon-add', + handler:function() + { + addDepotHead(); + } + }, + { + id:'deleteDepotHead', + text:'删除', + iconCls:'icon-remove', + handler:function() + { + batDeleteDepotHead(); + } + } + ]; + //如果允许的按钮列表中存在就显示,3-代表审核|反审核的权限 + if(btnEnableList && btnEnableList.indexOf(3)>-1){ + isHiddenStatus = false; //显示 + tableToolBar.push({ + id:'okDepotHead', + text:'审核', + iconCls:'icon-ok', + handler:function() { + setStatusFun(); + } + }, + { + id:'undoDepotHead', + text:'反审核', + iconCls:'icon-undo', + handler:function() { + setUnStatusFun(); + } + }); + } + else { + isHiddenStatus = true; //隐藏 + } + var isShowLastMoneyColumn = false; //是否显示优惠后金额和价税合计,true为隐藏,false为显示 + if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowLastMoneyColumn = true; //隐藏 + } + var isShowOrganNameColumn = false; //是否显示供应商、客户等信息,true为隐藏,false为显示 + var organNameTitle = ""; //组织名称标题 + if(listSubType == "调拨" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowOrganNameColumn = true; //隐藏 + } + else { + if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "采购退货列表" || listTitle == "其它入库列表"){ + organNameTitle = "供应商名称"; + } + else if(listTitle == "销售订单列表" || listTitle == "销售退货列表" || listTitle == "销售出库列表" || listTitle == "其它出库列表"){ + organNameTitle = "客户名称"; + } + else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ + organNameTitle = "会员卡号"; + } + } + var opWidth = 90; //操作宽度 + var isShowSkip = false; //是否显示跳转按钮 + var opTitle = ""; //跳转按钮的标题 + if(listTitle == "采购订单列表") { + opWidth = 120; + isShowSkip = true; + opTitle = "转采购入库"; + } else if(listTitle == "销售订单列表") { + opWidth = 120; + isShowSkip = true; + opTitle = "转销售出库"; + } + $('#tableData').datagrid({ + height:heightInfo, + rownumbers: false, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + pagination: true, + //交替出现背景 + striped : true, + pageSize: 10, + pageList: initPageNum, + columns:[[ + { field: 'id',width:35,align:"center",checkbox:true}, + { title: '操作',field: 'op',align:"center",width:opWidth, + formatter:function(value, rec,index) { + var str = ''; + // var rowInfo = rec.id + 'AaBb' + rec.projectid+ 'AaBb' + rec.number+ 'AaBb' + rec.operpersonname + // + 'AaBb' + rec.opertimeStr+ 'AaBb' + rec.organid+ 'AaBb' + rec.handspersonid + // + 'AaBb' + rec.accountid+ 'AaBb' + rec.changeamount+ 'AaBb' + rec.remark + // + 'AaBb' + rec.projectName+ 'AaBb' + rec.organName+ 'AaBb' + rec.handsPersonName + // + 'AaBb' + rec.accountName + 'AaBb' + rec.totalprice + 'AaBb' + rec.allocationprojectid + // + 'AaBb' + rec.allocationProjectName + 'AaBb' + rec.paytype + 'AaBb' + rec.salesman + // + 'AaBb' + rec.discount + 'AaBb' + rec.discountmoney + 'AaBb' + rec.discountlastmoney + // + 'AaBb' + rec.accountidlist + 'AaBb' + rec.accountmoneylist + // + 'AaBb' + rec.othermoney + 'AaBb' + rec.othermoneylist + 'AaBb' + rec.othermoneyitem + // + 'AaBb' + rec.accountday + 'AaBb' + rec.linknumber; + // rowInfo = rowInfo.replace(/\"/g, ""); + // rowInfo = rowInfo.replace(/\[|]/g,""); + var orgId = rec.organid? rec.organid:0; + str += '   '; + str += '   '; + str += ''; + if(isShowSkip) { + str += '   '; + } + return str; + } + }, + { title: organNameTitle, field: 'organName',width:120, hidden:isShowOrganNameColumn}, + { title: '单据编号',field: 'number',width:135, formatter:function (value,rec) { + if(rec.linknumber) { + return value + "[转]"; + } else { + return value; + } + } + }, + { title: '商品信息',field: 'materialsList',width:180,formatter:function(value){ + if(value) { + return value.replace(",",","); + } + } + }, + { title: '单据日期',field: 'opertimeStr',width:130}, + { title: '操作员',field: 'operpersonname',width:60}, + { title: '金额合计',field: 'totalprice',width:60}, + { title: '含税合计',field: 'totaltaxlastmoney',hidden:isShowLastMoneyColumn,width:60,formatter:function(value,rec){ + return (rec.discountmoney + rec.discountlastmoney).toFixed(2); + } + }, + { title: '优惠后金额',field: 'discountlastmoney',hidden:isShowLastMoneyColumn,width:80}, + { title: payTypeTitle,field: 'changeamount',width:50,hidden:hideType}, + { title: '状态',field: 'status',hidden:isHiddenStatus, width:70,align:"center",formatter:function(value){ + if(value === "0") { + return "未审核"; + } else if(value === "1") { + return "已审核"; + } else if(value === "2") { + if(listTitle == "采购订单列表") { + return "已转采购"; + } else if(listTitle == "销售订单列表") { + return "已转销售"; + } + } + } + } + ]], + toolbar:tableToolBar, + onLoadError:function() { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); +} + +//查找库存的方法 +function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ + var thisRatio = 1; //比例 + $.ajax({ + url: "/material/findById", + type: "get", + dataType: "json", + data: { + id: mId + }, + success: function (rec) { + if(rec && rec.code === 200 && rec.data && rec.data[0]) { + var loadRatio = 1; //在单位输入框上面加载比例字段 + if(rec.data[0].unit) { //如果存在计量单位信息 + loadRatio = 1; + } + else{ + var unitName = rec.data[0].unitName; + if(unitName) { + thisRatio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); + unitName = unitName.substring(0, unitName.indexOf("(")); + } + var unitArr = unitName.split(","); + var basicUnit = unitArr[0]; //基础单位 + var otherUnit = unitArr[1]; //副单位 + var unitSetInput =""; //单位 + if(listSubType === "采购订单" || listSubType === "采购" || listSubType === "采购退货"){ + unitSetInput = rec.data[0].firstinunit; + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = thisRatio; + } + } + else if(listSubType === "销售订单" || listSubType === "销售" || listSubType === "销售退货" || listSubType === "零售" || listSubType === "零售退货"){ + unitSetInput = rec.data[0].firstoutunit; + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = thisRatio; + } + } + } + //查询库存 + $.ajax({ + type: "get", + url: '/depotItem/findStockNumById', + data:{ + projectId: depotId, + materialId: mId, + monthTime: monthTime, + currentPage: 1, + pageSize: 10 + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if (res.data && res.data.page && res.data.page[0]) { + var thisStock = res.data.page[0].thisSum; + if (type == "select") { //选择下拉框的时候 + if (ratio != undefined && ratio != 1) { + loadRatio = ratio; + } + } + else if (type == "click") { //点击库存的时候 + if (ratio != undefined) { + loadRatio = ratio; + } + } + thisStock = (thisStock / loadRatio).toFixed(2); + body.find("[field='Stock']").find(input).val(thisStock).attr("data-stock", res.data.page[0].thisSum); //加载库存数据 + } + else { + body.find("[field='Stock']").find(input).val(0).attr("data-stock", 0); //加载库存数据 + } + body.find("[field='Stock']").find(input).prop("readonly", "readonly"); //设置库存数据为只读 + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); + } + }, + error: function () { + $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); + } + }); +} +//优惠率、合计的统计方法 +function statisticsFun(body,UnitPrice,OperNumber,footer,taxRate){ + var TotalPrice = 0; + var taxLastMoneyTotal = 0; + //金额的合计 + body.find("[field='AllPrice']").each(function(){ + if($(this).find("div").text()!==""){ + TotalPrice = TotalPrice + parseFloat($(this).find("div").text().toString()); + } + }); + TotalPrice = TotalPrice + UnitPrice*OperNumber; + footer.find("[field='AllPrice']").find("div").text((TotalPrice).toFixed(2)); //金额的合计 + //价税合计的总计 + body.find("[field='TaxLastMoney']").each(function(){ + if($(this).find("div").text()!==""){ + taxLastMoneyTotal = taxLastMoneyTotal + (parseFloat($(this).find("div").text().toString())-0); + } + }); + taxLastMoneyTotal = taxLastMoneyTotal + (UnitPrice*OperNumber*(1+taxRate/100)); + footer.find("[field='TaxLastMoney']").find("div").text((taxLastMoneyTotal).toFixed(2)); //价税合计的页脚总计 + var discount = $("#Discount").val(); //优惠率 + var discountMoney = (taxLastMoneyTotal*discount/100).toFixed(2); + $("#DiscountMoney").val(discountMoney);//优惠金额 + var discountLastMoney = (taxLastMoneyTotal*(1-discount/100)).toFixed(2) + $("#DiscountLastMoney").val(discountLastMoney);//优惠后金额 + if($("#AccountId").val()!=="many"){ + $("#ChangeAmount").val(discountLastMoney); //本次付、收款 + } + var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 + $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 + + if(listSubType == "零售" || listSubType == "零售退货") { + $("#ChangeAmount, #getAmount").val((TotalPrice).toFixed(2)); + $("#backAmount").val(0); + } +} +//初始化表格数据-商品列表-编辑状态 +function initTableData_material(type,TotalPrice){ + var body,footer,input; //定义表格和文本框 + var ratio = 1; //比例-品名专用 + var ratioDepot = 1; //比例-仓库用 + var monthTime = getNowFormatMonth(); + var isShowAnotherDepot = true; //显示对方仓库,true为隐藏,false为显示 + var depotHeadName = ""; //仓库名称 + var depotUrl = ""; //仓库接口地址 + var depotTextField = ""; //仓库下拉名称 + var anotherDepotHeadName = ""; //对方仓库的列的标题 + var anotherDepotUrl = ""; //对方仓库接口地址 + var anotherDepotTextField = ""; + if(listSubType == "调拨"){ + isShowAnotherDepot = false; //调拨时候显示对方仓库 + anotherDepotHeadName = "调入仓库"; + anotherDepotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; + anotherDepotTextField = "depotName"; + } + depotHeadName = "仓库名称"; + depotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; + depotTextField = "depotName"; + var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 + if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowTaxColumn = true; //隐藏 + } + var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 + if(listSubType == "组装单" || listSubType == "拆卸单"){ + isShowMaterialTypeColumn = false; //显示 + } + $('#materialData').datagrid({ + height:245, + rownumbers: false, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + //单击行是否选中 + checkOnSelect : false, + pagination: false, + //交替出现背景 + striped : true, + showFooter: true, + //loadFilter: pagerFilter, + onClickRow: onClickRow, + columns:[[ + { field: 'Id',width:35,align:"center",checkbox:true}, + { title: '商品类型',field: 'MType',editor:'validatebox',hidden:isShowMaterialTypeColumn,width:80}, + { title: depotHeadName, field: 'DepotId', editor: 'validatebox', width: 90, + formatter: function (value, row, index) { + return row.DepotName; + }, + editor: { + type: 'combobox', + options: { + valueField: 'id', + textField: depotTextField, + method: 'get', + url: depotUrl, + onSelect:function(rec){ + var depotId = rec.id; + body =$("#depotHeadFM .datagrid-body"); + footer =$("#depotHeadFM .datagrid-footer"); + input = ".datagrid-editable-input"; + var mId = body.find("[field='MaterialId']").find(".combo-value").val(); + if(mId){ + var type = "select"; //type 类型:点击 click,选择 select + findStockNumById(depotId, mId, monthTime, body, input, ratioDepot, type); + } + } + } + } + }, + { title: '品名(型号)(扩展信息)(单位)',field: 'MaterialId',width:230, + formatter:function(value,row,index){ + return row.MaterialName; + }, + editor:{ + type:'combobox', + options:{ + valueField:'Id', + textField:'MaterialName', + method:'get', + url: "/material/findBySelect", + panelWidth: 300, //下拉框的宽度 + //全面模糊匹配,过滤字段 + filter: function(q, row){ + var opts = $(this).combobox('options'); + return row[opts.textField].indexOf(q) >-1; + }, + onBeforeLoad: function(param){ + param.mpList = mPropertyList; //商品属性 + }, + onSelect:function(rec){ + if(rec) { + var mId = rec.Id; + $.ajax({ + url: "/material/findById", + type: "get", + dataType: "json", + data: { + id: mId + }, + success: function (res) { + if(res && res.code === 200 && res.data && res.data[0]) { + var retailPrice = res.data[0].retailprice-0; //零售价格 + var presetPriceOne = res.data[0].presetpriceone-0; //预计采购价 + var presetPriceTwo = res.data[0].presetpricetwo-0; //批发价 + var firstInUnit = res.data[0].firstinunit; //首选入库单位 + var firstOutUnit = res.data[0].firstoutunit; //首选出库单位 + var basicPresetPriceOne = ""; //多单位-入库-基础价格 + var basicPresetPriceTwo = ""; //多单位-出库-基础价格 + var retailPriceOne = ""; //多单位-入库-零售价格 + var otherPresetPriceOne = ""; //多单位-入库-其他价格 + var otherPresetPriceTwo = ""; //多单位-出库-其他价格 + var retailPriceTwo = ""; //多单位-出库-零售价格 + var basicUnit = ""; //基础单位 + var otherUnit = ""; //其他单位 + if(!res.data[0].unit){ + var ps = res.data[0].pricestrategy; + var psObj = JSON.parse(ps); + basicPresetPriceOne = psObj[0].basic.PresetPriceOne-0; + basicPresetPriceTwo = psObj[0].basic.PresetPriceTwo-0; + retailPriceOne = psObj[0].basic.RetailPrice-0; + otherPresetPriceOne = psObj[1].other.PresetPriceOne-0; + otherPresetPriceTwo = psObj[1].other.PresetPriceTwo-0; + retailPriceTwo = psObj[1].other.RetailPrice-0; + basicUnit = psObj[0].basic.Unit; + otherUnit = psObj[1].other.Unit; + } + body =$("#depotHeadFM .datagrid-body"); + footer =$("#depotHeadFM .datagrid-footer"); + input = ".datagrid-editable-input"; + if(res.data[0].unit){ //如果存在计量单位信息 + ratio = 1; //重置比例为1 + body.find("[field='Unit']").find(input).val(res.data[0].unit); //设置-计量单位信息 + body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 + body.find("[field='Unit']").find(input).off("click"); //移除点击事件 + body.find("[field='Unit']").find(input).attr("data-ratio",ratio); //修改比例缓存信息 + } + else { + var unitName = res.data[0].unitName; + if(unitName) { + ratio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); //给比例赋值 + unitName = unitName.substring(0, unitName.indexOf("(")); + } + var unitArr = unitName.split(","); + var basicUnit = unitArr[0]; //基础单位 + var otherUnit = unitArr[1]; //副单位 + var unitSetInput =""; //单位 + body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 + var loadRatio = 1; //在单位输入框上面加载比例字段 + if(listSubType === "采购" || listSubType === "采购退货" || listSubType === "采购订单"){ + unitSetInput = res.data[0].firstinunit; //给单位文本框赋值 + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = ratio; + } + } + else if(listSubType === "销售" || listSubType === "销售退货" || listSubType === "销售订单" || listSubType === "零售" || listSubType === "零售退货"){ + unitSetInput = res.data[0].firstoutunit; //给单位文本框赋值 + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = ratio; + } + } + body.find("[field='Unit']").find(input).val(unitSetInput).attr("data-ratio", loadRatio); //设置-首选单位 + + body.find("[field='Unit']").find(input).off("click").on("click",function(){ + if(basicUnit && otherUnit) { + var self = this; + //定义模版 + var temp = "
"; + temp +="
    "; + temp +="
  • " + basicUnit + "
  • "; + temp +="
  • " + otherUnit + "
  • "; + temp +="
"; + temp +="
"; + if($('.unit-list').length){ + $('.unit-list').remove(); //如果存在计量单位列表先移除 + } + else { + $(self).after(temp); //加载列表信息 + } + //计量单位列表的单击事件 + $('.unit-list ul li').off("click").on("click",function(){ + var unit = $(this).text(); + var thisRatio = $(this).attr("data-ratio"); //获取比例 + $(self).val(unit).attr("data-ratio", thisRatio); + $(self).keyup(); //模拟键盘操作 + $('.unit-list').remove(); //移除计量单位列表 + var stock = body.find("[field='Stock']").find(input).attr("data-stock"); //从缓存中取值 + var type = $(this).attr("data-type"); + var UnitPrice = 0; + if(type === "basic"){ + if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { + UnitPrice = basicPresetPriceOne; + } + else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { + UnitPrice = basicPresetPriceTwo; + } + else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ + UnitPrice = retailPriceOne; + } + body.find("[field='Stock']").find(input).val(stock); //修改库存 + } + else if(type === "other"){ + if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { + UnitPrice = otherPresetPriceOne; + } + else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { + UnitPrice = otherPresetPriceTwo; + } + else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ + UnitPrice = retailPriceTwo; + } + body.find("[field='Stock']").find(input).val((stock/ratio).toFixed(2)); //修改库存 + } + body.find("[field='UnitPrice']").find(input).val(UnitPrice); //单价 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //获取数量 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //获取税率 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //点击空白处移除计量单位列表 + $(".datagrid-body").off("click").on("click",function(){ + $('.unit-list').remove(); //移除计量单位列表 + }); + } + }); + } + var detailPrice = 0; //明细列表-单价 + if(listSubType == "零售" || listSubType == "零售退货") { + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = retailPrice; + } + else { + if (firstOutUnit == basicUnit) { + detailPrice = retailPriceOne; + } + else if (firstOutUnit == otherUnit) { + detailPrice = retailPriceTwo; + } + } + } + else if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = presetPriceOne; + } + else { + if (firstInUnit == basicUnit) { + detailPrice = basicPresetPriceOne; + } + else if (firstInUnit == otherUnit) { + detailPrice = otherPresetPriceOne; + } + } + } + else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = presetPriceTwo; + } + else { + if(firstOutUnit==basicUnit) { + detailPrice = basicPresetPriceTwo; + } + else if(firstOutUnit==otherUnit){ + detailPrice = otherPresetPriceTwo; + } + } + } + body.find("[field='OperNumber']").find(input).val(1); //数量初始化为1 + //单价和总价赋值 + if(!detailPrice) { + detailPrice = 0; + } + body.find("[field='UnitPrice']").find(input).val(detailPrice); + body.find("[field='AllPrice']").find(input).val(detailPrice); + var taxRate = body.find("[field='TaxRate']").find(input).val()-0; //获取税率 + body.find("[field='TaxUnitPrice']").find(input).val((detailPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((detailPrice*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((detailPrice*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,detailPrice,1,footer,taxRate); + + //查询库存信息 + var depotId = body.find("[field='DepotId']").find(".combo-value").val(); + if(depotId) { + var type = "select"; //type 类型:点击 click,选择 select + findStockNumById(depotId, mId, monthTime, body, input, loadRatio, type); + } + } + }, + error: function() { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + } + }); + } + } + } + } + }, + { title: '库存',field: 'Stock',editor:'validatebox',width:70}, + { title: anotherDepotHeadName, field: 'AnotherDepotId',editor:'validatebox',hidden:isShowAnotherDepot,width:90, + formatter: function (value, row, index) { + return row.AnotherDepotName; + }, + editor: { + type: 'combobox', + options: { + valueField: 'id', + textField: anotherDepotTextField, + method: 'get', + url: anotherDepotUrl + } + } + }, + { title: '单位',field: 'Unit',editor:'validatebox',width:60}, + { title: '数量',field: 'OperNumber',editor:'validatebox',width:60}, + { title: '单价',field: 'UnitPrice',editor:'validatebox',width:60}, + { title: '含税单价',field: 'TaxUnitPrice',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '金额',field: 'AllPrice',editor:'validatebox',width:75}, + { title: '税率(%)',field: 'TaxRate',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '税额',field: 'TaxMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '价税合计',field: 'TaxLastMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '备注',field: 'Remark',editor:'validatebox',width:120}, + { title: '品名-别',field: 'OtherField1',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '型号-别',field: 'OtherField2',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '颜色-别',field: 'OtherField3',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '备注1',field: 'OtherField4',editor:'validatebox',hidden:true,width:60}, + { title: '备注2',field: 'OtherField5',editor:'validatebox',hidden:true,width:60} + ]], + toolbar:[ + { + id:'append', + text:'新增', + iconCls:'icon-add', + handler:function() + { + append(); //新增 + } + }, + { + id:'delete', + text:'删除', + iconCls:'icon-remove', + handler:function() + { + batchDel(); //删除 + } + }, + { + id:'reject', + text:'撤销', + iconCls:'icon-undo', + handler:function() + { + reject(); //撤销 + } + } + ], + onLoadError:function() + { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); + $.ajax({ + type:"get", + url: '/depotItem/getDetailList', + data: { + headerId: depotHeadID, + mpList: mPropertyList + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + var data = res.data; + var AllPrice = 0; + var TaxLastMoney = 0; + var DiscountMoney = $("#DiscountMoney").val()-0; //优惠金额 + var DiscountLastMoney = $("#DiscountLastMoney").val()-0; //优惠后金额 + if(type === "edit") { + AllPrice = TotalPrice; + TaxLastMoney = DiscountMoney + DiscountLastMoney; + } + var array = []; + array.push({ + "AllPrice": AllPrice, + "TaxLastMoney": TaxLastMoney + }); + data.footer = array; + $("#materialData").datagrid('loadData',data); + //如果是订单跳转到采购或销售 + if(pageType === "skip") { + var skipList = $("#depotHeadFM .datagrid-body tr"); + //逐条自动点击每行数据 + skipList.each(function (i) { + setTimeout(function () { + skipList.eq(i).find("[field='Stock']").click(); + },(i+1)*1000); + }); + } + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); +} + +//初始化表格数据-商品列表-查看状态 +function initTableData_material_show(TotalPrice){ + var isShowAnotherDepot = true; //显示对方仓库,true为隐藏,false为显示 + var anotherDepotHeadName = ""; //对方仓库的列的标题 + var depotHeadName = ""; //仓库的列的标题 + if(listSubType == "调拨"){ + isShowAnotherDepot = false; //调拨时候显示对方仓库 + anotherDepotHeadName = "调入仓库"; + } + depotHeadName = "仓库名称"; + var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 + if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowTaxColumn = true; //隐藏 + } + var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 + if(listSubType == "组装单" || listSubType == "拆卸单"){ + isShowMaterialTypeColumn = false; //显示 + } + $('#materialDataShow').datagrid({ + height:245, + rownumbers: true, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + pagination: false, + //交替出现背景 + striped : true, + showFooter: true, + onClickRow: onClickRow, + columns:[[ + { title: '商品类型',field: 'MType',width:80, hidden:isShowMaterialTypeColumn}, + { title: depotHeadName,field: 'DepotName',editor:'validatebox',width:90}, + { title: '品名(型号)(扩展信息)(单位)',field: 'MaterialName',width:230}, + { title: anotherDepotHeadName,field: 'AnotherDepotName',hidden:isShowAnotherDepot,width:90}, + { title: '单位',field: 'Unit',editor:'validatebox',width:60}, + { title: '数量',field: 'OperNumber',editor:'validatebox',width:60}, + { title: '单价',field: 'UnitPrice',editor:'validatebox',width:60}, + { title: '含税单价',field: 'TaxUnitPrice',editor:'validattebox',hidden:isShowTaxColumn,width:75}, + { title: '金额',field: 'AllPrice',editor:'validatebox',width:75}, + { title: '税率',field: 'TaxRate',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '税额',field: 'TaxMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '价税合计',field: 'TaxLastMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '备注',field: 'Remark',editor:'validatebox',width:120}, + { title: '品名-别',field: 'OtherField1',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '型号-别',field: 'OtherField2',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '颜色-别',field: 'OtherField3',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '备注1',field: 'OtherField4',editor:'validatebox',hidden:true,width:60}, + { title: '备注2',field: 'OtherField5',editor:'validatebox',hidden:true,width:60} + ]], + onLoadError:function() { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); + $.ajax({ + type:"get", + url: '/depotItem/getDetailList', + data: { + headerId: depotHeadID, + mpList: mPropertyList + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + var data = res.data; + var AllPrice = TotalPrice; + var DiscountMoney = $("#DiscountMoneyShow").text() - 0; //优惠金额 + var DiscountLastMoney = $("#DiscountLastMoneyShow").text() - 0; //优惠后金额 + var array = []; + array.push({ + "AllPrice": AllPrice, + "TaxLastMoney": DiscountMoney + DiscountLastMoney + }); + data.footer = array; + $("#materialDataShow").datagrid('loadData', data); + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); +} + +//分页信息处理 +function ininPager(){ + try + { + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + pager.pagination({ + onSelectPage:function(pageNum, pageSize) + { + opts.pageNumber = pageNum; + opts.pageSize = pageSize; + pager.pagination('refresh', + { + pageNumber:pageNum, + pageSize:pageSize + }); + showDepotHeadDetails(pageNum,pageSize); + } + }); + } + catch (e) + { + $.messager.alert('异常处理提示',"分页信息异常 : " + e.name + ": " + e.message,'error'); + } +} + +//删除单据信息 +function deleteDepotHead(depotHeadID, thisOrganId, totalPrice, status){ + if(status == "1" || status == "2") { + $.messager.alert('删除提示','已审核和已转的单据不能删除!','warning'); + return; + } + $.messager.confirm('删除确认','确定要删除此单据信息吗?',function(r) { + if (r) { + $.ajax({ + type:"post", + // url: "/depotHead/" + depotHeadID + "/delete", + url: "/depotHead/deleteDepotHeadAndDetail", + dataType: "json", + data:{ + id: depotHeadID + }, + success: function (res) { + if(res && res.code == 200) { + $("#searchBtn").click(); + } else { + $.messager.alert('删除提示', '删除单据信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('删除提示','删除单据信息异常,请稍后再试!','error'); + return; + } + }); + + //更新会员的预收款信息 + if(listSubType === "零售") { + $.ajax({ + type:"post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data:{ + supplierId: thisOrganId, //会员id + advanceIn: totalPrice //删除时同时返还用户的预付款 + }, + success: function(res){ + if(res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function(){ + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + } + }); +} + +//订单转采购或销售 +function skipDepotHead(index, status){ + //获取当前行 + var rowsdata = $("#tableData").datagrid("getRows")[index]; + if(status == "0" || status == "2") { + $.messager.alert('提示','未审核和已转的单据禁止操作!','warning'); + } else { + sessionStorage.setItem("rowInfo", JSON.stringify(rowsdata)); //将单据信息存入缓存中 + if(listTitle == "采购订单列表") { + parent.addTab("订单转采购", "../materials/purchase_in_list.html?t=skip", ""); + } else if(listTitle == "销售订单列表") { + parent.addTab("订单转销售", "../materials/sale_out_list.html?t=skip", ""); + } + } +} + +//批量删除单据信息 +function batDeleteDepotHead(){ + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) + { + $.messager.alert('删除提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) + { + $.messager.confirm('删除确认','确定要删除选中的' + row.length + '条单据信息吗?',function(r) + { + if (r) { + var ids = ""; + for (var i = 0; i < row.length; i++) { + if (i == row.length - 1) { + if (row[i].status == 0) { + ids += row[i].id; + } + break; + } + ids += row[i].id + ","; + } + if (ids) { + //批量更新会员的预收款信息 + for (var i = 0; i < row.length; i++) { + if (listSubType === "零售") { + $.ajax({ + type: "post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data: { + supplierId: row[i].organid, //会员id + advanceIn: row[i].totalprice //删除时同时返还用户的预付款 + }, + success: function (res) { + if (res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function () { + $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); + return; + } + }); + } + } + //批量删除 + $.ajax({ + type: "post", + // url: "/depotHead/batchDelete", + url: "/depotHead/batchDeleteDepotHeadAndDetail", + dataType: "json", + async: false, + data: ({ + ids: ids + }), + success: function (res) { + if (res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('删除提示', '删除单据信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('删除提示', '删除单据信息异常,请稍后再试!', 'error'); + return; + } + }); + } else { + $.messager.alert('删除提示','没有能删除的单据!','warning'); + } + } + }); + } +} + +//批量审核 +function setStatusFun() { + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) { + $.messager.alert('审核提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) { + $.messager.confirm('审核确认','确定要审核选中的' + row.length + '条信息吗?',function(r) + { + if (r) + { + var ids = ""; + for(var i = 0;i < row.length; i ++) + { + if(i == row.length-1) + { + if(row[i].status != "2") { + ids += row[i].id; + } + break; + } + ids += row[i].id + ","; + } + if(ids) { + $.ajax({ + type:"post", + url: "/depotHead/batchSetStatus", + dataType: "json", + async : false, + data: ({ + status: "1", + depotHeadIDs : ids + }), + success: function (res) { + if(res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('审核提示', '审核信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('审核提示','审核信息异常,请稍后再试!','error'); + return; + } + }); + } else { + $.messager.alert('审核提示','没有能审核的单据!','warning'); + } + } + }); + } +} + +//批量反审核 +function setUnStatusFun() { + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) + { + $.messager.alert('反审核提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) + { + $.messager.confirm('反审核确认','确定要反审核选中的' + row.length + '条信息吗?',function(r) + { + if (r) + { + var ids = ""; + for(var i = 0;i < row.length; i ++) + { + if(i == row.length-1) + { + if(row[i].status != "2") { + ids += row[i].id; + } + break; + } + ids += row[i].id + ","; + } + if(ids) { + $.ajax({ + type: "post", + url: "/depotHead/batchSetStatus", + dataType: "json", + async: false, + data: ({ + status: "0", + depotHeadIDs: ids + }), + success: function (res) { + if (res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('反审核提示', '反审核信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('反审核提示', '反审核信息异常,请稍后再试!', 'error'); + return; + } + }); + } else { + $.messager.alert('反审核提示','没有能反审核的单据!','warning'); + } + } + }); + } +} + +//生成单据编号 +function buildNumber() { + $.ajax({ + type: "get", + url: "/depotHead/buildNumber", + success:function(res){ + if(res && res.code === 200){ + var obj = res.data; + var defaultNumber = obj.DefaultNumber; + var newNumber = amountNum + defaultNumber; + $("#Number").val(newNumber).attr("data-defaultNumber",newNumber); + } + }, + error:function(){ + $.messager.alert('提示','生成单据编号失败!','error'); + } + }); +} + +//新增信息 +function addDepotHead(){ + $('#depotHeadFM').form('clear'); + var thisDateTime = getNowFormatDateTime(); //当前时间 + $("#OperTime").val(thisDateTime); + buildNumber(); //生成单据编号 + //初始化优惠率、优惠金额、优惠后金额、本次付|收款、本次欠款 为0 + $("#Discount").val(0); + $("#DiscountMoney").val(0); + $("#DiscountLastMoney").val(0); + $("#ChangeAmount").val(0); + $("#Debt").val(0); + $("#AccountId").val(defaultAccountId); //初始化默认的账户Id + var addTitle = listTitle.replace("列表","信息"); + $('#depotHeadDlg').dialog('open').dialog('setTitle',' 增加' + addTitle); + $(".window-mask").css({ width: webW ,height: webH}); + + orgDepotHead = ""; + depotHeadID = 0; + initTableData_material("add"); //商品列表 + reject(); //撤销下、刷新商品列表 + $("#addOrgan").off("click").on("click",function(){ + $('#supplierDlg').dialog('open').dialog('setTitle',' 增加供应商信息'); + $('#supplierFM').form('clear'); + }); + + $("#addMember").off("click").on("click",function(){ + $('#supplierDlg').dialog('open').dialog('setTitle',' 增加会员信息'); + $('#supplierFM').form('clear'); + }); + $("#addCustomer").off("click").on("click",function(){ + $('#supplierDlg').dialog('open').dialog('setTitle',' 增加客户信息'); + $('#supplierFM').form('clear'); + }); + url = '/depotHead/addDepotHeadAndDetail'; + + //零售单据修改收款时,自动计算找零 + if(listSubType == "零售" || listSubType == "零售退货") { + $("#payType").val("现付"); + $("#OrganId").combobox("setValue", orgDefaultId); //自动默认选择非会员 + // 鼠标点下时清空选择项 + $("#OrganId").next().find("input").off("mousedown").on("mousedown",function(){ + $("#OrganId").combobox("setValue", ""); + }); + //当会员卡号长度超过10位后,自动点击下拉框,用于兼容刷卡器 + $("#OrganId").next().find("input").off("keyup").on("keyup",function(){ + var self = this; + if($(this).val().length === 10){ + setTimeout(function(){ + $(".combo-panel .combobox-item-selected").click(); + //更新付款类型,加载会员的预付款的金额 + for(var i=0; i0){ + option = ''; + option += ''; + } + else { + option += ''; + } + $("#payType").empty().append(option); + } + } + },1000); + } + }); + var getAmount = $("#depotHeadFM .get-amount"); + var changeAmount = $("#depotHeadFM .change-amount"); + var backAmount = $("#depotHeadFM .back-amount"); + getAmount.val(0); changeAmount.val(0); backAmount.val(0); //时间初始化 + getAmount.off("keyup").on("keyup",function() { + if(changeAmount.val()){ + backAmount.val((getAmount.val()-changeAmount.val()).toFixed(2)); + } + }); + } +} + +//编辑信息 +function editDepotHead(index, status){ + if(status == "1" || status == "2") { + $.messager.alert('编辑提示','已审核和已转的单据不能编辑!','warning'); + return; + } + // var depotHeadInfo = depotHeadTotalInfo.split("AaBb"); + //获取当前行 + var rowsdata =''; + if(Number(index).toString()=='NaN'){ + rowsdata=$.parseJSON(index); + }else{ + rowsdata=$("#tableData").datagrid("getRows")[index]; + } + $("#ProjectId").focus().val(rowsdata.projectid); + var ProjectId=rowsdata.projectid; + if(ProjectId!='') { + initSystemData_person(ProjectId); + initSelectInfo_person(); + } + var TotalPrice = rowsdata.totalprice; //合计金额 + if(pageType === "skip") { //从订单跳转过来 + buildNumber(); //生成单据编号 + var thisDateTime = getNowFormatDateTime(); //当前时间 + $("#OperTime").val(thisDateTime); + $("#LinkNumber").val(rowsdata.number); //关联订单号 + $("#AccountId").val(defaultAccountId); //初始化默认的账户Id + $("#DiscountLastMoney").val(TotalPrice); //优惠后金额 + $("#ChangeAmount").val(TotalPrice).attr("data-changeamount", TotalPrice); + } else { + $("#Number").val(rowsdata.number).attr("data-defaultNumber",rowsdata.number); + $("#OperTime").val(rowsdata.opertimeStr); + $("#LinkNumber").val(rowsdata.linknumber==undefined?"":rowsdata.linknumber); //关联订单号 + $("#AccountId").val(rowsdata.accountid); //账户Id + $("#DiscountLastMoney").val(rowsdata.discountlastmoney==undefined?"0.00":rowsdata.discountlastmoney); //优惠后金额 + $("#ChangeAmount").val(rowsdata.changeamount).attr("data-changeamount", rowsdata.changeamount); + } + $('#OrganId').combobox('setValue', rowsdata.organid==undefined?'':rowsdata.organid); + $("#HandsPersonId").val(rowsdata.handspersonid); + $("#Remark").val(rowsdata.remark); + $("#Discount").val(rowsdata.discount==undefined?"0":rowsdata.discount); + $("#DiscountMoney").val(rowsdata.discountmoney==undefined?"0.00":rowsdata.discountmoney); + $("#Debt").val(Number((rowsdata.discountlastmoney==undefined?'0.00':rowsdata.discountlastmoney-rowsdata.changeamount)).toFixed(2)); + $("#AccountDay").val(rowsdata.accountday==undefined?"":rowsdata.accountday); //结算天数 + preTotalPrice = rowsdata.totalprice; //记录前一次合计金额,用于扣预付款 + $("#AllocationProjectId").val(rowsdata.allocationprojectid); + oldNumber = rowsdata.number; //记录编辑前的单据编号 + oldId = rowsdata.id; //记录单据Id + var editTitle = listTitle.replace("列表","信息"); + $('#depotHeadDlg').dialog('open').dialog('setTitle',' 编辑' + editTitle); + $(".window-mask").css({ width: webW ,height: webH}); + depotHeadID = rowsdata.id; + + if(listSubType == "零售"){ + var option = ""; + if(rowsdata.paytype == "预付款"){ + option = ''; + option += ''; + } + else { + option += ''; + } + $("#payType").empty().append(option); + } + + if(listSubType == "销售" || listSubType == "销售退货"){ + if(rowsdata.salesman){ + var arr = rowsdata.salesman.split(","); + var salesmanArray = []; + for(var i=0;i","")); + } + } + $("#Salesman").combobox('setValues', salesmanArray); + } + } + + //采购入库、销售出库的多账户加载 + if(rowsdata.accountidlist!=undefined && rowsdata.accountmoneylist!=undefined){ + $("#AccountId").val("many"); //下拉框选中多账户 + var accountArr = rowsdata.accountidlist.split(","); + var accountMoneyArr = rowsdata.accountmoneylist.split(","); + accountMoneyArr = changeListFmtPlus(accountMoneyArr) //将数组单个金额中的数值转为正数 + + if(listSubType == "零售" || listSubType == "零售退货") { + var manyAccountMoney = 0; //多账户合计-零售 + for (var j = 0; j < accountArr.length; j++) { + if (accountList != null) { + for (var i = 0; i < accountList.length; i++) { + var account = accountList[i]; + if (accountArr[j] == account.id) { + manyAccountMoney += accountMoneyArr[j] - 0; //多账户合计-零售 + } + } + } + } + $("#getAmount").val(manyAccountMoney); //收款金额、付款金额 + var changeAmount = $("#ChangeAmount").val()-0; + $("#backAmount").val((manyAccountMoney-changeAmount).toFixed(2)); //找零 + } + + $("#AccountId").attr("data-accountArr", JSON.stringify(accountArr)).attr("data-accountMoneyArr", JSON.stringify(accountMoneyArr)); //json数据存储 + $(".many-account-ico").show(); //显示多账户的ico图标 + } + + //采购入库、销售出库的费用数据加载 + if(rowsdata.othermoneylist &&rowsdata.othermoneyitem){ + $("#OtherMoney").val(rowsdata.othermoney==undefined?"0":rowsdata.othermoney); //采购费用、销售费用 + var itemArr = rowsdata.othermoneylist.split(","); + var itemMoneyArr = rowsdata.othermoneyitem.split(","); + $("#OtherMoney").attr("data-itemArr",JSON.stringify(itemArr)).attr("data-itemMoneyArr",JSON.stringify(itemMoneyArr)); //json数据存储 + } + + initTableData_material("edit",TotalPrice); //商品列表 + reject(); //撤销下、刷新商品列表 + if(pageType === "skip") { + url = '/depotHead/addDepotHeadAndDetail'; //如果是从订单跳转过来,则此处为新增的接口 + //jshjshjsh + $("#depotHeadFM .datagrid-body").find("[field='DepotId']").click(); + } else { + url = '/depotHead/updateDepotHeadAndDetail?id=' + rowsdata.id; //更新接口 + } +} + +//查看信息 +function showDepotHead(index){ + // var depotHeadInfo = depotHeadTotalInfo.split("AaBb"); + //获取当前行 + var rowsdata = $("#tableData").datagrid("getRows")[index]; + var manyAccountMoney = 0; //多账户合计-零售 + $("#ProjectIdShow").text(rowsdata.projectName); + $("#NumberShow").text(rowsdata.number); + $("#OperTimeShow").text(rowsdata.opertimeStr); + $('#OrganIdShow').text(rowsdata.organName==undefined?'':rowsdata.organName); + $("#HandsPersonIdShow").text(rowsdata.handsPersonName); + if(rowsdata.accountName && rowsdata.accountName!=undefined){ + $("#AccountIdShow").text(rowsdata.accountName); //结算账户 + } else { + var accountArr = (rowsdata.accountidlist==undefined?"":rowsdata.accountidlist).split(","); //账户id列表 + var accountMoneyArr =(rowsdata.accountmoneylist==undefined?"":rowsdata.accountmoneylist).split(","); //账户金额列表 + var accountIdShow = ""; + for(var j =0;j 查看' + showTitle); + $(".window-mask").css({ width: webW ,height: webH}); + + depotHeadID = rowsdata.id; + initTableData_material_show(TotalPrice); //商品列表-查看状态 + + //零售单据展示数据 + if(listSubType == "零售" || listSubType == "零售退货"){ + var changeAccount = $("#depotHeadDlgShow .change-amount-show").text() -0; + if(manyAccountMoney!==0){ + $("#depotHeadDlgShow .get-amount-show").text((manyAccountMoney).toFixed(2)); + $("#depotHeadDlgShow .back-amount-show").text((manyAccountMoney -changeAccount).toFixed(2)); + } + else { + $("#depotHeadDlgShow .get-amount-show").text((changeAccount).toFixed(2)); + $("#depotHeadDlgShow .back-amount-show").text(0); + } + } + if(listSubType === "销售" || listSubType === "销售退货"){ + if(rowsdata.salesman){ + var arr = rowsdata.salesman.split(","); + var salesmanStr = ""; + for(var i=0;i",""); + } + else { + salesmanStr += arr[i].replace("<","").replace(">","") + ","; + } + } + } + $.ajax({ + type: "get", + url: "/person/getPersonByIds", + data: { + personIDs: salesmanStr + }, + success:function(res){ + if(res && res.code === 200){ + if(res.data) { + $("#SalesmanShow").text(res.data.names); //销售人员列表 + } + } + }, + error:function(){ + + } + }); + } + } +} + +//绑定操作事件 +function bindEvent(){ + showDepotHeadDetails(1,initPageSize); //初始化时自动查询 + //搜索处理 + $("#searchBtn").off("click").on("click",function(){ + showDepotHeadDetails(1,initPageSize); + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + opts.pageNumber = 1; + opts.pageSize = initPageSize; + pager.pagination('refresh', + { + pageNumber:1, + pageSize:initPageSize + }); + }); + + //重置按钮 + $("#searchResetBtn").unbind().bind({ + click:function(){ + //$("#searchProjectId").val(""); + $("#searchState").val(""); + $("#searchBeginTime").val(""); + $("#searchEndTime").val(""); + //加载完以后重新初始化 + $("#searchBtn").click(); + } + }); + + //检查单据编号是否存在 + function checkDepotHeadNumber() { + var thisNumber = $.trim($("#Number").val()); + //表示是否存在 true == 存在 false = 不存在 + var flag = false; + //开始ajax名称检验,不能重名 + if(thisNumber.length > 0 &&( oldNumber.length ==0 || thisNumber != oldNumber)) + { + $.ajax({ + type:"get", + url: "/depotHead/checkIsNumberExist", + dataType: "json", + async : false, + data: ({ + DepotHeadID : oldId, + Number : thisNumber + }), + success: function (tipInfo) + { + flag = tipInfo; + if(tipInfo) + { + $.messager.alert('提示','抱歉,该单据编号已经存在','warning'); + return; + } + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','检查单据编号是否存在异常,请稍后再试!','error'); + return; + } + }); + } + return flag; + } + //保存信息 + /** + * 2019-01-25 + * 我对这个方法的实现结果存在严重怀疑,决定重构 + * 有如下疑点: + * 1、保存完主表,返回结果后,再发起请求去操作子表,如何保证事务的一致性(业务数据一致性) + * 2、保存完主表后,再通过selectmax的方式去获取主表主键id完全就是看人品的不可靠的思路 + * 修改计划: + * 2019-01-25修改零售出库相关操作 + * 修改方式,重写url,将主从表操作合并 + * + * + * **/ + $("#saveDepotHead").off("click").on("click",function(){ + if(!$('#depotHeadFM').form('validate')){ + return; + } + else { + //如果初始编号被修改了,就要判断单据编号是否存在 + if($.trim($("#Number").val()) != $('#Number').attr("data-defaultNumber")){ + //调用查询单据编号是否重名的方法 + if(checkDepotHeadNumber()){ + return; + } + } + //输入框提示 + if(listTitle === "采购订单列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择供应商!','warning'); + return; + } + } + else if(listTitle === "采购入库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择供应商!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择结算账户!','warning'); + return; + } + } + else if(listTitle === "零售退货列表"){ + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择付款账户!','warning'); + return; + } + if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { + $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); + return; + } + } + else if(listTitle === "销售退货列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择退货单位!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择付款账户!','warning'); + return; + } + } + else if(listTitle === "其它入库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择往来单位!','warning'); + return; + } + } + else if(listTitle === "零售出库列表"){ + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择收款账户!','warning'); + return; + } + if($("#backAmount").val()-0 <0){ + $.messager.alert('提示','找零金额不能小于0!','warning'); + return; + } + if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { + $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); + return; + } + + } + else if(listTitle === "销售订单列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择购买单位!','warning'); + return; + } + } + else if(listTitle === "销售出库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择购买单位!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择收款账户!','warning'); + return; + } + } + else if(listTitle === "采购退货列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择收货单位!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择收款账户!','warning'); + return; + } + } + else if(listTitle === "其它出库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择往来单位!','warning'); + return; + } + } + else if(listTitle === "调拨出库列表"){ + + } + //进行明细的校验 + if(depotHeadID ==0) { + //新增模式下 + if (!CheckData("add")) { + return; + } + } + else { + //编辑模式下 + if (!CheckData("edit")) { + return; + } + } + var OrganId = null, ProjectId = null,AllocationProjectId = null; + var ChangeAmount = $.trim($("#ChangeAmount").val())-0; + var TotalPrice = $("#depotHeadFM .datagrid-footer [field='AllPrice'] div").text(); + if($('#OrganId').length){ + OrganId = $('#OrganId').combobox('getValue'); + } + var accountMoneyList = $("#AccountId").attr("data-accountmoneyarr"); //账户金额列表-多账户 + var accountMoneyArr; + if(accountMoneyList) { + accountMoneyList = accountMoneyList.replace("[","").replace("]","").toString(); + var reg=new RegExp("\"","g"); //创建正则RegExp对象 + accountMoneyList = accountMoneyList.replace(reg,""); //替换所有的双引号 + accountMoneyArr = accountMoneyList.split(","); //转为数组 + } + if(listSubType === "采购订单"||listSubType === "采购"||listSubType === "零售退货"||listSubType === "销售退货"){ + //付款为负数 + ChangeAmount = 0 - ChangeAmount; + TotalPrice = 0 - TotalPrice; + if(accountMoneyArr) { + accountMoneyArr = changeListFmtMinus(accountMoneyArr); //将数组单个金额中的数值转为负数 + } + } + //零售时候,可以从会员预付款中扣款 + var thisPayType = "现付"; + if(listSubType === "零售") { + if($("#payType").val() ==="预付款") { + thisPayType = "预付款"; + } + } + var SalesmanStr = ""; + if(listSubType === "销售" || listSubType === "销售退货"){ + var Salesman = $('#Salesman').combobox('getValues').toString(); //销售人员 + if(Salesman) { + var SalesmanArray = Salesman.split(","); + for (var i = 0; i < SalesmanArray.length; i++) { + if (i === SalesmanArray.length - 1) { + SalesmanStr += "<" + SalesmanArray[i] + ">"; + } + else { + SalesmanStr += "<" + SalesmanArray[i] + ">,"; + } + } + } + } + var getAccountID = $.trim($("#AccountId").val()); + if($("#AccountId").val() === "many"){ //多账户 + getAccountID = null; + } + var infoStr=JSON.stringify({ + Type: listType, + SubType: listSubType, + ProjectId: ProjectId, + AllocationProjectId: AllocationProjectId, + DefaultNumber: $.trim($("#Number").attr("data-defaultNumber")),//初始编号 + Number: $.trim($("#Number").val()), + LinkNumber: $.trim($("#LinkNumber").val()), + OperTime: $("#OperTime").val(), + OrganId: OrganId, + HandsPersonId: $.trim($("#HandsPersonId").val()), + Salesman: SalesmanStr, //销售人员 + AccountId: getAccountID, + ChangeAmount: ChangeAmount, //付款/收款 + TotalPrice: TotalPrice, //合计 + PayType: thisPayType, //现付/预付款 + Remark: $.trim($("#Remark").val()), + AccountIdList: $("#AccountId").attr("data-accountarr"), //账户列表-多账户 + AccountMoneyList: accountMoneyArr ? JSON.stringify(accountMoneyArr) : "", //账户金额列表-多账户 + Discount: $.trim($("#Discount").val()), + DiscountMoney: $.trim($("#DiscountMoney").val()), + DiscountLastMoney: $.trim($("#DiscountLastMoney").val()), + OtherMoney: $.trim($("#OtherMoney").val()), //采购费用、销售费用 + OtherMoneyList: $("#OtherMoney").attr("data-itemarr"), //支出项目列表-涉及费用 + OtherMoneyItem: $("#OtherMoney").attr("data-itemmoneyarr"), //支出项目金额列表-涉及费用 + AccountDay: $("#AccountDay").val() //结算天数 + }); + /** + * 零售出库,单独操作 + * */ + if(url.indexOf("/depotHead/addDepotHeadAndDetail")>=0){ + addDepotHeadAndDetail(url,infoStr); + return; + }else if(url.indexOf("/depotHead/updateDepotHeadAndDetail")>=0){ + updateDepotHeadAndDetail(url,infoStr,preTotalPrice); + return; + } + $.ajax({ + type:"post", + url: url, + dataType: "json", + async : false, + data: ({ + info:infoStr + }), + success: function (tipInfo) + { + if(tipInfo) + { + function closeDialog(){ + $('#depotHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showDepotHeadDetails(opts.pageNumber,opts.pageSize); + } + + if(thisPayType === "预付款") { + //更新用户信息-预付款 + var advanceIn = 0; //预付款金额 + if(depotHeadID){ + advanceIn = TotalPrice - preTotalPrice; //修改时,预付款=合计金额-加载金额 + } + else{ + advanceIn = TotalPrice; //新增时,预付款=合计金额 + } + $.ajax({ + type:"post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data:{ + supplierId: OrganId, //会员id + advanceIn: 0 - advanceIn //保存的同时扣掉用户的预付款 + }, + success: function(res){ + if(res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function(){ + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + + //保存明细记录 + if(depotHeadID ==0) + { + getMaxId(); //查找最大的Id + accept(depotHeadMaxId,closeDialog); //新增 + } + else + { + accept(depotHeadID,closeDialog); //修改 + } + } + else + { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + }); + + //打印单据 + $("#printDepotHeadShow").off("click").on("click",function(){ + var tableString = $("#depotHeadDlgShow").html(); + localStorage.setItem("tableString",tableString); + window.open("../../js/print/print_form.html","location:No;status:No;help:No;dialogWidth:800px;dialogHeight:600px;scroll:auto;"); + }); + + //初始化键盘enter事件 + $(document).keydown(function(event){ + //兼容 IE和firefox 事件 + var e = window.event || event; + var k = e.keyCode||e.which||e.charCode; + //兼容 IE,firefox 兼容 + var obj = e.srcElement ? e.srcElement : e.target; + //绑定键盘事件为 id是指定的输入框才可以触发键盘事件 13键盘事件 ---遗留问题 enter键效验 对话框会关闭问题 + if(k == "13"&&(obj.id=="State"||obj.id=="Number")) + { + $("#saveDepotHead").click(); + } + //搜索按钮添加快捷键 + if(k == "13"&&(obj.id=="searchState"||obj.id=="searchNumber"||obj.id=="searchMaterial")) + { + $("#searchBtn").click(); + } + }); + + //优惠率输入框事件 + $("#Discount").off("keyup").on("keyup",function(){ + var footer =$("#depotHeadFM .datagrid-footer"); + var totalPrice = footer.find("[field='TaxLastMoney']").find("div").text(); + var discountNum = $(this).val(); + var discountMoney = (discountNum/100*totalPrice).toFixed(2); + var discountLastMoney = (totalPrice - discountMoney).toFixed(2); + $("#DiscountMoney").val(discountMoney); //优惠金额 + $("#DiscountLastMoney").val(discountLastMoney); //优惠后金额 + if($("#AccountId").val()!=="many"){ + $("#ChangeAmount").val(discountLastMoney); //本次付、收款 + } + var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 + $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 + }); + + //优惠金额输入框事件 + $("#DiscountMoney").off("keyup").on("keyup",function(){ + var footer =$("#depotHeadFM .datagrid-footer"); + var totalPrice = footer.find("[field='TaxLastMoney']").find("div").text(); + var discountMoney = $(this).val(); + var discount = (discountMoney/totalPrice).toFixed(2)*100; + var discountLastMoney = (totalPrice - discountMoney).toFixed(2); + $("#Discount").val(discount); //优惠金额 + $("#DiscountLastMoney").val(discountLastMoney); //优惠后金额 + if($("#AccountId").val()!=="many"){ + $("#ChangeAmount").val(discountLastMoney); //本次付、收款 + } + var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 + $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 + }); + + //付款、收款输入框事件 + $("#ChangeAmount").off("keyup").on("keyup",function(){ + var discountLastMoney = $("#DiscountLastMoney").val(); + var changeAmount = $(this).val(); + var debtMoney = (discountLastMoney - changeAmount).toFixed(2); + $("#Debt").val(debtMoney); //本次欠款 + }); + + //多账户结算窗口弹出事件 + function depotHeadAccountDlgFun(){ + $('#depotHeadAccountDlg').dialog('open').dialog('setTitle',' 多账户结算'); + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").remove(); //先移除输入栏目 + $("#accountMoneyTotalDlg").text(0); //将合计初始化为0 + for(var i=0; i<6; i++) { + $("#depotHeadAccountDlg .tabs-tmp .account-content-tmp").attr("data-index",5-i); //添加索引 + var contentTmp = $("#depotHeadAccountDlg .tabs-tmp tbody").html(); + var accountDlgHead = $("#depotHeadAccountDlg .account-head-tmp"); + accountDlgHead.after(contentTmp); + } + + //获取账户信息 + function accountDlgFun() { + var options = ""; + if(accountList !=null){ + for(var i = 0 ;i < accountList.length;i++) { + var account = accountList[i]; + options += ''; + } + $(".account-id-dlg").empty().append("").append(options); + } + } + accountDlgFun(); //获取账户信息 + $("#depotHeadAccountDlg .tabs-tmp").hide(); //隐藏模板 + + //账户金额输入框事件-多账户 + $("#depotHeadAccountDlg .account-dlg .account-money-dlg").off("keyup").on("keyup",function(){ + var totalAccoutNum = 0; + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){ + var eachAccountMoney = $(this).find(".account-money-dlg").val()-0; + totalAccoutNum += eachAccountMoney; + }); + $("#accountMoneyTotalDlg").text(totalAccoutNum); + }); + + //结算多账户列表的切换事件 + $("#depotHeadAccountDlg .account-dlg .account-id-dlg").off("change").on("change",function(){ + var selectAccount = $(this).children('option:selected').text(); + if(selectAccount === ""){ + var thisMoneyDom = $(this).closest(".account-content-tmp").find(".account-money-dlg"); + var thisMoney = thisMoneyDom.val()-0; + var accountMoneyTotal = $("#accountMoneyTotalDlg").text() - 0; + $("#accountMoneyTotalDlg").text(accountMoneyTotal - thisMoney); + thisMoneyDom.val(""); //账户为空时候,将金额也置为空 + } + }); + + //保存按钮事件 + $("#saveDepotHeadAccountDlg").off("click").on("click", function(){ + //完成多账户的json数据存储 + var accountArr = []; //账户id数组 + var accountMoneyArr = []; //账户金额数组 + var errorIndex = -1; + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){ + var thisAccId = $(this).find(".account-id-dlg").val(); + var thisAccMoney = $(this).find(".account-money-dlg").val(); + if(!thisAccId && thisAccMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisAccId && !thisAccMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisAccId && thisAccMoney) { + accountArr.push(thisAccId); + accountMoneyArr.push(thisAccMoney); + } + }); + if(errorIndex >-1){ + $.messager.alert('错误提示',"第" + (errorIndex+1) + "行数据存在问题,请修改",'warning'); + return; + } + var discountLastMoneyNum =$("#DiscountLastMoney").val()-0; //优惠后金额 + var accountMoneyTotal = $("#accountMoneyTotalDlg").text()-0; //本次付款或者收款 + if(accountMoneyTotal===0){ + $.messager.alert('错误提示',"请填写金额后保存",'warning'); + return; + } + if(accountArr.length && accountMoneyArr.length) { + $("#AccountId").attr("data-accountArr",JSON.stringify(accountArr)).attr("data-accountMoneyArr",JSON.stringify(accountMoneyArr)); //json数据存储 + } + if(listSubType==="零售" || listSubType==="零售退货") { + $("#getAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 + var backAmount = $("#getAmount").val() - $("#ChangeAmount").val(); + $("#backAmount").val((backAmount - 0).toFixed(2)); //计算找零金额 + } + else { + $("#ChangeAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 + } + $("#Debt").val((discountLastMoneyNum-accountMoneyTotal).toFixed(2)); //本次欠款 + $("#depotHeadAccountDlg").dialog('close'); + }); + + //取消事件 + function cancelFun(){ + if($("#AccountId").attr("data-accountArr")){ + $("#depotHeadAccountDlg").dialog('close'); + } + else { + $("#depotHeadAccountDlg").dialog('close'); + $("#AccountId").val("").removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 + if(listSubType==="零售" || listSubType==="零售退货"){ + $("#ChangeAmount").prop("readonly","readonly"); + } + else { + $("#ChangeAmount").removeProp("readonly","readonly"); + } + $(".many-account-ico").hide(); //隐藏多账户小图标 + } + } + //多账户-取消按钮 + $("#cancelDepotHeadAccountDlg").off("click").on("click", function(){ + cancelFun(); + }); + + //多账户-右上角的关闭按钮 + $("#depotHeadAccountDlg").prev().find(".panel-tool-close").off("click").on("click", function(){ + cancelFun(); + }); + } + //点击多账户,弹出输入框 + $("#AccountId").off("change").on("change",function(){ + var selectText = $(this).children('option:selected').text(); + if(selectText === "多账户"){ + $("#ChangeAmount").prop("readonly","readonly"); + depotHeadAccountDlgFun(); + $(".many-account-ico").show(); //显示多账户小图标 + } + else{ + $(this).removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 + if(listSubType==="零售" || listSubType==="零售退货"){ + $("#ChangeAmount").prop("readonly","readonly"); + } + else { + $("#ChangeAmount").removeProp("readonly","readonly"); + } + $(".many-account-ico").hide(); //隐藏多账户小图标 + } + }); + + //结算账户-多账户小图标-点击事件 + $(".many-account-ico").off("click").on("click",function(){ + depotHeadAccountDlgFun(); + //给弹窗赋值-多账户数据 + var accountArr = $("#AccountId").attr("data-accountArr"); + accountArr = JSON.parse(accountArr); + var accountMoneyArr = $("#AccountId").attr("data-accountMoneyArr"); + accountMoneyArr = JSON.parse(accountMoneyArr); + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){ + var index = $(this).attr("data-index"); + $(this).find(".account-id-dlg").val(accountArr[index]); + $(this).find(".account-money-dlg").val(accountMoneyArr[index]); + }); + if(listSubType==="零售" || listSubType==="零售退货") { + $("#accountMoneyTotalDlg").text($("#getAmount").val()); + } + else { + $("#accountMoneyTotalDlg").text($("#ChangeAmount").val()); + } + }); + + //点击采购费用、销售费用的事件 + $(".other-money-ico").off("click").on("click",function(){ + $('#otherMoneyDlg').dialog('open').dialog('setTitle',' '+ listSubType +'费用'); + $("#otherMoneyDlg .money-dlg .money-content-tmp").remove(); //先移除输入栏目 + $("#otherMoneyTotalDlg").text(0); //将合计初始化为0 + for(var i=0; i<6; i++) { + $("#otherMoneyDlg .tabs-tmp .money-content-tmp").attr("data-index",5-i); //添加索引 + var contentTmp = $("#otherMoneyDlg .tabs-tmp tbody").html(); + var moneyDlgHead = $("#otherMoneyDlg .money-head-tmp"); + moneyDlgHead.after(contentTmp); + } + + //获取支出项目信息 + function moneyDlgFun() { + var options = ""; + if(outItemList !=null){ + for(var i = 0 ;i < outItemList.length;i++) { + var money = outItemList[i]; + options += ''; + } + $(".money-id-dlg").empty().append("").append(options); + } + } + moneyDlgFun(); //获取支出项目信息 + $("#otherMoneyDlg .tabs-tmp").hide(); //隐藏模板 + + //支出项目的金额输入框事件 + $("#otherMoneyDlg .money-dlg .other-money-dlg").off("keyup").on("keyup",function(){ + var totalMoneyNum = 0; + $("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){ + var eachOtherMoney = $(this).find(".other-money-dlg").val()-0; + totalMoneyNum += eachOtherMoney; + }); + $("#otherMoneyTotalDlg").text(totalMoneyNum); + }); + + //支出项目列表的切换事件 + $("#otherMoneyDlg .money-dlg .money-id-dlg").off("change").on("change",function(){ + var selectItem = $(this).children('option:selected').text(); + if(selectItem === ""){ + var thisMoneyDom = $(this).closest(".money-content-tmp").find(".other-money-dlg"); + var thisMoney = thisMoneyDom.val()-0; + var otherMoneyTotal = $("#otherMoneyTotalDlg").text() - 0; + $("#otherMoneyTotalDlg").text(otherMoneyTotal - thisMoney); + thisMoneyDom.val(""); //支出项目为空时候,将金额也置为空 + } + }); + + //保存按钮事件 + $("#saveOtherMoneyDlg").off("click").on("click", function(){ + //完成支出项目的json数据存储 + var itemArr = []; //支出项目id数组 + var itemMoneyArr = []; //支出项目金额数组 + var errorIndex = -1; + $("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){ + var thisId = $(this).find(".money-id-dlg").val(); + var thisMoney = $(this).find(".other-money-dlg").val(); + if(!thisId && thisMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisId && !thisMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisId && thisMoney) { + itemArr.push(thisId); + itemMoneyArr.push(thisMoney); + } + }); + if(errorIndex >-1){ + $.messager.alert('错误提示',"第" + (errorIndex+1) + "行数据存在问题,请修改",'warning'); + return; + } + var otherMoneyTotal = $("#otherMoneyTotalDlg").text()-0; //合计金额 + if(otherMoneyTotal === 0){ //0的时候清空缓存数据 + $("#OtherMoney").removeAttr("data-itemArr").removeAttr("data-itemMoneyArr"); + } + if(itemArr.length && itemMoneyArr.length) { + $("#OtherMoney").attr("data-itemArr",JSON.stringify(itemArr)).attr("data-itemMoneyArr",JSON.stringify(itemMoneyArr)); //json数据存储 + } + $("#OtherMoney").val(otherMoneyTotal); //给采购费用、销售费用赋值 + $("#otherMoneyDlg").dialog('close'); + }); + + //取消事件 + function cancelFun(){ + if($("#OtherMoney").attr("data-itemArr")){ + $("#otherMoneyDlg").dialog('close'); + } + else { + $("#otherMoneyDlg").dialog('close'); + $("#OtherMoney").val("").removeAttr("data-itemArr").removeAttr("data-itemMoneyArr"); //将下拉置空并把缓存参数清空 + } + } + //费用-取消按钮 + $("#cancelOtherMoneyDlg").off("click").on("click", function(){ + cancelFun(); + }); + + //费用-右上角的关闭按钮 + $("#otherMoneyDlg").prev().find(".panel-tool-close").off("click").on("click", function(){ + cancelFun(); + }); + + //给弹窗赋值-采购费用、销售费用数据 + var itemArr = $("#OtherMoney").attr("data-itemArr"); + itemArr = JSON.parse(itemArr); + var itemMoneyArr = $("#OtherMoney").attr("data-itemMoneyArr"); + itemMoneyArr = JSON.parse(itemMoneyArr); + $("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){ + var index = $(this).attr("data-index"); + $(this).find(".money-id-dlg").val(itemArr[index]); + if(itemMoneyArr[index]!="undefined"){ + $(this).find(".other-money-dlg").val(itemMoneyArr[index]); + } + }); + $("#otherMoneyTotalDlg").text($("#OtherMoney").val()); + }); + + if(listTitle === "采购入库列表" || listTitle === "其它入库列表" || listTitle === "采购订单列表"|| listTitle === "零售出库列表"|| listTitle === "销售出库列表"|| listTitle === "销售订单列表"){ + var supplierType = "供应商"; + if(listTitle === "零售出库列表"){ + supplierType = "会员"; + }else if(listTitle === "销售出库列表" || listTitle === "销售订单列表"){ + supplierType = "客户"; + } + //检查单位名称是否存在 ++ 重名无法提示问题需要跟进 + function checkSupplierName() { + var supplierName = $.trim($("#supplier").val()); + var orgSupplier = ""; + //表示是否存在 true == 存在 false = 不存在 + var flag = false; + //开始ajax名称检验,不能重名 + if(supplierName.length > 0 &&( orgSupplier.length ==0 || supplierName != orgSupplier)) + { + $.ajax({ + type:"get", + url: "/supplier/checkIsNameExist", + dataType: "json", + async : false, + data: ({ + id : 0, + name : supplierName + }), + success: function (res) { + if(res && res.code === 200) { + if(res.data && res.data.status) { + flag = res.data.status; + if (flag) { + $.messager.alert('提示', '单位名称已经存在', 'info'); + return; + } + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('提示','检查单位名称是否存在异常,请稍后再试!','error'); + return; + } + }); + } + return flag; + } + + //保存供应商信息 + $("#saveSupplier").off("click").on("click",function() { + if(validateForm("supplierFM")) { + return; + } + if(checkSupplierName()){ + return; + } + var reg = /^([0-9])+$/; + var phonenum = $.trim($("#phonenum").val()); + if(phonenum.length>0 && !reg.test(phonenum)) + { + $.messager.alert('提示','电话号码只能是数字','info'); + $("#phonenum").val("").focus(); + return; + } + var beginNeedGet = $.trim($("#BeginNeedGet").val()); + var beginNeedPay = $.trim($("#BeginNeedPay").val()); + if(beginNeedGet && beginNeedPay) { + $.messager.alert('提示','期初应收和期初应付不能同时输入','info'); + return; + } + var url = '/supplier/add'; + var supObj = $("#supplierFM").serializeObject(); + supObj.type = supplierType; + supObj.enabled = 1; + $.ajax({ + url: url, + type:"post", + dataType: "json", + data:{ + info: JSON.stringify(supObj) + }, + success: function(res) { + if (res) { + $('#supplierDlg').dialog('close'); + initSupplier(); //刷新供应商 + } + } + }); + }); + } +} + +function showDepotHeadDetails(pageNo,pageSize){ + var materialParam = $.trim($("#searchMaterial").val()); + $.ajax({ + type:"get", + url: "/depotItem/getHeaderIdByMaterial", + dataType: "json", + data: ({ + materialParam: materialParam, + depotIds: depotString + }), + success: function (res) { + if(res && res.code === 200) { + var ids = res.data; + if(ids){ + $.ajax({ + type: "get", + url: "/depotHead/list", + dataType: "json", + data: ({ + search: JSON.stringify({ + type: listType, + subType: listSubType, + state: $.trim($("#searchState").val()), + number: $.trim($("#searchNumber").val()), + beginTime: $("#searchBeginTime").val(), + endTime: $("#searchEndTime").val(), + dhIds: ids + }), + currentPage: pageNo, + pageSize: pageSize + }), + success: function (res) { + if(res && res.code === 200){ + if(res.data && res.data.page) { + $("#tableData").datagrid('loadData', res.data.page); + } + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); + return; + } + }); + } + else { + $("#tableData").datagrid('loadData', []); + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + return; + } + }); +} + +//自动计算事件 +function autoReckon() { + //延时绑定事件 + setTimeout(function(){ + var body =$("#depotHeadFM .datagrid-body"); + var footer =$("#depotHeadFM .datagrid-footer"); + var input = ".datagrid-editable-input"; + //点击商品下拉框,自动加载数量、单价、金额 + body.find("[field='Stock']").find(input).prop("readonly","readonly"); + //点击库存文本框,字段计算库存 + body.find("[field='Stock']").find(input).off("click").on("click",function(){ + var depotId = body.find("[field='DepotId']").find(".combo-value").val(); + var mId = body.find("[field='MaterialId']").find(".combo-value").val(); + var monthTime = getNowFormatMonth(); + if(depotId && mId){ + var ratio = body.find("[field='Unit']").find(input).attr("data-ratio"); + body.find("[field='Stock']").find(input).prop("readonly","readonly"); + //在新增的时候,这个ratio有值;在编辑的时候,这个ratio为undefined + var type = "click"; //type 类型:点击 click,选择 select + findStockNumById(depotId, mId, monthTime, body, input, ratio, type); + } + else{ + body.find("[field='Stock']").find(input).val(0).attr("data-stock",0); //加载库存数据 + } + }); + //修改数量,自动计算金额和合计,另外计算含税单价、税额、价税合计 + body.find("[field='OperNumber']").find(input).off("keyup").on("keyup",function(){ + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var OperNumber =$(this).val()-0; //数量 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + + }); + //修改单价,自动计算金额和合计 + body.find("[field='UnitPrice']").find(input).off("keyup").on("keyup",function(){ + var UnitPrice =$(this).val()-0; //单价 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //点击单价,自动提示参考价格列表 + body.find("[field='UnitPrice']").find(input).off("click").on("click",function(){ + var self = this; + var mValue = body.find("[field='MaterialId'] .combo-value").attr("value"); //获取选中的商品id + if(!mValue) { + return; + } + else { + if(listTitle!="销售出库列表" && listTitle!="采购退货列表" && listTitle!="其它出库列表" && listTitle!="调拨出库列表") { + return; + } + $.ajax({ + url: "/material/findById", + type: "get", + dataType: "json", + data: { + id: mValue - 0 + }, + success: function(res){ + if(res && res.rows && res.rows[0]) { + var retailPrice = res.rows[0].RetailPrice; + var presetPriceOne = res.rows[0].PresetPriceOne; + var presetPriceTwo = res.rows[0].PresetPriceTwo; + //定义模版 + var temp = "
"; + temp +="
    "; + temp +="
  • 批发价:" + presetPriceTwo + "
  • "; + temp +="
  • 零售价:" + retailPrice + "
  • "; + temp +="
"; + temp +="
"; + if($('.price-list').length){ + $('.price-list').remove(); //如果存在价格列表先移除 + } + else { + if(presetPriceTwo != undefined){ //多单位的商品 + $(self).after(temp); //加载列表信息 + } + } + $('.price-list ul li').off("click").on("click",function(){ + var price = $(this).text(); + price = price.substring(price.indexOf(":") + 1); + $(self).val(price); + $(self).keyup(); //模拟键盘操作 + $('.price-list').remove(); //移除价格列表 + }); + //点击空白处移除价格列表 + $(".datagrid-body").off("click").on("click",function(){ + $('.price-list').remove(); //移除价格列表 + }); + } + }, + error: function(){ + $.messager.alert('错误提示','查询商品信息异常,请稍后再试!','error'); + return; + } + }); + } + }); + //修改含税单价,自动计算单价、金额、税额、价税合计和合计 + body.find("[field='TaxUnitPrice']").find(input).off("keyup").on("keyup",function(){ + var TaxUnitPrice =$(this).val()-0; //含税单价 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var UnitPrice = TaxUnitPrice/(1+taxRate/100); //计算单价 + body.find("[field='UnitPrice']").find(input).val((UnitPrice).toFixed(2)); //单价 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改金额,自动计算单价、税额、价税合计和合计 + body.find("[field='AllPrice']").find(input).off("keyup").on("keyup",function(){ + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var AllPrice =$(this).val()-0; //金额 + var UnitPrice = (AllPrice/OperNumber).toFixed(2); + body.find("[field='UnitPrice']").find(input).val(UnitPrice); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改税率,自动计算含税单价、税额、价税合计和合计 + body.find("[field='TaxRate']").find(input).off("keyup").on("keyup",function(){ + var taxRate =$(this).val()-0; //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改税额,自动计算税率、含税单价、价税合计和合计 + body.find("[field='TaxMoney']").find(input).off("keyup").on("keyup",function(){ + var taxMoney =$(this).val()-0; //税额 + var AllPrice = body.find("[field='AllPrice']").find(input).val(); //金额 + var taxRate = taxMoney/AllPrice*100; //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxRate']").find(input).val((taxRate).toFixed(2)); //税率 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改价税合计,自动计算税率、含税单价、税额和合计 + body.find("[field='TaxLastMoney']").find(input).off("keyup").on("keyup",function(){ + var taxLastMoney =$(this).val()-0; //价税合计 + var AllPrice = body.find("[field='AllPrice']").find(input).val(); //金额 + var taxRate = (taxLastMoney-AllPrice)/AllPrice*100; //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxRate']").find(input).val((taxRate).toFixed(2)); //税率 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + + //加载税率 + if(thisTaxRate) { + body.find("[field='TaxRate']").find(input).val(thisTaxRate); + } + else { + body.find("[field='TaxRate']").find(input).val(0); //默认为0 + } + + //在商品类型加载 组装件、普通子件 + var mType = body.find("[field='MType']"); + var rowListLength = mType.find(input).closest(".datagrid-row").attr("datagrid-row-index"); + var mTypeValue = "组合件"; + if(rowListLength > 0){ + mTypeValue = "普通子件"; + } + if(listSubType == "组装单" || listSubType == "拆卸单"){ + mType.find(input).val(mTypeValue).prop("readonly","readonly"); + } + },500); +} + +//结束编辑 +function endEditing() { + if (editIndex == undefined) { return true } + if ($('#materialData').datagrid('validateRow', editIndex)) { + //仓库信息 + var edDepot = $('#materialData').datagrid('getEditor', {index:editIndex,field:'DepotId'}); + var DepotName = $(edDepot.target).combobox('getText'); + $('#materialData').datagrid('getRows')[editIndex]['DepotName'] = DepotName; + //商品信息 + var edMaterial = $('#materialData').datagrid('getEditor', {index:editIndex,field:'MaterialId'}); + var MaterialName = $(edMaterial.target).combobox('getText'); + $('#materialData').datagrid('getRows')[editIndex]['MaterialName'] = MaterialName; + $('#materialData').datagrid('endEdit', editIndex); + editIndex = undefined; + return true; + } else { + return false; + } +} +//单击 +function onClickRow(index) { + if (editIndex != index) { + if (endEditing()) { + $('#materialData').datagrid('selectRow', index).datagrid('beginEdit', index); + editIndex = index; + autoReckon(); + } else { + $('#materialData').datagrid('selectRow', editIndex); + } + } +} +//新增 +function append(){ + if (endEditing()) { + $('#materialData').datagrid('appendRow', {DepotId:defDepotId}); + editIndex = $('#materialData').datagrid('getRows').length - 1; + $('#materialData').datagrid('selectRow', editIndex).datagrid('beginEdit', editIndex); + autoReckon(); + } +} +//删除 +function batchDel(){ + /** + * 重写一下删除的逻辑 + * 获取所有选中行,直接从列表中移除 + * 点击保存时,将需要后台删除的数据提交到服务器 + * **/ + /** + * create by: qiankunpingtai + * create time: 2019/3/20 16:26 + * description: + * 这个地方比较坑的,花了一个多小时才搞明白为什么 + * 1、删除之前必须先调用endEditing结束编辑 + * 2、如果只是调用endEditing结束编辑那么正在编辑行的被选中状态会被去掉 + * 所以要在调用endEditing先获取选中的行 + */ + //如果编辑的行一开始是选中状态,结束编辑后仍然是选中状态 + var row = $('#materialData').datagrid('getChecked'); + if (endEditing()) { + if (row.length == 0) { + $.messager.alert('删除提示', '没有记录被选中!', 'info'); + return; + } + if (row.length > 0) { + $.messager.confirm('删除确认', '确定要删除选中的' + row.length + '条单据信息吗?', function (r) { + if (r) { + for (var i = 0; i < row.length; i++) { + $('#materialData').datagrid('deleteRow', $('#materialData').datagrid("getRowIndex", row[i])); + } + } + }); + } + } +} +function removeit(){ + if (editIndex == undefined) { return } + $('#materialData').datagrid('cancelEdit', editIndex) + .datagrid('deleteRow', editIndex); + editIndex = undefined; +} +//撤销 +function reject() { + $('#materialData').datagrid('rejectChanges'); + editIndex = undefined; +} +//判断 +function CheckData(type) { + append(); + removeit(); + var change = $('#materialData').datagrid('getChanges').length; + if(type =="add" && !change) { + $.messager.alert('提示','请输入明细信息!','warning'); + return false; + } + var row = $('#materialData').datagrid('getRows'); + if(!row.length){ + $.messager.alert('提示',"请输入明细信息!",'info'); + return false; + } + var totalRowNum = ""; + for (var i = 0; i < row.length; i++) { + if (row[i].DepotId == "" || row[i].MaterialId == "" || row[i].OperNumber == "" || row[i].UnitPrice === "" || row[i].AllPrice === "") { + totalRowNum += (i + 1) + "、"; + } + } + if (totalRowNum != "") { + var totalRowNum = totalRowNum.substring(0, totalRowNum.length - 1); + $.messager.alert('提示',"第" + totalRowNum + "行数据填写不完整!",'info'); + return false; + } + return true; +} +//保存 +function accept(accepId,fun) { + var inserted = $("#materialData").datagrid('getChanges', "inserted"); + var deleted = $("#materialData").datagrid('getChanges', "deleted"); + var updated = $("#materialData").datagrid('getChanges', "updated"); + $.ajax({ + type: "post", + url: "/depotItem/saveDetials", + data: { + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated), + headerId:accepId + }, + success: function (tipInfo) + { + if (tipInfo) { + $.messager.alert('提示','保存成功!','info'); + } + else { + $.messager.alert('提示', '保存失败!', 'error'); + } + fun && fun(); + }, + error: function (XmlHttpRequest, textStatus, errorThrown) + { + $.messager.alert('提示',XmlHttpRequest.responseText,'error'); + fun && fun(); + } + }); + if (endEditing()) { + $('#materialData').datagrid('acceptChanges'); + } +} +//获取MaxId +function getMaxId(){ + var depotHeadMax=null; + $.ajax({ + type:"get", + url: "/depotHead/getMaxId", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + depotHeadMax = res.data.maxId; + } + } + } + }); + + if(depotHeadMax !=null) { + depotHeadMaxId=depotHeadMax; + } +} + +/** + * 新增单据主表及单据子表 + * */ +function addDepotHeadAndDetail(url,infoStr){ + var inserted = null; + if(pageType === "skip") { + inserted = $("#materialData").datagrid('getChanges', "updated"); + } else { + inserted = $("#materialData").datagrid('getChanges', "inserted"); + } + var deleted = $("#materialData").datagrid('getChanges', "deleted"); + var updated = $("#materialData").datagrid('getChanges', "updated"); + $.ajax({ + type:"post", + url: url, + dataType: "json", + async : false, + data: ({ + info:infoStr, + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated) + }), + success: function (tipInfo){ + + if(tipInfo){ + if(tipInfo.code!=200){ + $.messager.alert('提示', tipInfo.msg, 'error'); + return; + } + $.messager.alert('提示','保存成功!','info'); + $('#depotHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showDepotHeadDetails(opts.pageNumber,opts.pageSize); + + }else { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + + + }); +} +/** + * 修改单据主表及单据子表 + * */ +function updateDepotHeadAndDetail(url,infoStr,preTotalPrice){ + var inserted = $("#materialData").datagrid('getChanges', "inserted"); + var deleted = $("#materialData").datagrid('getChanges', "deleted"); + var updated = $("#materialData").datagrid('getChanges', "updated"); + $.ajax({ + type:"post", + url: url, + dataType: "json", + async : false, + data: ({ + id:url.substring(url.lastIndexOf("?id=")+4,url.length), + info:infoStr, + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated), + preTotalPrice:preTotalPrice + }), + success: function (tipInfo){ + if(tipInfo){ + if(tipInfo.code!=200){ + $.messager.alert('提示', tipInfo.msg, 'error'); + return; + } + $.messager.alert('提示','保存成功!','info'); + $('#depotHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showDepotHeadDetails(opts.pageNumber,opts.pageSize); + if (endEditing()) { + $('#materialData').datagrid('acceptChanges'); + } + }else { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); +} + + + + diff --git a/erp_web/js/pages/materials/purchase_in_list.js b/erp_web/js/pages/materials/purchase_in_list.js new file mode 100644 index 00000000..662d9507 --- /dev/null +++ b/erp_web/js/pages/materials/purchase_in_list.js @@ -0,0 +1,3205 @@ +//初始化界面 +var defDepotId = null; +var kid = sessionStorage.getItem("userId"); +var pageType = getUrlParam('t'); //获取页面类型传值 +var depotList = null; +var depotID = null; +var supplierList = null; +var supplierID = null; +var personList = null; +var personID = null; +var ProjectSearch=null; +var userBusinessList=null; +var userdepot=null; +var depotHeadMaxId=null; //获取最大的Id +var accepId=null; //保存的主表id +var url; +var depotHeadID = 0; +var preTotalPrice = 0; //前一次加载的金额 +var orgDepotHead = ""; +var editIndex = undefined; +var listTitle = ""; //单据标题 +var listType = ""; //入库 出库 +var listSubType = ""; //采购 销售等 +var payTypeTitle = "";//付款 收款 +var organUrl = ""; //组织数据接口地址 +var amountNum = ""; //单据编号开头字符 +var depotString = ""; //店铺id列表 +/**默认编号有意义吗,不如空着吧*/ +var orgDefaultId=''; //单位默认编号 +var orgDefaultList; //存储查询出来的会员列表 +var accountList; //账户列表 +var outItemList; //支出项目列表 +var thisTaxRate = 0; //当前税率,选择供应商或者客户的时候设置 +var oldNumber = ""; //编辑前的单据编号 +var oldId = 0; //编辑前的单据Id +var otherColumns = true; //明细中的‘别名’列是否显示 +var btnEnableList = getBtnStr(); //获取按钮的权限 +var mPropertyList = ""; //商品属性列表 +var defaultAccountId = 0; //默认账户id +$(function(){ + //初始化系统基础信息 + getType(); + initSystemData_UB(); + initSelectInfo_UB(); + initSystemData_depot(); + initSelectInfo_depot(); + initSystemData_person(); + initSelectInfo_person(); + initSystemData_account(); + initSelectInfo_account(); + initSupplier(); //供应商 + initSalesman(); //销售人员 + initOutItemList(); //初始化支出项目 + initMProperty(); //初始化商品属性 + initTableData(); + ininPager(); + initForm(); + bindEvent();//绑定操作事件 +}); +//根据单据名称获取类型 +function getType(){ + listTitle = $("#tablePanel").prev().text(); + depotString = "|"; + //改变宽度和高度 + $("#searchPanel").panel({width:webW-2}); + $("#tablePanel").panel({width:webW-2}); + var supUrl = "/supplier/findBySelect_sup"; //供应商接口 + var cusUrl = "/supplier/findBySelect_cus?UBType=UserCustomer&UBKeyId=" + kid; //客户接口 + var retailUrl = "/supplier/findBySelect_retail"; //散户接口 + if(listTitle === "采购订单列表"){ + listType = "其它"; + listSubType = "采购订单"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "CGDD"; + } + else if(listTitle === "采购入库列表"){ + listType = "入库"; + listSubType = "采购"; + payTypeTitle = "付款"; + organUrl = supUrl; + amountNum = "CGRK"; + } + else if(listTitle === "零售退货列表"){ + listType = "入库"; + listSubType = "零售退货"; //注:用预付款购买的产品不能退货 + payTypeTitle = "付款"; + organUrl = retailUrl; + amountNum = "LSTH"; + } + else if(listTitle === "销售退货列表"){ + listType = "入库"; + listSubType = "销售退货"; + payTypeTitle = "付款"; + organUrl = cusUrl; + amountNum = "XSTH"; + } + else if(listTitle === "其它入库列表"){ + listType = "入库"; + listSubType = "其它"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "QTRK"; + } + else if(listTitle === "零售出库列表"){ + listType = "出库"; + listSubType = "零售"; + payTypeTitle = "收款"; + organUrl = retailUrl; + amountNum = "LSCK"; + } + else if(listTitle === "销售订单列表"){ + listType = "其它"; + listSubType = "销售订单"; + payTypeTitle = "隐藏"; + organUrl = cusUrl; + amountNum = "XSDD"; + } + else if(listTitle === "销售出库列表"){ + listType = "出库"; + listSubType = "销售"; + payTypeTitle = "收款"; + organUrl = cusUrl; + amountNum = "XSCK"; + } + else if(listTitle === "采购退货列表"){ + listType = "出库"; + listSubType = "采购退货"; + payTypeTitle = "收款"; + organUrl = supUrl; + amountNum = "CGTH"; + } + else if(listTitle === "其它出库列表"){ + listType = "出库"; + listSubType = "其它"; + payTypeTitle = "隐藏"; + organUrl = cusUrl; + amountNum = "QTCK"; + } + else if(listTitle === "调拨出库列表"){ + listType = "出库"; + listSubType = "调拨"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "DBCK"; + } + else if(listTitle === "组装单列表"){ + listType = "其它"; + listSubType = "组装单"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "ZZD"; + } + else if(listTitle === "拆卸单列表"){ + listType = "其它"; + listSubType = "拆卸单"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "CXD"; + } +} +//初始化系统基础信息 +function initSystemData_UB(){ + $.ajax({ + type:"get", + url: "/userBusiness/getBasicData", + data: ({ + KeyId:kid, + Type:"UserDepot" + }), + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if (res && res.code === 200) { + userBusinessList = res.data.userBusinessList; + } + else { + userBusinessList = null; + } + } + }); + +} +//初始化页面选项卡 +function initSelectInfo_UB(){ + + if(userBusinessList !=null) + { + if(userBusinessList.length>0) + { + //用户对应的仓库列表 [1][2][3]... + userdepot =userBusinessList[0].value; + } + } +} + + +//初始化系统基础信息 +function initSystemData_depot(){ + $.ajax({ + type:"get", + url: "/depot/getAllList", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200){ + depotList = res.data; + } else { + $.messager.alert('提示', '查找系统基础信息异常,请与管理员联系!', 'error'); + return; + } + } + }); +} +//初始化页面选项卡 +function initSelectInfo_depot(){ + var options = ""; + + if(depotList !=null) + { + options = ""; + for(var i = 0 ;i < depotList.length;i++) + { + var depot = depotList[i]; + + if(userdepot!=null) + { + if(userdepot.indexOf("["+depot.id+"]")!=-1) + { + if(depot.isDefault){ + defDepotId = depot.id; + } + options += ''; + depotString = depotString + depot.id + ","; + } + } + if(depot.type === 1){ + depotString = depotString + depot.id + ","; + } + } + depotString = depotString.substring(1, depotString.length-1); + $("#ProjectId").empty().append(options); + $("#AllocationProjectId").empty().append(options); + $("#searchProjectId").empty().append('').append(options); + } +} + +//初始化供应商、客户、散户信息 +function initSupplier(){ + $('#OrganId').combobox({ + url: organUrl, + valueField:'id', + textField:'supplier', + filter: function(q, row){ + var opts = $(this).combobox('options'); + return row[opts.textField].indexOf(q) >-1; + }, + onLoadSuccess: function(res) { + var data = $(this).combobox('getData'); + for(var i = 0; i<= data.length; i++){ + if(data && data[i] && data[i].supplier === "非会员"){ + orgDefaultId = data[i].id; + } + } + if(listSubType === "零售"){ + orgDefaultList = res; + } + }, + onSelect: function(rec){ + if(listSubType === "零售"){ + var option = ""; + if(rec.supplier !== "非会员" && rec.advanceIn >0){ + option = ''; + option += ''; + } + else { + option += ''; + } + $("#payType").empty().append(option); + } + else{ + $.ajax({ + type:"get", + url: "/supplier/findById", + data: { + supplierId: rec.id + }, + dataType: "json", + success: function (res){ + if(res && res.code === 200) { + if(res.data && res.data[0]){ + thisTaxRate = res.data[0].taxRate; //设置当前的税率 + } + } + }, + error:function(){ + + } + }); + } + } + }); +} + +//初始化销售人员 +function initSalesman(){ + $('#Salesman').combobox({ + url: "/person/getPersonByNumType?type=1", + valueField:'id', + textField:'name', + multiple: true + }); +} + +//初始化收入项目列表 +function initOutItemList(){ + $.ajax({ + type:"get", + url: "/inOutItem/findBySelect?type=out", + //设置为同步 + async:false, + dataType: "json", + success: function (res){ + if(res){ + outItemList = res; + } + }, + error:function(){ + + } + }); +} + +//初始化商品属性 +function initMProperty(){ + $.ajax({ + type: "get", + url: "/materialProperty/list", + dataType: "json", + data: ({ + search: JSON.stringify({ + name: "" + }), + currentPage: 1, + pageSize: 100 + }), + success: function (res) { + if(res && res.code === 200){ + if(res.data && res.data.page) { + var thisRows = res.data.page.rows; + for (var i = 0; i < thisRows.length; i++) { + if (thisRows[i].enabled) { + mPropertyList += thisRows[i].nativeName + ","; + } + } + if (mPropertyList) { + mPropertyList = mPropertyList.substring(0, mPropertyList.length - 1); + } + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('查询提示','查询信息异常,请稍后再试!','error'); + return; + } + }); +} + +//初始化系统基础信息 +function initSystemData_person(){ + $.ajax({ + type:"get", + url: "/person/getAllList", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + personList = res.data.personList; + } + } + } + }); +} +//初始化页面选项卡 +function initSelectInfo_person(){ + var options1 = ""; + + if(personList !=null) + { + for(var i = 0 ;i < personList.length;i++) + { + var person = personList[i]; + if(0 == i) + { + personID = person.id; + } + if(person.type=="仓管员") + { + options1 += ''; + } + } + $("#HandsPersonId").empty().append(options1); + } +} +//获取账户信息 +function initSystemData_account(){ + $.ajax({ + type:"get", + url: "/account/getAccount", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + accountList = res.data.accountList; + } + } + } + }); +} +//获取账户信息 +function initSelectInfo_account(){ + var options = ""; + if(accountList !=null){ + options = ""; + options += ""; + for(var i = 0 ;i < accountList.length;i++) { + var account = accountList[i]; + options += ''; + if(account.isdefault) { + defaultAccountId = account.id; //给账户赋值默认id + } + } + $("#AccountId").empty().append(options); + } +} + +//防止表单提交重复 +function initForm(){ + $('#depotHeadFM').form({ + onSubmit: function(){ + return false; + } + }); +} + +//初始化表格数据 +function initTableData(){ + if(pageType === "skip") { + var oldRowInfo = sessionStorage.getItem("rowInfo"); + editDepotHead(oldRowInfo); //自动弹出编辑框,带缓存数据 + } + var hideType = undefined; + var isHiddenStatus = true; + if(payTypeTitle === "隐藏"){ + hideType = true; //隐藏当前列 + } + var tableToolBar = [ + { + id:'addDepotHead', + text:'增加', + iconCls:'icon-add', + handler:function() + { + addDepotHead(); + } + }, + { + id:'deleteDepotHead', + text:'删除', + iconCls:'icon-remove', + handler:function() + { + batDeleteDepotHead(); + } + } + ]; + //如果允许的按钮列表中存在就显示,3-代表审核|反审核的权限 + if(btnEnableList && btnEnableList.indexOf(3)>-1){ + isHiddenStatus = false; //显示 + tableToolBar.push({ + id:'okDepotHead', + text:'审核', + iconCls:'icon-ok', + handler:function() { + setStatusFun(); + } + }, + { + id:'undoDepotHead', + text:'反审核', + iconCls:'icon-undo', + handler:function() { + setUnStatusFun(); + } + }); + } + else { + isHiddenStatus = true; //隐藏 + } + var isShowLastMoneyColumn = false; //是否显示优惠后金额和价税合计,true为隐藏,false为显示 + if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowLastMoneyColumn = true; //隐藏 + } + var isShowOrganNameColumn = false; //是否显示供应商、客户等信息,true为隐藏,false为显示 + var organNameTitle = ""; //组织名称标题 + if(listSubType == "调拨" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowOrganNameColumn = true; //隐藏 + } + else { + if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "采购退货列表" || listTitle == "其它入库列表"){ + organNameTitle = "供应商名称"; + } + else if(listTitle == "销售订单列表" || listTitle == "销售退货列表" || listTitle == "销售出库列表" || listTitle == "其它出库列表"){ + organNameTitle = "客户名称"; + } + else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ + organNameTitle = "会员卡号"; + } + } + var opWidth = 90; //操作宽度 + var isShowSkip = false; //是否显示跳转按钮 + var opTitle = ""; //跳转按钮的标题 + if(listTitle == "采购订单列表") { + opWidth = 120; + isShowSkip = true; + opTitle = "转采购入库"; + } else if(listTitle == "销售订单列表") { + opWidth = 120; + isShowSkip = true; + opTitle = "转销售出库"; + } + $('#tableData').datagrid({ + height:heightInfo, + rownumbers: false, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + pagination: true, + //交替出现背景 + striped : true, + pageSize: 10, + pageList: initPageNum, + columns:[[ + { field: 'id',width:35,align:"center",checkbox:true}, + { title: '操作',field: 'op',align:"center",width:opWidth, + formatter:function(value, rec,index) { + var str = ''; + // var rowInfo = rec.id + 'AaBb' + rec.projectid+ 'AaBb' + rec.number+ 'AaBb' + rec.operpersonname + // + 'AaBb' + rec.opertimeStr+ 'AaBb' + rec.organid+ 'AaBb' + rec.handspersonid + // + 'AaBb' + rec.accountid+ 'AaBb' + rec.changeamount+ 'AaBb' + rec.remark + // + 'AaBb' + rec.projectName+ 'AaBb' + rec.organName+ 'AaBb' + rec.handsPersonName + // + 'AaBb' + rec.accountName + 'AaBb' + rec.totalprice + 'AaBb' + rec.allocationprojectid + // + 'AaBb' + rec.allocationProjectName + 'AaBb' + rec.paytype + 'AaBb' + rec.salesman + // + 'AaBb' + rec.discount + 'AaBb' + rec.discountmoney + 'AaBb' + rec.discountlastmoney + // + 'AaBb' + rec.accountidlist + 'AaBb' + rec.accountmoneylist + // + 'AaBb' + rec.othermoney + 'AaBb' + rec.othermoneylist + 'AaBb' + rec.othermoneyitem + // + 'AaBb' + rec.accountday + 'AaBb' + rec.linknumber; + // rowInfo = rowInfo.replace(/\"/g, ""); + // rowInfo = rowInfo.replace(/\[|]/g,""); + var orgId = rec.organid? rec.organid:0; + str += '   '; + str += '   '; + str += ''; + if(isShowSkip) { + str += '   '; + } + return str; + } + }, + { title: organNameTitle, field: 'organName',width:120, hidden:isShowOrganNameColumn}, + { title: '单据编号',field: 'number',width:135, formatter:function (value,rec) { + if(rec.linknumber) { + return value + "[转]"; + } else { + return value; + } + } + }, + { title: '商品信息',field: 'materialsList',width:180,formatter:function(value){ + if(value) { + return value.replace(",",","); + } + } + }, + { title: '单据日期',field: 'opertimeStr',width:130}, + { title: '操作员',field: 'operpersonname',width:60}, + { title: '金额合计',field: 'totalprice',width:60}, + { title: '含税合计',field: 'totaltaxlastmoney',hidden:isShowLastMoneyColumn,width:60,formatter:function(value,rec){ + return (rec.discountmoney + rec.discountlastmoney).toFixed(2); + } + }, + { title: '优惠后金额',field: 'discountlastmoney',hidden:isShowLastMoneyColumn,width:80}, + { title: payTypeTitle,field: 'changeamount',width:50,hidden:hideType}, + { title: '状态',field: 'status',hidden:isHiddenStatus, width:70,align:"center",formatter:function(value){ + if(value === "0") { + return "未审核"; + } else if(value === "1") { + return "已审核"; + } else if(value === "2") { + if(listTitle == "采购订单列表") { + return "已转采购"; + } else if(listTitle == "销售订单列表") { + return "已转销售"; + } + } + } + } + ]], + toolbar:tableToolBar, + onLoadError:function() { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); +} + +//查找库存的方法 +function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ + var thisRatio = 1; //比例 + $.ajax({ + url: "/material/findById", + type: "get", + dataType: "json", + data: { + id: mId + }, + success: function (rec) { + if(rec && rec.code === 200 && rec.data && rec.data[0]) { + var loadRatio = 1; //在单位输入框上面加载比例字段 + if(rec.data[0].unit) { //如果存在计量单位信息 + loadRatio = 1; + } + else{ + var unitName = rec.data[0].unitName; + if(unitName) { + thisRatio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); + unitName = unitName.substring(0, unitName.indexOf("(")); + } + var unitArr = unitName.split(","); + var basicUnit = unitArr[0]; //基础单位 + var otherUnit = unitArr[1]; //副单位 + var unitSetInput =""; //单位 + if(listSubType === "采购订单" || listSubType === "采购" || listSubType === "采购退货"){ + unitSetInput = rec.data[0].firstinunit; + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = thisRatio; + } + } + else if(listSubType === "销售订单" || listSubType === "销售" || listSubType === "销售退货" || listSubType === "零售" || listSubType === "零售退货"){ + unitSetInput = rec.data[0].firstoutunit; + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = thisRatio; + } + } + } + //查询库存 + $.ajax({ + type: "get", + url: '/depotItem/findStockNumById', + data:{ + projectId: depotId, + materialId: mId, + monthTime: monthTime, + currentPage: 1, + pageSize: 10 + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if (res.data && res.data.page && res.data.page[0]) { + var thisStock = res.data.page[0].thisSum; + if (type == "select") { //选择下拉框的时候 + if (ratio != undefined && ratio != 1) { + loadRatio = ratio; + } + } + else if (type == "click") { //点击库存的时候 + if (ratio != undefined) { + loadRatio = ratio; + } + } + thisStock = (thisStock / loadRatio).toFixed(2); + body.find("[field='Stock']").find(input).val(thisStock).attr("data-stock", res.data.page[0].thisSum); //加载库存数据 + } + else { + body.find("[field='Stock']").find(input).val(0).attr("data-stock", 0); //加载库存数据 + } + body.find("[field='Stock']").find(input).prop("readonly", "readonly"); //设置库存数据为只读 + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); + } + }, + error: function () { + $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); + } + }); +} +//优惠率、合计的统计方法 +function statisticsFun(body,UnitPrice,OperNumber,footer,taxRate){ + var TotalPrice = 0; + var taxLastMoneyTotal = 0; + //金额的合计 + body.find("[field='AllPrice']").each(function(){ + if($(this).find("div").text()!==""){ + TotalPrice = TotalPrice + parseFloat($(this).find("div").text().toString()); + } + }); + TotalPrice = TotalPrice + UnitPrice*OperNumber; + footer.find("[field='AllPrice']").find("div").text((TotalPrice).toFixed(2)); //金额的合计 + //价税合计的总计 + body.find("[field='TaxLastMoney']").each(function(){ + if($(this).find("div").text()!==""){ + taxLastMoneyTotal = taxLastMoneyTotal + (parseFloat($(this).find("div").text().toString())-0); + } + }); + taxLastMoneyTotal = taxLastMoneyTotal + (UnitPrice*OperNumber*(1+taxRate/100)); + footer.find("[field='TaxLastMoney']").find("div").text((taxLastMoneyTotal).toFixed(2)); //价税合计的页脚总计 + var discount = $("#Discount").val(); //优惠率 + var discountMoney = (taxLastMoneyTotal*discount/100).toFixed(2); + $("#DiscountMoney").val(discountMoney);//优惠金额 + var discountLastMoney = (taxLastMoneyTotal*(1-discount/100)).toFixed(2) + $("#DiscountLastMoney").val(discountLastMoney);//优惠后金额 + if($("#AccountId").val()!=="many"){ + $("#ChangeAmount").val(discountLastMoney); //本次付、收款 + } + var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 + $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 + + if(listSubType == "零售" || listSubType == "零售退货") { + $("#ChangeAmount, #getAmount").val((TotalPrice).toFixed(2)); + $("#backAmount").val(0); + } +} +//初始化表格数据-商品列表-编辑状态 +function initTableData_material(type,TotalPrice){ + var body,footer,input; //定义表格和文本框 + var ratio = 1; //比例-品名专用 + var ratioDepot = 1; //比例-仓库用 + var monthTime = getNowFormatMonth(); + var isShowAnotherDepot = true; //显示对方仓库,true为隐藏,false为显示 + var depotHeadName = ""; //仓库名称 + var depotUrl = ""; //仓库接口地址 + var depotTextField = ""; //仓库下拉名称 + var anotherDepotHeadName = ""; //对方仓库的列的标题 + var anotherDepotUrl = ""; //对方仓库接口地址 + var anotherDepotTextField = ""; + if(listSubType == "调拨"){ + isShowAnotherDepot = false; //调拨时候显示对方仓库 + anotherDepotHeadName = "调入仓库"; + anotherDepotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; + anotherDepotTextField = "depotName"; + } + depotHeadName = "仓库名称"; + depotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; + depotTextField = "depotName"; + var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 + if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowTaxColumn = true; //隐藏 + } + var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 + if(listSubType == "组装单" || listSubType == "拆卸单"){ + isShowMaterialTypeColumn = false; //显示 + } + $('#materialData').datagrid({ + height:245, + rownumbers: false, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + //单击行是否选中 + checkOnSelect : false, + pagination: false, + //交替出现背景 + striped : true, + showFooter: true, + //loadFilter: pagerFilter, + onClickRow: onClickRow, + columns:[[ + { field: 'Id',width:35,align:"center",checkbox:true}, + { title: '商品类型',field: 'MType',editor:'validatebox',hidden:isShowMaterialTypeColumn,width:80}, + { title: depotHeadName, field: 'DepotId', editor: 'validatebox', width: 90, + formatter: function (value, row, index) { + return row.DepotName; + }, + editor: { + type: 'combobox', + options: { + valueField: 'id', + textField: depotTextField, + method: 'get', + url: depotUrl, + onSelect:function(rec){ + var depotId = rec.id; + body =$("#depotHeadFM .datagrid-body"); + footer =$("#depotHeadFM .datagrid-footer"); + input = ".datagrid-editable-input"; + var mId = body.find("[field='MaterialId']").find(".combo-value").val(); + if(mId){ + var type = "select"; //type 类型:点击 click,选择 select + findStockNumById(depotId, mId, monthTime, body, input, ratioDepot, type); + } + } + } + } + }, + { title: '品名(型号)(扩展信息)(单位)',field: 'MaterialId',width:230, + formatter:function(value,row,index){ + return row.MaterialName; + }, + editor:{ + type:'combobox', + options:{ + valueField:'Id', + textField:'MaterialName', + method:'get', + url: "/material/findBySelect", + panelWidth: 300, //下拉框的宽度 + //全面模糊匹配,过滤字段 + filter: function(q, row){ + var opts = $(this).combobox('options'); + return row[opts.textField].indexOf(q) >-1; + }, + onBeforeLoad: function(param){ + param.mpList = mPropertyList; //商品属性 + }, + onSelect:function(rec){ + if(rec) { + var mId = rec.Id; + $.ajax({ + url: "/material/findById", + type: "get", + dataType: "json", + data: { + id: mId + }, + success: function (res) { + if(res && res.code === 200 && res.data && res.data[0]) { + var retailPrice = res.data[0].retailprice-0; //零售价格 + var presetPriceOne = res.data[0].presetpriceone-0; //预计采购价 + var presetPriceTwo = res.data[0].presetpricetwo-0; //批发价 + var firstInUnit = res.data[0].firstinunit; //首选入库单位 + var firstOutUnit = res.data[0].firstoutunit; //首选出库单位 + var basicPresetPriceOne = ""; //多单位-入库-基础价格 + var basicPresetPriceTwo = ""; //多单位-出库-基础价格 + var retailPriceOne = ""; //多单位-入库-零售价格 + var otherPresetPriceOne = ""; //多单位-入库-其他价格 + var otherPresetPriceTwo = ""; //多单位-出库-其他价格 + var retailPriceTwo = ""; //多单位-出库-零售价格 + var basicUnit = ""; //基础单位 + var otherUnit = ""; //其他单位 + if(!res.data[0].unit){ + var ps = res.data[0].pricestrategy; + var psObj = JSON.parse(ps); + basicPresetPriceOne = psObj[0].basic.PresetPriceOne-0; + basicPresetPriceTwo = psObj[0].basic.PresetPriceTwo-0; + retailPriceOne = psObj[0].basic.RetailPrice-0; + otherPresetPriceOne = psObj[1].other.PresetPriceOne-0; + otherPresetPriceTwo = psObj[1].other.PresetPriceTwo-0; + retailPriceTwo = psObj[1].other.RetailPrice-0; + basicUnit = psObj[0].basic.Unit; + otherUnit = psObj[1].other.Unit; + } + body =$("#depotHeadFM .datagrid-body"); + footer =$("#depotHeadFM .datagrid-footer"); + input = ".datagrid-editable-input"; + if(res.data[0].unit){ //如果存在计量单位信息 + ratio = 1; //重置比例为1 + body.find("[field='Unit']").find(input).val(res.data[0].unit); //设置-计量单位信息 + body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 + body.find("[field='Unit']").find(input).off("click"); //移除点击事件 + body.find("[field='Unit']").find(input).attr("data-ratio",ratio); //修改比例缓存信息 + } + else { + var unitName = res.data[0].unitName; + if(unitName) { + ratio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); //给比例赋值 + unitName = unitName.substring(0, unitName.indexOf("(")); + } + var unitArr = unitName.split(","); + var basicUnit = unitArr[0]; //基础单位 + var otherUnit = unitArr[1]; //副单位 + var unitSetInput =""; //单位 + body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 + var loadRatio = 1; //在单位输入框上面加载比例字段 + if(listSubType === "采购" || listSubType === "采购退货" || listSubType === "采购订单"){ + unitSetInput = res.data[0].firstinunit; //给单位文本框赋值 + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = ratio; + } + } + else if(listSubType === "销售" || listSubType === "销售退货" || listSubType === "销售订单" || listSubType === "零售" || listSubType === "零售退货"){ + unitSetInput = res.data[0].firstoutunit; //给单位文本框赋值 + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = ratio; + } + } + body.find("[field='Unit']").find(input).val(unitSetInput).attr("data-ratio", loadRatio); //设置-首选单位 + + body.find("[field='Unit']").find(input).off("click").on("click",function(){ + if(basicUnit && otherUnit) { + var self = this; + //定义模版 + var temp = "
"; + temp +="
    "; + temp +="
  • " + basicUnit + "
  • "; + temp +="
  • " + otherUnit + "
  • "; + temp +="
"; + temp +="
"; + if($('.unit-list').length){ + $('.unit-list').remove(); //如果存在计量单位列表先移除 + } + else { + $(self).after(temp); //加载列表信息 + } + //计量单位列表的单击事件 + $('.unit-list ul li').off("click").on("click",function(){ + var unit = $(this).text(); + var thisRatio = $(this).attr("data-ratio"); //获取比例 + $(self).val(unit).attr("data-ratio", thisRatio); + $(self).keyup(); //模拟键盘操作 + $('.unit-list').remove(); //移除计量单位列表 + var stock = body.find("[field='Stock']").find(input).attr("data-stock"); //从缓存中取值 + var type = $(this).attr("data-type"); + var UnitPrice = 0; + if(type === "basic"){ + if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { + UnitPrice = basicPresetPriceOne; + } + else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { + UnitPrice = basicPresetPriceTwo; + } + else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ + UnitPrice = retailPriceOne; + } + body.find("[field='Stock']").find(input).val(stock); //修改库存 + } + else if(type === "other"){ + if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { + UnitPrice = otherPresetPriceOne; + } + else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { + UnitPrice = otherPresetPriceTwo; + } + else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ + UnitPrice = retailPriceTwo; + } + body.find("[field='Stock']").find(input).val((stock/ratio).toFixed(2)); //修改库存 + } + body.find("[field='UnitPrice']").find(input).val(UnitPrice); //单价 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //获取数量 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //获取税率 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //点击空白处移除计量单位列表 + $(".datagrid-body").off("click").on("click",function(){ + $('.unit-list').remove(); //移除计量单位列表 + }); + } + }); + } + var detailPrice = 0; //明细列表-单价 + if(listSubType == "零售" || listSubType == "零售退货") { + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = retailPrice; + } + else { + if (firstOutUnit == basicUnit) { + detailPrice = retailPriceOne; + } + else if (firstOutUnit == otherUnit) { + detailPrice = retailPriceTwo; + } + } + } + else if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = presetPriceOne; + } + else { + if (firstInUnit == basicUnit) { + detailPrice = basicPresetPriceOne; + } + else if (firstInUnit == otherUnit) { + detailPrice = otherPresetPriceOne; + } + } + } + else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = presetPriceTwo; + } + else { + if(firstOutUnit==basicUnit) { + detailPrice = basicPresetPriceTwo; + } + else if(firstOutUnit==otherUnit){ + detailPrice = otherPresetPriceTwo; + } + } + } + body.find("[field='OperNumber']").find(input).val(1); //数量初始化为1 + //单价和总价赋值 + if(!detailPrice) { + detailPrice = 0; + } + body.find("[field='UnitPrice']").find(input).val(detailPrice); + body.find("[field='AllPrice']").find(input).val(detailPrice); + var taxRate = body.find("[field='TaxRate']").find(input).val()-0; //获取税率 + body.find("[field='TaxUnitPrice']").find(input).val((detailPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((detailPrice*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((detailPrice*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,detailPrice,1,footer,taxRate); + + //查询库存信息 + var depotId = body.find("[field='DepotId']").find(".combo-value").val(); + if(depotId) { + var type = "select"; //type 类型:点击 click,选择 select + findStockNumById(depotId, mId, monthTime, body, input, loadRatio, type); + } + } + }, + error: function() { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + } + }); + } + } + } + } + }, + { title: '库存',field: 'Stock',editor:'validatebox',width:70}, + { title: anotherDepotHeadName, field: 'AnotherDepotId',editor:'validatebox',hidden:isShowAnotherDepot,width:90, + formatter: function (value, row, index) { + return row.AnotherDepotName; + }, + editor: { + type: 'combobox', + options: { + valueField: 'id', + textField: anotherDepotTextField, + method: 'get', + url: anotherDepotUrl + } + } + }, + { title: '单位',field: 'Unit',editor:'validatebox',width:60}, + { title: '数量',field: 'OperNumber',editor:'validatebox',width:60}, + { title: '单价',field: 'UnitPrice',editor:'validatebox',width:60}, + { title: '含税单价',field: 'TaxUnitPrice',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '金额',field: 'AllPrice',editor:'validatebox',width:75}, + { title: '税率(%)',field: 'TaxRate',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '税额',field: 'TaxMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '价税合计',field: 'TaxLastMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '备注',field: 'Remark',editor:'validatebox',width:120}, + { title: '品名-别',field: 'OtherField1',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '型号-别',field: 'OtherField2',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '颜色-别',field: 'OtherField3',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '备注1',field: 'OtherField4',editor:'validatebox',hidden:true,width:60}, + { title: '备注2',field: 'OtherField5',editor:'validatebox',hidden:true,width:60} + ]], + toolbar:[ + { + id:'append', + text:'新增', + iconCls:'icon-add', + handler:function() + { + append(); //新增 + } + }, + { + id:'delete', + text:'删除', + iconCls:'icon-remove', + handler:function() + { + batchDel(); //删除 + } + }, + { + id:'reject', + text:'撤销', + iconCls:'icon-undo', + handler:function() + { + reject(); //撤销 + } + } + ], + onLoadError:function() + { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); + $.ajax({ + type:"get", + url: '/depotItem/getDetailList', + data: { + headerId: depotHeadID, + mpList: mPropertyList + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + var data = res.data; + var AllPrice = 0; + var TaxLastMoney = 0; + var DiscountMoney = $("#DiscountMoney").val()-0; //优惠金额 + var DiscountLastMoney = $("#DiscountLastMoney").val()-0; //优惠后金额 + if(type === "edit") { + AllPrice = TotalPrice; + TaxLastMoney = DiscountMoney + DiscountLastMoney; + } + var array = []; + array.push({ + "AllPrice": AllPrice, + "TaxLastMoney": TaxLastMoney + }); + data.footer = array; + $("#materialData").datagrid('loadData',data); + //如果是订单跳转到采购或销售 + if(pageType === "skip") { + var skipList = $("#depotHeadFM .datagrid-body tr"); + //逐条自动点击每行数据 + skipList.each(function (i) { + setTimeout(function () { + skipList.eq(i).find("[field='Stock']").click(); + },(i+1)*1000); + }); + } + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); +} + +//初始化表格数据-商品列表-查看状态 +function initTableData_material_show(TotalPrice){ + var isShowAnotherDepot = true; //显示对方仓库,true为隐藏,false为显示 + var anotherDepotHeadName = ""; //对方仓库的列的标题 + var depotHeadName = ""; //仓库的列的标题 + if(listSubType == "调拨"){ + isShowAnotherDepot = false; //调拨时候显示对方仓库 + anotherDepotHeadName = "调入仓库"; + } + depotHeadName = "仓库名称"; + var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 + if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowTaxColumn = true; //隐藏 + } + var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 + if(listSubType == "组装单" || listSubType == "拆卸单"){ + isShowMaterialTypeColumn = false; //显示 + } + $('#materialDataShow').datagrid({ + height:245, + rownumbers: true, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + pagination: false, + //交替出现背景 + striped : true, + showFooter: true, + onClickRow: onClickRow, + columns:[[ + { title: '商品类型',field: 'MType',width:80, hidden:isShowMaterialTypeColumn}, + { title: depotHeadName,field: 'DepotName',editor:'validatebox',width:90}, + { title: '品名(型号)(扩展信息)(单位)',field: 'MaterialName',width:230}, + { title: anotherDepotHeadName,field: 'AnotherDepotName',hidden:isShowAnotherDepot,width:90}, + { title: '单位',field: 'Unit',editor:'validatebox',width:60}, + { title: '数量',field: 'OperNumber',editor:'validatebox',width:60}, + { title: '单价',field: 'UnitPrice',editor:'validatebox',width:60}, + { title: '含税单价',field: 'TaxUnitPrice',editor:'validattebox',hidden:isShowTaxColumn,width:75}, + { title: '金额',field: 'AllPrice',editor:'validatebox',width:75}, + { title: '税率',field: 'TaxRate',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '税额',field: 'TaxMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '价税合计',field: 'TaxLastMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '备注',field: 'Remark',editor:'validatebox',width:120}, + { title: '品名-别',field: 'OtherField1',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '型号-别',field: 'OtherField2',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '颜色-别',field: 'OtherField3',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '备注1',field: 'OtherField4',editor:'validatebox',hidden:true,width:60}, + { title: '备注2',field: 'OtherField5',editor:'validatebox',hidden:true,width:60} + ]], + onLoadError:function() { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); + $.ajax({ + type:"get", + url: '/depotItem/getDetailList', + data: { + headerId: depotHeadID, + mpList: mPropertyList + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + var data = res.data; + var AllPrice = TotalPrice; + var DiscountMoney = $("#DiscountMoneyShow").text() - 0; //优惠金额 + var DiscountLastMoney = $("#DiscountLastMoneyShow").text() - 0; //优惠后金额 + var array = []; + array.push({ + "AllPrice": AllPrice, + "TaxLastMoney": DiscountMoney + DiscountLastMoney + }); + data.footer = array; + $("#materialDataShow").datagrid('loadData', data); + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); +} + +//分页信息处理 +function ininPager(){ + try + { + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + pager.pagination({ + onSelectPage:function(pageNum, pageSize) + { + opts.pageNumber = pageNum; + opts.pageSize = pageSize; + pager.pagination('refresh', + { + pageNumber:pageNum, + pageSize:pageSize + }); + showDepotHeadDetails(pageNum,pageSize); + } + }); + } + catch (e) + { + $.messager.alert('异常处理提示',"分页信息异常 : " + e.name + ": " + e.message,'error'); + } +} + +//删除单据信息 +function deleteDepotHead(depotHeadID, thisOrganId, totalPrice, status){ + if(status == "1" || status == "2") { + $.messager.alert('删除提示','已审核和已转的单据不能删除!','warning'); + return; + } + $.messager.confirm('删除确认','确定要删除此单据信息吗?',function(r) { + if (r) { + $.ajax({ + type:"post", + // url: "/depotHead/" + depotHeadID + "/delete", + url: "/depotHead/deleteDepotHeadAndDetail", + dataType: "json", + data:{ + id: depotHeadID + }, + success: function (res) { + if(res && res.code == 200) { + $("#searchBtn").click(); + } else { + $.messager.alert('删除提示', '删除单据信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('删除提示','删除单据信息异常,请稍后再试!','error'); + return; + } + }); + + //更新会员的预收款信息 + if(listSubType === "零售") { + $.ajax({ + type:"post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data:{ + supplierId: thisOrganId, //会员id + advanceIn: totalPrice //删除时同时返还用户的预付款 + }, + success: function(res){ + if(res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function(){ + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + } + }); +} + +//订单转采购或销售 +function skipDepotHead(index, status){ + //获取当前行 + var rowsdata = $("#tableData").datagrid("getRows")[index]; + if(status == "0" || status == "2") { + $.messager.alert('提示','未审核和已转的单据禁止操作!','warning'); + } else { + sessionStorage.setItem("rowInfo", JSON.stringify(rowsdata)); //将单据信息存入缓存中 + if(listTitle == "采购订单列表") { + parent.addTab("订单转采购", "../materials/purchase_in_list.html?t=skip", ""); + } else if(listTitle == "销售订单列表") { + parent.addTab("订单转销售", "../materials/sale_out_list.html?t=skip", ""); + } + } +} + +//批量删除单据信息 +function batDeleteDepotHead(){ + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) + { + $.messager.alert('删除提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) + { + $.messager.confirm('删除确认','确定要删除选中的' + row.length + '条单据信息吗?',function(r) + { + if (r) { + var ids = ""; + for (var i = 0; i < row.length; i++) { + if (i == row.length - 1) { + if (row[i].status == 0) { + ids += row[i].id; + } + break; + } + ids += row[i].id + ","; + } + if (ids) { + //批量更新会员的预收款信息 + for (var i = 0; i < row.length; i++) { + if (listSubType === "零售") { + $.ajax({ + type: "post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data: { + supplierId: row[i].organid, //会员id + advanceIn: row[i].totalprice //删除时同时返还用户的预付款 + }, + success: function (res) { + if (res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function () { + $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); + return; + } + }); + } + } + //批量删除 + $.ajax({ + type: "post", + // url: "/depotHead/batchDelete", + url: "/depotHead/batchDeleteDepotHeadAndDetail", + dataType: "json", + async: false, + data: ({ + ids: ids + }), + success: function (res) { + if (res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('删除提示', '删除单据信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('删除提示', '删除单据信息异常,请稍后再试!', 'error'); + return; + } + }); + } else { + $.messager.alert('删除提示','没有能删除的单据!','warning'); + } + } + }); + } +} + +//批量审核 +function setStatusFun() { + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) { + $.messager.alert('审核提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) { + $.messager.confirm('审核确认','确定要审核选中的' + row.length + '条信息吗?',function(r) + { + if (r) + { + var ids = ""; + for(var i = 0;i < row.length; i ++) + { + if(i == row.length-1) + { + if(row[i].status != "2") { + ids += row[i].id; + } + break; + } + ids += row[i].id + ","; + } + if(ids) { + $.ajax({ + type:"post", + url: "/depotHead/batchSetStatus", + dataType: "json", + async : false, + data: ({ + status: "1", + depotHeadIDs : ids + }), + success: function (res) { + if(res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('审核提示', '审核信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('审核提示','审核信息异常,请稍后再试!','error'); + return; + } + }); + } else { + $.messager.alert('审核提示','没有能审核的单据!','warning'); + } + } + }); + } +} + +//批量反审核 +function setUnStatusFun() { + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) + { + $.messager.alert('反审核提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) + { + $.messager.confirm('反审核确认','确定要反审核选中的' + row.length + '条信息吗?',function(r) + { + if (r) + { + var ids = ""; + for(var i = 0;i < row.length; i ++) + { + if(i == row.length-1) + { + if(row[i].status != "2") { + ids += row[i].id; + } + break; + } + ids += row[i].id + ","; + } + if(ids) { + $.ajax({ + type: "post", + url: "/depotHead/batchSetStatus", + dataType: "json", + async: false, + data: ({ + status: "0", + depotHeadIDs: ids + }), + success: function (res) { + if (res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('反审核提示', '反审核信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('反审核提示', '反审核信息异常,请稍后再试!', 'error'); + return; + } + }); + } else { + $.messager.alert('反审核提示','没有能反审核的单据!','warning'); + } + } + }); + } +} + +//生成单据编号 +function buildNumber() { + $.ajax({ + type: "get", + url: "/depotHead/buildNumber", + success:function(res){ + if(res && res.code === 200){ + var obj = res.data; + var defaultNumber = obj.DefaultNumber; + var newNumber = amountNum + defaultNumber; + $("#Number").val(newNumber).attr("data-defaultNumber",newNumber); + } + }, + error:function(){ + $.messager.alert('提示','生成单据编号失败!','error'); + } + }); +} + +//新增信息 +function addDepotHead(){ + $('#depotHeadFM').form('clear'); + var thisDateTime = getNowFormatDateTime(); //当前时间 + $("#OperTime").val(thisDateTime); + buildNumber(); //生成单据编号 + //初始化优惠率、优惠金额、优惠后金额、本次付|收款、本次欠款 为0 + $("#Discount").val(0); + $("#DiscountMoney").val(0); + $("#DiscountLastMoney").val(0); + $("#ChangeAmount").val(0); + $("#Debt").val(0); + $("#AccountId").val(defaultAccountId); //初始化默认的账户Id + var addTitle = listTitle.replace("列表","信息"); + $('#depotHeadDlg').dialog('open').dialog('setTitle',' 增加' + addTitle); + $(".window-mask").css({ width: webW ,height: webH}); + + orgDepotHead = ""; + depotHeadID = 0; + initTableData_material("add"); //商品列表 + reject(); //撤销下、刷新商品列表 + $("#addOrgan").off("click").on("click",function(){ + $('#supplierDlg').dialog('open').dialog('setTitle',' 增加供应商信息'); + $('#supplierFM').form('clear'); + }); + + $("#addMember").off("click").on("click",function(){ + $('#supplierDlg').dialog('open').dialog('setTitle',' 增加会员信息'); + $('#supplierFM').form('clear'); + }); + $("#addCustomer").off("click").on("click",function(){ + $('#supplierDlg').dialog('open').dialog('setTitle',' 增加客户信息'); + $('#supplierFM').form('clear'); + }); + url = '/depotHead/addDepotHeadAndDetail'; + + //零售单据修改收款时,自动计算找零 + if(listSubType == "零售" || listSubType == "零售退货") { + $("#payType").val("现付"); + $("#OrganId").combobox("setValue", orgDefaultId); //自动默认选择非会员 + // 鼠标点下时清空选择项 + $("#OrganId").next().find("input").off("mousedown").on("mousedown",function(){ + $("#OrganId").combobox("setValue", ""); + }); + //当会员卡号长度超过10位后,自动点击下拉框,用于兼容刷卡器 + $("#OrganId").next().find("input").off("keyup").on("keyup",function(){ + var self = this; + if($(this).val().length === 10){ + setTimeout(function(){ + $(".combo-panel .combobox-item-selected").click(); + //更新付款类型,加载会员的预付款的金额 + for(var i=0; i0){ + option = ''; + option += ''; + } + else { + option += ''; + } + $("#payType").empty().append(option); + } + } + },1000); + } + }); + var getAmount = $("#depotHeadFM .get-amount"); + var changeAmount = $("#depotHeadFM .change-amount"); + var backAmount = $("#depotHeadFM .back-amount"); + getAmount.val(0); changeAmount.val(0); backAmount.val(0); //时间初始化 + getAmount.off("keyup").on("keyup",function() { + if(changeAmount.val()){ + backAmount.val((getAmount.val()-changeAmount.val()).toFixed(2)); + } + }); + } +} + +//编辑信息 +function editDepotHead(index, status){ + if(status == "1" || status == "2") { + $.messager.alert('编辑提示','已审核和已转的单据不能编辑!','warning'); + return; + } + // var depotHeadInfo = depotHeadTotalInfo.split("AaBb"); + //获取当前行 + var rowsdata =''; + if(Number(index).toString()=='NaN'){ + rowsdata=$.parseJSON(index); + }else{ + rowsdata=$("#tableData").datagrid("getRows")[index]; + } + $("#ProjectId").focus().val(rowsdata.projectid); + var ProjectId=rowsdata.projectid; + if(ProjectId!='') { + initSystemData_person(ProjectId); + initSelectInfo_person(); + } + var TotalPrice = rowsdata.totalprice; //合计金额 + if(pageType === "skip") { //从订单跳转过来 + buildNumber(); //生成单据编号 + var thisDateTime = getNowFormatDateTime(); //当前时间 + $("#OperTime").val(thisDateTime); + $("#LinkNumber").val(rowsdata.number); //关联订单号 + $("#AccountId").val(defaultAccountId); //初始化默认的账户Id + $("#DiscountLastMoney").val(TotalPrice); //优惠后金额 + $("#ChangeAmount").val(TotalPrice).attr("data-changeamount", TotalPrice); + } else { + $("#Number").val(rowsdata.number).attr("data-defaultNumber",rowsdata.number); + $("#OperTime").val(rowsdata.opertimeStr); + $("#LinkNumber").val(rowsdata.linknumber==undefined?"":rowsdata.linknumber); //关联订单号 + $("#AccountId").val(rowsdata.accountid); //账户Id + $("#DiscountLastMoney").val(rowsdata.discountlastmoney==undefined?"0.00":rowsdata.discountlastmoney); //优惠后金额 + $("#ChangeAmount").val(rowsdata.changeamount).attr("data-changeamount", rowsdata.changeamount); + } + $('#OrganId').combobox('setValue', rowsdata.organid==undefined?'':rowsdata.organid); + $("#HandsPersonId").val(rowsdata.handspersonid); + $("#Remark").val(rowsdata.remark); + $("#Discount").val(rowsdata.discount==undefined?"0":rowsdata.discount); + $("#DiscountMoney").val(rowsdata.discountmoney==undefined?"0.00":rowsdata.discountmoney); + $("#Debt").val(Number((rowsdata.discountlastmoney==undefined?'0.00':rowsdata.discountlastmoney-rowsdata.changeamount)).toFixed(2)); + $("#AccountDay").val(rowsdata.accountday==undefined?"":rowsdata.accountday); //结算天数 + preTotalPrice = rowsdata.totalprice; //记录前一次合计金额,用于扣预付款 + $("#AllocationProjectId").val(rowsdata.allocationprojectid); + oldNumber = rowsdata.number; //记录编辑前的单据编号 + oldId = rowsdata.id; //记录单据Id + var editTitle = listTitle.replace("列表","信息"); + $('#depotHeadDlg').dialog('open').dialog('setTitle',' 编辑' + editTitle); + $(".window-mask").css({ width: webW ,height: webH}); + depotHeadID = rowsdata.id; + + if(listSubType == "零售"){ + var option = ""; + if(rowsdata.paytype == "预付款"){ + option = ''; + option += ''; + } + else { + option += ''; + } + $("#payType").empty().append(option); + } + + if(listSubType == "销售" || listSubType == "销售退货"){ + if(rowsdata.salesman){ + var arr = rowsdata.salesman.split(","); + var salesmanArray = []; + for(var i=0;i","")); + } + } + $("#Salesman").combobox('setValues', salesmanArray); + } + } + + //采购入库、销售出库的多账户加载 + if(rowsdata.accountidlist!=undefined && rowsdata.accountmoneylist!=undefined){ + $("#AccountId").val("many"); //下拉框选中多账户 + var accountArr = rowsdata.accountidlist.split(","); + var accountMoneyArr = rowsdata.accountmoneylist.split(","); + accountMoneyArr = changeListFmtPlus(accountMoneyArr) //将数组单个金额中的数值转为正数 + + if(listSubType == "零售" || listSubType == "零售退货") { + var manyAccountMoney = 0; //多账户合计-零售 + for (var j = 0; j < accountArr.length; j++) { + if (accountList != null) { + for (var i = 0; i < accountList.length; i++) { + var account = accountList[i]; + if (accountArr[j] == account.id) { + manyAccountMoney += accountMoneyArr[j] - 0; //多账户合计-零售 + } + } + } + } + $("#getAmount").val(manyAccountMoney); //收款金额、付款金额 + var changeAmount = $("#ChangeAmount").val()-0; + $("#backAmount").val((manyAccountMoney-changeAmount).toFixed(2)); //找零 + } + + $("#AccountId").attr("data-accountArr", JSON.stringify(accountArr)).attr("data-accountMoneyArr", JSON.stringify(accountMoneyArr)); //json数据存储 + $(".many-account-ico").show(); //显示多账户的ico图标 + } + + //采购入库、销售出库的费用数据加载 + if(rowsdata.othermoneylist &&rowsdata.othermoneyitem){ + $("#OtherMoney").val(rowsdata.othermoney==undefined?"0":rowsdata.othermoney); //采购费用、销售费用 + var itemArr = rowsdata.othermoneylist.split(","); + var itemMoneyArr = rowsdata.othermoneyitem.split(","); + $("#OtherMoney").attr("data-itemArr",JSON.stringify(itemArr)).attr("data-itemMoneyArr",JSON.stringify(itemMoneyArr)); //json数据存储 + } + + initTableData_material("edit",TotalPrice); //商品列表 + reject(); //撤销下、刷新商品列表 + if(pageType === "skip") { + url = '/depotHead/addDepotHeadAndDetail'; //如果是从订单跳转过来,则此处为新增的接口 + //jshjshjsh + $("#depotHeadFM .datagrid-body").find("[field='DepotId']").click(); + } else { + url = '/depotHead/updateDepotHeadAndDetail?id=' + rowsdata.id; //更新接口 + } +} + +//查看信息 +function showDepotHead(index){ + // var depotHeadInfo = depotHeadTotalInfo.split("AaBb"); + //获取当前行 + var rowsdata = $("#tableData").datagrid("getRows")[index]; + var manyAccountMoney = 0; //多账户合计-零售 + $("#ProjectIdShow").text(rowsdata.projectName); + $("#NumberShow").text(rowsdata.number); + $("#OperTimeShow").text(rowsdata.opertimeStr); + $('#OrganIdShow').text(rowsdata.organName==undefined?'':rowsdata.organName); + $("#HandsPersonIdShow").text(rowsdata.handsPersonName); + if(rowsdata.accountName && rowsdata.accountName!=undefined){ + $("#AccountIdShow").text(rowsdata.accountName); //结算账户 + } else { + var accountArr = (rowsdata.accountidlist==undefined?"":rowsdata.accountidlist).split(","); //账户id列表 + var accountMoneyArr =(rowsdata.accountmoneylist==undefined?"":rowsdata.accountmoneylist).split(","); //账户金额列表 + var accountIdShow = ""; + for(var j =0;j 查看' + showTitle); + $(".window-mask").css({ width: webW ,height: webH}); + + depotHeadID = rowsdata.id; + initTableData_material_show(TotalPrice); //商品列表-查看状态 + + //零售单据展示数据 + if(listSubType == "零售" || listSubType == "零售退货"){ + var changeAccount = $("#depotHeadDlgShow .change-amount-show").text() -0; + if(manyAccountMoney!==0){ + $("#depotHeadDlgShow .get-amount-show").text((manyAccountMoney).toFixed(2)); + $("#depotHeadDlgShow .back-amount-show").text((manyAccountMoney -changeAccount).toFixed(2)); + } + else { + $("#depotHeadDlgShow .get-amount-show").text((changeAccount).toFixed(2)); + $("#depotHeadDlgShow .back-amount-show").text(0); + } + } + if(listSubType === "销售" || listSubType === "销售退货"){ + if(rowsdata.salesman){ + var arr = rowsdata.salesman.split(","); + var salesmanStr = ""; + for(var i=0;i",""); + } + else { + salesmanStr += arr[i].replace("<","").replace(">","") + ","; + } + } + } + $.ajax({ + type: "get", + url: "/person/getPersonByIds", + data: { + personIDs: salesmanStr + }, + success:function(res){ + if(res && res.code === 200){ + if(res.data) { + $("#SalesmanShow").text(res.data.names); //销售人员列表 + } + } + }, + error:function(){ + + } + }); + } + } +} + +//绑定操作事件 +function bindEvent(){ + showDepotHeadDetails(1,initPageSize); //初始化时自动查询 + //搜索处理 + $("#searchBtn").off("click").on("click",function(){ + showDepotHeadDetails(1,initPageSize); + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + opts.pageNumber = 1; + opts.pageSize = initPageSize; + pager.pagination('refresh', + { + pageNumber:1, + pageSize:initPageSize + }); + }); + + //重置按钮 + $("#searchResetBtn").unbind().bind({ + click:function(){ + //$("#searchProjectId").val(""); + $("#searchState").val(""); + $("#searchBeginTime").val(""); + $("#searchEndTime").val(""); + //加载完以后重新初始化 + $("#searchBtn").click(); + } + }); + + //检查单据编号是否存在 + function checkDepotHeadNumber() { + var thisNumber = $.trim($("#Number").val()); + //表示是否存在 true == 存在 false = 不存在 + var flag = false; + //开始ajax名称检验,不能重名 + if(thisNumber.length > 0 &&( oldNumber.length ==0 || thisNumber != oldNumber)) + { + $.ajax({ + type:"get", + url: "/depotHead/checkIsNumberExist", + dataType: "json", + async : false, + data: ({ + DepotHeadID : oldId, + Number : thisNumber + }), + success: function (tipInfo) + { + flag = tipInfo; + if(tipInfo) + { + $.messager.alert('提示','抱歉,该单据编号已经存在','warning'); + return; + } + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','检查单据编号是否存在异常,请稍后再试!','error'); + return; + } + }); + } + return flag; + } + //保存信息 + /** + * 2019-01-25 + * 我对这个方法的实现结果存在严重怀疑,决定重构 + * 有如下疑点: + * 1、保存完主表,返回结果后,再发起请求去操作子表,如何保证事务的一致性(业务数据一致性) + * 2、保存完主表后,再通过selectmax的方式去获取主表主键id完全就是看人品的不可靠的思路 + * 修改计划: + * 2019-01-25修改零售出库相关操作 + * 修改方式,重写url,将主从表操作合并 + * + * + * **/ + $("#saveDepotHead").off("click").on("click",function(){ + if(!$('#depotHeadFM').form('validate')){ + return; + } + else { + //如果初始编号被修改了,就要判断单据编号是否存在 + if($.trim($("#Number").val()) != $('#Number').attr("data-defaultNumber")){ + //调用查询单据编号是否重名的方法 + if(checkDepotHeadNumber()){ + return; + } + } + //输入框提示 + if(listTitle === "采购订单列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择供应商!','warning'); + return; + } + } + else if(listTitle === "采购入库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择供应商!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择结算账户!','warning'); + return; + } + } + else if(listTitle === "零售退货列表"){ + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择付款账户!','warning'); + return; + } + if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { + $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); + return; + } + } + else if(listTitle === "销售退货列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择退货单位!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择付款账户!','warning'); + return; + } + } + else if(listTitle === "其它入库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择往来单位!','warning'); + return; + } + } + else if(listTitle === "零售出库列表"){ + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择收款账户!','warning'); + return; + } + if($("#backAmount").val()-0 <0){ + $.messager.alert('提示','找零金额不能小于0!','warning'); + return; + } + if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { + $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); + return; + } + + } + else if(listTitle === "销售订单列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择购买单位!','warning'); + return; + } + } + else if(listTitle === "销售出库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择购买单位!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择收款账户!','warning'); + return; + } + } + else if(listTitle === "采购退货列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择收货单位!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择收款账户!','warning'); + return; + } + } + else if(listTitle === "其它出库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择往来单位!','warning'); + return; + } + } + else if(listTitle === "调拨出库列表"){ + + } + //进行明细的校验 + if(depotHeadID ==0) { + //新增模式下 + if (!CheckData("add")) { + return; + } + } + else { + //编辑模式下 + if (!CheckData("edit")) { + return; + } + } + var OrganId = null, ProjectId = null,AllocationProjectId = null; + var ChangeAmount = $.trim($("#ChangeAmount").val())-0; + var TotalPrice = $("#depotHeadFM .datagrid-footer [field='AllPrice'] div").text(); + if($('#OrganId').length){ + OrganId = $('#OrganId').combobox('getValue'); + } + var accountMoneyList = $("#AccountId").attr("data-accountmoneyarr"); //账户金额列表-多账户 + var accountMoneyArr; + if(accountMoneyList) { + accountMoneyList = accountMoneyList.replace("[","").replace("]","").toString(); + var reg=new RegExp("\"","g"); //创建正则RegExp对象 + accountMoneyList = accountMoneyList.replace(reg,""); //替换所有的双引号 + accountMoneyArr = accountMoneyList.split(","); //转为数组 + } + if(listSubType === "采购订单"||listSubType === "采购"||listSubType === "零售退货"||listSubType === "销售退货"){ + //付款为负数 + ChangeAmount = 0 - ChangeAmount; + TotalPrice = 0 - TotalPrice; + if(accountMoneyArr) { + accountMoneyArr = changeListFmtMinus(accountMoneyArr); //将数组单个金额中的数值转为负数 + } + } + //零售时候,可以从会员预付款中扣款 + var thisPayType = "现付"; + if(listSubType === "零售") { + if($("#payType").val() ==="预付款") { + thisPayType = "预付款"; + } + } + var SalesmanStr = ""; + if(listSubType === "销售" || listSubType === "销售退货"){ + var Salesman = $('#Salesman').combobox('getValues').toString(); //销售人员 + if(Salesman) { + var SalesmanArray = Salesman.split(","); + for (var i = 0; i < SalesmanArray.length; i++) { + if (i === SalesmanArray.length - 1) { + SalesmanStr += "<" + SalesmanArray[i] + ">"; + } + else { + SalesmanStr += "<" + SalesmanArray[i] + ">,"; + } + } + } + } + var getAccountID = $.trim($("#AccountId").val()); + if($("#AccountId").val() === "many"){ //多账户 + getAccountID = null; + } + var infoStr=JSON.stringify({ + Type: listType, + SubType: listSubType, + ProjectId: ProjectId, + AllocationProjectId: AllocationProjectId, + DefaultNumber: $.trim($("#Number").attr("data-defaultNumber")),//初始编号 + Number: $.trim($("#Number").val()), + LinkNumber: $.trim($("#LinkNumber").val()), + OperTime: $("#OperTime").val(), + OrganId: OrganId, + HandsPersonId: $.trim($("#HandsPersonId").val()), + Salesman: SalesmanStr, //销售人员 + AccountId: getAccountID, + ChangeAmount: ChangeAmount, //付款/收款 + TotalPrice: TotalPrice, //合计 + PayType: thisPayType, //现付/预付款 + Remark: $.trim($("#Remark").val()), + AccountIdList: $("#AccountId").attr("data-accountarr"), //账户列表-多账户 + AccountMoneyList: accountMoneyArr ? JSON.stringify(accountMoneyArr) : "", //账户金额列表-多账户 + Discount: $.trim($("#Discount").val()), + DiscountMoney: $.trim($("#DiscountMoney").val()), + DiscountLastMoney: $.trim($("#DiscountLastMoney").val()), + OtherMoney: $.trim($("#OtherMoney").val()), //采购费用、销售费用 + OtherMoneyList: $("#OtherMoney").attr("data-itemarr"), //支出项目列表-涉及费用 + OtherMoneyItem: $("#OtherMoney").attr("data-itemmoneyarr"), //支出项目金额列表-涉及费用 + AccountDay: $("#AccountDay").val() //结算天数 + }); + /** + * 零售出库,单独操作 + * */ + if(url.indexOf("/depotHead/addDepotHeadAndDetail")>=0){ + addDepotHeadAndDetail(url,infoStr); + return; + }else if(url.indexOf("/depotHead/updateDepotHeadAndDetail")>=0){ + updateDepotHeadAndDetail(url,infoStr,preTotalPrice); + return; + } + $.ajax({ + type:"post", + url: url, + dataType: "json", + async : false, + data: ({ + info:infoStr + }), + success: function (tipInfo) + { + if(tipInfo) + { + function closeDialog(){ + $('#depotHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showDepotHeadDetails(opts.pageNumber,opts.pageSize); + } + + if(thisPayType === "预付款") { + //更新用户信息-预付款 + var advanceIn = 0; //预付款金额 + if(depotHeadID){ + advanceIn = TotalPrice - preTotalPrice; //修改时,预付款=合计金额-加载金额 + } + else{ + advanceIn = TotalPrice; //新增时,预付款=合计金额 + } + $.ajax({ + type:"post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data:{ + supplierId: OrganId, //会员id + advanceIn: 0 - advanceIn //保存的同时扣掉用户的预付款 + }, + success: function(res){ + if(res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function(){ + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + + //保存明细记录 + if(depotHeadID ==0) + { + getMaxId(); //查找最大的Id + accept(depotHeadMaxId,closeDialog); //新增 + } + else + { + accept(depotHeadID,closeDialog); //修改 + } + } + else + { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + }); + + //打印单据 + $("#printDepotHeadShow").off("click").on("click",function(){ + var tableString = $("#depotHeadDlgShow").html(); + localStorage.setItem("tableString",tableString); + window.open("../../js/print/print_form.html","location:No;status:No;help:No;dialogWidth:800px;dialogHeight:600px;scroll:auto;"); + }); + + //初始化键盘enter事件 + $(document).keydown(function(event){ + //兼容 IE和firefox 事件 + var e = window.event || event; + var k = e.keyCode||e.which||e.charCode; + //兼容 IE,firefox 兼容 + var obj = e.srcElement ? e.srcElement : e.target; + //绑定键盘事件为 id是指定的输入框才可以触发键盘事件 13键盘事件 ---遗留问题 enter键效验 对话框会关闭问题 + if(k == "13"&&(obj.id=="State"||obj.id=="Number")) + { + $("#saveDepotHead").click(); + } + //搜索按钮添加快捷键 + if(k == "13"&&(obj.id=="searchState"||obj.id=="searchNumber"||obj.id=="searchMaterial")) + { + $("#searchBtn").click(); + } + }); + + //优惠率输入框事件 + $("#Discount").off("keyup").on("keyup",function(){ + var footer =$("#depotHeadFM .datagrid-footer"); + var totalPrice = footer.find("[field='TaxLastMoney']").find("div").text(); + var discountNum = $(this).val(); + var discountMoney = (discountNum/100*totalPrice).toFixed(2); + var discountLastMoney = (totalPrice - discountMoney).toFixed(2); + $("#DiscountMoney").val(discountMoney); //优惠金额 + $("#DiscountLastMoney").val(discountLastMoney); //优惠后金额 + if($("#AccountId").val()!=="many"){ + $("#ChangeAmount").val(discountLastMoney); //本次付、收款 + } + var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 + $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 + }); + + //优惠金额输入框事件 + $("#DiscountMoney").off("keyup").on("keyup",function(){ + var footer =$("#depotHeadFM .datagrid-footer"); + var totalPrice = footer.find("[field='TaxLastMoney']").find("div").text(); + var discountMoney = $(this).val(); + var discount = (discountMoney/totalPrice).toFixed(2)*100; + var discountLastMoney = (totalPrice - discountMoney).toFixed(2); + $("#Discount").val(discount); //优惠金额 + $("#DiscountLastMoney").val(discountLastMoney); //优惠后金额 + if($("#AccountId").val()!=="many"){ + $("#ChangeAmount").val(discountLastMoney); //本次付、收款 + } + var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 + $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 + }); + + //付款、收款输入框事件 + $("#ChangeAmount").off("keyup").on("keyup",function(){ + var discountLastMoney = $("#DiscountLastMoney").val(); + var changeAmount = $(this).val(); + var debtMoney = (discountLastMoney - changeAmount).toFixed(2); + $("#Debt").val(debtMoney); //本次欠款 + }); + + //多账户结算窗口弹出事件 + function depotHeadAccountDlgFun(){ + $('#depotHeadAccountDlg').dialog('open').dialog('setTitle',' 多账户结算'); + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").remove(); //先移除输入栏目 + $("#accountMoneyTotalDlg").text(0); //将合计初始化为0 + for(var i=0; i<6; i++) { + $("#depotHeadAccountDlg .tabs-tmp .account-content-tmp").attr("data-index",5-i); //添加索引 + var contentTmp = $("#depotHeadAccountDlg .tabs-tmp tbody").html(); + var accountDlgHead = $("#depotHeadAccountDlg .account-head-tmp"); + accountDlgHead.after(contentTmp); + } + + //获取账户信息 + function accountDlgFun() { + var options = ""; + if(accountList !=null){ + for(var i = 0 ;i < accountList.length;i++) { + var account = accountList[i]; + options += ''; + } + $(".account-id-dlg").empty().append("").append(options); + } + } + accountDlgFun(); //获取账户信息 + $("#depotHeadAccountDlg .tabs-tmp").hide(); //隐藏模板 + + //账户金额输入框事件-多账户 + $("#depotHeadAccountDlg .account-dlg .account-money-dlg").off("keyup").on("keyup",function(){ + var totalAccoutNum = 0; + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){ + var eachAccountMoney = $(this).find(".account-money-dlg").val()-0; + totalAccoutNum += eachAccountMoney; + }); + $("#accountMoneyTotalDlg").text(totalAccoutNum); + }); + + //结算多账户列表的切换事件 + $("#depotHeadAccountDlg .account-dlg .account-id-dlg").off("change").on("change",function(){ + var selectAccount = $(this).children('option:selected').text(); + if(selectAccount === ""){ + var thisMoneyDom = $(this).closest(".account-content-tmp").find(".account-money-dlg"); + var thisMoney = thisMoneyDom.val()-0; + var accountMoneyTotal = $("#accountMoneyTotalDlg").text() - 0; + $("#accountMoneyTotalDlg").text(accountMoneyTotal - thisMoney); + thisMoneyDom.val(""); //账户为空时候,将金额也置为空 + } + }); + + //保存按钮事件 + $("#saveDepotHeadAccountDlg").off("click").on("click", function(){ + //完成多账户的json数据存储 + var accountArr = []; //账户id数组 + var accountMoneyArr = []; //账户金额数组 + var errorIndex = -1; + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){ + var thisAccId = $(this).find(".account-id-dlg").val(); + var thisAccMoney = $(this).find(".account-money-dlg").val(); + if(!thisAccId && thisAccMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisAccId && !thisAccMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisAccId && thisAccMoney) { + accountArr.push(thisAccId); + accountMoneyArr.push(thisAccMoney); + } + }); + if(errorIndex >-1){ + $.messager.alert('错误提示',"第" + (errorIndex+1) + "行数据存在问题,请修改",'warning'); + return; + } + var discountLastMoneyNum =$("#DiscountLastMoney").val()-0; //优惠后金额 + var accountMoneyTotal = $("#accountMoneyTotalDlg").text()-0; //本次付款或者收款 + if(accountMoneyTotal===0){ + $.messager.alert('错误提示',"请填写金额后保存",'warning'); + return; + } + if(accountArr.length && accountMoneyArr.length) { + $("#AccountId").attr("data-accountArr",JSON.stringify(accountArr)).attr("data-accountMoneyArr",JSON.stringify(accountMoneyArr)); //json数据存储 + } + if(listSubType==="零售" || listSubType==="零售退货") { + $("#getAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 + var backAmount = $("#getAmount").val() - $("#ChangeAmount").val(); + $("#backAmount").val((backAmount - 0).toFixed(2)); //计算找零金额 + } + else { + $("#ChangeAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 + } + $("#Debt").val((discountLastMoneyNum-accountMoneyTotal).toFixed(2)); //本次欠款 + $("#depotHeadAccountDlg").dialog('close'); + }); + + //取消事件 + function cancelFun(){ + if($("#AccountId").attr("data-accountArr")){ + $("#depotHeadAccountDlg").dialog('close'); + } + else { + $("#depotHeadAccountDlg").dialog('close'); + $("#AccountId").val("").removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 + if(listSubType==="零售" || listSubType==="零售退货"){ + $("#ChangeAmount").prop("readonly","readonly"); + } + else { + $("#ChangeAmount").removeProp("readonly","readonly"); + } + $(".many-account-ico").hide(); //隐藏多账户小图标 + } + } + //多账户-取消按钮 + $("#cancelDepotHeadAccountDlg").off("click").on("click", function(){ + cancelFun(); + }); + + //多账户-右上角的关闭按钮 + $("#depotHeadAccountDlg").prev().find(".panel-tool-close").off("click").on("click", function(){ + cancelFun(); + }); + } + //点击多账户,弹出输入框 + $("#AccountId").off("change").on("change",function(){ + var selectText = $(this).children('option:selected').text(); + if(selectText === "多账户"){ + $("#ChangeAmount").prop("readonly","readonly"); + depotHeadAccountDlgFun(); + $(".many-account-ico").show(); //显示多账户小图标 + } + else{ + $(this).removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 + if(listSubType==="零售" || listSubType==="零售退货"){ + $("#ChangeAmount").prop("readonly","readonly"); + } + else { + $("#ChangeAmount").removeProp("readonly","readonly"); + } + $(".many-account-ico").hide(); //隐藏多账户小图标 + } + }); + + //结算账户-多账户小图标-点击事件 + $(".many-account-ico").off("click").on("click",function(){ + depotHeadAccountDlgFun(); + //给弹窗赋值-多账户数据 + var accountArr = $("#AccountId").attr("data-accountArr"); + accountArr = JSON.parse(accountArr); + var accountMoneyArr = $("#AccountId").attr("data-accountMoneyArr"); + accountMoneyArr = JSON.parse(accountMoneyArr); + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){ + var index = $(this).attr("data-index"); + $(this).find(".account-id-dlg").val(accountArr[index]); + $(this).find(".account-money-dlg").val(accountMoneyArr[index]); + }); + if(listSubType==="零售" || listSubType==="零售退货") { + $("#accountMoneyTotalDlg").text($("#getAmount").val()); + } + else { + $("#accountMoneyTotalDlg").text($("#ChangeAmount").val()); + } + }); + + //点击采购费用、销售费用的事件 + $(".other-money-ico").off("click").on("click",function(){ + $('#otherMoneyDlg').dialog('open').dialog('setTitle',' '+ listSubType +'费用'); + $("#otherMoneyDlg .money-dlg .money-content-tmp").remove(); //先移除输入栏目 + $("#otherMoneyTotalDlg").text(0); //将合计初始化为0 + for(var i=0; i<6; i++) { + $("#otherMoneyDlg .tabs-tmp .money-content-tmp").attr("data-index",5-i); //添加索引 + var contentTmp = $("#otherMoneyDlg .tabs-tmp tbody").html(); + var moneyDlgHead = $("#otherMoneyDlg .money-head-tmp"); + moneyDlgHead.after(contentTmp); + } + + //获取支出项目信息 + function moneyDlgFun() { + var options = ""; + if(outItemList !=null){ + for(var i = 0 ;i < outItemList.length;i++) { + var money = outItemList[i]; + options += ''; + } + $(".money-id-dlg").empty().append("").append(options); + } + } + moneyDlgFun(); //获取支出项目信息 + $("#otherMoneyDlg .tabs-tmp").hide(); //隐藏模板 + + //支出项目的金额输入框事件 + $("#otherMoneyDlg .money-dlg .other-money-dlg").off("keyup").on("keyup",function(){ + var totalMoneyNum = 0; + $("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){ + var eachOtherMoney = $(this).find(".other-money-dlg").val()-0; + totalMoneyNum += eachOtherMoney; + }); + $("#otherMoneyTotalDlg").text(totalMoneyNum); + }); + + //支出项目列表的切换事件 + $("#otherMoneyDlg .money-dlg .money-id-dlg").off("change").on("change",function(){ + var selectItem = $(this).children('option:selected').text(); + if(selectItem === ""){ + var thisMoneyDom = $(this).closest(".money-content-tmp").find(".other-money-dlg"); + var thisMoney = thisMoneyDom.val()-0; + var otherMoneyTotal = $("#otherMoneyTotalDlg").text() - 0; + $("#otherMoneyTotalDlg").text(otherMoneyTotal - thisMoney); + thisMoneyDom.val(""); //支出项目为空时候,将金额也置为空 + } + }); + + //保存按钮事件 + $("#saveOtherMoneyDlg").off("click").on("click", function(){ + //完成支出项目的json数据存储 + var itemArr = []; //支出项目id数组 + var itemMoneyArr = []; //支出项目金额数组 + var errorIndex = -1; + $("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){ + var thisId = $(this).find(".money-id-dlg").val(); + var thisMoney = $(this).find(".other-money-dlg").val(); + if(!thisId && thisMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisId && !thisMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisId && thisMoney) { + itemArr.push(thisId); + itemMoneyArr.push(thisMoney); + } + }); + if(errorIndex >-1){ + $.messager.alert('错误提示',"第" + (errorIndex+1) + "行数据存在问题,请修改",'warning'); + return; + } + var otherMoneyTotal = $("#otherMoneyTotalDlg").text()-0; //合计金额 + if(otherMoneyTotal === 0){ //0的时候清空缓存数据 + $("#OtherMoney").removeAttr("data-itemArr").removeAttr("data-itemMoneyArr"); + } + if(itemArr.length && itemMoneyArr.length) { + $("#OtherMoney").attr("data-itemArr",JSON.stringify(itemArr)).attr("data-itemMoneyArr",JSON.stringify(itemMoneyArr)); //json数据存储 + } + $("#OtherMoney").val(otherMoneyTotal); //给采购费用、销售费用赋值 + $("#otherMoneyDlg").dialog('close'); + }); + + //取消事件 + function cancelFun(){ + if($("#OtherMoney").attr("data-itemArr")){ + $("#otherMoneyDlg").dialog('close'); + } + else { + $("#otherMoneyDlg").dialog('close'); + $("#OtherMoney").val("").removeAttr("data-itemArr").removeAttr("data-itemMoneyArr"); //将下拉置空并把缓存参数清空 + } + } + //费用-取消按钮 + $("#cancelOtherMoneyDlg").off("click").on("click", function(){ + cancelFun(); + }); + + //费用-右上角的关闭按钮 + $("#otherMoneyDlg").prev().find(".panel-tool-close").off("click").on("click", function(){ + cancelFun(); + }); + + //给弹窗赋值-采购费用、销售费用数据 + var itemArr = $("#OtherMoney").attr("data-itemArr"); + itemArr = JSON.parse(itemArr); + var itemMoneyArr = $("#OtherMoney").attr("data-itemMoneyArr"); + itemMoneyArr = JSON.parse(itemMoneyArr); + $("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){ + var index = $(this).attr("data-index"); + $(this).find(".money-id-dlg").val(itemArr[index]); + if(itemMoneyArr[index]!="undefined"){ + $(this).find(".other-money-dlg").val(itemMoneyArr[index]); + } + }); + $("#otherMoneyTotalDlg").text($("#OtherMoney").val()); + }); + + if(listTitle === "采购入库列表" || listTitle === "其它入库列表" || listTitle === "采购订单列表"|| listTitle === "零售出库列表"|| listTitle === "销售出库列表"|| listTitle === "销售订单列表"){ + var supplierType = "供应商"; + if(listTitle === "零售出库列表"){ + supplierType = "会员"; + }else if(listTitle === "销售出库列表" || listTitle === "销售订单列表"){ + supplierType = "客户"; + } + //检查单位名称是否存在 ++ 重名无法提示问题需要跟进 + function checkSupplierName() { + var supplierName = $.trim($("#supplier").val()); + var orgSupplier = ""; + //表示是否存在 true == 存在 false = 不存在 + var flag = false; + //开始ajax名称检验,不能重名 + if(supplierName.length > 0 &&( orgSupplier.length ==0 || supplierName != orgSupplier)) + { + $.ajax({ + type:"get", + url: "/supplier/checkIsNameExist", + dataType: "json", + async : false, + data: ({ + id : 0, + name : supplierName + }), + success: function (res) { + if(res && res.code === 200) { + if(res.data && res.data.status) { + flag = res.data.status; + if (flag) { + $.messager.alert('提示', '单位名称已经存在', 'info'); + return; + } + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('提示','检查单位名称是否存在异常,请稍后再试!','error'); + return; + } + }); + } + return flag; + } + + //保存供应商信息 + $("#saveSupplier").off("click").on("click",function() { + if(validateForm("supplierFM")) { + return; + } + if(checkSupplierName()){ + return; + } + var reg = /^([0-9])+$/; + var phonenum = $.trim($("#phonenum").val()); + if(phonenum.length>0 && !reg.test(phonenum)) + { + $.messager.alert('提示','电话号码只能是数字','info'); + $("#phonenum").val("").focus(); + return; + } + var beginNeedGet = $.trim($("#BeginNeedGet").val()); + var beginNeedPay = $.trim($("#BeginNeedPay").val()); + if(beginNeedGet && beginNeedPay) { + $.messager.alert('提示','期初应收和期初应付不能同时输入','info'); + return; + } + var url = '/supplier/add'; + var supObj = $("#supplierFM").serializeObject(); + supObj.type = supplierType; + supObj.enabled = 1; + $.ajax({ + url: url, + type:"post", + dataType: "json", + data:{ + info: JSON.stringify(supObj) + }, + success: function(res) { + if (res) { + $('#supplierDlg').dialog('close'); + initSupplier(); //刷新供应商 + } + } + }); + }); + } +} + +function showDepotHeadDetails(pageNo,pageSize){ + var materialParam = $.trim($("#searchMaterial").val()); + $.ajax({ + type:"get", + url: "/depotItem/getHeaderIdByMaterial", + dataType: "json", + data: ({ + materialParam: materialParam, + depotIds: depotString + }), + success: function (res) { + if(res && res.code === 200) { + var ids = res.data; + if(ids){ + $.ajax({ + type: "get", + url: "/depotHead/list", + dataType: "json", + data: ({ + search: JSON.stringify({ + type: listType, + subType: listSubType, + state: $.trim($("#searchState").val()), + number: $.trim($("#searchNumber").val()), + beginTime: $("#searchBeginTime").val(), + endTime: $("#searchEndTime").val(), + dhIds: ids + }), + currentPage: pageNo, + pageSize: pageSize + }), + success: function (res) { + if(res && res.code === 200){ + if(res.data && res.data.page) { + $("#tableData").datagrid('loadData', res.data.page); + } + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); + return; + } + }); + } + else { + $("#tableData").datagrid('loadData', []); + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + return; + } + }); +} + +//自动计算事件 +function autoReckon() { + //延时绑定事件 + setTimeout(function(){ + var body =$("#depotHeadFM .datagrid-body"); + var footer =$("#depotHeadFM .datagrid-footer"); + var input = ".datagrid-editable-input"; + //点击商品下拉框,自动加载数量、单价、金额 + body.find("[field='Stock']").find(input).prop("readonly","readonly"); + //点击库存文本框,字段计算库存 + body.find("[field='Stock']").find(input).off("click").on("click",function(){ + var depotId = body.find("[field='DepotId']").find(".combo-value").val(); + var mId = body.find("[field='MaterialId']").find(".combo-value").val(); + var monthTime = getNowFormatMonth(); + if(depotId && mId){ + var ratio = body.find("[field='Unit']").find(input).attr("data-ratio"); + body.find("[field='Stock']").find(input).prop("readonly","readonly"); + //在新增的时候,这个ratio有值;在编辑的时候,这个ratio为undefined + var type = "click"; //type 类型:点击 click,选择 select + findStockNumById(depotId, mId, monthTime, body, input, ratio, type); + } + else{ + body.find("[field='Stock']").find(input).val(0).attr("data-stock",0); //加载库存数据 + } + }); + //修改数量,自动计算金额和合计,另外计算含税单价、税额、价税合计 + body.find("[field='OperNumber']").find(input).off("keyup").on("keyup",function(){ + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var OperNumber =$(this).val()-0; //数量 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + + }); + //修改单价,自动计算金额和合计 + body.find("[field='UnitPrice']").find(input).off("keyup").on("keyup",function(){ + var UnitPrice =$(this).val()-0; //单价 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //点击单价,自动提示参考价格列表 + body.find("[field='UnitPrice']").find(input).off("click").on("click",function(){ + var self = this; + var mValue = body.find("[field='MaterialId'] .combo-value").attr("value"); //获取选中的商品id + if(!mValue) { + return; + } + else { + if(listTitle!="销售出库列表" && listTitle!="采购退货列表" && listTitle!="其它出库列表" && listTitle!="调拨出库列表") { + return; + } + $.ajax({ + url: "/material/findById", + type: "get", + dataType: "json", + data: { + id: mValue - 0 + }, + success: function(res){ + if(res && res.rows && res.rows[0]) { + var retailPrice = res.rows[0].RetailPrice; + var presetPriceOne = res.rows[0].PresetPriceOne; + var presetPriceTwo = res.rows[0].PresetPriceTwo; + //定义模版 + var temp = "
"; + temp +="
    "; + temp +="
  • 批发价:" + presetPriceTwo + "
  • "; + temp +="
  • 零售价:" + retailPrice + "
  • "; + temp +="
"; + temp +="
"; + if($('.price-list').length){ + $('.price-list').remove(); //如果存在价格列表先移除 + } + else { + if(presetPriceTwo != undefined){ //多单位的商品 + $(self).after(temp); //加载列表信息 + } + } + $('.price-list ul li').off("click").on("click",function(){ + var price = $(this).text(); + price = price.substring(price.indexOf(":") + 1); + $(self).val(price); + $(self).keyup(); //模拟键盘操作 + $('.price-list').remove(); //移除价格列表 + }); + //点击空白处移除价格列表 + $(".datagrid-body").off("click").on("click",function(){ + $('.price-list').remove(); //移除价格列表 + }); + } + }, + error: function(){ + $.messager.alert('错误提示','查询商品信息异常,请稍后再试!','error'); + return; + } + }); + } + }); + //修改含税单价,自动计算单价、金额、税额、价税合计和合计 + body.find("[field='TaxUnitPrice']").find(input).off("keyup").on("keyup",function(){ + var TaxUnitPrice =$(this).val()-0; //含税单价 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var UnitPrice = TaxUnitPrice/(1+taxRate/100); //计算单价 + body.find("[field='UnitPrice']").find(input).val((UnitPrice).toFixed(2)); //单价 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改金额,自动计算单价、税额、价税合计和合计 + body.find("[field='AllPrice']").find(input).off("keyup").on("keyup",function(){ + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var AllPrice =$(this).val()-0; //金额 + var UnitPrice = (AllPrice/OperNumber).toFixed(2); + body.find("[field='UnitPrice']").find(input).val(UnitPrice); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改税率,自动计算含税单价、税额、价税合计和合计 + body.find("[field='TaxRate']").find(input).off("keyup").on("keyup",function(){ + var taxRate =$(this).val()-0; //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改税额,自动计算税率、含税单价、价税合计和合计 + body.find("[field='TaxMoney']").find(input).off("keyup").on("keyup",function(){ + var taxMoney =$(this).val()-0; //税额 + var AllPrice = body.find("[field='AllPrice']").find(input).val(); //金额 + var taxRate = taxMoney/AllPrice*100; //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxRate']").find(input).val((taxRate).toFixed(2)); //税率 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改价税合计,自动计算税率、含税单价、税额和合计 + body.find("[field='TaxLastMoney']").find(input).off("keyup").on("keyup",function(){ + var taxLastMoney =$(this).val()-0; //价税合计 + var AllPrice = body.find("[field='AllPrice']").find(input).val(); //金额 + var taxRate = (taxLastMoney-AllPrice)/AllPrice*100; //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxRate']").find(input).val((taxRate).toFixed(2)); //税率 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + + //加载税率 + if(thisTaxRate) { + body.find("[field='TaxRate']").find(input).val(thisTaxRate); + } + else { + body.find("[field='TaxRate']").find(input).val(0); //默认为0 + } + + //在商品类型加载 组装件、普通子件 + var mType = body.find("[field='MType']"); + var rowListLength = mType.find(input).closest(".datagrid-row").attr("datagrid-row-index"); + var mTypeValue = "组合件"; + if(rowListLength > 0){ + mTypeValue = "普通子件"; + } + if(listSubType == "组装单" || listSubType == "拆卸单"){ + mType.find(input).val(mTypeValue).prop("readonly","readonly"); + } + },500); +} + +//结束编辑 +function endEditing() { + if (editIndex == undefined) { return true } + if ($('#materialData').datagrid('validateRow', editIndex)) { + //仓库信息 + var edDepot = $('#materialData').datagrid('getEditor', {index:editIndex,field:'DepotId'}); + var DepotName = $(edDepot.target).combobox('getText'); + $('#materialData').datagrid('getRows')[editIndex]['DepotName'] = DepotName; + //商品信息 + var edMaterial = $('#materialData').datagrid('getEditor', {index:editIndex,field:'MaterialId'}); + var MaterialName = $(edMaterial.target).combobox('getText'); + $('#materialData').datagrid('getRows')[editIndex]['MaterialName'] = MaterialName; + $('#materialData').datagrid('endEdit', editIndex); + editIndex = undefined; + return true; + } else { + return false; + } +} +//单击 +function onClickRow(index) { + if (editIndex != index) { + if (endEditing()) { + $('#materialData').datagrid('selectRow', index).datagrid('beginEdit', index); + editIndex = index; + autoReckon(); + } else { + $('#materialData').datagrid('selectRow', editIndex); + } + } +} +//新增 +function append(){ + if (endEditing()) { + $('#materialData').datagrid('appendRow', {DepotId:defDepotId}); + editIndex = $('#materialData').datagrid('getRows').length - 1; + $('#materialData').datagrid('selectRow', editIndex).datagrid('beginEdit', editIndex); + autoReckon(); + } +} +//删除 +function batchDel(){ + /** + * 重写一下删除的逻辑 + * 获取所有选中行,直接从列表中移除 + * 点击保存时,将需要后台删除的数据提交到服务器 + * **/ + /** + * create by: qiankunpingtai + * create time: 2019/3/20 16:26 + * description: + * 这个地方比较坑的,花了一个多小时才搞明白为什么 + * 1、删除之前必须先调用endEditing结束编辑 + * 2、如果只是调用endEditing结束编辑那么正在编辑行的被选中状态会被去掉 + * 所以要在调用endEditing先获取选中的行 + */ + //如果编辑的行一开始是选中状态,结束编辑后仍然是选中状态 + var row = $('#materialData').datagrid('getChecked'); + if (endEditing()) { + if (row.length == 0) { + $.messager.alert('删除提示', '没有记录被选中!', 'info'); + return; + } + if (row.length > 0) { + $.messager.confirm('删除确认', '确定要删除选中的' + row.length + '条单据信息吗?', function (r) { + if (r) { + for (var i = 0; i < row.length; i++) { + $('#materialData').datagrid('deleteRow', $('#materialData').datagrid("getRowIndex", row[i])); + } + } + }); + } + } +} +function removeit(){ + if (editIndex == undefined) { return } + $('#materialData').datagrid('cancelEdit', editIndex) + .datagrid('deleteRow', editIndex); + editIndex = undefined; +} +//撤销 +function reject() { + $('#materialData').datagrid('rejectChanges'); + editIndex = undefined; +} +//判断 +function CheckData(type) { + append(); + removeit(); + var change = $('#materialData').datagrid('getChanges').length; + if(type =="add" && !change) { + $.messager.alert('提示','请输入明细信息!','warning'); + return false; + } + var row = $('#materialData').datagrid('getRows'); + if(!row.length){ + $.messager.alert('提示',"请输入明细信息!",'info'); + return false; + } + var totalRowNum = ""; + for (var i = 0; i < row.length; i++) { + if (row[i].DepotId == "" || row[i].MaterialId == "" || row[i].OperNumber == "" || row[i].UnitPrice === "" || row[i].AllPrice === "") { + totalRowNum += (i + 1) + "、"; + } + } + if (totalRowNum != "") { + var totalRowNum = totalRowNum.substring(0, totalRowNum.length - 1); + $.messager.alert('提示',"第" + totalRowNum + "行数据填写不完整!",'info'); + return false; + } + return true; +} +//保存 +function accept(accepId,fun) { + var inserted = $("#materialData").datagrid('getChanges', "inserted"); + var deleted = $("#materialData").datagrid('getChanges', "deleted"); + var updated = $("#materialData").datagrid('getChanges', "updated"); + $.ajax({ + type: "post", + url: "/depotItem/saveDetials", + data: { + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated), + headerId:accepId + }, + success: function (tipInfo) + { + if (tipInfo) { + $.messager.alert('提示','保存成功!','info'); + } + else { + $.messager.alert('提示', '保存失败!', 'error'); + } + fun && fun(); + }, + error: function (XmlHttpRequest, textStatus, errorThrown) + { + $.messager.alert('提示',XmlHttpRequest.responseText,'error'); + fun && fun(); + } + }); + if (endEditing()) { + $('#materialData').datagrid('acceptChanges'); + } +} +//获取MaxId +function getMaxId(){ + var depotHeadMax=null; + $.ajax({ + type:"get", + url: "/depotHead/getMaxId", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + depotHeadMax = res.data.maxId; + } + } + } + }); + + if(depotHeadMax !=null) { + depotHeadMaxId=depotHeadMax; + } +} + +/** + * 新增单据主表及单据子表 + * */ +function addDepotHeadAndDetail(url,infoStr){ + var inserted = null; + if(pageType === "skip") { + inserted = $("#materialData").datagrid('getChanges', "updated"); + } else { + inserted = $("#materialData").datagrid('getChanges', "inserted"); + } + var deleted = $("#materialData").datagrid('getChanges', "deleted"); + var updated = $("#materialData").datagrid('getChanges', "updated"); + $.ajax({ + type:"post", + url: url, + dataType: "json", + async : false, + data: ({ + info:infoStr, + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated) + }), + success: function (tipInfo){ + + if(tipInfo){ + if(tipInfo.code!=200){ + $.messager.alert('提示', tipInfo.msg, 'error'); + return; + } + $.messager.alert('提示','保存成功!','info'); + $('#depotHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showDepotHeadDetails(opts.pageNumber,opts.pageSize); + + }else { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + + + }); +} +/** + * 修改单据主表及单据子表 + * */ +function updateDepotHeadAndDetail(url,infoStr,preTotalPrice){ + var inserted = $("#materialData").datagrid('getChanges', "inserted"); + var deleted = $("#materialData").datagrid('getChanges', "deleted"); + var updated = $("#materialData").datagrid('getChanges', "updated"); + $.ajax({ + type:"post", + url: url, + dataType: "json", + async : false, + data: ({ + id:url.substring(url.lastIndexOf("?id=")+4,url.length), + info:infoStr, + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated), + preTotalPrice:preTotalPrice + }), + success: function (tipInfo){ + if(tipInfo){ + if(tipInfo.code!=200){ + $.messager.alert('提示', tipInfo.msg, 'error'); + return; + } + $.messager.alert('提示','保存成功!','info'); + $('#depotHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showDepotHeadDetails(opts.pageNumber,opts.pageSize); + if (endEditing()) { + $('#materialData').datagrid('acceptChanges'); + } + }else { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); +} + + + + diff --git a/erp_web/js/pages/materials/purchase_orders_list.js b/erp_web/js/pages/materials/purchase_orders_list.js new file mode 100644 index 00000000..662d9507 --- /dev/null +++ b/erp_web/js/pages/materials/purchase_orders_list.js @@ -0,0 +1,3205 @@ +//初始化界面 +var defDepotId = null; +var kid = sessionStorage.getItem("userId"); +var pageType = getUrlParam('t'); //获取页面类型传值 +var depotList = null; +var depotID = null; +var supplierList = null; +var supplierID = null; +var personList = null; +var personID = null; +var ProjectSearch=null; +var userBusinessList=null; +var userdepot=null; +var depotHeadMaxId=null; //获取最大的Id +var accepId=null; //保存的主表id +var url; +var depotHeadID = 0; +var preTotalPrice = 0; //前一次加载的金额 +var orgDepotHead = ""; +var editIndex = undefined; +var listTitle = ""; //单据标题 +var listType = ""; //入库 出库 +var listSubType = ""; //采购 销售等 +var payTypeTitle = "";//付款 收款 +var organUrl = ""; //组织数据接口地址 +var amountNum = ""; //单据编号开头字符 +var depotString = ""; //店铺id列表 +/**默认编号有意义吗,不如空着吧*/ +var orgDefaultId=''; //单位默认编号 +var orgDefaultList; //存储查询出来的会员列表 +var accountList; //账户列表 +var outItemList; //支出项目列表 +var thisTaxRate = 0; //当前税率,选择供应商或者客户的时候设置 +var oldNumber = ""; //编辑前的单据编号 +var oldId = 0; //编辑前的单据Id +var otherColumns = true; //明细中的‘别名’列是否显示 +var btnEnableList = getBtnStr(); //获取按钮的权限 +var mPropertyList = ""; //商品属性列表 +var defaultAccountId = 0; //默认账户id +$(function(){ + //初始化系统基础信息 + getType(); + initSystemData_UB(); + initSelectInfo_UB(); + initSystemData_depot(); + initSelectInfo_depot(); + initSystemData_person(); + initSelectInfo_person(); + initSystemData_account(); + initSelectInfo_account(); + initSupplier(); //供应商 + initSalesman(); //销售人员 + initOutItemList(); //初始化支出项目 + initMProperty(); //初始化商品属性 + initTableData(); + ininPager(); + initForm(); + bindEvent();//绑定操作事件 +}); +//根据单据名称获取类型 +function getType(){ + listTitle = $("#tablePanel").prev().text(); + depotString = "|"; + //改变宽度和高度 + $("#searchPanel").panel({width:webW-2}); + $("#tablePanel").panel({width:webW-2}); + var supUrl = "/supplier/findBySelect_sup"; //供应商接口 + var cusUrl = "/supplier/findBySelect_cus?UBType=UserCustomer&UBKeyId=" + kid; //客户接口 + var retailUrl = "/supplier/findBySelect_retail"; //散户接口 + if(listTitle === "采购订单列表"){ + listType = "其它"; + listSubType = "采购订单"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "CGDD"; + } + else if(listTitle === "采购入库列表"){ + listType = "入库"; + listSubType = "采购"; + payTypeTitle = "付款"; + organUrl = supUrl; + amountNum = "CGRK"; + } + else if(listTitle === "零售退货列表"){ + listType = "入库"; + listSubType = "零售退货"; //注:用预付款购买的产品不能退货 + payTypeTitle = "付款"; + organUrl = retailUrl; + amountNum = "LSTH"; + } + else if(listTitle === "销售退货列表"){ + listType = "入库"; + listSubType = "销售退货"; + payTypeTitle = "付款"; + organUrl = cusUrl; + amountNum = "XSTH"; + } + else if(listTitle === "其它入库列表"){ + listType = "入库"; + listSubType = "其它"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "QTRK"; + } + else if(listTitle === "零售出库列表"){ + listType = "出库"; + listSubType = "零售"; + payTypeTitle = "收款"; + organUrl = retailUrl; + amountNum = "LSCK"; + } + else if(listTitle === "销售订单列表"){ + listType = "其它"; + listSubType = "销售订单"; + payTypeTitle = "隐藏"; + organUrl = cusUrl; + amountNum = "XSDD"; + } + else if(listTitle === "销售出库列表"){ + listType = "出库"; + listSubType = "销售"; + payTypeTitle = "收款"; + organUrl = cusUrl; + amountNum = "XSCK"; + } + else if(listTitle === "采购退货列表"){ + listType = "出库"; + listSubType = "采购退货"; + payTypeTitle = "收款"; + organUrl = supUrl; + amountNum = "CGTH"; + } + else if(listTitle === "其它出库列表"){ + listType = "出库"; + listSubType = "其它"; + payTypeTitle = "隐藏"; + organUrl = cusUrl; + amountNum = "QTCK"; + } + else if(listTitle === "调拨出库列表"){ + listType = "出库"; + listSubType = "调拨"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "DBCK"; + } + else if(listTitle === "组装单列表"){ + listType = "其它"; + listSubType = "组装单"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "ZZD"; + } + else if(listTitle === "拆卸单列表"){ + listType = "其它"; + listSubType = "拆卸单"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "CXD"; + } +} +//初始化系统基础信息 +function initSystemData_UB(){ + $.ajax({ + type:"get", + url: "/userBusiness/getBasicData", + data: ({ + KeyId:kid, + Type:"UserDepot" + }), + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if (res && res.code === 200) { + userBusinessList = res.data.userBusinessList; + } + else { + userBusinessList = null; + } + } + }); + +} +//初始化页面选项卡 +function initSelectInfo_UB(){ + + if(userBusinessList !=null) + { + if(userBusinessList.length>0) + { + //用户对应的仓库列表 [1][2][3]... + userdepot =userBusinessList[0].value; + } + } +} + + +//初始化系统基础信息 +function initSystemData_depot(){ + $.ajax({ + type:"get", + url: "/depot/getAllList", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200){ + depotList = res.data; + } else { + $.messager.alert('提示', '查找系统基础信息异常,请与管理员联系!', 'error'); + return; + } + } + }); +} +//初始化页面选项卡 +function initSelectInfo_depot(){ + var options = ""; + + if(depotList !=null) + { + options = ""; + for(var i = 0 ;i < depotList.length;i++) + { + var depot = depotList[i]; + + if(userdepot!=null) + { + if(userdepot.indexOf("["+depot.id+"]")!=-1) + { + if(depot.isDefault){ + defDepotId = depot.id; + } + options += ''; + depotString = depotString + depot.id + ","; + } + } + if(depot.type === 1){ + depotString = depotString + depot.id + ","; + } + } + depotString = depotString.substring(1, depotString.length-1); + $("#ProjectId").empty().append(options); + $("#AllocationProjectId").empty().append(options); + $("#searchProjectId").empty().append('').append(options); + } +} + +//初始化供应商、客户、散户信息 +function initSupplier(){ + $('#OrganId').combobox({ + url: organUrl, + valueField:'id', + textField:'supplier', + filter: function(q, row){ + var opts = $(this).combobox('options'); + return row[opts.textField].indexOf(q) >-1; + }, + onLoadSuccess: function(res) { + var data = $(this).combobox('getData'); + for(var i = 0; i<= data.length; i++){ + if(data && data[i] && data[i].supplier === "非会员"){ + orgDefaultId = data[i].id; + } + } + if(listSubType === "零售"){ + orgDefaultList = res; + } + }, + onSelect: function(rec){ + if(listSubType === "零售"){ + var option = ""; + if(rec.supplier !== "非会员" && rec.advanceIn >0){ + option = ''; + option += ''; + } + else { + option += ''; + } + $("#payType").empty().append(option); + } + else{ + $.ajax({ + type:"get", + url: "/supplier/findById", + data: { + supplierId: rec.id + }, + dataType: "json", + success: function (res){ + if(res && res.code === 200) { + if(res.data && res.data[0]){ + thisTaxRate = res.data[0].taxRate; //设置当前的税率 + } + } + }, + error:function(){ + + } + }); + } + } + }); +} + +//初始化销售人员 +function initSalesman(){ + $('#Salesman').combobox({ + url: "/person/getPersonByNumType?type=1", + valueField:'id', + textField:'name', + multiple: true + }); +} + +//初始化收入项目列表 +function initOutItemList(){ + $.ajax({ + type:"get", + url: "/inOutItem/findBySelect?type=out", + //设置为同步 + async:false, + dataType: "json", + success: function (res){ + if(res){ + outItemList = res; + } + }, + error:function(){ + + } + }); +} + +//初始化商品属性 +function initMProperty(){ + $.ajax({ + type: "get", + url: "/materialProperty/list", + dataType: "json", + data: ({ + search: JSON.stringify({ + name: "" + }), + currentPage: 1, + pageSize: 100 + }), + success: function (res) { + if(res && res.code === 200){ + if(res.data && res.data.page) { + var thisRows = res.data.page.rows; + for (var i = 0; i < thisRows.length; i++) { + if (thisRows[i].enabled) { + mPropertyList += thisRows[i].nativeName + ","; + } + } + if (mPropertyList) { + mPropertyList = mPropertyList.substring(0, mPropertyList.length - 1); + } + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('查询提示','查询信息异常,请稍后再试!','error'); + return; + } + }); +} + +//初始化系统基础信息 +function initSystemData_person(){ + $.ajax({ + type:"get", + url: "/person/getAllList", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + personList = res.data.personList; + } + } + } + }); +} +//初始化页面选项卡 +function initSelectInfo_person(){ + var options1 = ""; + + if(personList !=null) + { + for(var i = 0 ;i < personList.length;i++) + { + var person = personList[i]; + if(0 == i) + { + personID = person.id; + } + if(person.type=="仓管员") + { + options1 += ''; + } + } + $("#HandsPersonId").empty().append(options1); + } +} +//获取账户信息 +function initSystemData_account(){ + $.ajax({ + type:"get", + url: "/account/getAccount", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + accountList = res.data.accountList; + } + } + } + }); +} +//获取账户信息 +function initSelectInfo_account(){ + var options = ""; + if(accountList !=null){ + options = ""; + options += ""; + for(var i = 0 ;i < accountList.length;i++) { + var account = accountList[i]; + options += ''; + if(account.isdefault) { + defaultAccountId = account.id; //给账户赋值默认id + } + } + $("#AccountId").empty().append(options); + } +} + +//防止表单提交重复 +function initForm(){ + $('#depotHeadFM').form({ + onSubmit: function(){ + return false; + } + }); +} + +//初始化表格数据 +function initTableData(){ + if(pageType === "skip") { + var oldRowInfo = sessionStorage.getItem("rowInfo"); + editDepotHead(oldRowInfo); //自动弹出编辑框,带缓存数据 + } + var hideType = undefined; + var isHiddenStatus = true; + if(payTypeTitle === "隐藏"){ + hideType = true; //隐藏当前列 + } + var tableToolBar = [ + { + id:'addDepotHead', + text:'增加', + iconCls:'icon-add', + handler:function() + { + addDepotHead(); + } + }, + { + id:'deleteDepotHead', + text:'删除', + iconCls:'icon-remove', + handler:function() + { + batDeleteDepotHead(); + } + } + ]; + //如果允许的按钮列表中存在就显示,3-代表审核|反审核的权限 + if(btnEnableList && btnEnableList.indexOf(3)>-1){ + isHiddenStatus = false; //显示 + tableToolBar.push({ + id:'okDepotHead', + text:'审核', + iconCls:'icon-ok', + handler:function() { + setStatusFun(); + } + }, + { + id:'undoDepotHead', + text:'反审核', + iconCls:'icon-undo', + handler:function() { + setUnStatusFun(); + } + }); + } + else { + isHiddenStatus = true; //隐藏 + } + var isShowLastMoneyColumn = false; //是否显示优惠后金额和价税合计,true为隐藏,false为显示 + if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowLastMoneyColumn = true; //隐藏 + } + var isShowOrganNameColumn = false; //是否显示供应商、客户等信息,true为隐藏,false为显示 + var organNameTitle = ""; //组织名称标题 + if(listSubType == "调拨" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowOrganNameColumn = true; //隐藏 + } + else { + if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "采购退货列表" || listTitle == "其它入库列表"){ + organNameTitle = "供应商名称"; + } + else if(listTitle == "销售订单列表" || listTitle == "销售退货列表" || listTitle == "销售出库列表" || listTitle == "其它出库列表"){ + organNameTitle = "客户名称"; + } + else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ + organNameTitle = "会员卡号"; + } + } + var opWidth = 90; //操作宽度 + var isShowSkip = false; //是否显示跳转按钮 + var opTitle = ""; //跳转按钮的标题 + if(listTitle == "采购订单列表") { + opWidth = 120; + isShowSkip = true; + opTitle = "转采购入库"; + } else if(listTitle == "销售订单列表") { + opWidth = 120; + isShowSkip = true; + opTitle = "转销售出库"; + } + $('#tableData').datagrid({ + height:heightInfo, + rownumbers: false, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + pagination: true, + //交替出现背景 + striped : true, + pageSize: 10, + pageList: initPageNum, + columns:[[ + { field: 'id',width:35,align:"center",checkbox:true}, + { title: '操作',field: 'op',align:"center",width:opWidth, + formatter:function(value, rec,index) { + var str = ''; + // var rowInfo = rec.id + 'AaBb' + rec.projectid+ 'AaBb' + rec.number+ 'AaBb' + rec.operpersonname + // + 'AaBb' + rec.opertimeStr+ 'AaBb' + rec.organid+ 'AaBb' + rec.handspersonid + // + 'AaBb' + rec.accountid+ 'AaBb' + rec.changeamount+ 'AaBb' + rec.remark + // + 'AaBb' + rec.projectName+ 'AaBb' + rec.organName+ 'AaBb' + rec.handsPersonName + // + 'AaBb' + rec.accountName + 'AaBb' + rec.totalprice + 'AaBb' + rec.allocationprojectid + // + 'AaBb' + rec.allocationProjectName + 'AaBb' + rec.paytype + 'AaBb' + rec.salesman + // + 'AaBb' + rec.discount + 'AaBb' + rec.discountmoney + 'AaBb' + rec.discountlastmoney + // + 'AaBb' + rec.accountidlist + 'AaBb' + rec.accountmoneylist + // + 'AaBb' + rec.othermoney + 'AaBb' + rec.othermoneylist + 'AaBb' + rec.othermoneyitem + // + 'AaBb' + rec.accountday + 'AaBb' + rec.linknumber; + // rowInfo = rowInfo.replace(/\"/g, ""); + // rowInfo = rowInfo.replace(/\[|]/g,""); + var orgId = rec.organid? rec.organid:0; + str += '   '; + str += '   '; + str += ''; + if(isShowSkip) { + str += '   '; + } + return str; + } + }, + { title: organNameTitle, field: 'organName',width:120, hidden:isShowOrganNameColumn}, + { title: '单据编号',field: 'number',width:135, formatter:function (value,rec) { + if(rec.linknumber) { + return value + "[转]"; + } else { + return value; + } + } + }, + { title: '商品信息',field: 'materialsList',width:180,formatter:function(value){ + if(value) { + return value.replace(",",","); + } + } + }, + { title: '单据日期',field: 'opertimeStr',width:130}, + { title: '操作员',field: 'operpersonname',width:60}, + { title: '金额合计',field: 'totalprice',width:60}, + { title: '含税合计',field: 'totaltaxlastmoney',hidden:isShowLastMoneyColumn,width:60,formatter:function(value,rec){ + return (rec.discountmoney + rec.discountlastmoney).toFixed(2); + } + }, + { title: '优惠后金额',field: 'discountlastmoney',hidden:isShowLastMoneyColumn,width:80}, + { title: payTypeTitle,field: 'changeamount',width:50,hidden:hideType}, + { title: '状态',field: 'status',hidden:isHiddenStatus, width:70,align:"center",formatter:function(value){ + if(value === "0") { + return "未审核"; + } else if(value === "1") { + return "已审核"; + } else if(value === "2") { + if(listTitle == "采购订单列表") { + return "已转采购"; + } else if(listTitle == "销售订单列表") { + return "已转销售"; + } + } + } + } + ]], + toolbar:tableToolBar, + onLoadError:function() { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); +} + +//查找库存的方法 +function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ + var thisRatio = 1; //比例 + $.ajax({ + url: "/material/findById", + type: "get", + dataType: "json", + data: { + id: mId + }, + success: function (rec) { + if(rec && rec.code === 200 && rec.data && rec.data[0]) { + var loadRatio = 1; //在单位输入框上面加载比例字段 + if(rec.data[0].unit) { //如果存在计量单位信息 + loadRatio = 1; + } + else{ + var unitName = rec.data[0].unitName; + if(unitName) { + thisRatio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); + unitName = unitName.substring(0, unitName.indexOf("(")); + } + var unitArr = unitName.split(","); + var basicUnit = unitArr[0]; //基础单位 + var otherUnit = unitArr[1]; //副单位 + var unitSetInput =""; //单位 + if(listSubType === "采购订单" || listSubType === "采购" || listSubType === "采购退货"){ + unitSetInput = rec.data[0].firstinunit; + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = thisRatio; + } + } + else if(listSubType === "销售订单" || listSubType === "销售" || listSubType === "销售退货" || listSubType === "零售" || listSubType === "零售退货"){ + unitSetInput = rec.data[0].firstoutunit; + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = thisRatio; + } + } + } + //查询库存 + $.ajax({ + type: "get", + url: '/depotItem/findStockNumById', + data:{ + projectId: depotId, + materialId: mId, + monthTime: monthTime, + currentPage: 1, + pageSize: 10 + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if (res.data && res.data.page && res.data.page[0]) { + var thisStock = res.data.page[0].thisSum; + if (type == "select") { //选择下拉框的时候 + if (ratio != undefined && ratio != 1) { + loadRatio = ratio; + } + } + else if (type == "click") { //点击库存的时候 + if (ratio != undefined) { + loadRatio = ratio; + } + } + thisStock = (thisStock / loadRatio).toFixed(2); + body.find("[field='Stock']").find(input).val(thisStock).attr("data-stock", res.data.page[0].thisSum); //加载库存数据 + } + else { + body.find("[field='Stock']").find(input).val(0).attr("data-stock", 0); //加载库存数据 + } + body.find("[field='Stock']").find(input).prop("readonly", "readonly"); //设置库存数据为只读 + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); + } + }, + error: function () { + $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); + } + }); +} +//优惠率、合计的统计方法 +function statisticsFun(body,UnitPrice,OperNumber,footer,taxRate){ + var TotalPrice = 0; + var taxLastMoneyTotal = 0; + //金额的合计 + body.find("[field='AllPrice']").each(function(){ + if($(this).find("div").text()!==""){ + TotalPrice = TotalPrice + parseFloat($(this).find("div").text().toString()); + } + }); + TotalPrice = TotalPrice + UnitPrice*OperNumber; + footer.find("[field='AllPrice']").find("div").text((TotalPrice).toFixed(2)); //金额的合计 + //价税合计的总计 + body.find("[field='TaxLastMoney']").each(function(){ + if($(this).find("div").text()!==""){ + taxLastMoneyTotal = taxLastMoneyTotal + (parseFloat($(this).find("div").text().toString())-0); + } + }); + taxLastMoneyTotal = taxLastMoneyTotal + (UnitPrice*OperNumber*(1+taxRate/100)); + footer.find("[field='TaxLastMoney']").find("div").text((taxLastMoneyTotal).toFixed(2)); //价税合计的页脚总计 + var discount = $("#Discount").val(); //优惠率 + var discountMoney = (taxLastMoneyTotal*discount/100).toFixed(2); + $("#DiscountMoney").val(discountMoney);//优惠金额 + var discountLastMoney = (taxLastMoneyTotal*(1-discount/100)).toFixed(2) + $("#DiscountLastMoney").val(discountLastMoney);//优惠后金额 + if($("#AccountId").val()!=="many"){ + $("#ChangeAmount").val(discountLastMoney); //本次付、收款 + } + var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 + $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 + + if(listSubType == "零售" || listSubType == "零售退货") { + $("#ChangeAmount, #getAmount").val((TotalPrice).toFixed(2)); + $("#backAmount").val(0); + } +} +//初始化表格数据-商品列表-编辑状态 +function initTableData_material(type,TotalPrice){ + var body,footer,input; //定义表格和文本框 + var ratio = 1; //比例-品名专用 + var ratioDepot = 1; //比例-仓库用 + var monthTime = getNowFormatMonth(); + var isShowAnotherDepot = true; //显示对方仓库,true为隐藏,false为显示 + var depotHeadName = ""; //仓库名称 + var depotUrl = ""; //仓库接口地址 + var depotTextField = ""; //仓库下拉名称 + var anotherDepotHeadName = ""; //对方仓库的列的标题 + var anotherDepotUrl = ""; //对方仓库接口地址 + var anotherDepotTextField = ""; + if(listSubType == "调拨"){ + isShowAnotherDepot = false; //调拨时候显示对方仓库 + anotherDepotHeadName = "调入仓库"; + anotherDepotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; + anotherDepotTextField = "depotName"; + } + depotHeadName = "仓库名称"; + depotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; + depotTextField = "depotName"; + var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 + if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowTaxColumn = true; //隐藏 + } + var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 + if(listSubType == "组装单" || listSubType == "拆卸单"){ + isShowMaterialTypeColumn = false; //显示 + } + $('#materialData').datagrid({ + height:245, + rownumbers: false, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + //单击行是否选中 + checkOnSelect : false, + pagination: false, + //交替出现背景 + striped : true, + showFooter: true, + //loadFilter: pagerFilter, + onClickRow: onClickRow, + columns:[[ + { field: 'Id',width:35,align:"center",checkbox:true}, + { title: '商品类型',field: 'MType',editor:'validatebox',hidden:isShowMaterialTypeColumn,width:80}, + { title: depotHeadName, field: 'DepotId', editor: 'validatebox', width: 90, + formatter: function (value, row, index) { + return row.DepotName; + }, + editor: { + type: 'combobox', + options: { + valueField: 'id', + textField: depotTextField, + method: 'get', + url: depotUrl, + onSelect:function(rec){ + var depotId = rec.id; + body =$("#depotHeadFM .datagrid-body"); + footer =$("#depotHeadFM .datagrid-footer"); + input = ".datagrid-editable-input"; + var mId = body.find("[field='MaterialId']").find(".combo-value").val(); + if(mId){ + var type = "select"; //type 类型:点击 click,选择 select + findStockNumById(depotId, mId, monthTime, body, input, ratioDepot, type); + } + } + } + } + }, + { title: '品名(型号)(扩展信息)(单位)',field: 'MaterialId',width:230, + formatter:function(value,row,index){ + return row.MaterialName; + }, + editor:{ + type:'combobox', + options:{ + valueField:'Id', + textField:'MaterialName', + method:'get', + url: "/material/findBySelect", + panelWidth: 300, //下拉框的宽度 + //全面模糊匹配,过滤字段 + filter: function(q, row){ + var opts = $(this).combobox('options'); + return row[opts.textField].indexOf(q) >-1; + }, + onBeforeLoad: function(param){ + param.mpList = mPropertyList; //商品属性 + }, + onSelect:function(rec){ + if(rec) { + var mId = rec.Id; + $.ajax({ + url: "/material/findById", + type: "get", + dataType: "json", + data: { + id: mId + }, + success: function (res) { + if(res && res.code === 200 && res.data && res.data[0]) { + var retailPrice = res.data[0].retailprice-0; //零售价格 + var presetPriceOne = res.data[0].presetpriceone-0; //预计采购价 + var presetPriceTwo = res.data[0].presetpricetwo-0; //批发价 + var firstInUnit = res.data[0].firstinunit; //首选入库单位 + var firstOutUnit = res.data[0].firstoutunit; //首选出库单位 + var basicPresetPriceOne = ""; //多单位-入库-基础价格 + var basicPresetPriceTwo = ""; //多单位-出库-基础价格 + var retailPriceOne = ""; //多单位-入库-零售价格 + var otherPresetPriceOne = ""; //多单位-入库-其他价格 + var otherPresetPriceTwo = ""; //多单位-出库-其他价格 + var retailPriceTwo = ""; //多单位-出库-零售价格 + var basicUnit = ""; //基础单位 + var otherUnit = ""; //其他单位 + if(!res.data[0].unit){ + var ps = res.data[0].pricestrategy; + var psObj = JSON.parse(ps); + basicPresetPriceOne = psObj[0].basic.PresetPriceOne-0; + basicPresetPriceTwo = psObj[0].basic.PresetPriceTwo-0; + retailPriceOne = psObj[0].basic.RetailPrice-0; + otherPresetPriceOne = psObj[1].other.PresetPriceOne-0; + otherPresetPriceTwo = psObj[1].other.PresetPriceTwo-0; + retailPriceTwo = psObj[1].other.RetailPrice-0; + basicUnit = psObj[0].basic.Unit; + otherUnit = psObj[1].other.Unit; + } + body =$("#depotHeadFM .datagrid-body"); + footer =$("#depotHeadFM .datagrid-footer"); + input = ".datagrid-editable-input"; + if(res.data[0].unit){ //如果存在计量单位信息 + ratio = 1; //重置比例为1 + body.find("[field='Unit']").find(input).val(res.data[0].unit); //设置-计量单位信息 + body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 + body.find("[field='Unit']").find(input).off("click"); //移除点击事件 + body.find("[field='Unit']").find(input).attr("data-ratio",ratio); //修改比例缓存信息 + } + else { + var unitName = res.data[0].unitName; + if(unitName) { + ratio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); //给比例赋值 + unitName = unitName.substring(0, unitName.indexOf("(")); + } + var unitArr = unitName.split(","); + var basicUnit = unitArr[0]; //基础单位 + var otherUnit = unitArr[1]; //副单位 + var unitSetInput =""; //单位 + body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 + var loadRatio = 1; //在单位输入框上面加载比例字段 + if(listSubType === "采购" || listSubType === "采购退货" || listSubType === "采购订单"){ + unitSetInput = res.data[0].firstinunit; //给单位文本框赋值 + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = ratio; + } + } + else if(listSubType === "销售" || listSubType === "销售退货" || listSubType === "销售订单" || listSubType === "零售" || listSubType === "零售退货"){ + unitSetInput = res.data[0].firstoutunit; //给单位文本框赋值 + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = ratio; + } + } + body.find("[field='Unit']").find(input).val(unitSetInput).attr("data-ratio", loadRatio); //设置-首选单位 + + body.find("[field='Unit']").find(input).off("click").on("click",function(){ + if(basicUnit && otherUnit) { + var self = this; + //定义模版 + var temp = "
"; + temp +="
    "; + temp +="
  • " + basicUnit + "
  • "; + temp +="
  • " + otherUnit + "
  • "; + temp +="
"; + temp +="
"; + if($('.unit-list').length){ + $('.unit-list').remove(); //如果存在计量单位列表先移除 + } + else { + $(self).after(temp); //加载列表信息 + } + //计量单位列表的单击事件 + $('.unit-list ul li').off("click").on("click",function(){ + var unit = $(this).text(); + var thisRatio = $(this).attr("data-ratio"); //获取比例 + $(self).val(unit).attr("data-ratio", thisRatio); + $(self).keyup(); //模拟键盘操作 + $('.unit-list').remove(); //移除计量单位列表 + var stock = body.find("[field='Stock']").find(input).attr("data-stock"); //从缓存中取值 + var type = $(this).attr("data-type"); + var UnitPrice = 0; + if(type === "basic"){ + if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { + UnitPrice = basicPresetPriceOne; + } + else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { + UnitPrice = basicPresetPriceTwo; + } + else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ + UnitPrice = retailPriceOne; + } + body.find("[field='Stock']").find(input).val(stock); //修改库存 + } + else if(type === "other"){ + if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { + UnitPrice = otherPresetPriceOne; + } + else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { + UnitPrice = otherPresetPriceTwo; + } + else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ + UnitPrice = retailPriceTwo; + } + body.find("[field='Stock']").find(input).val((stock/ratio).toFixed(2)); //修改库存 + } + body.find("[field='UnitPrice']").find(input).val(UnitPrice); //单价 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //获取数量 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //获取税率 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //点击空白处移除计量单位列表 + $(".datagrid-body").off("click").on("click",function(){ + $('.unit-list').remove(); //移除计量单位列表 + }); + } + }); + } + var detailPrice = 0; //明细列表-单价 + if(listSubType == "零售" || listSubType == "零售退货") { + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = retailPrice; + } + else { + if (firstOutUnit == basicUnit) { + detailPrice = retailPriceOne; + } + else if (firstOutUnit == otherUnit) { + detailPrice = retailPriceTwo; + } + } + } + else if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = presetPriceOne; + } + else { + if (firstInUnit == basicUnit) { + detailPrice = basicPresetPriceOne; + } + else if (firstInUnit == otherUnit) { + detailPrice = otherPresetPriceOne; + } + } + } + else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = presetPriceTwo; + } + else { + if(firstOutUnit==basicUnit) { + detailPrice = basicPresetPriceTwo; + } + else if(firstOutUnit==otherUnit){ + detailPrice = otherPresetPriceTwo; + } + } + } + body.find("[field='OperNumber']").find(input).val(1); //数量初始化为1 + //单价和总价赋值 + if(!detailPrice) { + detailPrice = 0; + } + body.find("[field='UnitPrice']").find(input).val(detailPrice); + body.find("[field='AllPrice']").find(input).val(detailPrice); + var taxRate = body.find("[field='TaxRate']").find(input).val()-0; //获取税率 + body.find("[field='TaxUnitPrice']").find(input).val((detailPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((detailPrice*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((detailPrice*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,detailPrice,1,footer,taxRate); + + //查询库存信息 + var depotId = body.find("[field='DepotId']").find(".combo-value").val(); + if(depotId) { + var type = "select"; //type 类型:点击 click,选择 select + findStockNumById(depotId, mId, monthTime, body, input, loadRatio, type); + } + } + }, + error: function() { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + } + }); + } + } + } + } + }, + { title: '库存',field: 'Stock',editor:'validatebox',width:70}, + { title: anotherDepotHeadName, field: 'AnotherDepotId',editor:'validatebox',hidden:isShowAnotherDepot,width:90, + formatter: function (value, row, index) { + return row.AnotherDepotName; + }, + editor: { + type: 'combobox', + options: { + valueField: 'id', + textField: anotherDepotTextField, + method: 'get', + url: anotherDepotUrl + } + } + }, + { title: '单位',field: 'Unit',editor:'validatebox',width:60}, + { title: '数量',field: 'OperNumber',editor:'validatebox',width:60}, + { title: '单价',field: 'UnitPrice',editor:'validatebox',width:60}, + { title: '含税单价',field: 'TaxUnitPrice',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '金额',field: 'AllPrice',editor:'validatebox',width:75}, + { title: '税率(%)',field: 'TaxRate',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '税额',field: 'TaxMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '价税合计',field: 'TaxLastMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '备注',field: 'Remark',editor:'validatebox',width:120}, + { title: '品名-别',field: 'OtherField1',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '型号-别',field: 'OtherField2',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '颜色-别',field: 'OtherField3',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '备注1',field: 'OtherField4',editor:'validatebox',hidden:true,width:60}, + { title: '备注2',field: 'OtherField5',editor:'validatebox',hidden:true,width:60} + ]], + toolbar:[ + { + id:'append', + text:'新增', + iconCls:'icon-add', + handler:function() + { + append(); //新增 + } + }, + { + id:'delete', + text:'删除', + iconCls:'icon-remove', + handler:function() + { + batchDel(); //删除 + } + }, + { + id:'reject', + text:'撤销', + iconCls:'icon-undo', + handler:function() + { + reject(); //撤销 + } + } + ], + onLoadError:function() + { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); + $.ajax({ + type:"get", + url: '/depotItem/getDetailList', + data: { + headerId: depotHeadID, + mpList: mPropertyList + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + var data = res.data; + var AllPrice = 0; + var TaxLastMoney = 0; + var DiscountMoney = $("#DiscountMoney").val()-0; //优惠金额 + var DiscountLastMoney = $("#DiscountLastMoney").val()-0; //优惠后金额 + if(type === "edit") { + AllPrice = TotalPrice; + TaxLastMoney = DiscountMoney + DiscountLastMoney; + } + var array = []; + array.push({ + "AllPrice": AllPrice, + "TaxLastMoney": TaxLastMoney + }); + data.footer = array; + $("#materialData").datagrid('loadData',data); + //如果是订单跳转到采购或销售 + if(pageType === "skip") { + var skipList = $("#depotHeadFM .datagrid-body tr"); + //逐条自动点击每行数据 + skipList.each(function (i) { + setTimeout(function () { + skipList.eq(i).find("[field='Stock']").click(); + },(i+1)*1000); + }); + } + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); +} + +//初始化表格数据-商品列表-查看状态 +function initTableData_material_show(TotalPrice){ + var isShowAnotherDepot = true; //显示对方仓库,true为隐藏,false为显示 + var anotherDepotHeadName = ""; //对方仓库的列的标题 + var depotHeadName = ""; //仓库的列的标题 + if(listSubType == "调拨"){ + isShowAnotherDepot = false; //调拨时候显示对方仓库 + anotherDepotHeadName = "调入仓库"; + } + depotHeadName = "仓库名称"; + var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 + if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowTaxColumn = true; //隐藏 + } + var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 + if(listSubType == "组装单" || listSubType == "拆卸单"){ + isShowMaterialTypeColumn = false; //显示 + } + $('#materialDataShow').datagrid({ + height:245, + rownumbers: true, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + pagination: false, + //交替出现背景 + striped : true, + showFooter: true, + onClickRow: onClickRow, + columns:[[ + { title: '商品类型',field: 'MType',width:80, hidden:isShowMaterialTypeColumn}, + { title: depotHeadName,field: 'DepotName',editor:'validatebox',width:90}, + { title: '品名(型号)(扩展信息)(单位)',field: 'MaterialName',width:230}, + { title: anotherDepotHeadName,field: 'AnotherDepotName',hidden:isShowAnotherDepot,width:90}, + { title: '单位',field: 'Unit',editor:'validatebox',width:60}, + { title: '数量',field: 'OperNumber',editor:'validatebox',width:60}, + { title: '单价',field: 'UnitPrice',editor:'validatebox',width:60}, + { title: '含税单价',field: 'TaxUnitPrice',editor:'validattebox',hidden:isShowTaxColumn,width:75}, + { title: '金额',field: 'AllPrice',editor:'validatebox',width:75}, + { title: '税率',field: 'TaxRate',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '税额',field: 'TaxMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '价税合计',field: 'TaxLastMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '备注',field: 'Remark',editor:'validatebox',width:120}, + { title: '品名-别',field: 'OtherField1',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '型号-别',field: 'OtherField2',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '颜色-别',field: 'OtherField3',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '备注1',field: 'OtherField4',editor:'validatebox',hidden:true,width:60}, + { title: '备注2',field: 'OtherField5',editor:'validatebox',hidden:true,width:60} + ]], + onLoadError:function() { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); + $.ajax({ + type:"get", + url: '/depotItem/getDetailList', + data: { + headerId: depotHeadID, + mpList: mPropertyList + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + var data = res.data; + var AllPrice = TotalPrice; + var DiscountMoney = $("#DiscountMoneyShow").text() - 0; //优惠金额 + var DiscountLastMoney = $("#DiscountLastMoneyShow").text() - 0; //优惠后金额 + var array = []; + array.push({ + "AllPrice": AllPrice, + "TaxLastMoney": DiscountMoney + DiscountLastMoney + }); + data.footer = array; + $("#materialDataShow").datagrid('loadData', data); + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); +} + +//分页信息处理 +function ininPager(){ + try + { + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + pager.pagination({ + onSelectPage:function(pageNum, pageSize) + { + opts.pageNumber = pageNum; + opts.pageSize = pageSize; + pager.pagination('refresh', + { + pageNumber:pageNum, + pageSize:pageSize + }); + showDepotHeadDetails(pageNum,pageSize); + } + }); + } + catch (e) + { + $.messager.alert('异常处理提示',"分页信息异常 : " + e.name + ": " + e.message,'error'); + } +} + +//删除单据信息 +function deleteDepotHead(depotHeadID, thisOrganId, totalPrice, status){ + if(status == "1" || status == "2") { + $.messager.alert('删除提示','已审核和已转的单据不能删除!','warning'); + return; + } + $.messager.confirm('删除确认','确定要删除此单据信息吗?',function(r) { + if (r) { + $.ajax({ + type:"post", + // url: "/depotHead/" + depotHeadID + "/delete", + url: "/depotHead/deleteDepotHeadAndDetail", + dataType: "json", + data:{ + id: depotHeadID + }, + success: function (res) { + if(res && res.code == 200) { + $("#searchBtn").click(); + } else { + $.messager.alert('删除提示', '删除单据信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('删除提示','删除单据信息异常,请稍后再试!','error'); + return; + } + }); + + //更新会员的预收款信息 + if(listSubType === "零售") { + $.ajax({ + type:"post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data:{ + supplierId: thisOrganId, //会员id + advanceIn: totalPrice //删除时同时返还用户的预付款 + }, + success: function(res){ + if(res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function(){ + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + } + }); +} + +//订单转采购或销售 +function skipDepotHead(index, status){ + //获取当前行 + var rowsdata = $("#tableData").datagrid("getRows")[index]; + if(status == "0" || status == "2") { + $.messager.alert('提示','未审核和已转的单据禁止操作!','warning'); + } else { + sessionStorage.setItem("rowInfo", JSON.stringify(rowsdata)); //将单据信息存入缓存中 + if(listTitle == "采购订单列表") { + parent.addTab("订单转采购", "../materials/purchase_in_list.html?t=skip", ""); + } else if(listTitle == "销售订单列表") { + parent.addTab("订单转销售", "../materials/sale_out_list.html?t=skip", ""); + } + } +} + +//批量删除单据信息 +function batDeleteDepotHead(){ + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) + { + $.messager.alert('删除提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) + { + $.messager.confirm('删除确认','确定要删除选中的' + row.length + '条单据信息吗?',function(r) + { + if (r) { + var ids = ""; + for (var i = 0; i < row.length; i++) { + if (i == row.length - 1) { + if (row[i].status == 0) { + ids += row[i].id; + } + break; + } + ids += row[i].id + ","; + } + if (ids) { + //批量更新会员的预收款信息 + for (var i = 0; i < row.length; i++) { + if (listSubType === "零售") { + $.ajax({ + type: "post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data: { + supplierId: row[i].organid, //会员id + advanceIn: row[i].totalprice //删除时同时返还用户的预付款 + }, + success: function (res) { + if (res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function () { + $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); + return; + } + }); + } + } + //批量删除 + $.ajax({ + type: "post", + // url: "/depotHead/batchDelete", + url: "/depotHead/batchDeleteDepotHeadAndDetail", + dataType: "json", + async: false, + data: ({ + ids: ids + }), + success: function (res) { + if (res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('删除提示', '删除单据信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('删除提示', '删除单据信息异常,请稍后再试!', 'error'); + return; + } + }); + } else { + $.messager.alert('删除提示','没有能删除的单据!','warning'); + } + } + }); + } +} + +//批量审核 +function setStatusFun() { + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) { + $.messager.alert('审核提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) { + $.messager.confirm('审核确认','确定要审核选中的' + row.length + '条信息吗?',function(r) + { + if (r) + { + var ids = ""; + for(var i = 0;i < row.length; i ++) + { + if(i == row.length-1) + { + if(row[i].status != "2") { + ids += row[i].id; + } + break; + } + ids += row[i].id + ","; + } + if(ids) { + $.ajax({ + type:"post", + url: "/depotHead/batchSetStatus", + dataType: "json", + async : false, + data: ({ + status: "1", + depotHeadIDs : ids + }), + success: function (res) { + if(res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('审核提示', '审核信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('审核提示','审核信息异常,请稍后再试!','error'); + return; + } + }); + } else { + $.messager.alert('审核提示','没有能审核的单据!','warning'); + } + } + }); + } +} + +//批量反审核 +function setUnStatusFun() { + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) + { + $.messager.alert('反审核提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) + { + $.messager.confirm('反审核确认','确定要反审核选中的' + row.length + '条信息吗?',function(r) + { + if (r) + { + var ids = ""; + for(var i = 0;i < row.length; i ++) + { + if(i == row.length-1) + { + if(row[i].status != "2") { + ids += row[i].id; + } + break; + } + ids += row[i].id + ","; + } + if(ids) { + $.ajax({ + type: "post", + url: "/depotHead/batchSetStatus", + dataType: "json", + async: false, + data: ({ + status: "0", + depotHeadIDs: ids + }), + success: function (res) { + if (res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('反审核提示', '反审核信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('反审核提示', '反审核信息异常,请稍后再试!', 'error'); + return; + } + }); + } else { + $.messager.alert('反审核提示','没有能反审核的单据!','warning'); + } + } + }); + } +} + +//生成单据编号 +function buildNumber() { + $.ajax({ + type: "get", + url: "/depotHead/buildNumber", + success:function(res){ + if(res && res.code === 200){ + var obj = res.data; + var defaultNumber = obj.DefaultNumber; + var newNumber = amountNum + defaultNumber; + $("#Number").val(newNumber).attr("data-defaultNumber",newNumber); + } + }, + error:function(){ + $.messager.alert('提示','生成单据编号失败!','error'); + } + }); +} + +//新增信息 +function addDepotHead(){ + $('#depotHeadFM').form('clear'); + var thisDateTime = getNowFormatDateTime(); //当前时间 + $("#OperTime").val(thisDateTime); + buildNumber(); //生成单据编号 + //初始化优惠率、优惠金额、优惠后金额、本次付|收款、本次欠款 为0 + $("#Discount").val(0); + $("#DiscountMoney").val(0); + $("#DiscountLastMoney").val(0); + $("#ChangeAmount").val(0); + $("#Debt").val(0); + $("#AccountId").val(defaultAccountId); //初始化默认的账户Id + var addTitle = listTitle.replace("列表","信息"); + $('#depotHeadDlg').dialog('open').dialog('setTitle',' 增加' + addTitle); + $(".window-mask").css({ width: webW ,height: webH}); + + orgDepotHead = ""; + depotHeadID = 0; + initTableData_material("add"); //商品列表 + reject(); //撤销下、刷新商品列表 + $("#addOrgan").off("click").on("click",function(){ + $('#supplierDlg').dialog('open').dialog('setTitle',' 增加供应商信息'); + $('#supplierFM').form('clear'); + }); + + $("#addMember").off("click").on("click",function(){ + $('#supplierDlg').dialog('open').dialog('setTitle',' 增加会员信息'); + $('#supplierFM').form('clear'); + }); + $("#addCustomer").off("click").on("click",function(){ + $('#supplierDlg').dialog('open').dialog('setTitle',' 增加客户信息'); + $('#supplierFM').form('clear'); + }); + url = '/depotHead/addDepotHeadAndDetail'; + + //零售单据修改收款时,自动计算找零 + if(listSubType == "零售" || listSubType == "零售退货") { + $("#payType").val("现付"); + $("#OrganId").combobox("setValue", orgDefaultId); //自动默认选择非会员 + // 鼠标点下时清空选择项 + $("#OrganId").next().find("input").off("mousedown").on("mousedown",function(){ + $("#OrganId").combobox("setValue", ""); + }); + //当会员卡号长度超过10位后,自动点击下拉框,用于兼容刷卡器 + $("#OrganId").next().find("input").off("keyup").on("keyup",function(){ + var self = this; + if($(this).val().length === 10){ + setTimeout(function(){ + $(".combo-panel .combobox-item-selected").click(); + //更新付款类型,加载会员的预付款的金额 + for(var i=0; i0){ + option = ''; + option += ''; + } + else { + option += ''; + } + $("#payType").empty().append(option); + } + } + },1000); + } + }); + var getAmount = $("#depotHeadFM .get-amount"); + var changeAmount = $("#depotHeadFM .change-amount"); + var backAmount = $("#depotHeadFM .back-amount"); + getAmount.val(0); changeAmount.val(0); backAmount.val(0); //时间初始化 + getAmount.off("keyup").on("keyup",function() { + if(changeAmount.val()){ + backAmount.val((getAmount.val()-changeAmount.val()).toFixed(2)); + } + }); + } +} + +//编辑信息 +function editDepotHead(index, status){ + if(status == "1" || status == "2") { + $.messager.alert('编辑提示','已审核和已转的单据不能编辑!','warning'); + return; + } + // var depotHeadInfo = depotHeadTotalInfo.split("AaBb"); + //获取当前行 + var rowsdata =''; + if(Number(index).toString()=='NaN'){ + rowsdata=$.parseJSON(index); + }else{ + rowsdata=$("#tableData").datagrid("getRows")[index]; + } + $("#ProjectId").focus().val(rowsdata.projectid); + var ProjectId=rowsdata.projectid; + if(ProjectId!='') { + initSystemData_person(ProjectId); + initSelectInfo_person(); + } + var TotalPrice = rowsdata.totalprice; //合计金额 + if(pageType === "skip") { //从订单跳转过来 + buildNumber(); //生成单据编号 + var thisDateTime = getNowFormatDateTime(); //当前时间 + $("#OperTime").val(thisDateTime); + $("#LinkNumber").val(rowsdata.number); //关联订单号 + $("#AccountId").val(defaultAccountId); //初始化默认的账户Id + $("#DiscountLastMoney").val(TotalPrice); //优惠后金额 + $("#ChangeAmount").val(TotalPrice).attr("data-changeamount", TotalPrice); + } else { + $("#Number").val(rowsdata.number).attr("data-defaultNumber",rowsdata.number); + $("#OperTime").val(rowsdata.opertimeStr); + $("#LinkNumber").val(rowsdata.linknumber==undefined?"":rowsdata.linknumber); //关联订单号 + $("#AccountId").val(rowsdata.accountid); //账户Id + $("#DiscountLastMoney").val(rowsdata.discountlastmoney==undefined?"0.00":rowsdata.discountlastmoney); //优惠后金额 + $("#ChangeAmount").val(rowsdata.changeamount).attr("data-changeamount", rowsdata.changeamount); + } + $('#OrganId').combobox('setValue', rowsdata.organid==undefined?'':rowsdata.organid); + $("#HandsPersonId").val(rowsdata.handspersonid); + $("#Remark").val(rowsdata.remark); + $("#Discount").val(rowsdata.discount==undefined?"0":rowsdata.discount); + $("#DiscountMoney").val(rowsdata.discountmoney==undefined?"0.00":rowsdata.discountmoney); + $("#Debt").val(Number((rowsdata.discountlastmoney==undefined?'0.00':rowsdata.discountlastmoney-rowsdata.changeamount)).toFixed(2)); + $("#AccountDay").val(rowsdata.accountday==undefined?"":rowsdata.accountday); //结算天数 + preTotalPrice = rowsdata.totalprice; //记录前一次合计金额,用于扣预付款 + $("#AllocationProjectId").val(rowsdata.allocationprojectid); + oldNumber = rowsdata.number; //记录编辑前的单据编号 + oldId = rowsdata.id; //记录单据Id + var editTitle = listTitle.replace("列表","信息"); + $('#depotHeadDlg').dialog('open').dialog('setTitle',' 编辑' + editTitle); + $(".window-mask").css({ width: webW ,height: webH}); + depotHeadID = rowsdata.id; + + if(listSubType == "零售"){ + var option = ""; + if(rowsdata.paytype == "预付款"){ + option = ''; + option += ''; + } + else { + option += ''; + } + $("#payType").empty().append(option); + } + + if(listSubType == "销售" || listSubType == "销售退货"){ + if(rowsdata.salesman){ + var arr = rowsdata.salesman.split(","); + var salesmanArray = []; + for(var i=0;i","")); + } + } + $("#Salesman").combobox('setValues', salesmanArray); + } + } + + //采购入库、销售出库的多账户加载 + if(rowsdata.accountidlist!=undefined && rowsdata.accountmoneylist!=undefined){ + $("#AccountId").val("many"); //下拉框选中多账户 + var accountArr = rowsdata.accountidlist.split(","); + var accountMoneyArr = rowsdata.accountmoneylist.split(","); + accountMoneyArr = changeListFmtPlus(accountMoneyArr) //将数组单个金额中的数值转为正数 + + if(listSubType == "零售" || listSubType == "零售退货") { + var manyAccountMoney = 0; //多账户合计-零售 + for (var j = 0; j < accountArr.length; j++) { + if (accountList != null) { + for (var i = 0; i < accountList.length; i++) { + var account = accountList[i]; + if (accountArr[j] == account.id) { + manyAccountMoney += accountMoneyArr[j] - 0; //多账户合计-零售 + } + } + } + } + $("#getAmount").val(manyAccountMoney); //收款金额、付款金额 + var changeAmount = $("#ChangeAmount").val()-0; + $("#backAmount").val((manyAccountMoney-changeAmount).toFixed(2)); //找零 + } + + $("#AccountId").attr("data-accountArr", JSON.stringify(accountArr)).attr("data-accountMoneyArr", JSON.stringify(accountMoneyArr)); //json数据存储 + $(".many-account-ico").show(); //显示多账户的ico图标 + } + + //采购入库、销售出库的费用数据加载 + if(rowsdata.othermoneylist &&rowsdata.othermoneyitem){ + $("#OtherMoney").val(rowsdata.othermoney==undefined?"0":rowsdata.othermoney); //采购费用、销售费用 + var itemArr = rowsdata.othermoneylist.split(","); + var itemMoneyArr = rowsdata.othermoneyitem.split(","); + $("#OtherMoney").attr("data-itemArr",JSON.stringify(itemArr)).attr("data-itemMoneyArr",JSON.stringify(itemMoneyArr)); //json数据存储 + } + + initTableData_material("edit",TotalPrice); //商品列表 + reject(); //撤销下、刷新商品列表 + if(pageType === "skip") { + url = '/depotHead/addDepotHeadAndDetail'; //如果是从订单跳转过来,则此处为新增的接口 + //jshjshjsh + $("#depotHeadFM .datagrid-body").find("[field='DepotId']").click(); + } else { + url = '/depotHead/updateDepotHeadAndDetail?id=' + rowsdata.id; //更新接口 + } +} + +//查看信息 +function showDepotHead(index){ + // var depotHeadInfo = depotHeadTotalInfo.split("AaBb"); + //获取当前行 + var rowsdata = $("#tableData").datagrid("getRows")[index]; + var manyAccountMoney = 0; //多账户合计-零售 + $("#ProjectIdShow").text(rowsdata.projectName); + $("#NumberShow").text(rowsdata.number); + $("#OperTimeShow").text(rowsdata.opertimeStr); + $('#OrganIdShow').text(rowsdata.organName==undefined?'':rowsdata.organName); + $("#HandsPersonIdShow").text(rowsdata.handsPersonName); + if(rowsdata.accountName && rowsdata.accountName!=undefined){ + $("#AccountIdShow").text(rowsdata.accountName); //结算账户 + } else { + var accountArr = (rowsdata.accountidlist==undefined?"":rowsdata.accountidlist).split(","); //账户id列表 + var accountMoneyArr =(rowsdata.accountmoneylist==undefined?"":rowsdata.accountmoneylist).split(","); //账户金额列表 + var accountIdShow = ""; + for(var j =0;j 查看' + showTitle); + $(".window-mask").css({ width: webW ,height: webH}); + + depotHeadID = rowsdata.id; + initTableData_material_show(TotalPrice); //商品列表-查看状态 + + //零售单据展示数据 + if(listSubType == "零售" || listSubType == "零售退货"){ + var changeAccount = $("#depotHeadDlgShow .change-amount-show").text() -0; + if(manyAccountMoney!==0){ + $("#depotHeadDlgShow .get-amount-show").text((manyAccountMoney).toFixed(2)); + $("#depotHeadDlgShow .back-amount-show").text((manyAccountMoney -changeAccount).toFixed(2)); + } + else { + $("#depotHeadDlgShow .get-amount-show").text((changeAccount).toFixed(2)); + $("#depotHeadDlgShow .back-amount-show").text(0); + } + } + if(listSubType === "销售" || listSubType === "销售退货"){ + if(rowsdata.salesman){ + var arr = rowsdata.salesman.split(","); + var salesmanStr = ""; + for(var i=0;i",""); + } + else { + salesmanStr += arr[i].replace("<","").replace(">","") + ","; + } + } + } + $.ajax({ + type: "get", + url: "/person/getPersonByIds", + data: { + personIDs: salesmanStr + }, + success:function(res){ + if(res && res.code === 200){ + if(res.data) { + $("#SalesmanShow").text(res.data.names); //销售人员列表 + } + } + }, + error:function(){ + + } + }); + } + } +} + +//绑定操作事件 +function bindEvent(){ + showDepotHeadDetails(1,initPageSize); //初始化时自动查询 + //搜索处理 + $("#searchBtn").off("click").on("click",function(){ + showDepotHeadDetails(1,initPageSize); + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + opts.pageNumber = 1; + opts.pageSize = initPageSize; + pager.pagination('refresh', + { + pageNumber:1, + pageSize:initPageSize + }); + }); + + //重置按钮 + $("#searchResetBtn").unbind().bind({ + click:function(){ + //$("#searchProjectId").val(""); + $("#searchState").val(""); + $("#searchBeginTime").val(""); + $("#searchEndTime").val(""); + //加载完以后重新初始化 + $("#searchBtn").click(); + } + }); + + //检查单据编号是否存在 + function checkDepotHeadNumber() { + var thisNumber = $.trim($("#Number").val()); + //表示是否存在 true == 存在 false = 不存在 + var flag = false; + //开始ajax名称检验,不能重名 + if(thisNumber.length > 0 &&( oldNumber.length ==0 || thisNumber != oldNumber)) + { + $.ajax({ + type:"get", + url: "/depotHead/checkIsNumberExist", + dataType: "json", + async : false, + data: ({ + DepotHeadID : oldId, + Number : thisNumber + }), + success: function (tipInfo) + { + flag = tipInfo; + if(tipInfo) + { + $.messager.alert('提示','抱歉,该单据编号已经存在','warning'); + return; + } + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','检查单据编号是否存在异常,请稍后再试!','error'); + return; + } + }); + } + return flag; + } + //保存信息 + /** + * 2019-01-25 + * 我对这个方法的实现结果存在严重怀疑,决定重构 + * 有如下疑点: + * 1、保存完主表,返回结果后,再发起请求去操作子表,如何保证事务的一致性(业务数据一致性) + * 2、保存完主表后,再通过selectmax的方式去获取主表主键id完全就是看人品的不可靠的思路 + * 修改计划: + * 2019-01-25修改零售出库相关操作 + * 修改方式,重写url,将主从表操作合并 + * + * + * **/ + $("#saveDepotHead").off("click").on("click",function(){ + if(!$('#depotHeadFM').form('validate')){ + return; + } + else { + //如果初始编号被修改了,就要判断单据编号是否存在 + if($.trim($("#Number").val()) != $('#Number').attr("data-defaultNumber")){ + //调用查询单据编号是否重名的方法 + if(checkDepotHeadNumber()){ + return; + } + } + //输入框提示 + if(listTitle === "采购订单列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择供应商!','warning'); + return; + } + } + else if(listTitle === "采购入库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择供应商!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择结算账户!','warning'); + return; + } + } + else if(listTitle === "零售退货列表"){ + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择付款账户!','warning'); + return; + } + if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { + $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); + return; + } + } + else if(listTitle === "销售退货列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择退货单位!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择付款账户!','warning'); + return; + } + } + else if(listTitle === "其它入库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择往来单位!','warning'); + return; + } + } + else if(listTitle === "零售出库列表"){ + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择收款账户!','warning'); + return; + } + if($("#backAmount").val()-0 <0){ + $.messager.alert('提示','找零金额不能小于0!','warning'); + return; + } + if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { + $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); + return; + } + + } + else if(listTitle === "销售订单列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择购买单位!','warning'); + return; + } + } + else if(listTitle === "销售出库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择购买单位!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择收款账户!','warning'); + return; + } + } + else if(listTitle === "采购退货列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择收货单位!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择收款账户!','warning'); + return; + } + } + else if(listTitle === "其它出库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择往来单位!','warning'); + return; + } + } + else if(listTitle === "调拨出库列表"){ + + } + //进行明细的校验 + if(depotHeadID ==0) { + //新增模式下 + if (!CheckData("add")) { + return; + } + } + else { + //编辑模式下 + if (!CheckData("edit")) { + return; + } + } + var OrganId = null, ProjectId = null,AllocationProjectId = null; + var ChangeAmount = $.trim($("#ChangeAmount").val())-0; + var TotalPrice = $("#depotHeadFM .datagrid-footer [field='AllPrice'] div").text(); + if($('#OrganId').length){ + OrganId = $('#OrganId').combobox('getValue'); + } + var accountMoneyList = $("#AccountId").attr("data-accountmoneyarr"); //账户金额列表-多账户 + var accountMoneyArr; + if(accountMoneyList) { + accountMoneyList = accountMoneyList.replace("[","").replace("]","").toString(); + var reg=new RegExp("\"","g"); //创建正则RegExp对象 + accountMoneyList = accountMoneyList.replace(reg,""); //替换所有的双引号 + accountMoneyArr = accountMoneyList.split(","); //转为数组 + } + if(listSubType === "采购订单"||listSubType === "采购"||listSubType === "零售退货"||listSubType === "销售退货"){ + //付款为负数 + ChangeAmount = 0 - ChangeAmount; + TotalPrice = 0 - TotalPrice; + if(accountMoneyArr) { + accountMoneyArr = changeListFmtMinus(accountMoneyArr); //将数组单个金额中的数值转为负数 + } + } + //零售时候,可以从会员预付款中扣款 + var thisPayType = "现付"; + if(listSubType === "零售") { + if($("#payType").val() ==="预付款") { + thisPayType = "预付款"; + } + } + var SalesmanStr = ""; + if(listSubType === "销售" || listSubType === "销售退货"){ + var Salesman = $('#Salesman').combobox('getValues').toString(); //销售人员 + if(Salesman) { + var SalesmanArray = Salesman.split(","); + for (var i = 0; i < SalesmanArray.length; i++) { + if (i === SalesmanArray.length - 1) { + SalesmanStr += "<" + SalesmanArray[i] + ">"; + } + else { + SalesmanStr += "<" + SalesmanArray[i] + ">,"; + } + } + } + } + var getAccountID = $.trim($("#AccountId").val()); + if($("#AccountId").val() === "many"){ //多账户 + getAccountID = null; + } + var infoStr=JSON.stringify({ + Type: listType, + SubType: listSubType, + ProjectId: ProjectId, + AllocationProjectId: AllocationProjectId, + DefaultNumber: $.trim($("#Number").attr("data-defaultNumber")),//初始编号 + Number: $.trim($("#Number").val()), + LinkNumber: $.trim($("#LinkNumber").val()), + OperTime: $("#OperTime").val(), + OrganId: OrganId, + HandsPersonId: $.trim($("#HandsPersonId").val()), + Salesman: SalesmanStr, //销售人员 + AccountId: getAccountID, + ChangeAmount: ChangeAmount, //付款/收款 + TotalPrice: TotalPrice, //合计 + PayType: thisPayType, //现付/预付款 + Remark: $.trim($("#Remark").val()), + AccountIdList: $("#AccountId").attr("data-accountarr"), //账户列表-多账户 + AccountMoneyList: accountMoneyArr ? JSON.stringify(accountMoneyArr) : "", //账户金额列表-多账户 + Discount: $.trim($("#Discount").val()), + DiscountMoney: $.trim($("#DiscountMoney").val()), + DiscountLastMoney: $.trim($("#DiscountLastMoney").val()), + OtherMoney: $.trim($("#OtherMoney").val()), //采购费用、销售费用 + OtherMoneyList: $("#OtherMoney").attr("data-itemarr"), //支出项目列表-涉及费用 + OtherMoneyItem: $("#OtherMoney").attr("data-itemmoneyarr"), //支出项目金额列表-涉及费用 + AccountDay: $("#AccountDay").val() //结算天数 + }); + /** + * 零售出库,单独操作 + * */ + if(url.indexOf("/depotHead/addDepotHeadAndDetail")>=0){ + addDepotHeadAndDetail(url,infoStr); + return; + }else if(url.indexOf("/depotHead/updateDepotHeadAndDetail")>=0){ + updateDepotHeadAndDetail(url,infoStr,preTotalPrice); + return; + } + $.ajax({ + type:"post", + url: url, + dataType: "json", + async : false, + data: ({ + info:infoStr + }), + success: function (tipInfo) + { + if(tipInfo) + { + function closeDialog(){ + $('#depotHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showDepotHeadDetails(opts.pageNumber,opts.pageSize); + } + + if(thisPayType === "预付款") { + //更新用户信息-预付款 + var advanceIn = 0; //预付款金额 + if(depotHeadID){ + advanceIn = TotalPrice - preTotalPrice; //修改时,预付款=合计金额-加载金额 + } + else{ + advanceIn = TotalPrice; //新增时,预付款=合计金额 + } + $.ajax({ + type:"post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data:{ + supplierId: OrganId, //会员id + advanceIn: 0 - advanceIn //保存的同时扣掉用户的预付款 + }, + success: function(res){ + if(res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function(){ + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + + //保存明细记录 + if(depotHeadID ==0) + { + getMaxId(); //查找最大的Id + accept(depotHeadMaxId,closeDialog); //新增 + } + else + { + accept(depotHeadID,closeDialog); //修改 + } + } + else + { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + }); + + //打印单据 + $("#printDepotHeadShow").off("click").on("click",function(){ + var tableString = $("#depotHeadDlgShow").html(); + localStorage.setItem("tableString",tableString); + window.open("../../js/print/print_form.html","location:No;status:No;help:No;dialogWidth:800px;dialogHeight:600px;scroll:auto;"); + }); + + //初始化键盘enter事件 + $(document).keydown(function(event){ + //兼容 IE和firefox 事件 + var e = window.event || event; + var k = e.keyCode||e.which||e.charCode; + //兼容 IE,firefox 兼容 + var obj = e.srcElement ? e.srcElement : e.target; + //绑定键盘事件为 id是指定的输入框才可以触发键盘事件 13键盘事件 ---遗留问题 enter键效验 对话框会关闭问题 + if(k == "13"&&(obj.id=="State"||obj.id=="Number")) + { + $("#saveDepotHead").click(); + } + //搜索按钮添加快捷键 + if(k == "13"&&(obj.id=="searchState"||obj.id=="searchNumber"||obj.id=="searchMaterial")) + { + $("#searchBtn").click(); + } + }); + + //优惠率输入框事件 + $("#Discount").off("keyup").on("keyup",function(){ + var footer =$("#depotHeadFM .datagrid-footer"); + var totalPrice = footer.find("[field='TaxLastMoney']").find("div").text(); + var discountNum = $(this).val(); + var discountMoney = (discountNum/100*totalPrice).toFixed(2); + var discountLastMoney = (totalPrice - discountMoney).toFixed(2); + $("#DiscountMoney").val(discountMoney); //优惠金额 + $("#DiscountLastMoney").val(discountLastMoney); //优惠后金额 + if($("#AccountId").val()!=="many"){ + $("#ChangeAmount").val(discountLastMoney); //本次付、收款 + } + var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 + $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 + }); + + //优惠金额输入框事件 + $("#DiscountMoney").off("keyup").on("keyup",function(){ + var footer =$("#depotHeadFM .datagrid-footer"); + var totalPrice = footer.find("[field='TaxLastMoney']").find("div").text(); + var discountMoney = $(this).val(); + var discount = (discountMoney/totalPrice).toFixed(2)*100; + var discountLastMoney = (totalPrice - discountMoney).toFixed(2); + $("#Discount").val(discount); //优惠金额 + $("#DiscountLastMoney").val(discountLastMoney); //优惠后金额 + if($("#AccountId").val()!=="many"){ + $("#ChangeAmount").val(discountLastMoney); //本次付、收款 + } + var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 + $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 + }); + + //付款、收款输入框事件 + $("#ChangeAmount").off("keyup").on("keyup",function(){ + var discountLastMoney = $("#DiscountLastMoney").val(); + var changeAmount = $(this).val(); + var debtMoney = (discountLastMoney - changeAmount).toFixed(2); + $("#Debt").val(debtMoney); //本次欠款 + }); + + //多账户结算窗口弹出事件 + function depotHeadAccountDlgFun(){ + $('#depotHeadAccountDlg').dialog('open').dialog('setTitle',' 多账户结算'); + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").remove(); //先移除输入栏目 + $("#accountMoneyTotalDlg").text(0); //将合计初始化为0 + for(var i=0; i<6; i++) { + $("#depotHeadAccountDlg .tabs-tmp .account-content-tmp").attr("data-index",5-i); //添加索引 + var contentTmp = $("#depotHeadAccountDlg .tabs-tmp tbody").html(); + var accountDlgHead = $("#depotHeadAccountDlg .account-head-tmp"); + accountDlgHead.after(contentTmp); + } + + //获取账户信息 + function accountDlgFun() { + var options = ""; + if(accountList !=null){ + for(var i = 0 ;i < accountList.length;i++) { + var account = accountList[i]; + options += ''; + } + $(".account-id-dlg").empty().append("").append(options); + } + } + accountDlgFun(); //获取账户信息 + $("#depotHeadAccountDlg .tabs-tmp").hide(); //隐藏模板 + + //账户金额输入框事件-多账户 + $("#depotHeadAccountDlg .account-dlg .account-money-dlg").off("keyup").on("keyup",function(){ + var totalAccoutNum = 0; + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){ + var eachAccountMoney = $(this).find(".account-money-dlg").val()-0; + totalAccoutNum += eachAccountMoney; + }); + $("#accountMoneyTotalDlg").text(totalAccoutNum); + }); + + //结算多账户列表的切换事件 + $("#depotHeadAccountDlg .account-dlg .account-id-dlg").off("change").on("change",function(){ + var selectAccount = $(this).children('option:selected').text(); + if(selectAccount === ""){ + var thisMoneyDom = $(this).closest(".account-content-tmp").find(".account-money-dlg"); + var thisMoney = thisMoneyDom.val()-0; + var accountMoneyTotal = $("#accountMoneyTotalDlg").text() - 0; + $("#accountMoneyTotalDlg").text(accountMoneyTotal - thisMoney); + thisMoneyDom.val(""); //账户为空时候,将金额也置为空 + } + }); + + //保存按钮事件 + $("#saveDepotHeadAccountDlg").off("click").on("click", function(){ + //完成多账户的json数据存储 + var accountArr = []; //账户id数组 + var accountMoneyArr = []; //账户金额数组 + var errorIndex = -1; + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){ + var thisAccId = $(this).find(".account-id-dlg").val(); + var thisAccMoney = $(this).find(".account-money-dlg").val(); + if(!thisAccId && thisAccMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisAccId && !thisAccMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisAccId && thisAccMoney) { + accountArr.push(thisAccId); + accountMoneyArr.push(thisAccMoney); + } + }); + if(errorIndex >-1){ + $.messager.alert('错误提示',"第" + (errorIndex+1) + "行数据存在问题,请修改",'warning'); + return; + } + var discountLastMoneyNum =$("#DiscountLastMoney").val()-0; //优惠后金额 + var accountMoneyTotal = $("#accountMoneyTotalDlg").text()-0; //本次付款或者收款 + if(accountMoneyTotal===0){ + $.messager.alert('错误提示',"请填写金额后保存",'warning'); + return; + } + if(accountArr.length && accountMoneyArr.length) { + $("#AccountId").attr("data-accountArr",JSON.stringify(accountArr)).attr("data-accountMoneyArr",JSON.stringify(accountMoneyArr)); //json数据存储 + } + if(listSubType==="零售" || listSubType==="零售退货") { + $("#getAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 + var backAmount = $("#getAmount").val() - $("#ChangeAmount").val(); + $("#backAmount").val((backAmount - 0).toFixed(2)); //计算找零金额 + } + else { + $("#ChangeAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 + } + $("#Debt").val((discountLastMoneyNum-accountMoneyTotal).toFixed(2)); //本次欠款 + $("#depotHeadAccountDlg").dialog('close'); + }); + + //取消事件 + function cancelFun(){ + if($("#AccountId").attr("data-accountArr")){ + $("#depotHeadAccountDlg").dialog('close'); + } + else { + $("#depotHeadAccountDlg").dialog('close'); + $("#AccountId").val("").removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 + if(listSubType==="零售" || listSubType==="零售退货"){ + $("#ChangeAmount").prop("readonly","readonly"); + } + else { + $("#ChangeAmount").removeProp("readonly","readonly"); + } + $(".many-account-ico").hide(); //隐藏多账户小图标 + } + } + //多账户-取消按钮 + $("#cancelDepotHeadAccountDlg").off("click").on("click", function(){ + cancelFun(); + }); + + //多账户-右上角的关闭按钮 + $("#depotHeadAccountDlg").prev().find(".panel-tool-close").off("click").on("click", function(){ + cancelFun(); + }); + } + //点击多账户,弹出输入框 + $("#AccountId").off("change").on("change",function(){ + var selectText = $(this).children('option:selected').text(); + if(selectText === "多账户"){ + $("#ChangeAmount").prop("readonly","readonly"); + depotHeadAccountDlgFun(); + $(".many-account-ico").show(); //显示多账户小图标 + } + else{ + $(this).removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 + if(listSubType==="零售" || listSubType==="零售退货"){ + $("#ChangeAmount").prop("readonly","readonly"); + } + else { + $("#ChangeAmount").removeProp("readonly","readonly"); + } + $(".many-account-ico").hide(); //隐藏多账户小图标 + } + }); + + //结算账户-多账户小图标-点击事件 + $(".many-account-ico").off("click").on("click",function(){ + depotHeadAccountDlgFun(); + //给弹窗赋值-多账户数据 + var accountArr = $("#AccountId").attr("data-accountArr"); + accountArr = JSON.parse(accountArr); + var accountMoneyArr = $("#AccountId").attr("data-accountMoneyArr"); + accountMoneyArr = JSON.parse(accountMoneyArr); + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){ + var index = $(this).attr("data-index"); + $(this).find(".account-id-dlg").val(accountArr[index]); + $(this).find(".account-money-dlg").val(accountMoneyArr[index]); + }); + if(listSubType==="零售" || listSubType==="零售退货") { + $("#accountMoneyTotalDlg").text($("#getAmount").val()); + } + else { + $("#accountMoneyTotalDlg").text($("#ChangeAmount").val()); + } + }); + + //点击采购费用、销售费用的事件 + $(".other-money-ico").off("click").on("click",function(){ + $('#otherMoneyDlg').dialog('open').dialog('setTitle',' '+ listSubType +'费用'); + $("#otherMoneyDlg .money-dlg .money-content-tmp").remove(); //先移除输入栏目 + $("#otherMoneyTotalDlg").text(0); //将合计初始化为0 + for(var i=0; i<6; i++) { + $("#otherMoneyDlg .tabs-tmp .money-content-tmp").attr("data-index",5-i); //添加索引 + var contentTmp = $("#otherMoneyDlg .tabs-tmp tbody").html(); + var moneyDlgHead = $("#otherMoneyDlg .money-head-tmp"); + moneyDlgHead.after(contentTmp); + } + + //获取支出项目信息 + function moneyDlgFun() { + var options = ""; + if(outItemList !=null){ + for(var i = 0 ;i < outItemList.length;i++) { + var money = outItemList[i]; + options += ''; + } + $(".money-id-dlg").empty().append("").append(options); + } + } + moneyDlgFun(); //获取支出项目信息 + $("#otherMoneyDlg .tabs-tmp").hide(); //隐藏模板 + + //支出项目的金额输入框事件 + $("#otherMoneyDlg .money-dlg .other-money-dlg").off("keyup").on("keyup",function(){ + var totalMoneyNum = 0; + $("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){ + var eachOtherMoney = $(this).find(".other-money-dlg").val()-0; + totalMoneyNum += eachOtherMoney; + }); + $("#otherMoneyTotalDlg").text(totalMoneyNum); + }); + + //支出项目列表的切换事件 + $("#otherMoneyDlg .money-dlg .money-id-dlg").off("change").on("change",function(){ + var selectItem = $(this).children('option:selected').text(); + if(selectItem === ""){ + var thisMoneyDom = $(this).closest(".money-content-tmp").find(".other-money-dlg"); + var thisMoney = thisMoneyDom.val()-0; + var otherMoneyTotal = $("#otherMoneyTotalDlg").text() - 0; + $("#otherMoneyTotalDlg").text(otherMoneyTotal - thisMoney); + thisMoneyDom.val(""); //支出项目为空时候,将金额也置为空 + } + }); + + //保存按钮事件 + $("#saveOtherMoneyDlg").off("click").on("click", function(){ + //完成支出项目的json数据存储 + var itemArr = []; //支出项目id数组 + var itemMoneyArr = []; //支出项目金额数组 + var errorIndex = -1; + $("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){ + var thisId = $(this).find(".money-id-dlg").val(); + var thisMoney = $(this).find(".other-money-dlg").val(); + if(!thisId && thisMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisId && !thisMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisId && thisMoney) { + itemArr.push(thisId); + itemMoneyArr.push(thisMoney); + } + }); + if(errorIndex >-1){ + $.messager.alert('错误提示',"第" + (errorIndex+1) + "行数据存在问题,请修改",'warning'); + return; + } + var otherMoneyTotal = $("#otherMoneyTotalDlg").text()-0; //合计金额 + if(otherMoneyTotal === 0){ //0的时候清空缓存数据 + $("#OtherMoney").removeAttr("data-itemArr").removeAttr("data-itemMoneyArr"); + } + if(itemArr.length && itemMoneyArr.length) { + $("#OtherMoney").attr("data-itemArr",JSON.stringify(itemArr)).attr("data-itemMoneyArr",JSON.stringify(itemMoneyArr)); //json数据存储 + } + $("#OtherMoney").val(otherMoneyTotal); //给采购费用、销售费用赋值 + $("#otherMoneyDlg").dialog('close'); + }); + + //取消事件 + function cancelFun(){ + if($("#OtherMoney").attr("data-itemArr")){ + $("#otherMoneyDlg").dialog('close'); + } + else { + $("#otherMoneyDlg").dialog('close'); + $("#OtherMoney").val("").removeAttr("data-itemArr").removeAttr("data-itemMoneyArr"); //将下拉置空并把缓存参数清空 + } + } + //费用-取消按钮 + $("#cancelOtherMoneyDlg").off("click").on("click", function(){ + cancelFun(); + }); + + //费用-右上角的关闭按钮 + $("#otherMoneyDlg").prev().find(".panel-tool-close").off("click").on("click", function(){ + cancelFun(); + }); + + //给弹窗赋值-采购费用、销售费用数据 + var itemArr = $("#OtherMoney").attr("data-itemArr"); + itemArr = JSON.parse(itemArr); + var itemMoneyArr = $("#OtherMoney").attr("data-itemMoneyArr"); + itemMoneyArr = JSON.parse(itemMoneyArr); + $("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){ + var index = $(this).attr("data-index"); + $(this).find(".money-id-dlg").val(itemArr[index]); + if(itemMoneyArr[index]!="undefined"){ + $(this).find(".other-money-dlg").val(itemMoneyArr[index]); + } + }); + $("#otherMoneyTotalDlg").text($("#OtherMoney").val()); + }); + + if(listTitle === "采购入库列表" || listTitle === "其它入库列表" || listTitle === "采购订单列表"|| listTitle === "零售出库列表"|| listTitle === "销售出库列表"|| listTitle === "销售订单列表"){ + var supplierType = "供应商"; + if(listTitle === "零售出库列表"){ + supplierType = "会员"; + }else if(listTitle === "销售出库列表" || listTitle === "销售订单列表"){ + supplierType = "客户"; + } + //检查单位名称是否存在 ++ 重名无法提示问题需要跟进 + function checkSupplierName() { + var supplierName = $.trim($("#supplier").val()); + var orgSupplier = ""; + //表示是否存在 true == 存在 false = 不存在 + var flag = false; + //开始ajax名称检验,不能重名 + if(supplierName.length > 0 &&( orgSupplier.length ==0 || supplierName != orgSupplier)) + { + $.ajax({ + type:"get", + url: "/supplier/checkIsNameExist", + dataType: "json", + async : false, + data: ({ + id : 0, + name : supplierName + }), + success: function (res) { + if(res && res.code === 200) { + if(res.data && res.data.status) { + flag = res.data.status; + if (flag) { + $.messager.alert('提示', '单位名称已经存在', 'info'); + return; + } + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('提示','检查单位名称是否存在异常,请稍后再试!','error'); + return; + } + }); + } + return flag; + } + + //保存供应商信息 + $("#saveSupplier").off("click").on("click",function() { + if(validateForm("supplierFM")) { + return; + } + if(checkSupplierName()){ + return; + } + var reg = /^([0-9])+$/; + var phonenum = $.trim($("#phonenum").val()); + if(phonenum.length>0 && !reg.test(phonenum)) + { + $.messager.alert('提示','电话号码只能是数字','info'); + $("#phonenum").val("").focus(); + return; + } + var beginNeedGet = $.trim($("#BeginNeedGet").val()); + var beginNeedPay = $.trim($("#BeginNeedPay").val()); + if(beginNeedGet && beginNeedPay) { + $.messager.alert('提示','期初应收和期初应付不能同时输入','info'); + return; + } + var url = '/supplier/add'; + var supObj = $("#supplierFM").serializeObject(); + supObj.type = supplierType; + supObj.enabled = 1; + $.ajax({ + url: url, + type:"post", + dataType: "json", + data:{ + info: JSON.stringify(supObj) + }, + success: function(res) { + if (res) { + $('#supplierDlg').dialog('close'); + initSupplier(); //刷新供应商 + } + } + }); + }); + } +} + +function showDepotHeadDetails(pageNo,pageSize){ + var materialParam = $.trim($("#searchMaterial").val()); + $.ajax({ + type:"get", + url: "/depotItem/getHeaderIdByMaterial", + dataType: "json", + data: ({ + materialParam: materialParam, + depotIds: depotString + }), + success: function (res) { + if(res && res.code === 200) { + var ids = res.data; + if(ids){ + $.ajax({ + type: "get", + url: "/depotHead/list", + dataType: "json", + data: ({ + search: JSON.stringify({ + type: listType, + subType: listSubType, + state: $.trim($("#searchState").val()), + number: $.trim($("#searchNumber").val()), + beginTime: $("#searchBeginTime").val(), + endTime: $("#searchEndTime").val(), + dhIds: ids + }), + currentPage: pageNo, + pageSize: pageSize + }), + success: function (res) { + if(res && res.code === 200){ + if(res.data && res.data.page) { + $("#tableData").datagrid('loadData', res.data.page); + } + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); + return; + } + }); + } + else { + $("#tableData").datagrid('loadData', []); + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + return; + } + }); +} + +//自动计算事件 +function autoReckon() { + //延时绑定事件 + setTimeout(function(){ + var body =$("#depotHeadFM .datagrid-body"); + var footer =$("#depotHeadFM .datagrid-footer"); + var input = ".datagrid-editable-input"; + //点击商品下拉框,自动加载数量、单价、金额 + body.find("[field='Stock']").find(input).prop("readonly","readonly"); + //点击库存文本框,字段计算库存 + body.find("[field='Stock']").find(input).off("click").on("click",function(){ + var depotId = body.find("[field='DepotId']").find(".combo-value").val(); + var mId = body.find("[field='MaterialId']").find(".combo-value").val(); + var monthTime = getNowFormatMonth(); + if(depotId && mId){ + var ratio = body.find("[field='Unit']").find(input).attr("data-ratio"); + body.find("[field='Stock']").find(input).prop("readonly","readonly"); + //在新增的时候,这个ratio有值;在编辑的时候,这个ratio为undefined + var type = "click"; //type 类型:点击 click,选择 select + findStockNumById(depotId, mId, monthTime, body, input, ratio, type); + } + else{ + body.find("[field='Stock']").find(input).val(0).attr("data-stock",0); //加载库存数据 + } + }); + //修改数量,自动计算金额和合计,另外计算含税单价、税额、价税合计 + body.find("[field='OperNumber']").find(input).off("keyup").on("keyup",function(){ + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var OperNumber =$(this).val()-0; //数量 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + + }); + //修改单价,自动计算金额和合计 + body.find("[field='UnitPrice']").find(input).off("keyup").on("keyup",function(){ + var UnitPrice =$(this).val()-0; //单价 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //点击单价,自动提示参考价格列表 + body.find("[field='UnitPrice']").find(input).off("click").on("click",function(){ + var self = this; + var mValue = body.find("[field='MaterialId'] .combo-value").attr("value"); //获取选中的商品id + if(!mValue) { + return; + } + else { + if(listTitle!="销售出库列表" && listTitle!="采购退货列表" && listTitle!="其它出库列表" && listTitle!="调拨出库列表") { + return; + } + $.ajax({ + url: "/material/findById", + type: "get", + dataType: "json", + data: { + id: mValue - 0 + }, + success: function(res){ + if(res && res.rows && res.rows[0]) { + var retailPrice = res.rows[0].RetailPrice; + var presetPriceOne = res.rows[0].PresetPriceOne; + var presetPriceTwo = res.rows[0].PresetPriceTwo; + //定义模版 + var temp = "
"; + temp +="
    "; + temp +="
  • 批发价:" + presetPriceTwo + "
  • "; + temp +="
  • 零售价:" + retailPrice + "
  • "; + temp +="
"; + temp +="
"; + if($('.price-list').length){ + $('.price-list').remove(); //如果存在价格列表先移除 + } + else { + if(presetPriceTwo != undefined){ //多单位的商品 + $(self).after(temp); //加载列表信息 + } + } + $('.price-list ul li').off("click").on("click",function(){ + var price = $(this).text(); + price = price.substring(price.indexOf(":") + 1); + $(self).val(price); + $(self).keyup(); //模拟键盘操作 + $('.price-list').remove(); //移除价格列表 + }); + //点击空白处移除价格列表 + $(".datagrid-body").off("click").on("click",function(){ + $('.price-list').remove(); //移除价格列表 + }); + } + }, + error: function(){ + $.messager.alert('错误提示','查询商品信息异常,请稍后再试!','error'); + return; + } + }); + } + }); + //修改含税单价,自动计算单价、金额、税额、价税合计和合计 + body.find("[field='TaxUnitPrice']").find(input).off("keyup").on("keyup",function(){ + var TaxUnitPrice =$(this).val()-0; //含税单价 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var UnitPrice = TaxUnitPrice/(1+taxRate/100); //计算单价 + body.find("[field='UnitPrice']").find(input).val((UnitPrice).toFixed(2)); //单价 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改金额,自动计算单价、税额、价税合计和合计 + body.find("[field='AllPrice']").find(input).off("keyup").on("keyup",function(){ + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var AllPrice =$(this).val()-0; //金额 + var UnitPrice = (AllPrice/OperNumber).toFixed(2); + body.find("[field='UnitPrice']").find(input).val(UnitPrice); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改税率,自动计算含税单价、税额、价税合计和合计 + body.find("[field='TaxRate']").find(input).off("keyup").on("keyup",function(){ + var taxRate =$(this).val()-0; //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改税额,自动计算税率、含税单价、价税合计和合计 + body.find("[field='TaxMoney']").find(input).off("keyup").on("keyup",function(){ + var taxMoney =$(this).val()-0; //税额 + var AllPrice = body.find("[field='AllPrice']").find(input).val(); //金额 + var taxRate = taxMoney/AllPrice*100; //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxRate']").find(input).val((taxRate).toFixed(2)); //税率 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改价税合计,自动计算税率、含税单价、税额和合计 + body.find("[field='TaxLastMoney']").find(input).off("keyup").on("keyup",function(){ + var taxLastMoney =$(this).val()-0; //价税合计 + var AllPrice = body.find("[field='AllPrice']").find(input).val(); //金额 + var taxRate = (taxLastMoney-AllPrice)/AllPrice*100; //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxRate']").find(input).val((taxRate).toFixed(2)); //税率 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + + //加载税率 + if(thisTaxRate) { + body.find("[field='TaxRate']").find(input).val(thisTaxRate); + } + else { + body.find("[field='TaxRate']").find(input).val(0); //默认为0 + } + + //在商品类型加载 组装件、普通子件 + var mType = body.find("[field='MType']"); + var rowListLength = mType.find(input).closest(".datagrid-row").attr("datagrid-row-index"); + var mTypeValue = "组合件"; + if(rowListLength > 0){ + mTypeValue = "普通子件"; + } + if(listSubType == "组装单" || listSubType == "拆卸单"){ + mType.find(input).val(mTypeValue).prop("readonly","readonly"); + } + },500); +} + +//结束编辑 +function endEditing() { + if (editIndex == undefined) { return true } + if ($('#materialData').datagrid('validateRow', editIndex)) { + //仓库信息 + var edDepot = $('#materialData').datagrid('getEditor', {index:editIndex,field:'DepotId'}); + var DepotName = $(edDepot.target).combobox('getText'); + $('#materialData').datagrid('getRows')[editIndex]['DepotName'] = DepotName; + //商品信息 + var edMaterial = $('#materialData').datagrid('getEditor', {index:editIndex,field:'MaterialId'}); + var MaterialName = $(edMaterial.target).combobox('getText'); + $('#materialData').datagrid('getRows')[editIndex]['MaterialName'] = MaterialName; + $('#materialData').datagrid('endEdit', editIndex); + editIndex = undefined; + return true; + } else { + return false; + } +} +//单击 +function onClickRow(index) { + if (editIndex != index) { + if (endEditing()) { + $('#materialData').datagrid('selectRow', index).datagrid('beginEdit', index); + editIndex = index; + autoReckon(); + } else { + $('#materialData').datagrid('selectRow', editIndex); + } + } +} +//新增 +function append(){ + if (endEditing()) { + $('#materialData').datagrid('appendRow', {DepotId:defDepotId}); + editIndex = $('#materialData').datagrid('getRows').length - 1; + $('#materialData').datagrid('selectRow', editIndex).datagrid('beginEdit', editIndex); + autoReckon(); + } +} +//删除 +function batchDel(){ + /** + * 重写一下删除的逻辑 + * 获取所有选中行,直接从列表中移除 + * 点击保存时,将需要后台删除的数据提交到服务器 + * **/ + /** + * create by: qiankunpingtai + * create time: 2019/3/20 16:26 + * description: + * 这个地方比较坑的,花了一个多小时才搞明白为什么 + * 1、删除之前必须先调用endEditing结束编辑 + * 2、如果只是调用endEditing结束编辑那么正在编辑行的被选中状态会被去掉 + * 所以要在调用endEditing先获取选中的行 + */ + //如果编辑的行一开始是选中状态,结束编辑后仍然是选中状态 + var row = $('#materialData').datagrid('getChecked'); + if (endEditing()) { + if (row.length == 0) { + $.messager.alert('删除提示', '没有记录被选中!', 'info'); + return; + } + if (row.length > 0) { + $.messager.confirm('删除确认', '确定要删除选中的' + row.length + '条单据信息吗?', function (r) { + if (r) { + for (var i = 0; i < row.length; i++) { + $('#materialData').datagrid('deleteRow', $('#materialData').datagrid("getRowIndex", row[i])); + } + } + }); + } + } +} +function removeit(){ + if (editIndex == undefined) { return } + $('#materialData').datagrid('cancelEdit', editIndex) + .datagrid('deleteRow', editIndex); + editIndex = undefined; +} +//撤销 +function reject() { + $('#materialData').datagrid('rejectChanges'); + editIndex = undefined; +} +//判断 +function CheckData(type) { + append(); + removeit(); + var change = $('#materialData').datagrid('getChanges').length; + if(type =="add" && !change) { + $.messager.alert('提示','请输入明细信息!','warning'); + return false; + } + var row = $('#materialData').datagrid('getRows'); + if(!row.length){ + $.messager.alert('提示',"请输入明细信息!",'info'); + return false; + } + var totalRowNum = ""; + for (var i = 0; i < row.length; i++) { + if (row[i].DepotId == "" || row[i].MaterialId == "" || row[i].OperNumber == "" || row[i].UnitPrice === "" || row[i].AllPrice === "") { + totalRowNum += (i + 1) + "、"; + } + } + if (totalRowNum != "") { + var totalRowNum = totalRowNum.substring(0, totalRowNum.length - 1); + $.messager.alert('提示',"第" + totalRowNum + "行数据填写不完整!",'info'); + return false; + } + return true; +} +//保存 +function accept(accepId,fun) { + var inserted = $("#materialData").datagrid('getChanges', "inserted"); + var deleted = $("#materialData").datagrid('getChanges', "deleted"); + var updated = $("#materialData").datagrid('getChanges', "updated"); + $.ajax({ + type: "post", + url: "/depotItem/saveDetials", + data: { + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated), + headerId:accepId + }, + success: function (tipInfo) + { + if (tipInfo) { + $.messager.alert('提示','保存成功!','info'); + } + else { + $.messager.alert('提示', '保存失败!', 'error'); + } + fun && fun(); + }, + error: function (XmlHttpRequest, textStatus, errorThrown) + { + $.messager.alert('提示',XmlHttpRequest.responseText,'error'); + fun && fun(); + } + }); + if (endEditing()) { + $('#materialData').datagrid('acceptChanges'); + } +} +//获取MaxId +function getMaxId(){ + var depotHeadMax=null; + $.ajax({ + type:"get", + url: "/depotHead/getMaxId", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + depotHeadMax = res.data.maxId; + } + } + } + }); + + if(depotHeadMax !=null) { + depotHeadMaxId=depotHeadMax; + } +} + +/** + * 新增单据主表及单据子表 + * */ +function addDepotHeadAndDetail(url,infoStr){ + var inserted = null; + if(pageType === "skip") { + inserted = $("#materialData").datagrid('getChanges', "updated"); + } else { + inserted = $("#materialData").datagrid('getChanges', "inserted"); + } + var deleted = $("#materialData").datagrid('getChanges', "deleted"); + var updated = $("#materialData").datagrid('getChanges', "updated"); + $.ajax({ + type:"post", + url: url, + dataType: "json", + async : false, + data: ({ + info:infoStr, + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated) + }), + success: function (tipInfo){ + + if(tipInfo){ + if(tipInfo.code!=200){ + $.messager.alert('提示', tipInfo.msg, 'error'); + return; + } + $.messager.alert('提示','保存成功!','info'); + $('#depotHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showDepotHeadDetails(opts.pageNumber,opts.pageSize); + + }else { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + + + }); +} +/** + * 修改单据主表及单据子表 + * */ +function updateDepotHeadAndDetail(url,infoStr,preTotalPrice){ + var inserted = $("#materialData").datagrid('getChanges', "inserted"); + var deleted = $("#materialData").datagrid('getChanges', "deleted"); + var updated = $("#materialData").datagrid('getChanges', "updated"); + $.ajax({ + type:"post", + url: url, + dataType: "json", + async : false, + data: ({ + id:url.substring(url.lastIndexOf("?id=")+4,url.length), + info:infoStr, + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated), + preTotalPrice:preTotalPrice + }), + success: function (tipInfo){ + if(tipInfo){ + if(tipInfo.code!=200){ + $.messager.alert('提示', tipInfo.msg, 'error'); + return; + } + $.messager.alert('提示','保存成功!','info'); + $('#depotHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showDepotHeadDetails(opts.pageNumber,opts.pageSize); + if (endEditing()) { + $('#materialData').datagrid('acceptChanges'); + } + }else { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); +} + + + + diff --git a/erp_web/js/pages/materials/retail_back_list.js b/erp_web/js/pages/materials/retail_back_list.js new file mode 100644 index 00000000..662d9507 --- /dev/null +++ b/erp_web/js/pages/materials/retail_back_list.js @@ -0,0 +1,3205 @@ +//初始化界面 +var defDepotId = null; +var kid = sessionStorage.getItem("userId"); +var pageType = getUrlParam('t'); //获取页面类型传值 +var depotList = null; +var depotID = null; +var supplierList = null; +var supplierID = null; +var personList = null; +var personID = null; +var ProjectSearch=null; +var userBusinessList=null; +var userdepot=null; +var depotHeadMaxId=null; //获取最大的Id +var accepId=null; //保存的主表id +var url; +var depotHeadID = 0; +var preTotalPrice = 0; //前一次加载的金额 +var orgDepotHead = ""; +var editIndex = undefined; +var listTitle = ""; //单据标题 +var listType = ""; //入库 出库 +var listSubType = ""; //采购 销售等 +var payTypeTitle = "";//付款 收款 +var organUrl = ""; //组织数据接口地址 +var amountNum = ""; //单据编号开头字符 +var depotString = ""; //店铺id列表 +/**默认编号有意义吗,不如空着吧*/ +var orgDefaultId=''; //单位默认编号 +var orgDefaultList; //存储查询出来的会员列表 +var accountList; //账户列表 +var outItemList; //支出项目列表 +var thisTaxRate = 0; //当前税率,选择供应商或者客户的时候设置 +var oldNumber = ""; //编辑前的单据编号 +var oldId = 0; //编辑前的单据Id +var otherColumns = true; //明细中的‘别名’列是否显示 +var btnEnableList = getBtnStr(); //获取按钮的权限 +var mPropertyList = ""; //商品属性列表 +var defaultAccountId = 0; //默认账户id +$(function(){ + //初始化系统基础信息 + getType(); + initSystemData_UB(); + initSelectInfo_UB(); + initSystemData_depot(); + initSelectInfo_depot(); + initSystemData_person(); + initSelectInfo_person(); + initSystemData_account(); + initSelectInfo_account(); + initSupplier(); //供应商 + initSalesman(); //销售人员 + initOutItemList(); //初始化支出项目 + initMProperty(); //初始化商品属性 + initTableData(); + ininPager(); + initForm(); + bindEvent();//绑定操作事件 +}); +//根据单据名称获取类型 +function getType(){ + listTitle = $("#tablePanel").prev().text(); + depotString = "|"; + //改变宽度和高度 + $("#searchPanel").panel({width:webW-2}); + $("#tablePanel").panel({width:webW-2}); + var supUrl = "/supplier/findBySelect_sup"; //供应商接口 + var cusUrl = "/supplier/findBySelect_cus?UBType=UserCustomer&UBKeyId=" + kid; //客户接口 + var retailUrl = "/supplier/findBySelect_retail"; //散户接口 + if(listTitle === "采购订单列表"){ + listType = "其它"; + listSubType = "采购订单"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "CGDD"; + } + else if(listTitle === "采购入库列表"){ + listType = "入库"; + listSubType = "采购"; + payTypeTitle = "付款"; + organUrl = supUrl; + amountNum = "CGRK"; + } + else if(listTitle === "零售退货列表"){ + listType = "入库"; + listSubType = "零售退货"; //注:用预付款购买的产品不能退货 + payTypeTitle = "付款"; + organUrl = retailUrl; + amountNum = "LSTH"; + } + else if(listTitle === "销售退货列表"){ + listType = "入库"; + listSubType = "销售退货"; + payTypeTitle = "付款"; + organUrl = cusUrl; + amountNum = "XSTH"; + } + else if(listTitle === "其它入库列表"){ + listType = "入库"; + listSubType = "其它"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "QTRK"; + } + else if(listTitle === "零售出库列表"){ + listType = "出库"; + listSubType = "零售"; + payTypeTitle = "收款"; + organUrl = retailUrl; + amountNum = "LSCK"; + } + else if(listTitle === "销售订单列表"){ + listType = "其它"; + listSubType = "销售订单"; + payTypeTitle = "隐藏"; + organUrl = cusUrl; + amountNum = "XSDD"; + } + else if(listTitle === "销售出库列表"){ + listType = "出库"; + listSubType = "销售"; + payTypeTitle = "收款"; + organUrl = cusUrl; + amountNum = "XSCK"; + } + else if(listTitle === "采购退货列表"){ + listType = "出库"; + listSubType = "采购退货"; + payTypeTitle = "收款"; + organUrl = supUrl; + amountNum = "CGTH"; + } + else if(listTitle === "其它出库列表"){ + listType = "出库"; + listSubType = "其它"; + payTypeTitle = "隐藏"; + organUrl = cusUrl; + amountNum = "QTCK"; + } + else if(listTitle === "调拨出库列表"){ + listType = "出库"; + listSubType = "调拨"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "DBCK"; + } + else if(listTitle === "组装单列表"){ + listType = "其它"; + listSubType = "组装单"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "ZZD"; + } + else if(listTitle === "拆卸单列表"){ + listType = "其它"; + listSubType = "拆卸单"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "CXD"; + } +} +//初始化系统基础信息 +function initSystemData_UB(){ + $.ajax({ + type:"get", + url: "/userBusiness/getBasicData", + data: ({ + KeyId:kid, + Type:"UserDepot" + }), + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if (res && res.code === 200) { + userBusinessList = res.data.userBusinessList; + } + else { + userBusinessList = null; + } + } + }); + +} +//初始化页面选项卡 +function initSelectInfo_UB(){ + + if(userBusinessList !=null) + { + if(userBusinessList.length>0) + { + //用户对应的仓库列表 [1][2][3]... + userdepot =userBusinessList[0].value; + } + } +} + + +//初始化系统基础信息 +function initSystemData_depot(){ + $.ajax({ + type:"get", + url: "/depot/getAllList", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200){ + depotList = res.data; + } else { + $.messager.alert('提示', '查找系统基础信息异常,请与管理员联系!', 'error'); + return; + } + } + }); +} +//初始化页面选项卡 +function initSelectInfo_depot(){ + var options = ""; + + if(depotList !=null) + { + options = ""; + for(var i = 0 ;i < depotList.length;i++) + { + var depot = depotList[i]; + + if(userdepot!=null) + { + if(userdepot.indexOf("["+depot.id+"]")!=-1) + { + if(depot.isDefault){ + defDepotId = depot.id; + } + options += ''; + depotString = depotString + depot.id + ","; + } + } + if(depot.type === 1){ + depotString = depotString + depot.id + ","; + } + } + depotString = depotString.substring(1, depotString.length-1); + $("#ProjectId").empty().append(options); + $("#AllocationProjectId").empty().append(options); + $("#searchProjectId").empty().append('').append(options); + } +} + +//初始化供应商、客户、散户信息 +function initSupplier(){ + $('#OrganId').combobox({ + url: organUrl, + valueField:'id', + textField:'supplier', + filter: function(q, row){ + var opts = $(this).combobox('options'); + return row[opts.textField].indexOf(q) >-1; + }, + onLoadSuccess: function(res) { + var data = $(this).combobox('getData'); + for(var i = 0; i<= data.length; i++){ + if(data && data[i] && data[i].supplier === "非会员"){ + orgDefaultId = data[i].id; + } + } + if(listSubType === "零售"){ + orgDefaultList = res; + } + }, + onSelect: function(rec){ + if(listSubType === "零售"){ + var option = ""; + if(rec.supplier !== "非会员" && rec.advanceIn >0){ + option = ''; + option += ''; + } + else { + option += ''; + } + $("#payType").empty().append(option); + } + else{ + $.ajax({ + type:"get", + url: "/supplier/findById", + data: { + supplierId: rec.id + }, + dataType: "json", + success: function (res){ + if(res && res.code === 200) { + if(res.data && res.data[0]){ + thisTaxRate = res.data[0].taxRate; //设置当前的税率 + } + } + }, + error:function(){ + + } + }); + } + } + }); +} + +//初始化销售人员 +function initSalesman(){ + $('#Salesman').combobox({ + url: "/person/getPersonByNumType?type=1", + valueField:'id', + textField:'name', + multiple: true + }); +} + +//初始化收入项目列表 +function initOutItemList(){ + $.ajax({ + type:"get", + url: "/inOutItem/findBySelect?type=out", + //设置为同步 + async:false, + dataType: "json", + success: function (res){ + if(res){ + outItemList = res; + } + }, + error:function(){ + + } + }); +} + +//初始化商品属性 +function initMProperty(){ + $.ajax({ + type: "get", + url: "/materialProperty/list", + dataType: "json", + data: ({ + search: JSON.stringify({ + name: "" + }), + currentPage: 1, + pageSize: 100 + }), + success: function (res) { + if(res && res.code === 200){ + if(res.data && res.data.page) { + var thisRows = res.data.page.rows; + for (var i = 0; i < thisRows.length; i++) { + if (thisRows[i].enabled) { + mPropertyList += thisRows[i].nativeName + ","; + } + } + if (mPropertyList) { + mPropertyList = mPropertyList.substring(0, mPropertyList.length - 1); + } + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('查询提示','查询信息异常,请稍后再试!','error'); + return; + } + }); +} + +//初始化系统基础信息 +function initSystemData_person(){ + $.ajax({ + type:"get", + url: "/person/getAllList", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + personList = res.data.personList; + } + } + } + }); +} +//初始化页面选项卡 +function initSelectInfo_person(){ + var options1 = ""; + + if(personList !=null) + { + for(var i = 0 ;i < personList.length;i++) + { + var person = personList[i]; + if(0 == i) + { + personID = person.id; + } + if(person.type=="仓管员") + { + options1 += ''; + } + } + $("#HandsPersonId").empty().append(options1); + } +} +//获取账户信息 +function initSystemData_account(){ + $.ajax({ + type:"get", + url: "/account/getAccount", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + accountList = res.data.accountList; + } + } + } + }); +} +//获取账户信息 +function initSelectInfo_account(){ + var options = ""; + if(accountList !=null){ + options = ""; + options += ""; + for(var i = 0 ;i < accountList.length;i++) { + var account = accountList[i]; + options += ''; + if(account.isdefault) { + defaultAccountId = account.id; //给账户赋值默认id + } + } + $("#AccountId").empty().append(options); + } +} + +//防止表单提交重复 +function initForm(){ + $('#depotHeadFM').form({ + onSubmit: function(){ + return false; + } + }); +} + +//初始化表格数据 +function initTableData(){ + if(pageType === "skip") { + var oldRowInfo = sessionStorage.getItem("rowInfo"); + editDepotHead(oldRowInfo); //自动弹出编辑框,带缓存数据 + } + var hideType = undefined; + var isHiddenStatus = true; + if(payTypeTitle === "隐藏"){ + hideType = true; //隐藏当前列 + } + var tableToolBar = [ + { + id:'addDepotHead', + text:'增加', + iconCls:'icon-add', + handler:function() + { + addDepotHead(); + } + }, + { + id:'deleteDepotHead', + text:'删除', + iconCls:'icon-remove', + handler:function() + { + batDeleteDepotHead(); + } + } + ]; + //如果允许的按钮列表中存在就显示,3-代表审核|反审核的权限 + if(btnEnableList && btnEnableList.indexOf(3)>-1){ + isHiddenStatus = false; //显示 + tableToolBar.push({ + id:'okDepotHead', + text:'审核', + iconCls:'icon-ok', + handler:function() { + setStatusFun(); + } + }, + { + id:'undoDepotHead', + text:'反审核', + iconCls:'icon-undo', + handler:function() { + setUnStatusFun(); + } + }); + } + else { + isHiddenStatus = true; //隐藏 + } + var isShowLastMoneyColumn = false; //是否显示优惠后金额和价税合计,true为隐藏,false为显示 + if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowLastMoneyColumn = true; //隐藏 + } + var isShowOrganNameColumn = false; //是否显示供应商、客户等信息,true为隐藏,false为显示 + var organNameTitle = ""; //组织名称标题 + if(listSubType == "调拨" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowOrganNameColumn = true; //隐藏 + } + else { + if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "采购退货列表" || listTitle == "其它入库列表"){ + organNameTitle = "供应商名称"; + } + else if(listTitle == "销售订单列表" || listTitle == "销售退货列表" || listTitle == "销售出库列表" || listTitle == "其它出库列表"){ + organNameTitle = "客户名称"; + } + else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ + organNameTitle = "会员卡号"; + } + } + var opWidth = 90; //操作宽度 + var isShowSkip = false; //是否显示跳转按钮 + var opTitle = ""; //跳转按钮的标题 + if(listTitle == "采购订单列表") { + opWidth = 120; + isShowSkip = true; + opTitle = "转采购入库"; + } else if(listTitle == "销售订单列表") { + opWidth = 120; + isShowSkip = true; + opTitle = "转销售出库"; + } + $('#tableData').datagrid({ + height:heightInfo, + rownumbers: false, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + pagination: true, + //交替出现背景 + striped : true, + pageSize: 10, + pageList: initPageNum, + columns:[[ + { field: 'id',width:35,align:"center",checkbox:true}, + { title: '操作',field: 'op',align:"center",width:opWidth, + formatter:function(value, rec,index) { + var str = ''; + // var rowInfo = rec.id + 'AaBb' + rec.projectid+ 'AaBb' + rec.number+ 'AaBb' + rec.operpersonname + // + 'AaBb' + rec.opertimeStr+ 'AaBb' + rec.organid+ 'AaBb' + rec.handspersonid + // + 'AaBb' + rec.accountid+ 'AaBb' + rec.changeamount+ 'AaBb' + rec.remark + // + 'AaBb' + rec.projectName+ 'AaBb' + rec.organName+ 'AaBb' + rec.handsPersonName + // + 'AaBb' + rec.accountName + 'AaBb' + rec.totalprice + 'AaBb' + rec.allocationprojectid + // + 'AaBb' + rec.allocationProjectName + 'AaBb' + rec.paytype + 'AaBb' + rec.salesman + // + 'AaBb' + rec.discount + 'AaBb' + rec.discountmoney + 'AaBb' + rec.discountlastmoney + // + 'AaBb' + rec.accountidlist + 'AaBb' + rec.accountmoneylist + // + 'AaBb' + rec.othermoney + 'AaBb' + rec.othermoneylist + 'AaBb' + rec.othermoneyitem + // + 'AaBb' + rec.accountday + 'AaBb' + rec.linknumber; + // rowInfo = rowInfo.replace(/\"/g, ""); + // rowInfo = rowInfo.replace(/\[|]/g,""); + var orgId = rec.organid? rec.organid:0; + str += '   '; + str += '   '; + str += ''; + if(isShowSkip) { + str += '   '; + } + return str; + } + }, + { title: organNameTitle, field: 'organName',width:120, hidden:isShowOrganNameColumn}, + { title: '单据编号',field: 'number',width:135, formatter:function (value,rec) { + if(rec.linknumber) { + return value + "[转]"; + } else { + return value; + } + } + }, + { title: '商品信息',field: 'materialsList',width:180,formatter:function(value){ + if(value) { + return value.replace(",",","); + } + } + }, + { title: '单据日期',field: 'opertimeStr',width:130}, + { title: '操作员',field: 'operpersonname',width:60}, + { title: '金额合计',field: 'totalprice',width:60}, + { title: '含税合计',field: 'totaltaxlastmoney',hidden:isShowLastMoneyColumn,width:60,formatter:function(value,rec){ + return (rec.discountmoney + rec.discountlastmoney).toFixed(2); + } + }, + { title: '优惠后金额',field: 'discountlastmoney',hidden:isShowLastMoneyColumn,width:80}, + { title: payTypeTitle,field: 'changeamount',width:50,hidden:hideType}, + { title: '状态',field: 'status',hidden:isHiddenStatus, width:70,align:"center",formatter:function(value){ + if(value === "0") { + return "未审核"; + } else if(value === "1") { + return "已审核"; + } else if(value === "2") { + if(listTitle == "采购订单列表") { + return "已转采购"; + } else if(listTitle == "销售订单列表") { + return "已转销售"; + } + } + } + } + ]], + toolbar:tableToolBar, + onLoadError:function() { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); +} + +//查找库存的方法 +function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ + var thisRatio = 1; //比例 + $.ajax({ + url: "/material/findById", + type: "get", + dataType: "json", + data: { + id: mId + }, + success: function (rec) { + if(rec && rec.code === 200 && rec.data && rec.data[0]) { + var loadRatio = 1; //在单位输入框上面加载比例字段 + if(rec.data[0].unit) { //如果存在计量单位信息 + loadRatio = 1; + } + else{ + var unitName = rec.data[0].unitName; + if(unitName) { + thisRatio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); + unitName = unitName.substring(0, unitName.indexOf("(")); + } + var unitArr = unitName.split(","); + var basicUnit = unitArr[0]; //基础单位 + var otherUnit = unitArr[1]; //副单位 + var unitSetInput =""; //单位 + if(listSubType === "采购订单" || listSubType === "采购" || listSubType === "采购退货"){ + unitSetInput = rec.data[0].firstinunit; + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = thisRatio; + } + } + else if(listSubType === "销售订单" || listSubType === "销售" || listSubType === "销售退货" || listSubType === "零售" || listSubType === "零售退货"){ + unitSetInput = rec.data[0].firstoutunit; + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = thisRatio; + } + } + } + //查询库存 + $.ajax({ + type: "get", + url: '/depotItem/findStockNumById', + data:{ + projectId: depotId, + materialId: mId, + monthTime: monthTime, + currentPage: 1, + pageSize: 10 + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if (res.data && res.data.page && res.data.page[0]) { + var thisStock = res.data.page[0].thisSum; + if (type == "select") { //选择下拉框的时候 + if (ratio != undefined && ratio != 1) { + loadRatio = ratio; + } + } + else if (type == "click") { //点击库存的时候 + if (ratio != undefined) { + loadRatio = ratio; + } + } + thisStock = (thisStock / loadRatio).toFixed(2); + body.find("[field='Stock']").find(input).val(thisStock).attr("data-stock", res.data.page[0].thisSum); //加载库存数据 + } + else { + body.find("[field='Stock']").find(input).val(0).attr("data-stock", 0); //加载库存数据 + } + body.find("[field='Stock']").find(input).prop("readonly", "readonly"); //设置库存数据为只读 + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); + } + }, + error: function () { + $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); + } + }); +} +//优惠率、合计的统计方法 +function statisticsFun(body,UnitPrice,OperNumber,footer,taxRate){ + var TotalPrice = 0; + var taxLastMoneyTotal = 0; + //金额的合计 + body.find("[field='AllPrice']").each(function(){ + if($(this).find("div").text()!==""){ + TotalPrice = TotalPrice + parseFloat($(this).find("div").text().toString()); + } + }); + TotalPrice = TotalPrice + UnitPrice*OperNumber; + footer.find("[field='AllPrice']").find("div").text((TotalPrice).toFixed(2)); //金额的合计 + //价税合计的总计 + body.find("[field='TaxLastMoney']").each(function(){ + if($(this).find("div").text()!==""){ + taxLastMoneyTotal = taxLastMoneyTotal + (parseFloat($(this).find("div").text().toString())-0); + } + }); + taxLastMoneyTotal = taxLastMoneyTotal + (UnitPrice*OperNumber*(1+taxRate/100)); + footer.find("[field='TaxLastMoney']").find("div").text((taxLastMoneyTotal).toFixed(2)); //价税合计的页脚总计 + var discount = $("#Discount").val(); //优惠率 + var discountMoney = (taxLastMoneyTotal*discount/100).toFixed(2); + $("#DiscountMoney").val(discountMoney);//优惠金额 + var discountLastMoney = (taxLastMoneyTotal*(1-discount/100)).toFixed(2) + $("#DiscountLastMoney").val(discountLastMoney);//优惠后金额 + if($("#AccountId").val()!=="many"){ + $("#ChangeAmount").val(discountLastMoney); //本次付、收款 + } + var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 + $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 + + if(listSubType == "零售" || listSubType == "零售退货") { + $("#ChangeAmount, #getAmount").val((TotalPrice).toFixed(2)); + $("#backAmount").val(0); + } +} +//初始化表格数据-商品列表-编辑状态 +function initTableData_material(type,TotalPrice){ + var body,footer,input; //定义表格和文本框 + var ratio = 1; //比例-品名专用 + var ratioDepot = 1; //比例-仓库用 + var monthTime = getNowFormatMonth(); + var isShowAnotherDepot = true; //显示对方仓库,true为隐藏,false为显示 + var depotHeadName = ""; //仓库名称 + var depotUrl = ""; //仓库接口地址 + var depotTextField = ""; //仓库下拉名称 + var anotherDepotHeadName = ""; //对方仓库的列的标题 + var anotherDepotUrl = ""; //对方仓库接口地址 + var anotherDepotTextField = ""; + if(listSubType == "调拨"){ + isShowAnotherDepot = false; //调拨时候显示对方仓库 + anotherDepotHeadName = "调入仓库"; + anotherDepotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; + anotherDepotTextField = "depotName"; + } + depotHeadName = "仓库名称"; + depotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; + depotTextField = "depotName"; + var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 + if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowTaxColumn = true; //隐藏 + } + var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 + if(listSubType == "组装单" || listSubType == "拆卸单"){ + isShowMaterialTypeColumn = false; //显示 + } + $('#materialData').datagrid({ + height:245, + rownumbers: false, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + //单击行是否选中 + checkOnSelect : false, + pagination: false, + //交替出现背景 + striped : true, + showFooter: true, + //loadFilter: pagerFilter, + onClickRow: onClickRow, + columns:[[ + { field: 'Id',width:35,align:"center",checkbox:true}, + { title: '商品类型',field: 'MType',editor:'validatebox',hidden:isShowMaterialTypeColumn,width:80}, + { title: depotHeadName, field: 'DepotId', editor: 'validatebox', width: 90, + formatter: function (value, row, index) { + return row.DepotName; + }, + editor: { + type: 'combobox', + options: { + valueField: 'id', + textField: depotTextField, + method: 'get', + url: depotUrl, + onSelect:function(rec){ + var depotId = rec.id; + body =$("#depotHeadFM .datagrid-body"); + footer =$("#depotHeadFM .datagrid-footer"); + input = ".datagrid-editable-input"; + var mId = body.find("[field='MaterialId']").find(".combo-value").val(); + if(mId){ + var type = "select"; //type 类型:点击 click,选择 select + findStockNumById(depotId, mId, monthTime, body, input, ratioDepot, type); + } + } + } + } + }, + { title: '品名(型号)(扩展信息)(单位)',field: 'MaterialId',width:230, + formatter:function(value,row,index){ + return row.MaterialName; + }, + editor:{ + type:'combobox', + options:{ + valueField:'Id', + textField:'MaterialName', + method:'get', + url: "/material/findBySelect", + panelWidth: 300, //下拉框的宽度 + //全面模糊匹配,过滤字段 + filter: function(q, row){ + var opts = $(this).combobox('options'); + return row[opts.textField].indexOf(q) >-1; + }, + onBeforeLoad: function(param){ + param.mpList = mPropertyList; //商品属性 + }, + onSelect:function(rec){ + if(rec) { + var mId = rec.Id; + $.ajax({ + url: "/material/findById", + type: "get", + dataType: "json", + data: { + id: mId + }, + success: function (res) { + if(res && res.code === 200 && res.data && res.data[0]) { + var retailPrice = res.data[0].retailprice-0; //零售价格 + var presetPriceOne = res.data[0].presetpriceone-0; //预计采购价 + var presetPriceTwo = res.data[0].presetpricetwo-0; //批发价 + var firstInUnit = res.data[0].firstinunit; //首选入库单位 + var firstOutUnit = res.data[0].firstoutunit; //首选出库单位 + var basicPresetPriceOne = ""; //多单位-入库-基础价格 + var basicPresetPriceTwo = ""; //多单位-出库-基础价格 + var retailPriceOne = ""; //多单位-入库-零售价格 + var otherPresetPriceOne = ""; //多单位-入库-其他价格 + var otherPresetPriceTwo = ""; //多单位-出库-其他价格 + var retailPriceTwo = ""; //多单位-出库-零售价格 + var basicUnit = ""; //基础单位 + var otherUnit = ""; //其他单位 + if(!res.data[0].unit){ + var ps = res.data[0].pricestrategy; + var psObj = JSON.parse(ps); + basicPresetPriceOne = psObj[0].basic.PresetPriceOne-0; + basicPresetPriceTwo = psObj[0].basic.PresetPriceTwo-0; + retailPriceOne = psObj[0].basic.RetailPrice-0; + otherPresetPriceOne = psObj[1].other.PresetPriceOne-0; + otherPresetPriceTwo = psObj[1].other.PresetPriceTwo-0; + retailPriceTwo = psObj[1].other.RetailPrice-0; + basicUnit = psObj[0].basic.Unit; + otherUnit = psObj[1].other.Unit; + } + body =$("#depotHeadFM .datagrid-body"); + footer =$("#depotHeadFM .datagrid-footer"); + input = ".datagrid-editable-input"; + if(res.data[0].unit){ //如果存在计量单位信息 + ratio = 1; //重置比例为1 + body.find("[field='Unit']").find(input).val(res.data[0].unit); //设置-计量单位信息 + body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 + body.find("[field='Unit']").find(input).off("click"); //移除点击事件 + body.find("[field='Unit']").find(input).attr("data-ratio",ratio); //修改比例缓存信息 + } + else { + var unitName = res.data[0].unitName; + if(unitName) { + ratio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); //给比例赋值 + unitName = unitName.substring(0, unitName.indexOf("(")); + } + var unitArr = unitName.split(","); + var basicUnit = unitArr[0]; //基础单位 + var otherUnit = unitArr[1]; //副单位 + var unitSetInput =""; //单位 + body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 + var loadRatio = 1; //在单位输入框上面加载比例字段 + if(listSubType === "采购" || listSubType === "采购退货" || listSubType === "采购订单"){ + unitSetInput = res.data[0].firstinunit; //给单位文本框赋值 + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = ratio; + } + } + else if(listSubType === "销售" || listSubType === "销售退货" || listSubType === "销售订单" || listSubType === "零售" || listSubType === "零售退货"){ + unitSetInput = res.data[0].firstoutunit; //给单位文本框赋值 + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = ratio; + } + } + body.find("[field='Unit']").find(input).val(unitSetInput).attr("data-ratio", loadRatio); //设置-首选单位 + + body.find("[field='Unit']").find(input).off("click").on("click",function(){ + if(basicUnit && otherUnit) { + var self = this; + //定义模版 + var temp = "
"; + temp +="
    "; + temp +="
  • " + basicUnit + "
  • "; + temp +="
  • " + otherUnit + "
  • "; + temp +="
"; + temp +="
"; + if($('.unit-list').length){ + $('.unit-list').remove(); //如果存在计量单位列表先移除 + } + else { + $(self).after(temp); //加载列表信息 + } + //计量单位列表的单击事件 + $('.unit-list ul li').off("click").on("click",function(){ + var unit = $(this).text(); + var thisRatio = $(this).attr("data-ratio"); //获取比例 + $(self).val(unit).attr("data-ratio", thisRatio); + $(self).keyup(); //模拟键盘操作 + $('.unit-list').remove(); //移除计量单位列表 + var stock = body.find("[field='Stock']").find(input).attr("data-stock"); //从缓存中取值 + var type = $(this).attr("data-type"); + var UnitPrice = 0; + if(type === "basic"){ + if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { + UnitPrice = basicPresetPriceOne; + } + else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { + UnitPrice = basicPresetPriceTwo; + } + else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ + UnitPrice = retailPriceOne; + } + body.find("[field='Stock']").find(input).val(stock); //修改库存 + } + else if(type === "other"){ + if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { + UnitPrice = otherPresetPriceOne; + } + else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { + UnitPrice = otherPresetPriceTwo; + } + else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ + UnitPrice = retailPriceTwo; + } + body.find("[field='Stock']").find(input).val((stock/ratio).toFixed(2)); //修改库存 + } + body.find("[field='UnitPrice']").find(input).val(UnitPrice); //单价 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //获取数量 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //获取税率 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //点击空白处移除计量单位列表 + $(".datagrid-body").off("click").on("click",function(){ + $('.unit-list').remove(); //移除计量单位列表 + }); + } + }); + } + var detailPrice = 0; //明细列表-单价 + if(listSubType == "零售" || listSubType == "零售退货") { + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = retailPrice; + } + else { + if (firstOutUnit == basicUnit) { + detailPrice = retailPriceOne; + } + else if (firstOutUnit == otherUnit) { + detailPrice = retailPriceTwo; + } + } + } + else if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = presetPriceOne; + } + else { + if (firstInUnit == basicUnit) { + detailPrice = basicPresetPriceOne; + } + else if (firstInUnit == otherUnit) { + detailPrice = otherPresetPriceOne; + } + } + } + else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = presetPriceTwo; + } + else { + if(firstOutUnit==basicUnit) { + detailPrice = basicPresetPriceTwo; + } + else if(firstOutUnit==otherUnit){ + detailPrice = otherPresetPriceTwo; + } + } + } + body.find("[field='OperNumber']").find(input).val(1); //数量初始化为1 + //单价和总价赋值 + if(!detailPrice) { + detailPrice = 0; + } + body.find("[field='UnitPrice']").find(input).val(detailPrice); + body.find("[field='AllPrice']").find(input).val(detailPrice); + var taxRate = body.find("[field='TaxRate']").find(input).val()-0; //获取税率 + body.find("[field='TaxUnitPrice']").find(input).val((detailPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((detailPrice*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((detailPrice*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,detailPrice,1,footer,taxRate); + + //查询库存信息 + var depotId = body.find("[field='DepotId']").find(".combo-value").val(); + if(depotId) { + var type = "select"; //type 类型:点击 click,选择 select + findStockNumById(depotId, mId, monthTime, body, input, loadRatio, type); + } + } + }, + error: function() { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + } + }); + } + } + } + } + }, + { title: '库存',field: 'Stock',editor:'validatebox',width:70}, + { title: anotherDepotHeadName, field: 'AnotherDepotId',editor:'validatebox',hidden:isShowAnotherDepot,width:90, + formatter: function (value, row, index) { + return row.AnotherDepotName; + }, + editor: { + type: 'combobox', + options: { + valueField: 'id', + textField: anotherDepotTextField, + method: 'get', + url: anotherDepotUrl + } + } + }, + { title: '单位',field: 'Unit',editor:'validatebox',width:60}, + { title: '数量',field: 'OperNumber',editor:'validatebox',width:60}, + { title: '单价',field: 'UnitPrice',editor:'validatebox',width:60}, + { title: '含税单价',field: 'TaxUnitPrice',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '金额',field: 'AllPrice',editor:'validatebox',width:75}, + { title: '税率(%)',field: 'TaxRate',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '税额',field: 'TaxMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '价税合计',field: 'TaxLastMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '备注',field: 'Remark',editor:'validatebox',width:120}, + { title: '品名-别',field: 'OtherField1',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '型号-别',field: 'OtherField2',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '颜色-别',field: 'OtherField3',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '备注1',field: 'OtherField4',editor:'validatebox',hidden:true,width:60}, + { title: '备注2',field: 'OtherField5',editor:'validatebox',hidden:true,width:60} + ]], + toolbar:[ + { + id:'append', + text:'新增', + iconCls:'icon-add', + handler:function() + { + append(); //新增 + } + }, + { + id:'delete', + text:'删除', + iconCls:'icon-remove', + handler:function() + { + batchDel(); //删除 + } + }, + { + id:'reject', + text:'撤销', + iconCls:'icon-undo', + handler:function() + { + reject(); //撤销 + } + } + ], + onLoadError:function() + { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); + $.ajax({ + type:"get", + url: '/depotItem/getDetailList', + data: { + headerId: depotHeadID, + mpList: mPropertyList + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + var data = res.data; + var AllPrice = 0; + var TaxLastMoney = 0; + var DiscountMoney = $("#DiscountMoney").val()-0; //优惠金额 + var DiscountLastMoney = $("#DiscountLastMoney").val()-0; //优惠后金额 + if(type === "edit") { + AllPrice = TotalPrice; + TaxLastMoney = DiscountMoney + DiscountLastMoney; + } + var array = []; + array.push({ + "AllPrice": AllPrice, + "TaxLastMoney": TaxLastMoney + }); + data.footer = array; + $("#materialData").datagrid('loadData',data); + //如果是订单跳转到采购或销售 + if(pageType === "skip") { + var skipList = $("#depotHeadFM .datagrid-body tr"); + //逐条自动点击每行数据 + skipList.each(function (i) { + setTimeout(function () { + skipList.eq(i).find("[field='Stock']").click(); + },(i+1)*1000); + }); + } + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); +} + +//初始化表格数据-商品列表-查看状态 +function initTableData_material_show(TotalPrice){ + var isShowAnotherDepot = true; //显示对方仓库,true为隐藏,false为显示 + var anotherDepotHeadName = ""; //对方仓库的列的标题 + var depotHeadName = ""; //仓库的列的标题 + if(listSubType == "调拨"){ + isShowAnotherDepot = false; //调拨时候显示对方仓库 + anotherDepotHeadName = "调入仓库"; + } + depotHeadName = "仓库名称"; + var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 + if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowTaxColumn = true; //隐藏 + } + var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 + if(listSubType == "组装单" || listSubType == "拆卸单"){ + isShowMaterialTypeColumn = false; //显示 + } + $('#materialDataShow').datagrid({ + height:245, + rownumbers: true, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + pagination: false, + //交替出现背景 + striped : true, + showFooter: true, + onClickRow: onClickRow, + columns:[[ + { title: '商品类型',field: 'MType',width:80, hidden:isShowMaterialTypeColumn}, + { title: depotHeadName,field: 'DepotName',editor:'validatebox',width:90}, + { title: '品名(型号)(扩展信息)(单位)',field: 'MaterialName',width:230}, + { title: anotherDepotHeadName,field: 'AnotherDepotName',hidden:isShowAnotherDepot,width:90}, + { title: '单位',field: 'Unit',editor:'validatebox',width:60}, + { title: '数量',field: 'OperNumber',editor:'validatebox',width:60}, + { title: '单价',field: 'UnitPrice',editor:'validatebox',width:60}, + { title: '含税单价',field: 'TaxUnitPrice',editor:'validattebox',hidden:isShowTaxColumn,width:75}, + { title: '金额',field: 'AllPrice',editor:'validatebox',width:75}, + { title: '税率',field: 'TaxRate',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '税额',field: 'TaxMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '价税合计',field: 'TaxLastMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '备注',field: 'Remark',editor:'validatebox',width:120}, + { title: '品名-别',field: 'OtherField1',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '型号-别',field: 'OtherField2',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '颜色-别',field: 'OtherField3',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '备注1',field: 'OtherField4',editor:'validatebox',hidden:true,width:60}, + { title: '备注2',field: 'OtherField5',editor:'validatebox',hidden:true,width:60} + ]], + onLoadError:function() { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); + $.ajax({ + type:"get", + url: '/depotItem/getDetailList', + data: { + headerId: depotHeadID, + mpList: mPropertyList + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + var data = res.data; + var AllPrice = TotalPrice; + var DiscountMoney = $("#DiscountMoneyShow").text() - 0; //优惠金额 + var DiscountLastMoney = $("#DiscountLastMoneyShow").text() - 0; //优惠后金额 + var array = []; + array.push({ + "AllPrice": AllPrice, + "TaxLastMoney": DiscountMoney + DiscountLastMoney + }); + data.footer = array; + $("#materialDataShow").datagrid('loadData', data); + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); +} + +//分页信息处理 +function ininPager(){ + try + { + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + pager.pagination({ + onSelectPage:function(pageNum, pageSize) + { + opts.pageNumber = pageNum; + opts.pageSize = pageSize; + pager.pagination('refresh', + { + pageNumber:pageNum, + pageSize:pageSize + }); + showDepotHeadDetails(pageNum,pageSize); + } + }); + } + catch (e) + { + $.messager.alert('异常处理提示',"分页信息异常 : " + e.name + ": " + e.message,'error'); + } +} + +//删除单据信息 +function deleteDepotHead(depotHeadID, thisOrganId, totalPrice, status){ + if(status == "1" || status == "2") { + $.messager.alert('删除提示','已审核和已转的单据不能删除!','warning'); + return; + } + $.messager.confirm('删除确认','确定要删除此单据信息吗?',function(r) { + if (r) { + $.ajax({ + type:"post", + // url: "/depotHead/" + depotHeadID + "/delete", + url: "/depotHead/deleteDepotHeadAndDetail", + dataType: "json", + data:{ + id: depotHeadID + }, + success: function (res) { + if(res && res.code == 200) { + $("#searchBtn").click(); + } else { + $.messager.alert('删除提示', '删除单据信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('删除提示','删除单据信息异常,请稍后再试!','error'); + return; + } + }); + + //更新会员的预收款信息 + if(listSubType === "零售") { + $.ajax({ + type:"post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data:{ + supplierId: thisOrganId, //会员id + advanceIn: totalPrice //删除时同时返还用户的预付款 + }, + success: function(res){ + if(res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function(){ + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + } + }); +} + +//订单转采购或销售 +function skipDepotHead(index, status){ + //获取当前行 + var rowsdata = $("#tableData").datagrid("getRows")[index]; + if(status == "0" || status == "2") { + $.messager.alert('提示','未审核和已转的单据禁止操作!','warning'); + } else { + sessionStorage.setItem("rowInfo", JSON.stringify(rowsdata)); //将单据信息存入缓存中 + if(listTitle == "采购订单列表") { + parent.addTab("订单转采购", "../materials/purchase_in_list.html?t=skip", ""); + } else if(listTitle == "销售订单列表") { + parent.addTab("订单转销售", "../materials/sale_out_list.html?t=skip", ""); + } + } +} + +//批量删除单据信息 +function batDeleteDepotHead(){ + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) + { + $.messager.alert('删除提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) + { + $.messager.confirm('删除确认','确定要删除选中的' + row.length + '条单据信息吗?',function(r) + { + if (r) { + var ids = ""; + for (var i = 0; i < row.length; i++) { + if (i == row.length - 1) { + if (row[i].status == 0) { + ids += row[i].id; + } + break; + } + ids += row[i].id + ","; + } + if (ids) { + //批量更新会员的预收款信息 + for (var i = 0; i < row.length; i++) { + if (listSubType === "零售") { + $.ajax({ + type: "post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data: { + supplierId: row[i].organid, //会员id + advanceIn: row[i].totalprice //删除时同时返还用户的预付款 + }, + success: function (res) { + if (res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function () { + $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); + return; + } + }); + } + } + //批量删除 + $.ajax({ + type: "post", + // url: "/depotHead/batchDelete", + url: "/depotHead/batchDeleteDepotHeadAndDetail", + dataType: "json", + async: false, + data: ({ + ids: ids + }), + success: function (res) { + if (res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('删除提示', '删除单据信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('删除提示', '删除单据信息异常,请稍后再试!', 'error'); + return; + } + }); + } else { + $.messager.alert('删除提示','没有能删除的单据!','warning'); + } + } + }); + } +} + +//批量审核 +function setStatusFun() { + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) { + $.messager.alert('审核提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) { + $.messager.confirm('审核确认','确定要审核选中的' + row.length + '条信息吗?',function(r) + { + if (r) + { + var ids = ""; + for(var i = 0;i < row.length; i ++) + { + if(i == row.length-1) + { + if(row[i].status != "2") { + ids += row[i].id; + } + break; + } + ids += row[i].id + ","; + } + if(ids) { + $.ajax({ + type:"post", + url: "/depotHead/batchSetStatus", + dataType: "json", + async : false, + data: ({ + status: "1", + depotHeadIDs : ids + }), + success: function (res) { + if(res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('审核提示', '审核信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('审核提示','审核信息异常,请稍后再试!','error'); + return; + } + }); + } else { + $.messager.alert('审核提示','没有能审核的单据!','warning'); + } + } + }); + } +} + +//批量反审核 +function setUnStatusFun() { + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) + { + $.messager.alert('反审核提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) + { + $.messager.confirm('反审核确认','确定要反审核选中的' + row.length + '条信息吗?',function(r) + { + if (r) + { + var ids = ""; + for(var i = 0;i < row.length; i ++) + { + if(i == row.length-1) + { + if(row[i].status != "2") { + ids += row[i].id; + } + break; + } + ids += row[i].id + ","; + } + if(ids) { + $.ajax({ + type: "post", + url: "/depotHead/batchSetStatus", + dataType: "json", + async: false, + data: ({ + status: "0", + depotHeadIDs: ids + }), + success: function (res) { + if (res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('反审核提示', '反审核信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('反审核提示', '反审核信息异常,请稍后再试!', 'error'); + return; + } + }); + } else { + $.messager.alert('反审核提示','没有能反审核的单据!','warning'); + } + } + }); + } +} + +//生成单据编号 +function buildNumber() { + $.ajax({ + type: "get", + url: "/depotHead/buildNumber", + success:function(res){ + if(res && res.code === 200){ + var obj = res.data; + var defaultNumber = obj.DefaultNumber; + var newNumber = amountNum + defaultNumber; + $("#Number").val(newNumber).attr("data-defaultNumber",newNumber); + } + }, + error:function(){ + $.messager.alert('提示','生成单据编号失败!','error'); + } + }); +} + +//新增信息 +function addDepotHead(){ + $('#depotHeadFM').form('clear'); + var thisDateTime = getNowFormatDateTime(); //当前时间 + $("#OperTime").val(thisDateTime); + buildNumber(); //生成单据编号 + //初始化优惠率、优惠金额、优惠后金额、本次付|收款、本次欠款 为0 + $("#Discount").val(0); + $("#DiscountMoney").val(0); + $("#DiscountLastMoney").val(0); + $("#ChangeAmount").val(0); + $("#Debt").val(0); + $("#AccountId").val(defaultAccountId); //初始化默认的账户Id + var addTitle = listTitle.replace("列表","信息"); + $('#depotHeadDlg').dialog('open').dialog('setTitle',' 增加' + addTitle); + $(".window-mask").css({ width: webW ,height: webH}); + + orgDepotHead = ""; + depotHeadID = 0; + initTableData_material("add"); //商品列表 + reject(); //撤销下、刷新商品列表 + $("#addOrgan").off("click").on("click",function(){ + $('#supplierDlg').dialog('open').dialog('setTitle',' 增加供应商信息'); + $('#supplierFM').form('clear'); + }); + + $("#addMember").off("click").on("click",function(){ + $('#supplierDlg').dialog('open').dialog('setTitle',' 增加会员信息'); + $('#supplierFM').form('clear'); + }); + $("#addCustomer").off("click").on("click",function(){ + $('#supplierDlg').dialog('open').dialog('setTitle',' 增加客户信息'); + $('#supplierFM').form('clear'); + }); + url = '/depotHead/addDepotHeadAndDetail'; + + //零售单据修改收款时,自动计算找零 + if(listSubType == "零售" || listSubType == "零售退货") { + $("#payType").val("现付"); + $("#OrganId").combobox("setValue", orgDefaultId); //自动默认选择非会员 + // 鼠标点下时清空选择项 + $("#OrganId").next().find("input").off("mousedown").on("mousedown",function(){ + $("#OrganId").combobox("setValue", ""); + }); + //当会员卡号长度超过10位后,自动点击下拉框,用于兼容刷卡器 + $("#OrganId").next().find("input").off("keyup").on("keyup",function(){ + var self = this; + if($(this).val().length === 10){ + setTimeout(function(){ + $(".combo-panel .combobox-item-selected").click(); + //更新付款类型,加载会员的预付款的金额 + for(var i=0; i0){ + option = ''; + option += ''; + } + else { + option += ''; + } + $("#payType").empty().append(option); + } + } + },1000); + } + }); + var getAmount = $("#depotHeadFM .get-amount"); + var changeAmount = $("#depotHeadFM .change-amount"); + var backAmount = $("#depotHeadFM .back-amount"); + getAmount.val(0); changeAmount.val(0); backAmount.val(0); //时间初始化 + getAmount.off("keyup").on("keyup",function() { + if(changeAmount.val()){ + backAmount.val((getAmount.val()-changeAmount.val()).toFixed(2)); + } + }); + } +} + +//编辑信息 +function editDepotHead(index, status){ + if(status == "1" || status == "2") { + $.messager.alert('编辑提示','已审核和已转的单据不能编辑!','warning'); + return; + } + // var depotHeadInfo = depotHeadTotalInfo.split("AaBb"); + //获取当前行 + var rowsdata =''; + if(Number(index).toString()=='NaN'){ + rowsdata=$.parseJSON(index); + }else{ + rowsdata=$("#tableData").datagrid("getRows")[index]; + } + $("#ProjectId").focus().val(rowsdata.projectid); + var ProjectId=rowsdata.projectid; + if(ProjectId!='') { + initSystemData_person(ProjectId); + initSelectInfo_person(); + } + var TotalPrice = rowsdata.totalprice; //合计金额 + if(pageType === "skip") { //从订单跳转过来 + buildNumber(); //生成单据编号 + var thisDateTime = getNowFormatDateTime(); //当前时间 + $("#OperTime").val(thisDateTime); + $("#LinkNumber").val(rowsdata.number); //关联订单号 + $("#AccountId").val(defaultAccountId); //初始化默认的账户Id + $("#DiscountLastMoney").val(TotalPrice); //优惠后金额 + $("#ChangeAmount").val(TotalPrice).attr("data-changeamount", TotalPrice); + } else { + $("#Number").val(rowsdata.number).attr("data-defaultNumber",rowsdata.number); + $("#OperTime").val(rowsdata.opertimeStr); + $("#LinkNumber").val(rowsdata.linknumber==undefined?"":rowsdata.linknumber); //关联订单号 + $("#AccountId").val(rowsdata.accountid); //账户Id + $("#DiscountLastMoney").val(rowsdata.discountlastmoney==undefined?"0.00":rowsdata.discountlastmoney); //优惠后金额 + $("#ChangeAmount").val(rowsdata.changeamount).attr("data-changeamount", rowsdata.changeamount); + } + $('#OrganId').combobox('setValue', rowsdata.organid==undefined?'':rowsdata.organid); + $("#HandsPersonId").val(rowsdata.handspersonid); + $("#Remark").val(rowsdata.remark); + $("#Discount").val(rowsdata.discount==undefined?"0":rowsdata.discount); + $("#DiscountMoney").val(rowsdata.discountmoney==undefined?"0.00":rowsdata.discountmoney); + $("#Debt").val(Number((rowsdata.discountlastmoney==undefined?'0.00':rowsdata.discountlastmoney-rowsdata.changeamount)).toFixed(2)); + $("#AccountDay").val(rowsdata.accountday==undefined?"":rowsdata.accountday); //结算天数 + preTotalPrice = rowsdata.totalprice; //记录前一次合计金额,用于扣预付款 + $("#AllocationProjectId").val(rowsdata.allocationprojectid); + oldNumber = rowsdata.number; //记录编辑前的单据编号 + oldId = rowsdata.id; //记录单据Id + var editTitle = listTitle.replace("列表","信息"); + $('#depotHeadDlg').dialog('open').dialog('setTitle',' 编辑' + editTitle); + $(".window-mask").css({ width: webW ,height: webH}); + depotHeadID = rowsdata.id; + + if(listSubType == "零售"){ + var option = ""; + if(rowsdata.paytype == "预付款"){ + option = ''; + option += ''; + } + else { + option += ''; + } + $("#payType").empty().append(option); + } + + if(listSubType == "销售" || listSubType == "销售退货"){ + if(rowsdata.salesman){ + var arr = rowsdata.salesman.split(","); + var salesmanArray = []; + for(var i=0;i","")); + } + } + $("#Salesman").combobox('setValues', salesmanArray); + } + } + + //采购入库、销售出库的多账户加载 + if(rowsdata.accountidlist!=undefined && rowsdata.accountmoneylist!=undefined){ + $("#AccountId").val("many"); //下拉框选中多账户 + var accountArr = rowsdata.accountidlist.split(","); + var accountMoneyArr = rowsdata.accountmoneylist.split(","); + accountMoneyArr = changeListFmtPlus(accountMoneyArr) //将数组单个金额中的数值转为正数 + + if(listSubType == "零售" || listSubType == "零售退货") { + var manyAccountMoney = 0; //多账户合计-零售 + for (var j = 0; j < accountArr.length; j++) { + if (accountList != null) { + for (var i = 0; i < accountList.length; i++) { + var account = accountList[i]; + if (accountArr[j] == account.id) { + manyAccountMoney += accountMoneyArr[j] - 0; //多账户合计-零售 + } + } + } + } + $("#getAmount").val(manyAccountMoney); //收款金额、付款金额 + var changeAmount = $("#ChangeAmount").val()-0; + $("#backAmount").val((manyAccountMoney-changeAmount).toFixed(2)); //找零 + } + + $("#AccountId").attr("data-accountArr", JSON.stringify(accountArr)).attr("data-accountMoneyArr", JSON.stringify(accountMoneyArr)); //json数据存储 + $(".many-account-ico").show(); //显示多账户的ico图标 + } + + //采购入库、销售出库的费用数据加载 + if(rowsdata.othermoneylist &&rowsdata.othermoneyitem){ + $("#OtherMoney").val(rowsdata.othermoney==undefined?"0":rowsdata.othermoney); //采购费用、销售费用 + var itemArr = rowsdata.othermoneylist.split(","); + var itemMoneyArr = rowsdata.othermoneyitem.split(","); + $("#OtherMoney").attr("data-itemArr",JSON.stringify(itemArr)).attr("data-itemMoneyArr",JSON.stringify(itemMoneyArr)); //json数据存储 + } + + initTableData_material("edit",TotalPrice); //商品列表 + reject(); //撤销下、刷新商品列表 + if(pageType === "skip") { + url = '/depotHead/addDepotHeadAndDetail'; //如果是从订单跳转过来,则此处为新增的接口 + //jshjshjsh + $("#depotHeadFM .datagrid-body").find("[field='DepotId']").click(); + } else { + url = '/depotHead/updateDepotHeadAndDetail?id=' + rowsdata.id; //更新接口 + } +} + +//查看信息 +function showDepotHead(index){ + // var depotHeadInfo = depotHeadTotalInfo.split("AaBb"); + //获取当前行 + var rowsdata = $("#tableData").datagrid("getRows")[index]; + var manyAccountMoney = 0; //多账户合计-零售 + $("#ProjectIdShow").text(rowsdata.projectName); + $("#NumberShow").text(rowsdata.number); + $("#OperTimeShow").text(rowsdata.opertimeStr); + $('#OrganIdShow').text(rowsdata.organName==undefined?'':rowsdata.organName); + $("#HandsPersonIdShow").text(rowsdata.handsPersonName); + if(rowsdata.accountName && rowsdata.accountName!=undefined){ + $("#AccountIdShow").text(rowsdata.accountName); //结算账户 + } else { + var accountArr = (rowsdata.accountidlist==undefined?"":rowsdata.accountidlist).split(","); //账户id列表 + var accountMoneyArr =(rowsdata.accountmoneylist==undefined?"":rowsdata.accountmoneylist).split(","); //账户金额列表 + var accountIdShow = ""; + for(var j =0;j 查看' + showTitle); + $(".window-mask").css({ width: webW ,height: webH}); + + depotHeadID = rowsdata.id; + initTableData_material_show(TotalPrice); //商品列表-查看状态 + + //零售单据展示数据 + if(listSubType == "零售" || listSubType == "零售退货"){ + var changeAccount = $("#depotHeadDlgShow .change-amount-show").text() -0; + if(manyAccountMoney!==0){ + $("#depotHeadDlgShow .get-amount-show").text((manyAccountMoney).toFixed(2)); + $("#depotHeadDlgShow .back-amount-show").text((manyAccountMoney -changeAccount).toFixed(2)); + } + else { + $("#depotHeadDlgShow .get-amount-show").text((changeAccount).toFixed(2)); + $("#depotHeadDlgShow .back-amount-show").text(0); + } + } + if(listSubType === "销售" || listSubType === "销售退货"){ + if(rowsdata.salesman){ + var arr = rowsdata.salesman.split(","); + var salesmanStr = ""; + for(var i=0;i",""); + } + else { + salesmanStr += arr[i].replace("<","").replace(">","") + ","; + } + } + } + $.ajax({ + type: "get", + url: "/person/getPersonByIds", + data: { + personIDs: salesmanStr + }, + success:function(res){ + if(res && res.code === 200){ + if(res.data) { + $("#SalesmanShow").text(res.data.names); //销售人员列表 + } + } + }, + error:function(){ + + } + }); + } + } +} + +//绑定操作事件 +function bindEvent(){ + showDepotHeadDetails(1,initPageSize); //初始化时自动查询 + //搜索处理 + $("#searchBtn").off("click").on("click",function(){ + showDepotHeadDetails(1,initPageSize); + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + opts.pageNumber = 1; + opts.pageSize = initPageSize; + pager.pagination('refresh', + { + pageNumber:1, + pageSize:initPageSize + }); + }); + + //重置按钮 + $("#searchResetBtn").unbind().bind({ + click:function(){ + //$("#searchProjectId").val(""); + $("#searchState").val(""); + $("#searchBeginTime").val(""); + $("#searchEndTime").val(""); + //加载完以后重新初始化 + $("#searchBtn").click(); + } + }); + + //检查单据编号是否存在 + function checkDepotHeadNumber() { + var thisNumber = $.trim($("#Number").val()); + //表示是否存在 true == 存在 false = 不存在 + var flag = false; + //开始ajax名称检验,不能重名 + if(thisNumber.length > 0 &&( oldNumber.length ==0 || thisNumber != oldNumber)) + { + $.ajax({ + type:"get", + url: "/depotHead/checkIsNumberExist", + dataType: "json", + async : false, + data: ({ + DepotHeadID : oldId, + Number : thisNumber + }), + success: function (tipInfo) + { + flag = tipInfo; + if(tipInfo) + { + $.messager.alert('提示','抱歉,该单据编号已经存在','warning'); + return; + } + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','检查单据编号是否存在异常,请稍后再试!','error'); + return; + } + }); + } + return flag; + } + //保存信息 + /** + * 2019-01-25 + * 我对这个方法的实现结果存在严重怀疑,决定重构 + * 有如下疑点: + * 1、保存完主表,返回结果后,再发起请求去操作子表,如何保证事务的一致性(业务数据一致性) + * 2、保存完主表后,再通过selectmax的方式去获取主表主键id完全就是看人品的不可靠的思路 + * 修改计划: + * 2019-01-25修改零售出库相关操作 + * 修改方式,重写url,将主从表操作合并 + * + * + * **/ + $("#saveDepotHead").off("click").on("click",function(){ + if(!$('#depotHeadFM').form('validate')){ + return; + } + else { + //如果初始编号被修改了,就要判断单据编号是否存在 + if($.trim($("#Number").val()) != $('#Number').attr("data-defaultNumber")){ + //调用查询单据编号是否重名的方法 + if(checkDepotHeadNumber()){ + return; + } + } + //输入框提示 + if(listTitle === "采购订单列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择供应商!','warning'); + return; + } + } + else if(listTitle === "采购入库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择供应商!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择结算账户!','warning'); + return; + } + } + else if(listTitle === "零售退货列表"){ + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择付款账户!','warning'); + return; + } + if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { + $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); + return; + } + } + else if(listTitle === "销售退货列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择退货单位!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择付款账户!','warning'); + return; + } + } + else if(listTitle === "其它入库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择往来单位!','warning'); + return; + } + } + else if(listTitle === "零售出库列表"){ + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择收款账户!','warning'); + return; + } + if($("#backAmount").val()-0 <0){ + $.messager.alert('提示','找零金额不能小于0!','warning'); + return; + } + if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { + $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); + return; + } + + } + else if(listTitle === "销售订单列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择购买单位!','warning'); + return; + } + } + else if(listTitle === "销售出库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择购买单位!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择收款账户!','warning'); + return; + } + } + else if(listTitle === "采购退货列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择收货单位!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择收款账户!','warning'); + return; + } + } + else if(listTitle === "其它出库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择往来单位!','warning'); + return; + } + } + else if(listTitle === "调拨出库列表"){ + + } + //进行明细的校验 + if(depotHeadID ==0) { + //新增模式下 + if (!CheckData("add")) { + return; + } + } + else { + //编辑模式下 + if (!CheckData("edit")) { + return; + } + } + var OrganId = null, ProjectId = null,AllocationProjectId = null; + var ChangeAmount = $.trim($("#ChangeAmount").val())-0; + var TotalPrice = $("#depotHeadFM .datagrid-footer [field='AllPrice'] div").text(); + if($('#OrganId').length){ + OrganId = $('#OrganId').combobox('getValue'); + } + var accountMoneyList = $("#AccountId").attr("data-accountmoneyarr"); //账户金额列表-多账户 + var accountMoneyArr; + if(accountMoneyList) { + accountMoneyList = accountMoneyList.replace("[","").replace("]","").toString(); + var reg=new RegExp("\"","g"); //创建正则RegExp对象 + accountMoneyList = accountMoneyList.replace(reg,""); //替换所有的双引号 + accountMoneyArr = accountMoneyList.split(","); //转为数组 + } + if(listSubType === "采购订单"||listSubType === "采购"||listSubType === "零售退货"||listSubType === "销售退货"){ + //付款为负数 + ChangeAmount = 0 - ChangeAmount; + TotalPrice = 0 - TotalPrice; + if(accountMoneyArr) { + accountMoneyArr = changeListFmtMinus(accountMoneyArr); //将数组单个金额中的数值转为负数 + } + } + //零售时候,可以从会员预付款中扣款 + var thisPayType = "现付"; + if(listSubType === "零售") { + if($("#payType").val() ==="预付款") { + thisPayType = "预付款"; + } + } + var SalesmanStr = ""; + if(listSubType === "销售" || listSubType === "销售退货"){ + var Salesman = $('#Salesman').combobox('getValues').toString(); //销售人员 + if(Salesman) { + var SalesmanArray = Salesman.split(","); + for (var i = 0; i < SalesmanArray.length; i++) { + if (i === SalesmanArray.length - 1) { + SalesmanStr += "<" + SalesmanArray[i] + ">"; + } + else { + SalesmanStr += "<" + SalesmanArray[i] + ">,"; + } + } + } + } + var getAccountID = $.trim($("#AccountId").val()); + if($("#AccountId").val() === "many"){ //多账户 + getAccountID = null; + } + var infoStr=JSON.stringify({ + Type: listType, + SubType: listSubType, + ProjectId: ProjectId, + AllocationProjectId: AllocationProjectId, + DefaultNumber: $.trim($("#Number").attr("data-defaultNumber")),//初始编号 + Number: $.trim($("#Number").val()), + LinkNumber: $.trim($("#LinkNumber").val()), + OperTime: $("#OperTime").val(), + OrganId: OrganId, + HandsPersonId: $.trim($("#HandsPersonId").val()), + Salesman: SalesmanStr, //销售人员 + AccountId: getAccountID, + ChangeAmount: ChangeAmount, //付款/收款 + TotalPrice: TotalPrice, //合计 + PayType: thisPayType, //现付/预付款 + Remark: $.trim($("#Remark").val()), + AccountIdList: $("#AccountId").attr("data-accountarr"), //账户列表-多账户 + AccountMoneyList: accountMoneyArr ? JSON.stringify(accountMoneyArr) : "", //账户金额列表-多账户 + Discount: $.trim($("#Discount").val()), + DiscountMoney: $.trim($("#DiscountMoney").val()), + DiscountLastMoney: $.trim($("#DiscountLastMoney").val()), + OtherMoney: $.trim($("#OtherMoney").val()), //采购费用、销售费用 + OtherMoneyList: $("#OtherMoney").attr("data-itemarr"), //支出项目列表-涉及费用 + OtherMoneyItem: $("#OtherMoney").attr("data-itemmoneyarr"), //支出项目金额列表-涉及费用 + AccountDay: $("#AccountDay").val() //结算天数 + }); + /** + * 零售出库,单独操作 + * */ + if(url.indexOf("/depotHead/addDepotHeadAndDetail")>=0){ + addDepotHeadAndDetail(url,infoStr); + return; + }else if(url.indexOf("/depotHead/updateDepotHeadAndDetail")>=0){ + updateDepotHeadAndDetail(url,infoStr,preTotalPrice); + return; + } + $.ajax({ + type:"post", + url: url, + dataType: "json", + async : false, + data: ({ + info:infoStr + }), + success: function (tipInfo) + { + if(tipInfo) + { + function closeDialog(){ + $('#depotHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showDepotHeadDetails(opts.pageNumber,opts.pageSize); + } + + if(thisPayType === "预付款") { + //更新用户信息-预付款 + var advanceIn = 0; //预付款金额 + if(depotHeadID){ + advanceIn = TotalPrice - preTotalPrice; //修改时,预付款=合计金额-加载金额 + } + else{ + advanceIn = TotalPrice; //新增时,预付款=合计金额 + } + $.ajax({ + type:"post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data:{ + supplierId: OrganId, //会员id + advanceIn: 0 - advanceIn //保存的同时扣掉用户的预付款 + }, + success: function(res){ + if(res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function(){ + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + + //保存明细记录 + if(depotHeadID ==0) + { + getMaxId(); //查找最大的Id + accept(depotHeadMaxId,closeDialog); //新增 + } + else + { + accept(depotHeadID,closeDialog); //修改 + } + } + else + { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + }); + + //打印单据 + $("#printDepotHeadShow").off("click").on("click",function(){ + var tableString = $("#depotHeadDlgShow").html(); + localStorage.setItem("tableString",tableString); + window.open("../../js/print/print_form.html","location:No;status:No;help:No;dialogWidth:800px;dialogHeight:600px;scroll:auto;"); + }); + + //初始化键盘enter事件 + $(document).keydown(function(event){ + //兼容 IE和firefox 事件 + var e = window.event || event; + var k = e.keyCode||e.which||e.charCode; + //兼容 IE,firefox 兼容 + var obj = e.srcElement ? e.srcElement : e.target; + //绑定键盘事件为 id是指定的输入框才可以触发键盘事件 13键盘事件 ---遗留问题 enter键效验 对话框会关闭问题 + if(k == "13"&&(obj.id=="State"||obj.id=="Number")) + { + $("#saveDepotHead").click(); + } + //搜索按钮添加快捷键 + if(k == "13"&&(obj.id=="searchState"||obj.id=="searchNumber"||obj.id=="searchMaterial")) + { + $("#searchBtn").click(); + } + }); + + //优惠率输入框事件 + $("#Discount").off("keyup").on("keyup",function(){ + var footer =$("#depotHeadFM .datagrid-footer"); + var totalPrice = footer.find("[field='TaxLastMoney']").find("div").text(); + var discountNum = $(this).val(); + var discountMoney = (discountNum/100*totalPrice).toFixed(2); + var discountLastMoney = (totalPrice - discountMoney).toFixed(2); + $("#DiscountMoney").val(discountMoney); //优惠金额 + $("#DiscountLastMoney").val(discountLastMoney); //优惠后金额 + if($("#AccountId").val()!=="many"){ + $("#ChangeAmount").val(discountLastMoney); //本次付、收款 + } + var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 + $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 + }); + + //优惠金额输入框事件 + $("#DiscountMoney").off("keyup").on("keyup",function(){ + var footer =$("#depotHeadFM .datagrid-footer"); + var totalPrice = footer.find("[field='TaxLastMoney']").find("div").text(); + var discountMoney = $(this).val(); + var discount = (discountMoney/totalPrice).toFixed(2)*100; + var discountLastMoney = (totalPrice - discountMoney).toFixed(2); + $("#Discount").val(discount); //优惠金额 + $("#DiscountLastMoney").val(discountLastMoney); //优惠后金额 + if($("#AccountId").val()!=="many"){ + $("#ChangeAmount").val(discountLastMoney); //本次付、收款 + } + var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 + $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 + }); + + //付款、收款输入框事件 + $("#ChangeAmount").off("keyup").on("keyup",function(){ + var discountLastMoney = $("#DiscountLastMoney").val(); + var changeAmount = $(this).val(); + var debtMoney = (discountLastMoney - changeAmount).toFixed(2); + $("#Debt").val(debtMoney); //本次欠款 + }); + + //多账户结算窗口弹出事件 + function depotHeadAccountDlgFun(){ + $('#depotHeadAccountDlg').dialog('open').dialog('setTitle',' 多账户结算'); + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").remove(); //先移除输入栏目 + $("#accountMoneyTotalDlg").text(0); //将合计初始化为0 + for(var i=0; i<6; i++) { + $("#depotHeadAccountDlg .tabs-tmp .account-content-tmp").attr("data-index",5-i); //添加索引 + var contentTmp = $("#depotHeadAccountDlg .tabs-tmp tbody").html(); + var accountDlgHead = $("#depotHeadAccountDlg .account-head-tmp"); + accountDlgHead.after(contentTmp); + } + + //获取账户信息 + function accountDlgFun() { + var options = ""; + if(accountList !=null){ + for(var i = 0 ;i < accountList.length;i++) { + var account = accountList[i]; + options += ''; + } + $(".account-id-dlg").empty().append("").append(options); + } + } + accountDlgFun(); //获取账户信息 + $("#depotHeadAccountDlg .tabs-tmp").hide(); //隐藏模板 + + //账户金额输入框事件-多账户 + $("#depotHeadAccountDlg .account-dlg .account-money-dlg").off("keyup").on("keyup",function(){ + var totalAccoutNum = 0; + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){ + var eachAccountMoney = $(this).find(".account-money-dlg").val()-0; + totalAccoutNum += eachAccountMoney; + }); + $("#accountMoneyTotalDlg").text(totalAccoutNum); + }); + + //结算多账户列表的切换事件 + $("#depotHeadAccountDlg .account-dlg .account-id-dlg").off("change").on("change",function(){ + var selectAccount = $(this).children('option:selected').text(); + if(selectAccount === ""){ + var thisMoneyDom = $(this).closest(".account-content-tmp").find(".account-money-dlg"); + var thisMoney = thisMoneyDom.val()-0; + var accountMoneyTotal = $("#accountMoneyTotalDlg").text() - 0; + $("#accountMoneyTotalDlg").text(accountMoneyTotal - thisMoney); + thisMoneyDom.val(""); //账户为空时候,将金额也置为空 + } + }); + + //保存按钮事件 + $("#saveDepotHeadAccountDlg").off("click").on("click", function(){ + //完成多账户的json数据存储 + var accountArr = []; //账户id数组 + var accountMoneyArr = []; //账户金额数组 + var errorIndex = -1; + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){ + var thisAccId = $(this).find(".account-id-dlg").val(); + var thisAccMoney = $(this).find(".account-money-dlg").val(); + if(!thisAccId && thisAccMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisAccId && !thisAccMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisAccId && thisAccMoney) { + accountArr.push(thisAccId); + accountMoneyArr.push(thisAccMoney); + } + }); + if(errorIndex >-1){ + $.messager.alert('错误提示',"第" + (errorIndex+1) + "行数据存在问题,请修改",'warning'); + return; + } + var discountLastMoneyNum =$("#DiscountLastMoney").val()-0; //优惠后金额 + var accountMoneyTotal = $("#accountMoneyTotalDlg").text()-0; //本次付款或者收款 + if(accountMoneyTotal===0){ + $.messager.alert('错误提示',"请填写金额后保存",'warning'); + return; + } + if(accountArr.length && accountMoneyArr.length) { + $("#AccountId").attr("data-accountArr",JSON.stringify(accountArr)).attr("data-accountMoneyArr",JSON.stringify(accountMoneyArr)); //json数据存储 + } + if(listSubType==="零售" || listSubType==="零售退货") { + $("#getAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 + var backAmount = $("#getAmount").val() - $("#ChangeAmount").val(); + $("#backAmount").val((backAmount - 0).toFixed(2)); //计算找零金额 + } + else { + $("#ChangeAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 + } + $("#Debt").val((discountLastMoneyNum-accountMoneyTotal).toFixed(2)); //本次欠款 + $("#depotHeadAccountDlg").dialog('close'); + }); + + //取消事件 + function cancelFun(){ + if($("#AccountId").attr("data-accountArr")){ + $("#depotHeadAccountDlg").dialog('close'); + } + else { + $("#depotHeadAccountDlg").dialog('close'); + $("#AccountId").val("").removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 + if(listSubType==="零售" || listSubType==="零售退货"){ + $("#ChangeAmount").prop("readonly","readonly"); + } + else { + $("#ChangeAmount").removeProp("readonly","readonly"); + } + $(".many-account-ico").hide(); //隐藏多账户小图标 + } + } + //多账户-取消按钮 + $("#cancelDepotHeadAccountDlg").off("click").on("click", function(){ + cancelFun(); + }); + + //多账户-右上角的关闭按钮 + $("#depotHeadAccountDlg").prev().find(".panel-tool-close").off("click").on("click", function(){ + cancelFun(); + }); + } + //点击多账户,弹出输入框 + $("#AccountId").off("change").on("change",function(){ + var selectText = $(this).children('option:selected').text(); + if(selectText === "多账户"){ + $("#ChangeAmount").prop("readonly","readonly"); + depotHeadAccountDlgFun(); + $(".many-account-ico").show(); //显示多账户小图标 + } + else{ + $(this).removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 + if(listSubType==="零售" || listSubType==="零售退货"){ + $("#ChangeAmount").prop("readonly","readonly"); + } + else { + $("#ChangeAmount").removeProp("readonly","readonly"); + } + $(".many-account-ico").hide(); //隐藏多账户小图标 + } + }); + + //结算账户-多账户小图标-点击事件 + $(".many-account-ico").off("click").on("click",function(){ + depotHeadAccountDlgFun(); + //给弹窗赋值-多账户数据 + var accountArr = $("#AccountId").attr("data-accountArr"); + accountArr = JSON.parse(accountArr); + var accountMoneyArr = $("#AccountId").attr("data-accountMoneyArr"); + accountMoneyArr = JSON.parse(accountMoneyArr); + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){ + var index = $(this).attr("data-index"); + $(this).find(".account-id-dlg").val(accountArr[index]); + $(this).find(".account-money-dlg").val(accountMoneyArr[index]); + }); + if(listSubType==="零售" || listSubType==="零售退货") { + $("#accountMoneyTotalDlg").text($("#getAmount").val()); + } + else { + $("#accountMoneyTotalDlg").text($("#ChangeAmount").val()); + } + }); + + //点击采购费用、销售费用的事件 + $(".other-money-ico").off("click").on("click",function(){ + $('#otherMoneyDlg').dialog('open').dialog('setTitle',' '+ listSubType +'费用'); + $("#otherMoneyDlg .money-dlg .money-content-tmp").remove(); //先移除输入栏目 + $("#otherMoneyTotalDlg").text(0); //将合计初始化为0 + for(var i=0; i<6; i++) { + $("#otherMoneyDlg .tabs-tmp .money-content-tmp").attr("data-index",5-i); //添加索引 + var contentTmp = $("#otherMoneyDlg .tabs-tmp tbody").html(); + var moneyDlgHead = $("#otherMoneyDlg .money-head-tmp"); + moneyDlgHead.after(contentTmp); + } + + //获取支出项目信息 + function moneyDlgFun() { + var options = ""; + if(outItemList !=null){ + for(var i = 0 ;i < outItemList.length;i++) { + var money = outItemList[i]; + options += ''; + } + $(".money-id-dlg").empty().append("").append(options); + } + } + moneyDlgFun(); //获取支出项目信息 + $("#otherMoneyDlg .tabs-tmp").hide(); //隐藏模板 + + //支出项目的金额输入框事件 + $("#otherMoneyDlg .money-dlg .other-money-dlg").off("keyup").on("keyup",function(){ + var totalMoneyNum = 0; + $("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){ + var eachOtherMoney = $(this).find(".other-money-dlg").val()-0; + totalMoneyNum += eachOtherMoney; + }); + $("#otherMoneyTotalDlg").text(totalMoneyNum); + }); + + //支出项目列表的切换事件 + $("#otherMoneyDlg .money-dlg .money-id-dlg").off("change").on("change",function(){ + var selectItem = $(this).children('option:selected').text(); + if(selectItem === ""){ + var thisMoneyDom = $(this).closest(".money-content-tmp").find(".other-money-dlg"); + var thisMoney = thisMoneyDom.val()-0; + var otherMoneyTotal = $("#otherMoneyTotalDlg").text() - 0; + $("#otherMoneyTotalDlg").text(otherMoneyTotal - thisMoney); + thisMoneyDom.val(""); //支出项目为空时候,将金额也置为空 + } + }); + + //保存按钮事件 + $("#saveOtherMoneyDlg").off("click").on("click", function(){ + //完成支出项目的json数据存储 + var itemArr = []; //支出项目id数组 + var itemMoneyArr = []; //支出项目金额数组 + var errorIndex = -1; + $("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){ + var thisId = $(this).find(".money-id-dlg").val(); + var thisMoney = $(this).find(".other-money-dlg").val(); + if(!thisId && thisMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisId && !thisMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisId && thisMoney) { + itemArr.push(thisId); + itemMoneyArr.push(thisMoney); + } + }); + if(errorIndex >-1){ + $.messager.alert('错误提示',"第" + (errorIndex+1) + "行数据存在问题,请修改",'warning'); + return; + } + var otherMoneyTotal = $("#otherMoneyTotalDlg").text()-0; //合计金额 + if(otherMoneyTotal === 0){ //0的时候清空缓存数据 + $("#OtherMoney").removeAttr("data-itemArr").removeAttr("data-itemMoneyArr"); + } + if(itemArr.length && itemMoneyArr.length) { + $("#OtherMoney").attr("data-itemArr",JSON.stringify(itemArr)).attr("data-itemMoneyArr",JSON.stringify(itemMoneyArr)); //json数据存储 + } + $("#OtherMoney").val(otherMoneyTotal); //给采购费用、销售费用赋值 + $("#otherMoneyDlg").dialog('close'); + }); + + //取消事件 + function cancelFun(){ + if($("#OtherMoney").attr("data-itemArr")){ + $("#otherMoneyDlg").dialog('close'); + } + else { + $("#otherMoneyDlg").dialog('close'); + $("#OtherMoney").val("").removeAttr("data-itemArr").removeAttr("data-itemMoneyArr"); //将下拉置空并把缓存参数清空 + } + } + //费用-取消按钮 + $("#cancelOtherMoneyDlg").off("click").on("click", function(){ + cancelFun(); + }); + + //费用-右上角的关闭按钮 + $("#otherMoneyDlg").prev().find(".panel-tool-close").off("click").on("click", function(){ + cancelFun(); + }); + + //给弹窗赋值-采购费用、销售费用数据 + var itemArr = $("#OtherMoney").attr("data-itemArr"); + itemArr = JSON.parse(itemArr); + var itemMoneyArr = $("#OtherMoney").attr("data-itemMoneyArr"); + itemMoneyArr = JSON.parse(itemMoneyArr); + $("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){ + var index = $(this).attr("data-index"); + $(this).find(".money-id-dlg").val(itemArr[index]); + if(itemMoneyArr[index]!="undefined"){ + $(this).find(".other-money-dlg").val(itemMoneyArr[index]); + } + }); + $("#otherMoneyTotalDlg").text($("#OtherMoney").val()); + }); + + if(listTitle === "采购入库列表" || listTitle === "其它入库列表" || listTitle === "采购订单列表"|| listTitle === "零售出库列表"|| listTitle === "销售出库列表"|| listTitle === "销售订单列表"){ + var supplierType = "供应商"; + if(listTitle === "零售出库列表"){ + supplierType = "会员"; + }else if(listTitle === "销售出库列表" || listTitle === "销售订单列表"){ + supplierType = "客户"; + } + //检查单位名称是否存在 ++ 重名无法提示问题需要跟进 + function checkSupplierName() { + var supplierName = $.trim($("#supplier").val()); + var orgSupplier = ""; + //表示是否存在 true == 存在 false = 不存在 + var flag = false; + //开始ajax名称检验,不能重名 + if(supplierName.length > 0 &&( orgSupplier.length ==0 || supplierName != orgSupplier)) + { + $.ajax({ + type:"get", + url: "/supplier/checkIsNameExist", + dataType: "json", + async : false, + data: ({ + id : 0, + name : supplierName + }), + success: function (res) { + if(res && res.code === 200) { + if(res.data && res.data.status) { + flag = res.data.status; + if (flag) { + $.messager.alert('提示', '单位名称已经存在', 'info'); + return; + } + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('提示','检查单位名称是否存在异常,请稍后再试!','error'); + return; + } + }); + } + return flag; + } + + //保存供应商信息 + $("#saveSupplier").off("click").on("click",function() { + if(validateForm("supplierFM")) { + return; + } + if(checkSupplierName()){ + return; + } + var reg = /^([0-9])+$/; + var phonenum = $.trim($("#phonenum").val()); + if(phonenum.length>0 && !reg.test(phonenum)) + { + $.messager.alert('提示','电话号码只能是数字','info'); + $("#phonenum").val("").focus(); + return; + } + var beginNeedGet = $.trim($("#BeginNeedGet").val()); + var beginNeedPay = $.trim($("#BeginNeedPay").val()); + if(beginNeedGet && beginNeedPay) { + $.messager.alert('提示','期初应收和期初应付不能同时输入','info'); + return; + } + var url = '/supplier/add'; + var supObj = $("#supplierFM").serializeObject(); + supObj.type = supplierType; + supObj.enabled = 1; + $.ajax({ + url: url, + type:"post", + dataType: "json", + data:{ + info: JSON.stringify(supObj) + }, + success: function(res) { + if (res) { + $('#supplierDlg').dialog('close'); + initSupplier(); //刷新供应商 + } + } + }); + }); + } +} + +function showDepotHeadDetails(pageNo,pageSize){ + var materialParam = $.trim($("#searchMaterial").val()); + $.ajax({ + type:"get", + url: "/depotItem/getHeaderIdByMaterial", + dataType: "json", + data: ({ + materialParam: materialParam, + depotIds: depotString + }), + success: function (res) { + if(res && res.code === 200) { + var ids = res.data; + if(ids){ + $.ajax({ + type: "get", + url: "/depotHead/list", + dataType: "json", + data: ({ + search: JSON.stringify({ + type: listType, + subType: listSubType, + state: $.trim($("#searchState").val()), + number: $.trim($("#searchNumber").val()), + beginTime: $("#searchBeginTime").val(), + endTime: $("#searchEndTime").val(), + dhIds: ids + }), + currentPage: pageNo, + pageSize: pageSize + }), + success: function (res) { + if(res && res.code === 200){ + if(res.data && res.data.page) { + $("#tableData").datagrid('loadData', res.data.page); + } + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); + return; + } + }); + } + else { + $("#tableData").datagrid('loadData', []); + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + return; + } + }); +} + +//自动计算事件 +function autoReckon() { + //延时绑定事件 + setTimeout(function(){ + var body =$("#depotHeadFM .datagrid-body"); + var footer =$("#depotHeadFM .datagrid-footer"); + var input = ".datagrid-editable-input"; + //点击商品下拉框,自动加载数量、单价、金额 + body.find("[field='Stock']").find(input).prop("readonly","readonly"); + //点击库存文本框,字段计算库存 + body.find("[field='Stock']").find(input).off("click").on("click",function(){ + var depotId = body.find("[field='DepotId']").find(".combo-value").val(); + var mId = body.find("[field='MaterialId']").find(".combo-value").val(); + var monthTime = getNowFormatMonth(); + if(depotId && mId){ + var ratio = body.find("[field='Unit']").find(input).attr("data-ratio"); + body.find("[field='Stock']").find(input).prop("readonly","readonly"); + //在新增的时候,这个ratio有值;在编辑的时候,这个ratio为undefined + var type = "click"; //type 类型:点击 click,选择 select + findStockNumById(depotId, mId, monthTime, body, input, ratio, type); + } + else{ + body.find("[field='Stock']").find(input).val(0).attr("data-stock",0); //加载库存数据 + } + }); + //修改数量,自动计算金额和合计,另外计算含税单价、税额、价税合计 + body.find("[field='OperNumber']").find(input).off("keyup").on("keyup",function(){ + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var OperNumber =$(this).val()-0; //数量 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + + }); + //修改单价,自动计算金额和合计 + body.find("[field='UnitPrice']").find(input).off("keyup").on("keyup",function(){ + var UnitPrice =$(this).val()-0; //单价 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //点击单价,自动提示参考价格列表 + body.find("[field='UnitPrice']").find(input).off("click").on("click",function(){ + var self = this; + var mValue = body.find("[field='MaterialId'] .combo-value").attr("value"); //获取选中的商品id + if(!mValue) { + return; + } + else { + if(listTitle!="销售出库列表" && listTitle!="采购退货列表" && listTitle!="其它出库列表" && listTitle!="调拨出库列表") { + return; + } + $.ajax({ + url: "/material/findById", + type: "get", + dataType: "json", + data: { + id: mValue - 0 + }, + success: function(res){ + if(res && res.rows && res.rows[0]) { + var retailPrice = res.rows[0].RetailPrice; + var presetPriceOne = res.rows[0].PresetPriceOne; + var presetPriceTwo = res.rows[0].PresetPriceTwo; + //定义模版 + var temp = "
"; + temp +="
    "; + temp +="
  • 批发价:" + presetPriceTwo + "
  • "; + temp +="
  • 零售价:" + retailPrice + "
  • "; + temp +="
"; + temp +="
"; + if($('.price-list').length){ + $('.price-list').remove(); //如果存在价格列表先移除 + } + else { + if(presetPriceTwo != undefined){ //多单位的商品 + $(self).after(temp); //加载列表信息 + } + } + $('.price-list ul li').off("click").on("click",function(){ + var price = $(this).text(); + price = price.substring(price.indexOf(":") + 1); + $(self).val(price); + $(self).keyup(); //模拟键盘操作 + $('.price-list').remove(); //移除价格列表 + }); + //点击空白处移除价格列表 + $(".datagrid-body").off("click").on("click",function(){ + $('.price-list').remove(); //移除价格列表 + }); + } + }, + error: function(){ + $.messager.alert('错误提示','查询商品信息异常,请稍后再试!','error'); + return; + } + }); + } + }); + //修改含税单价,自动计算单价、金额、税额、价税合计和合计 + body.find("[field='TaxUnitPrice']").find(input).off("keyup").on("keyup",function(){ + var TaxUnitPrice =$(this).val()-0; //含税单价 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var UnitPrice = TaxUnitPrice/(1+taxRate/100); //计算单价 + body.find("[field='UnitPrice']").find(input).val((UnitPrice).toFixed(2)); //单价 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改金额,自动计算单价、税额、价税合计和合计 + body.find("[field='AllPrice']").find(input).off("keyup").on("keyup",function(){ + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var AllPrice =$(this).val()-0; //金额 + var UnitPrice = (AllPrice/OperNumber).toFixed(2); + body.find("[field='UnitPrice']").find(input).val(UnitPrice); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改税率,自动计算含税单价、税额、价税合计和合计 + body.find("[field='TaxRate']").find(input).off("keyup").on("keyup",function(){ + var taxRate =$(this).val()-0; //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改税额,自动计算税率、含税单价、价税合计和合计 + body.find("[field='TaxMoney']").find(input).off("keyup").on("keyup",function(){ + var taxMoney =$(this).val()-0; //税额 + var AllPrice = body.find("[field='AllPrice']").find(input).val(); //金额 + var taxRate = taxMoney/AllPrice*100; //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxRate']").find(input).val((taxRate).toFixed(2)); //税率 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改价税合计,自动计算税率、含税单价、税额和合计 + body.find("[field='TaxLastMoney']").find(input).off("keyup").on("keyup",function(){ + var taxLastMoney =$(this).val()-0; //价税合计 + var AllPrice = body.find("[field='AllPrice']").find(input).val(); //金额 + var taxRate = (taxLastMoney-AllPrice)/AllPrice*100; //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxRate']").find(input).val((taxRate).toFixed(2)); //税率 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + + //加载税率 + if(thisTaxRate) { + body.find("[field='TaxRate']").find(input).val(thisTaxRate); + } + else { + body.find("[field='TaxRate']").find(input).val(0); //默认为0 + } + + //在商品类型加载 组装件、普通子件 + var mType = body.find("[field='MType']"); + var rowListLength = mType.find(input).closest(".datagrid-row").attr("datagrid-row-index"); + var mTypeValue = "组合件"; + if(rowListLength > 0){ + mTypeValue = "普通子件"; + } + if(listSubType == "组装单" || listSubType == "拆卸单"){ + mType.find(input).val(mTypeValue).prop("readonly","readonly"); + } + },500); +} + +//结束编辑 +function endEditing() { + if (editIndex == undefined) { return true } + if ($('#materialData').datagrid('validateRow', editIndex)) { + //仓库信息 + var edDepot = $('#materialData').datagrid('getEditor', {index:editIndex,field:'DepotId'}); + var DepotName = $(edDepot.target).combobox('getText'); + $('#materialData').datagrid('getRows')[editIndex]['DepotName'] = DepotName; + //商品信息 + var edMaterial = $('#materialData').datagrid('getEditor', {index:editIndex,field:'MaterialId'}); + var MaterialName = $(edMaterial.target).combobox('getText'); + $('#materialData').datagrid('getRows')[editIndex]['MaterialName'] = MaterialName; + $('#materialData').datagrid('endEdit', editIndex); + editIndex = undefined; + return true; + } else { + return false; + } +} +//单击 +function onClickRow(index) { + if (editIndex != index) { + if (endEditing()) { + $('#materialData').datagrid('selectRow', index).datagrid('beginEdit', index); + editIndex = index; + autoReckon(); + } else { + $('#materialData').datagrid('selectRow', editIndex); + } + } +} +//新增 +function append(){ + if (endEditing()) { + $('#materialData').datagrid('appendRow', {DepotId:defDepotId}); + editIndex = $('#materialData').datagrid('getRows').length - 1; + $('#materialData').datagrid('selectRow', editIndex).datagrid('beginEdit', editIndex); + autoReckon(); + } +} +//删除 +function batchDel(){ + /** + * 重写一下删除的逻辑 + * 获取所有选中行,直接从列表中移除 + * 点击保存时,将需要后台删除的数据提交到服务器 + * **/ + /** + * create by: qiankunpingtai + * create time: 2019/3/20 16:26 + * description: + * 这个地方比较坑的,花了一个多小时才搞明白为什么 + * 1、删除之前必须先调用endEditing结束编辑 + * 2、如果只是调用endEditing结束编辑那么正在编辑行的被选中状态会被去掉 + * 所以要在调用endEditing先获取选中的行 + */ + //如果编辑的行一开始是选中状态,结束编辑后仍然是选中状态 + var row = $('#materialData').datagrid('getChecked'); + if (endEditing()) { + if (row.length == 0) { + $.messager.alert('删除提示', '没有记录被选中!', 'info'); + return; + } + if (row.length > 0) { + $.messager.confirm('删除确认', '确定要删除选中的' + row.length + '条单据信息吗?', function (r) { + if (r) { + for (var i = 0; i < row.length; i++) { + $('#materialData').datagrid('deleteRow', $('#materialData').datagrid("getRowIndex", row[i])); + } + } + }); + } + } +} +function removeit(){ + if (editIndex == undefined) { return } + $('#materialData').datagrid('cancelEdit', editIndex) + .datagrid('deleteRow', editIndex); + editIndex = undefined; +} +//撤销 +function reject() { + $('#materialData').datagrid('rejectChanges'); + editIndex = undefined; +} +//判断 +function CheckData(type) { + append(); + removeit(); + var change = $('#materialData').datagrid('getChanges').length; + if(type =="add" && !change) { + $.messager.alert('提示','请输入明细信息!','warning'); + return false; + } + var row = $('#materialData').datagrid('getRows'); + if(!row.length){ + $.messager.alert('提示',"请输入明细信息!",'info'); + return false; + } + var totalRowNum = ""; + for (var i = 0; i < row.length; i++) { + if (row[i].DepotId == "" || row[i].MaterialId == "" || row[i].OperNumber == "" || row[i].UnitPrice === "" || row[i].AllPrice === "") { + totalRowNum += (i + 1) + "、"; + } + } + if (totalRowNum != "") { + var totalRowNum = totalRowNum.substring(0, totalRowNum.length - 1); + $.messager.alert('提示',"第" + totalRowNum + "行数据填写不完整!",'info'); + return false; + } + return true; +} +//保存 +function accept(accepId,fun) { + var inserted = $("#materialData").datagrid('getChanges', "inserted"); + var deleted = $("#materialData").datagrid('getChanges', "deleted"); + var updated = $("#materialData").datagrid('getChanges', "updated"); + $.ajax({ + type: "post", + url: "/depotItem/saveDetials", + data: { + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated), + headerId:accepId + }, + success: function (tipInfo) + { + if (tipInfo) { + $.messager.alert('提示','保存成功!','info'); + } + else { + $.messager.alert('提示', '保存失败!', 'error'); + } + fun && fun(); + }, + error: function (XmlHttpRequest, textStatus, errorThrown) + { + $.messager.alert('提示',XmlHttpRequest.responseText,'error'); + fun && fun(); + } + }); + if (endEditing()) { + $('#materialData').datagrid('acceptChanges'); + } +} +//获取MaxId +function getMaxId(){ + var depotHeadMax=null; + $.ajax({ + type:"get", + url: "/depotHead/getMaxId", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + depotHeadMax = res.data.maxId; + } + } + } + }); + + if(depotHeadMax !=null) { + depotHeadMaxId=depotHeadMax; + } +} + +/** + * 新增单据主表及单据子表 + * */ +function addDepotHeadAndDetail(url,infoStr){ + var inserted = null; + if(pageType === "skip") { + inserted = $("#materialData").datagrid('getChanges', "updated"); + } else { + inserted = $("#materialData").datagrid('getChanges', "inserted"); + } + var deleted = $("#materialData").datagrid('getChanges', "deleted"); + var updated = $("#materialData").datagrid('getChanges', "updated"); + $.ajax({ + type:"post", + url: url, + dataType: "json", + async : false, + data: ({ + info:infoStr, + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated) + }), + success: function (tipInfo){ + + if(tipInfo){ + if(tipInfo.code!=200){ + $.messager.alert('提示', tipInfo.msg, 'error'); + return; + } + $.messager.alert('提示','保存成功!','info'); + $('#depotHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showDepotHeadDetails(opts.pageNumber,opts.pageSize); + + }else { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + + + }); +} +/** + * 修改单据主表及单据子表 + * */ +function updateDepotHeadAndDetail(url,infoStr,preTotalPrice){ + var inserted = $("#materialData").datagrid('getChanges', "inserted"); + var deleted = $("#materialData").datagrid('getChanges', "deleted"); + var updated = $("#materialData").datagrid('getChanges', "updated"); + $.ajax({ + type:"post", + url: url, + dataType: "json", + async : false, + data: ({ + id:url.substring(url.lastIndexOf("?id=")+4,url.length), + info:infoStr, + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated), + preTotalPrice:preTotalPrice + }), + success: function (tipInfo){ + if(tipInfo){ + if(tipInfo.code!=200){ + $.messager.alert('提示', tipInfo.msg, 'error'); + return; + } + $.messager.alert('提示','保存成功!','info'); + $('#depotHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showDepotHeadDetails(opts.pageNumber,opts.pageSize); + if (endEditing()) { + $('#materialData').datagrid('acceptChanges'); + } + }else { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); +} + + + + diff --git a/erp_web/js/pages/materials/retail_out_list.js b/erp_web/js/pages/materials/retail_out_list.js new file mode 100644 index 00000000..662d9507 --- /dev/null +++ b/erp_web/js/pages/materials/retail_out_list.js @@ -0,0 +1,3205 @@ +//初始化界面 +var defDepotId = null; +var kid = sessionStorage.getItem("userId"); +var pageType = getUrlParam('t'); //获取页面类型传值 +var depotList = null; +var depotID = null; +var supplierList = null; +var supplierID = null; +var personList = null; +var personID = null; +var ProjectSearch=null; +var userBusinessList=null; +var userdepot=null; +var depotHeadMaxId=null; //获取最大的Id +var accepId=null; //保存的主表id +var url; +var depotHeadID = 0; +var preTotalPrice = 0; //前一次加载的金额 +var orgDepotHead = ""; +var editIndex = undefined; +var listTitle = ""; //单据标题 +var listType = ""; //入库 出库 +var listSubType = ""; //采购 销售等 +var payTypeTitle = "";//付款 收款 +var organUrl = ""; //组织数据接口地址 +var amountNum = ""; //单据编号开头字符 +var depotString = ""; //店铺id列表 +/**默认编号有意义吗,不如空着吧*/ +var orgDefaultId=''; //单位默认编号 +var orgDefaultList; //存储查询出来的会员列表 +var accountList; //账户列表 +var outItemList; //支出项目列表 +var thisTaxRate = 0; //当前税率,选择供应商或者客户的时候设置 +var oldNumber = ""; //编辑前的单据编号 +var oldId = 0; //编辑前的单据Id +var otherColumns = true; //明细中的‘别名’列是否显示 +var btnEnableList = getBtnStr(); //获取按钮的权限 +var mPropertyList = ""; //商品属性列表 +var defaultAccountId = 0; //默认账户id +$(function(){ + //初始化系统基础信息 + getType(); + initSystemData_UB(); + initSelectInfo_UB(); + initSystemData_depot(); + initSelectInfo_depot(); + initSystemData_person(); + initSelectInfo_person(); + initSystemData_account(); + initSelectInfo_account(); + initSupplier(); //供应商 + initSalesman(); //销售人员 + initOutItemList(); //初始化支出项目 + initMProperty(); //初始化商品属性 + initTableData(); + ininPager(); + initForm(); + bindEvent();//绑定操作事件 +}); +//根据单据名称获取类型 +function getType(){ + listTitle = $("#tablePanel").prev().text(); + depotString = "|"; + //改变宽度和高度 + $("#searchPanel").panel({width:webW-2}); + $("#tablePanel").panel({width:webW-2}); + var supUrl = "/supplier/findBySelect_sup"; //供应商接口 + var cusUrl = "/supplier/findBySelect_cus?UBType=UserCustomer&UBKeyId=" + kid; //客户接口 + var retailUrl = "/supplier/findBySelect_retail"; //散户接口 + if(listTitle === "采购订单列表"){ + listType = "其它"; + listSubType = "采购订单"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "CGDD"; + } + else if(listTitle === "采购入库列表"){ + listType = "入库"; + listSubType = "采购"; + payTypeTitle = "付款"; + organUrl = supUrl; + amountNum = "CGRK"; + } + else if(listTitle === "零售退货列表"){ + listType = "入库"; + listSubType = "零售退货"; //注:用预付款购买的产品不能退货 + payTypeTitle = "付款"; + organUrl = retailUrl; + amountNum = "LSTH"; + } + else if(listTitle === "销售退货列表"){ + listType = "入库"; + listSubType = "销售退货"; + payTypeTitle = "付款"; + organUrl = cusUrl; + amountNum = "XSTH"; + } + else if(listTitle === "其它入库列表"){ + listType = "入库"; + listSubType = "其它"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "QTRK"; + } + else if(listTitle === "零售出库列表"){ + listType = "出库"; + listSubType = "零售"; + payTypeTitle = "收款"; + organUrl = retailUrl; + amountNum = "LSCK"; + } + else if(listTitle === "销售订单列表"){ + listType = "其它"; + listSubType = "销售订单"; + payTypeTitle = "隐藏"; + organUrl = cusUrl; + amountNum = "XSDD"; + } + else if(listTitle === "销售出库列表"){ + listType = "出库"; + listSubType = "销售"; + payTypeTitle = "收款"; + organUrl = cusUrl; + amountNum = "XSCK"; + } + else if(listTitle === "采购退货列表"){ + listType = "出库"; + listSubType = "采购退货"; + payTypeTitle = "收款"; + organUrl = supUrl; + amountNum = "CGTH"; + } + else if(listTitle === "其它出库列表"){ + listType = "出库"; + listSubType = "其它"; + payTypeTitle = "隐藏"; + organUrl = cusUrl; + amountNum = "QTCK"; + } + else if(listTitle === "调拨出库列表"){ + listType = "出库"; + listSubType = "调拨"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "DBCK"; + } + else if(listTitle === "组装单列表"){ + listType = "其它"; + listSubType = "组装单"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "ZZD"; + } + else if(listTitle === "拆卸单列表"){ + listType = "其它"; + listSubType = "拆卸单"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "CXD"; + } +} +//初始化系统基础信息 +function initSystemData_UB(){ + $.ajax({ + type:"get", + url: "/userBusiness/getBasicData", + data: ({ + KeyId:kid, + Type:"UserDepot" + }), + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if (res && res.code === 200) { + userBusinessList = res.data.userBusinessList; + } + else { + userBusinessList = null; + } + } + }); + +} +//初始化页面选项卡 +function initSelectInfo_UB(){ + + if(userBusinessList !=null) + { + if(userBusinessList.length>0) + { + //用户对应的仓库列表 [1][2][3]... + userdepot =userBusinessList[0].value; + } + } +} + + +//初始化系统基础信息 +function initSystemData_depot(){ + $.ajax({ + type:"get", + url: "/depot/getAllList", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200){ + depotList = res.data; + } else { + $.messager.alert('提示', '查找系统基础信息异常,请与管理员联系!', 'error'); + return; + } + } + }); +} +//初始化页面选项卡 +function initSelectInfo_depot(){ + var options = ""; + + if(depotList !=null) + { + options = ""; + for(var i = 0 ;i < depotList.length;i++) + { + var depot = depotList[i]; + + if(userdepot!=null) + { + if(userdepot.indexOf("["+depot.id+"]")!=-1) + { + if(depot.isDefault){ + defDepotId = depot.id; + } + options += ''; + depotString = depotString + depot.id + ","; + } + } + if(depot.type === 1){ + depotString = depotString + depot.id + ","; + } + } + depotString = depotString.substring(1, depotString.length-1); + $("#ProjectId").empty().append(options); + $("#AllocationProjectId").empty().append(options); + $("#searchProjectId").empty().append('').append(options); + } +} + +//初始化供应商、客户、散户信息 +function initSupplier(){ + $('#OrganId').combobox({ + url: organUrl, + valueField:'id', + textField:'supplier', + filter: function(q, row){ + var opts = $(this).combobox('options'); + return row[opts.textField].indexOf(q) >-1; + }, + onLoadSuccess: function(res) { + var data = $(this).combobox('getData'); + for(var i = 0; i<= data.length; i++){ + if(data && data[i] && data[i].supplier === "非会员"){ + orgDefaultId = data[i].id; + } + } + if(listSubType === "零售"){ + orgDefaultList = res; + } + }, + onSelect: function(rec){ + if(listSubType === "零售"){ + var option = ""; + if(rec.supplier !== "非会员" && rec.advanceIn >0){ + option = ''; + option += ''; + } + else { + option += ''; + } + $("#payType").empty().append(option); + } + else{ + $.ajax({ + type:"get", + url: "/supplier/findById", + data: { + supplierId: rec.id + }, + dataType: "json", + success: function (res){ + if(res && res.code === 200) { + if(res.data && res.data[0]){ + thisTaxRate = res.data[0].taxRate; //设置当前的税率 + } + } + }, + error:function(){ + + } + }); + } + } + }); +} + +//初始化销售人员 +function initSalesman(){ + $('#Salesman').combobox({ + url: "/person/getPersonByNumType?type=1", + valueField:'id', + textField:'name', + multiple: true + }); +} + +//初始化收入项目列表 +function initOutItemList(){ + $.ajax({ + type:"get", + url: "/inOutItem/findBySelect?type=out", + //设置为同步 + async:false, + dataType: "json", + success: function (res){ + if(res){ + outItemList = res; + } + }, + error:function(){ + + } + }); +} + +//初始化商品属性 +function initMProperty(){ + $.ajax({ + type: "get", + url: "/materialProperty/list", + dataType: "json", + data: ({ + search: JSON.stringify({ + name: "" + }), + currentPage: 1, + pageSize: 100 + }), + success: function (res) { + if(res && res.code === 200){ + if(res.data && res.data.page) { + var thisRows = res.data.page.rows; + for (var i = 0; i < thisRows.length; i++) { + if (thisRows[i].enabled) { + mPropertyList += thisRows[i].nativeName + ","; + } + } + if (mPropertyList) { + mPropertyList = mPropertyList.substring(0, mPropertyList.length - 1); + } + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('查询提示','查询信息异常,请稍后再试!','error'); + return; + } + }); +} + +//初始化系统基础信息 +function initSystemData_person(){ + $.ajax({ + type:"get", + url: "/person/getAllList", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + personList = res.data.personList; + } + } + } + }); +} +//初始化页面选项卡 +function initSelectInfo_person(){ + var options1 = ""; + + if(personList !=null) + { + for(var i = 0 ;i < personList.length;i++) + { + var person = personList[i]; + if(0 == i) + { + personID = person.id; + } + if(person.type=="仓管员") + { + options1 += ''; + } + } + $("#HandsPersonId").empty().append(options1); + } +} +//获取账户信息 +function initSystemData_account(){ + $.ajax({ + type:"get", + url: "/account/getAccount", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + accountList = res.data.accountList; + } + } + } + }); +} +//获取账户信息 +function initSelectInfo_account(){ + var options = ""; + if(accountList !=null){ + options = ""; + options += ""; + for(var i = 0 ;i < accountList.length;i++) { + var account = accountList[i]; + options += ''; + if(account.isdefault) { + defaultAccountId = account.id; //给账户赋值默认id + } + } + $("#AccountId").empty().append(options); + } +} + +//防止表单提交重复 +function initForm(){ + $('#depotHeadFM').form({ + onSubmit: function(){ + return false; + } + }); +} + +//初始化表格数据 +function initTableData(){ + if(pageType === "skip") { + var oldRowInfo = sessionStorage.getItem("rowInfo"); + editDepotHead(oldRowInfo); //自动弹出编辑框,带缓存数据 + } + var hideType = undefined; + var isHiddenStatus = true; + if(payTypeTitle === "隐藏"){ + hideType = true; //隐藏当前列 + } + var tableToolBar = [ + { + id:'addDepotHead', + text:'增加', + iconCls:'icon-add', + handler:function() + { + addDepotHead(); + } + }, + { + id:'deleteDepotHead', + text:'删除', + iconCls:'icon-remove', + handler:function() + { + batDeleteDepotHead(); + } + } + ]; + //如果允许的按钮列表中存在就显示,3-代表审核|反审核的权限 + if(btnEnableList && btnEnableList.indexOf(3)>-1){ + isHiddenStatus = false; //显示 + tableToolBar.push({ + id:'okDepotHead', + text:'审核', + iconCls:'icon-ok', + handler:function() { + setStatusFun(); + } + }, + { + id:'undoDepotHead', + text:'反审核', + iconCls:'icon-undo', + handler:function() { + setUnStatusFun(); + } + }); + } + else { + isHiddenStatus = true; //隐藏 + } + var isShowLastMoneyColumn = false; //是否显示优惠后金额和价税合计,true为隐藏,false为显示 + if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowLastMoneyColumn = true; //隐藏 + } + var isShowOrganNameColumn = false; //是否显示供应商、客户等信息,true为隐藏,false为显示 + var organNameTitle = ""; //组织名称标题 + if(listSubType == "调拨" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowOrganNameColumn = true; //隐藏 + } + else { + if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "采购退货列表" || listTitle == "其它入库列表"){ + organNameTitle = "供应商名称"; + } + else if(listTitle == "销售订单列表" || listTitle == "销售退货列表" || listTitle == "销售出库列表" || listTitle == "其它出库列表"){ + organNameTitle = "客户名称"; + } + else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ + organNameTitle = "会员卡号"; + } + } + var opWidth = 90; //操作宽度 + var isShowSkip = false; //是否显示跳转按钮 + var opTitle = ""; //跳转按钮的标题 + if(listTitle == "采购订单列表") { + opWidth = 120; + isShowSkip = true; + opTitle = "转采购入库"; + } else if(listTitle == "销售订单列表") { + opWidth = 120; + isShowSkip = true; + opTitle = "转销售出库"; + } + $('#tableData').datagrid({ + height:heightInfo, + rownumbers: false, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + pagination: true, + //交替出现背景 + striped : true, + pageSize: 10, + pageList: initPageNum, + columns:[[ + { field: 'id',width:35,align:"center",checkbox:true}, + { title: '操作',field: 'op',align:"center",width:opWidth, + formatter:function(value, rec,index) { + var str = ''; + // var rowInfo = rec.id + 'AaBb' + rec.projectid+ 'AaBb' + rec.number+ 'AaBb' + rec.operpersonname + // + 'AaBb' + rec.opertimeStr+ 'AaBb' + rec.organid+ 'AaBb' + rec.handspersonid + // + 'AaBb' + rec.accountid+ 'AaBb' + rec.changeamount+ 'AaBb' + rec.remark + // + 'AaBb' + rec.projectName+ 'AaBb' + rec.organName+ 'AaBb' + rec.handsPersonName + // + 'AaBb' + rec.accountName + 'AaBb' + rec.totalprice + 'AaBb' + rec.allocationprojectid + // + 'AaBb' + rec.allocationProjectName + 'AaBb' + rec.paytype + 'AaBb' + rec.salesman + // + 'AaBb' + rec.discount + 'AaBb' + rec.discountmoney + 'AaBb' + rec.discountlastmoney + // + 'AaBb' + rec.accountidlist + 'AaBb' + rec.accountmoneylist + // + 'AaBb' + rec.othermoney + 'AaBb' + rec.othermoneylist + 'AaBb' + rec.othermoneyitem + // + 'AaBb' + rec.accountday + 'AaBb' + rec.linknumber; + // rowInfo = rowInfo.replace(/\"/g, ""); + // rowInfo = rowInfo.replace(/\[|]/g,""); + var orgId = rec.organid? rec.organid:0; + str += '   '; + str += '   '; + str += ''; + if(isShowSkip) { + str += '   '; + } + return str; + } + }, + { title: organNameTitle, field: 'organName',width:120, hidden:isShowOrganNameColumn}, + { title: '单据编号',field: 'number',width:135, formatter:function (value,rec) { + if(rec.linknumber) { + return value + "[转]"; + } else { + return value; + } + } + }, + { title: '商品信息',field: 'materialsList',width:180,formatter:function(value){ + if(value) { + return value.replace(",",","); + } + } + }, + { title: '单据日期',field: 'opertimeStr',width:130}, + { title: '操作员',field: 'operpersonname',width:60}, + { title: '金额合计',field: 'totalprice',width:60}, + { title: '含税合计',field: 'totaltaxlastmoney',hidden:isShowLastMoneyColumn,width:60,formatter:function(value,rec){ + return (rec.discountmoney + rec.discountlastmoney).toFixed(2); + } + }, + { title: '优惠后金额',field: 'discountlastmoney',hidden:isShowLastMoneyColumn,width:80}, + { title: payTypeTitle,field: 'changeamount',width:50,hidden:hideType}, + { title: '状态',field: 'status',hidden:isHiddenStatus, width:70,align:"center",formatter:function(value){ + if(value === "0") { + return "未审核"; + } else if(value === "1") { + return "已审核"; + } else if(value === "2") { + if(listTitle == "采购订单列表") { + return "已转采购"; + } else if(listTitle == "销售订单列表") { + return "已转销售"; + } + } + } + } + ]], + toolbar:tableToolBar, + onLoadError:function() { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); +} + +//查找库存的方法 +function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ + var thisRatio = 1; //比例 + $.ajax({ + url: "/material/findById", + type: "get", + dataType: "json", + data: { + id: mId + }, + success: function (rec) { + if(rec && rec.code === 200 && rec.data && rec.data[0]) { + var loadRatio = 1; //在单位输入框上面加载比例字段 + if(rec.data[0].unit) { //如果存在计量单位信息 + loadRatio = 1; + } + else{ + var unitName = rec.data[0].unitName; + if(unitName) { + thisRatio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); + unitName = unitName.substring(0, unitName.indexOf("(")); + } + var unitArr = unitName.split(","); + var basicUnit = unitArr[0]; //基础单位 + var otherUnit = unitArr[1]; //副单位 + var unitSetInput =""; //单位 + if(listSubType === "采购订单" || listSubType === "采购" || listSubType === "采购退货"){ + unitSetInput = rec.data[0].firstinunit; + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = thisRatio; + } + } + else if(listSubType === "销售订单" || listSubType === "销售" || listSubType === "销售退货" || listSubType === "零售" || listSubType === "零售退货"){ + unitSetInput = rec.data[0].firstoutunit; + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = thisRatio; + } + } + } + //查询库存 + $.ajax({ + type: "get", + url: '/depotItem/findStockNumById', + data:{ + projectId: depotId, + materialId: mId, + monthTime: monthTime, + currentPage: 1, + pageSize: 10 + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if (res.data && res.data.page && res.data.page[0]) { + var thisStock = res.data.page[0].thisSum; + if (type == "select") { //选择下拉框的时候 + if (ratio != undefined && ratio != 1) { + loadRatio = ratio; + } + } + else if (type == "click") { //点击库存的时候 + if (ratio != undefined) { + loadRatio = ratio; + } + } + thisStock = (thisStock / loadRatio).toFixed(2); + body.find("[field='Stock']").find(input).val(thisStock).attr("data-stock", res.data.page[0].thisSum); //加载库存数据 + } + else { + body.find("[field='Stock']").find(input).val(0).attr("data-stock", 0); //加载库存数据 + } + body.find("[field='Stock']").find(input).prop("readonly", "readonly"); //设置库存数据为只读 + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); + } + }, + error: function () { + $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); + } + }); +} +//优惠率、合计的统计方法 +function statisticsFun(body,UnitPrice,OperNumber,footer,taxRate){ + var TotalPrice = 0; + var taxLastMoneyTotal = 0; + //金额的合计 + body.find("[field='AllPrice']").each(function(){ + if($(this).find("div").text()!==""){ + TotalPrice = TotalPrice + parseFloat($(this).find("div").text().toString()); + } + }); + TotalPrice = TotalPrice + UnitPrice*OperNumber; + footer.find("[field='AllPrice']").find("div").text((TotalPrice).toFixed(2)); //金额的合计 + //价税合计的总计 + body.find("[field='TaxLastMoney']").each(function(){ + if($(this).find("div").text()!==""){ + taxLastMoneyTotal = taxLastMoneyTotal + (parseFloat($(this).find("div").text().toString())-0); + } + }); + taxLastMoneyTotal = taxLastMoneyTotal + (UnitPrice*OperNumber*(1+taxRate/100)); + footer.find("[field='TaxLastMoney']").find("div").text((taxLastMoneyTotal).toFixed(2)); //价税合计的页脚总计 + var discount = $("#Discount").val(); //优惠率 + var discountMoney = (taxLastMoneyTotal*discount/100).toFixed(2); + $("#DiscountMoney").val(discountMoney);//优惠金额 + var discountLastMoney = (taxLastMoneyTotal*(1-discount/100)).toFixed(2) + $("#DiscountLastMoney").val(discountLastMoney);//优惠后金额 + if($("#AccountId").val()!=="many"){ + $("#ChangeAmount").val(discountLastMoney); //本次付、收款 + } + var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 + $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 + + if(listSubType == "零售" || listSubType == "零售退货") { + $("#ChangeAmount, #getAmount").val((TotalPrice).toFixed(2)); + $("#backAmount").val(0); + } +} +//初始化表格数据-商品列表-编辑状态 +function initTableData_material(type,TotalPrice){ + var body,footer,input; //定义表格和文本框 + var ratio = 1; //比例-品名专用 + var ratioDepot = 1; //比例-仓库用 + var monthTime = getNowFormatMonth(); + var isShowAnotherDepot = true; //显示对方仓库,true为隐藏,false为显示 + var depotHeadName = ""; //仓库名称 + var depotUrl = ""; //仓库接口地址 + var depotTextField = ""; //仓库下拉名称 + var anotherDepotHeadName = ""; //对方仓库的列的标题 + var anotherDepotUrl = ""; //对方仓库接口地址 + var anotherDepotTextField = ""; + if(listSubType == "调拨"){ + isShowAnotherDepot = false; //调拨时候显示对方仓库 + anotherDepotHeadName = "调入仓库"; + anotherDepotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; + anotherDepotTextField = "depotName"; + } + depotHeadName = "仓库名称"; + depotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; + depotTextField = "depotName"; + var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 + if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowTaxColumn = true; //隐藏 + } + var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 + if(listSubType == "组装单" || listSubType == "拆卸单"){ + isShowMaterialTypeColumn = false; //显示 + } + $('#materialData').datagrid({ + height:245, + rownumbers: false, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + //单击行是否选中 + checkOnSelect : false, + pagination: false, + //交替出现背景 + striped : true, + showFooter: true, + //loadFilter: pagerFilter, + onClickRow: onClickRow, + columns:[[ + { field: 'Id',width:35,align:"center",checkbox:true}, + { title: '商品类型',field: 'MType',editor:'validatebox',hidden:isShowMaterialTypeColumn,width:80}, + { title: depotHeadName, field: 'DepotId', editor: 'validatebox', width: 90, + formatter: function (value, row, index) { + return row.DepotName; + }, + editor: { + type: 'combobox', + options: { + valueField: 'id', + textField: depotTextField, + method: 'get', + url: depotUrl, + onSelect:function(rec){ + var depotId = rec.id; + body =$("#depotHeadFM .datagrid-body"); + footer =$("#depotHeadFM .datagrid-footer"); + input = ".datagrid-editable-input"; + var mId = body.find("[field='MaterialId']").find(".combo-value").val(); + if(mId){ + var type = "select"; //type 类型:点击 click,选择 select + findStockNumById(depotId, mId, monthTime, body, input, ratioDepot, type); + } + } + } + } + }, + { title: '品名(型号)(扩展信息)(单位)',field: 'MaterialId',width:230, + formatter:function(value,row,index){ + return row.MaterialName; + }, + editor:{ + type:'combobox', + options:{ + valueField:'Id', + textField:'MaterialName', + method:'get', + url: "/material/findBySelect", + panelWidth: 300, //下拉框的宽度 + //全面模糊匹配,过滤字段 + filter: function(q, row){ + var opts = $(this).combobox('options'); + return row[opts.textField].indexOf(q) >-1; + }, + onBeforeLoad: function(param){ + param.mpList = mPropertyList; //商品属性 + }, + onSelect:function(rec){ + if(rec) { + var mId = rec.Id; + $.ajax({ + url: "/material/findById", + type: "get", + dataType: "json", + data: { + id: mId + }, + success: function (res) { + if(res && res.code === 200 && res.data && res.data[0]) { + var retailPrice = res.data[0].retailprice-0; //零售价格 + var presetPriceOne = res.data[0].presetpriceone-0; //预计采购价 + var presetPriceTwo = res.data[0].presetpricetwo-0; //批发价 + var firstInUnit = res.data[0].firstinunit; //首选入库单位 + var firstOutUnit = res.data[0].firstoutunit; //首选出库单位 + var basicPresetPriceOne = ""; //多单位-入库-基础价格 + var basicPresetPriceTwo = ""; //多单位-出库-基础价格 + var retailPriceOne = ""; //多单位-入库-零售价格 + var otherPresetPriceOne = ""; //多单位-入库-其他价格 + var otherPresetPriceTwo = ""; //多单位-出库-其他价格 + var retailPriceTwo = ""; //多单位-出库-零售价格 + var basicUnit = ""; //基础单位 + var otherUnit = ""; //其他单位 + if(!res.data[0].unit){ + var ps = res.data[0].pricestrategy; + var psObj = JSON.parse(ps); + basicPresetPriceOne = psObj[0].basic.PresetPriceOne-0; + basicPresetPriceTwo = psObj[0].basic.PresetPriceTwo-0; + retailPriceOne = psObj[0].basic.RetailPrice-0; + otherPresetPriceOne = psObj[1].other.PresetPriceOne-0; + otherPresetPriceTwo = psObj[1].other.PresetPriceTwo-0; + retailPriceTwo = psObj[1].other.RetailPrice-0; + basicUnit = psObj[0].basic.Unit; + otherUnit = psObj[1].other.Unit; + } + body =$("#depotHeadFM .datagrid-body"); + footer =$("#depotHeadFM .datagrid-footer"); + input = ".datagrid-editable-input"; + if(res.data[0].unit){ //如果存在计量单位信息 + ratio = 1; //重置比例为1 + body.find("[field='Unit']").find(input).val(res.data[0].unit); //设置-计量单位信息 + body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 + body.find("[field='Unit']").find(input).off("click"); //移除点击事件 + body.find("[field='Unit']").find(input).attr("data-ratio",ratio); //修改比例缓存信息 + } + else { + var unitName = res.data[0].unitName; + if(unitName) { + ratio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); //给比例赋值 + unitName = unitName.substring(0, unitName.indexOf("(")); + } + var unitArr = unitName.split(","); + var basicUnit = unitArr[0]; //基础单位 + var otherUnit = unitArr[1]; //副单位 + var unitSetInput =""; //单位 + body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 + var loadRatio = 1; //在单位输入框上面加载比例字段 + if(listSubType === "采购" || listSubType === "采购退货" || listSubType === "采购订单"){ + unitSetInput = res.data[0].firstinunit; //给单位文本框赋值 + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = ratio; + } + } + else if(listSubType === "销售" || listSubType === "销售退货" || listSubType === "销售订单" || listSubType === "零售" || listSubType === "零售退货"){ + unitSetInput = res.data[0].firstoutunit; //给单位文本框赋值 + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = ratio; + } + } + body.find("[field='Unit']").find(input).val(unitSetInput).attr("data-ratio", loadRatio); //设置-首选单位 + + body.find("[field='Unit']").find(input).off("click").on("click",function(){ + if(basicUnit && otherUnit) { + var self = this; + //定义模版 + var temp = "
"; + temp +="
    "; + temp +="
  • " + basicUnit + "
  • "; + temp +="
  • " + otherUnit + "
  • "; + temp +="
"; + temp +="
"; + if($('.unit-list').length){ + $('.unit-list').remove(); //如果存在计量单位列表先移除 + } + else { + $(self).after(temp); //加载列表信息 + } + //计量单位列表的单击事件 + $('.unit-list ul li').off("click").on("click",function(){ + var unit = $(this).text(); + var thisRatio = $(this).attr("data-ratio"); //获取比例 + $(self).val(unit).attr("data-ratio", thisRatio); + $(self).keyup(); //模拟键盘操作 + $('.unit-list').remove(); //移除计量单位列表 + var stock = body.find("[field='Stock']").find(input).attr("data-stock"); //从缓存中取值 + var type = $(this).attr("data-type"); + var UnitPrice = 0; + if(type === "basic"){ + if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { + UnitPrice = basicPresetPriceOne; + } + else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { + UnitPrice = basicPresetPriceTwo; + } + else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ + UnitPrice = retailPriceOne; + } + body.find("[field='Stock']").find(input).val(stock); //修改库存 + } + else if(type === "other"){ + if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { + UnitPrice = otherPresetPriceOne; + } + else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { + UnitPrice = otherPresetPriceTwo; + } + else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ + UnitPrice = retailPriceTwo; + } + body.find("[field='Stock']").find(input).val((stock/ratio).toFixed(2)); //修改库存 + } + body.find("[field='UnitPrice']").find(input).val(UnitPrice); //单价 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //获取数量 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //获取税率 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //点击空白处移除计量单位列表 + $(".datagrid-body").off("click").on("click",function(){ + $('.unit-list').remove(); //移除计量单位列表 + }); + } + }); + } + var detailPrice = 0; //明细列表-单价 + if(listSubType == "零售" || listSubType == "零售退货") { + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = retailPrice; + } + else { + if (firstOutUnit == basicUnit) { + detailPrice = retailPriceOne; + } + else if (firstOutUnit == otherUnit) { + detailPrice = retailPriceTwo; + } + } + } + else if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = presetPriceOne; + } + else { + if (firstInUnit == basicUnit) { + detailPrice = basicPresetPriceOne; + } + else if (firstInUnit == otherUnit) { + detailPrice = otherPresetPriceOne; + } + } + } + else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = presetPriceTwo; + } + else { + if(firstOutUnit==basicUnit) { + detailPrice = basicPresetPriceTwo; + } + else if(firstOutUnit==otherUnit){ + detailPrice = otherPresetPriceTwo; + } + } + } + body.find("[field='OperNumber']").find(input).val(1); //数量初始化为1 + //单价和总价赋值 + if(!detailPrice) { + detailPrice = 0; + } + body.find("[field='UnitPrice']").find(input).val(detailPrice); + body.find("[field='AllPrice']").find(input).val(detailPrice); + var taxRate = body.find("[field='TaxRate']").find(input).val()-0; //获取税率 + body.find("[field='TaxUnitPrice']").find(input).val((detailPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((detailPrice*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((detailPrice*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,detailPrice,1,footer,taxRate); + + //查询库存信息 + var depotId = body.find("[field='DepotId']").find(".combo-value").val(); + if(depotId) { + var type = "select"; //type 类型:点击 click,选择 select + findStockNumById(depotId, mId, monthTime, body, input, loadRatio, type); + } + } + }, + error: function() { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + } + }); + } + } + } + } + }, + { title: '库存',field: 'Stock',editor:'validatebox',width:70}, + { title: anotherDepotHeadName, field: 'AnotherDepotId',editor:'validatebox',hidden:isShowAnotherDepot,width:90, + formatter: function (value, row, index) { + return row.AnotherDepotName; + }, + editor: { + type: 'combobox', + options: { + valueField: 'id', + textField: anotherDepotTextField, + method: 'get', + url: anotherDepotUrl + } + } + }, + { title: '单位',field: 'Unit',editor:'validatebox',width:60}, + { title: '数量',field: 'OperNumber',editor:'validatebox',width:60}, + { title: '单价',field: 'UnitPrice',editor:'validatebox',width:60}, + { title: '含税单价',field: 'TaxUnitPrice',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '金额',field: 'AllPrice',editor:'validatebox',width:75}, + { title: '税率(%)',field: 'TaxRate',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '税额',field: 'TaxMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '价税合计',field: 'TaxLastMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '备注',field: 'Remark',editor:'validatebox',width:120}, + { title: '品名-别',field: 'OtherField1',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '型号-别',field: 'OtherField2',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '颜色-别',field: 'OtherField3',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '备注1',field: 'OtherField4',editor:'validatebox',hidden:true,width:60}, + { title: '备注2',field: 'OtherField5',editor:'validatebox',hidden:true,width:60} + ]], + toolbar:[ + { + id:'append', + text:'新增', + iconCls:'icon-add', + handler:function() + { + append(); //新增 + } + }, + { + id:'delete', + text:'删除', + iconCls:'icon-remove', + handler:function() + { + batchDel(); //删除 + } + }, + { + id:'reject', + text:'撤销', + iconCls:'icon-undo', + handler:function() + { + reject(); //撤销 + } + } + ], + onLoadError:function() + { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); + $.ajax({ + type:"get", + url: '/depotItem/getDetailList', + data: { + headerId: depotHeadID, + mpList: mPropertyList + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + var data = res.data; + var AllPrice = 0; + var TaxLastMoney = 0; + var DiscountMoney = $("#DiscountMoney").val()-0; //优惠金额 + var DiscountLastMoney = $("#DiscountLastMoney").val()-0; //优惠后金额 + if(type === "edit") { + AllPrice = TotalPrice; + TaxLastMoney = DiscountMoney + DiscountLastMoney; + } + var array = []; + array.push({ + "AllPrice": AllPrice, + "TaxLastMoney": TaxLastMoney + }); + data.footer = array; + $("#materialData").datagrid('loadData',data); + //如果是订单跳转到采购或销售 + if(pageType === "skip") { + var skipList = $("#depotHeadFM .datagrid-body tr"); + //逐条自动点击每行数据 + skipList.each(function (i) { + setTimeout(function () { + skipList.eq(i).find("[field='Stock']").click(); + },(i+1)*1000); + }); + } + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); +} + +//初始化表格数据-商品列表-查看状态 +function initTableData_material_show(TotalPrice){ + var isShowAnotherDepot = true; //显示对方仓库,true为隐藏,false为显示 + var anotherDepotHeadName = ""; //对方仓库的列的标题 + var depotHeadName = ""; //仓库的列的标题 + if(listSubType == "调拨"){ + isShowAnotherDepot = false; //调拨时候显示对方仓库 + anotherDepotHeadName = "调入仓库"; + } + depotHeadName = "仓库名称"; + var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 + if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowTaxColumn = true; //隐藏 + } + var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 + if(listSubType == "组装单" || listSubType == "拆卸单"){ + isShowMaterialTypeColumn = false; //显示 + } + $('#materialDataShow').datagrid({ + height:245, + rownumbers: true, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + pagination: false, + //交替出现背景 + striped : true, + showFooter: true, + onClickRow: onClickRow, + columns:[[ + { title: '商品类型',field: 'MType',width:80, hidden:isShowMaterialTypeColumn}, + { title: depotHeadName,field: 'DepotName',editor:'validatebox',width:90}, + { title: '品名(型号)(扩展信息)(单位)',field: 'MaterialName',width:230}, + { title: anotherDepotHeadName,field: 'AnotherDepotName',hidden:isShowAnotherDepot,width:90}, + { title: '单位',field: 'Unit',editor:'validatebox',width:60}, + { title: '数量',field: 'OperNumber',editor:'validatebox',width:60}, + { title: '单价',field: 'UnitPrice',editor:'validatebox',width:60}, + { title: '含税单价',field: 'TaxUnitPrice',editor:'validattebox',hidden:isShowTaxColumn,width:75}, + { title: '金额',field: 'AllPrice',editor:'validatebox',width:75}, + { title: '税率',field: 'TaxRate',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '税额',field: 'TaxMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '价税合计',field: 'TaxLastMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '备注',field: 'Remark',editor:'validatebox',width:120}, + { title: '品名-别',field: 'OtherField1',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '型号-别',field: 'OtherField2',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '颜色-别',field: 'OtherField3',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '备注1',field: 'OtherField4',editor:'validatebox',hidden:true,width:60}, + { title: '备注2',field: 'OtherField5',editor:'validatebox',hidden:true,width:60} + ]], + onLoadError:function() { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); + $.ajax({ + type:"get", + url: '/depotItem/getDetailList', + data: { + headerId: depotHeadID, + mpList: mPropertyList + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + var data = res.data; + var AllPrice = TotalPrice; + var DiscountMoney = $("#DiscountMoneyShow").text() - 0; //优惠金额 + var DiscountLastMoney = $("#DiscountLastMoneyShow").text() - 0; //优惠后金额 + var array = []; + array.push({ + "AllPrice": AllPrice, + "TaxLastMoney": DiscountMoney + DiscountLastMoney + }); + data.footer = array; + $("#materialDataShow").datagrid('loadData', data); + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); +} + +//分页信息处理 +function ininPager(){ + try + { + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + pager.pagination({ + onSelectPage:function(pageNum, pageSize) + { + opts.pageNumber = pageNum; + opts.pageSize = pageSize; + pager.pagination('refresh', + { + pageNumber:pageNum, + pageSize:pageSize + }); + showDepotHeadDetails(pageNum,pageSize); + } + }); + } + catch (e) + { + $.messager.alert('异常处理提示',"分页信息异常 : " + e.name + ": " + e.message,'error'); + } +} + +//删除单据信息 +function deleteDepotHead(depotHeadID, thisOrganId, totalPrice, status){ + if(status == "1" || status == "2") { + $.messager.alert('删除提示','已审核和已转的单据不能删除!','warning'); + return; + } + $.messager.confirm('删除确认','确定要删除此单据信息吗?',function(r) { + if (r) { + $.ajax({ + type:"post", + // url: "/depotHead/" + depotHeadID + "/delete", + url: "/depotHead/deleteDepotHeadAndDetail", + dataType: "json", + data:{ + id: depotHeadID + }, + success: function (res) { + if(res && res.code == 200) { + $("#searchBtn").click(); + } else { + $.messager.alert('删除提示', '删除单据信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('删除提示','删除单据信息异常,请稍后再试!','error'); + return; + } + }); + + //更新会员的预收款信息 + if(listSubType === "零售") { + $.ajax({ + type:"post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data:{ + supplierId: thisOrganId, //会员id + advanceIn: totalPrice //删除时同时返还用户的预付款 + }, + success: function(res){ + if(res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function(){ + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + } + }); +} + +//订单转采购或销售 +function skipDepotHead(index, status){ + //获取当前行 + var rowsdata = $("#tableData").datagrid("getRows")[index]; + if(status == "0" || status == "2") { + $.messager.alert('提示','未审核和已转的单据禁止操作!','warning'); + } else { + sessionStorage.setItem("rowInfo", JSON.stringify(rowsdata)); //将单据信息存入缓存中 + if(listTitle == "采购订单列表") { + parent.addTab("订单转采购", "../materials/purchase_in_list.html?t=skip", ""); + } else if(listTitle == "销售订单列表") { + parent.addTab("订单转销售", "../materials/sale_out_list.html?t=skip", ""); + } + } +} + +//批量删除单据信息 +function batDeleteDepotHead(){ + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) + { + $.messager.alert('删除提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) + { + $.messager.confirm('删除确认','确定要删除选中的' + row.length + '条单据信息吗?',function(r) + { + if (r) { + var ids = ""; + for (var i = 0; i < row.length; i++) { + if (i == row.length - 1) { + if (row[i].status == 0) { + ids += row[i].id; + } + break; + } + ids += row[i].id + ","; + } + if (ids) { + //批量更新会员的预收款信息 + for (var i = 0; i < row.length; i++) { + if (listSubType === "零售") { + $.ajax({ + type: "post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data: { + supplierId: row[i].organid, //会员id + advanceIn: row[i].totalprice //删除时同时返还用户的预付款 + }, + success: function (res) { + if (res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function () { + $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); + return; + } + }); + } + } + //批量删除 + $.ajax({ + type: "post", + // url: "/depotHead/batchDelete", + url: "/depotHead/batchDeleteDepotHeadAndDetail", + dataType: "json", + async: false, + data: ({ + ids: ids + }), + success: function (res) { + if (res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('删除提示', '删除单据信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('删除提示', '删除单据信息异常,请稍后再试!', 'error'); + return; + } + }); + } else { + $.messager.alert('删除提示','没有能删除的单据!','warning'); + } + } + }); + } +} + +//批量审核 +function setStatusFun() { + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) { + $.messager.alert('审核提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) { + $.messager.confirm('审核确认','确定要审核选中的' + row.length + '条信息吗?',function(r) + { + if (r) + { + var ids = ""; + for(var i = 0;i < row.length; i ++) + { + if(i == row.length-1) + { + if(row[i].status != "2") { + ids += row[i].id; + } + break; + } + ids += row[i].id + ","; + } + if(ids) { + $.ajax({ + type:"post", + url: "/depotHead/batchSetStatus", + dataType: "json", + async : false, + data: ({ + status: "1", + depotHeadIDs : ids + }), + success: function (res) { + if(res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('审核提示', '审核信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('审核提示','审核信息异常,请稍后再试!','error'); + return; + } + }); + } else { + $.messager.alert('审核提示','没有能审核的单据!','warning'); + } + } + }); + } +} + +//批量反审核 +function setUnStatusFun() { + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) + { + $.messager.alert('反审核提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) + { + $.messager.confirm('反审核确认','确定要反审核选中的' + row.length + '条信息吗?',function(r) + { + if (r) + { + var ids = ""; + for(var i = 0;i < row.length; i ++) + { + if(i == row.length-1) + { + if(row[i].status != "2") { + ids += row[i].id; + } + break; + } + ids += row[i].id + ","; + } + if(ids) { + $.ajax({ + type: "post", + url: "/depotHead/batchSetStatus", + dataType: "json", + async: false, + data: ({ + status: "0", + depotHeadIDs: ids + }), + success: function (res) { + if (res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('反审核提示', '反审核信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('反审核提示', '反审核信息异常,请稍后再试!', 'error'); + return; + } + }); + } else { + $.messager.alert('反审核提示','没有能反审核的单据!','warning'); + } + } + }); + } +} + +//生成单据编号 +function buildNumber() { + $.ajax({ + type: "get", + url: "/depotHead/buildNumber", + success:function(res){ + if(res && res.code === 200){ + var obj = res.data; + var defaultNumber = obj.DefaultNumber; + var newNumber = amountNum + defaultNumber; + $("#Number").val(newNumber).attr("data-defaultNumber",newNumber); + } + }, + error:function(){ + $.messager.alert('提示','生成单据编号失败!','error'); + } + }); +} + +//新增信息 +function addDepotHead(){ + $('#depotHeadFM').form('clear'); + var thisDateTime = getNowFormatDateTime(); //当前时间 + $("#OperTime").val(thisDateTime); + buildNumber(); //生成单据编号 + //初始化优惠率、优惠金额、优惠后金额、本次付|收款、本次欠款 为0 + $("#Discount").val(0); + $("#DiscountMoney").val(0); + $("#DiscountLastMoney").val(0); + $("#ChangeAmount").val(0); + $("#Debt").val(0); + $("#AccountId").val(defaultAccountId); //初始化默认的账户Id + var addTitle = listTitle.replace("列表","信息"); + $('#depotHeadDlg').dialog('open').dialog('setTitle',' 增加' + addTitle); + $(".window-mask").css({ width: webW ,height: webH}); + + orgDepotHead = ""; + depotHeadID = 0; + initTableData_material("add"); //商品列表 + reject(); //撤销下、刷新商品列表 + $("#addOrgan").off("click").on("click",function(){ + $('#supplierDlg').dialog('open').dialog('setTitle',' 增加供应商信息'); + $('#supplierFM').form('clear'); + }); + + $("#addMember").off("click").on("click",function(){ + $('#supplierDlg').dialog('open').dialog('setTitle',' 增加会员信息'); + $('#supplierFM').form('clear'); + }); + $("#addCustomer").off("click").on("click",function(){ + $('#supplierDlg').dialog('open').dialog('setTitle',' 增加客户信息'); + $('#supplierFM').form('clear'); + }); + url = '/depotHead/addDepotHeadAndDetail'; + + //零售单据修改收款时,自动计算找零 + if(listSubType == "零售" || listSubType == "零售退货") { + $("#payType").val("现付"); + $("#OrganId").combobox("setValue", orgDefaultId); //自动默认选择非会员 + // 鼠标点下时清空选择项 + $("#OrganId").next().find("input").off("mousedown").on("mousedown",function(){ + $("#OrganId").combobox("setValue", ""); + }); + //当会员卡号长度超过10位后,自动点击下拉框,用于兼容刷卡器 + $("#OrganId").next().find("input").off("keyup").on("keyup",function(){ + var self = this; + if($(this).val().length === 10){ + setTimeout(function(){ + $(".combo-panel .combobox-item-selected").click(); + //更新付款类型,加载会员的预付款的金额 + for(var i=0; i0){ + option = ''; + option += ''; + } + else { + option += ''; + } + $("#payType").empty().append(option); + } + } + },1000); + } + }); + var getAmount = $("#depotHeadFM .get-amount"); + var changeAmount = $("#depotHeadFM .change-amount"); + var backAmount = $("#depotHeadFM .back-amount"); + getAmount.val(0); changeAmount.val(0); backAmount.val(0); //时间初始化 + getAmount.off("keyup").on("keyup",function() { + if(changeAmount.val()){ + backAmount.val((getAmount.val()-changeAmount.val()).toFixed(2)); + } + }); + } +} + +//编辑信息 +function editDepotHead(index, status){ + if(status == "1" || status == "2") { + $.messager.alert('编辑提示','已审核和已转的单据不能编辑!','warning'); + return; + } + // var depotHeadInfo = depotHeadTotalInfo.split("AaBb"); + //获取当前行 + var rowsdata =''; + if(Number(index).toString()=='NaN'){ + rowsdata=$.parseJSON(index); + }else{ + rowsdata=$("#tableData").datagrid("getRows")[index]; + } + $("#ProjectId").focus().val(rowsdata.projectid); + var ProjectId=rowsdata.projectid; + if(ProjectId!='') { + initSystemData_person(ProjectId); + initSelectInfo_person(); + } + var TotalPrice = rowsdata.totalprice; //合计金额 + if(pageType === "skip") { //从订单跳转过来 + buildNumber(); //生成单据编号 + var thisDateTime = getNowFormatDateTime(); //当前时间 + $("#OperTime").val(thisDateTime); + $("#LinkNumber").val(rowsdata.number); //关联订单号 + $("#AccountId").val(defaultAccountId); //初始化默认的账户Id + $("#DiscountLastMoney").val(TotalPrice); //优惠后金额 + $("#ChangeAmount").val(TotalPrice).attr("data-changeamount", TotalPrice); + } else { + $("#Number").val(rowsdata.number).attr("data-defaultNumber",rowsdata.number); + $("#OperTime").val(rowsdata.opertimeStr); + $("#LinkNumber").val(rowsdata.linknumber==undefined?"":rowsdata.linknumber); //关联订单号 + $("#AccountId").val(rowsdata.accountid); //账户Id + $("#DiscountLastMoney").val(rowsdata.discountlastmoney==undefined?"0.00":rowsdata.discountlastmoney); //优惠后金额 + $("#ChangeAmount").val(rowsdata.changeamount).attr("data-changeamount", rowsdata.changeamount); + } + $('#OrganId').combobox('setValue', rowsdata.organid==undefined?'':rowsdata.organid); + $("#HandsPersonId").val(rowsdata.handspersonid); + $("#Remark").val(rowsdata.remark); + $("#Discount").val(rowsdata.discount==undefined?"0":rowsdata.discount); + $("#DiscountMoney").val(rowsdata.discountmoney==undefined?"0.00":rowsdata.discountmoney); + $("#Debt").val(Number((rowsdata.discountlastmoney==undefined?'0.00':rowsdata.discountlastmoney-rowsdata.changeamount)).toFixed(2)); + $("#AccountDay").val(rowsdata.accountday==undefined?"":rowsdata.accountday); //结算天数 + preTotalPrice = rowsdata.totalprice; //记录前一次合计金额,用于扣预付款 + $("#AllocationProjectId").val(rowsdata.allocationprojectid); + oldNumber = rowsdata.number; //记录编辑前的单据编号 + oldId = rowsdata.id; //记录单据Id + var editTitle = listTitle.replace("列表","信息"); + $('#depotHeadDlg').dialog('open').dialog('setTitle',' 编辑' + editTitle); + $(".window-mask").css({ width: webW ,height: webH}); + depotHeadID = rowsdata.id; + + if(listSubType == "零售"){ + var option = ""; + if(rowsdata.paytype == "预付款"){ + option = ''; + option += ''; + } + else { + option += ''; + } + $("#payType").empty().append(option); + } + + if(listSubType == "销售" || listSubType == "销售退货"){ + if(rowsdata.salesman){ + var arr = rowsdata.salesman.split(","); + var salesmanArray = []; + for(var i=0;i","")); + } + } + $("#Salesman").combobox('setValues', salesmanArray); + } + } + + //采购入库、销售出库的多账户加载 + if(rowsdata.accountidlist!=undefined && rowsdata.accountmoneylist!=undefined){ + $("#AccountId").val("many"); //下拉框选中多账户 + var accountArr = rowsdata.accountidlist.split(","); + var accountMoneyArr = rowsdata.accountmoneylist.split(","); + accountMoneyArr = changeListFmtPlus(accountMoneyArr) //将数组单个金额中的数值转为正数 + + if(listSubType == "零售" || listSubType == "零售退货") { + var manyAccountMoney = 0; //多账户合计-零售 + for (var j = 0; j < accountArr.length; j++) { + if (accountList != null) { + for (var i = 0; i < accountList.length; i++) { + var account = accountList[i]; + if (accountArr[j] == account.id) { + manyAccountMoney += accountMoneyArr[j] - 0; //多账户合计-零售 + } + } + } + } + $("#getAmount").val(manyAccountMoney); //收款金额、付款金额 + var changeAmount = $("#ChangeAmount").val()-0; + $("#backAmount").val((manyAccountMoney-changeAmount).toFixed(2)); //找零 + } + + $("#AccountId").attr("data-accountArr", JSON.stringify(accountArr)).attr("data-accountMoneyArr", JSON.stringify(accountMoneyArr)); //json数据存储 + $(".many-account-ico").show(); //显示多账户的ico图标 + } + + //采购入库、销售出库的费用数据加载 + if(rowsdata.othermoneylist &&rowsdata.othermoneyitem){ + $("#OtherMoney").val(rowsdata.othermoney==undefined?"0":rowsdata.othermoney); //采购费用、销售费用 + var itemArr = rowsdata.othermoneylist.split(","); + var itemMoneyArr = rowsdata.othermoneyitem.split(","); + $("#OtherMoney").attr("data-itemArr",JSON.stringify(itemArr)).attr("data-itemMoneyArr",JSON.stringify(itemMoneyArr)); //json数据存储 + } + + initTableData_material("edit",TotalPrice); //商品列表 + reject(); //撤销下、刷新商品列表 + if(pageType === "skip") { + url = '/depotHead/addDepotHeadAndDetail'; //如果是从订单跳转过来,则此处为新增的接口 + //jshjshjsh + $("#depotHeadFM .datagrid-body").find("[field='DepotId']").click(); + } else { + url = '/depotHead/updateDepotHeadAndDetail?id=' + rowsdata.id; //更新接口 + } +} + +//查看信息 +function showDepotHead(index){ + // var depotHeadInfo = depotHeadTotalInfo.split("AaBb"); + //获取当前行 + var rowsdata = $("#tableData").datagrid("getRows")[index]; + var manyAccountMoney = 0; //多账户合计-零售 + $("#ProjectIdShow").text(rowsdata.projectName); + $("#NumberShow").text(rowsdata.number); + $("#OperTimeShow").text(rowsdata.opertimeStr); + $('#OrganIdShow').text(rowsdata.organName==undefined?'':rowsdata.organName); + $("#HandsPersonIdShow").text(rowsdata.handsPersonName); + if(rowsdata.accountName && rowsdata.accountName!=undefined){ + $("#AccountIdShow").text(rowsdata.accountName); //结算账户 + } else { + var accountArr = (rowsdata.accountidlist==undefined?"":rowsdata.accountidlist).split(","); //账户id列表 + var accountMoneyArr =(rowsdata.accountmoneylist==undefined?"":rowsdata.accountmoneylist).split(","); //账户金额列表 + var accountIdShow = ""; + for(var j =0;j 查看' + showTitle); + $(".window-mask").css({ width: webW ,height: webH}); + + depotHeadID = rowsdata.id; + initTableData_material_show(TotalPrice); //商品列表-查看状态 + + //零售单据展示数据 + if(listSubType == "零售" || listSubType == "零售退货"){ + var changeAccount = $("#depotHeadDlgShow .change-amount-show").text() -0; + if(manyAccountMoney!==0){ + $("#depotHeadDlgShow .get-amount-show").text((manyAccountMoney).toFixed(2)); + $("#depotHeadDlgShow .back-amount-show").text((manyAccountMoney -changeAccount).toFixed(2)); + } + else { + $("#depotHeadDlgShow .get-amount-show").text((changeAccount).toFixed(2)); + $("#depotHeadDlgShow .back-amount-show").text(0); + } + } + if(listSubType === "销售" || listSubType === "销售退货"){ + if(rowsdata.salesman){ + var arr = rowsdata.salesman.split(","); + var salesmanStr = ""; + for(var i=0;i",""); + } + else { + salesmanStr += arr[i].replace("<","").replace(">","") + ","; + } + } + } + $.ajax({ + type: "get", + url: "/person/getPersonByIds", + data: { + personIDs: salesmanStr + }, + success:function(res){ + if(res && res.code === 200){ + if(res.data) { + $("#SalesmanShow").text(res.data.names); //销售人员列表 + } + } + }, + error:function(){ + + } + }); + } + } +} + +//绑定操作事件 +function bindEvent(){ + showDepotHeadDetails(1,initPageSize); //初始化时自动查询 + //搜索处理 + $("#searchBtn").off("click").on("click",function(){ + showDepotHeadDetails(1,initPageSize); + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + opts.pageNumber = 1; + opts.pageSize = initPageSize; + pager.pagination('refresh', + { + pageNumber:1, + pageSize:initPageSize + }); + }); + + //重置按钮 + $("#searchResetBtn").unbind().bind({ + click:function(){ + //$("#searchProjectId").val(""); + $("#searchState").val(""); + $("#searchBeginTime").val(""); + $("#searchEndTime").val(""); + //加载完以后重新初始化 + $("#searchBtn").click(); + } + }); + + //检查单据编号是否存在 + function checkDepotHeadNumber() { + var thisNumber = $.trim($("#Number").val()); + //表示是否存在 true == 存在 false = 不存在 + var flag = false; + //开始ajax名称检验,不能重名 + if(thisNumber.length > 0 &&( oldNumber.length ==0 || thisNumber != oldNumber)) + { + $.ajax({ + type:"get", + url: "/depotHead/checkIsNumberExist", + dataType: "json", + async : false, + data: ({ + DepotHeadID : oldId, + Number : thisNumber + }), + success: function (tipInfo) + { + flag = tipInfo; + if(tipInfo) + { + $.messager.alert('提示','抱歉,该单据编号已经存在','warning'); + return; + } + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','检查单据编号是否存在异常,请稍后再试!','error'); + return; + } + }); + } + return flag; + } + //保存信息 + /** + * 2019-01-25 + * 我对这个方法的实现结果存在严重怀疑,决定重构 + * 有如下疑点: + * 1、保存完主表,返回结果后,再发起请求去操作子表,如何保证事务的一致性(业务数据一致性) + * 2、保存完主表后,再通过selectmax的方式去获取主表主键id完全就是看人品的不可靠的思路 + * 修改计划: + * 2019-01-25修改零售出库相关操作 + * 修改方式,重写url,将主从表操作合并 + * + * + * **/ + $("#saveDepotHead").off("click").on("click",function(){ + if(!$('#depotHeadFM').form('validate')){ + return; + } + else { + //如果初始编号被修改了,就要判断单据编号是否存在 + if($.trim($("#Number").val()) != $('#Number').attr("data-defaultNumber")){ + //调用查询单据编号是否重名的方法 + if(checkDepotHeadNumber()){ + return; + } + } + //输入框提示 + if(listTitle === "采购订单列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择供应商!','warning'); + return; + } + } + else if(listTitle === "采购入库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择供应商!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择结算账户!','warning'); + return; + } + } + else if(listTitle === "零售退货列表"){ + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择付款账户!','warning'); + return; + } + if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { + $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); + return; + } + } + else if(listTitle === "销售退货列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择退货单位!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择付款账户!','warning'); + return; + } + } + else if(listTitle === "其它入库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择往来单位!','warning'); + return; + } + } + else if(listTitle === "零售出库列表"){ + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择收款账户!','warning'); + return; + } + if($("#backAmount").val()-0 <0){ + $.messager.alert('提示','找零金额不能小于0!','warning'); + return; + } + if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { + $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); + return; + } + + } + else if(listTitle === "销售订单列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择购买单位!','warning'); + return; + } + } + else if(listTitle === "销售出库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择购买单位!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择收款账户!','warning'); + return; + } + } + else if(listTitle === "采购退货列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择收货单位!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择收款账户!','warning'); + return; + } + } + else if(listTitle === "其它出库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择往来单位!','warning'); + return; + } + } + else if(listTitle === "调拨出库列表"){ + + } + //进行明细的校验 + if(depotHeadID ==0) { + //新增模式下 + if (!CheckData("add")) { + return; + } + } + else { + //编辑模式下 + if (!CheckData("edit")) { + return; + } + } + var OrganId = null, ProjectId = null,AllocationProjectId = null; + var ChangeAmount = $.trim($("#ChangeAmount").val())-0; + var TotalPrice = $("#depotHeadFM .datagrid-footer [field='AllPrice'] div").text(); + if($('#OrganId').length){ + OrganId = $('#OrganId').combobox('getValue'); + } + var accountMoneyList = $("#AccountId").attr("data-accountmoneyarr"); //账户金额列表-多账户 + var accountMoneyArr; + if(accountMoneyList) { + accountMoneyList = accountMoneyList.replace("[","").replace("]","").toString(); + var reg=new RegExp("\"","g"); //创建正则RegExp对象 + accountMoneyList = accountMoneyList.replace(reg,""); //替换所有的双引号 + accountMoneyArr = accountMoneyList.split(","); //转为数组 + } + if(listSubType === "采购订单"||listSubType === "采购"||listSubType === "零售退货"||listSubType === "销售退货"){ + //付款为负数 + ChangeAmount = 0 - ChangeAmount; + TotalPrice = 0 - TotalPrice; + if(accountMoneyArr) { + accountMoneyArr = changeListFmtMinus(accountMoneyArr); //将数组单个金额中的数值转为负数 + } + } + //零售时候,可以从会员预付款中扣款 + var thisPayType = "现付"; + if(listSubType === "零售") { + if($("#payType").val() ==="预付款") { + thisPayType = "预付款"; + } + } + var SalesmanStr = ""; + if(listSubType === "销售" || listSubType === "销售退货"){ + var Salesman = $('#Salesman').combobox('getValues').toString(); //销售人员 + if(Salesman) { + var SalesmanArray = Salesman.split(","); + for (var i = 0; i < SalesmanArray.length; i++) { + if (i === SalesmanArray.length - 1) { + SalesmanStr += "<" + SalesmanArray[i] + ">"; + } + else { + SalesmanStr += "<" + SalesmanArray[i] + ">,"; + } + } + } + } + var getAccountID = $.trim($("#AccountId").val()); + if($("#AccountId").val() === "many"){ //多账户 + getAccountID = null; + } + var infoStr=JSON.stringify({ + Type: listType, + SubType: listSubType, + ProjectId: ProjectId, + AllocationProjectId: AllocationProjectId, + DefaultNumber: $.trim($("#Number").attr("data-defaultNumber")),//初始编号 + Number: $.trim($("#Number").val()), + LinkNumber: $.trim($("#LinkNumber").val()), + OperTime: $("#OperTime").val(), + OrganId: OrganId, + HandsPersonId: $.trim($("#HandsPersonId").val()), + Salesman: SalesmanStr, //销售人员 + AccountId: getAccountID, + ChangeAmount: ChangeAmount, //付款/收款 + TotalPrice: TotalPrice, //合计 + PayType: thisPayType, //现付/预付款 + Remark: $.trim($("#Remark").val()), + AccountIdList: $("#AccountId").attr("data-accountarr"), //账户列表-多账户 + AccountMoneyList: accountMoneyArr ? JSON.stringify(accountMoneyArr) : "", //账户金额列表-多账户 + Discount: $.trim($("#Discount").val()), + DiscountMoney: $.trim($("#DiscountMoney").val()), + DiscountLastMoney: $.trim($("#DiscountLastMoney").val()), + OtherMoney: $.trim($("#OtherMoney").val()), //采购费用、销售费用 + OtherMoneyList: $("#OtherMoney").attr("data-itemarr"), //支出项目列表-涉及费用 + OtherMoneyItem: $("#OtherMoney").attr("data-itemmoneyarr"), //支出项目金额列表-涉及费用 + AccountDay: $("#AccountDay").val() //结算天数 + }); + /** + * 零售出库,单独操作 + * */ + if(url.indexOf("/depotHead/addDepotHeadAndDetail")>=0){ + addDepotHeadAndDetail(url,infoStr); + return; + }else if(url.indexOf("/depotHead/updateDepotHeadAndDetail")>=0){ + updateDepotHeadAndDetail(url,infoStr,preTotalPrice); + return; + } + $.ajax({ + type:"post", + url: url, + dataType: "json", + async : false, + data: ({ + info:infoStr + }), + success: function (tipInfo) + { + if(tipInfo) + { + function closeDialog(){ + $('#depotHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showDepotHeadDetails(opts.pageNumber,opts.pageSize); + } + + if(thisPayType === "预付款") { + //更新用户信息-预付款 + var advanceIn = 0; //预付款金额 + if(depotHeadID){ + advanceIn = TotalPrice - preTotalPrice; //修改时,预付款=合计金额-加载金额 + } + else{ + advanceIn = TotalPrice; //新增时,预付款=合计金额 + } + $.ajax({ + type:"post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data:{ + supplierId: OrganId, //会员id + advanceIn: 0 - advanceIn //保存的同时扣掉用户的预付款 + }, + success: function(res){ + if(res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function(){ + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + + //保存明细记录 + if(depotHeadID ==0) + { + getMaxId(); //查找最大的Id + accept(depotHeadMaxId,closeDialog); //新增 + } + else + { + accept(depotHeadID,closeDialog); //修改 + } + } + else + { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + }); + + //打印单据 + $("#printDepotHeadShow").off("click").on("click",function(){ + var tableString = $("#depotHeadDlgShow").html(); + localStorage.setItem("tableString",tableString); + window.open("../../js/print/print_form.html","location:No;status:No;help:No;dialogWidth:800px;dialogHeight:600px;scroll:auto;"); + }); + + //初始化键盘enter事件 + $(document).keydown(function(event){ + //兼容 IE和firefox 事件 + var e = window.event || event; + var k = e.keyCode||e.which||e.charCode; + //兼容 IE,firefox 兼容 + var obj = e.srcElement ? e.srcElement : e.target; + //绑定键盘事件为 id是指定的输入框才可以触发键盘事件 13键盘事件 ---遗留问题 enter键效验 对话框会关闭问题 + if(k == "13"&&(obj.id=="State"||obj.id=="Number")) + { + $("#saveDepotHead").click(); + } + //搜索按钮添加快捷键 + if(k == "13"&&(obj.id=="searchState"||obj.id=="searchNumber"||obj.id=="searchMaterial")) + { + $("#searchBtn").click(); + } + }); + + //优惠率输入框事件 + $("#Discount").off("keyup").on("keyup",function(){ + var footer =$("#depotHeadFM .datagrid-footer"); + var totalPrice = footer.find("[field='TaxLastMoney']").find("div").text(); + var discountNum = $(this).val(); + var discountMoney = (discountNum/100*totalPrice).toFixed(2); + var discountLastMoney = (totalPrice - discountMoney).toFixed(2); + $("#DiscountMoney").val(discountMoney); //优惠金额 + $("#DiscountLastMoney").val(discountLastMoney); //优惠后金额 + if($("#AccountId").val()!=="many"){ + $("#ChangeAmount").val(discountLastMoney); //本次付、收款 + } + var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 + $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 + }); + + //优惠金额输入框事件 + $("#DiscountMoney").off("keyup").on("keyup",function(){ + var footer =$("#depotHeadFM .datagrid-footer"); + var totalPrice = footer.find("[field='TaxLastMoney']").find("div").text(); + var discountMoney = $(this).val(); + var discount = (discountMoney/totalPrice).toFixed(2)*100; + var discountLastMoney = (totalPrice - discountMoney).toFixed(2); + $("#Discount").val(discount); //优惠金额 + $("#DiscountLastMoney").val(discountLastMoney); //优惠后金额 + if($("#AccountId").val()!=="many"){ + $("#ChangeAmount").val(discountLastMoney); //本次付、收款 + } + var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 + $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 + }); + + //付款、收款输入框事件 + $("#ChangeAmount").off("keyup").on("keyup",function(){ + var discountLastMoney = $("#DiscountLastMoney").val(); + var changeAmount = $(this).val(); + var debtMoney = (discountLastMoney - changeAmount).toFixed(2); + $("#Debt").val(debtMoney); //本次欠款 + }); + + //多账户结算窗口弹出事件 + function depotHeadAccountDlgFun(){ + $('#depotHeadAccountDlg').dialog('open').dialog('setTitle',' 多账户结算'); + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").remove(); //先移除输入栏目 + $("#accountMoneyTotalDlg").text(0); //将合计初始化为0 + for(var i=0; i<6; i++) { + $("#depotHeadAccountDlg .tabs-tmp .account-content-tmp").attr("data-index",5-i); //添加索引 + var contentTmp = $("#depotHeadAccountDlg .tabs-tmp tbody").html(); + var accountDlgHead = $("#depotHeadAccountDlg .account-head-tmp"); + accountDlgHead.after(contentTmp); + } + + //获取账户信息 + function accountDlgFun() { + var options = ""; + if(accountList !=null){ + for(var i = 0 ;i < accountList.length;i++) { + var account = accountList[i]; + options += ''; + } + $(".account-id-dlg").empty().append("").append(options); + } + } + accountDlgFun(); //获取账户信息 + $("#depotHeadAccountDlg .tabs-tmp").hide(); //隐藏模板 + + //账户金额输入框事件-多账户 + $("#depotHeadAccountDlg .account-dlg .account-money-dlg").off("keyup").on("keyup",function(){ + var totalAccoutNum = 0; + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){ + var eachAccountMoney = $(this).find(".account-money-dlg").val()-0; + totalAccoutNum += eachAccountMoney; + }); + $("#accountMoneyTotalDlg").text(totalAccoutNum); + }); + + //结算多账户列表的切换事件 + $("#depotHeadAccountDlg .account-dlg .account-id-dlg").off("change").on("change",function(){ + var selectAccount = $(this).children('option:selected').text(); + if(selectAccount === ""){ + var thisMoneyDom = $(this).closest(".account-content-tmp").find(".account-money-dlg"); + var thisMoney = thisMoneyDom.val()-0; + var accountMoneyTotal = $("#accountMoneyTotalDlg").text() - 0; + $("#accountMoneyTotalDlg").text(accountMoneyTotal - thisMoney); + thisMoneyDom.val(""); //账户为空时候,将金额也置为空 + } + }); + + //保存按钮事件 + $("#saveDepotHeadAccountDlg").off("click").on("click", function(){ + //完成多账户的json数据存储 + var accountArr = []; //账户id数组 + var accountMoneyArr = []; //账户金额数组 + var errorIndex = -1; + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){ + var thisAccId = $(this).find(".account-id-dlg").val(); + var thisAccMoney = $(this).find(".account-money-dlg").val(); + if(!thisAccId && thisAccMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisAccId && !thisAccMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisAccId && thisAccMoney) { + accountArr.push(thisAccId); + accountMoneyArr.push(thisAccMoney); + } + }); + if(errorIndex >-1){ + $.messager.alert('错误提示',"第" + (errorIndex+1) + "行数据存在问题,请修改",'warning'); + return; + } + var discountLastMoneyNum =$("#DiscountLastMoney").val()-0; //优惠后金额 + var accountMoneyTotal = $("#accountMoneyTotalDlg").text()-0; //本次付款或者收款 + if(accountMoneyTotal===0){ + $.messager.alert('错误提示',"请填写金额后保存",'warning'); + return; + } + if(accountArr.length && accountMoneyArr.length) { + $("#AccountId").attr("data-accountArr",JSON.stringify(accountArr)).attr("data-accountMoneyArr",JSON.stringify(accountMoneyArr)); //json数据存储 + } + if(listSubType==="零售" || listSubType==="零售退货") { + $("#getAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 + var backAmount = $("#getAmount").val() - $("#ChangeAmount").val(); + $("#backAmount").val((backAmount - 0).toFixed(2)); //计算找零金额 + } + else { + $("#ChangeAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 + } + $("#Debt").val((discountLastMoneyNum-accountMoneyTotal).toFixed(2)); //本次欠款 + $("#depotHeadAccountDlg").dialog('close'); + }); + + //取消事件 + function cancelFun(){ + if($("#AccountId").attr("data-accountArr")){ + $("#depotHeadAccountDlg").dialog('close'); + } + else { + $("#depotHeadAccountDlg").dialog('close'); + $("#AccountId").val("").removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 + if(listSubType==="零售" || listSubType==="零售退货"){ + $("#ChangeAmount").prop("readonly","readonly"); + } + else { + $("#ChangeAmount").removeProp("readonly","readonly"); + } + $(".many-account-ico").hide(); //隐藏多账户小图标 + } + } + //多账户-取消按钮 + $("#cancelDepotHeadAccountDlg").off("click").on("click", function(){ + cancelFun(); + }); + + //多账户-右上角的关闭按钮 + $("#depotHeadAccountDlg").prev().find(".panel-tool-close").off("click").on("click", function(){ + cancelFun(); + }); + } + //点击多账户,弹出输入框 + $("#AccountId").off("change").on("change",function(){ + var selectText = $(this).children('option:selected').text(); + if(selectText === "多账户"){ + $("#ChangeAmount").prop("readonly","readonly"); + depotHeadAccountDlgFun(); + $(".many-account-ico").show(); //显示多账户小图标 + } + else{ + $(this).removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 + if(listSubType==="零售" || listSubType==="零售退货"){ + $("#ChangeAmount").prop("readonly","readonly"); + } + else { + $("#ChangeAmount").removeProp("readonly","readonly"); + } + $(".many-account-ico").hide(); //隐藏多账户小图标 + } + }); + + //结算账户-多账户小图标-点击事件 + $(".many-account-ico").off("click").on("click",function(){ + depotHeadAccountDlgFun(); + //给弹窗赋值-多账户数据 + var accountArr = $("#AccountId").attr("data-accountArr"); + accountArr = JSON.parse(accountArr); + var accountMoneyArr = $("#AccountId").attr("data-accountMoneyArr"); + accountMoneyArr = JSON.parse(accountMoneyArr); + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){ + var index = $(this).attr("data-index"); + $(this).find(".account-id-dlg").val(accountArr[index]); + $(this).find(".account-money-dlg").val(accountMoneyArr[index]); + }); + if(listSubType==="零售" || listSubType==="零售退货") { + $("#accountMoneyTotalDlg").text($("#getAmount").val()); + } + else { + $("#accountMoneyTotalDlg").text($("#ChangeAmount").val()); + } + }); + + //点击采购费用、销售费用的事件 + $(".other-money-ico").off("click").on("click",function(){ + $('#otherMoneyDlg').dialog('open').dialog('setTitle',' '+ listSubType +'费用'); + $("#otherMoneyDlg .money-dlg .money-content-tmp").remove(); //先移除输入栏目 + $("#otherMoneyTotalDlg").text(0); //将合计初始化为0 + for(var i=0; i<6; i++) { + $("#otherMoneyDlg .tabs-tmp .money-content-tmp").attr("data-index",5-i); //添加索引 + var contentTmp = $("#otherMoneyDlg .tabs-tmp tbody").html(); + var moneyDlgHead = $("#otherMoneyDlg .money-head-tmp"); + moneyDlgHead.after(contentTmp); + } + + //获取支出项目信息 + function moneyDlgFun() { + var options = ""; + if(outItemList !=null){ + for(var i = 0 ;i < outItemList.length;i++) { + var money = outItemList[i]; + options += ''; + } + $(".money-id-dlg").empty().append("").append(options); + } + } + moneyDlgFun(); //获取支出项目信息 + $("#otherMoneyDlg .tabs-tmp").hide(); //隐藏模板 + + //支出项目的金额输入框事件 + $("#otherMoneyDlg .money-dlg .other-money-dlg").off("keyup").on("keyup",function(){ + var totalMoneyNum = 0; + $("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){ + var eachOtherMoney = $(this).find(".other-money-dlg").val()-0; + totalMoneyNum += eachOtherMoney; + }); + $("#otherMoneyTotalDlg").text(totalMoneyNum); + }); + + //支出项目列表的切换事件 + $("#otherMoneyDlg .money-dlg .money-id-dlg").off("change").on("change",function(){ + var selectItem = $(this).children('option:selected').text(); + if(selectItem === ""){ + var thisMoneyDom = $(this).closest(".money-content-tmp").find(".other-money-dlg"); + var thisMoney = thisMoneyDom.val()-0; + var otherMoneyTotal = $("#otherMoneyTotalDlg").text() - 0; + $("#otherMoneyTotalDlg").text(otherMoneyTotal - thisMoney); + thisMoneyDom.val(""); //支出项目为空时候,将金额也置为空 + } + }); + + //保存按钮事件 + $("#saveOtherMoneyDlg").off("click").on("click", function(){ + //完成支出项目的json数据存储 + var itemArr = []; //支出项目id数组 + var itemMoneyArr = []; //支出项目金额数组 + var errorIndex = -1; + $("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){ + var thisId = $(this).find(".money-id-dlg").val(); + var thisMoney = $(this).find(".other-money-dlg").val(); + if(!thisId && thisMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisId && !thisMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisId && thisMoney) { + itemArr.push(thisId); + itemMoneyArr.push(thisMoney); + } + }); + if(errorIndex >-1){ + $.messager.alert('错误提示',"第" + (errorIndex+1) + "行数据存在问题,请修改",'warning'); + return; + } + var otherMoneyTotal = $("#otherMoneyTotalDlg").text()-0; //合计金额 + if(otherMoneyTotal === 0){ //0的时候清空缓存数据 + $("#OtherMoney").removeAttr("data-itemArr").removeAttr("data-itemMoneyArr"); + } + if(itemArr.length && itemMoneyArr.length) { + $("#OtherMoney").attr("data-itemArr",JSON.stringify(itemArr)).attr("data-itemMoneyArr",JSON.stringify(itemMoneyArr)); //json数据存储 + } + $("#OtherMoney").val(otherMoneyTotal); //给采购费用、销售费用赋值 + $("#otherMoneyDlg").dialog('close'); + }); + + //取消事件 + function cancelFun(){ + if($("#OtherMoney").attr("data-itemArr")){ + $("#otherMoneyDlg").dialog('close'); + } + else { + $("#otherMoneyDlg").dialog('close'); + $("#OtherMoney").val("").removeAttr("data-itemArr").removeAttr("data-itemMoneyArr"); //将下拉置空并把缓存参数清空 + } + } + //费用-取消按钮 + $("#cancelOtherMoneyDlg").off("click").on("click", function(){ + cancelFun(); + }); + + //费用-右上角的关闭按钮 + $("#otherMoneyDlg").prev().find(".panel-tool-close").off("click").on("click", function(){ + cancelFun(); + }); + + //给弹窗赋值-采购费用、销售费用数据 + var itemArr = $("#OtherMoney").attr("data-itemArr"); + itemArr = JSON.parse(itemArr); + var itemMoneyArr = $("#OtherMoney").attr("data-itemMoneyArr"); + itemMoneyArr = JSON.parse(itemMoneyArr); + $("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){ + var index = $(this).attr("data-index"); + $(this).find(".money-id-dlg").val(itemArr[index]); + if(itemMoneyArr[index]!="undefined"){ + $(this).find(".other-money-dlg").val(itemMoneyArr[index]); + } + }); + $("#otherMoneyTotalDlg").text($("#OtherMoney").val()); + }); + + if(listTitle === "采购入库列表" || listTitle === "其它入库列表" || listTitle === "采购订单列表"|| listTitle === "零售出库列表"|| listTitle === "销售出库列表"|| listTitle === "销售订单列表"){ + var supplierType = "供应商"; + if(listTitle === "零售出库列表"){ + supplierType = "会员"; + }else if(listTitle === "销售出库列表" || listTitle === "销售订单列表"){ + supplierType = "客户"; + } + //检查单位名称是否存在 ++ 重名无法提示问题需要跟进 + function checkSupplierName() { + var supplierName = $.trim($("#supplier").val()); + var orgSupplier = ""; + //表示是否存在 true == 存在 false = 不存在 + var flag = false; + //开始ajax名称检验,不能重名 + if(supplierName.length > 0 &&( orgSupplier.length ==0 || supplierName != orgSupplier)) + { + $.ajax({ + type:"get", + url: "/supplier/checkIsNameExist", + dataType: "json", + async : false, + data: ({ + id : 0, + name : supplierName + }), + success: function (res) { + if(res && res.code === 200) { + if(res.data && res.data.status) { + flag = res.data.status; + if (flag) { + $.messager.alert('提示', '单位名称已经存在', 'info'); + return; + } + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('提示','检查单位名称是否存在异常,请稍后再试!','error'); + return; + } + }); + } + return flag; + } + + //保存供应商信息 + $("#saveSupplier").off("click").on("click",function() { + if(validateForm("supplierFM")) { + return; + } + if(checkSupplierName()){ + return; + } + var reg = /^([0-9])+$/; + var phonenum = $.trim($("#phonenum").val()); + if(phonenum.length>0 && !reg.test(phonenum)) + { + $.messager.alert('提示','电话号码只能是数字','info'); + $("#phonenum").val("").focus(); + return; + } + var beginNeedGet = $.trim($("#BeginNeedGet").val()); + var beginNeedPay = $.trim($("#BeginNeedPay").val()); + if(beginNeedGet && beginNeedPay) { + $.messager.alert('提示','期初应收和期初应付不能同时输入','info'); + return; + } + var url = '/supplier/add'; + var supObj = $("#supplierFM").serializeObject(); + supObj.type = supplierType; + supObj.enabled = 1; + $.ajax({ + url: url, + type:"post", + dataType: "json", + data:{ + info: JSON.stringify(supObj) + }, + success: function(res) { + if (res) { + $('#supplierDlg').dialog('close'); + initSupplier(); //刷新供应商 + } + } + }); + }); + } +} + +function showDepotHeadDetails(pageNo,pageSize){ + var materialParam = $.trim($("#searchMaterial").val()); + $.ajax({ + type:"get", + url: "/depotItem/getHeaderIdByMaterial", + dataType: "json", + data: ({ + materialParam: materialParam, + depotIds: depotString + }), + success: function (res) { + if(res && res.code === 200) { + var ids = res.data; + if(ids){ + $.ajax({ + type: "get", + url: "/depotHead/list", + dataType: "json", + data: ({ + search: JSON.stringify({ + type: listType, + subType: listSubType, + state: $.trim($("#searchState").val()), + number: $.trim($("#searchNumber").val()), + beginTime: $("#searchBeginTime").val(), + endTime: $("#searchEndTime").val(), + dhIds: ids + }), + currentPage: pageNo, + pageSize: pageSize + }), + success: function (res) { + if(res && res.code === 200){ + if(res.data && res.data.page) { + $("#tableData").datagrid('loadData', res.data.page); + } + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); + return; + } + }); + } + else { + $("#tableData").datagrid('loadData', []); + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + return; + } + }); +} + +//自动计算事件 +function autoReckon() { + //延时绑定事件 + setTimeout(function(){ + var body =$("#depotHeadFM .datagrid-body"); + var footer =$("#depotHeadFM .datagrid-footer"); + var input = ".datagrid-editable-input"; + //点击商品下拉框,自动加载数量、单价、金额 + body.find("[field='Stock']").find(input).prop("readonly","readonly"); + //点击库存文本框,字段计算库存 + body.find("[field='Stock']").find(input).off("click").on("click",function(){ + var depotId = body.find("[field='DepotId']").find(".combo-value").val(); + var mId = body.find("[field='MaterialId']").find(".combo-value").val(); + var monthTime = getNowFormatMonth(); + if(depotId && mId){ + var ratio = body.find("[field='Unit']").find(input).attr("data-ratio"); + body.find("[field='Stock']").find(input).prop("readonly","readonly"); + //在新增的时候,这个ratio有值;在编辑的时候,这个ratio为undefined + var type = "click"; //type 类型:点击 click,选择 select + findStockNumById(depotId, mId, monthTime, body, input, ratio, type); + } + else{ + body.find("[field='Stock']").find(input).val(0).attr("data-stock",0); //加载库存数据 + } + }); + //修改数量,自动计算金额和合计,另外计算含税单价、税额、价税合计 + body.find("[field='OperNumber']").find(input).off("keyup").on("keyup",function(){ + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var OperNumber =$(this).val()-0; //数量 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + + }); + //修改单价,自动计算金额和合计 + body.find("[field='UnitPrice']").find(input).off("keyup").on("keyup",function(){ + var UnitPrice =$(this).val()-0; //单价 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //点击单价,自动提示参考价格列表 + body.find("[field='UnitPrice']").find(input).off("click").on("click",function(){ + var self = this; + var mValue = body.find("[field='MaterialId'] .combo-value").attr("value"); //获取选中的商品id + if(!mValue) { + return; + } + else { + if(listTitle!="销售出库列表" && listTitle!="采购退货列表" && listTitle!="其它出库列表" && listTitle!="调拨出库列表") { + return; + } + $.ajax({ + url: "/material/findById", + type: "get", + dataType: "json", + data: { + id: mValue - 0 + }, + success: function(res){ + if(res && res.rows && res.rows[0]) { + var retailPrice = res.rows[0].RetailPrice; + var presetPriceOne = res.rows[0].PresetPriceOne; + var presetPriceTwo = res.rows[0].PresetPriceTwo; + //定义模版 + var temp = "
"; + temp +="
    "; + temp +="
  • 批发价:" + presetPriceTwo + "
  • "; + temp +="
  • 零售价:" + retailPrice + "
  • "; + temp +="
"; + temp +="
"; + if($('.price-list').length){ + $('.price-list').remove(); //如果存在价格列表先移除 + } + else { + if(presetPriceTwo != undefined){ //多单位的商品 + $(self).after(temp); //加载列表信息 + } + } + $('.price-list ul li').off("click").on("click",function(){ + var price = $(this).text(); + price = price.substring(price.indexOf(":") + 1); + $(self).val(price); + $(self).keyup(); //模拟键盘操作 + $('.price-list').remove(); //移除价格列表 + }); + //点击空白处移除价格列表 + $(".datagrid-body").off("click").on("click",function(){ + $('.price-list').remove(); //移除价格列表 + }); + } + }, + error: function(){ + $.messager.alert('错误提示','查询商品信息异常,请稍后再试!','error'); + return; + } + }); + } + }); + //修改含税单价,自动计算单价、金额、税额、价税合计和合计 + body.find("[field='TaxUnitPrice']").find(input).off("keyup").on("keyup",function(){ + var TaxUnitPrice =$(this).val()-0; //含税单价 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var UnitPrice = TaxUnitPrice/(1+taxRate/100); //计算单价 + body.find("[field='UnitPrice']").find(input).val((UnitPrice).toFixed(2)); //单价 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改金额,自动计算单价、税额、价税合计和合计 + body.find("[field='AllPrice']").find(input).off("keyup").on("keyup",function(){ + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var AllPrice =$(this).val()-0; //金额 + var UnitPrice = (AllPrice/OperNumber).toFixed(2); + body.find("[field='UnitPrice']").find(input).val(UnitPrice); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改税率,自动计算含税单价、税额、价税合计和合计 + body.find("[field='TaxRate']").find(input).off("keyup").on("keyup",function(){ + var taxRate =$(this).val()-0; //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改税额,自动计算税率、含税单价、价税合计和合计 + body.find("[field='TaxMoney']").find(input).off("keyup").on("keyup",function(){ + var taxMoney =$(this).val()-0; //税额 + var AllPrice = body.find("[field='AllPrice']").find(input).val(); //金额 + var taxRate = taxMoney/AllPrice*100; //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxRate']").find(input).val((taxRate).toFixed(2)); //税率 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改价税合计,自动计算税率、含税单价、税额和合计 + body.find("[field='TaxLastMoney']").find(input).off("keyup").on("keyup",function(){ + var taxLastMoney =$(this).val()-0; //价税合计 + var AllPrice = body.find("[field='AllPrice']").find(input).val(); //金额 + var taxRate = (taxLastMoney-AllPrice)/AllPrice*100; //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxRate']").find(input).val((taxRate).toFixed(2)); //税率 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + + //加载税率 + if(thisTaxRate) { + body.find("[field='TaxRate']").find(input).val(thisTaxRate); + } + else { + body.find("[field='TaxRate']").find(input).val(0); //默认为0 + } + + //在商品类型加载 组装件、普通子件 + var mType = body.find("[field='MType']"); + var rowListLength = mType.find(input).closest(".datagrid-row").attr("datagrid-row-index"); + var mTypeValue = "组合件"; + if(rowListLength > 0){ + mTypeValue = "普通子件"; + } + if(listSubType == "组装单" || listSubType == "拆卸单"){ + mType.find(input).val(mTypeValue).prop("readonly","readonly"); + } + },500); +} + +//结束编辑 +function endEditing() { + if (editIndex == undefined) { return true } + if ($('#materialData').datagrid('validateRow', editIndex)) { + //仓库信息 + var edDepot = $('#materialData').datagrid('getEditor', {index:editIndex,field:'DepotId'}); + var DepotName = $(edDepot.target).combobox('getText'); + $('#materialData').datagrid('getRows')[editIndex]['DepotName'] = DepotName; + //商品信息 + var edMaterial = $('#materialData').datagrid('getEditor', {index:editIndex,field:'MaterialId'}); + var MaterialName = $(edMaterial.target).combobox('getText'); + $('#materialData').datagrid('getRows')[editIndex]['MaterialName'] = MaterialName; + $('#materialData').datagrid('endEdit', editIndex); + editIndex = undefined; + return true; + } else { + return false; + } +} +//单击 +function onClickRow(index) { + if (editIndex != index) { + if (endEditing()) { + $('#materialData').datagrid('selectRow', index).datagrid('beginEdit', index); + editIndex = index; + autoReckon(); + } else { + $('#materialData').datagrid('selectRow', editIndex); + } + } +} +//新增 +function append(){ + if (endEditing()) { + $('#materialData').datagrid('appendRow', {DepotId:defDepotId}); + editIndex = $('#materialData').datagrid('getRows').length - 1; + $('#materialData').datagrid('selectRow', editIndex).datagrid('beginEdit', editIndex); + autoReckon(); + } +} +//删除 +function batchDel(){ + /** + * 重写一下删除的逻辑 + * 获取所有选中行,直接从列表中移除 + * 点击保存时,将需要后台删除的数据提交到服务器 + * **/ + /** + * create by: qiankunpingtai + * create time: 2019/3/20 16:26 + * description: + * 这个地方比较坑的,花了一个多小时才搞明白为什么 + * 1、删除之前必须先调用endEditing结束编辑 + * 2、如果只是调用endEditing结束编辑那么正在编辑行的被选中状态会被去掉 + * 所以要在调用endEditing先获取选中的行 + */ + //如果编辑的行一开始是选中状态,结束编辑后仍然是选中状态 + var row = $('#materialData').datagrid('getChecked'); + if (endEditing()) { + if (row.length == 0) { + $.messager.alert('删除提示', '没有记录被选中!', 'info'); + return; + } + if (row.length > 0) { + $.messager.confirm('删除确认', '确定要删除选中的' + row.length + '条单据信息吗?', function (r) { + if (r) { + for (var i = 0; i < row.length; i++) { + $('#materialData').datagrid('deleteRow', $('#materialData').datagrid("getRowIndex", row[i])); + } + } + }); + } + } +} +function removeit(){ + if (editIndex == undefined) { return } + $('#materialData').datagrid('cancelEdit', editIndex) + .datagrid('deleteRow', editIndex); + editIndex = undefined; +} +//撤销 +function reject() { + $('#materialData').datagrid('rejectChanges'); + editIndex = undefined; +} +//判断 +function CheckData(type) { + append(); + removeit(); + var change = $('#materialData').datagrid('getChanges').length; + if(type =="add" && !change) { + $.messager.alert('提示','请输入明细信息!','warning'); + return false; + } + var row = $('#materialData').datagrid('getRows'); + if(!row.length){ + $.messager.alert('提示',"请输入明细信息!",'info'); + return false; + } + var totalRowNum = ""; + for (var i = 0; i < row.length; i++) { + if (row[i].DepotId == "" || row[i].MaterialId == "" || row[i].OperNumber == "" || row[i].UnitPrice === "" || row[i].AllPrice === "") { + totalRowNum += (i + 1) + "、"; + } + } + if (totalRowNum != "") { + var totalRowNum = totalRowNum.substring(0, totalRowNum.length - 1); + $.messager.alert('提示',"第" + totalRowNum + "行数据填写不完整!",'info'); + return false; + } + return true; +} +//保存 +function accept(accepId,fun) { + var inserted = $("#materialData").datagrid('getChanges', "inserted"); + var deleted = $("#materialData").datagrid('getChanges', "deleted"); + var updated = $("#materialData").datagrid('getChanges', "updated"); + $.ajax({ + type: "post", + url: "/depotItem/saveDetials", + data: { + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated), + headerId:accepId + }, + success: function (tipInfo) + { + if (tipInfo) { + $.messager.alert('提示','保存成功!','info'); + } + else { + $.messager.alert('提示', '保存失败!', 'error'); + } + fun && fun(); + }, + error: function (XmlHttpRequest, textStatus, errorThrown) + { + $.messager.alert('提示',XmlHttpRequest.responseText,'error'); + fun && fun(); + } + }); + if (endEditing()) { + $('#materialData').datagrid('acceptChanges'); + } +} +//获取MaxId +function getMaxId(){ + var depotHeadMax=null; + $.ajax({ + type:"get", + url: "/depotHead/getMaxId", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + depotHeadMax = res.data.maxId; + } + } + } + }); + + if(depotHeadMax !=null) { + depotHeadMaxId=depotHeadMax; + } +} + +/** + * 新增单据主表及单据子表 + * */ +function addDepotHeadAndDetail(url,infoStr){ + var inserted = null; + if(pageType === "skip") { + inserted = $("#materialData").datagrid('getChanges', "updated"); + } else { + inserted = $("#materialData").datagrid('getChanges', "inserted"); + } + var deleted = $("#materialData").datagrid('getChanges', "deleted"); + var updated = $("#materialData").datagrid('getChanges', "updated"); + $.ajax({ + type:"post", + url: url, + dataType: "json", + async : false, + data: ({ + info:infoStr, + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated) + }), + success: function (tipInfo){ + + if(tipInfo){ + if(tipInfo.code!=200){ + $.messager.alert('提示', tipInfo.msg, 'error'); + return; + } + $.messager.alert('提示','保存成功!','info'); + $('#depotHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showDepotHeadDetails(opts.pageNumber,opts.pageSize); + + }else { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + + + }); +} +/** + * 修改单据主表及单据子表 + * */ +function updateDepotHeadAndDetail(url,infoStr,preTotalPrice){ + var inserted = $("#materialData").datagrid('getChanges', "inserted"); + var deleted = $("#materialData").datagrid('getChanges', "deleted"); + var updated = $("#materialData").datagrid('getChanges', "updated"); + $.ajax({ + type:"post", + url: url, + dataType: "json", + async : false, + data: ({ + id:url.substring(url.lastIndexOf("?id=")+4,url.length), + info:infoStr, + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated), + preTotalPrice:preTotalPrice + }), + success: function (tipInfo){ + if(tipInfo){ + if(tipInfo.code!=200){ + $.messager.alert('提示', tipInfo.msg, 'error'); + return; + } + $.messager.alert('提示','保存成功!','info'); + $('#depotHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showDepotHeadDetails(opts.pageNumber,opts.pageSize); + if (endEditing()) { + $('#materialData').datagrid('acceptChanges'); + } + }else { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); +} + + + + diff --git a/erp_web/js/pages/materials/sale_back_list.js b/erp_web/js/pages/materials/sale_back_list.js new file mode 100644 index 00000000..662d9507 --- /dev/null +++ b/erp_web/js/pages/materials/sale_back_list.js @@ -0,0 +1,3205 @@ +//初始化界面 +var defDepotId = null; +var kid = sessionStorage.getItem("userId"); +var pageType = getUrlParam('t'); //获取页面类型传值 +var depotList = null; +var depotID = null; +var supplierList = null; +var supplierID = null; +var personList = null; +var personID = null; +var ProjectSearch=null; +var userBusinessList=null; +var userdepot=null; +var depotHeadMaxId=null; //获取最大的Id +var accepId=null; //保存的主表id +var url; +var depotHeadID = 0; +var preTotalPrice = 0; //前一次加载的金额 +var orgDepotHead = ""; +var editIndex = undefined; +var listTitle = ""; //单据标题 +var listType = ""; //入库 出库 +var listSubType = ""; //采购 销售等 +var payTypeTitle = "";//付款 收款 +var organUrl = ""; //组织数据接口地址 +var amountNum = ""; //单据编号开头字符 +var depotString = ""; //店铺id列表 +/**默认编号有意义吗,不如空着吧*/ +var orgDefaultId=''; //单位默认编号 +var orgDefaultList; //存储查询出来的会员列表 +var accountList; //账户列表 +var outItemList; //支出项目列表 +var thisTaxRate = 0; //当前税率,选择供应商或者客户的时候设置 +var oldNumber = ""; //编辑前的单据编号 +var oldId = 0; //编辑前的单据Id +var otherColumns = true; //明细中的‘别名’列是否显示 +var btnEnableList = getBtnStr(); //获取按钮的权限 +var mPropertyList = ""; //商品属性列表 +var defaultAccountId = 0; //默认账户id +$(function(){ + //初始化系统基础信息 + getType(); + initSystemData_UB(); + initSelectInfo_UB(); + initSystemData_depot(); + initSelectInfo_depot(); + initSystemData_person(); + initSelectInfo_person(); + initSystemData_account(); + initSelectInfo_account(); + initSupplier(); //供应商 + initSalesman(); //销售人员 + initOutItemList(); //初始化支出项目 + initMProperty(); //初始化商品属性 + initTableData(); + ininPager(); + initForm(); + bindEvent();//绑定操作事件 +}); +//根据单据名称获取类型 +function getType(){ + listTitle = $("#tablePanel").prev().text(); + depotString = "|"; + //改变宽度和高度 + $("#searchPanel").panel({width:webW-2}); + $("#tablePanel").panel({width:webW-2}); + var supUrl = "/supplier/findBySelect_sup"; //供应商接口 + var cusUrl = "/supplier/findBySelect_cus?UBType=UserCustomer&UBKeyId=" + kid; //客户接口 + var retailUrl = "/supplier/findBySelect_retail"; //散户接口 + if(listTitle === "采购订单列表"){ + listType = "其它"; + listSubType = "采购订单"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "CGDD"; + } + else if(listTitle === "采购入库列表"){ + listType = "入库"; + listSubType = "采购"; + payTypeTitle = "付款"; + organUrl = supUrl; + amountNum = "CGRK"; + } + else if(listTitle === "零售退货列表"){ + listType = "入库"; + listSubType = "零售退货"; //注:用预付款购买的产品不能退货 + payTypeTitle = "付款"; + organUrl = retailUrl; + amountNum = "LSTH"; + } + else if(listTitle === "销售退货列表"){ + listType = "入库"; + listSubType = "销售退货"; + payTypeTitle = "付款"; + organUrl = cusUrl; + amountNum = "XSTH"; + } + else if(listTitle === "其它入库列表"){ + listType = "入库"; + listSubType = "其它"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "QTRK"; + } + else if(listTitle === "零售出库列表"){ + listType = "出库"; + listSubType = "零售"; + payTypeTitle = "收款"; + organUrl = retailUrl; + amountNum = "LSCK"; + } + else if(listTitle === "销售订单列表"){ + listType = "其它"; + listSubType = "销售订单"; + payTypeTitle = "隐藏"; + organUrl = cusUrl; + amountNum = "XSDD"; + } + else if(listTitle === "销售出库列表"){ + listType = "出库"; + listSubType = "销售"; + payTypeTitle = "收款"; + organUrl = cusUrl; + amountNum = "XSCK"; + } + else if(listTitle === "采购退货列表"){ + listType = "出库"; + listSubType = "采购退货"; + payTypeTitle = "收款"; + organUrl = supUrl; + amountNum = "CGTH"; + } + else if(listTitle === "其它出库列表"){ + listType = "出库"; + listSubType = "其它"; + payTypeTitle = "隐藏"; + organUrl = cusUrl; + amountNum = "QTCK"; + } + else if(listTitle === "调拨出库列表"){ + listType = "出库"; + listSubType = "调拨"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "DBCK"; + } + else if(listTitle === "组装单列表"){ + listType = "其它"; + listSubType = "组装单"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "ZZD"; + } + else if(listTitle === "拆卸单列表"){ + listType = "其它"; + listSubType = "拆卸单"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "CXD"; + } +} +//初始化系统基础信息 +function initSystemData_UB(){ + $.ajax({ + type:"get", + url: "/userBusiness/getBasicData", + data: ({ + KeyId:kid, + Type:"UserDepot" + }), + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if (res && res.code === 200) { + userBusinessList = res.data.userBusinessList; + } + else { + userBusinessList = null; + } + } + }); + +} +//初始化页面选项卡 +function initSelectInfo_UB(){ + + if(userBusinessList !=null) + { + if(userBusinessList.length>0) + { + //用户对应的仓库列表 [1][2][3]... + userdepot =userBusinessList[0].value; + } + } +} + + +//初始化系统基础信息 +function initSystemData_depot(){ + $.ajax({ + type:"get", + url: "/depot/getAllList", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200){ + depotList = res.data; + } else { + $.messager.alert('提示', '查找系统基础信息异常,请与管理员联系!', 'error'); + return; + } + } + }); +} +//初始化页面选项卡 +function initSelectInfo_depot(){ + var options = ""; + + if(depotList !=null) + { + options = ""; + for(var i = 0 ;i < depotList.length;i++) + { + var depot = depotList[i]; + + if(userdepot!=null) + { + if(userdepot.indexOf("["+depot.id+"]")!=-1) + { + if(depot.isDefault){ + defDepotId = depot.id; + } + options += ''; + depotString = depotString + depot.id + ","; + } + } + if(depot.type === 1){ + depotString = depotString + depot.id + ","; + } + } + depotString = depotString.substring(1, depotString.length-1); + $("#ProjectId").empty().append(options); + $("#AllocationProjectId").empty().append(options); + $("#searchProjectId").empty().append('').append(options); + } +} + +//初始化供应商、客户、散户信息 +function initSupplier(){ + $('#OrganId').combobox({ + url: organUrl, + valueField:'id', + textField:'supplier', + filter: function(q, row){ + var opts = $(this).combobox('options'); + return row[opts.textField].indexOf(q) >-1; + }, + onLoadSuccess: function(res) { + var data = $(this).combobox('getData'); + for(var i = 0; i<= data.length; i++){ + if(data && data[i] && data[i].supplier === "非会员"){ + orgDefaultId = data[i].id; + } + } + if(listSubType === "零售"){ + orgDefaultList = res; + } + }, + onSelect: function(rec){ + if(listSubType === "零售"){ + var option = ""; + if(rec.supplier !== "非会员" && rec.advanceIn >0){ + option = ''; + option += ''; + } + else { + option += ''; + } + $("#payType").empty().append(option); + } + else{ + $.ajax({ + type:"get", + url: "/supplier/findById", + data: { + supplierId: rec.id + }, + dataType: "json", + success: function (res){ + if(res && res.code === 200) { + if(res.data && res.data[0]){ + thisTaxRate = res.data[0].taxRate; //设置当前的税率 + } + } + }, + error:function(){ + + } + }); + } + } + }); +} + +//初始化销售人员 +function initSalesman(){ + $('#Salesman').combobox({ + url: "/person/getPersonByNumType?type=1", + valueField:'id', + textField:'name', + multiple: true + }); +} + +//初始化收入项目列表 +function initOutItemList(){ + $.ajax({ + type:"get", + url: "/inOutItem/findBySelect?type=out", + //设置为同步 + async:false, + dataType: "json", + success: function (res){ + if(res){ + outItemList = res; + } + }, + error:function(){ + + } + }); +} + +//初始化商品属性 +function initMProperty(){ + $.ajax({ + type: "get", + url: "/materialProperty/list", + dataType: "json", + data: ({ + search: JSON.stringify({ + name: "" + }), + currentPage: 1, + pageSize: 100 + }), + success: function (res) { + if(res && res.code === 200){ + if(res.data && res.data.page) { + var thisRows = res.data.page.rows; + for (var i = 0; i < thisRows.length; i++) { + if (thisRows[i].enabled) { + mPropertyList += thisRows[i].nativeName + ","; + } + } + if (mPropertyList) { + mPropertyList = mPropertyList.substring(0, mPropertyList.length - 1); + } + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('查询提示','查询信息异常,请稍后再试!','error'); + return; + } + }); +} + +//初始化系统基础信息 +function initSystemData_person(){ + $.ajax({ + type:"get", + url: "/person/getAllList", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + personList = res.data.personList; + } + } + } + }); +} +//初始化页面选项卡 +function initSelectInfo_person(){ + var options1 = ""; + + if(personList !=null) + { + for(var i = 0 ;i < personList.length;i++) + { + var person = personList[i]; + if(0 == i) + { + personID = person.id; + } + if(person.type=="仓管员") + { + options1 += ''; + } + } + $("#HandsPersonId").empty().append(options1); + } +} +//获取账户信息 +function initSystemData_account(){ + $.ajax({ + type:"get", + url: "/account/getAccount", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + accountList = res.data.accountList; + } + } + } + }); +} +//获取账户信息 +function initSelectInfo_account(){ + var options = ""; + if(accountList !=null){ + options = ""; + options += ""; + for(var i = 0 ;i < accountList.length;i++) { + var account = accountList[i]; + options += ''; + if(account.isdefault) { + defaultAccountId = account.id; //给账户赋值默认id + } + } + $("#AccountId").empty().append(options); + } +} + +//防止表单提交重复 +function initForm(){ + $('#depotHeadFM').form({ + onSubmit: function(){ + return false; + } + }); +} + +//初始化表格数据 +function initTableData(){ + if(pageType === "skip") { + var oldRowInfo = sessionStorage.getItem("rowInfo"); + editDepotHead(oldRowInfo); //自动弹出编辑框,带缓存数据 + } + var hideType = undefined; + var isHiddenStatus = true; + if(payTypeTitle === "隐藏"){ + hideType = true; //隐藏当前列 + } + var tableToolBar = [ + { + id:'addDepotHead', + text:'增加', + iconCls:'icon-add', + handler:function() + { + addDepotHead(); + } + }, + { + id:'deleteDepotHead', + text:'删除', + iconCls:'icon-remove', + handler:function() + { + batDeleteDepotHead(); + } + } + ]; + //如果允许的按钮列表中存在就显示,3-代表审核|反审核的权限 + if(btnEnableList && btnEnableList.indexOf(3)>-1){ + isHiddenStatus = false; //显示 + tableToolBar.push({ + id:'okDepotHead', + text:'审核', + iconCls:'icon-ok', + handler:function() { + setStatusFun(); + } + }, + { + id:'undoDepotHead', + text:'反审核', + iconCls:'icon-undo', + handler:function() { + setUnStatusFun(); + } + }); + } + else { + isHiddenStatus = true; //隐藏 + } + var isShowLastMoneyColumn = false; //是否显示优惠后金额和价税合计,true为隐藏,false为显示 + if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowLastMoneyColumn = true; //隐藏 + } + var isShowOrganNameColumn = false; //是否显示供应商、客户等信息,true为隐藏,false为显示 + var organNameTitle = ""; //组织名称标题 + if(listSubType == "调拨" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowOrganNameColumn = true; //隐藏 + } + else { + if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "采购退货列表" || listTitle == "其它入库列表"){ + organNameTitle = "供应商名称"; + } + else if(listTitle == "销售订单列表" || listTitle == "销售退货列表" || listTitle == "销售出库列表" || listTitle == "其它出库列表"){ + organNameTitle = "客户名称"; + } + else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ + organNameTitle = "会员卡号"; + } + } + var opWidth = 90; //操作宽度 + var isShowSkip = false; //是否显示跳转按钮 + var opTitle = ""; //跳转按钮的标题 + if(listTitle == "采购订单列表") { + opWidth = 120; + isShowSkip = true; + opTitle = "转采购入库"; + } else if(listTitle == "销售订单列表") { + opWidth = 120; + isShowSkip = true; + opTitle = "转销售出库"; + } + $('#tableData').datagrid({ + height:heightInfo, + rownumbers: false, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + pagination: true, + //交替出现背景 + striped : true, + pageSize: 10, + pageList: initPageNum, + columns:[[ + { field: 'id',width:35,align:"center",checkbox:true}, + { title: '操作',field: 'op',align:"center",width:opWidth, + formatter:function(value, rec,index) { + var str = ''; + // var rowInfo = rec.id + 'AaBb' + rec.projectid+ 'AaBb' + rec.number+ 'AaBb' + rec.operpersonname + // + 'AaBb' + rec.opertimeStr+ 'AaBb' + rec.organid+ 'AaBb' + rec.handspersonid + // + 'AaBb' + rec.accountid+ 'AaBb' + rec.changeamount+ 'AaBb' + rec.remark + // + 'AaBb' + rec.projectName+ 'AaBb' + rec.organName+ 'AaBb' + rec.handsPersonName + // + 'AaBb' + rec.accountName + 'AaBb' + rec.totalprice + 'AaBb' + rec.allocationprojectid + // + 'AaBb' + rec.allocationProjectName + 'AaBb' + rec.paytype + 'AaBb' + rec.salesman + // + 'AaBb' + rec.discount + 'AaBb' + rec.discountmoney + 'AaBb' + rec.discountlastmoney + // + 'AaBb' + rec.accountidlist + 'AaBb' + rec.accountmoneylist + // + 'AaBb' + rec.othermoney + 'AaBb' + rec.othermoneylist + 'AaBb' + rec.othermoneyitem + // + 'AaBb' + rec.accountday + 'AaBb' + rec.linknumber; + // rowInfo = rowInfo.replace(/\"/g, ""); + // rowInfo = rowInfo.replace(/\[|]/g,""); + var orgId = rec.organid? rec.organid:0; + str += '   '; + str += '   '; + str += ''; + if(isShowSkip) { + str += '   '; + } + return str; + } + }, + { title: organNameTitle, field: 'organName',width:120, hidden:isShowOrganNameColumn}, + { title: '单据编号',field: 'number',width:135, formatter:function (value,rec) { + if(rec.linknumber) { + return value + "[转]"; + } else { + return value; + } + } + }, + { title: '商品信息',field: 'materialsList',width:180,formatter:function(value){ + if(value) { + return value.replace(",",","); + } + } + }, + { title: '单据日期',field: 'opertimeStr',width:130}, + { title: '操作员',field: 'operpersonname',width:60}, + { title: '金额合计',field: 'totalprice',width:60}, + { title: '含税合计',field: 'totaltaxlastmoney',hidden:isShowLastMoneyColumn,width:60,formatter:function(value,rec){ + return (rec.discountmoney + rec.discountlastmoney).toFixed(2); + } + }, + { title: '优惠后金额',field: 'discountlastmoney',hidden:isShowLastMoneyColumn,width:80}, + { title: payTypeTitle,field: 'changeamount',width:50,hidden:hideType}, + { title: '状态',field: 'status',hidden:isHiddenStatus, width:70,align:"center",formatter:function(value){ + if(value === "0") { + return "未审核"; + } else if(value === "1") { + return "已审核"; + } else if(value === "2") { + if(listTitle == "采购订单列表") { + return "已转采购"; + } else if(listTitle == "销售订单列表") { + return "已转销售"; + } + } + } + } + ]], + toolbar:tableToolBar, + onLoadError:function() { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); +} + +//查找库存的方法 +function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ + var thisRatio = 1; //比例 + $.ajax({ + url: "/material/findById", + type: "get", + dataType: "json", + data: { + id: mId + }, + success: function (rec) { + if(rec && rec.code === 200 && rec.data && rec.data[0]) { + var loadRatio = 1; //在单位输入框上面加载比例字段 + if(rec.data[0].unit) { //如果存在计量单位信息 + loadRatio = 1; + } + else{ + var unitName = rec.data[0].unitName; + if(unitName) { + thisRatio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); + unitName = unitName.substring(0, unitName.indexOf("(")); + } + var unitArr = unitName.split(","); + var basicUnit = unitArr[0]; //基础单位 + var otherUnit = unitArr[1]; //副单位 + var unitSetInput =""; //单位 + if(listSubType === "采购订单" || listSubType === "采购" || listSubType === "采购退货"){ + unitSetInput = rec.data[0].firstinunit; + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = thisRatio; + } + } + else if(listSubType === "销售订单" || listSubType === "销售" || listSubType === "销售退货" || listSubType === "零售" || listSubType === "零售退货"){ + unitSetInput = rec.data[0].firstoutunit; + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = thisRatio; + } + } + } + //查询库存 + $.ajax({ + type: "get", + url: '/depotItem/findStockNumById', + data:{ + projectId: depotId, + materialId: mId, + monthTime: monthTime, + currentPage: 1, + pageSize: 10 + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if (res.data && res.data.page && res.data.page[0]) { + var thisStock = res.data.page[0].thisSum; + if (type == "select") { //选择下拉框的时候 + if (ratio != undefined && ratio != 1) { + loadRatio = ratio; + } + } + else if (type == "click") { //点击库存的时候 + if (ratio != undefined) { + loadRatio = ratio; + } + } + thisStock = (thisStock / loadRatio).toFixed(2); + body.find("[field='Stock']").find(input).val(thisStock).attr("data-stock", res.data.page[0].thisSum); //加载库存数据 + } + else { + body.find("[field='Stock']").find(input).val(0).attr("data-stock", 0); //加载库存数据 + } + body.find("[field='Stock']").find(input).prop("readonly", "readonly"); //设置库存数据为只读 + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); + } + }, + error: function () { + $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); + } + }); +} +//优惠率、合计的统计方法 +function statisticsFun(body,UnitPrice,OperNumber,footer,taxRate){ + var TotalPrice = 0; + var taxLastMoneyTotal = 0; + //金额的合计 + body.find("[field='AllPrice']").each(function(){ + if($(this).find("div").text()!==""){ + TotalPrice = TotalPrice + parseFloat($(this).find("div").text().toString()); + } + }); + TotalPrice = TotalPrice + UnitPrice*OperNumber; + footer.find("[field='AllPrice']").find("div").text((TotalPrice).toFixed(2)); //金额的合计 + //价税合计的总计 + body.find("[field='TaxLastMoney']").each(function(){ + if($(this).find("div").text()!==""){ + taxLastMoneyTotal = taxLastMoneyTotal + (parseFloat($(this).find("div").text().toString())-0); + } + }); + taxLastMoneyTotal = taxLastMoneyTotal + (UnitPrice*OperNumber*(1+taxRate/100)); + footer.find("[field='TaxLastMoney']").find("div").text((taxLastMoneyTotal).toFixed(2)); //价税合计的页脚总计 + var discount = $("#Discount").val(); //优惠率 + var discountMoney = (taxLastMoneyTotal*discount/100).toFixed(2); + $("#DiscountMoney").val(discountMoney);//优惠金额 + var discountLastMoney = (taxLastMoneyTotal*(1-discount/100)).toFixed(2) + $("#DiscountLastMoney").val(discountLastMoney);//优惠后金额 + if($("#AccountId").val()!=="many"){ + $("#ChangeAmount").val(discountLastMoney); //本次付、收款 + } + var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 + $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 + + if(listSubType == "零售" || listSubType == "零售退货") { + $("#ChangeAmount, #getAmount").val((TotalPrice).toFixed(2)); + $("#backAmount").val(0); + } +} +//初始化表格数据-商品列表-编辑状态 +function initTableData_material(type,TotalPrice){ + var body,footer,input; //定义表格和文本框 + var ratio = 1; //比例-品名专用 + var ratioDepot = 1; //比例-仓库用 + var monthTime = getNowFormatMonth(); + var isShowAnotherDepot = true; //显示对方仓库,true为隐藏,false为显示 + var depotHeadName = ""; //仓库名称 + var depotUrl = ""; //仓库接口地址 + var depotTextField = ""; //仓库下拉名称 + var anotherDepotHeadName = ""; //对方仓库的列的标题 + var anotherDepotUrl = ""; //对方仓库接口地址 + var anotherDepotTextField = ""; + if(listSubType == "调拨"){ + isShowAnotherDepot = false; //调拨时候显示对方仓库 + anotherDepotHeadName = "调入仓库"; + anotherDepotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; + anotherDepotTextField = "depotName"; + } + depotHeadName = "仓库名称"; + depotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; + depotTextField = "depotName"; + var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 + if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowTaxColumn = true; //隐藏 + } + var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 + if(listSubType == "组装单" || listSubType == "拆卸单"){ + isShowMaterialTypeColumn = false; //显示 + } + $('#materialData').datagrid({ + height:245, + rownumbers: false, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + //单击行是否选中 + checkOnSelect : false, + pagination: false, + //交替出现背景 + striped : true, + showFooter: true, + //loadFilter: pagerFilter, + onClickRow: onClickRow, + columns:[[ + { field: 'Id',width:35,align:"center",checkbox:true}, + { title: '商品类型',field: 'MType',editor:'validatebox',hidden:isShowMaterialTypeColumn,width:80}, + { title: depotHeadName, field: 'DepotId', editor: 'validatebox', width: 90, + formatter: function (value, row, index) { + return row.DepotName; + }, + editor: { + type: 'combobox', + options: { + valueField: 'id', + textField: depotTextField, + method: 'get', + url: depotUrl, + onSelect:function(rec){ + var depotId = rec.id; + body =$("#depotHeadFM .datagrid-body"); + footer =$("#depotHeadFM .datagrid-footer"); + input = ".datagrid-editable-input"; + var mId = body.find("[field='MaterialId']").find(".combo-value").val(); + if(mId){ + var type = "select"; //type 类型:点击 click,选择 select + findStockNumById(depotId, mId, monthTime, body, input, ratioDepot, type); + } + } + } + } + }, + { title: '品名(型号)(扩展信息)(单位)',field: 'MaterialId',width:230, + formatter:function(value,row,index){ + return row.MaterialName; + }, + editor:{ + type:'combobox', + options:{ + valueField:'Id', + textField:'MaterialName', + method:'get', + url: "/material/findBySelect", + panelWidth: 300, //下拉框的宽度 + //全面模糊匹配,过滤字段 + filter: function(q, row){ + var opts = $(this).combobox('options'); + return row[opts.textField].indexOf(q) >-1; + }, + onBeforeLoad: function(param){ + param.mpList = mPropertyList; //商品属性 + }, + onSelect:function(rec){ + if(rec) { + var mId = rec.Id; + $.ajax({ + url: "/material/findById", + type: "get", + dataType: "json", + data: { + id: mId + }, + success: function (res) { + if(res && res.code === 200 && res.data && res.data[0]) { + var retailPrice = res.data[0].retailprice-0; //零售价格 + var presetPriceOne = res.data[0].presetpriceone-0; //预计采购价 + var presetPriceTwo = res.data[0].presetpricetwo-0; //批发价 + var firstInUnit = res.data[0].firstinunit; //首选入库单位 + var firstOutUnit = res.data[0].firstoutunit; //首选出库单位 + var basicPresetPriceOne = ""; //多单位-入库-基础价格 + var basicPresetPriceTwo = ""; //多单位-出库-基础价格 + var retailPriceOne = ""; //多单位-入库-零售价格 + var otherPresetPriceOne = ""; //多单位-入库-其他价格 + var otherPresetPriceTwo = ""; //多单位-出库-其他价格 + var retailPriceTwo = ""; //多单位-出库-零售价格 + var basicUnit = ""; //基础单位 + var otherUnit = ""; //其他单位 + if(!res.data[0].unit){ + var ps = res.data[0].pricestrategy; + var psObj = JSON.parse(ps); + basicPresetPriceOne = psObj[0].basic.PresetPriceOne-0; + basicPresetPriceTwo = psObj[0].basic.PresetPriceTwo-0; + retailPriceOne = psObj[0].basic.RetailPrice-0; + otherPresetPriceOne = psObj[1].other.PresetPriceOne-0; + otherPresetPriceTwo = psObj[1].other.PresetPriceTwo-0; + retailPriceTwo = psObj[1].other.RetailPrice-0; + basicUnit = psObj[0].basic.Unit; + otherUnit = psObj[1].other.Unit; + } + body =$("#depotHeadFM .datagrid-body"); + footer =$("#depotHeadFM .datagrid-footer"); + input = ".datagrid-editable-input"; + if(res.data[0].unit){ //如果存在计量单位信息 + ratio = 1; //重置比例为1 + body.find("[field='Unit']").find(input).val(res.data[0].unit); //设置-计量单位信息 + body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 + body.find("[field='Unit']").find(input).off("click"); //移除点击事件 + body.find("[field='Unit']").find(input).attr("data-ratio",ratio); //修改比例缓存信息 + } + else { + var unitName = res.data[0].unitName; + if(unitName) { + ratio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); //给比例赋值 + unitName = unitName.substring(0, unitName.indexOf("(")); + } + var unitArr = unitName.split(","); + var basicUnit = unitArr[0]; //基础单位 + var otherUnit = unitArr[1]; //副单位 + var unitSetInput =""; //单位 + body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 + var loadRatio = 1; //在单位输入框上面加载比例字段 + if(listSubType === "采购" || listSubType === "采购退货" || listSubType === "采购订单"){ + unitSetInput = res.data[0].firstinunit; //给单位文本框赋值 + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = ratio; + } + } + else if(listSubType === "销售" || listSubType === "销售退货" || listSubType === "销售订单" || listSubType === "零售" || listSubType === "零售退货"){ + unitSetInput = res.data[0].firstoutunit; //给单位文本框赋值 + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = ratio; + } + } + body.find("[field='Unit']").find(input).val(unitSetInput).attr("data-ratio", loadRatio); //设置-首选单位 + + body.find("[field='Unit']").find(input).off("click").on("click",function(){ + if(basicUnit && otherUnit) { + var self = this; + //定义模版 + var temp = "
"; + temp +="
    "; + temp +="
  • " + basicUnit + "
  • "; + temp +="
  • " + otherUnit + "
  • "; + temp +="
"; + temp +="
"; + if($('.unit-list').length){ + $('.unit-list').remove(); //如果存在计量单位列表先移除 + } + else { + $(self).after(temp); //加载列表信息 + } + //计量单位列表的单击事件 + $('.unit-list ul li').off("click").on("click",function(){ + var unit = $(this).text(); + var thisRatio = $(this).attr("data-ratio"); //获取比例 + $(self).val(unit).attr("data-ratio", thisRatio); + $(self).keyup(); //模拟键盘操作 + $('.unit-list').remove(); //移除计量单位列表 + var stock = body.find("[field='Stock']").find(input).attr("data-stock"); //从缓存中取值 + var type = $(this).attr("data-type"); + var UnitPrice = 0; + if(type === "basic"){ + if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { + UnitPrice = basicPresetPriceOne; + } + else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { + UnitPrice = basicPresetPriceTwo; + } + else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ + UnitPrice = retailPriceOne; + } + body.find("[field='Stock']").find(input).val(stock); //修改库存 + } + else if(type === "other"){ + if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { + UnitPrice = otherPresetPriceOne; + } + else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { + UnitPrice = otherPresetPriceTwo; + } + else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ + UnitPrice = retailPriceTwo; + } + body.find("[field='Stock']").find(input).val((stock/ratio).toFixed(2)); //修改库存 + } + body.find("[field='UnitPrice']").find(input).val(UnitPrice); //单价 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //获取数量 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //获取税率 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //点击空白处移除计量单位列表 + $(".datagrid-body").off("click").on("click",function(){ + $('.unit-list').remove(); //移除计量单位列表 + }); + } + }); + } + var detailPrice = 0; //明细列表-单价 + if(listSubType == "零售" || listSubType == "零售退货") { + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = retailPrice; + } + else { + if (firstOutUnit == basicUnit) { + detailPrice = retailPriceOne; + } + else if (firstOutUnit == otherUnit) { + detailPrice = retailPriceTwo; + } + } + } + else if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = presetPriceOne; + } + else { + if (firstInUnit == basicUnit) { + detailPrice = basicPresetPriceOne; + } + else if (firstInUnit == otherUnit) { + detailPrice = otherPresetPriceOne; + } + } + } + else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = presetPriceTwo; + } + else { + if(firstOutUnit==basicUnit) { + detailPrice = basicPresetPriceTwo; + } + else if(firstOutUnit==otherUnit){ + detailPrice = otherPresetPriceTwo; + } + } + } + body.find("[field='OperNumber']").find(input).val(1); //数量初始化为1 + //单价和总价赋值 + if(!detailPrice) { + detailPrice = 0; + } + body.find("[field='UnitPrice']").find(input).val(detailPrice); + body.find("[field='AllPrice']").find(input).val(detailPrice); + var taxRate = body.find("[field='TaxRate']").find(input).val()-0; //获取税率 + body.find("[field='TaxUnitPrice']").find(input).val((detailPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((detailPrice*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((detailPrice*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,detailPrice,1,footer,taxRate); + + //查询库存信息 + var depotId = body.find("[field='DepotId']").find(".combo-value").val(); + if(depotId) { + var type = "select"; //type 类型:点击 click,选择 select + findStockNumById(depotId, mId, monthTime, body, input, loadRatio, type); + } + } + }, + error: function() { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + } + }); + } + } + } + } + }, + { title: '库存',field: 'Stock',editor:'validatebox',width:70}, + { title: anotherDepotHeadName, field: 'AnotherDepotId',editor:'validatebox',hidden:isShowAnotherDepot,width:90, + formatter: function (value, row, index) { + return row.AnotherDepotName; + }, + editor: { + type: 'combobox', + options: { + valueField: 'id', + textField: anotherDepotTextField, + method: 'get', + url: anotherDepotUrl + } + } + }, + { title: '单位',field: 'Unit',editor:'validatebox',width:60}, + { title: '数量',field: 'OperNumber',editor:'validatebox',width:60}, + { title: '单价',field: 'UnitPrice',editor:'validatebox',width:60}, + { title: '含税单价',field: 'TaxUnitPrice',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '金额',field: 'AllPrice',editor:'validatebox',width:75}, + { title: '税率(%)',field: 'TaxRate',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '税额',field: 'TaxMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '价税合计',field: 'TaxLastMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '备注',field: 'Remark',editor:'validatebox',width:120}, + { title: '品名-别',field: 'OtherField1',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '型号-别',field: 'OtherField2',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '颜色-别',field: 'OtherField3',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '备注1',field: 'OtherField4',editor:'validatebox',hidden:true,width:60}, + { title: '备注2',field: 'OtherField5',editor:'validatebox',hidden:true,width:60} + ]], + toolbar:[ + { + id:'append', + text:'新增', + iconCls:'icon-add', + handler:function() + { + append(); //新增 + } + }, + { + id:'delete', + text:'删除', + iconCls:'icon-remove', + handler:function() + { + batchDel(); //删除 + } + }, + { + id:'reject', + text:'撤销', + iconCls:'icon-undo', + handler:function() + { + reject(); //撤销 + } + } + ], + onLoadError:function() + { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); + $.ajax({ + type:"get", + url: '/depotItem/getDetailList', + data: { + headerId: depotHeadID, + mpList: mPropertyList + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + var data = res.data; + var AllPrice = 0; + var TaxLastMoney = 0; + var DiscountMoney = $("#DiscountMoney").val()-0; //优惠金额 + var DiscountLastMoney = $("#DiscountLastMoney").val()-0; //优惠后金额 + if(type === "edit") { + AllPrice = TotalPrice; + TaxLastMoney = DiscountMoney + DiscountLastMoney; + } + var array = []; + array.push({ + "AllPrice": AllPrice, + "TaxLastMoney": TaxLastMoney + }); + data.footer = array; + $("#materialData").datagrid('loadData',data); + //如果是订单跳转到采购或销售 + if(pageType === "skip") { + var skipList = $("#depotHeadFM .datagrid-body tr"); + //逐条自动点击每行数据 + skipList.each(function (i) { + setTimeout(function () { + skipList.eq(i).find("[field='Stock']").click(); + },(i+1)*1000); + }); + } + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); +} + +//初始化表格数据-商品列表-查看状态 +function initTableData_material_show(TotalPrice){ + var isShowAnotherDepot = true; //显示对方仓库,true为隐藏,false为显示 + var anotherDepotHeadName = ""; //对方仓库的列的标题 + var depotHeadName = ""; //仓库的列的标题 + if(listSubType == "调拨"){ + isShowAnotherDepot = false; //调拨时候显示对方仓库 + anotherDepotHeadName = "调入仓库"; + } + depotHeadName = "仓库名称"; + var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 + if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowTaxColumn = true; //隐藏 + } + var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 + if(listSubType == "组装单" || listSubType == "拆卸单"){ + isShowMaterialTypeColumn = false; //显示 + } + $('#materialDataShow').datagrid({ + height:245, + rownumbers: true, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + pagination: false, + //交替出现背景 + striped : true, + showFooter: true, + onClickRow: onClickRow, + columns:[[ + { title: '商品类型',field: 'MType',width:80, hidden:isShowMaterialTypeColumn}, + { title: depotHeadName,field: 'DepotName',editor:'validatebox',width:90}, + { title: '品名(型号)(扩展信息)(单位)',field: 'MaterialName',width:230}, + { title: anotherDepotHeadName,field: 'AnotherDepotName',hidden:isShowAnotherDepot,width:90}, + { title: '单位',field: 'Unit',editor:'validatebox',width:60}, + { title: '数量',field: 'OperNumber',editor:'validatebox',width:60}, + { title: '单价',field: 'UnitPrice',editor:'validatebox',width:60}, + { title: '含税单价',field: 'TaxUnitPrice',editor:'validattebox',hidden:isShowTaxColumn,width:75}, + { title: '金额',field: 'AllPrice',editor:'validatebox',width:75}, + { title: '税率',field: 'TaxRate',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '税额',field: 'TaxMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '价税合计',field: 'TaxLastMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '备注',field: 'Remark',editor:'validatebox',width:120}, + { title: '品名-别',field: 'OtherField1',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '型号-别',field: 'OtherField2',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '颜色-别',field: 'OtherField3',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '备注1',field: 'OtherField4',editor:'validatebox',hidden:true,width:60}, + { title: '备注2',field: 'OtherField5',editor:'validatebox',hidden:true,width:60} + ]], + onLoadError:function() { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); + $.ajax({ + type:"get", + url: '/depotItem/getDetailList', + data: { + headerId: depotHeadID, + mpList: mPropertyList + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + var data = res.data; + var AllPrice = TotalPrice; + var DiscountMoney = $("#DiscountMoneyShow").text() - 0; //优惠金额 + var DiscountLastMoney = $("#DiscountLastMoneyShow").text() - 0; //优惠后金额 + var array = []; + array.push({ + "AllPrice": AllPrice, + "TaxLastMoney": DiscountMoney + DiscountLastMoney + }); + data.footer = array; + $("#materialDataShow").datagrid('loadData', data); + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); +} + +//分页信息处理 +function ininPager(){ + try + { + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + pager.pagination({ + onSelectPage:function(pageNum, pageSize) + { + opts.pageNumber = pageNum; + opts.pageSize = pageSize; + pager.pagination('refresh', + { + pageNumber:pageNum, + pageSize:pageSize + }); + showDepotHeadDetails(pageNum,pageSize); + } + }); + } + catch (e) + { + $.messager.alert('异常处理提示',"分页信息异常 : " + e.name + ": " + e.message,'error'); + } +} + +//删除单据信息 +function deleteDepotHead(depotHeadID, thisOrganId, totalPrice, status){ + if(status == "1" || status == "2") { + $.messager.alert('删除提示','已审核和已转的单据不能删除!','warning'); + return; + } + $.messager.confirm('删除确认','确定要删除此单据信息吗?',function(r) { + if (r) { + $.ajax({ + type:"post", + // url: "/depotHead/" + depotHeadID + "/delete", + url: "/depotHead/deleteDepotHeadAndDetail", + dataType: "json", + data:{ + id: depotHeadID + }, + success: function (res) { + if(res && res.code == 200) { + $("#searchBtn").click(); + } else { + $.messager.alert('删除提示', '删除单据信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('删除提示','删除单据信息异常,请稍后再试!','error'); + return; + } + }); + + //更新会员的预收款信息 + if(listSubType === "零售") { + $.ajax({ + type:"post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data:{ + supplierId: thisOrganId, //会员id + advanceIn: totalPrice //删除时同时返还用户的预付款 + }, + success: function(res){ + if(res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function(){ + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + } + }); +} + +//订单转采购或销售 +function skipDepotHead(index, status){ + //获取当前行 + var rowsdata = $("#tableData").datagrid("getRows")[index]; + if(status == "0" || status == "2") { + $.messager.alert('提示','未审核和已转的单据禁止操作!','warning'); + } else { + sessionStorage.setItem("rowInfo", JSON.stringify(rowsdata)); //将单据信息存入缓存中 + if(listTitle == "采购订单列表") { + parent.addTab("订单转采购", "../materials/purchase_in_list.html?t=skip", ""); + } else if(listTitle == "销售订单列表") { + parent.addTab("订单转销售", "../materials/sale_out_list.html?t=skip", ""); + } + } +} + +//批量删除单据信息 +function batDeleteDepotHead(){ + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) + { + $.messager.alert('删除提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) + { + $.messager.confirm('删除确认','确定要删除选中的' + row.length + '条单据信息吗?',function(r) + { + if (r) { + var ids = ""; + for (var i = 0; i < row.length; i++) { + if (i == row.length - 1) { + if (row[i].status == 0) { + ids += row[i].id; + } + break; + } + ids += row[i].id + ","; + } + if (ids) { + //批量更新会员的预收款信息 + for (var i = 0; i < row.length; i++) { + if (listSubType === "零售") { + $.ajax({ + type: "post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data: { + supplierId: row[i].organid, //会员id + advanceIn: row[i].totalprice //删除时同时返还用户的预付款 + }, + success: function (res) { + if (res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function () { + $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); + return; + } + }); + } + } + //批量删除 + $.ajax({ + type: "post", + // url: "/depotHead/batchDelete", + url: "/depotHead/batchDeleteDepotHeadAndDetail", + dataType: "json", + async: false, + data: ({ + ids: ids + }), + success: function (res) { + if (res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('删除提示', '删除单据信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('删除提示', '删除单据信息异常,请稍后再试!', 'error'); + return; + } + }); + } else { + $.messager.alert('删除提示','没有能删除的单据!','warning'); + } + } + }); + } +} + +//批量审核 +function setStatusFun() { + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) { + $.messager.alert('审核提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) { + $.messager.confirm('审核确认','确定要审核选中的' + row.length + '条信息吗?',function(r) + { + if (r) + { + var ids = ""; + for(var i = 0;i < row.length; i ++) + { + if(i == row.length-1) + { + if(row[i].status != "2") { + ids += row[i].id; + } + break; + } + ids += row[i].id + ","; + } + if(ids) { + $.ajax({ + type:"post", + url: "/depotHead/batchSetStatus", + dataType: "json", + async : false, + data: ({ + status: "1", + depotHeadIDs : ids + }), + success: function (res) { + if(res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('审核提示', '审核信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('审核提示','审核信息异常,请稍后再试!','error'); + return; + } + }); + } else { + $.messager.alert('审核提示','没有能审核的单据!','warning'); + } + } + }); + } +} + +//批量反审核 +function setUnStatusFun() { + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) + { + $.messager.alert('反审核提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) + { + $.messager.confirm('反审核确认','确定要反审核选中的' + row.length + '条信息吗?',function(r) + { + if (r) + { + var ids = ""; + for(var i = 0;i < row.length; i ++) + { + if(i == row.length-1) + { + if(row[i].status != "2") { + ids += row[i].id; + } + break; + } + ids += row[i].id + ","; + } + if(ids) { + $.ajax({ + type: "post", + url: "/depotHead/batchSetStatus", + dataType: "json", + async: false, + data: ({ + status: "0", + depotHeadIDs: ids + }), + success: function (res) { + if (res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('反审核提示', '反审核信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('反审核提示', '反审核信息异常,请稍后再试!', 'error'); + return; + } + }); + } else { + $.messager.alert('反审核提示','没有能反审核的单据!','warning'); + } + } + }); + } +} + +//生成单据编号 +function buildNumber() { + $.ajax({ + type: "get", + url: "/depotHead/buildNumber", + success:function(res){ + if(res && res.code === 200){ + var obj = res.data; + var defaultNumber = obj.DefaultNumber; + var newNumber = amountNum + defaultNumber; + $("#Number").val(newNumber).attr("data-defaultNumber",newNumber); + } + }, + error:function(){ + $.messager.alert('提示','生成单据编号失败!','error'); + } + }); +} + +//新增信息 +function addDepotHead(){ + $('#depotHeadFM').form('clear'); + var thisDateTime = getNowFormatDateTime(); //当前时间 + $("#OperTime").val(thisDateTime); + buildNumber(); //生成单据编号 + //初始化优惠率、优惠金额、优惠后金额、本次付|收款、本次欠款 为0 + $("#Discount").val(0); + $("#DiscountMoney").val(0); + $("#DiscountLastMoney").val(0); + $("#ChangeAmount").val(0); + $("#Debt").val(0); + $("#AccountId").val(defaultAccountId); //初始化默认的账户Id + var addTitle = listTitle.replace("列表","信息"); + $('#depotHeadDlg').dialog('open').dialog('setTitle',' 增加' + addTitle); + $(".window-mask").css({ width: webW ,height: webH}); + + orgDepotHead = ""; + depotHeadID = 0; + initTableData_material("add"); //商品列表 + reject(); //撤销下、刷新商品列表 + $("#addOrgan").off("click").on("click",function(){ + $('#supplierDlg').dialog('open').dialog('setTitle',' 增加供应商信息'); + $('#supplierFM').form('clear'); + }); + + $("#addMember").off("click").on("click",function(){ + $('#supplierDlg').dialog('open').dialog('setTitle',' 增加会员信息'); + $('#supplierFM').form('clear'); + }); + $("#addCustomer").off("click").on("click",function(){ + $('#supplierDlg').dialog('open').dialog('setTitle',' 增加客户信息'); + $('#supplierFM').form('clear'); + }); + url = '/depotHead/addDepotHeadAndDetail'; + + //零售单据修改收款时,自动计算找零 + if(listSubType == "零售" || listSubType == "零售退货") { + $("#payType").val("现付"); + $("#OrganId").combobox("setValue", orgDefaultId); //自动默认选择非会员 + // 鼠标点下时清空选择项 + $("#OrganId").next().find("input").off("mousedown").on("mousedown",function(){ + $("#OrganId").combobox("setValue", ""); + }); + //当会员卡号长度超过10位后,自动点击下拉框,用于兼容刷卡器 + $("#OrganId").next().find("input").off("keyup").on("keyup",function(){ + var self = this; + if($(this).val().length === 10){ + setTimeout(function(){ + $(".combo-panel .combobox-item-selected").click(); + //更新付款类型,加载会员的预付款的金额 + for(var i=0; i0){ + option = ''; + option += ''; + } + else { + option += ''; + } + $("#payType").empty().append(option); + } + } + },1000); + } + }); + var getAmount = $("#depotHeadFM .get-amount"); + var changeAmount = $("#depotHeadFM .change-amount"); + var backAmount = $("#depotHeadFM .back-amount"); + getAmount.val(0); changeAmount.val(0); backAmount.val(0); //时间初始化 + getAmount.off("keyup").on("keyup",function() { + if(changeAmount.val()){ + backAmount.val((getAmount.val()-changeAmount.val()).toFixed(2)); + } + }); + } +} + +//编辑信息 +function editDepotHead(index, status){ + if(status == "1" || status == "2") { + $.messager.alert('编辑提示','已审核和已转的单据不能编辑!','warning'); + return; + } + // var depotHeadInfo = depotHeadTotalInfo.split("AaBb"); + //获取当前行 + var rowsdata =''; + if(Number(index).toString()=='NaN'){ + rowsdata=$.parseJSON(index); + }else{ + rowsdata=$("#tableData").datagrid("getRows")[index]; + } + $("#ProjectId").focus().val(rowsdata.projectid); + var ProjectId=rowsdata.projectid; + if(ProjectId!='') { + initSystemData_person(ProjectId); + initSelectInfo_person(); + } + var TotalPrice = rowsdata.totalprice; //合计金额 + if(pageType === "skip") { //从订单跳转过来 + buildNumber(); //生成单据编号 + var thisDateTime = getNowFormatDateTime(); //当前时间 + $("#OperTime").val(thisDateTime); + $("#LinkNumber").val(rowsdata.number); //关联订单号 + $("#AccountId").val(defaultAccountId); //初始化默认的账户Id + $("#DiscountLastMoney").val(TotalPrice); //优惠后金额 + $("#ChangeAmount").val(TotalPrice).attr("data-changeamount", TotalPrice); + } else { + $("#Number").val(rowsdata.number).attr("data-defaultNumber",rowsdata.number); + $("#OperTime").val(rowsdata.opertimeStr); + $("#LinkNumber").val(rowsdata.linknumber==undefined?"":rowsdata.linknumber); //关联订单号 + $("#AccountId").val(rowsdata.accountid); //账户Id + $("#DiscountLastMoney").val(rowsdata.discountlastmoney==undefined?"0.00":rowsdata.discountlastmoney); //优惠后金额 + $("#ChangeAmount").val(rowsdata.changeamount).attr("data-changeamount", rowsdata.changeamount); + } + $('#OrganId').combobox('setValue', rowsdata.organid==undefined?'':rowsdata.organid); + $("#HandsPersonId").val(rowsdata.handspersonid); + $("#Remark").val(rowsdata.remark); + $("#Discount").val(rowsdata.discount==undefined?"0":rowsdata.discount); + $("#DiscountMoney").val(rowsdata.discountmoney==undefined?"0.00":rowsdata.discountmoney); + $("#Debt").val(Number((rowsdata.discountlastmoney==undefined?'0.00':rowsdata.discountlastmoney-rowsdata.changeamount)).toFixed(2)); + $("#AccountDay").val(rowsdata.accountday==undefined?"":rowsdata.accountday); //结算天数 + preTotalPrice = rowsdata.totalprice; //记录前一次合计金额,用于扣预付款 + $("#AllocationProjectId").val(rowsdata.allocationprojectid); + oldNumber = rowsdata.number; //记录编辑前的单据编号 + oldId = rowsdata.id; //记录单据Id + var editTitle = listTitle.replace("列表","信息"); + $('#depotHeadDlg').dialog('open').dialog('setTitle',' 编辑' + editTitle); + $(".window-mask").css({ width: webW ,height: webH}); + depotHeadID = rowsdata.id; + + if(listSubType == "零售"){ + var option = ""; + if(rowsdata.paytype == "预付款"){ + option = ''; + option += ''; + } + else { + option += ''; + } + $("#payType").empty().append(option); + } + + if(listSubType == "销售" || listSubType == "销售退货"){ + if(rowsdata.salesman){ + var arr = rowsdata.salesman.split(","); + var salesmanArray = []; + for(var i=0;i","")); + } + } + $("#Salesman").combobox('setValues', salesmanArray); + } + } + + //采购入库、销售出库的多账户加载 + if(rowsdata.accountidlist!=undefined && rowsdata.accountmoneylist!=undefined){ + $("#AccountId").val("many"); //下拉框选中多账户 + var accountArr = rowsdata.accountidlist.split(","); + var accountMoneyArr = rowsdata.accountmoneylist.split(","); + accountMoneyArr = changeListFmtPlus(accountMoneyArr) //将数组单个金额中的数值转为正数 + + if(listSubType == "零售" || listSubType == "零售退货") { + var manyAccountMoney = 0; //多账户合计-零售 + for (var j = 0; j < accountArr.length; j++) { + if (accountList != null) { + for (var i = 0; i < accountList.length; i++) { + var account = accountList[i]; + if (accountArr[j] == account.id) { + manyAccountMoney += accountMoneyArr[j] - 0; //多账户合计-零售 + } + } + } + } + $("#getAmount").val(manyAccountMoney); //收款金额、付款金额 + var changeAmount = $("#ChangeAmount").val()-0; + $("#backAmount").val((manyAccountMoney-changeAmount).toFixed(2)); //找零 + } + + $("#AccountId").attr("data-accountArr", JSON.stringify(accountArr)).attr("data-accountMoneyArr", JSON.stringify(accountMoneyArr)); //json数据存储 + $(".many-account-ico").show(); //显示多账户的ico图标 + } + + //采购入库、销售出库的费用数据加载 + if(rowsdata.othermoneylist &&rowsdata.othermoneyitem){ + $("#OtherMoney").val(rowsdata.othermoney==undefined?"0":rowsdata.othermoney); //采购费用、销售费用 + var itemArr = rowsdata.othermoneylist.split(","); + var itemMoneyArr = rowsdata.othermoneyitem.split(","); + $("#OtherMoney").attr("data-itemArr",JSON.stringify(itemArr)).attr("data-itemMoneyArr",JSON.stringify(itemMoneyArr)); //json数据存储 + } + + initTableData_material("edit",TotalPrice); //商品列表 + reject(); //撤销下、刷新商品列表 + if(pageType === "skip") { + url = '/depotHead/addDepotHeadAndDetail'; //如果是从订单跳转过来,则此处为新增的接口 + //jshjshjsh + $("#depotHeadFM .datagrid-body").find("[field='DepotId']").click(); + } else { + url = '/depotHead/updateDepotHeadAndDetail?id=' + rowsdata.id; //更新接口 + } +} + +//查看信息 +function showDepotHead(index){ + // var depotHeadInfo = depotHeadTotalInfo.split("AaBb"); + //获取当前行 + var rowsdata = $("#tableData").datagrid("getRows")[index]; + var manyAccountMoney = 0; //多账户合计-零售 + $("#ProjectIdShow").text(rowsdata.projectName); + $("#NumberShow").text(rowsdata.number); + $("#OperTimeShow").text(rowsdata.opertimeStr); + $('#OrganIdShow').text(rowsdata.organName==undefined?'':rowsdata.organName); + $("#HandsPersonIdShow").text(rowsdata.handsPersonName); + if(rowsdata.accountName && rowsdata.accountName!=undefined){ + $("#AccountIdShow").text(rowsdata.accountName); //结算账户 + } else { + var accountArr = (rowsdata.accountidlist==undefined?"":rowsdata.accountidlist).split(","); //账户id列表 + var accountMoneyArr =(rowsdata.accountmoneylist==undefined?"":rowsdata.accountmoneylist).split(","); //账户金额列表 + var accountIdShow = ""; + for(var j =0;j 查看' + showTitle); + $(".window-mask").css({ width: webW ,height: webH}); + + depotHeadID = rowsdata.id; + initTableData_material_show(TotalPrice); //商品列表-查看状态 + + //零售单据展示数据 + if(listSubType == "零售" || listSubType == "零售退货"){ + var changeAccount = $("#depotHeadDlgShow .change-amount-show").text() -0; + if(manyAccountMoney!==0){ + $("#depotHeadDlgShow .get-amount-show").text((manyAccountMoney).toFixed(2)); + $("#depotHeadDlgShow .back-amount-show").text((manyAccountMoney -changeAccount).toFixed(2)); + } + else { + $("#depotHeadDlgShow .get-amount-show").text((changeAccount).toFixed(2)); + $("#depotHeadDlgShow .back-amount-show").text(0); + } + } + if(listSubType === "销售" || listSubType === "销售退货"){ + if(rowsdata.salesman){ + var arr = rowsdata.salesman.split(","); + var salesmanStr = ""; + for(var i=0;i",""); + } + else { + salesmanStr += arr[i].replace("<","").replace(">","") + ","; + } + } + } + $.ajax({ + type: "get", + url: "/person/getPersonByIds", + data: { + personIDs: salesmanStr + }, + success:function(res){ + if(res && res.code === 200){ + if(res.data) { + $("#SalesmanShow").text(res.data.names); //销售人员列表 + } + } + }, + error:function(){ + + } + }); + } + } +} + +//绑定操作事件 +function bindEvent(){ + showDepotHeadDetails(1,initPageSize); //初始化时自动查询 + //搜索处理 + $("#searchBtn").off("click").on("click",function(){ + showDepotHeadDetails(1,initPageSize); + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + opts.pageNumber = 1; + opts.pageSize = initPageSize; + pager.pagination('refresh', + { + pageNumber:1, + pageSize:initPageSize + }); + }); + + //重置按钮 + $("#searchResetBtn").unbind().bind({ + click:function(){ + //$("#searchProjectId").val(""); + $("#searchState").val(""); + $("#searchBeginTime").val(""); + $("#searchEndTime").val(""); + //加载完以后重新初始化 + $("#searchBtn").click(); + } + }); + + //检查单据编号是否存在 + function checkDepotHeadNumber() { + var thisNumber = $.trim($("#Number").val()); + //表示是否存在 true == 存在 false = 不存在 + var flag = false; + //开始ajax名称检验,不能重名 + if(thisNumber.length > 0 &&( oldNumber.length ==0 || thisNumber != oldNumber)) + { + $.ajax({ + type:"get", + url: "/depotHead/checkIsNumberExist", + dataType: "json", + async : false, + data: ({ + DepotHeadID : oldId, + Number : thisNumber + }), + success: function (tipInfo) + { + flag = tipInfo; + if(tipInfo) + { + $.messager.alert('提示','抱歉,该单据编号已经存在','warning'); + return; + } + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','检查单据编号是否存在异常,请稍后再试!','error'); + return; + } + }); + } + return flag; + } + //保存信息 + /** + * 2019-01-25 + * 我对这个方法的实现结果存在严重怀疑,决定重构 + * 有如下疑点: + * 1、保存完主表,返回结果后,再发起请求去操作子表,如何保证事务的一致性(业务数据一致性) + * 2、保存完主表后,再通过selectmax的方式去获取主表主键id完全就是看人品的不可靠的思路 + * 修改计划: + * 2019-01-25修改零售出库相关操作 + * 修改方式,重写url,将主从表操作合并 + * + * + * **/ + $("#saveDepotHead").off("click").on("click",function(){ + if(!$('#depotHeadFM').form('validate')){ + return; + } + else { + //如果初始编号被修改了,就要判断单据编号是否存在 + if($.trim($("#Number").val()) != $('#Number').attr("data-defaultNumber")){ + //调用查询单据编号是否重名的方法 + if(checkDepotHeadNumber()){ + return; + } + } + //输入框提示 + if(listTitle === "采购订单列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择供应商!','warning'); + return; + } + } + else if(listTitle === "采购入库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择供应商!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择结算账户!','warning'); + return; + } + } + else if(listTitle === "零售退货列表"){ + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择付款账户!','warning'); + return; + } + if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { + $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); + return; + } + } + else if(listTitle === "销售退货列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择退货单位!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择付款账户!','warning'); + return; + } + } + else if(listTitle === "其它入库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择往来单位!','warning'); + return; + } + } + else if(listTitle === "零售出库列表"){ + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择收款账户!','warning'); + return; + } + if($("#backAmount").val()-0 <0){ + $.messager.alert('提示','找零金额不能小于0!','warning'); + return; + } + if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { + $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); + return; + } + + } + else if(listTitle === "销售订单列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择购买单位!','warning'); + return; + } + } + else if(listTitle === "销售出库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择购买单位!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择收款账户!','warning'); + return; + } + } + else if(listTitle === "采购退货列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择收货单位!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择收款账户!','warning'); + return; + } + } + else if(listTitle === "其它出库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择往来单位!','warning'); + return; + } + } + else if(listTitle === "调拨出库列表"){ + + } + //进行明细的校验 + if(depotHeadID ==0) { + //新增模式下 + if (!CheckData("add")) { + return; + } + } + else { + //编辑模式下 + if (!CheckData("edit")) { + return; + } + } + var OrganId = null, ProjectId = null,AllocationProjectId = null; + var ChangeAmount = $.trim($("#ChangeAmount").val())-0; + var TotalPrice = $("#depotHeadFM .datagrid-footer [field='AllPrice'] div").text(); + if($('#OrganId').length){ + OrganId = $('#OrganId').combobox('getValue'); + } + var accountMoneyList = $("#AccountId").attr("data-accountmoneyarr"); //账户金额列表-多账户 + var accountMoneyArr; + if(accountMoneyList) { + accountMoneyList = accountMoneyList.replace("[","").replace("]","").toString(); + var reg=new RegExp("\"","g"); //创建正则RegExp对象 + accountMoneyList = accountMoneyList.replace(reg,""); //替换所有的双引号 + accountMoneyArr = accountMoneyList.split(","); //转为数组 + } + if(listSubType === "采购订单"||listSubType === "采购"||listSubType === "零售退货"||listSubType === "销售退货"){ + //付款为负数 + ChangeAmount = 0 - ChangeAmount; + TotalPrice = 0 - TotalPrice; + if(accountMoneyArr) { + accountMoneyArr = changeListFmtMinus(accountMoneyArr); //将数组单个金额中的数值转为负数 + } + } + //零售时候,可以从会员预付款中扣款 + var thisPayType = "现付"; + if(listSubType === "零售") { + if($("#payType").val() ==="预付款") { + thisPayType = "预付款"; + } + } + var SalesmanStr = ""; + if(listSubType === "销售" || listSubType === "销售退货"){ + var Salesman = $('#Salesman').combobox('getValues').toString(); //销售人员 + if(Salesman) { + var SalesmanArray = Salesman.split(","); + for (var i = 0; i < SalesmanArray.length; i++) { + if (i === SalesmanArray.length - 1) { + SalesmanStr += "<" + SalesmanArray[i] + ">"; + } + else { + SalesmanStr += "<" + SalesmanArray[i] + ">,"; + } + } + } + } + var getAccountID = $.trim($("#AccountId").val()); + if($("#AccountId").val() === "many"){ //多账户 + getAccountID = null; + } + var infoStr=JSON.stringify({ + Type: listType, + SubType: listSubType, + ProjectId: ProjectId, + AllocationProjectId: AllocationProjectId, + DefaultNumber: $.trim($("#Number").attr("data-defaultNumber")),//初始编号 + Number: $.trim($("#Number").val()), + LinkNumber: $.trim($("#LinkNumber").val()), + OperTime: $("#OperTime").val(), + OrganId: OrganId, + HandsPersonId: $.trim($("#HandsPersonId").val()), + Salesman: SalesmanStr, //销售人员 + AccountId: getAccountID, + ChangeAmount: ChangeAmount, //付款/收款 + TotalPrice: TotalPrice, //合计 + PayType: thisPayType, //现付/预付款 + Remark: $.trim($("#Remark").val()), + AccountIdList: $("#AccountId").attr("data-accountarr"), //账户列表-多账户 + AccountMoneyList: accountMoneyArr ? JSON.stringify(accountMoneyArr) : "", //账户金额列表-多账户 + Discount: $.trim($("#Discount").val()), + DiscountMoney: $.trim($("#DiscountMoney").val()), + DiscountLastMoney: $.trim($("#DiscountLastMoney").val()), + OtherMoney: $.trim($("#OtherMoney").val()), //采购费用、销售费用 + OtherMoneyList: $("#OtherMoney").attr("data-itemarr"), //支出项目列表-涉及费用 + OtherMoneyItem: $("#OtherMoney").attr("data-itemmoneyarr"), //支出项目金额列表-涉及费用 + AccountDay: $("#AccountDay").val() //结算天数 + }); + /** + * 零售出库,单独操作 + * */ + if(url.indexOf("/depotHead/addDepotHeadAndDetail")>=0){ + addDepotHeadAndDetail(url,infoStr); + return; + }else if(url.indexOf("/depotHead/updateDepotHeadAndDetail")>=0){ + updateDepotHeadAndDetail(url,infoStr,preTotalPrice); + return; + } + $.ajax({ + type:"post", + url: url, + dataType: "json", + async : false, + data: ({ + info:infoStr + }), + success: function (tipInfo) + { + if(tipInfo) + { + function closeDialog(){ + $('#depotHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showDepotHeadDetails(opts.pageNumber,opts.pageSize); + } + + if(thisPayType === "预付款") { + //更新用户信息-预付款 + var advanceIn = 0; //预付款金额 + if(depotHeadID){ + advanceIn = TotalPrice - preTotalPrice; //修改时,预付款=合计金额-加载金额 + } + else{ + advanceIn = TotalPrice; //新增时,预付款=合计金额 + } + $.ajax({ + type:"post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data:{ + supplierId: OrganId, //会员id + advanceIn: 0 - advanceIn //保存的同时扣掉用户的预付款 + }, + success: function(res){ + if(res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function(){ + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + + //保存明细记录 + if(depotHeadID ==0) + { + getMaxId(); //查找最大的Id + accept(depotHeadMaxId,closeDialog); //新增 + } + else + { + accept(depotHeadID,closeDialog); //修改 + } + } + else + { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + }); + + //打印单据 + $("#printDepotHeadShow").off("click").on("click",function(){ + var tableString = $("#depotHeadDlgShow").html(); + localStorage.setItem("tableString",tableString); + window.open("../../js/print/print_form.html","location:No;status:No;help:No;dialogWidth:800px;dialogHeight:600px;scroll:auto;"); + }); + + //初始化键盘enter事件 + $(document).keydown(function(event){ + //兼容 IE和firefox 事件 + var e = window.event || event; + var k = e.keyCode||e.which||e.charCode; + //兼容 IE,firefox 兼容 + var obj = e.srcElement ? e.srcElement : e.target; + //绑定键盘事件为 id是指定的输入框才可以触发键盘事件 13键盘事件 ---遗留问题 enter键效验 对话框会关闭问题 + if(k == "13"&&(obj.id=="State"||obj.id=="Number")) + { + $("#saveDepotHead").click(); + } + //搜索按钮添加快捷键 + if(k == "13"&&(obj.id=="searchState"||obj.id=="searchNumber"||obj.id=="searchMaterial")) + { + $("#searchBtn").click(); + } + }); + + //优惠率输入框事件 + $("#Discount").off("keyup").on("keyup",function(){ + var footer =$("#depotHeadFM .datagrid-footer"); + var totalPrice = footer.find("[field='TaxLastMoney']").find("div").text(); + var discountNum = $(this).val(); + var discountMoney = (discountNum/100*totalPrice).toFixed(2); + var discountLastMoney = (totalPrice - discountMoney).toFixed(2); + $("#DiscountMoney").val(discountMoney); //优惠金额 + $("#DiscountLastMoney").val(discountLastMoney); //优惠后金额 + if($("#AccountId").val()!=="many"){ + $("#ChangeAmount").val(discountLastMoney); //本次付、收款 + } + var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 + $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 + }); + + //优惠金额输入框事件 + $("#DiscountMoney").off("keyup").on("keyup",function(){ + var footer =$("#depotHeadFM .datagrid-footer"); + var totalPrice = footer.find("[field='TaxLastMoney']").find("div").text(); + var discountMoney = $(this).val(); + var discount = (discountMoney/totalPrice).toFixed(2)*100; + var discountLastMoney = (totalPrice - discountMoney).toFixed(2); + $("#Discount").val(discount); //优惠金额 + $("#DiscountLastMoney").val(discountLastMoney); //优惠后金额 + if($("#AccountId").val()!=="many"){ + $("#ChangeAmount").val(discountLastMoney); //本次付、收款 + } + var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 + $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 + }); + + //付款、收款输入框事件 + $("#ChangeAmount").off("keyup").on("keyup",function(){ + var discountLastMoney = $("#DiscountLastMoney").val(); + var changeAmount = $(this).val(); + var debtMoney = (discountLastMoney - changeAmount).toFixed(2); + $("#Debt").val(debtMoney); //本次欠款 + }); + + //多账户结算窗口弹出事件 + function depotHeadAccountDlgFun(){ + $('#depotHeadAccountDlg').dialog('open').dialog('setTitle',' 多账户结算'); + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").remove(); //先移除输入栏目 + $("#accountMoneyTotalDlg").text(0); //将合计初始化为0 + for(var i=0; i<6; i++) { + $("#depotHeadAccountDlg .tabs-tmp .account-content-tmp").attr("data-index",5-i); //添加索引 + var contentTmp = $("#depotHeadAccountDlg .tabs-tmp tbody").html(); + var accountDlgHead = $("#depotHeadAccountDlg .account-head-tmp"); + accountDlgHead.after(contentTmp); + } + + //获取账户信息 + function accountDlgFun() { + var options = ""; + if(accountList !=null){ + for(var i = 0 ;i < accountList.length;i++) { + var account = accountList[i]; + options += ''; + } + $(".account-id-dlg").empty().append("").append(options); + } + } + accountDlgFun(); //获取账户信息 + $("#depotHeadAccountDlg .tabs-tmp").hide(); //隐藏模板 + + //账户金额输入框事件-多账户 + $("#depotHeadAccountDlg .account-dlg .account-money-dlg").off("keyup").on("keyup",function(){ + var totalAccoutNum = 0; + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){ + var eachAccountMoney = $(this).find(".account-money-dlg").val()-0; + totalAccoutNum += eachAccountMoney; + }); + $("#accountMoneyTotalDlg").text(totalAccoutNum); + }); + + //结算多账户列表的切换事件 + $("#depotHeadAccountDlg .account-dlg .account-id-dlg").off("change").on("change",function(){ + var selectAccount = $(this).children('option:selected').text(); + if(selectAccount === ""){ + var thisMoneyDom = $(this).closest(".account-content-tmp").find(".account-money-dlg"); + var thisMoney = thisMoneyDom.val()-0; + var accountMoneyTotal = $("#accountMoneyTotalDlg").text() - 0; + $("#accountMoneyTotalDlg").text(accountMoneyTotal - thisMoney); + thisMoneyDom.val(""); //账户为空时候,将金额也置为空 + } + }); + + //保存按钮事件 + $("#saveDepotHeadAccountDlg").off("click").on("click", function(){ + //完成多账户的json数据存储 + var accountArr = []; //账户id数组 + var accountMoneyArr = []; //账户金额数组 + var errorIndex = -1; + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){ + var thisAccId = $(this).find(".account-id-dlg").val(); + var thisAccMoney = $(this).find(".account-money-dlg").val(); + if(!thisAccId && thisAccMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisAccId && !thisAccMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisAccId && thisAccMoney) { + accountArr.push(thisAccId); + accountMoneyArr.push(thisAccMoney); + } + }); + if(errorIndex >-1){ + $.messager.alert('错误提示',"第" + (errorIndex+1) + "行数据存在问题,请修改",'warning'); + return; + } + var discountLastMoneyNum =$("#DiscountLastMoney").val()-0; //优惠后金额 + var accountMoneyTotal = $("#accountMoneyTotalDlg").text()-0; //本次付款或者收款 + if(accountMoneyTotal===0){ + $.messager.alert('错误提示',"请填写金额后保存",'warning'); + return; + } + if(accountArr.length && accountMoneyArr.length) { + $("#AccountId").attr("data-accountArr",JSON.stringify(accountArr)).attr("data-accountMoneyArr",JSON.stringify(accountMoneyArr)); //json数据存储 + } + if(listSubType==="零售" || listSubType==="零售退货") { + $("#getAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 + var backAmount = $("#getAmount").val() - $("#ChangeAmount").val(); + $("#backAmount").val((backAmount - 0).toFixed(2)); //计算找零金额 + } + else { + $("#ChangeAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 + } + $("#Debt").val((discountLastMoneyNum-accountMoneyTotal).toFixed(2)); //本次欠款 + $("#depotHeadAccountDlg").dialog('close'); + }); + + //取消事件 + function cancelFun(){ + if($("#AccountId").attr("data-accountArr")){ + $("#depotHeadAccountDlg").dialog('close'); + } + else { + $("#depotHeadAccountDlg").dialog('close'); + $("#AccountId").val("").removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 + if(listSubType==="零售" || listSubType==="零售退货"){ + $("#ChangeAmount").prop("readonly","readonly"); + } + else { + $("#ChangeAmount").removeProp("readonly","readonly"); + } + $(".many-account-ico").hide(); //隐藏多账户小图标 + } + } + //多账户-取消按钮 + $("#cancelDepotHeadAccountDlg").off("click").on("click", function(){ + cancelFun(); + }); + + //多账户-右上角的关闭按钮 + $("#depotHeadAccountDlg").prev().find(".panel-tool-close").off("click").on("click", function(){ + cancelFun(); + }); + } + //点击多账户,弹出输入框 + $("#AccountId").off("change").on("change",function(){ + var selectText = $(this).children('option:selected').text(); + if(selectText === "多账户"){ + $("#ChangeAmount").prop("readonly","readonly"); + depotHeadAccountDlgFun(); + $(".many-account-ico").show(); //显示多账户小图标 + } + else{ + $(this).removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 + if(listSubType==="零售" || listSubType==="零售退货"){ + $("#ChangeAmount").prop("readonly","readonly"); + } + else { + $("#ChangeAmount").removeProp("readonly","readonly"); + } + $(".many-account-ico").hide(); //隐藏多账户小图标 + } + }); + + //结算账户-多账户小图标-点击事件 + $(".many-account-ico").off("click").on("click",function(){ + depotHeadAccountDlgFun(); + //给弹窗赋值-多账户数据 + var accountArr = $("#AccountId").attr("data-accountArr"); + accountArr = JSON.parse(accountArr); + var accountMoneyArr = $("#AccountId").attr("data-accountMoneyArr"); + accountMoneyArr = JSON.parse(accountMoneyArr); + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){ + var index = $(this).attr("data-index"); + $(this).find(".account-id-dlg").val(accountArr[index]); + $(this).find(".account-money-dlg").val(accountMoneyArr[index]); + }); + if(listSubType==="零售" || listSubType==="零售退货") { + $("#accountMoneyTotalDlg").text($("#getAmount").val()); + } + else { + $("#accountMoneyTotalDlg").text($("#ChangeAmount").val()); + } + }); + + //点击采购费用、销售费用的事件 + $(".other-money-ico").off("click").on("click",function(){ + $('#otherMoneyDlg').dialog('open').dialog('setTitle',' '+ listSubType +'费用'); + $("#otherMoneyDlg .money-dlg .money-content-tmp").remove(); //先移除输入栏目 + $("#otherMoneyTotalDlg").text(0); //将合计初始化为0 + for(var i=0; i<6; i++) { + $("#otherMoneyDlg .tabs-tmp .money-content-tmp").attr("data-index",5-i); //添加索引 + var contentTmp = $("#otherMoneyDlg .tabs-tmp tbody").html(); + var moneyDlgHead = $("#otherMoneyDlg .money-head-tmp"); + moneyDlgHead.after(contentTmp); + } + + //获取支出项目信息 + function moneyDlgFun() { + var options = ""; + if(outItemList !=null){ + for(var i = 0 ;i < outItemList.length;i++) { + var money = outItemList[i]; + options += ''; + } + $(".money-id-dlg").empty().append("").append(options); + } + } + moneyDlgFun(); //获取支出项目信息 + $("#otherMoneyDlg .tabs-tmp").hide(); //隐藏模板 + + //支出项目的金额输入框事件 + $("#otherMoneyDlg .money-dlg .other-money-dlg").off("keyup").on("keyup",function(){ + var totalMoneyNum = 0; + $("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){ + var eachOtherMoney = $(this).find(".other-money-dlg").val()-0; + totalMoneyNum += eachOtherMoney; + }); + $("#otherMoneyTotalDlg").text(totalMoneyNum); + }); + + //支出项目列表的切换事件 + $("#otherMoneyDlg .money-dlg .money-id-dlg").off("change").on("change",function(){ + var selectItem = $(this).children('option:selected').text(); + if(selectItem === ""){ + var thisMoneyDom = $(this).closest(".money-content-tmp").find(".other-money-dlg"); + var thisMoney = thisMoneyDom.val()-0; + var otherMoneyTotal = $("#otherMoneyTotalDlg").text() - 0; + $("#otherMoneyTotalDlg").text(otherMoneyTotal - thisMoney); + thisMoneyDom.val(""); //支出项目为空时候,将金额也置为空 + } + }); + + //保存按钮事件 + $("#saveOtherMoneyDlg").off("click").on("click", function(){ + //完成支出项目的json数据存储 + var itemArr = []; //支出项目id数组 + var itemMoneyArr = []; //支出项目金额数组 + var errorIndex = -1; + $("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){ + var thisId = $(this).find(".money-id-dlg").val(); + var thisMoney = $(this).find(".other-money-dlg").val(); + if(!thisId && thisMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisId && !thisMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisId && thisMoney) { + itemArr.push(thisId); + itemMoneyArr.push(thisMoney); + } + }); + if(errorIndex >-1){ + $.messager.alert('错误提示',"第" + (errorIndex+1) + "行数据存在问题,请修改",'warning'); + return; + } + var otherMoneyTotal = $("#otherMoneyTotalDlg").text()-0; //合计金额 + if(otherMoneyTotal === 0){ //0的时候清空缓存数据 + $("#OtherMoney").removeAttr("data-itemArr").removeAttr("data-itemMoneyArr"); + } + if(itemArr.length && itemMoneyArr.length) { + $("#OtherMoney").attr("data-itemArr",JSON.stringify(itemArr)).attr("data-itemMoneyArr",JSON.stringify(itemMoneyArr)); //json数据存储 + } + $("#OtherMoney").val(otherMoneyTotal); //给采购费用、销售费用赋值 + $("#otherMoneyDlg").dialog('close'); + }); + + //取消事件 + function cancelFun(){ + if($("#OtherMoney").attr("data-itemArr")){ + $("#otherMoneyDlg").dialog('close'); + } + else { + $("#otherMoneyDlg").dialog('close'); + $("#OtherMoney").val("").removeAttr("data-itemArr").removeAttr("data-itemMoneyArr"); //将下拉置空并把缓存参数清空 + } + } + //费用-取消按钮 + $("#cancelOtherMoneyDlg").off("click").on("click", function(){ + cancelFun(); + }); + + //费用-右上角的关闭按钮 + $("#otherMoneyDlg").prev().find(".panel-tool-close").off("click").on("click", function(){ + cancelFun(); + }); + + //给弹窗赋值-采购费用、销售费用数据 + var itemArr = $("#OtherMoney").attr("data-itemArr"); + itemArr = JSON.parse(itemArr); + var itemMoneyArr = $("#OtherMoney").attr("data-itemMoneyArr"); + itemMoneyArr = JSON.parse(itemMoneyArr); + $("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){ + var index = $(this).attr("data-index"); + $(this).find(".money-id-dlg").val(itemArr[index]); + if(itemMoneyArr[index]!="undefined"){ + $(this).find(".other-money-dlg").val(itemMoneyArr[index]); + } + }); + $("#otherMoneyTotalDlg").text($("#OtherMoney").val()); + }); + + if(listTitle === "采购入库列表" || listTitle === "其它入库列表" || listTitle === "采购订单列表"|| listTitle === "零售出库列表"|| listTitle === "销售出库列表"|| listTitle === "销售订单列表"){ + var supplierType = "供应商"; + if(listTitle === "零售出库列表"){ + supplierType = "会员"; + }else if(listTitle === "销售出库列表" || listTitle === "销售订单列表"){ + supplierType = "客户"; + } + //检查单位名称是否存在 ++ 重名无法提示问题需要跟进 + function checkSupplierName() { + var supplierName = $.trim($("#supplier").val()); + var orgSupplier = ""; + //表示是否存在 true == 存在 false = 不存在 + var flag = false; + //开始ajax名称检验,不能重名 + if(supplierName.length > 0 &&( orgSupplier.length ==0 || supplierName != orgSupplier)) + { + $.ajax({ + type:"get", + url: "/supplier/checkIsNameExist", + dataType: "json", + async : false, + data: ({ + id : 0, + name : supplierName + }), + success: function (res) { + if(res && res.code === 200) { + if(res.data && res.data.status) { + flag = res.data.status; + if (flag) { + $.messager.alert('提示', '单位名称已经存在', 'info'); + return; + } + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('提示','检查单位名称是否存在异常,请稍后再试!','error'); + return; + } + }); + } + return flag; + } + + //保存供应商信息 + $("#saveSupplier").off("click").on("click",function() { + if(validateForm("supplierFM")) { + return; + } + if(checkSupplierName()){ + return; + } + var reg = /^([0-9])+$/; + var phonenum = $.trim($("#phonenum").val()); + if(phonenum.length>0 && !reg.test(phonenum)) + { + $.messager.alert('提示','电话号码只能是数字','info'); + $("#phonenum").val("").focus(); + return; + } + var beginNeedGet = $.trim($("#BeginNeedGet").val()); + var beginNeedPay = $.trim($("#BeginNeedPay").val()); + if(beginNeedGet && beginNeedPay) { + $.messager.alert('提示','期初应收和期初应付不能同时输入','info'); + return; + } + var url = '/supplier/add'; + var supObj = $("#supplierFM").serializeObject(); + supObj.type = supplierType; + supObj.enabled = 1; + $.ajax({ + url: url, + type:"post", + dataType: "json", + data:{ + info: JSON.stringify(supObj) + }, + success: function(res) { + if (res) { + $('#supplierDlg').dialog('close'); + initSupplier(); //刷新供应商 + } + } + }); + }); + } +} + +function showDepotHeadDetails(pageNo,pageSize){ + var materialParam = $.trim($("#searchMaterial").val()); + $.ajax({ + type:"get", + url: "/depotItem/getHeaderIdByMaterial", + dataType: "json", + data: ({ + materialParam: materialParam, + depotIds: depotString + }), + success: function (res) { + if(res && res.code === 200) { + var ids = res.data; + if(ids){ + $.ajax({ + type: "get", + url: "/depotHead/list", + dataType: "json", + data: ({ + search: JSON.stringify({ + type: listType, + subType: listSubType, + state: $.trim($("#searchState").val()), + number: $.trim($("#searchNumber").val()), + beginTime: $("#searchBeginTime").val(), + endTime: $("#searchEndTime").val(), + dhIds: ids + }), + currentPage: pageNo, + pageSize: pageSize + }), + success: function (res) { + if(res && res.code === 200){ + if(res.data && res.data.page) { + $("#tableData").datagrid('loadData', res.data.page); + } + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); + return; + } + }); + } + else { + $("#tableData").datagrid('loadData', []); + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + return; + } + }); +} + +//自动计算事件 +function autoReckon() { + //延时绑定事件 + setTimeout(function(){ + var body =$("#depotHeadFM .datagrid-body"); + var footer =$("#depotHeadFM .datagrid-footer"); + var input = ".datagrid-editable-input"; + //点击商品下拉框,自动加载数量、单价、金额 + body.find("[field='Stock']").find(input).prop("readonly","readonly"); + //点击库存文本框,字段计算库存 + body.find("[field='Stock']").find(input).off("click").on("click",function(){ + var depotId = body.find("[field='DepotId']").find(".combo-value").val(); + var mId = body.find("[field='MaterialId']").find(".combo-value").val(); + var monthTime = getNowFormatMonth(); + if(depotId && mId){ + var ratio = body.find("[field='Unit']").find(input).attr("data-ratio"); + body.find("[field='Stock']").find(input).prop("readonly","readonly"); + //在新增的时候,这个ratio有值;在编辑的时候,这个ratio为undefined + var type = "click"; //type 类型:点击 click,选择 select + findStockNumById(depotId, mId, monthTime, body, input, ratio, type); + } + else{ + body.find("[field='Stock']").find(input).val(0).attr("data-stock",0); //加载库存数据 + } + }); + //修改数量,自动计算金额和合计,另外计算含税单价、税额、价税合计 + body.find("[field='OperNumber']").find(input).off("keyup").on("keyup",function(){ + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var OperNumber =$(this).val()-0; //数量 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + + }); + //修改单价,自动计算金额和合计 + body.find("[field='UnitPrice']").find(input).off("keyup").on("keyup",function(){ + var UnitPrice =$(this).val()-0; //单价 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //点击单价,自动提示参考价格列表 + body.find("[field='UnitPrice']").find(input).off("click").on("click",function(){ + var self = this; + var mValue = body.find("[field='MaterialId'] .combo-value").attr("value"); //获取选中的商品id + if(!mValue) { + return; + } + else { + if(listTitle!="销售出库列表" && listTitle!="采购退货列表" && listTitle!="其它出库列表" && listTitle!="调拨出库列表") { + return; + } + $.ajax({ + url: "/material/findById", + type: "get", + dataType: "json", + data: { + id: mValue - 0 + }, + success: function(res){ + if(res && res.rows && res.rows[0]) { + var retailPrice = res.rows[0].RetailPrice; + var presetPriceOne = res.rows[0].PresetPriceOne; + var presetPriceTwo = res.rows[0].PresetPriceTwo; + //定义模版 + var temp = "
"; + temp +="
    "; + temp +="
  • 批发价:" + presetPriceTwo + "
  • "; + temp +="
  • 零售价:" + retailPrice + "
  • "; + temp +="
"; + temp +="
"; + if($('.price-list').length){ + $('.price-list').remove(); //如果存在价格列表先移除 + } + else { + if(presetPriceTwo != undefined){ //多单位的商品 + $(self).after(temp); //加载列表信息 + } + } + $('.price-list ul li').off("click").on("click",function(){ + var price = $(this).text(); + price = price.substring(price.indexOf(":") + 1); + $(self).val(price); + $(self).keyup(); //模拟键盘操作 + $('.price-list').remove(); //移除价格列表 + }); + //点击空白处移除价格列表 + $(".datagrid-body").off("click").on("click",function(){ + $('.price-list').remove(); //移除价格列表 + }); + } + }, + error: function(){ + $.messager.alert('错误提示','查询商品信息异常,请稍后再试!','error'); + return; + } + }); + } + }); + //修改含税单价,自动计算单价、金额、税额、价税合计和合计 + body.find("[field='TaxUnitPrice']").find(input).off("keyup").on("keyup",function(){ + var TaxUnitPrice =$(this).val()-0; //含税单价 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var UnitPrice = TaxUnitPrice/(1+taxRate/100); //计算单价 + body.find("[field='UnitPrice']").find(input).val((UnitPrice).toFixed(2)); //单价 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改金额,自动计算单价、税额、价税合计和合计 + body.find("[field='AllPrice']").find(input).off("keyup").on("keyup",function(){ + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var AllPrice =$(this).val()-0; //金额 + var UnitPrice = (AllPrice/OperNumber).toFixed(2); + body.find("[field='UnitPrice']").find(input).val(UnitPrice); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改税率,自动计算含税单价、税额、价税合计和合计 + body.find("[field='TaxRate']").find(input).off("keyup").on("keyup",function(){ + var taxRate =$(this).val()-0; //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改税额,自动计算税率、含税单价、价税合计和合计 + body.find("[field='TaxMoney']").find(input).off("keyup").on("keyup",function(){ + var taxMoney =$(this).val()-0; //税额 + var AllPrice = body.find("[field='AllPrice']").find(input).val(); //金额 + var taxRate = taxMoney/AllPrice*100; //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxRate']").find(input).val((taxRate).toFixed(2)); //税率 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改价税合计,自动计算税率、含税单价、税额和合计 + body.find("[field='TaxLastMoney']").find(input).off("keyup").on("keyup",function(){ + var taxLastMoney =$(this).val()-0; //价税合计 + var AllPrice = body.find("[field='AllPrice']").find(input).val(); //金额 + var taxRate = (taxLastMoney-AllPrice)/AllPrice*100; //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxRate']").find(input).val((taxRate).toFixed(2)); //税率 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + + //加载税率 + if(thisTaxRate) { + body.find("[field='TaxRate']").find(input).val(thisTaxRate); + } + else { + body.find("[field='TaxRate']").find(input).val(0); //默认为0 + } + + //在商品类型加载 组装件、普通子件 + var mType = body.find("[field='MType']"); + var rowListLength = mType.find(input).closest(".datagrid-row").attr("datagrid-row-index"); + var mTypeValue = "组合件"; + if(rowListLength > 0){ + mTypeValue = "普通子件"; + } + if(listSubType == "组装单" || listSubType == "拆卸单"){ + mType.find(input).val(mTypeValue).prop("readonly","readonly"); + } + },500); +} + +//结束编辑 +function endEditing() { + if (editIndex == undefined) { return true } + if ($('#materialData').datagrid('validateRow', editIndex)) { + //仓库信息 + var edDepot = $('#materialData').datagrid('getEditor', {index:editIndex,field:'DepotId'}); + var DepotName = $(edDepot.target).combobox('getText'); + $('#materialData').datagrid('getRows')[editIndex]['DepotName'] = DepotName; + //商品信息 + var edMaterial = $('#materialData').datagrid('getEditor', {index:editIndex,field:'MaterialId'}); + var MaterialName = $(edMaterial.target).combobox('getText'); + $('#materialData').datagrid('getRows')[editIndex]['MaterialName'] = MaterialName; + $('#materialData').datagrid('endEdit', editIndex); + editIndex = undefined; + return true; + } else { + return false; + } +} +//单击 +function onClickRow(index) { + if (editIndex != index) { + if (endEditing()) { + $('#materialData').datagrid('selectRow', index).datagrid('beginEdit', index); + editIndex = index; + autoReckon(); + } else { + $('#materialData').datagrid('selectRow', editIndex); + } + } +} +//新增 +function append(){ + if (endEditing()) { + $('#materialData').datagrid('appendRow', {DepotId:defDepotId}); + editIndex = $('#materialData').datagrid('getRows').length - 1; + $('#materialData').datagrid('selectRow', editIndex).datagrid('beginEdit', editIndex); + autoReckon(); + } +} +//删除 +function batchDel(){ + /** + * 重写一下删除的逻辑 + * 获取所有选中行,直接从列表中移除 + * 点击保存时,将需要后台删除的数据提交到服务器 + * **/ + /** + * create by: qiankunpingtai + * create time: 2019/3/20 16:26 + * description: + * 这个地方比较坑的,花了一个多小时才搞明白为什么 + * 1、删除之前必须先调用endEditing结束编辑 + * 2、如果只是调用endEditing结束编辑那么正在编辑行的被选中状态会被去掉 + * 所以要在调用endEditing先获取选中的行 + */ + //如果编辑的行一开始是选中状态,结束编辑后仍然是选中状态 + var row = $('#materialData').datagrid('getChecked'); + if (endEditing()) { + if (row.length == 0) { + $.messager.alert('删除提示', '没有记录被选中!', 'info'); + return; + } + if (row.length > 0) { + $.messager.confirm('删除确认', '确定要删除选中的' + row.length + '条单据信息吗?', function (r) { + if (r) { + for (var i = 0; i < row.length; i++) { + $('#materialData').datagrid('deleteRow', $('#materialData').datagrid("getRowIndex", row[i])); + } + } + }); + } + } +} +function removeit(){ + if (editIndex == undefined) { return } + $('#materialData').datagrid('cancelEdit', editIndex) + .datagrid('deleteRow', editIndex); + editIndex = undefined; +} +//撤销 +function reject() { + $('#materialData').datagrid('rejectChanges'); + editIndex = undefined; +} +//判断 +function CheckData(type) { + append(); + removeit(); + var change = $('#materialData').datagrid('getChanges').length; + if(type =="add" && !change) { + $.messager.alert('提示','请输入明细信息!','warning'); + return false; + } + var row = $('#materialData').datagrid('getRows'); + if(!row.length){ + $.messager.alert('提示',"请输入明细信息!",'info'); + return false; + } + var totalRowNum = ""; + for (var i = 0; i < row.length; i++) { + if (row[i].DepotId == "" || row[i].MaterialId == "" || row[i].OperNumber == "" || row[i].UnitPrice === "" || row[i].AllPrice === "") { + totalRowNum += (i + 1) + "、"; + } + } + if (totalRowNum != "") { + var totalRowNum = totalRowNum.substring(0, totalRowNum.length - 1); + $.messager.alert('提示',"第" + totalRowNum + "行数据填写不完整!",'info'); + return false; + } + return true; +} +//保存 +function accept(accepId,fun) { + var inserted = $("#materialData").datagrid('getChanges', "inserted"); + var deleted = $("#materialData").datagrid('getChanges', "deleted"); + var updated = $("#materialData").datagrid('getChanges', "updated"); + $.ajax({ + type: "post", + url: "/depotItem/saveDetials", + data: { + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated), + headerId:accepId + }, + success: function (tipInfo) + { + if (tipInfo) { + $.messager.alert('提示','保存成功!','info'); + } + else { + $.messager.alert('提示', '保存失败!', 'error'); + } + fun && fun(); + }, + error: function (XmlHttpRequest, textStatus, errorThrown) + { + $.messager.alert('提示',XmlHttpRequest.responseText,'error'); + fun && fun(); + } + }); + if (endEditing()) { + $('#materialData').datagrid('acceptChanges'); + } +} +//获取MaxId +function getMaxId(){ + var depotHeadMax=null; + $.ajax({ + type:"get", + url: "/depotHead/getMaxId", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + depotHeadMax = res.data.maxId; + } + } + } + }); + + if(depotHeadMax !=null) { + depotHeadMaxId=depotHeadMax; + } +} + +/** + * 新增单据主表及单据子表 + * */ +function addDepotHeadAndDetail(url,infoStr){ + var inserted = null; + if(pageType === "skip") { + inserted = $("#materialData").datagrid('getChanges', "updated"); + } else { + inserted = $("#materialData").datagrid('getChanges', "inserted"); + } + var deleted = $("#materialData").datagrid('getChanges', "deleted"); + var updated = $("#materialData").datagrid('getChanges', "updated"); + $.ajax({ + type:"post", + url: url, + dataType: "json", + async : false, + data: ({ + info:infoStr, + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated) + }), + success: function (tipInfo){ + + if(tipInfo){ + if(tipInfo.code!=200){ + $.messager.alert('提示', tipInfo.msg, 'error'); + return; + } + $.messager.alert('提示','保存成功!','info'); + $('#depotHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showDepotHeadDetails(opts.pageNumber,opts.pageSize); + + }else { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + + + }); +} +/** + * 修改单据主表及单据子表 + * */ +function updateDepotHeadAndDetail(url,infoStr,preTotalPrice){ + var inserted = $("#materialData").datagrid('getChanges', "inserted"); + var deleted = $("#materialData").datagrid('getChanges', "deleted"); + var updated = $("#materialData").datagrid('getChanges', "updated"); + $.ajax({ + type:"post", + url: url, + dataType: "json", + async : false, + data: ({ + id:url.substring(url.lastIndexOf("?id=")+4,url.length), + info:infoStr, + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated), + preTotalPrice:preTotalPrice + }), + success: function (tipInfo){ + if(tipInfo){ + if(tipInfo.code!=200){ + $.messager.alert('提示', tipInfo.msg, 'error'); + return; + } + $.messager.alert('提示','保存成功!','info'); + $('#depotHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showDepotHeadDetails(opts.pageNumber,opts.pageSize); + if (endEditing()) { + $('#materialData').datagrid('acceptChanges'); + } + }else { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); +} + + + + diff --git a/erp_web/js/pages/materials/sale_orders_list.js b/erp_web/js/pages/materials/sale_orders_list.js new file mode 100644 index 00000000..662d9507 --- /dev/null +++ b/erp_web/js/pages/materials/sale_orders_list.js @@ -0,0 +1,3205 @@ +//初始化界面 +var defDepotId = null; +var kid = sessionStorage.getItem("userId"); +var pageType = getUrlParam('t'); //获取页面类型传值 +var depotList = null; +var depotID = null; +var supplierList = null; +var supplierID = null; +var personList = null; +var personID = null; +var ProjectSearch=null; +var userBusinessList=null; +var userdepot=null; +var depotHeadMaxId=null; //获取最大的Id +var accepId=null; //保存的主表id +var url; +var depotHeadID = 0; +var preTotalPrice = 0; //前一次加载的金额 +var orgDepotHead = ""; +var editIndex = undefined; +var listTitle = ""; //单据标题 +var listType = ""; //入库 出库 +var listSubType = ""; //采购 销售等 +var payTypeTitle = "";//付款 收款 +var organUrl = ""; //组织数据接口地址 +var amountNum = ""; //单据编号开头字符 +var depotString = ""; //店铺id列表 +/**默认编号有意义吗,不如空着吧*/ +var orgDefaultId=''; //单位默认编号 +var orgDefaultList; //存储查询出来的会员列表 +var accountList; //账户列表 +var outItemList; //支出项目列表 +var thisTaxRate = 0; //当前税率,选择供应商或者客户的时候设置 +var oldNumber = ""; //编辑前的单据编号 +var oldId = 0; //编辑前的单据Id +var otherColumns = true; //明细中的‘别名’列是否显示 +var btnEnableList = getBtnStr(); //获取按钮的权限 +var mPropertyList = ""; //商品属性列表 +var defaultAccountId = 0; //默认账户id +$(function(){ + //初始化系统基础信息 + getType(); + initSystemData_UB(); + initSelectInfo_UB(); + initSystemData_depot(); + initSelectInfo_depot(); + initSystemData_person(); + initSelectInfo_person(); + initSystemData_account(); + initSelectInfo_account(); + initSupplier(); //供应商 + initSalesman(); //销售人员 + initOutItemList(); //初始化支出项目 + initMProperty(); //初始化商品属性 + initTableData(); + ininPager(); + initForm(); + bindEvent();//绑定操作事件 +}); +//根据单据名称获取类型 +function getType(){ + listTitle = $("#tablePanel").prev().text(); + depotString = "|"; + //改变宽度和高度 + $("#searchPanel").panel({width:webW-2}); + $("#tablePanel").panel({width:webW-2}); + var supUrl = "/supplier/findBySelect_sup"; //供应商接口 + var cusUrl = "/supplier/findBySelect_cus?UBType=UserCustomer&UBKeyId=" + kid; //客户接口 + var retailUrl = "/supplier/findBySelect_retail"; //散户接口 + if(listTitle === "采购订单列表"){ + listType = "其它"; + listSubType = "采购订单"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "CGDD"; + } + else if(listTitle === "采购入库列表"){ + listType = "入库"; + listSubType = "采购"; + payTypeTitle = "付款"; + organUrl = supUrl; + amountNum = "CGRK"; + } + else if(listTitle === "零售退货列表"){ + listType = "入库"; + listSubType = "零售退货"; //注:用预付款购买的产品不能退货 + payTypeTitle = "付款"; + organUrl = retailUrl; + amountNum = "LSTH"; + } + else if(listTitle === "销售退货列表"){ + listType = "入库"; + listSubType = "销售退货"; + payTypeTitle = "付款"; + organUrl = cusUrl; + amountNum = "XSTH"; + } + else if(listTitle === "其它入库列表"){ + listType = "入库"; + listSubType = "其它"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "QTRK"; + } + else if(listTitle === "零售出库列表"){ + listType = "出库"; + listSubType = "零售"; + payTypeTitle = "收款"; + organUrl = retailUrl; + amountNum = "LSCK"; + } + else if(listTitle === "销售订单列表"){ + listType = "其它"; + listSubType = "销售订单"; + payTypeTitle = "隐藏"; + organUrl = cusUrl; + amountNum = "XSDD"; + } + else if(listTitle === "销售出库列表"){ + listType = "出库"; + listSubType = "销售"; + payTypeTitle = "收款"; + organUrl = cusUrl; + amountNum = "XSCK"; + } + else if(listTitle === "采购退货列表"){ + listType = "出库"; + listSubType = "采购退货"; + payTypeTitle = "收款"; + organUrl = supUrl; + amountNum = "CGTH"; + } + else if(listTitle === "其它出库列表"){ + listType = "出库"; + listSubType = "其它"; + payTypeTitle = "隐藏"; + organUrl = cusUrl; + amountNum = "QTCK"; + } + else if(listTitle === "调拨出库列表"){ + listType = "出库"; + listSubType = "调拨"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "DBCK"; + } + else if(listTitle === "组装单列表"){ + listType = "其它"; + listSubType = "组装单"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "ZZD"; + } + else if(listTitle === "拆卸单列表"){ + listType = "其它"; + listSubType = "拆卸单"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "CXD"; + } +} +//初始化系统基础信息 +function initSystemData_UB(){ + $.ajax({ + type:"get", + url: "/userBusiness/getBasicData", + data: ({ + KeyId:kid, + Type:"UserDepot" + }), + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if (res && res.code === 200) { + userBusinessList = res.data.userBusinessList; + } + else { + userBusinessList = null; + } + } + }); + +} +//初始化页面选项卡 +function initSelectInfo_UB(){ + + if(userBusinessList !=null) + { + if(userBusinessList.length>0) + { + //用户对应的仓库列表 [1][2][3]... + userdepot =userBusinessList[0].value; + } + } +} + + +//初始化系统基础信息 +function initSystemData_depot(){ + $.ajax({ + type:"get", + url: "/depot/getAllList", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200){ + depotList = res.data; + } else { + $.messager.alert('提示', '查找系统基础信息异常,请与管理员联系!', 'error'); + return; + } + } + }); +} +//初始化页面选项卡 +function initSelectInfo_depot(){ + var options = ""; + + if(depotList !=null) + { + options = ""; + for(var i = 0 ;i < depotList.length;i++) + { + var depot = depotList[i]; + + if(userdepot!=null) + { + if(userdepot.indexOf("["+depot.id+"]")!=-1) + { + if(depot.isDefault){ + defDepotId = depot.id; + } + options += ''; + depotString = depotString + depot.id + ","; + } + } + if(depot.type === 1){ + depotString = depotString + depot.id + ","; + } + } + depotString = depotString.substring(1, depotString.length-1); + $("#ProjectId").empty().append(options); + $("#AllocationProjectId").empty().append(options); + $("#searchProjectId").empty().append('').append(options); + } +} + +//初始化供应商、客户、散户信息 +function initSupplier(){ + $('#OrganId').combobox({ + url: organUrl, + valueField:'id', + textField:'supplier', + filter: function(q, row){ + var opts = $(this).combobox('options'); + return row[opts.textField].indexOf(q) >-1; + }, + onLoadSuccess: function(res) { + var data = $(this).combobox('getData'); + for(var i = 0; i<= data.length; i++){ + if(data && data[i] && data[i].supplier === "非会员"){ + orgDefaultId = data[i].id; + } + } + if(listSubType === "零售"){ + orgDefaultList = res; + } + }, + onSelect: function(rec){ + if(listSubType === "零售"){ + var option = ""; + if(rec.supplier !== "非会员" && rec.advanceIn >0){ + option = ''; + option += ''; + } + else { + option += ''; + } + $("#payType").empty().append(option); + } + else{ + $.ajax({ + type:"get", + url: "/supplier/findById", + data: { + supplierId: rec.id + }, + dataType: "json", + success: function (res){ + if(res && res.code === 200) { + if(res.data && res.data[0]){ + thisTaxRate = res.data[0].taxRate; //设置当前的税率 + } + } + }, + error:function(){ + + } + }); + } + } + }); +} + +//初始化销售人员 +function initSalesman(){ + $('#Salesman').combobox({ + url: "/person/getPersonByNumType?type=1", + valueField:'id', + textField:'name', + multiple: true + }); +} + +//初始化收入项目列表 +function initOutItemList(){ + $.ajax({ + type:"get", + url: "/inOutItem/findBySelect?type=out", + //设置为同步 + async:false, + dataType: "json", + success: function (res){ + if(res){ + outItemList = res; + } + }, + error:function(){ + + } + }); +} + +//初始化商品属性 +function initMProperty(){ + $.ajax({ + type: "get", + url: "/materialProperty/list", + dataType: "json", + data: ({ + search: JSON.stringify({ + name: "" + }), + currentPage: 1, + pageSize: 100 + }), + success: function (res) { + if(res && res.code === 200){ + if(res.data && res.data.page) { + var thisRows = res.data.page.rows; + for (var i = 0; i < thisRows.length; i++) { + if (thisRows[i].enabled) { + mPropertyList += thisRows[i].nativeName + ","; + } + } + if (mPropertyList) { + mPropertyList = mPropertyList.substring(0, mPropertyList.length - 1); + } + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('查询提示','查询信息异常,请稍后再试!','error'); + return; + } + }); +} + +//初始化系统基础信息 +function initSystemData_person(){ + $.ajax({ + type:"get", + url: "/person/getAllList", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + personList = res.data.personList; + } + } + } + }); +} +//初始化页面选项卡 +function initSelectInfo_person(){ + var options1 = ""; + + if(personList !=null) + { + for(var i = 0 ;i < personList.length;i++) + { + var person = personList[i]; + if(0 == i) + { + personID = person.id; + } + if(person.type=="仓管员") + { + options1 += ''; + } + } + $("#HandsPersonId").empty().append(options1); + } +} +//获取账户信息 +function initSystemData_account(){ + $.ajax({ + type:"get", + url: "/account/getAccount", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + accountList = res.data.accountList; + } + } + } + }); +} +//获取账户信息 +function initSelectInfo_account(){ + var options = ""; + if(accountList !=null){ + options = ""; + options += ""; + for(var i = 0 ;i < accountList.length;i++) { + var account = accountList[i]; + options += ''; + if(account.isdefault) { + defaultAccountId = account.id; //给账户赋值默认id + } + } + $("#AccountId").empty().append(options); + } +} + +//防止表单提交重复 +function initForm(){ + $('#depotHeadFM').form({ + onSubmit: function(){ + return false; + } + }); +} + +//初始化表格数据 +function initTableData(){ + if(pageType === "skip") { + var oldRowInfo = sessionStorage.getItem("rowInfo"); + editDepotHead(oldRowInfo); //自动弹出编辑框,带缓存数据 + } + var hideType = undefined; + var isHiddenStatus = true; + if(payTypeTitle === "隐藏"){ + hideType = true; //隐藏当前列 + } + var tableToolBar = [ + { + id:'addDepotHead', + text:'增加', + iconCls:'icon-add', + handler:function() + { + addDepotHead(); + } + }, + { + id:'deleteDepotHead', + text:'删除', + iconCls:'icon-remove', + handler:function() + { + batDeleteDepotHead(); + } + } + ]; + //如果允许的按钮列表中存在就显示,3-代表审核|反审核的权限 + if(btnEnableList && btnEnableList.indexOf(3)>-1){ + isHiddenStatus = false; //显示 + tableToolBar.push({ + id:'okDepotHead', + text:'审核', + iconCls:'icon-ok', + handler:function() { + setStatusFun(); + } + }, + { + id:'undoDepotHead', + text:'反审核', + iconCls:'icon-undo', + handler:function() { + setUnStatusFun(); + } + }); + } + else { + isHiddenStatus = true; //隐藏 + } + var isShowLastMoneyColumn = false; //是否显示优惠后金额和价税合计,true为隐藏,false为显示 + if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowLastMoneyColumn = true; //隐藏 + } + var isShowOrganNameColumn = false; //是否显示供应商、客户等信息,true为隐藏,false为显示 + var organNameTitle = ""; //组织名称标题 + if(listSubType == "调拨" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowOrganNameColumn = true; //隐藏 + } + else { + if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "采购退货列表" || listTitle == "其它入库列表"){ + organNameTitle = "供应商名称"; + } + else if(listTitle == "销售订单列表" || listTitle == "销售退货列表" || listTitle == "销售出库列表" || listTitle == "其它出库列表"){ + organNameTitle = "客户名称"; + } + else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ + organNameTitle = "会员卡号"; + } + } + var opWidth = 90; //操作宽度 + var isShowSkip = false; //是否显示跳转按钮 + var opTitle = ""; //跳转按钮的标题 + if(listTitle == "采购订单列表") { + opWidth = 120; + isShowSkip = true; + opTitle = "转采购入库"; + } else if(listTitle == "销售订单列表") { + opWidth = 120; + isShowSkip = true; + opTitle = "转销售出库"; + } + $('#tableData').datagrid({ + height:heightInfo, + rownumbers: false, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + pagination: true, + //交替出现背景 + striped : true, + pageSize: 10, + pageList: initPageNum, + columns:[[ + { field: 'id',width:35,align:"center",checkbox:true}, + { title: '操作',field: 'op',align:"center",width:opWidth, + formatter:function(value, rec,index) { + var str = ''; + // var rowInfo = rec.id + 'AaBb' + rec.projectid+ 'AaBb' + rec.number+ 'AaBb' + rec.operpersonname + // + 'AaBb' + rec.opertimeStr+ 'AaBb' + rec.organid+ 'AaBb' + rec.handspersonid + // + 'AaBb' + rec.accountid+ 'AaBb' + rec.changeamount+ 'AaBb' + rec.remark + // + 'AaBb' + rec.projectName+ 'AaBb' + rec.organName+ 'AaBb' + rec.handsPersonName + // + 'AaBb' + rec.accountName + 'AaBb' + rec.totalprice + 'AaBb' + rec.allocationprojectid + // + 'AaBb' + rec.allocationProjectName + 'AaBb' + rec.paytype + 'AaBb' + rec.salesman + // + 'AaBb' + rec.discount + 'AaBb' + rec.discountmoney + 'AaBb' + rec.discountlastmoney + // + 'AaBb' + rec.accountidlist + 'AaBb' + rec.accountmoneylist + // + 'AaBb' + rec.othermoney + 'AaBb' + rec.othermoneylist + 'AaBb' + rec.othermoneyitem + // + 'AaBb' + rec.accountday + 'AaBb' + rec.linknumber; + // rowInfo = rowInfo.replace(/\"/g, ""); + // rowInfo = rowInfo.replace(/\[|]/g,""); + var orgId = rec.organid? rec.organid:0; + str += '   '; + str += '   '; + str += ''; + if(isShowSkip) { + str += '   '; + } + return str; + } + }, + { title: organNameTitle, field: 'organName',width:120, hidden:isShowOrganNameColumn}, + { title: '单据编号',field: 'number',width:135, formatter:function (value,rec) { + if(rec.linknumber) { + return value + "[转]"; + } else { + return value; + } + } + }, + { title: '商品信息',field: 'materialsList',width:180,formatter:function(value){ + if(value) { + return value.replace(",",","); + } + } + }, + { title: '单据日期',field: 'opertimeStr',width:130}, + { title: '操作员',field: 'operpersonname',width:60}, + { title: '金额合计',field: 'totalprice',width:60}, + { title: '含税合计',field: 'totaltaxlastmoney',hidden:isShowLastMoneyColumn,width:60,formatter:function(value,rec){ + return (rec.discountmoney + rec.discountlastmoney).toFixed(2); + } + }, + { title: '优惠后金额',field: 'discountlastmoney',hidden:isShowLastMoneyColumn,width:80}, + { title: payTypeTitle,field: 'changeamount',width:50,hidden:hideType}, + { title: '状态',field: 'status',hidden:isHiddenStatus, width:70,align:"center",formatter:function(value){ + if(value === "0") { + return "未审核"; + } else if(value === "1") { + return "已审核"; + } else if(value === "2") { + if(listTitle == "采购订单列表") { + return "已转采购"; + } else if(listTitle == "销售订单列表") { + return "已转销售"; + } + } + } + } + ]], + toolbar:tableToolBar, + onLoadError:function() { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); +} + +//查找库存的方法 +function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ + var thisRatio = 1; //比例 + $.ajax({ + url: "/material/findById", + type: "get", + dataType: "json", + data: { + id: mId + }, + success: function (rec) { + if(rec && rec.code === 200 && rec.data && rec.data[0]) { + var loadRatio = 1; //在单位输入框上面加载比例字段 + if(rec.data[0].unit) { //如果存在计量单位信息 + loadRatio = 1; + } + else{ + var unitName = rec.data[0].unitName; + if(unitName) { + thisRatio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); + unitName = unitName.substring(0, unitName.indexOf("(")); + } + var unitArr = unitName.split(","); + var basicUnit = unitArr[0]; //基础单位 + var otherUnit = unitArr[1]; //副单位 + var unitSetInput =""; //单位 + if(listSubType === "采购订单" || listSubType === "采购" || listSubType === "采购退货"){ + unitSetInput = rec.data[0].firstinunit; + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = thisRatio; + } + } + else if(listSubType === "销售订单" || listSubType === "销售" || listSubType === "销售退货" || listSubType === "零售" || listSubType === "零售退货"){ + unitSetInput = rec.data[0].firstoutunit; + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = thisRatio; + } + } + } + //查询库存 + $.ajax({ + type: "get", + url: '/depotItem/findStockNumById', + data:{ + projectId: depotId, + materialId: mId, + monthTime: monthTime, + currentPage: 1, + pageSize: 10 + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if (res.data && res.data.page && res.data.page[0]) { + var thisStock = res.data.page[0].thisSum; + if (type == "select") { //选择下拉框的时候 + if (ratio != undefined && ratio != 1) { + loadRatio = ratio; + } + } + else if (type == "click") { //点击库存的时候 + if (ratio != undefined) { + loadRatio = ratio; + } + } + thisStock = (thisStock / loadRatio).toFixed(2); + body.find("[field='Stock']").find(input).val(thisStock).attr("data-stock", res.data.page[0].thisSum); //加载库存数据 + } + else { + body.find("[field='Stock']").find(input).val(0).attr("data-stock", 0); //加载库存数据 + } + body.find("[field='Stock']").find(input).prop("readonly", "readonly"); //设置库存数据为只读 + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); + } + }, + error: function () { + $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); + } + }); +} +//优惠率、合计的统计方法 +function statisticsFun(body,UnitPrice,OperNumber,footer,taxRate){ + var TotalPrice = 0; + var taxLastMoneyTotal = 0; + //金额的合计 + body.find("[field='AllPrice']").each(function(){ + if($(this).find("div").text()!==""){ + TotalPrice = TotalPrice + parseFloat($(this).find("div").text().toString()); + } + }); + TotalPrice = TotalPrice + UnitPrice*OperNumber; + footer.find("[field='AllPrice']").find("div").text((TotalPrice).toFixed(2)); //金额的合计 + //价税合计的总计 + body.find("[field='TaxLastMoney']").each(function(){ + if($(this).find("div").text()!==""){ + taxLastMoneyTotal = taxLastMoneyTotal + (parseFloat($(this).find("div").text().toString())-0); + } + }); + taxLastMoneyTotal = taxLastMoneyTotal + (UnitPrice*OperNumber*(1+taxRate/100)); + footer.find("[field='TaxLastMoney']").find("div").text((taxLastMoneyTotal).toFixed(2)); //价税合计的页脚总计 + var discount = $("#Discount").val(); //优惠率 + var discountMoney = (taxLastMoneyTotal*discount/100).toFixed(2); + $("#DiscountMoney").val(discountMoney);//优惠金额 + var discountLastMoney = (taxLastMoneyTotal*(1-discount/100)).toFixed(2) + $("#DiscountLastMoney").val(discountLastMoney);//优惠后金额 + if($("#AccountId").val()!=="many"){ + $("#ChangeAmount").val(discountLastMoney); //本次付、收款 + } + var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 + $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 + + if(listSubType == "零售" || listSubType == "零售退货") { + $("#ChangeAmount, #getAmount").val((TotalPrice).toFixed(2)); + $("#backAmount").val(0); + } +} +//初始化表格数据-商品列表-编辑状态 +function initTableData_material(type,TotalPrice){ + var body,footer,input; //定义表格和文本框 + var ratio = 1; //比例-品名专用 + var ratioDepot = 1; //比例-仓库用 + var monthTime = getNowFormatMonth(); + var isShowAnotherDepot = true; //显示对方仓库,true为隐藏,false为显示 + var depotHeadName = ""; //仓库名称 + var depotUrl = ""; //仓库接口地址 + var depotTextField = ""; //仓库下拉名称 + var anotherDepotHeadName = ""; //对方仓库的列的标题 + var anotherDepotUrl = ""; //对方仓库接口地址 + var anotherDepotTextField = ""; + if(listSubType == "调拨"){ + isShowAnotherDepot = false; //调拨时候显示对方仓库 + anotherDepotHeadName = "调入仓库"; + anotherDepotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; + anotherDepotTextField = "depotName"; + } + depotHeadName = "仓库名称"; + depotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; + depotTextField = "depotName"; + var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 + if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowTaxColumn = true; //隐藏 + } + var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 + if(listSubType == "组装单" || listSubType == "拆卸单"){ + isShowMaterialTypeColumn = false; //显示 + } + $('#materialData').datagrid({ + height:245, + rownumbers: false, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + //单击行是否选中 + checkOnSelect : false, + pagination: false, + //交替出现背景 + striped : true, + showFooter: true, + //loadFilter: pagerFilter, + onClickRow: onClickRow, + columns:[[ + { field: 'Id',width:35,align:"center",checkbox:true}, + { title: '商品类型',field: 'MType',editor:'validatebox',hidden:isShowMaterialTypeColumn,width:80}, + { title: depotHeadName, field: 'DepotId', editor: 'validatebox', width: 90, + formatter: function (value, row, index) { + return row.DepotName; + }, + editor: { + type: 'combobox', + options: { + valueField: 'id', + textField: depotTextField, + method: 'get', + url: depotUrl, + onSelect:function(rec){ + var depotId = rec.id; + body =$("#depotHeadFM .datagrid-body"); + footer =$("#depotHeadFM .datagrid-footer"); + input = ".datagrid-editable-input"; + var mId = body.find("[field='MaterialId']").find(".combo-value").val(); + if(mId){ + var type = "select"; //type 类型:点击 click,选择 select + findStockNumById(depotId, mId, monthTime, body, input, ratioDepot, type); + } + } + } + } + }, + { title: '品名(型号)(扩展信息)(单位)',field: 'MaterialId',width:230, + formatter:function(value,row,index){ + return row.MaterialName; + }, + editor:{ + type:'combobox', + options:{ + valueField:'Id', + textField:'MaterialName', + method:'get', + url: "/material/findBySelect", + panelWidth: 300, //下拉框的宽度 + //全面模糊匹配,过滤字段 + filter: function(q, row){ + var opts = $(this).combobox('options'); + return row[opts.textField].indexOf(q) >-1; + }, + onBeforeLoad: function(param){ + param.mpList = mPropertyList; //商品属性 + }, + onSelect:function(rec){ + if(rec) { + var mId = rec.Id; + $.ajax({ + url: "/material/findById", + type: "get", + dataType: "json", + data: { + id: mId + }, + success: function (res) { + if(res && res.code === 200 && res.data && res.data[0]) { + var retailPrice = res.data[0].retailprice-0; //零售价格 + var presetPriceOne = res.data[0].presetpriceone-0; //预计采购价 + var presetPriceTwo = res.data[0].presetpricetwo-0; //批发价 + var firstInUnit = res.data[0].firstinunit; //首选入库单位 + var firstOutUnit = res.data[0].firstoutunit; //首选出库单位 + var basicPresetPriceOne = ""; //多单位-入库-基础价格 + var basicPresetPriceTwo = ""; //多单位-出库-基础价格 + var retailPriceOne = ""; //多单位-入库-零售价格 + var otherPresetPriceOne = ""; //多单位-入库-其他价格 + var otherPresetPriceTwo = ""; //多单位-出库-其他价格 + var retailPriceTwo = ""; //多单位-出库-零售价格 + var basicUnit = ""; //基础单位 + var otherUnit = ""; //其他单位 + if(!res.data[0].unit){ + var ps = res.data[0].pricestrategy; + var psObj = JSON.parse(ps); + basicPresetPriceOne = psObj[0].basic.PresetPriceOne-0; + basicPresetPriceTwo = psObj[0].basic.PresetPriceTwo-0; + retailPriceOne = psObj[0].basic.RetailPrice-0; + otherPresetPriceOne = psObj[1].other.PresetPriceOne-0; + otherPresetPriceTwo = psObj[1].other.PresetPriceTwo-0; + retailPriceTwo = psObj[1].other.RetailPrice-0; + basicUnit = psObj[0].basic.Unit; + otherUnit = psObj[1].other.Unit; + } + body =$("#depotHeadFM .datagrid-body"); + footer =$("#depotHeadFM .datagrid-footer"); + input = ".datagrid-editable-input"; + if(res.data[0].unit){ //如果存在计量单位信息 + ratio = 1; //重置比例为1 + body.find("[field='Unit']").find(input).val(res.data[0].unit); //设置-计量单位信息 + body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 + body.find("[field='Unit']").find(input).off("click"); //移除点击事件 + body.find("[field='Unit']").find(input).attr("data-ratio",ratio); //修改比例缓存信息 + } + else { + var unitName = res.data[0].unitName; + if(unitName) { + ratio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); //给比例赋值 + unitName = unitName.substring(0, unitName.indexOf("(")); + } + var unitArr = unitName.split(","); + var basicUnit = unitArr[0]; //基础单位 + var otherUnit = unitArr[1]; //副单位 + var unitSetInput =""; //单位 + body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 + var loadRatio = 1; //在单位输入框上面加载比例字段 + if(listSubType === "采购" || listSubType === "采购退货" || listSubType === "采购订单"){ + unitSetInput = res.data[0].firstinunit; //给单位文本框赋值 + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = ratio; + } + } + else if(listSubType === "销售" || listSubType === "销售退货" || listSubType === "销售订单" || listSubType === "零售" || listSubType === "零售退货"){ + unitSetInput = res.data[0].firstoutunit; //给单位文本框赋值 + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = ratio; + } + } + body.find("[field='Unit']").find(input).val(unitSetInput).attr("data-ratio", loadRatio); //设置-首选单位 + + body.find("[field='Unit']").find(input).off("click").on("click",function(){ + if(basicUnit && otherUnit) { + var self = this; + //定义模版 + var temp = "
"; + temp +="
    "; + temp +="
  • " + basicUnit + "
  • "; + temp +="
  • " + otherUnit + "
  • "; + temp +="
"; + temp +="
"; + if($('.unit-list').length){ + $('.unit-list').remove(); //如果存在计量单位列表先移除 + } + else { + $(self).after(temp); //加载列表信息 + } + //计量单位列表的单击事件 + $('.unit-list ul li').off("click").on("click",function(){ + var unit = $(this).text(); + var thisRatio = $(this).attr("data-ratio"); //获取比例 + $(self).val(unit).attr("data-ratio", thisRatio); + $(self).keyup(); //模拟键盘操作 + $('.unit-list').remove(); //移除计量单位列表 + var stock = body.find("[field='Stock']").find(input).attr("data-stock"); //从缓存中取值 + var type = $(this).attr("data-type"); + var UnitPrice = 0; + if(type === "basic"){ + if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { + UnitPrice = basicPresetPriceOne; + } + else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { + UnitPrice = basicPresetPriceTwo; + } + else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ + UnitPrice = retailPriceOne; + } + body.find("[field='Stock']").find(input).val(stock); //修改库存 + } + else if(type === "other"){ + if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { + UnitPrice = otherPresetPriceOne; + } + else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { + UnitPrice = otherPresetPriceTwo; + } + else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ + UnitPrice = retailPriceTwo; + } + body.find("[field='Stock']").find(input).val((stock/ratio).toFixed(2)); //修改库存 + } + body.find("[field='UnitPrice']").find(input).val(UnitPrice); //单价 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //获取数量 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //获取税率 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //点击空白处移除计量单位列表 + $(".datagrid-body").off("click").on("click",function(){ + $('.unit-list').remove(); //移除计量单位列表 + }); + } + }); + } + var detailPrice = 0; //明细列表-单价 + if(listSubType == "零售" || listSubType == "零售退货") { + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = retailPrice; + } + else { + if (firstOutUnit == basicUnit) { + detailPrice = retailPriceOne; + } + else if (firstOutUnit == otherUnit) { + detailPrice = retailPriceTwo; + } + } + } + else if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = presetPriceOne; + } + else { + if (firstInUnit == basicUnit) { + detailPrice = basicPresetPriceOne; + } + else if (firstInUnit == otherUnit) { + detailPrice = otherPresetPriceOne; + } + } + } + else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = presetPriceTwo; + } + else { + if(firstOutUnit==basicUnit) { + detailPrice = basicPresetPriceTwo; + } + else if(firstOutUnit==otherUnit){ + detailPrice = otherPresetPriceTwo; + } + } + } + body.find("[field='OperNumber']").find(input).val(1); //数量初始化为1 + //单价和总价赋值 + if(!detailPrice) { + detailPrice = 0; + } + body.find("[field='UnitPrice']").find(input).val(detailPrice); + body.find("[field='AllPrice']").find(input).val(detailPrice); + var taxRate = body.find("[field='TaxRate']").find(input).val()-0; //获取税率 + body.find("[field='TaxUnitPrice']").find(input).val((detailPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((detailPrice*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((detailPrice*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,detailPrice,1,footer,taxRate); + + //查询库存信息 + var depotId = body.find("[field='DepotId']").find(".combo-value").val(); + if(depotId) { + var type = "select"; //type 类型:点击 click,选择 select + findStockNumById(depotId, mId, monthTime, body, input, loadRatio, type); + } + } + }, + error: function() { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + } + }); + } + } + } + } + }, + { title: '库存',field: 'Stock',editor:'validatebox',width:70}, + { title: anotherDepotHeadName, field: 'AnotherDepotId',editor:'validatebox',hidden:isShowAnotherDepot,width:90, + formatter: function (value, row, index) { + return row.AnotherDepotName; + }, + editor: { + type: 'combobox', + options: { + valueField: 'id', + textField: anotherDepotTextField, + method: 'get', + url: anotherDepotUrl + } + } + }, + { title: '单位',field: 'Unit',editor:'validatebox',width:60}, + { title: '数量',field: 'OperNumber',editor:'validatebox',width:60}, + { title: '单价',field: 'UnitPrice',editor:'validatebox',width:60}, + { title: '含税单价',field: 'TaxUnitPrice',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '金额',field: 'AllPrice',editor:'validatebox',width:75}, + { title: '税率(%)',field: 'TaxRate',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '税额',field: 'TaxMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '价税合计',field: 'TaxLastMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '备注',field: 'Remark',editor:'validatebox',width:120}, + { title: '品名-别',field: 'OtherField1',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '型号-别',field: 'OtherField2',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '颜色-别',field: 'OtherField3',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '备注1',field: 'OtherField4',editor:'validatebox',hidden:true,width:60}, + { title: '备注2',field: 'OtherField5',editor:'validatebox',hidden:true,width:60} + ]], + toolbar:[ + { + id:'append', + text:'新增', + iconCls:'icon-add', + handler:function() + { + append(); //新增 + } + }, + { + id:'delete', + text:'删除', + iconCls:'icon-remove', + handler:function() + { + batchDel(); //删除 + } + }, + { + id:'reject', + text:'撤销', + iconCls:'icon-undo', + handler:function() + { + reject(); //撤销 + } + } + ], + onLoadError:function() + { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); + $.ajax({ + type:"get", + url: '/depotItem/getDetailList', + data: { + headerId: depotHeadID, + mpList: mPropertyList + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + var data = res.data; + var AllPrice = 0; + var TaxLastMoney = 0; + var DiscountMoney = $("#DiscountMoney").val()-0; //优惠金额 + var DiscountLastMoney = $("#DiscountLastMoney").val()-0; //优惠后金额 + if(type === "edit") { + AllPrice = TotalPrice; + TaxLastMoney = DiscountMoney + DiscountLastMoney; + } + var array = []; + array.push({ + "AllPrice": AllPrice, + "TaxLastMoney": TaxLastMoney + }); + data.footer = array; + $("#materialData").datagrid('loadData',data); + //如果是订单跳转到采购或销售 + if(pageType === "skip") { + var skipList = $("#depotHeadFM .datagrid-body tr"); + //逐条自动点击每行数据 + skipList.each(function (i) { + setTimeout(function () { + skipList.eq(i).find("[field='Stock']").click(); + },(i+1)*1000); + }); + } + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); +} + +//初始化表格数据-商品列表-查看状态 +function initTableData_material_show(TotalPrice){ + var isShowAnotherDepot = true; //显示对方仓库,true为隐藏,false为显示 + var anotherDepotHeadName = ""; //对方仓库的列的标题 + var depotHeadName = ""; //仓库的列的标题 + if(listSubType == "调拨"){ + isShowAnotherDepot = false; //调拨时候显示对方仓库 + anotherDepotHeadName = "调入仓库"; + } + depotHeadName = "仓库名称"; + var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 + if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowTaxColumn = true; //隐藏 + } + var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 + if(listSubType == "组装单" || listSubType == "拆卸单"){ + isShowMaterialTypeColumn = false; //显示 + } + $('#materialDataShow').datagrid({ + height:245, + rownumbers: true, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + pagination: false, + //交替出现背景 + striped : true, + showFooter: true, + onClickRow: onClickRow, + columns:[[ + { title: '商品类型',field: 'MType',width:80, hidden:isShowMaterialTypeColumn}, + { title: depotHeadName,field: 'DepotName',editor:'validatebox',width:90}, + { title: '品名(型号)(扩展信息)(单位)',field: 'MaterialName',width:230}, + { title: anotherDepotHeadName,field: 'AnotherDepotName',hidden:isShowAnotherDepot,width:90}, + { title: '单位',field: 'Unit',editor:'validatebox',width:60}, + { title: '数量',field: 'OperNumber',editor:'validatebox',width:60}, + { title: '单价',field: 'UnitPrice',editor:'validatebox',width:60}, + { title: '含税单价',field: 'TaxUnitPrice',editor:'validattebox',hidden:isShowTaxColumn,width:75}, + { title: '金额',field: 'AllPrice',editor:'validatebox',width:75}, + { title: '税率',field: 'TaxRate',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '税额',field: 'TaxMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '价税合计',field: 'TaxLastMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '备注',field: 'Remark',editor:'validatebox',width:120}, + { title: '品名-别',field: 'OtherField1',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '型号-别',field: 'OtherField2',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '颜色-别',field: 'OtherField3',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '备注1',field: 'OtherField4',editor:'validatebox',hidden:true,width:60}, + { title: '备注2',field: 'OtherField5',editor:'validatebox',hidden:true,width:60} + ]], + onLoadError:function() { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); + $.ajax({ + type:"get", + url: '/depotItem/getDetailList', + data: { + headerId: depotHeadID, + mpList: mPropertyList + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + var data = res.data; + var AllPrice = TotalPrice; + var DiscountMoney = $("#DiscountMoneyShow").text() - 0; //优惠金额 + var DiscountLastMoney = $("#DiscountLastMoneyShow").text() - 0; //优惠后金额 + var array = []; + array.push({ + "AllPrice": AllPrice, + "TaxLastMoney": DiscountMoney + DiscountLastMoney + }); + data.footer = array; + $("#materialDataShow").datagrid('loadData', data); + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); +} + +//分页信息处理 +function ininPager(){ + try + { + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + pager.pagination({ + onSelectPage:function(pageNum, pageSize) + { + opts.pageNumber = pageNum; + opts.pageSize = pageSize; + pager.pagination('refresh', + { + pageNumber:pageNum, + pageSize:pageSize + }); + showDepotHeadDetails(pageNum,pageSize); + } + }); + } + catch (e) + { + $.messager.alert('异常处理提示',"分页信息异常 : " + e.name + ": " + e.message,'error'); + } +} + +//删除单据信息 +function deleteDepotHead(depotHeadID, thisOrganId, totalPrice, status){ + if(status == "1" || status == "2") { + $.messager.alert('删除提示','已审核和已转的单据不能删除!','warning'); + return; + } + $.messager.confirm('删除确认','确定要删除此单据信息吗?',function(r) { + if (r) { + $.ajax({ + type:"post", + // url: "/depotHead/" + depotHeadID + "/delete", + url: "/depotHead/deleteDepotHeadAndDetail", + dataType: "json", + data:{ + id: depotHeadID + }, + success: function (res) { + if(res && res.code == 200) { + $("#searchBtn").click(); + } else { + $.messager.alert('删除提示', '删除单据信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('删除提示','删除单据信息异常,请稍后再试!','error'); + return; + } + }); + + //更新会员的预收款信息 + if(listSubType === "零售") { + $.ajax({ + type:"post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data:{ + supplierId: thisOrganId, //会员id + advanceIn: totalPrice //删除时同时返还用户的预付款 + }, + success: function(res){ + if(res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function(){ + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + } + }); +} + +//订单转采购或销售 +function skipDepotHead(index, status){ + //获取当前行 + var rowsdata = $("#tableData").datagrid("getRows")[index]; + if(status == "0" || status == "2") { + $.messager.alert('提示','未审核和已转的单据禁止操作!','warning'); + } else { + sessionStorage.setItem("rowInfo", JSON.stringify(rowsdata)); //将单据信息存入缓存中 + if(listTitle == "采购订单列表") { + parent.addTab("订单转采购", "../materials/purchase_in_list.html?t=skip", ""); + } else if(listTitle == "销售订单列表") { + parent.addTab("订单转销售", "../materials/sale_out_list.html?t=skip", ""); + } + } +} + +//批量删除单据信息 +function batDeleteDepotHead(){ + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) + { + $.messager.alert('删除提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) + { + $.messager.confirm('删除确认','确定要删除选中的' + row.length + '条单据信息吗?',function(r) + { + if (r) { + var ids = ""; + for (var i = 0; i < row.length; i++) { + if (i == row.length - 1) { + if (row[i].status == 0) { + ids += row[i].id; + } + break; + } + ids += row[i].id + ","; + } + if (ids) { + //批量更新会员的预收款信息 + for (var i = 0; i < row.length; i++) { + if (listSubType === "零售") { + $.ajax({ + type: "post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data: { + supplierId: row[i].organid, //会员id + advanceIn: row[i].totalprice //删除时同时返还用户的预付款 + }, + success: function (res) { + if (res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function () { + $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); + return; + } + }); + } + } + //批量删除 + $.ajax({ + type: "post", + // url: "/depotHead/batchDelete", + url: "/depotHead/batchDeleteDepotHeadAndDetail", + dataType: "json", + async: false, + data: ({ + ids: ids + }), + success: function (res) { + if (res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('删除提示', '删除单据信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('删除提示', '删除单据信息异常,请稍后再试!', 'error'); + return; + } + }); + } else { + $.messager.alert('删除提示','没有能删除的单据!','warning'); + } + } + }); + } +} + +//批量审核 +function setStatusFun() { + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) { + $.messager.alert('审核提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) { + $.messager.confirm('审核确认','确定要审核选中的' + row.length + '条信息吗?',function(r) + { + if (r) + { + var ids = ""; + for(var i = 0;i < row.length; i ++) + { + if(i == row.length-1) + { + if(row[i].status != "2") { + ids += row[i].id; + } + break; + } + ids += row[i].id + ","; + } + if(ids) { + $.ajax({ + type:"post", + url: "/depotHead/batchSetStatus", + dataType: "json", + async : false, + data: ({ + status: "1", + depotHeadIDs : ids + }), + success: function (res) { + if(res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('审核提示', '审核信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('审核提示','审核信息异常,请稍后再试!','error'); + return; + } + }); + } else { + $.messager.alert('审核提示','没有能审核的单据!','warning'); + } + } + }); + } +} + +//批量反审核 +function setUnStatusFun() { + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) + { + $.messager.alert('反审核提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) + { + $.messager.confirm('反审核确认','确定要反审核选中的' + row.length + '条信息吗?',function(r) + { + if (r) + { + var ids = ""; + for(var i = 0;i < row.length; i ++) + { + if(i == row.length-1) + { + if(row[i].status != "2") { + ids += row[i].id; + } + break; + } + ids += row[i].id + ","; + } + if(ids) { + $.ajax({ + type: "post", + url: "/depotHead/batchSetStatus", + dataType: "json", + async: false, + data: ({ + status: "0", + depotHeadIDs: ids + }), + success: function (res) { + if (res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('反审核提示', '反审核信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('反审核提示', '反审核信息异常,请稍后再试!', 'error'); + return; + } + }); + } else { + $.messager.alert('反审核提示','没有能反审核的单据!','warning'); + } + } + }); + } +} + +//生成单据编号 +function buildNumber() { + $.ajax({ + type: "get", + url: "/depotHead/buildNumber", + success:function(res){ + if(res && res.code === 200){ + var obj = res.data; + var defaultNumber = obj.DefaultNumber; + var newNumber = amountNum + defaultNumber; + $("#Number").val(newNumber).attr("data-defaultNumber",newNumber); + } + }, + error:function(){ + $.messager.alert('提示','生成单据编号失败!','error'); + } + }); +} + +//新增信息 +function addDepotHead(){ + $('#depotHeadFM').form('clear'); + var thisDateTime = getNowFormatDateTime(); //当前时间 + $("#OperTime").val(thisDateTime); + buildNumber(); //生成单据编号 + //初始化优惠率、优惠金额、优惠后金额、本次付|收款、本次欠款 为0 + $("#Discount").val(0); + $("#DiscountMoney").val(0); + $("#DiscountLastMoney").val(0); + $("#ChangeAmount").val(0); + $("#Debt").val(0); + $("#AccountId").val(defaultAccountId); //初始化默认的账户Id + var addTitle = listTitle.replace("列表","信息"); + $('#depotHeadDlg').dialog('open').dialog('setTitle',' 增加' + addTitle); + $(".window-mask").css({ width: webW ,height: webH}); + + orgDepotHead = ""; + depotHeadID = 0; + initTableData_material("add"); //商品列表 + reject(); //撤销下、刷新商品列表 + $("#addOrgan").off("click").on("click",function(){ + $('#supplierDlg').dialog('open').dialog('setTitle',' 增加供应商信息'); + $('#supplierFM').form('clear'); + }); + + $("#addMember").off("click").on("click",function(){ + $('#supplierDlg').dialog('open').dialog('setTitle',' 增加会员信息'); + $('#supplierFM').form('clear'); + }); + $("#addCustomer").off("click").on("click",function(){ + $('#supplierDlg').dialog('open').dialog('setTitle',' 增加客户信息'); + $('#supplierFM').form('clear'); + }); + url = '/depotHead/addDepotHeadAndDetail'; + + //零售单据修改收款时,自动计算找零 + if(listSubType == "零售" || listSubType == "零售退货") { + $("#payType").val("现付"); + $("#OrganId").combobox("setValue", orgDefaultId); //自动默认选择非会员 + // 鼠标点下时清空选择项 + $("#OrganId").next().find("input").off("mousedown").on("mousedown",function(){ + $("#OrganId").combobox("setValue", ""); + }); + //当会员卡号长度超过10位后,自动点击下拉框,用于兼容刷卡器 + $("#OrganId").next().find("input").off("keyup").on("keyup",function(){ + var self = this; + if($(this).val().length === 10){ + setTimeout(function(){ + $(".combo-panel .combobox-item-selected").click(); + //更新付款类型,加载会员的预付款的金额 + for(var i=0; i0){ + option = ''; + option += ''; + } + else { + option += ''; + } + $("#payType").empty().append(option); + } + } + },1000); + } + }); + var getAmount = $("#depotHeadFM .get-amount"); + var changeAmount = $("#depotHeadFM .change-amount"); + var backAmount = $("#depotHeadFM .back-amount"); + getAmount.val(0); changeAmount.val(0); backAmount.val(0); //时间初始化 + getAmount.off("keyup").on("keyup",function() { + if(changeAmount.val()){ + backAmount.val((getAmount.val()-changeAmount.val()).toFixed(2)); + } + }); + } +} + +//编辑信息 +function editDepotHead(index, status){ + if(status == "1" || status == "2") { + $.messager.alert('编辑提示','已审核和已转的单据不能编辑!','warning'); + return; + } + // var depotHeadInfo = depotHeadTotalInfo.split("AaBb"); + //获取当前行 + var rowsdata =''; + if(Number(index).toString()=='NaN'){ + rowsdata=$.parseJSON(index); + }else{ + rowsdata=$("#tableData").datagrid("getRows")[index]; + } + $("#ProjectId").focus().val(rowsdata.projectid); + var ProjectId=rowsdata.projectid; + if(ProjectId!='') { + initSystemData_person(ProjectId); + initSelectInfo_person(); + } + var TotalPrice = rowsdata.totalprice; //合计金额 + if(pageType === "skip") { //从订单跳转过来 + buildNumber(); //生成单据编号 + var thisDateTime = getNowFormatDateTime(); //当前时间 + $("#OperTime").val(thisDateTime); + $("#LinkNumber").val(rowsdata.number); //关联订单号 + $("#AccountId").val(defaultAccountId); //初始化默认的账户Id + $("#DiscountLastMoney").val(TotalPrice); //优惠后金额 + $("#ChangeAmount").val(TotalPrice).attr("data-changeamount", TotalPrice); + } else { + $("#Number").val(rowsdata.number).attr("data-defaultNumber",rowsdata.number); + $("#OperTime").val(rowsdata.opertimeStr); + $("#LinkNumber").val(rowsdata.linknumber==undefined?"":rowsdata.linknumber); //关联订单号 + $("#AccountId").val(rowsdata.accountid); //账户Id + $("#DiscountLastMoney").val(rowsdata.discountlastmoney==undefined?"0.00":rowsdata.discountlastmoney); //优惠后金额 + $("#ChangeAmount").val(rowsdata.changeamount).attr("data-changeamount", rowsdata.changeamount); + } + $('#OrganId').combobox('setValue', rowsdata.organid==undefined?'':rowsdata.organid); + $("#HandsPersonId").val(rowsdata.handspersonid); + $("#Remark").val(rowsdata.remark); + $("#Discount").val(rowsdata.discount==undefined?"0":rowsdata.discount); + $("#DiscountMoney").val(rowsdata.discountmoney==undefined?"0.00":rowsdata.discountmoney); + $("#Debt").val(Number((rowsdata.discountlastmoney==undefined?'0.00':rowsdata.discountlastmoney-rowsdata.changeamount)).toFixed(2)); + $("#AccountDay").val(rowsdata.accountday==undefined?"":rowsdata.accountday); //结算天数 + preTotalPrice = rowsdata.totalprice; //记录前一次合计金额,用于扣预付款 + $("#AllocationProjectId").val(rowsdata.allocationprojectid); + oldNumber = rowsdata.number; //记录编辑前的单据编号 + oldId = rowsdata.id; //记录单据Id + var editTitle = listTitle.replace("列表","信息"); + $('#depotHeadDlg').dialog('open').dialog('setTitle',' 编辑' + editTitle); + $(".window-mask").css({ width: webW ,height: webH}); + depotHeadID = rowsdata.id; + + if(listSubType == "零售"){ + var option = ""; + if(rowsdata.paytype == "预付款"){ + option = ''; + option += ''; + } + else { + option += ''; + } + $("#payType").empty().append(option); + } + + if(listSubType == "销售" || listSubType == "销售退货"){ + if(rowsdata.salesman){ + var arr = rowsdata.salesman.split(","); + var salesmanArray = []; + for(var i=0;i","")); + } + } + $("#Salesman").combobox('setValues', salesmanArray); + } + } + + //采购入库、销售出库的多账户加载 + if(rowsdata.accountidlist!=undefined && rowsdata.accountmoneylist!=undefined){ + $("#AccountId").val("many"); //下拉框选中多账户 + var accountArr = rowsdata.accountidlist.split(","); + var accountMoneyArr = rowsdata.accountmoneylist.split(","); + accountMoneyArr = changeListFmtPlus(accountMoneyArr) //将数组单个金额中的数值转为正数 + + if(listSubType == "零售" || listSubType == "零售退货") { + var manyAccountMoney = 0; //多账户合计-零售 + for (var j = 0; j < accountArr.length; j++) { + if (accountList != null) { + for (var i = 0; i < accountList.length; i++) { + var account = accountList[i]; + if (accountArr[j] == account.id) { + manyAccountMoney += accountMoneyArr[j] - 0; //多账户合计-零售 + } + } + } + } + $("#getAmount").val(manyAccountMoney); //收款金额、付款金额 + var changeAmount = $("#ChangeAmount").val()-0; + $("#backAmount").val((manyAccountMoney-changeAmount).toFixed(2)); //找零 + } + + $("#AccountId").attr("data-accountArr", JSON.stringify(accountArr)).attr("data-accountMoneyArr", JSON.stringify(accountMoneyArr)); //json数据存储 + $(".many-account-ico").show(); //显示多账户的ico图标 + } + + //采购入库、销售出库的费用数据加载 + if(rowsdata.othermoneylist &&rowsdata.othermoneyitem){ + $("#OtherMoney").val(rowsdata.othermoney==undefined?"0":rowsdata.othermoney); //采购费用、销售费用 + var itemArr = rowsdata.othermoneylist.split(","); + var itemMoneyArr = rowsdata.othermoneyitem.split(","); + $("#OtherMoney").attr("data-itemArr",JSON.stringify(itemArr)).attr("data-itemMoneyArr",JSON.stringify(itemMoneyArr)); //json数据存储 + } + + initTableData_material("edit",TotalPrice); //商品列表 + reject(); //撤销下、刷新商品列表 + if(pageType === "skip") { + url = '/depotHead/addDepotHeadAndDetail'; //如果是从订单跳转过来,则此处为新增的接口 + //jshjshjsh + $("#depotHeadFM .datagrid-body").find("[field='DepotId']").click(); + } else { + url = '/depotHead/updateDepotHeadAndDetail?id=' + rowsdata.id; //更新接口 + } +} + +//查看信息 +function showDepotHead(index){ + // var depotHeadInfo = depotHeadTotalInfo.split("AaBb"); + //获取当前行 + var rowsdata = $("#tableData").datagrid("getRows")[index]; + var manyAccountMoney = 0; //多账户合计-零售 + $("#ProjectIdShow").text(rowsdata.projectName); + $("#NumberShow").text(rowsdata.number); + $("#OperTimeShow").text(rowsdata.opertimeStr); + $('#OrganIdShow').text(rowsdata.organName==undefined?'':rowsdata.organName); + $("#HandsPersonIdShow").text(rowsdata.handsPersonName); + if(rowsdata.accountName && rowsdata.accountName!=undefined){ + $("#AccountIdShow").text(rowsdata.accountName); //结算账户 + } else { + var accountArr = (rowsdata.accountidlist==undefined?"":rowsdata.accountidlist).split(","); //账户id列表 + var accountMoneyArr =(rowsdata.accountmoneylist==undefined?"":rowsdata.accountmoneylist).split(","); //账户金额列表 + var accountIdShow = ""; + for(var j =0;j 查看' + showTitle); + $(".window-mask").css({ width: webW ,height: webH}); + + depotHeadID = rowsdata.id; + initTableData_material_show(TotalPrice); //商品列表-查看状态 + + //零售单据展示数据 + if(listSubType == "零售" || listSubType == "零售退货"){ + var changeAccount = $("#depotHeadDlgShow .change-amount-show").text() -0; + if(manyAccountMoney!==0){ + $("#depotHeadDlgShow .get-amount-show").text((manyAccountMoney).toFixed(2)); + $("#depotHeadDlgShow .back-amount-show").text((manyAccountMoney -changeAccount).toFixed(2)); + } + else { + $("#depotHeadDlgShow .get-amount-show").text((changeAccount).toFixed(2)); + $("#depotHeadDlgShow .back-amount-show").text(0); + } + } + if(listSubType === "销售" || listSubType === "销售退货"){ + if(rowsdata.salesman){ + var arr = rowsdata.salesman.split(","); + var salesmanStr = ""; + for(var i=0;i",""); + } + else { + salesmanStr += arr[i].replace("<","").replace(">","") + ","; + } + } + } + $.ajax({ + type: "get", + url: "/person/getPersonByIds", + data: { + personIDs: salesmanStr + }, + success:function(res){ + if(res && res.code === 200){ + if(res.data) { + $("#SalesmanShow").text(res.data.names); //销售人员列表 + } + } + }, + error:function(){ + + } + }); + } + } +} + +//绑定操作事件 +function bindEvent(){ + showDepotHeadDetails(1,initPageSize); //初始化时自动查询 + //搜索处理 + $("#searchBtn").off("click").on("click",function(){ + showDepotHeadDetails(1,initPageSize); + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + opts.pageNumber = 1; + opts.pageSize = initPageSize; + pager.pagination('refresh', + { + pageNumber:1, + pageSize:initPageSize + }); + }); + + //重置按钮 + $("#searchResetBtn").unbind().bind({ + click:function(){ + //$("#searchProjectId").val(""); + $("#searchState").val(""); + $("#searchBeginTime").val(""); + $("#searchEndTime").val(""); + //加载完以后重新初始化 + $("#searchBtn").click(); + } + }); + + //检查单据编号是否存在 + function checkDepotHeadNumber() { + var thisNumber = $.trim($("#Number").val()); + //表示是否存在 true == 存在 false = 不存在 + var flag = false; + //开始ajax名称检验,不能重名 + if(thisNumber.length > 0 &&( oldNumber.length ==0 || thisNumber != oldNumber)) + { + $.ajax({ + type:"get", + url: "/depotHead/checkIsNumberExist", + dataType: "json", + async : false, + data: ({ + DepotHeadID : oldId, + Number : thisNumber + }), + success: function (tipInfo) + { + flag = tipInfo; + if(tipInfo) + { + $.messager.alert('提示','抱歉,该单据编号已经存在','warning'); + return; + } + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','检查单据编号是否存在异常,请稍后再试!','error'); + return; + } + }); + } + return flag; + } + //保存信息 + /** + * 2019-01-25 + * 我对这个方法的实现结果存在严重怀疑,决定重构 + * 有如下疑点: + * 1、保存完主表,返回结果后,再发起请求去操作子表,如何保证事务的一致性(业务数据一致性) + * 2、保存完主表后,再通过selectmax的方式去获取主表主键id完全就是看人品的不可靠的思路 + * 修改计划: + * 2019-01-25修改零售出库相关操作 + * 修改方式,重写url,将主从表操作合并 + * + * + * **/ + $("#saveDepotHead").off("click").on("click",function(){ + if(!$('#depotHeadFM').form('validate')){ + return; + } + else { + //如果初始编号被修改了,就要判断单据编号是否存在 + if($.trim($("#Number").val()) != $('#Number').attr("data-defaultNumber")){ + //调用查询单据编号是否重名的方法 + if(checkDepotHeadNumber()){ + return; + } + } + //输入框提示 + if(listTitle === "采购订单列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择供应商!','warning'); + return; + } + } + else if(listTitle === "采购入库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择供应商!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择结算账户!','warning'); + return; + } + } + else if(listTitle === "零售退货列表"){ + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择付款账户!','warning'); + return; + } + if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { + $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); + return; + } + } + else if(listTitle === "销售退货列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择退货单位!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择付款账户!','warning'); + return; + } + } + else if(listTitle === "其它入库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择往来单位!','warning'); + return; + } + } + else if(listTitle === "零售出库列表"){ + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择收款账户!','warning'); + return; + } + if($("#backAmount").val()-0 <0){ + $.messager.alert('提示','找零金额不能小于0!','warning'); + return; + } + if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { + $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); + return; + } + + } + else if(listTitle === "销售订单列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择购买单位!','warning'); + return; + } + } + else if(listTitle === "销售出库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择购买单位!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择收款账户!','warning'); + return; + } + } + else if(listTitle === "采购退货列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择收货单位!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择收款账户!','warning'); + return; + } + } + else if(listTitle === "其它出库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择往来单位!','warning'); + return; + } + } + else if(listTitle === "调拨出库列表"){ + + } + //进行明细的校验 + if(depotHeadID ==0) { + //新增模式下 + if (!CheckData("add")) { + return; + } + } + else { + //编辑模式下 + if (!CheckData("edit")) { + return; + } + } + var OrganId = null, ProjectId = null,AllocationProjectId = null; + var ChangeAmount = $.trim($("#ChangeAmount").val())-0; + var TotalPrice = $("#depotHeadFM .datagrid-footer [field='AllPrice'] div").text(); + if($('#OrganId').length){ + OrganId = $('#OrganId').combobox('getValue'); + } + var accountMoneyList = $("#AccountId").attr("data-accountmoneyarr"); //账户金额列表-多账户 + var accountMoneyArr; + if(accountMoneyList) { + accountMoneyList = accountMoneyList.replace("[","").replace("]","").toString(); + var reg=new RegExp("\"","g"); //创建正则RegExp对象 + accountMoneyList = accountMoneyList.replace(reg,""); //替换所有的双引号 + accountMoneyArr = accountMoneyList.split(","); //转为数组 + } + if(listSubType === "采购订单"||listSubType === "采购"||listSubType === "零售退货"||listSubType === "销售退货"){ + //付款为负数 + ChangeAmount = 0 - ChangeAmount; + TotalPrice = 0 - TotalPrice; + if(accountMoneyArr) { + accountMoneyArr = changeListFmtMinus(accountMoneyArr); //将数组单个金额中的数值转为负数 + } + } + //零售时候,可以从会员预付款中扣款 + var thisPayType = "现付"; + if(listSubType === "零售") { + if($("#payType").val() ==="预付款") { + thisPayType = "预付款"; + } + } + var SalesmanStr = ""; + if(listSubType === "销售" || listSubType === "销售退货"){ + var Salesman = $('#Salesman').combobox('getValues').toString(); //销售人员 + if(Salesman) { + var SalesmanArray = Salesman.split(","); + for (var i = 0; i < SalesmanArray.length; i++) { + if (i === SalesmanArray.length - 1) { + SalesmanStr += "<" + SalesmanArray[i] + ">"; + } + else { + SalesmanStr += "<" + SalesmanArray[i] + ">,"; + } + } + } + } + var getAccountID = $.trim($("#AccountId").val()); + if($("#AccountId").val() === "many"){ //多账户 + getAccountID = null; + } + var infoStr=JSON.stringify({ + Type: listType, + SubType: listSubType, + ProjectId: ProjectId, + AllocationProjectId: AllocationProjectId, + DefaultNumber: $.trim($("#Number").attr("data-defaultNumber")),//初始编号 + Number: $.trim($("#Number").val()), + LinkNumber: $.trim($("#LinkNumber").val()), + OperTime: $("#OperTime").val(), + OrganId: OrganId, + HandsPersonId: $.trim($("#HandsPersonId").val()), + Salesman: SalesmanStr, //销售人员 + AccountId: getAccountID, + ChangeAmount: ChangeAmount, //付款/收款 + TotalPrice: TotalPrice, //合计 + PayType: thisPayType, //现付/预付款 + Remark: $.trim($("#Remark").val()), + AccountIdList: $("#AccountId").attr("data-accountarr"), //账户列表-多账户 + AccountMoneyList: accountMoneyArr ? JSON.stringify(accountMoneyArr) : "", //账户金额列表-多账户 + Discount: $.trim($("#Discount").val()), + DiscountMoney: $.trim($("#DiscountMoney").val()), + DiscountLastMoney: $.trim($("#DiscountLastMoney").val()), + OtherMoney: $.trim($("#OtherMoney").val()), //采购费用、销售费用 + OtherMoneyList: $("#OtherMoney").attr("data-itemarr"), //支出项目列表-涉及费用 + OtherMoneyItem: $("#OtherMoney").attr("data-itemmoneyarr"), //支出项目金额列表-涉及费用 + AccountDay: $("#AccountDay").val() //结算天数 + }); + /** + * 零售出库,单独操作 + * */ + if(url.indexOf("/depotHead/addDepotHeadAndDetail")>=0){ + addDepotHeadAndDetail(url,infoStr); + return; + }else if(url.indexOf("/depotHead/updateDepotHeadAndDetail")>=0){ + updateDepotHeadAndDetail(url,infoStr,preTotalPrice); + return; + } + $.ajax({ + type:"post", + url: url, + dataType: "json", + async : false, + data: ({ + info:infoStr + }), + success: function (tipInfo) + { + if(tipInfo) + { + function closeDialog(){ + $('#depotHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showDepotHeadDetails(opts.pageNumber,opts.pageSize); + } + + if(thisPayType === "预付款") { + //更新用户信息-预付款 + var advanceIn = 0; //预付款金额 + if(depotHeadID){ + advanceIn = TotalPrice - preTotalPrice; //修改时,预付款=合计金额-加载金额 + } + else{ + advanceIn = TotalPrice; //新增时,预付款=合计金额 + } + $.ajax({ + type:"post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data:{ + supplierId: OrganId, //会员id + advanceIn: 0 - advanceIn //保存的同时扣掉用户的预付款 + }, + success: function(res){ + if(res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function(){ + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + + //保存明细记录 + if(depotHeadID ==0) + { + getMaxId(); //查找最大的Id + accept(depotHeadMaxId,closeDialog); //新增 + } + else + { + accept(depotHeadID,closeDialog); //修改 + } + } + else + { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + }); + + //打印单据 + $("#printDepotHeadShow").off("click").on("click",function(){ + var tableString = $("#depotHeadDlgShow").html(); + localStorage.setItem("tableString",tableString); + window.open("../../js/print/print_form.html","location:No;status:No;help:No;dialogWidth:800px;dialogHeight:600px;scroll:auto;"); + }); + + //初始化键盘enter事件 + $(document).keydown(function(event){ + //兼容 IE和firefox 事件 + var e = window.event || event; + var k = e.keyCode||e.which||e.charCode; + //兼容 IE,firefox 兼容 + var obj = e.srcElement ? e.srcElement : e.target; + //绑定键盘事件为 id是指定的输入框才可以触发键盘事件 13键盘事件 ---遗留问题 enter键效验 对话框会关闭问题 + if(k == "13"&&(obj.id=="State"||obj.id=="Number")) + { + $("#saveDepotHead").click(); + } + //搜索按钮添加快捷键 + if(k == "13"&&(obj.id=="searchState"||obj.id=="searchNumber"||obj.id=="searchMaterial")) + { + $("#searchBtn").click(); + } + }); + + //优惠率输入框事件 + $("#Discount").off("keyup").on("keyup",function(){ + var footer =$("#depotHeadFM .datagrid-footer"); + var totalPrice = footer.find("[field='TaxLastMoney']").find("div").text(); + var discountNum = $(this).val(); + var discountMoney = (discountNum/100*totalPrice).toFixed(2); + var discountLastMoney = (totalPrice - discountMoney).toFixed(2); + $("#DiscountMoney").val(discountMoney); //优惠金额 + $("#DiscountLastMoney").val(discountLastMoney); //优惠后金额 + if($("#AccountId").val()!=="many"){ + $("#ChangeAmount").val(discountLastMoney); //本次付、收款 + } + var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 + $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 + }); + + //优惠金额输入框事件 + $("#DiscountMoney").off("keyup").on("keyup",function(){ + var footer =$("#depotHeadFM .datagrid-footer"); + var totalPrice = footer.find("[field='TaxLastMoney']").find("div").text(); + var discountMoney = $(this).val(); + var discount = (discountMoney/totalPrice).toFixed(2)*100; + var discountLastMoney = (totalPrice - discountMoney).toFixed(2); + $("#Discount").val(discount); //优惠金额 + $("#DiscountLastMoney").val(discountLastMoney); //优惠后金额 + if($("#AccountId").val()!=="many"){ + $("#ChangeAmount").val(discountLastMoney); //本次付、收款 + } + var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 + $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 + }); + + //付款、收款输入框事件 + $("#ChangeAmount").off("keyup").on("keyup",function(){ + var discountLastMoney = $("#DiscountLastMoney").val(); + var changeAmount = $(this).val(); + var debtMoney = (discountLastMoney - changeAmount).toFixed(2); + $("#Debt").val(debtMoney); //本次欠款 + }); + + //多账户结算窗口弹出事件 + function depotHeadAccountDlgFun(){ + $('#depotHeadAccountDlg').dialog('open').dialog('setTitle',' 多账户结算'); + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").remove(); //先移除输入栏目 + $("#accountMoneyTotalDlg").text(0); //将合计初始化为0 + for(var i=0; i<6; i++) { + $("#depotHeadAccountDlg .tabs-tmp .account-content-tmp").attr("data-index",5-i); //添加索引 + var contentTmp = $("#depotHeadAccountDlg .tabs-tmp tbody").html(); + var accountDlgHead = $("#depotHeadAccountDlg .account-head-tmp"); + accountDlgHead.after(contentTmp); + } + + //获取账户信息 + function accountDlgFun() { + var options = ""; + if(accountList !=null){ + for(var i = 0 ;i < accountList.length;i++) { + var account = accountList[i]; + options += ''; + } + $(".account-id-dlg").empty().append("").append(options); + } + } + accountDlgFun(); //获取账户信息 + $("#depotHeadAccountDlg .tabs-tmp").hide(); //隐藏模板 + + //账户金额输入框事件-多账户 + $("#depotHeadAccountDlg .account-dlg .account-money-dlg").off("keyup").on("keyup",function(){ + var totalAccoutNum = 0; + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){ + var eachAccountMoney = $(this).find(".account-money-dlg").val()-0; + totalAccoutNum += eachAccountMoney; + }); + $("#accountMoneyTotalDlg").text(totalAccoutNum); + }); + + //结算多账户列表的切换事件 + $("#depotHeadAccountDlg .account-dlg .account-id-dlg").off("change").on("change",function(){ + var selectAccount = $(this).children('option:selected').text(); + if(selectAccount === ""){ + var thisMoneyDom = $(this).closest(".account-content-tmp").find(".account-money-dlg"); + var thisMoney = thisMoneyDom.val()-0; + var accountMoneyTotal = $("#accountMoneyTotalDlg").text() - 0; + $("#accountMoneyTotalDlg").text(accountMoneyTotal - thisMoney); + thisMoneyDom.val(""); //账户为空时候,将金额也置为空 + } + }); + + //保存按钮事件 + $("#saveDepotHeadAccountDlg").off("click").on("click", function(){ + //完成多账户的json数据存储 + var accountArr = []; //账户id数组 + var accountMoneyArr = []; //账户金额数组 + var errorIndex = -1; + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){ + var thisAccId = $(this).find(".account-id-dlg").val(); + var thisAccMoney = $(this).find(".account-money-dlg").val(); + if(!thisAccId && thisAccMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisAccId && !thisAccMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisAccId && thisAccMoney) { + accountArr.push(thisAccId); + accountMoneyArr.push(thisAccMoney); + } + }); + if(errorIndex >-1){ + $.messager.alert('错误提示',"第" + (errorIndex+1) + "行数据存在问题,请修改",'warning'); + return; + } + var discountLastMoneyNum =$("#DiscountLastMoney").val()-0; //优惠后金额 + var accountMoneyTotal = $("#accountMoneyTotalDlg").text()-0; //本次付款或者收款 + if(accountMoneyTotal===0){ + $.messager.alert('错误提示',"请填写金额后保存",'warning'); + return; + } + if(accountArr.length && accountMoneyArr.length) { + $("#AccountId").attr("data-accountArr",JSON.stringify(accountArr)).attr("data-accountMoneyArr",JSON.stringify(accountMoneyArr)); //json数据存储 + } + if(listSubType==="零售" || listSubType==="零售退货") { + $("#getAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 + var backAmount = $("#getAmount").val() - $("#ChangeAmount").val(); + $("#backAmount").val((backAmount - 0).toFixed(2)); //计算找零金额 + } + else { + $("#ChangeAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 + } + $("#Debt").val((discountLastMoneyNum-accountMoneyTotal).toFixed(2)); //本次欠款 + $("#depotHeadAccountDlg").dialog('close'); + }); + + //取消事件 + function cancelFun(){ + if($("#AccountId").attr("data-accountArr")){ + $("#depotHeadAccountDlg").dialog('close'); + } + else { + $("#depotHeadAccountDlg").dialog('close'); + $("#AccountId").val("").removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 + if(listSubType==="零售" || listSubType==="零售退货"){ + $("#ChangeAmount").prop("readonly","readonly"); + } + else { + $("#ChangeAmount").removeProp("readonly","readonly"); + } + $(".many-account-ico").hide(); //隐藏多账户小图标 + } + } + //多账户-取消按钮 + $("#cancelDepotHeadAccountDlg").off("click").on("click", function(){ + cancelFun(); + }); + + //多账户-右上角的关闭按钮 + $("#depotHeadAccountDlg").prev().find(".panel-tool-close").off("click").on("click", function(){ + cancelFun(); + }); + } + //点击多账户,弹出输入框 + $("#AccountId").off("change").on("change",function(){ + var selectText = $(this).children('option:selected').text(); + if(selectText === "多账户"){ + $("#ChangeAmount").prop("readonly","readonly"); + depotHeadAccountDlgFun(); + $(".many-account-ico").show(); //显示多账户小图标 + } + else{ + $(this).removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 + if(listSubType==="零售" || listSubType==="零售退货"){ + $("#ChangeAmount").prop("readonly","readonly"); + } + else { + $("#ChangeAmount").removeProp("readonly","readonly"); + } + $(".many-account-ico").hide(); //隐藏多账户小图标 + } + }); + + //结算账户-多账户小图标-点击事件 + $(".many-account-ico").off("click").on("click",function(){ + depotHeadAccountDlgFun(); + //给弹窗赋值-多账户数据 + var accountArr = $("#AccountId").attr("data-accountArr"); + accountArr = JSON.parse(accountArr); + var accountMoneyArr = $("#AccountId").attr("data-accountMoneyArr"); + accountMoneyArr = JSON.parse(accountMoneyArr); + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){ + var index = $(this).attr("data-index"); + $(this).find(".account-id-dlg").val(accountArr[index]); + $(this).find(".account-money-dlg").val(accountMoneyArr[index]); + }); + if(listSubType==="零售" || listSubType==="零售退货") { + $("#accountMoneyTotalDlg").text($("#getAmount").val()); + } + else { + $("#accountMoneyTotalDlg").text($("#ChangeAmount").val()); + } + }); + + //点击采购费用、销售费用的事件 + $(".other-money-ico").off("click").on("click",function(){ + $('#otherMoneyDlg').dialog('open').dialog('setTitle',' '+ listSubType +'费用'); + $("#otherMoneyDlg .money-dlg .money-content-tmp").remove(); //先移除输入栏目 + $("#otherMoneyTotalDlg").text(0); //将合计初始化为0 + for(var i=0; i<6; i++) { + $("#otherMoneyDlg .tabs-tmp .money-content-tmp").attr("data-index",5-i); //添加索引 + var contentTmp = $("#otherMoneyDlg .tabs-tmp tbody").html(); + var moneyDlgHead = $("#otherMoneyDlg .money-head-tmp"); + moneyDlgHead.after(contentTmp); + } + + //获取支出项目信息 + function moneyDlgFun() { + var options = ""; + if(outItemList !=null){ + for(var i = 0 ;i < outItemList.length;i++) { + var money = outItemList[i]; + options += ''; + } + $(".money-id-dlg").empty().append("").append(options); + } + } + moneyDlgFun(); //获取支出项目信息 + $("#otherMoneyDlg .tabs-tmp").hide(); //隐藏模板 + + //支出项目的金额输入框事件 + $("#otherMoneyDlg .money-dlg .other-money-dlg").off("keyup").on("keyup",function(){ + var totalMoneyNum = 0; + $("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){ + var eachOtherMoney = $(this).find(".other-money-dlg").val()-0; + totalMoneyNum += eachOtherMoney; + }); + $("#otherMoneyTotalDlg").text(totalMoneyNum); + }); + + //支出项目列表的切换事件 + $("#otherMoneyDlg .money-dlg .money-id-dlg").off("change").on("change",function(){ + var selectItem = $(this).children('option:selected').text(); + if(selectItem === ""){ + var thisMoneyDom = $(this).closest(".money-content-tmp").find(".other-money-dlg"); + var thisMoney = thisMoneyDom.val()-0; + var otherMoneyTotal = $("#otherMoneyTotalDlg").text() - 0; + $("#otherMoneyTotalDlg").text(otherMoneyTotal - thisMoney); + thisMoneyDom.val(""); //支出项目为空时候,将金额也置为空 + } + }); + + //保存按钮事件 + $("#saveOtherMoneyDlg").off("click").on("click", function(){ + //完成支出项目的json数据存储 + var itemArr = []; //支出项目id数组 + var itemMoneyArr = []; //支出项目金额数组 + var errorIndex = -1; + $("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){ + var thisId = $(this).find(".money-id-dlg").val(); + var thisMoney = $(this).find(".other-money-dlg").val(); + if(!thisId && thisMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisId && !thisMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisId && thisMoney) { + itemArr.push(thisId); + itemMoneyArr.push(thisMoney); + } + }); + if(errorIndex >-1){ + $.messager.alert('错误提示',"第" + (errorIndex+1) + "行数据存在问题,请修改",'warning'); + return; + } + var otherMoneyTotal = $("#otherMoneyTotalDlg").text()-0; //合计金额 + if(otherMoneyTotal === 0){ //0的时候清空缓存数据 + $("#OtherMoney").removeAttr("data-itemArr").removeAttr("data-itemMoneyArr"); + } + if(itemArr.length && itemMoneyArr.length) { + $("#OtherMoney").attr("data-itemArr",JSON.stringify(itemArr)).attr("data-itemMoneyArr",JSON.stringify(itemMoneyArr)); //json数据存储 + } + $("#OtherMoney").val(otherMoneyTotal); //给采购费用、销售费用赋值 + $("#otherMoneyDlg").dialog('close'); + }); + + //取消事件 + function cancelFun(){ + if($("#OtherMoney").attr("data-itemArr")){ + $("#otherMoneyDlg").dialog('close'); + } + else { + $("#otherMoneyDlg").dialog('close'); + $("#OtherMoney").val("").removeAttr("data-itemArr").removeAttr("data-itemMoneyArr"); //将下拉置空并把缓存参数清空 + } + } + //费用-取消按钮 + $("#cancelOtherMoneyDlg").off("click").on("click", function(){ + cancelFun(); + }); + + //费用-右上角的关闭按钮 + $("#otherMoneyDlg").prev().find(".panel-tool-close").off("click").on("click", function(){ + cancelFun(); + }); + + //给弹窗赋值-采购费用、销售费用数据 + var itemArr = $("#OtherMoney").attr("data-itemArr"); + itemArr = JSON.parse(itemArr); + var itemMoneyArr = $("#OtherMoney").attr("data-itemMoneyArr"); + itemMoneyArr = JSON.parse(itemMoneyArr); + $("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){ + var index = $(this).attr("data-index"); + $(this).find(".money-id-dlg").val(itemArr[index]); + if(itemMoneyArr[index]!="undefined"){ + $(this).find(".other-money-dlg").val(itemMoneyArr[index]); + } + }); + $("#otherMoneyTotalDlg").text($("#OtherMoney").val()); + }); + + if(listTitle === "采购入库列表" || listTitle === "其它入库列表" || listTitle === "采购订单列表"|| listTitle === "零售出库列表"|| listTitle === "销售出库列表"|| listTitle === "销售订单列表"){ + var supplierType = "供应商"; + if(listTitle === "零售出库列表"){ + supplierType = "会员"; + }else if(listTitle === "销售出库列表" || listTitle === "销售订单列表"){ + supplierType = "客户"; + } + //检查单位名称是否存在 ++ 重名无法提示问题需要跟进 + function checkSupplierName() { + var supplierName = $.trim($("#supplier").val()); + var orgSupplier = ""; + //表示是否存在 true == 存在 false = 不存在 + var flag = false; + //开始ajax名称检验,不能重名 + if(supplierName.length > 0 &&( orgSupplier.length ==0 || supplierName != orgSupplier)) + { + $.ajax({ + type:"get", + url: "/supplier/checkIsNameExist", + dataType: "json", + async : false, + data: ({ + id : 0, + name : supplierName + }), + success: function (res) { + if(res && res.code === 200) { + if(res.data && res.data.status) { + flag = res.data.status; + if (flag) { + $.messager.alert('提示', '单位名称已经存在', 'info'); + return; + } + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('提示','检查单位名称是否存在异常,请稍后再试!','error'); + return; + } + }); + } + return flag; + } + + //保存供应商信息 + $("#saveSupplier").off("click").on("click",function() { + if(validateForm("supplierFM")) { + return; + } + if(checkSupplierName()){ + return; + } + var reg = /^([0-9])+$/; + var phonenum = $.trim($("#phonenum").val()); + if(phonenum.length>0 && !reg.test(phonenum)) + { + $.messager.alert('提示','电话号码只能是数字','info'); + $("#phonenum").val("").focus(); + return; + } + var beginNeedGet = $.trim($("#BeginNeedGet").val()); + var beginNeedPay = $.trim($("#BeginNeedPay").val()); + if(beginNeedGet && beginNeedPay) { + $.messager.alert('提示','期初应收和期初应付不能同时输入','info'); + return; + } + var url = '/supplier/add'; + var supObj = $("#supplierFM").serializeObject(); + supObj.type = supplierType; + supObj.enabled = 1; + $.ajax({ + url: url, + type:"post", + dataType: "json", + data:{ + info: JSON.stringify(supObj) + }, + success: function(res) { + if (res) { + $('#supplierDlg').dialog('close'); + initSupplier(); //刷新供应商 + } + } + }); + }); + } +} + +function showDepotHeadDetails(pageNo,pageSize){ + var materialParam = $.trim($("#searchMaterial").val()); + $.ajax({ + type:"get", + url: "/depotItem/getHeaderIdByMaterial", + dataType: "json", + data: ({ + materialParam: materialParam, + depotIds: depotString + }), + success: function (res) { + if(res && res.code === 200) { + var ids = res.data; + if(ids){ + $.ajax({ + type: "get", + url: "/depotHead/list", + dataType: "json", + data: ({ + search: JSON.stringify({ + type: listType, + subType: listSubType, + state: $.trim($("#searchState").val()), + number: $.trim($("#searchNumber").val()), + beginTime: $("#searchBeginTime").val(), + endTime: $("#searchEndTime").val(), + dhIds: ids + }), + currentPage: pageNo, + pageSize: pageSize + }), + success: function (res) { + if(res && res.code === 200){ + if(res.data && res.data.page) { + $("#tableData").datagrid('loadData', res.data.page); + } + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); + return; + } + }); + } + else { + $("#tableData").datagrid('loadData', []); + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + return; + } + }); +} + +//自动计算事件 +function autoReckon() { + //延时绑定事件 + setTimeout(function(){ + var body =$("#depotHeadFM .datagrid-body"); + var footer =$("#depotHeadFM .datagrid-footer"); + var input = ".datagrid-editable-input"; + //点击商品下拉框,自动加载数量、单价、金额 + body.find("[field='Stock']").find(input).prop("readonly","readonly"); + //点击库存文本框,字段计算库存 + body.find("[field='Stock']").find(input).off("click").on("click",function(){ + var depotId = body.find("[field='DepotId']").find(".combo-value").val(); + var mId = body.find("[field='MaterialId']").find(".combo-value").val(); + var monthTime = getNowFormatMonth(); + if(depotId && mId){ + var ratio = body.find("[field='Unit']").find(input).attr("data-ratio"); + body.find("[field='Stock']").find(input).prop("readonly","readonly"); + //在新增的时候,这个ratio有值;在编辑的时候,这个ratio为undefined + var type = "click"; //type 类型:点击 click,选择 select + findStockNumById(depotId, mId, monthTime, body, input, ratio, type); + } + else{ + body.find("[field='Stock']").find(input).val(0).attr("data-stock",0); //加载库存数据 + } + }); + //修改数量,自动计算金额和合计,另外计算含税单价、税额、价税合计 + body.find("[field='OperNumber']").find(input).off("keyup").on("keyup",function(){ + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var OperNumber =$(this).val()-0; //数量 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + + }); + //修改单价,自动计算金额和合计 + body.find("[field='UnitPrice']").find(input).off("keyup").on("keyup",function(){ + var UnitPrice =$(this).val()-0; //单价 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //点击单价,自动提示参考价格列表 + body.find("[field='UnitPrice']").find(input).off("click").on("click",function(){ + var self = this; + var mValue = body.find("[field='MaterialId'] .combo-value").attr("value"); //获取选中的商品id + if(!mValue) { + return; + } + else { + if(listTitle!="销售出库列表" && listTitle!="采购退货列表" && listTitle!="其它出库列表" && listTitle!="调拨出库列表") { + return; + } + $.ajax({ + url: "/material/findById", + type: "get", + dataType: "json", + data: { + id: mValue - 0 + }, + success: function(res){ + if(res && res.rows && res.rows[0]) { + var retailPrice = res.rows[0].RetailPrice; + var presetPriceOne = res.rows[0].PresetPriceOne; + var presetPriceTwo = res.rows[0].PresetPriceTwo; + //定义模版 + var temp = "
"; + temp +="
    "; + temp +="
  • 批发价:" + presetPriceTwo + "
  • "; + temp +="
  • 零售价:" + retailPrice + "
  • "; + temp +="
"; + temp +="
"; + if($('.price-list').length){ + $('.price-list').remove(); //如果存在价格列表先移除 + } + else { + if(presetPriceTwo != undefined){ //多单位的商品 + $(self).after(temp); //加载列表信息 + } + } + $('.price-list ul li').off("click").on("click",function(){ + var price = $(this).text(); + price = price.substring(price.indexOf(":") + 1); + $(self).val(price); + $(self).keyup(); //模拟键盘操作 + $('.price-list').remove(); //移除价格列表 + }); + //点击空白处移除价格列表 + $(".datagrid-body").off("click").on("click",function(){ + $('.price-list').remove(); //移除价格列表 + }); + } + }, + error: function(){ + $.messager.alert('错误提示','查询商品信息异常,请稍后再试!','error'); + return; + } + }); + } + }); + //修改含税单价,自动计算单价、金额、税额、价税合计和合计 + body.find("[field='TaxUnitPrice']").find(input).off("keyup").on("keyup",function(){ + var TaxUnitPrice =$(this).val()-0; //含税单价 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var UnitPrice = TaxUnitPrice/(1+taxRate/100); //计算单价 + body.find("[field='UnitPrice']").find(input).val((UnitPrice).toFixed(2)); //单价 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改金额,自动计算单价、税额、价税合计和合计 + body.find("[field='AllPrice']").find(input).off("keyup").on("keyup",function(){ + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var AllPrice =$(this).val()-0; //金额 + var UnitPrice = (AllPrice/OperNumber).toFixed(2); + body.find("[field='UnitPrice']").find(input).val(UnitPrice); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改税率,自动计算含税单价、税额、价税合计和合计 + body.find("[field='TaxRate']").find(input).off("keyup").on("keyup",function(){ + var taxRate =$(this).val()-0; //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改税额,自动计算税率、含税单价、价税合计和合计 + body.find("[field='TaxMoney']").find(input).off("keyup").on("keyup",function(){ + var taxMoney =$(this).val()-0; //税额 + var AllPrice = body.find("[field='AllPrice']").find(input).val(); //金额 + var taxRate = taxMoney/AllPrice*100; //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxRate']").find(input).val((taxRate).toFixed(2)); //税率 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改价税合计,自动计算税率、含税单价、税额和合计 + body.find("[field='TaxLastMoney']").find(input).off("keyup").on("keyup",function(){ + var taxLastMoney =$(this).val()-0; //价税合计 + var AllPrice = body.find("[field='AllPrice']").find(input).val(); //金额 + var taxRate = (taxLastMoney-AllPrice)/AllPrice*100; //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxRate']").find(input).val((taxRate).toFixed(2)); //税率 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + + //加载税率 + if(thisTaxRate) { + body.find("[field='TaxRate']").find(input).val(thisTaxRate); + } + else { + body.find("[field='TaxRate']").find(input).val(0); //默认为0 + } + + //在商品类型加载 组装件、普通子件 + var mType = body.find("[field='MType']"); + var rowListLength = mType.find(input).closest(".datagrid-row").attr("datagrid-row-index"); + var mTypeValue = "组合件"; + if(rowListLength > 0){ + mTypeValue = "普通子件"; + } + if(listSubType == "组装单" || listSubType == "拆卸单"){ + mType.find(input).val(mTypeValue).prop("readonly","readonly"); + } + },500); +} + +//结束编辑 +function endEditing() { + if (editIndex == undefined) { return true } + if ($('#materialData').datagrid('validateRow', editIndex)) { + //仓库信息 + var edDepot = $('#materialData').datagrid('getEditor', {index:editIndex,field:'DepotId'}); + var DepotName = $(edDepot.target).combobox('getText'); + $('#materialData').datagrid('getRows')[editIndex]['DepotName'] = DepotName; + //商品信息 + var edMaterial = $('#materialData').datagrid('getEditor', {index:editIndex,field:'MaterialId'}); + var MaterialName = $(edMaterial.target).combobox('getText'); + $('#materialData').datagrid('getRows')[editIndex]['MaterialName'] = MaterialName; + $('#materialData').datagrid('endEdit', editIndex); + editIndex = undefined; + return true; + } else { + return false; + } +} +//单击 +function onClickRow(index) { + if (editIndex != index) { + if (endEditing()) { + $('#materialData').datagrid('selectRow', index).datagrid('beginEdit', index); + editIndex = index; + autoReckon(); + } else { + $('#materialData').datagrid('selectRow', editIndex); + } + } +} +//新增 +function append(){ + if (endEditing()) { + $('#materialData').datagrid('appendRow', {DepotId:defDepotId}); + editIndex = $('#materialData').datagrid('getRows').length - 1; + $('#materialData').datagrid('selectRow', editIndex).datagrid('beginEdit', editIndex); + autoReckon(); + } +} +//删除 +function batchDel(){ + /** + * 重写一下删除的逻辑 + * 获取所有选中行,直接从列表中移除 + * 点击保存时,将需要后台删除的数据提交到服务器 + * **/ + /** + * create by: qiankunpingtai + * create time: 2019/3/20 16:26 + * description: + * 这个地方比较坑的,花了一个多小时才搞明白为什么 + * 1、删除之前必须先调用endEditing结束编辑 + * 2、如果只是调用endEditing结束编辑那么正在编辑行的被选中状态会被去掉 + * 所以要在调用endEditing先获取选中的行 + */ + //如果编辑的行一开始是选中状态,结束编辑后仍然是选中状态 + var row = $('#materialData').datagrid('getChecked'); + if (endEditing()) { + if (row.length == 0) { + $.messager.alert('删除提示', '没有记录被选中!', 'info'); + return; + } + if (row.length > 0) { + $.messager.confirm('删除确认', '确定要删除选中的' + row.length + '条单据信息吗?', function (r) { + if (r) { + for (var i = 0; i < row.length; i++) { + $('#materialData').datagrid('deleteRow', $('#materialData').datagrid("getRowIndex", row[i])); + } + } + }); + } + } +} +function removeit(){ + if (editIndex == undefined) { return } + $('#materialData').datagrid('cancelEdit', editIndex) + .datagrid('deleteRow', editIndex); + editIndex = undefined; +} +//撤销 +function reject() { + $('#materialData').datagrid('rejectChanges'); + editIndex = undefined; +} +//判断 +function CheckData(type) { + append(); + removeit(); + var change = $('#materialData').datagrid('getChanges').length; + if(type =="add" && !change) { + $.messager.alert('提示','请输入明细信息!','warning'); + return false; + } + var row = $('#materialData').datagrid('getRows'); + if(!row.length){ + $.messager.alert('提示',"请输入明细信息!",'info'); + return false; + } + var totalRowNum = ""; + for (var i = 0; i < row.length; i++) { + if (row[i].DepotId == "" || row[i].MaterialId == "" || row[i].OperNumber == "" || row[i].UnitPrice === "" || row[i].AllPrice === "") { + totalRowNum += (i + 1) + "、"; + } + } + if (totalRowNum != "") { + var totalRowNum = totalRowNum.substring(0, totalRowNum.length - 1); + $.messager.alert('提示',"第" + totalRowNum + "行数据填写不完整!",'info'); + return false; + } + return true; +} +//保存 +function accept(accepId,fun) { + var inserted = $("#materialData").datagrid('getChanges', "inserted"); + var deleted = $("#materialData").datagrid('getChanges', "deleted"); + var updated = $("#materialData").datagrid('getChanges', "updated"); + $.ajax({ + type: "post", + url: "/depotItem/saveDetials", + data: { + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated), + headerId:accepId + }, + success: function (tipInfo) + { + if (tipInfo) { + $.messager.alert('提示','保存成功!','info'); + } + else { + $.messager.alert('提示', '保存失败!', 'error'); + } + fun && fun(); + }, + error: function (XmlHttpRequest, textStatus, errorThrown) + { + $.messager.alert('提示',XmlHttpRequest.responseText,'error'); + fun && fun(); + } + }); + if (endEditing()) { + $('#materialData').datagrid('acceptChanges'); + } +} +//获取MaxId +function getMaxId(){ + var depotHeadMax=null; + $.ajax({ + type:"get", + url: "/depotHead/getMaxId", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + depotHeadMax = res.data.maxId; + } + } + } + }); + + if(depotHeadMax !=null) { + depotHeadMaxId=depotHeadMax; + } +} + +/** + * 新增单据主表及单据子表 + * */ +function addDepotHeadAndDetail(url,infoStr){ + var inserted = null; + if(pageType === "skip") { + inserted = $("#materialData").datagrid('getChanges', "updated"); + } else { + inserted = $("#materialData").datagrid('getChanges', "inserted"); + } + var deleted = $("#materialData").datagrid('getChanges', "deleted"); + var updated = $("#materialData").datagrid('getChanges', "updated"); + $.ajax({ + type:"post", + url: url, + dataType: "json", + async : false, + data: ({ + info:infoStr, + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated) + }), + success: function (tipInfo){ + + if(tipInfo){ + if(tipInfo.code!=200){ + $.messager.alert('提示', tipInfo.msg, 'error'); + return; + } + $.messager.alert('提示','保存成功!','info'); + $('#depotHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showDepotHeadDetails(opts.pageNumber,opts.pageSize); + + }else { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + + + }); +} +/** + * 修改单据主表及单据子表 + * */ +function updateDepotHeadAndDetail(url,infoStr,preTotalPrice){ + var inserted = $("#materialData").datagrid('getChanges', "inserted"); + var deleted = $("#materialData").datagrid('getChanges', "deleted"); + var updated = $("#materialData").datagrid('getChanges', "updated"); + $.ajax({ + type:"post", + url: url, + dataType: "json", + async : false, + data: ({ + id:url.substring(url.lastIndexOf("?id=")+4,url.length), + info:infoStr, + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated), + preTotalPrice:preTotalPrice + }), + success: function (tipInfo){ + if(tipInfo){ + if(tipInfo.code!=200){ + $.messager.alert('提示', tipInfo.msg, 'error'); + return; + } + $.messager.alert('提示','保存成功!','info'); + $('#depotHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showDepotHeadDetails(opts.pageNumber,opts.pageSize); + if (endEditing()) { + $('#materialData').datagrid('acceptChanges'); + } + }else { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); +} + + + + diff --git a/erp_web/js/pages/materials/sale_out_list.js b/erp_web/js/pages/materials/sale_out_list.js new file mode 100644 index 00000000..662d9507 --- /dev/null +++ b/erp_web/js/pages/materials/sale_out_list.js @@ -0,0 +1,3205 @@ +//初始化界面 +var defDepotId = null; +var kid = sessionStorage.getItem("userId"); +var pageType = getUrlParam('t'); //获取页面类型传值 +var depotList = null; +var depotID = null; +var supplierList = null; +var supplierID = null; +var personList = null; +var personID = null; +var ProjectSearch=null; +var userBusinessList=null; +var userdepot=null; +var depotHeadMaxId=null; //获取最大的Id +var accepId=null; //保存的主表id +var url; +var depotHeadID = 0; +var preTotalPrice = 0; //前一次加载的金额 +var orgDepotHead = ""; +var editIndex = undefined; +var listTitle = ""; //单据标题 +var listType = ""; //入库 出库 +var listSubType = ""; //采购 销售等 +var payTypeTitle = "";//付款 收款 +var organUrl = ""; //组织数据接口地址 +var amountNum = ""; //单据编号开头字符 +var depotString = ""; //店铺id列表 +/**默认编号有意义吗,不如空着吧*/ +var orgDefaultId=''; //单位默认编号 +var orgDefaultList; //存储查询出来的会员列表 +var accountList; //账户列表 +var outItemList; //支出项目列表 +var thisTaxRate = 0; //当前税率,选择供应商或者客户的时候设置 +var oldNumber = ""; //编辑前的单据编号 +var oldId = 0; //编辑前的单据Id +var otherColumns = true; //明细中的‘别名’列是否显示 +var btnEnableList = getBtnStr(); //获取按钮的权限 +var mPropertyList = ""; //商品属性列表 +var defaultAccountId = 0; //默认账户id +$(function(){ + //初始化系统基础信息 + getType(); + initSystemData_UB(); + initSelectInfo_UB(); + initSystemData_depot(); + initSelectInfo_depot(); + initSystemData_person(); + initSelectInfo_person(); + initSystemData_account(); + initSelectInfo_account(); + initSupplier(); //供应商 + initSalesman(); //销售人员 + initOutItemList(); //初始化支出项目 + initMProperty(); //初始化商品属性 + initTableData(); + ininPager(); + initForm(); + bindEvent();//绑定操作事件 +}); +//根据单据名称获取类型 +function getType(){ + listTitle = $("#tablePanel").prev().text(); + depotString = "|"; + //改变宽度和高度 + $("#searchPanel").panel({width:webW-2}); + $("#tablePanel").panel({width:webW-2}); + var supUrl = "/supplier/findBySelect_sup"; //供应商接口 + var cusUrl = "/supplier/findBySelect_cus?UBType=UserCustomer&UBKeyId=" + kid; //客户接口 + var retailUrl = "/supplier/findBySelect_retail"; //散户接口 + if(listTitle === "采购订单列表"){ + listType = "其它"; + listSubType = "采购订单"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "CGDD"; + } + else if(listTitle === "采购入库列表"){ + listType = "入库"; + listSubType = "采购"; + payTypeTitle = "付款"; + organUrl = supUrl; + amountNum = "CGRK"; + } + else if(listTitle === "零售退货列表"){ + listType = "入库"; + listSubType = "零售退货"; //注:用预付款购买的产品不能退货 + payTypeTitle = "付款"; + organUrl = retailUrl; + amountNum = "LSTH"; + } + else if(listTitle === "销售退货列表"){ + listType = "入库"; + listSubType = "销售退货"; + payTypeTitle = "付款"; + organUrl = cusUrl; + amountNum = "XSTH"; + } + else if(listTitle === "其它入库列表"){ + listType = "入库"; + listSubType = "其它"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "QTRK"; + } + else if(listTitle === "零售出库列表"){ + listType = "出库"; + listSubType = "零售"; + payTypeTitle = "收款"; + organUrl = retailUrl; + amountNum = "LSCK"; + } + else if(listTitle === "销售订单列表"){ + listType = "其它"; + listSubType = "销售订单"; + payTypeTitle = "隐藏"; + organUrl = cusUrl; + amountNum = "XSDD"; + } + else if(listTitle === "销售出库列表"){ + listType = "出库"; + listSubType = "销售"; + payTypeTitle = "收款"; + organUrl = cusUrl; + amountNum = "XSCK"; + } + else if(listTitle === "采购退货列表"){ + listType = "出库"; + listSubType = "采购退货"; + payTypeTitle = "收款"; + organUrl = supUrl; + amountNum = "CGTH"; + } + else if(listTitle === "其它出库列表"){ + listType = "出库"; + listSubType = "其它"; + payTypeTitle = "隐藏"; + organUrl = cusUrl; + amountNum = "QTCK"; + } + else if(listTitle === "调拨出库列表"){ + listType = "出库"; + listSubType = "调拨"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "DBCK"; + } + else if(listTitle === "组装单列表"){ + listType = "其它"; + listSubType = "组装单"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "ZZD"; + } + else if(listTitle === "拆卸单列表"){ + listType = "其它"; + listSubType = "拆卸单"; + payTypeTitle = "隐藏"; + organUrl = supUrl; + amountNum = "CXD"; + } +} +//初始化系统基础信息 +function initSystemData_UB(){ + $.ajax({ + type:"get", + url: "/userBusiness/getBasicData", + data: ({ + KeyId:kid, + Type:"UserDepot" + }), + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if (res && res.code === 200) { + userBusinessList = res.data.userBusinessList; + } + else { + userBusinessList = null; + } + } + }); + +} +//初始化页面选项卡 +function initSelectInfo_UB(){ + + if(userBusinessList !=null) + { + if(userBusinessList.length>0) + { + //用户对应的仓库列表 [1][2][3]... + userdepot =userBusinessList[0].value; + } + } +} + + +//初始化系统基础信息 +function initSystemData_depot(){ + $.ajax({ + type:"get", + url: "/depot/getAllList", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200){ + depotList = res.data; + } else { + $.messager.alert('提示', '查找系统基础信息异常,请与管理员联系!', 'error'); + return; + } + } + }); +} +//初始化页面选项卡 +function initSelectInfo_depot(){ + var options = ""; + + if(depotList !=null) + { + options = ""; + for(var i = 0 ;i < depotList.length;i++) + { + var depot = depotList[i]; + + if(userdepot!=null) + { + if(userdepot.indexOf("["+depot.id+"]")!=-1) + { + if(depot.isDefault){ + defDepotId = depot.id; + } + options += ''; + depotString = depotString + depot.id + ","; + } + } + if(depot.type === 1){ + depotString = depotString + depot.id + ","; + } + } + depotString = depotString.substring(1, depotString.length-1); + $("#ProjectId").empty().append(options); + $("#AllocationProjectId").empty().append(options); + $("#searchProjectId").empty().append('').append(options); + } +} + +//初始化供应商、客户、散户信息 +function initSupplier(){ + $('#OrganId').combobox({ + url: organUrl, + valueField:'id', + textField:'supplier', + filter: function(q, row){ + var opts = $(this).combobox('options'); + return row[opts.textField].indexOf(q) >-1; + }, + onLoadSuccess: function(res) { + var data = $(this).combobox('getData'); + for(var i = 0; i<= data.length; i++){ + if(data && data[i] && data[i].supplier === "非会员"){ + orgDefaultId = data[i].id; + } + } + if(listSubType === "零售"){ + orgDefaultList = res; + } + }, + onSelect: function(rec){ + if(listSubType === "零售"){ + var option = ""; + if(rec.supplier !== "非会员" && rec.advanceIn >0){ + option = ''; + option += ''; + } + else { + option += ''; + } + $("#payType").empty().append(option); + } + else{ + $.ajax({ + type:"get", + url: "/supplier/findById", + data: { + supplierId: rec.id + }, + dataType: "json", + success: function (res){ + if(res && res.code === 200) { + if(res.data && res.data[0]){ + thisTaxRate = res.data[0].taxRate; //设置当前的税率 + } + } + }, + error:function(){ + + } + }); + } + } + }); +} + +//初始化销售人员 +function initSalesman(){ + $('#Salesman').combobox({ + url: "/person/getPersonByNumType?type=1", + valueField:'id', + textField:'name', + multiple: true + }); +} + +//初始化收入项目列表 +function initOutItemList(){ + $.ajax({ + type:"get", + url: "/inOutItem/findBySelect?type=out", + //设置为同步 + async:false, + dataType: "json", + success: function (res){ + if(res){ + outItemList = res; + } + }, + error:function(){ + + } + }); +} + +//初始化商品属性 +function initMProperty(){ + $.ajax({ + type: "get", + url: "/materialProperty/list", + dataType: "json", + data: ({ + search: JSON.stringify({ + name: "" + }), + currentPage: 1, + pageSize: 100 + }), + success: function (res) { + if(res && res.code === 200){ + if(res.data && res.data.page) { + var thisRows = res.data.page.rows; + for (var i = 0; i < thisRows.length; i++) { + if (thisRows[i].enabled) { + mPropertyList += thisRows[i].nativeName + ","; + } + } + if (mPropertyList) { + mPropertyList = mPropertyList.substring(0, mPropertyList.length - 1); + } + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('查询提示','查询信息异常,请稍后再试!','error'); + return; + } + }); +} + +//初始化系统基础信息 +function initSystemData_person(){ + $.ajax({ + type:"get", + url: "/person/getAllList", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + personList = res.data.personList; + } + } + } + }); +} +//初始化页面选项卡 +function initSelectInfo_person(){ + var options1 = ""; + + if(personList !=null) + { + for(var i = 0 ;i < personList.length;i++) + { + var person = personList[i]; + if(0 == i) + { + personID = person.id; + } + if(person.type=="仓管员") + { + options1 += ''; + } + } + $("#HandsPersonId").empty().append(options1); + } +} +//获取账户信息 +function initSystemData_account(){ + $.ajax({ + type:"get", + url: "/account/getAccount", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + accountList = res.data.accountList; + } + } + } + }); +} +//获取账户信息 +function initSelectInfo_account(){ + var options = ""; + if(accountList !=null){ + options = ""; + options += ""; + for(var i = 0 ;i < accountList.length;i++) { + var account = accountList[i]; + options += ''; + if(account.isdefault) { + defaultAccountId = account.id; //给账户赋值默认id + } + } + $("#AccountId").empty().append(options); + } +} + +//防止表单提交重复 +function initForm(){ + $('#depotHeadFM').form({ + onSubmit: function(){ + return false; + } + }); +} + +//初始化表格数据 +function initTableData(){ + if(pageType === "skip") { + var oldRowInfo = sessionStorage.getItem("rowInfo"); + editDepotHead(oldRowInfo); //自动弹出编辑框,带缓存数据 + } + var hideType = undefined; + var isHiddenStatus = true; + if(payTypeTitle === "隐藏"){ + hideType = true; //隐藏当前列 + } + var tableToolBar = [ + { + id:'addDepotHead', + text:'增加', + iconCls:'icon-add', + handler:function() + { + addDepotHead(); + } + }, + { + id:'deleteDepotHead', + text:'删除', + iconCls:'icon-remove', + handler:function() + { + batDeleteDepotHead(); + } + } + ]; + //如果允许的按钮列表中存在就显示,3-代表审核|反审核的权限 + if(btnEnableList && btnEnableList.indexOf(3)>-1){ + isHiddenStatus = false; //显示 + tableToolBar.push({ + id:'okDepotHead', + text:'审核', + iconCls:'icon-ok', + handler:function() { + setStatusFun(); + } + }, + { + id:'undoDepotHead', + text:'反审核', + iconCls:'icon-undo', + handler:function() { + setUnStatusFun(); + } + }); + } + else { + isHiddenStatus = true; //隐藏 + } + var isShowLastMoneyColumn = false; //是否显示优惠后金额和价税合计,true为隐藏,false为显示 + if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowLastMoneyColumn = true; //隐藏 + } + var isShowOrganNameColumn = false; //是否显示供应商、客户等信息,true为隐藏,false为显示 + var organNameTitle = ""; //组织名称标题 + if(listSubType == "调拨" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowOrganNameColumn = true; //隐藏 + } + else { + if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "采购退货列表" || listTitle == "其它入库列表"){ + organNameTitle = "供应商名称"; + } + else if(listTitle == "销售订单列表" || listTitle == "销售退货列表" || listTitle == "销售出库列表" || listTitle == "其它出库列表"){ + organNameTitle = "客户名称"; + } + else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ + organNameTitle = "会员卡号"; + } + } + var opWidth = 90; //操作宽度 + var isShowSkip = false; //是否显示跳转按钮 + var opTitle = ""; //跳转按钮的标题 + if(listTitle == "采购订单列表") { + opWidth = 120; + isShowSkip = true; + opTitle = "转采购入库"; + } else if(listTitle == "销售订单列表") { + opWidth = 120; + isShowSkip = true; + opTitle = "转销售出库"; + } + $('#tableData').datagrid({ + height:heightInfo, + rownumbers: false, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + pagination: true, + //交替出现背景 + striped : true, + pageSize: 10, + pageList: initPageNum, + columns:[[ + { field: 'id',width:35,align:"center",checkbox:true}, + { title: '操作',field: 'op',align:"center",width:opWidth, + formatter:function(value, rec,index) { + var str = ''; + // var rowInfo = rec.id + 'AaBb' + rec.projectid+ 'AaBb' + rec.number+ 'AaBb' + rec.operpersonname + // + 'AaBb' + rec.opertimeStr+ 'AaBb' + rec.organid+ 'AaBb' + rec.handspersonid + // + 'AaBb' + rec.accountid+ 'AaBb' + rec.changeamount+ 'AaBb' + rec.remark + // + 'AaBb' + rec.projectName+ 'AaBb' + rec.organName+ 'AaBb' + rec.handsPersonName + // + 'AaBb' + rec.accountName + 'AaBb' + rec.totalprice + 'AaBb' + rec.allocationprojectid + // + 'AaBb' + rec.allocationProjectName + 'AaBb' + rec.paytype + 'AaBb' + rec.salesman + // + 'AaBb' + rec.discount + 'AaBb' + rec.discountmoney + 'AaBb' + rec.discountlastmoney + // + 'AaBb' + rec.accountidlist + 'AaBb' + rec.accountmoneylist + // + 'AaBb' + rec.othermoney + 'AaBb' + rec.othermoneylist + 'AaBb' + rec.othermoneyitem + // + 'AaBb' + rec.accountday + 'AaBb' + rec.linknumber; + // rowInfo = rowInfo.replace(/\"/g, ""); + // rowInfo = rowInfo.replace(/\[|]/g,""); + var orgId = rec.organid? rec.organid:0; + str += '   '; + str += '   '; + str += ''; + if(isShowSkip) { + str += '   '; + } + return str; + } + }, + { title: organNameTitle, field: 'organName',width:120, hidden:isShowOrganNameColumn}, + { title: '单据编号',field: 'number',width:135, formatter:function (value,rec) { + if(rec.linknumber) { + return value + "[转]"; + } else { + return value; + } + } + }, + { title: '商品信息',field: 'materialsList',width:180,formatter:function(value){ + if(value) { + return value.replace(",",","); + } + } + }, + { title: '单据日期',field: 'opertimeStr',width:130}, + { title: '操作员',field: 'operpersonname',width:60}, + { title: '金额合计',field: 'totalprice',width:60}, + { title: '含税合计',field: 'totaltaxlastmoney',hidden:isShowLastMoneyColumn,width:60,formatter:function(value,rec){ + return (rec.discountmoney + rec.discountlastmoney).toFixed(2); + } + }, + { title: '优惠后金额',field: 'discountlastmoney',hidden:isShowLastMoneyColumn,width:80}, + { title: payTypeTitle,field: 'changeamount',width:50,hidden:hideType}, + { title: '状态',field: 'status',hidden:isHiddenStatus, width:70,align:"center",formatter:function(value){ + if(value === "0") { + return "未审核"; + } else if(value === "1") { + return "已审核"; + } else if(value === "2") { + if(listTitle == "采购订单列表") { + return "已转采购"; + } else if(listTitle == "销售订单列表") { + return "已转销售"; + } + } + } + } + ]], + toolbar:tableToolBar, + onLoadError:function() { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); +} + +//查找库存的方法 +function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ + var thisRatio = 1; //比例 + $.ajax({ + url: "/material/findById", + type: "get", + dataType: "json", + data: { + id: mId + }, + success: function (rec) { + if(rec && rec.code === 200 && rec.data && rec.data[0]) { + var loadRatio = 1; //在单位输入框上面加载比例字段 + if(rec.data[0].unit) { //如果存在计量单位信息 + loadRatio = 1; + } + else{ + var unitName = rec.data[0].unitName; + if(unitName) { + thisRatio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); + unitName = unitName.substring(0, unitName.indexOf("(")); + } + var unitArr = unitName.split(","); + var basicUnit = unitArr[0]; //基础单位 + var otherUnit = unitArr[1]; //副单位 + var unitSetInput =""; //单位 + if(listSubType === "采购订单" || listSubType === "采购" || listSubType === "采购退货"){ + unitSetInput = rec.data[0].firstinunit; + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = thisRatio; + } + } + else if(listSubType === "销售订单" || listSubType === "销售" || listSubType === "销售退货" || listSubType === "零售" || listSubType === "零售退货"){ + unitSetInput = rec.data[0].firstoutunit; + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = thisRatio; + } + } + } + //查询库存 + $.ajax({ + type: "get", + url: '/depotItem/findStockNumById', + data:{ + projectId: depotId, + materialId: mId, + monthTime: monthTime, + currentPage: 1, + pageSize: 10 + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if (res.data && res.data.page && res.data.page[0]) { + var thisStock = res.data.page[0].thisSum; + if (type == "select") { //选择下拉框的时候 + if (ratio != undefined && ratio != 1) { + loadRatio = ratio; + } + } + else if (type == "click") { //点击库存的时候 + if (ratio != undefined) { + loadRatio = ratio; + } + } + thisStock = (thisStock / loadRatio).toFixed(2); + body.find("[field='Stock']").find(input).val(thisStock).attr("data-stock", res.data.page[0].thisSum); //加载库存数据 + } + else { + body.find("[field='Stock']").find(input).val(0).attr("data-stock", 0); //加载库存数据 + } + body.find("[field='Stock']").find(input).prop("readonly", "readonly"); //设置库存数据为只读 + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); + } + }, + error: function () { + $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); + } + }); +} +//优惠率、合计的统计方法 +function statisticsFun(body,UnitPrice,OperNumber,footer,taxRate){ + var TotalPrice = 0; + var taxLastMoneyTotal = 0; + //金额的合计 + body.find("[field='AllPrice']").each(function(){ + if($(this).find("div").text()!==""){ + TotalPrice = TotalPrice + parseFloat($(this).find("div").text().toString()); + } + }); + TotalPrice = TotalPrice + UnitPrice*OperNumber; + footer.find("[field='AllPrice']").find("div").text((TotalPrice).toFixed(2)); //金额的合计 + //价税合计的总计 + body.find("[field='TaxLastMoney']").each(function(){ + if($(this).find("div").text()!==""){ + taxLastMoneyTotal = taxLastMoneyTotal + (parseFloat($(this).find("div").text().toString())-0); + } + }); + taxLastMoneyTotal = taxLastMoneyTotal + (UnitPrice*OperNumber*(1+taxRate/100)); + footer.find("[field='TaxLastMoney']").find("div").text((taxLastMoneyTotal).toFixed(2)); //价税合计的页脚总计 + var discount = $("#Discount").val(); //优惠率 + var discountMoney = (taxLastMoneyTotal*discount/100).toFixed(2); + $("#DiscountMoney").val(discountMoney);//优惠金额 + var discountLastMoney = (taxLastMoneyTotal*(1-discount/100)).toFixed(2) + $("#DiscountLastMoney").val(discountLastMoney);//优惠后金额 + if($("#AccountId").val()!=="many"){ + $("#ChangeAmount").val(discountLastMoney); //本次付、收款 + } + var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 + $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 + + if(listSubType == "零售" || listSubType == "零售退货") { + $("#ChangeAmount, #getAmount").val((TotalPrice).toFixed(2)); + $("#backAmount").val(0); + } +} +//初始化表格数据-商品列表-编辑状态 +function initTableData_material(type,TotalPrice){ + var body,footer,input; //定义表格和文本框 + var ratio = 1; //比例-品名专用 + var ratioDepot = 1; //比例-仓库用 + var monthTime = getNowFormatMonth(); + var isShowAnotherDepot = true; //显示对方仓库,true为隐藏,false为显示 + var depotHeadName = ""; //仓库名称 + var depotUrl = ""; //仓库接口地址 + var depotTextField = ""; //仓库下拉名称 + var anotherDepotHeadName = ""; //对方仓库的列的标题 + var anotherDepotUrl = ""; //对方仓库接口地址 + var anotherDepotTextField = ""; + if(listSubType == "调拨"){ + isShowAnotherDepot = false; //调拨时候显示对方仓库 + anotherDepotHeadName = "调入仓库"; + anotherDepotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; + anotherDepotTextField = "depotName"; + } + depotHeadName = "仓库名称"; + depotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; + depotTextField = "depotName"; + var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 + if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowTaxColumn = true; //隐藏 + } + var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 + if(listSubType == "组装单" || listSubType == "拆卸单"){ + isShowMaterialTypeColumn = false; //显示 + } + $('#materialData').datagrid({ + height:245, + rownumbers: false, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + //单击行是否选中 + checkOnSelect : false, + pagination: false, + //交替出现背景 + striped : true, + showFooter: true, + //loadFilter: pagerFilter, + onClickRow: onClickRow, + columns:[[ + { field: 'Id',width:35,align:"center",checkbox:true}, + { title: '商品类型',field: 'MType',editor:'validatebox',hidden:isShowMaterialTypeColumn,width:80}, + { title: depotHeadName, field: 'DepotId', editor: 'validatebox', width: 90, + formatter: function (value, row, index) { + return row.DepotName; + }, + editor: { + type: 'combobox', + options: { + valueField: 'id', + textField: depotTextField, + method: 'get', + url: depotUrl, + onSelect:function(rec){ + var depotId = rec.id; + body =$("#depotHeadFM .datagrid-body"); + footer =$("#depotHeadFM .datagrid-footer"); + input = ".datagrid-editable-input"; + var mId = body.find("[field='MaterialId']").find(".combo-value").val(); + if(mId){ + var type = "select"; //type 类型:点击 click,选择 select + findStockNumById(depotId, mId, monthTime, body, input, ratioDepot, type); + } + } + } + } + }, + { title: '品名(型号)(扩展信息)(单位)',field: 'MaterialId',width:230, + formatter:function(value,row,index){ + return row.MaterialName; + }, + editor:{ + type:'combobox', + options:{ + valueField:'Id', + textField:'MaterialName', + method:'get', + url: "/material/findBySelect", + panelWidth: 300, //下拉框的宽度 + //全面模糊匹配,过滤字段 + filter: function(q, row){ + var opts = $(this).combobox('options'); + return row[opts.textField].indexOf(q) >-1; + }, + onBeforeLoad: function(param){ + param.mpList = mPropertyList; //商品属性 + }, + onSelect:function(rec){ + if(rec) { + var mId = rec.Id; + $.ajax({ + url: "/material/findById", + type: "get", + dataType: "json", + data: { + id: mId + }, + success: function (res) { + if(res && res.code === 200 && res.data && res.data[0]) { + var retailPrice = res.data[0].retailprice-0; //零售价格 + var presetPriceOne = res.data[0].presetpriceone-0; //预计采购价 + var presetPriceTwo = res.data[0].presetpricetwo-0; //批发价 + var firstInUnit = res.data[0].firstinunit; //首选入库单位 + var firstOutUnit = res.data[0].firstoutunit; //首选出库单位 + var basicPresetPriceOne = ""; //多单位-入库-基础价格 + var basicPresetPriceTwo = ""; //多单位-出库-基础价格 + var retailPriceOne = ""; //多单位-入库-零售价格 + var otherPresetPriceOne = ""; //多单位-入库-其他价格 + var otherPresetPriceTwo = ""; //多单位-出库-其他价格 + var retailPriceTwo = ""; //多单位-出库-零售价格 + var basicUnit = ""; //基础单位 + var otherUnit = ""; //其他单位 + if(!res.data[0].unit){ + var ps = res.data[0].pricestrategy; + var psObj = JSON.parse(ps); + basicPresetPriceOne = psObj[0].basic.PresetPriceOne-0; + basicPresetPriceTwo = psObj[0].basic.PresetPriceTwo-0; + retailPriceOne = psObj[0].basic.RetailPrice-0; + otherPresetPriceOne = psObj[1].other.PresetPriceOne-0; + otherPresetPriceTwo = psObj[1].other.PresetPriceTwo-0; + retailPriceTwo = psObj[1].other.RetailPrice-0; + basicUnit = psObj[0].basic.Unit; + otherUnit = psObj[1].other.Unit; + } + body =$("#depotHeadFM .datagrid-body"); + footer =$("#depotHeadFM .datagrid-footer"); + input = ".datagrid-editable-input"; + if(res.data[0].unit){ //如果存在计量单位信息 + ratio = 1; //重置比例为1 + body.find("[field='Unit']").find(input).val(res.data[0].unit); //设置-计量单位信息 + body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 + body.find("[field='Unit']").find(input).off("click"); //移除点击事件 + body.find("[field='Unit']").find(input).attr("data-ratio",ratio); //修改比例缓存信息 + } + else { + var unitName = res.data[0].unitName; + if(unitName) { + ratio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); //给比例赋值 + unitName = unitName.substring(0, unitName.indexOf("(")); + } + var unitArr = unitName.split(","); + var basicUnit = unitArr[0]; //基础单位 + var otherUnit = unitArr[1]; //副单位 + var unitSetInput =""; //单位 + body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 + var loadRatio = 1; //在单位输入框上面加载比例字段 + if(listSubType === "采购" || listSubType === "采购退货" || listSubType === "采购订单"){ + unitSetInput = res.data[0].firstinunit; //给单位文本框赋值 + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = ratio; + } + } + else if(listSubType === "销售" || listSubType === "销售退货" || listSubType === "销售订单" || listSubType === "零售" || listSubType === "零售退货"){ + unitSetInput = res.data[0].firstoutunit; //给单位文本框赋值 + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; + } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = ratio; + } + } + body.find("[field='Unit']").find(input).val(unitSetInput).attr("data-ratio", loadRatio); //设置-首选单位 + + body.find("[field='Unit']").find(input).off("click").on("click",function(){ + if(basicUnit && otherUnit) { + var self = this; + //定义模版 + var temp = "
"; + temp +="
    "; + temp +="
  • " + basicUnit + "
  • "; + temp +="
  • " + otherUnit + "
  • "; + temp +="
"; + temp +="
"; + if($('.unit-list').length){ + $('.unit-list').remove(); //如果存在计量单位列表先移除 + } + else { + $(self).after(temp); //加载列表信息 + } + //计量单位列表的单击事件 + $('.unit-list ul li').off("click").on("click",function(){ + var unit = $(this).text(); + var thisRatio = $(this).attr("data-ratio"); //获取比例 + $(self).val(unit).attr("data-ratio", thisRatio); + $(self).keyup(); //模拟键盘操作 + $('.unit-list').remove(); //移除计量单位列表 + var stock = body.find("[field='Stock']").find(input).attr("data-stock"); //从缓存中取值 + var type = $(this).attr("data-type"); + var UnitPrice = 0; + if(type === "basic"){ + if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { + UnitPrice = basicPresetPriceOne; + } + else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { + UnitPrice = basicPresetPriceTwo; + } + else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ + UnitPrice = retailPriceOne; + } + body.find("[field='Stock']").find(input).val(stock); //修改库存 + } + else if(type === "other"){ + if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { + UnitPrice = otherPresetPriceOne; + } + else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { + UnitPrice = otherPresetPriceTwo; + } + else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ + UnitPrice = retailPriceTwo; + } + body.find("[field='Stock']").find(input).val((stock/ratio).toFixed(2)); //修改库存 + } + body.find("[field='UnitPrice']").find(input).val(UnitPrice); //单价 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //获取数量 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //获取税率 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //点击空白处移除计量单位列表 + $(".datagrid-body").off("click").on("click",function(){ + $('.unit-list').remove(); //移除计量单位列表 + }); + } + }); + } + var detailPrice = 0; //明细列表-单价 + if(listSubType == "零售" || listSubType == "零售退货") { + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = retailPrice; + } + else { + if (firstOutUnit == basicUnit) { + detailPrice = retailPriceOne; + } + else if (firstOutUnit == otherUnit) { + detailPrice = retailPriceTwo; + } + } + } + else if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = presetPriceOne; + } + else { + if (firstInUnit == basicUnit) { + detailPrice = basicPresetPriceOne; + } + else if (firstInUnit == otherUnit) { + detailPrice = otherPresetPriceOne; + } + } + } + else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = presetPriceTwo; + } + else { + if(firstOutUnit==basicUnit) { + detailPrice = basicPresetPriceTwo; + } + else if(firstOutUnit==otherUnit){ + detailPrice = otherPresetPriceTwo; + } + } + } + body.find("[field='OperNumber']").find(input).val(1); //数量初始化为1 + //单价和总价赋值 + if(!detailPrice) { + detailPrice = 0; + } + body.find("[field='UnitPrice']").find(input).val(detailPrice); + body.find("[field='AllPrice']").find(input).val(detailPrice); + var taxRate = body.find("[field='TaxRate']").find(input).val()-0; //获取税率 + body.find("[field='TaxUnitPrice']").find(input).val((detailPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((detailPrice*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((detailPrice*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,detailPrice,1,footer,taxRate); + + //查询库存信息 + var depotId = body.find("[field='DepotId']").find(".combo-value").val(); + if(depotId) { + var type = "select"; //type 类型:点击 click,选择 select + findStockNumById(depotId, mId, monthTime, body, input, loadRatio, type); + } + } + }, + error: function() { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + } + }); + } + } + } + } + }, + { title: '库存',field: 'Stock',editor:'validatebox',width:70}, + { title: anotherDepotHeadName, field: 'AnotherDepotId',editor:'validatebox',hidden:isShowAnotherDepot,width:90, + formatter: function (value, row, index) { + return row.AnotherDepotName; + }, + editor: { + type: 'combobox', + options: { + valueField: 'id', + textField: anotherDepotTextField, + method: 'get', + url: anotherDepotUrl + } + } + }, + { title: '单位',field: 'Unit',editor:'validatebox',width:60}, + { title: '数量',field: 'OperNumber',editor:'validatebox',width:60}, + { title: '单价',field: 'UnitPrice',editor:'validatebox',width:60}, + { title: '含税单价',field: 'TaxUnitPrice',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '金额',field: 'AllPrice',editor:'validatebox',width:75}, + { title: '税率(%)',field: 'TaxRate',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '税额',field: 'TaxMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '价税合计',field: 'TaxLastMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '备注',field: 'Remark',editor:'validatebox',width:120}, + { title: '品名-别',field: 'OtherField1',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '型号-别',field: 'OtherField2',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '颜色-别',field: 'OtherField3',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '备注1',field: 'OtherField4',editor:'validatebox',hidden:true,width:60}, + { title: '备注2',field: 'OtherField5',editor:'validatebox',hidden:true,width:60} + ]], + toolbar:[ + { + id:'append', + text:'新增', + iconCls:'icon-add', + handler:function() + { + append(); //新增 + } + }, + { + id:'delete', + text:'删除', + iconCls:'icon-remove', + handler:function() + { + batchDel(); //删除 + } + }, + { + id:'reject', + text:'撤销', + iconCls:'icon-undo', + handler:function() + { + reject(); //撤销 + } + } + ], + onLoadError:function() + { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); + $.ajax({ + type:"get", + url: '/depotItem/getDetailList', + data: { + headerId: depotHeadID, + mpList: mPropertyList + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + var data = res.data; + var AllPrice = 0; + var TaxLastMoney = 0; + var DiscountMoney = $("#DiscountMoney").val()-0; //优惠金额 + var DiscountLastMoney = $("#DiscountLastMoney").val()-0; //优惠后金额 + if(type === "edit") { + AllPrice = TotalPrice; + TaxLastMoney = DiscountMoney + DiscountLastMoney; + } + var array = []; + array.push({ + "AllPrice": AllPrice, + "TaxLastMoney": TaxLastMoney + }); + data.footer = array; + $("#materialData").datagrid('loadData',data); + //如果是订单跳转到采购或销售 + if(pageType === "skip") { + var skipList = $("#depotHeadFM .datagrid-body tr"); + //逐条自动点击每行数据 + skipList.each(function (i) { + setTimeout(function () { + skipList.eq(i).find("[field='Stock']").click(); + },(i+1)*1000); + }); + } + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); +} + +//初始化表格数据-商品列表-查看状态 +function initTableData_material_show(TotalPrice){ + var isShowAnotherDepot = true; //显示对方仓库,true为隐藏,false为显示 + var anotherDepotHeadName = ""; //对方仓库的列的标题 + var depotHeadName = ""; //仓库的列的标题 + if(listSubType == "调拨"){ + isShowAnotherDepot = false; //调拨时候显示对方仓库 + anotherDepotHeadName = "调入仓库"; + } + depotHeadName = "仓库名称"; + var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 + if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ + isShowTaxColumn = true; //隐藏 + } + var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 + if(listSubType == "组装单" || listSubType == "拆卸单"){ + isShowMaterialTypeColumn = false; //显示 + } + $('#materialDataShow').datagrid({ + height:245, + rownumbers: true, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + pagination: false, + //交替出现背景 + striped : true, + showFooter: true, + onClickRow: onClickRow, + columns:[[ + { title: '商品类型',field: 'MType',width:80, hidden:isShowMaterialTypeColumn}, + { title: depotHeadName,field: 'DepotName',editor:'validatebox',width:90}, + { title: '品名(型号)(扩展信息)(单位)',field: 'MaterialName',width:230}, + { title: anotherDepotHeadName,field: 'AnotherDepotName',hidden:isShowAnotherDepot,width:90}, + { title: '单位',field: 'Unit',editor:'validatebox',width:60}, + { title: '数量',field: 'OperNumber',editor:'validatebox',width:60}, + { title: '单价',field: 'UnitPrice',editor:'validatebox',width:60}, + { title: '含税单价',field: 'TaxUnitPrice',editor:'validattebox',hidden:isShowTaxColumn,width:75}, + { title: '金额',field: 'AllPrice',editor:'validatebox',width:75}, + { title: '税率',field: 'TaxRate',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '税额',field: 'TaxMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '价税合计',field: 'TaxLastMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, + { title: '备注',field: 'Remark',editor:'validatebox',width:120}, + { title: '品名-别',field: 'OtherField1',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '型号-别',field: 'OtherField2',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '颜色-别',field: 'OtherField3',editor:'validatebox',hidden:otherColumns,width:60}, + { title: '备注1',field: 'OtherField4',editor:'validatebox',hidden:true,width:60}, + { title: '备注2',field: 'OtherField5',editor:'validatebox',hidden:true,width:60} + ]], + onLoadError:function() { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); + $.ajax({ + type:"get", + url: '/depotItem/getDetailList', + data: { + headerId: depotHeadID, + mpList: mPropertyList + }, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + var data = res.data; + var AllPrice = TotalPrice; + var DiscountMoney = $("#DiscountMoneyShow").text() - 0; //优惠金额 + var DiscountLastMoney = $("#DiscountLastMoneyShow").text() - 0; //优惠后金额 + var array = []; + array.push({ + "AllPrice": AllPrice, + "TaxLastMoney": DiscountMoney + DiscountLastMoney + }); + data.footer = array; + $("#materialDataShow").datagrid('loadData', data); + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); +} + +//分页信息处理 +function ininPager(){ + try + { + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + pager.pagination({ + onSelectPage:function(pageNum, pageSize) + { + opts.pageNumber = pageNum; + opts.pageSize = pageSize; + pager.pagination('refresh', + { + pageNumber:pageNum, + pageSize:pageSize + }); + showDepotHeadDetails(pageNum,pageSize); + } + }); + } + catch (e) + { + $.messager.alert('异常处理提示',"分页信息异常 : " + e.name + ": " + e.message,'error'); + } +} + +//删除单据信息 +function deleteDepotHead(depotHeadID, thisOrganId, totalPrice, status){ + if(status == "1" || status == "2") { + $.messager.alert('删除提示','已审核和已转的单据不能删除!','warning'); + return; + } + $.messager.confirm('删除确认','确定要删除此单据信息吗?',function(r) { + if (r) { + $.ajax({ + type:"post", + // url: "/depotHead/" + depotHeadID + "/delete", + url: "/depotHead/deleteDepotHeadAndDetail", + dataType: "json", + data:{ + id: depotHeadID + }, + success: function (res) { + if(res && res.code == 200) { + $("#searchBtn").click(); + } else { + $.messager.alert('删除提示', '删除单据信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('删除提示','删除单据信息异常,请稍后再试!','error'); + return; + } + }); + + //更新会员的预收款信息 + if(listSubType === "零售") { + $.ajax({ + type:"post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data:{ + supplierId: thisOrganId, //会员id + advanceIn: totalPrice //删除时同时返还用户的预付款 + }, + success: function(res){ + if(res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function(){ + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + } + }); +} + +//订单转采购或销售 +function skipDepotHead(index, status){ + //获取当前行 + var rowsdata = $("#tableData").datagrid("getRows")[index]; + if(status == "0" || status == "2") { + $.messager.alert('提示','未审核和已转的单据禁止操作!','warning'); + } else { + sessionStorage.setItem("rowInfo", JSON.stringify(rowsdata)); //将单据信息存入缓存中 + if(listTitle == "采购订单列表") { + parent.addTab("订单转采购", "../materials/purchase_in_list.html?t=skip", ""); + } else if(listTitle == "销售订单列表") { + parent.addTab("订单转销售", "../materials/sale_out_list.html?t=skip", ""); + } + } +} + +//批量删除单据信息 +function batDeleteDepotHead(){ + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) + { + $.messager.alert('删除提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) + { + $.messager.confirm('删除确认','确定要删除选中的' + row.length + '条单据信息吗?',function(r) + { + if (r) { + var ids = ""; + for (var i = 0; i < row.length; i++) { + if (i == row.length - 1) { + if (row[i].status == 0) { + ids += row[i].id; + } + break; + } + ids += row[i].id + ","; + } + if (ids) { + //批量更新会员的预收款信息 + for (var i = 0; i < row.length; i++) { + if (listSubType === "零售") { + $.ajax({ + type: "post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data: { + supplierId: row[i].organid, //会员id + advanceIn: row[i].totalprice //删除时同时返还用户的预付款 + }, + success: function (res) { + if (res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function () { + $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); + return; + } + }); + } + } + //批量删除 + $.ajax({ + type: "post", + // url: "/depotHead/batchDelete", + url: "/depotHead/batchDeleteDepotHeadAndDetail", + dataType: "json", + async: false, + data: ({ + ids: ids + }), + success: function (res) { + if (res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('删除提示', '删除单据信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('删除提示', '删除单据信息异常,请稍后再试!', 'error'); + return; + } + }); + } else { + $.messager.alert('删除提示','没有能删除的单据!','warning'); + } + } + }); + } +} + +//批量审核 +function setStatusFun() { + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) { + $.messager.alert('审核提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) { + $.messager.confirm('审核确认','确定要审核选中的' + row.length + '条信息吗?',function(r) + { + if (r) + { + var ids = ""; + for(var i = 0;i < row.length; i ++) + { + if(i == row.length-1) + { + if(row[i].status != "2") { + ids += row[i].id; + } + break; + } + ids += row[i].id + ","; + } + if(ids) { + $.ajax({ + type:"post", + url: "/depotHead/batchSetStatus", + dataType: "json", + async : false, + data: ({ + status: "1", + depotHeadIDs : ids + }), + success: function (res) { + if(res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('审核提示', '审核信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('审核提示','审核信息异常,请稍后再试!','error'); + return; + } + }); + } else { + $.messager.alert('审核提示','没有能审核的单据!','warning'); + } + } + }); + } +} + +//批量反审核 +function setUnStatusFun() { + var row = $('#tableData').datagrid('getChecked'); + if(row.length == 0) + { + $.messager.alert('反审核提示','没有记录被选中!','info'); + return; + } + if(row.length > 0) + { + $.messager.confirm('反审核确认','确定要反审核选中的' + row.length + '条信息吗?',function(r) + { + if (r) + { + var ids = ""; + for(var i = 0;i < row.length; i ++) + { + if(i == row.length-1) + { + if(row[i].status != "2") { + ids += row[i].id; + } + break; + } + ids += row[i].id + ","; + } + if(ids) { + $.ajax({ + type: "post", + url: "/depotHead/batchSetStatus", + dataType: "json", + async: false, + data: ({ + status: "0", + depotHeadIDs: ids + }), + success: function (res) { + if (res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('反审核提示', '反审核信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('反审核提示', '反审核信息异常,请稍后再试!', 'error'); + return; + } + }); + } else { + $.messager.alert('反审核提示','没有能反审核的单据!','warning'); + } + } + }); + } +} + +//生成单据编号 +function buildNumber() { + $.ajax({ + type: "get", + url: "/depotHead/buildNumber", + success:function(res){ + if(res && res.code === 200){ + var obj = res.data; + var defaultNumber = obj.DefaultNumber; + var newNumber = amountNum + defaultNumber; + $("#Number").val(newNumber).attr("data-defaultNumber",newNumber); + } + }, + error:function(){ + $.messager.alert('提示','生成单据编号失败!','error'); + } + }); +} + +//新增信息 +function addDepotHead(){ + $('#depotHeadFM').form('clear'); + var thisDateTime = getNowFormatDateTime(); //当前时间 + $("#OperTime").val(thisDateTime); + buildNumber(); //生成单据编号 + //初始化优惠率、优惠金额、优惠后金额、本次付|收款、本次欠款 为0 + $("#Discount").val(0); + $("#DiscountMoney").val(0); + $("#DiscountLastMoney").val(0); + $("#ChangeAmount").val(0); + $("#Debt").val(0); + $("#AccountId").val(defaultAccountId); //初始化默认的账户Id + var addTitle = listTitle.replace("列表","信息"); + $('#depotHeadDlg').dialog('open').dialog('setTitle',' 增加' + addTitle); + $(".window-mask").css({ width: webW ,height: webH}); + + orgDepotHead = ""; + depotHeadID = 0; + initTableData_material("add"); //商品列表 + reject(); //撤销下、刷新商品列表 + $("#addOrgan").off("click").on("click",function(){ + $('#supplierDlg').dialog('open').dialog('setTitle',' 增加供应商信息'); + $('#supplierFM').form('clear'); + }); + + $("#addMember").off("click").on("click",function(){ + $('#supplierDlg').dialog('open').dialog('setTitle',' 增加会员信息'); + $('#supplierFM').form('clear'); + }); + $("#addCustomer").off("click").on("click",function(){ + $('#supplierDlg').dialog('open').dialog('setTitle',' 增加客户信息'); + $('#supplierFM').form('clear'); + }); + url = '/depotHead/addDepotHeadAndDetail'; + + //零售单据修改收款时,自动计算找零 + if(listSubType == "零售" || listSubType == "零售退货") { + $("#payType").val("现付"); + $("#OrganId").combobox("setValue", orgDefaultId); //自动默认选择非会员 + // 鼠标点下时清空选择项 + $("#OrganId").next().find("input").off("mousedown").on("mousedown",function(){ + $("#OrganId").combobox("setValue", ""); + }); + //当会员卡号长度超过10位后,自动点击下拉框,用于兼容刷卡器 + $("#OrganId").next().find("input").off("keyup").on("keyup",function(){ + var self = this; + if($(this).val().length === 10){ + setTimeout(function(){ + $(".combo-panel .combobox-item-selected").click(); + //更新付款类型,加载会员的预付款的金额 + for(var i=0; i0){ + option = ''; + option += ''; + } + else { + option += ''; + } + $("#payType").empty().append(option); + } + } + },1000); + } + }); + var getAmount = $("#depotHeadFM .get-amount"); + var changeAmount = $("#depotHeadFM .change-amount"); + var backAmount = $("#depotHeadFM .back-amount"); + getAmount.val(0); changeAmount.val(0); backAmount.val(0); //时间初始化 + getAmount.off("keyup").on("keyup",function() { + if(changeAmount.val()){ + backAmount.val((getAmount.val()-changeAmount.val()).toFixed(2)); + } + }); + } +} + +//编辑信息 +function editDepotHead(index, status){ + if(status == "1" || status == "2") { + $.messager.alert('编辑提示','已审核和已转的单据不能编辑!','warning'); + return; + } + // var depotHeadInfo = depotHeadTotalInfo.split("AaBb"); + //获取当前行 + var rowsdata =''; + if(Number(index).toString()=='NaN'){ + rowsdata=$.parseJSON(index); + }else{ + rowsdata=$("#tableData").datagrid("getRows")[index]; + } + $("#ProjectId").focus().val(rowsdata.projectid); + var ProjectId=rowsdata.projectid; + if(ProjectId!='') { + initSystemData_person(ProjectId); + initSelectInfo_person(); + } + var TotalPrice = rowsdata.totalprice; //合计金额 + if(pageType === "skip") { //从订单跳转过来 + buildNumber(); //生成单据编号 + var thisDateTime = getNowFormatDateTime(); //当前时间 + $("#OperTime").val(thisDateTime); + $("#LinkNumber").val(rowsdata.number); //关联订单号 + $("#AccountId").val(defaultAccountId); //初始化默认的账户Id + $("#DiscountLastMoney").val(TotalPrice); //优惠后金额 + $("#ChangeAmount").val(TotalPrice).attr("data-changeamount", TotalPrice); + } else { + $("#Number").val(rowsdata.number).attr("data-defaultNumber",rowsdata.number); + $("#OperTime").val(rowsdata.opertimeStr); + $("#LinkNumber").val(rowsdata.linknumber==undefined?"":rowsdata.linknumber); //关联订单号 + $("#AccountId").val(rowsdata.accountid); //账户Id + $("#DiscountLastMoney").val(rowsdata.discountlastmoney==undefined?"0.00":rowsdata.discountlastmoney); //优惠后金额 + $("#ChangeAmount").val(rowsdata.changeamount).attr("data-changeamount", rowsdata.changeamount); + } + $('#OrganId').combobox('setValue', rowsdata.organid==undefined?'':rowsdata.organid); + $("#HandsPersonId").val(rowsdata.handspersonid); + $("#Remark").val(rowsdata.remark); + $("#Discount").val(rowsdata.discount==undefined?"0":rowsdata.discount); + $("#DiscountMoney").val(rowsdata.discountmoney==undefined?"0.00":rowsdata.discountmoney); + $("#Debt").val(Number((rowsdata.discountlastmoney==undefined?'0.00':rowsdata.discountlastmoney-rowsdata.changeamount)).toFixed(2)); + $("#AccountDay").val(rowsdata.accountday==undefined?"":rowsdata.accountday); //结算天数 + preTotalPrice = rowsdata.totalprice; //记录前一次合计金额,用于扣预付款 + $("#AllocationProjectId").val(rowsdata.allocationprojectid); + oldNumber = rowsdata.number; //记录编辑前的单据编号 + oldId = rowsdata.id; //记录单据Id + var editTitle = listTitle.replace("列表","信息"); + $('#depotHeadDlg').dialog('open').dialog('setTitle',' 编辑' + editTitle); + $(".window-mask").css({ width: webW ,height: webH}); + depotHeadID = rowsdata.id; + + if(listSubType == "零售"){ + var option = ""; + if(rowsdata.paytype == "预付款"){ + option = ''; + option += ''; + } + else { + option += ''; + } + $("#payType").empty().append(option); + } + + if(listSubType == "销售" || listSubType == "销售退货"){ + if(rowsdata.salesman){ + var arr = rowsdata.salesman.split(","); + var salesmanArray = []; + for(var i=0;i","")); + } + } + $("#Salesman").combobox('setValues', salesmanArray); + } + } + + //采购入库、销售出库的多账户加载 + if(rowsdata.accountidlist!=undefined && rowsdata.accountmoneylist!=undefined){ + $("#AccountId").val("many"); //下拉框选中多账户 + var accountArr = rowsdata.accountidlist.split(","); + var accountMoneyArr = rowsdata.accountmoneylist.split(","); + accountMoneyArr = changeListFmtPlus(accountMoneyArr) //将数组单个金额中的数值转为正数 + + if(listSubType == "零售" || listSubType == "零售退货") { + var manyAccountMoney = 0; //多账户合计-零售 + for (var j = 0; j < accountArr.length; j++) { + if (accountList != null) { + for (var i = 0; i < accountList.length; i++) { + var account = accountList[i]; + if (accountArr[j] == account.id) { + manyAccountMoney += accountMoneyArr[j] - 0; //多账户合计-零售 + } + } + } + } + $("#getAmount").val(manyAccountMoney); //收款金额、付款金额 + var changeAmount = $("#ChangeAmount").val()-0; + $("#backAmount").val((manyAccountMoney-changeAmount).toFixed(2)); //找零 + } + + $("#AccountId").attr("data-accountArr", JSON.stringify(accountArr)).attr("data-accountMoneyArr", JSON.stringify(accountMoneyArr)); //json数据存储 + $(".many-account-ico").show(); //显示多账户的ico图标 + } + + //采购入库、销售出库的费用数据加载 + if(rowsdata.othermoneylist &&rowsdata.othermoneyitem){ + $("#OtherMoney").val(rowsdata.othermoney==undefined?"0":rowsdata.othermoney); //采购费用、销售费用 + var itemArr = rowsdata.othermoneylist.split(","); + var itemMoneyArr = rowsdata.othermoneyitem.split(","); + $("#OtherMoney").attr("data-itemArr",JSON.stringify(itemArr)).attr("data-itemMoneyArr",JSON.stringify(itemMoneyArr)); //json数据存储 + } + + initTableData_material("edit",TotalPrice); //商品列表 + reject(); //撤销下、刷新商品列表 + if(pageType === "skip") { + url = '/depotHead/addDepotHeadAndDetail'; //如果是从订单跳转过来,则此处为新增的接口 + //jshjshjsh + $("#depotHeadFM .datagrid-body").find("[field='DepotId']").click(); + } else { + url = '/depotHead/updateDepotHeadAndDetail?id=' + rowsdata.id; //更新接口 + } +} + +//查看信息 +function showDepotHead(index){ + // var depotHeadInfo = depotHeadTotalInfo.split("AaBb"); + //获取当前行 + var rowsdata = $("#tableData").datagrid("getRows")[index]; + var manyAccountMoney = 0; //多账户合计-零售 + $("#ProjectIdShow").text(rowsdata.projectName); + $("#NumberShow").text(rowsdata.number); + $("#OperTimeShow").text(rowsdata.opertimeStr); + $('#OrganIdShow').text(rowsdata.organName==undefined?'':rowsdata.organName); + $("#HandsPersonIdShow").text(rowsdata.handsPersonName); + if(rowsdata.accountName && rowsdata.accountName!=undefined){ + $("#AccountIdShow").text(rowsdata.accountName); //结算账户 + } else { + var accountArr = (rowsdata.accountidlist==undefined?"":rowsdata.accountidlist).split(","); //账户id列表 + var accountMoneyArr =(rowsdata.accountmoneylist==undefined?"":rowsdata.accountmoneylist).split(","); //账户金额列表 + var accountIdShow = ""; + for(var j =0;j 查看' + showTitle); + $(".window-mask").css({ width: webW ,height: webH}); + + depotHeadID = rowsdata.id; + initTableData_material_show(TotalPrice); //商品列表-查看状态 + + //零售单据展示数据 + if(listSubType == "零售" || listSubType == "零售退货"){ + var changeAccount = $("#depotHeadDlgShow .change-amount-show").text() -0; + if(manyAccountMoney!==0){ + $("#depotHeadDlgShow .get-amount-show").text((manyAccountMoney).toFixed(2)); + $("#depotHeadDlgShow .back-amount-show").text((manyAccountMoney -changeAccount).toFixed(2)); + } + else { + $("#depotHeadDlgShow .get-amount-show").text((changeAccount).toFixed(2)); + $("#depotHeadDlgShow .back-amount-show").text(0); + } + } + if(listSubType === "销售" || listSubType === "销售退货"){ + if(rowsdata.salesman){ + var arr = rowsdata.salesman.split(","); + var salesmanStr = ""; + for(var i=0;i",""); + } + else { + salesmanStr += arr[i].replace("<","").replace(">","") + ","; + } + } + } + $.ajax({ + type: "get", + url: "/person/getPersonByIds", + data: { + personIDs: salesmanStr + }, + success:function(res){ + if(res && res.code === 200){ + if(res.data) { + $("#SalesmanShow").text(res.data.names); //销售人员列表 + } + } + }, + error:function(){ + + } + }); + } + } +} + +//绑定操作事件 +function bindEvent(){ + showDepotHeadDetails(1,initPageSize); //初始化时自动查询 + //搜索处理 + $("#searchBtn").off("click").on("click",function(){ + showDepotHeadDetails(1,initPageSize); + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + opts.pageNumber = 1; + opts.pageSize = initPageSize; + pager.pagination('refresh', + { + pageNumber:1, + pageSize:initPageSize + }); + }); + + //重置按钮 + $("#searchResetBtn").unbind().bind({ + click:function(){ + //$("#searchProjectId").val(""); + $("#searchState").val(""); + $("#searchBeginTime").val(""); + $("#searchEndTime").val(""); + //加载完以后重新初始化 + $("#searchBtn").click(); + } + }); + + //检查单据编号是否存在 + function checkDepotHeadNumber() { + var thisNumber = $.trim($("#Number").val()); + //表示是否存在 true == 存在 false = 不存在 + var flag = false; + //开始ajax名称检验,不能重名 + if(thisNumber.length > 0 &&( oldNumber.length ==0 || thisNumber != oldNumber)) + { + $.ajax({ + type:"get", + url: "/depotHead/checkIsNumberExist", + dataType: "json", + async : false, + data: ({ + DepotHeadID : oldId, + Number : thisNumber + }), + success: function (tipInfo) + { + flag = tipInfo; + if(tipInfo) + { + $.messager.alert('提示','抱歉,该单据编号已经存在','warning'); + return; + } + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','检查单据编号是否存在异常,请稍后再试!','error'); + return; + } + }); + } + return flag; + } + //保存信息 + /** + * 2019-01-25 + * 我对这个方法的实现结果存在严重怀疑,决定重构 + * 有如下疑点: + * 1、保存完主表,返回结果后,再发起请求去操作子表,如何保证事务的一致性(业务数据一致性) + * 2、保存完主表后,再通过selectmax的方式去获取主表主键id完全就是看人品的不可靠的思路 + * 修改计划: + * 2019-01-25修改零售出库相关操作 + * 修改方式,重写url,将主从表操作合并 + * + * + * **/ + $("#saveDepotHead").off("click").on("click",function(){ + if(!$('#depotHeadFM').form('validate')){ + return; + } + else { + //如果初始编号被修改了,就要判断单据编号是否存在 + if($.trim($("#Number").val()) != $('#Number').attr("data-defaultNumber")){ + //调用查询单据编号是否重名的方法 + if(checkDepotHeadNumber()){ + return; + } + } + //输入框提示 + if(listTitle === "采购订单列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择供应商!','warning'); + return; + } + } + else if(listTitle === "采购入库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择供应商!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择结算账户!','warning'); + return; + } + } + else if(listTitle === "零售退货列表"){ + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择付款账户!','warning'); + return; + } + if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { + $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); + return; + } + } + else if(listTitle === "销售退货列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择退货单位!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择付款账户!','warning'); + return; + } + } + else if(listTitle === "其它入库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择往来单位!','warning'); + return; + } + } + else if(listTitle === "零售出库列表"){ + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择收款账户!','warning'); + return; + } + if($("#backAmount").val()-0 <0){ + $.messager.alert('提示','找零金额不能小于0!','warning'); + return; + } + if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { + $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); + return; + } + + } + else if(listTitle === "销售订单列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择购买单位!','warning'); + return; + } + } + else if(listTitle === "销售出库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择购买单位!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择收款账户!','warning'); + return; + } + } + else if(listTitle === "采购退货列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择收货单位!','warning'); + return; + } + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择收款账户!','warning'); + return; + } + } + else if(listTitle === "其它出库列表"){ + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择往来单位!','warning'); + return; + } + } + else if(listTitle === "调拨出库列表"){ + + } + //进行明细的校验 + if(depotHeadID ==0) { + //新增模式下 + if (!CheckData("add")) { + return; + } + } + else { + //编辑模式下 + if (!CheckData("edit")) { + return; + } + } + var OrganId = null, ProjectId = null,AllocationProjectId = null; + var ChangeAmount = $.trim($("#ChangeAmount").val())-0; + var TotalPrice = $("#depotHeadFM .datagrid-footer [field='AllPrice'] div").text(); + if($('#OrganId').length){ + OrganId = $('#OrganId').combobox('getValue'); + } + var accountMoneyList = $("#AccountId").attr("data-accountmoneyarr"); //账户金额列表-多账户 + var accountMoneyArr; + if(accountMoneyList) { + accountMoneyList = accountMoneyList.replace("[","").replace("]","").toString(); + var reg=new RegExp("\"","g"); //创建正则RegExp对象 + accountMoneyList = accountMoneyList.replace(reg,""); //替换所有的双引号 + accountMoneyArr = accountMoneyList.split(","); //转为数组 + } + if(listSubType === "采购订单"||listSubType === "采购"||listSubType === "零售退货"||listSubType === "销售退货"){ + //付款为负数 + ChangeAmount = 0 - ChangeAmount; + TotalPrice = 0 - TotalPrice; + if(accountMoneyArr) { + accountMoneyArr = changeListFmtMinus(accountMoneyArr); //将数组单个金额中的数值转为负数 + } + } + //零售时候,可以从会员预付款中扣款 + var thisPayType = "现付"; + if(listSubType === "零售") { + if($("#payType").val() ==="预付款") { + thisPayType = "预付款"; + } + } + var SalesmanStr = ""; + if(listSubType === "销售" || listSubType === "销售退货"){ + var Salesman = $('#Salesman').combobox('getValues').toString(); //销售人员 + if(Salesman) { + var SalesmanArray = Salesman.split(","); + for (var i = 0; i < SalesmanArray.length; i++) { + if (i === SalesmanArray.length - 1) { + SalesmanStr += "<" + SalesmanArray[i] + ">"; + } + else { + SalesmanStr += "<" + SalesmanArray[i] + ">,"; + } + } + } + } + var getAccountID = $.trim($("#AccountId").val()); + if($("#AccountId").val() === "many"){ //多账户 + getAccountID = null; + } + var infoStr=JSON.stringify({ + Type: listType, + SubType: listSubType, + ProjectId: ProjectId, + AllocationProjectId: AllocationProjectId, + DefaultNumber: $.trim($("#Number").attr("data-defaultNumber")),//初始编号 + Number: $.trim($("#Number").val()), + LinkNumber: $.trim($("#LinkNumber").val()), + OperTime: $("#OperTime").val(), + OrganId: OrganId, + HandsPersonId: $.trim($("#HandsPersonId").val()), + Salesman: SalesmanStr, //销售人员 + AccountId: getAccountID, + ChangeAmount: ChangeAmount, //付款/收款 + TotalPrice: TotalPrice, //合计 + PayType: thisPayType, //现付/预付款 + Remark: $.trim($("#Remark").val()), + AccountIdList: $("#AccountId").attr("data-accountarr"), //账户列表-多账户 + AccountMoneyList: accountMoneyArr ? JSON.stringify(accountMoneyArr) : "", //账户金额列表-多账户 + Discount: $.trim($("#Discount").val()), + DiscountMoney: $.trim($("#DiscountMoney").val()), + DiscountLastMoney: $.trim($("#DiscountLastMoney").val()), + OtherMoney: $.trim($("#OtherMoney").val()), //采购费用、销售费用 + OtherMoneyList: $("#OtherMoney").attr("data-itemarr"), //支出项目列表-涉及费用 + OtherMoneyItem: $("#OtherMoney").attr("data-itemmoneyarr"), //支出项目金额列表-涉及费用 + AccountDay: $("#AccountDay").val() //结算天数 + }); + /** + * 零售出库,单独操作 + * */ + if(url.indexOf("/depotHead/addDepotHeadAndDetail")>=0){ + addDepotHeadAndDetail(url,infoStr); + return; + }else if(url.indexOf("/depotHead/updateDepotHeadAndDetail")>=0){ + updateDepotHeadAndDetail(url,infoStr,preTotalPrice); + return; + } + $.ajax({ + type:"post", + url: url, + dataType: "json", + async : false, + data: ({ + info:infoStr + }), + success: function (tipInfo) + { + if(tipInfo) + { + function closeDialog(){ + $('#depotHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showDepotHeadDetails(opts.pageNumber,opts.pageSize); + } + + if(thisPayType === "预付款") { + //更新用户信息-预付款 + var advanceIn = 0; //预付款金额 + if(depotHeadID){ + advanceIn = TotalPrice - preTotalPrice; //修改时,预付款=合计金额-加载金额 + } + else{ + advanceIn = TotalPrice; //新增时,预付款=合计金额 + } + $.ajax({ + type:"post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data:{ + supplierId: OrganId, //会员id + advanceIn: 0 - advanceIn //保存的同时扣掉用户的预付款 + }, + success: function(res){ + if(res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function(){ + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + + //保存明细记录 + if(depotHeadID ==0) + { + getMaxId(); //查找最大的Id + accept(depotHeadMaxId,closeDialog); //新增 + } + else + { + accept(depotHeadID,closeDialog); //修改 + } + } + else + { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + }); + + //打印单据 + $("#printDepotHeadShow").off("click").on("click",function(){ + var tableString = $("#depotHeadDlgShow").html(); + localStorage.setItem("tableString",tableString); + window.open("../../js/print/print_form.html","location:No;status:No;help:No;dialogWidth:800px;dialogHeight:600px;scroll:auto;"); + }); + + //初始化键盘enter事件 + $(document).keydown(function(event){ + //兼容 IE和firefox 事件 + var e = window.event || event; + var k = e.keyCode||e.which||e.charCode; + //兼容 IE,firefox 兼容 + var obj = e.srcElement ? e.srcElement : e.target; + //绑定键盘事件为 id是指定的输入框才可以触发键盘事件 13键盘事件 ---遗留问题 enter键效验 对话框会关闭问题 + if(k == "13"&&(obj.id=="State"||obj.id=="Number")) + { + $("#saveDepotHead").click(); + } + //搜索按钮添加快捷键 + if(k == "13"&&(obj.id=="searchState"||obj.id=="searchNumber"||obj.id=="searchMaterial")) + { + $("#searchBtn").click(); + } + }); + + //优惠率输入框事件 + $("#Discount").off("keyup").on("keyup",function(){ + var footer =$("#depotHeadFM .datagrid-footer"); + var totalPrice = footer.find("[field='TaxLastMoney']").find("div").text(); + var discountNum = $(this).val(); + var discountMoney = (discountNum/100*totalPrice).toFixed(2); + var discountLastMoney = (totalPrice - discountMoney).toFixed(2); + $("#DiscountMoney").val(discountMoney); //优惠金额 + $("#DiscountLastMoney").val(discountLastMoney); //优惠后金额 + if($("#AccountId").val()!=="many"){ + $("#ChangeAmount").val(discountLastMoney); //本次付、收款 + } + var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 + $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 + }); + + //优惠金额输入框事件 + $("#DiscountMoney").off("keyup").on("keyup",function(){ + var footer =$("#depotHeadFM .datagrid-footer"); + var totalPrice = footer.find("[field='TaxLastMoney']").find("div").text(); + var discountMoney = $(this).val(); + var discount = (discountMoney/totalPrice).toFixed(2)*100; + var discountLastMoney = (totalPrice - discountMoney).toFixed(2); + $("#Discount").val(discount); //优惠金额 + $("#DiscountLastMoney").val(discountLastMoney); //优惠后金额 + if($("#AccountId").val()!=="many"){ + $("#ChangeAmount").val(discountLastMoney); //本次付、收款 + } + var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 + $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 + }); + + //付款、收款输入框事件 + $("#ChangeAmount").off("keyup").on("keyup",function(){ + var discountLastMoney = $("#DiscountLastMoney").val(); + var changeAmount = $(this).val(); + var debtMoney = (discountLastMoney - changeAmount).toFixed(2); + $("#Debt").val(debtMoney); //本次欠款 + }); + + //多账户结算窗口弹出事件 + function depotHeadAccountDlgFun(){ + $('#depotHeadAccountDlg').dialog('open').dialog('setTitle',' 多账户结算'); + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").remove(); //先移除输入栏目 + $("#accountMoneyTotalDlg").text(0); //将合计初始化为0 + for(var i=0; i<6; i++) { + $("#depotHeadAccountDlg .tabs-tmp .account-content-tmp").attr("data-index",5-i); //添加索引 + var contentTmp = $("#depotHeadAccountDlg .tabs-tmp tbody").html(); + var accountDlgHead = $("#depotHeadAccountDlg .account-head-tmp"); + accountDlgHead.after(contentTmp); + } + + //获取账户信息 + function accountDlgFun() { + var options = ""; + if(accountList !=null){ + for(var i = 0 ;i < accountList.length;i++) { + var account = accountList[i]; + options += ''; + } + $(".account-id-dlg").empty().append("").append(options); + } + } + accountDlgFun(); //获取账户信息 + $("#depotHeadAccountDlg .tabs-tmp").hide(); //隐藏模板 + + //账户金额输入框事件-多账户 + $("#depotHeadAccountDlg .account-dlg .account-money-dlg").off("keyup").on("keyup",function(){ + var totalAccoutNum = 0; + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){ + var eachAccountMoney = $(this).find(".account-money-dlg").val()-0; + totalAccoutNum += eachAccountMoney; + }); + $("#accountMoneyTotalDlg").text(totalAccoutNum); + }); + + //结算多账户列表的切换事件 + $("#depotHeadAccountDlg .account-dlg .account-id-dlg").off("change").on("change",function(){ + var selectAccount = $(this).children('option:selected').text(); + if(selectAccount === ""){ + var thisMoneyDom = $(this).closest(".account-content-tmp").find(".account-money-dlg"); + var thisMoney = thisMoneyDom.val()-0; + var accountMoneyTotal = $("#accountMoneyTotalDlg").text() - 0; + $("#accountMoneyTotalDlg").text(accountMoneyTotal - thisMoney); + thisMoneyDom.val(""); //账户为空时候,将金额也置为空 + } + }); + + //保存按钮事件 + $("#saveDepotHeadAccountDlg").off("click").on("click", function(){ + //完成多账户的json数据存储 + var accountArr = []; //账户id数组 + var accountMoneyArr = []; //账户金额数组 + var errorIndex = -1; + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){ + var thisAccId = $(this).find(".account-id-dlg").val(); + var thisAccMoney = $(this).find(".account-money-dlg").val(); + if(!thisAccId && thisAccMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisAccId && !thisAccMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisAccId && thisAccMoney) { + accountArr.push(thisAccId); + accountMoneyArr.push(thisAccMoney); + } + }); + if(errorIndex >-1){ + $.messager.alert('错误提示',"第" + (errorIndex+1) + "行数据存在问题,请修改",'warning'); + return; + } + var discountLastMoneyNum =$("#DiscountLastMoney").val()-0; //优惠后金额 + var accountMoneyTotal = $("#accountMoneyTotalDlg").text()-0; //本次付款或者收款 + if(accountMoneyTotal===0){ + $.messager.alert('错误提示',"请填写金额后保存",'warning'); + return; + } + if(accountArr.length && accountMoneyArr.length) { + $("#AccountId").attr("data-accountArr",JSON.stringify(accountArr)).attr("data-accountMoneyArr",JSON.stringify(accountMoneyArr)); //json数据存储 + } + if(listSubType==="零售" || listSubType==="零售退货") { + $("#getAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 + var backAmount = $("#getAmount").val() - $("#ChangeAmount").val(); + $("#backAmount").val((backAmount - 0).toFixed(2)); //计算找零金额 + } + else { + $("#ChangeAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 + } + $("#Debt").val((discountLastMoneyNum-accountMoneyTotal).toFixed(2)); //本次欠款 + $("#depotHeadAccountDlg").dialog('close'); + }); + + //取消事件 + function cancelFun(){ + if($("#AccountId").attr("data-accountArr")){ + $("#depotHeadAccountDlg").dialog('close'); + } + else { + $("#depotHeadAccountDlg").dialog('close'); + $("#AccountId").val("").removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 + if(listSubType==="零售" || listSubType==="零售退货"){ + $("#ChangeAmount").prop("readonly","readonly"); + } + else { + $("#ChangeAmount").removeProp("readonly","readonly"); + } + $(".many-account-ico").hide(); //隐藏多账户小图标 + } + } + //多账户-取消按钮 + $("#cancelDepotHeadAccountDlg").off("click").on("click", function(){ + cancelFun(); + }); + + //多账户-右上角的关闭按钮 + $("#depotHeadAccountDlg").prev().find(".panel-tool-close").off("click").on("click", function(){ + cancelFun(); + }); + } + //点击多账户,弹出输入框 + $("#AccountId").off("change").on("change",function(){ + var selectText = $(this).children('option:selected').text(); + if(selectText === "多账户"){ + $("#ChangeAmount").prop("readonly","readonly"); + depotHeadAccountDlgFun(); + $(".many-account-ico").show(); //显示多账户小图标 + } + else{ + $(this).removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 + if(listSubType==="零售" || listSubType==="零售退货"){ + $("#ChangeAmount").prop("readonly","readonly"); + } + else { + $("#ChangeAmount").removeProp("readonly","readonly"); + } + $(".many-account-ico").hide(); //隐藏多账户小图标 + } + }); + + //结算账户-多账户小图标-点击事件 + $(".many-account-ico").off("click").on("click",function(){ + depotHeadAccountDlgFun(); + //给弹窗赋值-多账户数据 + var accountArr = $("#AccountId").attr("data-accountArr"); + accountArr = JSON.parse(accountArr); + var accountMoneyArr = $("#AccountId").attr("data-accountMoneyArr"); + accountMoneyArr = JSON.parse(accountMoneyArr); + $("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){ + var index = $(this).attr("data-index"); + $(this).find(".account-id-dlg").val(accountArr[index]); + $(this).find(".account-money-dlg").val(accountMoneyArr[index]); + }); + if(listSubType==="零售" || listSubType==="零售退货") { + $("#accountMoneyTotalDlg").text($("#getAmount").val()); + } + else { + $("#accountMoneyTotalDlg").text($("#ChangeAmount").val()); + } + }); + + //点击采购费用、销售费用的事件 + $(".other-money-ico").off("click").on("click",function(){ + $('#otherMoneyDlg').dialog('open').dialog('setTitle',' '+ listSubType +'费用'); + $("#otherMoneyDlg .money-dlg .money-content-tmp").remove(); //先移除输入栏目 + $("#otherMoneyTotalDlg").text(0); //将合计初始化为0 + for(var i=0; i<6; i++) { + $("#otherMoneyDlg .tabs-tmp .money-content-tmp").attr("data-index",5-i); //添加索引 + var contentTmp = $("#otherMoneyDlg .tabs-tmp tbody").html(); + var moneyDlgHead = $("#otherMoneyDlg .money-head-tmp"); + moneyDlgHead.after(contentTmp); + } + + //获取支出项目信息 + function moneyDlgFun() { + var options = ""; + if(outItemList !=null){ + for(var i = 0 ;i < outItemList.length;i++) { + var money = outItemList[i]; + options += ''; + } + $(".money-id-dlg").empty().append("").append(options); + } + } + moneyDlgFun(); //获取支出项目信息 + $("#otherMoneyDlg .tabs-tmp").hide(); //隐藏模板 + + //支出项目的金额输入框事件 + $("#otherMoneyDlg .money-dlg .other-money-dlg").off("keyup").on("keyup",function(){ + var totalMoneyNum = 0; + $("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){ + var eachOtherMoney = $(this).find(".other-money-dlg").val()-0; + totalMoneyNum += eachOtherMoney; + }); + $("#otherMoneyTotalDlg").text(totalMoneyNum); + }); + + //支出项目列表的切换事件 + $("#otherMoneyDlg .money-dlg .money-id-dlg").off("change").on("change",function(){ + var selectItem = $(this).children('option:selected').text(); + if(selectItem === ""){ + var thisMoneyDom = $(this).closest(".money-content-tmp").find(".other-money-dlg"); + var thisMoney = thisMoneyDom.val()-0; + var otherMoneyTotal = $("#otherMoneyTotalDlg").text() - 0; + $("#otherMoneyTotalDlg").text(otherMoneyTotal - thisMoney); + thisMoneyDom.val(""); //支出项目为空时候,将金额也置为空 + } + }); + + //保存按钮事件 + $("#saveOtherMoneyDlg").off("click").on("click", function(){ + //完成支出项目的json数据存储 + var itemArr = []; //支出项目id数组 + var itemMoneyArr = []; //支出项目金额数组 + var errorIndex = -1; + $("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){ + var thisId = $(this).find(".money-id-dlg").val(); + var thisMoney = $(this).find(".other-money-dlg").val(); + if(!thisId && thisMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisId && !thisMoney) { + errorIndex = $(this).attr("data-index")-0; + return; + } + if(thisId && thisMoney) { + itemArr.push(thisId); + itemMoneyArr.push(thisMoney); + } + }); + if(errorIndex >-1){ + $.messager.alert('错误提示',"第" + (errorIndex+1) + "行数据存在问题,请修改",'warning'); + return; + } + var otherMoneyTotal = $("#otherMoneyTotalDlg").text()-0; //合计金额 + if(otherMoneyTotal === 0){ //0的时候清空缓存数据 + $("#OtherMoney").removeAttr("data-itemArr").removeAttr("data-itemMoneyArr"); + } + if(itemArr.length && itemMoneyArr.length) { + $("#OtherMoney").attr("data-itemArr",JSON.stringify(itemArr)).attr("data-itemMoneyArr",JSON.stringify(itemMoneyArr)); //json数据存储 + } + $("#OtherMoney").val(otherMoneyTotal); //给采购费用、销售费用赋值 + $("#otherMoneyDlg").dialog('close'); + }); + + //取消事件 + function cancelFun(){ + if($("#OtherMoney").attr("data-itemArr")){ + $("#otherMoneyDlg").dialog('close'); + } + else { + $("#otherMoneyDlg").dialog('close'); + $("#OtherMoney").val("").removeAttr("data-itemArr").removeAttr("data-itemMoneyArr"); //将下拉置空并把缓存参数清空 + } + } + //费用-取消按钮 + $("#cancelOtherMoneyDlg").off("click").on("click", function(){ + cancelFun(); + }); + + //费用-右上角的关闭按钮 + $("#otherMoneyDlg").prev().find(".panel-tool-close").off("click").on("click", function(){ + cancelFun(); + }); + + //给弹窗赋值-采购费用、销售费用数据 + var itemArr = $("#OtherMoney").attr("data-itemArr"); + itemArr = JSON.parse(itemArr); + var itemMoneyArr = $("#OtherMoney").attr("data-itemMoneyArr"); + itemMoneyArr = JSON.parse(itemMoneyArr); + $("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){ + var index = $(this).attr("data-index"); + $(this).find(".money-id-dlg").val(itemArr[index]); + if(itemMoneyArr[index]!="undefined"){ + $(this).find(".other-money-dlg").val(itemMoneyArr[index]); + } + }); + $("#otherMoneyTotalDlg").text($("#OtherMoney").val()); + }); + + if(listTitle === "采购入库列表" || listTitle === "其它入库列表" || listTitle === "采购订单列表"|| listTitle === "零售出库列表"|| listTitle === "销售出库列表"|| listTitle === "销售订单列表"){ + var supplierType = "供应商"; + if(listTitle === "零售出库列表"){ + supplierType = "会员"; + }else if(listTitle === "销售出库列表" || listTitle === "销售订单列表"){ + supplierType = "客户"; + } + //检查单位名称是否存在 ++ 重名无法提示问题需要跟进 + function checkSupplierName() { + var supplierName = $.trim($("#supplier").val()); + var orgSupplier = ""; + //表示是否存在 true == 存在 false = 不存在 + var flag = false; + //开始ajax名称检验,不能重名 + if(supplierName.length > 0 &&( orgSupplier.length ==0 || supplierName != orgSupplier)) + { + $.ajax({ + type:"get", + url: "/supplier/checkIsNameExist", + dataType: "json", + async : false, + data: ({ + id : 0, + name : supplierName + }), + success: function (res) { + if(res && res.code === 200) { + if(res.data && res.data.status) { + flag = res.data.status; + if (flag) { + $.messager.alert('提示', '单位名称已经存在', 'info'); + return; + } + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('提示','检查单位名称是否存在异常,请稍后再试!','error'); + return; + } + }); + } + return flag; + } + + //保存供应商信息 + $("#saveSupplier").off("click").on("click",function() { + if(validateForm("supplierFM")) { + return; + } + if(checkSupplierName()){ + return; + } + var reg = /^([0-9])+$/; + var phonenum = $.trim($("#phonenum").val()); + if(phonenum.length>0 && !reg.test(phonenum)) + { + $.messager.alert('提示','电话号码只能是数字','info'); + $("#phonenum").val("").focus(); + return; + } + var beginNeedGet = $.trim($("#BeginNeedGet").val()); + var beginNeedPay = $.trim($("#BeginNeedPay").val()); + if(beginNeedGet && beginNeedPay) { + $.messager.alert('提示','期初应收和期初应付不能同时输入','info'); + return; + } + var url = '/supplier/add'; + var supObj = $("#supplierFM").serializeObject(); + supObj.type = supplierType; + supObj.enabled = 1; + $.ajax({ + url: url, + type:"post", + dataType: "json", + data:{ + info: JSON.stringify(supObj) + }, + success: function(res) { + if (res) { + $('#supplierDlg').dialog('close'); + initSupplier(); //刷新供应商 + } + } + }); + }); + } +} + +function showDepotHeadDetails(pageNo,pageSize){ + var materialParam = $.trim($("#searchMaterial").val()); + $.ajax({ + type:"get", + url: "/depotItem/getHeaderIdByMaterial", + dataType: "json", + data: ({ + materialParam: materialParam, + depotIds: depotString + }), + success: function (res) { + if(res && res.code === 200) { + var ids = res.data; + if(ids){ + $.ajax({ + type: "get", + url: "/depotHead/list", + dataType: "json", + data: ({ + search: JSON.stringify({ + type: listType, + subType: listSubType, + state: $.trim($("#searchState").val()), + number: $.trim($("#searchNumber").val()), + beginTime: $("#searchBeginTime").val(), + endTime: $("#searchEndTime").val(), + dhIds: ids + }), + currentPage: pageNo, + pageSize: pageSize + }), + success: function (res) { + if(res && res.code === 200){ + if(res.data && res.data.page) { + $("#tableData").datagrid('loadData', res.data.page); + } + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); + return; + } + }); + } + else { + $("#tableData").datagrid('loadData', []); + } + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + return; + } + }); +} + +//自动计算事件 +function autoReckon() { + //延时绑定事件 + setTimeout(function(){ + var body =$("#depotHeadFM .datagrid-body"); + var footer =$("#depotHeadFM .datagrid-footer"); + var input = ".datagrid-editable-input"; + //点击商品下拉框,自动加载数量、单价、金额 + body.find("[field='Stock']").find(input).prop("readonly","readonly"); + //点击库存文本框,字段计算库存 + body.find("[field='Stock']").find(input).off("click").on("click",function(){ + var depotId = body.find("[field='DepotId']").find(".combo-value").val(); + var mId = body.find("[field='MaterialId']").find(".combo-value").val(); + var monthTime = getNowFormatMonth(); + if(depotId && mId){ + var ratio = body.find("[field='Unit']").find(input).attr("data-ratio"); + body.find("[field='Stock']").find(input).prop("readonly","readonly"); + //在新增的时候,这个ratio有值;在编辑的时候,这个ratio为undefined + var type = "click"; //type 类型:点击 click,选择 select + findStockNumById(depotId, mId, monthTime, body, input, ratio, type); + } + else{ + body.find("[field='Stock']").find(input).val(0).attr("data-stock",0); //加载库存数据 + } + }); + //修改数量,自动计算金额和合计,另外计算含税单价、税额、价税合计 + body.find("[field='OperNumber']").find(input).off("keyup").on("keyup",function(){ + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var OperNumber =$(this).val()-0; //数量 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + + }); + //修改单价,自动计算金额和合计 + body.find("[field='UnitPrice']").find(input).off("keyup").on("keyup",function(){ + var UnitPrice =$(this).val()-0; //单价 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //点击单价,自动提示参考价格列表 + body.find("[field='UnitPrice']").find(input).off("click").on("click",function(){ + var self = this; + var mValue = body.find("[field='MaterialId'] .combo-value").attr("value"); //获取选中的商品id + if(!mValue) { + return; + } + else { + if(listTitle!="销售出库列表" && listTitle!="采购退货列表" && listTitle!="其它出库列表" && listTitle!="调拨出库列表") { + return; + } + $.ajax({ + url: "/material/findById", + type: "get", + dataType: "json", + data: { + id: mValue - 0 + }, + success: function(res){ + if(res && res.rows && res.rows[0]) { + var retailPrice = res.rows[0].RetailPrice; + var presetPriceOne = res.rows[0].PresetPriceOne; + var presetPriceTwo = res.rows[0].PresetPriceTwo; + //定义模版 + var temp = "
"; + temp +="
    "; + temp +="
  • 批发价:" + presetPriceTwo + "
  • "; + temp +="
  • 零售价:" + retailPrice + "
  • "; + temp +="
"; + temp +="
"; + if($('.price-list').length){ + $('.price-list').remove(); //如果存在价格列表先移除 + } + else { + if(presetPriceTwo != undefined){ //多单位的商品 + $(self).after(temp); //加载列表信息 + } + } + $('.price-list ul li').off("click").on("click",function(){ + var price = $(this).text(); + price = price.substring(price.indexOf(":") + 1); + $(self).val(price); + $(self).keyup(); //模拟键盘操作 + $('.price-list').remove(); //移除价格列表 + }); + //点击空白处移除价格列表 + $(".datagrid-body").off("click").on("click",function(){ + $('.price-list').remove(); //移除价格列表 + }); + } + }, + error: function(){ + $.messager.alert('错误提示','查询商品信息异常,请稍后再试!','error'); + return; + } + }); + } + }); + //修改含税单价,自动计算单价、金额、税额、价税合计和合计 + body.find("[field='TaxUnitPrice']").find(input).off("keyup").on("keyup",function(){ + var TaxUnitPrice =$(this).val()-0; //含税单价 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var UnitPrice = TaxUnitPrice/(1+taxRate/100); //计算单价 + body.find("[field='UnitPrice']").find(input).val((UnitPrice).toFixed(2)); //单价 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改金额,自动计算单价、税额、价税合计和合计 + body.find("[field='AllPrice']").find(input).off("keyup").on("keyup",function(){ + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var AllPrice =$(this).val()-0; //金额 + var UnitPrice = (AllPrice/OperNumber).toFixed(2); + body.find("[field='UnitPrice']").find(input).val(UnitPrice); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改税率,自动计算含税单价、税额、价税合计和合计 + body.find("[field='TaxRate']").find(input).off("keyup").on("keyup",function(){ + var taxRate =$(this).val()-0; //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改税额,自动计算税率、含税单价、价税合计和合计 + body.find("[field='TaxMoney']").find(input).off("keyup").on("keyup",function(){ + var taxMoney =$(this).val()-0; //税额 + var AllPrice = body.find("[field='AllPrice']").find(input).val(); //金额 + var taxRate = taxMoney/AllPrice*100; //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxRate']").find(input).val((taxRate).toFixed(2)); //税率 + body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + //修改价税合计,自动计算税率、含税单价、税额和合计 + body.find("[field='TaxLastMoney']").find(input).off("keyup").on("keyup",function(){ + var taxLastMoney =$(this).val()-0; //价税合计 + var AllPrice = body.find("[field='AllPrice']").find(input).val(); //金额 + var taxRate = (taxLastMoney-AllPrice)/AllPrice*100; //税率 + var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 + var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 + body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxRate']").find(input).val((taxRate).toFixed(2)); //税率 + body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); + }); + + //加载税率 + if(thisTaxRate) { + body.find("[field='TaxRate']").find(input).val(thisTaxRate); + } + else { + body.find("[field='TaxRate']").find(input).val(0); //默认为0 + } + + //在商品类型加载 组装件、普通子件 + var mType = body.find("[field='MType']"); + var rowListLength = mType.find(input).closest(".datagrid-row").attr("datagrid-row-index"); + var mTypeValue = "组合件"; + if(rowListLength > 0){ + mTypeValue = "普通子件"; + } + if(listSubType == "组装单" || listSubType == "拆卸单"){ + mType.find(input).val(mTypeValue).prop("readonly","readonly"); + } + },500); +} + +//结束编辑 +function endEditing() { + if (editIndex == undefined) { return true } + if ($('#materialData').datagrid('validateRow', editIndex)) { + //仓库信息 + var edDepot = $('#materialData').datagrid('getEditor', {index:editIndex,field:'DepotId'}); + var DepotName = $(edDepot.target).combobox('getText'); + $('#materialData').datagrid('getRows')[editIndex]['DepotName'] = DepotName; + //商品信息 + var edMaterial = $('#materialData').datagrid('getEditor', {index:editIndex,field:'MaterialId'}); + var MaterialName = $(edMaterial.target).combobox('getText'); + $('#materialData').datagrid('getRows')[editIndex]['MaterialName'] = MaterialName; + $('#materialData').datagrid('endEdit', editIndex); + editIndex = undefined; + return true; + } else { + return false; + } +} +//单击 +function onClickRow(index) { + if (editIndex != index) { + if (endEditing()) { + $('#materialData').datagrid('selectRow', index).datagrid('beginEdit', index); + editIndex = index; + autoReckon(); + } else { + $('#materialData').datagrid('selectRow', editIndex); + } + } +} +//新增 +function append(){ + if (endEditing()) { + $('#materialData').datagrid('appendRow', {DepotId:defDepotId}); + editIndex = $('#materialData').datagrid('getRows').length - 1; + $('#materialData').datagrid('selectRow', editIndex).datagrid('beginEdit', editIndex); + autoReckon(); + } +} +//删除 +function batchDel(){ + /** + * 重写一下删除的逻辑 + * 获取所有选中行,直接从列表中移除 + * 点击保存时,将需要后台删除的数据提交到服务器 + * **/ + /** + * create by: qiankunpingtai + * create time: 2019/3/20 16:26 + * description: + * 这个地方比较坑的,花了一个多小时才搞明白为什么 + * 1、删除之前必须先调用endEditing结束编辑 + * 2、如果只是调用endEditing结束编辑那么正在编辑行的被选中状态会被去掉 + * 所以要在调用endEditing先获取选中的行 + */ + //如果编辑的行一开始是选中状态,结束编辑后仍然是选中状态 + var row = $('#materialData').datagrid('getChecked'); + if (endEditing()) { + if (row.length == 0) { + $.messager.alert('删除提示', '没有记录被选中!', 'info'); + return; + } + if (row.length > 0) { + $.messager.confirm('删除确认', '确定要删除选中的' + row.length + '条单据信息吗?', function (r) { + if (r) { + for (var i = 0; i < row.length; i++) { + $('#materialData').datagrid('deleteRow', $('#materialData').datagrid("getRowIndex", row[i])); + } + } + }); + } + } +} +function removeit(){ + if (editIndex == undefined) { return } + $('#materialData').datagrid('cancelEdit', editIndex) + .datagrid('deleteRow', editIndex); + editIndex = undefined; +} +//撤销 +function reject() { + $('#materialData').datagrid('rejectChanges'); + editIndex = undefined; +} +//判断 +function CheckData(type) { + append(); + removeit(); + var change = $('#materialData').datagrid('getChanges').length; + if(type =="add" && !change) { + $.messager.alert('提示','请输入明细信息!','warning'); + return false; + } + var row = $('#materialData').datagrid('getRows'); + if(!row.length){ + $.messager.alert('提示',"请输入明细信息!",'info'); + return false; + } + var totalRowNum = ""; + for (var i = 0; i < row.length; i++) { + if (row[i].DepotId == "" || row[i].MaterialId == "" || row[i].OperNumber == "" || row[i].UnitPrice === "" || row[i].AllPrice === "") { + totalRowNum += (i + 1) + "、"; + } + } + if (totalRowNum != "") { + var totalRowNum = totalRowNum.substring(0, totalRowNum.length - 1); + $.messager.alert('提示',"第" + totalRowNum + "行数据填写不完整!",'info'); + return false; + } + return true; +} +//保存 +function accept(accepId,fun) { + var inserted = $("#materialData").datagrid('getChanges', "inserted"); + var deleted = $("#materialData").datagrid('getChanges', "deleted"); + var updated = $("#materialData").datagrid('getChanges', "updated"); + $.ajax({ + type: "post", + url: "/depotItem/saveDetials", + data: { + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated), + headerId:accepId + }, + success: function (tipInfo) + { + if (tipInfo) { + $.messager.alert('提示','保存成功!','info'); + } + else { + $.messager.alert('提示', '保存失败!', 'error'); + } + fun && fun(); + }, + error: function (XmlHttpRequest, textStatus, errorThrown) + { + $.messager.alert('提示',XmlHttpRequest.responseText,'error'); + fun && fun(); + } + }); + if (endEditing()) { + $('#materialData').datagrid('acceptChanges'); + } +} +//获取MaxId +function getMaxId(){ + var depotHeadMax=null; + $.ajax({ + type:"get", + url: "/depotHead/getMaxId", + //设置为同步 + async:false, + dataType: "json", + success: function (res) { + if(res && res.code === 200) { + if(res.data) { + depotHeadMax = res.data.maxId; + } + } + } + }); + + if(depotHeadMax !=null) { + depotHeadMaxId=depotHeadMax; + } +} + +/** + * 新增单据主表及单据子表 + * */ +function addDepotHeadAndDetail(url,infoStr){ + var inserted = null; + if(pageType === "skip") { + inserted = $("#materialData").datagrid('getChanges', "updated"); + } else { + inserted = $("#materialData").datagrid('getChanges', "inserted"); + } + var deleted = $("#materialData").datagrid('getChanges', "deleted"); + var updated = $("#materialData").datagrid('getChanges', "updated"); + $.ajax({ + type:"post", + url: url, + dataType: "json", + async : false, + data: ({ + info:infoStr, + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated) + }), + success: function (tipInfo){ + + if(tipInfo){ + if(tipInfo.code!=200){ + $.messager.alert('提示', tipInfo.msg, 'error'); + return; + } + $.messager.alert('提示','保存成功!','info'); + $('#depotHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showDepotHeadDetails(opts.pageNumber,opts.pageSize); + + }else { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + + + }); +} +/** + * 修改单据主表及单据子表 + * */ +function updateDepotHeadAndDetail(url,infoStr,preTotalPrice){ + var inserted = $("#materialData").datagrid('getChanges', "inserted"); + var deleted = $("#materialData").datagrid('getChanges', "deleted"); + var updated = $("#materialData").datagrid('getChanges', "updated"); + $.ajax({ + type:"post", + url: url, + dataType: "json", + async : false, + data: ({ + id:url.substring(url.lastIndexOf("?id=")+4,url.length), + info:infoStr, + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated), + preTotalPrice:preTotalPrice + }), + success: function (tipInfo){ + if(tipInfo){ + if(tipInfo.code!=200){ + $.messager.alert('提示', tipInfo.msg, 'error'); + return; + } + $.messager.alert('提示','保存成功!','info'); + $('#depotHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showDepotHeadDetails(opts.pageNumber,opts.pageSize); + if (endEditing()) { + $('#materialData').datagrid('acceptChanges'); + } + }else { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); +} + + + + diff --git a/erp_web/pages/materials/allocation_out_list.html b/erp_web/pages/materials/allocation_out_list.html index 02924d24..134a0712 100644 --- a/erp_web/pages/materials/allocation_out_list.html +++ b/erp_web/pages/materials/allocation_out_list.html @@ -15,7 +15,7 @@ - + diff --git a/erp_web/pages/materials/assemble_list.html b/erp_web/pages/materials/assemble_list.html index 46ed61d4..c0c6bf88 100644 --- a/erp_web/pages/materials/assemble_list.html +++ b/erp_web/pages/materials/assemble_list.html @@ -15,7 +15,7 @@ - + diff --git a/erp_web/pages/materials/disassemble_list.html b/erp_web/pages/materials/disassemble_list.html index 556d3f80..0458437c 100644 --- a/erp_web/pages/materials/disassemble_list.html +++ b/erp_web/pages/materials/disassemble_list.html @@ -15,7 +15,7 @@ - + - + diff --git a/erp_web/pages/materials/other_out_list.html b/erp_web/pages/materials/other_out_list.html index f803864b..ee6ae1b7 100644 --- a/erp_web/pages/materials/other_out_list.html +++ b/erp_web/pages/materials/other_out_list.html @@ -15,7 +15,7 @@ - + diff --git a/erp_web/pages/materials/purchase_back_list.html b/erp_web/pages/materials/purchase_back_list.html index 1615d388..931098f2 100644 --- a/erp_web/pages/materials/purchase_back_list.html +++ b/erp_web/pages/materials/purchase_back_list.html @@ -15,7 +15,7 @@ - + diff --git a/erp_web/pages/materials/purchase_in_list.html b/erp_web/pages/materials/purchase_in_list.html index d6b6b5aa..52551bec 100644 --- a/erp_web/pages/materials/purchase_in_list.html +++ b/erp_web/pages/materials/purchase_in_list.html @@ -15,7 +15,7 @@ - + diff --git a/erp_web/pages/materials/purchase_orders_list.html b/erp_web/pages/materials/purchase_orders_list.html index af449d7e..ff69c066 100644 --- a/erp_web/pages/materials/purchase_orders_list.html +++ b/erp_web/pages/materials/purchase_orders_list.html @@ -15,7 +15,7 @@ - + diff --git a/erp_web/pages/materials/retail_back_list.html b/erp_web/pages/materials/retail_back_list.html index 5e733352..f35d5205 100644 --- a/erp_web/pages/materials/retail_back_list.html +++ b/erp_web/pages/materials/retail_back_list.html @@ -15,7 +15,7 @@ - + diff --git a/erp_web/pages/materials/retail_out_list.html b/erp_web/pages/materials/retail_out_list.html index 3f9131b7..df9195eb 100644 --- a/erp_web/pages/materials/retail_out_list.html +++ b/erp_web/pages/materials/retail_out_list.html @@ -15,7 +15,7 @@ - + diff --git a/erp_web/pages/materials/sale_back_list.html b/erp_web/pages/materials/sale_back_list.html index 27655db8..5df46e50 100644 --- a/erp_web/pages/materials/sale_back_list.html +++ b/erp_web/pages/materials/sale_back_list.html @@ -15,7 +15,7 @@ - + diff --git a/erp_web/pages/materials/sale_orders_list.html b/erp_web/pages/materials/sale_orders_list.html index 0b790973..c459a56d 100644 --- a/erp_web/pages/materials/sale_orders_list.html +++ b/erp_web/pages/materials/sale_orders_list.html @@ -15,7 +15,7 @@ - + diff --git a/erp_web/pages/materials/sale_out_list.html b/erp_web/pages/materials/sale_out_list.html index fc63c71a..367fab3a 100644 --- a/erp_web/pages/materials/sale_out_list.html +++ b/erp_web/pages/materials/sale_out_list.html @@ -15,7 +15,7 @@ - + From 6ddf9cb0b475b72ef9f8cf83e0d4b2ad5d783f50 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Wed, 8 May 2019 09:21:24 +0800 Subject: [PATCH 035/117] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=94=B6=E9=A2=84?= =?UTF-8?q?=E4=BB=98=E6=AC=BE=EF=BC=8C=E5=8E=BB=E6=8E=89=E5=A4=9A=E4=BD=99?= =?UTF-8?q?=E7=9A=84js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- erp_web/js/pages/financial/advance_in.js | 233 ++++------------------- 1 file changed, 37 insertions(+), 196 deletions(-) diff --git a/erp_web/js/pages/financial/advance_in.js b/erp_web/js/pages/financial/advance_in.js index 42be5859..dc6f6127 100644 --- a/erp_web/js/pages/financial/advance_in.js +++ b/erp_web/js/pages/financial/advance_in.js @@ -1,27 +1,16 @@ //初始化界面 +var listType = "收预付款"; +var itemType = true; //隐藏当前列 +var moneyType = false; //显示当前列 +var payTypeTitle = "无标题"; +var inOrOut = ""; +var amountNum = "SYF"; +var supUrl = "/supplier/findBySelect_sup"; //供应商接口 +var cusUrl = "/supplier/findBySelect_cus"; //客户接口 +var retailUrl = "/supplier/findBySelect_retail"; //散户接口 +var organUrl = retailUrl; +var listTitle='收预付款列表'; $(function(){ - var accountList = null; - var accountID = null; - var supplierList = null; - var supplierID = null; - var personList = null; - var personID = null; - var ProjectSearch = null; - var accountHeadMaxId = null; //获取最大的Id - var accepId = null; //保存的主表id - var url; - var accountHeadID = 0; - var preTotalPrice = 0; //前一次加载的金额 - var orgAccountHead = ""; //保存编辑前的名称 - var editIndex = undefined; - var listTitle = ""; //单据标题 - var payTypeTitle = "";//收入 支出 - var organUrl = ""; //组织数据接口地址 - var amountNum = ""; //单据编号开头字符 - var itemType = true; //隐藏当前列 - var moneyType = true; //隐藏当前列 - var inOrOut = ""; //链接类型为收入或者支出 - getType(); initSystemData_person(); //经手人数据 initSelectInfo_person(); //经手人信息 initSystemData_account(); //账户数据 @@ -33,67 +22,6 @@ $(function(){ bindEvent();//绑定操作事件 $("#searchBtn").click(); }); -//根据单据名称获取类型 -function getType(){ - listTitle = $("#tablePanel").prev().text(); - var supUrl = "/supplier/findBySelect_sup"; //供应商接口 - var cusUrl = "/supplier/findBySelect_cus"; //客户接口 - var retailUrl = "/supplier/findBySelect_retail"; //散户接口 - if(listTitle === "收入单列表"){ - listType = "收入"; - itemType = false; //显示当前列 - moneyType = true; //隐藏当前列 - payTypeTitle = "收入项目"; - inOrOut = "in"; - organUrl = cusUrl; - amountNum = "SR"; - } - else if(listTitle === "支出单列表"){ - listType = "支出"; - itemType = false; //显示当前列 - moneyType = true; //隐藏当前列 - payTypeTitle = "支出项目"; - inOrOut = "out"; - organUrl = supUrl; - amountNum = "ZC"; - } - else if(listTitle === "收款单列表"){ - listType = "收款"; - itemType = true; //隐藏当前列 - moneyType = false; //显示当前列 - payTypeTitle = "无标题"; - inOrOut = ""; - organUrl = cusUrl; - amountNum = "SK"; - } - else if(listTitle === "付款单列表"){ - listType = "付款"; - itemType = true; //隐藏当前列 - moneyType = false; //显示当前列 - payTypeTitle = "无标题"; - inOrOut = ""; - organUrl = supUrl; - amountNum = "FK"; - } - else if(listTitle === "转账单列表"){ - listType = "转账"; - itemType = true; //隐藏当前列 - moneyType = false; //显示当前列 - payTypeTitle = "无标题"; - inOrOut = ""; - organUrl = supUrl; - amountNum = "ZZ"; - } - else if(listTitle === "收预付款列表"){ - listType = "收预付款"; - itemType = true; //隐藏当前列 - moneyType = false; //显示当前列 - payTypeTitle = "无标题"; - inOrOut = ""; - organUrl = retailUrl; - amountNum = "SYF"; - } -} //获取账户信息 function initSystemData_account(){ $.ajax({ @@ -193,23 +121,8 @@ function initForm(){ //初始化表格数据 function initTableData(){ - var organNameTitle = ""; + var organNameTitle = "付款会员"; var organNameHidden = false; - if(listType === "收入" || listType === "支出") { - organNameTitle = "往来单位"; - } - else if(listType === "收款") { - organNameTitle = "付款单位"; - } - else if(listType === "付款") { - organNameTitle = "收款单位"; - } - else if(listType === "收预付款") { - organNameTitle = "付款会员"; - } - if(listType === "转账") { - organNameHidden = true; - } $('#tableData').datagrid({ //width:700, height:heightInfo, @@ -780,65 +693,6 @@ function bindEvent(){ if(!$('#accountHeadFM').form('validate')){ return; } else { - if (listTitle === "收入单列表") { - if (!$('#AccountId').val()) { - $.messager.alert('提示', '请选择收款账户!', 'warning'); - return; - } - if (!$('#OrganId').combobox('getValue')) { - $.messager.alert('提示', '请选择往来单位!', 'warning'); - return; - } - if (!$('#HandsPersonId').val()) { - $.messager.alert('提示', '请选择经手人!', 'warning'); - return; - } - } - else if (listTitle === "支出单列表") { - if (!$('#AccountId').val()) { - $.messager.alert('提示', '请选择付款账户!', 'warning'); - return; - } - if (!$('#OrganId').combobox('getValue')) { - $.messager.alert('提示', '请选择往来单位!', 'warning'); - return; - } - if (!$('#HandsPersonId').val()) { - $.messager.alert('提示', '请选择经手人!', 'warning'); - return; - } - } - else if (listTitle === "收款单列表") { - if (!$('#OrganId').combobox('getValue')) { - $.messager.alert('提示', '请选择付款单位!', 'warning'); - return; - } - if (!$('#HandsPersonId').val()) { - $.messager.alert('提示', '请选择经手人!', 'warning'); - return; - } - } - else if (listTitle === "付款单列表") { - if (!$('#OrganId').combobox('getValue')) { - $.messager.alert('提示', '请选择收款单位!', 'warning'); - return; - } - if (!$('#HandsPersonId').val()) { - $.messager.alert('提示', '请选择经手人!', 'warning'); - return; - } - } - else if (listTitle === "转账单列表") { - if (!$('#HandsPersonId').val()) { - $.messager.alert('提示', '请选择经手人!', 'warning'); - return; - } - if (!$('#AccountId').val()) { - $.messager.alert('提示', '请选择付款账户!', 'warning'); - return; - } - } - else if (listTitle === "收预付款列表") { if (!$('#HandsPersonId').val()) { $.messager.alert('提示', '请选择经手人!', 'warning'); return; @@ -847,49 +701,36 @@ function bindEvent(){ $.messager.alert('提示', '请选择付款会员!', 'warning'); return; } - } var OrganId = null; var ChangeAmount = $.trim($("#ChangeAmount").val()); var TotalPrice = $("#accountHeadFM .datagrid-footer [field='EachAmount'] div").text(); - if (listType !== "转账") { - OrganId = $('#OrganId').combobox('getValue'); - } - if (listType === "支出" || listType === "转账") { - //支出为负数 - ChangeAmount = 0 - ChangeAmount; - } - if (listType === "支出" || listType === "付款" || listType === "转账") { - //支出和付款为负数 - TotalPrice = 0 - TotalPrice; - } + OrganId = $('#OrganId').combobox('getValue'); //更新会员的预收款信息 - if (listType === "收预付款") { - var advanceIn = 0; //预付款金额 - if (accountHeadID) { - advanceIn = TotalPrice - preTotalPrice; //修改时,预付款=合计金额-加载金额 - } - else { - advanceIn = TotalPrice; //新增时,预付款=合计金额 - } - $.ajax({ - type: "post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data: { - supplierId: OrganId, - advanceIn: advanceIn - }, - success: function (res) { - if (res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function () { - $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); - return; - } - }); + var advanceIn = 0; //预付款金额 + if (accountHeadID) { + advanceIn = TotalPrice - preTotalPrice; //修改时,预付款=合计金额-加载金额 } + else { + advanceIn = TotalPrice; //新增时,预付款=合计金额 + } + $.ajax({ + type: "post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data: { + supplierId: OrganId, + advanceIn: advanceIn + }, + success: function (res) { + if (res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function () { + $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); + return; + } + }); //保存单位信息 $.ajax({ From 0450352b00954edd39a4a23b0cd5b1b9e90287aa Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Wed, 8 May 2019 09:37:32 +0800 Subject: [PATCH 036/117] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=BD=AC=E8=B4=A6?= =?UTF-8?q?=E5=8D=95=EF=BC=8C=E5=8E=BB=E6=8E=89=E5=A4=9A=E4=BD=99=E7=9A=84?= =?UTF-8?q?js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- erp_web/js/pages/financial/giro.js | 281 +++-------------------------- 1 file changed, 21 insertions(+), 260 deletions(-) diff --git a/erp_web/js/pages/financial/giro.js b/erp_web/js/pages/financial/giro.js index 42be5859..361eb2e2 100644 --- a/erp_web/js/pages/financial/giro.js +++ b/erp_web/js/pages/financial/giro.js @@ -1,27 +1,15 @@ //初始化界面 +var supUrl = "/supplier/findBySelect_sup"; //供应商接口 +var retailUrl = "/supplier/findBySelect_retail"; //散户接口 +var listTitle="转账单列表"; +var listType = "转账"; +var itemType = true; //隐藏当前列 +var moneyType = false; //显示当前列 +var payTypeTitle = "无标题"; +var inOrOut = ""; +var organUrl = "/supplier/findBySelect_cus"; //客户接口 +var amountNum = "ZZ"; $(function(){ - var accountList = null; - var accountID = null; - var supplierList = null; - var supplierID = null; - var personList = null; - var personID = null; - var ProjectSearch = null; - var accountHeadMaxId = null; //获取最大的Id - var accepId = null; //保存的主表id - var url; - var accountHeadID = 0; - var preTotalPrice = 0; //前一次加载的金额 - var orgAccountHead = ""; //保存编辑前的名称 - var editIndex = undefined; - var listTitle = ""; //单据标题 - var payTypeTitle = "";//收入 支出 - var organUrl = ""; //组织数据接口地址 - var amountNum = ""; //单据编号开头字符 - var itemType = true; //隐藏当前列 - var moneyType = true; //隐藏当前列 - var inOrOut = ""; //链接类型为收入或者支出 - getType(); initSystemData_person(); //经手人数据 initSelectInfo_person(); //经手人信息 initSystemData_account(); //账户数据 @@ -33,67 +21,6 @@ $(function(){ bindEvent();//绑定操作事件 $("#searchBtn").click(); }); -//根据单据名称获取类型 -function getType(){ - listTitle = $("#tablePanel").prev().text(); - var supUrl = "/supplier/findBySelect_sup"; //供应商接口 - var cusUrl = "/supplier/findBySelect_cus"; //客户接口 - var retailUrl = "/supplier/findBySelect_retail"; //散户接口 - if(listTitle === "收入单列表"){ - listType = "收入"; - itemType = false; //显示当前列 - moneyType = true; //隐藏当前列 - payTypeTitle = "收入项目"; - inOrOut = "in"; - organUrl = cusUrl; - amountNum = "SR"; - } - else if(listTitle === "支出单列表"){ - listType = "支出"; - itemType = false; //显示当前列 - moneyType = true; //隐藏当前列 - payTypeTitle = "支出项目"; - inOrOut = "out"; - organUrl = supUrl; - amountNum = "ZC"; - } - else if(listTitle === "收款单列表"){ - listType = "收款"; - itemType = true; //隐藏当前列 - moneyType = false; //显示当前列 - payTypeTitle = "无标题"; - inOrOut = ""; - organUrl = cusUrl; - amountNum = "SK"; - } - else if(listTitle === "付款单列表"){ - listType = "付款"; - itemType = true; //隐藏当前列 - moneyType = false; //显示当前列 - payTypeTitle = "无标题"; - inOrOut = ""; - organUrl = supUrl; - amountNum = "FK"; - } - else if(listTitle === "转账单列表"){ - listType = "转账"; - itemType = true; //隐藏当前列 - moneyType = false; //显示当前列 - payTypeTitle = "无标题"; - inOrOut = ""; - organUrl = supUrl; - amountNum = "ZZ"; - } - else if(listTitle === "收预付款列表"){ - listType = "收预付款"; - itemType = true; //隐藏当前列 - moneyType = false; //显示当前列 - payTypeTitle = "无标题"; - inOrOut = ""; - organUrl = retailUrl; - amountNum = "SYF"; - } -} //获取账户信息 function initSystemData_account(){ $.ajax({ @@ -194,22 +121,7 @@ function initForm(){ //初始化表格数据 function initTableData(){ var organNameTitle = ""; - var organNameHidden = false; - if(listType === "收入" || listType === "支出") { - organNameTitle = "往来单位"; - } - else if(listType === "收款") { - organNameTitle = "付款单位"; - } - else if(listType === "付款") { - organNameTitle = "收款单位"; - } - else if(listType === "收预付款") { - organNameTitle = "付款会员"; - } - if(listType === "转账") { - organNameHidden = true; - } + var organNameHidden = true; $('#tableData').datagrid({ //width:700, height:heightInfo, @@ -524,27 +436,6 @@ function deleteAccountHead(accountHeadID, thisOrganId, totalPrice){ } }); - //更新会员的预收款信息 - if(listType === "收预付款"){ - $.ajax({ - type:"post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data:{ - supplierId: thisOrganId, //会员id - advanceIn: 0-totalPrice //删除时同时删除用户的预付款信息 - }, - success: function(res){ - if(res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function(){ - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); - } } }); } @@ -608,29 +499,6 @@ function batDeleteAccountHead(){ return; } }); - //批量更新会员的预收款信息 - for(var i = 0;i < row.length; i ++) { - if(listType === "收预付款"){ - $.ajax({ - type:"post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data:{ - supplierId: row[i].organid, //会员id - advanceIn: 0 - row[i].totalprice //删除时同时删除用户的预付款信息 - }, - success: function(res){ - if(res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function(){ - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); - } - } } }); } @@ -688,17 +556,6 @@ function addAccountHead(){ reject(); //撤销下、刷新材料列表 url = '/accountHead/add'; - //收预付款单据支持刷卡功能 - if(listType == "收预付款") { - //当会员卡号长度超过10位后,自动点击下拉框,用于兼容刷卡器 - $("#OrganId").next().find("input").off("keyup").on("keyup",function(){ - if($(this).val().length === 10){ - setTimeout(function(){ - $(".combo-panel .combobox-item-selected").click(); - },500); - } - }); - } } //编辑信息 @@ -780,117 +637,21 @@ function bindEvent(){ if(!$('#accountHeadFM').form('validate')){ return; } else { - if (listTitle === "收入单列表") { - if (!$('#AccountId').val()) { - $.messager.alert('提示', '请选择收款账户!', 'warning'); - return; - } - if (!$('#OrganId').combobox('getValue')) { - $.messager.alert('提示', '请选择往来单位!', 'warning'); - return; - } - if (!$('#HandsPersonId').val()) { - $.messager.alert('提示', '请选择经手人!', 'warning'); - return; - } + if (!$('#HandsPersonId').val()) { + $.messager.alert('提示', '请选择经手人!', 'warning'); + return; } - else if (listTitle === "支出单列表") { - if (!$('#AccountId').val()) { - $.messager.alert('提示', '请选择付款账户!', 'warning'); - return; - } - if (!$('#OrganId').combobox('getValue')) { - $.messager.alert('提示', '请选择往来单位!', 'warning'); - return; - } - if (!$('#HandsPersonId').val()) { - $.messager.alert('提示', '请选择经手人!', 'warning'); - return; - } - } - else if (listTitle === "收款单列表") { - if (!$('#OrganId').combobox('getValue')) { - $.messager.alert('提示', '请选择付款单位!', 'warning'); - return; - } - if (!$('#HandsPersonId').val()) { - $.messager.alert('提示', '请选择经手人!', 'warning'); - return; - } - } - else if (listTitle === "付款单列表") { - if (!$('#OrganId').combobox('getValue')) { - $.messager.alert('提示', '请选择收款单位!', 'warning'); - return; - } - if (!$('#HandsPersonId').val()) { - $.messager.alert('提示', '请选择经手人!', 'warning'); - return; - } - } - else if (listTitle === "转账单列表") { - if (!$('#HandsPersonId').val()) { - $.messager.alert('提示', '请选择经手人!', 'warning'); - return; - } - if (!$('#AccountId').val()) { - $.messager.alert('提示', '请选择付款账户!', 'warning'); - return; - } - } - else if (listTitle === "收预付款列表") { - if (!$('#HandsPersonId').val()) { - $.messager.alert('提示', '请选择经手人!', 'warning'); - return; - } - if (!$('#OrganId').combobox('getValue')) { - $.messager.alert('提示', '请选择付款会员!', 'warning'); - return; - } + if (!$('#AccountId').val()) { + $.messager.alert('提示', '请选择付款账户!', 'warning'); + return; } var OrganId = null; var ChangeAmount = $.trim($("#ChangeAmount").val()); var TotalPrice = $("#accountHeadFM .datagrid-footer [field='EachAmount'] div").text(); - if (listType !== "转账") { - OrganId = $('#OrganId').combobox('getValue'); - } - if (listType === "支出" || listType === "转账") { - //支出为负数 - ChangeAmount = 0 - ChangeAmount; - } - if (listType === "支出" || listType === "付款" || listType === "转账") { - //支出和付款为负数 - TotalPrice = 0 - TotalPrice; - } - //更新会员的预收款信息 - if (listType === "收预付款") { - var advanceIn = 0; //预付款金额 - if (accountHeadID) { - advanceIn = TotalPrice - preTotalPrice; //修改时,预付款=合计金额-加载金额 - } - else { - advanceIn = TotalPrice; //新增时,预付款=合计金额 - } - $.ajax({ - type: "post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data: { - supplierId: OrganId, - advanceIn: advanceIn - }, - success: function (res) { - if (res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function () { - $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); - return; - } - }); - } - + //支出为负数 + ChangeAmount = 0 - ChangeAmount; + //支出和付款为负数 + TotalPrice = 0 - TotalPrice; //保存单位信息 $.ajax({ type: "post", From 48b76a556e133bdb0134932c907bc97bebbc1b84 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Wed, 8 May 2019 09:41:38 +0800 Subject: [PATCH 037/117] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=94=B6=E9=A2=84?= =?UTF-8?q?=E4=BB=98=E6=AC=BE=E5=92=8C=E8=BD=AC=E8=B4=A6=E5=8D=95=EF=BC=8C?= =?UTF-8?q?=E5=8E=BB=E6=8E=89=E5=A4=9A=E4=BD=99=E7=9A=84js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- erp_web/js/pages/financial/advance_in.js | 5 +---- erp_web/js/pages/financial/giro.js | 2 -- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/erp_web/js/pages/financial/advance_in.js b/erp_web/js/pages/financial/advance_in.js index dc6f6127..c5b0fdfc 100644 --- a/erp_web/js/pages/financial/advance_in.js +++ b/erp_web/js/pages/financial/advance_in.js @@ -5,10 +5,7 @@ var moneyType = false; //显示当前列 var payTypeTitle = "无标题"; var inOrOut = ""; var amountNum = "SYF"; -var supUrl = "/supplier/findBySelect_sup"; //供应商接口 -var cusUrl = "/supplier/findBySelect_cus"; //客户接口 -var retailUrl = "/supplier/findBySelect_retail"; //散户接口 -var organUrl = retailUrl; +var organUrl = "/supplier/findBySelect_retail"; //散户接口 var listTitle='收预付款列表'; $(function(){ initSystemData_person(); //经手人数据 diff --git a/erp_web/js/pages/financial/giro.js b/erp_web/js/pages/financial/giro.js index 361eb2e2..5c59070e 100644 --- a/erp_web/js/pages/financial/giro.js +++ b/erp_web/js/pages/financial/giro.js @@ -1,6 +1,4 @@ //初始化界面 -var supUrl = "/supplier/findBySelect_sup"; //供应商接口 -var retailUrl = "/supplier/findBySelect_retail"; //散户接口 var listTitle="转账单列表"; var listType = "转账"; var itemType = true; //隐藏当前列 From ce0ee7f314a7ff0a262755f13a65e37cacbb5e91 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Wed, 8 May 2019 10:01:53 +0800 Subject: [PATCH 038/117] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=94=B6=E5=85=A5?= =?UTF-8?q?=E5=8D=95=EF=BC=8C=E5=8E=BB=E6=8E=89=E5=A4=9A=E4=BD=99=E7=9A=84?= =?UTF-8?q?js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- erp_web/js/pages/financial/item_in.js | 278 ++------------------------ 1 file changed, 19 insertions(+), 259 deletions(-) diff --git a/erp_web/js/pages/financial/item_in.js b/erp_web/js/pages/financial/item_in.js index 42be5859..7d2d6c70 100644 --- a/erp_web/js/pages/financial/item_in.js +++ b/erp_web/js/pages/financial/item_in.js @@ -1,27 +1,13 @@ //初始化界面 +var listTitle ="收入单列表" +var listType = "收入"; +var itemType = false; //显示当前列 +var moneyType = true; //隐藏当前列 +var payTypeTitle = "收入项目"; +var inOrOut = "in"; +var organUrl = "/supplier/findBySelect_cus"; //客户接口 +var amountNum = "SR"; $(function(){ - var accountList = null; - var accountID = null; - var supplierList = null; - var supplierID = null; - var personList = null; - var personID = null; - var ProjectSearch = null; - var accountHeadMaxId = null; //获取最大的Id - var accepId = null; //保存的主表id - var url; - var accountHeadID = 0; - var preTotalPrice = 0; //前一次加载的金额 - var orgAccountHead = ""; //保存编辑前的名称 - var editIndex = undefined; - var listTitle = ""; //单据标题 - var payTypeTitle = "";//收入 支出 - var organUrl = ""; //组织数据接口地址 - var amountNum = ""; //单据编号开头字符 - var itemType = true; //隐藏当前列 - var moneyType = true; //隐藏当前列 - var inOrOut = ""; //链接类型为收入或者支出 - getType(); initSystemData_person(); //经手人数据 initSelectInfo_person(); //经手人信息 initSystemData_account(); //账户数据 @@ -33,67 +19,6 @@ $(function(){ bindEvent();//绑定操作事件 $("#searchBtn").click(); }); -//根据单据名称获取类型 -function getType(){ - listTitle = $("#tablePanel").prev().text(); - var supUrl = "/supplier/findBySelect_sup"; //供应商接口 - var cusUrl = "/supplier/findBySelect_cus"; //客户接口 - var retailUrl = "/supplier/findBySelect_retail"; //散户接口 - if(listTitle === "收入单列表"){ - listType = "收入"; - itemType = false; //显示当前列 - moneyType = true; //隐藏当前列 - payTypeTitle = "收入项目"; - inOrOut = "in"; - organUrl = cusUrl; - amountNum = "SR"; - } - else if(listTitle === "支出单列表"){ - listType = "支出"; - itemType = false; //显示当前列 - moneyType = true; //隐藏当前列 - payTypeTitle = "支出项目"; - inOrOut = "out"; - organUrl = supUrl; - amountNum = "ZC"; - } - else if(listTitle === "收款单列表"){ - listType = "收款"; - itemType = true; //隐藏当前列 - moneyType = false; //显示当前列 - payTypeTitle = "无标题"; - inOrOut = ""; - organUrl = cusUrl; - amountNum = "SK"; - } - else if(listTitle === "付款单列表"){ - listType = "付款"; - itemType = true; //隐藏当前列 - moneyType = false; //显示当前列 - payTypeTitle = "无标题"; - inOrOut = ""; - organUrl = supUrl; - amountNum = "FK"; - } - else if(listTitle === "转账单列表"){ - listType = "转账"; - itemType = true; //隐藏当前列 - moneyType = false; //显示当前列 - payTypeTitle = "无标题"; - inOrOut = ""; - organUrl = supUrl; - amountNum = "ZZ"; - } - else if(listTitle === "收预付款列表"){ - listType = "收预付款"; - itemType = true; //隐藏当前列 - moneyType = false; //显示当前列 - payTypeTitle = "无标题"; - inOrOut = ""; - organUrl = retailUrl; - amountNum = "SYF"; - } -} //获取账户信息 function initSystemData_account(){ $.ajax({ @@ -193,23 +118,8 @@ function initForm(){ //初始化表格数据 function initTableData(){ - var organNameTitle = ""; + var organNameTitle = "往来单位"; var organNameHidden = false; - if(listType === "收入" || listType === "支出") { - organNameTitle = "往来单位"; - } - else if(listType === "收款") { - organNameTitle = "付款单位"; - } - else if(listType === "付款") { - organNameTitle = "收款单位"; - } - else if(listType === "收预付款") { - organNameTitle = "付款会员"; - } - if(listType === "转账") { - organNameHidden = true; - } $('#tableData').datagrid({ //width:700, height:heightInfo, @@ -524,27 +434,6 @@ function deleteAccountHead(accountHeadID, thisOrganId, totalPrice){ } }); - //更新会员的预收款信息 - if(listType === "收预付款"){ - $.ajax({ - type:"post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data:{ - supplierId: thisOrganId, //会员id - advanceIn: 0-totalPrice //删除时同时删除用户的预付款信息 - }, - success: function(res){ - if(res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function(){ - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); - } } }); } @@ -608,29 +497,6 @@ function batDeleteAccountHead(){ return; } }); - //批量更新会员的预收款信息 - for(var i = 0;i < row.length; i ++) { - if(listType === "收预付款"){ - $.ajax({ - type:"post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data:{ - supplierId: row[i].organid, //会员id - advanceIn: 0 - row[i].totalprice //删除时同时删除用户的预付款信息 - }, - success: function(res){ - if(res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function(){ - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); - } - } } }); } @@ -688,17 +554,6 @@ function addAccountHead(){ reject(); //撤销下、刷新材料列表 url = '/accountHead/add'; - //收预付款单据支持刷卡功能 - if(listType == "收预付款") { - //当会员卡号长度超过10位后,自动点击下拉框,用于兼容刷卡器 - $("#OrganId").next().find("input").off("keyup").on("keyup",function(){ - if($(this).val().length === 10){ - setTimeout(function(){ - $(".combo-panel .combobox-item-selected").click(); - },500); - } - }); - } } //编辑信息 @@ -780,116 +635,21 @@ function bindEvent(){ if(!$('#accountHeadFM').form('validate')){ return; } else { - if (listTitle === "收入单列表") { - if (!$('#AccountId').val()) { - $.messager.alert('提示', '请选择收款账户!', 'warning'); - return; - } - if (!$('#OrganId').combobox('getValue')) { - $.messager.alert('提示', '请选择往来单位!', 'warning'); - return; - } - if (!$('#HandsPersonId').val()) { - $.messager.alert('提示', '请选择经手人!', 'warning'); - return; - } + if (!$('#AccountId').val()) { + $.messager.alert('提示', '请选择收款账户!', 'warning'); + return; } - else if (listTitle === "支出单列表") { - if (!$('#AccountId').val()) { - $.messager.alert('提示', '请选择付款账户!', 'warning'); - return; - } - if (!$('#OrganId').combobox('getValue')) { - $.messager.alert('提示', '请选择往来单位!', 'warning'); - return; - } - if (!$('#HandsPersonId').val()) { - $.messager.alert('提示', '请选择经手人!', 'warning'); - return; - } + if (!$('#OrganId').combobox('getValue')) { + $.messager.alert('提示', '请选择往来单位!', 'warning'); + return; } - else if (listTitle === "收款单列表") { - if (!$('#OrganId').combobox('getValue')) { - $.messager.alert('提示', '请选择付款单位!', 'warning'); - return; - } - if (!$('#HandsPersonId').val()) { - $.messager.alert('提示', '请选择经手人!', 'warning'); - return; - } + if (!$('#HandsPersonId').val()) { + $.messager.alert('提示', '请选择经手人!', 'warning'); + return; } - else if (listTitle === "付款单列表") { - if (!$('#OrganId').combobox('getValue')) { - $.messager.alert('提示', '请选择收款单位!', 'warning'); - return; - } - if (!$('#HandsPersonId').val()) { - $.messager.alert('提示', '请选择经手人!', 'warning'); - return; - } - } - else if (listTitle === "转账单列表") { - if (!$('#HandsPersonId').val()) { - $.messager.alert('提示', '请选择经手人!', 'warning'); - return; - } - if (!$('#AccountId').val()) { - $.messager.alert('提示', '请选择付款账户!', 'warning'); - return; - } - } - else if (listTitle === "收预付款列表") { - if (!$('#HandsPersonId').val()) { - $.messager.alert('提示', '请选择经手人!', 'warning'); - return; - } - if (!$('#OrganId').combobox('getValue')) { - $.messager.alert('提示', '请选择付款会员!', 'warning'); - return; - } - } - var OrganId = null; var ChangeAmount = $.trim($("#ChangeAmount").val()); var TotalPrice = $("#accountHeadFM .datagrid-footer [field='EachAmount'] div").text(); - if (listType !== "转账") { - OrganId = $('#OrganId').combobox('getValue'); - } - if (listType === "支出" || listType === "转账") { - //支出为负数 - ChangeAmount = 0 - ChangeAmount; - } - if (listType === "支出" || listType === "付款" || listType === "转账") { - //支出和付款为负数 - TotalPrice = 0 - TotalPrice; - } - //更新会员的预收款信息 - if (listType === "收预付款") { - var advanceIn = 0; //预付款金额 - if (accountHeadID) { - advanceIn = TotalPrice - preTotalPrice; //修改时,预付款=合计金额-加载金额 - } - else { - advanceIn = TotalPrice; //新增时,预付款=合计金额 - } - $.ajax({ - type: "post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data: { - supplierId: OrganId, - advanceIn: advanceIn - }, - success: function (res) { - if (res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function () { - $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); - return; - } - }); - } + var OrganId = $('#OrganId').combobox('getValue'); //保存单位信息 $.ajax({ From e694858439cfccd8c7d5c2d514d9bbcd30675662 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Wed, 8 May 2019 10:18:07 +0800 Subject: [PATCH 039/117] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=94=AF=E5=87=BA?= =?UTF-8?q?=E5=8D=95,=E5=8E=BB=E6=8E=89=E5=A4=9A=E4=BD=99=E7=9A=84js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- erp_web/js/pages/financial/item_out.js | 278 ++----------------------- 1 file changed, 22 insertions(+), 256 deletions(-) diff --git a/erp_web/js/pages/financial/item_out.js b/erp_web/js/pages/financial/item_out.js index 42be5859..cb7fb5a8 100644 --- a/erp_web/js/pages/financial/item_out.js +++ b/erp_web/js/pages/financial/item_out.js @@ -1,27 +1,13 @@ //初始化界面 +var listTitle ="支出单列表"; +var listType = "支出"; +var itemType = false; //显示当前列 +var moneyType = true; //隐藏当前列 +var payTypeTitle = "支出项目"; +var inOrOut = "out"; +var organUrl = "/supplier/findBySelect_sup"; //供应商接口 +var amountNum = "ZC"; $(function(){ - var accountList = null; - var accountID = null; - var supplierList = null; - var supplierID = null; - var personList = null; - var personID = null; - var ProjectSearch = null; - var accountHeadMaxId = null; //获取最大的Id - var accepId = null; //保存的主表id - var url; - var accountHeadID = 0; - var preTotalPrice = 0; //前一次加载的金额 - var orgAccountHead = ""; //保存编辑前的名称 - var editIndex = undefined; - var listTitle = ""; //单据标题 - var payTypeTitle = "";//收入 支出 - var organUrl = ""; //组织数据接口地址 - var amountNum = ""; //单据编号开头字符 - var itemType = true; //隐藏当前列 - var moneyType = true; //隐藏当前列 - var inOrOut = ""; //链接类型为收入或者支出 - getType(); initSystemData_person(); //经手人数据 initSelectInfo_person(); //经手人信息 initSystemData_account(); //账户数据 @@ -33,67 +19,7 @@ $(function(){ bindEvent();//绑定操作事件 $("#searchBtn").click(); }); -//根据单据名称获取类型 -function getType(){ - listTitle = $("#tablePanel").prev().text(); - var supUrl = "/supplier/findBySelect_sup"; //供应商接口 - var cusUrl = "/supplier/findBySelect_cus"; //客户接口 - var retailUrl = "/supplier/findBySelect_retail"; //散户接口 - if(listTitle === "收入单列表"){ - listType = "收入"; - itemType = false; //显示当前列 - moneyType = true; //隐藏当前列 - payTypeTitle = "收入项目"; - inOrOut = "in"; - organUrl = cusUrl; - amountNum = "SR"; - } - else if(listTitle === "支出单列表"){ - listType = "支出"; - itemType = false; //显示当前列 - moneyType = true; //隐藏当前列 - payTypeTitle = "支出项目"; - inOrOut = "out"; - organUrl = supUrl; - amountNum = "ZC"; - } - else if(listTitle === "收款单列表"){ - listType = "收款"; - itemType = true; //隐藏当前列 - moneyType = false; //显示当前列 - payTypeTitle = "无标题"; - inOrOut = ""; - organUrl = cusUrl; - amountNum = "SK"; - } - else if(listTitle === "付款单列表"){ - listType = "付款"; - itemType = true; //隐藏当前列 - moneyType = false; //显示当前列 - payTypeTitle = "无标题"; - inOrOut = ""; - organUrl = supUrl; - amountNum = "FK"; - } - else if(listTitle === "转账单列表"){ - listType = "转账"; - itemType = true; //隐藏当前列 - moneyType = false; //显示当前列 - payTypeTitle = "无标题"; - inOrOut = ""; - organUrl = supUrl; - amountNum = "ZZ"; - } - else if(listTitle === "收预付款列表"){ - listType = "收预付款"; - itemType = true; //隐藏当前列 - moneyType = false; //显示当前列 - payTypeTitle = "无标题"; - inOrOut = ""; - organUrl = retailUrl; - amountNum = "SYF"; - } -} + //获取账户信息 function initSystemData_account(){ $.ajax({ @@ -193,23 +119,8 @@ function initForm(){ //初始化表格数据 function initTableData(){ - var organNameTitle = ""; + var organNameTitle = "往来单位"; var organNameHidden = false; - if(listType === "收入" || listType === "支出") { - organNameTitle = "往来单位"; - } - else if(listType === "收款") { - organNameTitle = "付款单位"; - } - else if(listType === "付款") { - organNameTitle = "收款单位"; - } - else if(listType === "收预付款") { - organNameTitle = "付款会员"; - } - if(listType === "转账") { - organNameHidden = true; - } $('#tableData').datagrid({ //width:700, height:heightInfo, @@ -524,27 +435,6 @@ function deleteAccountHead(accountHeadID, thisOrganId, totalPrice){ } }); - //更新会员的预收款信息 - if(listType === "收预付款"){ - $.ajax({ - type:"post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data:{ - supplierId: thisOrganId, //会员id - advanceIn: 0-totalPrice //删除时同时删除用户的预付款信息 - }, - success: function(res){ - if(res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function(){ - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); - } } }); } @@ -608,29 +498,6 @@ function batDeleteAccountHead(){ return; } }); - //批量更新会员的预收款信息 - for(var i = 0;i < row.length; i ++) { - if(listType === "收预付款"){ - $.ajax({ - type:"post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data:{ - supplierId: row[i].organid, //会员id - advanceIn: 0 - row[i].totalprice //删除时同时删除用户的预付款信息 - }, - success: function(res){ - if(res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function(){ - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); - } - } } }); } @@ -688,17 +555,6 @@ function addAccountHead(){ reject(); //撤销下、刷新材料列表 url = '/accountHead/add'; - //收预付款单据支持刷卡功能 - if(listType == "收预付款") { - //当会员卡号长度超过10位后,自动点击下拉框,用于兼容刷卡器 - $("#OrganId").next().find("input").off("keyup").on("keyup",function(){ - if($(this).val().length === 10){ - setTimeout(function(){ - $(".combo-panel .combobox-item-selected").click(); - },500); - } - }); - } } //编辑信息 @@ -780,116 +636,26 @@ function bindEvent(){ if(!$('#accountHeadFM').form('validate')){ return; } else { - if (listTitle === "收入单列表") { - if (!$('#AccountId').val()) { - $.messager.alert('提示', '请选择收款账户!', 'warning'); - return; - } - if (!$('#OrganId').combobox('getValue')) { - $.messager.alert('提示', '请选择往来单位!', 'warning'); - return; - } - if (!$('#HandsPersonId').val()) { - $.messager.alert('提示', '请选择经手人!', 'warning'); - return; - } + if (!$('#AccountId').val()) { + $.messager.alert('提示', '请选择付款账户!', 'warning'); + return; } - else if (listTitle === "支出单列表") { - if (!$('#AccountId').val()) { - $.messager.alert('提示', '请选择付款账户!', 'warning'); - return; - } - if (!$('#OrganId').combobox('getValue')) { - $.messager.alert('提示', '请选择往来单位!', 'warning'); - return; - } - if (!$('#HandsPersonId').val()) { - $.messager.alert('提示', '请选择经手人!', 'warning'); - return; - } + if (!$('#OrganId').combobox('getValue')) { + $.messager.alert('提示', '请选择往来单位!', 'warning'); + return; } - else if (listTitle === "收款单列表") { - if (!$('#OrganId').combobox('getValue')) { - $.messager.alert('提示', '请选择付款单位!', 'warning'); - return; - } - if (!$('#HandsPersonId').val()) { - $.messager.alert('提示', '请选择经手人!', 'warning'); - return; - } - } - else if (listTitle === "付款单列表") { - if (!$('#OrganId').combobox('getValue')) { - $.messager.alert('提示', '请选择收款单位!', 'warning'); - return; - } - if (!$('#HandsPersonId').val()) { - $.messager.alert('提示', '请选择经手人!', 'warning'); - return; - } - } - else if (listTitle === "转账单列表") { - if (!$('#HandsPersonId').val()) { - $.messager.alert('提示', '请选择经手人!', 'warning'); - return; - } - if (!$('#AccountId').val()) { - $.messager.alert('提示', '请选择付款账户!', 'warning'); - return; - } - } - else if (listTitle === "收预付款列表") { - if (!$('#HandsPersonId').val()) { - $.messager.alert('提示', '请选择经手人!', 'warning'); - return; - } - if (!$('#OrganId').combobox('getValue')) { - $.messager.alert('提示', '请选择付款会员!', 'warning'); - return; - } + if (!$('#HandsPersonId').val()) { + $.messager.alert('提示', '请选择经手人!', 'warning'); + return; } var OrganId = null; var ChangeAmount = $.trim($("#ChangeAmount").val()); var TotalPrice = $("#accountHeadFM .datagrid-footer [field='EachAmount'] div").text(); - if (listType !== "转账") { - OrganId = $('#OrganId').combobox('getValue'); - } - if (listType === "支出" || listType === "转账") { + OrganId = $('#OrganId').combobox('getValue'); //支出为负数 - ChangeAmount = 0 - ChangeAmount; - } - if (listType === "支出" || listType === "付款" || listType === "转账") { + ChangeAmount = 0 - ChangeAmount; //支出和付款为负数 - TotalPrice = 0 - TotalPrice; - } - //更新会员的预收款信息 - if (listType === "收预付款") { - var advanceIn = 0; //预付款金额 - if (accountHeadID) { - advanceIn = TotalPrice - preTotalPrice; //修改时,预付款=合计金额-加载金额 - } - else { - advanceIn = TotalPrice; //新增时,预付款=合计金额 - } - $.ajax({ - type: "post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data: { - supplierId: OrganId, - advanceIn: advanceIn - }, - success: function (res) { - if (res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function () { - $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); - return; - } - }); - } + TotalPrice = 0 - TotalPrice; //保存单位信息 $.ajax({ From 7dd2542237d2d9987230d1e821cb8321288e88fc Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Wed, 8 May 2019 10:42:28 +0800 Subject: [PATCH 040/117] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=94=B6=E6=AC=BE?= =?UTF-8?q?=E5=8D=95=EF=BC=8C=E5=8E=BB=E6=8E=89=E5=A4=9A=E4=BD=99=E7=9A=84?= =?UTF-8?q?js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- erp_web/js/pages/financial/money_in.js | 276 ++----------------------- 1 file changed, 16 insertions(+), 260 deletions(-) diff --git a/erp_web/js/pages/financial/money_in.js b/erp_web/js/pages/financial/money_in.js index 42be5859..97be8421 100644 --- a/erp_web/js/pages/financial/money_in.js +++ b/erp_web/js/pages/financial/money_in.js @@ -1,27 +1,13 @@ //初始化界面 +var listTitle ="收款单列表"; +var listType = "收款"; +var itemType = true; //隐藏当前列 +var moneyType = false; //显示当前列 +var payTypeTitle = "无标题"; +var inOrOut = ""; +var organUrl = "/supplier/findBySelect_cus"; //客户接口 +var amountNum = "SK"; $(function(){ - var accountList = null; - var accountID = null; - var supplierList = null; - var supplierID = null; - var personList = null; - var personID = null; - var ProjectSearch = null; - var accountHeadMaxId = null; //获取最大的Id - var accepId = null; //保存的主表id - var url; - var accountHeadID = 0; - var preTotalPrice = 0; //前一次加载的金额 - var orgAccountHead = ""; //保存编辑前的名称 - var editIndex = undefined; - var listTitle = ""; //单据标题 - var payTypeTitle = "";//收入 支出 - var organUrl = ""; //组织数据接口地址 - var amountNum = ""; //单据编号开头字符 - var itemType = true; //隐藏当前列 - var moneyType = true; //隐藏当前列 - var inOrOut = ""; //链接类型为收入或者支出 - getType(); initSystemData_person(); //经手人数据 initSelectInfo_person(); //经手人信息 initSystemData_account(); //账户数据 @@ -33,67 +19,6 @@ $(function(){ bindEvent();//绑定操作事件 $("#searchBtn").click(); }); -//根据单据名称获取类型 -function getType(){ - listTitle = $("#tablePanel").prev().text(); - var supUrl = "/supplier/findBySelect_sup"; //供应商接口 - var cusUrl = "/supplier/findBySelect_cus"; //客户接口 - var retailUrl = "/supplier/findBySelect_retail"; //散户接口 - if(listTitle === "收入单列表"){ - listType = "收入"; - itemType = false; //显示当前列 - moneyType = true; //隐藏当前列 - payTypeTitle = "收入项目"; - inOrOut = "in"; - organUrl = cusUrl; - amountNum = "SR"; - } - else if(listTitle === "支出单列表"){ - listType = "支出"; - itemType = false; //显示当前列 - moneyType = true; //隐藏当前列 - payTypeTitle = "支出项目"; - inOrOut = "out"; - organUrl = supUrl; - amountNum = "ZC"; - } - else if(listTitle === "收款单列表"){ - listType = "收款"; - itemType = true; //隐藏当前列 - moneyType = false; //显示当前列 - payTypeTitle = "无标题"; - inOrOut = ""; - organUrl = cusUrl; - amountNum = "SK"; - } - else if(listTitle === "付款单列表"){ - listType = "付款"; - itemType = true; //隐藏当前列 - moneyType = false; //显示当前列 - payTypeTitle = "无标题"; - inOrOut = ""; - organUrl = supUrl; - amountNum = "FK"; - } - else if(listTitle === "转账单列表"){ - listType = "转账"; - itemType = true; //隐藏当前列 - moneyType = false; //显示当前列 - payTypeTitle = "无标题"; - inOrOut = ""; - organUrl = supUrl; - amountNum = "ZZ"; - } - else if(listTitle === "收预付款列表"){ - listType = "收预付款"; - itemType = true; //隐藏当前列 - moneyType = false; //显示当前列 - payTypeTitle = "无标题"; - inOrOut = ""; - organUrl = retailUrl; - amountNum = "SYF"; - } -} //获取账户信息 function initSystemData_account(){ $.ajax({ @@ -193,23 +118,8 @@ function initForm(){ //初始化表格数据 function initTableData(){ - var organNameTitle = ""; + var organNameTitle ="付款单位"; var organNameHidden = false; - if(listType === "收入" || listType === "支出") { - organNameTitle = "往来单位"; - } - else if(listType === "收款") { - organNameTitle = "付款单位"; - } - else if(listType === "付款") { - organNameTitle = "收款单位"; - } - else if(listType === "收预付款") { - organNameTitle = "付款会员"; - } - if(listType === "转账") { - organNameHidden = true; - } $('#tableData').datagrid({ //width:700, height:heightInfo, @@ -524,27 +434,6 @@ function deleteAccountHead(accountHeadID, thisOrganId, totalPrice){ } }); - //更新会员的预收款信息 - if(listType === "收预付款"){ - $.ajax({ - type:"post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data:{ - supplierId: thisOrganId, //会员id - advanceIn: 0-totalPrice //删除时同时删除用户的预付款信息 - }, - success: function(res){ - if(res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function(){ - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); - } } }); } @@ -608,29 +497,6 @@ function batDeleteAccountHead(){ return; } }); - //批量更新会员的预收款信息 - for(var i = 0;i < row.length; i ++) { - if(listType === "收预付款"){ - $.ajax({ - type:"post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data:{ - supplierId: row[i].organid, //会员id - advanceIn: 0 - row[i].totalprice //删除时同时删除用户的预付款信息 - }, - success: function(res){ - if(res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function(){ - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); - } - } } }); } @@ -688,17 +554,6 @@ function addAccountHead(){ reject(); //撤销下、刷新材料列表 url = '/accountHead/add'; - //收预付款单据支持刷卡功能 - if(listType == "收预付款") { - //当会员卡号长度超过10位后,自动点击下拉框,用于兼容刷卡器 - $("#OrganId").next().find("input").off("keyup").on("keyup",function(){ - if($(this).val().length === 10){ - setTimeout(function(){ - $(".combo-panel .combobox-item-selected").click(); - },500); - } - }); - } } //编辑信息 @@ -780,117 +635,18 @@ function bindEvent(){ if(!$('#accountHeadFM').form('validate')){ return; } else { - if (listTitle === "收入单列表") { - if (!$('#AccountId').val()) { - $.messager.alert('提示', '请选择收款账户!', 'warning'); - return; - } - if (!$('#OrganId').combobox('getValue')) { - $.messager.alert('提示', '请选择往来单位!', 'warning'); - return; - } - if (!$('#HandsPersonId').val()) { - $.messager.alert('提示', '请选择经手人!', 'warning'); - return; - } + if (!$('#OrganId').combobox('getValue')) { + $.messager.alert('提示', '请选择付款单位!', 'warning'); + return; } - else if (listTitle === "支出单列表") { - if (!$('#AccountId').val()) { - $.messager.alert('提示', '请选择付款账户!', 'warning'); - return; - } - if (!$('#OrganId').combobox('getValue')) { - $.messager.alert('提示', '请选择往来单位!', 'warning'); - return; - } - if (!$('#HandsPersonId').val()) { - $.messager.alert('提示', '请选择经手人!', 'warning'); - return; - } - } - else if (listTitle === "收款单列表") { - if (!$('#OrganId').combobox('getValue')) { - $.messager.alert('提示', '请选择付款单位!', 'warning'); - return; - } - if (!$('#HandsPersonId').val()) { - $.messager.alert('提示', '请选择经手人!', 'warning'); - return; - } - } - else if (listTitle === "付款单列表") { - if (!$('#OrganId').combobox('getValue')) { - $.messager.alert('提示', '请选择收款单位!', 'warning'); - return; - } - if (!$('#HandsPersonId').val()) { - $.messager.alert('提示', '请选择经手人!', 'warning'); - return; - } - } - else if (listTitle === "转账单列表") { - if (!$('#HandsPersonId').val()) { - $.messager.alert('提示', '请选择经手人!', 'warning'); - return; - } - if (!$('#AccountId').val()) { - $.messager.alert('提示', '请选择付款账户!', 'warning'); - return; - } - } - else if (listTitle === "收预付款列表") { - if (!$('#HandsPersonId').val()) { - $.messager.alert('提示', '请选择经手人!', 'warning'); - return; - } - if (!$('#OrganId').combobox('getValue')) { - $.messager.alert('提示', '请选择付款会员!', 'warning'); - return; - } + if (!$('#HandsPersonId').val()) { + $.messager.alert('提示', '请选择经手人!', 'warning'); + return; } var OrganId = null; var ChangeAmount = $.trim($("#ChangeAmount").val()); var TotalPrice = $("#accountHeadFM .datagrid-footer [field='EachAmount'] div").text(); - if (listType !== "转账") { - OrganId = $('#OrganId').combobox('getValue'); - } - if (listType === "支出" || listType === "转账") { - //支出为负数 - ChangeAmount = 0 - ChangeAmount; - } - if (listType === "支出" || listType === "付款" || listType === "转账") { - //支出和付款为负数 - TotalPrice = 0 - TotalPrice; - } - //更新会员的预收款信息 - if (listType === "收预付款") { - var advanceIn = 0; //预付款金额 - if (accountHeadID) { - advanceIn = TotalPrice - preTotalPrice; //修改时,预付款=合计金额-加载金额 - } - else { - advanceIn = TotalPrice; //新增时,预付款=合计金额 - } - $.ajax({ - type: "post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data: { - supplierId: OrganId, - advanceIn: advanceIn - }, - success: function (res) { - if (res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function () { - $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); - return; - } - }); - } - + OrganId = $('#OrganId').combobox('getValue'); //保存单位信息 $.ajax({ type: "post", From 189f8ea5f4260020a042902c2870a7455072ffb6 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Wed, 8 May 2019 10:55:03 +0800 Subject: [PATCH 041/117] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BB=98=E6=AC=BE?= =?UTF-8?q?=E5=8D=95=EF=BC=8C=E5=8E=BB=E6=8E=89=E5=A4=9A=E4=BD=99=E7=9A=84?= =?UTF-8?q?js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- erp_web/js/pages/financial/money_out.js | 252 ++---------------------- 1 file changed, 15 insertions(+), 237 deletions(-) diff --git a/erp_web/js/pages/financial/money_out.js b/erp_web/js/pages/financial/money_out.js index 42be5859..a036f108 100644 --- a/erp_web/js/pages/financial/money_out.js +++ b/erp_web/js/pages/financial/money_out.js @@ -1,27 +1,13 @@ //初始化界面 +var listTitle ="付款单列表"; +var listType = "付款"; +var itemType = true; //隐藏当前列 +var moneyType = false; //显示当前列 +var payTypeTitle = "无标题"; +var inOrOut = ""; +var organUrl = "/supplier/findBySelect_sup"; //供应商接口 +var amountNum = "FK"; $(function(){ - var accountList = null; - var accountID = null; - var supplierList = null; - var supplierID = null; - var personList = null; - var personID = null; - var ProjectSearch = null; - var accountHeadMaxId = null; //获取最大的Id - var accepId = null; //保存的主表id - var url; - var accountHeadID = 0; - var preTotalPrice = 0; //前一次加载的金额 - var orgAccountHead = ""; //保存编辑前的名称 - var editIndex = undefined; - var listTitle = ""; //单据标题 - var payTypeTitle = "";//收入 支出 - var organUrl = ""; //组织数据接口地址 - var amountNum = ""; //单据编号开头字符 - var itemType = true; //隐藏当前列 - var moneyType = true; //隐藏当前列 - var inOrOut = ""; //链接类型为收入或者支出 - getType(); initSystemData_person(); //经手人数据 initSelectInfo_person(); //经手人信息 initSystemData_account(); //账户数据 @@ -33,67 +19,6 @@ $(function(){ bindEvent();//绑定操作事件 $("#searchBtn").click(); }); -//根据单据名称获取类型 -function getType(){ - listTitle = $("#tablePanel").prev().text(); - var supUrl = "/supplier/findBySelect_sup"; //供应商接口 - var cusUrl = "/supplier/findBySelect_cus"; //客户接口 - var retailUrl = "/supplier/findBySelect_retail"; //散户接口 - if(listTitle === "收入单列表"){ - listType = "收入"; - itemType = false; //显示当前列 - moneyType = true; //隐藏当前列 - payTypeTitle = "收入项目"; - inOrOut = "in"; - organUrl = cusUrl; - amountNum = "SR"; - } - else if(listTitle === "支出单列表"){ - listType = "支出"; - itemType = false; //显示当前列 - moneyType = true; //隐藏当前列 - payTypeTitle = "支出项目"; - inOrOut = "out"; - organUrl = supUrl; - amountNum = "ZC"; - } - else if(listTitle === "收款单列表"){ - listType = "收款"; - itemType = true; //隐藏当前列 - moneyType = false; //显示当前列 - payTypeTitle = "无标题"; - inOrOut = ""; - organUrl = cusUrl; - amountNum = "SK"; - } - else if(listTitle === "付款单列表"){ - listType = "付款"; - itemType = true; //隐藏当前列 - moneyType = false; //显示当前列 - payTypeTitle = "无标题"; - inOrOut = ""; - organUrl = supUrl; - amountNum = "FK"; - } - else if(listTitle === "转账单列表"){ - listType = "转账"; - itemType = true; //隐藏当前列 - moneyType = false; //显示当前列 - payTypeTitle = "无标题"; - inOrOut = ""; - organUrl = supUrl; - amountNum = "ZZ"; - } - else if(listTitle === "收预付款列表"){ - listType = "收预付款"; - itemType = true; //隐藏当前列 - moneyType = false; //显示当前列 - payTypeTitle = "无标题"; - inOrOut = ""; - organUrl = retailUrl; - amountNum = "SYF"; - } -} //获取账户信息 function initSystemData_account(){ $.ajax({ @@ -193,23 +118,8 @@ function initForm(){ //初始化表格数据 function initTableData(){ - var organNameTitle = ""; + var organNameTitle = "收款单位"; var organNameHidden = false; - if(listType === "收入" || listType === "支出") { - organNameTitle = "往来单位"; - } - else if(listType === "收款") { - organNameTitle = "付款单位"; - } - else if(listType === "付款") { - organNameTitle = "收款单位"; - } - else if(listType === "收预付款") { - organNameTitle = "付款会员"; - } - if(listType === "转账") { - organNameHidden = true; - } $('#tableData').datagrid({ //width:700, height:heightInfo, @@ -524,27 +434,6 @@ function deleteAccountHead(accountHeadID, thisOrganId, totalPrice){ } }); - //更新会员的预收款信息 - if(listType === "收预付款"){ - $.ajax({ - type:"post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data:{ - supplierId: thisOrganId, //会员id - advanceIn: 0-totalPrice //删除时同时删除用户的预付款信息 - }, - success: function(res){ - if(res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function(){ - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); - } } }); } @@ -608,29 +497,6 @@ function batDeleteAccountHead(){ return; } }); - //批量更新会员的预收款信息 - for(var i = 0;i < row.length; i ++) { - if(listType === "收预付款"){ - $.ajax({ - type:"post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data:{ - supplierId: row[i].organid, //会员id - advanceIn: 0 - row[i].totalprice //删除时同时删除用户的预付款信息 - }, - success: function(res){ - if(res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function(){ - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); - } - } } }); } @@ -780,73 +646,13 @@ function bindEvent(){ if(!$('#accountHeadFM').form('validate')){ return; } else { - if (listTitle === "收入单列表") { - if (!$('#AccountId').val()) { - $.messager.alert('提示', '请选择收款账户!', 'warning'); - return; - } - if (!$('#OrganId').combobox('getValue')) { - $.messager.alert('提示', '请选择往来单位!', 'warning'); - return; - } - if (!$('#HandsPersonId').val()) { - $.messager.alert('提示', '请选择经手人!', 'warning'); - return; - } + if (!$('#OrganId').combobox('getValue')) { + $.messager.alert('提示', '请选择收款单位!', 'warning'); + return; } - else if (listTitle === "支出单列表") { - if (!$('#AccountId').val()) { - $.messager.alert('提示', '请选择付款账户!', 'warning'); - return; - } - if (!$('#OrganId').combobox('getValue')) { - $.messager.alert('提示', '请选择往来单位!', 'warning'); - return; - } - if (!$('#HandsPersonId').val()) { - $.messager.alert('提示', '请选择经手人!', 'warning'); - return; - } - } - else if (listTitle === "收款单列表") { - if (!$('#OrganId').combobox('getValue')) { - $.messager.alert('提示', '请选择付款单位!', 'warning'); - return; - } - if (!$('#HandsPersonId').val()) { - $.messager.alert('提示', '请选择经手人!', 'warning'); - return; - } - } - else if (listTitle === "付款单列表") { - if (!$('#OrganId').combobox('getValue')) { - $.messager.alert('提示', '请选择收款单位!', 'warning'); - return; - } - if (!$('#HandsPersonId').val()) { - $.messager.alert('提示', '请选择经手人!', 'warning'); - return; - } - } - else if (listTitle === "转账单列表") { - if (!$('#HandsPersonId').val()) { - $.messager.alert('提示', '请选择经手人!', 'warning'); - return; - } - if (!$('#AccountId').val()) { - $.messager.alert('提示', '请选择付款账户!', 'warning'); - return; - } - } - else if (listTitle === "收预付款列表") { - if (!$('#HandsPersonId').val()) { - $.messager.alert('提示', '请选择经手人!', 'warning'); - return; - } - if (!$('#OrganId').combobox('getValue')) { - $.messager.alert('提示', '请选择付款会员!', 'warning'); - return; - } + if (!$('#HandsPersonId').val()) { + $.messager.alert('提示', '请选择经手人!', 'warning'); + return; } var OrganId = null; var ChangeAmount = $.trim($("#ChangeAmount").val()); @@ -862,34 +668,6 @@ function bindEvent(){ //支出和付款为负数 TotalPrice = 0 - TotalPrice; } - //更新会员的预收款信息 - if (listType === "收预付款") { - var advanceIn = 0; //预付款金额 - if (accountHeadID) { - advanceIn = TotalPrice - preTotalPrice; //修改时,预付款=合计金额-加载金额 - } - else { - advanceIn = TotalPrice; //新增时,预付款=合计金额 - } - $.ajax({ - type: "post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data: { - supplierId: OrganId, - advanceIn: advanceIn - }, - success: function (res) { - if (res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function () { - $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); - return; - } - }); - } //保存单位信息 $.ajax({ From e8a08fdc4544d27536843f2c0fad28f094201a0e Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Wed, 8 May 2019 11:53:32 +0800 Subject: [PATCH 042/117] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=B0=83=E6=8B=A8?= =?UTF-8?q?=E5=87=BA=E5=BA=93=EF=BC=8C=E5=8E=BB=E6=8E=89=E5=A4=9A=E4=BD=99?= =?UTF-8?q?=E7=9A=84js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../js/pages/materials/allocation_out_list.js | 799 +----------------- 1 file changed, 32 insertions(+), 767 deletions(-) diff --git a/erp_web/js/pages/materials/allocation_out_list.js b/erp_web/js/pages/materials/allocation_out_list.js index 662d9507..8307f3f2 100644 --- a/erp_web/js/pages/materials/allocation_out_list.js +++ b/erp_web/js/pages/materials/allocation_out_list.js @@ -18,7 +18,6 @@ var depotHeadID = 0; var preTotalPrice = 0; //前一次加载的金额 var orgDepotHead = ""; var editIndex = undefined; -var listTitle = ""; //单据标题 var listType = ""; //入库 出库 var listSubType = ""; //采购 销售等 var payTypeTitle = "";//付款 收款 @@ -37,9 +36,18 @@ var otherColumns = true; //明细中的‘别名’列是否显示 var btnEnableList = getBtnStr(); //获取按钮的权限 var mPropertyList = ""; //商品属性列表 var defaultAccountId = 0; //默认账户id +//改变宽度和高度 +$("#searchPanel").panel({width:webW-2}); +$("#tablePanel").panel({width:webW-2}); +var listTitle = "调拨出库列表"; //单据标题 +depotString = "|"; +listType = "出库"; +listSubType = "调拨"; +payTypeTitle = "隐藏"; +organUrl = "/supplier/findBySelect_sup"; //供应商接口 +amountNum = "DBCK"; $(function(){ //初始化系统基础信息 - getType(); initSystemData_UB(); initSelectInfo_UB(); initSystemData_depot(); @@ -57,108 +65,6 @@ $(function(){ initForm(); bindEvent();//绑定操作事件 }); -//根据单据名称获取类型 -function getType(){ - listTitle = $("#tablePanel").prev().text(); - depotString = "|"; - //改变宽度和高度 - $("#searchPanel").panel({width:webW-2}); - $("#tablePanel").panel({width:webW-2}); - var supUrl = "/supplier/findBySelect_sup"; //供应商接口 - var cusUrl = "/supplier/findBySelect_cus?UBType=UserCustomer&UBKeyId=" + kid; //客户接口 - var retailUrl = "/supplier/findBySelect_retail"; //散户接口 - if(listTitle === "采购订单列表"){ - listType = "其它"; - listSubType = "采购订单"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "CGDD"; - } - else if(listTitle === "采购入库列表"){ - listType = "入库"; - listSubType = "采购"; - payTypeTitle = "付款"; - organUrl = supUrl; - amountNum = "CGRK"; - } - else if(listTitle === "零售退货列表"){ - listType = "入库"; - listSubType = "零售退货"; //注:用预付款购买的产品不能退货 - payTypeTitle = "付款"; - organUrl = retailUrl; - amountNum = "LSTH"; - } - else if(listTitle === "销售退货列表"){ - listType = "入库"; - listSubType = "销售退货"; - payTypeTitle = "付款"; - organUrl = cusUrl; - amountNum = "XSTH"; - } - else if(listTitle === "其它入库列表"){ - listType = "入库"; - listSubType = "其它"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "QTRK"; - } - else if(listTitle === "零售出库列表"){ - listType = "出库"; - listSubType = "零售"; - payTypeTitle = "收款"; - organUrl = retailUrl; - amountNum = "LSCK"; - } - else if(listTitle === "销售订单列表"){ - listType = "其它"; - listSubType = "销售订单"; - payTypeTitle = "隐藏"; - organUrl = cusUrl; - amountNum = "XSDD"; - } - else if(listTitle === "销售出库列表"){ - listType = "出库"; - listSubType = "销售"; - payTypeTitle = "收款"; - organUrl = cusUrl; - amountNum = "XSCK"; - } - else if(listTitle === "采购退货列表"){ - listType = "出库"; - listSubType = "采购退货"; - payTypeTitle = "收款"; - organUrl = supUrl; - amountNum = "CGTH"; - } - else if(listTitle === "其它出库列表"){ - listType = "出库"; - listSubType = "其它"; - payTypeTitle = "隐藏"; - organUrl = cusUrl; - amountNum = "QTCK"; - } - else if(listTitle === "调拨出库列表"){ - listType = "出库"; - listSubType = "调拨"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "DBCK"; - } - else if(listTitle === "组装单列表"){ - listType = "其它"; - listSubType = "组装单"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "ZZD"; - } - else if(listTitle === "拆卸单列表"){ - listType = "其它"; - listSubType = "拆卸单"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "CXD"; - } -} //初始化系统基础信息 function initSystemData_UB(){ $.ajax({ @@ -264,23 +170,8 @@ function initSupplier(){ orgDefaultId = data[i].id; } } - if(listSubType === "零售"){ - orgDefaultList = res; - } }, onSelect: function(rec){ - if(listSubType === "零售"){ - var option = ""; - if(rec.supplier !== "非会员" && rec.advanceIn >0){ - option = ''; - option += ''; - } - else { - option += ''; - } - $("#payType").empty().append(option); - } - else{ $.ajax({ type:"get", url: "/supplier/findById", @@ -299,7 +190,6 @@ function initSupplier(){ } }); - } } }); } @@ -504,38 +394,10 @@ function initTableData(){ else { isHiddenStatus = true; //隐藏 } - var isShowLastMoneyColumn = false; //是否显示优惠后金额和价税合计,true为隐藏,false为显示 - if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowLastMoneyColumn = true; //隐藏 - } - var isShowOrganNameColumn = false; //是否显示供应商、客户等信息,true为隐藏,false为显示 + var isShowLastMoneyColumn = true; //是否显示优惠后金额和价税合计,true为隐藏,false为显示 + var isShowOrganNameColumn = true; //是否显示供应商、客户等信息,true为隐藏,false为显示 var organNameTitle = ""; //组织名称标题 - if(listSubType == "调拨" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowOrganNameColumn = true; //隐藏 - } - else { - if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "采购退货列表" || listTitle == "其它入库列表"){ - organNameTitle = "供应商名称"; - } - else if(listTitle == "销售订单列表" || listTitle == "销售退货列表" || listTitle == "销售出库列表" || listTitle == "其它出库列表"){ - organNameTitle = "客户名称"; - } - else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ - organNameTitle = "会员卡号"; - } - } var opWidth = 90; //操作宽度 - var isShowSkip = false; //是否显示跳转按钮 - var opTitle = ""; //跳转按钮的标题 - if(listTitle == "采购订单列表") { - opWidth = 120; - isShowSkip = true; - opTitle = "转采购入库"; - } else if(listTitle == "销售订单列表") { - opWidth = 120; - isShowSkip = true; - opTitle = "转销售出库"; - } $('#tableData').datagrid({ height:heightInfo, rownumbers: false, @@ -555,25 +417,10 @@ function initTableData(){ { title: '操作',field: 'op',align:"center",width:opWidth, formatter:function(value, rec,index) { var str = ''; - // var rowInfo = rec.id + 'AaBb' + rec.projectid+ 'AaBb' + rec.number+ 'AaBb' + rec.operpersonname - // + 'AaBb' + rec.opertimeStr+ 'AaBb' + rec.organid+ 'AaBb' + rec.handspersonid - // + 'AaBb' + rec.accountid+ 'AaBb' + rec.changeamount+ 'AaBb' + rec.remark - // + 'AaBb' + rec.projectName+ 'AaBb' + rec.organName+ 'AaBb' + rec.handsPersonName - // + 'AaBb' + rec.accountName + 'AaBb' + rec.totalprice + 'AaBb' + rec.allocationprojectid - // + 'AaBb' + rec.allocationProjectName + 'AaBb' + rec.paytype + 'AaBb' + rec.salesman - // + 'AaBb' + rec.discount + 'AaBb' + rec.discountmoney + 'AaBb' + rec.discountlastmoney - // + 'AaBb' + rec.accountidlist + 'AaBb' + rec.accountmoneylist - // + 'AaBb' + rec.othermoney + 'AaBb' + rec.othermoneylist + 'AaBb' + rec.othermoneyitem - // + 'AaBb' + rec.accountday + 'AaBb' + rec.linknumber; - // rowInfo = rowInfo.replace(/\"/g, ""); - // rowInfo = rowInfo.replace(/\[|]/g,""); var orgId = rec.organid? rec.organid:0; str += '   '; str += '   '; str += ''; - if(isShowSkip) { - str += '   '; - } return str; } }, @@ -646,28 +493,6 @@ function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ thisRatio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); unitName = unitName.substring(0, unitName.indexOf("(")); } - var unitArr = unitName.split(","); - var basicUnit = unitArr[0]; //基础单位 - var otherUnit = unitArr[1]; //副单位 - var unitSetInput =""; //单位 - if(listSubType === "采购订单" || listSubType === "采购" || listSubType === "采购退货"){ - unitSetInput = rec.data[0].firstinunit; - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = thisRatio; - } - } - else if(listSubType === "销售订单" || listSubType === "销售" || listSubType === "销售退货" || listSubType === "零售" || listSubType === "零售退货"){ - unitSetInput = rec.data[0].firstoutunit; - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = thisRatio; - } - } } //查询库存 $.ajax({ @@ -764,23 +589,16 @@ function initTableData_material(type,TotalPrice){ var anotherDepotHeadName = ""; //对方仓库的列的标题 var anotherDepotUrl = ""; //对方仓库接口地址 var anotherDepotTextField = ""; - if(listSubType == "调拨"){ - isShowAnotherDepot = false; //调拨时候显示对方仓库 - anotherDepotHeadName = "调入仓库"; - anotherDepotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; - anotherDepotTextField = "depotName"; - } + isShowAnotherDepot = false; //调拨时候显示对方仓库 + anotherDepotHeadName = "调入仓库"; + anotherDepotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; + anotherDepotTextField = "depotName"; depotHeadName = "仓库名称"; depotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; depotTextField = "depotName"; var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 - if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowTaxColumn = true; //隐藏 - } + isShowTaxColumn = true; //隐藏 var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 - if(listSubType == "组装单" || listSubType == "拆卸单"){ - isShowMaterialTypeColumn = false; //显示 - } $('#materialData').datagrid({ height:245, rownumbers: false, @@ -905,24 +723,6 @@ function initTableData_material(type,TotalPrice){ var unitSetInput =""; //单位 body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 var loadRatio = 1; //在单位输入框上面加载比例字段 - if(listSubType === "采购" || listSubType === "采购退货" || listSubType === "采购订单"){ - unitSetInput = res.data[0].firstinunit; //给单位文本框赋值 - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = ratio; - } - } - else if(listSubType === "销售" || listSubType === "销售退货" || listSubType === "销售订单" || listSubType === "零售" || listSubType === "零售退货"){ - unitSetInput = res.data[0].firstoutunit; //给单位文本框赋值 - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = ratio; - } - } body.find("[field='Unit']").find(input).val(unitSetInput).attr("data-ratio", loadRatio); //设置-首选单位 body.find("[field='Unit']").find(input).off("click").on("click",function(){ @@ -952,27 +752,11 @@ function initTableData_material(type,TotalPrice){ var type = $(this).attr("data-type"); var UnitPrice = 0; if(type === "basic"){ - if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { - UnitPrice = basicPresetPriceOne; - } - else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { - UnitPrice = basicPresetPriceTwo; - } - else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ - UnitPrice = retailPriceOne; - } + UnitPrice = basicPresetPriceTwo; body.find("[field='Stock']").find(input).val(stock); //修改库存 } else if(type === "other"){ - if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { - UnitPrice = otherPresetPriceOne; - } - else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { - UnitPrice = otherPresetPriceTwo; - } - else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ - UnitPrice = retailPriceTwo; - } + UnitPrice = otherPresetPriceTwo; body.find("[field='Stock']").find(input).val((stock/ratio).toFixed(2)); //修改库存 } body.find("[field='UnitPrice']").find(input).val(UnitPrice); //单价 @@ -992,43 +776,15 @@ function initTableData_material(type,TotalPrice){ }); } var detailPrice = 0; //明细列表-单价 - if(listSubType == "零售" || listSubType == "零售退货") { - if(res.data[0].unit) { //如果存在计量单位信息 - detailPrice = retailPrice; - } - else { - if (firstOutUnit == basicUnit) { - detailPrice = retailPriceOne; - } - else if (firstOutUnit == otherUnit) { - detailPrice = retailPriceTwo; - } - } + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = presetPriceTwo; } - else if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { - if(res.data[0].unit) { //如果存在计量单位信息 - detailPrice = presetPriceOne; + else { + if(firstOutUnit==basicUnit) { + detailPrice = basicPresetPriceTwo; } - else { - if (firstInUnit == basicUnit) { - detailPrice = basicPresetPriceOne; - } - else if (firstInUnit == otherUnit) { - detailPrice = otherPresetPriceOne; - } - } - } - else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { - if(res.data[0].unit) { //如果存在计量单位信息 - detailPrice = presetPriceTwo; - } - else { - if(firstOutUnit==basicUnit) { - detailPrice = basicPresetPriceTwo; - } - else if(firstOutUnit==otherUnit){ - detailPrice = otherPresetPriceTwo; - } + else if(firstOutUnit==otherUnit){ + detailPrice = otherPresetPriceTwo; } } body.find("[field='OperNumber']").find(input).val(1); //数量初始化为1 @@ -1175,19 +931,11 @@ function initTableData_material_show(TotalPrice){ var isShowAnotherDepot = true; //显示对方仓库,true为隐藏,false为显示 var anotherDepotHeadName = ""; //对方仓库的列的标题 var depotHeadName = ""; //仓库的列的标题 - if(listSubType == "调拨"){ - isShowAnotherDepot = false; //调拨时候显示对方仓库 - anotherDepotHeadName = "调入仓库"; - } + isShowAnotherDepot = false; //调拨时候显示对方仓库 + anotherDepotHeadName = "调入仓库"; depotHeadName = "仓库名称"; - var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 - if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowTaxColumn = true; //隐藏 - } + var isShowTaxColumn = true; //是否显示税率相关的列,true为隐藏,false为显示 var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 - if(listSubType == "组装单" || listSubType == "拆卸单"){ - isShowMaterialTypeColumn = false; //显示 - } $('#materialDataShow').datagrid({ height:245, rownumbers: true, @@ -1311,28 +1059,6 @@ function deleteDepotHead(depotHeadID, thisOrganId, totalPrice, status){ return; } }); - - //更新会员的预收款信息 - if(listSubType === "零售") { - $.ajax({ - type:"post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data:{ - supplierId: thisOrganId, //会员id - advanceIn: totalPrice //删除时同时返还用户的预付款 - }, - success: function(res){ - if(res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function(){ - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); - } } }); } @@ -1345,11 +1071,6 @@ function skipDepotHead(index, status){ $.messager.alert('提示','未审核和已转的单据禁止操作!','warning'); } else { sessionStorage.setItem("rowInfo", JSON.stringify(rowsdata)); //将单据信息存入缓存中 - if(listTitle == "采购订单列表") { - parent.addTab("订单转采购", "../materials/purchase_in_list.html?t=skip", ""); - } else if(listTitle == "销售订单列表") { - parent.addTab("订单转销售", "../materials/sale_out_list.html?t=skip", ""); - } } } @@ -1377,33 +1098,9 @@ function batDeleteDepotHead(){ ids += row[i].id + ","; } if (ids) { - //批量更新会员的预收款信息 - for (var i = 0; i < row.length; i++) { - if (listSubType === "零售") { - $.ajax({ - type: "post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data: { - supplierId: row[i].organid, //会员id - advanceIn: row[i].totalprice //删除时同时返还用户的预付款 - }, - success: function (res) { - if (res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function () { - $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); - return; - } - }); - } - } //批量删除 $.ajax({ type: "post", - // url: "/depotHead/batchDelete", url: "/depotHead/batchDeleteDepotHeadAndDetail", dataType: "json", async: false, @@ -1601,48 +1298,6 @@ function addDepotHead(){ }); url = '/depotHead/addDepotHeadAndDetail'; - //零售单据修改收款时,自动计算找零 - if(listSubType == "零售" || listSubType == "零售退货") { - $("#payType").val("现付"); - $("#OrganId").combobox("setValue", orgDefaultId); //自动默认选择非会员 - // 鼠标点下时清空选择项 - $("#OrganId").next().find("input").off("mousedown").on("mousedown",function(){ - $("#OrganId").combobox("setValue", ""); - }); - //当会员卡号长度超过10位后,自动点击下拉框,用于兼容刷卡器 - $("#OrganId").next().find("input").off("keyup").on("keyup",function(){ - var self = this; - if($(this).val().length === 10){ - setTimeout(function(){ - $(".combo-panel .combobox-item-selected").click(); - //更新付款类型,加载会员的预付款的金额 - for(var i=0; i0){ - option = ''; - option += ''; - } - else { - option += ''; - } - $("#payType").empty().append(option); - } - } - },1000); - } - }); - var getAmount = $("#depotHeadFM .get-amount"); - var changeAmount = $("#depotHeadFM .change-amount"); - var backAmount = $("#depotHeadFM .back-amount"); - getAmount.val(0); changeAmount.val(0); backAmount.val(0); //时间初始化 - getAmount.off("keyup").on("keyup",function() { - if(changeAmount.val()){ - backAmount.val((getAmount.val()-changeAmount.val()).toFixed(2)); - } - }); - } } //编辑信息 @@ -1698,30 +1353,7 @@ function editDepotHead(index, status){ $(".window-mask").css({ width: webW ,height: webH}); depotHeadID = rowsdata.id; - if(listSubType == "零售"){ - var option = ""; - if(rowsdata.paytype == "预付款"){ - option = ''; - option += ''; - } - else { - option += ''; - } - $("#payType").empty().append(option); - } - if(listSubType == "销售" || listSubType == "销售退货"){ - if(rowsdata.salesman){ - var arr = rowsdata.salesman.split(","); - var salesmanArray = []; - for(var i=0;i","")); - } - } - $("#Salesman").combobox('setValues', salesmanArray); - } - } //采购入库、销售出库的多账户加载 if(rowsdata.accountidlist!=undefined && rowsdata.accountmoneylist!=undefined){ @@ -1729,24 +1361,6 @@ function editDepotHead(index, status){ var accountArr = rowsdata.accountidlist.split(","); var accountMoneyArr = rowsdata.accountmoneylist.split(","); accountMoneyArr = changeListFmtPlus(accountMoneyArr) //将数组单个金额中的数值转为正数 - - if(listSubType == "零售" || listSubType == "零售退货") { - var manyAccountMoney = 0; //多账户合计-零售 - for (var j = 0; j < accountArr.length; j++) { - if (accountList != null) { - for (var i = 0; i < accountList.length; i++) { - var account = accountList[i]; - if (accountArr[j] == account.id) { - manyAccountMoney += accountMoneyArr[j] - 0; //多账户合计-零售 - } - } - } - } - $("#getAmount").val(manyAccountMoney); //收款金额、付款金额 - var changeAmount = $("#ChangeAmount").val()-0; - $("#backAmount").val((manyAccountMoney-changeAmount).toFixed(2)); //找零 - } - $("#AccountId").attr("data-accountArr", JSON.stringify(accountArr)).attr("data-accountMoneyArr", JSON.stringify(accountMoneyArr)); //json数据存储 $(".many-account-ico").show(); //显示多账户的ico图标 } @@ -1840,52 +1454,6 @@ function showDepotHead(index){ depotHeadID = rowsdata.id; initTableData_material_show(TotalPrice); //商品列表-查看状态 - - //零售单据展示数据 - if(listSubType == "零售" || listSubType == "零售退货"){ - var changeAccount = $("#depotHeadDlgShow .change-amount-show").text() -0; - if(manyAccountMoney!==0){ - $("#depotHeadDlgShow .get-amount-show").text((manyAccountMoney).toFixed(2)); - $("#depotHeadDlgShow .back-amount-show").text((manyAccountMoney -changeAccount).toFixed(2)); - } - else { - $("#depotHeadDlgShow .get-amount-show").text((changeAccount).toFixed(2)); - $("#depotHeadDlgShow .back-amount-show").text(0); - } - } - if(listSubType === "销售" || listSubType === "销售退货"){ - if(rowsdata.salesman){ - var arr = rowsdata.salesman.split(","); - var salesmanStr = ""; - for(var i=0;i",""); - } - else { - salesmanStr += arr[i].replace("<","").replace(">","") + ","; - } - } - } - $.ajax({ - type: "get", - url: "/person/getPersonByIds", - data: { - personIDs: salesmanStr - }, - success:function(res){ - if(res && res.code === 200){ - if(res.data) { - $("#SalesmanShow").text(res.data.names); //销售人员列表 - } - } - }, - error:function(){ - - } - }); - } - } } //绑定操作事件 @@ -1977,99 +1545,6 @@ function bindEvent(){ if(checkDepotHeadNumber()){ return; } - } - //输入框提示 - if(listTitle === "采购订单列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择供应商!','warning'); - return; - } - } - else if(listTitle === "采购入库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择供应商!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择结算账户!','warning'); - return; - } - } - else if(listTitle === "零售退货列表"){ - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择付款账户!','warning'); - return; - } - if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { - $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); - return; - } - } - else if(listTitle === "销售退货列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择退货单位!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择付款账户!','warning'); - return; - } - } - else if(listTitle === "其它入库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择往来单位!','warning'); - return; - } - } - else if(listTitle === "零售出库列表"){ - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择收款账户!','warning'); - return; - } - if($("#backAmount").val()-0 <0){ - $.messager.alert('提示','找零金额不能小于0!','warning'); - return; - } - if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { - $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); - return; - } - - } - else if(listTitle === "销售订单列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择购买单位!','warning'); - return; - } - } - else if(listTitle === "销售出库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择购买单位!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择收款账户!','warning'); - return; - } - } - else if(listTitle === "采购退货列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择收货单位!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择收款账户!','warning'); - return; - } - } - else if(listTitle === "其它出库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择往来单位!','warning'); - return; - } - } - else if(listTitle === "调拨出库列表"){ - } //进行明细的校验 if(depotHeadID ==0) { @@ -2098,36 +1573,9 @@ function bindEvent(){ accountMoneyList = accountMoneyList.replace(reg,""); //替换所有的双引号 accountMoneyArr = accountMoneyList.split(","); //转为数组 } - if(listSubType === "采购订单"||listSubType === "采购"||listSubType === "零售退货"||listSubType === "销售退货"){ - //付款为负数 - ChangeAmount = 0 - ChangeAmount; - TotalPrice = 0 - TotalPrice; - if(accountMoneyArr) { - accountMoneyArr = changeListFmtMinus(accountMoneyArr); //将数组单个金额中的数值转为负数 - } - } //零售时候,可以从会员预付款中扣款 var thisPayType = "现付"; - if(listSubType === "零售") { - if($("#payType").val() ==="预付款") { - thisPayType = "预付款"; - } - } var SalesmanStr = ""; - if(listSubType === "销售" || listSubType === "销售退货"){ - var Salesman = $('#Salesman').combobox('getValues').toString(); //销售人员 - if(Salesman) { - var SalesmanArray = Salesman.split(","); - for (var i = 0; i < SalesmanArray.length; i++) { - if (i === SalesmanArray.length - 1) { - SalesmanStr += "<" + SalesmanArray[i] + ">"; - } - else { - SalesmanStr += "<" + SalesmanArray[i] + ">,"; - } - } - } - } var getAccountID = $.trim($("#AccountId").val()); if($("#AccountId").val() === "many"){ //多账户 getAccountID = null; @@ -2186,36 +1634,6 @@ function bindEvent(){ var opts = $("#tableData").datagrid('options'); showDepotHeadDetails(opts.pageNumber,opts.pageSize); } - - if(thisPayType === "预付款") { - //更新用户信息-预付款 - var advanceIn = 0; //预付款金额 - if(depotHeadID){ - advanceIn = TotalPrice - preTotalPrice; //修改时,预付款=合计金额-加载金额 - } - else{ - advanceIn = TotalPrice; //新增时,预付款=合计金额 - } - $.ajax({ - type:"post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data:{ - supplierId: OrganId, //会员id - advanceIn: 0 - advanceIn //保存的同时扣掉用户的预付款 - }, - success: function(res){ - if(res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function(){ - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); - } - //保存明细记录 if(depotHeadID ==0) { @@ -2414,12 +1832,7 @@ function bindEvent(){ else { $("#depotHeadAccountDlg").dialog('close'); $("#AccountId").val("").removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 - if(listSubType==="零售" || listSubType==="零售退货"){ - $("#ChangeAmount").prop("readonly","readonly"); - } - else { - $("#ChangeAmount").removeProp("readonly","readonly"); - } + $("#ChangeAmount").removeProp("readonly","readonly"); $(".many-account-ico").hide(); //隐藏多账户小图标 } } @@ -2443,12 +1856,7 @@ function bindEvent(){ } else{ $(this).removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 - if(listSubType==="零售" || listSubType==="零售退货"){ - $("#ChangeAmount").prop("readonly","readonly"); - } - else { - $("#ChangeAmount").removeProp("readonly","readonly"); - } + $("#ChangeAmount").removeProp("readonly","readonly"); $(".many-account-ico").hide(); //隐藏多账户小图标 } }); @@ -2466,12 +1874,7 @@ function bindEvent(){ $(this).find(".account-id-dlg").val(accountArr[index]); $(this).find(".account-money-dlg").val(accountMoneyArr[index]); }); - if(listSubType==="零售" || listSubType==="零售退货") { - $("#accountMoneyTotalDlg").text($("#getAmount").val()); - } - else { - $("#accountMoneyTotalDlg").text($("#ChangeAmount").val()); - } + $("#accountMoneyTotalDlg").text($("#ChangeAmount").val()); }); //点击采购费用、销售费用的事件 @@ -2594,94 +1997,6 @@ function bindEvent(){ $("#otherMoneyTotalDlg").text($("#OtherMoney").val()); }); - if(listTitle === "采购入库列表" || listTitle === "其它入库列表" || listTitle === "采购订单列表"|| listTitle === "零售出库列表"|| listTitle === "销售出库列表"|| listTitle === "销售订单列表"){ - var supplierType = "供应商"; - if(listTitle === "零售出库列表"){ - supplierType = "会员"; - }else if(listTitle === "销售出库列表" || listTitle === "销售订单列表"){ - supplierType = "客户"; - } - //检查单位名称是否存在 ++ 重名无法提示问题需要跟进 - function checkSupplierName() { - var supplierName = $.trim($("#supplier").val()); - var orgSupplier = ""; - //表示是否存在 true == 存在 false = 不存在 - var flag = false; - //开始ajax名称检验,不能重名 - if(supplierName.length > 0 &&( orgSupplier.length ==0 || supplierName != orgSupplier)) - { - $.ajax({ - type:"get", - url: "/supplier/checkIsNameExist", - dataType: "json", - async : false, - data: ({ - id : 0, - name : supplierName - }), - success: function (res) { - if(res && res.code === 200) { - if(res.data && res.data.status) { - flag = res.data.status; - if (flag) { - $.messager.alert('提示', '单位名称已经存在', 'info'); - return; - } - } - } - }, - //此处添加错误处理 - error:function() { - $.messager.alert('提示','检查单位名称是否存在异常,请稍后再试!','error'); - return; - } - }); - } - return flag; - } - - //保存供应商信息 - $("#saveSupplier").off("click").on("click",function() { - if(validateForm("supplierFM")) { - return; - } - if(checkSupplierName()){ - return; - } - var reg = /^([0-9])+$/; - var phonenum = $.trim($("#phonenum").val()); - if(phonenum.length>0 && !reg.test(phonenum)) - { - $.messager.alert('提示','电话号码只能是数字','info'); - $("#phonenum").val("").focus(); - return; - } - var beginNeedGet = $.trim($("#BeginNeedGet").val()); - var beginNeedPay = $.trim($("#BeginNeedPay").val()); - if(beginNeedGet && beginNeedPay) { - $.messager.alert('提示','期初应收和期初应付不能同时输入','info'); - return; - } - var url = '/supplier/add'; - var supObj = $("#supplierFM").serializeObject(); - supObj.type = supplierType; - supObj.enabled = 1; - $.ajax({ - url: url, - type:"post", - dataType: "json", - data:{ - info: JSON.stringify(supObj) - }, - success: function(res) { - if (res) { - $('#supplierDlg').dialog('close'); - initSupplier(); //刷新供应商 - } - } - }); - }); - } } function showDepotHeadDetails(pageNo,pageSize){ @@ -2798,54 +2113,7 @@ function autoReckon() { return; } else { - if(listTitle!="销售出库列表" && listTitle!="采购退货列表" && listTitle!="其它出库列表" && listTitle!="调拨出库列表") { return; - } - $.ajax({ - url: "/material/findById", - type: "get", - dataType: "json", - data: { - id: mValue - 0 - }, - success: function(res){ - if(res && res.rows && res.rows[0]) { - var retailPrice = res.rows[0].RetailPrice; - var presetPriceOne = res.rows[0].PresetPriceOne; - var presetPriceTwo = res.rows[0].PresetPriceTwo; - //定义模版 - var temp = "
"; - temp +="
    "; - temp +="
  • 批发价:" + presetPriceTwo + "
  • "; - temp +="
  • 零售价:" + retailPrice + "
  • "; - temp +="
"; - temp +="
"; - if($('.price-list').length){ - $('.price-list').remove(); //如果存在价格列表先移除 - } - else { - if(presetPriceTwo != undefined){ //多单位的商品 - $(self).after(temp); //加载列表信息 - } - } - $('.price-list ul li').off("click").on("click",function(){ - var price = $(this).text(); - price = price.substring(price.indexOf(":") + 1); - $(self).val(price); - $(self).keyup(); //模拟键盘操作 - $('.price-list').remove(); //移除价格列表 - }); - //点击空白处移除价格列表 - $(".datagrid-body").off("click").on("click",function(){ - $('.price-list').remove(); //移除价格列表 - }); - } - }, - error: function(){ - $.messager.alert('错误提示','查询商品信息异常,请稍后再试!','error'); - return; - } - }); } }); //修改含税单价,自动计算单价、金额、税额、价税合计和合计 @@ -2922,9 +2190,6 @@ function autoReckon() { if(rowListLength > 0){ mTypeValue = "普通子件"; } - if(listSubType == "组装单" || listSubType == "拆卸单"){ - mType.find(input).val(mTypeValue).prop("readonly","readonly"); - } },500); } From 809cfde5685b7c2b15d43ce62f945911a411d203 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Wed, 8 May 2019 12:00:25 +0800 Subject: [PATCH 043/117] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=B0=83=E6=8B=A8?= =?UTF-8?q?=E5=87=BA=E5=BA=93=EF=BC=8C=E5=8E=BB=E6=8E=89=E5=A4=9A=E4=BD=99?= =?UTF-8?q?=E7=9A=84js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../js/pages/materials/allocation_out_list.js | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) diff --git a/erp_web/js/pages/materials/allocation_out_list.js b/erp_web/js/pages/materials/allocation_out_list.js index 8307f3f2..89554efd 100644 --- a/erp_web/js/pages/materials/allocation_out_list.js +++ b/erp_web/js/pages/materials/allocation_out_list.js @@ -454,11 +454,6 @@ function initTableData(){ } else if(value === "1") { return "已审核"; } else if(value === "2") { - if(listTitle == "采购订单列表") { - return "已转采购"; - } else if(listTitle == "销售订单列表") { - return "已转销售"; - } } } } @@ -570,11 +565,6 @@ function statisticsFun(body,UnitPrice,OperNumber,footer,taxRate){ } var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 - - if(listSubType == "零售" || listSubType == "零售退货") { - $("#ChangeAmount, #getAmount").val((TotalPrice).toFixed(2)); - $("#backAmount").val(0); - } } //初始化表格数据-商品列表-编辑状态 function initTableData_material(type,TotalPrice){ @@ -1812,14 +1802,7 @@ function bindEvent(){ if(accountArr.length && accountMoneyArr.length) { $("#AccountId").attr("data-accountArr",JSON.stringify(accountArr)).attr("data-accountMoneyArr",JSON.stringify(accountMoneyArr)); //json数据存储 } - if(listSubType==="零售" || listSubType==="零售退货") { - $("#getAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 - var backAmount = $("#getAmount").val() - $("#ChangeAmount").val(); - $("#backAmount").val((backAmount - 0).toFixed(2)); //计算找零金额 - } - else { - $("#ChangeAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 - } + $("#ChangeAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 $("#Debt").val((discountLastMoneyNum-accountMoneyTotal).toFixed(2)); //本次欠款 $("#depotHeadAccountDlg").dialog('close'); }); From 449ae93b0ab1be2761f869555ccde5a277527c7f Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Wed, 8 May 2019 15:11:18 +0800 Subject: [PATCH 044/117] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=BB=84=E8=A3=85?= =?UTF-8?q?=E5=8D=95=EF=BC=8C=E5=8E=BB=E6=8E=89=E5=A4=9A=E4=BD=99=E7=9A=84?= =?UTF-8?q?js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- erp_web/js/pages/materials/assemble_list.js | 748 +------------------- 1 file changed, 21 insertions(+), 727 deletions(-) diff --git a/erp_web/js/pages/materials/assemble_list.js b/erp_web/js/pages/materials/assemble_list.js index 662d9507..c05d2368 100644 --- a/erp_web/js/pages/materials/assemble_list.js +++ b/erp_web/js/pages/materials/assemble_list.js @@ -37,9 +37,18 @@ var otherColumns = true; //明细中的‘别名’列是否显示 var btnEnableList = getBtnStr(); //获取按钮的权限 var mPropertyList = ""; //商品属性列表 var defaultAccountId = 0; //默认账户id +//改变宽度和高度 +$("#searchPanel").panel({width:webW-2}); +$("#tablePanel").panel({width:webW-2}); +var listTitle = "组装单列表"; //单据标题 +var depotString = "|"; +var listType = "其它"; +var listSubType = "组装单"; +var payTypeTitle = "隐藏"; +var organUrl = "/supplier/findBySelect_sup"; //供应商接口 +var amountNum = "ZZD"; $(function(){ //初始化系统基础信息 - getType(); initSystemData_UB(); initSelectInfo_UB(); initSystemData_depot(); @@ -57,108 +66,7 @@ $(function(){ initForm(); bindEvent();//绑定操作事件 }); -//根据单据名称获取类型 -function getType(){ - listTitle = $("#tablePanel").prev().text(); - depotString = "|"; - //改变宽度和高度 - $("#searchPanel").panel({width:webW-2}); - $("#tablePanel").panel({width:webW-2}); - var supUrl = "/supplier/findBySelect_sup"; //供应商接口 - var cusUrl = "/supplier/findBySelect_cus?UBType=UserCustomer&UBKeyId=" + kid; //客户接口 - var retailUrl = "/supplier/findBySelect_retail"; //散户接口 - if(listTitle === "采购订单列表"){ - listType = "其它"; - listSubType = "采购订单"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "CGDD"; - } - else if(listTitle === "采购入库列表"){ - listType = "入库"; - listSubType = "采购"; - payTypeTitle = "付款"; - organUrl = supUrl; - amountNum = "CGRK"; - } - else if(listTitle === "零售退货列表"){ - listType = "入库"; - listSubType = "零售退货"; //注:用预付款购买的产品不能退货 - payTypeTitle = "付款"; - organUrl = retailUrl; - amountNum = "LSTH"; - } - else if(listTitle === "销售退货列表"){ - listType = "入库"; - listSubType = "销售退货"; - payTypeTitle = "付款"; - organUrl = cusUrl; - amountNum = "XSTH"; - } - else if(listTitle === "其它入库列表"){ - listType = "入库"; - listSubType = "其它"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "QTRK"; - } - else if(listTitle === "零售出库列表"){ - listType = "出库"; - listSubType = "零售"; - payTypeTitle = "收款"; - organUrl = retailUrl; - amountNum = "LSCK"; - } - else if(listTitle === "销售订单列表"){ - listType = "其它"; - listSubType = "销售订单"; - payTypeTitle = "隐藏"; - organUrl = cusUrl; - amountNum = "XSDD"; - } - else if(listTitle === "销售出库列表"){ - listType = "出库"; - listSubType = "销售"; - payTypeTitle = "收款"; - organUrl = cusUrl; - amountNum = "XSCK"; - } - else if(listTitle === "采购退货列表"){ - listType = "出库"; - listSubType = "采购退货"; - payTypeTitle = "收款"; - organUrl = supUrl; - amountNum = "CGTH"; - } - else if(listTitle === "其它出库列表"){ - listType = "出库"; - listSubType = "其它"; - payTypeTitle = "隐藏"; - organUrl = cusUrl; - amountNum = "QTCK"; - } - else if(listTitle === "调拨出库列表"){ - listType = "出库"; - listSubType = "调拨"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "DBCK"; - } - else if(listTitle === "组装单列表"){ - listType = "其它"; - listSubType = "组装单"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "ZZD"; - } - else if(listTitle === "拆卸单列表"){ - listType = "其它"; - listSubType = "拆卸单"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "CXD"; - } -} + //初始化系统基础信息 function initSystemData_UB(){ $.ajax({ @@ -264,23 +172,8 @@ function initSupplier(){ orgDefaultId = data[i].id; } } - if(listSubType === "零售"){ - orgDefaultList = res; - } }, onSelect: function(rec){ - if(listSubType === "零售"){ - var option = ""; - if(rec.supplier !== "非会员" && rec.advanceIn >0){ - option = ''; - option += ''; - } - else { - option += ''; - } - $("#payType").empty().append(option); - } - else{ $.ajax({ type:"get", url: "/supplier/findById", @@ -299,7 +192,6 @@ function initSupplier(){ } }); - } } }); } @@ -504,38 +396,11 @@ function initTableData(){ else { isHiddenStatus = true; //隐藏 } - var isShowLastMoneyColumn = false; //是否显示优惠后金额和价税合计,true为隐藏,false为显示 - if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowLastMoneyColumn = true; //隐藏 - } - var isShowOrganNameColumn = false; //是否显示供应商、客户等信息,true为隐藏,false为显示 + var isShowLastMoneyColumn = true; //是否显示优惠后金额和价税合计,true为隐藏,false为显示 + var isShowOrganNameColumn = true; //是否显示供应商、客户等信息,true为隐藏,false为显示 var organNameTitle = ""; //组织名称标题 - if(listSubType == "调拨" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowOrganNameColumn = true; //隐藏 - } - else { - if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "采购退货列表" || listTitle == "其它入库列表"){ - organNameTitle = "供应商名称"; - } - else if(listTitle == "销售订单列表" || listTitle == "销售退货列表" || listTitle == "销售出库列表" || listTitle == "其它出库列表"){ - organNameTitle = "客户名称"; - } - else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ - organNameTitle = "会员卡号"; - } - } var opWidth = 90; //操作宽度 - var isShowSkip = false; //是否显示跳转按钮 var opTitle = ""; //跳转按钮的标题 - if(listTitle == "采购订单列表") { - opWidth = 120; - isShowSkip = true; - opTitle = "转采购入库"; - } else if(listTitle == "销售订单列表") { - opWidth = 120; - isShowSkip = true; - opTitle = "转销售出库"; - } $('#tableData').datagrid({ height:heightInfo, rownumbers: false, @@ -555,25 +420,10 @@ function initTableData(){ { title: '操作',field: 'op',align:"center",width:opWidth, formatter:function(value, rec,index) { var str = ''; - // var rowInfo = rec.id + 'AaBb' + rec.projectid+ 'AaBb' + rec.number+ 'AaBb' + rec.operpersonname - // + 'AaBb' + rec.opertimeStr+ 'AaBb' + rec.organid+ 'AaBb' + rec.handspersonid - // + 'AaBb' + rec.accountid+ 'AaBb' + rec.changeamount+ 'AaBb' + rec.remark - // + 'AaBb' + rec.projectName+ 'AaBb' + rec.organName+ 'AaBb' + rec.handsPersonName - // + 'AaBb' + rec.accountName + 'AaBb' + rec.totalprice + 'AaBb' + rec.allocationprojectid - // + 'AaBb' + rec.allocationProjectName + 'AaBb' + rec.paytype + 'AaBb' + rec.salesman - // + 'AaBb' + rec.discount + 'AaBb' + rec.discountmoney + 'AaBb' + rec.discountlastmoney - // + 'AaBb' + rec.accountidlist + 'AaBb' + rec.accountmoneylist - // + 'AaBb' + rec.othermoney + 'AaBb' + rec.othermoneylist + 'AaBb' + rec.othermoneyitem - // + 'AaBb' + rec.accountday + 'AaBb' + rec.linknumber; - // rowInfo = rowInfo.replace(/\"/g, ""); - // rowInfo = rowInfo.replace(/\[|]/g,""); var orgId = rec.organid? rec.organid:0; str += '   '; str += '   '; str += ''; - if(isShowSkip) { - str += '   '; - } return str; } }, @@ -607,11 +457,6 @@ function initTableData(){ } else if(value === "1") { return "已审核"; } else if(value === "2") { - if(listTitle == "采购订单列表") { - return "已转采购"; - } else if(listTitle == "销售订单列表") { - return "已转销售"; - } } } } @@ -647,27 +492,6 @@ function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ unitName = unitName.substring(0, unitName.indexOf("(")); } var unitArr = unitName.split(","); - var basicUnit = unitArr[0]; //基础单位 - var otherUnit = unitArr[1]; //副单位 - var unitSetInput =""; //单位 - if(listSubType === "采购订单" || listSubType === "采购" || listSubType === "采购退货"){ - unitSetInput = rec.data[0].firstinunit; - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = thisRatio; - } - } - else if(listSubType === "销售订单" || listSubType === "销售" || listSubType === "销售退货" || listSubType === "零售" || listSubType === "零售退货"){ - unitSetInput = rec.data[0].firstoutunit; - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = thisRatio; - } - } } //查询库存 $.ajax({ @@ -746,10 +570,6 @@ function statisticsFun(body,UnitPrice,OperNumber,footer,taxRate){ var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 - if(listSubType == "零售" || listSubType == "零售退货") { - $("#ChangeAmount, #getAmount").val((TotalPrice).toFixed(2)); - $("#backAmount").val(0); - } } //初始化表格数据-商品列表-编辑状态 function initTableData_material(type,TotalPrice){ @@ -764,23 +584,11 @@ function initTableData_material(type,TotalPrice){ var anotherDepotHeadName = ""; //对方仓库的列的标题 var anotherDepotUrl = ""; //对方仓库接口地址 var anotherDepotTextField = ""; - if(listSubType == "调拨"){ - isShowAnotherDepot = false; //调拨时候显示对方仓库 - anotherDepotHeadName = "调入仓库"; - anotherDepotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; - anotherDepotTextField = "depotName"; - } depotHeadName = "仓库名称"; depotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; depotTextField = "depotName"; - var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 - if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowTaxColumn = true; //隐藏 - } - var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 - if(listSubType == "组装单" || listSubType == "拆卸单"){ - isShowMaterialTypeColumn = false; //显示 - } + var isShowTaxColumn = true; //是否显示税率相关的列,true为隐藏,false为显示 + var isShowMaterialTypeColumn = false; //是否显示商品类型相关的列,true为隐藏,false为显示 $('#materialData').datagrid({ height:245, rownumbers: false, @@ -905,24 +713,6 @@ function initTableData_material(type,TotalPrice){ var unitSetInput =""; //单位 body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 var loadRatio = 1; //在单位输入框上面加载比例字段 - if(listSubType === "采购" || listSubType === "采购退货" || listSubType === "采购订单"){ - unitSetInput = res.data[0].firstinunit; //给单位文本框赋值 - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = ratio; - } - } - else if(listSubType === "销售" || listSubType === "销售退货" || listSubType === "销售订单" || listSubType === "零售" || listSubType === "零售退货"){ - unitSetInput = res.data[0].firstoutunit; //给单位文本框赋值 - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = ratio; - } - } body.find("[field='Unit']").find(input).val(unitSetInput).attr("data-ratio", loadRatio); //设置-首选单位 body.find("[field='Unit']").find(input).off("click").on("click",function(){ @@ -952,27 +742,9 @@ function initTableData_material(type,TotalPrice){ var type = $(this).attr("data-type"); var UnitPrice = 0; if(type === "basic"){ - if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { - UnitPrice = basicPresetPriceOne; - } - else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { - UnitPrice = basicPresetPriceTwo; - } - else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ - UnitPrice = retailPriceOne; - } body.find("[field='Stock']").find(input).val(stock); //修改库存 } else if(type === "other"){ - if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { - UnitPrice = otherPresetPriceOne; - } - else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { - UnitPrice = otherPresetPriceTwo; - } - else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ - UnitPrice = retailPriceTwo; - } body.find("[field='Stock']").find(input).val((stock/ratio).toFixed(2)); //修改库存 } body.find("[field='UnitPrice']").find(input).val(UnitPrice); //单价 @@ -992,45 +764,6 @@ function initTableData_material(type,TotalPrice){ }); } var detailPrice = 0; //明细列表-单价 - if(listSubType == "零售" || listSubType == "零售退货") { - if(res.data[0].unit) { //如果存在计量单位信息 - detailPrice = retailPrice; - } - else { - if (firstOutUnit == basicUnit) { - detailPrice = retailPriceOne; - } - else if (firstOutUnit == otherUnit) { - detailPrice = retailPriceTwo; - } - } - } - else if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { - if(res.data[0].unit) { //如果存在计量单位信息 - detailPrice = presetPriceOne; - } - else { - if (firstInUnit == basicUnit) { - detailPrice = basicPresetPriceOne; - } - else if (firstInUnit == otherUnit) { - detailPrice = otherPresetPriceOne; - } - } - } - else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { - if(res.data[0].unit) { //如果存在计量单位信息 - detailPrice = presetPriceTwo; - } - else { - if(firstOutUnit==basicUnit) { - detailPrice = basicPresetPriceTwo; - } - else if(firstOutUnit==otherUnit){ - detailPrice = otherPresetPriceTwo; - } - } - } body.find("[field='OperNumber']").find(input).val(1); //数量初始化为1 //单价和总价赋值 if(!detailPrice) { @@ -1175,19 +908,9 @@ function initTableData_material_show(TotalPrice){ var isShowAnotherDepot = true; //显示对方仓库,true为隐藏,false为显示 var anotherDepotHeadName = ""; //对方仓库的列的标题 var depotHeadName = ""; //仓库的列的标题 - if(listSubType == "调拨"){ - isShowAnotherDepot = false; //调拨时候显示对方仓库 - anotherDepotHeadName = "调入仓库"; - } depotHeadName = "仓库名称"; - var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 - if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowTaxColumn = true; //隐藏 - } - var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 - if(listSubType == "组装单" || listSubType == "拆卸单"){ - isShowMaterialTypeColumn = false; //显示 - } + var isShowTaxColumn = true; //是否显示税率相关的列,true为隐藏,false为显示 + var isShowMaterialTypeColumn = false; //是否显示商品类型相关的列,true为隐藏,false为显示 $('#materialDataShow').datagrid({ height:245, rownumbers: true, @@ -1311,28 +1034,6 @@ function deleteDepotHead(depotHeadID, thisOrganId, totalPrice, status){ return; } }); - - //更新会员的预收款信息 - if(listSubType === "零售") { - $.ajax({ - type:"post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data:{ - supplierId: thisOrganId, //会员id - advanceIn: totalPrice //删除时同时返还用户的预付款 - }, - success: function(res){ - if(res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function(){ - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); - } } }); } @@ -1345,11 +1046,6 @@ function skipDepotHead(index, status){ $.messager.alert('提示','未审核和已转的单据禁止操作!','warning'); } else { sessionStorage.setItem("rowInfo", JSON.stringify(rowsdata)); //将单据信息存入缓存中 - if(listTitle == "采购订单列表") { - parent.addTab("订单转采购", "../materials/purchase_in_list.html?t=skip", ""); - } else if(listTitle == "销售订单列表") { - parent.addTab("订单转销售", "../materials/sale_out_list.html?t=skip", ""); - } } } @@ -1377,29 +1073,6 @@ function batDeleteDepotHead(){ ids += row[i].id + ","; } if (ids) { - //批量更新会员的预收款信息 - for (var i = 0; i < row.length; i++) { - if (listSubType === "零售") { - $.ajax({ - type: "post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data: { - supplierId: row[i].organid, //会员id - advanceIn: row[i].totalprice //删除时同时返还用户的预付款 - }, - success: function (res) { - if (res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function () { - $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); - return; - } - }); - } - } //批量删除 $.ajax({ type: "post", @@ -1601,48 +1274,6 @@ function addDepotHead(){ }); url = '/depotHead/addDepotHeadAndDetail'; - //零售单据修改收款时,自动计算找零 - if(listSubType == "零售" || listSubType == "零售退货") { - $("#payType").val("现付"); - $("#OrganId").combobox("setValue", orgDefaultId); //自动默认选择非会员 - // 鼠标点下时清空选择项 - $("#OrganId").next().find("input").off("mousedown").on("mousedown",function(){ - $("#OrganId").combobox("setValue", ""); - }); - //当会员卡号长度超过10位后,自动点击下拉框,用于兼容刷卡器 - $("#OrganId").next().find("input").off("keyup").on("keyup",function(){ - var self = this; - if($(this).val().length === 10){ - setTimeout(function(){ - $(".combo-panel .combobox-item-selected").click(); - //更新付款类型,加载会员的预付款的金额 - for(var i=0; i0){ - option = ''; - option += ''; - } - else { - option += ''; - } - $("#payType").empty().append(option); - } - } - },1000); - } - }); - var getAmount = $("#depotHeadFM .get-amount"); - var changeAmount = $("#depotHeadFM .change-amount"); - var backAmount = $("#depotHeadFM .back-amount"); - getAmount.val(0); changeAmount.val(0); backAmount.val(0); //时间初始化 - getAmount.off("keyup").on("keyup",function() { - if(changeAmount.val()){ - backAmount.val((getAmount.val()-changeAmount.val()).toFixed(2)); - } - }); - } } //编辑信息 @@ -1697,32 +1328,6 @@ function editDepotHead(index, status){ $('#depotHeadDlg').dialog('open').dialog('setTitle',' 编辑' + editTitle); $(".window-mask").css({ width: webW ,height: webH}); depotHeadID = rowsdata.id; - - if(listSubType == "零售"){ - var option = ""; - if(rowsdata.paytype == "预付款"){ - option = ''; - option += ''; - } - else { - option += ''; - } - $("#payType").empty().append(option); - } - - if(listSubType == "销售" || listSubType == "销售退货"){ - if(rowsdata.salesman){ - var arr = rowsdata.salesman.split(","); - var salesmanArray = []; - for(var i=0;i","")); - } - } - $("#Salesman").combobox('setValues', salesmanArray); - } - } - //采购入库、销售出库的多账户加载 if(rowsdata.accountidlist!=undefined && rowsdata.accountmoneylist!=undefined){ $("#AccountId").val("many"); //下拉框选中多账户 @@ -1840,52 +1445,6 @@ function showDepotHead(index){ depotHeadID = rowsdata.id; initTableData_material_show(TotalPrice); //商品列表-查看状态 - - //零售单据展示数据 - if(listSubType == "零售" || listSubType == "零售退货"){ - var changeAccount = $("#depotHeadDlgShow .change-amount-show").text() -0; - if(manyAccountMoney!==0){ - $("#depotHeadDlgShow .get-amount-show").text((manyAccountMoney).toFixed(2)); - $("#depotHeadDlgShow .back-amount-show").text((manyAccountMoney -changeAccount).toFixed(2)); - } - else { - $("#depotHeadDlgShow .get-amount-show").text((changeAccount).toFixed(2)); - $("#depotHeadDlgShow .back-amount-show").text(0); - } - } - if(listSubType === "销售" || listSubType === "销售退货"){ - if(rowsdata.salesman){ - var arr = rowsdata.salesman.split(","); - var salesmanStr = ""; - for(var i=0;i",""); - } - else { - salesmanStr += arr[i].replace("<","").replace(">","") + ","; - } - } - } - $.ajax({ - type: "get", - url: "/person/getPersonByIds", - data: { - personIDs: salesmanStr - }, - success:function(res){ - if(res && res.code === 200){ - if(res.data) { - $("#SalesmanShow").text(res.data.names); //销售人员列表 - } - } - }, - error:function(){ - - } - }); - } - } } //绑定操作事件 @@ -1977,99 +1536,6 @@ function bindEvent(){ if(checkDepotHeadNumber()){ return; } - } - //输入框提示 - if(listTitle === "采购订单列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择供应商!','warning'); - return; - } - } - else if(listTitle === "采购入库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择供应商!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择结算账户!','warning'); - return; - } - } - else if(listTitle === "零售退货列表"){ - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择付款账户!','warning'); - return; - } - if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { - $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); - return; - } - } - else if(listTitle === "销售退货列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择退货单位!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择付款账户!','warning'); - return; - } - } - else if(listTitle === "其它入库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择往来单位!','warning'); - return; - } - } - else if(listTitle === "零售出库列表"){ - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择收款账户!','warning'); - return; - } - if($("#backAmount").val()-0 <0){ - $.messager.alert('提示','找零金额不能小于0!','warning'); - return; - } - if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { - $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); - return; - } - - } - else if(listTitle === "销售订单列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择购买单位!','warning'); - return; - } - } - else if(listTitle === "销售出库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择购买单位!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择收款账户!','warning'); - return; - } - } - else if(listTitle === "采购退货列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择收货单位!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择收款账户!','warning'); - return; - } - } - else if(listTitle === "其它出库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择往来单位!','warning'); - return; - } - } - else if(listTitle === "调拨出库列表"){ - } //进行明细的校验 if(depotHeadID ==0) { @@ -2098,36 +1564,9 @@ function bindEvent(){ accountMoneyList = accountMoneyList.replace(reg,""); //替换所有的双引号 accountMoneyArr = accountMoneyList.split(","); //转为数组 } - if(listSubType === "采购订单"||listSubType === "采购"||listSubType === "零售退货"||listSubType === "销售退货"){ - //付款为负数 - ChangeAmount = 0 - ChangeAmount; - TotalPrice = 0 - TotalPrice; - if(accountMoneyArr) { - accountMoneyArr = changeListFmtMinus(accountMoneyArr); //将数组单个金额中的数值转为负数 - } - } //零售时候,可以从会员预付款中扣款 var thisPayType = "现付"; - if(listSubType === "零售") { - if($("#payType").val() ==="预付款") { - thisPayType = "预付款"; - } - } var SalesmanStr = ""; - if(listSubType === "销售" || listSubType === "销售退货"){ - var Salesman = $('#Salesman').combobox('getValues').toString(); //销售人员 - if(Salesman) { - var SalesmanArray = Salesman.split(","); - for (var i = 0; i < SalesmanArray.length; i++) { - if (i === SalesmanArray.length - 1) { - SalesmanStr += "<" + SalesmanArray[i] + ">"; - } - else { - SalesmanStr += "<" + SalesmanArray[i] + ">,"; - } - } - } - } var getAccountID = $.trim($("#AccountId").val()); if($("#AccountId").val() === "many"){ //多账户 getAccountID = null; @@ -2187,35 +1626,6 @@ function bindEvent(){ showDepotHeadDetails(opts.pageNumber,opts.pageSize); } - if(thisPayType === "预付款") { - //更新用户信息-预付款 - var advanceIn = 0; //预付款金额 - if(depotHeadID){ - advanceIn = TotalPrice - preTotalPrice; //修改时,预付款=合计金额-加载金额 - } - else{ - advanceIn = TotalPrice; //新增时,预付款=合计金额 - } - $.ajax({ - type:"post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data:{ - supplierId: OrganId, //会员id - advanceIn: 0 - advanceIn //保存的同时扣掉用户的预付款 - }, - success: function(res){ - if(res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function(){ - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); - } - //保存明细记录 if(depotHeadID ==0) { @@ -2394,14 +1804,7 @@ function bindEvent(){ if(accountArr.length && accountMoneyArr.length) { $("#AccountId").attr("data-accountArr",JSON.stringify(accountArr)).attr("data-accountMoneyArr",JSON.stringify(accountMoneyArr)); //json数据存储 } - if(listSubType==="零售" || listSubType==="零售退货") { - $("#getAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 - var backAmount = $("#getAmount").val() - $("#ChangeAmount").val(); - $("#backAmount").val((backAmount - 0).toFixed(2)); //计算找零金额 - } - else { $("#ChangeAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 - } $("#Debt").val((discountLastMoneyNum-accountMoneyTotal).toFixed(2)); //本次欠款 $("#depotHeadAccountDlg").dialog('close'); }); @@ -2414,12 +1817,7 @@ function bindEvent(){ else { $("#depotHeadAccountDlg").dialog('close'); $("#AccountId").val("").removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 - if(listSubType==="零售" || listSubType==="零售退货"){ - $("#ChangeAmount").prop("readonly","readonly"); - } - else { - $("#ChangeAmount").removeProp("readonly","readonly"); - } + $("#ChangeAmount").removeProp("readonly","readonly"); $(".many-account-ico").hide(); //隐藏多账户小图标 } } @@ -2443,12 +1841,7 @@ function bindEvent(){ } else{ $(this).removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 - if(listSubType==="零售" || listSubType==="零售退货"){ - $("#ChangeAmount").prop("readonly","readonly"); - } - else { - $("#ChangeAmount").removeProp("readonly","readonly"); - } + $("#ChangeAmount").removeProp("readonly","readonly"); $(".many-account-ico").hide(); //隐藏多账户小图标 } }); @@ -2466,12 +1859,7 @@ function bindEvent(){ $(this).find(".account-id-dlg").val(accountArr[index]); $(this).find(".account-money-dlg").val(accountMoneyArr[index]); }); - if(listSubType==="零售" || listSubType==="零售退货") { - $("#accountMoneyTotalDlg").text($("#getAmount").val()); - } - else { - $("#accountMoneyTotalDlg").text($("#ChangeAmount").val()); - } + $("#accountMoneyTotalDlg").text($("#ChangeAmount").val()); }); //点击采购费用、销售费用的事件 @@ -2593,95 +1981,6 @@ function bindEvent(){ }); $("#otherMoneyTotalDlg").text($("#OtherMoney").val()); }); - - if(listTitle === "采购入库列表" || listTitle === "其它入库列表" || listTitle === "采购订单列表"|| listTitle === "零售出库列表"|| listTitle === "销售出库列表"|| listTitle === "销售订单列表"){ - var supplierType = "供应商"; - if(listTitle === "零售出库列表"){ - supplierType = "会员"; - }else if(listTitle === "销售出库列表" || listTitle === "销售订单列表"){ - supplierType = "客户"; - } - //检查单位名称是否存在 ++ 重名无法提示问题需要跟进 - function checkSupplierName() { - var supplierName = $.trim($("#supplier").val()); - var orgSupplier = ""; - //表示是否存在 true == 存在 false = 不存在 - var flag = false; - //开始ajax名称检验,不能重名 - if(supplierName.length > 0 &&( orgSupplier.length ==0 || supplierName != orgSupplier)) - { - $.ajax({ - type:"get", - url: "/supplier/checkIsNameExist", - dataType: "json", - async : false, - data: ({ - id : 0, - name : supplierName - }), - success: function (res) { - if(res && res.code === 200) { - if(res.data && res.data.status) { - flag = res.data.status; - if (flag) { - $.messager.alert('提示', '单位名称已经存在', 'info'); - return; - } - } - } - }, - //此处添加错误处理 - error:function() { - $.messager.alert('提示','检查单位名称是否存在异常,请稍后再试!','error'); - return; - } - }); - } - return flag; - } - - //保存供应商信息 - $("#saveSupplier").off("click").on("click",function() { - if(validateForm("supplierFM")) { - return; - } - if(checkSupplierName()){ - return; - } - var reg = /^([0-9])+$/; - var phonenum = $.trim($("#phonenum").val()); - if(phonenum.length>0 && !reg.test(phonenum)) - { - $.messager.alert('提示','电话号码只能是数字','info'); - $("#phonenum").val("").focus(); - return; - } - var beginNeedGet = $.trim($("#BeginNeedGet").val()); - var beginNeedPay = $.trim($("#BeginNeedPay").val()); - if(beginNeedGet && beginNeedPay) { - $.messager.alert('提示','期初应收和期初应付不能同时输入','info'); - return; - } - var url = '/supplier/add'; - var supObj = $("#supplierFM").serializeObject(); - supObj.type = supplierType; - supObj.enabled = 1; - $.ajax({ - url: url, - type:"post", - dataType: "json", - data:{ - info: JSON.stringify(supObj) - }, - success: function(res) { - if (res) { - $('#supplierDlg').dialog('close'); - initSupplier(); //刷新供应商 - } - } - }); - }); - } } function showDepotHeadDetails(pageNo,pageSize){ @@ -2798,9 +2097,6 @@ function autoReckon() { return; } else { - if(listTitle!="销售出库列表" && listTitle!="采购退货列表" && listTitle!="其它出库列表" && listTitle!="调拨出库列表") { - return; - } $.ajax({ url: "/material/findById", type: "get", @@ -2922,9 +2218,7 @@ function autoReckon() { if(rowListLength > 0){ mTypeValue = "普通子件"; } - if(listSubType == "组装单" || listSubType == "拆卸单"){ - mType.find(input).val(mTypeValue).prop("readonly","readonly"); - } + mType.find(input).val(mTypeValue).prop("readonly","readonly"); },500); } From 1a942e166a586353478f8bc1cf32a6396be2aa8b Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Wed, 8 May 2019 15:48:01 +0800 Subject: [PATCH 045/117] =?UTF-8?q?=E4=BF=AE=E6=94=B9js=E5=8F=98=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../js/pages/materials/allocation_out_list.js | 18 ++++++------------ erp_web/js/pages/materials/assemble_list.js | 19 ++++++------------- 2 files changed, 12 insertions(+), 25 deletions(-) diff --git a/erp_web/js/pages/materials/allocation_out_list.js b/erp_web/js/pages/materials/allocation_out_list.js index 89554efd..f35e37a3 100644 --- a/erp_web/js/pages/materials/allocation_out_list.js +++ b/erp_web/js/pages/materials/allocation_out_list.js @@ -18,12 +18,6 @@ var depotHeadID = 0; var preTotalPrice = 0; //前一次加载的金额 var orgDepotHead = ""; var editIndex = undefined; -var listType = ""; //入库 出库 -var listSubType = ""; //采购 销售等 -var payTypeTitle = "";//付款 收款 -var organUrl = ""; //组织数据接口地址 -var amountNum = ""; //单据编号开头字符 -var depotString = ""; //店铺id列表 /**默认编号有意义吗,不如空着吧*/ var orgDefaultId=''; //单位默认编号 var orgDefaultList; //存储查询出来的会员列表 @@ -40,12 +34,12 @@ var defaultAccountId = 0; //默认账户id $("#searchPanel").panel({width:webW-2}); $("#tablePanel").panel({width:webW-2}); var listTitle = "调拨出库列表"; //单据标题 -depotString = "|"; -listType = "出库"; -listSubType = "调拨"; -payTypeTitle = "隐藏"; -organUrl = "/supplier/findBySelect_sup"; //供应商接口 -amountNum = "DBCK"; +var depotString = "|"; //店铺id列表 +var listType = "出库"; //入库 出库 +var listSubType = "调拨"; //采购 销售等 +var payTypeTitle = "隐藏"; //付款 收款 +var organUrl = "/supplier/findBySelect_sup"; //组织数据接口地址 +var amountNum = "DBCK"; //单据编号开头字符 $(function(){ //初始化系统基础信息 initSystemData_UB(); diff --git a/erp_web/js/pages/materials/assemble_list.js b/erp_web/js/pages/materials/assemble_list.js index c05d2368..63fed6eb 100644 --- a/erp_web/js/pages/materials/assemble_list.js +++ b/erp_web/js/pages/materials/assemble_list.js @@ -18,13 +18,6 @@ var depotHeadID = 0; var preTotalPrice = 0; //前一次加载的金额 var orgDepotHead = ""; var editIndex = undefined; -var listTitle = ""; //单据标题 -var listType = ""; //入库 出库 -var listSubType = ""; //采购 销售等 -var payTypeTitle = "";//付款 收款 -var organUrl = ""; //组织数据接口地址 -var amountNum = ""; //单据编号开头字符 -var depotString = ""; //店铺id列表 /**默认编号有意义吗,不如空着吧*/ var orgDefaultId=''; //单位默认编号 var orgDefaultList; //存储查询出来的会员列表 @@ -41,12 +34,12 @@ var defaultAccountId = 0; //默认账户id $("#searchPanel").panel({width:webW-2}); $("#tablePanel").panel({width:webW-2}); var listTitle = "组装单列表"; //单据标题 -var depotString = "|"; -var listType = "其它"; -var listSubType = "组装单"; -var payTypeTitle = "隐藏"; -var organUrl = "/supplier/findBySelect_sup"; //供应商接口 -var amountNum = "ZZD"; +var depotString = "|"; //店铺id列表 +var listType = "其它"; //入库 出库 +var listSubType = "组装单"; //采购 销售等 +var payTypeTitle = "隐藏"; //付款 收款 +var organUrl = "/supplier/findBySelect_sup"; //组织数据接口地址 +var amountNum = "ZZD"; //单据编号开头字符 $(function(){ //初始化系统基础信息 initSystemData_UB(); From 66cfbe684491f440c4fe4deb5bc55a969aecc140 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Thu, 9 May 2019 09:38:43 +0800 Subject: [PATCH 046/117] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8B=86=E5=8D=B8?= =?UTF-8?q?=E5=8D=95=EF=BC=8C=E5=8E=BB=E6=8E=89=E5=A4=9A=E4=BD=99js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../js/pages/materials/disassemble_list.js | 751 +----------------- erp_web/pages/materials/disassemble_list.html | 2 +- 2 files changed, 22 insertions(+), 731 deletions(-) diff --git a/erp_web/js/pages/materials/disassemble_list.js b/erp_web/js/pages/materials/disassemble_list.js index 662d9507..bda18392 100644 --- a/erp_web/js/pages/materials/disassemble_list.js +++ b/erp_web/js/pages/materials/disassemble_list.js @@ -18,13 +18,6 @@ var depotHeadID = 0; var preTotalPrice = 0; //前一次加载的金额 var orgDepotHead = ""; var editIndex = undefined; -var listTitle = ""; //单据标题 -var listType = ""; //入库 出库 -var listSubType = ""; //采购 销售等 -var payTypeTitle = "";//付款 收款 -var organUrl = ""; //组织数据接口地址 -var amountNum = ""; //单据编号开头字符 -var depotString = ""; //店铺id列表 /**默认编号有意义吗,不如空着吧*/ var orgDefaultId=''; //单位默认编号 var orgDefaultList; //存储查询出来的会员列表 @@ -37,9 +30,18 @@ var otherColumns = true; //明细中的‘别名’列是否显示 var btnEnableList = getBtnStr(); //获取按钮的权限 var mPropertyList = ""; //商品属性列表 var defaultAccountId = 0; //默认账户id +//改变宽度和高度 +$("#searchPanel").panel({width:webW-2}); +$("#tablePanel").panel({width:webW-2}); +var listTitle = "拆卸单列表"; //单据标题 +var depotString = "|"; //店铺id列表 +var listType = "其它"; //入库 出库 +var listSubType = "拆卸单"; //采购 销售等 +var payTypeTitle = "隐藏"; //付款 收款 +var organUrl = "/supplier/findBySelect_sup"; //组织数据接口地址 +var amountNum = "CXD"; //单据编号开头字符 $(function(){ //初始化系统基础信息 - getType(); initSystemData_UB(); initSelectInfo_UB(); initSystemData_depot(); @@ -57,108 +59,6 @@ $(function(){ initForm(); bindEvent();//绑定操作事件 }); -//根据单据名称获取类型 -function getType(){ - listTitle = $("#tablePanel").prev().text(); - depotString = "|"; - //改变宽度和高度 - $("#searchPanel").panel({width:webW-2}); - $("#tablePanel").panel({width:webW-2}); - var supUrl = "/supplier/findBySelect_sup"; //供应商接口 - var cusUrl = "/supplier/findBySelect_cus?UBType=UserCustomer&UBKeyId=" + kid; //客户接口 - var retailUrl = "/supplier/findBySelect_retail"; //散户接口 - if(listTitle === "采购订单列表"){ - listType = "其它"; - listSubType = "采购订单"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "CGDD"; - } - else if(listTitle === "采购入库列表"){ - listType = "入库"; - listSubType = "采购"; - payTypeTitle = "付款"; - organUrl = supUrl; - amountNum = "CGRK"; - } - else if(listTitle === "零售退货列表"){ - listType = "入库"; - listSubType = "零售退货"; //注:用预付款购买的产品不能退货 - payTypeTitle = "付款"; - organUrl = retailUrl; - amountNum = "LSTH"; - } - else if(listTitle === "销售退货列表"){ - listType = "入库"; - listSubType = "销售退货"; - payTypeTitle = "付款"; - organUrl = cusUrl; - amountNum = "XSTH"; - } - else if(listTitle === "其它入库列表"){ - listType = "入库"; - listSubType = "其它"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "QTRK"; - } - else if(listTitle === "零售出库列表"){ - listType = "出库"; - listSubType = "零售"; - payTypeTitle = "收款"; - organUrl = retailUrl; - amountNum = "LSCK"; - } - else if(listTitle === "销售订单列表"){ - listType = "其它"; - listSubType = "销售订单"; - payTypeTitle = "隐藏"; - organUrl = cusUrl; - amountNum = "XSDD"; - } - else if(listTitle === "销售出库列表"){ - listType = "出库"; - listSubType = "销售"; - payTypeTitle = "收款"; - organUrl = cusUrl; - amountNum = "XSCK"; - } - else if(listTitle === "采购退货列表"){ - listType = "出库"; - listSubType = "采购退货"; - payTypeTitle = "收款"; - organUrl = supUrl; - amountNum = "CGTH"; - } - else if(listTitle === "其它出库列表"){ - listType = "出库"; - listSubType = "其它"; - payTypeTitle = "隐藏"; - organUrl = cusUrl; - amountNum = "QTCK"; - } - else if(listTitle === "调拨出库列表"){ - listType = "出库"; - listSubType = "调拨"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "DBCK"; - } - else if(listTitle === "组装单列表"){ - listType = "其它"; - listSubType = "组装单"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "ZZD"; - } - else if(listTitle === "拆卸单列表"){ - listType = "其它"; - listSubType = "拆卸单"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "CXD"; - } -} //初始化系统基础信息 function initSystemData_UB(){ $.ajax({ @@ -264,23 +164,8 @@ function initSupplier(){ orgDefaultId = data[i].id; } } - if(listSubType === "零售"){ - orgDefaultList = res; - } }, onSelect: function(rec){ - if(listSubType === "零售"){ - var option = ""; - if(rec.supplier !== "非会员" && rec.advanceIn >0){ - option = ''; - option += ''; - } - else { - option += ''; - } - $("#payType").empty().append(option); - } - else{ $.ajax({ type:"get", url: "/supplier/findById", @@ -299,7 +184,6 @@ function initSupplier(){ } }); - } } }); } @@ -504,38 +388,11 @@ function initTableData(){ else { isHiddenStatus = true; //隐藏 } - var isShowLastMoneyColumn = false; //是否显示优惠后金额和价税合计,true为隐藏,false为显示 - if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowLastMoneyColumn = true; //隐藏 - } - var isShowOrganNameColumn = false; //是否显示供应商、客户等信息,true为隐藏,false为显示 + var isShowLastMoneyColumn = true; //是否显示优惠后金额和价税合计,true为隐藏,false为显示 + var isShowOrganNameColumn = true; //是否显示供应商、客户等信息,true为隐藏,false为显示 var organNameTitle = ""; //组织名称标题 - if(listSubType == "调拨" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowOrganNameColumn = true; //隐藏 - } - else { - if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "采购退货列表" || listTitle == "其它入库列表"){ - organNameTitle = "供应商名称"; - } - else if(listTitle == "销售订单列表" || listTitle == "销售退货列表" || listTitle == "销售出库列表" || listTitle == "其它出库列表"){ - organNameTitle = "客户名称"; - } - else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ - organNameTitle = "会员卡号"; - } - } var opWidth = 90; //操作宽度 - var isShowSkip = false; //是否显示跳转按钮 var opTitle = ""; //跳转按钮的标题 - if(listTitle == "采购订单列表") { - opWidth = 120; - isShowSkip = true; - opTitle = "转采购入库"; - } else if(listTitle == "销售订单列表") { - opWidth = 120; - isShowSkip = true; - opTitle = "转销售出库"; - } $('#tableData').datagrid({ height:heightInfo, rownumbers: false, @@ -555,25 +412,10 @@ function initTableData(){ { title: '操作',field: 'op',align:"center",width:opWidth, formatter:function(value, rec,index) { var str = ''; - // var rowInfo = rec.id + 'AaBb' + rec.projectid+ 'AaBb' + rec.number+ 'AaBb' + rec.operpersonname - // + 'AaBb' + rec.opertimeStr+ 'AaBb' + rec.organid+ 'AaBb' + rec.handspersonid - // + 'AaBb' + rec.accountid+ 'AaBb' + rec.changeamount+ 'AaBb' + rec.remark - // + 'AaBb' + rec.projectName+ 'AaBb' + rec.organName+ 'AaBb' + rec.handsPersonName - // + 'AaBb' + rec.accountName + 'AaBb' + rec.totalprice + 'AaBb' + rec.allocationprojectid - // + 'AaBb' + rec.allocationProjectName + 'AaBb' + rec.paytype + 'AaBb' + rec.salesman - // + 'AaBb' + rec.discount + 'AaBb' + rec.discountmoney + 'AaBb' + rec.discountlastmoney - // + 'AaBb' + rec.accountidlist + 'AaBb' + rec.accountmoneylist - // + 'AaBb' + rec.othermoney + 'AaBb' + rec.othermoneylist + 'AaBb' + rec.othermoneyitem - // + 'AaBb' + rec.accountday + 'AaBb' + rec.linknumber; - // rowInfo = rowInfo.replace(/\"/g, ""); - // rowInfo = rowInfo.replace(/\[|]/g,""); var orgId = rec.organid? rec.organid:0; str += '   '; str += '   '; str += ''; - if(isShowSkip) { - str += '   '; - } return str; } }, @@ -607,11 +449,6 @@ function initTableData(){ } else if(value === "1") { return "已审核"; } else if(value === "2") { - if(listTitle == "采购订单列表") { - return "已转采购"; - } else if(listTitle == "销售订单列表") { - return "已转销售"; - } } } } @@ -647,27 +484,6 @@ function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ unitName = unitName.substring(0, unitName.indexOf("(")); } var unitArr = unitName.split(","); - var basicUnit = unitArr[0]; //基础单位 - var otherUnit = unitArr[1]; //副单位 - var unitSetInput =""; //单位 - if(listSubType === "采购订单" || listSubType === "采购" || listSubType === "采购退货"){ - unitSetInput = rec.data[0].firstinunit; - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = thisRatio; - } - } - else if(listSubType === "销售订单" || listSubType === "销售" || listSubType === "销售退货" || listSubType === "零售" || listSubType === "零售退货"){ - unitSetInput = rec.data[0].firstoutunit; - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = thisRatio; - } - } } //查询库存 $.ajax({ @@ -746,10 +562,6 @@ function statisticsFun(body,UnitPrice,OperNumber,footer,taxRate){ var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 - if(listSubType == "零售" || listSubType == "零售退货") { - $("#ChangeAmount, #getAmount").val((TotalPrice).toFixed(2)); - $("#backAmount").val(0); - } } //初始化表格数据-商品列表-编辑状态 function initTableData_material(type,TotalPrice){ @@ -764,23 +576,11 @@ function initTableData_material(type,TotalPrice){ var anotherDepotHeadName = ""; //对方仓库的列的标题 var anotherDepotUrl = ""; //对方仓库接口地址 var anotherDepotTextField = ""; - if(listSubType == "调拨"){ - isShowAnotherDepot = false; //调拨时候显示对方仓库 - anotherDepotHeadName = "调入仓库"; - anotherDepotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; - anotherDepotTextField = "depotName"; - } depotHeadName = "仓库名称"; depotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; depotTextField = "depotName"; - var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 - if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowTaxColumn = true; //隐藏 - } - var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 - if(listSubType == "组装单" || listSubType == "拆卸单"){ - isShowMaterialTypeColumn = false; //显示 - } + var isShowTaxColumn = true; //是否显示税率相关的列,true为隐藏,false为显示 + var isShowMaterialTypeColumn = false; //是否显示商品类型相关的列,true为隐藏,false为显示 $('#materialData').datagrid({ height:245, rownumbers: false, @@ -905,24 +705,6 @@ function initTableData_material(type,TotalPrice){ var unitSetInput =""; //单位 body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 var loadRatio = 1; //在单位输入框上面加载比例字段 - if(listSubType === "采购" || listSubType === "采购退货" || listSubType === "采购订单"){ - unitSetInput = res.data[0].firstinunit; //给单位文本框赋值 - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = ratio; - } - } - else if(listSubType === "销售" || listSubType === "销售退货" || listSubType === "销售订单" || listSubType === "零售" || listSubType === "零售退货"){ - unitSetInput = res.data[0].firstoutunit; //给单位文本框赋值 - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = ratio; - } - } body.find("[field='Unit']").find(input).val(unitSetInput).attr("data-ratio", loadRatio); //设置-首选单位 body.find("[field='Unit']").find(input).off("click").on("click",function(){ @@ -952,27 +734,9 @@ function initTableData_material(type,TotalPrice){ var type = $(this).attr("data-type"); var UnitPrice = 0; if(type === "basic"){ - if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { - UnitPrice = basicPresetPriceOne; - } - else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { - UnitPrice = basicPresetPriceTwo; - } - else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ - UnitPrice = retailPriceOne; - } body.find("[field='Stock']").find(input).val(stock); //修改库存 } else if(type === "other"){ - if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { - UnitPrice = otherPresetPriceOne; - } - else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { - UnitPrice = otherPresetPriceTwo; - } - else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ - UnitPrice = retailPriceTwo; - } body.find("[field='Stock']").find(input).val((stock/ratio).toFixed(2)); //修改库存 } body.find("[field='UnitPrice']").find(input).val(UnitPrice); //单价 @@ -992,45 +756,6 @@ function initTableData_material(type,TotalPrice){ }); } var detailPrice = 0; //明细列表-单价 - if(listSubType == "零售" || listSubType == "零售退货") { - if(res.data[0].unit) { //如果存在计量单位信息 - detailPrice = retailPrice; - } - else { - if (firstOutUnit == basicUnit) { - detailPrice = retailPriceOne; - } - else if (firstOutUnit == otherUnit) { - detailPrice = retailPriceTwo; - } - } - } - else if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { - if(res.data[0].unit) { //如果存在计量单位信息 - detailPrice = presetPriceOne; - } - else { - if (firstInUnit == basicUnit) { - detailPrice = basicPresetPriceOne; - } - else if (firstInUnit == otherUnit) { - detailPrice = otherPresetPriceOne; - } - } - } - else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { - if(res.data[0].unit) { //如果存在计量单位信息 - detailPrice = presetPriceTwo; - } - else { - if(firstOutUnit==basicUnit) { - detailPrice = basicPresetPriceTwo; - } - else if(firstOutUnit==otherUnit){ - detailPrice = otherPresetPriceTwo; - } - } - } body.find("[field='OperNumber']").find(input).val(1); //数量初始化为1 //单价和总价赋值 if(!detailPrice) { @@ -1180,14 +905,8 @@ function initTableData_material_show(TotalPrice){ anotherDepotHeadName = "调入仓库"; } depotHeadName = "仓库名称"; - var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 - if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowTaxColumn = true; //隐藏 - } - var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 - if(listSubType == "组装单" || listSubType == "拆卸单"){ - isShowMaterialTypeColumn = false; //显示 - } + var isShowTaxColumn = true; //是否显示税率相关的列,true为隐藏,false为显示 + var isShowMaterialTypeColumn = false; //是否显示商品类型相关的列,true为隐藏,false为显示 $('#materialDataShow').datagrid({ height:245, rownumbers: true, @@ -1311,28 +1030,6 @@ function deleteDepotHead(depotHeadID, thisOrganId, totalPrice, status){ return; } }); - - //更新会员的预收款信息 - if(listSubType === "零售") { - $.ajax({ - type:"post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data:{ - supplierId: thisOrganId, //会员id - advanceIn: totalPrice //删除时同时返还用户的预付款 - }, - success: function(res){ - if(res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function(){ - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); - } } }); } @@ -1345,11 +1042,6 @@ function skipDepotHead(index, status){ $.messager.alert('提示','未审核和已转的单据禁止操作!','warning'); } else { sessionStorage.setItem("rowInfo", JSON.stringify(rowsdata)); //将单据信息存入缓存中 - if(listTitle == "采购订单列表") { - parent.addTab("订单转采购", "../materials/purchase_in_list.html?t=skip", ""); - } else if(listTitle == "销售订单列表") { - parent.addTab("订单转销售", "../materials/sale_out_list.html?t=skip", ""); - } } } @@ -1377,29 +1069,6 @@ function batDeleteDepotHead(){ ids += row[i].id + ","; } if (ids) { - //批量更新会员的预收款信息 - for (var i = 0; i < row.length; i++) { - if (listSubType === "零售") { - $.ajax({ - type: "post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data: { - supplierId: row[i].organid, //会员id - advanceIn: row[i].totalprice //删除时同时返还用户的预付款 - }, - success: function (res) { - if (res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function () { - $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); - return; - } - }); - } - } //批量删除 $.ajax({ type: "post", @@ -1600,49 +1269,6 @@ function addDepotHead(){ $('#supplierFM').form('clear'); }); url = '/depotHead/addDepotHeadAndDetail'; - - //零售单据修改收款时,自动计算找零 - if(listSubType == "零售" || listSubType == "零售退货") { - $("#payType").val("现付"); - $("#OrganId").combobox("setValue", orgDefaultId); //自动默认选择非会员 - // 鼠标点下时清空选择项 - $("#OrganId").next().find("input").off("mousedown").on("mousedown",function(){ - $("#OrganId").combobox("setValue", ""); - }); - //当会员卡号长度超过10位后,自动点击下拉框,用于兼容刷卡器 - $("#OrganId").next().find("input").off("keyup").on("keyup",function(){ - var self = this; - if($(this).val().length === 10){ - setTimeout(function(){ - $(".combo-panel .combobox-item-selected").click(); - //更新付款类型,加载会员的预付款的金额 - for(var i=0; i0){ - option = ''; - option += ''; - } - else { - option += ''; - } - $("#payType").empty().append(option); - } - } - },1000); - } - }); - var getAmount = $("#depotHeadFM .get-amount"); - var changeAmount = $("#depotHeadFM .change-amount"); - var backAmount = $("#depotHeadFM .back-amount"); - getAmount.val(0); changeAmount.val(0); backAmount.val(0); //时间初始化 - getAmount.off("keyup").on("keyup",function() { - if(changeAmount.val()){ - backAmount.val((getAmount.val()-changeAmount.val()).toFixed(2)); - } - }); - } } //编辑信息 @@ -1698,30 +1324,7 @@ function editDepotHead(index, status){ $(".window-mask").css({ width: webW ,height: webH}); depotHeadID = rowsdata.id; - if(listSubType == "零售"){ - var option = ""; - if(rowsdata.paytype == "预付款"){ - option = ''; - option += ''; - } - else { - option += ''; - } - $("#payType").empty().append(option); - } - if(listSubType == "销售" || listSubType == "销售退货"){ - if(rowsdata.salesman){ - var arr = rowsdata.salesman.split(","); - var salesmanArray = []; - for(var i=0;i","")); - } - } - $("#Salesman").combobox('setValues', salesmanArray); - } - } //采购入库、销售出库的多账户加载 if(rowsdata.accountidlist!=undefined && rowsdata.accountmoneylist!=undefined){ @@ -1772,7 +1375,6 @@ function editDepotHead(index, status){ //查看信息 function showDepotHead(index){ - // var depotHeadInfo = depotHeadTotalInfo.split("AaBb"); //获取当前行 var rowsdata = $("#tableData").datagrid("getRows")[index]; var manyAccountMoney = 0; //多账户合计-零售 @@ -1840,52 +1442,6 @@ function showDepotHead(index){ depotHeadID = rowsdata.id; initTableData_material_show(TotalPrice); //商品列表-查看状态 - - //零售单据展示数据 - if(listSubType == "零售" || listSubType == "零售退货"){ - var changeAccount = $("#depotHeadDlgShow .change-amount-show").text() -0; - if(manyAccountMoney!==0){ - $("#depotHeadDlgShow .get-amount-show").text((manyAccountMoney).toFixed(2)); - $("#depotHeadDlgShow .back-amount-show").text((manyAccountMoney -changeAccount).toFixed(2)); - } - else { - $("#depotHeadDlgShow .get-amount-show").text((changeAccount).toFixed(2)); - $("#depotHeadDlgShow .back-amount-show").text(0); - } - } - if(listSubType === "销售" || listSubType === "销售退货"){ - if(rowsdata.salesman){ - var arr = rowsdata.salesman.split(","); - var salesmanStr = ""; - for(var i=0;i",""); - } - else { - salesmanStr += arr[i].replace("<","").replace(">","") + ","; - } - } - } - $.ajax({ - type: "get", - url: "/person/getPersonByIds", - data: { - personIDs: salesmanStr - }, - success:function(res){ - if(res && res.code === 200){ - if(res.data) { - $("#SalesmanShow").text(res.data.names); //销售人员列表 - } - } - }, - error:function(){ - - } - }); - } - } } //绑定操作事件 @@ -1977,99 +1533,6 @@ function bindEvent(){ if(checkDepotHeadNumber()){ return; } - } - //输入框提示 - if(listTitle === "采购订单列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择供应商!','warning'); - return; - } - } - else if(listTitle === "采购入库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择供应商!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择结算账户!','warning'); - return; - } - } - else if(listTitle === "零售退货列表"){ - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择付款账户!','warning'); - return; - } - if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { - $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); - return; - } - } - else if(listTitle === "销售退货列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择退货单位!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择付款账户!','warning'); - return; - } - } - else if(listTitle === "其它入库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择往来单位!','warning'); - return; - } - } - else if(listTitle === "零售出库列表"){ - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择收款账户!','warning'); - return; - } - if($("#backAmount").val()-0 <0){ - $.messager.alert('提示','找零金额不能小于0!','warning'); - return; - } - if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { - $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); - return; - } - - } - else if(listTitle === "销售订单列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择购买单位!','warning'); - return; - } - } - else if(listTitle === "销售出库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择购买单位!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择收款账户!','warning'); - return; - } - } - else if(listTitle === "采购退货列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择收货单位!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择收款账户!','warning'); - return; - } - } - else if(listTitle === "其它出库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择往来单位!','warning'); - return; - } - } - else if(listTitle === "调拨出库列表"){ - } //进行明细的校验 if(depotHeadID ==0) { @@ -2098,36 +1561,9 @@ function bindEvent(){ accountMoneyList = accountMoneyList.replace(reg,""); //替换所有的双引号 accountMoneyArr = accountMoneyList.split(","); //转为数组 } - if(listSubType === "采购订单"||listSubType === "采购"||listSubType === "零售退货"||listSubType === "销售退货"){ - //付款为负数 - ChangeAmount = 0 - ChangeAmount; - TotalPrice = 0 - TotalPrice; - if(accountMoneyArr) { - accountMoneyArr = changeListFmtMinus(accountMoneyArr); //将数组单个金额中的数值转为负数 - } - } //零售时候,可以从会员预付款中扣款 var thisPayType = "现付"; - if(listSubType === "零售") { - if($("#payType").val() ==="预付款") { - thisPayType = "预付款"; - } - } var SalesmanStr = ""; - if(listSubType === "销售" || listSubType === "销售退货"){ - var Salesman = $('#Salesman').combobox('getValues').toString(); //销售人员 - if(Salesman) { - var SalesmanArray = Salesman.split(","); - for (var i = 0; i < SalesmanArray.length; i++) { - if (i === SalesmanArray.length - 1) { - SalesmanStr += "<" + SalesmanArray[i] + ">"; - } - else { - SalesmanStr += "<" + SalesmanArray[i] + ">,"; - } - } - } - } var getAccountID = $.trim($("#AccountId").val()); if($("#AccountId").val() === "many"){ //多账户 getAccountID = null; @@ -2187,35 +1623,6 @@ function bindEvent(){ showDepotHeadDetails(opts.pageNumber,opts.pageSize); } - if(thisPayType === "预付款") { - //更新用户信息-预付款 - var advanceIn = 0; //预付款金额 - if(depotHeadID){ - advanceIn = TotalPrice - preTotalPrice; //修改时,预付款=合计金额-加载金额 - } - else{ - advanceIn = TotalPrice; //新增时,预付款=合计金额 - } - $.ajax({ - type:"post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data:{ - supplierId: OrganId, //会员id - advanceIn: 0 - advanceIn //保存的同时扣掉用户的预付款 - }, - success: function(res){ - if(res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function(){ - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); - } - //保存明细记录 if(depotHeadID ==0) { @@ -2394,14 +1801,7 @@ function bindEvent(){ if(accountArr.length && accountMoneyArr.length) { $("#AccountId").attr("data-accountArr",JSON.stringify(accountArr)).attr("data-accountMoneyArr",JSON.stringify(accountMoneyArr)); //json数据存储 } - if(listSubType==="零售" || listSubType==="零售退货") { - $("#getAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 - var backAmount = $("#getAmount").val() - $("#ChangeAmount").val(); - $("#backAmount").val((backAmount - 0).toFixed(2)); //计算找零金额 - } - else { - $("#ChangeAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 - } + $("#ChangeAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 $("#Debt").val((discountLastMoneyNum-accountMoneyTotal).toFixed(2)); //本次欠款 $("#depotHeadAccountDlg").dialog('close'); }); @@ -2414,12 +1814,7 @@ function bindEvent(){ else { $("#depotHeadAccountDlg").dialog('close'); $("#AccountId").val("").removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 - if(listSubType==="零售" || listSubType==="零售退货"){ - $("#ChangeAmount").prop("readonly","readonly"); - } - else { - $("#ChangeAmount").removeProp("readonly","readonly"); - } + $("#ChangeAmount").removeProp("readonly","readonly"); $(".many-account-ico").hide(); //隐藏多账户小图标 } } @@ -2443,12 +1838,7 @@ function bindEvent(){ } else{ $(this).removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 - if(listSubType==="零售" || listSubType==="零售退货"){ - $("#ChangeAmount").prop("readonly","readonly"); - } - else { - $("#ChangeAmount").removeProp("readonly","readonly"); - } + $("#ChangeAmount").removeProp("readonly","readonly"); $(".many-account-ico").hide(); //隐藏多账户小图标 } }); @@ -2466,12 +1856,7 @@ function bindEvent(){ $(this).find(".account-id-dlg").val(accountArr[index]); $(this).find(".account-money-dlg").val(accountMoneyArr[index]); }); - if(listSubType==="零售" || listSubType==="零售退货") { - $("#accountMoneyTotalDlg").text($("#getAmount").val()); - } - else { - $("#accountMoneyTotalDlg").text($("#ChangeAmount").val()); - } + $("#accountMoneyTotalDlg").text($("#ChangeAmount").val()); }); //点击采购费用、销售费用的事件 @@ -2593,95 +1978,6 @@ function bindEvent(){ }); $("#otherMoneyTotalDlg").text($("#OtherMoney").val()); }); - - if(listTitle === "采购入库列表" || listTitle === "其它入库列表" || listTitle === "采购订单列表"|| listTitle === "零售出库列表"|| listTitle === "销售出库列表"|| listTitle === "销售订单列表"){ - var supplierType = "供应商"; - if(listTitle === "零售出库列表"){ - supplierType = "会员"; - }else if(listTitle === "销售出库列表" || listTitle === "销售订单列表"){ - supplierType = "客户"; - } - //检查单位名称是否存在 ++ 重名无法提示问题需要跟进 - function checkSupplierName() { - var supplierName = $.trim($("#supplier").val()); - var orgSupplier = ""; - //表示是否存在 true == 存在 false = 不存在 - var flag = false; - //开始ajax名称检验,不能重名 - if(supplierName.length > 0 &&( orgSupplier.length ==0 || supplierName != orgSupplier)) - { - $.ajax({ - type:"get", - url: "/supplier/checkIsNameExist", - dataType: "json", - async : false, - data: ({ - id : 0, - name : supplierName - }), - success: function (res) { - if(res && res.code === 200) { - if(res.data && res.data.status) { - flag = res.data.status; - if (flag) { - $.messager.alert('提示', '单位名称已经存在', 'info'); - return; - } - } - } - }, - //此处添加错误处理 - error:function() { - $.messager.alert('提示','检查单位名称是否存在异常,请稍后再试!','error'); - return; - } - }); - } - return flag; - } - - //保存供应商信息 - $("#saveSupplier").off("click").on("click",function() { - if(validateForm("supplierFM")) { - return; - } - if(checkSupplierName()){ - return; - } - var reg = /^([0-9])+$/; - var phonenum = $.trim($("#phonenum").val()); - if(phonenum.length>0 && !reg.test(phonenum)) - { - $.messager.alert('提示','电话号码只能是数字','info'); - $("#phonenum").val("").focus(); - return; - } - var beginNeedGet = $.trim($("#BeginNeedGet").val()); - var beginNeedPay = $.trim($("#BeginNeedPay").val()); - if(beginNeedGet && beginNeedPay) { - $.messager.alert('提示','期初应收和期初应付不能同时输入','info'); - return; - } - var url = '/supplier/add'; - var supObj = $("#supplierFM").serializeObject(); - supObj.type = supplierType; - supObj.enabled = 1; - $.ajax({ - url: url, - type:"post", - dataType: "json", - data:{ - info: JSON.stringify(supObj) - }, - success: function(res) { - if (res) { - $('#supplierDlg').dialog('close'); - initSupplier(); //刷新供应商 - } - } - }); - }); - } } function showDepotHeadDetails(pageNo,pageSize){ @@ -2798,9 +2094,6 @@ function autoReckon() { return; } else { - if(listTitle!="销售出库列表" && listTitle!="采购退货列表" && listTitle!="其它出库列表" && listTitle!="调拨出库列表") { - return; - } $.ajax({ url: "/material/findById", type: "get", @@ -2922,9 +2215,7 @@ function autoReckon() { if(rowListLength > 0){ mTypeValue = "普通子件"; } - if(listSubType == "组装单" || listSubType == "拆卸单"){ - mType.find(input).val(mTypeValue).prop("readonly","readonly"); - } + mType.find(input).val(mTypeValue).prop("readonly","readonly"); },500); } diff --git a/erp_web/pages/materials/disassemble_list.html b/erp_web/pages/materials/disassemble_list.html index 0458437c..87f27847 100644 --- a/erp_web/pages/materials/disassemble_list.html +++ b/erp_web/pages/materials/disassemble_list.html @@ -17,7 +17,7 @@ From 65591e379a3cb5b73cae02981ee99f73746cfb83 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Thu, 9 May 2019 10:05:53 +0800 Subject: [PATCH 047/117] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=85=B6=E5=AE=83?= =?UTF-8?q?=E5=85=A5=E5=BA=93=E5=88=97=E8=A1=A8=EF=BC=8C=E5=8E=BB=E6=8E=89?= =?UTF-8?q?=E5=A4=9A=E4=BD=99js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- erp_web/js/pages/materials/other_in_list.js | 692 +------------------- 1 file changed, 32 insertions(+), 660 deletions(-) diff --git a/erp_web/js/pages/materials/other_in_list.js b/erp_web/js/pages/materials/other_in_list.js index 662d9507..41b716de 100644 --- a/erp_web/js/pages/materials/other_in_list.js +++ b/erp_web/js/pages/materials/other_in_list.js @@ -18,13 +18,6 @@ var depotHeadID = 0; var preTotalPrice = 0; //前一次加载的金额 var orgDepotHead = ""; var editIndex = undefined; -var listTitle = ""; //单据标题 -var listType = ""; //入库 出库 -var listSubType = ""; //采购 销售等 -var payTypeTitle = "";//付款 收款 -var organUrl = ""; //组织数据接口地址 -var amountNum = ""; //单据编号开头字符 -var depotString = ""; //店铺id列表 /**默认编号有意义吗,不如空着吧*/ var orgDefaultId=''; //单位默认编号 var orgDefaultList; //存储查询出来的会员列表 @@ -37,9 +30,18 @@ var otherColumns = true; //明细中的‘别名’列是否显示 var btnEnableList = getBtnStr(); //获取按钮的权限 var mPropertyList = ""; //商品属性列表 var defaultAccountId = 0; //默认账户id +//改变宽度和高度 +$("#searchPanel").panel({width:webW-2}); +$("#tablePanel").panel({width:webW-2}); +var listTitle = "其它入库列表"; //单据标题 +var depotString = "|"; //店铺id列表 +var listType = "入库";//入库 出库 +var listSubType = "其它"; //采购 销售等 +var payTypeTitle = "隐藏"; //付款 收款 +var organUrl = "/supplier/findBySelect_sup"; //组织数据接口地址 +var amountNum ="QTRK";//单据编号开头字符 $(function(){ //初始化系统基础信息 - getType(); initSystemData_UB(); initSelectInfo_UB(); initSystemData_depot(); @@ -57,108 +59,7 @@ $(function(){ initForm(); bindEvent();//绑定操作事件 }); -//根据单据名称获取类型 -function getType(){ - listTitle = $("#tablePanel").prev().text(); - depotString = "|"; - //改变宽度和高度 - $("#searchPanel").panel({width:webW-2}); - $("#tablePanel").panel({width:webW-2}); - var supUrl = "/supplier/findBySelect_sup"; //供应商接口 - var cusUrl = "/supplier/findBySelect_cus?UBType=UserCustomer&UBKeyId=" + kid; //客户接口 - var retailUrl = "/supplier/findBySelect_retail"; //散户接口 - if(listTitle === "采购订单列表"){ - listType = "其它"; - listSubType = "采购订单"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "CGDD"; - } - else if(listTitle === "采购入库列表"){ - listType = "入库"; - listSubType = "采购"; - payTypeTitle = "付款"; - organUrl = supUrl; - amountNum = "CGRK"; - } - else if(listTitle === "零售退货列表"){ - listType = "入库"; - listSubType = "零售退货"; //注:用预付款购买的产品不能退货 - payTypeTitle = "付款"; - organUrl = retailUrl; - amountNum = "LSTH"; - } - else if(listTitle === "销售退货列表"){ - listType = "入库"; - listSubType = "销售退货"; - payTypeTitle = "付款"; - organUrl = cusUrl; - amountNum = "XSTH"; - } - else if(listTitle === "其它入库列表"){ - listType = "入库"; - listSubType = "其它"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "QTRK"; - } - else if(listTitle === "零售出库列表"){ - listType = "出库"; - listSubType = "零售"; - payTypeTitle = "收款"; - organUrl = retailUrl; - amountNum = "LSCK"; - } - else if(listTitle === "销售订单列表"){ - listType = "其它"; - listSubType = "销售订单"; - payTypeTitle = "隐藏"; - organUrl = cusUrl; - amountNum = "XSDD"; - } - else if(listTitle === "销售出库列表"){ - listType = "出库"; - listSubType = "销售"; - payTypeTitle = "收款"; - organUrl = cusUrl; - amountNum = "XSCK"; - } - else if(listTitle === "采购退货列表"){ - listType = "出库"; - listSubType = "采购退货"; - payTypeTitle = "收款"; - organUrl = supUrl; - amountNum = "CGTH"; - } - else if(listTitle === "其它出库列表"){ - listType = "出库"; - listSubType = "其它"; - payTypeTitle = "隐藏"; - organUrl = cusUrl; - amountNum = "QTCK"; - } - else if(listTitle === "调拨出库列表"){ - listType = "出库"; - listSubType = "调拨"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "DBCK"; - } - else if(listTitle === "组装单列表"){ - listType = "其它"; - listSubType = "组装单"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "ZZD"; - } - else if(listTitle === "拆卸单列表"){ - listType = "其它"; - listSubType = "拆卸单"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "CXD"; - } -} + //初始化系统基础信息 function initSystemData_UB(){ $.ajax({ @@ -264,23 +165,8 @@ function initSupplier(){ orgDefaultId = data[i].id; } } - if(listSubType === "零售"){ - orgDefaultList = res; - } }, onSelect: function(rec){ - if(listSubType === "零售"){ - var option = ""; - if(rec.supplier !== "非会员" && rec.advanceIn >0){ - option = ''; - option += ''; - } - else { - option += ''; - } - $("#payType").empty().append(option); - } - else{ $.ajax({ type:"get", url: "/supplier/findById", @@ -299,7 +185,6 @@ function initSupplier(){ } }); - } } }); } @@ -504,38 +389,12 @@ function initTableData(){ else { isHiddenStatus = true; //隐藏 } - var isShowLastMoneyColumn = false; //是否显示优惠后金额和价税合计,true为隐藏,false为显示 - if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowLastMoneyColumn = true; //隐藏 - } + var isShowLastMoneyColumn = true; //是否显示优惠后金额和价税合计,true为隐藏,false为显示 var isShowOrganNameColumn = false; //是否显示供应商、客户等信息,true为隐藏,false为显示 - var organNameTitle = ""; //组织名称标题 - if(listSubType == "调拨" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowOrganNameColumn = true; //隐藏 - } - else { - if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "采购退货列表" || listTitle == "其它入库列表"){ - organNameTitle = "供应商名称"; - } - else if(listTitle == "销售订单列表" || listTitle == "销售退货列表" || listTitle == "销售出库列表" || listTitle == "其它出库列表"){ - organNameTitle = "客户名称"; - } - else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ - organNameTitle = "会员卡号"; - } - } + var organNameTitle = "供应商名称"; //组织名称标题 var opWidth = 90; //操作宽度 var isShowSkip = false; //是否显示跳转按钮 var opTitle = ""; //跳转按钮的标题 - if(listTitle == "采购订单列表") { - opWidth = 120; - isShowSkip = true; - opTitle = "转采购入库"; - } else if(listTitle == "销售订单列表") { - opWidth = 120; - isShowSkip = true; - opTitle = "转销售出库"; - } $('#tableData').datagrid({ height:heightInfo, rownumbers: false, @@ -555,18 +414,6 @@ function initTableData(){ { title: '操作',field: 'op',align:"center",width:opWidth, formatter:function(value, rec,index) { var str = ''; - // var rowInfo = rec.id + 'AaBb' + rec.projectid+ 'AaBb' + rec.number+ 'AaBb' + rec.operpersonname - // + 'AaBb' + rec.opertimeStr+ 'AaBb' + rec.organid+ 'AaBb' + rec.handspersonid - // + 'AaBb' + rec.accountid+ 'AaBb' + rec.changeamount+ 'AaBb' + rec.remark - // + 'AaBb' + rec.projectName+ 'AaBb' + rec.organName+ 'AaBb' + rec.handsPersonName - // + 'AaBb' + rec.accountName + 'AaBb' + rec.totalprice + 'AaBb' + rec.allocationprojectid - // + 'AaBb' + rec.allocationProjectName + 'AaBb' + rec.paytype + 'AaBb' + rec.salesman - // + 'AaBb' + rec.discount + 'AaBb' + rec.discountmoney + 'AaBb' + rec.discountlastmoney - // + 'AaBb' + rec.accountidlist + 'AaBb' + rec.accountmoneylist - // + 'AaBb' + rec.othermoney + 'AaBb' + rec.othermoneylist + 'AaBb' + rec.othermoneyitem - // + 'AaBb' + rec.accountday + 'AaBb' + rec.linknumber; - // rowInfo = rowInfo.replace(/\"/g, ""); - // rowInfo = rowInfo.replace(/\[|]/g,""); var orgId = rec.organid? rec.organid:0; str += '   '; str += '   '; @@ -607,11 +454,6 @@ function initTableData(){ } else if(value === "1") { return "已审核"; } else if(value === "2") { - if(listTitle == "采购订单列表") { - return "已转采购"; - } else if(listTitle == "销售订单列表") { - return "已转销售"; - } } } } @@ -646,28 +488,7 @@ function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ thisRatio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); unitName = unitName.substring(0, unitName.indexOf("(")); } - var unitArr = unitName.split(","); - var basicUnit = unitArr[0]; //基础单位 - var otherUnit = unitArr[1]; //副单位 - var unitSetInput =""; //单位 - if(listSubType === "采购订单" || listSubType === "采购" || listSubType === "采购退货"){ - unitSetInput = rec.data[0].firstinunit; - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = thisRatio; - } - } - else if(listSubType === "销售订单" || listSubType === "销售" || listSubType === "销售退货" || listSubType === "零售" || listSubType === "零售退货"){ - unitSetInput = rec.data[0].firstoutunit; - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = thisRatio; - } - } + } //查询库存 $.ajax({ @@ -746,10 +567,6 @@ function statisticsFun(body,UnitPrice,OperNumber,footer,taxRate){ var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 - if(listSubType == "零售" || listSubType == "零售退货") { - $("#ChangeAmount, #getAmount").val((TotalPrice).toFixed(2)); - $("#backAmount").val(0); - } } //初始化表格数据-商品列表-编辑状态 function initTableData_material(type,TotalPrice){ @@ -764,23 +581,11 @@ function initTableData_material(type,TotalPrice){ var anotherDepotHeadName = ""; //对方仓库的列的标题 var anotherDepotUrl = ""; //对方仓库接口地址 var anotherDepotTextField = ""; - if(listSubType == "调拨"){ - isShowAnotherDepot = false; //调拨时候显示对方仓库 - anotherDepotHeadName = "调入仓库"; - anotherDepotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; - anotherDepotTextField = "depotName"; - } depotHeadName = "仓库名称"; depotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; depotTextField = "depotName"; - var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 - if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowTaxColumn = true; //隐藏 - } + var isShowTaxColumn = true; //是否显示税率相关的列,true为隐藏,false为显示 var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 - if(listSubType == "组装单" || listSubType == "拆卸单"){ - isShowMaterialTypeColumn = false; //显示 - } $('#materialData').datagrid({ height:245, rownumbers: false, @@ -905,24 +710,6 @@ function initTableData_material(type,TotalPrice){ var unitSetInput =""; //单位 body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 var loadRatio = 1; //在单位输入框上面加载比例字段 - if(listSubType === "采购" || listSubType === "采购退货" || listSubType === "采购订单"){ - unitSetInput = res.data[0].firstinunit; //给单位文本框赋值 - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = ratio; - } - } - else if(listSubType === "销售" || listSubType === "销售退货" || listSubType === "销售订单" || listSubType === "零售" || listSubType === "零售退货"){ - unitSetInput = res.data[0].firstoutunit; //给单位文本框赋值 - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = ratio; - } - } body.find("[field='Unit']").find(input).val(unitSetInput).attr("data-ratio", loadRatio); //设置-首选单位 body.find("[field='Unit']").find(input).off("click").on("click",function(){ @@ -952,27 +739,11 @@ function initTableData_material(type,TotalPrice){ var type = $(this).attr("data-type"); var UnitPrice = 0; if(type === "basic"){ - if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { - UnitPrice = basicPresetPriceOne; - } - else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { - UnitPrice = basicPresetPriceTwo; - } - else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ - UnitPrice = retailPriceOne; - } + UnitPrice = basicPresetPriceOne; body.find("[field='Stock']").find(input).val(stock); //修改库存 } else if(type === "other"){ - if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { - UnitPrice = otherPresetPriceOne; - } - else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { - UnitPrice = otherPresetPriceTwo; - } - else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ - UnitPrice = retailPriceTwo; - } + UnitPrice = otherPresetPriceOne; body.find("[field='Stock']").find(input).val((stock/ratio).toFixed(2)); //修改库存 } body.find("[field='UnitPrice']").find(input).val(UnitPrice); //单价 @@ -992,43 +763,15 @@ function initTableData_material(type,TotalPrice){ }); } var detailPrice = 0; //明细列表-单价 - if(listSubType == "零售" || listSubType == "零售退货") { - if(res.data[0].unit) { //如果存在计量单位信息 - detailPrice = retailPrice; - } - else { - if (firstOutUnit == basicUnit) { - detailPrice = retailPriceOne; - } - else if (firstOutUnit == otherUnit) { - detailPrice = retailPriceTwo; - } - } + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = presetPriceOne; } - else if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { - if(res.data[0].unit) { //如果存在计量单位信息 - detailPrice = presetPriceOne; + else { + if (firstInUnit == basicUnit) { + detailPrice = basicPresetPriceOne; } - else { - if (firstInUnit == basicUnit) { - detailPrice = basicPresetPriceOne; - } - else if (firstInUnit == otherUnit) { - detailPrice = otherPresetPriceOne; - } - } - } - else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { - if(res.data[0].unit) { //如果存在计量单位信息 - detailPrice = presetPriceTwo; - } - else { - if(firstOutUnit==basicUnit) { - detailPrice = basicPresetPriceTwo; - } - else if(firstOutUnit==otherUnit){ - detailPrice = otherPresetPriceTwo; - } + else if (firstInUnit == otherUnit) { + detailPrice = otherPresetPriceOne; } } body.find("[field='OperNumber']").find(input).val(1); //数量初始化为1 @@ -1175,19 +918,9 @@ function initTableData_material_show(TotalPrice){ var isShowAnotherDepot = true; //显示对方仓库,true为隐藏,false为显示 var anotherDepotHeadName = ""; //对方仓库的列的标题 var depotHeadName = ""; //仓库的列的标题 - if(listSubType == "调拨"){ - isShowAnotherDepot = false; //调拨时候显示对方仓库 - anotherDepotHeadName = "调入仓库"; - } depotHeadName = "仓库名称"; - var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 - if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowTaxColumn = true; //隐藏 - } + var isShowTaxColumn = true; //是否显示税率相关的列,true为隐藏,false为显示 var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 - if(listSubType == "组装单" || listSubType == "拆卸单"){ - isShowMaterialTypeColumn = false; //显示 - } $('#materialDataShow').datagrid({ height:245, rownumbers: true, @@ -1312,27 +1045,6 @@ function deleteDepotHead(depotHeadID, thisOrganId, totalPrice, status){ } }); - //更新会员的预收款信息 - if(listSubType === "零售") { - $.ajax({ - type:"post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data:{ - supplierId: thisOrganId, //会员id - advanceIn: totalPrice //删除时同时返还用户的预付款 - }, - success: function(res){ - if(res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function(){ - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); - } } }); } @@ -1345,11 +1057,6 @@ function skipDepotHead(index, status){ $.messager.alert('提示','未审核和已转的单据禁止操作!','warning'); } else { sessionStorage.setItem("rowInfo", JSON.stringify(rowsdata)); //将单据信息存入缓存中 - if(listTitle == "采购订单列表") { - parent.addTab("订单转采购", "../materials/purchase_in_list.html?t=skip", ""); - } else if(listTitle == "销售订单列表") { - parent.addTab("订单转销售", "../materials/sale_out_list.html?t=skip", ""); - } } } @@ -1377,29 +1084,6 @@ function batDeleteDepotHead(){ ids += row[i].id + ","; } if (ids) { - //批量更新会员的预收款信息 - for (var i = 0; i < row.length; i++) { - if (listSubType === "零售") { - $.ajax({ - type: "post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data: { - supplierId: row[i].organid, //会员id - advanceIn: row[i].totalprice //删除时同时返还用户的预付款 - }, - success: function (res) { - if (res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function () { - $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); - return; - } - }); - } - } //批量删除 $.ajax({ type: "post", @@ -1601,48 +1285,6 @@ function addDepotHead(){ }); url = '/depotHead/addDepotHeadAndDetail'; - //零售单据修改收款时,自动计算找零 - if(listSubType == "零售" || listSubType == "零售退货") { - $("#payType").val("现付"); - $("#OrganId").combobox("setValue", orgDefaultId); //自动默认选择非会员 - // 鼠标点下时清空选择项 - $("#OrganId").next().find("input").off("mousedown").on("mousedown",function(){ - $("#OrganId").combobox("setValue", ""); - }); - //当会员卡号长度超过10位后,自动点击下拉框,用于兼容刷卡器 - $("#OrganId").next().find("input").off("keyup").on("keyup",function(){ - var self = this; - if($(this).val().length === 10){ - setTimeout(function(){ - $(".combo-panel .combobox-item-selected").click(); - //更新付款类型,加载会员的预付款的金额 - for(var i=0; i0){ - option = ''; - option += ''; - } - else { - option += ''; - } - $("#payType").empty().append(option); - } - } - },1000); - } - }); - var getAmount = $("#depotHeadFM .get-amount"); - var changeAmount = $("#depotHeadFM .change-amount"); - var backAmount = $("#depotHeadFM .back-amount"); - getAmount.val(0); changeAmount.val(0); backAmount.val(0); //时间初始化 - getAmount.off("keyup").on("keyup",function() { - if(changeAmount.val()){ - backAmount.val((getAmount.val()-changeAmount.val()).toFixed(2)); - } - }); - } } //编辑信息 @@ -1697,56 +1339,12 @@ function editDepotHead(index, status){ $('#depotHeadDlg').dialog('open').dialog('setTitle',' 编辑' + editTitle); $(".window-mask").css({ width: webW ,height: webH}); depotHeadID = rowsdata.id; - - if(listSubType == "零售"){ - var option = ""; - if(rowsdata.paytype == "预付款"){ - option = ''; - option += ''; - } - else { - option += ''; - } - $("#payType").empty().append(option); - } - - if(listSubType == "销售" || listSubType == "销售退货"){ - if(rowsdata.salesman){ - var arr = rowsdata.salesman.split(","); - var salesmanArray = []; - for(var i=0;i","")); - } - } - $("#Salesman").combobox('setValues', salesmanArray); - } - } - //采购入库、销售出库的多账户加载 if(rowsdata.accountidlist!=undefined && rowsdata.accountmoneylist!=undefined){ $("#AccountId").val("many"); //下拉框选中多账户 var accountArr = rowsdata.accountidlist.split(","); var accountMoneyArr = rowsdata.accountmoneylist.split(","); accountMoneyArr = changeListFmtPlus(accountMoneyArr) //将数组单个金额中的数值转为正数 - - if(listSubType == "零售" || listSubType == "零售退货") { - var manyAccountMoney = 0; //多账户合计-零售 - for (var j = 0; j < accountArr.length; j++) { - if (accountList != null) { - for (var i = 0; i < accountList.length; i++) { - var account = accountList[i]; - if (accountArr[j] == account.id) { - manyAccountMoney += accountMoneyArr[j] - 0; //多账户合计-零售 - } - } - } - } - $("#getAmount").val(manyAccountMoney); //收款金额、付款金额 - var changeAmount = $("#ChangeAmount").val()-0; - $("#backAmount").val((manyAccountMoney-changeAmount).toFixed(2)); //找零 - } - $("#AccountId").attr("data-accountArr", JSON.stringify(accountArr)).attr("data-accountMoneyArr", JSON.stringify(accountMoneyArr)); //json数据存储 $(".many-account-ico").show(); //显示多账户的ico图标 } @@ -1840,52 +1438,6 @@ function showDepotHead(index){ depotHeadID = rowsdata.id; initTableData_material_show(TotalPrice); //商品列表-查看状态 - - //零售单据展示数据 - if(listSubType == "零售" || listSubType == "零售退货"){ - var changeAccount = $("#depotHeadDlgShow .change-amount-show").text() -0; - if(manyAccountMoney!==0){ - $("#depotHeadDlgShow .get-amount-show").text((manyAccountMoney).toFixed(2)); - $("#depotHeadDlgShow .back-amount-show").text((manyAccountMoney -changeAccount).toFixed(2)); - } - else { - $("#depotHeadDlgShow .get-amount-show").text((changeAccount).toFixed(2)); - $("#depotHeadDlgShow .back-amount-show").text(0); - } - } - if(listSubType === "销售" || listSubType === "销售退货"){ - if(rowsdata.salesman){ - var arr = rowsdata.salesman.split(","); - var salesmanStr = ""; - for(var i=0;i",""); - } - else { - salesmanStr += arr[i].replace("<","").replace(">","") + ","; - } - } - } - $.ajax({ - type: "get", - url: "/person/getPersonByIds", - data: { - personIDs: salesmanStr - }, - success:function(res){ - if(res && res.code === 200){ - if(res.data) { - $("#SalesmanShow").text(res.data.names); //销售人员列表 - } - } - }, - error:function(){ - - } - }); - } - } } //绑定操作事件 @@ -1978,98 +1530,9 @@ function bindEvent(){ return; } } - //输入框提示 - if(listTitle === "采购订单列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择供应商!','warning'); - return; - } - } - else if(listTitle === "采购入库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择供应商!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择结算账户!','warning'); - return; - } - } - else if(listTitle === "零售退货列表"){ - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择付款账户!','warning'); - return; - } - if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { - $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); - return; - } - } - else if(listTitle === "销售退货列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择退货单位!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择付款账户!','warning'); - return; - } - } - else if(listTitle === "其它入库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择往来单位!','warning'); - return; - } - } - else if(listTitle === "零售出库列表"){ - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择收款账户!','warning'); - return; - } - if($("#backAmount").val()-0 <0){ - $.messager.alert('提示','找零金额不能小于0!','warning'); - return; - } - if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { - $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); - return; - } - - } - else if(listTitle === "销售订单列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择购买单位!','warning'); - return; - } - } - else if(listTitle === "销售出库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择购买单位!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择收款账户!','warning'); - return; - } - } - else if(listTitle === "采购退货列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择收货单位!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择收款账户!','warning'); - return; - } - } - else if(listTitle === "其它出库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择往来单位!','warning'); - return; - } - } - else if(listTitle === "调拨出库列表"){ - + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择往来单位!','warning'); + return; } //进行明细的校验 if(depotHeadID ==0) { @@ -2098,36 +1561,9 @@ function bindEvent(){ accountMoneyList = accountMoneyList.replace(reg,""); //替换所有的双引号 accountMoneyArr = accountMoneyList.split(","); //转为数组 } - if(listSubType === "采购订单"||listSubType === "采购"||listSubType === "零售退货"||listSubType === "销售退货"){ - //付款为负数 - ChangeAmount = 0 - ChangeAmount; - TotalPrice = 0 - TotalPrice; - if(accountMoneyArr) { - accountMoneyArr = changeListFmtMinus(accountMoneyArr); //将数组单个金额中的数值转为负数 - } - } //零售时候,可以从会员预付款中扣款 var thisPayType = "现付"; - if(listSubType === "零售") { - if($("#payType").val() ==="预付款") { - thisPayType = "预付款"; - } - } var SalesmanStr = ""; - if(listSubType === "销售" || listSubType === "销售退货"){ - var Salesman = $('#Salesman').combobox('getValues').toString(); //销售人员 - if(Salesman) { - var SalesmanArray = Salesman.split(","); - for (var i = 0; i < SalesmanArray.length; i++) { - if (i === SalesmanArray.length - 1) { - SalesmanStr += "<" + SalesmanArray[i] + ">"; - } - else { - SalesmanStr += "<" + SalesmanArray[i] + ">,"; - } - } - } - } var getAccountID = $.trim($("#AccountId").val()); if($("#AccountId").val() === "many"){ //多账户 getAccountID = null; @@ -2187,35 +1623,6 @@ function bindEvent(){ showDepotHeadDetails(opts.pageNumber,opts.pageSize); } - if(thisPayType === "预付款") { - //更新用户信息-预付款 - var advanceIn = 0; //预付款金额 - if(depotHeadID){ - advanceIn = TotalPrice - preTotalPrice; //修改时,预付款=合计金额-加载金额 - } - else{ - advanceIn = TotalPrice; //新增时,预付款=合计金额 - } - $.ajax({ - type:"post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data:{ - supplierId: OrganId, //会员id - advanceIn: 0 - advanceIn //保存的同时扣掉用户的预付款 - }, - success: function(res){ - if(res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function(){ - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); - } - //保存明细记录 if(depotHeadID ==0) { @@ -2394,14 +1801,7 @@ function bindEvent(){ if(accountArr.length && accountMoneyArr.length) { $("#AccountId").attr("data-accountArr",JSON.stringify(accountArr)).attr("data-accountMoneyArr",JSON.stringify(accountMoneyArr)); //json数据存储 } - if(listSubType==="零售" || listSubType==="零售退货") { - $("#getAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 - var backAmount = $("#getAmount").val() - $("#ChangeAmount").val(); - $("#backAmount").val((backAmount - 0).toFixed(2)); //计算找零金额 - } - else { - $("#ChangeAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 - } + $("#ChangeAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 $("#Debt").val((discountLastMoneyNum-accountMoneyTotal).toFixed(2)); //本次欠款 $("#depotHeadAccountDlg").dialog('close'); }); @@ -2414,12 +1814,7 @@ function bindEvent(){ else { $("#depotHeadAccountDlg").dialog('close'); $("#AccountId").val("").removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 - if(listSubType==="零售" || listSubType==="零售退货"){ - $("#ChangeAmount").prop("readonly","readonly"); - } - else { - $("#ChangeAmount").removeProp("readonly","readonly"); - } + $("#ChangeAmount").removeProp("readonly","readonly"); $(".many-account-ico").hide(); //隐藏多账户小图标 } } @@ -2443,12 +1838,7 @@ function bindEvent(){ } else{ $(this).removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 - if(listSubType==="零售" || listSubType==="零售退货"){ - $("#ChangeAmount").prop("readonly","readonly"); - } - else { - $("#ChangeAmount").removeProp("readonly","readonly"); - } + $("#ChangeAmount").removeProp("readonly","readonly"); $(".many-account-ico").hide(); //隐藏多账户小图标 } }); @@ -2466,12 +1856,7 @@ function bindEvent(){ $(this).find(".account-id-dlg").val(accountArr[index]); $(this).find(".account-money-dlg").val(accountMoneyArr[index]); }); - if(listSubType==="零售" || listSubType==="零售退货") { - $("#accountMoneyTotalDlg").text($("#getAmount").val()); - } - else { - $("#accountMoneyTotalDlg").text($("#ChangeAmount").val()); - } + $("#accountMoneyTotalDlg").text($("#ChangeAmount").val()); }); //点击采购费用、销售费用的事件 @@ -2594,13 +1979,7 @@ function bindEvent(){ $("#otherMoneyTotalDlg").text($("#OtherMoney").val()); }); - if(listTitle === "采购入库列表" || listTitle === "其它入库列表" || listTitle === "采购订单列表"|| listTitle === "零售出库列表"|| listTitle === "销售出库列表"|| listTitle === "销售订单列表"){ var supplierType = "供应商"; - if(listTitle === "零售出库列表"){ - supplierType = "会员"; - }else if(listTitle === "销售出库列表" || listTitle === "销售订单列表"){ - supplierType = "客户"; - } //检查单位名称是否存在 ++ 重名无法提示问题需要跟进 function checkSupplierName() { var supplierName = $.trim($("#supplier").val()); @@ -2681,7 +2060,6 @@ function bindEvent(){ } }); }); - } } function showDepotHeadDetails(pageNo,pageSize){ @@ -2798,9 +2176,6 @@ function autoReckon() { return; } else { - if(listTitle!="销售出库列表" && listTitle!="采购退货列表" && listTitle!="其它出库列表" && listTitle!="调拨出库列表") { - return; - } $.ajax({ url: "/material/findById", type: "get", @@ -2922,9 +2297,6 @@ function autoReckon() { if(rowListLength > 0){ mTypeValue = "普通子件"; } - if(listSubType == "组装单" || listSubType == "拆卸单"){ - mType.find(input).val(mTypeValue).prop("readonly","readonly"); - } },500); } From 760c96533c103f48073e5b72165dbb86993c58ea Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Thu, 9 May 2019 11:35:41 +0800 Subject: [PATCH 048/117] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=85=B6=E5=AE=83?= =?UTF-8?q?=E5=87=BA=E5=BA=93=E5=88=97=E8=A1=A8=EF=BC=8C=E5=8E=BB=E6=8E=89?= =?UTF-8?q?=E5=A4=9A=E4=BD=99js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- erp_web/js/pages/materials/other_out_list.js | 821 +------------------ 1 file changed, 30 insertions(+), 791 deletions(-) diff --git a/erp_web/js/pages/materials/other_out_list.js b/erp_web/js/pages/materials/other_out_list.js index 662d9507..472d8a5d 100644 --- a/erp_web/js/pages/materials/other_out_list.js +++ b/erp_web/js/pages/materials/other_out_list.js @@ -18,13 +18,6 @@ var depotHeadID = 0; var preTotalPrice = 0; //前一次加载的金额 var orgDepotHead = ""; var editIndex = undefined; -var listTitle = ""; //单据标题 -var listType = ""; //入库 出库 -var listSubType = ""; //采购 销售等 -var payTypeTitle = "";//付款 收款 -var organUrl = ""; //组织数据接口地址 -var amountNum = ""; //单据编号开头字符 -var depotString = ""; //店铺id列表 /**默认编号有意义吗,不如空着吧*/ var orgDefaultId=''; //单位默认编号 var orgDefaultList; //存储查询出来的会员列表 @@ -37,9 +30,18 @@ var otherColumns = true; //明细中的‘别名’列是否显示 var btnEnableList = getBtnStr(); //获取按钮的权限 var mPropertyList = ""; //商品属性列表 var defaultAccountId = 0; //默认账户id +//改变宽度和高度 +$("#searchPanel").panel({width:webW-2}); +$("#tablePanel").panel({width:webW-2}); +var listTitle = "其它出库列表"; //单据标题 +var depotString = "|"; //店铺id列表 +var listType = "出库";//入库 出库 +var listSubType = "其它"; //采购 销售等 +var payTypeTitle = "隐藏"; //付款 收款 +var organUrl = "/supplier/findBySelect_cus?UBType=UserCustomer&UBKeyId=" + kid; //组织数据接口地址 +var amountNum ="QTCK";//单据编号开头字符 $(function(){ //初始化系统基础信息 - getType(); initSystemData_UB(); initSelectInfo_UB(); initSystemData_depot(); @@ -57,108 +59,6 @@ $(function(){ initForm(); bindEvent();//绑定操作事件 }); -//根据单据名称获取类型 -function getType(){ - listTitle = $("#tablePanel").prev().text(); - depotString = "|"; - //改变宽度和高度 - $("#searchPanel").panel({width:webW-2}); - $("#tablePanel").panel({width:webW-2}); - var supUrl = "/supplier/findBySelect_sup"; //供应商接口 - var cusUrl = "/supplier/findBySelect_cus?UBType=UserCustomer&UBKeyId=" + kid; //客户接口 - var retailUrl = "/supplier/findBySelect_retail"; //散户接口 - if(listTitle === "采购订单列表"){ - listType = "其它"; - listSubType = "采购订单"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "CGDD"; - } - else if(listTitle === "采购入库列表"){ - listType = "入库"; - listSubType = "采购"; - payTypeTitle = "付款"; - organUrl = supUrl; - amountNum = "CGRK"; - } - else if(listTitle === "零售退货列表"){ - listType = "入库"; - listSubType = "零售退货"; //注:用预付款购买的产品不能退货 - payTypeTitle = "付款"; - organUrl = retailUrl; - amountNum = "LSTH"; - } - else if(listTitle === "销售退货列表"){ - listType = "入库"; - listSubType = "销售退货"; - payTypeTitle = "付款"; - organUrl = cusUrl; - amountNum = "XSTH"; - } - else if(listTitle === "其它入库列表"){ - listType = "入库"; - listSubType = "其它"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "QTRK"; - } - else if(listTitle === "零售出库列表"){ - listType = "出库"; - listSubType = "零售"; - payTypeTitle = "收款"; - organUrl = retailUrl; - amountNum = "LSCK"; - } - else if(listTitle === "销售订单列表"){ - listType = "其它"; - listSubType = "销售订单"; - payTypeTitle = "隐藏"; - organUrl = cusUrl; - amountNum = "XSDD"; - } - else if(listTitle === "销售出库列表"){ - listType = "出库"; - listSubType = "销售"; - payTypeTitle = "收款"; - organUrl = cusUrl; - amountNum = "XSCK"; - } - else if(listTitle === "采购退货列表"){ - listType = "出库"; - listSubType = "采购退货"; - payTypeTitle = "收款"; - organUrl = supUrl; - amountNum = "CGTH"; - } - else if(listTitle === "其它出库列表"){ - listType = "出库"; - listSubType = "其它"; - payTypeTitle = "隐藏"; - organUrl = cusUrl; - amountNum = "QTCK"; - } - else if(listTitle === "调拨出库列表"){ - listType = "出库"; - listSubType = "调拨"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "DBCK"; - } - else if(listTitle === "组装单列表"){ - listType = "其它"; - listSubType = "组装单"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "ZZD"; - } - else if(listTitle === "拆卸单列表"){ - listType = "其它"; - listSubType = "拆卸单"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "CXD"; - } -} //初始化系统基础信息 function initSystemData_UB(){ $.ajax({ @@ -264,23 +164,8 @@ function initSupplier(){ orgDefaultId = data[i].id; } } - if(listSubType === "零售"){ - orgDefaultList = res; - } }, onSelect: function(rec){ - if(listSubType === "零售"){ - var option = ""; - if(rec.supplier !== "非会员" && rec.advanceIn >0){ - option = ''; - option += ''; - } - else { - option += ''; - } - $("#payType").empty().append(option); - } - else{ $.ajax({ type:"get", url: "/supplier/findById", @@ -299,7 +184,6 @@ function initSupplier(){ } }); - } } }); } @@ -504,38 +388,11 @@ function initTableData(){ else { isHiddenStatus = true; //隐藏 } - var isShowLastMoneyColumn = false; //是否显示优惠后金额和价税合计,true为隐藏,false为显示 - if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowLastMoneyColumn = true; //隐藏 - } + var isShowLastMoneyColumn = true; //是否显示优惠后金额和价税合计,true为隐藏,false为显示 var isShowOrganNameColumn = false; //是否显示供应商、客户等信息,true为隐藏,false为显示 - var organNameTitle = ""; //组织名称标题 - if(listSubType == "调拨" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowOrganNameColumn = true; //隐藏 - } - else { - if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "采购退货列表" || listTitle == "其它入库列表"){ - organNameTitle = "供应商名称"; - } - else if(listTitle == "销售订单列表" || listTitle == "销售退货列表" || listTitle == "销售出库列表" || listTitle == "其它出库列表"){ - organNameTitle = "客户名称"; - } - else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ - organNameTitle = "会员卡号"; - } - } + var organNameTitle ="客户名称"; //组织名称标题 var opWidth = 90; //操作宽度 - var isShowSkip = false; //是否显示跳转按钮 var opTitle = ""; //跳转按钮的标题 - if(listTitle == "采购订单列表") { - opWidth = 120; - isShowSkip = true; - opTitle = "转采购入库"; - } else if(listTitle == "销售订单列表") { - opWidth = 120; - isShowSkip = true; - opTitle = "转销售出库"; - } $('#tableData').datagrid({ height:heightInfo, rownumbers: false, @@ -555,25 +412,10 @@ function initTableData(){ { title: '操作',field: 'op',align:"center",width:opWidth, formatter:function(value, rec,index) { var str = ''; - // var rowInfo = rec.id + 'AaBb' + rec.projectid+ 'AaBb' + rec.number+ 'AaBb' + rec.operpersonname - // + 'AaBb' + rec.opertimeStr+ 'AaBb' + rec.organid+ 'AaBb' + rec.handspersonid - // + 'AaBb' + rec.accountid+ 'AaBb' + rec.changeamount+ 'AaBb' + rec.remark - // + 'AaBb' + rec.projectName+ 'AaBb' + rec.organName+ 'AaBb' + rec.handsPersonName - // + 'AaBb' + rec.accountName + 'AaBb' + rec.totalprice + 'AaBb' + rec.allocationprojectid - // + 'AaBb' + rec.allocationProjectName + 'AaBb' + rec.paytype + 'AaBb' + rec.salesman - // + 'AaBb' + rec.discount + 'AaBb' + rec.discountmoney + 'AaBb' + rec.discountlastmoney - // + 'AaBb' + rec.accountidlist + 'AaBb' + rec.accountmoneylist - // + 'AaBb' + rec.othermoney + 'AaBb' + rec.othermoneylist + 'AaBb' + rec.othermoneyitem - // + 'AaBb' + rec.accountday + 'AaBb' + rec.linknumber; - // rowInfo = rowInfo.replace(/\"/g, ""); - // rowInfo = rowInfo.replace(/\[|]/g,""); var orgId = rec.organid? rec.organid:0; str += '   '; str += '   '; str += ''; - if(isShowSkip) { - str += '   '; - } return str; } }, @@ -607,11 +449,6 @@ function initTableData(){ } else if(value === "1") { return "已审核"; } else if(value === "2") { - if(listTitle == "采购订单列表") { - return "已转采购"; - } else if(listTitle == "销售订单列表") { - return "已转销售"; - } } } } @@ -646,28 +483,6 @@ function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ thisRatio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); unitName = unitName.substring(0, unitName.indexOf("(")); } - var unitArr = unitName.split(","); - var basicUnit = unitArr[0]; //基础单位 - var otherUnit = unitArr[1]; //副单位 - var unitSetInput =""; //单位 - if(listSubType === "采购订单" || listSubType === "采购" || listSubType === "采购退货"){ - unitSetInput = rec.data[0].firstinunit; - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = thisRatio; - } - } - else if(listSubType === "销售订单" || listSubType === "销售" || listSubType === "销售退货" || listSubType === "零售" || listSubType === "零售退货"){ - unitSetInput = rec.data[0].firstoutunit; - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = thisRatio; - } - } } //查询库存 $.ajax({ @@ -746,10 +561,6 @@ function statisticsFun(body,UnitPrice,OperNumber,footer,taxRate){ var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 - if(listSubType == "零售" || listSubType == "零售退货") { - $("#ChangeAmount, #getAmount").val((TotalPrice).toFixed(2)); - $("#backAmount").val(0); - } } //初始化表格数据-商品列表-编辑状态 function initTableData_material(type,TotalPrice){ @@ -764,23 +575,11 @@ function initTableData_material(type,TotalPrice){ var anotherDepotHeadName = ""; //对方仓库的列的标题 var anotherDepotUrl = ""; //对方仓库接口地址 var anotherDepotTextField = ""; - if(listSubType == "调拨"){ - isShowAnotherDepot = false; //调拨时候显示对方仓库 - anotherDepotHeadName = "调入仓库"; - anotherDepotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; - anotherDepotTextField = "depotName"; - } depotHeadName = "仓库名称"; depotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; depotTextField = "depotName"; - var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 - if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowTaxColumn = true; //隐藏 - } + var isShowTaxColumn = true; //是否显示税率相关的列,true为隐藏,false为显示 var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 - if(listSubType == "组装单" || listSubType == "拆卸单"){ - isShowMaterialTypeColumn = false; //显示 - } $('#materialData').datagrid({ height:245, rownumbers: false, @@ -905,24 +704,6 @@ function initTableData_material(type,TotalPrice){ var unitSetInput =""; //单位 body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 var loadRatio = 1; //在单位输入框上面加载比例字段 - if(listSubType === "采购" || listSubType === "采购退货" || listSubType === "采购订单"){ - unitSetInput = res.data[0].firstinunit; //给单位文本框赋值 - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = ratio; - } - } - else if(listSubType === "销售" || listSubType === "销售退货" || listSubType === "销售订单" || listSubType === "零售" || listSubType === "零售退货"){ - unitSetInput = res.data[0].firstoutunit; //给单位文本框赋值 - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = ratio; - } - } body.find("[field='Unit']").find(input).val(unitSetInput).attr("data-ratio", loadRatio); //设置-首选单位 body.find("[field='Unit']").find(input).off("click").on("click",function(){ @@ -952,27 +733,11 @@ function initTableData_material(type,TotalPrice){ var type = $(this).attr("data-type"); var UnitPrice = 0; if(type === "basic"){ - if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { - UnitPrice = basicPresetPriceOne; - } - else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { - UnitPrice = basicPresetPriceTwo; - } - else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ - UnitPrice = retailPriceOne; - } + UnitPrice = basicPresetPriceTwo; body.find("[field='Stock']").find(input).val(stock); //修改库存 } else if(type === "other"){ - if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { - UnitPrice = otherPresetPriceOne; - } - else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { - UnitPrice = otherPresetPriceTwo; - } - else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ - UnitPrice = retailPriceTwo; - } + UnitPrice = otherPresetPriceTwo; body.find("[field='Stock']").find(input).val((stock/ratio).toFixed(2)); //修改库存 } body.find("[field='UnitPrice']").find(input).val(UnitPrice); //单价 @@ -992,43 +757,15 @@ function initTableData_material(type,TotalPrice){ }); } var detailPrice = 0; //明细列表-单价 - if(listSubType == "零售" || listSubType == "零售退货") { - if(res.data[0].unit) { //如果存在计量单位信息 - detailPrice = retailPrice; - } - else { - if (firstOutUnit == basicUnit) { - detailPrice = retailPriceOne; - } - else if (firstOutUnit == otherUnit) { - detailPrice = retailPriceTwo; - } - } + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = presetPriceTwo; } - else if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { - if(res.data[0].unit) { //如果存在计量单位信息 - detailPrice = presetPriceOne; + else { + if(firstOutUnit==basicUnit) { + detailPrice = basicPresetPriceTwo; } - else { - if (firstInUnit == basicUnit) { - detailPrice = basicPresetPriceOne; - } - else if (firstInUnit == otherUnit) { - detailPrice = otherPresetPriceOne; - } - } - } - else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { - if(res.data[0].unit) { //如果存在计量单位信息 - detailPrice = presetPriceTwo; - } - else { - if(firstOutUnit==basicUnit) { - detailPrice = basicPresetPriceTwo; - } - else if(firstOutUnit==otherUnit){ - detailPrice = otherPresetPriceTwo; - } + else if(firstOutUnit==otherUnit){ + detailPrice = otherPresetPriceTwo; } } body.find("[field='OperNumber']").find(input).val(1); //数量初始化为1 @@ -1175,19 +912,9 @@ function initTableData_material_show(TotalPrice){ var isShowAnotherDepot = true; //显示对方仓库,true为隐藏,false为显示 var anotherDepotHeadName = ""; //对方仓库的列的标题 var depotHeadName = ""; //仓库的列的标题 - if(listSubType == "调拨"){ - isShowAnotherDepot = false; //调拨时候显示对方仓库 - anotherDepotHeadName = "调入仓库"; - } depotHeadName = "仓库名称"; - var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 - if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowTaxColumn = true; //隐藏 - } + var isShowTaxColumn = true; //是否显示税率相关的列,true为隐藏,false为显示 var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 - if(listSubType == "组装单" || listSubType == "拆卸单"){ - isShowMaterialTypeColumn = false; //显示 - } $('#materialDataShow').datagrid({ height:245, rownumbers: true, @@ -1312,27 +1039,6 @@ function deleteDepotHead(depotHeadID, thisOrganId, totalPrice, status){ } }); - //更新会员的预收款信息 - if(listSubType === "零售") { - $.ajax({ - type:"post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data:{ - supplierId: thisOrganId, //会员id - advanceIn: totalPrice //删除时同时返还用户的预付款 - }, - success: function(res){ - if(res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function(){ - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); - } } }); } @@ -1345,11 +1051,6 @@ function skipDepotHead(index, status){ $.messager.alert('提示','未审核和已转的单据禁止操作!','warning'); } else { sessionStorage.setItem("rowInfo", JSON.stringify(rowsdata)); //将单据信息存入缓存中 - if(listTitle == "采购订单列表") { - parent.addTab("订单转采购", "../materials/purchase_in_list.html?t=skip", ""); - } else if(listTitle == "销售订单列表") { - parent.addTab("订单转销售", "../materials/sale_out_list.html?t=skip", ""); - } } } @@ -1377,29 +1078,6 @@ function batDeleteDepotHead(){ ids += row[i].id + ","; } if (ids) { - //批量更新会员的预收款信息 - for (var i = 0; i < row.length; i++) { - if (listSubType === "零售") { - $.ajax({ - type: "post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data: { - supplierId: row[i].organid, //会员id - advanceIn: row[i].totalprice //删除时同时返还用户的预付款 - }, - success: function (res) { - if (res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function () { - $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); - return; - } - }); - } - } //批量删除 $.ajax({ type: "post", @@ -1601,48 +1279,6 @@ function addDepotHead(){ }); url = '/depotHead/addDepotHeadAndDetail'; - //零售单据修改收款时,自动计算找零 - if(listSubType == "零售" || listSubType == "零售退货") { - $("#payType").val("现付"); - $("#OrganId").combobox("setValue", orgDefaultId); //自动默认选择非会员 - // 鼠标点下时清空选择项 - $("#OrganId").next().find("input").off("mousedown").on("mousedown",function(){ - $("#OrganId").combobox("setValue", ""); - }); - //当会员卡号长度超过10位后,自动点击下拉框,用于兼容刷卡器 - $("#OrganId").next().find("input").off("keyup").on("keyup",function(){ - var self = this; - if($(this).val().length === 10){ - setTimeout(function(){ - $(".combo-panel .combobox-item-selected").click(); - //更新付款类型,加载会员的预付款的金额 - for(var i=0; i0){ - option = ''; - option += ''; - } - else { - option += ''; - } - $("#payType").empty().append(option); - } - } - },1000); - } - }); - var getAmount = $("#depotHeadFM .get-amount"); - var changeAmount = $("#depotHeadFM .change-amount"); - var backAmount = $("#depotHeadFM .back-amount"); - getAmount.val(0); changeAmount.val(0); backAmount.val(0); //时间初始化 - getAmount.off("keyup").on("keyup",function() { - if(changeAmount.val()){ - backAmount.val((getAmount.val()-changeAmount.val()).toFixed(2)); - } - }); - } } //编辑信息 @@ -1651,7 +1287,6 @@ function editDepotHead(index, status){ $.messager.alert('编辑提示','已审核和已转的单据不能编辑!','warning'); return; } - // var depotHeadInfo = depotHeadTotalInfo.split("AaBb"); //获取当前行 var rowsdata =''; if(Number(index).toString()=='NaN'){ @@ -1697,56 +1332,12 @@ function editDepotHead(index, status){ $('#depotHeadDlg').dialog('open').dialog('setTitle',' 编辑' + editTitle); $(".window-mask").css({ width: webW ,height: webH}); depotHeadID = rowsdata.id; - - if(listSubType == "零售"){ - var option = ""; - if(rowsdata.paytype == "预付款"){ - option = ''; - option += ''; - } - else { - option += ''; - } - $("#payType").empty().append(option); - } - - if(listSubType == "销售" || listSubType == "销售退货"){ - if(rowsdata.salesman){ - var arr = rowsdata.salesman.split(","); - var salesmanArray = []; - for(var i=0;i","")); - } - } - $("#Salesman").combobox('setValues', salesmanArray); - } - } - //采购入库、销售出库的多账户加载 if(rowsdata.accountidlist!=undefined && rowsdata.accountmoneylist!=undefined){ $("#AccountId").val("many"); //下拉框选中多账户 var accountArr = rowsdata.accountidlist.split(","); var accountMoneyArr = rowsdata.accountmoneylist.split(","); accountMoneyArr = changeListFmtPlus(accountMoneyArr) //将数组单个金额中的数值转为正数 - - if(listSubType == "零售" || listSubType == "零售退货") { - var manyAccountMoney = 0; //多账户合计-零售 - for (var j = 0; j < accountArr.length; j++) { - if (accountList != null) { - for (var i = 0; i < accountList.length; i++) { - var account = accountList[i]; - if (accountArr[j] == account.id) { - manyAccountMoney += accountMoneyArr[j] - 0; //多账户合计-零售 - } - } - } - } - $("#getAmount").val(manyAccountMoney); //收款金额、付款金额 - var changeAmount = $("#ChangeAmount").val()-0; - $("#backAmount").val((manyAccountMoney-changeAmount).toFixed(2)); //找零 - } - $("#AccountId").attr("data-accountArr", JSON.stringify(accountArr)).attr("data-accountMoneyArr", JSON.stringify(accountMoneyArr)); //json数据存储 $(".many-account-ico").show(); //显示多账户的ico图标 } @@ -1840,52 +1431,6 @@ function showDepotHead(index){ depotHeadID = rowsdata.id; initTableData_material_show(TotalPrice); //商品列表-查看状态 - - //零售单据展示数据 - if(listSubType == "零售" || listSubType == "零售退货"){ - var changeAccount = $("#depotHeadDlgShow .change-amount-show").text() -0; - if(manyAccountMoney!==0){ - $("#depotHeadDlgShow .get-amount-show").text((manyAccountMoney).toFixed(2)); - $("#depotHeadDlgShow .back-amount-show").text((manyAccountMoney -changeAccount).toFixed(2)); - } - else { - $("#depotHeadDlgShow .get-amount-show").text((changeAccount).toFixed(2)); - $("#depotHeadDlgShow .back-amount-show").text(0); - } - } - if(listSubType === "销售" || listSubType === "销售退货"){ - if(rowsdata.salesman){ - var arr = rowsdata.salesman.split(","); - var salesmanStr = ""; - for(var i=0;i",""); - } - else { - salesmanStr += arr[i].replace("<","").replace(">","") + ","; - } - } - } - $.ajax({ - type: "get", - url: "/person/getPersonByIds", - data: { - personIDs: salesmanStr - }, - success:function(res){ - if(res && res.code === 200){ - if(res.data) { - $("#SalesmanShow").text(res.data.names); //销售人员列表 - } - } - }, - error:function(){ - - } - }); - } - } } //绑定操作事件 @@ -1978,98 +1523,9 @@ function bindEvent(){ return; } } - //输入框提示 - if(listTitle === "采购订单列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择供应商!','warning'); - return; - } - } - else if(listTitle === "采购入库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择供应商!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择结算账户!','warning'); - return; - } - } - else if(listTitle === "零售退货列表"){ - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择付款账户!','warning'); - return; - } - if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { - $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); - return; - } - } - else if(listTitle === "销售退货列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择退货单位!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择付款账户!','warning'); - return; - } - } - else if(listTitle === "其它入库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择往来单位!','warning'); - return; - } - } - else if(listTitle === "零售出库列表"){ - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择收款账户!','warning'); - return; - } - if($("#backAmount").val()-0 <0){ - $.messager.alert('提示','找零金额不能小于0!','warning'); - return; - } - if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { - $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); - return; - } - - } - else if(listTitle === "销售订单列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择购买单位!','warning'); - return; - } - } - else if(listTitle === "销售出库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择购买单位!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择收款账户!','warning'); - return; - } - } - else if(listTitle === "采购退货列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择收货单位!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择收款账户!','warning'); - return; - } - } - else if(listTitle === "其它出库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择往来单位!','warning'); - return; - } - } - else if(listTitle === "调拨出库列表"){ - + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择往来单位!','warning'); + return; } //进行明细的校验 if(depotHeadID ==0) { @@ -2098,36 +1554,9 @@ function bindEvent(){ accountMoneyList = accountMoneyList.replace(reg,""); //替换所有的双引号 accountMoneyArr = accountMoneyList.split(","); //转为数组 } - if(listSubType === "采购订单"||listSubType === "采购"||listSubType === "零售退货"||listSubType === "销售退货"){ - //付款为负数 - ChangeAmount = 0 - ChangeAmount; - TotalPrice = 0 - TotalPrice; - if(accountMoneyArr) { - accountMoneyArr = changeListFmtMinus(accountMoneyArr); //将数组单个金额中的数值转为负数 - } - } //零售时候,可以从会员预付款中扣款 var thisPayType = "现付"; - if(listSubType === "零售") { - if($("#payType").val() ==="预付款") { - thisPayType = "预付款"; - } - } var SalesmanStr = ""; - if(listSubType === "销售" || listSubType === "销售退货"){ - var Salesman = $('#Salesman').combobox('getValues').toString(); //销售人员 - if(Salesman) { - var SalesmanArray = Salesman.split(","); - for (var i = 0; i < SalesmanArray.length; i++) { - if (i === SalesmanArray.length - 1) { - SalesmanStr += "<" + SalesmanArray[i] + ">"; - } - else { - SalesmanStr += "<" + SalesmanArray[i] + ">,"; - } - } - } - } var getAccountID = $.trim($("#AccountId").val()); if($("#AccountId").val() === "many"){ //多账户 getAccountID = null; @@ -2187,35 +1616,6 @@ function bindEvent(){ showDepotHeadDetails(opts.pageNumber,opts.pageSize); } - if(thisPayType === "预付款") { - //更新用户信息-预付款 - var advanceIn = 0; //预付款金额 - if(depotHeadID){ - advanceIn = TotalPrice - preTotalPrice; //修改时,预付款=合计金额-加载金额 - } - else{ - advanceIn = TotalPrice; //新增时,预付款=合计金额 - } - $.ajax({ - type:"post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data:{ - supplierId: OrganId, //会员id - advanceIn: 0 - advanceIn //保存的同时扣掉用户的预付款 - }, - success: function(res){ - if(res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function(){ - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); - } - //保存明细记录 if(depotHeadID ==0) { @@ -2394,14 +1794,7 @@ function bindEvent(){ if(accountArr.length && accountMoneyArr.length) { $("#AccountId").attr("data-accountArr",JSON.stringify(accountArr)).attr("data-accountMoneyArr",JSON.stringify(accountMoneyArr)); //json数据存储 } - if(listSubType==="零售" || listSubType==="零售退货") { - $("#getAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 - var backAmount = $("#getAmount").val() - $("#ChangeAmount").val(); - $("#backAmount").val((backAmount - 0).toFixed(2)); //计算找零金额 - } - else { - $("#ChangeAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 - } + $("#ChangeAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 $("#Debt").val((discountLastMoneyNum-accountMoneyTotal).toFixed(2)); //本次欠款 $("#depotHeadAccountDlg").dialog('close'); }); @@ -2414,12 +1807,7 @@ function bindEvent(){ else { $("#depotHeadAccountDlg").dialog('close'); $("#AccountId").val("").removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 - if(listSubType==="零售" || listSubType==="零售退货"){ - $("#ChangeAmount").prop("readonly","readonly"); - } - else { - $("#ChangeAmount").removeProp("readonly","readonly"); - } + $("#ChangeAmount").removeProp("readonly","readonly"); $(".many-account-ico").hide(); //隐藏多账户小图标 } } @@ -2443,12 +1831,7 @@ function bindEvent(){ } else{ $(this).removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 - if(listSubType==="零售" || listSubType==="零售退货"){ - $("#ChangeAmount").prop("readonly","readonly"); - } - else { - $("#ChangeAmount").removeProp("readonly","readonly"); - } + $("#ChangeAmount").removeProp("readonly","readonly"); $(".many-account-ico").hide(); //隐藏多账户小图标 } }); @@ -2466,12 +1849,7 @@ function bindEvent(){ $(this).find(".account-id-dlg").val(accountArr[index]); $(this).find(".account-money-dlg").val(accountMoneyArr[index]); }); - if(listSubType==="零售" || listSubType==="零售退货") { - $("#accountMoneyTotalDlg").text($("#getAmount").val()); - } - else { - $("#accountMoneyTotalDlg").text($("#ChangeAmount").val()); - } + $("#accountMoneyTotalDlg").text($("#ChangeAmount").val()); }); //点击采购费用、销售费用的事件 @@ -2593,95 +1971,6 @@ function bindEvent(){ }); $("#otherMoneyTotalDlg").text($("#OtherMoney").val()); }); - - if(listTitle === "采购入库列表" || listTitle === "其它入库列表" || listTitle === "采购订单列表"|| listTitle === "零售出库列表"|| listTitle === "销售出库列表"|| listTitle === "销售订单列表"){ - var supplierType = "供应商"; - if(listTitle === "零售出库列表"){ - supplierType = "会员"; - }else if(listTitle === "销售出库列表" || listTitle === "销售订单列表"){ - supplierType = "客户"; - } - //检查单位名称是否存在 ++ 重名无法提示问题需要跟进 - function checkSupplierName() { - var supplierName = $.trim($("#supplier").val()); - var orgSupplier = ""; - //表示是否存在 true == 存在 false = 不存在 - var flag = false; - //开始ajax名称检验,不能重名 - if(supplierName.length > 0 &&( orgSupplier.length ==0 || supplierName != orgSupplier)) - { - $.ajax({ - type:"get", - url: "/supplier/checkIsNameExist", - dataType: "json", - async : false, - data: ({ - id : 0, - name : supplierName - }), - success: function (res) { - if(res && res.code === 200) { - if(res.data && res.data.status) { - flag = res.data.status; - if (flag) { - $.messager.alert('提示', '单位名称已经存在', 'info'); - return; - } - } - } - }, - //此处添加错误处理 - error:function() { - $.messager.alert('提示','检查单位名称是否存在异常,请稍后再试!','error'); - return; - } - }); - } - return flag; - } - - //保存供应商信息 - $("#saveSupplier").off("click").on("click",function() { - if(validateForm("supplierFM")) { - return; - } - if(checkSupplierName()){ - return; - } - var reg = /^([0-9])+$/; - var phonenum = $.trim($("#phonenum").val()); - if(phonenum.length>0 && !reg.test(phonenum)) - { - $.messager.alert('提示','电话号码只能是数字','info'); - $("#phonenum").val("").focus(); - return; - } - var beginNeedGet = $.trim($("#BeginNeedGet").val()); - var beginNeedPay = $.trim($("#BeginNeedPay").val()); - if(beginNeedGet && beginNeedPay) { - $.messager.alert('提示','期初应收和期初应付不能同时输入','info'); - return; - } - var url = '/supplier/add'; - var supObj = $("#supplierFM").serializeObject(); - supObj.type = supplierType; - supObj.enabled = 1; - $.ajax({ - url: url, - type:"post", - dataType: "json", - data:{ - info: JSON.stringify(supObj) - }, - success: function(res) { - if (res) { - $('#supplierDlg').dialog('close'); - initSupplier(); //刷新供应商 - } - } - }); - }); - } } function showDepotHeadDetails(pageNo,pageSize){ @@ -2798,54 +2087,7 @@ function autoReckon() { return; } else { - if(listTitle!="销售出库列表" && listTitle!="采购退货列表" && listTitle!="其它出库列表" && listTitle!="调拨出库列表") { return; - } - $.ajax({ - url: "/material/findById", - type: "get", - dataType: "json", - data: { - id: mValue - 0 - }, - success: function(res){ - if(res && res.rows && res.rows[0]) { - var retailPrice = res.rows[0].RetailPrice; - var presetPriceOne = res.rows[0].PresetPriceOne; - var presetPriceTwo = res.rows[0].PresetPriceTwo; - //定义模版 - var temp = "
"; - temp +="
    "; - temp +="
  • 批发价:" + presetPriceTwo + "
  • "; - temp +="
  • 零售价:" + retailPrice + "
  • "; - temp +="
"; - temp +="
"; - if($('.price-list').length){ - $('.price-list').remove(); //如果存在价格列表先移除 - } - else { - if(presetPriceTwo != undefined){ //多单位的商品 - $(self).after(temp); //加载列表信息 - } - } - $('.price-list ul li').off("click").on("click",function(){ - var price = $(this).text(); - price = price.substring(price.indexOf(":") + 1); - $(self).val(price); - $(self).keyup(); //模拟键盘操作 - $('.price-list').remove(); //移除价格列表 - }); - //点击空白处移除价格列表 - $(".datagrid-body").off("click").on("click",function(){ - $('.price-list').remove(); //移除价格列表 - }); - } - }, - error: function(){ - $.messager.alert('错误提示','查询商品信息异常,请稍后再试!','error'); - return; - } - }); } }); //修改含税单价,自动计算单价、金额、税额、价税合计和合计 @@ -2922,9 +2164,6 @@ function autoReckon() { if(rowListLength > 0){ mTypeValue = "普通子件"; } - if(listSubType == "组装单" || listSubType == "拆卸单"){ - mType.find(input).val(mTypeValue).prop("readonly","readonly"); - } },500); } From 2b1095fb557950da833487aa03fb92e16f678a7f Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Thu, 9 May 2019 15:05:07 +0800 Subject: [PATCH 049/117] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=87=87=E8=B4=AD?= =?UTF-8?q?=E9=80=80=E8=B4=A7=E5=88=97=E8=A1=A8=EF=BC=8C=E5=8E=BB=E6=8E=89?= =?UTF-8?q?=E5=A4=9A=E4=BD=99js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../js/pages/materials/purchase_back_list.js | 804 +----------------- 1 file changed, 40 insertions(+), 764 deletions(-) diff --git a/erp_web/js/pages/materials/purchase_back_list.js b/erp_web/js/pages/materials/purchase_back_list.js index 662d9507..89dacdac 100644 --- a/erp_web/js/pages/materials/purchase_back_list.js +++ b/erp_web/js/pages/materials/purchase_back_list.js @@ -18,13 +18,6 @@ var depotHeadID = 0; var preTotalPrice = 0; //前一次加载的金额 var orgDepotHead = ""; var editIndex = undefined; -var listTitle = ""; //单据标题 -var listType = ""; //入库 出库 -var listSubType = ""; //采购 销售等 -var payTypeTitle = "";//付款 收款 -var organUrl = ""; //组织数据接口地址 -var amountNum = ""; //单据编号开头字符 -var depotString = ""; //店铺id列表 /**默认编号有意义吗,不如空着吧*/ var orgDefaultId=''; //单位默认编号 var orgDefaultList; //存储查询出来的会员列表 @@ -37,9 +30,18 @@ var otherColumns = true; //明细中的‘别名’列是否显示 var btnEnableList = getBtnStr(); //获取按钮的权限 var mPropertyList = ""; //商品属性列表 var defaultAccountId = 0; //默认账户id +//改变宽度和高度 +$("#searchPanel").panel({width:webW-2}); +$("#tablePanel").panel({width:webW-2}); +var listTitle = "采购退货列表"; //单据标题 +var depotString = "|"; //店铺id列表 +var listType ="出库";//入库 出库 +var listSubType = "采购退货"; //采购 销售等 +var payTypeTitle = "收款"; //付款 收款 +var organUrl = "/supplier/findBySelect_sup"; //组织数据接口地址 +var amountNum ="CGTH";//单据编号开头字符 $(function(){ //初始化系统基础信息 - getType(); initSystemData_UB(); initSelectInfo_UB(); initSystemData_depot(); @@ -57,108 +59,6 @@ $(function(){ initForm(); bindEvent();//绑定操作事件 }); -//根据单据名称获取类型 -function getType(){ - listTitle = $("#tablePanel").prev().text(); - depotString = "|"; - //改变宽度和高度 - $("#searchPanel").panel({width:webW-2}); - $("#tablePanel").panel({width:webW-2}); - var supUrl = "/supplier/findBySelect_sup"; //供应商接口 - var cusUrl = "/supplier/findBySelect_cus?UBType=UserCustomer&UBKeyId=" + kid; //客户接口 - var retailUrl = "/supplier/findBySelect_retail"; //散户接口 - if(listTitle === "采购订单列表"){ - listType = "其它"; - listSubType = "采购订单"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "CGDD"; - } - else if(listTitle === "采购入库列表"){ - listType = "入库"; - listSubType = "采购"; - payTypeTitle = "付款"; - organUrl = supUrl; - amountNum = "CGRK"; - } - else if(listTitle === "零售退货列表"){ - listType = "入库"; - listSubType = "零售退货"; //注:用预付款购买的产品不能退货 - payTypeTitle = "付款"; - organUrl = retailUrl; - amountNum = "LSTH"; - } - else if(listTitle === "销售退货列表"){ - listType = "入库"; - listSubType = "销售退货"; - payTypeTitle = "付款"; - organUrl = cusUrl; - amountNum = "XSTH"; - } - else if(listTitle === "其它入库列表"){ - listType = "入库"; - listSubType = "其它"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "QTRK"; - } - else if(listTitle === "零售出库列表"){ - listType = "出库"; - listSubType = "零售"; - payTypeTitle = "收款"; - organUrl = retailUrl; - amountNum = "LSCK"; - } - else if(listTitle === "销售订单列表"){ - listType = "其它"; - listSubType = "销售订单"; - payTypeTitle = "隐藏"; - organUrl = cusUrl; - amountNum = "XSDD"; - } - else if(listTitle === "销售出库列表"){ - listType = "出库"; - listSubType = "销售"; - payTypeTitle = "收款"; - organUrl = cusUrl; - amountNum = "XSCK"; - } - else if(listTitle === "采购退货列表"){ - listType = "出库"; - listSubType = "采购退货"; - payTypeTitle = "收款"; - organUrl = supUrl; - amountNum = "CGTH"; - } - else if(listTitle === "其它出库列表"){ - listType = "出库"; - listSubType = "其它"; - payTypeTitle = "隐藏"; - organUrl = cusUrl; - amountNum = "QTCK"; - } - else if(listTitle === "调拨出库列表"){ - listType = "出库"; - listSubType = "调拨"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "DBCK"; - } - else if(listTitle === "组装单列表"){ - listType = "其它"; - listSubType = "组装单"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "ZZD"; - } - else if(listTitle === "拆卸单列表"){ - listType = "其它"; - listSubType = "拆卸单"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "CXD"; - } -} //初始化系统基础信息 function initSystemData_UB(){ $.ajax({ @@ -264,23 +164,8 @@ function initSupplier(){ orgDefaultId = data[i].id; } } - if(listSubType === "零售"){ - orgDefaultList = res; - } }, onSelect: function(rec){ - if(listSubType === "零售"){ - var option = ""; - if(rec.supplier !== "非会员" && rec.advanceIn >0){ - option = ''; - option += ''; - } - else { - option += ''; - } - $("#payType").empty().append(option); - } - else{ $.ajax({ type:"get", url: "/supplier/findById", @@ -299,7 +184,6 @@ function initSupplier(){ } }); - } } }); } @@ -458,9 +342,6 @@ function initTableData(){ } var hideType = undefined; var isHiddenStatus = true; - if(payTypeTitle === "隐藏"){ - hideType = true; //隐藏当前列 - } var tableToolBar = [ { id:'addDepotHead', @@ -505,37 +386,10 @@ function initTableData(){ isHiddenStatus = true; //隐藏 } var isShowLastMoneyColumn = false; //是否显示优惠后金额和价税合计,true为隐藏,false为显示 - if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowLastMoneyColumn = true; //隐藏 - } var isShowOrganNameColumn = false; //是否显示供应商、客户等信息,true为隐藏,false为显示 - var organNameTitle = ""; //组织名称标题 - if(listSubType == "调拨" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowOrganNameColumn = true; //隐藏 - } - else { - if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "采购退货列表" || listTitle == "其它入库列表"){ - organNameTitle = "供应商名称"; - } - else if(listTitle == "销售订单列表" || listTitle == "销售退货列表" || listTitle == "销售出库列表" || listTitle == "其它出库列表"){ - organNameTitle = "客户名称"; - } - else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ - organNameTitle = "会员卡号"; - } - } + var organNameTitle = "供应商名称"; //组织名称标题 var opWidth = 90; //操作宽度 - var isShowSkip = false; //是否显示跳转按钮 var opTitle = ""; //跳转按钮的标题 - if(listTitle == "采购订单列表") { - opWidth = 120; - isShowSkip = true; - opTitle = "转采购入库"; - } else if(listTitle == "销售订单列表") { - opWidth = 120; - isShowSkip = true; - opTitle = "转销售出库"; - } $('#tableData').datagrid({ height:heightInfo, rownumbers: false, @@ -555,25 +409,10 @@ function initTableData(){ { title: '操作',field: 'op',align:"center",width:opWidth, formatter:function(value, rec,index) { var str = ''; - // var rowInfo = rec.id + 'AaBb' + rec.projectid+ 'AaBb' + rec.number+ 'AaBb' + rec.operpersonname - // + 'AaBb' + rec.opertimeStr+ 'AaBb' + rec.organid+ 'AaBb' + rec.handspersonid - // + 'AaBb' + rec.accountid+ 'AaBb' + rec.changeamount+ 'AaBb' + rec.remark - // + 'AaBb' + rec.projectName+ 'AaBb' + rec.organName+ 'AaBb' + rec.handsPersonName - // + 'AaBb' + rec.accountName + 'AaBb' + rec.totalprice + 'AaBb' + rec.allocationprojectid - // + 'AaBb' + rec.allocationProjectName + 'AaBb' + rec.paytype + 'AaBb' + rec.salesman - // + 'AaBb' + rec.discount + 'AaBb' + rec.discountmoney + 'AaBb' + rec.discountlastmoney - // + 'AaBb' + rec.accountidlist + 'AaBb' + rec.accountmoneylist - // + 'AaBb' + rec.othermoney + 'AaBb' + rec.othermoneylist + 'AaBb' + rec.othermoneyitem - // + 'AaBb' + rec.accountday + 'AaBb' + rec.linknumber; - // rowInfo = rowInfo.replace(/\"/g, ""); - // rowInfo = rowInfo.replace(/\[|]/g,""); var orgId = rec.organid? rec.organid:0; str += '   '; str += '   '; str += ''; - if(isShowSkip) { - str += '   '; - } return str; } }, @@ -607,11 +446,6 @@ function initTableData(){ } else if(value === "1") { return "已审核"; } else if(value === "2") { - if(listTitle == "采购订单列表") { - return "已转采购"; - } else if(listTitle == "销售订单列表") { - return "已转销售"; - } } } } @@ -650,23 +484,12 @@ function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ var basicUnit = unitArr[0]; //基础单位 var otherUnit = unitArr[1]; //副单位 var unitSetInput =""; //单位 - if(listSubType === "采购订单" || listSubType === "采购" || listSubType === "采购退货"){ - unitSetInput = rec.data[0].firstinunit; - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = thisRatio; - } + unitSetInput = rec.data[0].firstinunit; + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; } - else if(listSubType === "销售订单" || listSubType === "销售" || listSubType === "销售退货" || listSubType === "零售" || listSubType === "零售退货"){ - unitSetInput = rec.data[0].firstoutunit; - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = thisRatio; - } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = thisRatio; } } //查询库存 @@ -746,10 +569,6 @@ function statisticsFun(body,UnitPrice,OperNumber,footer,taxRate){ var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 - if(listSubType == "零售" || listSubType == "零售退货") { - $("#ChangeAmount, #getAmount").val((TotalPrice).toFixed(2)); - $("#backAmount").val(0); - } } //初始化表格数据-商品列表-编辑状态 function initTableData_material(type,TotalPrice){ @@ -764,23 +583,11 @@ function initTableData_material(type,TotalPrice){ var anotherDepotHeadName = ""; //对方仓库的列的标题 var anotherDepotUrl = ""; //对方仓库接口地址 var anotherDepotTextField = ""; - if(listSubType == "调拨"){ - isShowAnotherDepot = false; //调拨时候显示对方仓库 - anotherDepotHeadName = "调入仓库"; - anotherDepotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; - anotherDepotTextField = "depotName"; - } depotHeadName = "仓库名称"; depotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; depotTextField = "depotName"; var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 - if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowTaxColumn = true; //隐藏 - } var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 - if(listSubType == "组装单" || listSubType == "拆卸单"){ - isShowMaterialTypeColumn = false; //显示 - } $('#materialData').datagrid({ height:245, rownumbers: false, @@ -905,23 +712,12 @@ function initTableData_material(type,TotalPrice){ var unitSetInput =""; //单位 body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 var loadRatio = 1; //在单位输入框上面加载比例字段 - if(listSubType === "采购" || listSubType === "采购退货" || listSubType === "采购订单"){ - unitSetInput = res.data[0].firstinunit; //给单位文本框赋值 - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = ratio; - } + unitSetInput = res.data[0].firstinunit; //给单位文本框赋值 + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; } - else if(listSubType === "销售" || listSubType === "销售退货" || listSubType === "销售订单" || listSubType === "零售" || listSubType === "零售退货"){ - unitSetInput = res.data[0].firstoutunit; //给单位文本框赋值 - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = ratio; - } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = ratio; } body.find("[field='Unit']").find(input).val(unitSetInput).attr("data-ratio", loadRatio); //设置-首选单位 @@ -952,27 +748,11 @@ function initTableData_material(type,TotalPrice){ var type = $(this).attr("data-type"); var UnitPrice = 0; if(type === "basic"){ - if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { - UnitPrice = basicPresetPriceOne; - } - else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { - UnitPrice = basicPresetPriceTwo; - } - else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ - UnitPrice = retailPriceOne; - } + UnitPrice = basicPresetPriceTwo; body.find("[field='Stock']").find(input).val(stock); //修改库存 } else if(type === "other"){ - if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { - UnitPrice = otherPresetPriceOne; - } - else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { - UnitPrice = otherPresetPriceTwo; - } - else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ - UnitPrice = retailPriceTwo; - } + UnitPrice = otherPresetPriceTwo; body.find("[field='Stock']").find(input).val((stock/ratio).toFixed(2)); //修改库存 } body.find("[field='UnitPrice']").find(input).val(UnitPrice); //单价 @@ -992,43 +772,15 @@ function initTableData_material(type,TotalPrice){ }); } var detailPrice = 0; //明细列表-单价 - if(listSubType == "零售" || listSubType == "零售退货") { - if(res.data[0].unit) { //如果存在计量单位信息 - detailPrice = retailPrice; - } - else { - if (firstOutUnit == basicUnit) { - detailPrice = retailPriceOne; - } - else if (firstOutUnit == otherUnit) { - detailPrice = retailPriceTwo; - } - } + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = presetPriceOne; } - else if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { - if(res.data[0].unit) { //如果存在计量单位信息 - detailPrice = presetPriceOne; + else { + if (firstInUnit == basicUnit) { + detailPrice = basicPresetPriceOne; } - else { - if (firstInUnit == basicUnit) { - detailPrice = basicPresetPriceOne; - } - else if (firstInUnit == otherUnit) { - detailPrice = otherPresetPriceOne; - } - } - } - else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { - if(res.data[0].unit) { //如果存在计量单位信息 - detailPrice = presetPriceTwo; - } - else { - if(firstOutUnit==basicUnit) { - detailPrice = basicPresetPriceTwo; - } - else if(firstOutUnit==otherUnit){ - detailPrice = otherPresetPriceTwo; - } + else if (firstInUnit == otherUnit) { + detailPrice = otherPresetPriceOne; } } body.find("[field='OperNumber']").find(input).val(1); //数量初始化为1 @@ -1175,19 +927,9 @@ function initTableData_material_show(TotalPrice){ var isShowAnotherDepot = true; //显示对方仓库,true为隐藏,false为显示 var anotherDepotHeadName = ""; //对方仓库的列的标题 var depotHeadName = ""; //仓库的列的标题 - if(listSubType == "调拨"){ - isShowAnotherDepot = false; //调拨时候显示对方仓库 - anotherDepotHeadName = "调入仓库"; - } depotHeadName = "仓库名称"; var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 - if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowTaxColumn = true; //隐藏 - } var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 - if(listSubType == "组装单" || listSubType == "拆卸单"){ - isShowMaterialTypeColumn = false; //显示 - } $('#materialDataShow').datagrid({ height:245, rownumbers: true, @@ -1311,28 +1053,6 @@ function deleteDepotHead(depotHeadID, thisOrganId, totalPrice, status){ return; } }); - - //更新会员的预收款信息 - if(listSubType === "零售") { - $.ajax({ - type:"post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data:{ - supplierId: thisOrganId, //会员id - advanceIn: totalPrice //删除时同时返还用户的预付款 - }, - success: function(res){ - if(res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function(){ - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); - } } }); } @@ -1345,11 +1065,6 @@ function skipDepotHead(index, status){ $.messager.alert('提示','未审核和已转的单据禁止操作!','warning'); } else { sessionStorage.setItem("rowInfo", JSON.stringify(rowsdata)); //将单据信息存入缓存中 - if(listTitle == "采购订单列表") { - parent.addTab("订单转采购", "../materials/purchase_in_list.html?t=skip", ""); - } else if(listTitle == "销售订单列表") { - parent.addTab("订单转销售", "../materials/sale_out_list.html?t=skip", ""); - } } } @@ -1377,29 +1092,6 @@ function batDeleteDepotHead(){ ids += row[i].id + ","; } if (ids) { - //批量更新会员的预收款信息 - for (var i = 0; i < row.length; i++) { - if (listSubType === "零售") { - $.ajax({ - type: "post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data: { - supplierId: row[i].organid, //会员id - advanceIn: row[i].totalprice //删除时同时返还用户的预付款 - }, - success: function (res) { - if (res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function () { - $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); - return; - } - }); - } - } //批量删除 $.ajax({ type: "post", @@ -1600,49 +1292,6 @@ function addDepotHead(){ $('#supplierFM').form('clear'); }); url = '/depotHead/addDepotHeadAndDetail'; - - //零售单据修改收款时,自动计算找零 - if(listSubType == "零售" || listSubType == "零售退货") { - $("#payType").val("现付"); - $("#OrganId").combobox("setValue", orgDefaultId); //自动默认选择非会员 - // 鼠标点下时清空选择项 - $("#OrganId").next().find("input").off("mousedown").on("mousedown",function(){ - $("#OrganId").combobox("setValue", ""); - }); - //当会员卡号长度超过10位后,自动点击下拉框,用于兼容刷卡器 - $("#OrganId").next().find("input").off("keyup").on("keyup",function(){ - var self = this; - if($(this).val().length === 10){ - setTimeout(function(){ - $(".combo-panel .combobox-item-selected").click(); - //更新付款类型,加载会员的预付款的金额 - for(var i=0; i0){ - option = ''; - option += ''; - } - else { - option += ''; - } - $("#payType").empty().append(option); - } - } - },1000); - } - }); - var getAmount = $("#depotHeadFM .get-amount"); - var changeAmount = $("#depotHeadFM .change-amount"); - var backAmount = $("#depotHeadFM .back-amount"); - getAmount.val(0); changeAmount.val(0); backAmount.val(0); //时间初始化 - getAmount.off("keyup").on("keyup",function() { - if(changeAmount.val()){ - backAmount.val((getAmount.val()-changeAmount.val()).toFixed(2)); - } - }); - } } //编辑信息 @@ -1698,31 +1347,6 @@ function editDepotHead(index, status){ $(".window-mask").css({ width: webW ,height: webH}); depotHeadID = rowsdata.id; - if(listSubType == "零售"){ - var option = ""; - if(rowsdata.paytype == "预付款"){ - option = ''; - option += ''; - } - else { - option += ''; - } - $("#payType").empty().append(option); - } - - if(listSubType == "销售" || listSubType == "销售退货"){ - if(rowsdata.salesman){ - var arr = rowsdata.salesman.split(","); - var salesmanArray = []; - for(var i=0;i","")); - } - } - $("#Salesman").combobox('setValues', salesmanArray); - } - } - //采购入库、销售出库的多账户加载 if(rowsdata.accountidlist!=undefined && rowsdata.accountmoneylist!=undefined){ $("#AccountId").val("many"); //下拉框选中多账户 @@ -1840,52 +1464,6 @@ function showDepotHead(index){ depotHeadID = rowsdata.id; initTableData_material_show(TotalPrice); //商品列表-查看状态 - - //零售单据展示数据 - if(listSubType == "零售" || listSubType == "零售退货"){ - var changeAccount = $("#depotHeadDlgShow .change-amount-show").text() -0; - if(manyAccountMoney!==0){ - $("#depotHeadDlgShow .get-amount-show").text((manyAccountMoney).toFixed(2)); - $("#depotHeadDlgShow .back-amount-show").text((manyAccountMoney -changeAccount).toFixed(2)); - } - else { - $("#depotHeadDlgShow .get-amount-show").text((changeAccount).toFixed(2)); - $("#depotHeadDlgShow .back-amount-show").text(0); - } - } - if(listSubType === "销售" || listSubType === "销售退货"){ - if(rowsdata.salesman){ - var arr = rowsdata.salesman.split(","); - var salesmanStr = ""; - for(var i=0;i",""); - } - else { - salesmanStr += arr[i].replace("<","").replace(">","") + ","; - } - } - } - $.ajax({ - type: "get", - url: "/person/getPersonByIds", - data: { - personIDs: salesmanStr - }, - success:function(res){ - if(res && res.code === 200){ - if(res.data) { - $("#SalesmanShow").text(res.data.names); //销售人员列表 - } - } - }, - error:function(){ - - } - }); - } - } } //绑定操作事件 @@ -1978,98 +1556,13 @@ function bindEvent(){ return; } } - //输入框提示 - if(listTitle === "采购订单列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择供应商!','warning'); - return; - } + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择收货单位!','warning'); + return; } - else if(listTitle === "采购入库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择供应商!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择结算账户!','warning'); - return; - } - } - else if(listTitle === "零售退货列表"){ - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择付款账户!','warning'); - return; - } - if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { - $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); - return; - } - } - else if(listTitle === "销售退货列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择退货单位!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择付款账户!','warning'); - return; - } - } - else if(listTitle === "其它入库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择往来单位!','warning'); - return; - } - } - else if(listTitle === "零售出库列表"){ - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择收款账户!','warning'); - return; - } - if($("#backAmount").val()-0 <0){ - $.messager.alert('提示','找零金额不能小于0!','warning'); - return; - } - if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { - $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); - return; - } - - } - else if(listTitle === "销售订单列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择购买单位!','warning'); - return; - } - } - else if(listTitle === "销售出库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择购买单位!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择收款账户!','warning'); - return; - } - } - else if(listTitle === "采购退货列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择收货单位!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择收款账户!','warning'); - return; - } - } - else if(listTitle === "其它出库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择往来单位!','warning'); - return; - } - } - else if(listTitle === "调拨出库列表"){ - + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择收款账户!','warning'); + return; } //进行明细的校验 if(depotHeadID ==0) { @@ -2098,36 +1591,9 @@ function bindEvent(){ accountMoneyList = accountMoneyList.replace(reg,""); //替换所有的双引号 accountMoneyArr = accountMoneyList.split(","); //转为数组 } - if(listSubType === "采购订单"||listSubType === "采购"||listSubType === "零售退货"||listSubType === "销售退货"){ - //付款为负数 - ChangeAmount = 0 - ChangeAmount; - TotalPrice = 0 - TotalPrice; - if(accountMoneyArr) { - accountMoneyArr = changeListFmtMinus(accountMoneyArr); //将数组单个金额中的数值转为负数 - } - } //零售时候,可以从会员预付款中扣款 var thisPayType = "现付"; - if(listSubType === "零售") { - if($("#payType").val() ==="预付款") { - thisPayType = "预付款"; - } - } var SalesmanStr = ""; - if(listSubType === "销售" || listSubType === "销售退货"){ - var Salesman = $('#Salesman').combobox('getValues').toString(); //销售人员 - if(Salesman) { - var SalesmanArray = Salesman.split(","); - for (var i = 0; i < SalesmanArray.length; i++) { - if (i === SalesmanArray.length - 1) { - SalesmanStr += "<" + SalesmanArray[i] + ">"; - } - else { - SalesmanStr += "<" + SalesmanArray[i] + ">,"; - } - } - } - } var getAccountID = $.trim($("#AccountId").val()); if($("#AccountId").val() === "many"){ //多账户 getAccountID = null; @@ -2187,35 +1653,6 @@ function bindEvent(){ showDepotHeadDetails(opts.pageNumber,opts.pageSize); } - if(thisPayType === "预付款") { - //更新用户信息-预付款 - var advanceIn = 0; //预付款金额 - if(depotHeadID){ - advanceIn = TotalPrice - preTotalPrice; //修改时,预付款=合计金额-加载金额 - } - else{ - advanceIn = TotalPrice; //新增时,预付款=合计金额 - } - $.ajax({ - type:"post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data:{ - supplierId: OrganId, //会员id - advanceIn: 0 - advanceIn //保存的同时扣掉用户的预付款 - }, - success: function(res){ - if(res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function(){ - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); - } - //保存明细记录 if(depotHeadID ==0) { @@ -2394,14 +1831,7 @@ function bindEvent(){ if(accountArr.length && accountMoneyArr.length) { $("#AccountId").attr("data-accountArr",JSON.stringify(accountArr)).attr("data-accountMoneyArr",JSON.stringify(accountMoneyArr)); //json数据存储 } - if(listSubType==="零售" || listSubType==="零售退货") { - $("#getAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 - var backAmount = $("#getAmount").val() - $("#ChangeAmount").val(); - $("#backAmount").val((backAmount - 0).toFixed(2)); //计算找零金额 - } - else { - $("#ChangeAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 - } + $("#ChangeAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 $("#Debt").val((discountLastMoneyNum-accountMoneyTotal).toFixed(2)); //本次欠款 $("#depotHeadAccountDlg").dialog('close'); }); @@ -2414,12 +1844,7 @@ function bindEvent(){ else { $("#depotHeadAccountDlg").dialog('close'); $("#AccountId").val("").removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 - if(listSubType==="零售" || listSubType==="零售退货"){ - $("#ChangeAmount").prop("readonly","readonly"); - } - else { - $("#ChangeAmount").removeProp("readonly","readonly"); - } + $("#ChangeAmount").removeProp("readonly","readonly"); $(".many-account-ico").hide(); //隐藏多账户小图标 } } @@ -2443,12 +1868,7 @@ function bindEvent(){ } else{ $(this).removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 - if(listSubType==="零售" || listSubType==="零售退货"){ - $("#ChangeAmount").prop("readonly","readonly"); - } - else { - $("#ChangeAmount").removeProp("readonly","readonly"); - } + $("#ChangeAmount").removeProp("readonly","readonly"); $(".many-account-ico").hide(); //隐藏多账户小图标 } }); @@ -2466,12 +1886,7 @@ function bindEvent(){ $(this).find(".account-id-dlg").val(accountArr[index]); $(this).find(".account-money-dlg").val(accountMoneyArr[index]); }); - if(listSubType==="零售" || listSubType==="零售退货") { - $("#accountMoneyTotalDlg").text($("#getAmount").val()); - } - else { - $("#accountMoneyTotalDlg").text($("#ChangeAmount").val()); - } + $("#accountMoneyTotalDlg").text($("#ChangeAmount").val()); }); //点击采购费用、销售费用的事件 @@ -2593,95 +2008,6 @@ function bindEvent(){ }); $("#otherMoneyTotalDlg").text($("#OtherMoney").val()); }); - - if(listTitle === "采购入库列表" || listTitle === "其它入库列表" || listTitle === "采购订单列表"|| listTitle === "零售出库列表"|| listTitle === "销售出库列表"|| listTitle === "销售订单列表"){ - var supplierType = "供应商"; - if(listTitle === "零售出库列表"){ - supplierType = "会员"; - }else if(listTitle === "销售出库列表" || listTitle === "销售订单列表"){ - supplierType = "客户"; - } - //检查单位名称是否存在 ++ 重名无法提示问题需要跟进 - function checkSupplierName() { - var supplierName = $.trim($("#supplier").val()); - var orgSupplier = ""; - //表示是否存在 true == 存在 false = 不存在 - var flag = false; - //开始ajax名称检验,不能重名 - if(supplierName.length > 0 &&( orgSupplier.length ==0 || supplierName != orgSupplier)) - { - $.ajax({ - type:"get", - url: "/supplier/checkIsNameExist", - dataType: "json", - async : false, - data: ({ - id : 0, - name : supplierName - }), - success: function (res) { - if(res && res.code === 200) { - if(res.data && res.data.status) { - flag = res.data.status; - if (flag) { - $.messager.alert('提示', '单位名称已经存在', 'info'); - return; - } - } - } - }, - //此处添加错误处理 - error:function() { - $.messager.alert('提示','检查单位名称是否存在异常,请稍后再试!','error'); - return; - } - }); - } - return flag; - } - - //保存供应商信息 - $("#saveSupplier").off("click").on("click",function() { - if(validateForm("supplierFM")) { - return; - } - if(checkSupplierName()){ - return; - } - var reg = /^([0-9])+$/; - var phonenum = $.trim($("#phonenum").val()); - if(phonenum.length>0 && !reg.test(phonenum)) - { - $.messager.alert('提示','电话号码只能是数字','info'); - $("#phonenum").val("").focus(); - return; - } - var beginNeedGet = $.trim($("#BeginNeedGet").val()); - var beginNeedPay = $.trim($("#BeginNeedPay").val()); - if(beginNeedGet && beginNeedPay) { - $.messager.alert('提示','期初应收和期初应付不能同时输入','info'); - return; - } - var url = '/supplier/add'; - var supObj = $("#supplierFM").serializeObject(); - supObj.type = supplierType; - supObj.enabled = 1; - $.ajax({ - url: url, - type:"post", - dataType: "json", - data:{ - info: JSON.stringify(supObj) - }, - success: function(res) { - if (res) { - $('#supplierDlg').dialog('close'); - initSupplier(); //刷新供应商 - } - } - }); - }); - } } function showDepotHeadDetails(pageNo,pageSize){ @@ -2798,54 +2124,7 @@ function autoReckon() { return; } else { - if(listTitle!="销售出库列表" && listTitle!="采购退货列表" && listTitle!="其它出库列表" && listTitle!="调拨出库列表") { return; - } - $.ajax({ - url: "/material/findById", - type: "get", - dataType: "json", - data: { - id: mValue - 0 - }, - success: function(res){ - if(res && res.rows && res.rows[0]) { - var retailPrice = res.rows[0].RetailPrice; - var presetPriceOne = res.rows[0].PresetPriceOne; - var presetPriceTwo = res.rows[0].PresetPriceTwo; - //定义模版 - var temp = "
"; - temp +="
    "; - temp +="
  • 批发价:" + presetPriceTwo + "
  • "; - temp +="
  • 零售价:" + retailPrice + "
  • "; - temp +="
"; - temp +="
"; - if($('.price-list').length){ - $('.price-list').remove(); //如果存在价格列表先移除 - } - else { - if(presetPriceTwo != undefined){ //多单位的商品 - $(self).after(temp); //加载列表信息 - } - } - $('.price-list ul li').off("click").on("click",function(){ - var price = $(this).text(); - price = price.substring(price.indexOf(":") + 1); - $(self).val(price); - $(self).keyup(); //模拟键盘操作 - $('.price-list').remove(); //移除价格列表 - }); - //点击空白处移除价格列表 - $(".datagrid-body").off("click").on("click",function(){ - $('.price-list').remove(); //移除价格列表 - }); - } - }, - error: function(){ - $.messager.alert('错误提示','查询商品信息异常,请稍后再试!','error'); - return; - } - }); } }); //修改含税单价,自动计算单价、金额、税额、价税合计和合计 @@ -2922,9 +2201,6 @@ function autoReckon() { if(rowListLength > 0){ mTypeValue = "普通子件"; } - if(listSubType == "组装单" || listSubType == "拆卸单"){ - mType.find(input).val(mTypeValue).prop("readonly","readonly"); - } },500); } From 2b511c7d58ce114e1164a24c61918dfac1747879 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Thu, 9 May 2019 15:33:50 +0800 Subject: [PATCH 050/117] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=87=87=E8=B4=AD?= =?UTF-8?q?=E5=85=A5=E5=BA=93=E5=88=97=E8=A1=A8=EF=BC=8C=E5=8E=BB=E6=8E=89?= =?UTF-8?q?=E5=A4=9A=E4=BD=99js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../js/pages/materials/purchase_in_list.js | 693 ++---------------- 1 file changed, 45 insertions(+), 648 deletions(-) diff --git a/erp_web/js/pages/materials/purchase_in_list.js b/erp_web/js/pages/materials/purchase_in_list.js index 662d9507..069b7267 100644 --- a/erp_web/js/pages/materials/purchase_in_list.js +++ b/erp_web/js/pages/materials/purchase_in_list.js @@ -18,13 +18,6 @@ var depotHeadID = 0; var preTotalPrice = 0; //前一次加载的金额 var orgDepotHead = ""; var editIndex = undefined; -var listTitle = ""; //单据标题 -var listType = ""; //入库 出库 -var listSubType = ""; //采购 销售等 -var payTypeTitle = "";//付款 收款 -var organUrl = ""; //组织数据接口地址 -var amountNum = ""; //单据编号开头字符 -var depotString = ""; //店铺id列表 /**默认编号有意义吗,不如空着吧*/ var orgDefaultId=''; //单位默认编号 var orgDefaultList; //存储查询出来的会员列表 @@ -37,9 +30,18 @@ var otherColumns = true; //明细中的‘别名’列是否显示 var btnEnableList = getBtnStr(); //获取按钮的权限 var mPropertyList = ""; //商品属性列表 var defaultAccountId = 0; //默认账户id +//改变宽度和高度 +$("#searchPanel").panel({width:webW-2}); +$("#tablePanel").panel({width:webW-2}); +var listTitle = "采购入库列表"; //单据标题 +var depotString = "|"; //店铺id列表 +var listType ="入库";//入库 出库 +var listSubType = "采购"; //采购 销售等 +var payTypeTitle = "付款"; //付款 收款 +var organUrl = "/supplier/findBySelect_sup"; //组织数据接口地址 +var amountNum ="CGRK";//单据编号开头字符 $(function(){ //初始化系统基础信息 - getType(); initSystemData_UB(); initSelectInfo_UB(); initSystemData_depot(); @@ -57,108 +59,6 @@ $(function(){ initForm(); bindEvent();//绑定操作事件 }); -//根据单据名称获取类型 -function getType(){ - listTitle = $("#tablePanel").prev().text(); - depotString = "|"; - //改变宽度和高度 - $("#searchPanel").panel({width:webW-2}); - $("#tablePanel").panel({width:webW-2}); - var supUrl = "/supplier/findBySelect_sup"; //供应商接口 - var cusUrl = "/supplier/findBySelect_cus?UBType=UserCustomer&UBKeyId=" + kid; //客户接口 - var retailUrl = "/supplier/findBySelect_retail"; //散户接口 - if(listTitle === "采购订单列表"){ - listType = "其它"; - listSubType = "采购订单"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "CGDD"; - } - else if(listTitle === "采购入库列表"){ - listType = "入库"; - listSubType = "采购"; - payTypeTitle = "付款"; - organUrl = supUrl; - amountNum = "CGRK"; - } - else if(listTitle === "零售退货列表"){ - listType = "入库"; - listSubType = "零售退货"; //注:用预付款购买的产品不能退货 - payTypeTitle = "付款"; - organUrl = retailUrl; - amountNum = "LSTH"; - } - else if(listTitle === "销售退货列表"){ - listType = "入库"; - listSubType = "销售退货"; - payTypeTitle = "付款"; - organUrl = cusUrl; - amountNum = "XSTH"; - } - else if(listTitle === "其它入库列表"){ - listType = "入库"; - listSubType = "其它"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "QTRK"; - } - else if(listTitle === "零售出库列表"){ - listType = "出库"; - listSubType = "零售"; - payTypeTitle = "收款"; - organUrl = retailUrl; - amountNum = "LSCK"; - } - else if(listTitle === "销售订单列表"){ - listType = "其它"; - listSubType = "销售订单"; - payTypeTitle = "隐藏"; - organUrl = cusUrl; - amountNum = "XSDD"; - } - else if(listTitle === "销售出库列表"){ - listType = "出库"; - listSubType = "销售"; - payTypeTitle = "收款"; - organUrl = cusUrl; - amountNum = "XSCK"; - } - else if(listTitle === "采购退货列表"){ - listType = "出库"; - listSubType = "采购退货"; - payTypeTitle = "收款"; - organUrl = supUrl; - amountNum = "CGTH"; - } - else if(listTitle === "其它出库列表"){ - listType = "出库"; - listSubType = "其它"; - payTypeTitle = "隐藏"; - organUrl = cusUrl; - amountNum = "QTCK"; - } - else if(listTitle === "调拨出库列表"){ - listType = "出库"; - listSubType = "调拨"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "DBCK"; - } - else if(listTitle === "组装单列表"){ - listType = "其它"; - listSubType = "组装单"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "ZZD"; - } - else if(listTitle === "拆卸单列表"){ - listType = "其它"; - listSubType = "拆卸单"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "CXD"; - } -} //初始化系统基础信息 function initSystemData_UB(){ $.ajax({ @@ -264,23 +164,8 @@ function initSupplier(){ orgDefaultId = data[i].id; } } - if(listSubType === "零售"){ - orgDefaultList = res; - } }, onSelect: function(rec){ - if(listSubType === "零售"){ - var option = ""; - if(rec.supplier !== "非会员" && rec.advanceIn >0){ - option = ''; - option += ''; - } - else { - option += ''; - } - $("#payType").empty().append(option); - } - else{ $.ajax({ type:"get", url: "/supplier/findById", @@ -299,7 +184,6 @@ function initSupplier(){ } }); - } } }); } @@ -505,37 +389,10 @@ function initTableData(){ isHiddenStatus = true; //隐藏 } var isShowLastMoneyColumn = false; //是否显示优惠后金额和价税合计,true为隐藏,false为显示 - if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowLastMoneyColumn = true; //隐藏 - } var isShowOrganNameColumn = false; //是否显示供应商、客户等信息,true为隐藏,false为显示 - var organNameTitle = ""; //组织名称标题 - if(listSubType == "调拨" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowOrganNameColumn = true; //隐藏 - } - else { - if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "采购退货列表" || listTitle == "其它入库列表"){ - organNameTitle = "供应商名称"; - } - else if(listTitle == "销售订单列表" || listTitle == "销售退货列表" || listTitle == "销售出库列表" || listTitle == "其它出库列表"){ - organNameTitle = "客户名称"; - } - else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ - organNameTitle = "会员卡号"; - } - } + var organNameTitle = "供应商名称"; //组织名称标题 var opWidth = 90; //操作宽度 - var isShowSkip = false; //是否显示跳转按钮 var opTitle = ""; //跳转按钮的标题 - if(listTitle == "采购订单列表") { - opWidth = 120; - isShowSkip = true; - opTitle = "转采购入库"; - } else if(listTitle == "销售订单列表") { - opWidth = 120; - isShowSkip = true; - opTitle = "转销售出库"; - } $('#tableData').datagrid({ height:heightInfo, rownumbers: false, @@ -555,25 +412,10 @@ function initTableData(){ { title: '操作',field: 'op',align:"center",width:opWidth, formatter:function(value, rec,index) { var str = ''; - // var rowInfo = rec.id + 'AaBb' + rec.projectid+ 'AaBb' + rec.number+ 'AaBb' + rec.operpersonname - // + 'AaBb' + rec.opertimeStr+ 'AaBb' + rec.organid+ 'AaBb' + rec.handspersonid - // + 'AaBb' + rec.accountid+ 'AaBb' + rec.changeamount+ 'AaBb' + rec.remark - // + 'AaBb' + rec.projectName+ 'AaBb' + rec.organName+ 'AaBb' + rec.handsPersonName - // + 'AaBb' + rec.accountName + 'AaBb' + rec.totalprice + 'AaBb' + rec.allocationprojectid - // + 'AaBb' + rec.allocationProjectName + 'AaBb' + rec.paytype + 'AaBb' + rec.salesman - // + 'AaBb' + rec.discount + 'AaBb' + rec.discountmoney + 'AaBb' + rec.discountlastmoney - // + 'AaBb' + rec.accountidlist + 'AaBb' + rec.accountmoneylist - // + 'AaBb' + rec.othermoney + 'AaBb' + rec.othermoneylist + 'AaBb' + rec.othermoneyitem - // + 'AaBb' + rec.accountday + 'AaBb' + rec.linknumber; - // rowInfo = rowInfo.replace(/\"/g, ""); - // rowInfo = rowInfo.replace(/\[|]/g,""); var orgId = rec.organid? rec.organid:0; str += '   '; str += '   '; str += ''; - if(isShowSkip) { - str += '   '; - } return str; } }, @@ -607,11 +449,6 @@ function initTableData(){ } else if(value === "1") { return "已审核"; } else if(value === "2") { - if(listTitle == "采购订单列表") { - return "已转采购"; - } else if(listTitle == "销售订单列表") { - return "已转销售"; - } } } } @@ -650,23 +487,12 @@ function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ var basicUnit = unitArr[0]; //基础单位 var otherUnit = unitArr[1]; //副单位 var unitSetInput =""; //单位 - if(listSubType === "采购订单" || listSubType === "采购" || listSubType === "采购退货"){ - unitSetInput = rec.data[0].firstinunit; - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = thisRatio; - } + unitSetInput = rec.data[0].firstinunit; + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; } - else if(listSubType === "销售订单" || listSubType === "销售" || listSubType === "销售退货" || listSubType === "零售" || listSubType === "零售退货"){ - unitSetInput = rec.data[0].firstoutunit; - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = thisRatio; - } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = thisRatio; } } //查询库存 @@ -746,10 +572,6 @@ function statisticsFun(body,UnitPrice,OperNumber,footer,taxRate){ var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 - if(listSubType == "零售" || listSubType == "零售退货") { - $("#ChangeAmount, #getAmount").val((TotalPrice).toFixed(2)); - $("#backAmount").val(0); - } } //初始化表格数据-商品列表-编辑状态 function initTableData_material(type,TotalPrice){ @@ -764,23 +586,11 @@ function initTableData_material(type,TotalPrice){ var anotherDepotHeadName = ""; //对方仓库的列的标题 var anotherDepotUrl = ""; //对方仓库接口地址 var anotherDepotTextField = ""; - if(listSubType == "调拨"){ - isShowAnotherDepot = false; //调拨时候显示对方仓库 - anotherDepotHeadName = "调入仓库"; - anotherDepotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; - anotherDepotTextField = "depotName"; - } depotHeadName = "仓库名称"; depotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; depotTextField = "depotName"; var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 - if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowTaxColumn = true; //隐藏 - } var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 - if(listSubType == "组装单" || listSubType == "拆卸单"){ - isShowMaterialTypeColumn = false; //显示 - } $('#materialData').datagrid({ height:245, rownumbers: false, @@ -905,23 +715,12 @@ function initTableData_material(type,TotalPrice){ var unitSetInput =""; //单位 body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 var loadRatio = 1; //在单位输入框上面加载比例字段 - if(listSubType === "采购" || listSubType === "采购退货" || listSubType === "采购订单"){ - unitSetInput = res.data[0].firstinunit; //给单位文本框赋值 - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = ratio; - } + unitSetInput = res.data[0].firstinunit; //给单位文本框赋值 + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; } - else if(listSubType === "销售" || listSubType === "销售退货" || listSubType === "销售订单" || listSubType === "零售" || listSubType === "零售退货"){ - unitSetInput = res.data[0].firstoutunit; //给单位文本框赋值 - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = ratio; - } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = ratio; } body.find("[field='Unit']").find(input).val(unitSetInput).attr("data-ratio", loadRatio); //设置-首选单位 @@ -952,27 +751,11 @@ function initTableData_material(type,TotalPrice){ var type = $(this).attr("data-type"); var UnitPrice = 0; if(type === "basic"){ - if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { - UnitPrice = basicPresetPriceOne; - } - else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { - UnitPrice = basicPresetPriceTwo; - } - else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ - UnitPrice = retailPriceOne; - } + UnitPrice = basicPresetPriceOne; body.find("[field='Stock']").find(input).val(stock); //修改库存 } else if(type === "other"){ - if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { - UnitPrice = otherPresetPriceOne; - } - else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { - UnitPrice = otherPresetPriceTwo; - } - else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ - UnitPrice = retailPriceTwo; - } + UnitPrice = otherPresetPriceOne; body.find("[field='Stock']").find(input).val((stock/ratio).toFixed(2)); //修改库存 } body.find("[field='UnitPrice']").find(input).val(UnitPrice); //单价 @@ -992,43 +775,15 @@ function initTableData_material(type,TotalPrice){ }); } var detailPrice = 0; //明细列表-单价 - if(listSubType == "零售" || listSubType == "零售退货") { - if(res.data[0].unit) { //如果存在计量单位信息 - detailPrice = retailPrice; - } - else { - if (firstOutUnit == basicUnit) { - detailPrice = retailPriceOne; - } - else if (firstOutUnit == otherUnit) { - detailPrice = retailPriceTwo; - } - } + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = presetPriceOne; } - else if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { - if(res.data[0].unit) { //如果存在计量单位信息 - detailPrice = presetPriceOne; + else { + if (firstInUnit == basicUnit) { + detailPrice = basicPresetPriceOne; } - else { - if (firstInUnit == basicUnit) { - detailPrice = basicPresetPriceOne; - } - else if (firstInUnit == otherUnit) { - detailPrice = otherPresetPriceOne; - } - } - } - else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { - if(res.data[0].unit) { //如果存在计量单位信息 - detailPrice = presetPriceTwo; - } - else { - if(firstOutUnit==basicUnit) { - detailPrice = basicPresetPriceTwo; - } - else if(firstOutUnit==otherUnit){ - detailPrice = otherPresetPriceTwo; - } + else if (firstInUnit == otherUnit) { + detailPrice = otherPresetPriceOne; } } body.find("[field='OperNumber']").find(input).val(1); //数量初始化为1 @@ -1175,19 +930,9 @@ function initTableData_material_show(TotalPrice){ var isShowAnotherDepot = true; //显示对方仓库,true为隐藏,false为显示 var anotherDepotHeadName = ""; //对方仓库的列的标题 var depotHeadName = ""; //仓库的列的标题 - if(listSubType == "调拨"){ - isShowAnotherDepot = false; //调拨时候显示对方仓库 - anotherDepotHeadName = "调入仓库"; - } depotHeadName = "仓库名称"; var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 - if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowTaxColumn = true; //隐藏 - } var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 - if(listSubType == "组装单" || listSubType == "拆卸单"){ - isShowMaterialTypeColumn = false; //显示 - } $('#materialDataShow').datagrid({ height:245, rownumbers: true, @@ -1312,27 +1057,6 @@ function deleteDepotHead(depotHeadID, thisOrganId, totalPrice, status){ } }); - //更新会员的预收款信息 - if(listSubType === "零售") { - $.ajax({ - type:"post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data:{ - supplierId: thisOrganId, //会员id - advanceIn: totalPrice //删除时同时返还用户的预付款 - }, - success: function(res){ - if(res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function(){ - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); - } } }); } @@ -1345,11 +1069,6 @@ function skipDepotHead(index, status){ $.messager.alert('提示','未审核和已转的单据禁止操作!','warning'); } else { sessionStorage.setItem("rowInfo", JSON.stringify(rowsdata)); //将单据信息存入缓存中 - if(listTitle == "采购订单列表") { - parent.addTab("订单转采购", "../materials/purchase_in_list.html?t=skip", ""); - } else if(listTitle == "销售订单列表") { - parent.addTab("订单转销售", "../materials/sale_out_list.html?t=skip", ""); - } } } @@ -1377,29 +1096,6 @@ function batDeleteDepotHead(){ ids += row[i].id + ","; } if (ids) { - //批量更新会员的预收款信息 - for (var i = 0; i < row.length; i++) { - if (listSubType === "零售") { - $.ajax({ - type: "post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data: { - supplierId: row[i].organid, //会员id - advanceIn: row[i].totalprice //删除时同时返还用户的预付款 - }, - success: function (res) { - if (res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function () { - $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); - return; - } - }); - } - } //批量删除 $.ajax({ type: "post", @@ -1600,49 +1296,6 @@ function addDepotHead(){ $('#supplierFM').form('clear'); }); url = '/depotHead/addDepotHeadAndDetail'; - - //零售单据修改收款时,自动计算找零 - if(listSubType == "零售" || listSubType == "零售退货") { - $("#payType").val("现付"); - $("#OrganId").combobox("setValue", orgDefaultId); //自动默认选择非会员 - // 鼠标点下时清空选择项 - $("#OrganId").next().find("input").off("mousedown").on("mousedown",function(){ - $("#OrganId").combobox("setValue", ""); - }); - //当会员卡号长度超过10位后,自动点击下拉框,用于兼容刷卡器 - $("#OrganId").next().find("input").off("keyup").on("keyup",function(){ - var self = this; - if($(this).val().length === 10){ - setTimeout(function(){ - $(".combo-panel .combobox-item-selected").click(); - //更新付款类型,加载会员的预付款的金额 - for(var i=0; i0){ - option = ''; - option += ''; - } - else { - option += ''; - } - $("#payType").empty().append(option); - } - } - },1000); - } - }); - var getAmount = $("#depotHeadFM .get-amount"); - var changeAmount = $("#depotHeadFM .change-amount"); - var backAmount = $("#depotHeadFM .back-amount"); - getAmount.val(0); changeAmount.val(0); backAmount.val(0); //时间初始化 - getAmount.off("keyup").on("keyup",function() { - if(changeAmount.val()){ - backAmount.val((getAmount.val()-changeAmount.val()).toFixed(2)); - } - }); - } } //编辑信息 @@ -1698,31 +1351,6 @@ function editDepotHead(index, status){ $(".window-mask").css({ width: webW ,height: webH}); depotHeadID = rowsdata.id; - if(listSubType == "零售"){ - var option = ""; - if(rowsdata.paytype == "预付款"){ - option = ''; - option += ''; - } - else { - option += ''; - } - $("#payType").empty().append(option); - } - - if(listSubType == "销售" || listSubType == "销售退货"){ - if(rowsdata.salesman){ - var arr = rowsdata.salesman.split(","); - var salesmanArray = []; - for(var i=0;i","")); - } - } - $("#Salesman").combobox('setValues', salesmanArray); - } - } - //采购入库、销售出库的多账户加载 if(rowsdata.accountidlist!=undefined && rowsdata.accountmoneylist!=undefined){ $("#AccountId").val("many"); //下拉框选中多账户 @@ -1730,22 +1358,6 @@ function editDepotHead(index, status){ var accountMoneyArr = rowsdata.accountmoneylist.split(","); accountMoneyArr = changeListFmtPlus(accountMoneyArr) //将数组单个金额中的数值转为正数 - if(listSubType == "零售" || listSubType == "零售退货") { - var manyAccountMoney = 0; //多账户合计-零售 - for (var j = 0; j < accountArr.length; j++) { - if (accountList != null) { - for (var i = 0; i < accountList.length; i++) { - var account = accountList[i]; - if (accountArr[j] == account.id) { - manyAccountMoney += accountMoneyArr[j] - 0; //多账户合计-零售 - } - } - } - } - $("#getAmount").val(manyAccountMoney); //收款金额、付款金额 - var changeAmount = $("#ChangeAmount").val()-0; - $("#backAmount").val((manyAccountMoney-changeAmount).toFixed(2)); //找零 - } $("#AccountId").attr("data-accountArr", JSON.stringify(accountArr)).attr("data-accountMoneyArr", JSON.stringify(accountMoneyArr)); //json数据存储 $(".many-account-ico").show(); //显示多账户的ico图标 @@ -1841,51 +1453,6 @@ function showDepotHead(index){ depotHeadID = rowsdata.id; initTableData_material_show(TotalPrice); //商品列表-查看状态 - //零售单据展示数据 - if(listSubType == "零售" || listSubType == "零售退货"){ - var changeAccount = $("#depotHeadDlgShow .change-amount-show").text() -0; - if(manyAccountMoney!==0){ - $("#depotHeadDlgShow .get-amount-show").text((manyAccountMoney).toFixed(2)); - $("#depotHeadDlgShow .back-amount-show").text((manyAccountMoney -changeAccount).toFixed(2)); - } - else { - $("#depotHeadDlgShow .get-amount-show").text((changeAccount).toFixed(2)); - $("#depotHeadDlgShow .back-amount-show").text(0); - } - } - if(listSubType === "销售" || listSubType === "销售退货"){ - if(rowsdata.salesman){ - var arr = rowsdata.salesman.split(","); - var salesmanStr = ""; - for(var i=0;i",""); - } - else { - salesmanStr += arr[i].replace("<","").replace(">","") + ","; - } - } - } - $.ajax({ - type: "get", - url: "/person/getPersonByIds", - data: { - personIDs: salesmanStr - }, - success:function(res){ - if(res && res.code === 200){ - if(res.data) { - $("#SalesmanShow").text(res.data.names); //销售人员列表 - } - } - }, - error:function(){ - - } - }); - } - } } //绑定操作事件 @@ -1979,97 +1546,13 @@ function bindEvent(){ } } //输入框提示 - if(listTitle === "采购订单列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择供应商!','warning'); - return; - } + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择供应商!','warning'); + return; } - else if(listTitle === "采购入库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择供应商!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择结算账户!','warning'); - return; - } - } - else if(listTitle === "零售退货列表"){ - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择付款账户!','warning'); - return; - } - if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { - $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); - return; - } - } - else if(listTitle === "销售退货列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择退货单位!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择付款账户!','warning'); - return; - } - } - else if(listTitle === "其它入库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择往来单位!','warning'); - return; - } - } - else if(listTitle === "零售出库列表"){ - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择收款账户!','warning'); - return; - } - if($("#backAmount").val()-0 <0){ - $.messager.alert('提示','找零金额不能小于0!','warning'); - return; - } - if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { - $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); - return; - } - - } - else if(listTitle === "销售订单列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择购买单位!','warning'); - return; - } - } - else if(listTitle === "销售出库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择购买单位!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择收款账户!','warning'); - return; - } - } - else if(listTitle === "采购退货列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择收货单位!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择收款账户!','warning'); - return; - } - } - else if(listTitle === "其它出库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择往来单位!','warning'); - return; - } - } - else if(listTitle === "调拨出库列表"){ - + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择结算账户!','warning'); + return; } //进行明细的校验 if(depotHeadID ==0) { @@ -2098,36 +1581,15 @@ function bindEvent(){ accountMoneyList = accountMoneyList.replace(reg,""); //替换所有的双引号 accountMoneyArr = accountMoneyList.split(","); //转为数组 } - if(listSubType === "采购订单"||listSubType === "采购"||listSubType === "零售退货"||listSubType === "销售退货"){ - //付款为负数 - ChangeAmount = 0 - ChangeAmount; - TotalPrice = 0 - TotalPrice; - if(accountMoneyArr) { - accountMoneyArr = changeListFmtMinus(accountMoneyArr); //将数组单个金额中的数值转为负数 - } + //付款为负数 + ChangeAmount = 0 - ChangeAmount; + TotalPrice = 0 - TotalPrice; + if(accountMoneyArr) { + accountMoneyArr = changeListFmtMinus(accountMoneyArr); //将数组单个金额中的数值转为负数 } //零售时候,可以从会员预付款中扣款 var thisPayType = "现付"; - if(listSubType === "零售") { - if($("#payType").val() ==="预付款") { - thisPayType = "预付款"; - } - } var SalesmanStr = ""; - if(listSubType === "销售" || listSubType === "销售退货"){ - var Salesman = $('#Salesman').combobox('getValues').toString(); //销售人员 - if(Salesman) { - var SalesmanArray = Salesman.split(","); - for (var i = 0; i < SalesmanArray.length; i++) { - if (i === SalesmanArray.length - 1) { - SalesmanStr += "<" + SalesmanArray[i] + ">"; - } - else { - SalesmanStr += "<" + SalesmanArray[i] + ">,"; - } - } - } - } var getAccountID = $.trim($("#AccountId").val()); if($("#AccountId").val() === "many"){ //多账户 getAccountID = null; @@ -2187,35 +1649,6 @@ function bindEvent(){ showDepotHeadDetails(opts.pageNumber,opts.pageSize); } - if(thisPayType === "预付款") { - //更新用户信息-预付款 - var advanceIn = 0; //预付款金额 - if(depotHeadID){ - advanceIn = TotalPrice - preTotalPrice; //修改时,预付款=合计金额-加载金额 - } - else{ - advanceIn = TotalPrice; //新增时,预付款=合计金额 - } - $.ajax({ - type:"post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data:{ - supplierId: OrganId, //会员id - advanceIn: 0 - advanceIn //保存的同时扣掉用户的预付款 - }, - success: function(res){ - if(res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function(){ - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); - } - //保存明细记录 if(depotHeadID ==0) { @@ -2394,14 +1827,7 @@ function bindEvent(){ if(accountArr.length && accountMoneyArr.length) { $("#AccountId").attr("data-accountArr",JSON.stringify(accountArr)).attr("data-accountMoneyArr",JSON.stringify(accountMoneyArr)); //json数据存储 } - if(listSubType==="零售" || listSubType==="零售退货") { - $("#getAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 - var backAmount = $("#getAmount").val() - $("#ChangeAmount").val(); - $("#backAmount").val((backAmount - 0).toFixed(2)); //计算找零金额 - } - else { - $("#ChangeAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 - } + $("#ChangeAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 $("#Debt").val((discountLastMoneyNum-accountMoneyTotal).toFixed(2)); //本次欠款 $("#depotHeadAccountDlg").dialog('close'); }); @@ -2414,12 +1840,7 @@ function bindEvent(){ else { $("#depotHeadAccountDlg").dialog('close'); $("#AccountId").val("").removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 - if(listSubType==="零售" || listSubType==="零售退货"){ - $("#ChangeAmount").prop("readonly","readonly"); - } - else { - $("#ChangeAmount").removeProp("readonly","readonly"); - } + $("#ChangeAmount").removeProp("readonly","readonly"); $(".many-account-ico").hide(); //隐藏多账户小图标 } } @@ -2443,12 +1864,7 @@ function bindEvent(){ } else{ $(this).removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 - if(listSubType==="零售" || listSubType==="零售退货"){ - $("#ChangeAmount").prop("readonly","readonly"); - } - else { - $("#ChangeAmount").removeProp("readonly","readonly"); - } + $("#ChangeAmount").removeProp("readonly","readonly"); $(".many-account-ico").hide(); //隐藏多账户小图标 } }); @@ -2466,12 +1882,7 @@ function bindEvent(){ $(this).find(".account-id-dlg").val(accountArr[index]); $(this).find(".account-money-dlg").val(accountMoneyArr[index]); }); - if(listSubType==="零售" || listSubType==="零售退货") { - $("#accountMoneyTotalDlg").text($("#getAmount").val()); - } - else { - $("#accountMoneyTotalDlg").text($("#ChangeAmount").val()); - } + $("#accountMoneyTotalDlg").text($("#ChangeAmount").val()); }); //点击采购费用、销售费用的事件 @@ -2593,14 +2004,7 @@ function bindEvent(){ }); $("#otherMoneyTotalDlg").text($("#OtherMoney").val()); }); - - if(listTitle === "采购入库列表" || listTitle === "其它入库列表" || listTitle === "采购订单列表"|| listTitle === "零售出库列表"|| listTitle === "销售出库列表"|| listTitle === "销售订单列表"){ var supplierType = "供应商"; - if(listTitle === "零售出库列表"){ - supplierType = "会员"; - }else if(listTitle === "销售出库列表" || listTitle === "销售订单列表"){ - supplierType = "客户"; - } //检查单位名称是否存在 ++ 重名无法提示问题需要跟进 function checkSupplierName() { var supplierName = $.trim($("#supplier").val()); @@ -2681,7 +2085,6 @@ function bindEvent(){ } }); }); - } } function showDepotHeadDetails(pageNo,pageSize){ @@ -2798,9 +2201,6 @@ function autoReckon() { return; } else { - if(listTitle!="销售出库列表" && listTitle!="采购退货列表" && listTitle!="其它出库列表" && listTitle!="调拨出库列表") { - return; - } $.ajax({ url: "/material/findById", type: "get", @@ -2922,9 +2322,6 @@ function autoReckon() { if(rowListLength > 0){ mTypeValue = "普通子件"; } - if(listSubType == "组装单" || listSubType == "拆卸单"){ - mType.find(input).val(mTypeValue).prop("readonly","readonly"); - } },500); } From 68dc8bd39d788735507087806c7354c2e1f60016 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Thu, 9 May 2019 16:39:53 +0800 Subject: [PATCH 051/117] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=87=87=E8=B4=AD?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=88=97=E8=A1=A8=EF=BC=8C=E5=8E=BB=E6=8E=89?= =?UTF-8?q?=E5=A4=9A=E4=BD=99js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pages/materials/purchase_orders_list.js | 708 ++---------------- 1 file changed, 50 insertions(+), 658 deletions(-) diff --git a/erp_web/js/pages/materials/purchase_orders_list.js b/erp_web/js/pages/materials/purchase_orders_list.js index 662d9507..b7cc4a12 100644 --- a/erp_web/js/pages/materials/purchase_orders_list.js +++ b/erp_web/js/pages/materials/purchase_orders_list.js @@ -18,13 +18,6 @@ var depotHeadID = 0; var preTotalPrice = 0; //前一次加载的金额 var orgDepotHead = ""; var editIndex = undefined; -var listTitle = ""; //单据标题 -var listType = ""; //入库 出库 -var listSubType = ""; //采购 销售等 -var payTypeTitle = "";//付款 收款 -var organUrl = ""; //组织数据接口地址 -var amountNum = ""; //单据编号开头字符 -var depotString = ""; //店铺id列表 /**默认编号有意义吗,不如空着吧*/ var orgDefaultId=''; //单位默认编号 var orgDefaultList; //存储查询出来的会员列表 @@ -37,9 +30,18 @@ var otherColumns = true; //明细中的‘别名’列是否显示 var btnEnableList = getBtnStr(); //获取按钮的权限 var mPropertyList = ""; //商品属性列表 var defaultAccountId = 0; //默认账户id +//改变宽度和高度 +$("#searchPanel").panel({width:webW-2}); +$("#tablePanel").panel({width:webW-2}); +var listTitle = "采购订单列表"; //单据标题 +var depotString = "|"; //店铺id列表 +var listType ="其它";//入库 出库 +var listSubType = "采购订单";//采购 销售等 +var payTypeTitle = "隐藏"; //付款 收款 +var organUrl = "/supplier/findBySelect_sup"; //组织数据接口地址 +var amountNum ="CGDD";//单据编号开头字符 $(function(){ //初始化系统基础信息 - getType(); initSystemData_UB(); initSelectInfo_UB(); initSystemData_depot(); @@ -57,108 +59,6 @@ $(function(){ initForm(); bindEvent();//绑定操作事件 }); -//根据单据名称获取类型 -function getType(){ - listTitle = $("#tablePanel").prev().text(); - depotString = "|"; - //改变宽度和高度 - $("#searchPanel").panel({width:webW-2}); - $("#tablePanel").panel({width:webW-2}); - var supUrl = "/supplier/findBySelect_sup"; //供应商接口 - var cusUrl = "/supplier/findBySelect_cus?UBType=UserCustomer&UBKeyId=" + kid; //客户接口 - var retailUrl = "/supplier/findBySelect_retail"; //散户接口 - if(listTitle === "采购订单列表"){ - listType = "其它"; - listSubType = "采购订单"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "CGDD"; - } - else if(listTitle === "采购入库列表"){ - listType = "入库"; - listSubType = "采购"; - payTypeTitle = "付款"; - organUrl = supUrl; - amountNum = "CGRK"; - } - else if(listTitle === "零售退货列表"){ - listType = "入库"; - listSubType = "零售退货"; //注:用预付款购买的产品不能退货 - payTypeTitle = "付款"; - organUrl = retailUrl; - amountNum = "LSTH"; - } - else if(listTitle === "销售退货列表"){ - listType = "入库"; - listSubType = "销售退货"; - payTypeTitle = "付款"; - organUrl = cusUrl; - amountNum = "XSTH"; - } - else if(listTitle === "其它入库列表"){ - listType = "入库"; - listSubType = "其它"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "QTRK"; - } - else if(listTitle === "零售出库列表"){ - listType = "出库"; - listSubType = "零售"; - payTypeTitle = "收款"; - organUrl = retailUrl; - amountNum = "LSCK"; - } - else if(listTitle === "销售订单列表"){ - listType = "其它"; - listSubType = "销售订单"; - payTypeTitle = "隐藏"; - organUrl = cusUrl; - amountNum = "XSDD"; - } - else if(listTitle === "销售出库列表"){ - listType = "出库"; - listSubType = "销售"; - payTypeTitle = "收款"; - organUrl = cusUrl; - amountNum = "XSCK"; - } - else if(listTitle === "采购退货列表"){ - listType = "出库"; - listSubType = "采购退货"; - payTypeTitle = "收款"; - organUrl = supUrl; - amountNum = "CGTH"; - } - else if(listTitle === "其它出库列表"){ - listType = "出库"; - listSubType = "其它"; - payTypeTitle = "隐藏"; - organUrl = cusUrl; - amountNum = "QTCK"; - } - else if(listTitle === "调拨出库列表"){ - listType = "出库"; - listSubType = "调拨"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "DBCK"; - } - else if(listTitle === "组装单列表"){ - listType = "其它"; - listSubType = "组装单"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "ZZD"; - } - else if(listTitle === "拆卸单列表"){ - listType = "其它"; - listSubType = "拆卸单"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "CXD"; - } -} //初始化系统基础信息 function initSystemData_UB(){ $.ajax({ @@ -264,23 +164,8 @@ function initSupplier(){ orgDefaultId = data[i].id; } } - if(listSubType === "零售"){ - orgDefaultList = res; - } }, onSelect: function(rec){ - if(listSubType === "零售"){ - var option = ""; - if(rec.supplier !== "非会员" && rec.advanceIn >0){ - option = ''; - option += ''; - } - else { - option += ''; - } - $("#payType").empty().append(option); - } - else{ $.ajax({ type:"get", url: "/supplier/findById", @@ -299,7 +184,6 @@ function initSupplier(){ } }); - } } }); } @@ -504,38 +388,11 @@ function initTableData(){ else { isHiddenStatus = true; //隐藏 } - var isShowLastMoneyColumn = false; //是否显示优惠后金额和价税合计,true为隐藏,false为显示 - if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowLastMoneyColumn = true; //隐藏 - } + var isShowLastMoneyColumn = true; //是否显示优惠后金额和价税合计,true为隐藏,false为显示 var isShowOrganNameColumn = false; //是否显示供应商、客户等信息,true为隐藏,false为显示 - var organNameTitle = ""; //组织名称标题 - if(listSubType == "调拨" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowOrganNameColumn = true; //隐藏 - } - else { - if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "采购退货列表" || listTitle == "其它入库列表"){ - organNameTitle = "供应商名称"; - } - else if(listTitle == "销售订单列表" || listTitle == "销售退货列表" || listTitle == "销售出库列表" || listTitle == "其它出库列表"){ - organNameTitle = "客户名称"; - } - else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ - organNameTitle = "会员卡号"; - } - } - var opWidth = 90; //操作宽度 - var isShowSkip = false; //是否显示跳转按钮 - var opTitle = ""; //跳转按钮的标题 - if(listTitle == "采购订单列表") { - opWidth = 120; - isShowSkip = true; - opTitle = "转采购入库"; - } else if(listTitle == "销售订单列表") { - opWidth = 120; - isShowSkip = true; - opTitle = "转销售出库"; - } + var organNameTitle = "供应商名称"; //组织名称标题 + var opWidth = 120; //操作宽度 + var opTitle = "转采购入库"; //跳转按钮的标题 $('#tableData').datagrid({ height:heightInfo, rownumbers: false, @@ -555,25 +412,11 @@ function initTableData(){ { title: '操作',field: 'op',align:"center",width:opWidth, formatter:function(value, rec,index) { var str = ''; - // var rowInfo = rec.id + 'AaBb' + rec.projectid+ 'AaBb' + rec.number+ 'AaBb' + rec.operpersonname - // + 'AaBb' + rec.opertimeStr+ 'AaBb' + rec.organid+ 'AaBb' + rec.handspersonid - // + 'AaBb' + rec.accountid+ 'AaBb' + rec.changeamount+ 'AaBb' + rec.remark - // + 'AaBb' + rec.projectName+ 'AaBb' + rec.organName+ 'AaBb' + rec.handsPersonName - // + 'AaBb' + rec.accountName + 'AaBb' + rec.totalprice + 'AaBb' + rec.allocationprojectid - // + 'AaBb' + rec.allocationProjectName + 'AaBb' + rec.paytype + 'AaBb' + rec.salesman - // + 'AaBb' + rec.discount + 'AaBb' + rec.discountmoney + 'AaBb' + rec.discountlastmoney - // + 'AaBb' + rec.accountidlist + 'AaBb' + rec.accountmoneylist - // + 'AaBb' + rec.othermoney + 'AaBb' + rec.othermoneylist + 'AaBb' + rec.othermoneyitem - // + 'AaBb' + rec.accountday + 'AaBb' + rec.linknumber; - // rowInfo = rowInfo.replace(/\"/g, ""); - // rowInfo = rowInfo.replace(/\[|]/g,""); var orgId = rec.organid? rec.organid:0; str += '   '; str += '   '; str += ''; - if(isShowSkip) { - str += '   '; - } + str += '   '; return str; } }, @@ -607,11 +450,7 @@ function initTableData(){ } else if(value === "1") { return "已审核"; } else if(value === "2") { - if(listTitle == "采购订单列表") { - return "已转采购"; - } else if(listTitle == "销售订单列表") { - return "已转销售"; - } + return "已转采购"; } } } @@ -650,23 +489,12 @@ function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ var basicUnit = unitArr[0]; //基础单位 var otherUnit = unitArr[1]; //副单位 var unitSetInput =""; //单位 - if(listSubType === "采购订单" || listSubType === "采购" || listSubType === "采购退货"){ - unitSetInput = rec.data[0].firstinunit; - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = thisRatio; - } + unitSetInput = rec.data[0].firstinunit; + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; } - else if(listSubType === "销售订单" || listSubType === "销售" || listSubType === "销售退货" || listSubType === "零售" || listSubType === "零售退货"){ - unitSetInput = rec.data[0].firstoutunit; - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = thisRatio; - } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = thisRatio; } } //查询库存 @@ -746,10 +574,6 @@ function statisticsFun(body,UnitPrice,OperNumber,footer,taxRate){ var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 - if(listSubType == "零售" || listSubType == "零售退货") { - $("#ChangeAmount, #getAmount").val((TotalPrice).toFixed(2)); - $("#backAmount").val(0); - } } //初始化表格数据-商品列表-编辑状态 function initTableData_material(type,TotalPrice){ @@ -764,23 +588,11 @@ function initTableData_material(type,TotalPrice){ var anotherDepotHeadName = ""; //对方仓库的列的标题 var anotherDepotUrl = ""; //对方仓库接口地址 var anotherDepotTextField = ""; - if(listSubType == "调拨"){ - isShowAnotherDepot = false; //调拨时候显示对方仓库 - anotherDepotHeadName = "调入仓库"; - anotherDepotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; - anotherDepotTextField = "depotName"; - } depotHeadName = "仓库名称"; depotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; depotTextField = "depotName"; - var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 - if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowTaxColumn = true; //隐藏 - } + var isShowTaxColumn = true; //是否显示税率相关的列,true为隐藏,false为显示 var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 - if(listSubType == "组装单" || listSubType == "拆卸单"){ - isShowMaterialTypeColumn = false; //显示 - } $('#materialData').datagrid({ height:245, rownumbers: false, @@ -905,23 +717,12 @@ function initTableData_material(type,TotalPrice){ var unitSetInput =""; //单位 body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 var loadRatio = 1; //在单位输入框上面加载比例字段 - if(listSubType === "采购" || listSubType === "采购退货" || listSubType === "采购订单"){ - unitSetInput = res.data[0].firstinunit; //给单位文本框赋值 - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = ratio; - } + unitSetInput = res.data[0].firstinunit; //给单位文本框赋值 + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; } - else if(listSubType === "销售" || listSubType === "销售退货" || listSubType === "销售订单" || listSubType === "零售" || listSubType === "零售退货"){ - unitSetInput = res.data[0].firstoutunit; //给单位文本框赋值 - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = ratio; - } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = ratio; } body.find("[field='Unit']").find(input).val(unitSetInput).attr("data-ratio", loadRatio); //设置-首选单位 @@ -952,27 +753,11 @@ function initTableData_material(type,TotalPrice){ var type = $(this).attr("data-type"); var UnitPrice = 0; if(type === "basic"){ - if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { - UnitPrice = basicPresetPriceOne; - } - else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { - UnitPrice = basicPresetPriceTwo; - } - else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ - UnitPrice = retailPriceOne; - } + UnitPrice = basicPresetPriceOne; body.find("[field='Stock']").find(input).val(stock); //修改库存 } else if(type === "other"){ - if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { - UnitPrice = otherPresetPriceOne; - } - else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { - UnitPrice = otherPresetPriceTwo; - } - else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ - UnitPrice = retailPriceTwo; - } + UnitPrice = otherPresetPriceOne; body.find("[field='Stock']").find(input).val((stock/ratio).toFixed(2)); //修改库存 } body.find("[field='UnitPrice']").find(input).val(UnitPrice); //单价 @@ -992,43 +777,15 @@ function initTableData_material(type,TotalPrice){ }); } var detailPrice = 0; //明细列表-单价 - if(listSubType == "零售" || listSubType == "零售退货") { - if(res.data[0].unit) { //如果存在计量单位信息 - detailPrice = retailPrice; - } - else { - if (firstOutUnit == basicUnit) { - detailPrice = retailPriceOne; - } - else if (firstOutUnit == otherUnit) { - detailPrice = retailPriceTwo; - } - } + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = presetPriceOne; } - else if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { - if(res.data[0].unit) { //如果存在计量单位信息 - detailPrice = presetPriceOne; + else { + if (firstInUnit == basicUnit) { + detailPrice = basicPresetPriceOne; } - else { - if (firstInUnit == basicUnit) { - detailPrice = basicPresetPriceOne; - } - else if (firstInUnit == otherUnit) { - detailPrice = otherPresetPriceOne; - } - } - } - else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { - if(res.data[0].unit) { //如果存在计量单位信息 - detailPrice = presetPriceTwo; - } - else { - if(firstOutUnit==basicUnit) { - detailPrice = basicPresetPriceTwo; - } - else if(firstOutUnit==otherUnit){ - detailPrice = otherPresetPriceTwo; - } + else if (firstInUnit == otherUnit) { + detailPrice = otherPresetPriceOne; } } body.find("[field='OperNumber']").find(input).val(1); //数量初始化为1 @@ -1175,19 +932,9 @@ function initTableData_material_show(TotalPrice){ var isShowAnotherDepot = true; //显示对方仓库,true为隐藏,false为显示 var anotherDepotHeadName = ""; //对方仓库的列的标题 var depotHeadName = ""; //仓库的列的标题 - if(listSubType == "调拨"){ - isShowAnotherDepot = false; //调拨时候显示对方仓库 - anotherDepotHeadName = "调入仓库"; - } depotHeadName = "仓库名称"; - var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 - if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowTaxColumn = true; //隐藏 - } + var isShowTaxColumn = true; //是否显示税率相关的列,true为隐藏,false为显示 var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 - if(listSubType == "组装单" || listSubType == "拆卸单"){ - isShowMaterialTypeColumn = false; //显示 - } $('#materialDataShow').datagrid({ height:245, rownumbers: true, @@ -1311,28 +1058,6 @@ function deleteDepotHead(depotHeadID, thisOrganId, totalPrice, status){ return; } }); - - //更新会员的预收款信息 - if(listSubType === "零售") { - $.ajax({ - type:"post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data:{ - supplierId: thisOrganId, //会员id - advanceIn: totalPrice //删除时同时返还用户的预付款 - }, - success: function(res){ - if(res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function(){ - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); - } } }); } @@ -1345,11 +1070,7 @@ function skipDepotHead(index, status){ $.messager.alert('提示','未审核和已转的单据禁止操作!','warning'); } else { sessionStorage.setItem("rowInfo", JSON.stringify(rowsdata)); //将单据信息存入缓存中 - if(listTitle == "采购订单列表") { - parent.addTab("订单转采购", "../materials/purchase_in_list.html?t=skip", ""); - } else if(listTitle == "销售订单列表") { - parent.addTab("订单转销售", "../materials/sale_out_list.html?t=skip", ""); - } + parent.addTab("订单转采购", "../materials/purchase_in_list.html?t=skip", ""); } } @@ -1377,29 +1098,6 @@ function batDeleteDepotHead(){ ids += row[i].id + ","; } if (ids) { - //批量更新会员的预收款信息 - for (var i = 0; i < row.length; i++) { - if (listSubType === "零售") { - $.ajax({ - type: "post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data: { - supplierId: row[i].organid, //会员id - advanceIn: row[i].totalprice //删除时同时返还用户的预付款 - }, - success: function (res) { - if (res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function () { - $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); - return; - } - }); - } - } //批量删除 $.ajax({ type: "post", @@ -1600,49 +1298,6 @@ function addDepotHead(){ $('#supplierFM').form('clear'); }); url = '/depotHead/addDepotHeadAndDetail'; - - //零售单据修改收款时,自动计算找零 - if(listSubType == "零售" || listSubType == "零售退货") { - $("#payType").val("现付"); - $("#OrganId").combobox("setValue", orgDefaultId); //自动默认选择非会员 - // 鼠标点下时清空选择项 - $("#OrganId").next().find("input").off("mousedown").on("mousedown",function(){ - $("#OrganId").combobox("setValue", ""); - }); - //当会员卡号长度超过10位后,自动点击下拉框,用于兼容刷卡器 - $("#OrganId").next().find("input").off("keyup").on("keyup",function(){ - var self = this; - if($(this).val().length === 10){ - setTimeout(function(){ - $(".combo-panel .combobox-item-selected").click(); - //更新付款类型,加载会员的预付款的金额 - for(var i=0; i0){ - option = ''; - option += ''; - } - else { - option += ''; - } - $("#payType").empty().append(option); - } - } - },1000); - } - }); - var getAmount = $("#depotHeadFM .get-amount"); - var changeAmount = $("#depotHeadFM .change-amount"); - var backAmount = $("#depotHeadFM .back-amount"); - getAmount.val(0); changeAmount.val(0); backAmount.val(0); //时间初始化 - getAmount.off("keyup").on("keyup",function() { - if(changeAmount.val()){ - backAmount.val((getAmount.val()-changeAmount.val()).toFixed(2)); - } - }); - } } //编辑信息 @@ -1698,55 +1353,12 @@ function editDepotHead(index, status){ $(".window-mask").css({ width: webW ,height: webH}); depotHeadID = rowsdata.id; - if(listSubType == "零售"){ - var option = ""; - if(rowsdata.paytype == "预付款"){ - option = ''; - option += ''; - } - else { - option += ''; - } - $("#payType").empty().append(option); - } - - if(listSubType == "销售" || listSubType == "销售退货"){ - if(rowsdata.salesman){ - var arr = rowsdata.salesman.split(","); - var salesmanArray = []; - for(var i=0;i","")); - } - } - $("#Salesman").combobox('setValues', salesmanArray); - } - } - //采购入库、销售出库的多账户加载 if(rowsdata.accountidlist!=undefined && rowsdata.accountmoneylist!=undefined){ $("#AccountId").val("many"); //下拉框选中多账户 var accountArr = rowsdata.accountidlist.split(","); var accountMoneyArr = rowsdata.accountmoneylist.split(","); accountMoneyArr = changeListFmtPlus(accountMoneyArr) //将数组单个金额中的数值转为正数 - - if(listSubType == "零售" || listSubType == "零售退货") { - var manyAccountMoney = 0; //多账户合计-零售 - for (var j = 0; j < accountArr.length; j++) { - if (accountList != null) { - for (var i = 0; i < accountList.length; i++) { - var account = accountList[i]; - if (accountArr[j] == account.id) { - manyAccountMoney += accountMoneyArr[j] - 0; //多账户合计-零售 - } - } - } - } - $("#getAmount").val(manyAccountMoney); //收款金额、付款金额 - var changeAmount = $("#ChangeAmount").val()-0; - $("#backAmount").val((manyAccountMoney-changeAmount).toFixed(2)); //找零 - } - $("#AccountId").attr("data-accountArr", JSON.stringify(accountArr)).attr("data-accountMoneyArr", JSON.stringify(accountMoneyArr)); //json数据存储 $(".many-account-ico").show(); //显示多账户的ico图标 } @@ -1840,52 +1452,6 @@ function showDepotHead(index){ depotHeadID = rowsdata.id; initTableData_material_show(TotalPrice); //商品列表-查看状态 - - //零售单据展示数据 - if(listSubType == "零售" || listSubType == "零售退货"){ - var changeAccount = $("#depotHeadDlgShow .change-amount-show").text() -0; - if(manyAccountMoney!==0){ - $("#depotHeadDlgShow .get-amount-show").text((manyAccountMoney).toFixed(2)); - $("#depotHeadDlgShow .back-amount-show").text((manyAccountMoney -changeAccount).toFixed(2)); - } - else { - $("#depotHeadDlgShow .get-amount-show").text((changeAccount).toFixed(2)); - $("#depotHeadDlgShow .back-amount-show").text(0); - } - } - if(listSubType === "销售" || listSubType === "销售退货"){ - if(rowsdata.salesman){ - var arr = rowsdata.salesman.split(","); - var salesmanStr = ""; - for(var i=0;i",""); - } - else { - salesmanStr += arr[i].replace("<","").replace(">","") + ","; - } - } - } - $.ajax({ - type: "get", - url: "/person/getPersonByIds", - data: { - personIDs: salesmanStr - }, - success:function(res){ - if(res && res.code === 200){ - if(res.data) { - $("#SalesmanShow").text(res.data.names); //销售人员列表 - } - } - }, - error:function(){ - - } - }); - } - } } //绑定操作事件 @@ -1979,97 +1545,9 @@ function bindEvent(){ } } //输入框提示 - if(listTitle === "采购订单列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择供应商!','warning'); - return; - } - } - else if(listTitle === "采购入库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择供应商!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择结算账户!','warning'); - return; - } - } - else if(listTitle === "零售退货列表"){ - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择付款账户!','warning'); - return; - } - if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { - $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); - return; - } - } - else if(listTitle === "销售退货列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择退货单位!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择付款账户!','warning'); - return; - } - } - else if(listTitle === "其它入库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择往来单位!','warning'); - return; - } - } - else if(listTitle === "零售出库列表"){ - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择收款账户!','warning'); - return; - } - if($("#backAmount").val()-0 <0){ - $.messager.alert('提示','找零金额不能小于0!','warning'); - return; - } - if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { - $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); - return; - } - - } - else if(listTitle === "销售订单列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择购买单位!','warning'); - return; - } - } - else if(listTitle === "销售出库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择购买单位!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择收款账户!','warning'); - return; - } - } - else if(listTitle === "采购退货列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择收货单位!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择收款账户!','warning'); - return; - } - } - else if(listTitle === "其它出库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择往来单位!','warning'); - return; - } - } - else if(listTitle === "调拨出库列表"){ - + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择供应商!','warning'); + return; } //进行明细的校验 if(depotHeadID ==0) { @@ -2098,36 +1576,15 @@ function bindEvent(){ accountMoneyList = accountMoneyList.replace(reg,""); //替换所有的双引号 accountMoneyArr = accountMoneyList.split(","); //转为数组 } - if(listSubType === "采购订单"||listSubType === "采购"||listSubType === "零售退货"||listSubType === "销售退货"){ - //付款为负数 - ChangeAmount = 0 - ChangeAmount; - TotalPrice = 0 - TotalPrice; - if(accountMoneyArr) { - accountMoneyArr = changeListFmtMinus(accountMoneyArr); //将数组单个金额中的数值转为负数 - } + //付款为负数 + ChangeAmount = 0 - ChangeAmount; + TotalPrice = 0 - TotalPrice; + if(accountMoneyArr) { + accountMoneyArr = changeListFmtMinus(accountMoneyArr); //将数组单个金额中的数值转为负数 } //零售时候,可以从会员预付款中扣款 var thisPayType = "现付"; - if(listSubType === "零售") { - if($("#payType").val() ==="预付款") { - thisPayType = "预付款"; - } - } var SalesmanStr = ""; - if(listSubType === "销售" || listSubType === "销售退货"){ - var Salesman = $('#Salesman').combobox('getValues').toString(); //销售人员 - if(Salesman) { - var SalesmanArray = Salesman.split(","); - for (var i = 0; i < SalesmanArray.length; i++) { - if (i === SalesmanArray.length - 1) { - SalesmanStr += "<" + SalesmanArray[i] + ">"; - } - else { - SalesmanStr += "<" + SalesmanArray[i] + ">,"; - } - } - } - } var getAccountID = $.trim($("#AccountId").val()); if($("#AccountId").val() === "many"){ //多账户 getAccountID = null; @@ -2186,36 +1643,6 @@ function bindEvent(){ var opts = $("#tableData").datagrid('options'); showDepotHeadDetails(opts.pageNumber,opts.pageSize); } - - if(thisPayType === "预付款") { - //更新用户信息-预付款 - var advanceIn = 0; //预付款金额 - if(depotHeadID){ - advanceIn = TotalPrice - preTotalPrice; //修改时,预付款=合计金额-加载金额 - } - else{ - advanceIn = TotalPrice; //新增时,预付款=合计金额 - } - $.ajax({ - type:"post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data:{ - supplierId: OrganId, //会员id - advanceIn: 0 - advanceIn //保存的同时扣掉用户的预付款 - }, - success: function(res){ - if(res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function(){ - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); - } - //保存明细记录 if(depotHeadID ==0) { @@ -2394,14 +1821,7 @@ function bindEvent(){ if(accountArr.length && accountMoneyArr.length) { $("#AccountId").attr("data-accountArr",JSON.stringify(accountArr)).attr("data-accountMoneyArr",JSON.stringify(accountMoneyArr)); //json数据存储 } - if(listSubType==="零售" || listSubType==="零售退货") { - $("#getAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 - var backAmount = $("#getAmount").val() - $("#ChangeAmount").val(); - $("#backAmount").val((backAmount - 0).toFixed(2)); //计算找零金额 - } - else { - $("#ChangeAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 - } + $("#ChangeAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 $("#Debt").val((discountLastMoneyNum-accountMoneyTotal).toFixed(2)); //本次欠款 $("#depotHeadAccountDlg").dialog('close'); }); @@ -2414,12 +1834,7 @@ function bindEvent(){ else { $("#depotHeadAccountDlg").dialog('close'); $("#AccountId").val("").removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 - if(listSubType==="零售" || listSubType==="零售退货"){ - $("#ChangeAmount").prop("readonly","readonly"); - } - else { - $("#ChangeAmount").removeProp("readonly","readonly"); - } + $("#ChangeAmount").removeProp("readonly","readonly"); $(".many-account-ico").hide(); //隐藏多账户小图标 } } @@ -2443,12 +1858,7 @@ function bindEvent(){ } else{ $(this).removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 - if(listSubType==="零售" || listSubType==="零售退货"){ - $("#ChangeAmount").prop("readonly","readonly"); - } - else { - $("#ChangeAmount").removeProp("readonly","readonly"); - } + $("#ChangeAmount").removeProp("readonly","readonly"); $(".many-account-ico").hide(); //隐藏多账户小图标 } }); @@ -2466,12 +1876,7 @@ function bindEvent(){ $(this).find(".account-id-dlg").val(accountArr[index]); $(this).find(".account-money-dlg").val(accountMoneyArr[index]); }); - if(listSubType==="零售" || listSubType==="零售退货") { - $("#accountMoneyTotalDlg").text($("#getAmount").val()); - } - else { - $("#accountMoneyTotalDlg").text($("#ChangeAmount").val()); - } + $("#accountMoneyTotalDlg").text($("#ChangeAmount").val()); }); //点击采购费用、销售费用的事件 @@ -2594,13 +1999,7 @@ function bindEvent(){ $("#otherMoneyTotalDlg").text($("#OtherMoney").val()); }); - if(listTitle === "采购入库列表" || listTitle === "其它入库列表" || listTitle === "采购订单列表"|| listTitle === "零售出库列表"|| listTitle === "销售出库列表"|| listTitle === "销售订单列表"){ var supplierType = "供应商"; - if(listTitle === "零售出库列表"){ - supplierType = "会员"; - }else if(listTitle === "销售出库列表" || listTitle === "销售订单列表"){ - supplierType = "客户"; - } //检查单位名称是否存在 ++ 重名无法提示问题需要跟进 function checkSupplierName() { var supplierName = $.trim($("#supplier").val()); @@ -2681,7 +2080,6 @@ function bindEvent(){ } }); }); - } } function showDepotHeadDetails(pageNo,pageSize){ @@ -2798,9 +2196,6 @@ function autoReckon() { return; } else { - if(listTitle!="销售出库列表" && listTitle!="采购退货列表" && listTitle!="其它出库列表" && listTitle!="调拨出库列表") { - return; - } $.ajax({ url: "/material/findById", type: "get", @@ -2922,9 +2317,6 @@ function autoReckon() { if(rowListLength > 0){ mTypeValue = "普通子件"; } - if(listSubType == "组装单" || listSubType == "拆卸单"){ - mType.find(input).val(mTypeValue).prop("readonly","readonly"); - } },500); } From 3aab5d921ef77215a44da21e369abe0959f1a6b4 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Thu, 9 May 2019 17:59:50 +0800 Subject: [PATCH 052/117] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=9B=B6=E5=94=AE?= =?UTF-8?q?=E9=80=80=E8=B4=A7=E5=88=97=E8=A1=A8=EF=BC=8C=E5=8E=BB=E6=8E=89?= =?UTF-8?q?=E5=A4=9A=E4=BD=99js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../js/pages/materials/allocation_out_list.js | 46 +- erp_web/js/pages/materials/assemble_list.js | 46 +- .../js/pages/materials/disassemble_list.js | 46 +- erp_web/js/pages/materials/other_in_list.js | 46 +- erp_web/js/pages/materials/other_out_list.js | 46 +- .../js/pages/materials/purchase_back_list.js | 46 +- .../js/pages/materials/purchase_in_list.js | 46 +- .../pages/materials/purchase_orders_list.js | 46 +- .../js/pages/materials/retail_back_list.js | 734 ++---------------- 9 files changed, 210 insertions(+), 892 deletions(-) diff --git a/erp_web/js/pages/materials/allocation_out_list.js b/erp_web/js/pages/materials/allocation_out_list.js index f35e37a3..213a8b27 100644 --- a/erp_web/js/pages/materials/allocation_out_list.js +++ b/erp_web/js/pages/materials/allocation_out_list.js @@ -2090,7 +2090,51 @@ function autoReckon() { return; } else { - return; + $.ajax({ + url: "/material/findById", + type: "get", + dataType: "json", + data: { + id: mValue - 0 + }, + success: function(res){ + if(res && res.rows && res.rows[0]) { + var retailPrice = res.rows[0].RetailPrice; + var presetPriceOne = res.rows[0].PresetPriceOne; + var presetPriceTwo = res.rows[0].PresetPriceTwo; + //定义模版 + var temp = "
"; + temp +="
    "; + temp +="
  • 批发价:" + presetPriceTwo + "
  • "; + temp +="
  • 零售价:" + retailPrice + "
  • "; + temp +="
"; + temp +="
"; + if($('.price-list').length){ + $('.price-list').remove(); //如果存在价格列表先移除 + } + else { + if(presetPriceTwo != undefined){ //多单位的商品 + $(self).after(temp); //加载列表信息 + } + } + $('.price-list ul li').off("click").on("click",function(){ + var price = $(this).text(); + price = price.substring(price.indexOf(":") + 1); + $(self).val(price); + $(self).keyup(); //模拟键盘操作 + $('.price-list').remove(); //移除价格列表 + }); + //点击空白处移除价格列表 + $(".datagrid-body").off("click").on("click",function(){ + $('.price-list').remove(); //移除价格列表 + }); + } + }, + error: function(){ + $.messager.alert('错误提示','查询商品信息异常,请稍后再试!','error'); + return; + } + }); } }); //修改含税单价,自动计算单价、金额、税额、价税合计和合计 diff --git a/erp_web/js/pages/materials/assemble_list.js b/erp_web/js/pages/materials/assemble_list.js index 63fed6eb..8a54e811 100644 --- a/erp_web/js/pages/materials/assemble_list.js +++ b/erp_web/js/pages/materials/assemble_list.js @@ -2090,51 +2090,7 @@ function autoReckon() { return; } else { - $.ajax({ - url: "/material/findById", - type: "get", - dataType: "json", - data: { - id: mValue - 0 - }, - success: function(res){ - if(res && res.rows && res.rows[0]) { - var retailPrice = res.rows[0].RetailPrice; - var presetPriceOne = res.rows[0].PresetPriceOne; - var presetPriceTwo = res.rows[0].PresetPriceTwo; - //定义模版 - var temp = "
"; - temp +="
    "; - temp +="
  • 批发价:" + presetPriceTwo + "
  • "; - temp +="
  • 零售价:" + retailPrice + "
  • "; - temp +="
"; - temp +="
"; - if($('.price-list').length){ - $('.price-list').remove(); //如果存在价格列表先移除 - } - else { - if(presetPriceTwo != undefined){ //多单位的商品 - $(self).after(temp); //加载列表信息 - } - } - $('.price-list ul li').off("click").on("click",function(){ - var price = $(this).text(); - price = price.substring(price.indexOf(":") + 1); - $(self).val(price); - $(self).keyup(); //模拟键盘操作 - $('.price-list').remove(); //移除价格列表 - }); - //点击空白处移除价格列表 - $(".datagrid-body").off("click").on("click",function(){ - $('.price-list').remove(); //移除价格列表 - }); - } - }, - error: function(){ - $.messager.alert('错误提示','查询商品信息异常,请稍后再试!','error'); - return; - } - }); + return; } }); //修改含税单价,自动计算单价、金额、税额、价税合计和合计 diff --git a/erp_web/js/pages/materials/disassemble_list.js b/erp_web/js/pages/materials/disassemble_list.js index bda18392..f2235d0c 100644 --- a/erp_web/js/pages/materials/disassemble_list.js +++ b/erp_web/js/pages/materials/disassemble_list.js @@ -2094,51 +2094,7 @@ function autoReckon() { return; } else { - $.ajax({ - url: "/material/findById", - type: "get", - dataType: "json", - data: { - id: mValue - 0 - }, - success: function(res){ - if(res && res.rows && res.rows[0]) { - var retailPrice = res.rows[0].RetailPrice; - var presetPriceOne = res.rows[0].PresetPriceOne; - var presetPriceTwo = res.rows[0].PresetPriceTwo; - //定义模版 - var temp = "
"; - temp +="
    "; - temp +="
  • 批发价:" + presetPriceTwo + "
  • "; - temp +="
  • 零售价:" + retailPrice + "
  • "; - temp +="
"; - temp +="
"; - if($('.price-list').length){ - $('.price-list').remove(); //如果存在价格列表先移除 - } - else { - if(presetPriceTwo != undefined){ //多单位的商品 - $(self).after(temp); //加载列表信息 - } - } - $('.price-list ul li').off("click").on("click",function(){ - var price = $(this).text(); - price = price.substring(price.indexOf(":") + 1); - $(self).val(price); - $(self).keyup(); //模拟键盘操作 - $('.price-list').remove(); //移除价格列表 - }); - //点击空白处移除价格列表 - $(".datagrid-body").off("click").on("click",function(){ - $('.price-list').remove(); //移除价格列表 - }); - } - }, - error: function(){ - $.messager.alert('错误提示','查询商品信息异常,请稍后再试!','error'); - return; - } - }); + return; } }); //修改含税单价,自动计算单价、金额、税额、价税合计和合计 diff --git a/erp_web/js/pages/materials/other_in_list.js b/erp_web/js/pages/materials/other_in_list.js index 41b716de..26643f76 100644 --- a/erp_web/js/pages/materials/other_in_list.js +++ b/erp_web/js/pages/materials/other_in_list.js @@ -2176,51 +2176,7 @@ function autoReckon() { return; } else { - $.ajax({ - url: "/material/findById", - type: "get", - dataType: "json", - data: { - id: mValue - 0 - }, - success: function(res){ - if(res && res.rows && res.rows[0]) { - var retailPrice = res.rows[0].RetailPrice; - var presetPriceOne = res.rows[0].PresetPriceOne; - var presetPriceTwo = res.rows[0].PresetPriceTwo; - //定义模版 - var temp = "
"; - temp +="
    "; - temp +="
  • 批发价:" + presetPriceTwo + "
  • "; - temp +="
  • 零售价:" + retailPrice + "
  • "; - temp +="
"; - temp +="
"; - if($('.price-list').length){ - $('.price-list').remove(); //如果存在价格列表先移除 - } - else { - if(presetPriceTwo != undefined){ //多单位的商品 - $(self).after(temp); //加载列表信息 - } - } - $('.price-list ul li').off("click").on("click",function(){ - var price = $(this).text(); - price = price.substring(price.indexOf(":") + 1); - $(self).val(price); - $(self).keyup(); //模拟键盘操作 - $('.price-list').remove(); //移除价格列表 - }); - //点击空白处移除价格列表 - $(".datagrid-body").off("click").on("click",function(){ - $('.price-list').remove(); //移除价格列表 - }); - } - }, - error: function(){ - $.messager.alert('错误提示','查询商品信息异常,请稍后再试!','error'); - return; - } - }); + return; } }); //修改含税单价,自动计算单价、金额、税额、价税合计和合计 diff --git a/erp_web/js/pages/materials/other_out_list.js b/erp_web/js/pages/materials/other_out_list.js index 472d8a5d..964f2ac0 100644 --- a/erp_web/js/pages/materials/other_out_list.js +++ b/erp_web/js/pages/materials/other_out_list.js @@ -2087,7 +2087,51 @@ function autoReckon() { return; } else { - return; + $.ajax({ + url: "/material/findById", + type: "get", + dataType: "json", + data: { + id: mValue - 0 + }, + success: function(res){ + if(res && res.rows && res.rows[0]) { + var retailPrice = res.rows[0].RetailPrice; + var presetPriceOne = res.rows[0].PresetPriceOne; + var presetPriceTwo = res.rows[0].PresetPriceTwo; + //定义模版 + var temp = "
"; + temp +="
    "; + temp +="
  • 批发价:" + presetPriceTwo + "
  • "; + temp +="
  • 零售价:" + retailPrice + "
  • "; + temp +="
"; + temp +="
"; + if($('.price-list').length){ + $('.price-list').remove(); //如果存在价格列表先移除 + } + else { + if(presetPriceTwo != undefined){ //多单位的商品 + $(self).after(temp); //加载列表信息 + } + } + $('.price-list ul li').off("click").on("click",function(){ + var price = $(this).text(); + price = price.substring(price.indexOf(":") + 1); + $(self).val(price); + $(self).keyup(); //模拟键盘操作 + $('.price-list').remove(); //移除价格列表 + }); + //点击空白处移除价格列表 + $(".datagrid-body").off("click").on("click",function(){ + $('.price-list').remove(); //移除价格列表 + }); + } + }, + error: function(){ + $.messager.alert('错误提示','查询商品信息异常,请稍后再试!','error'); + return; + } + }); } }); //修改含税单价,自动计算单价、金额、税额、价税合计和合计 diff --git a/erp_web/js/pages/materials/purchase_back_list.js b/erp_web/js/pages/materials/purchase_back_list.js index 89dacdac..5104f489 100644 --- a/erp_web/js/pages/materials/purchase_back_list.js +++ b/erp_web/js/pages/materials/purchase_back_list.js @@ -2124,7 +2124,51 @@ function autoReckon() { return; } else { - return; + $.ajax({ + url: "/material/findById", + type: "get", + dataType: "json", + data: { + id: mValue - 0 + }, + success: function(res){ + if(res && res.rows && res.rows[0]) { + var retailPrice = res.rows[0].RetailPrice; + var presetPriceOne = res.rows[0].PresetPriceOne; + var presetPriceTwo = res.rows[0].PresetPriceTwo; + //定义模版 + var temp = "
"; + temp +="
    "; + temp +="
  • 批发价:" + presetPriceTwo + "
  • "; + temp +="
  • 零售价:" + retailPrice + "
  • "; + temp +="
"; + temp +="
"; + if($('.price-list').length){ + $('.price-list').remove(); //如果存在价格列表先移除 + } + else { + if(presetPriceTwo != undefined){ //多单位的商品 + $(self).after(temp); //加载列表信息 + } + } + $('.price-list ul li').off("click").on("click",function(){ + var price = $(this).text(); + price = price.substring(price.indexOf(":") + 1); + $(self).val(price); + $(self).keyup(); //模拟键盘操作 + $('.price-list').remove(); //移除价格列表 + }); + //点击空白处移除价格列表 + $(".datagrid-body").off("click").on("click",function(){ + $('.price-list').remove(); //移除价格列表 + }); + } + }, + error: function(){ + $.messager.alert('错误提示','查询商品信息异常,请稍后再试!','error'); + return; + } + }); } }); //修改含税单价,自动计算单价、金额、税额、价税合计和合计 diff --git a/erp_web/js/pages/materials/purchase_in_list.js b/erp_web/js/pages/materials/purchase_in_list.js index 069b7267..cacac4e1 100644 --- a/erp_web/js/pages/materials/purchase_in_list.js +++ b/erp_web/js/pages/materials/purchase_in_list.js @@ -2201,51 +2201,7 @@ function autoReckon() { return; } else { - $.ajax({ - url: "/material/findById", - type: "get", - dataType: "json", - data: { - id: mValue - 0 - }, - success: function(res){ - if(res && res.rows && res.rows[0]) { - var retailPrice = res.rows[0].RetailPrice; - var presetPriceOne = res.rows[0].PresetPriceOne; - var presetPriceTwo = res.rows[0].PresetPriceTwo; - //定义模版 - var temp = "
"; - temp +="
    "; - temp +="
  • 批发价:" + presetPriceTwo + "
  • "; - temp +="
  • 零售价:" + retailPrice + "
  • "; - temp +="
"; - temp +="
"; - if($('.price-list').length){ - $('.price-list').remove(); //如果存在价格列表先移除 - } - else { - if(presetPriceTwo != undefined){ //多单位的商品 - $(self).after(temp); //加载列表信息 - } - } - $('.price-list ul li').off("click").on("click",function(){ - var price = $(this).text(); - price = price.substring(price.indexOf(":") + 1); - $(self).val(price); - $(self).keyup(); //模拟键盘操作 - $('.price-list').remove(); //移除价格列表 - }); - //点击空白处移除价格列表 - $(".datagrid-body").off("click").on("click",function(){ - $('.price-list').remove(); //移除价格列表 - }); - } - }, - error: function(){ - $.messager.alert('错误提示','查询商品信息异常,请稍后再试!','error'); - return; - } - }); + return; } }); //修改含税单价,自动计算单价、金额、税额、价税合计和合计 diff --git a/erp_web/js/pages/materials/purchase_orders_list.js b/erp_web/js/pages/materials/purchase_orders_list.js index b7cc4a12..a3ece096 100644 --- a/erp_web/js/pages/materials/purchase_orders_list.js +++ b/erp_web/js/pages/materials/purchase_orders_list.js @@ -2196,51 +2196,7 @@ function autoReckon() { return; } else { - $.ajax({ - url: "/material/findById", - type: "get", - dataType: "json", - data: { - id: mValue - 0 - }, - success: function(res){ - if(res && res.rows && res.rows[0]) { - var retailPrice = res.rows[0].RetailPrice; - var presetPriceOne = res.rows[0].PresetPriceOne; - var presetPriceTwo = res.rows[0].PresetPriceTwo; - //定义模版 - var temp = "
"; - temp +="
    "; - temp +="
  • 批发价:" + presetPriceTwo + "
  • "; - temp +="
  • 零售价:" + retailPrice + "
  • "; - temp +="
"; - temp +="
"; - if($('.price-list').length){ - $('.price-list').remove(); //如果存在价格列表先移除 - } - else { - if(presetPriceTwo != undefined){ //多单位的商品 - $(self).after(temp); //加载列表信息 - } - } - $('.price-list ul li').off("click").on("click",function(){ - var price = $(this).text(); - price = price.substring(price.indexOf(":") + 1); - $(self).val(price); - $(self).keyup(); //模拟键盘操作 - $('.price-list').remove(); //移除价格列表 - }); - //点击空白处移除价格列表 - $(".datagrid-body").off("click").on("click",function(){ - $('.price-list').remove(); //移除价格列表 - }); - } - }, - error: function(){ - $.messager.alert('错误提示','查询商品信息异常,请稍后再试!','error'); - return; - } - }); + return; } }); //修改含税单价,自动计算单价、金额、税额、价税合计和合计 diff --git a/erp_web/js/pages/materials/retail_back_list.js b/erp_web/js/pages/materials/retail_back_list.js index 662d9507..979b932c 100644 --- a/erp_web/js/pages/materials/retail_back_list.js +++ b/erp_web/js/pages/materials/retail_back_list.js @@ -18,13 +18,6 @@ var depotHeadID = 0; var preTotalPrice = 0; //前一次加载的金额 var orgDepotHead = ""; var editIndex = undefined; -var listTitle = ""; //单据标题 -var listType = ""; //入库 出库 -var listSubType = ""; //采购 销售等 -var payTypeTitle = "";//付款 收款 -var organUrl = ""; //组织数据接口地址 -var amountNum = ""; //单据编号开头字符 -var depotString = ""; //店铺id列表 /**默认编号有意义吗,不如空着吧*/ var orgDefaultId=''; //单位默认编号 var orgDefaultList; //存储查询出来的会员列表 @@ -37,9 +30,18 @@ var otherColumns = true; //明细中的‘别名’列是否显示 var btnEnableList = getBtnStr(); //获取按钮的权限 var mPropertyList = ""; //商品属性列表 var defaultAccountId = 0; //默认账户id +//改变宽度和高度 +$("#searchPanel").panel({width:webW-2}); +$("#tablePanel").panel({width:webW-2}); +var listTitle = "零售退货列表"; //单据标题 +var depotString = "|"; //店铺id列表 +var listType ="入库";//入库 出库 +var listSubType = "零售退货";//采购 销售等 +var payTypeTitle = "付款"; //付款 收款 +var organUrl ="/supplier/findBySelect_retail"; //组织数据接口地址 +var amountNum ="LSTH";//单据编号开头字符 $(function(){ //初始化系统基础信息 - getType(); initSystemData_UB(); initSelectInfo_UB(); initSystemData_depot(); @@ -57,108 +59,6 @@ $(function(){ initForm(); bindEvent();//绑定操作事件 }); -//根据单据名称获取类型 -function getType(){ - listTitle = $("#tablePanel").prev().text(); - depotString = "|"; - //改变宽度和高度 - $("#searchPanel").panel({width:webW-2}); - $("#tablePanel").panel({width:webW-2}); - var supUrl = "/supplier/findBySelect_sup"; //供应商接口 - var cusUrl = "/supplier/findBySelect_cus?UBType=UserCustomer&UBKeyId=" + kid; //客户接口 - var retailUrl = "/supplier/findBySelect_retail"; //散户接口 - if(listTitle === "采购订单列表"){ - listType = "其它"; - listSubType = "采购订单"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "CGDD"; - } - else if(listTitle === "采购入库列表"){ - listType = "入库"; - listSubType = "采购"; - payTypeTitle = "付款"; - organUrl = supUrl; - amountNum = "CGRK"; - } - else if(listTitle === "零售退货列表"){ - listType = "入库"; - listSubType = "零售退货"; //注:用预付款购买的产品不能退货 - payTypeTitle = "付款"; - organUrl = retailUrl; - amountNum = "LSTH"; - } - else if(listTitle === "销售退货列表"){ - listType = "入库"; - listSubType = "销售退货"; - payTypeTitle = "付款"; - organUrl = cusUrl; - amountNum = "XSTH"; - } - else if(listTitle === "其它入库列表"){ - listType = "入库"; - listSubType = "其它"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "QTRK"; - } - else if(listTitle === "零售出库列表"){ - listType = "出库"; - listSubType = "零售"; - payTypeTitle = "收款"; - organUrl = retailUrl; - amountNum = "LSCK"; - } - else if(listTitle === "销售订单列表"){ - listType = "其它"; - listSubType = "销售订单"; - payTypeTitle = "隐藏"; - organUrl = cusUrl; - amountNum = "XSDD"; - } - else if(listTitle === "销售出库列表"){ - listType = "出库"; - listSubType = "销售"; - payTypeTitle = "收款"; - organUrl = cusUrl; - amountNum = "XSCK"; - } - else if(listTitle === "采购退货列表"){ - listType = "出库"; - listSubType = "采购退货"; - payTypeTitle = "收款"; - organUrl = supUrl; - amountNum = "CGTH"; - } - else if(listTitle === "其它出库列表"){ - listType = "出库"; - listSubType = "其它"; - payTypeTitle = "隐藏"; - organUrl = cusUrl; - amountNum = "QTCK"; - } - else if(listTitle === "调拨出库列表"){ - listType = "出库"; - listSubType = "调拨"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "DBCK"; - } - else if(listTitle === "组装单列表"){ - listType = "其它"; - listSubType = "组装单"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "ZZD"; - } - else if(listTitle === "拆卸单列表"){ - listType = "其它"; - listSubType = "拆卸单"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "CXD"; - } -} //初始化系统基础信息 function initSystemData_UB(){ $.ajax({ @@ -264,23 +164,8 @@ function initSupplier(){ orgDefaultId = data[i].id; } } - if(listSubType === "零售"){ - orgDefaultList = res; - } }, onSelect: function(rec){ - if(listSubType === "零售"){ - var option = ""; - if(rec.supplier !== "非会员" && rec.advanceIn >0){ - option = ''; - option += ''; - } - else { - option += ''; - } - $("#payType").empty().append(option); - } - else{ $.ajax({ type:"get", url: "/supplier/findById", @@ -299,7 +184,6 @@ function initSupplier(){ } }); - } } }); } @@ -504,38 +388,12 @@ function initTableData(){ else { isHiddenStatus = true; //隐藏 } - var isShowLastMoneyColumn = false; //是否显示优惠后金额和价税合计,true为隐藏,false为显示 - if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowLastMoneyColumn = true; //隐藏 - } + var isShowLastMoneyColumn = true; //是否显示优惠后金额和价税合计,true为隐藏,false为显示 var isShowOrganNameColumn = false; //是否显示供应商、客户等信息,true为隐藏,false为显示 - var organNameTitle = ""; //组织名称标题 - if(listSubType == "调拨" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowOrganNameColumn = true; //隐藏 - } - else { - if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "采购退货列表" || listTitle == "其它入库列表"){ - organNameTitle = "供应商名称"; - } - else if(listTitle == "销售订单列表" || listTitle == "销售退货列表" || listTitle == "销售出库列表" || listTitle == "其它出库列表"){ - organNameTitle = "客户名称"; - } - else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ - organNameTitle = "会员卡号"; - } - } + var organNameTitle = "会员卡号"; //组织名称标题 var opWidth = 90; //操作宽度 var isShowSkip = false; //是否显示跳转按钮 var opTitle = ""; //跳转按钮的标题 - if(listTitle == "采购订单列表") { - opWidth = 120; - isShowSkip = true; - opTitle = "转采购入库"; - } else if(listTitle == "销售订单列表") { - opWidth = 120; - isShowSkip = true; - opTitle = "转销售出库"; - } $('#tableData').datagrid({ height:heightInfo, rownumbers: false, @@ -555,25 +413,10 @@ function initTableData(){ { title: '操作',field: 'op',align:"center",width:opWidth, formatter:function(value, rec,index) { var str = ''; - // var rowInfo = rec.id + 'AaBb' + rec.projectid+ 'AaBb' + rec.number+ 'AaBb' + rec.operpersonname - // + 'AaBb' + rec.opertimeStr+ 'AaBb' + rec.organid+ 'AaBb' + rec.handspersonid - // + 'AaBb' + rec.accountid+ 'AaBb' + rec.changeamount+ 'AaBb' + rec.remark - // + 'AaBb' + rec.projectName+ 'AaBb' + rec.organName+ 'AaBb' + rec.handsPersonName - // + 'AaBb' + rec.accountName + 'AaBb' + rec.totalprice + 'AaBb' + rec.allocationprojectid - // + 'AaBb' + rec.allocationProjectName + 'AaBb' + rec.paytype + 'AaBb' + rec.salesman - // + 'AaBb' + rec.discount + 'AaBb' + rec.discountmoney + 'AaBb' + rec.discountlastmoney - // + 'AaBb' + rec.accountidlist + 'AaBb' + rec.accountmoneylist - // + 'AaBb' + rec.othermoney + 'AaBb' + rec.othermoneylist + 'AaBb' + rec.othermoneyitem - // + 'AaBb' + rec.accountday + 'AaBb' + rec.linknumber; - // rowInfo = rowInfo.replace(/\"/g, ""); - // rowInfo = rowInfo.replace(/\[|]/g,""); var orgId = rec.organid? rec.organid:0; str += '   '; str += '   '; str += ''; - if(isShowSkip) { - str += '   '; - } return str; } }, @@ -607,11 +450,6 @@ function initTableData(){ } else if(value === "1") { return "已审核"; } else if(value === "2") { - if(listTitle == "采购订单列表") { - return "已转采购"; - } else if(listTitle == "销售订单列表") { - return "已转销售"; - } } } } @@ -650,23 +488,12 @@ function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ var basicUnit = unitArr[0]; //基础单位 var otherUnit = unitArr[1]; //副单位 var unitSetInput =""; //单位 - if(listSubType === "采购订单" || listSubType === "采购" || listSubType === "采购退货"){ - unitSetInput = rec.data[0].firstinunit; - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = thisRatio; - } + unitSetInput = rec.data[0].firstoutunit; + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; } - else if(listSubType === "销售订单" || listSubType === "销售" || listSubType === "销售退货" || listSubType === "零售" || listSubType === "零售退货"){ - unitSetInput = rec.data[0].firstoutunit; - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = thisRatio; - } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = thisRatio; } } //查询库存 @@ -746,10 +573,8 @@ function statisticsFun(body,UnitPrice,OperNumber,footer,taxRate){ var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 - if(listSubType == "零售" || listSubType == "零售退货") { - $("#ChangeAmount, #getAmount").val((TotalPrice).toFixed(2)); - $("#backAmount").val(0); - } + $("#ChangeAmount, #getAmount").val((TotalPrice).toFixed(2)); + $("#backAmount").val(0); } //初始化表格数据-商品列表-编辑状态 function initTableData_material(type,TotalPrice){ @@ -764,23 +589,11 @@ function initTableData_material(type,TotalPrice){ var anotherDepotHeadName = ""; //对方仓库的列的标题 var anotherDepotUrl = ""; //对方仓库接口地址 var anotherDepotTextField = ""; - if(listSubType == "调拨"){ - isShowAnotherDepot = false; //调拨时候显示对方仓库 - anotherDepotHeadName = "调入仓库"; - anotherDepotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; - anotherDepotTextField = "depotName"; - } depotHeadName = "仓库名称"; depotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; depotTextField = "depotName"; - var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 - if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowTaxColumn = true; //隐藏 - } + var isShowTaxColumn = true; //是否显示税率相关的列,true为隐藏,false为显示 var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 - if(listSubType == "组装单" || listSubType == "拆卸单"){ - isShowMaterialTypeColumn = false; //显示 - } $('#materialData').datagrid({ height:245, rownumbers: false, @@ -905,23 +718,12 @@ function initTableData_material(type,TotalPrice){ var unitSetInput =""; //单位 body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 var loadRatio = 1; //在单位输入框上面加载比例字段 - if(listSubType === "采购" || listSubType === "采购退货" || listSubType === "采购订单"){ - unitSetInput = res.data[0].firstinunit; //给单位文本框赋值 - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = ratio; - } + unitSetInput = res.data[0].firstoutunit; //给单位文本框赋值 + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; } - else if(listSubType === "销售" || listSubType === "销售退货" || listSubType === "销售订单" || listSubType === "零售" || listSubType === "零售退货"){ - unitSetInput = res.data[0].firstoutunit; //给单位文本框赋值 - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = ratio; - } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = ratio; } body.find("[field='Unit']").find(input).val(unitSetInput).attr("data-ratio", loadRatio); //设置-首选单位 @@ -952,27 +754,11 @@ function initTableData_material(type,TotalPrice){ var type = $(this).attr("data-type"); var UnitPrice = 0; if(type === "basic"){ - if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { - UnitPrice = basicPresetPriceOne; - } - else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { - UnitPrice = basicPresetPriceTwo; - } - else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ - UnitPrice = retailPriceOne; - } + UnitPrice = retailPriceOne; body.find("[field='Stock']").find(input).val(stock); //修改库存 } else if(type === "other"){ - if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { - UnitPrice = otherPresetPriceOne; - } - else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { - UnitPrice = otherPresetPriceTwo; - } - else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ - UnitPrice = retailPriceTwo; - } + UnitPrice = retailPriceTwo; body.find("[field='Stock']").find(input).val((stock/ratio).toFixed(2)); //修改库存 } body.find("[field='UnitPrice']").find(input).val(UnitPrice); //单价 @@ -992,43 +778,15 @@ function initTableData_material(type,TotalPrice){ }); } var detailPrice = 0; //明细列表-单价 - if(listSubType == "零售" || listSubType == "零售退货") { - if(res.data[0].unit) { //如果存在计量单位信息 - detailPrice = retailPrice; - } - else { - if (firstOutUnit == basicUnit) { - detailPrice = retailPriceOne; - } - else if (firstOutUnit == otherUnit) { - detailPrice = retailPriceTwo; - } - } + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = retailPrice; } - else if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { - if(res.data[0].unit) { //如果存在计量单位信息 - detailPrice = presetPriceOne; + else { + if (firstOutUnit == basicUnit) { + detailPrice = retailPriceOne; } - else { - if (firstInUnit == basicUnit) { - detailPrice = basicPresetPriceOne; - } - else if (firstInUnit == otherUnit) { - detailPrice = otherPresetPriceOne; - } - } - } - else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { - if(res.data[0].unit) { //如果存在计量单位信息 - detailPrice = presetPriceTwo; - } - else { - if(firstOutUnit==basicUnit) { - detailPrice = basicPresetPriceTwo; - } - else if(firstOutUnit==otherUnit){ - detailPrice = otherPresetPriceTwo; - } + else if (firstOutUnit == otherUnit) { + detailPrice = retailPriceTwo; } } body.find("[field='OperNumber']").find(input).val(1); //数量初始化为1 @@ -1175,19 +933,9 @@ function initTableData_material_show(TotalPrice){ var isShowAnotherDepot = true; //显示对方仓库,true为隐藏,false为显示 var anotherDepotHeadName = ""; //对方仓库的列的标题 var depotHeadName = ""; //仓库的列的标题 - if(listSubType == "调拨"){ - isShowAnotherDepot = false; //调拨时候显示对方仓库 - anotherDepotHeadName = "调入仓库"; - } depotHeadName = "仓库名称"; - var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 - if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowTaxColumn = true; //隐藏 - } + var isShowTaxColumn = true; //是否显示税率相关的列,true为隐藏,false为显示 var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 - if(listSubType == "组装单" || listSubType == "拆卸单"){ - isShowMaterialTypeColumn = false; //显示 - } $('#materialDataShow').datagrid({ height:245, rownumbers: true, @@ -1292,7 +1040,6 @@ function deleteDepotHead(depotHeadID, thisOrganId, totalPrice, status){ if (r) { $.ajax({ type:"post", - // url: "/depotHead/" + depotHeadID + "/delete", url: "/depotHead/deleteDepotHeadAndDetail", dataType: "json", data:{ @@ -1345,11 +1092,6 @@ function skipDepotHead(index, status){ $.messager.alert('提示','未审核和已转的单据禁止操作!','warning'); } else { sessionStorage.setItem("rowInfo", JSON.stringify(rowsdata)); //将单据信息存入缓存中 - if(listTitle == "采购订单列表") { - parent.addTab("订单转采购", "../materials/purchase_in_list.html?t=skip", ""); - } else if(listTitle == "销售订单列表") { - parent.addTab("订单转销售", "../materials/sale_out_list.html?t=skip", ""); - } } } @@ -1377,29 +1119,6 @@ function batDeleteDepotHead(){ ids += row[i].id + ","; } if (ids) { - //批量更新会员的预收款信息 - for (var i = 0; i < row.length; i++) { - if (listSubType === "零售") { - $.ajax({ - type: "post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data: { - supplierId: row[i].organid, //会员id - advanceIn: row[i].totalprice //删除时同时返还用户的预付款 - }, - success: function (res) { - if (res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function () { - $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); - return; - } - }); - } - } //批量删除 $.ajax({ type: "post", @@ -1602,7 +1321,6 @@ function addDepotHead(){ url = '/depotHead/addDepotHeadAndDetail'; //零售单据修改收款时,自动计算找零 - if(listSubType == "零售" || listSubType == "零售退货") { $("#payType").val("现付"); $("#OrganId").combobox("setValue", orgDefaultId); //自动默认选择非会员 // 鼠标点下时清空选择项 @@ -1642,7 +1360,6 @@ function addDepotHead(){ backAmount.val((getAmount.val()-changeAmount.val()).toFixed(2)); } }); - } } //编辑信息 @@ -1698,31 +1415,6 @@ function editDepotHead(index, status){ $(".window-mask").css({ width: webW ,height: webH}); depotHeadID = rowsdata.id; - if(listSubType == "零售"){ - var option = ""; - if(rowsdata.paytype == "预付款"){ - option = ''; - option += ''; - } - else { - option += ''; - } - $("#payType").empty().append(option); - } - - if(listSubType == "销售" || listSubType == "销售退货"){ - if(rowsdata.salesman){ - var arr = rowsdata.salesman.split(","); - var salesmanArray = []; - for(var i=0;i","")); - } - } - $("#Salesman").combobox('setValues', salesmanArray); - } - } - //采购入库、销售出库的多账户加载 if(rowsdata.accountidlist!=undefined && rowsdata.accountmoneylist!=undefined){ $("#AccountId").val("many"); //下拉框选中多账户 @@ -1730,22 +1422,20 @@ function editDepotHead(index, status){ var accountMoneyArr = rowsdata.accountmoneylist.split(","); accountMoneyArr = changeListFmtPlus(accountMoneyArr) //将数组单个金额中的数值转为正数 - if(listSubType == "零售" || listSubType == "零售退货") { - var manyAccountMoney = 0; //多账户合计-零售 - for (var j = 0; j < accountArr.length; j++) { - if (accountList != null) { - for (var i = 0; i < accountList.length; i++) { - var account = accountList[i]; - if (accountArr[j] == account.id) { - manyAccountMoney += accountMoneyArr[j] - 0; //多账户合计-零售 - } + var manyAccountMoney = 0; //多账户合计-零售 + for (var j = 0; j < accountArr.length; j++) { + if (accountList != null) { + for (var i = 0; i < accountList.length; i++) { + var account = accountList[i]; + if (accountArr[j] == account.id) { + manyAccountMoney += accountMoneyArr[j] - 0; //多账户合计-零售 } } } - $("#getAmount").val(manyAccountMoney); //收款金额、付款金额 - var changeAmount = $("#ChangeAmount").val()-0; - $("#backAmount").val((manyAccountMoney-changeAmount).toFixed(2)); //找零 } + $("#getAmount").val(manyAccountMoney); //收款金额、付款金额 + var changeAmount = $("#ChangeAmount").val()-0; + $("#backAmount").val((manyAccountMoney-changeAmount).toFixed(2)); //找零 $("#AccountId").attr("data-accountArr", JSON.stringify(accountArr)).attr("data-accountMoneyArr", JSON.stringify(accountMoneyArr)); //json数据存储 $(".many-account-ico").show(); //显示多账户的ico图标 @@ -1772,7 +1462,6 @@ function editDepotHead(index, status){ //查看信息 function showDepotHead(index){ - // var depotHeadInfo = depotHeadTotalInfo.split("AaBb"); //获取当前行 var rowsdata = $("#tableData").datagrid("getRows")[index]; var manyAccountMoney = 0; //多账户合计-零售 @@ -1841,50 +1530,15 @@ function showDepotHead(index){ depotHeadID = rowsdata.id; initTableData_material_show(TotalPrice); //商品列表-查看状态 - //零售单据展示数据 - if(listSubType == "零售" || listSubType == "零售退货"){ - var changeAccount = $("#depotHeadDlgShow .change-amount-show").text() -0; - if(manyAccountMoney!==0){ - $("#depotHeadDlgShow .get-amount-show").text((manyAccountMoney).toFixed(2)); - $("#depotHeadDlgShow .back-amount-show").text((manyAccountMoney -changeAccount).toFixed(2)); - } - else { - $("#depotHeadDlgShow .get-amount-show").text((changeAccount).toFixed(2)); - $("#depotHeadDlgShow .back-amount-show").text(0); - } +//零售单据展示数据 + var changeAccount = $("#depotHeadDlgShow .change-amount-show").text() -0; + if(manyAccountMoney!==0){ + $("#depotHeadDlgShow .get-amount-show").text((manyAccountMoney).toFixed(2)); + $("#depotHeadDlgShow .back-amount-show").text((manyAccountMoney -changeAccount).toFixed(2)); } - if(listSubType === "销售" || listSubType === "销售退货"){ - if(rowsdata.salesman){ - var arr = rowsdata.salesman.split(","); - var salesmanStr = ""; - for(var i=0;i",""); - } - else { - salesmanStr += arr[i].replace("<","").replace(">","") + ","; - } - } - } - $.ajax({ - type: "get", - url: "/person/getPersonByIds", - data: { - personIDs: salesmanStr - }, - success:function(res){ - if(res && res.code === 200){ - if(res.data) { - $("#SalesmanShow").text(res.data.names); //销售人员列表 - } - } - }, - error:function(){ - - } - }); - } + else { + $("#depotHeadDlgShow .get-amount-show").text((changeAccount).toFixed(2)); + $("#depotHeadDlgShow .back-amount-show").text(0); } } @@ -1978,98 +1632,13 @@ function bindEvent(){ return; } } - //输入框提示 - if(listTitle === "采购订单列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择供应商!','warning'); - return; - } + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择退货单位!','warning'); + return; } - else if(listTitle === "采购入库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择供应商!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择结算账户!','warning'); - return; - } - } - else if(listTitle === "零售退货列表"){ - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择付款账户!','warning'); - return; - } - if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { - $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); - return; - } - } - else if(listTitle === "销售退货列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择退货单位!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择付款账户!','warning'); - return; - } - } - else if(listTitle === "其它入库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择往来单位!','warning'); - return; - } - } - else if(listTitle === "零售出库列表"){ - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择收款账户!','warning'); - return; - } - if($("#backAmount").val()-0 <0){ - $.messager.alert('提示','找零金额不能小于0!','warning'); - return; - } - if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { - $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); - return; - } - - } - else if(listTitle === "销售订单列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择购买单位!','warning'); - return; - } - } - else if(listTitle === "销售出库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择购买单位!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择收款账户!','warning'); - return; - } - } - else if(listTitle === "采购退货列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择收货单位!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择收款账户!','warning'); - return; - } - } - else if(listTitle === "其它出库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择往来单位!','warning'); - return; - } - } - else if(listTitle === "调拨出库列表"){ - + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择付款账户!','warning'); + return; } //进行明细的校验 if(depotHeadID ==0) { @@ -2098,36 +1667,15 @@ function bindEvent(){ accountMoneyList = accountMoneyList.replace(reg,""); //替换所有的双引号 accountMoneyArr = accountMoneyList.split(","); //转为数组 } - if(listSubType === "采购订单"||listSubType === "采购"||listSubType === "零售退货"||listSubType === "销售退货"){ - //付款为负数 - ChangeAmount = 0 - ChangeAmount; - TotalPrice = 0 - TotalPrice; - if(accountMoneyArr) { - accountMoneyArr = changeListFmtMinus(accountMoneyArr); //将数组单个金额中的数值转为负数 - } + //付款为负数 + ChangeAmount = 0 - ChangeAmount; + TotalPrice = 0 - TotalPrice; + if(accountMoneyArr) { + accountMoneyArr = changeListFmtMinus(accountMoneyArr); //将数组单个金额中的数值转为负数 } //零售时候,可以从会员预付款中扣款 var thisPayType = "现付"; - if(listSubType === "零售") { - if($("#payType").val() ==="预付款") { - thisPayType = "预付款"; - } - } var SalesmanStr = ""; - if(listSubType === "销售" || listSubType === "销售退货"){ - var Salesman = $('#Salesman').combobox('getValues').toString(); //销售人员 - if(Salesman) { - var SalesmanArray = Salesman.split(","); - for (var i = 0; i < SalesmanArray.length; i++) { - if (i === SalesmanArray.length - 1) { - SalesmanStr += "<" + SalesmanArray[i] + ">"; - } - else { - SalesmanStr += "<" + SalesmanArray[i] + ">,"; - } - } - } - } var getAccountID = $.trim($("#AccountId").val()); if($("#AccountId").val() === "many"){ //多账户 getAccountID = null; @@ -2187,34 +1735,6 @@ function bindEvent(){ showDepotHeadDetails(opts.pageNumber,opts.pageSize); } - if(thisPayType === "预付款") { - //更新用户信息-预付款 - var advanceIn = 0; //预付款金额 - if(depotHeadID){ - advanceIn = TotalPrice - preTotalPrice; //修改时,预付款=合计金额-加载金额 - } - else{ - advanceIn = TotalPrice; //新增时,预付款=合计金额 - } - $.ajax({ - type:"post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data:{ - supplierId: OrganId, //会员id - advanceIn: 0 - advanceIn //保存的同时扣掉用户的预付款 - }, - success: function(res){ - if(res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function(){ - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); - } //保存明细记录 if(depotHeadID ==0) @@ -2394,14 +1914,9 @@ function bindEvent(){ if(accountArr.length && accountMoneyArr.length) { $("#AccountId").attr("data-accountArr",JSON.stringify(accountArr)).attr("data-accountMoneyArr",JSON.stringify(accountMoneyArr)); //json数据存储 } - if(listSubType==="零售" || listSubType==="零售退货") { - $("#getAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 - var backAmount = $("#getAmount").val() - $("#ChangeAmount").val(); - $("#backAmount").val((backAmount - 0).toFixed(2)); //计算找零金额 - } - else { - $("#ChangeAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 - } + $("#getAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 + var backAmount = $("#getAmount").val() - $("#ChangeAmount").val(); + $("#backAmount").val((backAmount - 0).toFixed(2)); //计算找零金额 $("#Debt").val((discountLastMoneyNum-accountMoneyTotal).toFixed(2)); //本次欠款 $("#depotHeadAccountDlg").dialog('close'); }); @@ -2414,12 +1929,7 @@ function bindEvent(){ else { $("#depotHeadAccountDlg").dialog('close'); $("#AccountId").val("").removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 - if(listSubType==="零售" || listSubType==="零售退货"){ - $("#ChangeAmount").prop("readonly","readonly"); - } - else { - $("#ChangeAmount").removeProp("readonly","readonly"); - } + $("#ChangeAmount").prop("readonly","readonly"); $(".many-account-ico").hide(); //隐藏多账户小图标 } } @@ -2443,12 +1953,7 @@ function bindEvent(){ } else{ $(this).removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 - if(listSubType==="零售" || listSubType==="零售退货"){ - $("#ChangeAmount").prop("readonly","readonly"); - } - else { - $("#ChangeAmount").removeProp("readonly","readonly"); - } + $("#ChangeAmount").prop("readonly","readonly"); $(".many-account-ico").hide(); //隐藏多账户小图标 } }); @@ -2466,12 +1971,7 @@ function bindEvent(){ $(this).find(".account-id-dlg").val(accountArr[index]); $(this).find(".account-money-dlg").val(accountMoneyArr[index]); }); - if(listSubType==="零售" || listSubType==="零售退货") { - $("#accountMoneyTotalDlg").text($("#getAmount").val()); - } - else { - $("#accountMoneyTotalDlg").text($("#ChangeAmount").val()); - } + $("#accountMoneyTotalDlg").text($("#getAmount").val()); }); //点击采购费用、销售费用的事件 @@ -2594,94 +2094,6 @@ function bindEvent(){ $("#otherMoneyTotalDlg").text($("#OtherMoney").val()); }); - if(listTitle === "采购入库列表" || listTitle === "其它入库列表" || listTitle === "采购订单列表"|| listTitle === "零售出库列表"|| listTitle === "销售出库列表"|| listTitle === "销售订单列表"){ - var supplierType = "供应商"; - if(listTitle === "零售出库列表"){ - supplierType = "会员"; - }else if(listTitle === "销售出库列表" || listTitle === "销售订单列表"){ - supplierType = "客户"; - } - //检查单位名称是否存在 ++ 重名无法提示问题需要跟进 - function checkSupplierName() { - var supplierName = $.trim($("#supplier").val()); - var orgSupplier = ""; - //表示是否存在 true == 存在 false = 不存在 - var flag = false; - //开始ajax名称检验,不能重名 - if(supplierName.length > 0 &&( orgSupplier.length ==0 || supplierName != orgSupplier)) - { - $.ajax({ - type:"get", - url: "/supplier/checkIsNameExist", - dataType: "json", - async : false, - data: ({ - id : 0, - name : supplierName - }), - success: function (res) { - if(res && res.code === 200) { - if(res.data && res.data.status) { - flag = res.data.status; - if (flag) { - $.messager.alert('提示', '单位名称已经存在', 'info'); - return; - } - } - } - }, - //此处添加错误处理 - error:function() { - $.messager.alert('提示','检查单位名称是否存在异常,请稍后再试!','error'); - return; - } - }); - } - return flag; - } - - //保存供应商信息 - $("#saveSupplier").off("click").on("click",function() { - if(validateForm("supplierFM")) { - return; - } - if(checkSupplierName()){ - return; - } - var reg = /^([0-9])+$/; - var phonenum = $.trim($("#phonenum").val()); - if(phonenum.length>0 && !reg.test(phonenum)) - { - $.messager.alert('提示','电话号码只能是数字','info'); - $("#phonenum").val("").focus(); - return; - } - var beginNeedGet = $.trim($("#BeginNeedGet").val()); - var beginNeedPay = $.trim($("#BeginNeedPay").val()); - if(beginNeedGet && beginNeedPay) { - $.messager.alert('提示','期初应收和期初应付不能同时输入','info'); - return; - } - var url = '/supplier/add'; - var supObj = $("#supplierFM").serializeObject(); - supObj.type = supplierType; - supObj.enabled = 1; - $.ajax({ - url: url, - type:"post", - dataType: "json", - data:{ - info: JSON.stringify(supObj) - }, - success: function(res) { - if (res) { - $('#supplierDlg').dialog('close'); - initSupplier(); //刷新供应商 - } - } - }); - }); - } } function showDepotHeadDetails(pageNo,pageSize){ @@ -2798,9 +2210,6 @@ function autoReckon() { return; } else { - if(listTitle!="销售出库列表" && listTitle!="采购退货列表" && listTitle!="其它出库列表" && listTitle!="调拨出库列表") { - return; - } $.ajax({ url: "/material/findById", type: "get", @@ -2922,9 +2331,6 @@ function autoReckon() { if(rowListLength > 0){ mTypeValue = "普通子件"; } - if(listSubType == "组装单" || listSubType == "拆卸单"){ - mType.find(input).val(mTypeValue).prop("readonly","readonly"); - } },500); } From 9acdd2a851357bba2f531303c0241ee92a25e46b Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Fri, 10 May 2019 10:07:36 +0800 Subject: [PATCH 053/117] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=9B=B6=E5=94=AE?= =?UTF-8?q?=E5=87=BA=E5=BA=93=E5=88=97=E8=A1=A8=EF=BC=8C=E5=8E=BB=E6=8E=89?= =?UTF-8?q?=E5=A4=9A=E4=BD=99js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- erp_web/js/pages/materials/retail_out_list.js | 596 ++---------------- 1 file changed, 46 insertions(+), 550 deletions(-) diff --git a/erp_web/js/pages/materials/retail_out_list.js b/erp_web/js/pages/materials/retail_out_list.js index 662d9507..871706d8 100644 --- a/erp_web/js/pages/materials/retail_out_list.js +++ b/erp_web/js/pages/materials/retail_out_list.js @@ -18,13 +18,6 @@ var depotHeadID = 0; var preTotalPrice = 0; //前一次加载的金额 var orgDepotHead = ""; var editIndex = undefined; -var listTitle = ""; //单据标题 -var listType = ""; //入库 出库 -var listSubType = ""; //采购 销售等 -var payTypeTitle = "";//付款 收款 -var organUrl = ""; //组织数据接口地址 -var amountNum = ""; //单据编号开头字符 -var depotString = ""; //店铺id列表 /**默认编号有意义吗,不如空着吧*/ var orgDefaultId=''; //单位默认编号 var orgDefaultList; //存储查询出来的会员列表 @@ -37,9 +30,18 @@ var otherColumns = true; //明细中的‘别名’列是否显示 var btnEnableList = getBtnStr(); //获取按钮的权限 var mPropertyList = ""; //商品属性列表 var defaultAccountId = 0; //默认账户id +//改变宽度和高度 +$("#searchPanel").panel({width:webW-2}); +$("#tablePanel").panel({width:webW-2}); +var listTitle = "零售出库列表"; //单据标题 +var depotString = "|"; //店铺id列表 +var listType ="出库";//入库 出库 +var listSubType = "零售";//采购 销售等 +var payTypeTitle = "收款"; //付款 收款 +var organUrl ="/supplier/findBySelect_retail"; //组织数据接口地址 +var amountNum ="LSCK";//单据编号开头字符 $(function(){ //初始化系统基础信息 - getType(); initSystemData_UB(); initSelectInfo_UB(); initSystemData_depot(); @@ -57,108 +59,7 @@ $(function(){ initForm(); bindEvent();//绑定操作事件 }); -//根据单据名称获取类型 -function getType(){ - listTitle = $("#tablePanel").prev().text(); - depotString = "|"; - //改变宽度和高度 - $("#searchPanel").panel({width:webW-2}); - $("#tablePanel").panel({width:webW-2}); - var supUrl = "/supplier/findBySelect_sup"; //供应商接口 - var cusUrl = "/supplier/findBySelect_cus?UBType=UserCustomer&UBKeyId=" + kid; //客户接口 - var retailUrl = "/supplier/findBySelect_retail"; //散户接口 - if(listTitle === "采购订单列表"){ - listType = "其它"; - listSubType = "采购订单"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "CGDD"; - } - else if(listTitle === "采购入库列表"){ - listType = "入库"; - listSubType = "采购"; - payTypeTitle = "付款"; - organUrl = supUrl; - amountNum = "CGRK"; - } - else if(listTitle === "零售退货列表"){ - listType = "入库"; - listSubType = "零售退货"; //注:用预付款购买的产品不能退货 - payTypeTitle = "付款"; - organUrl = retailUrl; - amountNum = "LSTH"; - } - else if(listTitle === "销售退货列表"){ - listType = "入库"; - listSubType = "销售退货"; - payTypeTitle = "付款"; - organUrl = cusUrl; - amountNum = "XSTH"; - } - else if(listTitle === "其它入库列表"){ - listType = "入库"; - listSubType = "其它"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "QTRK"; - } - else if(listTitle === "零售出库列表"){ - listType = "出库"; - listSubType = "零售"; - payTypeTitle = "收款"; - organUrl = retailUrl; - amountNum = "LSCK"; - } - else if(listTitle === "销售订单列表"){ - listType = "其它"; - listSubType = "销售订单"; - payTypeTitle = "隐藏"; - organUrl = cusUrl; - amountNum = "XSDD"; - } - else if(listTitle === "销售出库列表"){ - listType = "出库"; - listSubType = "销售"; - payTypeTitle = "收款"; - organUrl = cusUrl; - amountNum = "XSCK"; - } - else if(listTitle === "采购退货列表"){ - listType = "出库"; - listSubType = "采购退货"; - payTypeTitle = "收款"; - organUrl = supUrl; - amountNum = "CGTH"; - } - else if(listTitle === "其它出库列表"){ - listType = "出库"; - listSubType = "其它"; - payTypeTitle = "隐藏"; - organUrl = cusUrl; - amountNum = "QTCK"; - } - else if(listTitle === "调拨出库列表"){ - listType = "出库"; - listSubType = "调拨"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "DBCK"; - } - else if(listTitle === "组装单列表"){ - listType = "其它"; - listSubType = "组装单"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "ZZD"; - } - else if(listTitle === "拆卸单列表"){ - listType = "其它"; - listSubType = "拆卸单"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "CXD"; - } -} + //初始化系统基础信息 function initSystemData_UB(){ $.ajax({ @@ -264,12 +165,9 @@ function initSupplier(){ orgDefaultId = data[i].id; } } - if(listSubType === "零售"){ - orgDefaultList = res; - } + orgDefaultList = res; }, onSelect: function(rec){ - if(listSubType === "零售"){ var option = ""; if(rec.supplier !== "非会员" && rec.advanceIn >0){ option = ''; @@ -280,27 +178,6 @@ function initSupplier(){ } $("#payType").empty().append(option); } - else{ - $.ajax({ - type:"get", - url: "/supplier/findById", - data: { - supplierId: rec.id - }, - dataType: "json", - success: function (res){ - if(res && res.code === 200) { - if(res.data && res.data[0]){ - thisTaxRate = res.data[0].taxRate; //设置当前的税率 - } - } - }, - error:function(){ - - } - }); - } - } }); } @@ -504,38 +381,11 @@ function initTableData(){ else { isHiddenStatus = true; //隐藏 } - var isShowLastMoneyColumn = false; //是否显示优惠后金额和价税合计,true为隐藏,false为显示 - if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowLastMoneyColumn = true; //隐藏 - } + var isShowLastMoneyColumn = true; //是否显示优惠后金额和价税合计,true为隐藏,false为显示 var isShowOrganNameColumn = false; //是否显示供应商、客户等信息,true为隐藏,false为显示 - var organNameTitle = ""; //组织名称标题 - if(listSubType == "调拨" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowOrganNameColumn = true; //隐藏 - } - else { - if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "采购退货列表" || listTitle == "其它入库列表"){ - organNameTitle = "供应商名称"; - } - else if(listTitle == "销售订单列表" || listTitle == "销售退货列表" || listTitle == "销售出库列表" || listTitle == "其它出库列表"){ - organNameTitle = "客户名称"; - } - else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ - organNameTitle = "会员卡号"; - } - } + var organNameTitle = "会员卡号"; //组织名称标题 var opWidth = 90; //操作宽度 - var isShowSkip = false; //是否显示跳转按钮 var opTitle = ""; //跳转按钮的标题 - if(listTitle == "采购订单列表") { - opWidth = 120; - isShowSkip = true; - opTitle = "转采购入库"; - } else if(listTitle == "销售订单列表") { - opWidth = 120; - isShowSkip = true; - opTitle = "转销售出库"; - } $('#tableData').datagrid({ height:heightInfo, rownumbers: false, @@ -555,25 +405,10 @@ function initTableData(){ { title: '操作',field: 'op',align:"center",width:opWidth, formatter:function(value, rec,index) { var str = ''; - // var rowInfo = rec.id + 'AaBb' + rec.projectid+ 'AaBb' + rec.number+ 'AaBb' + rec.operpersonname - // + 'AaBb' + rec.opertimeStr+ 'AaBb' + rec.organid+ 'AaBb' + rec.handspersonid - // + 'AaBb' + rec.accountid+ 'AaBb' + rec.changeamount+ 'AaBb' + rec.remark - // + 'AaBb' + rec.projectName+ 'AaBb' + rec.organName+ 'AaBb' + rec.handsPersonName - // + 'AaBb' + rec.accountName + 'AaBb' + rec.totalprice + 'AaBb' + rec.allocationprojectid - // + 'AaBb' + rec.allocationProjectName + 'AaBb' + rec.paytype + 'AaBb' + rec.salesman - // + 'AaBb' + rec.discount + 'AaBb' + rec.discountmoney + 'AaBb' + rec.discountlastmoney - // + 'AaBb' + rec.accountidlist + 'AaBb' + rec.accountmoneylist - // + 'AaBb' + rec.othermoney + 'AaBb' + rec.othermoneylist + 'AaBb' + rec.othermoneyitem - // + 'AaBb' + rec.accountday + 'AaBb' + rec.linknumber; - // rowInfo = rowInfo.replace(/\"/g, ""); - // rowInfo = rowInfo.replace(/\[|]/g,""); var orgId = rec.organid? rec.organid:0; str += '   '; str += '   '; str += ''; - if(isShowSkip) { - str += '   '; - } return str; } }, @@ -607,11 +442,6 @@ function initTableData(){ } else if(value === "1") { return "已审核"; } else if(value === "2") { - if(listTitle == "采购订单列表") { - return "已转采购"; - } else if(listTitle == "销售订单列表") { - return "已转销售"; - } } } } @@ -650,23 +480,12 @@ function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ var basicUnit = unitArr[0]; //基础单位 var otherUnit = unitArr[1]; //副单位 var unitSetInput =""; //单位 - if(listSubType === "采购订单" || listSubType === "采购" || listSubType === "采购退货"){ - unitSetInput = rec.data[0].firstinunit; - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = thisRatio; - } + unitSetInput = rec.data[0].firstoutunit; + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; } - else if(listSubType === "销售订单" || listSubType === "销售" || listSubType === "销售退货" || listSubType === "零售" || listSubType === "零售退货"){ - unitSetInput = rec.data[0].firstoutunit; - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = thisRatio; - } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = thisRatio; } } //查询库存 @@ -746,10 +565,8 @@ function statisticsFun(body,UnitPrice,OperNumber,footer,taxRate){ var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 - if(listSubType == "零售" || listSubType == "零售退货") { - $("#ChangeAmount, #getAmount").val((TotalPrice).toFixed(2)); - $("#backAmount").val(0); - } + $("#ChangeAmount, #getAmount").val((TotalPrice).toFixed(2)); + $("#backAmount").val(0); } //初始化表格数据-商品列表-编辑状态 function initTableData_material(type,TotalPrice){ @@ -764,23 +581,11 @@ function initTableData_material(type,TotalPrice){ var anotherDepotHeadName = ""; //对方仓库的列的标题 var anotherDepotUrl = ""; //对方仓库接口地址 var anotherDepotTextField = ""; - if(listSubType == "调拨"){ - isShowAnotherDepot = false; //调拨时候显示对方仓库 - anotherDepotHeadName = "调入仓库"; - anotherDepotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; - anotherDepotTextField = "depotName"; - } depotHeadName = "仓库名称"; depotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; depotTextField = "depotName"; - var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 - if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowTaxColumn = true; //隐藏 - } + var isShowTaxColumn = true; //是否显示税率相关的列,true为隐藏,false为显示 var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 - if(listSubType == "组装单" || listSubType == "拆卸单"){ - isShowMaterialTypeColumn = false; //显示 - } $('#materialData').datagrid({ height:245, rownumbers: false, @@ -905,23 +710,12 @@ function initTableData_material(type,TotalPrice){ var unitSetInput =""; //单位 body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 var loadRatio = 1; //在单位输入框上面加载比例字段 - if(listSubType === "采购" || listSubType === "采购退货" || listSubType === "采购订单"){ - unitSetInput = res.data[0].firstinunit; //给单位文本框赋值 - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = ratio; - } + unitSetInput = res.data[0].firstoutunit; //给单位文本框赋值 + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; } - else if(listSubType === "销售" || listSubType === "销售退货" || listSubType === "销售订单" || listSubType === "零售" || listSubType === "零售退货"){ - unitSetInput = res.data[0].firstoutunit; //给单位文本框赋值 - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = ratio; - } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = ratio; } body.find("[field='Unit']").find(input).val(unitSetInput).attr("data-ratio", loadRatio); //设置-首选单位 @@ -952,27 +746,11 @@ function initTableData_material(type,TotalPrice){ var type = $(this).attr("data-type"); var UnitPrice = 0; if(type === "basic"){ - if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { - UnitPrice = basicPresetPriceOne; - } - else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { - UnitPrice = basicPresetPriceTwo; - } - else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ - UnitPrice = retailPriceOne; - } + UnitPrice = retailPriceOne; body.find("[field='Stock']").find(input).val(stock); //修改库存 } else if(type === "other"){ - if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { - UnitPrice = otherPresetPriceOne; - } - else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { - UnitPrice = otherPresetPriceTwo; - } - else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ - UnitPrice = retailPriceTwo; - } + UnitPrice = retailPriceTwo; body.find("[field='Stock']").find(input).val((stock/ratio).toFixed(2)); //修改库存 } body.find("[field='UnitPrice']").find(input).val(UnitPrice); //单价 @@ -992,43 +770,15 @@ function initTableData_material(type,TotalPrice){ }); } var detailPrice = 0; //明细列表-单价 - if(listSubType == "零售" || listSubType == "零售退货") { - if(res.data[0].unit) { //如果存在计量单位信息 - detailPrice = retailPrice; - } - else { - if (firstOutUnit == basicUnit) { - detailPrice = retailPriceOne; - } - else if (firstOutUnit == otherUnit) { - detailPrice = retailPriceTwo; - } - } + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = retailPrice; } - else if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { - if(res.data[0].unit) { //如果存在计量单位信息 - detailPrice = presetPriceOne; + else { + if (firstOutUnit == basicUnit) { + detailPrice = retailPriceOne; } - else { - if (firstInUnit == basicUnit) { - detailPrice = basicPresetPriceOne; - } - else if (firstInUnit == otherUnit) { - detailPrice = otherPresetPriceOne; - } - } - } - else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { - if(res.data[0].unit) { //如果存在计量单位信息 - detailPrice = presetPriceTwo; - } - else { - if(firstOutUnit==basicUnit) { - detailPrice = basicPresetPriceTwo; - } - else if(firstOutUnit==otherUnit){ - detailPrice = otherPresetPriceTwo; - } + else if (firstOutUnit == otherUnit) { + detailPrice = retailPriceTwo; } } body.find("[field='OperNumber']").find(input).val(1); //数量初始化为1 @@ -1175,19 +925,9 @@ function initTableData_material_show(TotalPrice){ var isShowAnotherDepot = true; //显示对方仓库,true为隐藏,false为显示 var anotherDepotHeadName = ""; //对方仓库的列的标题 var depotHeadName = ""; //仓库的列的标题 - if(listSubType == "调拨"){ - isShowAnotherDepot = false; //调拨时候显示对方仓库 - anotherDepotHeadName = "调入仓库"; - } depotHeadName = "仓库名称"; - var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 - if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowTaxColumn = true; //隐藏 - } + var isShowTaxColumn = true; //是否显示税率相关的列,true为隐藏,false为显示 var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 - if(listSubType == "组装单" || listSubType == "拆卸单"){ - isShowMaterialTypeColumn = false; //显示 - } $('#materialDataShow').datagrid({ height:245, rownumbers: true, @@ -1313,7 +1053,6 @@ function deleteDepotHead(depotHeadID, thisOrganId, totalPrice, status){ }); //更新会员的预收款信息 - if(listSubType === "零售") { $.ajax({ type:"post", url: "/supplier/updateAdvanceIn", @@ -1332,7 +1071,6 @@ function deleteDepotHead(depotHeadID, thisOrganId, totalPrice, status){ return; } }); - } } }); } @@ -1345,11 +1083,6 @@ function skipDepotHead(index, status){ $.messager.alert('提示','未审核和已转的单据禁止操作!','warning'); } else { sessionStorage.setItem("rowInfo", JSON.stringify(rowsdata)); //将单据信息存入缓存中 - if(listTitle == "采购订单列表") { - parent.addTab("订单转采购", "../materials/purchase_in_list.html?t=skip", ""); - } else if(listTitle == "销售订单列表") { - parent.addTab("订单转销售", "../materials/sale_out_list.html?t=skip", ""); - } } } @@ -1379,7 +1112,6 @@ function batDeleteDepotHead(){ if (ids) { //批量更新会员的预收款信息 for (var i = 0; i < row.length; i++) { - if (listSubType === "零售") { $.ajax({ type: "post", url: "/supplier/updateAdvanceIn", @@ -1398,7 +1130,6 @@ function batDeleteDepotHead(){ return; } }); - } } //批量删除 $.ajax({ @@ -1602,7 +1333,6 @@ function addDepotHead(){ url = '/depotHead/addDepotHeadAndDetail'; //零售单据修改收款时,自动计算找零 - if(listSubType == "零售" || listSubType == "零售退货") { $("#payType").val("现付"); $("#OrganId").combobox("setValue", orgDefaultId); //自动默认选择非会员 // 鼠标点下时清空选择项 @@ -1642,7 +1372,6 @@ function addDepotHead(){ backAmount.val((getAmount.val()-changeAmount.val()).toFixed(2)); } }); - } } //编辑信息 @@ -1698,7 +1427,6 @@ function editDepotHead(index, status){ $(".window-mask").css({ width: webW ,height: webH}); depotHeadID = rowsdata.id; - if(listSubType == "零售"){ var option = ""; if(rowsdata.paytype == "预付款"){ option = ''; @@ -1708,20 +1436,7 @@ function editDepotHead(index, status){ option += ''; } $("#payType").empty().append(option); - } - if(listSubType == "销售" || listSubType == "销售退货"){ - if(rowsdata.salesman){ - var arr = rowsdata.salesman.split(","); - var salesmanArray = []; - for(var i=0;i","")); - } - } - $("#Salesman").combobox('setValues', salesmanArray); - } - } //采购入库、销售出库的多账户加载 if(rowsdata.accountidlist!=undefined && rowsdata.accountmoneylist!=undefined){ @@ -1730,7 +1445,6 @@ function editDepotHead(index, status){ var accountMoneyArr = rowsdata.accountmoneylist.split(","); accountMoneyArr = changeListFmtPlus(accountMoneyArr) //将数组单个金额中的数值转为正数 - if(listSubType == "零售" || listSubType == "零售退货") { var manyAccountMoney = 0; //多账户合计-零售 for (var j = 0; j < accountArr.length; j++) { if (accountList != null) { @@ -1745,7 +1459,6 @@ function editDepotHead(index, status){ $("#getAmount").val(manyAccountMoney); //收款金额、付款金额 var changeAmount = $("#ChangeAmount").val()-0; $("#backAmount").val((manyAccountMoney-changeAmount).toFixed(2)); //找零 - } $("#AccountId").attr("data-accountArr", JSON.stringify(accountArr)).attr("data-accountMoneyArr", JSON.stringify(accountMoneyArr)); //json数据存储 $(".many-account-ico").show(); //显示多账户的ico图标 @@ -1842,7 +1555,6 @@ function showDepotHead(index){ initTableData_material_show(TotalPrice); //商品列表-查看状态 //零售单据展示数据 - if(listSubType == "零售" || listSubType == "零售退货"){ var changeAccount = $("#depotHeadDlgShow .change-amount-show").text() -0; if(manyAccountMoney!==0){ $("#depotHeadDlgShow .get-amount-show").text((manyAccountMoney).toFixed(2)); @@ -1852,40 +1564,6 @@ function showDepotHead(index){ $("#depotHeadDlgShow .get-amount-show").text((changeAccount).toFixed(2)); $("#depotHeadDlgShow .back-amount-show").text(0); } - } - if(listSubType === "销售" || listSubType === "销售退货"){ - if(rowsdata.salesman){ - var arr = rowsdata.salesman.split(","); - var salesmanStr = ""; - for(var i=0;i",""); - } - else { - salesmanStr += arr[i].replace("<","").replace(">","") + ","; - } - } - } - $.ajax({ - type: "get", - url: "/person/getPersonByIds", - data: { - personIDs: salesmanStr - }, - success:function(res){ - if(res && res.code === 200){ - if(res.data) { - $("#SalesmanShow").text(res.data.names); //销售人员列表 - } - } - }, - error:function(){ - - } - }); - } - } } //绑定操作事件 @@ -1978,50 +1656,6 @@ function bindEvent(){ return; } } - //输入框提示 - if(listTitle === "采购订单列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择供应商!','warning'); - return; - } - } - else if(listTitle === "采购入库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择供应商!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择结算账户!','warning'); - return; - } - } - else if(listTitle === "零售退货列表"){ - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择付款账户!','warning'); - return; - } - if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { - $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); - return; - } - } - else if(listTitle === "销售退货列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择退货单位!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择付款账户!','warning'); - return; - } - } - else if(listTitle === "其它入库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择往来单位!','warning'); - return; - } - } - else if(listTitle === "零售出库列表"){ if(!$('#AccountId').val()){ $.messager.alert('提示','请选择收款账户!','warning'); return; @@ -2034,43 +1668,6 @@ function bindEvent(){ $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); return; } - - } - else if(listTitle === "销售订单列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择购买单位!','warning'); - return; - } - } - else if(listTitle === "销售出库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择购买单位!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择收款账户!','warning'); - return; - } - } - else if(listTitle === "采购退货列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择收货单位!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择收款账户!','warning'); - return; - } - } - else if(listTitle === "其它出库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择往来单位!','warning'); - return; - } - } - else if(listTitle === "调拨出库列表"){ - - } //进行明细的校验 if(depotHeadID ==0) { //新增模式下 @@ -2098,36 +1695,12 @@ function bindEvent(){ accountMoneyList = accountMoneyList.replace(reg,""); //替换所有的双引号 accountMoneyArr = accountMoneyList.split(","); //转为数组 } - if(listSubType === "采购订单"||listSubType === "采购"||listSubType === "零售退货"||listSubType === "销售退货"){ - //付款为负数 - ChangeAmount = 0 - ChangeAmount; - TotalPrice = 0 - TotalPrice; - if(accountMoneyArr) { - accountMoneyArr = changeListFmtMinus(accountMoneyArr); //将数组单个金额中的数值转为负数 - } - } //零售时候,可以从会员预付款中扣款 var thisPayType = "现付"; - if(listSubType === "零售") { - if($("#payType").val() ==="预付款") { - thisPayType = "预付款"; - } + if($("#payType").val() ==="预付款") { + thisPayType = "预付款"; } var SalesmanStr = ""; - if(listSubType === "销售" || listSubType === "销售退货"){ - var Salesman = $('#Salesman').combobox('getValues').toString(); //销售人员 - if(Salesman) { - var SalesmanArray = Salesman.split(","); - for (var i = 0; i < SalesmanArray.length; i++) { - if (i === SalesmanArray.length - 1) { - SalesmanStr += "<" + SalesmanArray[i] + ">"; - } - else { - SalesmanStr += "<" + SalesmanArray[i] + ">,"; - } - } - } - } var getAccountID = $.trim($("#AccountId").val()); if($("#AccountId").val() === "many"){ //多账户 getAccountID = null; @@ -2394,14 +1967,9 @@ function bindEvent(){ if(accountArr.length && accountMoneyArr.length) { $("#AccountId").attr("data-accountArr",JSON.stringify(accountArr)).attr("data-accountMoneyArr",JSON.stringify(accountMoneyArr)); //json数据存储 } - if(listSubType==="零售" || listSubType==="零售退货") { - $("#getAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 - var backAmount = $("#getAmount").val() - $("#ChangeAmount").val(); - $("#backAmount").val((backAmount - 0).toFixed(2)); //计算找零金额 - } - else { - $("#ChangeAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 - } + $("#getAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 + var backAmount = $("#getAmount").val() - $("#ChangeAmount").val(); + $("#backAmount").val((backAmount - 0).toFixed(2)); //计算找零金额 $("#Debt").val((discountLastMoneyNum-accountMoneyTotal).toFixed(2)); //本次欠款 $("#depotHeadAccountDlg").dialog('close'); }); @@ -2414,12 +1982,7 @@ function bindEvent(){ else { $("#depotHeadAccountDlg").dialog('close'); $("#AccountId").val("").removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 - if(listSubType==="零售" || listSubType==="零售退货"){ - $("#ChangeAmount").prop("readonly","readonly"); - } - else { - $("#ChangeAmount").removeProp("readonly","readonly"); - } + $("#ChangeAmount").prop("readonly","readonly"); $(".many-account-ico").hide(); //隐藏多账户小图标 } } @@ -2443,12 +2006,7 @@ function bindEvent(){ } else{ $(this).removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 - if(listSubType==="零售" || listSubType==="零售退货"){ - $("#ChangeAmount").prop("readonly","readonly"); - } - else { - $("#ChangeAmount").removeProp("readonly","readonly"); - } + $("#ChangeAmount").prop("readonly","readonly"); $(".many-account-ico").hide(); //隐藏多账户小图标 } }); @@ -2466,12 +2024,7 @@ function bindEvent(){ $(this).find(".account-id-dlg").val(accountArr[index]); $(this).find(".account-money-dlg").val(accountMoneyArr[index]); }); - if(listSubType==="零售" || listSubType==="零售退货") { - $("#accountMoneyTotalDlg").text($("#getAmount").val()); - } - else { - $("#accountMoneyTotalDlg").text($("#ChangeAmount").val()); - } + $("#accountMoneyTotalDlg").text($("#getAmount").val()); }); //点击采购费用、销售费用的事件 @@ -2594,13 +2147,7 @@ function bindEvent(){ $("#otherMoneyTotalDlg").text($("#OtherMoney").val()); }); - if(listTitle === "采购入库列表" || listTitle === "其它入库列表" || listTitle === "采购订单列表"|| listTitle === "零售出库列表"|| listTitle === "销售出库列表"|| listTitle === "销售订单列表"){ - var supplierType = "供应商"; - if(listTitle === "零售出库列表"){ - supplierType = "会员"; - }else if(listTitle === "销售出库列表" || listTitle === "销售订单列表"){ - supplierType = "客户"; - } + var supplierType = "会员"; //检查单位名称是否存在 ++ 重名无法提示问题需要跟进 function checkSupplierName() { var supplierName = $.trim($("#supplier").val()); @@ -2681,7 +2228,6 @@ function bindEvent(){ } }); }); - } } function showDepotHeadDetails(pageNo,pageSize){ @@ -2798,54 +2344,7 @@ function autoReckon() { return; } else { - if(listTitle!="销售出库列表" && listTitle!="采购退货列表" && listTitle!="其它出库列表" && listTitle!="调拨出库列表") { return; - } - $.ajax({ - url: "/material/findById", - type: "get", - dataType: "json", - data: { - id: mValue - 0 - }, - success: function(res){ - if(res && res.rows && res.rows[0]) { - var retailPrice = res.rows[0].RetailPrice; - var presetPriceOne = res.rows[0].PresetPriceOne; - var presetPriceTwo = res.rows[0].PresetPriceTwo; - //定义模版 - var temp = "
"; - temp +="
    "; - temp +="
  • 批发价:" + presetPriceTwo + "
  • "; - temp +="
  • 零售价:" + retailPrice + "
  • "; - temp +="
"; - temp +="
"; - if($('.price-list').length){ - $('.price-list').remove(); //如果存在价格列表先移除 - } - else { - if(presetPriceTwo != undefined){ //多单位的商品 - $(self).after(temp); //加载列表信息 - } - } - $('.price-list ul li').off("click").on("click",function(){ - var price = $(this).text(); - price = price.substring(price.indexOf(":") + 1); - $(self).val(price); - $(self).keyup(); //模拟键盘操作 - $('.price-list').remove(); //移除价格列表 - }); - //点击空白处移除价格列表 - $(".datagrid-body").off("click").on("click",function(){ - $('.price-list').remove(); //移除价格列表 - }); - } - }, - error: function(){ - $.messager.alert('错误提示','查询商品信息异常,请稍后再试!','error'); - return; - } - }); } }); //修改含税单价,自动计算单价、金额、税额、价税合计和合计 @@ -2922,9 +2421,6 @@ function autoReckon() { if(rowListLength > 0){ mTypeValue = "普通子件"; } - if(listSubType == "组装单" || listSubType == "拆卸单"){ - mType.find(input).val(mTypeValue).prop("readonly","readonly"); - } },500); } From 03258d267f0c52f13e2e00a5fe49fd283f212fac Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Fri, 10 May 2019 10:44:36 +0800 Subject: [PATCH 054/117] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=94=80=E5=94=AE?= =?UTF-8?q?=E9=80=80=E8=B4=A7=E5=88=97=E8=A1=A8=EF=BC=8C=E5=8E=BB=E6=8E=89?= =?UTF-8?q?=E5=A4=9A=E4=BD=99js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- erp_web/js/pages/materials/sale_back_list.js | 719 ++----------------- 1 file changed, 47 insertions(+), 672 deletions(-) diff --git a/erp_web/js/pages/materials/sale_back_list.js b/erp_web/js/pages/materials/sale_back_list.js index 662d9507..17b9bb58 100644 --- a/erp_web/js/pages/materials/sale_back_list.js +++ b/erp_web/js/pages/materials/sale_back_list.js @@ -18,13 +18,6 @@ var depotHeadID = 0; var preTotalPrice = 0; //前一次加载的金额 var orgDepotHead = ""; var editIndex = undefined; -var listTitle = ""; //单据标题 -var listType = ""; //入库 出库 -var listSubType = ""; //采购 销售等 -var payTypeTitle = "";//付款 收款 -var organUrl = ""; //组织数据接口地址 -var amountNum = ""; //单据编号开头字符 -var depotString = ""; //店铺id列表 /**默认编号有意义吗,不如空着吧*/ var orgDefaultId=''; //单位默认编号 var orgDefaultList; //存储查询出来的会员列表 @@ -37,9 +30,18 @@ var otherColumns = true; //明细中的‘别名’列是否显示 var btnEnableList = getBtnStr(); //获取按钮的权限 var mPropertyList = ""; //商品属性列表 var defaultAccountId = 0; //默认账户id +//改变宽度和高度 +$("#searchPanel").panel({width:webW-2}); +$("#tablePanel").panel({width:webW-2}); +var listTitle = "销售退货列表"; //单据标题 +var depotString = "|"; //店铺id列表 +var listType = "入库";//入库 出库 +var listSubType = "销售退货";//采购 销售等 +var payTypeTitle = "付款"; //付款 收款 +var organUrl ="/supplier/findBySelect_cus?UBType=UserCustomer&UBKeyId=" + kid; //组织数据接口地址 +var amountNum ="XSTH";//单据编号开头字符 $(function(){ //初始化系统基础信息 - getType(); initSystemData_UB(); initSelectInfo_UB(); initSystemData_depot(); @@ -57,108 +59,7 @@ $(function(){ initForm(); bindEvent();//绑定操作事件 }); -//根据单据名称获取类型 -function getType(){ - listTitle = $("#tablePanel").prev().text(); - depotString = "|"; - //改变宽度和高度 - $("#searchPanel").panel({width:webW-2}); - $("#tablePanel").panel({width:webW-2}); - var supUrl = "/supplier/findBySelect_sup"; //供应商接口 - var cusUrl = "/supplier/findBySelect_cus?UBType=UserCustomer&UBKeyId=" + kid; //客户接口 - var retailUrl = "/supplier/findBySelect_retail"; //散户接口 - if(listTitle === "采购订单列表"){ - listType = "其它"; - listSubType = "采购订单"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "CGDD"; - } - else if(listTitle === "采购入库列表"){ - listType = "入库"; - listSubType = "采购"; - payTypeTitle = "付款"; - organUrl = supUrl; - amountNum = "CGRK"; - } - else if(listTitle === "零售退货列表"){ - listType = "入库"; - listSubType = "零售退货"; //注:用预付款购买的产品不能退货 - payTypeTitle = "付款"; - organUrl = retailUrl; - amountNum = "LSTH"; - } - else if(listTitle === "销售退货列表"){ - listType = "入库"; - listSubType = "销售退货"; - payTypeTitle = "付款"; - organUrl = cusUrl; - amountNum = "XSTH"; - } - else if(listTitle === "其它入库列表"){ - listType = "入库"; - listSubType = "其它"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "QTRK"; - } - else if(listTitle === "零售出库列表"){ - listType = "出库"; - listSubType = "零售"; - payTypeTitle = "收款"; - organUrl = retailUrl; - amountNum = "LSCK"; - } - else if(listTitle === "销售订单列表"){ - listType = "其它"; - listSubType = "销售订单"; - payTypeTitle = "隐藏"; - organUrl = cusUrl; - amountNum = "XSDD"; - } - else if(listTitle === "销售出库列表"){ - listType = "出库"; - listSubType = "销售"; - payTypeTitle = "收款"; - organUrl = cusUrl; - amountNum = "XSCK"; - } - else if(listTitle === "采购退货列表"){ - listType = "出库"; - listSubType = "采购退货"; - payTypeTitle = "收款"; - organUrl = supUrl; - amountNum = "CGTH"; - } - else if(listTitle === "其它出库列表"){ - listType = "出库"; - listSubType = "其它"; - payTypeTitle = "隐藏"; - organUrl = cusUrl; - amountNum = "QTCK"; - } - else if(listTitle === "调拨出库列表"){ - listType = "出库"; - listSubType = "调拨"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "DBCK"; - } - else if(listTitle === "组装单列表"){ - listType = "其它"; - listSubType = "组装单"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "ZZD"; - } - else if(listTitle === "拆卸单列表"){ - listType = "其它"; - listSubType = "拆卸单"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "CXD"; - } -} + //初始化系统基础信息 function initSystemData_UB(){ $.ajax({ @@ -264,23 +165,8 @@ function initSupplier(){ orgDefaultId = data[i].id; } } - if(listSubType === "零售"){ - orgDefaultList = res; - } }, onSelect: function(rec){ - if(listSubType === "零售"){ - var option = ""; - if(rec.supplier !== "非会员" && rec.advanceIn >0){ - option = ''; - option += ''; - } - else { - option += ''; - } - $("#payType").empty().append(option); - } - else{ $.ajax({ type:"get", url: "/supplier/findById", @@ -299,7 +185,6 @@ function initSupplier(){ } }); - } } }); } @@ -505,37 +390,11 @@ function initTableData(){ isHiddenStatus = true; //隐藏 } var isShowLastMoneyColumn = false; //是否显示优惠后金额和价税合计,true为隐藏,false为显示 - if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowLastMoneyColumn = true; //隐藏 - } var isShowOrganNameColumn = false; //是否显示供应商、客户等信息,true为隐藏,false为显示 - var organNameTitle = ""; //组织名称标题 - if(listSubType == "调拨" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowOrganNameColumn = true; //隐藏 - } - else { - if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "采购退货列表" || listTitle == "其它入库列表"){ - organNameTitle = "供应商名称"; - } - else if(listTitle == "销售订单列表" || listTitle == "销售退货列表" || listTitle == "销售出库列表" || listTitle == "其它出库列表"){ - organNameTitle = "客户名称"; - } - else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ - organNameTitle = "会员卡号"; - } - } + var organNameTitle = "客户名称"; //组织名称标题 var opWidth = 90; //操作宽度 var isShowSkip = false; //是否显示跳转按钮 var opTitle = ""; //跳转按钮的标题 - if(listTitle == "采购订单列表") { - opWidth = 120; - isShowSkip = true; - opTitle = "转采购入库"; - } else if(listTitle == "销售订单列表") { - opWidth = 120; - isShowSkip = true; - opTitle = "转销售出库"; - } $('#tableData').datagrid({ height:heightInfo, rownumbers: false, @@ -555,25 +414,10 @@ function initTableData(){ { title: '操作',field: 'op',align:"center",width:opWidth, formatter:function(value, rec,index) { var str = ''; - // var rowInfo = rec.id + 'AaBb' + rec.projectid+ 'AaBb' + rec.number+ 'AaBb' + rec.operpersonname - // + 'AaBb' + rec.opertimeStr+ 'AaBb' + rec.organid+ 'AaBb' + rec.handspersonid - // + 'AaBb' + rec.accountid+ 'AaBb' + rec.changeamount+ 'AaBb' + rec.remark - // + 'AaBb' + rec.projectName+ 'AaBb' + rec.organName+ 'AaBb' + rec.handsPersonName - // + 'AaBb' + rec.accountName + 'AaBb' + rec.totalprice + 'AaBb' + rec.allocationprojectid - // + 'AaBb' + rec.allocationProjectName + 'AaBb' + rec.paytype + 'AaBb' + rec.salesman - // + 'AaBb' + rec.discount + 'AaBb' + rec.discountmoney + 'AaBb' + rec.discountlastmoney - // + 'AaBb' + rec.accountidlist + 'AaBb' + rec.accountmoneylist - // + 'AaBb' + rec.othermoney + 'AaBb' + rec.othermoneylist + 'AaBb' + rec.othermoneyitem - // + 'AaBb' + rec.accountday + 'AaBb' + rec.linknumber; - // rowInfo = rowInfo.replace(/\"/g, ""); - // rowInfo = rowInfo.replace(/\[|]/g,""); var orgId = rec.organid? rec.organid:0; str += '   '; str += '   '; str += ''; - if(isShowSkip) { - str += '   '; - } return str; } }, @@ -607,11 +451,6 @@ function initTableData(){ } else if(value === "1") { return "已审核"; } else if(value === "2") { - if(listTitle == "采购订单列表") { - return "已转采购"; - } else if(listTitle == "销售订单列表") { - return "已转销售"; - } } } } @@ -650,23 +489,12 @@ function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ var basicUnit = unitArr[0]; //基础单位 var otherUnit = unitArr[1]; //副单位 var unitSetInput =""; //单位 - if(listSubType === "采购订单" || listSubType === "采购" || listSubType === "采购退货"){ - unitSetInput = rec.data[0].firstinunit; - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = thisRatio; - } + unitSetInput = rec.data[0].firstoutunit; + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; } - else if(listSubType === "销售订单" || listSubType === "销售" || listSubType === "销售退货" || listSubType === "零售" || listSubType === "零售退货"){ - unitSetInput = rec.data[0].firstoutunit; - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = thisRatio; - } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = thisRatio; } } //查询库存 @@ -745,11 +573,6 @@ function statisticsFun(body,UnitPrice,OperNumber,footer,taxRate){ } var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 - - if(listSubType == "零售" || listSubType == "零售退货") { - $("#ChangeAmount, #getAmount").val((TotalPrice).toFixed(2)); - $("#backAmount").val(0); - } } //初始化表格数据-商品列表-编辑状态 function initTableData_material(type,TotalPrice){ @@ -764,23 +587,11 @@ function initTableData_material(type,TotalPrice){ var anotherDepotHeadName = ""; //对方仓库的列的标题 var anotherDepotUrl = ""; //对方仓库接口地址 var anotherDepotTextField = ""; - if(listSubType == "调拨"){ - isShowAnotherDepot = false; //调拨时候显示对方仓库 - anotherDepotHeadName = "调入仓库"; - anotherDepotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; - anotherDepotTextField = "depotName"; - } depotHeadName = "仓库名称"; depotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; depotTextField = "depotName"; var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 - if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowTaxColumn = true; //隐藏 - } var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 - if(listSubType == "组装单" || listSubType == "拆卸单"){ - isShowMaterialTypeColumn = false; //显示 - } $('#materialData').datagrid({ height:245, rownumbers: false, @@ -905,23 +716,12 @@ function initTableData_material(type,TotalPrice){ var unitSetInput =""; //单位 body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 var loadRatio = 1; //在单位输入框上面加载比例字段 - if(listSubType === "采购" || listSubType === "采购退货" || listSubType === "采购订单"){ - unitSetInput = res.data[0].firstinunit; //给单位文本框赋值 - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = ratio; - } + unitSetInput = res.data[0].firstoutunit; //给单位文本框赋值 + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; } - else if(listSubType === "销售" || listSubType === "销售退货" || listSubType === "销售订单" || listSubType === "零售" || listSubType === "零售退货"){ - unitSetInput = res.data[0].firstoutunit; //给单位文本框赋值 - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = ratio; - } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = ratio; } body.find("[field='Unit']").find(input).val(unitSetInput).attr("data-ratio", loadRatio); //设置-首选单位 @@ -952,27 +752,11 @@ function initTableData_material(type,TotalPrice){ var type = $(this).attr("data-type"); var UnitPrice = 0; if(type === "basic"){ - if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { - UnitPrice = basicPresetPriceOne; - } - else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { - UnitPrice = basicPresetPriceTwo; - } - else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ - UnitPrice = retailPriceOne; - } + UnitPrice = basicPresetPriceOne; body.find("[field='Stock']").find(input).val(stock); //修改库存 } else if(type === "other"){ - if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { - UnitPrice = otherPresetPriceOne; - } - else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { - UnitPrice = otherPresetPriceTwo; - } - else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ - UnitPrice = retailPriceTwo; - } + UnitPrice = otherPresetPriceOne; body.find("[field='Stock']").find(input).val((stock/ratio).toFixed(2)); //修改库存 } body.find("[field='UnitPrice']").find(input).val(UnitPrice); //单价 @@ -992,43 +776,15 @@ function initTableData_material(type,TotalPrice){ }); } var detailPrice = 0; //明细列表-单价 - if(listSubType == "零售" || listSubType == "零售退货") { - if(res.data[0].unit) { //如果存在计量单位信息 - detailPrice = retailPrice; - } - else { - if (firstOutUnit == basicUnit) { - detailPrice = retailPriceOne; - } - else if (firstOutUnit == otherUnit) { - detailPrice = retailPriceTwo; - } - } + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = presetPriceOne; } - else if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { - if(res.data[0].unit) { //如果存在计量单位信息 - detailPrice = presetPriceOne; + else { + if (firstInUnit == basicUnit) { + detailPrice = basicPresetPriceOne; } - else { - if (firstInUnit == basicUnit) { - detailPrice = basicPresetPriceOne; - } - else if (firstInUnit == otherUnit) { - detailPrice = otherPresetPriceOne; - } - } - } - else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { - if(res.data[0].unit) { //如果存在计量单位信息 - detailPrice = presetPriceTwo; - } - else { - if(firstOutUnit==basicUnit) { - detailPrice = basicPresetPriceTwo; - } - else if(firstOutUnit==otherUnit){ - detailPrice = otherPresetPriceTwo; - } + else if (firstInUnit == otherUnit) { + detailPrice = otherPresetPriceOne; } } body.find("[field='OperNumber']").find(input).val(1); //数量初始化为1 @@ -1175,19 +931,9 @@ function initTableData_material_show(TotalPrice){ var isShowAnotherDepot = true; //显示对方仓库,true为隐藏,false为显示 var anotherDepotHeadName = ""; //对方仓库的列的标题 var depotHeadName = ""; //仓库的列的标题 - if(listSubType == "调拨"){ - isShowAnotherDepot = false; //调拨时候显示对方仓库 - anotherDepotHeadName = "调入仓库"; - } depotHeadName = "仓库名称"; var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 - if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowTaxColumn = true; //隐藏 - } var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 - if(listSubType == "组装单" || listSubType == "拆卸单"){ - isShowMaterialTypeColumn = false; //显示 - } $('#materialDataShow').datagrid({ height:245, rownumbers: true, @@ -1312,27 +1058,6 @@ function deleteDepotHead(depotHeadID, thisOrganId, totalPrice, status){ } }); - //更新会员的预收款信息 - if(listSubType === "零售") { - $.ajax({ - type:"post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data:{ - supplierId: thisOrganId, //会员id - advanceIn: totalPrice //删除时同时返还用户的预付款 - }, - success: function(res){ - if(res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function(){ - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); - } } }); } @@ -1345,11 +1070,6 @@ function skipDepotHead(index, status){ $.messager.alert('提示','未审核和已转的单据禁止操作!','warning'); } else { sessionStorage.setItem("rowInfo", JSON.stringify(rowsdata)); //将单据信息存入缓存中 - if(listTitle == "采购订单列表") { - parent.addTab("订单转采购", "../materials/purchase_in_list.html?t=skip", ""); - } else if(listTitle == "销售订单列表") { - parent.addTab("订单转销售", "../materials/sale_out_list.html?t=skip", ""); - } } } @@ -1377,29 +1097,6 @@ function batDeleteDepotHead(){ ids += row[i].id + ","; } if (ids) { - //批量更新会员的预收款信息 - for (var i = 0; i < row.length; i++) { - if (listSubType === "零售") { - $.ajax({ - type: "post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data: { - supplierId: row[i].organid, //会员id - advanceIn: row[i].totalprice //删除时同时返还用户的预付款 - }, - success: function (res) { - if (res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function () { - $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); - return; - } - }); - } - } //批量删除 $.ajax({ type: "post", @@ -1600,49 +1297,6 @@ function addDepotHead(){ $('#supplierFM').form('clear'); }); url = '/depotHead/addDepotHeadAndDetail'; - - //零售单据修改收款时,自动计算找零 - if(listSubType == "零售" || listSubType == "零售退货") { - $("#payType").val("现付"); - $("#OrganId").combobox("setValue", orgDefaultId); //自动默认选择非会员 - // 鼠标点下时清空选择项 - $("#OrganId").next().find("input").off("mousedown").on("mousedown",function(){ - $("#OrganId").combobox("setValue", ""); - }); - //当会员卡号长度超过10位后,自动点击下拉框,用于兼容刷卡器 - $("#OrganId").next().find("input").off("keyup").on("keyup",function(){ - var self = this; - if($(this).val().length === 10){ - setTimeout(function(){ - $(".combo-panel .combobox-item-selected").click(); - //更新付款类型,加载会员的预付款的金额 - for(var i=0; i0){ - option = ''; - option += ''; - } - else { - option += ''; - } - $("#payType").empty().append(option); - } - } - },1000); - } - }); - var getAmount = $("#depotHeadFM .get-amount"); - var changeAmount = $("#depotHeadFM .change-amount"); - var backAmount = $("#depotHeadFM .back-amount"); - getAmount.val(0); changeAmount.val(0); backAmount.val(0); //时间初始化 - getAmount.off("keyup").on("keyup",function() { - if(changeAmount.val()){ - backAmount.val((getAmount.val()-changeAmount.val()).toFixed(2)); - } - }); - } } //编辑信息 @@ -1698,19 +1352,7 @@ function editDepotHead(index, status){ $(".window-mask").css({ width: webW ,height: webH}); depotHeadID = rowsdata.id; - if(listSubType == "零售"){ - var option = ""; - if(rowsdata.paytype == "预付款"){ - option = ''; - option += ''; - } - else { - option += ''; - } - $("#payType").empty().append(option); - } - if(listSubType == "销售" || listSubType == "销售退货"){ if(rowsdata.salesman){ var arr = rowsdata.salesman.split(","); var salesmanArray = []; @@ -1721,7 +1363,6 @@ function editDepotHead(index, status){ } $("#Salesman").combobox('setValues', salesmanArray); } - } //采购入库、销售出库的多账户加载 if(rowsdata.accountidlist!=undefined && rowsdata.accountmoneylist!=undefined){ @@ -1730,23 +1371,6 @@ function editDepotHead(index, status){ var accountMoneyArr = rowsdata.accountmoneylist.split(","); accountMoneyArr = changeListFmtPlus(accountMoneyArr) //将数组单个金额中的数值转为正数 - if(listSubType == "零售" || listSubType == "零售退货") { - var manyAccountMoney = 0; //多账户合计-零售 - for (var j = 0; j < accountArr.length; j++) { - if (accountList != null) { - for (var i = 0; i < accountList.length; i++) { - var account = accountList[i]; - if (accountArr[j] == account.id) { - manyAccountMoney += accountMoneyArr[j] - 0; //多账户合计-零售 - } - } - } - } - $("#getAmount").val(manyAccountMoney); //收款金额、付款金额 - var changeAmount = $("#ChangeAmount").val()-0; - $("#backAmount").val((manyAccountMoney-changeAmount).toFixed(2)); //找零 - } - $("#AccountId").attr("data-accountArr", JSON.stringify(accountArr)).attr("data-accountMoneyArr", JSON.stringify(accountMoneyArr)); //json数据存储 $(".many-account-ico").show(); //显示多账户的ico图标 } @@ -1841,19 +1465,6 @@ function showDepotHead(index){ depotHeadID = rowsdata.id; initTableData_material_show(TotalPrice); //商品列表-查看状态 - //零售单据展示数据 - if(listSubType == "零售" || listSubType == "零售退货"){ - var changeAccount = $("#depotHeadDlgShow .change-amount-show").text() -0; - if(manyAccountMoney!==0){ - $("#depotHeadDlgShow .get-amount-show").text((manyAccountMoney).toFixed(2)); - $("#depotHeadDlgShow .back-amount-show").text((manyAccountMoney -changeAccount).toFixed(2)); - } - else { - $("#depotHeadDlgShow .get-amount-show").text((changeAccount).toFixed(2)); - $("#depotHeadDlgShow .back-amount-show").text(0); - } - } - if(listSubType === "销售" || listSubType === "销售退货"){ if(rowsdata.salesman){ var arr = rowsdata.salesman.split(","); var salesmanStr = ""; @@ -1885,7 +1496,6 @@ function showDepotHead(index){ } }); } - } } //绑定操作事件 @@ -1979,33 +1589,6 @@ function bindEvent(){ } } //输入框提示 - if(listTitle === "采购订单列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择供应商!','warning'); - return; - } - } - else if(listTitle === "采购入库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择供应商!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择结算账户!','warning'); - return; - } - } - else if(listTitle === "零售退货列表"){ - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择付款账户!','warning'); - return; - } - if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { - $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); - return; - } - } - else if(listTitle === "销售退货列表"){ if(!$('#OrganId').combobox('getValue')){ $.messager.alert('提示','请选择退货单位!','warning'); return; @@ -2014,63 +1597,6 @@ function bindEvent(){ $.messager.alert('提示','请选择付款账户!','warning'); return; } - } - else if(listTitle === "其它入库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择往来单位!','warning'); - return; - } - } - else if(listTitle === "零售出库列表"){ - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择收款账户!','warning'); - return; - } - if($("#backAmount").val()-0 <0){ - $.messager.alert('提示','找零金额不能小于0!','warning'); - return; - } - if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { - $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); - return; - } - - } - else if(listTitle === "销售订单列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择购买单位!','warning'); - return; - } - } - else if(listTitle === "销售出库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择购买单位!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择收款账户!','warning'); - return; - } - } - else if(listTitle === "采购退货列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择收货单位!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择收款账户!','warning'); - return; - } - } - else if(listTitle === "其它出库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择往来单位!','warning'); - return; - } - } - else if(listTitle === "调拨出库列表"){ - - } //进行明细的校验 if(depotHeadID ==0) { //新增模式下 @@ -2098,33 +1624,24 @@ function bindEvent(){ accountMoneyList = accountMoneyList.replace(reg,""); //替换所有的双引号 accountMoneyArr = accountMoneyList.split(","); //转为数组 } - if(listSubType === "采购订单"||listSubType === "采购"||listSubType === "零售退货"||listSubType === "销售退货"){ - //付款为负数 - ChangeAmount = 0 - ChangeAmount; - TotalPrice = 0 - TotalPrice; - if(accountMoneyArr) { - accountMoneyArr = changeListFmtMinus(accountMoneyArr); //将数组单个金额中的数值转为负数 - } + //付款为负数 + ChangeAmount = 0 - ChangeAmount; + TotalPrice = 0 - TotalPrice; + if(accountMoneyArr) { + accountMoneyArr = changeListFmtMinus(accountMoneyArr); //将数组单个金额中的数值转为负数 } //零售时候,可以从会员预付款中扣款 var thisPayType = "现付"; - if(listSubType === "零售") { - if($("#payType").val() ==="预付款") { - thisPayType = "预付款"; - } - } var SalesmanStr = ""; - if(listSubType === "销售" || listSubType === "销售退货"){ - var Salesman = $('#Salesman').combobox('getValues').toString(); //销售人员 - if(Salesman) { - var SalesmanArray = Salesman.split(","); - for (var i = 0; i < SalesmanArray.length; i++) { - if (i === SalesmanArray.length - 1) { - SalesmanStr += "<" + SalesmanArray[i] + ">"; - } - else { - SalesmanStr += "<" + SalesmanArray[i] + ">,"; - } + var Salesman = $('#Salesman').combobox('getValues').toString(); //销售人员 + if(Salesman) { + var SalesmanArray = Salesman.split(","); + for (var i = 0; i < SalesmanArray.length; i++) { + if (i === SalesmanArray.length - 1) { + SalesmanStr += "<" + SalesmanArray[i] + ">"; + } + else { + SalesmanStr += "<" + SalesmanArray[i] + ">,"; } } } @@ -2187,34 +1704,6 @@ function bindEvent(){ showDepotHeadDetails(opts.pageNumber,opts.pageSize); } - if(thisPayType === "预付款") { - //更新用户信息-预付款 - var advanceIn = 0; //预付款金额 - if(depotHeadID){ - advanceIn = TotalPrice - preTotalPrice; //修改时,预付款=合计金额-加载金额 - } - else{ - advanceIn = TotalPrice; //新增时,预付款=合计金额 - } - $.ajax({ - type:"post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data:{ - supplierId: OrganId, //会员id - advanceIn: 0 - advanceIn //保存的同时扣掉用户的预付款 - }, - success: function(res){ - if(res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function(){ - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); - } //保存明细记录 if(depotHeadID ==0) @@ -2394,14 +1883,7 @@ function bindEvent(){ if(accountArr.length && accountMoneyArr.length) { $("#AccountId").attr("data-accountArr",JSON.stringify(accountArr)).attr("data-accountMoneyArr",JSON.stringify(accountMoneyArr)); //json数据存储 } - if(listSubType==="零售" || listSubType==="零售退货") { - $("#getAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 - var backAmount = $("#getAmount").val() - $("#ChangeAmount").val(); - $("#backAmount").val((backAmount - 0).toFixed(2)); //计算找零金额 - } - else { - $("#ChangeAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 - } + $("#ChangeAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 $("#Debt").val((discountLastMoneyNum-accountMoneyTotal).toFixed(2)); //本次欠款 $("#depotHeadAccountDlg").dialog('close'); }); @@ -2414,12 +1896,7 @@ function bindEvent(){ else { $("#depotHeadAccountDlg").dialog('close'); $("#AccountId").val("").removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 - if(listSubType==="零售" || listSubType==="零售退货"){ - $("#ChangeAmount").prop("readonly","readonly"); - } - else { - $("#ChangeAmount").removeProp("readonly","readonly"); - } + $("#ChangeAmount").removeProp("readonly","readonly"); $(".many-account-ico").hide(); //隐藏多账户小图标 } } @@ -2443,14 +1920,9 @@ function bindEvent(){ } else{ $(this).removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 - if(listSubType==="零售" || listSubType==="零售退货"){ - $("#ChangeAmount").prop("readonly","readonly"); - } - else { $("#ChangeAmount").removeProp("readonly","readonly"); } $(".many-account-ico").hide(); //隐藏多账户小图标 - } }); //结算账户-多账户小图标-点击事件 @@ -2466,12 +1938,7 @@ function bindEvent(){ $(this).find(".account-id-dlg").val(accountArr[index]); $(this).find(".account-money-dlg").val(accountMoneyArr[index]); }); - if(listSubType==="零售" || listSubType==="零售退货") { - $("#accountMoneyTotalDlg").text($("#getAmount").val()); - } - else { $("#accountMoneyTotalDlg").text($("#ChangeAmount").val()); - } }); //点击采购费用、销售费用的事件 @@ -2593,95 +2060,6 @@ function bindEvent(){ }); $("#otherMoneyTotalDlg").text($("#OtherMoney").val()); }); - - if(listTitle === "采购入库列表" || listTitle === "其它入库列表" || listTitle === "采购订单列表"|| listTitle === "零售出库列表"|| listTitle === "销售出库列表"|| listTitle === "销售订单列表"){ - var supplierType = "供应商"; - if(listTitle === "零售出库列表"){ - supplierType = "会员"; - }else if(listTitle === "销售出库列表" || listTitle === "销售订单列表"){ - supplierType = "客户"; - } - //检查单位名称是否存在 ++ 重名无法提示问题需要跟进 - function checkSupplierName() { - var supplierName = $.trim($("#supplier").val()); - var orgSupplier = ""; - //表示是否存在 true == 存在 false = 不存在 - var flag = false; - //开始ajax名称检验,不能重名 - if(supplierName.length > 0 &&( orgSupplier.length ==0 || supplierName != orgSupplier)) - { - $.ajax({ - type:"get", - url: "/supplier/checkIsNameExist", - dataType: "json", - async : false, - data: ({ - id : 0, - name : supplierName - }), - success: function (res) { - if(res && res.code === 200) { - if(res.data && res.data.status) { - flag = res.data.status; - if (flag) { - $.messager.alert('提示', '单位名称已经存在', 'info'); - return; - } - } - } - }, - //此处添加错误处理 - error:function() { - $.messager.alert('提示','检查单位名称是否存在异常,请稍后再试!','error'); - return; - } - }); - } - return flag; - } - - //保存供应商信息 - $("#saveSupplier").off("click").on("click",function() { - if(validateForm("supplierFM")) { - return; - } - if(checkSupplierName()){ - return; - } - var reg = /^([0-9])+$/; - var phonenum = $.trim($("#phonenum").val()); - if(phonenum.length>0 && !reg.test(phonenum)) - { - $.messager.alert('提示','电话号码只能是数字','info'); - $("#phonenum").val("").focus(); - return; - } - var beginNeedGet = $.trim($("#BeginNeedGet").val()); - var beginNeedPay = $.trim($("#BeginNeedPay").val()); - if(beginNeedGet && beginNeedPay) { - $.messager.alert('提示','期初应收和期初应付不能同时输入','info'); - return; - } - var url = '/supplier/add'; - var supObj = $("#supplierFM").serializeObject(); - supObj.type = supplierType; - supObj.enabled = 1; - $.ajax({ - url: url, - type:"post", - dataType: "json", - data:{ - info: JSON.stringify(supObj) - }, - success: function(res) { - if (res) { - $('#supplierDlg').dialog('close'); - initSupplier(); //刷新供应商 - } - } - }); - }); - } } function showDepotHeadDetails(pageNo,pageSize){ @@ -2922,9 +2300,6 @@ function autoReckon() { if(rowListLength > 0){ mTypeValue = "普通子件"; } - if(listSubType == "组装单" || listSubType == "拆卸单"){ - mType.find(input).val(mTypeValue).prop("readonly","readonly"); - } },500); } From b40990a58991714a79e6209be8a41367d108d432 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Fri, 10 May 2019 11:43:10 +0800 Subject: [PATCH 055/117] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=94=80=E5=94=AE?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=88=97=E8=A1=A8=EF=BC=8C=E5=8E=BB=E6=8E=89?= =?UTF-8?q?=E5=A4=9A=E4=BD=99js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../js/pages/materials/sale_orders_list.js | 745 ++---------------- 1 file changed, 45 insertions(+), 700 deletions(-) diff --git a/erp_web/js/pages/materials/sale_orders_list.js b/erp_web/js/pages/materials/sale_orders_list.js index 662d9507..fb6b72f9 100644 --- a/erp_web/js/pages/materials/sale_orders_list.js +++ b/erp_web/js/pages/materials/sale_orders_list.js @@ -18,13 +18,6 @@ var depotHeadID = 0; var preTotalPrice = 0; //前一次加载的金额 var orgDepotHead = ""; var editIndex = undefined; -var listTitle = ""; //单据标题 -var listType = ""; //入库 出库 -var listSubType = ""; //采购 销售等 -var payTypeTitle = "";//付款 收款 -var organUrl = ""; //组织数据接口地址 -var amountNum = ""; //单据编号开头字符 -var depotString = ""; //店铺id列表 /**默认编号有意义吗,不如空着吧*/ var orgDefaultId=''; //单位默认编号 var orgDefaultList; //存储查询出来的会员列表 @@ -37,9 +30,18 @@ var otherColumns = true; //明细中的‘别名’列是否显示 var btnEnableList = getBtnStr(); //获取按钮的权限 var mPropertyList = ""; //商品属性列表 var defaultAccountId = 0; //默认账户id +//改变宽度和高度 +$("#searchPanel").panel({width:webW-2}); +$("#tablePanel").panel({width:webW-2}); +var listTitle = "销售订单列表"; //单据标题 +var depotString = "|"; //店铺id列表 +var listType = "其它";//入库 出库 +var listSubType = "销售订单";//采购 销售等 +var payTypeTitle = "隐藏"; //付款 收款 +var organUrl ="/supplier/findBySelect_cus?UBType=UserCustomer&UBKeyId=" + kid;//组织数据接口地址 +var amountNum ="XSDD";//单据编号开头字符 $(function(){ //初始化系统基础信息 - getType(); initSystemData_UB(); initSelectInfo_UB(); initSystemData_depot(); @@ -57,108 +59,6 @@ $(function(){ initForm(); bindEvent();//绑定操作事件 }); -//根据单据名称获取类型 -function getType(){ - listTitle = $("#tablePanel").prev().text(); - depotString = "|"; - //改变宽度和高度 - $("#searchPanel").panel({width:webW-2}); - $("#tablePanel").panel({width:webW-2}); - var supUrl = "/supplier/findBySelect_sup"; //供应商接口 - var cusUrl = "/supplier/findBySelect_cus?UBType=UserCustomer&UBKeyId=" + kid; //客户接口 - var retailUrl = "/supplier/findBySelect_retail"; //散户接口 - if(listTitle === "采购订单列表"){ - listType = "其它"; - listSubType = "采购订单"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "CGDD"; - } - else if(listTitle === "采购入库列表"){ - listType = "入库"; - listSubType = "采购"; - payTypeTitle = "付款"; - organUrl = supUrl; - amountNum = "CGRK"; - } - else if(listTitle === "零售退货列表"){ - listType = "入库"; - listSubType = "零售退货"; //注:用预付款购买的产品不能退货 - payTypeTitle = "付款"; - organUrl = retailUrl; - amountNum = "LSTH"; - } - else if(listTitle === "销售退货列表"){ - listType = "入库"; - listSubType = "销售退货"; - payTypeTitle = "付款"; - organUrl = cusUrl; - amountNum = "XSTH"; - } - else if(listTitle === "其它入库列表"){ - listType = "入库"; - listSubType = "其它"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "QTRK"; - } - else if(listTitle === "零售出库列表"){ - listType = "出库"; - listSubType = "零售"; - payTypeTitle = "收款"; - organUrl = retailUrl; - amountNum = "LSCK"; - } - else if(listTitle === "销售订单列表"){ - listType = "其它"; - listSubType = "销售订单"; - payTypeTitle = "隐藏"; - organUrl = cusUrl; - amountNum = "XSDD"; - } - else if(listTitle === "销售出库列表"){ - listType = "出库"; - listSubType = "销售"; - payTypeTitle = "收款"; - organUrl = cusUrl; - amountNum = "XSCK"; - } - else if(listTitle === "采购退货列表"){ - listType = "出库"; - listSubType = "采购退货"; - payTypeTitle = "收款"; - organUrl = supUrl; - amountNum = "CGTH"; - } - else if(listTitle === "其它出库列表"){ - listType = "出库"; - listSubType = "其它"; - payTypeTitle = "隐藏"; - organUrl = cusUrl; - amountNum = "QTCK"; - } - else if(listTitle === "调拨出库列表"){ - listType = "出库"; - listSubType = "调拨"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "DBCK"; - } - else if(listTitle === "组装单列表"){ - listType = "其它"; - listSubType = "组装单"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "ZZD"; - } - else if(listTitle === "拆卸单列表"){ - listType = "其它"; - listSubType = "拆卸单"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "CXD"; - } -} //初始化系统基础信息 function initSystemData_UB(){ $.ajax({ @@ -264,23 +164,8 @@ function initSupplier(){ orgDefaultId = data[i].id; } } - if(listSubType === "零售"){ - orgDefaultList = res; - } }, onSelect: function(rec){ - if(listSubType === "零售"){ - var option = ""; - if(rec.supplier !== "非会员" && rec.advanceIn >0){ - option = ''; - option += ''; - } - else { - option += ''; - } - $("#payType").empty().append(option); - } - else{ $.ajax({ type:"get", url: "/supplier/findById", @@ -299,7 +184,6 @@ function initSupplier(){ } }); - } } }); } @@ -504,38 +388,11 @@ function initTableData(){ else { isHiddenStatus = true; //隐藏 } - var isShowLastMoneyColumn = false; //是否显示优惠后金额和价税合计,true为隐藏,false为显示 - if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowLastMoneyColumn = true; //隐藏 - } + var isShowLastMoneyColumn = true; //是否显示优惠后金额和价税合计,true为隐藏,false为显示 var isShowOrganNameColumn = false; //是否显示供应商、客户等信息,true为隐藏,false为显示 - var organNameTitle = ""; //组织名称标题 - if(listSubType == "调拨" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowOrganNameColumn = true; //隐藏 - } - else { - if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "采购退货列表" || listTitle == "其它入库列表"){ - organNameTitle = "供应商名称"; - } - else if(listTitle == "销售订单列表" || listTitle == "销售退货列表" || listTitle == "销售出库列表" || listTitle == "其它出库列表"){ - organNameTitle = "客户名称"; - } - else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ - organNameTitle = "会员卡号"; - } - } - var opWidth = 90; //操作宽度 - var isShowSkip = false; //是否显示跳转按钮 - var opTitle = ""; //跳转按钮的标题 - if(listTitle == "采购订单列表") { - opWidth = 120; - isShowSkip = true; - opTitle = "转采购入库"; - } else if(listTitle == "销售订单列表") { - opWidth = 120; - isShowSkip = true; - opTitle = "转销售出库"; - } + var organNameTitle = "客户名称";//组织名称标题 + var opWidth = 120; //操作宽度 + var opTitle = "转销售出库"; //跳转按钮的标题 $('#tableData').datagrid({ height:heightInfo, rownumbers: false, @@ -555,25 +412,11 @@ function initTableData(){ { title: '操作',field: 'op',align:"center",width:opWidth, formatter:function(value, rec,index) { var str = ''; - // var rowInfo = rec.id + 'AaBb' + rec.projectid+ 'AaBb' + rec.number+ 'AaBb' + rec.operpersonname - // + 'AaBb' + rec.opertimeStr+ 'AaBb' + rec.organid+ 'AaBb' + rec.handspersonid - // + 'AaBb' + rec.accountid+ 'AaBb' + rec.changeamount+ 'AaBb' + rec.remark - // + 'AaBb' + rec.projectName+ 'AaBb' + rec.organName+ 'AaBb' + rec.handsPersonName - // + 'AaBb' + rec.accountName + 'AaBb' + rec.totalprice + 'AaBb' + rec.allocationprojectid - // + 'AaBb' + rec.allocationProjectName + 'AaBb' + rec.paytype + 'AaBb' + rec.salesman - // + 'AaBb' + rec.discount + 'AaBb' + rec.discountmoney + 'AaBb' + rec.discountlastmoney - // + 'AaBb' + rec.accountidlist + 'AaBb' + rec.accountmoneylist - // + 'AaBb' + rec.othermoney + 'AaBb' + rec.othermoneylist + 'AaBb' + rec.othermoneyitem - // + 'AaBb' + rec.accountday + 'AaBb' + rec.linknumber; - // rowInfo = rowInfo.replace(/\"/g, ""); - // rowInfo = rowInfo.replace(/\[|]/g,""); var orgId = rec.organid? rec.organid:0; str += '   '; str += '   '; str += ''; - if(isShowSkip) { - str += '   '; - } + str += '   '; return str; } }, @@ -607,11 +450,7 @@ function initTableData(){ } else if(value === "1") { return "已审核"; } else if(value === "2") { - if(listTitle == "采购订单列表") { - return "已转采购"; - } else if(listTitle == "销售订单列表") { - return "已转销售"; - } + return "已转销售"; } } } @@ -650,23 +489,12 @@ function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ var basicUnit = unitArr[0]; //基础单位 var otherUnit = unitArr[1]; //副单位 var unitSetInput =""; //单位 - if(listSubType === "采购订单" || listSubType === "采购" || listSubType === "采购退货"){ - unitSetInput = rec.data[0].firstinunit; - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = thisRatio; - } + unitSetInput = rec.data[0].firstoutunit; + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; } - else if(listSubType === "销售订单" || listSubType === "销售" || listSubType === "销售退货" || listSubType === "零售" || listSubType === "零售退货"){ - unitSetInput = rec.data[0].firstoutunit; - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = thisRatio; - } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = thisRatio; } } //查询库存 @@ -746,10 +574,6 @@ function statisticsFun(body,UnitPrice,OperNumber,footer,taxRate){ var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 - if(listSubType == "零售" || listSubType == "零售退货") { - $("#ChangeAmount, #getAmount").val((TotalPrice).toFixed(2)); - $("#backAmount").val(0); - } } //初始化表格数据-商品列表-编辑状态 function initTableData_material(type,TotalPrice){ @@ -764,23 +588,11 @@ function initTableData_material(type,TotalPrice){ var anotherDepotHeadName = ""; //对方仓库的列的标题 var anotherDepotUrl = ""; //对方仓库接口地址 var anotherDepotTextField = ""; - if(listSubType == "调拨"){ - isShowAnotherDepot = false; //调拨时候显示对方仓库 - anotherDepotHeadName = "调入仓库"; - anotherDepotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; - anotherDepotTextField = "depotName"; - } depotHeadName = "仓库名称"; depotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; depotTextField = "depotName"; - var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 - if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowTaxColumn = true; //隐藏 - } + var isShowTaxColumn = true; //是否显示税率相关的列,true为隐藏,false为显示 var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 - if(listSubType == "组装单" || listSubType == "拆卸单"){ - isShowMaterialTypeColumn = false; //显示 - } $('#materialData').datagrid({ height:245, rownumbers: false, @@ -905,23 +717,12 @@ function initTableData_material(type,TotalPrice){ var unitSetInput =""; //单位 body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 var loadRatio = 1; //在单位输入框上面加载比例字段 - if(listSubType === "采购" || listSubType === "采购退货" || listSubType === "采购订单"){ - unitSetInput = res.data[0].firstinunit; //给单位文本框赋值 - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = ratio; - } + unitSetInput = res.data[0].firstoutunit; //给单位文本框赋值 + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; } - else if(listSubType === "销售" || listSubType === "销售退货" || listSubType === "销售订单" || listSubType === "零售" || listSubType === "零售退货"){ - unitSetInput = res.data[0].firstoutunit; //给单位文本框赋值 - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = ratio; - } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = ratio; } body.find("[field='Unit']").find(input).val(unitSetInput).attr("data-ratio", loadRatio); //设置-首选单位 @@ -952,27 +753,11 @@ function initTableData_material(type,TotalPrice){ var type = $(this).attr("data-type"); var UnitPrice = 0; if(type === "basic"){ - if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { - UnitPrice = basicPresetPriceOne; - } - else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { - UnitPrice = basicPresetPriceTwo; - } - else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ - UnitPrice = retailPriceOne; - } + UnitPrice = basicPresetPriceTwo; body.find("[field='Stock']").find(input).val(stock); //修改库存 } else if(type === "other"){ - if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { - UnitPrice = otherPresetPriceOne; - } - else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { - UnitPrice = otherPresetPriceTwo; - } - else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ - UnitPrice = retailPriceTwo; - } + UnitPrice = otherPresetPriceTwo; body.find("[field='Stock']").find(input).val((stock/ratio).toFixed(2)); //修改库存 } body.find("[field='UnitPrice']").find(input).val(UnitPrice); //单价 @@ -992,43 +777,15 @@ function initTableData_material(type,TotalPrice){ }); } var detailPrice = 0; //明细列表-单价 - if(listSubType == "零售" || listSubType == "零售退货") { - if(res.data[0].unit) { //如果存在计量单位信息 - detailPrice = retailPrice; - } - else { - if (firstOutUnit == basicUnit) { - detailPrice = retailPriceOne; - } - else if (firstOutUnit == otherUnit) { - detailPrice = retailPriceTwo; - } - } + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = presetPriceTwo; } - else if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { - if(res.data[0].unit) { //如果存在计量单位信息 - detailPrice = presetPriceOne; + else { + if(firstOutUnit==basicUnit) { + detailPrice = basicPresetPriceTwo; } - else { - if (firstInUnit == basicUnit) { - detailPrice = basicPresetPriceOne; - } - else if (firstInUnit == otherUnit) { - detailPrice = otherPresetPriceOne; - } - } - } - else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { - if(res.data[0].unit) { //如果存在计量单位信息 - detailPrice = presetPriceTwo; - } - else { - if(firstOutUnit==basicUnit) { - detailPrice = basicPresetPriceTwo; - } - else if(firstOutUnit==otherUnit){ - detailPrice = otherPresetPriceTwo; - } + else if(firstOutUnit==otherUnit){ + detailPrice = otherPresetPriceTwo; } } body.find("[field='OperNumber']").find(input).val(1); //数量初始化为1 @@ -1175,19 +932,9 @@ function initTableData_material_show(TotalPrice){ var isShowAnotherDepot = true; //显示对方仓库,true为隐藏,false为显示 var anotherDepotHeadName = ""; //对方仓库的列的标题 var depotHeadName = ""; //仓库的列的标题 - if(listSubType == "调拨"){ - isShowAnotherDepot = false; //调拨时候显示对方仓库 - anotherDepotHeadName = "调入仓库"; - } depotHeadName = "仓库名称"; - var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 - if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowTaxColumn = true; //隐藏 - } + var isShowTaxColumn = true; //是否显示税率相关的列,true为隐藏,false为显示 var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 - if(listSubType == "组装单" || listSubType == "拆卸单"){ - isShowMaterialTypeColumn = false; //显示 - } $('#materialDataShow').datagrid({ height:245, rownumbers: true, @@ -1312,27 +1059,6 @@ function deleteDepotHead(depotHeadID, thisOrganId, totalPrice, status){ } }); - //更新会员的预收款信息 - if(listSubType === "零售") { - $.ajax({ - type:"post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data:{ - supplierId: thisOrganId, //会员id - advanceIn: totalPrice //删除时同时返还用户的预付款 - }, - success: function(res){ - if(res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function(){ - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); - } } }); } @@ -1345,11 +1071,7 @@ function skipDepotHead(index, status){ $.messager.alert('提示','未审核和已转的单据禁止操作!','warning'); } else { sessionStorage.setItem("rowInfo", JSON.stringify(rowsdata)); //将单据信息存入缓存中 - if(listTitle == "采购订单列表") { - parent.addTab("订单转采购", "../materials/purchase_in_list.html?t=skip", ""); - } else if(listTitle == "销售订单列表") { - parent.addTab("订单转销售", "../materials/sale_out_list.html?t=skip", ""); - } + parent.addTab("订单转销售", "../materials/sale_out_list.html?t=skip", ""); } } @@ -1377,29 +1099,6 @@ function batDeleteDepotHead(){ ids += row[i].id + ","; } if (ids) { - //批量更新会员的预收款信息 - for (var i = 0; i < row.length; i++) { - if (listSubType === "零售") { - $.ajax({ - type: "post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data: { - supplierId: row[i].organid, //会员id - advanceIn: row[i].totalprice //删除时同时返还用户的预付款 - }, - success: function (res) { - if (res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function () { - $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); - return; - } - }); - } - } //批量删除 $.ajax({ type: "post", @@ -1600,49 +1299,6 @@ function addDepotHead(){ $('#supplierFM').form('clear'); }); url = '/depotHead/addDepotHeadAndDetail'; - - //零售单据修改收款时,自动计算找零 - if(listSubType == "零售" || listSubType == "零售退货") { - $("#payType").val("现付"); - $("#OrganId").combobox("setValue", orgDefaultId); //自动默认选择非会员 - // 鼠标点下时清空选择项 - $("#OrganId").next().find("input").off("mousedown").on("mousedown",function(){ - $("#OrganId").combobox("setValue", ""); - }); - //当会员卡号长度超过10位后,自动点击下拉框,用于兼容刷卡器 - $("#OrganId").next().find("input").off("keyup").on("keyup",function(){ - var self = this; - if($(this).val().length === 10){ - setTimeout(function(){ - $(".combo-panel .combobox-item-selected").click(); - //更新付款类型,加载会员的预付款的金额 - for(var i=0; i0){ - option = ''; - option += ''; - } - else { - option += ''; - } - $("#payType").empty().append(option); - } - } - },1000); - } - }); - var getAmount = $("#depotHeadFM .get-amount"); - var changeAmount = $("#depotHeadFM .change-amount"); - var backAmount = $("#depotHeadFM .back-amount"); - getAmount.val(0); changeAmount.val(0); backAmount.val(0); //时间初始化 - getAmount.off("keyup").on("keyup",function() { - if(changeAmount.val()){ - backAmount.val((getAmount.val()-changeAmount.val()).toFixed(2)); - } - }); - } } //编辑信息 @@ -1698,30 +1354,6 @@ function editDepotHead(index, status){ $(".window-mask").css({ width: webW ,height: webH}); depotHeadID = rowsdata.id; - if(listSubType == "零售"){ - var option = ""; - if(rowsdata.paytype == "预付款"){ - option = ''; - option += ''; - } - else { - option += ''; - } - $("#payType").empty().append(option); - } - - if(listSubType == "销售" || listSubType == "销售退货"){ - if(rowsdata.salesman){ - var arr = rowsdata.salesman.split(","); - var salesmanArray = []; - for(var i=0;i","")); - } - } - $("#Salesman").combobox('setValues', salesmanArray); - } - } //采购入库、销售出库的多账户加载 if(rowsdata.accountidlist!=undefined && rowsdata.accountmoneylist!=undefined){ @@ -1730,23 +1362,6 @@ function editDepotHead(index, status){ var accountMoneyArr = rowsdata.accountmoneylist.split(","); accountMoneyArr = changeListFmtPlus(accountMoneyArr) //将数组单个金额中的数值转为正数 - if(listSubType == "零售" || listSubType == "零售退货") { - var manyAccountMoney = 0; //多账户合计-零售 - for (var j = 0; j < accountArr.length; j++) { - if (accountList != null) { - for (var i = 0; i < accountList.length; i++) { - var account = accountList[i]; - if (accountArr[j] == account.id) { - manyAccountMoney += accountMoneyArr[j] - 0; //多账户合计-零售 - } - } - } - } - $("#getAmount").val(manyAccountMoney); //收款金额、付款金额 - var changeAmount = $("#ChangeAmount").val()-0; - $("#backAmount").val((manyAccountMoney-changeAmount).toFixed(2)); //找零 - } - $("#AccountId").attr("data-accountArr", JSON.stringify(accountArr)).attr("data-accountMoneyArr", JSON.stringify(accountMoneyArr)); //json数据存储 $(".many-account-ico").show(); //显示多账户的ico图标 } @@ -1840,52 +1455,6 @@ function showDepotHead(index){ depotHeadID = rowsdata.id; initTableData_material_show(TotalPrice); //商品列表-查看状态 - - //零售单据展示数据 - if(listSubType == "零售" || listSubType == "零售退货"){ - var changeAccount = $("#depotHeadDlgShow .change-amount-show").text() -0; - if(manyAccountMoney!==0){ - $("#depotHeadDlgShow .get-amount-show").text((manyAccountMoney).toFixed(2)); - $("#depotHeadDlgShow .back-amount-show").text((manyAccountMoney -changeAccount).toFixed(2)); - } - else { - $("#depotHeadDlgShow .get-amount-show").text((changeAccount).toFixed(2)); - $("#depotHeadDlgShow .back-amount-show").text(0); - } - } - if(listSubType === "销售" || listSubType === "销售退货"){ - if(rowsdata.salesman){ - var arr = rowsdata.salesman.split(","); - var salesmanStr = ""; - for(var i=0;i",""); - } - else { - salesmanStr += arr[i].replace("<","").replace(">","") + ","; - } - } - } - $.ajax({ - type: "get", - url: "/person/getPersonByIds", - data: { - personIDs: salesmanStr - }, - success:function(res){ - if(res && res.code === 200){ - if(res.data) { - $("#SalesmanShow").text(res.data.names); //销售人员列表 - } - } - }, - error:function(){ - - } - }); - } - } } //绑定操作事件 @@ -1978,98 +1547,9 @@ function bindEvent(){ return; } } - //输入框提示 - if(listTitle === "采购订单列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择供应商!','warning'); - return; - } - } - else if(listTitle === "采购入库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择供应商!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择结算账户!','warning'); - return; - } - } - else if(listTitle === "零售退货列表"){ - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择付款账户!','warning'); - return; - } - if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { - $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); - return; - } - } - else if(listTitle === "销售退货列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择退货单位!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择付款账户!','warning'); - return; - } - } - else if(listTitle === "其它入库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择往来单位!','warning'); - return; - } - } - else if(listTitle === "零售出库列表"){ - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择收款账户!','warning'); - return; - } - if($("#backAmount").val()-0 <0){ - $.messager.alert('提示','找零金额不能小于0!','warning'); - return; - } - if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { - $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); - return; - } - - } - else if(listTitle === "销售订单列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择购买单位!','warning'); - return; - } - } - else if(listTitle === "销售出库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择购买单位!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择收款账户!','warning'); - return; - } - } - else if(listTitle === "采购退货列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择收货单位!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择收款账户!','warning'); - return; - } - } - else if(listTitle === "其它出库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择往来单位!','warning'); - return; - } - } - else if(listTitle === "调拨出库列表"){ - + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择购买单位!','warning'); + return; } //进行明细的校验 if(depotHeadID ==0) { @@ -2098,36 +1578,9 @@ function bindEvent(){ accountMoneyList = accountMoneyList.replace(reg,""); //替换所有的双引号 accountMoneyArr = accountMoneyList.split(","); //转为数组 } - if(listSubType === "采购订单"||listSubType === "采购"||listSubType === "零售退货"||listSubType === "销售退货"){ - //付款为负数 - ChangeAmount = 0 - ChangeAmount; - TotalPrice = 0 - TotalPrice; - if(accountMoneyArr) { - accountMoneyArr = changeListFmtMinus(accountMoneyArr); //将数组单个金额中的数值转为负数 - } - } //零售时候,可以从会员预付款中扣款 var thisPayType = "现付"; - if(listSubType === "零售") { - if($("#payType").val() ==="预付款") { - thisPayType = "预付款"; - } - } var SalesmanStr = ""; - if(listSubType === "销售" || listSubType === "销售退货"){ - var Salesman = $('#Salesman').combobox('getValues').toString(); //销售人员 - if(Salesman) { - var SalesmanArray = Salesman.split(","); - for (var i = 0; i < SalesmanArray.length; i++) { - if (i === SalesmanArray.length - 1) { - SalesmanStr += "<" + SalesmanArray[i] + ">"; - } - else { - SalesmanStr += "<" + SalesmanArray[i] + ">,"; - } - } - } - } var getAccountID = $.trim($("#AccountId").val()); if($("#AccountId").val() === "many"){ //多账户 getAccountID = null; @@ -2187,35 +1640,6 @@ function bindEvent(){ showDepotHeadDetails(opts.pageNumber,opts.pageSize); } - if(thisPayType === "预付款") { - //更新用户信息-预付款 - var advanceIn = 0; //预付款金额 - if(depotHeadID){ - advanceIn = TotalPrice - preTotalPrice; //修改时,预付款=合计金额-加载金额 - } - else{ - advanceIn = TotalPrice; //新增时,预付款=合计金额 - } - $.ajax({ - type:"post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data:{ - supplierId: OrganId, //会员id - advanceIn: 0 - advanceIn //保存的同时扣掉用户的预付款 - }, - success: function(res){ - if(res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function(){ - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); - } - //保存明细记录 if(depotHeadID ==0) { @@ -2394,14 +1818,7 @@ function bindEvent(){ if(accountArr.length && accountMoneyArr.length) { $("#AccountId").attr("data-accountArr",JSON.stringify(accountArr)).attr("data-accountMoneyArr",JSON.stringify(accountMoneyArr)); //json数据存储 } - if(listSubType==="零售" || listSubType==="零售退货") { - $("#getAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 - var backAmount = $("#getAmount").val() - $("#ChangeAmount").val(); - $("#backAmount").val((backAmount - 0).toFixed(2)); //计算找零金额 - } - else { $("#ChangeAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 - } $("#Debt").val((discountLastMoneyNum-accountMoneyTotal).toFixed(2)); //本次欠款 $("#depotHeadAccountDlg").dialog('close'); }); @@ -2414,12 +1831,7 @@ function bindEvent(){ else { $("#depotHeadAccountDlg").dialog('close'); $("#AccountId").val("").removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 - if(listSubType==="零售" || listSubType==="零售退货"){ - $("#ChangeAmount").prop("readonly","readonly"); - } - else { - $("#ChangeAmount").removeProp("readonly","readonly"); - } + $("#ChangeAmount").removeProp("readonly","readonly"); $(".many-account-ico").hide(); //隐藏多账户小图标 } } @@ -2443,12 +1855,7 @@ function bindEvent(){ } else{ $(this).removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 - if(listSubType==="零售" || listSubType==="零售退货"){ - $("#ChangeAmount").prop("readonly","readonly"); - } - else { - $("#ChangeAmount").removeProp("readonly","readonly"); - } + $("#ChangeAmount").removeProp("readonly","readonly"); $(".many-account-ico").hide(); //隐藏多账户小图标 } }); @@ -2466,12 +1873,7 @@ function bindEvent(){ $(this).find(".account-id-dlg").val(accountArr[index]); $(this).find(".account-money-dlg").val(accountMoneyArr[index]); }); - if(listSubType==="零售" || listSubType==="零售退货") { - $("#accountMoneyTotalDlg").text($("#getAmount").val()); - } - else { - $("#accountMoneyTotalDlg").text($("#ChangeAmount").val()); - } + $("#accountMoneyTotalDlg").text($("#ChangeAmount").val()); }); //点击采购费用、销售费用的事件 @@ -2594,13 +1996,7 @@ function bindEvent(){ $("#otherMoneyTotalDlg").text($("#OtherMoney").val()); }); - if(listTitle === "采购入库列表" || listTitle === "其它入库列表" || listTitle === "采购订单列表"|| listTitle === "零售出库列表"|| listTitle === "销售出库列表"|| listTitle === "销售订单列表"){ - var supplierType = "供应商"; - if(listTitle === "零售出库列表"){ - supplierType = "会员"; - }else if(listTitle === "销售出库列表" || listTitle === "销售订单列表"){ - supplierType = "客户"; - } + var supplierType = "客户"; //检查单位名称是否存在 ++ 重名无法提示问题需要跟进 function checkSupplierName() { var supplierName = $.trim($("#supplier").val()); @@ -2681,7 +2077,6 @@ function bindEvent(){ } }); }); - } } function showDepotHeadDetails(pageNo,pageSize){ @@ -2798,54 +2193,7 @@ function autoReckon() { return; } else { - if(listTitle!="销售出库列表" && listTitle!="采购退货列表" && listTitle!="其它出库列表" && listTitle!="调拨出库列表") { return; - } - $.ajax({ - url: "/material/findById", - type: "get", - dataType: "json", - data: { - id: mValue - 0 - }, - success: function(res){ - if(res && res.rows && res.rows[0]) { - var retailPrice = res.rows[0].RetailPrice; - var presetPriceOne = res.rows[0].PresetPriceOne; - var presetPriceTwo = res.rows[0].PresetPriceTwo; - //定义模版 - var temp = "
"; - temp +="
    "; - temp +="
  • 批发价:" + presetPriceTwo + "
  • "; - temp +="
  • 零售价:" + retailPrice + "
  • "; - temp +="
"; - temp +="
"; - if($('.price-list').length){ - $('.price-list').remove(); //如果存在价格列表先移除 - } - else { - if(presetPriceTwo != undefined){ //多单位的商品 - $(self).after(temp); //加载列表信息 - } - } - $('.price-list ul li').off("click").on("click",function(){ - var price = $(this).text(); - price = price.substring(price.indexOf(":") + 1); - $(self).val(price); - $(self).keyup(); //模拟键盘操作 - $('.price-list').remove(); //移除价格列表 - }); - //点击空白处移除价格列表 - $(".datagrid-body").off("click").on("click",function(){ - $('.price-list').remove(); //移除价格列表 - }); - } - }, - error: function(){ - $.messager.alert('错误提示','查询商品信息异常,请稍后再试!','error'); - return; - } - }); } }); //修改含税单价,自动计算单价、金额、税额、价税合计和合计 @@ -2922,9 +2270,6 @@ function autoReckon() { if(rowListLength > 0){ mTypeValue = "普通子件"; } - if(listSubType == "组装单" || listSubType == "拆卸单"){ - mType.find(input).val(mTypeValue).prop("readonly","readonly"); - } },500); } From 1810e5c88f8afc31e76ab6296c346fdbe103e330 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Fri, 10 May 2019 14:19:33 +0800 Subject: [PATCH 056/117] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=94=80=E5=94=AE?= =?UTF-8?q?=E5=87=BA=E5=BA=93=E5=88=97=E8=A1=A8=EF=BC=8C=E5=8E=BB=E6=8E=89?= =?UTF-8?q?=E5=A4=9A=E4=BD=99js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- erp_web/js/pages/materials/sale_out_list.js | 668 ++------------------ 1 file changed, 56 insertions(+), 612 deletions(-) diff --git a/erp_web/js/pages/materials/sale_out_list.js b/erp_web/js/pages/materials/sale_out_list.js index 662d9507..3497c7e4 100644 --- a/erp_web/js/pages/materials/sale_out_list.js +++ b/erp_web/js/pages/materials/sale_out_list.js @@ -18,13 +18,6 @@ var depotHeadID = 0; var preTotalPrice = 0; //前一次加载的金额 var orgDepotHead = ""; var editIndex = undefined; -var listTitle = ""; //单据标题 -var listType = ""; //入库 出库 -var listSubType = ""; //采购 销售等 -var payTypeTitle = "";//付款 收款 -var organUrl = ""; //组织数据接口地址 -var amountNum = ""; //单据编号开头字符 -var depotString = ""; //店铺id列表 /**默认编号有意义吗,不如空着吧*/ var orgDefaultId=''; //单位默认编号 var orgDefaultList; //存储查询出来的会员列表 @@ -37,9 +30,18 @@ var otherColumns = true; //明细中的‘别名’列是否显示 var btnEnableList = getBtnStr(); //获取按钮的权限 var mPropertyList = ""; //商品属性列表 var defaultAccountId = 0; //默认账户id +//改变宽度和高度 +$("#searchPanel").panel({width:webW-2}); +$("#tablePanel").panel({width:webW-2}); +var listTitle = "销售出库列表"; //单据标题 +var depotString = "|"; //店铺id列表 +var listType ="出库";//入库 出库 +var listSubType ="销售";//采购 销售等 +var payTypeTitle = "收款";//付款 收款 +var organUrl ="/supplier/findBySelect_cus?UBType=UserCustomer&UBKeyId=" + kid;//组织数据接口地址 +var amountNum ="XSCK";//单据编号开头字符 $(function(){ //初始化系统基础信息 - getType(); initSystemData_UB(); initSelectInfo_UB(); initSystemData_depot(); @@ -57,108 +59,6 @@ $(function(){ initForm(); bindEvent();//绑定操作事件 }); -//根据单据名称获取类型 -function getType(){ - listTitle = $("#tablePanel").prev().text(); - depotString = "|"; - //改变宽度和高度 - $("#searchPanel").panel({width:webW-2}); - $("#tablePanel").panel({width:webW-2}); - var supUrl = "/supplier/findBySelect_sup"; //供应商接口 - var cusUrl = "/supplier/findBySelect_cus?UBType=UserCustomer&UBKeyId=" + kid; //客户接口 - var retailUrl = "/supplier/findBySelect_retail"; //散户接口 - if(listTitle === "采购订单列表"){ - listType = "其它"; - listSubType = "采购订单"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "CGDD"; - } - else if(listTitle === "采购入库列表"){ - listType = "入库"; - listSubType = "采购"; - payTypeTitle = "付款"; - organUrl = supUrl; - amountNum = "CGRK"; - } - else if(listTitle === "零售退货列表"){ - listType = "入库"; - listSubType = "零售退货"; //注:用预付款购买的产品不能退货 - payTypeTitle = "付款"; - organUrl = retailUrl; - amountNum = "LSTH"; - } - else if(listTitle === "销售退货列表"){ - listType = "入库"; - listSubType = "销售退货"; - payTypeTitle = "付款"; - organUrl = cusUrl; - amountNum = "XSTH"; - } - else if(listTitle === "其它入库列表"){ - listType = "入库"; - listSubType = "其它"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "QTRK"; - } - else if(listTitle === "零售出库列表"){ - listType = "出库"; - listSubType = "零售"; - payTypeTitle = "收款"; - organUrl = retailUrl; - amountNum = "LSCK"; - } - else if(listTitle === "销售订单列表"){ - listType = "其它"; - listSubType = "销售订单"; - payTypeTitle = "隐藏"; - organUrl = cusUrl; - amountNum = "XSDD"; - } - else if(listTitle === "销售出库列表"){ - listType = "出库"; - listSubType = "销售"; - payTypeTitle = "收款"; - organUrl = cusUrl; - amountNum = "XSCK"; - } - else if(listTitle === "采购退货列表"){ - listType = "出库"; - listSubType = "采购退货"; - payTypeTitle = "收款"; - organUrl = supUrl; - amountNum = "CGTH"; - } - else if(listTitle === "其它出库列表"){ - listType = "出库"; - listSubType = "其它"; - payTypeTitle = "隐藏"; - organUrl = cusUrl; - amountNum = "QTCK"; - } - else if(listTitle === "调拨出库列表"){ - listType = "出库"; - listSubType = "调拨"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "DBCK"; - } - else if(listTitle === "组装单列表"){ - listType = "其它"; - listSubType = "组装单"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "ZZD"; - } - else if(listTitle === "拆卸单列表"){ - listType = "其它"; - listSubType = "拆卸单"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "CXD"; - } -} //初始化系统基础信息 function initSystemData_UB(){ $.ajax({ @@ -264,23 +164,8 @@ function initSupplier(){ orgDefaultId = data[i].id; } } - if(listSubType === "零售"){ - orgDefaultList = res; - } }, onSelect: function(rec){ - if(listSubType === "零售"){ - var option = ""; - if(rec.supplier !== "非会员" && rec.advanceIn >0){ - option = ''; - option += ''; - } - else { - option += ''; - } - $("#payType").empty().append(option); - } - else{ $.ajax({ type:"get", url: "/supplier/findById", @@ -299,7 +184,6 @@ function initSupplier(){ } }); - } } }); } @@ -505,37 +389,10 @@ function initTableData(){ isHiddenStatus = true; //隐藏 } var isShowLastMoneyColumn = false; //是否显示优惠后金额和价税合计,true为隐藏,false为显示 - if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowLastMoneyColumn = true; //隐藏 - } var isShowOrganNameColumn = false; //是否显示供应商、客户等信息,true为隐藏,false为显示 - var organNameTitle = ""; //组织名称标题 - if(listSubType == "调拨" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowOrganNameColumn = true; //隐藏 - } - else { - if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "采购退货列表" || listTitle == "其它入库列表"){ - organNameTitle = "供应商名称"; - } - else if(listTitle == "销售订单列表" || listTitle == "销售退货列表" || listTitle == "销售出库列表" || listTitle == "其它出库列表"){ - organNameTitle = "客户名称"; - } - else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ - organNameTitle = "会员卡号"; - } - } + var organNameTitle = "客户名称";//组织名称标题 var opWidth = 90; //操作宽度 - var isShowSkip = false; //是否显示跳转按钮 var opTitle = ""; //跳转按钮的标题 - if(listTitle == "采购订单列表") { - opWidth = 120; - isShowSkip = true; - opTitle = "转采购入库"; - } else if(listTitle == "销售订单列表") { - opWidth = 120; - isShowSkip = true; - opTitle = "转销售出库"; - } $('#tableData').datagrid({ height:heightInfo, rownumbers: false, @@ -555,25 +412,10 @@ function initTableData(){ { title: '操作',field: 'op',align:"center",width:opWidth, formatter:function(value, rec,index) { var str = ''; - // var rowInfo = rec.id + 'AaBb' + rec.projectid+ 'AaBb' + rec.number+ 'AaBb' + rec.operpersonname - // + 'AaBb' + rec.opertimeStr+ 'AaBb' + rec.organid+ 'AaBb' + rec.handspersonid - // + 'AaBb' + rec.accountid+ 'AaBb' + rec.changeamount+ 'AaBb' + rec.remark - // + 'AaBb' + rec.projectName+ 'AaBb' + rec.organName+ 'AaBb' + rec.handsPersonName - // + 'AaBb' + rec.accountName + 'AaBb' + rec.totalprice + 'AaBb' + rec.allocationprojectid - // + 'AaBb' + rec.allocationProjectName + 'AaBb' + rec.paytype + 'AaBb' + rec.salesman - // + 'AaBb' + rec.discount + 'AaBb' + rec.discountmoney + 'AaBb' + rec.discountlastmoney - // + 'AaBb' + rec.accountidlist + 'AaBb' + rec.accountmoneylist - // + 'AaBb' + rec.othermoney + 'AaBb' + rec.othermoneylist + 'AaBb' + rec.othermoneyitem - // + 'AaBb' + rec.accountday + 'AaBb' + rec.linknumber; - // rowInfo = rowInfo.replace(/\"/g, ""); - // rowInfo = rowInfo.replace(/\[|]/g,""); var orgId = rec.organid? rec.organid:0; str += '   '; str += '   '; str += ''; - if(isShowSkip) { - str += '   '; - } return str; } }, @@ -607,11 +449,6 @@ function initTableData(){ } else if(value === "1") { return "已审核"; } else if(value === "2") { - if(listTitle == "采购订单列表") { - return "已转采购"; - } else if(listTitle == "销售订单列表") { - return "已转销售"; - } } } } @@ -650,23 +487,12 @@ function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ var basicUnit = unitArr[0]; //基础单位 var otherUnit = unitArr[1]; //副单位 var unitSetInput =""; //单位 - if(listSubType === "采购订单" || listSubType === "采购" || listSubType === "采购退货"){ - unitSetInput = rec.data[0].firstinunit; - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = thisRatio; - } + unitSetInput = rec.data[0].firstoutunit; + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; } - else if(listSubType === "销售订单" || listSubType === "销售" || listSubType === "销售退货" || listSubType === "零售" || listSubType === "零售退货"){ - unitSetInput = rec.data[0].firstoutunit; - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = thisRatio; - } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = thisRatio; } } //查询库存 @@ -746,10 +572,6 @@ function statisticsFun(body,UnitPrice,OperNumber,footer,taxRate){ var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款 $("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款 - if(listSubType == "零售" || listSubType == "零售退货") { - $("#ChangeAmount, #getAmount").val((TotalPrice).toFixed(2)); - $("#backAmount").val(0); - } } //初始化表格数据-商品列表-编辑状态 function initTableData_material(type,TotalPrice){ @@ -764,23 +586,11 @@ function initTableData_material(type,TotalPrice){ var anotherDepotHeadName = ""; //对方仓库的列的标题 var anotherDepotUrl = ""; //对方仓库接口地址 var anotherDepotTextField = ""; - if(listSubType == "调拨"){ - isShowAnotherDepot = false; //调拨时候显示对方仓库 - anotherDepotHeadName = "调入仓库"; - anotherDepotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; - anotherDepotTextField = "depotName"; - } depotHeadName = "仓库名称"; depotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; depotTextField = "depotName"; var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 - if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowTaxColumn = true; //隐藏 - } var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 - if(listSubType == "组装单" || listSubType == "拆卸单"){ - isShowMaterialTypeColumn = false; //显示 - } $('#materialData').datagrid({ height:245, rownumbers: false, @@ -905,23 +715,12 @@ function initTableData_material(type,TotalPrice){ var unitSetInput =""; //单位 body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 var loadRatio = 1; //在单位输入框上面加载比例字段 - if(listSubType === "采购" || listSubType === "采购退货" || listSubType === "采购订单"){ - unitSetInput = res.data[0].firstinunit; //给单位文本框赋值 - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = ratio; - } + unitSetInput = res.data[0].firstoutunit; //给单位文本框赋值 + if(basicUnit==unitSetInput){ //基础单位等于选择的单位 + loadRatio = 1; } - else if(listSubType === "销售" || listSubType === "销售退货" || listSubType === "销售订单" || listSubType === "零售" || listSubType === "零售退货"){ - unitSetInput = res.data[0].firstoutunit; //给单位文本框赋值 - if(basicUnit==unitSetInput){ //基础单位等于选择的单位 - loadRatio = 1; - } - else if(otherUnit==unitSetInput){ //副单位等于选择的单位 - loadRatio = ratio; - } + else if(otherUnit==unitSetInput){ //副单位等于选择的单位 + loadRatio = ratio; } body.find("[field='Unit']").find(input).val(unitSetInput).attr("data-ratio", loadRatio); //设置-首选单位 @@ -952,27 +751,11 @@ function initTableData_material(type,TotalPrice){ var type = $(this).attr("data-type"); var UnitPrice = 0; if(type === "basic"){ - if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { - UnitPrice = basicPresetPriceOne; - } - else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { - UnitPrice = basicPresetPriceTwo; - } - else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ - UnitPrice = retailPriceOne; - } + UnitPrice = basicPresetPriceTwo; body.find("[field='Stock']").find(input).val(stock); //修改库存 } else if(type === "other"){ - if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { - UnitPrice = otherPresetPriceOne; - } - else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { - UnitPrice = otherPresetPriceTwo; - } - else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ - UnitPrice = retailPriceTwo; - } + UnitPrice = otherPresetPriceTwo; body.find("[field='Stock']").find(input).val((stock/ratio).toFixed(2)); //修改库存 } body.find("[field='UnitPrice']").find(input).val(UnitPrice); //单价 @@ -992,43 +775,15 @@ function initTableData_material(type,TotalPrice){ }); } var detailPrice = 0; //明细列表-单价 - if(listSubType == "零售" || listSubType == "零售退货") { - if(res.data[0].unit) { //如果存在计量单位信息 - detailPrice = retailPrice; - } - else { - if (firstOutUnit == basicUnit) { - detailPrice = retailPriceOne; - } - else if (firstOutUnit == otherUnit) { - detailPrice = retailPriceTwo; - } - } + if(res.data[0].unit) { //如果存在计量单位信息 + detailPrice = presetPriceTwo; } - else if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") { - if(res.data[0].unit) { //如果存在计量单位信息 - detailPrice = presetPriceOne; + else { + if(firstOutUnit==basicUnit) { + detailPrice = basicPresetPriceTwo; } - else { - if (firstInUnit == basicUnit) { - detailPrice = basicPresetPriceOne; - } - else if (firstInUnit == otherUnit) { - detailPrice = otherPresetPriceOne; - } - } - } - else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { - if(res.data[0].unit) { //如果存在计量单位信息 - detailPrice = presetPriceTwo; - } - else { - if(firstOutUnit==basicUnit) { - detailPrice = basicPresetPriceTwo; - } - else if(firstOutUnit==otherUnit){ - detailPrice = otherPresetPriceTwo; - } + else if(firstOutUnit==otherUnit){ + detailPrice = otherPresetPriceTwo; } } body.find("[field='OperNumber']").find(input).val(1); //数量初始化为1 @@ -1175,19 +930,9 @@ function initTableData_material_show(TotalPrice){ var isShowAnotherDepot = true; //显示对方仓库,true为隐藏,false为显示 var anotherDepotHeadName = ""; //对方仓库的列的标题 var depotHeadName = ""; //仓库的列的标题 - if(listSubType == "调拨"){ - isShowAnotherDepot = false; //调拨时候显示对方仓库 - anotherDepotHeadName = "调入仓库"; - } depotHeadName = "仓库名称"; var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 - if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowTaxColumn = true; //隐藏 - } var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 - if(listSubType == "组装单" || listSubType == "拆卸单"){ - isShowMaterialTypeColumn = false; //显示 - } $('#materialDataShow').datagrid({ height:245, rownumbers: true, @@ -1312,27 +1057,6 @@ function deleteDepotHead(depotHeadID, thisOrganId, totalPrice, status){ } }); - //更新会员的预收款信息 - if(listSubType === "零售") { - $.ajax({ - type:"post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data:{ - supplierId: thisOrganId, //会员id - advanceIn: totalPrice //删除时同时返还用户的预付款 - }, - success: function(res){ - if(res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function(){ - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); - } } }); } @@ -1345,11 +1069,6 @@ function skipDepotHead(index, status){ $.messager.alert('提示','未审核和已转的单据禁止操作!','warning'); } else { sessionStorage.setItem("rowInfo", JSON.stringify(rowsdata)); //将单据信息存入缓存中 - if(listTitle == "采购订单列表") { - parent.addTab("订单转采购", "../materials/purchase_in_list.html?t=skip", ""); - } else if(listTitle == "销售订单列表") { - parent.addTab("订单转销售", "../materials/sale_out_list.html?t=skip", ""); - } } } @@ -1377,29 +1096,6 @@ function batDeleteDepotHead(){ ids += row[i].id + ","; } if (ids) { - //批量更新会员的预收款信息 - for (var i = 0; i < row.length; i++) { - if (listSubType === "零售") { - $.ajax({ - type: "post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data: { - supplierId: row[i].organid, //会员id - advanceIn: row[i].totalprice //删除时同时返还用户的预付款 - }, - success: function (res) { - if (res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function () { - $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); - return; - } - }); - } - } //批量删除 $.ajax({ type: "post", @@ -1601,48 +1297,6 @@ function addDepotHead(){ }); url = '/depotHead/addDepotHeadAndDetail'; - //零售单据修改收款时,自动计算找零 - if(listSubType == "零售" || listSubType == "零售退货") { - $("#payType").val("现付"); - $("#OrganId").combobox("setValue", orgDefaultId); //自动默认选择非会员 - // 鼠标点下时清空选择项 - $("#OrganId").next().find("input").off("mousedown").on("mousedown",function(){ - $("#OrganId").combobox("setValue", ""); - }); - //当会员卡号长度超过10位后,自动点击下拉框,用于兼容刷卡器 - $("#OrganId").next().find("input").off("keyup").on("keyup",function(){ - var self = this; - if($(this).val().length === 10){ - setTimeout(function(){ - $(".combo-panel .combobox-item-selected").click(); - //更新付款类型,加载会员的预付款的金额 - for(var i=0; i0){ - option = ''; - option += ''; - } - else { - option += ''; - } - $("#payType").empty().append(option); - } - } - },1000); - } - }); - var getAmount = $("#depotHeadFM .get-amount"); - var changeAmount = $("#depotHeadFM .change-amount"); - var backAmount = $("#depotHeadFM .back-amount"); - getAmount.val(0); changeAmount.val(0); backAmount.val(0); //时间初始化 - getAmount.off("keyup").on("keyup",function() { - if(changeAmount.val()){ - backAmount.val((getAmount.val()-changeAmount.val()).toFixed(2)); - } - }); - } } //编辑信息 @@ -1697,32 +1351,16 @@ function editDepotHead(index, status){ $('#depotHeadDlg').dialog('open').dialog('setTitle',' 编辑' + editTitle); $(".window-mask").css({ width: webW ,height: webH}); depotHeadID = rowsdata.id; - - if(listSubType == "零售"){ - var option = ""; - if(rowsdata.paytype == "预付款"){ - option = ''; - option += ''; - } - else { - option += ''; - } - $("#payType").empty().append(option); - } - - if(listSubType == "销售" || listSubType == "销售退货"){ - if(rowsdata.salesman){ - var arr = rowsdata.salesman.split(","); - var salesmanArray = []; - for(var i=0;i","")); - } + if(rowsdata.salesman){ + var arr = rowsdata.salesman.split(","); + var salesmanArray = []; + for(var i=0;i","")); } - $("#Salesman").combobox('setValues', salesmanArray); } + $("#Salesman").combobox('setValues', salesmanArray); } - //采购入库、销售出库的多账户加载 if(rowsdata.accountidlist!=undefined && rowsdata.accountmoneylist!=undefined){ $("#AccountId").val("many"); //下拉框选中多账户 @@ -1730,23 +1368,6 @@ function editDepotHead(index, status){ var accountMoneyArr = rowsdata.accountmoneylist.split(","); accountMoneyArr = changeListFmtPlus(accountMoneyArr) //将数组单个金额中的数值转为正数 - if(listSubType == "零售" || listSubType == "零售退货") { - var manyAccountMoney = 0; //多账户合计-零售 - for (var j = 0; j < accountArr.length; j++) { - if (accountList != null) { - for (var i = 0; i < accountList.length; i++) { - var account = accountList[i]; - if (accountArr[j] == account.id) { - manyAccountMoney += accountMoneyArr[j] - 0; //多账户合计-零售 - } - } - } - } - $("#getAmount").val(manyAccountMoney); //收款金额、付款金额 - var changeAmount = $("#ChangeAmount").val()-0; - $("#backAmount").val((manyAccountMoney-changeAmount).toFixed(2)); //找零 - } - $("#AccountId").attr("data-accountArr", JSON.stringify(accountArr)).attr("data-accountMoneyArr", JSON.stringify(accountMoneyArr)); //json数据存储 $(".many-account-ico").show(); //显示多账户的ico图标 } @@ -1840,20 +1461,6 @@ function showDepotHead(index){ depotHeadID = rowsdata.id; initTableData_material_show(TotalPrice); //商品列表-查看状态 - - //零售单据展示数据 - if(listSubType == "零售" || listSubType == "零售退货"){ - var changeAccount = $("#depotHeadDlgShow .change-amount-show").text() -0; - if(manyAccountMoney!==0){ - $("#depotHeadDlgShow .get-amount-show").text((manyAccountMoney).toFixed(2)); - $("#depotHeadDlgShow .back-amount-show").text((manyAccountMoney -changeAccount).toFixed(2)); - } - else { - $("#depotHeadDlgShow .get-amount-show").text((changeAccount).toFixed(2)); - $("#depotHeadDlgShow .back-amount-show").text(0); - } - } - if(listSubType === "销售" || listSubType === "销售退货"){ if(rowsdata.salesman){ var arr = rowsdata.salesman.split(","); var salesmanStr = ""; @@ -1885,7 +1492,6 @@ function showDepotHead(index){ } }); } - } } //绑定操作事件 @@ -1979,97 +1585,13 @@ function bindEvent(){ } } //输入框提示 - if(listTitle === "采购订单列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择供应商!','warning'); - return; - } + if(!$('#OrganId').combobox('getValue')){ + $.messager.alert('提示','请选择购买单位!','warning'); + return; } - else if(listTitle === "采购入库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择供应商!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择结算账户!','warning'); - return; - } - } - else if(listTitle === "零售退货列表"){ - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择付款账户!','warning'); - return; - } - if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { - $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); - return; - } - } - else if(listTitle === "销售退货列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择退货单位!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择付款账户!','warning'); - return; - } - } - else if(listTitle === "其它入库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择往来单位!','warning'); - return; - } - } - else if(listTitle === "零售出库列表"){ - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择收款账户!','warning'); - return; - } - if($("#backAmount").val()-0 <0){ - $.messager.alert('提示','找零金额不能小于0!','warning'); - return; - } - if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { - $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); - return; - } - - } - else if(listTitle === "销售订单列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择购买单位!','warning'); - return; - } - } - else if(listTitle === "销售出库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择购买单位!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择收款账户!','warning'); - return; - } - } - else if(listTitle === "采购退货列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择收货单位!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择收款账户!','warning'); - return; - } - } - else if(listTitle === "其它出库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择往来单位!','warning'); - return; - } - } - else if(listTitle === "调拨出库列表"){ - + if(!$('#AccountId').val()){ + $.messager.alert('提示','请选择收款账户!','warning'); + return; } //进行明细的校验 if(depotHeadID ==0) { @@ -2098,33 +1620,18 @@ function bindEvent(){ accountMoneyList = accountMoneyList.replace(reg,""); //替换所有的双引号 accountMoneyArr = accountMoneyList.split(","); //转为数组 } - if(listSubType === "采购订单"||listSubType === "采购"||listSubType === "零售退货"||listSubType === "销售退货"){ - //付款为负数 - ChangeAmount = 0 - ChangeAmount; - TotalPrice = 0 - TotalPrice; - if(accountMoneyArr) { - accountMoneyArr = changeListFmtMinus(accountMoneyArr); //将数组单个金额中的数值转为负数 - } - } //零售时候,可以从会员预付款中扣款 var thisPayType = "现付"; - if(listSubType === "零售") { - if($("#payType").val() ==="预付款") { - thisPayType = "预付款"; - } - } var SalesmanStr = ""; - if(listSubType === "销售" || listSubType === "销售退货"){ - var Salesman = $('#Salesman').combobox('getValues').toString(); //销售人员 - if(Salesman) { - var SalesmanArray = Salesman.split(","); - for (var i = 0; i < SalesmanArray.length; i++) { - if (i === SalesmanArray.length - 1) { - SalesmanStr += "<" + SalesmanArray[i] + ">"; - } - else { - SalesmanStr += "<" + SalesmanArray[i] + ">,"; - } + var Salesman = $('#Salesman').combobox('getValues').toString(); //销售人员 + if(Salesman) { + var SalesmanArray = Salesman.split(","); + for (var i = 0; i < SalesmanArray.length; i++) { + if (i === SalesmanArray.length - 1) { + SalesmanStr += "<" + SalesmanArray[i] + ">"; + } + else { + SalesmanStr += "<" + SalesmanArray[i] + ">,"; } } } @@ -2187,34 +1694,6 @@ function bindEvent(){ showDepotHeadDetails(opts.pageNumber,opts.pageSize); } - if(thisPayType === "预付款") { - //更新用户信息-预付款 - var advanceIn = 0; //预付款金额 - if(depotHeadID){ - advanceIn = TotalPrice - preTotalPrice; //修改时,预付款=合计金额-加载金额 - } - else{ - advanceIn = TotalPrice; //新增时,预付款=合计金额 - } - $.ajax({ - type:"post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data:{ - supplierId: OrganId, //会员id - advanceIn: 0 - advanceIn //保存的同时扣掉用户的预付款 - }, - success: function(res){ - if(res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function(){ - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); - } //保存明细记录 if(depotHeadID ==0) @@ -2394,14 +1873,7 @@ function bindEvent(){ if(accountArr.length && accountMoneyArr.length) { $("#AccountId").attr("data-accountArr",JSON.stringify(accountArr)).attr("data-accountMoneyArr",JSON.stringify(accountMoneyArr)); //json数据存储 } - if(listSubType==="零售" || listSubType==="零售退货") { - $("#getAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 - var backAmount = $("#getAmount").val() - $("#ChangeAmount").val(); - $("#backAmount").val((backAmount - 0).toFixed(2)); //计算找零金额 - } - else { $("#ChangeAmount").val(accountMoneyTotal); //给付款或者收款金额赋值 - } $("#Debt").val((discountLastMoneyNum-accountMoneyTotal).toFixed(2)); //本次欠款 $("#depotHeadAccountDlg").dialog('close'); }); @@ -2414,12 +1886,7 @@ function bindEvent(){ else { $("#depotHeadAccountDlg").dialog('close'); $("#AccountId").val("").removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 - if(listSubType==="零售" || listSubType==="零售退货"){ - $("#ChangeAmount").prop("readonly","readonly"); - } - else { - $("#ChangeAmount").removeProp("readonly","readonly"); - } + $("#ChangeAmount").removeProp("readonly","readonly"); $(".many-account-ico").hide(); //隐藏多账户小图标 } } @@ -2443,12 +1910,7 @@ function bindEvent(){ } else{ $(this).removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空 - if(listSubType==="零售" || listSubType==="零售退货"){ - $("#ChangeAmount").prop("readonly","readonly"); - } - else { - $("#ChangeAmount").removeProp("readonly","readonly"); - } + $("#ChangeAmount").removeProp("readonly","readonly"); $(".many-account-ico").hide(); //隐藏多账户小图标 } }); @@ -2466,12 +1928,7 @@ function bindEvent(){ $(this).find(".account-id-dlg").val(accountArr[index]); $(this).find(".account-money-dlg").val(accountMoneyArr[index]); }); - if(listSubType==="零售" || listSubType==="零售退货") { - $("#accountMoneyTotalDlg").text($("#getAmount").val()); - } - else { - $("#accountMoneyTotalDlg").text($("#ChangeAmount").val()); - } + $("#accountMoneyTotalDlg").text($("#ChangeAmount").val()); }); //点击采购费用、销售费用的事件 @@ -2594,13 +2051,7 @@ function bindEvent(){ $("#otherMoneyTotalDlg").text($("#OtherMoney").val()); }); - if(listTitle === "采购入库列表" || listTitle === "其它入库列表" || listTitle === "采购订单列表"|| listTitle === "零售出库列表"|| listTitle === "销售出库列表"|| listTitle === "销售订单列表"){ - var supplierType = "供应商"; - if(listTitle === "零售出库列表"){ - supplierType = "会员"; - }else if(listTitle === "销售出库列表" || listTitle === "销售订单列表"){ - supplierType = "客户"; - } + var supplierType = "客户"; //检查单位名称是否存在 ++ 重名无法提示问题需要跟进 function checkSupplierName() { var supplierName = $.trim($("#supplier").val()); @@ -2681,7 +2132,6 @@ function bindEvent(){ } }); }); - } } function showDepotHeadDetails(pageNo,pageSize){ @@ -2798,9 +2248,6 @@ function autoReckon() { return; } else { - if(listTitle!="销售出库列表" && listTitle!="采购退货列表" && listTitle!="其它出库列表" && listTitle!="调拨出库列表") { - return; - } $.ajax({ url: "/material/findById", type: "get", @@ -2922,9 +2369,6 @@ function autoReckon() { if(rowListLength > 0){ mTypeValue = "普通子件"; } - if(listSubType == "组装单" || listSubType == "拆卸单"){ - mType.find(input).val(mTypeValue).prop("readonly","readonly"); - } },500); } From d2dedaf77ad3ad5229018e4c2c7a255fe7c6a278 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Mon, 13 May 2019 11:02:00 +0800 Subject: [PATCH 057/117] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=87=BA=E5=85=A5?= =?UTF-8?q?=E5=BA=93=E6=93=8D=E4=BD=9C=E6=9C=AA=E5=A4=84=E7=90=86=E7=A9=BA?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../js/pages/materials/allocation_out_list.js | 8 +++++--- erp_web/js/pages/materials/assemble_list.js | 9 +++++---- erp_web/js/pages/materials/disassemble_list.js | 9 +++++---- erp_web/js/pages/materials/other_in_list.js | 8 +++++--- erp_web/js/pages/materials/other_out_list.js | 8 +++++--- .../js/pages/materials/purchase_back_list.js | 16 ++++++++++------ erp_web/js/pages/materials/purchase_in_list.js | 16 ++++++++++------ .../js/pages/materials/purchase_orders_list.js | 16 ++++++++++------ erp_web/js/pages/materials/retail_back_list.js | 16 ++++++++++------ erp_web/js/pages/materials/retail_out_list.js | 16 ++++++++++------ erp_web/js/pages/materials/sale_back_list.js | 18 ++++++++++++------ erp_web/js/pages/materials/sale_orders_list.js | 16 ++++++++++------ erp_web/js/pages/materials/sale_out_list.js | 16 ++++++++++------ 13 files changed, 107 insertions(+), 65 deletions(-) diff --git a/erp_web/js/pages/materials/allocation_out_list.js b/erp_web/js/pages/materials/allocation_out_list.js index 213a8b27..c04f794a 100644 --- a/erp_web/js/pages/materials/allocation_out_list.js +++ b/erp_web/js/pages/materials/allocation_out_list.js @@ -697,13 +697,15 @@ function initTableData_material(type,TotalPrice){ } else { var unitName = res.data[0].unitName; + var basicUnit=""; + var otherUnit=""; if(unitName) { ratio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); //给比例赋值 unitName = unitName.substring(0, unitName.indexOf("(")); + var unitArr = unitName.split(","); + basicUnit = unitArr[0]; //基础单位 + otherUnit = unitArr[1]; //副单位 } - var unitArr = unitName.split(","); - var basicUnit = unitArr[0]; //基础单位 - var otherUnit = unitArr[1]; //副单位 var unitSetInput =""; //单位 body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 var loadRatio = 1; //在单位输入框上面加载比例字段 diff --git a/erp_web/js/pages/materials/assemble_list.js b/erp_web/js/pages/materials/assemble_list.js index 8a54e811..c1246dac 100644 --- a/erp_web/js/pages/materials/assemble_list.js +++ b/erp_web/js/pages/materials/assemble_list.js @@ -484,7 +484,6 @@ function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ thisRatio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); unitName = unitName.substring(0, unitName.indexOf("(")); } - var unitArr = unitName.split(","); } //查询库存 $.ajax({ @@ -696,13 +695,15 @@ function initTableData_material(type,TotalPrice){ } else { var unitName = res.data[0].unitName; + var basicUnit=""; + var otherUnit=""; if(unitName) { ratio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); //给比例赋值 unitName = unitName.substring(0, unitName.indexOf("(")); + var unitArr = unitName.split(","); + basicUnit = unitArr[0]; //基础单位 + otherUnit = unitArr[1]; //副单位 } - var unitArr = unitName.split(","); - var basicUnit = unitArr[0]; //基础单位 - var otherUnit = unitArr[1]; //副单位 var unitSetInput =""; //单位 body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 var loadRatio = 1; //在单位输入框上面加载比例字段 diff --git a/erp_web/js/pages/materials/disassemble_list.js b/erp_web/js/pages/materials/disassemble_list.js index f2235d0c..82d5e923 100644 --- a/erp_web/js/pages/materials/disassemble_list.js +++ b/erp_web/js/pages/materials/disassemble_list.js @@ -483,7 +483,6 @@ function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ thisRatio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); unitName = unitName.substring(0, unitName.indexOf("(")); } - var unitArr = unitName.split(","); } //查询库存 $.ajax({ @@ -695,13 +694,15 @@ function initTableData_material(type,TotalPrice){ } else { var unitName = res.data[0].unitName; + var basicUnit=""; + var otherUnit=""; if(unitName) { ratio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); //给比例赋值 unitName = unitName.substring(0, unitName.indexOf("(")); + var unitArr = unitName.split(","); + basicUnit = unitArr[0]; //基础单位 + otherUnit = unitArr[1]; //副单位 } - var unitArr = unitName.split(","); - var basicUnit = unitArr[0]; //基础单位 - var otherUnit = unitArr[1]; //副单位 var unitSetInput =""; //单位 body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 var loadRatio = 1; //在单位输入框上面加载比例字段 diff --git a/erp_web/js/pages/materials/other_in_list.js b/erp_web/js/pages/materials/other_in_list.js index 26643f76..32ed022c 100644 --- a/erp_web/js/pages/materials/other_in_list.js +++ b/erp_web/js/pages/materials/other_in_list.js @@ -700,13 +700,15 @@ function initTableData_material(type,TotalPrice){ } else { var unitName = res.data[0].unitName; + var basicUnit=""; + var otherUnit=""; if(unitName) { ratio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); //给比例赋值 unitName = unitName.substring(0, unitName.indexOf("(")); + var unitArr = unitName.split(","); + basicUnit = unitArr[0]; //基础单位 + otherUnit = unitArr[1]; //副单位 } - var unitArr = unitName.split(","); - var basicUnit = unitArr[0]; //基础单位 - var otherUnit = unitArr[1]; //副单位 var unitSetInput =""; //单位 body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 var loadRatio = 1; //在单位输入框上面加载比例字段 diff --git a/erp_web/js/pages/materials/other_out_list.js b/erp_web/js/pages/materials/other_out_list.js index 964f2ac0..c60fa244 100644 --- a/erp_web/js/pages/materials/other_out_list.js +++ b/erp_web/js/pages/materials/other_out_list.js @@ -694,13 +694,15 @@ function initTableData_material(type,TotalPrice){ } else { var unitName = res.data[0].unitName; + var basicUnit=""; + var otherUnit=""; if(unitName) { ratio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); //给比例赋值 unitName = unitName.substring(0, unitName.indexOf("(")); + var unitArr = unitName.split(","); + basicUnit = unitArr[0]; //基础单位 + otherUnit = unitArr[1]; //副单位 } - var unitArr = unitName.split(","); - var basicUnit = unitArr[0]; //基础单位 - var otherUnit = unitArr[1]; //副单位 var unitSetInput =""; //单位 body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 var loadRatio = 1; //在单位输入框上面加载比例字段 diff --git a/erp_web/js/pages/materials/purchase_back_list.js b/erp_web/js/pages/materials/purchase_back_list.js index 5104f489..c515c8e3 100644 --- a/erp_web/js/pages/materials/purchase_back_list.js +++ b/erp_web/js/pages/materials/purchase_back_list.js @@ -476,13 +476,15 @@ function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ } else{ var unitName = rec.data[0].unitName; + var basicUnit=""; + var otherUnit=""; if(unitName) { thisRatio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); unitName = unitName.substring(0, unitName.indexOf("(")); + var unitArr = unitName.split(","); + basicUnit = unitArr[0]; //基础单位 + otherUnit = unitArr[1]; //副单位 } - var unitArr = unitName.split(","); - var basicUnit = unitArr[0]; //基础单位 - var otherUnit = unitArr[1]; //副单位 var unitSetInput =""; //单位 unitSetInput = rec.data[0].firstinunit; if(basicUnit==unitSetInput){ //基础单位等于选择的单位 @@ -702,13 +704,15 @@ function initTableData_material(type,TotalPrice){ } else { var unitName = res.data[0].unitName; + var basicUnit=""; + var otherUnit=""; if(unitName) { ratio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); //给比例赋值 unitName = unitName.substring(0, unitName.indexOf("(")); + var unitArr = unitName.split(","); + basicUnit = unitArr[0]; //基础单位 + otherUnit = unitArr[1]; //副单位 } - var unitArr = unitName.split(","); - var basicUnit = unitArr[0]; //基础单位 - var otherUnit = unitArr[1]; //副单位 var unitSetInput =""; //单位 body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 var loadRatio = 1; //在单位输入框上面加载比例字段 diff --git a/erp_web/js/pages/materials/purchase_in_list.js b/erp_web/js/pages/materials/purchase_in_list.js index cacac4e1..9d3b96bd 100644 --- a/erp_web/js/pages/materials/purchase_in_list.js +++ b/erp_web/js/pages/materials/purchase_in_list.js @@ -479,13 +479,15 @@ function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ } else{ var unitName = rec.data[0].unitName; + var basicUnit=""; + var otherUnit=""; if(unitName) { thisRatio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); unitName = unitName.substring(0, unitName.indexOf("(")); + var unitArr = unitName.split(","); + basicUnit = unitArr[0]; //基础单位 + otherUnit = unitArr[1]; //副单位 } - var unitArr = unitName.split(","); - var basicUnit = unitArr[0]; //基础单位 - var otherUnit = unitArr[1]; //副单位 var unitSetInput =""; //单位 unitSetInput = rec.data[0].firstinunit; if(basicUnit==unitSetInput){ //基础单位等于选择的单位 @@ -705,13 +707,15 @@ function initTableData_material(type,TotalPrice){ } else { var unitName = res.data[0].unitName; + var basicUnit=""; + var otherUnit=""; if(unitName) { ratio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); //给比例赋值 unitName = unitName.substring(0, unitName.indexOf("(")); + var unitArr = unitName.split(","); + basicUnit = unitArr[0]; //基础单位 + otherUnit = unitArr[1]; //副单位 } - var unitArr = unitName.split(","); - var basicUnit = unitArr[0]; //基础单位 - var otherUnit = unitArr[1]; //副单位 var unitSetInput =""; //单位 body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 var loadRatio = 1; //在单位输入框上面加载比例字段 diff --git a/erp_web/js/pages/materials/purchase_orders_list.js b/erp_web/js/pages/materials/purchase_orders_list.js index a3ece096..a2941c7d 100644 --- a/erp_web/js/pages/materials/purchase_orders_list.js +++ b/erp_web/js/pages/materials/purchase_orders_list.js @@ -481,13 +481,15 @@ function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ } else{ var unitName = rec.data[0].unitName; + var basicUnit=""; + var otherUnit=""; if(unitName) { thisRatio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); unitName = unitName.substring(0, unitName.indexOf("(")); + var unitArr = unitName.split(","); + basicUnit = unitArr[0]; //基础单位 + otherUnit = unitArr[1]; //副单位 } - var unitArr = unitName.split(","); - var basicUnit = unitArr[0]; //基础单位 - var otherUnit = unitArr[1]; //副单位 var unitSetInput =""; //单位 unitSetInput = rec.data[0].firstinunit; if(basicUnit==unitSetInput){ //基础单位等于选择的单位 @@ -707,13 +709,15 @@ function initTableData_material(type,TotalPrice){ } else { var unitName = res.data[0].unitName; + var basicUnit=""; + var otherUnit=""; if(unitName) { ratio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); //给比例赋值 unitName = unitName.substring(0, unitName.indexOf("(")); + var unitArr = unitName.split(","); + basicUnit = unitArr[0]; //基础单位 + otherUnit = unitArr[1]; //副单位 } - var unitArr = unitName.split(","); - var basicUnit = unitArr[0]; //基础单位 - var otherUnit = unitArr[1]; //副单位 var unitSetInput =""; //单位 body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 var loadRatio = 1; //在单位输入框上面加载比例字段 diff --git a/erp_web/js/pages/materials/retail_back_list.js b/erp_web/js/pages/materials/retail_back_list.js index 979b932c..6c05c1e9 100644 --- a/erp_web/js/pages/materials/retail_back_list.js +++ b/erp_web/js/pages/materials/retail_back_list.js @@ -480,13 +480,15 @@ function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ } else{ var unitName = rec.data[0].unitName; + var basicUnit=""; + var otherUnit=""; if(unitName) { thisRatio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); unitName = unitName.substring(0, unitName.indexOf("(")); + var unitArr = unitName.split(","); + basicUnit = unitArr[0]; //基础单位 + otherUnit = unitArr[1]; //副单位 } - var unitArr = unitName.split(","); - var basicUnit = unitArr[0]; //基础单位 - var otherUnit = unitArr[1]; //副单位 var unitSetInput =""; //单位 unitSetInput = rec.data[0].firstoutunit; if(basicUnit==unitSetInput){ //基础单位等于选择的单位 @@ -708,13 +710,15 @@ function initTableData_material(type,TotalPrice){ } else { var unitName = res.data[0].unitName; + var basicUnit=""; + var otherUnit=""; if(unitName) { ratio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); //给比例赋值 unitName = unitName.substring(0, unitName.indexOf("(")); + var unitArr = unitName.split(","); + basicUnit = unitArr[0]; //基础单位 + otherUnit = unitArr[1]; //副单位 } - var unitArr = unitName.split(","); - var basicUnit = unitArr[0]; //基础单位 - var otherUnit = unitArr[1]; //副单位 var unitSetInput =""; //单位 body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 var loadRatio = 1; //在单位输入框上面加载比例字段 diff --git a/erp_web/js/pages/materials/retail_out_list.js b/erp_web/js/pages/materials/retail_out_list.js index 871706d8..93601cc5 100644 --- a/erp_web/js/pages/materials/retail_out_list.js +++ b/erp_web/js/pages/materials/retail_out_list.js @@ -472,13 +472,15 @@ function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ } else{ var unitName = rec.data[0].unitName; + var basicUnit=""; + var otherUnit=""; if(unitName) { thisRatio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); unitName = unitName.substring(0, unitName.indexOf("(")); + var unitArr = unitName.split(","); + basicUnit = unitArr[0]; //基础单位 + otherUnit = unitArr[1]; //副单位 } - var unitArr = unitName.split(","); - var basicUnit = unitArr[0]; //基础单位 - var otherUnit = unitArr[1]; //副单位 var unitSetInput =""; //单位 unitSetInput = rec.data[0].firstoutunit; if(basicUnit==unitSetInput){ //基础单位等于选择的单位 @@ -700,13 +702,15 @@ function initTableData_material(type,TotalPrice){ } else { var unitName = res.data[0].unitName; + var basicUnit=""; + var otherUnit=""; if(unitName) { ratio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); //给比例赋值 unitName = unitName.substring(0, unitName.indexOf("(")); + var unitArr = unitName.split(","); + basicUnit = unitArr[0]; //基础单位 + otherUnit = unitArr[1]; //副单位 } - var unitArr = unitName.split(","); - var basicUnit = unitArr[0]; //基础单位 - var otherUnit = unitArr[1]; //副单位 var unitSetInput =""; //单位 body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 var loadRatio = 1; //在单位输入框上面加载比例字段 diff --git a/erp_web/js/pages/materials/sale_back_list.js b/erp_web/js/pages/materials/sale_back_list.js index 17b9bb58..8fa22af3 100644 --- a/erp_web/js/pages/materials/sale_back_list.js +++ b/erp_web/js/pages/materials/sale_back_list.js @@ -481,13 +481,16 @@ function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ } else{ var unitName = rec.data[0].unitName; + var basicUnit=""; + var otherUnit=""; if(unitName) { thisRatio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); unitName = unitName.substring(0, unitName.indexOf("(")); + unitArr = unitName.split(","); + basicUnit = unitArr[0]; //基础单位 + otherUnit = unitArr[1]; //副单位 } - var unitArr = unitName.split(","); - var basicUnit = unitArr[0]; //基础单位 - var otherUnit = unitArr[1]; //副单位 + var unitSetInput =""; //单位 unitSetInput = rec.data[0].firstoutunit; if(basicUnit==unitSetInput){ //基础单位等于选择的单位 @@ -706,13 +709,16 @@ function initTableData_material(type,TotalPrice){ } else { var unitName = res.data[0].unitName; + var basicUnit=""; + var otherUnit=""; if(unitName) { ratio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); //给比例赋值 unitName = unitName.substring(0, unitName.indexOf("(")); + var unitArr = unitName.split(","); + basicUnit = unitArr[0]; //基础单位 + otherUnit = unitArr[1]; //副单位 } - var unitArr = unitName.split(","); - var basicUnit = unitArr[0]; //基础单位 - var otherUnit = unitArr[1]; //副单位 + var unitSetInput =""; //单位 body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 var loadRatio = 1; //在单位输入框上面加载比例字段 diff --git a/erp_web/js/pages/materials/sale_orders_list.js b/erp_web/js/pages/materials/sale_orders_list.js index fb6b72f9..760459a8 100644 --- a/erp_web/js/pages/materials/sale_orders_list.js +++ b/erp_web/js/pages/materials/sale_orders_list.js @@ -481,13 +481,15 @@ function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ } else{ var unitName = rec.data[0].unitName; + var basicUnit=""; + var otherUnit=""; if(unitName) { thisRatio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); unitName = unitName.substring(0, unitName.indexOf("(")); + var unitArr = unitName.split(","); + basicUnit = unitArr[0]; //基础单位 + otherUnit = unitArr[1]; //副单位 } - var unitArr = unitName.split(","); - var basicUnit = unitArr[0]; //基础单位 - var otherUnit = unitArr[1]; //副单位 var unitSetInput =""; //单位 unitSetInput = rec.data[0].firstoutunit; if(basicUnit==unitSetInput){ //基础单位等于选择的单位 @@ -707,13 +709,15 @@ function initTableData_material(type,TotalPrice){ } else { var unitName = res.data[0].unitName; + var basicUnit=""; + var otherUnit=""; if(unitName) { ratio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); //给比例赋值 unitName = unitName.substring(0, unitName.indexOf("(")); + var unitArr = unitName.split(","); + basicUnit = unitArr[0]; //基础单位 + otherUnit = unitArr[1]; //副单位 } - var unitArr = unitName.split(","); - var basicUnit = unitArr[0]; //基础单位 - var otherUnit = unitArr[1]; //副单位 var unitSetInput =""; //单位 body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 var loadRatio = 1; //在单位输入框上面加载比例字段 diff --git a/erp_web/js/pages/materials/sale_out_list.js b/erp_web/js/pages/materials/sale_out_list.js index 3497c7e4..f2f977e9 100644 --- a/erp_web/js/pages/materials/sale_out_list.js +++ b/erp_web/js/pages/materials/sale_out_list.js @@ -479,13 +479,15 @@ function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ } else{ var unitName = rec.data[0].unitName; + var basicUnit=""; + var otherUnit=""; if(unitName) { thisRatio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); unitName = unitName.substring(0, unitName.indexOf("(")); + var unitArr = unitName.split(","); + basicUnit = unitArr[0]; //基础单位 + otherUnit = unitArr[1]; //副单位 } - var unitArr = unitName.split(","); - var basicUnit = unitArr[0]; //基础单位 - var otherUnit = unitArr[1]; //副单位 var unitSetInput =""; //单位 unitSetInput = rec.data[0].firstoutunit; if(basicUnit==unitSetInput){ //基础单位等于选择的单位 @@ -705,13 +707,15 @@ function initTableData_material(type,TotalPrice){ } else { var unitName = res.data[0].unitName; + var basicUnit=""; + var otherUnit=""; if(unitName) { ratio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); //给比例赋值 unitName = unitName.substring(0, unitName.indexOf("(")); + var unitArr = unitName.split(","); + basicUnit = unitArr[0]; //基础单位 + otherUnit = unitArr[1]; //副单位 } - var unitArr = unitName.split(","); - var basicUnit = unitArr[0]; //基础单位 - var otherUnit = unitArr[1]; //副单位 var unitSetInput =""; //单位 body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 var loadRatio = 1; //在单位输入框上面加载比例字段 From 5881dac73afd2aa6ce790a46c085ff8274286770 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Tue, 14 May 2019 15:27:50 +0800 Subject: [PATCH 058/117] =?UTF-8?q?=E8=B4=A2=E5=8A=A1=E4=BF=A1=E6=81=AFsql?= =?UTF-8?q?$=E4=BF=AE=E6=94=B9=E4=B8=BA#?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper_xml/AccountHeadMapperEx.xml | 42 ++++++++++--------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/src/main/resources/mapper_xml/AccountHeadMapperEx.xml b/src/main/resources/mapper_xml/AccountHeadMapperEx.xml index d5f894b0..13ab5395 100644 --- a/src/main/resources/mapper_xml/AccountHeadMapperEx.xml +++ b/src/main/resources/mapper_xml/AccountHeadMapperEx.xml @@ -15,17 +15,18 @@ left join jsh_person p on ah.HandsPersonId=p.id and ifnull(p.delete_Flag,'0') !='1' left join jsh_account a on ah.AccountId=a.id and ifnull(a.delete_Flag,'0') !='1' where 1=1 - - and ah.BillNo like '%${billNo}%' + + + and ah.BillNo like #{billNo} - - and ah.Type='${type}' + + and ah.Type= #{type} - - and ah.BillTime >= '%${beginTime}%' + + and ah.BillTime >= #{beginTime} - - and ah.BillTime <= '%${endTime}%' + + and ah.BillTime <= #{endTime} and ifnull(ah.delete_Flag,'0') !='1' order by ah.Id desc @@ -40,17 +41,18 @@ COUNT(id) FROM jsh_accounthead WHERE 1=1 - - and BillNo like '%${billNo}%' + + + and BillNo like #{billNo} - - and Type='${type}' + + and Type=#{type} - - and BillTime >= '%${beginTime}%' + + and BillTime >= #{beginTime} - - and BillTime <= '%${endTime}%' + + and BillTime <= #{endTime} and ifnull(delete_Flag,'0') !='1' @@ -60,9 +62,9 @@ @@ -74,7 +76,7 @@ left join jsh_account a on ah.AccountId=a.id and ifnull(a.delete_Flag,'0') !='1' where 1=1 - and ah.BillNo = '${billNo}' + and ah.BillNo = #{billNo} and ifnull(ah.delete_Flag,'0') !='1' From 40a6091cf17d15fdd60adbcf86c25eb21ca6242c Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Tue, 14 May 2019 15:35:20 +0800 Subject: [PATCH 059/117] =?UTF-8?q?=E8=B4=A2=E5=8A=A1=E6=98=8E=E7=BB=86?= =?UTF-8?q?=E4=BF=A1=E6=81=AFsql$=E4=BF=AE=E6=94=B9=E4=B8=BA#?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper_xml/AccountItemMapperEx.xml | 26 +++++++++++-------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/src/main/resources/mapper_xml/AccountItemMapperEx.xml b/src/main/resources/mapper_xml/AccountItemMapperEx.xml index d4acb20f..555795da 100644 --- a/src/main/resources/mapper_xml/AccountItemMapperEx.xml +++ b/src/main/resources/mapper_xml/AccountItemMapperEx.xml @@ -11,14 +11,16 @@ select * FROM jsh_accountitem where 1=1 - - and name like '%${name}%' + + + and name like #{name} - and type=${type} + and type=#{type} - - and remark like '%${remark}%' + + + and remark like #{remark} and ifnull(delete_Flag,'0') !='1' @@ -30,14 +32,16 @@ COUNT(id) FROM jsh_accountitem WHERE 1=1 - - and name like '%${name}%' + + + and name like #{name} - and type=${type} + and type=#{type} - - and remark like '%${remark}%' + + + and remark like #{remark} and ifnull(delete_Flag,'0') !='1' @@ -46,7 +50,7 @@ select ai.*,a.Name AccountName,ioi.Name InOutItemName from jsh_accountitem ai left join jsh_account a on ai.AccountId=a.id and ifnull(a.delete_Flag,'0') !='1' left join jsh_inoutitem ioi on ai.InOutItemId = ioi.id and ifnull(ioi.delete_Flag,'0') !='1' - where ai.HeaderId = ${headerId} + where ai.HeaderId = #{headerId} and ifnull(ai.delete_Flag,'0') !='1' order by ai.id asc From 1283b228a9ac358f734752aaacb27f2db29ffa28 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Tue, 14 May 2019 15:38:25 +0800 Subject: [PATCH 060/117] =?UTF-8?q?=E8=B4=A6=E6=88=B7=E4=BF=A1=E6=81=AFsql?= =?UTF-8?q?$=E4=BF=AE=E6=94=B9=E4=B8=BA#?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/mapper_xml/AccountMapperEx.xml | 60 +++++++++++-------- 1 file changed, 36 insertions(+), 24 deletions(-) diff --git a/src/main/resources/mapper_xml/AccountMapperEx.xml b/src/main/resources/mapper_xml/AccountMapperEx.xml index d2ed1259..ff2e11f1 100644 --- a/src/main/resources/mapper_xml/AccountMapperEx.xml +++ b/src/main/resources/mapper_xml/AccountMapperEx.xml @@ -19,14 +19,17 @@ select * FROM jsh_account where 1=1 - - and name like '%${name}%' + + + and name like #{name} - - and SerialNo like '%${serialNo}%' + + + and SerialNo like #{serialNo} - - and remark like '%${remark}%' + + + and remark like #{remark} and ifnull(delete_Flag,'0') !='1' @@ -39,14 +42,17 @@ COUNT(id) FROM jsh_account WHERE 1=1 - - and name like '%${name}%' + + + and name like #{name} - - and SerialNo like '%${serialNo}%' + + + and SerialNo like #{serialNo} - - and remark like '%${remark}%' + + + and remark like #{remark} and ifnull(delete_Flag,'0') !='1' @@ -57,7 +63,7 @@ from jsh_depothead dh inner join jsh_supplier s on dh.OrganId = s.id and ifnull(s.delete_Flag,'0') !='1' where 1=1 - and dh.AccountId=${accountId} + and dh.AccountId=#{accountId} and ifnull(dh.delete_Flag,'0') !='1' @@ -67,7 +73,7 @@ from jsh_accounthead ah inner join jsh_supplier s on ah.OrganId=s.id and ifnull(s.delete_Flag,'0') !='1' where 1=1 - and ah.AccountId=${accountId} + and ah.AccountId=#{accountId} and ifnull(ah.delete_Flag,'0') !='1' @@ -77,7 +83,7 @@ inner join jsh_accountitem ai on ai.HeaderId=ah.Id and ifnull(ai.delete_Flag,'0') !='1' where ah.Type in ('收款','付款','收预付款') - and ai.AccountId=${accountId} + and ai.AccountId=#{accountId} and ifnull(ah.delete_Flag,'0') !='1' @@ -86,7 +92,7 @@ from jsh_accounthead ah inner join jsh_accountitem ai on ai.HeaderId=ah.Id and ifnull(ai.delete_Flag,'0') !='1' where ah.Type='转账' - and ah.AccountId=${accountId} + and ah.AccountId=#{accountId} and ifnull(ah.delete_Flag,'0') !='1' @@ -95,7 +101,7 @@ from jsh_accounthead ah inner join jsh_accountitem ai on ai.HeaderId=ah.Id and ifnull(ai.delete_Flag,'0') !='1' where ah.Type='转账' - and ai.AccountId=${accountId} + and ai.AccountId=#{accountId} and ifnull(ah.delete_Flag,'0') !='1' @@ -104,8 +110,13 @@ dh.AccountIdList as AList,dh.AccountMoneyList as AMList from jsh_depothead dh inner join jsh_supplier s on dh.OrganId = s.id and ifnull(s.delete_Flag,'0') !='1' where 1=1 + + + and remark like #{remark} + - and dh.AccountIdList like '%${accountId}%' + + and dh.AccountIdList like #{accountId} and ifnull(dh.delete_Flag,'0') !='1' ORDER BY oTime desc @@ -122,7 +133,7 @@ from jsh_depothead dh inner join jsh_supplier s on dh.OrganId = s.id and ifnull(s.delete_Flag,'0') !='1' where 1=1 - and dh.AccountId=${accountId} + and dh.AccountId=#{accountId} and ifnull(dh.delete_Flag,'0') !='1' @@ -131,7 +142,7 @@ from jsh_accounthead ah inner join jsh_supplier s on ah.OrganId=s.id and ifnull(s.delete_Flag,'0') !='1' where 1=1 - and ah.AccountId=${accountId} + and ah.AccountId=#{accountId} and ifnull(ah.delete_Flag,'0') !='1' @@ -141,7 +152,7 @@ inner join jsh_accountitem ai on ai.HeaderId=ah.Id and ifnull(ai.delete_Flag,'0') !='1' where ah.Type in ('收款','付款','收预付款') - and ai.AccountId=${accountId} + and ai.AccountId=#{accountId} and ifnull(ah.delete_Flag,'0') !='1' @@ -150,7 +161,7 @@ from jsh_accounthead ah inner join jsh_accountitem ai on ai.HeaderId=ah.Id and ifnull(ai.delete_Flag,'0') !='1' where ah.Type='转账' - and ah.AccountId=${accountId} + and ah.AccountId=#{accountId} and ifnull(ah.delete_Flag,'0') !='1' @@ -159,7 +170,7 @@ from jsh_accounthead ah inner join jsh_accountitem ai on ai.HeaderId=ah.Id and ifnull(ai.delete_Flag,'0') !='1' where ah.Type='转账' - and ai.AccountId=${accountId} + and ai.AccountId=#{accountId} and ifnull(ah.delete_Flag,'0') !='1' @@ -168,7 +179,8 @@ from jsh_depothead dh inner join jsh_supplier s on dh.OrganId = s.id and ifnull(s.delete_Flag,'0') !='1' where 1=1 - and dh.AccountIdList like '%${accountId}%' + + and dh.AccountIdList like #{accountId} and ifnull(dh.delete_Flag,'0') !='1' ) cc From e86c84b22ea2ce5ededd4d72012c51ed32ab57d0 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Tue, 14 May 2019 15:57:25 +0800 Subject: [PATCH 061/117] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=B4=A6=E6=88=B7?= =?UTF-8?q?=E4=BF=A1=E6=81=AFjs=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- erp_web/pages/manage/account.html | 4 ---- 1 file changed, 4 deletions(-) diff --git a/erp_web/pages/manage/account.html b/erp_web/pages/manage/account.html index ca9efe90..ba6ba504 100644 --- a/erp_web/pages/manage/account.html +++ b/erp_web/pages/manage/account.html @@ -143,8 +143,6 @@ * 修改效率低下的js实现 */ var str = ''; - // var rowInfo = rec.id + 'AaBb' + rec.name + 'AaBb' + rec.serialno + 'AaBb' + rec.initialamount + 'AaBb' + rec.currentamount + 'AaBb' + rec.remark; - str += ' 流水  '; str += ' 编辑  '; str += ' 删除  '; @@ -451,7 +449,6 @@ //编辑结算账户 function editAccount(index) { var rowsdata = $("#tableData").datagrid("getRows")[index]; - // var accountInfo = accountTotalInfo.split("AaBb"); var row = { name: rowsdata.name, serialNo: rowsdata.serialNo, @@ -463,7 +460,6 @@ $('#accountDlg').dialog('open').dialog('setTitle', ' 编辑结算账户'); $(".window-mask").css({width: webW, height: webH}); $('#accountFM').form('load', row); - accountID = accountInfo[0]; //焦点在名称输入框==定焦在输入文字后面 $("#account").val("").focus().val(rowsdata.name); url = '/account/update?id=' + rowsdata.id; From 1e47b32bb0d641261ac28e86618eef714585a4f5 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Tue, 14 May 2019 15:58:26 +0800 Subject: [PATCH 062/117] =?UTF-8?q?=E5=BA=94=E7=94=A8=E4=BF=A1=E6=81=AFsql?= =?UTF-8?q?$=E4=BF=AE=E6=94=B9=E4=B8=BA#?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/mapper_xml/AppMapperEx.xml | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/main/resources/mapper_xml/AppMapperEx.xml b/src/main/resources/mapper_xml/AppMapperEx.xml index 8422d73c..8903cb96 100644 --- a/src/main/resources/mapper_xml/AppMapperEx.xml +++ b/src/main/resources/mapper_xml/AppMapperEx.xml @@ -5,11 +5,12 @@ select * FROM jsh_app where 1=1 - - and name like '%${name}%' + + + and name like #{name} - - and type='${type}' + + and type=#{type} and ifnull(delete_Flag,'0') !='1' order by sort asc @@ -22,11 +23,12 @@ COUNT(id) FROM jsh_app WHERE 1=1 - - and name like '%${name}%' + + + and name like #{name} - - and type='${type}' + + and type=#{type} and ifnull(delete_Flag,'0') !='1' From 41cd639c34e46a9f36a7350012a3a57f34abffa9 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Tue, 14 May 2019 16:05:14 +0800 Subject: [PATCH 063/117] =?UTF-8?q?=E5=8D=95=E6=8D=AE=E4=BF=A1=E6=81=AFsql?= =?UTF-8?q?$=E4=BF=AE=E6=94=B9=E4=B8=BA#?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper_xml/DepotHeadMapperEx.xml | 174 ++++++++++-------- 1 file changed, 100 insertions(+), 74 deletions(-) diff --git a/src/main/resources/mapper_xml/DepotHeadMapperEx.xml b/src/main/resources/mapper_xml/DepotHeadMapperEx.xml index ef7d6285..20371a3a 100644 --- a/src/main/resources/mapper_xml/DepotHeadMapperEx.xml +++ b/src/main/resources/mapper_xml/DepotHeadMapperEx.xml @@ -50,23 +50,27 @@ left join jsh_account a on dh.AccountId=a.id and ifnull(a.delete_Flag,'0') !='1' left join jsh_depot dd on dh.AllocationProjectId=dd.id and ifnull(dd.delete_Flag,'0') !='1' where 1=1 - - and dh.Type='${type}' + + and dh.Type=#{type} - - and dh.SubType='${subType}' + + and dh.SubType=#{subType} - - and dh.Number like '%${number}%' + + + and dh.Number like #{number} - - and dh.Id in (${dhIds}) + + and dh.Id in + + #{dhId} + - - and dh.OperTime >= '${beginTime}' + + and dh.OperTime >= #{beginTime} - - and dh.OperTime <= '${endTime}' + + and dh.OperTime <= #{endTime} and ifnull(dh.delete_Flag,'0') !='1' order by dh.Id desc @@ -79,23 +83,27 @@ COUNT(id) FROM jsh_depothead WHERE 1=1 - - and Type='${type}' + + and Type=#{type} - - and SubType='${subType}' + + and SubType=#{subType} - - and Number like '%${number}%' + + + and Number like #{number} - - and Id in (${dhIds}) + + and Id in + + #{dhId} + - - and OperTime >= '${beginTime}' + + and OperTime >= #{beginTime} - - and OperTime <= '${endTime}' + + and OperTime <= #{endTime} and ifnull(delete_Flag,'0') !='1' @@ -108,7 +116,7 @@ select group_concat(concat(jsh_material.`Name`,' ',jsh_material.Model)) as mName from jsh_depotitem inner join jsh_material on jsh_depotitem.MaterialId = jsh_material.Id and ifnull(jsh_material.delete_Flag,'0') !='1' - where jsh_depotitem.HeaderId = ${id} + where jsh_depotitem.HeaderId = #{id} and ifnull(jsh_depotitem.delete_Flag,'0') !='1' @@ -120,18 +128,21 @@ inner join jsh_material m on m.id=di.MaterialId and ifnull(m.delete_Flag,'0') !='1' inner join jsh_supplier s on s.id=dh.OrganId and ifnull(s.delete_Flag,'0') !='1' inner join (select id,name as dName,delete_Flag from jsh_depot ) d on d.id=di.DepotId and ifnull(d.delete_Flag,'0') !='1' - where dh.OperTime >='${beginTime}' and dh.OperTime <='${endTime}' + where dh.OperTime >=#{beginTime} and dh.OperTime <=#{endTime} - and dh.OrganId = ${oId} + and dh.OrganId = #{oId} - and di.DepotId = ${pid} + and di.DepotId = #{pid} - - and di.DepotId in (${dids}) + + and di.DepotId in + + #{did} + - - and dh.Type='${type}' + + and dh.Type=#{type} and ifnull(dh.delete_Flag,'0') !='1' ORDER BY OperTime DESC,Number desc @@ -147,18 +158,21 @@ inner join jsh_material m on m.id=di.MaterialId and ifnull(m.delete_Flag,'0') !='1' inner join jsh_supplier s on s.id=dh.OrganId and ifnull(s.delete_Flag,'0') !='1' inner join (select id,name as dName,delete_Flag from jsh_depot) d on d.id=di.DepotId and ifnull(d.delete_Flag,'0') !='1' - where dh.OperTime >='${beginTime}' and dh.OperTime <='${endTime}' + where dh.OperTime >=#{beginTime} and dh.OperTime <=#{endTime} - and dh.OrganId = ${oId} + and dh.OrganId = #{oId} - and di.DepotId = ${pid} + and di.DepotId = #{pid} - - and di.DepotId in (${dids}) + + and di.DepotId in + + #{did} + - - and dh.Type='${type}' + + and dh.Type=#{type} and ifnull(dh.delete_Flag,'0') !='1' ORDER BY OperTime DESC,Number desc @@ -170,15 +184,18 @@ (select sum(jdi.BasicNumber) numSum from jsh_depothead jdh INNER JOIN jsh_depotitem jdi on jdh.id=jdi.HeaderId and ifnull(jdi.delete_Flag,'0') !='1' where jdi.MaterialId=di.MaterialId - and jdh.type='${type}' and jdh.OperTime >='${beginTime}' and jdh.OperTime <='${endTime}' + and jdh.type=#{type} and jdh.OperTime >=#{beginTime} and jdh.OperTime <=#{endTime} - and jdh.OrganId = ${oId} + and jdh.OrganId = #{oId} - and jdi.DepotId= ${pid} + and jdi.DepotId= #{pid} - - and jdi.DepotId in (${dids}) + + and jdi.DepotId in + + #{did} + and ifnull(jdh.delete_Flag,'0') !='1' ) numSum, @@ -186,15 +203,18 @@ (select sum(jdi.AllPrice) priceSum from jsh_depothead jdh INNER JOIN jsh_depotitem jdi on jdh.id=jdi.HeaderId and ifnull(jdi.delete_Flag,'0') !='1' where jdi.MaterialId=di.MaterialId - and jdh.type='${type}' and jdh.OperTime >='${beginTime}' and jdh.OperTime <='${endTime}' + and jdh.type=#{type} and jdh.OperTime >=#{beginTime} and jdh.OperTime <=#{endTime} - and jdh.OrganId = ${oId} + and jdh.OrganId = #{oId} - and jdi.DepotId= ${pid} + and jdi.DepotId= #{pid} - - and jdi.DepotId in (${dids}) + + and jdi.DepotId in + + #{did} + and ifnull(jdh.delete_Flag,'0') !='1' ) priceSum @@ -205,15 +225,18 @@ INNER JOIN jsh_materialcategory on jsh_material.CategoryId=jsh_materialcategory.Id and ifnull(jsh_materialcategory.status,'0') !='2' where ifnull(jsh_material.delete_Flag,'0') !='1' ) m - on m.Id=di.MaterialId where dh.type='${type}' and dh.OperTime >='${beginTime}' and dh.OperTime <='${endTime}' + on m.Id=di.MaterialId where dh.type=#{type} and dh.OperTime >=#{beginTime} and dh.OperTime <=#{endTime} - and dh.OrganId = ${oId} + and dh.OrganId = #{oId} - and di.DepotId= ${pid} + and di.DepotId= #{pid} - - and di.DepotId in (${dids}) + + and di.DepotId in + + #{did} + and ifnull(dh.delete_Flag,'0') !='1' GROUP BY di.MaterialId,m.mName,m.Model,m.categoryName @@ -230,15 +253,18 @@ from jsh_material INNER JOIN jsh_materialcategory on jsh_material.CategoryId=jsh_materialcategory.Id and ifnull(jsh_materialcategory.status,'0') !='2' where ifnull(jsh_material.delete_Flag,'0') !='1' - ) m on m.Id=di.MaterialId where dh.type='${type}' and dh.OperTime >='${beginTime}' and dh.OperTime <='${endTime}' + ) m on m.Id=di.MaterialId where dh.type=#{type} and dh.OperTime >=#{beginTime} and dh.OperTime <=#{endTime} - and dh.OrganId = ${oId} + and dh.OrganId = #{oId} - and di.DepotId= ${pid} + and di.DepotId= #{pid} - - and di.DepotId in (${dids}) + + and di.DepotId in + + #{did} + and ifnull(dh.delete_Flag,'0') !='1' GROUP BY di.MaterialId,m.mName,m.Model,m.categoryName) a @@ -248,20 +274,20 @@ select dh.Number,concat(dh.SubType,dh.Type) as type,dh.DiscountLastMoney,dh.ChangeAmount,s.supplier supplierName, date_format(dh.OperTime,'%Y-%m-%d %H:%i:%S') as oTime from jsh_depothead dh inner join jsh_supplier s on s.id=dh.OrganId and ifnull(s.delete_Flag,'0') !='1' - where s.type='${supType}' and (dh.SubType!='其它' and dh.SubType!='采购订单' and dh.SubType!='销售订单') - and dh.OperTime >='${beginTime}' and dh.OperTime <='${endTime}' + where s.type=#{supType} and (dh.SubType!='其它' and dh.SubType!='采购订单' and dh.SubType!='销售订单') + and dh.OperTime >=#{beginTime} and dh.OperTime <=#{endTime} - and dh.OrganId=${organId} + and dh.OrganId=#{organId} and ifnull(dh.delete_Flag,'0') !='1' UNION ALL select ah.BillNo Number,ah.Type as newType,ah.TotalPrice DiscountLastMoney,ah.ChangeAmount,s.supplier supplierName, date_format(ah.BillTime,'%Y-%m-%d %H:%i:%S') as oTime from jsh_accounthead ah inner join jsh_supplier s on s.id=ah.OrganId and ifnull(s.delete_Flag,'0') !='1' - where s.type='${supType}' - and ah.BillTime >='${beginTime}' and ah.BillTime <='${endTime}' + where s.type=#{supType} + and ah.BillTime >=#{beginTime} and ah.BillTime <=#{endTime} - and ah.OrganId=${organId} + and ah.OrganId=#{organId} and ifnull(ah.delete_Flag,'0') !='1' ORDER BY oTime @@ -275,27 +301,27 @@ ( select count(1) a from jsh_depothead dh inner join jsh_supplier s on s.id=dh.OrganId and ifnull(s.delete_Flag,'0') !='1' - where s.type='${supType}' and (dh.SubType!='其它' and dh.SubType!='采购订单' and dh.SubType!='销售订单') - and dh.OperTime >='${beginTime}' and dh.OperTime <='${endTime}' + where s.type=#{supType} and (dh.SubType!='其它' and dh.SubType!='采购订单' and dh.SubType!='销售订单') + and dh.OperTime >=#{beginTime} and dh.OperTime <=#{endTime} - and dh.OrganId=${organId} + and dh.OrganId=#{organId} and ifnull(dh.delete_Flag,'0') !='1' UNION ALL select count(1) a from jsh_accounthead ah inner join jsh_supplier s on s.id=ah.OrganId and ifnull(s.delete_Flag,'0') !='1' - where s.type='${supType}' - and ah.BillTime >='${beginTime}' and ah.BillTime <='${endTime}' + where s.type=#{supType} + and ah.BillTime >=#{beginTime} and ah.BillTime <=#{endTime} - and ah.OrganId=${organId} + and ah.OrganId=#{organId} and ifnull(ah.delete_Flag,'0') !='1' ) cc @@ -309,7 +335,7 @@ left join jsh_depot dd on dh.AllocationProjectId=dd.id and ifnull(dd.delete_Flag,'0') !='1' where 1=1 - and dh.Number='${number}' + and dh.Number=#{number} and ifnull(dh.delete_Flag,'0') !='1' From 7a34d84e32870f64ff74463134a567417b3c9e2b Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Tue, 14 May 2019 16:21:37 +0800 Subject: [PATCH 064/117] =?UTF-8?q?=E5=8D=95=E6=8D=AE=E6=98=8E=E7=BB=86?= =?UTF-8?q?=E4=BF=A1=E6=81=AFsql$=E4=BF=AE=E6=94=B9=E4=B8=BA#?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper_xml/DepotItemMapperEx.xml | 246 +++++++++++------- 1 file changed, 158 insertions(+), 88 deletions(-) diff --git a/src/main/resources/mapper_xml/DepotItemMapperEx.xml b/src/main/resources/mapper_xml/DepotItemMapperEx.xml index 4c603e78..3817456b 100644 --- a/src/main/resources/mapper_xml/DepotItemMapperEx.xml +++ b/src/main/resources/mapper_xml/DepotItemMapperEx.xml @@ -58,14 +58,16 @@ select * FROM jsh_depotitem where 1=1 - - and name like '%${name}%' + + + and name like #{name} - and type=${type} + and type=#{type} - - and remark like '%${remark}%' + + + and remark like #{remark} and ifnull(delete_Flag,'0') !='1' @@ -77,23 +79,34 @@ COUNT(id) FROM jsh_depotitem WHERE 1=1 - - and name like '%${name}%' + + + and name like #{name} - and type=${type} + and type=#{type} - - and remark like '%${remark}%' + + + and remark like #{remark} and ifnull(delete_Flag,'0') !='1' @@ -106,7 +119,7 @@ INNER JOIN jsh_depotitem di on dh.id=di.HeaderId and ifnull(di.delete_Flag,'0') !='1' where dh.type!='其它' and dh.SubType!='调拨' - and di.MaterialId =${mId} + and di.MaterialId =#{mId} and ifnull(dh.delete_Flag,'0') !='1' ORDER BY oTime desc @@ -119,7 +132,7 @@ INNER JOIN jsh_depotitem di on dh.id=di.HeaderId and ifnull(di.delete_Flag,'0') !='1' where dh.type!='其它' and dh.SubType!='调拨' - and di.MaterialId =${mId} + and di.MaterialId =#{mId} and ifnull(dh.delete_Flag,'0') !='1' @@ -129,7 +142,7 @@ inner join jsh_material m on di.MaterialId=m.Id and ifnull(m.delete_Flag,'0') !='1' where 1=1 - and di.MaterialId=${mId} + and di.MaterialId=#{mId} and ifnull(di.delete_Flag,'0') !='1' @@ -139,7 +152,7 @@ @@ -148,7 +161,7 @@ select ifnull(sum(BasicNumber),0) as BasicNumber from jsh_depothead dh INNER JOIN jsh_depotitem di on dh.id=di.HeaderId and ifnull(di.delete_Flag,'0') !='1' where dh.type='入库' - and di.MaterialId = ${mId} + and di.MaterialId = #{mId} and ifnull(dh.delete_Flag,'0') !='1' @@ -157,7 +170,7 @@ INNER JOIN jsh_depotitem di on dh.id=di.HeaderId and ifnull(di.delete_Flag,'0') !='1' where dh.type='出库' and dh.SubType!='调拨' - and di.MaterialId = ${mId} + and di.MaterialId = #{mId} and ifnull(dh.delete_Flag,'0') !='1' @@ -170,7 +183,7 @@ left join jsh_unit u on m.UnitId = u.id and ifnull(u.delete_Flag,'0') !='1' left join jsh_depot dp1 on di.DepotId=dp1.id and ifnull(dp1.delete_Flag,'0') !='1' left join jsh_depot dp2 on di.AnotherDepotId=dp2.id and ifnull(dp2.delete_Flag,'0') !='1' - where di.HeaderId = ${headerId} + where di.HeaderId = #{headerId} and ifnull(di.delete_Flag,'0') !='1' order by di.id asc @@ -180,11 +193,17 @@ from jsh_depotitem di inner join jsh_material m on di.MaterialId=m.id and ifnull(m.delete_Flag,'0') !='1' where 1=1 - - and di.HeaderId in (${headIds}) + + and di.HeaderId in + + #{headId} + - - and di.MaterialId in (${materialIds}) + + and di.MaterialId in + + #{materialId} + and ifnull(di.delete_Flag,'0') !='1' group by m.id,m.Name, m.Model, m.Unit, m.Color @@ -198,11 +217,17 @@ from jsh_depotitem di inner join jsh_material m on di.MaterialId=m.id and ifnull(m.delete_Flag,'0') !='1' where 1=1 - - and di.HeaderId in (${headIds}) + + and di.HeaderId in + + #{headId} + - - and di.MaterialId in (${materialIds}) + + and di.MaterialId in + + #{materialId} + and ifnull(di.delete_Flag,'0') !='1' group by m.id) cc @@ -211,13 +236,16 @@ @@ -225,13 +253,18 @@ @@ -240,9 +273,12 @@ select sum(BasicNumber) as BasicNumber from jsh_depotitem di,jsh_depothead dh where di.HeaderId = dh.id and dh.type='出库' - and di.DepotId= ${ProjectId} - and di.MaterialId = ${MId} - and dh.OperTime < '${MonthTime}-01 00:00:00' + and di.DepotId= #{ProjectId} + and di.MaterialId = #{MId} + + + and dh.OperTime < #{MonthTime} + and ifnull(dh.delete_Flag,'0') !='1' and ifnull(di.delete_Flag,'0') !='1' @@ -250,10 +286,14 @@ @@ -262,13 +302,16 @@ @@ -276,13 +319,18 @@ @@ -290,9 +338,12 @@ @@ -300,10 +351,14 @@ @@ -311,10 +366,13 @@ @@ -322,11 +380,15 @@ @@ -334,10 +396,14 @@ @@ -345,10 +411,14 @@ @@ -356,9 +426,9 @@ @@ -366,9 +436,9 @@ @@ -485,7 +555,7 @@ WHERE dh.type = '入库' - and di.DepotId= ${pid} + and di.DepotId= #{pid} AND ifnull(dh.delete_Flag, '0') != '1' group by di.MaterialId ) intype ON intype.MaterialId = m.id @@ -501,7 +571,7 @@ dh.type = '出库' AND dh.SubType != '调拨' - and di.DepotId= ${pid} + and di.DepotId= #{pid} AND ifnull(dh.delete_Flag, '0') != '1' group by di.MaterialId ) outtype ON outtype.MaterialId = m.id @@ -530,7 +600,7 @@ WHERE dh.type = '入库' - and di.DepotId= ${pid} + and di.DepotId= #{pid} AND ifnull(dh.delete_Flag, '0') != '1' group by di.MaterialId ) intype ON intype.MaterialId = m.id From ebf579204268179fec2ba4599f9f904a20c69bd3 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Tue, 14 May 2019 16:22:26 +0800 Subject: [PATCH 065/117] =?UTF-8?q?=E4=BB=93=E5=BA=93=E4=BF=A1=E6=81=AFsql?= =?UTF-8?q?$=E4=BF=AE=E6=94=B9=E4=B8=BA#?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/mapper_xml/DepotMapperEx.xml | 24 ++++--- .../mapper_xml/FunctionsMapperEx.xml | 14 ++-- .../mapper_xml/InOutItemMapperEx.xml | 24 ++++--- src/main/resources/mapper_xml/LogMapperEx.xml | 46 +++++++------ .../mapper_xml/MaterialCategoryMapperEx.xml | 14 ++-- .../resources/mapper_xml/MaterialMapperEx.xml | 40 ++++++----- .../mapper_xml/MaterialPropertyMapperEx.xml | 10 +-- .../resources/mapper_xml/PersonMapperEx.xml | 14 ++-- .../resources/mapper_xml/RoleMapperEx.xml | 10 +-- .../resources/mapper_xml/SupplierMapperEx.xml | 66 +++++++++++-------- .../mapper_xml/SystemConfigMapperEx.xml | 10 +-- .../resources/mapper_xml/UnitMapperEx.xml | 10 +-- .../resources/mapper_xml/UserMapperEx.xml | 22 ++++--- 13 files changed, 177 insertions(+), 127 deletions(-) diff --git a/src/main/resources/mapper_xml/DepotMapperEx.xml b/src/main/resources/mapper_xml/DepotMapperEx.xml index 5ce8de63..4bc96147 100644 --- a/src/main/resources/mapper_xml/DepotMapperEx.xml +++ b/src/main/resources/mapper_xml/DepotMapperEx.xml @@ -9,14 +9,16 @@ select * FROM jsh_depot where 1=1 - - and name like '%${name}%' + + + and name like #{name} - and type=${type} + and type=#{type} - - and remark like '%${remark}%' + + + and remark like #{remark} and ifnull(delete_Flag,'0') !='1' order by sort asc @@ -29,14 +31,16 @@ COUNT(id) FROM jsh_depot WHERE 1=1 - - and name like '%${name}%' + + + and name like #{name} - and type=${type} + and type=#{type} - - and remark like '%${remark}%' + + + and remark like #{remark} and ifnull(delete_Flag,'0') !='1' diff --git a/src/main/resources/mapper_xml/FunctionsMapperEx.xml b/src/main/resources/mapper_xml/FunctionsMapperEx.xml index e3ed78f1..dd09003b 100644 --- a/src/main/resources/mapper_xml/FunctionsMapperEx.xml +++ b/src/main/resources/mapper_xml/FunctionsMapperEx.xml @@ -5,11 +5,12 @@ select * FROM jsh_functions where 1=1 - - and name like '%${name}%' + + + and name like #{name} - and type='${type}' + and type=#{type} and ifnull(delete_Flag,'0') !='1' order by sort asc @@ -22,11 +23,12 @@ COUNT(id) FROM jsh_functions WHERE 1=1 - - and name like '%${name}%' + + + and name like #{name} - and type='${type}' + and type=#{type} and ifnull(delete_Flag,'0') !='1' diff --git a/src/main/resources/mapper_xml/InOutItemMapperEx.xml b/src/main/resources/mapper_xml/InOutItemMapperEx.xml index c3dc04a4..b26365aa 100644 --- a/src/main/resources/mapper_xml/InOutItemMapperEx.xml +++ b/src/main/resources/mapper_xml/InOutItemMapperEx.xml @@ -5,14 +5,16 @@ select * FROM jsh_inoutitem where 1=1 - - and name like '%${name}%' + + + and name like #{name} - and type='${type}' + and type=#{type} - - and remark like '%${remark}%' + + + and remark like #{remark} and ifnull(delete_Flag,'0') !='1' @@ -24,14 +26,16 @@ COUNT(id) FROM jsh_inoutitem WHERE 1=1 - - and name like '%${name}%' + + + and name like #{name} - and type='${type}' + and type=#{type} - - and remark like '%${remark}%' + + + and remark like #{remark} and ifnull(delete_Flag,'0') !='1' diff --git a/src/main/resources/mapper_xml/LogMapperEx.xml b/src/main/resources/mapper_xml/LogMapperEx.xml index afb489f1..fcc6919e 100644 --- a/src/main/resources/mapper_xml/LogMapperEx.xml +++ b/src/main/resources/mapper_xml/LogMapperEx.xml @@ -10,26 +10,29 @@ FROM jsh_log l left join jsh_user u on l.userID = u.id and ifnull(u.status,'0') not in('1','2') where 1=1 - - and l.operation like '%${operation}%' + + + and l.operation like #{operation} - and l.userID=${usernameID} + and l.userID=#{usernameID} - - and l.clientIp like '%${clientIp}%' + + + and l.clientIp like #{clientIp} - and l.status=${status} + and l.status=#{status} - and l.createtime >= '%${beginTime}%' + and l.createtime >= #{beginTime} - and l.createtime <= '%${endTime}%' + and l.createtime <= #{endTime} - - and l.contentdetails like '%${contentdetails}%' + + + and l.contentdetails like #{contentdetails} order by l.createtime desc @@ -41,26 +44,29 @@ COUNT(id) FROM jsh_log WHERE 1=1 - - and operation like '%${operation}%' + + + and operation like #{operation} - and userID=${usernameID} + and userID=#{usernameID} - - and clientIp like '%${clientIp}%' + + + and clientIp like #{clientIp} - and status = ${status} + and status = #{status} = '${beginTime}' + and createtime >= #{beginTime} ]]> - - and contentdetails like '%${contentdetails}%' + + + and contentdetails like #{contentdetails} \ No newline at end of file diff --git a/src/main/resources/mapper_xml/MaterialCategoryMapperEx.xml b/src/main/resources/mapper_xml/MaterialCategoryMapperEx.xml index b2563ed8..6f65a949 100644 --- a/src/main/resources/mapper_xml/MaterialCategoryMapperEx.xml +++ b/src/main/resources/mapper_xml/MaterialCategoryMapperEx.xml @@ -6,11 +6,12 @@ FROM jsh_materialcategory where 1=1 and ifnull(status,'0') !='2' - - and name like '%${name}%' + + + and name like #{name} - and parentId = ${parentId} + and parentId = #{parentId} and Id !=1 @@ -23,11 +24,12 @@ FROM jsh_materialcategory WHERE 1=1 and ifnull(status,'0') !='2' - - and name like '%${name}%' + + + and name like #{name} - and parentId = ${parentId} + and parentId = #{parentId} and Id !=1 diff --git a/src/main/resources/mapper_xml/MaterialMapperEx.xml b/src/main/resources/mapper_xml/MaterialMapperEx.xml index fe000c24..cd008d63 100644 --- a/src/main/resources/mapper_xml/MaterialMapperEx.xml +++ b/src/main/resources/mapper_xml/MaterialMapperEx.xml @@ -16,14 +16,16 @@ left JOIN jsh_unit u on m.UnitId = u.id and ifnull(u.delete_Flag,'0') !='1' left JOIN jsh_materialcategory mc on m.CategoryId = mc.id and ifnull(mc.status,'0') !='2' where 1=1 - - and m.name like '%${name}%' + + + and m.name like #{name} - - and m.model like '%${model}%' + + + and m.model like #{model} - and m.CategoryId in (${categoryIds}) + and m.CategoryId in (#{categoryIds}) and ifnull(m.delete_Flag,'0') !='1' order by m.id asc @@ -39,14 +41,16 @@ left JOIN jsh_unit u on m.UnitId = u.id and ifnull(u.delete_Flag,'0') !='1' left JOIN jsh_materialcategory mc on m.CategoryId = mc.id and ifnull(mc.status,'0') !='2' WHERE 1=1 - - and m.name like '%${name}%' + + + and m.name like #{name} - - and m.model like '%${model}%' + + + and m.model like #{model} - and m.CategoryId in (${categoryIds}) + and m.CategoryId in (#{categoryIds}) and ifnull(m.delete_Flag,'0') !='1' @@ -54,14 +58,14 @@ @@ -96,14 +100,16 @@ left JOIN jsh_unit u on m.UnitId = u.id and ifnull(u.delete_Flag,'0') !='1' left JOIN jsh_materialcategory mc on m.CategoryId = mc.id and ifnull(mc.status,'0') !='2' where 1=1 - - and m.name like '%${name}%' + + + and m.name like #{name} - - and m.model like '%${model}%' + + + and m.model like #{model} - and m.CategoryId in (${categoryIds}) + and m.CategoryId in (#{categoryIds}) and ifnull(m.delete_Flag,'0') !='1' order by m.id asc diff --git a/src/main/resources/mapper_xml/MaterialPropertyMapperEx.xml b/src/main/resources/mapper_xml/MaterialPropertyMapperEx.xml index eb5f8a81..7046175e 100644 --- a/src/main/resources/mapper_xml/MaterialPropertyMapperEx.xml +++ b/src/main/resources/mapper_xml/MaterialPropertyMapperEx.xml @@ -5,8 +5,9 @@ select * FROM jsh_materialproperty where 1=1 - - and nativeName like '%${name}%' + + + and nativeName like #{nativeName} and ifnull(delete_Flag,'0') !='1' @@ -18,8 +19,9 @@ COUNT(id) FROM jsh_materialproperty WHERE 1=1 - - and nativeName like '%${name}%' + + + and nativeName like #{nativeName} and ifnull(delete_Flag,'0') !='1' diff --git a/src/main/resources/mapper_xml/PersonMapperEx.xml b/src/main/resources/mapper_xml/PersonMapperEx.xml index 39d8b013..5795c3f5 100644 --- a/src/main/resources/mapper_xml/PersonMapperEx.xml +++ b/src/main/resources/mapper_xml/PersonMapperEx.xml @@ -5,11 +5,12 @@ select * FROM jsh_person where 1=1 - - and name like '%${name}%' + + + and name like #{name} - and type='${type}' + and type=#{type} and ifnull(delete_Flag,'0') !='1' @@ -21,11 +22,12 @@ COUNT(id) FROM jsh_person WHERE 1=1 - - and name like '%${name}%' + + + and name like #{name} - and type='${type}' + and type=#{type} and ifnull(delete_Flag,'0') !='1' diff --git a/src/main/resources/mapper_xml/RoleMapperEx.xml b/src/main/resources/mapper_xml/RoleMapperEx.xml index b7485492..fe0900ec 100644 --- a/src/main/resources/mapper_xml/RoleMapperEx.xml +++ b/src/main/resources/mapper_xml/RoleMapperEx.xml @@ -6,8 +6,9 @@ FROM jsh_role WHERE 1=1 and ifnull(delete_Flag,'0') !='1' - - and name like '%${name}%' + + + and name like #{name} limit #{offset},#{rows} @@ -19,8 +20,9 @@ FROM jsh_role WHERE 1=1 and ifnull(delete_Flag,'0') !='1' - - and name like '%${name}%' + + + and name like #{name} diff --git a/src/main/resources/mapper_xml/SupplierMapperEx.xml b/src/main/resources/mapper_xml/SupplierMapperEx.xml index 868df611..fb7a3629 100644 --- a/src/main/resources/mapper_xml/SupplierMapperEx.xml +++ b/src/main/resources/mapper_xml/SupplierMapperEx.xml @@ -5,20 +5,24 @@ select * FROM jsh_supplier where 1=1 - - and supplier like '%${supplier}%' + + + and supplier like #{supplier} - and type='${type}' + and type=#{type} - - and phonenum like '%${phonenum}%' + + + and phonenum like #{phonenum} - - and telephone like '%${telephone}%' + + + and telephone like #{telephone} - - and description like '%${description}%' + + + and description like #{description} and ifnull(delete_Flag,'0') !='1' @@ -30,20 +34,24 @@ COUNT(id) FROM jsh_supplier WHERE 1=1 - - and supplier like '%${supplier}%' + + + and supplier like #{supplier} - and type='${type}' + and type=#{type} - - and phonenum like '%${phonenum}%' + + + and phonenum like #{phonenum} - - and telephone like '%${telephone}%' + + + and telephone like #{telephone} - - and description like '%${description}%' + + + and description like #{description} and ifnull(delete_Flag,'0') !='1' @@ -52,20 +60,24 @@ select * FROM jsh_supplier where 1=1 - - and supplier like '%${supplier}%' + + + and supplier like #{supplier} - and type='${type}' + and type=#{type} - - and phonenum like '%${phonenum}%' + + + and phonenum like #{phonenum} - - and telephone like '%${telephone}%' + + + and telephone like #{telephone} - - and description like '%${description}%' + + + and description like #{description} and ifnull(delete_Flag,'0') !='1' diff --git a/src/main/resources/mapper_xml/SystemConfigMapperEx.xml b/src/main/resources/mapper_xml/SystemConfigMapperEx.xml index b0867a48..7572728c 100644 --- a/src/main/resources/mapper_xml/SystemConfigMapperEx.xml +++ b/src/main/resources/mapper_xml/SystemConfigMapperEx.xml @@ -5,8 +5,9 @@ select * FROM jsh_systemconfig where 1=1 - - and company_name like '%${companyName}%' + + + and company_name like #{companyName} and ifnull(delete_Flag,'0') !='1' @@ -18,8 +19,9 @@ COUNT(id) FROM jsh_systemconfig WHERE 1=1 - - and company_name like '%${companyName}%' + + + and company_name like #{companyName} and ifnull(delete_Flag,'0') !='1' diff --git a/src/main/resources/mapper_xml/UnitMapperEx.xml b/src/main/resources/mapper_xml/UnitMapperEx.xml index f02e0a86..bb324f38 100644 --- a/src/main/resources/mapper_xml/UnitMapperEx.xml +++ b/src/main/resources/mapper_xml/UnitMapperEx.xml @@ -5,8 +5,9 @@ select * FROM jsh_unit where 1=1 - - and UName like '%${name}%' + + + and UName like #{name} and ifnull(delete_Flag,'0') !='1' @@ -18,8 +19,9 @@ COUNT(id) FROM jsh_unit WHERE 1=1 - - and UName like '%${name}%' + + + and UName like #{name} and ifnull(delete_Flag,'0') !='1' diff --git a/src/main/resources/mapper_xml/UserMapperEx.xml b/src/main/resources/mapper_xml/UserMapperEx.xml index af16341a..7a0a274a 100644 --- a/src/main/resources/mapper_xml/UserMapperEx.xml +++ b/src/main/resources/mapper_xml/UserMapperEx.xml @@ -14,11 +14,13 @@ FROM jsh_user where 1=1 and ifnull(status,'0') not in('1','2') - - and username like '%${userName}%' + + + and username like #{userName} - - and loginame like '%${loginName}%' + + + and loginame like #{loginName} limit #{offset},#{rows} @@ -30,11 +32,13 @@ FROM jsh_user WHERE 1=1 and ifnull(status,'0') not in('1','2') - - and username like '%${userName}%' + + + and username like #{userName} - - and loginame like '%${loginName}%' + + + and loginame like #{loginName} - select registerUserTemplate(#{userId},#{tenantId},#{roleId}) from dual; From f2b1b059d5241eddc7e3a8dd121997adf744f63e Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Tue, 14 May 2019 16:34:13 +0800 Subject: [PATCH 066/117] =?UTF-8?q?=E5=8D=87=E7=BA=A7jxl=E6=9E=B6=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 600e75db..38719f50 100644 --- a/pom.xml +++ b/pom.xml @@ -71,7 +71,7 @@ net.sourceforge.jexcelapi jxl - 2.6.3 + 2.6.12 From 39f07cea8837a22f0d91fd9b395b30e1c3b64b82 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Fri, 17 May 2019 10:41:44 +0800 Subject: [PATCH 067/117] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=BA=93=E5=AD=98?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datasource/mappers/DepotItemMapperEx.java | 2 + .../service/depotItem/DepotItemService.java | 52 +++++++++++++------ .../mapper_xml/DepotItemMapperEx.xml | 20 +++++++ 3 files changed, 59 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/jsh/erp/datasource/mappers/DepotItemMapperEx.java b/src/main/java/com/jsh/erp/datasource/mappers/DepotItemMapperEx.java index 34a30d14..76d1c230 100644 --- a/src/main/java/com/jsh/erp/datasource/mappers/DepotItemMapperEx.java +++ b/src/main/java/com/jsh/erp/datasource/mappers/DepotItemMapperEx.java @@ -179,4 +179,6 @@ public interface DepotItemMapperEx { @Param("rows") Integer rows, @Param("pid") Integer pid); int findStockWarningCountTotal( @Param("pid") Integer pid); + + BigDecimal getCurrentRepByMaterialIdAndDepotId(@Param("materialId")Long materialId,@Param("depotId") Long depotId); } diff --git a/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java b/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java index 55b1ee5c..1d8e3828 100644 --- a/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java +++ b/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java @@ -241,7 +241,7 @@ public class DepotItemService { String mIdStr = map.get("mId"); Long mId = null; if(!StringUtil.isEmpty(mIdStr)) { - mId = Long.parseLong(mIdStr); + mId = Long.valueOf(mIdStr); } String monthTime = map.get("monthTime"); List list =null; @@ -601,7 +601,7 @@ public class DepotItemService { if(material==null){ continue; } - if(getCurrentInStock(depotItem.getMaterialid())<(depotItem.getBasicnumber()==null?0:depotItem.getBasicnumber()).intValue()){ + if(getCurrentRepByMaterialIdAndDepotId(material.getId(),depotItem.getDepotid()).compareTo(depotItem.getBasicnumber()==null?BigDecimal.ZERO:depotItem.getBasicnumber())==-1){ throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_STOCK_NOT_ENOUGH_CODE, String.format(ExceptionConstants.MATERIAL_STOCK_NOT_ENOUGH_MSG,material==null?"":material.getName())); } @@ -633,19 +633,21 @@ public class DepotItemService { continue; } //首先回收序列号 - if(BusinessConstants.DEPOTHEAD_TYPE_OUT.equals(depotHead.getType()) - &&!BusinessConstants.SUB_TYPE_TRANSFER.equals(depotHead.getSubtype())) { - /** - * 判断商品是否开启序列号,开启的收回序列号,未开启的跳过 - * */ - if(BusinessConstants.ENABLE_SERIAL_NUMBER_ENABLED.equals(material.getEnableserialnumber())) { - serialNumberService.cancelSerialNumber(depotItem.getMaterialid(), depotItem.getHeaderid(), (depotItem.getBasicnumber()==null?0:depotItem.getBasicnumber()).intValue(), - userInfo); + if(BusinessConstants.DEPOTHEAD_TYPE_OUT.equals(depotHead.getType())) { + + if(!BusinessConstants.SUB_TYPE_TRANSFER.equals(depotHead.getSubtype())) { + /** + * 判断商品是否开启序列号,开启的收回序列号,未开启的跳过 + * */ + if (BusinessConstants.ENABLE_SERIAL_NUMBER_ENABLED.equals(material.getEnableserialnumber())) { + serialNumberService.cancelSerialNumber(depotItem.getMaterialid(), depotItem.getHeaderid(), (depotItem.getBasicnumber() == null ? 0 : depotItem.getBasicnumber()).intValue(), + userInfo); + } + /**收回序列号的时候释放库存*/ + depotItem.setOpernumber(BigDecimal.ZERO); + depotItem.setBasicnumber(BigDecimal.ZERO); + this.updateDepotItemWithObj(depotItem); } - /**收回序列号的时候释放库存*/ - depotItem.setOpernumber(BigDecimal.ZERO); - depotItem.setBasicnumber(BigDecimal.ZERO); - this.updateDepotItemWithObj(depotItem); } depotItem.setId(tempUpdatedJson.getLong("Id")); depotItem.setMaterialid(tempUpdatedJson.getLong("MaterialId")); @@ -724,7 +726,8 @@ public class DepotItemService { } /**出库时处理序列号*/ if(BusinessConstants.DEPOTHEAD_TYPE_OUT.equals(depotHead.getType())){ - if(getCurrentInStock(depotItem.getMaterialid())<(depotItem.getBasicnumber()==null?0:depotItem.getBasicnumber()).intValue()){ + if(getCurrentRepByMaterialIdAndDepotId(material.getId(),depotItem.getDepotid()) + .compareTo(depotItem.getBasicnumber()==null?BigDecimal.ZERO:depotItem.getBasicnumber())==-1){ throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_STOCK_NOT_ENOUGH_CODE, String.format(ExceptionConstants.MATERIAL_STOCK_NOT_ENOUGH_MSG,material==null?"":material.getName())); } @@ -820,4 +823,23 @@ public class DepotItemService { } return result; } + /** + * create by: qiankunpingtai + * create time: 2019/5/16 18:15 + * website:https://qiankunpingtai.cn + * description: + * 查询指定仓库指定材料的当前库存 + */ + public BigDecimal getCurrentRepByMaterialIdAndDepotId(Long materialId,Long depotId) { + BigDecimal result = BigDecimal.ZERO; + try{ + result =depotItemMapperEx.getCurrentRepByMaterialIdAndDepotId(materialId,depotId); + }catch(Exception e){ + logger.error("异常码[{}],异常提示[{}],异常[{}]", + ExceptionConstants.DATA_READ_FAIL_CODE,ExceptionConstants.DATA_READ_FAIL_MSG,e); + throw new BusinessRunTimeException(ExceptionConstants.DATA_READ_FAIL_CODE, + ExceptionConstants.DATA_READ_FAIL_MSG); + } + return result; + } } diff --git a/src/main/resources/mapper_xml/DepotItemMapperEx.xml b/src/main/resources/mapper_xml/DepotItemMapperEx.xml index 3817456b..66c36b2e 100644 --- a/src/main/resources/mapper_xml/DepotItemMapperEx.xml +++ b/src/main/resources/mapper_xml/DepotItemMapperEx.xml @@ -610,5 +610,25 @@ AND ifnull(m.delete_Flag, '0') != '1' AND intype.BasicInNumber > 0 + From 152723e1249a5110fe8b0ade8e9117976e5e01a5 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Tue, 21 May 2019 14:25:14 +0800 Subject: [PATCH 068/117] =?UTF-8?q?=E4=BB=A5=E8=B0=83=E7=94=A8=E8=80=85?= =?UTF-8?q?=E6=9D=83=E9=99=90=E6=9D=A5=E6=89=A7=E8=A1=8C=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sql/jsh_erp(后续更新参考这个更新).sql | 20 ++++++++++++++------ sql/jsh_erp(第一次建库请使用这个).sql | 7 +++++-- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/sql/jsh_erp(后续更新参考这个更新).sql b/sql/jsh_erp(后续更新参考这个更新).sql index 456913ee..e8c8ed5c 100644 --- a/sql/jsh_erp(后续更新参考这个更新).sql +++ b/sql/jsh_erp(后续更新参考这个更新).sql @@ -1154,9 +1154,14 @@ select 'depot_number_seq', 1, 999999999999999999, 1, 1,'单据编号sequence' fr -- ---------------------------- -- 创建function _nextval() 用于获取当前序列号 -- ---------------------------- -DROP FUNCTION IF EXISTS `_nextval`; +DROP FUNCTION IF EXISTS _nextval; DELIMITER ;; -CREATE FUNCTION `_nextval`(name varchar(50)) RETURNS mediumtext CHARSET utf8 +CREATE + definer = 'root'@'%' + FUNCTION _nextval (name varchar(50)) + RETURNS mediumtext CHARSET utf8 + comment '生成单据编号' + sql security invoker -- 以调用者的权限来执行 begin declare _cur bigint; declare _maxvalue bigint; -- 接收最大值 @@ -1173,10 +1178,10 @@ if(_cur + _increment >= _maxvalue) then -- 判断是都达到最大值 where seq_name = name ; end if; return _cur; + end ;; DELIMITER ; - -- ---------------------------- -- 时间:2019年2月18日 -- version:1.0.3 @@ -1375,9 +1380,9 @@ alter table jsh_depothead add `LinkNumber` varchar(50) DEFAULT null COMMENT '关 -- 1、根据本地用户表中现有部门生成机构表数据,同时重建机构和用户的关联关系 -- 特别提醒:之后的sql都是在之前基础上迭代,可以对已存在的系统进行数据保留更新 -- ---------------------------- -DROP FUNCTION IF EXISTS `_buildOrgAndOrgUserRel`; +DROP FUNCTION IF EXISTS _buildOrgAndOrgUserRel; DELIMITER ;; -CREATE FUNCTION `_buildOrgAndOrgUserRel` (name varchar(50)) RETURNS mediumtext CHARSET utf8 +CREATE FUNCTION _buildOrgAndOrgUserRel (name varchar(50)) RETURNS mediumtext CHARSET utf8 begin declare _org_full_name varchar(500); -- 机构全称 @@ -1638,7 +1643,10 @@ alter table jsh_userbusiness add tenant_id bigint(20) DEFAULT null COMMENT '租 -- ---------------------------- DROP FUNCTION IF EXISTS registerUserTemplate; DELIMITER ;; -CREATE FUNCTION registerUserTemplate (userId bigint(20),tenantId bigint(20),roleId bigint(20)) RETURNS varchar(50) +CREATE +definer = 'root'@'%' +FUNCTION registerUserTemplate (userId bigint(20),tenantId bigint(20),roleId bigint(20)) RETURNS varchar(50) +sql security invoker -- 以调用者的权限来执行 begin -- 返回1成功或者0失败 declare _success_msg varchar(50) default '0'; diff --git a/sql/jsh_erp(第一次建库请使用这个).sql b/sql/jsh_erp(第一次建库请使用这个).sql index f0d47704..071c78e8 100644 --- a/sql/jsh_erp(第一次建库请使用这个).sql +++ b/sql/jsh_erp(第一次建库请使用这个).sql @@ -1989,9 +1989,12 @@ INSERT INTO `tbl_sequence` VALUES ('depot_number_seq', '1', '999999999999999999' -- ---------------------------- -- Function structure for `_nextval` -- ---------------------------- -DROP FUNCTION IF EXISTS `_nextval`; +DROP FUNCTION IF EXISTS _nextval; DELIMITER ;; -CREATE DEFINER=`root`@`%` FUNCTION `_nextval`(name varchar(50)) RETURNS mediumtext CHARSET utf8 +CREATE +definer = 'root'@'%' +FUNCTION _nextval(name varchar(50)) RETURNS mediumtext CHARSET utf8 +sql security invoker -- 以调用者的权限来执行 begin declare _cur bigint; declare _maxvalue bigint; -- 接收最大值 From 45d539e1c3ba8283dae0af83150be1eb41622880 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Tue, 21 May 2019 15:22:31 +0800 Subject: [PATCH 069/117] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E8=B0=83=E6=8B=A8?= =?UTF-8?q?=E5=87=BA=E5=BA=93=E5=88=97=E8=A1=A8=E4=BB=8E=E5=90=8E=E5=8F=B0?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E6=9C=80=E5=A4=A7id=E7=9A=84=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../js/pages/materials/allocation_out_list.js | 100 ------------------ 1 file changed, 100 deletions(-) diff --git a/erp_web/js/pages/materials/allocation_out_list.js b/erp_web/js/pages/materials/allocation_out_list.js index c04f794a..cf98c8a0 100644 --- a/erp_web/js/pages/materials/allocation_out_list.js +++ b/erp_web/js/pages/materials/allocation_out_list.js @@ -11,8 +11,6 @@ var personID = null; var ProjectSearch=null; var userBusinessList=null; var userdepot=null; -var depotHeadMaxId=null; //获取最大的Id -var accepId=null; //保存的主表id var url; var depotHeadID = 0; var preTotalPrice = 0; //前一次加载的金额 @@ -1603,49 +1601,6 @@ function bindEvent(){ updateDepotHeadAndDetail(url,infoStr,preTotalPrice); return; } - $.ajax({ - type:"post", - url: url, - dataType: "json", - async : false, - data: ({ - info:infoStr - }), - success: function (tipInfo) - { - if(tipInfo) - { - function closeDialog(){ - $('#depotHeadDlg').dialog('close'); - var opts = $("#tableData").datagrid('options'); - showDepotHeadDetails(opts.pageNumber,opts.pageSize); - } - //保存明细记录 - if(depotHeadID ==0) - { - getMaxId(); //查找最大的Id - accept(depotHeadMaxId,closeDialog); //新增 - } - else - { - accept(depotHeadID,closeDialog); //修改 - } - } - else - { - $.messager.show({ - title: '错误提示', - msg: '保存信息失败,请稍后重试!' - }); - } - }, - //此处添加错误处理 - error:function() - { - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); } }); @@ -2328,62 +2283,7 @@ function CheckData(type) { } return true; } -//保存 -function accept(accepId,fun) { - var inserted = $("#materialData").datagrid('getChanges', "inserted"); - var deleted = $("#materialData").datagrid('getChanges', "deleted"); - var updated = $("#materialData").datagrid('getChanges', "updated"); - $.ajax({ - type: "post", - url: "/depotItem/saveDetials", - data: { - inserted: JSON.stringify(inserted), - deleted: JSON.stringify(deleted), - updated: JSON.stringify(updated), - headerId:accepId - }, - success: function (tipInfo) - { - if (tipInfo) { - $.messager.alert('提示','保存成功!','info'); - } - else { - $.messager.alert('提示', '保存失败!', 'error'); - } - fun && fun(); - }, - error: function (XmlHttpRequest, textStatus, errorThrown) - { - $.messager.alert('提示',XmlHttpRequest.responseText,'error'); - fun && fun(); - } - }); - if (endEditing()) { - $('#materialData').datagrid('acceptChanges'); - } -} -//获取MaxId -function getMaxId(){ - var depotHeadMax=null; - $.ajax({ - type:"get", - url: "/depotHead/getMaxId", - //设置为同步 - async:false, - dataType: "json", - success: function (res) { - if(res && res.code === 200) { - if(res.data) { - depotHeadMax = res.data.maxId; - } - } - } - }); - if(depotHeadMax !=null) { - depotHeadMaxId=depotHeadMax; - } -} /** * 新增单据主表及单据子表 From 7ad5b63483b85ad71ef1240e7005dac01e42fa0d Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Tue, 21 May 2019 15:23:20 +0800 Subject: [PATCH 070/117] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E7=BB=84=E8=A3=85?= =?UTF-8?q?=E5=8D=95=E5=88=97=E8=A1=A8=E4=BB=8E=E5=90=8E=E5=8F=B0=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E6=9C=80=E5=A4=A7id=E7=9A=84=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- erp_web/js/pages/materials/assemble_list.js | 102 -------------------- 1 file changed, 102 deletions(-) diff --git a/erp_web/js/pages/materials/assemble_list.js b/erp_web/js/pages/materials/assemble_list.js index c1246dac..6b728d52 100644 --- a/erp_web/js/pages/materials/assemble_list.js +++ b/erp_web/js/pages/materials/assemble_list.js @@ -11,8 +11,6 @@ var personID = null; var ProjectSearch=null; var userBusinessList=null; var userdepot=null; -var depotHeadMaxId=null; //获取最大的Id -var accepId=null; //保存的主表id var url; var depotHeadID = 0; var preTotalPrice = 0; //前一次加载的金额 @@ -1602,50 +1600,6 @@ function bindEvent(){ updateDepotHeadAndDetail(url,infoStr,preTotalPrice); return; } - $.ajax({ - type:"post", - url: url, - dataType: "json", - async : false, - data: ({ - info:infoStr - }), - success: function (tipInfo) - { - if(tipInfo) - { - function closeDialog(){ - $('#depotHeadDlg').dialog('close'); - var opts = $("#tableData").datagrid('options'); - showDepotHeadDetails(opts.pageNumber,opts.pageSize); - } - - //保存明细记录 - if(depotHeadID ==0) - { - getMaxId(); //查找最大的Id - accept(depotHeadMaxId,closeDialog); //新增 - } - else - { - accept(depotHeadID,closeDialog); //修改 - } - } - else - { - $.messager.show({ - title: '错误提示', - msg: '保存信息失败,请稍后重试!' - }); - } - }, - //此处添加错误处理 - error:function() - { - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); } }); @@ -2284,62 +2238,6 @@ function CheckData(type) { } return true; } -//保存 -function accept(accepId,fun) { - var inserted = $("#materialData").datagrid('getChanges', "inserted"); - var deleted = $("#materialData").datagrid('getChanges', "deleted"); - var updated = $("#materialData").datagrid('getChanges', "updated"); - $.ajax({ - type: "post", - url: "/depotItem/saveDetials", - data: { - inserted: JSON.stringify(inserted), - deleted: JSON.stringify(deleted), - updated: JSON.stringify(updated), - headerId:accepId - }, - success: function (tipInfo) - { - if (tipInfo) { - $.messager.alert('提示','保存成功!','info'); - } - else { - $.messager.alert('提示', '保存失败!', 'error'); - } - fun && fun(); - }, - error: function (XmlHttpRequest, textStatus, errorThrown) - { - $.messager.alert('提示',XmlHttpRequest.responseText,'error'); - fun && fun(); - } - }); - if (endEditing()) { - $('#materialData').datagrid('acceptChanges'); - } -} -//获取MaxId -function getMaxId(){ - var depotHeadMax=null; - $.ajax({ - type:"get", - url: "/depotHead/getMaxId", - //设置为同步 - async:false, - dataType: "json", - success: function (res) { - if(res && res.code === 200) { - if(res.data) { - depotHeadMax = res.data.maxId; - } - } - } - }); - - if(depotHeadMax !=null) { - depotHeadMaxId=depotHeadMax; - } -} /** * 新增单据主表及单据子表 From f7e1e10fa82c9d23f11519afbaa47616a06b998a Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Tue, 21 May 2019 15:24:51 +0800 Subject: [PATCH 071/117] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E6=8B=86=E5=8D=B8?= =?UTF-8?q?=E5=8D=95=E5=88=97=E8=A1=A8=E4=BB=8E=E5=90=8E=E5=8F=B0=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E6=9C=80=E5=A4=A7id=E7=9A=84=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../js/pages/materials/disassemble_list.js | 102 ------------------ 1 file changed, 102 deletions(-) diff --git a/erp_web/js/pages/materials/disassemble_list.js b/erp_web/js/pages/materials/disassemble_list.js index 82d5e923..c6100282 100644 --- a/erp_web/js/pages/materials/disassemble_list.js +++ b/erp_web/js/pages/materials/disassemble_list.js @@ -11,8 +11,6 @@ var personID = null; var ProjectSearch=null; var userBusinessList=null; var userdepot=null; -var depotHeadMaxId=null; //获取最大的Id -var accepId=null; //保存的主表id var url; var depotHeadID = 0; var preTotalPrice = 0; //前一次加载的金额 @@ -1606,50 +1604,6 @@ function bindEvent(){ updateDepotHeadAndDetail(url,infoStr,preTotalPrice); return; } - $.ajax({ - type:"post", - url: url, - dataType: "json", - async : false, - data: ({ - info:infoStr - }), - success: function (tipInfo) - { - if(tipInfo) - { - function closeDialog(){ - $('#depotHeadDlg').dialog('close'); - var opts = $("#tableData").datagrid('options'); - showDepotHeadDetails(opts.pageNumber,opts.pageSize); - } - - //保存明细记录 - if(depotHeadID ==0) - { - getMaxId(); //查找最大的Id - accept(depotHeadMaxId,closeDialog); //新增 - } - else - { - accept(depotHeadID,closeDialog); //修改 - } - } - else - { - $.messager.show({ - title: '错误提示', - msg: '保存信息失败,请稍后重试!' - }); - } - }, - //此处添加错误处理 - error:function() - { - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); } }); @@ -2288,62 +2242,6 @@ function CheckData(type) { } return true; } -//保存 -function accept(accepId,fun) { - var inserted = $("#materialData").datagrid('getChanges', "inserted"); - var deleted = $("#materialData").datagrid('getChanges', "deleted"); - var updated = $("#materialData").datagrid('getChanges', "updated"); - $.ajax({ - type: "post", - url: "/depotItem/saveDetials", - data: { - inserted: JSON.stringify(inserted), - deleted: JSON.stringify(deleted), - updated: JSON.stringify(updated), - headerId:accepId - }, - success: function (tipInfo) - { - if (tipInfo) { - $.messager.alert('提示','保存成功!','info'); - } - else { - $.messager.alert('提示', '保存失败!', 'error'); - } - fun && fun(); - }, - error: function (XmlHttpRequest, textStatus, errorThrown) - { - $.messager.alert('提示',XmlHttpRequest.responseText,'error'); - fun && fun(); - } - }); - if (endEditing()) { - $('#materialData').datagrid('acceptChanges'); - } -} -//获取MaxId -function getMaxId(){ - var depotHeadMax=null; - $.ajax({ - type:"get", - url: "/depotHead/getMaxId", - //设置为同步 - async:false, - dataType: "json", - success: function (res) { - if(res && res.code === 200) { - if(res.data) { - depotHeadMax = res.data.maxId; - } - } - } - }); - - if(depotHeadMax !=null) { - depotHeadMaxId=depotHeadMax; - } -} /** * 新增单据主表及单据子表 From 7a100114951934230eeb316d2159b7783ab57398 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Tue, 21 May 2019 15:26:02 +0800 Subject: [PATCH 072/117] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E5=85=B6=E5=AE=83?= =?UTF-8?q?=E5=85=A5=E5=BA=93=E5=88=97=E8=A1=A8=E4=BB=8E=E5=90=8E=E5=8F=B0?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E6=9C=80=E5=A4=A7id=E7=9A=84=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- erp_web/js/pages/materials/other_in_list.js | 100 -------------------- 1 file changed, 100 deletions(-) diff --git a/erp_web/js/pages/materials/other_in_list.js b/erp_web/js/pages/materials/other_in_list.js index 32ed022c..5540ceb4 100644 --- a/erp_web/js/pages/materials/other_in_list.js +++ b/erp_web/js/pages/materials/other_in_list.js @@ -11,8 +11,6 @@ var personID = null; var ProjectSearch=null; var userBusinessList=null; var userdepot=null; -var depotHeadMaxId=null; //获取最大的Id -var accepId=null; //保存的主表id var url; var depotHeadID = 0; var preTotalPrice = 0; //前一次加载的金额 @@ -1607,50 +1605,7 @@ function bindEvent(){ updateDepotHeadAndDetail(url,infoStr,preTotalPrice); return; } - $.ajax({ - type:"post", - url: url, - dataType: "json", - async : false, - data: ({ - info:infoStr - }), - success: function (tipInfo) - { - if(tipInfo) - { - function closeDialog(){ - $('#depotHeadDlg').dialog('close'); - var opts = $("#tableData").datagrid('options'); - showDepotHeadDetails(opts.pageNumber,opts.pageSize); - } - //保存明细记录 - if(depotHeadID ==0) - { - getMaxId(); //查找最大的Id - accept(depotHeadMaxId,closeDialog); //新增 - } - else - { - accept(depotHeadID,closeDialog); //修改 - } - } - else - { - $.messager.show({ - title: '错误提示', - msg: '保存信息失败,请稍后重试!' - }); - } - }, - //此处添加错误处理 - error:function() - { - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); } }); @@ -2370,62 +2325,7 @@ function CheckData(type) { } return true; } -//保存 -function accept(accepId,fun) { - var inserted = $("#materialData").datagrid('getChanges', "inserted"); - var deleted = $("#materialData").datagrid('getChanges', "deleted"); - var updated = $("#materialData").datagrid('getChanges', "updated"); - $.ajax({ - type: "post", - url: "/depotItem/saveDetials", - data: { - inserted: JSON.stringify(inserted), - deleted: JSON.stringify(deleted), - updated: JSON.stringify(updated), - headerId:accepId - }, - success: function (tipInfo) - { - if (tipInfo) { - $.messager.alert('提示','保存成功!','info'); - } - else { - $.messager.alert('提示', '保存失败!', 'error'); - } - fun && fun(); - }, - error: function (XmlHttpRequest, textStatus, errorThrown) - { - $.messager.alert('提示',XmlHttpRequest.responseText,'error'); - fun && fun(); - } - }); - if (endEditing()) { - $('#materialData').datagrid('acceptChanges'); - } -} -//获取MaxId -function getMaxId(){ - var depotHeadMax=null; - $.ajax({ - type:"get", - url: "/depotHead/getMaxId", - //设置为同步 - async:false, - dataType: "json", - success: function (res) { - if(res && res.code === 200) { - if(res.data) { - depotHeadMax = res.data.maxId; - } - } - } - }); - if(depotHeadMax !=null) { - depotHeadMaxId=depotHeadMax; - } -} /** * 新增单据主表及单据子表 From 837b7843401691146aa2856e3069444e2f4ffcce Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Tue, 21 May 2019 15:27:20 +0800 Subject: [PATCH 073/117] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E5=85=B6=E5=AE=83?= =?UTF-8?q?=E5=87=BA=E5=BA=93=E5=88=97=E8=A1=A8=E4=BB=8E=E5=90=8E=E5=8F=B0?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E6=9C=80=E5=A4=A7id=E7=9A=84=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- erp_web/js/pages/materials/other_out_list.js | 101 ------------------ .../erp/controller/DepotItemController.java | 25 ----- 2 files changed, 126 deletions(-) diff --git a/erp_web/js/pages/materials/other_out_list.js b/erp_web/js/pages/materials/other_out_list.js index c60fa244..a3352c8a 100644 --- a/erp_web/js/pages/materials/other_out_list.js +++ b/erp_web/js/pages/materials/other_out_list.js @@ -11,8 +11,6 @@ var personID = null; var ProjectSearch=null; var userBusinessList=null; var userdepot=null; -var depotHeadMaxId=null; //获取最大的Id -var accepId=null; //保存的主表id var url; var depotHeadID = 0; var preTotalPrice = 0; //前一次加载的金额 @@ -1600,50 +1598,6 @@ function bindEvent(){ updateDepotHeadAndDetail(url,infoStr,preTotalPrice); return; } - $.ajax({ - type:"post", - url: url, - dataType: "json", - async : false, - data: ({ - info:infoStr - }), - success: function (tipInfo) - { - if(tipInfo) - { - function closeDialog(){ - $('#depotHeadDlg').dialog('close'); - var opts = $("#tableData").datagrid('options'); - showDepotHeadDetails(opts.pageNumber,opts.pageSize); - } - - //保存明细记录 - if(depotHeadID ==0) - { - getMaxId(); //查找最大的Id - accept(depotHeadMaxId,closeDialog); //新增 - } - else - { - accept(depotHeadID,closeDialog); //修改 - } - } - else - { - $.messager.show({ - title: '错误提示', - msg: '保存信息失败,请稍后重试!' - }); - } - }, - //此处添加错误处理 - error:function() - { - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); } }); @@ -2325,62 +2279,7 @@ function CheckData(type) { } return true; } -//保存 -function accept(accepId,fun) { - var inserted = $("#materialData").datagrid('getChanges', "inserted"); - var deleted = $("#materialData").datagrid('getChanges', "deleted"); - var updated = $("#materialData").datagrid('getChanges', "updated"); - $.ajax({ - type: "post", - url: "/depotItem/saveDetials", - data: { - inserted: JSON.stringify(inserted), - deleted: JSON.stringify(deleted), - updated: JSON.stringify(updated), - headerId:accepId - }, - success: function (tipInfo) - { - if (tipInfo) { - $.messager.alert('提示','保存成功!','info'); - } - else { - $.messager.alert('提示', '保存失败!', 'error'); - } - fun && fun(); - }, - error: function (XmlHttpRequest, textStatus, errorThrown) - { - $.messager.alert('提示',XmlHttpRequest.responseText,'error'); - fun && fun(); - } - }); - if (endEditing()) { - $('#materialData').datagrid('acceptChanges'); - } -} -//获取MaxId -function getMaxId(){ - var depotHeadMax=null; - $.ajax({ - type:"get", - url: "/depotHead/getMaxId", - //设置为同步 - async:false, - dataType: "json", - success: function (res) { - if(res && res.code === 200) { - if(res.data) { - depotHeadMax = res.data.maxId; - } - } - } - }); - if(depotHeadMax !=null) { - depotHeadMaxId=depotHeadMax; - } -} /** * 新增单据主表及单据子表 diff --git a/src/main/java/com/jsh/erp/controller/DepotItemController.java b/src/main/java/com/jsh/erp/controller/DepotItemController.java index 3c573e32..01ec28f6 100644 --- a/src/main/java/com/jsh/erp/controller/DepotItemController.java +++ b/src/main/java/com/jsh/erp/controller/DepotItemController.java @@ -261,31 +261,6 @@ public class DepotItemController { return allNumber; } - /** - * 保存明细 - * @param inserted - * @param deleted - * @param updated - * @param headerId - * @param request - * @return - */ - @PostMapping(value = "/saveDetials") - public String saveDetials(@RequestParam("inserted") String inserted, - @RequestParam("deleted") String deleted, - @RequestParam("updated") String updated, - @RequestParam("headerId") Long headerId, - HttpServletRequest request) throws Exception{ - Map objectMap = new HashMap(); - try { - depotItemService.saveDetials(inserted,deleted,updated,headerId); - return returnJson(objectMap, ErpInfo.OK.name, ErpInfo.OK.code); - } catch (DataAccessException e) { - e.printStackTrace(); - logger.error(">>>>>>>>>>>>>>>>>>>保存明细信息异常", e); - return returnJson(objectMap, ErpInfo.ERROR.name, ErpInfo.ERROR.code); - } - } /** * 查询计量单位信息 From f3849d72573eddba96fbcc599f8513c6e750868e Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Tue, 21 May 2019 15:28:14 +0800 Subject: [PATCH 074/117] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E9=87=87=E8=B4=AD?= =?UTF-8?q?=E9=80=80=E8=B4=A7=E5=88=97=E8=A1=A8=E4=BB=8E=E5=90=8E=E5=8F=B0?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E6=9C=80=E5=A4=A7id=E7=9A=84=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../js/pages/materials/purchase_back_list.js | 100 ------------------ 1 file changed, 100 deletions(-) diff --git a/erp_web/js/pages/materials/purchase_back_list.js b/erp_web/js/pages/materials/purchase_back_list.js index c515c8e3..ddc1ac47 100644 --- a/erp_web/js/pages/materials/purchase_back_list.js +++ b/erp_web/js/pages/materials/purchase_back_list.js @@ -11,8 +11,6 @@ var personID = null; var ProjectSearch=null; var userBusinessList=null; var userdepot=null; -var depotHeadMaxId=null; //获取最大的Id -var accepId=null; //保存的主表id var url; var depotHeadID = 0; var preTotalPrice = 0; //前一次加载的金额 @@ -1639,50 +1637,7 @@ function bindEvent(){ updateDepotHeadAndDetail(url,infoStr,preTotalPrice); return; } - $.ajax({ - type:"post", - url: url, - dataType: "json", - async : false, - data: ({ - info:infoStr - }), - success: function (tipInfo) - { - if(tipInfo) - { - function closeDialog(){ - $('#depotHeadDlg').dialog('close'); - var opts = $("#tableData").datagrid('options'); - showDepotHeadDetails(opts.pageNumber,opts.pageSize); - } - //保存明细记录 - if(depotHeadID ==0) - { - getMaxId(); //查找最大的Id - accept(depotHeadMaxId,closeDialog); //新增 - } - else - { - accept(depotHeadID,closeDialog); //修改 - } - } - else - { - $.messager.show({ - title: '错误提示', - msg: '保存信息失败,请稍后重试!' - }); - } - }, - //此处添加错误处理 - error:function() - { - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); } }); @@ -2364,62 +2319,7 @@ function CheckData(type) { } return true; } -//保存 -function accept(accepId,fun) { - var inserted = $("#materialData").datagrid('getChanges', "inserted"); - var deleted = $("#materialData").datagrid('getChanges', "deleted"); - var updated = $("#materialData").datagrid('getChanges', "updated"); - $.ajax({ - type: "post", - url: "/depotItem/saveDetials", - data: { - inserted: JSON.stringify(inserted), - deleted: JSON.stringify(deleted), - updated: JSON.stringify(updated), - headerId:accepId - }, - success: function (tipInfo) - { - if (tipInfo) { - $.messager.alert('提示','保存成功!','info'); - } - else { - $.messager.alert('提示', '保存失败!', 'error'); - } - fun && fun(); - }, - error: function (XmlHttpRequest, textStatus, errorThrown) - { - $.messager.alert('提示',XmlHttpRequest.responseText,'error'); - fun && fun(); - } - }); - if (endEditing()) { - $('#materialData').datagrid('acceptChanges'); - } -} -//获取MaxId -function getMaxId(){ - var depotHeadMax=null; - $.ajax({ - type:"get", - url: "/depotHead/getMaxId", - //设置为同步 - async:false, - dataType: "json", - success: function (res) { - if(res && res.code === 200) { - if(res.data) { - depotHeadMax = res.data.maxId; - } - } - } - }); - if(depotHeadMax !=null) { - depotHeadMaxId=depotHeadMax; - } -} /** * 新增单据主表及单据子表 From 7a7b52e3a42671ed93967bfd68d19f0c07f20ab9 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Tue, 21 May 2019 15:29:24 +0800 Subject: [PATCH 075/117] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E9=87=87=E8=B4=AD?= =?UTF-8?q?=E5=85=A5=E5=BA=93=E5=88=97=E8=A1=A8=E4=BB=8E=E5=90=8E=E5=8F=B0?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E6=9C=80=E5=A4=A7id=E7=9A=84=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../js/pages/materials/purchase_in_list.js | 101 ------------------ 1 file changed, 101 deletions(-) diff --git a/erp_web/js/pages/materials/purchase_in_list.js b/erp_web/js/pages/materials/purchase_in_list.js index 9d3b96bd..0da74195 100644 --- a/erp_web/js/pages/materials/purchase_in_list.js +++ b/erp_web/js/pages/materials/purchase_in_list.js @@ -11,8 +11,6 @@ var personID = null; var ProjectSearch=null; var userBusinessList=null; var userdepot=null; -var depotHeadMaxId=null; //获取最大的Id -var accepId=null; //保存的主表id var url; var depotHeadID = 0; var preTotalPrice = 0; //前一次加载的金额 @@ -1635,50 +1633,6 @@ function bindEvent(){ updateDepotHeadAndDetail(url,infoStr,preTotalPrice); return; } - $.ajax({ - type:"post", - url: url, - dataType: "json", - async : false, - data: ({ - info:infoStr - }), - success: function (tipInfo) - { - if(tipInfo) - { - function closeDialog(){ - $('#depotHeadDlg').dialog('close'); - var opts = $("#tableData").datagrid('options'); - showDepotHeadDetails(opts.pageNumber,opts.pageSize); - } - - //保存明细记录 - if(depotHeadID ==0) - { - getMaxId(); //查找最大的Id - accept(depotHeadMaxId,closeDialog); //新增 - } - else - { - accept(depotHeadID,closeDialog); //修改 - } - } - else - { - $.messager.show({ - title: '错误提示', - msg: '保存信息失败,请稍后重试!' - }); - } - }, - //此处添加错误处理 - error:function() - { - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); } }); @@ -2397,62 +2351,7 @@ function CheckData(type) { } return true; } -//保存 -function accept(accepId,fun) { - var inserted = $("#materialData").datagrid('getChanges', "inserted"); - var deleted = $("#materialData").datagrid('getChanges', "deleted"); - var updated = $("#materialData").datagrid('getChanges', "updated"); - $.ajax({ - type: "post", - url: "/depotItem/saveDetials", - data: { - inserted: JSON.stringify(inserted), - deleted: JSON.stringify(deleted), - updated: JSON.stringify(updated), - headerId:accepId - }, - success: function (tipInfo) - { - if (tipInfo) { - $.messager.alert('提示','保存成功!','info'); - } - else { - $.messager.alert('提示', '保存失败!', 'error'); - } - fun && fun(); - }, - error: function (XmlHttpRequest, textStatus, errorThrown) - { - $.messager.alert('提示',XmlHttpRequest.responseText,'error'); - fun && fun(); - } - }); - if (endEditing()) { - $('#materialData').datagrid('acceptChanges'); - } -} -//获取MaxId -function getMaxId(){ - var depotHeadMax=null; - $.ajax({ - type:"get", - url: "/depotHead/getMaxId", - //设置为同步 - async:false, - dataType: "json", - success: function (res) { - if(res && res.code === 200) { - if(res.data) { - depotHeadMax = res.data.maxId; - } - } - } - }); - if(depotHeadMax !=null) { - depotHeadMaxId=depotHeadMax; - } -} /** * 新增单据主表及单据子表 From 2eac9ae9c1b6790efca6944056abf8947b82fb74 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Tue, 21 May 2019 15:30:30 +0800 Subject: [PATCH 076/117] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E9=87=87=E8=B4=AD?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=88=97=E8=A1=A8=E4=BB=8E=E5=90=8E=E5=8F=B0?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E6=9C=80=E5=A4=A7id=E7=9A=84=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pages/materials/purchase_orders_list.js | 101 ------------------ 1 file changed, 101 deletions(-) diff --git a/erp_web/js/pages/materials/purchase_orders_list.js b/erp_web/js/pages/materials/purchase_orders_list.js index a2941c7d..ad351497 100644 --- a/erp_web/js/pages/materials/purchase_orders_list.js +++ b/erp_web/js/pages/materials/purchase_orders_list.js @@ -11,8 +11,6 @@ var personID = null; var ProjectSearch=null; var userBusinessList=null; var userdepot=null; -var depotHeadMaxId=null; //获取最大的Id -var accepId=null; //保存的主表id var url; var depotHeadID = 0; var preTotalPrice = 0; //前一次加载的金额 @@ -1630,49 +1628,6 @@ function bindEvent(){ updateDepotHeadAndDetail(url,infoStr,preTotalPrice); return; } - $.ajax({ - type:"post", - url: url, - dataType: "json", - async : false, - data: ({ - info:infoStr - }), - success: function (tipInfo) - { - if(tipInfo) - { - function closeDialog(){ - $('#depotHeadDlg').dialog('close'); - var opts = $("#tableData").datagrid('options'); - showDepotHeadDetails(opts.pageNumber,opts.pageSize); - } - //保存明细记录 - if(depotHeadID ==0) - { - getMaxId(); //查找最大的Id - accept(depotHeadMaxId,closeDialog); //新增 - } - else - { - accept(depotHeadID,closeDialog); //修改 - } - } - else - { - $.messager.show({ - title: '错误提示', - msg: '保存信息失败,请稍后重试!' - }); - } - }, - //此处添加错误处理 - error:function() - { - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); } }); @@ -2392,62 +2347,6 @@ function CheckData(type) { } return true; } -//保存 -function accept(accepId,fun) { - var inserted = $("#materialData").datagrid('getChanges', "inserted"); - var deleted = $("#materialData").datagrid('getChanges', "deleted"); - var updated = $("#materialData").datagrid('getChanges', "updated"); - $.ajax({ - type: "post", - url: "/depotItem/saveDetials", - data: { - inserted: JSON.stringify(inserted), - deleted: JSON.stringify(deleted), - updated: JSON.stringify(updated), - headerId:accepId - }, - success: function (tipInfo) - { - if (tipInfo) { - $.messager.alert('提示','保存成功!','info'); - } - else { - $.messager.alert('提示', '保存失败!', 'error'); - } - fun && fun(); - }, - error: function (XmlHttpRequest, textStatus, errorThrown) - { - $.messager.alert('提示',XmlHttpRequest.responseText,'error'); - fun && fun(); - } - }); - if (endEditing()) { - $('#materialData').datagrid('acceptChanges'); - } -} -//获取MaxId -function getMaxId(){ - var depotHeadMax=null; - $.ajax({ - type:"get", - url: "/depotHead/getMaxId", - //设置为同步 - async:false, - dataType: "json", - success: function (res) { - if(res && res.code === 200) { - if(res.data) { - depotHeadMax = res.data.maxId; - } - } - } - }); - - if(depotHeadMax !=null) { - depotHeadMaxId=depotHeadMax; - } -} /** * 新增单据主表及单据子表 From 0c4b991607511294a4681e71136202b3594baaab Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Tue, 21 May 2019 15:31:50 +0800 Subject: [PATCH 077/117] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E9=9B=B6=E5=94=AE?= =?UTF-8?q?=E9=80=80=E8=B4=A7=E5=88=97=E8=A1=A8=E4=BB=8E=E5=90=8E=E5=8F=B0?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E6=9C=80=E5=A4=A7id=E7=9A=84=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../js/pages/materials/retail_back_list.js | 103 ------------------ 1 file changed, 103 deletions(-) diff --git a/erp_web/js/pages/materials/retail_back_list.js b/erp_web/js/pages/materials/retail_back_list.js index 6c05c1e9..c546a04f 100644 --- a/erp_web/js/pages/materials/retail_back_list.js +++ b/erp_web/js/pages/materials/retail_back_list.js @@ -11,8 +11,6 @@ var personID = null; var ProjectSearch=null; var userBusinessList=null; var userdepot=null; -var depotHeadMaxId=null; //获取最大的Id -var accepId=null; //保存的主表id var url; var depotHeadID = 0; var preTotalPrice = 0; //前一次加载的金额 @@ -1721,51 +1719,6 @@ function bindEvent(){ updateDepotHeadAndDetail(url,infoStr,preTotalPrice); return; } - $.ajax({ - type:"post", - url: url, - dataType: "json", - async : false, - data: ({ - info:infoStr - }), - success: function (tipInfo) - { - if(tipInfo) - { - function closeDialog(){ - $('#depotHeadDlg').dialog('close'); - var opts = $("#tableData").datagrid('options'); - showDepotHeadDetails(opts.pageNumber,opts.pageSize); - } - - - //保存明细记录 - if(depotHeadID ==0) - { - getMaxId(); //查找最大的Id - accept(depotHeadMaxId,closeDialog); //新增 - } - else - { - accept(depotHeadID,closeDialog); //修改 - } - } - else - { - $.messager.show({ - title: '错误提示', - msg: '保存信息失败,请稍后重试!' - }); - } - }, - //此处添加错误处理 - error:function() - { - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); } }); @@ -2450,62 +2403,6 @@ function CheckData(type) { } return true; } -//保存 -function accept(accepId,fun) { - var inserted = $("#materialData").datagrid('getChanges', "inserted"); - var deleted = $("#materialData").datagrid('getChanges', "deleted"); - var updated = $("#materialData").datagrid('getChanges', "updated"); - $.ajax({ - type: "post", - url: "/depotItem/saveDetials", - data: { - inserted: JSON.stringify(inserted), - deleted: JSON.stringify(deleted), - updated: JSON.stringify(updated), - headerId:accepId - }, - success: function (tipInfo) - { - if (tipInfo) { - $.messager.alert('提示','保存成功!','info'); - } - else { - $.messager.alert('提示', '保存失败!', 'error'); - } - fun && fun(); - }, - error: function (XmlHttpRequest, textStatus, errorThrown) - { - $.messager.alert('提示',XmlHttpRequest.responseText,'error'); - fun && fun(); - } - }); - if (endEditing()) { - $('#materialData').datagrid('acceptChanges'); - } -} -//获取MaxId -function getMaxId(){ - var depotHeadMax=null; - $.ajax({ - type:"get", - url: "/depotHead/getMaxId", - //设置为同步 - async:false, - dataType: "json", - success: function (res) { - if(res && res.code === 200) { - if(res.data) { - depotHeadMax = res.data.maxId; - } - } - } - }); - - if(depotHeadMax !=null) { - depotHeadMaxId=depotHeadMax; - } -} /** * 新增单据主表及单据子表 From 4c59c98406d03d26b4d2d19f25f9418a41b58aa3 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Tue, 21 May 2019 15:33:04 +0800 Subject: [PATCH 078/117] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E9=9B=B6=E5=94=AE?= =?UTF-8?q?=E5=87=BA=E5=BA=93=E5=88=97=E8=A1=A8=E4=BB=8E=E5=90=8E=E5=8F=B0?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E6=9C=80=E5=A4=A7id=E7=9A=84=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- erp_web/js/pages/materials/retail_out_list.js | 130 ------------------ 1 file changed, 130 deletions(-) diff --git a/erp_web/js/pages/materials/retail_out_list.js b/erp_web/js/pages/materials/retail_out_list.js index 93601cc5..aaec811c 100644 --- a/erp_web/js/pages/materials/retail_out_list.js +++ b/erp_web/js/pages/materials/retail_out_list.js @@ -11,8 +11,6 @@ var personID = null; var ProjectSearch=null; var userBusinessList=null; var userdepot=null; -var depotHeadMaxId=null; //获取最大的Id -var accepId=null; //保存的主表id var url; var depotHeadID = 0; var preTotalPrice = 0; //前一次加载的金额 @@ -1746,79 +1744,6 @@ function bindEvent(){ updateDepotHeadAndDetail(url,infoStr,preTotalPrice); return; } - $.ajax({ - type:"post", - url: url, - dataType: "json", - async : false, - data: ({ - info:infoStr - }), - success: function (tipInfo) - { - if(tipInfo) - { - function closeDialog(){ - $('#depotHeadDlg').dialog('close'); - var opts = $("#tableData").datagrid('options'); - showDepotHeadDetails(opts.pageNumber,opts.pageSize); - } - - if(thisPayType === "预付款") { - //更新用户信息-预付款 - var advanceIn = 0; //预付款金额 - if(depotHeadID){ - advanceIn = TotalPrice - preTotalPrice; //修改时,预付款=合计金额-加载金额 - } - else{ - advanceIn = TotalPrice; //新增时,预付款=合计金额 - } - $.ajax({ - type:"post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data:{ - supplierId: OrganId, //会员id - advanceIn: 0 - advanceIn //保存的同时扣掉用户的预付款 - }, - success: function(res){ - if(res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function(){ - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); - } - - //保存明细记录 - if(depotHeadID ==0) - { - getMaxId(); //查找最大的Id - accept(depotHeadMaxId,closeDialog); //新增 - } - else - { - accept(depotHeadID,closeDialog); //修改 - } - } - else - { - $.messager.show({ - title: '错误提示', - msg: '保存信息失败,请稍后重试!' - }); - } - }, - //此处添加错误处理 - error:function() - { - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); } }); @@ -2540,62 +2465,7 @@ function CheckData(type) { } return true; } -//保存 -function accept(accepId,fun) { - var inserted = $("#materialData").datagrid('getChanges', "inserted"); - var deleted = $("#materialData").datagrid('getChanges', "deleted"); - var updated = $("#materialData").datagrid('getChanges', "updated"); - $.ajax({ - type: "post", - url: "/depotItem/saveDetials", - data: { - inserted: JSON.stringify(inserted), - deleted: JSON.stringify(deleted), - updated: JSON.stringify(updated), - headerId:accepId - }, - success: function (tipInfo) - { - if (tipInfo) { - $.messager.alert('提示','保存成功!','info'); - } - else { - $.messager.alert('提示', '保存失败!', 'error'); - } - fun && fun(); - }, - error: function (XmlHttpRequest, textStatus, errorThrown) - { - $.messager.alert('提示',XmlHttpRequest.responseText,'error'); - fun && fun(); - } - }); - if (endEditing()) { - $('#materialData').datagrid('acceptChanges'); - } -} -//获取MaxId -function getMaxId(){ - var depotHeadMax=null; - $.ajax({ - type:"get", - url: "/depotHead/getMaxId", - //设置为同步 - async:false, - dataType: "json", - success: function (res) { - if(res && res.code === 200) { - if(res.data) { - depotHeadMax = res.data.maxId; - } - } - } - }); - if(depotHeadMax !=null) { - depotHeadMaxId=depotHeadMax; - } -} /** * 新增单据主表及单据子表 From 53eaea493c2f6bb7d57410b121c9c185ea66dad3 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Tue, 21 May 2019 15:34:04 +0800 Subject: [PATCH 079/117] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E9=94=80=E5=94=AE?= =?UTF-8?q?=E9=80=80=E8=B4=A7=E5=88=97=E8=A1=A8=E4=BB=8E=E5=90=8E=E5=8F=B0?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E6=9C=80=E5=A4=A7id=E7=9A=84=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- erp_web/js/pages/materials/sale_back_list.js | 103 ------------------- 1 file changed, 103 deletions(-) diff --git a/erp_web/js/pages/materials/sale_back_list.js b/erp_web/js/pages/materials/sale_back_list.js index 8fa22af3..69f46b5c 100644 --- a/erp_web/js/pages/materials/sale_back_list.js +++ b/erp_web/js/pages/materials/sale_back_list.js @@ -11,8 +11,6 @@ var personID = null; var ProjectSearch=null; var userBusinessList=null; var userdepot=null; -var depotHeadMaxId=null; //获取最大的Id -var accepId=null; //保存的主表id var url; var depotHeadID = 0; var preTotalPrice = 0; //前一次加载的金额 @@ -1692,51 +1690,6 @@ function bindEvent(){ updateDepotHeadAndDetail(url,infoStr,preTotalPrice); return; } - $.ajax({ - type:"post", - url: url, - dataType: "json", - async : false, - data: ({ - info:infoStr - }), - success: function (tipInfo) - { - if(tipInfo) - { - function closeDialog(){ - $('#depotHeadDlg').dialog('close'); - var opts = $("#tableData").datagrid('options'); - showDepotHeadDetails(opts.pageNumber,opts.pageSize); - } - - - //保存明细记录 - if(depotHeadID ==0) - { - getMaxId(); //查找最大的Id - accept(depotHeadMaxId,closeDialog); //新增 - } - else - { - accept(depotHeadID,closeDialog); //修改 - } - } - else - { - $.messager.show({ - title: '错误提示', - msg: '保存信息失败,请稍后重试!' - }); - } - }, - //此处添加错误处理 - error:function() - { - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); } }); @@ -2421,62 +2374,6 @@ function CheckData(type) { } return true; } -//保存 -function accept(accepId,fun) { - var inserted = $("#materialData").datagrid('getChanges', "inserted"); - var deleted = $("#materialData").datagrid('getChanges', "deleted"); - var updated = $("#materialData").datagrid('getChanges', "updated"); - $.ajax({ - type: "post", - url: "/depotItem/saveDetials", - data: { - inserted: JSON.stringify(inserted), - deleted: JSON.stringify(deleted), - updated: JSON.stringify(updated), - headerId:accepId - }, - success: function (tipInfo) - { - if (tipInfo) { - $.messager.alert('提示','保存成功!','info'); - } - else { - $.messager.alert('提示', '保存失败!', 'error'); - } - fun && fun(); - }, - error: function (XmlHttpRequest, textStatus, errorThrown) - { - $.messager.alert('提示',XmlHttpRequest.responseText,'error'); - fun && fun(); - } - }); - if (endEditing()) { - $('#materialData').datagrid('acceptChanges'); - } -} -//获取MaxId -function getMaxId(){ - var depotHeadMax=null; - $.ajax({ - type:"get", - url: "/depotHead/getMaxId", - //设置为同步 - async:false, - dataType: "json", - success: function (res) { - if(res && res.code === 200) { - if(res.data) { - depotHeadMax = res.data.maxId; - } - } - } - }); - - if(depotHeadMax !=null) { - depotHeadMaxId=depotHeadMax; - } -} /** * 新增单据主表及单据子表 From ca3c2189728459717270105e7d7c1fc2e7da7c1f Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Tue, 21 May 2019 15:35:04 +0800 Subject: [PATCH 080/117] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E9=94=80=E5=94=AE?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=88=97=E8=A1=A8=E4=BB=8E=E5=90=8E=E5=8F=B0?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E6=9C=80=E5=A4=A7id=E7=9A=84=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../js/pages/materials/sale_orders_list.js | 101 ------------------ 1 file changed, 101 deletions(-) diff --git a/erp_web/js/pages/materials/sale_orders_list.js b/erp_web/js/pages/materials/sale_orders_list.js index 760459a8..a68af91e 100644 --- a/erp_web/js/pages/materials/sale_orders_list.js +++ b/erp_web/js/pages/materials/sale_orders_list.js @@ -11,8 +11,6 @@ var personID = null; var ProjectSearch=null; var userBusinessList=null; var userdepot=null; -var depotHeadMaxId=null; //获取最大的Id -var accepId=null; //保存的主表id var url; var depotHeadID = 0; var preTotalPrice = 0; //前一次加载的金额 @@ -1626,50 +1624,7 @@ function bindEvent(){ updateDepotHeadAndDetail(url,infoStr,preTotalPrice); return; } - $.ajax({ - type:"post", - url: url, - dataType: "json", - async : false, - data: ({ - info:infoStr - }), - success: function (tipInfo) - { - if(tipInfo) - { - function closeDialog(){ - $('#depotHeadDlg').dialog('close'); - var opts = $("#tableData").datagrid('options'); - showDepotHeadDetails(opts.pageNumber,opts.pageSize); - } - //保存明细记录 - if(depotHeadID ==0) - { - getMaxId(); //查找最大的Id - accept(depotHeadMaxId,closeDialog); //新增 - } - else - { - accept(depotHeadID,closeDialog); //修改 - } - } - else - { - $.messager.show({ - title: '错误提示', - msg: '保存信息失败,请稍后重试!' - }); - } - }, - //此处添加错误处理 - error:function() - { - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); } }); @@ -2389,62 +2344,6 @@ function CheckData(type) { } return true; } -//保存 -function accept(accepId,fun) { - var inserted = $("#materialData").datagrid('getChanges', "inserted"); - var deleted = $("#materialData").datagrid('getChanges', "deleted"); - var updated = $("#materialData").datagrid('getChanges', "updated"); - $.ajax({ - type: "post", - url: "/depotItem/saveDetials", - data: { - inserted: JSON.stringify(inserted), - deleted: JSON.stringify(deleted), - updated: JSON.stringify(updated), - headerId:accepId - }, - success: function (tipInfo) - { - if (tipInfo) { - $.messager.alert('提示','保存成功!','info'); - } - else { - $.messager.alert('提示', '保存失败!', 'error'); - } - fun && fun(); - }, - error: function (XmlHttpRequest, textStatus, errorThrown) - { - $.messager.alert('提示',XmlHttpRequest.responseText,'error'); - fun && fun(); - } - }); - if (endEditing()) { - $('#materialData').datagrid('acceptChanges'); - } -} -//获取MaxId -function getMaxId(){ - var depotHeadMax=null; - $.ajax({ - type:"get", - url: "/depotHead/getMaxId", - //设置为同步 - async:false, - dataType: "json", - success: function (res) { - if(res && res.code === 200) { - if(res.data) { - depotHeadMax = res.data.maxId; - } - } - } - }); - - if(depotHeadMax !=null) { - depotHeadMaxId=depotHeadMax; - } -} /** * 新增单据主表及单据子表 From 9145b284b23260182b469a0ba5db388476fb199c Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Tue, 21 May 2019 15:36:02 +0800 Subject: [PATCH 081/117] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E9=94=80=E5=94=AE?= =?UTF-8?q?=E5=87=BA=E5=BA=93=E5=88=97=E8=A1=A8=E4=BB=8E=E5=90=8E=E5=8F=B0?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E6=9C=80=E5=A4=A7id=E7=9A=84=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- erp_web/js/pages/materials/sale_out_list.js | 101 -------------------- 1 file changed, 101 deletions(-) diff --git a/erp_web/js/pages/materials/sale_out_list.js b/erp_web/js/pages/materials/sale_out_list.js index f2f977e9..b437009d 100644 --- a/erp_web/js/pages/materials/sale_out_list.js +++ b/erp_web/js/pages/materials/sale_out_list.js @@ -11,8 +11,6 @@ var personID = null; var ProjectSearch=null; var userBusinessList=null; var userdepot=null; -var depotHeadMaxId=null; //获取最大的Id -var accepId=null; //保存的主表id var url; var depotHeadID = 0; var preTotalPrice = 0; //前一次加载的金额 @@ -1680,51 +1678,7 @@ function bindEvent(){ updateDepotHeadAndDetail(url,infoStr,preTotalPrice); return; } - $.ajax({ - type:"post", - url: url, - dataType: "json", - async : false, - data: ({ - info:infoStr - }), - success: function (tipInfo) - { - if(tipInfo) - { - function closeDialog(){ - $('#depotHeadDlg').dialog('close'); - var opts = $("#tableData").datagrid('options'); - showDepotHeadDetails(opts.pageNumber,opts.pageSize); - } - - //保存明细记录 - if(depotHeadID ==0) - { - getMaxId(); //查找最大的Id - accept(depotHeadMaxId,closeDialog); //新增 - } - else - { - accept(depotHeadID,closeDialog); //修改 - } - } - else - { - $.messager.show({ - title: '错误提示', - msg: '保存信息失败,请稍后重试!' - }); - } - }, - //此处添加错误处理 - error:function() - { - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); } }); @@ -2488,62 +2442,7 @@ function CheckData(type) { } return true; } -//保存 -function accept(accepId,fun) { - var inserted = $("#materialData").datagrid('getChanges', "inserted"); - var deleted = $("#materialData").datagrid('getChanges', "deleted"); - var updated = $("#materialData").datagrid('getChanges', "updated"); - $.ajax({ - type: "post", - url: "/depotItem/saveDetials", - data: { - inserted: JSON.stringify(inserted), - deleted: JSON.stringify(deleted), - updated: JSON.stringify(updated), - headerId:accepId - }, - success: function (tipInfo) - { - if (tipInfo) { - $.messager.alert('提示','保存成功!','info'); - } - else { - $.messager.alert('提示', '保存失败!', 'error'); - } - fun && fun(); - }, - error: function (XmlHttpRequest, textStatus, errorThrown) - { - $.messager.alert('提示',XmlHttpRequest.responseText,'error'); - fun && fun(); - } - }); - if (endEditing()) { - $('#materialData').datagrid('acceptChanges'); - } -} -//获取MaxId -function getMaxId(){ - var depotHeadMax=null; - $.ajax({ - type:"get", - url: "/depotHead/getMaxId", - //设置为同步 - async:false, - dataType: "json", - success: function (res) { - if(res && res.code === 200) { - if(res.data) { - depotHeadMax = res.data.maxId; - } - } - } - }); - if(depotHeadMax !=null) { - depotHeadMaxId=depotHeadMax; - } -} /** * 新增单据主表及单据子表 From 79d4c7d24c2f63379dc473eabada432a6c23f3bf Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Wed, 22 May 2019 15:55:07 +0800 Subject: [PATCH 082/117] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E8=B4=A2=E5=8A=A1?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E4=BB=8E=E5=90=8E=E5=8F=B0=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E6=9C=80=E5=A4=A7id=E7=9A=84=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- erp_web/js/pages/financial/advance_in.js | 121 +++++----------- erp_web/js/pages/financial/giro.js | 134 +++++------------- erp_web/js/pages/financial/item_in.js | 117 +++++---------- erp_web/js/pages/financial/item_out.js | 117 +++++---------- erp_web/js/pages/financial/money_in.js | 117 +++++---------- erp_web/js/pages/financial/money_out.js | 117 +++++---------- .../erp/controller/AccountHeadController.java | 34 +++++ .../mappers/AccountHeadMapperEx.java | 3 + .../accountHead/AccountHeadService.java | 49 +++++++ .../mapper_xml/AccountHeadMapperEx.xml | 52 +++++++ 10 files changed, 345 insertions(+), 516 deletions(-) diff --git a/erp_web/js/pages/financial/advance_in.js b/erp_web/js/pages/financial/advance_in.js index c5b0fdfc..9ddb2363 100644 --- a/erp_web/js/pages/financial/advance_in.js +++ b/erp_web/js/pages/financial/advance_in.js @@ -150,9 +150,6 @@ function initTableData(){ * 修改效率低下的js */ var str = ''; - // var rowInfo = rec.id + 'AaBb' + rec.billno+ 'AaBb' + rec.billtime+ 'AaBb' + rec.remark - // + 'AaBb' + rec.accountid+ 'AaBb' + rec.accountname + 'AaBb' + rec.organid + 'AaBb' + rec.organname - // + 'AaBb' + rec.handspersonid + 'AaBb' + rec.handspersonname + 'AaBb' + rec.changeamount + 'AaBb' + rec.totalprice; var orgId = rec.organid ? rec.organid : 0; str += '   '; str += '   '; @@ -596,7 +593,7 @@ function addAccountHead(){ accountHeadID = 0; initTableData_account("add"); //明细列表 reject(); //撤销下、刷新材料列表 - url = '/accountHead/add'; + url = '/accountHead/addAccountHeadAndDetail'; //收预付款单据支持刷卡功能 if(listType == "收预付款") { @@ -632,7 +629,7 @@ function editAccountHead(index){ initTableData_account("edit",TotalPrice); //明细列表 reject(); //撤销下、刷新列表 - url = '/accountHead/update?id=' + rowsdata.id; + url = '/accountHead/updateAccountHeadAndDetail?id=' + rowsdata.id; } //查看信息 @@ -728,54 +725,7 @@ function bindEvent(){ return; } }); - - //保存单位信息 - $.ajax({ - type: "post", - url: url, - dataType: "json", - async: false, - data: ({ - info : JSON.stringify({ - Type: listType, - BillNo: $.trim($("#BillNo").val()), - BillTime: $.trim($("#BillTime").val()), - AccountId: $.trim($("#AccountId").val()), - ChangeAmount: ChangeAmount, //付款/收款/优惠/实付 - TotalPrice: TotalPrice, //合计 - OrganId: OrganId, - HandsPersonId: $.trim($("#HandsPersonId").val()), - Remark: $.trim($("#Remark").val()) - }) - }), - success: function (tipInfo) { - if (tipInfo) { - //保存明细记录 - if (accountHeadID == 0) { - getMaxId(); //查找最大的Id - accept(accountHeadMaxId, listType); //新增 - } - else { - accept(accountHeadID, listType); //修改 - } - - $('#accountHeadDlg').dialog('close'); - var opts = $("#tableData").datagrid('options'); - showAccountHeadDetails(opts.pageNumber, opts.pageSize); - } - else { - $.messager.show({ - title: '错误提示', - msg: '保存信息失败,请稍后重试!' - }); - } - }, - //此处添加错误处理 - error: function () { - $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); - return; - } - }); + saveAccountHeadAndDetail(listType,ChangeAmount,TotalPrice,OrganId); } }); @@ -874,7 +824,10 @@ function endEditing() { if (editIndex == undefined) { return true } if ($('#accountData').datagrid('validateRow', editIndex)) { var ed = $('#accountData').datagrid('getEditor', {index: editIndex, field: edField}); - var textName = $(ed.target).combobox('getText'); + var textName =null; + if($(ed.target)){ + textName = $(ed.target).combobox('getText'); + } $('#accountData').datagrid('getRows')[editIndex][edName] = textName; $('#accountData').datagrid('endEdit', editIndex); editIndex = undefined; @@ -940,8 +893,7 @@ function CheckData() { } return true; } -//保存 -function accept(accepId,listType) { +function saveAccountHeadAndDetail(listType,ChangeAmount,TotalPrice,OrganId) { append(); removeit(); if ($("#accountData").datagrid('getChanges').length) { @@ -952,21 +904,43 @@ function accept(accepId,listType) { var updated = $("#accountData").datagrid('getChanges', "updated"); $.ajax({ type: "post", - url: "/accountItem/saveDetials", + url: url, + dataType: "json", data: { inserted: JSON.stringify(inserted), deleted: JSON.stringify(deleted), updated: JSON.stringify(updated), - headerId: accepId, + info : JSON.stringify({ + Type: listType, + BillNo: $.trim($("#BillNo").val()), + BillTime: $.trim($("#BillTime").val()), + AccountId: $.trim($("#AccountId").val()), + ChangeAmount: ChangeAmount, //付款/收款/优惠/实付 + TotalPrice: TotalPrice, //合计 + OrganId: OrganId, + HandsPersonId: $.trim($("#HandsPersonId").val()), + Remark: $.trim($("#Remark").val()) + }), listType: listType }, success: function (tipInfo) { if (tipInfo) { $.messager.alert('提示','保存成功!','info'); + $('#accountHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showAccountHeadDetails(opts.pageNumber, opts.pageSize); + if (endEditing()) { + $('#accountData').datagrid('acceptChanges'); + } + } + else{ + + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); } - else - $.messager.alert('提示','保存失败!','error'); }, error: function (XmlHttpRequest, textStatus, errorThrown) @@ -975,29 +949,6 @@ function accept(accepId,listType) { } }); } - if (endEditing()) { - $('#accountData').datagrid('acceptChanges'); - } -} -//获取MaxId -function getMaxId(){ - var accountHeadMax=null; - $.ajax({ - type:"get", - url: "/accountHead/getMaxId", - //设置为同步 - async:false, - dataType: "json", - success: function (res) { - if(res && res.code === 200) { - if(res.data) { - accountHeadMax = res.data.maxId; - } - } - } - }); - if(accountHeadMax !=null) { - accountHeadMaxId=accountHeadMax; - } -} \ No newline at end of file +} + diff --git a/erp_web/js/pages/financial/giro.js b/erp_web/js/pages/financial/giro.js index 5c59070e..fe05d6bf 100644 --- a/erp_web/js/pages/financial/giro.js +++ b/erp_web/js/pages/financial/giro.js @@ -12,7 +12,6 @@ $(function(){ initSelectInfo_person(); //经手人信息 initSystemData_account(); //账户数据 initSelectInfo_account(); //账户信息 - initSupplier(); //供应商 initTableData(); ininPager(); initForm(); @@ -51,20 +50,6 @@ function initSelectInfo_account(){ } } -//初始化单位信息 -function initSupplier(){ - $('#OrganId').combobox({ - url: organUrl, - valueField:'id', - textField:'supplier', - formatter: function(row){ - var opts = $(this).combobox('options'); - if(row[opts.textField]!=="非会员") { - return row[opts.textField]; - } - } - }); -} //获取财务员 function initSystemData_person(){ @@ -150,9 +135,6 @@ function initTableData(){ * 修改效率低下的js */ var str = ''; - // var rowInfo = rec.id + 'AaBb' + rec.billno+ 'AaBb' + rec.billtime+ 'AaBb' + rec.remark - // + 'AaBb' + rec.accountid+ 'AaBb' + rec.accountname + 'AaBb' + rec.organid + 'AaBb' + rec.organname - // + 'AaBb' + rec.handspersonid + 'AaBb' + rec.handspersonname + 'AaBb' + rec.changeamount + 'AaBb' + rec.totalprice; var orgId = rec.organid ? rec.organid : 0; str += '   '; str += '   '; @@ -552,7 +534,7 @@ function addAccountHead(){ accountHeadID = 0; initTableData_account("add"); //明细列表 reject(); //撤销下、刷新材料列表 - url = '/accountHead/add'; + url = '/accountHead/addAccountHeadAndDetail'; } @@ -565,7 +547,7 @@ function editAccountHead(index){ $("#BillTime").val(rowsdata.billtime); $("#Remark").val(rowsdata.remark); $("#AccountId").val(rowsdata.accountid); - $('#OrganId').combobox('setValue', rowsdata.organid); + // $('#OrganId').combobox('setValue', rowsdata.organid); $("#HandsPersonId").val(rowsdata.handspersonid); $("#ChangeAmount").val(rowsdata.changeamount); var TotalPrice = rowsdata.totalprice; @@ -577,7 +559,7 @@ function editAccountHead(index){ initTableData_account("edit",TotalPrice); //明细列表 reject(); //撤销下、刷新列表 - url = '/accountHead/update?id=' + rowsdata.id; + url = '/accountHead/updateAccountHeadAndDetail?id=' + rowsdata.id; } //查看信息 @@ -650,53 +632,7 @@ function bindEvent(){ ChangeAmount = 0 - ChangeAmount; //支出和付款为负数 TotalPrice = 0 - TotalPrice; - //保存单位信息 - $.ajax({ - type: "post", - url: url, - dataType: "json", - async: false, - data: ({ - info : JSON.stringify({ - Type: listType, - BillNo: $.trim($("#BillNo").val()), - BillTime: $.trim($("#BillTime").val()), - AccountId: $.trim($("#AccountId").val()), - ChangeAmount: ChangeAmount, //付款/收款/优惠/实付 - TotalPrice: TotalPrice, //合计 - OrganId: OrganId, - HandsPersonId: $.trim($("#HandsPersonId").val()), - Remark: $.trim($("#Remark").val()) - }) - }), - success: function (tipInfo) { - if (tipInfo) { - //保存明细记录 - if (accountHeadID == 0) { - getMaxId(); //查找最大的Id - accept(accountHeadMaxId, listType); //新增 - } - else { - accept(accountHeadID, listType); //修改 - } - - $('#accountHeadDlg').dialog('close'); - var opts = $("#tableData").datagrid('options'); - showAccountHeadDetails(opts.pageNumber, opts.pageSize); - } - else { - $.messager.show({ - title: '错误提示', - msg: '保存信息失败,请稍后重试!' - }); - } - }, - //此处添加错误处理 - error: function () { - $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); - return; - } - }); + saveAccountHeadAndDetail(listType,ChangeAmount,TotalPrice,OrganId); } }); @@ -795,7 +731,10 @@ function endEditing() { if (editIndex == undefined) { return true } if ($('#accountData').datagrid('validateRow', editIndex)) { var ed = $('#accountData').datagrid('getEditor', {index: editIndex, field: edField}); - var textName = $(ed.target).combobox('getText'); + var textName =null; + if($(ed.target)){ + textName = $(ed.target).combobox('getText'); + } $('#accountData').datagrid('getRows')[editIndex][edName] = textName; $('#accountData').datagrid('endEdit', editIndex); editIndex = undefined; @@ -861,8 +800,7 @@ function CheckData() { } return true; } -//保存 -function accept(accepId,listType) { +function saveAccountHeadAndDetail(listType,ChangeAmount,TotalPrice,OrganId) { append(); removeit(); if ($("#accountData").datagrid('getChanges').length) { @@ -873,21 +811,43 @@ function accept(accepId,listType) { var updated = $("#accountData").datagrid('getChanges', "updated"); $.ajax({ type: "post", - url: "/accountItem/saveDetials", + url: url, + dataType: "json", data: { inserted: JSON.stringify(inserted), deleted: JSON.stringify(deleted), updated: JSON.stringify(updated), - headerId: accepId, + info : JSON.stringify({ + Type: listType, + BillNo: $.trim($("#BillNo").val()), + BillTime: $.trim($("#BillTime").val()), + AccountId: $.trim($("#AccountId").val()), + ChangeAmount: ChangeAmount, //付款/收款/优惠/实付 + TotalPrice: TotalPrice, //合计 + OrganId: OrganId, + HandsPersonId: $.trim($("#HandsPersonId").val()), + Remark: $.trim($("#Remark").val()) + }), listType: listType }, success: function (tipInfo) { if (tipInfo) { $.messager.alert('提示','保存成功!','info'); + $('#accountHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showAccountHeadDetails(opts.pageNumber, opts.pageSize); + if (endEditing()) { + $('#accountData').datagrid('acceptChanges'); + } + } + else{ + + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); } - else - $.messager.alert('提示','保存失败!','error'); }, error: function (XmlHttpRequest, textStatus, errorThrown) @@ -896,29 +856,5 @@ function accept(accepId,listType) { } }); } - if (endEditing()) { - $('#accountData').datagrid('acceptChanges'); - } -} -//获取MaxId -function getMaxId(){ - var accountHeadMax=null; - $.ajax({ - type:"get", - url: "/accountHead/getMaxId", - //设置为同步 - async:false, - dataType: "json", - success: function (res) { - if(res && res.code === 200) { - if(res.data) { - accountHeadMax = res.data.maxId; - } - } - } - }); - if(accountHeadMax !=null) { - accountHeadMaxId=accountHeadMax; - } } \ No newline at end of file diff --git a/erp_web/js/pages/financial/item_in.js b/erp_web/js/pages/financial/item_in.js index 7d2d6c70..52b19d71 100644 --- a/erp_web/js/pages/financial/item_in.js +++ b/erp_web/js/pages/financial/item_in.js @@ -150,9 +150,6 @@ function initTableData(){ * 修改效率低下的js */ var str = ''; - // var rowInfo = rec.id + 'AaBb' + rec.billno+ 'AaBb' + rec.billtime+ 'AaBb' + rec.remark - // + 'AaBb' + rec.accountid+ 'AaBb' + rec.accountname + 'AaBb' + rec.organid + 'AaBb' + rec.organname - // + 'AaBb' + rec.handspersonid + 'AaBb' + rec.handspersonname + 'AaBb' + rec.changeamount + 'AaBb' + rec.totalprice; var orgId = rec.organid ? rec.organid : 0; str += '   '; str += '   '; @@ -552,7 +549,7 @@ function addAccountHead(){ accountHeadID = 0; initTableData_account("add"); //明细列表 reject(); //撤销下、刷新材料列表 - url = '/accountHead/add'; + url = '/accountHead/addAccountHeadAndDetail'; } @@ -577,7 +574,7 @@ function editAccountHead(index){ initTableData_account("edit",TotalPrice); //明细列表 reject(); //撤销下、刷新列表 - url = '/accountHead/update?id=' + rowsdata.id; + url = '/accountHead/updateAccountHeadAndDetail?id=' + rowsdata.id; } //查看信息 @@ -651,53 +648,7 @@ function bindEvent(){ var TotalPrice = $("#accountHeadFM .datagrid-footer [field='EachAmount'] div").text(); var OrganId = $('#OrganId').combobox('getValue'); - //保存单位信息 - $.ajax({ - type: "post", - url: url, - dataType: "json", - async: false, - data: ({ - info : JSON.stringify({ - Type: listType, - BillNo: $.trim($("#BillNo").val()), - BillTime: $.trim($("#BillTime").val()), - AccountId: $.trim($("#AccountId").val()), - ChangeAmount: ChangeAmount, //付款/收款/优惠/实付 - TotalPrice: TotalPrice, //合计 - OrganId: OrganId, - HandsPersonId: $.trim($("#HandsPersonId").val()), - Remark: $.trim($("#Remark").val()) - }) - }), - success: function (tipInfo) { - if (tipInfo) { - //保存明细记录 - if (accountHeadID == 0) { - getMaxId(); //查找最大的Id - accept(accountHeadMaxId, listType); //新增 - } - else { - accept(accountHeadID, listType); //修改 - } - - $('#accountHeadDlg').dialog('close'); - var opts = $("#tableData").datagrid('options'); - showAccountHeadDetails(opts.pageNumber, opts.pageSize); - } - else { - $.messager.show({ - title: '错误提示', - msg: '保存信息失败,请稍后重试!' - }); - } - }, - //此处添加错误处理 - error: function () { - $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); - return; - } - }); + saveAccountHeadAndDetail(listType,ChangeAmount,TotalPrice,OrganId); } }); @@ -796,7 +747,10 @@ function endEditing() { if (editIndex == undefined) { return true } if ($('#accountData').datagrid('validateRow', editIndex)) { var ed = $('#accountData').datagrid('getEditor', {index: editIndex, field: edField}); - var textName = $(ed.target).combobox('getText'); + var textName =null; + if($(ed.target)){ + textName = $(ed.target).combobox('getText'); + } $('#accountData').datagrid('getRows')[editIndex][edName] = textName; $('#accountData').datagrid('endEdit', editIndex); editIndex = undefined; @@ -862,8 +816,7 @@ function CheckData() { } return true; } -//保存 -function accept(accepId,listType) { +function saveAccountHeadAndDetail(listType,ChangeAmount,TotalPrice,OrganId) { append(); removeit(); if ($("#accountData").datagrid('getChanges').length) { @@ -874,21 +827,43 @@ function accept(accepId,listType) { var updated = $("#accountData").datagrid('getChanges', "updated"); $.ajax({ type: "post", - url: "/accountItem/saveDetials", + url: url, + dataType: "json", data: { inserted: JSON.stringify(inserted), deleted: JSON.stringify(deleted), updated: JSON.stringify(updated), - headerId: accepId, + info : JSON.stringify({ + Type: listType, + BillNo: $.trim($("#BillNo").val()), + BillTime: $.trim($("#BillTime").val()), + AccountId: $.trim($("#AccountId").val()), + ChangeAmount: ChangeAmount, //付款/收款/优惠/实付 + TotalPrice: TotalPrice, //合计 + OrganId: OrganId, + HandsPersonId: $.trim($("#HandsPersonId").val()), + Remark: $.trim($("#Remark").val()) + }), listType: listType }, success: function (tipInfo) { if (tipInfo) { $.messager.alert('提示','保存成功!','info'); + $('#accountHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showAccountHeadDetails(opts.pageNumber, opts.pageSize); + if (endEditing()) { + $('#accountData').datagrid('acceptChanges'); + } + } + else{ + + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); } - else - $.messager.alert('提示','保存失败!','error'); }, error: function (XmlHttpRequest, textStatus, errorThrown) @@ -897,29 +872,5 @@ function accept(accepId,listType) { } }); } - if (endEditing()) { - $('#accountData').datagrid('acceptChanges'); - } -} -//获取MaxId -function getMaxId(){ - var accountHeadMax=null; - $.ajax({ - type:"get", - url: "/accountHead/getMaxId", - //设置为同步 - async:false, - dataType: "json", - success: function (res) { - if(res && res.code === 200) { - if(res.data) { - accountHeadMax = res.data.maxId; - } - } - } - }); - if(accountHeadMax !=null) { - accountHeadMaxId=accountHeadMax; - } } \ No newline at end of file diff --git a/erp_web/js/pages/financial/item_out.js b/erp_web/js/pages/financial/item_out.js index cb7fb5a8..cab3735c 100644 --- a/erp_web/js/pages/financial/item_out.js +++ b/erp_web/js/pages/financial/item_out.js @@ -151,9 +151,6 @@ function initTableData(){ * 修改效率低下的js */ var str = ''; - // var rowInfo = rec.id + 'AaBb' + rec.billno+ 'AaBb' + rec.billtime+ 'AaBb' + rec.remark - // + 'AaBb' + rec.accountid+ 'AaBb' + rec.accountname + 'AaBb' + rec.organid + 'AaBb' + rec.organname - // + 'AaBb' + rec.handspersonid + 'AaBb' + rec.handspersonname + 'AaBb' + rec.changeamount + 'AaBb' + rec.totalprice; var orgId = rec.organid ? rec.organid : 0; str += '   '; str += '   '; @@ -553,7 +550,7 @@ function addAccountHead(){ accountHeadID = 0; initTableData_account("add"); //明细列表 reject(); //撤销下、刷新材料列表 - url = '/accountHead/add'; + url = '/accountHead/addAccountHeadAndDetail'; } @@ -578,7 +575,7 @@ function editAccountHead(index){ initTableData_account("edit",TotalPrice); //明细列表 reject(); //撤销下、刷新列表 - url = '/accountHead/update?id=' + rowsdata.id; + url = '/accountHead/updateAccountHeadAndDetail?id=' + rowsdata.id; } //查看信息 @@ -657,53 +654,7 @@ function bindEvent(){ //支出和付款为负数 TotalPrice = 0 - TotalPrice; - //保存单位信息 - $.ajax({ - type: "post", - url: url, - dataType: "json", - async: false, - data: ({ - info : JSON.stringify({ - Type: listType, - BillNo: $.trim($("#BillNo").val()), - BillTime: $.trim($("#BillTime").val()), - AccountId: $.trim($("#AccountId").val()), - ChangeAmount: ChangeAmount, //付款/收款/优惠/实付 - TotalPrice: TotalPrice, //合计 - OrganId: OrganId, - HandsPersonId: $.trim($("#HandsPersonId").val()), - Remark: $.trim($("#Remark").val()) - }) - }), - success: function (tipInfo) { - if (tipInfo) { - //保存明细记录 - if (accountHeadID == 0) { - getMaxId(); //查找最大的Id - accept(accountHeadMaxId, listType); //新增 - } - else { - accept(accountHeadID, listType); //修改 - } - - $('#accountHeadDlg').dialog('close'); - var opts = $("#tableData").datagrid('options'); - showAccountHeadDetails(opts.pageNumber, opts.pageSize); - } - else { - $.messager.show({ - title: '错误提示', - msg: '保存信息失败,请稍后重试!' - }); - } - }, - //此处添加错误处理 - error: function () { - $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); - return; - } - }); + saveAccountHeadAndDetail(listType,ChangeAmount,TotalPrice,OrganId); } }); @@ -802,7 +753,10 @@ function endEditing() { if (editIndex == undefined) { return true } if ($('#accountData').datagrid('validateRow', editIndex)) { var ed = $('#accountData').datagrid('getEditor', {index: editIndex, field: edField}); - var textName = $(ed.target).combobox('getText'); + var textName =null; + if($(ed.target)){ + textName = $(ed.target).combobox('getText'); + } $('#accountData').datagrid('getRows')[editIndex][edName] = textName; $('#accountData').datagrid('endEdit', editIndex); editIndex = undefined; @@ -868,8 +822,7 @@ function CheckData() { } return true; } -//保存 -function accept(accepId,listType) { +function saveAccountHeadAndDetail(listType,ChangeAmount,TotalPrice,OrganId) { append(); removeit(); if ($("#accountData").datagrid('getChanges').length) { @@ -880,21 +833,43 @@ function accept(accepId,listType) { var updated = $("#accountData").datagrid('getChanges', "updated"); $.ajax({ type: "post", - url: "/accountItem/saveDetials", + url: url, + dataType: "json", data: { inserted: JSON.stringify(inserted), deleted: JSON.stringify(deleted), updated: JSON.stringify(updated), - headerId: accepId, + info : JSON.stringify({ + Type: listType, + BillNo: $.trim($("#BillNo").val()), + BillTime: $.trim($("#BillTime").val()), + AccountId: $.trim($("#AccountId").val()), + ChangeAmount: ChangeAmount, //付款/收款/优惠/实付 + TotalPrice: TotalPrice, //合计 + OrganId: OrganId, + HandsPersonId: $.trim($("#HandsPersonId").val()), + Remark: $.trim($("#Remark").val()) + }), listType: listType }, success: function (tipInfo) { if (tipInfo) { $.messager.alert('提示','保存成功!','info'); + $('#accountHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showAccountHeadDetails(opts.pageNumber, opts.pageSize); + if (endEditing()) { + $('#accountData').datagrid('acceptChanges'); + } + } + else{ + + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); } - else - $.messager.alert('提示','保存失败!','error'); }, error: function (XmlHttpRequest, textStatus, errorThrown) @@ -903,29 +878,5 @@ function accept(accepId,listType) { } }); } - if (endEditing()) { - $('#accountData').datagrid('acceptChanges'); - } -} -//获取MaxId -function getMaxId(){ - var accountHeadMax=null; - $.ajax({ - type:"get", - url: "/accountHead/getMaxId", - //设置为同步 - async:false, - dataType: "json", - success: function (res) { - if(res && res.code === 200) { - if(res.data) { - accountHeadMax = res.data.maxId; - } - } - } - }); - if(accountHeadMax !=null) { - accountHeadMaxId=accountHeadMax; - } } \ No newline at end of file diff --git a/erp_web/js/pages/financial/money_in.js b/erp_web/js/pages/financial/money_in.js index 97be8421..af72f085 100644 --- a/erp_web/js/pages/financial/money_in.js +++ b/erp_web/js/pages/financial/money_in.js @@ -150,9 +150,6 @@ function initTableData(){ * 修改效率低下的js */ var str = ''; - // var rowInfo = rec.id + 'AaBb' + rec.billno+ 'AaBb' + rec.billtime+ 'AaBb' + rec.remark - // + 'AaBb' + rec.accountid+ 'AaBb' + rec.accountname + 'AaBb' + rec.organid + 'AaBb' + rec.organname - // + 'AaBb' + rec.handspersonid + 'AaBb' + rec.handspersonname + 'AaBb' + rec.changeamount + 'AaBb' + rec.totalprice; var orgId = rec.organid ? rec.organid : 0; str += '   '; str += '   '; @@ -552,7 +549,7 @@ function addAccountHead(){ accountHeadID = 0; initTableData_account("add"); //明细列表 reject(); //撤销下、刷新材料列表 - url = '/accountHead/add'; + url = '/accountHead/addAccountHeadAndDetail'; } @@ -577,7 +574,7 @@ function editAccountHead(index){ initTableData_account("edit",TotalPrice); //明细列表 reject(); //撤销下、刷新列表 - url = '/accountHead/update?id=' + rowsdata.id; + url = '/accountHead/updateAccountHeadAndDetail?id=' + rowsdata.id; } //查看信息 @@ -647,53 +644,7 @@ function bindEvent(){ var ChangeAmount = $.trim($("#ChangeAmount").val()); var TotalPrice = $("#accountHeadFM .datagrid-footer [field='EachAmount'] div").text(); OrganId = $('#OrganId').combobox('getValue'); - //保存单位信息 - $.ajax({ - type: "post", - url: url, - dataType: "json", - async: false, - data: ({ - info : JSON.stringify({ - Type: listType, - BillNo: $.trim($("#BillNo").val()), - BillTime: $.trim($("#BillTime").val()), - AccountId: $.trim($("#AccountId").val()), - ChangeAmount: ChangeAmount, //付款/收款/优惠/实付 - TotalPrice: TotalPrice, //合计 - OrganId: OrganId, - HandsPersonId: $.trim($("#HandsPersonId").val()), - Remark: $.trim($("#Remark").val()) - }) - }), - success: function (tipInfo) { - if (tipInfo) { - //保存明细记录 - if (accountHeadID == 0) { - getMaxId(); //查找最大的Id - accept(accountHeadMaxId, listType); //新增 - } - else { - accept(accountHeadID, listType); //修改 - } - - $('#accountHeadDlg').dialog('close'); - var opts = $("#tableData").datagrid('options'); - showAccountHeadDetails(opts.pageNumber, opts.pageSize); - } - else { - $.messager.show({ - title: '错误提示', - msg: '保存信息失败,请稍后重试!' - }); - } - }, - //此处添加错误处理 - error: function () { - $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); - return; - } - }); + saveAccountHeadAndDetail(listType,ChangeAmount,TotalPrice,OrganId); } }); @@ -792,7 +743,10 @@ function endEditing() { if (editIndex == undefined) { return true } if ($('#accountData').datagrid('validateRow', editIndex)) { var ed = $('#accountData').datagrid('getEditor', {index: editIndex, field: edField}); - var textName = $(ed.target).combobox('getText'); + var textName =null; + if($(ed.target)){ + textName = $(ed.target).combobox('getText'); + } $('#accountData').datagrid('getRows')[editIndex][edName] = textName; $('#accountData').datagrid('endEdit', editIndex); editIndex = undefined; @@ -858,8 +812,7 @@ function CheckData() { } return true; } -//保存 -function accept(accepId,listType) { +function saveAccountHeadAndDetail(listType,ChangeAmount,TotalPrice,OrganId) { append(); removeit(); if ($("#accountData").datagrid('getChanges').length) { @@ -870,21 +823,43 @@ function accept(accepId,listType) { var updated = $("#accountData").datagrid('getChanges', "updated"); $.ajax({ type: "post", - url: "/accountItem/saveDetials", + url: url, + dataType: "json", data: { inserted: JSON.stringify(inserted), deleted: JSON.stringify(deleted), updated: JSON.stringify(updated), - headerId: accepId, + info : JSON.stringify({ + Type: listType, + BillNo: $.trim($("#BillNo").val()), + BillTime: $.trim($("#BillTime").val()), + AccountId: $.trim($("#AccountId").val()), + ChangeAmount: ChangeAmount, //付款/收款/优惠/实付 + TotalPrice: TotalPrice, //合计 + OrganId: OrganId, + HandsPersonId: $.trim($("#HandsPersonId").val()), + Remark: $.trim($("#Remark").val()) + }), listType: listType }, success: function (tipInfo) { if (tipInfo) { $.messager.alert('提示','保存成功!','info'); + $('#accountHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showAccountHeadDetails(opts.pageNumber, opts.pageSize); + if (endEditing()) { + $('#accountData').datagrid('acceptChanges'); + } + } + else{ + + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); } - else - $.messager.alert('提示','保存失败!','error'); }, error: function (XmlHttpRequest, textStatus, errorThrown) @@ -893,29 +868,5 @@ function accept(accepId,listType) { } }); } - if (endEditing()) { - $('#accountData').datagrid('acceptChanges'); - } -} -//获取MaxId -function getMaxId(){ - var accountHeadMax=null; - $.ajax({ - type:"get", - url: "/accountHead/getMaxId", - //设置为同步 - async:false, - dataType: "json", - success: function (res) { - if(res && res.code === 200) { - if(res.data) { - accountHeadMax = res.data.maxId; - } - } - } - }); - if(accountHeadMax !=null) { - accountHeadMaxId=accountHeadMax; - } } \ No newline at end of file diff --git a/erp_web/js/pages/financial/money_out.js b/erp_web/js/pages/financial/money_out.js index a036f108..c8941956 100644 --- a/erp_web/js/pages/financial/money_out.js +++ b/erp_web/js/pages/financial/money_out.js @@ -150,9 +150,6 @@ function initTableData(){ * 修改效率低下的js */ var str = ''; - // var rowInfo = rec.id + 'AaBb' + rec.billno+ 'AaBb' + rec.billtime+ 'AaBb' + rec.remark - // + 'AaBb' + rec.accountid+ 'AaBb' + rec.accountname + 'AaBb' + rec.organid + 'AaBb' + rec.organname - // + 'AaBb' + rec.handspersonid + 'AaBb' + rec.handspersonname + 'AaBb' + rec.changeamount + 'AaBb' + rec.totalprice; var orgId = rec.organid ? rec.organid : 0; str += '   '; str += '   '; @@ -552,7 +549,7 @@ function addAccountHead(){ accountHeadID = 0; initTableData_account("add"); //明细列表 reject(); //撤销下、刷新材料列表 - url = '/accountHead/add'; + url = '/accountHead/addAccountHeadAndDetail'; //收预付款单据支持刷卡功能 if(listType == "收预付款") { @@ -588,7 +585,7 @@ function editAccountHead(index){ initTableData_account("edit",TotalPrice); //明细列表 reject(); //撤销下、刷新列表 - url = '/accountHead/update?id=' + rowsdata.id; + url = '/accountHead/updateAccountHeadAndDetail?id=' + rowsdata.id; } //查看信息 @@ -669,53 +666,7 @@ function bindEvent(){ TotalPrice = 0 - TotalPrice; } - //保存单位信息 - $.ajax({ - type: "post", - url: url, - dataType: "json", - async: false, - data: ({ - info : JSON.stringify({ - Type: listType, - BillNo: $.trim($("#BillNo").val()), - BillTime: $.trim($("#BillTime").val()), - AccountId: $.trim($("#AccountId").val()), - ChangeAmount: ChangeAmount, //付款/收款/优惠/实付 - TotalPrice: TotalPrice, //合计 - OrganId: OrganId, - HandsPersonId: $.trim($("#HandsPersonId").val()), - Remark: $.trim($("#Remark").val()) - }) - }), - success: function (tipInfo) { - if (tipInfo) { - //保存明细记录 - if (accountHeadID == 0) { - getMaxId(); //查找最大的Id - accept(accountHeadMaxId, listType); //新增 - } - else { - accept(accountHeadID, listType); //修改 - } - - $('#accountHeadDlg').dialog('close'); - var opts = $("#tableData").datagrid('options'); - showAccountHeadDetails(opts.pageNumber, opts.pageSize); - } - else { - $.messager.show({ - title: '错误提示', - msg: '保存信息失败,请稍后重试!' - }); - } - }, - //此处添加错误处理 - error: function () { - $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); - return; - } - }); + saveAccountHeadAndDetail(listType,ChangeAmount,TotalPrice,OrganId); } }); @@ -814,7 +765,10 @@ function endEditing() { if (editIndex == undefined) { return true } if ($('#accountData').datagrid('validateRow', editIndex)) { var ed = $('#accountData').datagrid('getEditor', {index: editIndex, field: edField}); - var textName = $(ed.target).combobox('getText'); + var textName =null; + if($(ed.target)){ + textName = $(ed.target).combobox('getText'); + } $('#accountData').datagrid('getRows')[editIndex][edName] = textName; $('#accountData').datagrid('endEdit', editIndex); editIndex = undefined; @@ -880,8 +834,7 @@ function CheckData() { } return true; } -//保存 -function accept(accepId,listType) { +function saveAccountHeadAndDetail(listType,ChangeAmount,TotalPrice,OrganId) { append(); removeit(); if ($("#accountData").datagrid('getChanges').length) { @@ -892,21 +845,43 @@ function accept(accepId,listType) { var updated = $("#accountData").datagrid('getChanges', "updated"); $.ajax({ type: "post", - url: "/accountItem/saveDetials", + url: url, + dataType: "json", data: { inserted: JSON.stringify(inserted), deleted: JSON.stringify(deleted), updated: JSON.stringify(updated), - headerId: accepId, + info : JSON.stringify({ + Type: listType, + BillNo: $.trim($("#BillNo").val()), + BillTime: $.trim($("#BillTime").val()), + AccountId: $.trim($("#AccountId").val()), + ChangeAmount: ChangeAmount, //付款/收款/优惠/实付 + TotalPrice: TotalPrice, //合计 + OrganId: OrganId, + HandsPersonId: $.trim($("#HandsPersonId").val()), + Remark: $.trim($("#Remark").val()) + }), listType: listType }, success: function (tipInfo) { if (tipInfo) { $.messager.alert('提示','保存成功!','info'); + $('#accountHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showAccountHeadDetails(opts.pageNumber, opts.pageSize); + if (endEditing()) { + $('#accountData').datagrid('acceptChanges'); + } + } + else{ + + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); } - else - $.messager.alert('提示','保存失败!','error'); }, error: function (XmlHttpRequest, textStatus, errorThrown) @@ -915,29 +890,5 @@ function accept(accepId,listType) { } }); } - if (endEditing()) { - $('#accountData').datagrid('acceptChanges'); - } -} -//获取MaxId -function getMaxId(){ - var accountHeadMax=null; - $.ajax({ - type:"get", - url: "/accountHead/getMaxId", - //设置为同步 - async:false, - dataType: "json", - success: function (res) { - if(res && res.code === 200) { - if(res.data) { - accountHeadMax = res.data.maxId; - } - } - } - }); - if(accountHeadMax !=null) { - accountHeadMaxId=accountHeadMax; - } } \ No newline at end of file diff --git a/src/main/java/com/jsh/erp/controller/AccountHeadController.java b/src/main/java/com/jsh/erp/controller/AccountHeadController.java index ae350955..55157e0f 100644 --- a/src/main/java/com/jsh/erp/controller/AccountHeadController.java +++ b/src/main/java/com/jsh/erp/controller/AccountHeadController.java @@ -5,6 +5,7 @@ import com.jsh.erp.constants.BusinessConstants; import com.jsh.erp.constants.ExceptionConstants; import com.jsh.erp.datasource.entities.AccountHead; import com.jsh.erp.datasource.entities.AccountHeadVo4ListEx; +import com.jsh.erp.exception.BusinessParamCheckingException; import com.jsh.erp.exception.BusinessRunTimeException; import com.jsh.erp.service.accountHead.AccountHeadService; import com.jsh.erp.utils.BaseResponseInfo; @@ -182,5 +183,38 @@ public class AccountHeadController { } return result; } + /** + * create by: qiankunpingtai + * website:https://qiankunpingtai.cn + * description: + * 新增财务信息和财务明细信息 + * create time: 2019/5/21 15:50 + * @Param: beanJson +  * @Param: inserted +  * @Param: deleted +  * @Param: updated +  * @Param: request + * @return java.lang.Object + */ + @RequestMapping(value = "/addAccountHeadAndDetail") + public Object addAccountHeadAndDetail(@RequestParam("info") String beanJson, + @RequestParam("inserted") String inserted, + @RequestParam("deleted") String deleted, + @RequestParam("updated") String updated, + @RequestParam("listType") String listType,HttpServletRequest request) throws Exception{ + JSONObject result = ExceptionConstants.standardSuccess(); + accountHeadService.addAccountHeadAndDetail(beanJson,inserted,deleted,updated,listType); + return result; + } + + @RequestMapping(value = "/updateAccountHeadAndDetail") + public Object updateAccountHeadAndDetail(@RequestParam("id") Long id,@RequestParam("info") String beanJson,@RequestParam("inserted") String inserted, + @RequestParam("deleted") String deleted, + @RequestParam("updated") String updated,@RequestParam("listType") String listType) throws Exception{ + + JSONObject result = ExceptionConstants.standardSuccess(); + accountHeadService.updateAccountHeadAndDetail(id,beanJson,inserted,deleted,updated,listType); + return result; + } } diff --git a/src/main/java/com/jsh/erp/datasource/mappers/AccountHeadMapperEx.java b/src/main/java/com/jsh/erp/datasource/mappers/AccountHeadMapperEx.java index 34494868..122d590c 100644 --- a/src/main/java/com/jsh/erp/datasource/mappers/AccountHeadMapperEx.java +++ b/src/main/java/com/jsh/erp/datasource/mappers/AccountHeadMapperEx.java @@ -43,4 +43,7 @@ public interface AccountHeadMapperEx { List getAccountHeadListByOrganIds(@Param("organIds") String[] organIds); List getAccountHeadListByHandsPersonIds(@Param("handsPersonIds") String[] handsPersonIds); + + int addAccountHead(AccountHead accountHead); + int updateAccountHead(AccountHead accountHead); } \ No newline at end of file diff --git a/src/main/java/com/jsh/erp/service/accountHead/AccountHeadService.java b/src/main/java/com/jsh/erp/service/accountHead/AccountHeadService.java index 45cd02a7..a485b6dc 100644 --- a/src/main/java/com/jsh/erp/service/accountHead/AccountHeadService.java +++ b/src/main/java/com/jsh/erp/service/accountHead/AccountHeadService.java @@ -9,6 +9,7 @@ import com.jsh.erp.datasource.mappers.AccountHeadMapper; import com.jsh.erp.datasource.mappers.AccountHeadMapperEx; import com.jsh.erp.datasource.mappers.AccountItemMapperEx; import com.jsh.erp.exception.BusinessRunTimeException; +import com.jsh.erp.service.accountItem.AccountItemService; import com.jsh.erp.service.log.LogService; import com.jsh.erp.service.user.UserService; import com.jsh.erp.utils.StringUtil; @@ -22,6 +23,7 @@ import org.springframework.web.context.request.ServletRequestAttributes; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.math.BigDecimal; +import java.sql.Timestamp; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -41,6 +43,8 @@ public class AccountHeadService { private LogService logService; @Resource private AccountItemMapperEx accountItemMapperEx; + @Resource + private AccountItemService accountItemService; public AccountHead getAccountHead(long id) throws Exception { AccountHead result=null; @@ -303,4 +307,49 @@ public class AccountHeadService { deleteTotal= batchDeleteAccountHeadByIds(ids); return deleteTotal; } + @Transactional(value = "transactionManager", rollbackFor = Exception.class) + public void addAccountHeadAndDetail(String beanJson, String inserted, String deleted, String updated, String listType) throws Exception { + /**处理财务信息*/ + AccountHead accountHead = JSONObject.parseObject(beanJson, AccountHead.class); + try{ + accountHeadMapperEx.addAccountHead(accountHead); + }catch(Exception e){ + logger.error("异常码[{}],异常提示[{}],异常[{}]", + ExceptionConstants.DATA_WRITE_FAIL_CODE,ExceptionConstants.DATA_WRITE_FAIL_MSG,e); + throw new BusinessRunTimeException(ExceptionConstants.DATA_WRITE_FAIL_CODE, + ExceptionConstants.DATA_WRITE_FAIL_MSG); + } + /** + * create by: qiankunpingtai + * create time: 2019/5/22 10:30 + * website:https://qiankunpingtai.cn + * description: + * 处理财务明细信息 + * + */ + accountItemService.saveDetials(inserted, deleted, updated, accountHead.getId(), listType); + + } + @Transactional(value = "transactionManager", rollbackFor = Exception.class) + public void updateAccountHeadAndDetail(Long id, String beanJson, String inserted, String deleted, String updated, String listType)throws Exception { + /**更新财务信息*/ + AccountHead accountHead = JSONObject.parseObject(beanJson, AccountHead.class); + accountHead.setId(id); + try{ + accountHeadMapperEx.updateAccountHead(accountHead); + }catch(Exception e){ + logger.error("异常码[{}],异常提示[{}],异常[{}]", + ExceptionConstants.DATA_WRITE_FAIL_CODE,ExceptionConstants.DATA_WRITE_FAIL_MSG,e); + throw new BusinessRunTimeException(ExceptionConstants.DATA_WRITE_FAIL_CODE, + ExceptionConstants.DATA_WRITE_FAIL_MSG); + } + /** + * create by: qiankunpingtai + * create time: 2019/5/22 10:30 + * website:https://qiankunpingtai.cn + * description: + * 更新财务明细信息 + */ + accountItemService.saveDetials(inserted, deleted, updated, accountHead.getId(), listType); + } } diff --git a/src/main/resources/mapper_xml/AccountHeadMapperEx.xml b/src/main/resources/mapper_xml/AccountHeadMapperEx.xml index 13ab5395..286a525f 100644 --- a/src/main/resources/mapper_xml/AccountHeadMapperEx.xml +++ b/src/main/resources/mapper_xml/AccountHeadMapperEx.xml @@ -126,4 +126,56 @@ ) and ifnull(delete_Flag,'0') !='1' + + insert into jsh_accounthead (Id, Type, OrganId, + HandsPersonId, ChangeAmount, TotalPrice, + AccountId, BillNo, BillTime, + Remark, tenant_id, delete_Flag + ) + values (#{id,jdbcType=BIGINT}, #{type,jdbcType=VARCHAR}, #{organid,jdbcType=BIGINT}, + #{handspersonid,jdbcType=BIGINT}, #{changeamount,jdbcType=DECIMAL}, #{totalprice,jdbcType=DECIMAL}, + #{accountid,jdbcType=BIGINT}, #{billno,jdbcType=VARCHAR}, #{billtime,jdbcType=TIMESTAMP}, + #{remark,jdbcType=VARCHAR}, #{tenantId,jdbcType=BIGINT}, #{deleteFlag,jdbcType=VARCHAR} + ) + + + update jsh_accounthead + + + Type = #{type,jdbcType=VARCHAR}, + + + OrganId = #{organid,jdbcType=BIGINT}, + + + HandsPersonId = #{handspersonid,jdbcType=BIGINT}, + + + ChangeAmount = #{changeamount,jdbcType=DECIMAL}, + + + TotalPrice = #{totalprice,jdbcType=DECIMAL}, + + + AccountId = #{accountid,jdbcType=BIGINT}, + + + BillNo = #{billno,jdbcType=VARCHAR}, + + + BillTime = #{billtime,jdbcType=TIMESTAMP}, + + + Remark = #{remark,jdbcType=VARCHAR}, + + + tenant_id = #{tenantId,jdbcType=BIGINT}, + + + delete_Flag = #{deleteFlag,jdbcType=VARCHAR}, + + + where Id = #{id,jdbcType=BIGINT} + \ No newline at end of file From 3a78eb511a3bbe54a72d9f082292e43ff3168078 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Wed, 22 May 2019 16:40:05 +0800 Subject: [PATCH 083/117] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=B4=A2=E5=8A=A1?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E9=83=A8=E5=88=86=E8=B4=A2=E5=8A=A1=E6=98=8E?= =?UTF-8?q?=E7=BB=86=E6=9C=AA=E5=81=9A=E6=93=8D=E4=BD=9C=E6=97=B6=E4=B9=9F?= =?UTF-8?q?=E5=8F=AF=E4=BB=A5=E4=BF=9D=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- erp_web/js/pages/financial/advance_in.js | 100 +++++++++--------- erp_web/js/pages/financial/giro.js | 100 +++++++++--------- erp_web/js/pages/financial/item_in.js | 100 +++++++++--------- erp_web/js/pages/financial/item_out.js | 100 +++++++++--------- erp_web/js/pages/financial/money_in.js | 100 +++++++++--------- erp_web/js/pages/financial/money_out.js | 100 +++++++++--------- .../erp/service/supplier/SupplierService.java | 2 +- 7 files changed, 295 insertions(+), 307 deletions(-) diff --git a/erp_web/js/pages/financial/advance_in.js b/erp_web/js/pages/financial/advance_in.js index 9ddb2363..8dd24496 100644 --- a/erp_web/js/pages/financial/advance_in.js +++ b/erp_web/js/pages/financial/advance_in.js @@ -896,59 +896,57 @@ function CheckData() { function saveAccountHeadAndDetail(listType,ChangeAmount,TotalPrice,OrganId) { append(); removeit(); - if ($("#accountData").datagrid('getChanges').length) { - if (!CheckData()) - return false; - var inserted = $("#accountData").datagrid('getChanges', "inserted"); - var deleted = $("#accountData").datagrid('getChanges', "deleted"); - var updated = $("#accountData").datagrid('getChanges', "updated"); - $.ajax({ - type: "post", - url: url, - dataType: "json", - data: { - inserted: JSON.stringify(inserted), - deleted: JSON.stringify(deleted), - updated: JSON.stringify(updated), - info : JSON.stringify({ - Type: listType, - BillNo: $.trim($("#BillNo").val()), - BillTime: $.trim($("#BillTime").val()), - AccountId: $.trim($("#AccountId").val()), - ChangeAmount: ChangeAmount, //付款/收款/优惠/实付 - TotalPrice: TotalPrice, //合计 - OrganId: OrganId, - HandsPersonId: $.trim($("#HandsPersonId").val()), - Remark: $.trim($("#Remark").val()) - }), - listType: listType - }, - success: function (tipInfo) - { - if (tipInfo) { - $.messager.alert('提示','保存成功!','info'); - $('#accountHeadDlg').dialog('close'); - var opts = $("#tableData").datagrid('options'); - showAccountHeadDetails(opts.pageNumber, opts.pageSize); - if (endEditing()) { - $('#accountData').datagrid('acceptChanges'); - } + if (!CheckData()) + return false; + var inserted = $("#accountData").datagrid('getChanges', "inserted"); + var deleted = $("#accountData").datagrid('getChanges', "deleted"); + var updated = $("#accountData").datagrid('getChanges', "updated"); + $.ajax({ + type: "post", + url: url, + dataType: "json", + data: { + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated), + info : JSON.stringify({ + Type: listType, + BillNo: $.trim($("#BillNo").val()), + BillTime: $.trim($("#BillTime").val()), + AccountId: $.trim($("#AccountId").val()), + ChangeAmount: ChangeAmount, //付款/收款/优惠/实付 + TotalPrice: TotalPrice, //合计 + OrganId: OrganId, + HandsPersonId: $.trim($("#HandsPersonId").val()), + Remark: $.trim($("#Remark").val()) + }), + listType: listType + }, + success: function (tipInfo) + { + if (tipInfo) { + $.messager.alert('提示','保存成功!','info'); + $('#accountHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showAccountHeadDetails(opts.pageNumber, opts.pageSize); + if (endEditing()) { + $('#accountData').datagrid('acceptChanges'); } - else{ - - $.messager.show({ - title: '错误提示', - msg: '保存信息失败,请稍后重试!' - }); - } - - }, - error: function (XmlHttpRequest, textStatus, errorThrown) - { - $.messager.alert('提示',XmlHttpRequest.responseText,'error'); } - }); - } + else{ + + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + + }, + error: function (XmlHttpRequest, textStatus, errorThrown) + { + $.messager.alert('提示',XmlHttpRequest.responseText,'error'); + } + }); } diff --git a/erp_web/js/pages/financial/giro.js b/erp_web/js/pages/financial/giro.js index fe05d6bf..c4db3a2d 100644 --- a/erp_web/js/pages/financial/giro.js +++ b/erp_web/js/pages/financial/giro.js @@ -803,58 +803,56 @@ function CheckData() { function saveAccountHeadAndDetail(listType,ChangeAmount,TotalPrice,OrganId) { append(); removeit(); - if ($("#accountData").datagrid('getChanges').length) { - if (!CheckData()) - return false; - var inserted = $("#accountData").datagrid('getChanges', "inserted"); - var deleted = $("#accountData").datagrid('getChanges', "deleted"); - var updated = $("#accountData").datagrid('getChanges', "updated"); - $.ajax({ - type: "post", - url: url, - dataType: "json", - data: { - inserted: JSON.stringify(inserted), - deleted: JSON.stringify(deleted), - updated: JSON.stringify(updated), - info : JSON.stringify({ - Type: listType, - BillNo: $.trim($("#BillNo").val()), - BillTime: $.trim($("#BillTime").val()), - AccountId: $.trim($("#AccountId").val()), - ChangeAmount: ChangeAmount, //付款/收款/优惠/实付 - TotalPrice: TotalPrice, //合计 - OrganId: OrganId, - HandsPersonId: $.trim($("#HandsPersonId").val()), - Remark: $.trim($("#Remark").val()) - }), - listType: listType - }, - success: function (tipInfo) - { - if (tipInfo) { - $.messager.alert('提示','保存成功!','info'); - $('#accountHeadDlg').dialog('close'); - var opts = $("#tableData").datagrid('options'); - showAccountHeadDetails(opts.pageNumber, opts.pageSize); - if (endEditing()) { - $('#accountData').datagrid('acceptChanges'); - } + if (!CheckData()) + return false; + var inserted = $("#accountData").datagrid('getChanges', "inserted"); + var deleted = $("#accountData").datagrid('getChanges', "deleted"); + var updated = $("#accountData").datagrid('getChanges', "updated"); + $.ajax({ + type: "post", + url: url, + dataType: "json", + data: { + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated), + info : JSON.stringify({ + Type: listType, + BillNo: $.trim($("#BillNo").val()), + BillTime: $.trim($("#BillTime").val()), + AccountId: $.trim($("#AccountId").val()), + ChangeAmount: ChangeAmount, //付款/收款/优惠/实付 + TotalPrice: TotalPrice, //合计 + OrganId: OrganId, + HandsPersonId: $.trim($("#HandsPersonId").val()), + Remark: $.trim($("#Remark").val()) + }), + listType: listType + }, + success: function (tipInfo) + { + if (tipInfo) { + $.messager.alert('提示','保存成功!','info'); + $('#accountHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showAccountHeadDetails(opts.pageNumber, opts.pageSize); + if (endEditing()) { + $('#accountData').datagrid('acceptChanges'); } - else{ - - $.messager.show({ - title: '错误提示', - msg: '保存信息失败,请稍后重试!' - }); - } - - }, - error: function (XmlHttpRequest, textStatus, errorThrown) - { - $.messager.alert('提示',XmlHttpRequest.responseText,'error'); } - }); - } + else{ + + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + + }, + error: function (XmlHttpRequest, textStatus, errorThrown) + { + $.messager.alert('提示',XmlHttpRequest.responseText,'error'); + } + }); } \ No newline at end of file diff --git a/erp_web/js/pages/financial/item_in.js b/erp_web/js/pages/financial/item_in.js index 52b19d71..e68bcafb 100644 --- a/erp_web/js/pages/financial/item_in.js +++ b/erp_web/js/pages/financial/item_in.js @@ -819,58 +819,56 @@ function CheckData() { function saveAccountHeadAndDetail(listType,ChangeAmount,TotalPrice,OrganId) { append(); removeit(); - if ($("#accountData").datagrid('getChanges').length) { - if (!CheckData()) - return false; - var inserted = $("#accountData").datagrid('getChanges', "inserted"); - var deleted = $("#accountData").datagrid('getChanges', "deleted"); - var updated = $("#accountData").datagrid('getChanges', "updated"); - $.ajax({ - type: "post", - url: url, - dataType: "json", - data: { - inserted: JSON.stringify(inserted), - deleted: JSON.stringify(deleted), - updated: JSON.stringify(updated), - info : JSON.stringify({ - Type: listType, - BillNo: $.trim($("#BillNo").val()), - BillTime: $.trim($("#BillTime").val()), - AccountId: $.trim($("#AccountId").val()), - ChangeAmount: ChangeAmount, //付款/收款/优惠/实付 - TotalPrice: TotalPrice, //合计 - OrganId: OrganId, - HandsPersonId: $.trim($("#HandsPersonId").val()), - Remark: $.trim($("#Remark").val()) - }), - listType: listType - }, - success: function (tipInfo) - { - if (tipInfo) { - $.messager.alert('提示','保存成功!','info'); - $('#accountHeadDlg').dialog('close'); - var opts = $("#tableData").datagrid('options'); - showAccountHeadDetails(opts.pageNumber, opts.pageSize); - if (endEditing()) { - $('#accountData').datagrid('acceptChanges'); - } + if (!CheckData()) + return false; + var inserted = $("#accountData").datagrid('getChanges', "inserted"); + var deleted = $("#accountData").datagrid('getChanges', "deleted"); + var updated = $("#accountData").datagrid('getChanges', "updated"); + $.ajax({ + type: "post", + url: url, + dataType: "json", + data: { + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated), + info : JSON.stringify({ + Type: listType, + BillNo: $.trim($("#BillNo").val()), + BillTime: $.trim($("#BillTime").val()), + AccountId: $.trim($("#AccountId").val()), + ChangeAmount: ChangeAmount, //付款/收款/优惠/实付 + TotalPrice: TotalPrice, //合计 + OrganId: OrganId, + HandsPersonId: $.trim($("#HandsPersonId").val()), + Remark: $.trim($("#Remark").val()) + }), + listType: listType + }, + success: function (tipInfo) + { + if (tipInfo) { + $.messager.alert('提示','保存成功!','info'); + $('#accountHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showAccountHeadDetails(opts.pageNumber, opts.pageSize); + if (endEditing()) { + $('#accountData').datagrid('acceptChanges'); } - else{ - - $.messager.show({ - title: '错误提示', - msg: '保存信息失败,请稍后重试!' - }); - } - - }, - error: function (XmlHttpRequest, textStatus, errorThrown) - { - $.messager.alert('提示',XmlHttpRequest.responseText,'error'); } - }); - } + else{ + + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + + }, + error: function (XmlHttpRequest, textStatus, errorThrown) + { + $.messager.alert('提示',XmlHttpRequest.responseText,'error'); + } + }); } \ No newline at end of file diff --git a/erp_web/js/pages/financial/item_out.js b/erp_web/js/pages/financial/item_out.js index cab3735c..57028e4c 100644 --- a/erp_web/js/pages/financial/item_out.js +++ b/erp_web/js/pages/financial/item_out.js @@ -825,58 +825,56 @@ function CheckData() { function saveAccountHeadAndDetail(listType,ChangeAmount,TotalPrice,OrganId) { append(); removeit(); - if ($("#accountData").datagrid('getChanges').length) { - if (!CheckData()) - return false; - var inserted = $("#accountData").datagrid('getChanges', "inserted"); - var deleted = $("#accountData").datagrid('getChanges', "deleted"); - var updated = $("#accountData").datagrid('getChanges', "updated"); - $.ajax({ - type: "post", - url: url, - dataType: "json", - data: { - inserted: JSON.stringify(inserted), - deleted: JSON.stringify(deleted), - updated: JSON.stringify(updated), - info : JSON.stringify({ - Type: listType, - BillNo: $.trim($("#BillNo").val()), - BillTime: $.trim($("#BillTime").val()), - AccountId: $.trim($("#AccountId").val()), - ChangeAmount: ChangeAmount, //付款/收款/优惠/实付 - TotalPrice: TotalPrice, //合计 - OrganId: OrganId, - HandsPersonId: $.trim($("#HandsPersonId").val()), - Remark: $.trim($("#Remark").val()) - }), - listType: listType - }, - success: function (tipInfo) - { - if (tipInfo) { - $.messager.alert('提示','保存成功!','info'); - $('#accountHeadDlg').dialog('close'); - var opts = $("#tableData").datagrid('options'); - showAccountHeadDetails(opts.pageNumber, opts.pageSize); - if (endEditing()) { - $('#accountData').datagrid('acceptChanges'); - } + if (!CheckData()) + return false; + var inserted = $("#accountData").datagrid('getChanges', "inserted"); + var deleted = $("#accountData").datagrid('getChanges', "deleted"); + var updated = $("#accountData").datagrid('getChanges', "updated"); + $.ajax({ + type: "post", + url: url, + dataType: "json", + data: { + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated), + info : JSON.stringify({ + Type: listType, + BillNo: $.trim($("#BillNo").val()), + BillTime: $.trim($("#BillTime").val()), + AccountId: $.trim($("#AccountId").val()), + ChangeAmount: ChangeAmount, //付款/收款/优惠/实付 + TotalPrice: TotalPrice, //合计 + OrganId: OrganId, + HandsPersonId: $.trim($("#HandsPersonId").val()), + Remark: $.trim($("#Remark").val()) + }), + listType: listType + }, + success: function (tipInfo) + { + if (tipInfo) { + $.messager.alert('提示','保存成功!','info'); + $('#accountHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showAccountHeadDetails(opts.pageNumber, opts.pageSize); + if (endEditing()) { + $('#accountData').datagrid('acceptChanges'); } - else{ - - $.messager.show({ - title: '错误提示', - msg: '保存信息失败,请稍后重试!' - }); - } - - }, - error: function (XmlHttpRequest, textStatus, errorThrown) - { - $.messager.alert('提示',XmlHttpRequest.responseText,'error'); } - }); - } + else{ + + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + + }, + error: function (XmlHttpRequest, textStatus, errorThrown) + { + $.messager.alert('提示',XmlHttpRequest.responseText,'error'); + } + }); } \ No newline at end of file diff --git a/erp_web/js/pages/financial/money_in.js b/erp_web/js/pages/financial/money_in.js index af72f085..47f2c483 100644 --- a/erp_web/js/pages/financial/money_in.js +++ b/erp_web/js/pages/financial/money_in.js @@ -815,58 +815,56 @@ function CheckData() { function saveAccountHeadAndDetail(listType,ChangeAmount,TotalPrice,OrganId) { append(); removeit(); - if ($("#accountData").datagrid('getChanges').length) { - if (!CheckData()) - return false; - var inserted = $("#accountData").datagrid('getChanges', "inserted"); - var deleted = $("#accountData").datagrid('getChanges', "deleted"); - var updated = $("#accountData").datagrid('getChanges', "updated"); - $.ajax({ - type: "post", - url: url, - dataType: "json", - data: { - inserted: JSON.stringify(inserted), - deleted: JSON.stringify(deleted), - updated: JSON.stringify(updated), - info : JSON.stringify({ - Type: listType, - BillNo: $.trim($("#BillNo").val()), - BillTime: $.trim($("#BillTime").val()), - AccountId: $.trim($("#AccountId").val()), - ChangeAmount: ChangeAmount, //付款/收款/优惠/实付 - TotalPrice: TotalPrice, //合计 - OrganId: OrganId, - HandsPersonId: $.trim($("#HandsPersonId").val()), - Remark: $.trim($("#Remark").val()) - }), - listType: listType - }, - success: function (tipInfo) - { - if (tipInfo) { - $.messager.alert('提示','保存成功!','info'); - $('#accountHeadDlg').dialog('close'); - var opts = $("#tableData").datagrid('options'); - showAccountHeadDetails(opts.pageNumber, opts.pageSize); - if (endEditing()) { - $('#accountData').datagrid('acceptChanges'); - } + if (!CheckData()) + return false; + var inserted = $("#accountData").datagrid('getChanges', "inserted"); + var deleted = $("#accountData").datagrid('getChanges', "deleted"); + var updated = $("#accountData").datagrid('getChanges', "updated"); + $.ajax({ + type: "post", + url: url, + dataType: "json", + data: { + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated), + info : JSON.stringify({ + Type: listType, + BillNo: $.trim($("#BillNo").val()), + BillTime: $.trim($("#BillTime").val()), + AccountId: $.trim($("#AccountId").val()), + ChangeAmount: ChangeAmount, //付款/收款/优惠/实付 + TotalPrice: TotalPrice, //合计 + OrganId: OrganId, + HandsPersonId: $.trim($("#HandsPersonId").val()), + Remark: $.trim($("#Remark").val()) + }), + listType: listType + }, + success: function (tipInfo) + { + if (tipInfo) { + $.messager.alert('提示','保存成功!','info'); + $('#accountHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showAccountHeadDetails(opts.pageNumber, opts.pageSize); + if (endEditing()) { + $('#accountData').datagrid('acceptChanges'); } - else{ - - $.messager.show({ - title: '错误提示', - msg: '保存信息失败,请稍后重试!' - }); - } - - }, - error: function (XmlHttpRequest, textStatus, errorThrown) - { - $.messager.alert('提示',XmlHttpRequest.responseText,'error'); } - }); - } + else{ + + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + + }, + error: function (XmlHttpRequest, textStatus, errorThrown) + { + $.messager.alert('提示',XmlHttpRequest.responseText,'error'); + } + }); } \ No newline at end of file diff --git a/erp_web/js/pages/financial/money_out.js b/erp_web/js/pages/financial/money_out.js index c8941956..6b8eb843 100644 --- a/erp_web/js/pages/financial/money_out.js +++ b/erp_web/js/pages/financial/money_out.js @@ -837,58 +837,56 @@ function CheckData() { function saveAccountHeadAndDetail(listType,ChangeAmount,TotalPrice,OrganId) { append(); removeit(); - if ($("#accountData").datagrid('getChanges').length) { - if (!CheckData()) - return false; - var inserted = $("#accountData").datagrid('getChanges', "inserted"); - var deleted = $("#accountData").datagrid('getChanges', "deleted"); - var updated = $("#accountData").datagrid('getChanges', "updated"); - $.ajax({ - type: "post", - url: url, - dataType: "json", - data: { - inserted: JSON.stringify(inserted), - deleted: JSON.stringify(deleted), - updated: JSON.stringify(updated), - info : JSON.stringify({ - Type: listType, - BillNo: $.trim($("#BillNo").val()), - BillTime: $.trim($("#BillTime").val()), - AccountId: $.trim($("#AccountId").val()), - ChangeAmount: ChangeAmount, //付款/收款/优惠/实付 - TotalPrice: TotalPrice, //合计 - OrganId: OrganId, - HandsPersonId: $.trim($("#HandsPersonId").val()), - Remark: $.trim($("#Remark").val()) - }), - listType: listType - }, - success: function (tipInfo) - { - if (tipInfo) { - $.messager.alert('提示','保存成功!','info'); - $('#accountHeadDlg').dialog('close'); - var opts = $("#tableData").datagrid('options'); - showAccountHeadDetails(opts.pageNumber, opts.pageSize); - if (endEditing()) { - $('#accountData').datagrid('acceptChanges'); - } + if (!CheckData()) + return false; + var inserted = $("#accountData").datagrid('getChanges', "inserted"); + var deleted = $("#accountData").datagrid('getChanges', "deleted"); + var updated = $("#accountData").datagrid('getChanges', "updated"); + $.ajax({ + type: "post", + url: url, + dataType: "json", + data: { + inserted: JSON.stringify(inserted), + deleted: JSON.stringify(deleted), + updated: JSON.stringify(updated), + info : JSON.stringify({ + Type: listType, + BillNo: $.trim($("#BillNo").val()), + BillTime: $.trim($("#BillTime").val()), + AccountId: $.trim($("#AccountId").val()), + ChangeAmount: ChangeAmount, //付款/收款/优惠/实付 + TotalPrice: TotalPrice, //合计 + OrganId: OrganId, + HandsPersonId: $.trim($("#HandsPersonId").val()), + Remark: $.trim($("#Remark").val()) + }), + listType: listType + }, + success: function (tipInfo) + { + if (tipInfo) { + $.messager.alert('提示','保存成功!','info'); + $('#accountHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showAccountHeadDetails(opts.pageNumber, opts.pageSize); + if (endEditing()) { + $('#accountData').datagrid('acceptChanges'); } - else{ - - $.messager.show({ - title: '错误提示', - msg: '保存信息失败,请稍后重试!' - }); - } - - }, - error: function (XmlHttpRequest, textStatus, errorThrown) - { - $.messager.alert('提示',XmlHttpRequest.responseText,'error'); } - }); - } + else{ + + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + + }, + error: function (XmlHttpRequest, textStatus, errorThrown) + { + $.messager.alert('提示',XmlHttpRequest.responseText,'error'); + } + }); } \ No newline at end of file diff --git a/src/main/java/com/jsh/erp/service/supplier/SupplierService.java b/src/main/java/com/jsh/erp/service/supplier/SupplierService.java index ae2695d2..495cb9f8 100644 --- a/src/main/java/com/jsh/erp/service/supplier/SupplierService.java +++ b/src/main/java/com/jsh/erp/service/supplier/SupplierService.java @@ -202,7 +202,7 @@ public class SupplierService { int result=0; try{ if(supplier!=null){ - supplier.setAdvancein(supplier.getAdvancein().add(advanceIn)); //增加预收款的金额,可能增加的是负值 + supplier.setAdvancein((supplier.getAdvancein()==null?BigDecimal.ZERO:supplier.getAdvancein()).add(advanceIn)); //增加预收款的金额,可能增加的是负值 result=supplierMapper.updateByPrimaryKeySelective(supplier); } }catch(Exception e){ From 1353f7b09eb5fbbe13c509cb86f21abade8e9f97 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Wed, 22 May 2019 16:43:00 +0800 Subject: [PATCH 084/117] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E4=B8=AD=E4=BD=BF=E7=94=A8=E7=9A=84getMaxId=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../erp/controller/AccountHeadController.java | 21 ------------------- .../erp/controller/DepotHeadController.java | 21 ------------------- .../mappers/AccountHeadMapperEx.java | 1 - .../datasource/mappers/DepotHeadMapperEx.java | 1 - .../accountHead/AccountHeadService.java | 12 ----------- .../service/depotHead/DepotHeadService.java | 12 ----------- .../mapper_xml/AccountHeadMapperEx.xml | 3 --- .../mapper_xml/DepotHeadMapperEx.xml | 3 --- 8 files changed, 74 deletions(-) diff --git a/src/main/java/com/jsh/erp/controller/AccountHeadController.java b/src/main/java/com/jsh/erp/controller/AccountHeadController.java index 55157e0f..f49d79e3 100644 --- a/src/main/java/com/jsh/erp/controller/AccountHeadController.java +++ b/src/main/java/com/jsh/erp/controller/AccountHeadController.java @@ -35,27 +35,6 @@ public class AccountHeadController { @Resource private AccountHeadService accountHeadService; - /** - * 获取最大的id - * @param request - * @return - */ - @GetMapping(value = "/getMaxId") - public BaseResponseInfo getMaxId(HttpServletRequest request)throws Exception { - BaseResponseInfo res = new BaseResponseInfo(); - Map map = new HashMap(); - try { - Long maxId = accountHeadService.getMaxId(); - map.put("maxId", maxId); - res.code = 200; - res.data = map; - } catch(Exception e){ - e.printStackTrace(); - res.code = 500; - res.data = "获取数据失败"; - } - return res; - } /** * 查询单位的累计应收和累计应付,收预付款不计入此处 diff --git a/src/main/java/com/jsh/erp/controller/DepotHeadController.java b/src/main/java/com/jsh/erp/controller/DepotHeadController.java index c3559e76..34b234fb 100644 --- a/src/main/java/com/jsh/erp/controller/DepotHeadController.java +++ b/src/main/java/com/jsh/erp/controller/DepotHeadController.java @@ -87,27 +87,6 @@ public class DepotHeadController { return res; } - /** - * 获取最大的id - * @param request - * @return - */ - @GetMapping(value = "/getMaxId") - public BaseResponseInfo getMaxId(HttpServletRequest request)throws Exception { - BaseResponseInfo res = new BaseResponseInfo(); - Map map = new HashMap(); - try { - Long maxId = depotHeadService.getMaxId(); - map.put("maxId", maxId); - res.code = 200; - res.data = map; - } catch(Exception e){ - e.printStackTrace(); - res.code = 500; - res.data = "获取数据失败"; - } - return res; - } /** * 查找单据_根据月份(报表) diff --git a/src/main/java/com/jsh/erp/datasource/mappers/AccountHeadMapperEx.java b/src/main/java/com/jsh/erp/datasource/mappers/AccountHeadMapperEx.java index 122d590c..0b1248a4 100644 --- a/src/main/java/com/jsh/erp/datasource/mappers/AccountHeadMapperEx.java +++ b/src/main/java/com/jsh/erp/datasource/mappers/AccountHeadMapperEx.java @@ -25,7 +25,6 @@ public interface AccountHeadMapperEx { @Param("beginTime") String beginTime, @Param("endTime") String endTime); - Long getMaxId(); BigDecimal findAllMoney( @Param("supplierId") Integer supplierId, diff --git a/src/main/java/com/jsh/erp/datasource/mappers/DepotHeadMapperEx.java b/src/main/java/com/jsh/erp/datasource/mappers/DepotHeadMapperEx.java index 1ce76911..782f897c 100644 --- a/src/main/java/com/jsh/erp/datasource/mappers/DepotHeadMapperEx.java +++ b/src/main/java/com/jsh/erp/datasource/mappers/DepotHeadMapperEx.java @@ -36,7 +36,6 @@ public interface DepotHeadMapperEx { @Param("endTime") String endTime, @Param("dhIds") String dhIds); - Long getMaxId(); String findMaterialsListByHeaderId( @Param("id") Long id); diff --git a/src/main/java/com/jsh/erp/service/accountHead/AccountHeadService.java b/src/main/java/com/jsh/erp/service/accountHead/AccountHeadService.java index a485b6dc..3f35750c 100644 --- a/src/main/java/com/jsh/erp/service/accountHead/AccountHeadService.java +++ b/src/main/java/com/jsh/erp/service/accountHead/AccountHeadService.java @@ -188,18 +188,6 @@ public class AccountHeadService { return list==null?0:list.size(); } - public Long getMaxId()throws Exception { - Long result = null; - try{ - result = accountHeadMapperEx.getMaxId(); - }catch(Exception e){ - logger.error("异常码[{}],异常提示[{}],异常[{}]", - ExceptionConstants.DATA_READ_FAIL_CODE,ExceptionConstants.DATA_READ_FAIL_MSG,e); - throw new BusinessRunTimeException(ExceptionConstants.DATA_READ_FAIL_CODE, - ExceptionConstants.DATA_READ_FAIL_MSG); - } - return result; - } public BigDecimal findAllMoney(Integer supplierId, String type, String mode, String endTime) { String modeName = ""; diff --git a/src/main/java/com/jsh/erp/service/depotHead/DepotHeadService.java b/src/main/java/com/jsh/erp/service/depotHead/DepotHeadService.java index 9af976aa..0844c388 100644 --- a/src/main/java/com/jsh/erp/service/depotHead/DepotHeadService.java +++ b/src/main/java/com/jsh/erp/service/depotHead/DepotHeadService.java @@ -287,18 +287,6 @@ public class DepotHeadService { } } - public Long getMaxId()throws Exception { - Long result = null; - try{ - result = depotHeadMapperEx.getMaxId(); - }catch(Exception e){ - logger.error("异常码[{}],异常提示[{}],异常[{}]", - ExceptionConstants.DATA_READ_FAIL_CODE,ExceptionConstants.DATA_READ_FAIL_MSG,e); - throw new BusinessRunTimeException(ExceptionConstants.DATA_READ_FAIL_CODE, - ExceptionConstants.DATA_READ_FAIL_MSG); - } - return result; - } public String findMaterialsListByHeaderId(Long id)throws Exception { String result = null; diff --git a/src/main/resources/mapper_xml/AccountHeadMapperEx.xml b/src/main/resources/mapper_xml/AccountHeadMapperEx.xml index 286a525f..4e32db67 100644 --- a/src/main/resources/mapper_xml/AccountHeadMapperEx.xml +++ b/src/main/resources/mapper_xml/AccountHeadMapperEx.xml @@ -57,9 +57,6 @@ and ifnull(delete_Flag,'0') !='1' - - From 71c7f20360aaacd35320bd08276922fbdac05750 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Mon, 10 Jun 2019 09:42:58 +0800 Subject: [PATCH 088/117] =?UTF-8?q?=E4=BB=8E=E6=BA=90=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../js/pages/materials/allocation_out_list.js | 61 ++++++------------ erp_web/js/pages/materials/assemble_list.js | 61 ++++++------------ .../js/pages/materials/disassemble_list.js | 62 ++++++------------- erp_web/js/pages/materials/other_in_list.js | 61 ++++++------------ erp_web/js/pages/materials/other_out_list.js | 61 ++++++------------ .../js/pages/materials/purchase_back_list.js | 61 ++++++------------ .../js/pages/materials/purchase_in_list.js | 62 ++++++------------- .../pages/materials/purchase_orders_list.js | 61 ++++++------------ .../js/pages/materials/retail_back_list.js | 62 ++++++------------- erp_web/js/pages/materials/retail_out_list.js | 62 ++++++------------- erp_web/js/pages/materials/sale_back_list.js | 61 ++++++------------ .../js/pages/materials/sale_orders_list.js | 61 ++++++------------ erp_web/js/pages/materials/sale_out_list.js | 61 ++++++------------ .../mapper_xml/DepotItemMapperEx.xml | 21 ------- 14 files changed, 247 insertions(+), 571 deletions(-) diff --git a/erp_web/js/pages/materials/allocation_out_list.js b/erp_web/js/pages/materials/allocation_out_list.js index 7b028507..799b2376 100644 --- a/erp_web/js/pages/materials/allocation_out_list.js +++ b/erp_web/js/pages/materials/allocation_out_list.js @@ -1940,56 +1940,33 @@ function bindEvent(){ function showDepotHeadDetails(pageNo,pageSize){ var materialParam = $.trim($("#searchMaterial").val()); $.ajax({ - type:"get", - url: "/depotItem/getHeaderIdByMaterial", + type: "get", + url: "/depotHead/list", dataType: "json", data: ({ - materialParam: materialParam, - depotIds: depotString + search: JSON.stringify({ + type: listType, + subType: listSubType, + state: $.trim($("#searchState").val()), + number: $.trim($("#searchNumber").val()), + beginTime: $("#searchBeginTime").val(), + endTime: $("#searchEndTime").val(), + materialParam: materialParam, + depotIds: depotString + }), + currentPage: pageNo, + pageSize: pageSize }), success: function (res) { - if(res && res.code === 200) { - var ids = res.data; - if(ids){ - $.ajax({ - type: "get", - url: "/depotHead/list", - dataType: "json", - data: ({ - search: JSON.stringify({ - type: listType, - subType: listSubType, - state: $.trim($("#searchState").val()), - number: $.trim($("#searchNumber").val()), - beginTime: $("#searchBeginTime").val(), - endTime: $("#searchEndTime").val(), - dhIds: ids - }), - currentPage: pageNo, - pageSize: pageSize - }), - success: function (res) { - if(res && res.code === 200){ - if(res.data && res.data.page) { - $("#tableData").datagrid('loadData', res.data.page); - } - } - }, - //此处添加错误处理 - error: function () { - $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); - return; - } - }); - } - else { - $("#tableData").datagrid('loadData', []); + if(res && res.code === 200){ + if(res.data && res.data.page) { + $("#tableData").datagrid('loadData', res.data.page); } } }, //此处添加错误处理 - error:function() { - $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + error: function () { + $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); return; } }); diff --git a/erp_web/js/pages/materials/assemble_list.js b/erp_web/js/pages/materials/assemble_list.js index 740d8162..647e7a8d 100644 --- a/erp_web/js/pages/materials/assemble_list.js +++ b/erp_web/js/pages/materials/assemble_list.js @@ -1938,56 +1938,33 @@ function bindEvent(){ function showDepotHeadDetails(pageNo,pageSize){ var materialParam = $.trim($("#searchMaterial").val()); $.ajax({ - type:"get", - url: "/depotItem/getHeaderIdByMaterial", + type: "get", + url: "/depotHead/list", dataType: "json", data: ({ - materialParam: materialParam, - depotIds: depotString + search: JSON.stringify({ + type: listType, + subType: listSubType, + state: $.trim($("#searchState").val()), + number: $.trim($("#searchNumber").val()), + beginTime: $("#searchBeginTime").val(), + endTime: $("#searchEndTime").val(), + materialParam: materialParam, + depotIds: depotString + }), + currentPage: pageNo, + pageSize: pageSize }), success: function (res) { - if(res && res.code === 200) { - var ids = res.data; - if(ids){ - $.ajax({ - type: "get", - url: "/depotHead/list", - dataType: "json", - data: ({ - search: JSON.stringify({ - type: listType, - subType: listSubType, - state: $.trim($("#searchState").val()), - number: $.trim($("#searchNumber").val()), - beginTime: $("#searchBeginTime").val(), - endTime: $("#searchEndTime").val(), - dhIds: ids - }), - currentPage: pageNo, - pageSize: pageSize - }), - success: function (res) { - if(res && res.code === 200){ - if(res.data && res.data.page) { - $("#tableData").datagrid('loadData', res.data.page); - } - } - }, - //此处添加错误处理 - error: function () { - $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); - return; - } - }); - } - else { - $("#tableData").datagrid('loadData', []); + if(res && res.code === 200){ + if(res.data && res.data.page) { + $("#tableData").datagrid('loadData', res.data.page); } } }, //此处添加错误处理 - error:function() { - $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + error: function () { + $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); return; } }); diff --git a/erp_web/js/pages/materials/disassemble_list.js b/erp_web/js/pages/materials/disassemble_list.js index c87b105d..7132076d 100644 --- a/erp_web/js/pages/materials/disassemble_list.js +++ b/erp_web/js/pages/materials/disassemble_list.js @@ -1942,61 +1942,37 @@ function bindEvent(){ function showDepotHeadDetails(pageNo,pageSize){ var materialParam = $.trim($("#searchMaterial").val()); $.ajax({ - type:"get", - url: "/depotItem/getHeaderIdByMaterial", + type: "get", + url: "/depotHead/list", dataType: "json", data: ({ - materialParam: materialParam, - depotIds: depotString + search: JSON.stringify({ + type: listType, + subType: listSubType, + state: $.trim($("#searchState").val()), + number: $.trim($("#searchNumber").val()), + beginTime: $("#searchBeginTime").val(), + endTime: $("#searchEndTime").val(), + materialParam: materialParam, + depotIds: depotString + }), + currentPage: pageNo, + pageSize: pageSize }), success: function (res) { - if(res && res.code === 200) { - var ids = res.data; - if(ids){ - $.ajax({ - type: "get", - url: "/depotHead/list", - dataType: "json", - data: ({ - search: JSON.stringify({ - type: listType, - subType: listSubType, - state: $.trim($("#searchState").val()), - number: $.trim($("#searchNumber").val()), - beginTime: $("#searchBeginTime").val(), - endTime: $("#searchEndTime").val(), - dhIds: ids - }), - currentPage: pageNo, - pageSize: pageSize - }), - success: function (res) { - if(res && res.code === 200){ - if(res.data && res.data.page) { - $("#tableData").datagrid('loadData', res.data.page); - } - } - }, - //此处添加错误处理 - error: function () { - $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); - return; - } - }); - } - else { - $("#tableData").datagrid('loadData', []); + if(res && res.code === 200){ + if(res.data && res.data.page) { + $("#tableData").datagrid('loadData', res.data.page); } } }, //此处添加错误处理 - error:function() { - $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + error: function () { + $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); return; } }); } - //自动计算事件 function autoReckon() { //延时绑定事件 diff --git a/erp_web/js/pages/materials/other_in_list.js b/erp_web/js/pages/materials/other_in_list.js index c58b9b5a..ed8eadac 100644 --- a/erp_web/js/pages/materials/other_in_list.js +++ b/erp_web/js/pages/materials/other_in_list.js @@ -2026,56 +2026,33 @@ function bindEvent(){ function showDepotHeadDetails(pageNo,pageSize){ var materialParam = $.trim($("#searchMaterial").val()); $.ajax({ - type:"get", - url: "/depotItem/getHeaderIdByMaterial", + type: "get", + url: "/depotHead/list", dataType: "json", data: ({ - materialParam: materialParam, - depotIds: depotString + search: JSON.stringify({ + type: listType, + subType: listSubType, + state: $.trim($("#searchState").val()), + number: $.trim($("#searchNumber").val()), + beginTime: $("#searchBeginTime").val(), + endTime: $("#searchEndTime").val(), + materialParam: materialParam, + depotIds: depotString + }), + currentPage: pageNo, + pageSize: pageSize }), success: function (res) { - if(res && res.code === 200) { - var ids = res.data; - if(ids){ - $.ajax({ - type: "get", - url: "/depotHead/list", - dataType: "json", - data: ({ - search: JSON.stringify({ - type: listType, - subType: listSubType, - state: $.trim($("#searchState").val()), - number: $.trim($("#searchNumber").val()), - beginTime: $("#searchBeginTime").val(), - endTime: $("#searchEndTime").val(), - dhIds: ids - }), - currentPage: pageNo, - pageSize: pageSize - }), - success: function (res) { - if(res && res.code === 200){ - if(res.data && res.data.page) { - $("#tableData").datagrid('loadData', res.data.page); - } - } - }, - //此处添加错误处理 - error: function () { - $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); - return; - } - }); - } - else { - $("#tableData").datagrid('loadData', []); + if(res && res.code === 200){ + if(res.data && res.data.page) { + $("#tableData").datagrid('loadData', res.data.page); } } }, //此处添加错误处理 - error:function() { - $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + error: function () { + $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); return; } }); diff --git a/erp_web/js/pages/materials/other_out_list.js b/erp_web/js/pages/materials/other_out_list.js index 13cdbd06..bab7afd2 100644 --- a/erp_web/js/pages/materials/other_out_list.js +++ b/erp_web/js/pages/materials/other_out_list.js @@ -1936,56 +1936,33 @@ function bindEvent(){ function showDepotHeadDetails(pageNo,pageSize){ var materialParam = $.trim($("#searchMaterial").val()); $.ajax({ - type:"get", - url: "/depotItem/getHeaderIdByMaterial", + type: "get", + url: "/depotHead/list", dataType: "json", data: ({ - materialParam: materialParam, - depotIds: depotString + search: JSON.stringify({ + type: listType, + subType: listSubType, + state: $.trim($("#searchState").val()), + number: $.trim($("#searchNumber").val()), + beginTime: $("#searchBeginTime").val(), + endTime: $("#searchEndTime").val(), + materialParam: materialParam, + depotIds: depotString + }), + currentPage: pageNo, + pageSize: pageSize }), success: function (res) { - if(res && res.code === 200) { - var ids = res.data; - if(ids){ - $.ajax({ - type: "get", - url: "/depotHead/list", - dataType: "json", - data: ({ - search: JSON.stringify({ - type: listType, - subType: listSubType, - state: $.trim($("#searchState").val()), - number: $.trim($("#searchNumber").val()), - beginTime: $("#searchBeginTime").val(), - endTime: $("#searchEndTime").val(), - dhIds: ids - }), - currentPage: pageNo, - pageSize: pageSize - }), - success: function (res) { - if(res && res.code === 200){ - if(res.data && res.data.page) { - $("#tableData").datagrid('loadData', res.data.page); - } - } - }, - //此处添加错误处理 - error: function () { - $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); - return; - } - }); - } - else { - $("#tableData").datagrid('loadData', []); + if(res && res.code === 200){ + if(res.data && res.data.page) { + $("#tableData").datagrid('loadData', res.data.page); } } }, //此处添加错误处理 - error:function() { - $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + error: function () { + $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); return; } }); diff --git a/erp_web/js/pages/materials/purchase_back_list.js b/erp_web/js/pages/materials/purchase_back_list.js index 11fc80bf..932f3474 100644 --- a/erp_web/js/pages/materials/purchase_back_list.js +++ b/erp_web/js/pages/materials/purchase_back_list.js @@ -1976,56 +1976,33 @@ function bindEvent(){ function showDepotHeadDetails(pageNo,pageSize){ var materialParam = $.trim($("#searchMaterial").val()); $.ajax({ - type:"get", - url: "/depotItem/getHeaderIdByMaterial", + type: "get", + url: "/depotHead/list", dataType: "json", data: ({ - materialParam: materialParam, - depotIds: depotString + search: JSON.stringify({ + type: listType, + subType: listSubType, + state: $.trim($("#searchState").val()), + number: $.trim($("#searchNumber").val()), + beginTime: $("#searchBeginTime").val(), + endTime: $("#searchEndTime").val(), + materialParam: materialParam, + depotIds: depotString + }), + currentPage: pageNo, + pageSize: pageSize }), success: function (res) { - if(res && res.code === 200) { - var ids = res.data; - if(ids){ - $.ajax({ - type: "get", - url: "/depotHead/list", - dataType: "json", - data: ({ - search: JSON.stringify({ - type: listType, - subType: listSubType, - state: $.trim($("#searchState").val()), - number: $.trim($("#searchNumber").val()), - beginTime: $("#searchBeginTime").val(), - endTime: $("#searchEndTime").val(), - dhIds: ids - }), - currentPage: pageNo, - pageSize: pageSize - }), - success: function (res) { - if(res && res.code === 200){ - if(res.data && res.data.page) { - $("#tableData").datagrid('loadData', res.data.page); - } - } - }, - //此处添加错误处理 - error: function () { - $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); - return; - } - }); - } - else { - $("#tableData").datagrid('loadData', []); + if(res && res.code === 200){ + if(res.data && res.data.page) { + $("#tableData").datagrid('loadData', res.data.page); } } }, //此处添加错误处理 - error:function() { - $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + error: function () { + $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); return; } }); diff --git a/erp_web/js/pages/materials/purchase_in_list.js b/erp_web/js/pages/materials/purchase_in_list.js index 3b52af48..4d604f3a 100644 --- a/erp_web/js/pages/materials/purchase_in_list.js +++ b/erp_web/js/pages/materials/purchase_in_list.js @@ -2052,61 +2052,37 @@ function bindEvent(){ function showDepotHeadDetails(pageNo,pageSize){ var materialParam = $.trim($("#searchMaterial").val()); $.ajax({ - type:"get", - url: "/depotItem/getHeaderIdByMaterial", + type: "get", + url: "/depotHead/list", dataType: "json", data: ({ - materialParam: materialParam, - depotIds: depotString + search: JSON.stringify({ + type: listType, + subType: listSubType, + state: $.trim($("#searchState").val()), + number: $.trim($("#searchNumber").val()), + beginTime: $("#searchBeginTime").val(), + endTime: $("#searchEndTime").val(), + materialParam: materialParam, + depotIds: depotString + }), + currentPage: pageNo, + pageSize: pageSize }), success: function (res) { - if(res && res.code === 200) { - var ids = res.data; - if(ids){ - $.ajax({ - type: "get", - url: "/depotHead/list", - dataType: "json", - data: ({ - search: JSON.stringify({ - type: listType, - subType: listSubType, - state: $.trim($("#searchState").val()), - number: $.trim($("#searchNumber").val()), - beginTime: $("#searchBeginTime").val(), - endTime: $("#searchEndTime").val(), - dhIds: ids - }), - currentPage: pageNo, - pageSize: pageSize - }), - success: function (res) { - if(res && res.code === 200){ - if(res.data && res.data.page) { - $("#tableData").datagrid('loadData', res.data.page); - } - } - }, - //此处添加错误处理 - error: function () { - $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); - return; - } - }); - } - else { - $("#tableData").datagrid('loadData', []); + if(res && res.code === 200){ + if(res.data && res.data.page) { + $("#tableData").datagrid('loadData', res.data.page); } } }, //此处添加错误处理 - error:function() { - $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + error: function () { + $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); return; } }); } - //自动计算事件 function autoReckon() { //延时绑定事件 diff --git a/erp_web/js/pages/materials/purchase_orders_list.js b/erp_web/js/pages/materials/purchase_orders_list.js index 84464c96..f6d9a70e 100644 --- a/erp_web/js/pages/materials/purchase_orders_list.js +++ b/erp_web/js/pages/materials/purchase_orders_list.js @@ -2048,56 +2048,33 @@ function bindEvent(){ function showDepotHeadDetails(pageNo,pageSize){ var materialParam = $.trim($("#searchMaterial").val()); $.ajax({ - type:"get", - url: "/depotItem/getHeaderIdByMaterial", + type: "get", + url: "/depotHead/list", dataType: "json", data: ({ - materialParam: materialParam, - depotIds: depotString + search: JSON.stringify({ + type: listType, + subType: listSubType, + state: $.trim($("#searchState").val()), + number: $.trim($("#searchNumber").val()), + beginTime: $("#searchBeginTime").val(), + endTime: $("#searchEndTime").val(), + materialParam: materialParam, + depotIds: depotString + }), + currentPage: pageNo, + pageSize: pageSize }), success: function (res) { - if(res && res.code === 200) { - var ids = res.data; - if(ids){ - $.ajax({ - type: "get", - url: "/depotHead/list", - dataType: "json", - data: ({ - search: JSON.stringify({ - type: listType, - subType: listSubType, - state: $.trim($("#searchState").val()), - number: $.trim($("#searchNumber").val()), - beginTime: $("#searchBeginTime").val(), - endTime: $("#searchEndTime").val(), - dhIds: ids - }), - currentPage: pageNo, - pageSize: pageSize - }), - success: function (res) { - if(res && res.code === 200){ - if(res.data && res.data.page) { - $("#tableData").datagrid('loadData', res.data.page); - } - } - }, - //此处添加错误处理 - error: function () { - $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); - return; - } - }); - } - else { - $("#tableData").datagrid('loadData', []); + if(res && res.code === 200){ + if(res.data && res.data.page) { + $("#tableData").datagrid('loadData', res.data.page); } } }, //此处添加错误处理 - error:function() { - $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + error: function () { + $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); return; } }); diff --git a/erp_web/js/pages/materials/retail_back_list.js b/erp_web/js/pages/materials/retail_back_list.js index 80bb0186..8f65b1ed 100644 --- a/erp_web/js/pages/materials/retail_back_list.js +++ b/erp_web/js/pages/materials/retail_back_list.js @@ -2060,61 +2060,37 @@ function bindEvent(){ function showDepotHeadDetails(pageNo,pageSize){ var materialParam = $.trim($("#searchMaterial").val()); $.ajax({ - type:"get", - url: "/depotItem/getHeaderIdByMaterial", + type: "get", + url: "/depotHead/list", dataType: "json", data: ({ - materialParam: materialParam, - depotIds: depotString + search: JSON.stringify({ + type: listType, + subType: listSubType, + state: $.trim($("#searchState").val()), + number: $.trim($("#searchNumber").val()), + beginTime: $("#searchBeginTime").val(), + endTime: $("#searchEndTime").val(), + materialParam: materialParam, + depotIds: depotString + }), + currentPage: pageNo, + pageSize: pageSize }), success: function (res) { - if(res && res.code === 200) { - var ids = res.data; - if(ids){ - $.ajax({ - type: "get", - url: "/depotHead/list", - dataType: "json", - data: ({ - search: JSON.stringify({ - type: listType, - subType: listSubType, - state: $.trim($("#searchState").val()), - number: $.trim($("#searchNumber").val()), - beginTime: $("#searchBeginTime").val(), - endTime: $("#searchEndTime").val(), - dhIds: ids - }), - currentPage: pageNo, - pageSize: pageSize - }), - success: function (res) { - if(res && res.code === 200){ - if(res.data && res.data.page) { - $("#tableData").datagrid('loadData', res.data.page); - } - } - }, - //此处添加错误处理 - error: function () { - $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); - return; - } - }); - } - else { - $("#tableData").datagrid('loadData', []); + if(res && res.code === 200){ + if(res.data && res.data.page) { + $("#tableData").datagrid('loadData', res.data.page); } } }, //此处添加错误处理 - error:function() { - $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + error: function () { + $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); return; } }); } - //自动计算事件 function autoReckon() { //延时绑定事件 diff --git a/erp_web/js/pages/materials/retail_out_list.js b/erp_web/js/pages/materials/retail_out_list.js index 6e5c4d13..e381d946 100644 --- a/erp_web/js/pages/materials/retail_out_list.js +++ b/erp_web/js/pages/materials/retail_out_list.js @@ -2166,61 +2166,37 @@ function bindEvent(){ function showDepotHeadDetails(pageNo,pageSize){ var materialParam = $.trim($("#searchMaterial").val()); $.ajax({ - type:"get", - url: "/depotItem/getHeaderIdByMaterial", + type: "get", + url: "/depotHead/list", dataType: "json", data: ({ - materialParam: materialParam, - depotIds: depotString + search: JSON.stringify({ + type: listType, + subType: listSubType, + state: $.trim($("#searchState").val()), + number: $.trim($("#searchNumber").val()), + beginTime: $("#searchBeginTime").val(), + endTime: $("#searchEndTime").val(), + materialParam: materialParam, + depotIds: depotString + }), + currentPage: pageNo, + pageSize: pageSize }), success: function (res) { - if(res && res.code === 200) { - var ids = res.data; - if(ids){ - $.ajax({ - type: "get", - url: "/depotHead/list", - dataType: "json", - data: ({ - search: JSON.stringify({ - type: listType, - subType: listSubType, - state: $.trim($("#searchState").val()), - number: $.trim($("#searchNumber").val()), - beginTime: $("#searchBeginTime").val(), - endTime: $("#searchEndTime").val(), - dhIds: ids - }), - currentPage: pageNo, - pageSize: pageSize - }), - success: function (res) { - if(res && res.code === 200){ - if(res.data && res.data.page) { - $("#tableData").datagrid('loadData', res.data.page); - } - } - }, - //此处添加错误处理 - error: function () { - $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); - return; - } - }); - } - else { - $("#tableData").datagrid('loadData', []); + if(res && res.code === 200){ + if(res.data && res.data.page) { + $("#tableData").datagrid('loadData', res.data.page); } } }, //此处添加错误处理 - error:function() { - $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + error: function () { + $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); return; } }); } - //自动计算事件 function autoReckon() { //延时绑定事件 diff --git a/erp_web/js/pages/materials/sale_back_list.js b/erp_web/js/pages/materials/sale_back_list.js index 0a8faa0c..b52de66d 100644 --- a/erp_web/js/pages/materials/sale_back_list.js +++ b/erp_web/js/pages/materials/sale_back_list.js @@ -2028,56 +2028,33 @@ function bindEvent(){ function showDepotHeadDetails(pageNo,pageSize){ var materialParam = $.trim($("#searchMaterial").val()); $.ajax({ - type:"get", - url: "/depotItem/getHeaderIdByMaterial", + type: "get", + url: "/depotHead/list", dataType: "json", data: ({ - materialParam: materialParam, - depotIds: depotString + search: JSON.stringify({ + type: listType, + subType: listSubType, + state: $.trim($("#searchState").val()), + number: $.trim($("#searchNumber").val()), + beginTime: $("#searchBeginTime").val(), + endTime: $("#searchEndTime").val(), + materialParam: materialParam, + depotIds: depotString + }), + currentPage: pageNo, + pageSize: pageSize }), success: function (res) { - if(res && res.code === 200) { - var ids = res.data; - if(ids){ - $.ajax({ - type: "get", - url: "/depotHead/list", - dataType: "json", - data: ({ - search: JSON.stringify({ - type: listType, - subType: listSubType, - state: $.trim($("#searchState").val()), - number: $.trim($("#searchNumber").val()), - beginTime: $("#searchBeginTime").val(), - endTime: $("#searchEndTime").val(), - dhIds: ids - }), - currentPage: pageNo, - pageSize: pageSize - }), - success: function (res) { - if(res && res.code === 200){ - if(res.data && res.data.page) { - $("#tableData").datagrid('loadData', res.data.page); - } - } - }, - //此处添加错误处理 - error: function () { - $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); - return; - } - }); - } - else { - $("#tableData").datagrid('loadData', []); + if(res && res.code === 200){ + if(res.data && res.data.page) { + $("#tableData").datagrid('loadData', res.data.page); } } }, //此处添加错误处理 - error:function() { - $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + error: function () { + $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); return; } }); diff --git a/erp_web/js/pages/materials/sale_orders_list.js b/erp_web/js/pages/materials/sale_orders_list.js index 486d9847..41803f17 100644 --- a/erp_web/js/pages/materials/sale_orders_list.js +++ b/erp_web/js/pages/materials/sale_orders_list.js @@ -2045,56 +2045,33 @@ function bindEvent(){ function showDepotHeadDetails(pageNo,pageSize){ var materialParam = $.trim($("#searchMaterial").val()); $.ajax({ - type:"get", - url: "/depotItem/getHeaderIdByMaterial", + type: "get", + url: "/depotHead/list", dataType: "json", data: ({ - materialParam: materialParam, - depotIds: depotString + search: JSON.stringify({ + type: listType, + subType: listSubType, + state: $.trim($("#searchState").val()), + number: $.trim($("#searchNumber").val()), + beginTime: $("#searchBeginTime").val(), + endTime: $("#searchEndTime").val(), + materialParam: materialParam, + depotIds: depotString + }), + currentPage: pageNo, + pageSize: pageSize }), success: function (res) { - if(res && res.code === 200) { - var ids = res.data; - if(ids){ - $.ajax({ - type: "get", - url: "/depotHead/list", - dataType: "json", - data: ({ - search: JSON.stringify({ - type: listType, - subType: listSubType, - state: $.trim($("#searchState").val()), - number: $.trim($("#searchNumber").val()), - beginTime: $("#searchBeginTime").val(), - endTime: $("#searchEndTime").val(), - dhIds: ids - }), - currentPage: pageNo, - pageSize: pageSize - }), - success: function (res) { - if(res && res.code === 200){ - if(res.data && res.data.page) { - $("#tableData").datagrid('loadData', res.data.page); - } - } - }, - //此处添加错误处理 - error: function () { - $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); - return; - } - }); - } - else { - $("#tableData").datagrid('loadData', []); + if(res && res.code === 200){ + if(res.data && res.data.page) { + $("#tableData").datagrid('loadData', res.data.page); } } }, //此处添加错误处理 - error:function() { - $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + error: function () { + $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); return; } }); diff --git a/erp_web/js/pages/materials/sale_out_list.js b/erp_web/js/pages/materials/sale_out_list.js index 76b4506a..210c47bc 100644 --- a/erp_web/js/pages/materials/sale_out_list.js +++ b/erp_web/js/pages/materials/sale_out_list.js @@ -2099,56 +2099,33 @@ function bindEvent(){ function showDepotHeadDetails(pageNo,pageSize){ var materialParam = $.trim($("#searchMaterial").val()); $.ajax({ - type:"get", - url: "/depotItem/getHeaderIdByMaterial", + type: "get", + url: "/depotHead/list", dataType: "json", data: ({ - materialParam: materialParam, - depotIds: depotString + search: JSON.stringify({ + type: listType, + subType: listSubType, + state: $.trim($("#searchState").val()), + number: $.trim($("#searchNumber").val()), + beginTime: $("#searchBeginTime").val(), + endTime: $("#searchEndTime").val(), + materialParam: materialParam, + depotIds: depotString + }), + currentPage: pageNo, + pageSize: pageSize }), success: function (res) { - if(res && res.code === 200) { - var ids = res.data; - if(ids){ - $.ajax({ - type: "get", - url: "/depotHead/list", - dataType: "json", - data: ({ - search: JSON.stringify({ - type: listType, - subType: listSubType, - state: $.trim($("#searchState").val()), - number: $.trim($("#searchNumber").val()), - beginTime: $("#searchBeginTime").val(), - endTime: $("#searchEndTime").val(), - dhIds: ids - }), - currentPage: pageNo, - pageSize: pageSize - }), - success: function (res) { - if(res && res.code === 200){ - if(res.data && res.data.page) { - $("#tableData").datagrid('loadData', res.data.page); - } - } - }, - //此处添加错误处理 - error: function () { - $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); - return; - } - }); - } - else { - $("#tableData").datagrid('loadData', []); + if(res && res.code === 200){ + if(res.data && res.data.page) { + $("#tableData").datagrid('loadData', res.data.page); } } }, //此处添加错误处理 - error:function() { - $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + error: function () { + $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); return; } }); diff --git a/src/main/resources/mapper_xml/DepotItemMapperEx.xml b/src/main/resources/mapper_xml/DepotItemMapperEx.xml index 1250e355..403d2741 100644 --- a/src/main/resources/mapper_xml/DepotItemMapperEx.xml +++ b/src/main/resources/mapper_xml/DepotItemMapperEx.xml @@ -8,9 +8,6 @@ - - - @@ -91,24 +88,6 @@ and ifnull(delete_Flag,'0') !='1' - diff --git a/src/main/resources/mapper_xml/DepotItemMapperEx.xml b/src/main/resources/mapper_xml/DepotItemMapperEx.xml index 403d2741..57f27f7f 100644 --- a/src/main/resources/mapper_xml/DepotItemMapperEx.xml +++ b/src/main/resources/mapper_xml/DepotItemMapperEx.xml @@ -606,7 +606,7 @@ and dh.id=di.HeaderId and di.MaterialId=#{materialId} and ifnull(dh.delete_Flag,'0') !='1' - and ifnull(di.delete_Flag,'0') !='1') curep + and ifnull(di.delete_Flag,'0') !='1') curep diff --git a/src/main/resources/mapper_xml/UserMapperEx.xml b/src/main/resources/mapper_xml/UserMapperEx.xml index 7a0a274a..f6b49674 100644 --- a/src/main/resources/mapper_xml/UserMapperEx.xml +++ b/src/main/resources/mapper_xml/UserMapperEx.xml @@ -116,15 +116,12 @@ where id = #{id,jdbcType=BIGINT} - select user.id, user.username, user.loginame, user.position, user.email, user.phonenum, - user.description, user.remark,user.isystem + user.description, user.remark,user.isystem,user.tenant_id FROM jsh_user user where 1=1 and ifnull(user.status,'0') not in('1','2') - - and user.userName = #{userName} - and user.loginame = #{loginame} @@ -213,6 +210,20 @@ + \ No newline at end of file From 65f4169ec3fdbdeebcd94dd7fe1855b53d41794e Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Mon, 10 Jun 2019 10:57:29 +0800 Subject: [PATCH 090/117] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8F=AF=E8=83=BD?= =?UTF-8?q?=E5=AD=98=E5=9C=A8=E7=9A=84sql=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper_xml/DepotHeadMapperEx.xml | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/src/main/resources/mapper_xml/DepotHeadMapperEx.xml b/src/main/resources/mapper_xml/DepotHeadMapperEx.xml index 307d7aec..4b5df748 100644 --- a/src/main/resources/mapper_xml/DepotHeadMapperEx.xml +++ b/src/main/resources/mapper_xml/DepotHeadMapperEx.xml @@ -68,11 +68,15 @@ and dh.OperTime <= #{endTime} - - and (m.`Name` like '%${materialParam}%' or m.Model like '%${materialParam}%') + + + and (m.Name like #{materialParam} or m.Model like #{materialParam}) - - and di.DepotId in (${depotIds}) + + and di.DepotId in + + #{did} + and ifnull(dh.delete_Flag,'0') !='1' order by dh.Id desc @@ -103,11 +107,15 @@ and dh.OperTime <= #{endTime} - - and (m.`Name` like '%${materialParam}%' or m.Model like '%${materialParam}%') + + + and (m.Name like #{materialParam} or m.Model like #{materialParam}) - - and di.DepotId in (${depotIds}) + + and di.DepotId in + + #{did} + and ifnull(dh.delete_Flag,'0') !='1' From f8fb1c9aae437943769282428379dd2494bff9e3 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Mon, 10 Jun 2019 11:49:01 +0800 Subject: [PATCH 091/117] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=89=A9=E5=B1=95?= =?UTF-8?q?=E5=B1=9E=E6=80=A7=E5=8F=82=E6=95=B0=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- erp_web/js/pages/materials/allocation_out_list.js | 2 +- erp_web/js/pages/materials/assemble_list.js | 2 +- erp_web/js/pages/materials/disassemble_list.js | 2 +- erp_web/js/pages/materials/other_in_list.js | 2 +- erp_web/js/pages/materials/other_out_list.js | 2 +- erp_web/js/pages/materials/purchase_back_list.js | 2 +- erp_web/js/pages/materials/purchase_in_list.js | 2 +- erp_web/js/pages/materials/purchase_orders_list.js | 2 +- erp_web/js/pages/materials/retail_back_list.js | 2 +- erp_web/js/pages/materials/retail_out_list.js | 2 +- erp_web/js/pages/materials/sale_back_list.js | 2 +- erp_web/js/pages/materials/sale_orders_list.js | 2 +- erp_web/js/pages/materials/sale_out_list.js | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) diff --git a/erp_web/js/pages/materials/allocation_out_list.js b/erp_web/js/pages/materials/allocation_out_list.js index 59ce6b70..614960a9 100644 --- a/erp_web/js/pages/materials/allocation_out_list.js +++ b/erp_web/js/pages/materials/allocation_out_list.js @@ -234,7 +234,7 @@ function initMProperty(){ var thisRows = res.data.page.rows; for (var i = 0; i < thisRows.length; i++) { if (thisRows[i].enabled) { - mPropertyList += thisRows[i].nativeName + ","; + mPropertyList += thisRows[i].nativename + ","; } } if (mPropertyList) { diff --git a/erp_web/js/pages/materials/assemble_list.js b/erp_web/js/pages/materials/assemble_list.js index b0ee8d79..b4124e99 100644 --- a/erp_web/js/pages/materials/assemble_list.js +++ b/erp_web/js/pages/materials/assemble_list.js @@ -235,7 +235,7 @@ function initMProperty(){ var thisRows = res.data.page.rows; for (var i = 0; i < thisRows.length; i++) { if (thisRows[i].enabled) { - mPropertyList += thisRows[i].nativeName + ","; + mPropertyList += thisRows[i].nativename + ","; } } if (mPropertyList) { diff --git a/erp_web/js/pages/materials/disassemble_list.js b/erp_web/js/pages/materials/disassemble_list.js index a70e6dfd..c41c921f 100644 --- a/erp_web/js/pages/materials/disassemble_list.js +++ b/erp_web/js/pages/materials/disassemble_list.js @@ -234,7 +234,7 @@ function initMProperty(){ var thisRows = res.data.page.rows; for (var i = 0; i < thisRows.length; i++) { if (thisRows[i].enabled) { - mPropertyList += thisRows[i].nativeName + ","; + mPropertyList += thisRows[i].nativename + ","; } } if (mPropertyList) { diff --git a/erp_web/js/pages/materials/other_in_list.js b/erp_web/js/pages/materials/other_in_list.js index 6fdc038a..bad7c8bd 100644 --- a/erp_web/js/pages/materials/other_in_list.js +++ b/erp_web/js/pages/materials/other_in_list.js @@ -235,7 +235,7 @@ function initMProperty(){ var thisRows = res.data.page.rows; for (var i = 0; i < thisRows.length; i++) { if (thisRows[i].enabled) { - mPropertyList += thisRows[i].nativeName + ","; + mPropertyList += thisRows[i].nativename + ","; } } if (mPropertyList) { diff --git a/erp_web/js/pages/materials/other_out_list.js b/erp_web/js/pages/materials/other_out_list.js index abb4c78e..ebec038f 100644 --- a/erp_web/js/pages/materials/other_out_list.js +++ b/erp_web/js/pages/materials/other_out_list.js @@ -234,7 +234,7 @@ function initMProperty(){ var thisRows = res.data.page.rows; for (var i = 0; i < thisRows.length; i++) { if (thisRows[i].enabled) { - mPropertyList += thisRows[i].nativeName + ","; + mPropertyList += thisRows[i].nativename + ","; } } if (mPropertyList) { diff --git a/erp_web/js/pages/materials/purchase_back_list.js b/erp_web/js/pages/materials/purchase_back_list.js index 6ea49a65..a5b0d7c0 100644 --- a/erp_web/js/pages/materials/purchase_back_list.js +++ b/erp_web/js/pages/materials/purchase_back_list.js @@ -234,7 +234,7 @@ function initMProperty(){ var thisRows = res.data.page.rows; for (var i = 0; i < thisRows.length; i++) { if (thisRows[i].enabled) { - mPropertyList += thisRows[i].nativeName + ","; + mPropertyList += thisRows[i].nativename + ","; } } if (mPropertyList) { diff --git a/erp_web/js/pages/materials/purchase_in_list.js b/erp_web/js/pages/materials/purchase_in_list.js index edaa8d68..eea38d55 100644 --- a/erp_web/js/pages/materials/purchase_in_list.js +++ b/erp_web/js/pages/materials/purchase_in_list.js @@ -234,7 +234,7 @@ function initMProperty(){ var thisRows = res.data.page.rows; for (var i = 0; i < thisRows.length; i++) { if (thisRows[i].enabled) { - mPropertyList += thisRows[i].nativeName + ","; + mPropertyList += thisRows[i].nativename + ","; } } if (mPropertyList) { diff --git a/erp_web/js/pages/materials/purchase_orders_list.js b/erp_web/js/pages/materials/purchase_orders_list.js index 3a014b34..cd2a30c2 100644 --- a/erp_web/js/pages/materials/purchase_orders_list.js +++ b/erp_web/js/pages/materials/purchase_orders_list.js @@ -234,7 +234,7 @@ function initMProperty(){ var thisRows = res.data.page.rows; for (var i = 0; i < thisRows.length; i++) { if (thisRows[i].enabled) { - mPropertyList += thisRows[i].nativeName + ","; + mPropertyList += thisRows[i].nativename + ","; } } if (mPropertyList) { diff --git a/erp_web/js/pages/materials/retail_back_list.js b/erp_web/js/pages/materials/retail_back_list.js index 1cb329b8..f2f51115 100644 --- a/erp_web/js/pages/materials/retail_back_list.js +++ b/erp_web/js/pages/materials/retail_back_list.js @@ -234,7 +234,7 @@ function initMProperty(){ var thisRows = res.data.page.rows; for (var i = 0; i < thisRows.length; i++) { if (thisRows[i].enabled) { - mPropertyList += thisRows[i].nativeName + ","; + mPropertyList += thisRows[i].nativename + ","; } } if (mPropertyList) { diff --git a/erp_web/js/pages/materials/retail_out_list.js b/erp_web/js/pages/materials/retail_out_list.js index bf142668..c2a78287 100644 --- a/erp_web/js/pages/materials/retail_out_list.js +++ b/erp_web/js/pages/materials/retail_out_list.js @@ -227,7 +227,7 @@ function initMProperty(){ var thisRows = res.data.page.rows; for (var i = 0; i < thisRows.length; i++) { if (thisRows[i].enabled) { - mPropertyList += thisRows[i].nativeName + ","; + mPropertyList += thisRows[i].nativename + ","; } } if (mPropertyList) { diff --git a/erp_web/js/pages/materials/sale_back_list.js b/erp_web/js/pages/materials/sale_back_list.js index 55566a00..1459eb1e 100644 --- a/erp_web/js/pages/materials/sale_back_list.js +++ b/erp_web/js/pages/materials/sale_back_list.js @@ -235,7 +235,7 @@ function initMProperty(){ var thisRows = res.data.page.rows; for (var i = 0; i < thisRows.length; i++) { if (thisRows[i].enabled) { - mPropertyList += thisRows[i].nativeName + ","; + mPropertyList += thisRows[i].nativename + ","; } } if (mPropertyList) { diff --git a/erp_web/js/pages/materials/sale_orders_list.js b/erp_web/js/pages/materials/sale_orders_list.js index 5b6ead1d..f60a1035 100644 --- a/erp_web/js/pages/materials/sale_orders_list.js +++ b/erp_web/js/pages/materials/sale_orders_list.js @@ -234,7 +234,7 @@ function initMProperty(){ var thisRows = res.data.page.rows; for (var i = 0; i < thisRows.length; i++) { if (thisRows[i].enabled) { - mPropertyList += thisRows[i].nativeName + ","; + mPropertyList += thisRows[i].nativename + ","; } } if (mPropertyList) { diff --git a/erp_web/js/pages/materials/sale_out_list.js b/erp_web/js/pages/materials/sale_out_list.js index 7cd04788..9a8e46e8 100644 --- a/erp_web/js/pages/materials/sale_out_list.js +++ b/erp_web/js/pages/materials/sale_out_list.js @@ -234,7 +234,7 @@ function initMProperty(){ var thisRows = res.data.page.rows; for (var i = 0; i < thisRows.length; i++) { if (thisRows[i].enabled) { - mPropertyList += thisRows[i].nativeName + ","; + mPropertyList += thisRows[i].nativename + ","; } } if (mPropertyList) { From 0b07e2d61fdf64eef560951282718b461d5a460d Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Mon, 10 Jun 2019 15:50:50 +0800 Subject: [PATCH 092/117] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=A0=B9=E6=8D=AE?= =?UTF-8?q?=E6=9D=90=E6=96=99=E5=92=8C=E4=BB=93=E5=BA=93=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E5=BA=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../js/pages/materials/allocation_out_list.js | 5 +- erp_web/js/pages/materials/assemble_list.js | 5 +- .../js/pages/materials/disassemble_list.js | 5 +- erp_web/js/pages/materials/other_in_list.js | 5 +- erp_web/js/pages/materials/other_out_list.js | 5 +- .../js/pages/materials/purchase_back_list.js | 5 +- .../js/pages/materials/purchase_in_list.js | 5 +- .../pages/materials/purchase_orders_list.js | 5 +- .../js/pages/materials/retail_back_list.js | 5 +- erp_web/js/pages/materials/retail_out_list.js | 5 +- erp_web/js/pages/materials/sale_back_list.js | 5 +- .../js/pages/materials/sale_orders_list.js | 5 +- erp_web/js/pages/materials/sale_out_list.js | 5 +- .../erp/controller/DepotItemController.java | 55 +++---------------- 14 files changed, 20 insertions(+), 100 deletions(-) diff --git a/erp_web/js/pages/materials/allocation_out_list.js b/erp_web/js/pages/materials/allocation_out_list.js index 614960a9..f85c8eb6 100644 --- a/erp_web/js/pages/materials/allocation_out_list.js +++ b/erp_web/js/pages/materials/allocation_out_list.js @@ -487,10 +487,7 @@ function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ url: '/depotItem/findStockNumById', data:{ projectId: depotId, - materialId: mId, - monthTime: monthTime, - currentPage: 1, - pageSize: 10 + materialId: mId }, dataType: "json", success: function (res) { diff --git a/erp_web/js/pages/materials/assemble_list.js b/erp_web/js/pages/materials/assemble_list.js index b4124e99..5dc7bd78 100644 --- a/erp_web/js/pages/materials/assemble_list.js +++ b/erp_web/js/pages/materials/assemble_list.js @@ -489,10 +489,7 @@ function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ url: '/depotItem/findStockNumById', data:{ projectId: depotId, - materialId: mId, - monthTime: monthTime, - currentPage: 1, - pageSize: 10 + materialId: mId }, dataType: "json", success: function (res) { diff --git a/erp_web/js/pages/materials/disassemble_list.js b/erp_web/js/pages/materials/disassemble_list.js index c41c921f..f1676356 100644 --- a/erp_web/js/pages/materials/disassemble_list.js +++ b/erp_web/js/pages/materials/disassemble_list.js @@ -488,10 +488,7 @@ function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ url: '/depotItem/findStockNumById', data:{ projectId: depotId, - materialId: mId, - monthTime: monthTime, - currentPage: 1, - pageSize: 10 + materialId: mId }, dataType: "json", success: function (res) { diff --git a/erp_web/js/pages/materials/other_in_list.js b/erp_web/js/pages/materials/other_in_list.js index bad7c8bd..bee33a09 100644 --- a/erp_web/js/pages/materials/other_in_list.js +++ b/erp_web/js/pages/materials/other_in_list.js @@ -494,10 +494,7 @@ function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ url: '/depotItem/findStockNumById', data:{ projectId: depotId, - materialId: mId, - monthTime: monthTime, - currentPage: 1, - pageSize: 10 + materialId: mId }, dataType: "json", success: function (res) { diff --git a/erp_web/js/pages/materials/other_out_list.js b/erp_web/js/pages/materials/other_out_list.js index ebec038f..4ea33997 100644 --- a/erp_web/js/pages/materials/other_out_list.js +++ b/erp_web/js/pages/materials/other_out_list.js @@ -488,10 +488,7 @@ function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ url: '/depotItem/findStockNumById', data:{ projectId: depotId, - materialId: mId, - monthTime: monthTime, - currentPage: 1, - pageSize: 10 + materialId: mId }, dataType: "json", success: function (res) { diff --git a/erp_web/js/pages/materials/purchase_back_list.js b/erp_web/js/pages/materials/purchase_back_list.js index a5b0d7c0..1fa1f936 100644 --- a/erp_web/js/pages/materials/purchase_back_list.js +++ b/erp_web/js/pages/materials/purchase_back_list.js @@ -498,10 +498,7 @@ function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ url: '/depotItem/findStockNumById', data:{ projectId: depotId, - materialId: mId, - monthTime: monthTime, - currentPage: 1, - pageSize: 10 + materialId: mId }, dataType: "json", success: function (res) { diff --git a/erp_web/js/pages/materials/purchase_in_list.js b/erp_web/js/pages/materials/purchase_in_list.js index eea38d55..f046cf4a 100644 --- a/erp_web/js/pages/materials/purchase_in_list.js +++ b/erp_web/js/pages/materials/purchase_in_list.js @@ -501,10 +501,7 @@ function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ url: '/depotItem/findStockNumById', data:{ projectId: depotId, - materialId: mId, - monthTime: monthTime, - currentPage: 1, - pageSize: 10 + materialId: mId }, dataType: "json", success: function (res) { diff --git a/erp_web/js/pages/materials/purchase_orders_list.js b/erp_web/js/pages/materials/purchase_orders_list.js index cd2a30c2..0bc2f56d 100644 --- a/erp_web/js/pages/materials/purchase_orders_list.js +++ b/erp_web/js/pages/materials/purchase_orders_list.js @@ -503,10 +503,7 @@ function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ url: '/depotItem/findStockNumById', data:{ projectId: depotId, - materialId: mId, - monthTime: monthTime, - currentPage: 1, - pageSize: 10 + materialId: mId }, dataType: "json", success: function (res) { diff --git a/erp_web/js/pages/materials/retail_back_list.js b/erp_web/js/pages/materials/retail_back_list.js index f2f51115..1890d826 100644 --- a/erp_web/js/pages/materials/retail_back_list.js +++ b/erp_web/js/pages/materials/retail_back_list.js @@ -502,10 +502,7 @@ function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ url: '/depotItem/findStockNumById', data:{ projectId: depotId, - materialId: mId, - monthTime: monthTime, - currentPage: 1, - pageSize: 10 + materialId: mId }, dataType: "json", success: function (res) { diff --git a/erp_web/js/pages/materials/retail_out_list.js b/erp_web/js/pages/materials/retail_out_list.js index c2a78287..6a16bbf6 100644 --- a/erp_web/js/pages/materials/retail_out_list.js +++ b/erp_web/js/pages/materials/retail_out_list.js @@ -494,10 +494,7 @@ function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ url: '/depotItem/findStockNumById', data:{ projectId: depotId, - materialId: mId, - monthTime: monthTime, - currentPage: 1, - pageSize: 10 + materialId: mId }, dataType: "json", success: function (res) { diff --git a/erp_web/js/pages/materials/sale_back_list.js b/erp_web/js/pages/materials/sale_back_list.js index 1459eb1e..8c55e093 100644 --- a/erp_web/js/pages/materials/sale_back_list.js +++ b/erp_web/js/pages/materials/sale_back_list.js @@ -504,10 +504,7 @@ function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ url: '/depotItem/findStockNumById', data:{ projectId: depotId, - materialId: mId, - monthTime: monthTime, - currentPage: 1, - pageSize: 10 + materialId: mId }, dataType: "json", success: function (res) { diff --git a/erp_web/js/pages/materials/sale_orders_list.js b/erp_web/js/pages/materials/sale_orders_list.js index f60a1035..9605ec90 100644 --- a/erp_web/js/pages/materials/sale_orders_list.js +++ b/erp_web/js/pages/materials/sale_orders_list.js @@ -503,10 +503,7 @@ function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ url: '/depotItem/findStockNumById', data:{ projectId: depotId, - materialId: mId, - monthTime: monthTime, - currentPage: 1, - pageSize: 10 + materialId: mId }, dataType: "json", success: function (res) { diff --git a/erp_web/js/pages/materials/sale_out_list.js b/erp_web/js/pages/materials/sale_out_list.js index 9a8e46e8..c8a9dd2c 100644 --- a/erp_web/js/pages/materials/sale_out_list.js +++ b/erp_web/js/pages/materials/sale_out_list.js @@ -501,10 +501,7 @@ function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){ url: '/depotItem/findStockNumById', data:{ projectId: depotId, - materialId: mId, - monthTime: monthTime, - currentPage: 1, - pageSize: 10 + materialId: mId }, dataType: "json", success: function (res) { diff --git a/src/main/java/com/jsh/erp/controller/DepotItemController.java b/src/main/java/com/jsh/erp/controller/DepotItemController.java index fc6e56f4..d040eb64 100644 --- a/src/main/java/com/jsh/erp/controller/DepotItemController.java +++ b/src/main/java/com/jsh/erp/controller/DepotItemController.java @@ -89,66 +89,25 @@ public class DepotItemController { /** * 根据商品id和仓库id查询库存数量 - * @param pageSize - * @param currentPage * @param mId * @param request * @return */ - @GetMapping(value = "/findStockNumById") + @RequestMapping(value = "/findStockNumById") public String findStockNumById( - @RequestParam(value = Constants.PAGE_SIZE, required = false) Integer pageSize, - @RequestParam(value = Constants.CURRENT_PAGE, required = false) Integer currentPage, @RequestParam("projectId") Integer pid, @RequestParam("materialId") String mId, - @RequestParam("monthTime") String monthTime, HttpServletRequest request) throws Exception{ - Map parameterMap = ParamUtils.requestToMap(request); - parameterMap.put("mId", mId); - parameterMap.put("monthTime", monthTime); - PageQueryInfo queryInfo = new PageQueryInfo(); Map objectMap = new HashMap(); - if (pageSize != null && pageSize <= 0) { - pageSize = 10; - } - String offset = ParamUtils.getPageOffset(currentPage, pageSize); - if (StringUtil.isNotEmpty(offset)) { - parameterMap.put(Constants.OFFSET, offset); - } - List list = depotItemService.findStockNumByMaterialIdList(parameterMap); //存放数据json数组 - Long materialId = Long.parseLong(mId); + Long materialId = Long.valueOf(mId); + Long depotId = Long.valueOf(pid); JSONArray dataArray = new JSONArray(); - if (null != list) { - for (DepotItemVo4Material di : list) { - JSONObject item = new JSONObject(); - BigDecimal prevSum = sumNumber("入库", pid, materialId, monthTime, true).subtract(sumNumber("出库", pid, materialId, monthTime, true)); - BigDecimal InSum = sumNumber("入库", pid, materialId, monthTime, false); - BigDecimal OutSum = sumNumber("出库", pid, materialId, monthTime, false); - // +组装(组合件)-组装(普通子件)+拆卸(普通子件)-拆卸(组合件) - BigDecimal prevAssembleSum = assembleNumber("组装单","组合件", pid, materialId, monthTime, true) - .subtract(assembleNumber("组装单","普通子件", pid, materialId, monthTime, true)) - .add(assembleNumber("拆卸单","普通子件", pid, materialId, monthTime, true)) - .subtract(assembleNumber("拆卸单","组合件", pid, materialId, monthTime, true)); - BigDecimal notPrevAssembleSum = assembleNumber("组装单","组合件", pid, materialId, monthTime, false) - .subtract(assembleNumber("组装单","普通子件", pid, materialId, monthTime, false)) - .add(assembleNumber("拆卸单","普通子件", pid, materialId, monthTime, false)) - .subtract(assembleNumber("拆卸单","组合件", pid, materialId, monthTime, false)); - item.put("MaterialId", di.getMaterialid() == null ? "" : di.getMaterialid()); - item.put("MaterialName", di.getMname()); - item.put("MaterialModel", di.getMmodel()); - item.put("thisSum", prevSum.add(InSum).subtract(OutSum).add(prevAssembleSum).add(notPrevAssembleSum)); - dataArray.add(item); - } - } + JSONObject item = new JSONObject(); + /**查询指定仓库下指定材料的库存数量*/ + item.put("thisSum", depotItemService.getCurrentRepByMaterialIdAndDepotId(materialId,depotId)); + dataArray.add(item); objectMap.put("page", dataArray); - if (list == null) { - queryInfo.setRows(new ArrayList()); - queryInfo.setTotal(BusinessConstants.DEFAULT_LIST_NULL_NUMBER); - return returnJson(objectMap, "查找不到数据", ErpInfo.OK.code); - } - queryInfo.setRows(list); - queryInfo.setTotal(depotItemService.findStockNumByMaterialIdCounts(parameterMap)); return returnJson(objectMap, ErpInfo.OK.name, ErpInfo.OK.code); } From 99d856111e19bdc419c61d70b9e055785bd0fe79 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Tue, 11 Jun 2019 10:50:51 +0800 Subject: [PATCH 093/117] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=A0=B9=E6=8D=AE?= =?UTF-8?q?=E6=9D=90=E6=96=99=E5=92=8C=E4=BB=93=E5=BA=93=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E5=BA=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- erp_web/pages/materials/material.html | 11 +- .../pages/materials/material_forselect.html | 428 ++++++++---------- .../erp/controller/DepotItemController.java | 53 +-- .../DepotItemVo4DetailByTypeAndMId.java | 20 + .../mapper_xml/DepotItemMapperEx.xml | 62 ++- 5 files changed, 260 insertions(+), 314 deletions(-) diff --git a/erp_web/pages/materials/material.html b/erp_web/pages/materials/material.html index ac3222c3..9c8e132f 100644 --- a/erp_web/pages/materials/material.html +++ b/erp_web/pages/materials/material.html @@ -538,10 +538,7 @@ type: "get", url: '/depotItem/findStockNumByMaterialId', data: { - materialId: mId, - monthTime: monthTime, - currentPage: 1, - pageSize: 10 + materialId: mId }, dataType: "json", success: function (res) { @@ -667,6 +664,7 @@ pageSize: initPageSize, pageList: initPageNum, columns: [[ + { title: '单据编号', field: 'Number', width: 150, formatter: function (value, row) { @@ -676,7 +674,10 @@ }, {title: '类型', field: 'Type', width: 100}, {title: '数量', field: 'BasicNumber', width: 80}, - {title: '日期', field: 'OperTime', width: 180} + {title: '仓库', field: 'depotName', width: 180}, + {title: '日期', field: 'OperTime', width: 180}, + {title: '调入仓库', field: 'depotInName', width: 180} + ]], onLoadError: function () { $.messager.alert('页面加载提示', '页面加载异常,请稍后再试!', 'error'); diff --git a/erp_web/pages/materials/material_forselect.html b/erp_web/pages/materials/material_forselect.html index 4497ea2f..f64e978d 100644 --- a/erp_web/pages/materials/material_forselect.html +++ b/erp_web/pages/materials/material_forselect.html @@ -46,273 +46,213 @@
-
-
-
- - + diff --git a/src/main/java/com/jsh/erp/controller/DepotItemController.java b/src/main/java/com/jsh/erp/controller/DepotItemController.java index d040eb64..301eaccb 100644 --- a/src/main/java/com/jsh/erp/controller/DepotItemController.java +++ b/src/main/java/com/jsh/erp/controller/DepotItemController.java @@ -4,7 +4,8 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.jsh.erp.constants.BusinessConstants; import com.jsh.erp.constants.ExceptionConstants; -import com.jsh.erp.datasource.entities.*; +import com.jsh.erp.datasource.entities.DepotItemVo4DetailByTypeAndMId; +import com.jsh.erp.datasource.entities.DepotItemVo4WithInfoEx; import com.jsh.erp.datasource.vo.DepotItemStockWarningCount; import com.jsh.erp.exception.BusinessRunTimeException; import com.jsh.erp.service.depotItem.DepotItemService; @@ -12,8 +13,10 @@ import com.jsh.erp.service.material.MaterialService; import com.jsh.erp.utils.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.dao.DataAccessException; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; @@ -73,6 +76,8 @@ public class DepotItemController { item.put("Type", d.getNewtype()); //进出类型 item.put("BasicNumber", d.getBnum()); //数量 item.put("OperTime", d.getOtime()); //时间 + item.put("depotName", d.getDepotName()); //仓库名称 + item.put("depotInName", d.getDepotInName()); //调入仓库名称 dataArray.add(item); } } @@ -113,55 +118,21 @@ public class DepotItemController { /** * 只根据商品id查询库存数量 - * @param pageSize - * @param currentPage * @param mId * @param request * @return */ - @GetMapping(value = "/findStockNumByMaterialId") + @RequestMapping(value = "/findStockNumByMaterialId") public String findStockNumByMaterialId( - @RequestParam(value = Constants.PAGE_SIZE, required = false) Integer pageSize, - @RequestParam(value = Constants.CURRENT_PAGE, required = false) Integer currentPage, @RequestParam("materialId") String mId, - @RequestParam("monthTime") String monthTime, HttpServletRequest request) throws Exception{ - Map parameterMap = ParamUtils.requestToMap(request); - parameterMap.put("mId", mId); - parameterMap.put("monthTime", monthTime); - PageQueryInfo queryInfo = new PageQueryInfo(); Map objectMap = new HashMap(); - if (pageSize != null && pageSize <= 0) { - pageSize = 10; - } - String offset = ParamUtils.getPageOffset(currentPage, pageSize); - if (StringUtil.isNotEmpty(offset)) { - parameterMap.put(Constants.OFFSET, offset); - } - List list = depotItemService.findStockNumByMaterialIdList(parameterMap); - //存放数据json数组 JSONArray dataArray = new JSONArray(); - if (null != list) { - for (DepotItemVo4Material di : list) { - JSONObject item = new JSONObject(); - int InSum = sumNumberByMaterialId("入库", di.getMaterialid()); - int OutSum = sumNumberByMaterialId("出库", di.getMaterialid()); - item.put("MaterialId", di.getMaterialid() == null ? "" : di.getMaterialid()); - item.put("MaterialName", di.getMname()); - item.put("MaterialModel", di.getMmodel()); - item.put("thisSum", InSum - OutSum); - dataArray.add(item); - } - } + JSONObject item = new JSONObject(); + item.put("thisSum", depotItemService.getCurrentRepByMaterialIdAndDepotId(Long.valueOf(mId),null)); + dataArray.add(item); objectMap.put("page", dataArray); - if (list == null) { - queryInfo.setRows(new ArrayList()); - queryInfo.setTotal(BusinessConstants.DEFAULT_LIST_NULL_NUMBER); - return returnJson(objectMap, "查找不到数据", ErpInfo.OK.code); - } - queryInfo.setRows(list); - queryInfo.setTotal(depotItemService.findStockNumByMaterialIdCounts(parameterMap)); return returnJson(objectMap, ErpInfo.OK.name, ErpInfo.OK.code); } diff --git a/src/main/java/com/jsh/erp/datasource/entities/DepotItemVo4DetailByTypeAndMId.java b/src/main/java/com/jsh/erp/datasource/entities/DepotItemVo4DetailByTypeAndMId.java index d6ad0a58..4577ca97 100644 --- a/src/main/java/com/jsh/erp/datasource/entities/DepotItemVo4DetailByTypeAndMId.java +++ b/src/main/java/com/jsh/erp/datasource/entities/DepotItemVo4DetailByTypeAndMId.java @@ -11,6 +11,10 @@ public class DepotItemVo4DetailByTypeAndMId { private Integer bnum; private Date otime; + //仓库名称 + private String depotName; + //调入仓库名称 + private String depotInName; public String getNumber() { return number; @@ -43,4 +47,20 @@ public class DepotItemVo4DetailByTypeAndMId { public void setOtime(Date otime) { this.otime = otime; } + + public String getDepotName() { + return depotName; + } + + public void setDepotName(String depotName) { + this.depotName = depotName; + } + + public String getDepotInName() { + return depotInName; + } + + public void setDepotInName(String depotInName) { + this.depotInName = depotInName; + } } \ No newline at end of file diff --git a/src/main/resources/mapper_xml/DepotItemMapperEx.xml b/src/main/resources/mapper_xml/DepotItemMapperEx.xml index 57f27f7f..545c50fd 100644 --- a/src/main/resources/mapper_xml/DepotItemMapperEx.xml +++ b/src/main/resources/mapper_xml/DepotItemMapperEx.xml @@ -7,6 +7,8 @@ + + @@ -91,12 +93,22 @@ @@ -589,24 +603,24 @@ AND intype.BasicInNumber > 0 From 5f9e2055e6b15dbb97a89ea899f685a254882ee8 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Tue, 11 Jun 2019 14:44:18 +0800 Subject: [PATCH 094/117] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E5=BA=93=E5=AD=98=E6=95=B0=E9=87=8F=E7=9A=84=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../erp/datasource/mappers/DepotItemMapperEx.java | 2 +- .../jsh/erp/service/depotItem/DepotItemService.java | 13 ++++++++++++- src/main/resources/mapper_xml/DepotItemMapperEx.xml | 2 ++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/jsh/erp/datasource/mappers/DepotItemMapperEx.java b/src/main/java/com/jsh/erp/datasource/mappers/DepotItemMapperEx.java index 3d010876..71a376b0 100644 --- a/src/main/java/com/jsh/erp/datasource/mappers/DepotItemMapperEx.java +++ b/src/main/java/com/jsh/erp/datasource/mappers/DepotItemMapperEx.java @@ -176,5 +176,5 @@ public interface DepotItemMapperEx { int findStockWarningCountTotal( @Param("pid") Integer pid); - BigDecimal getCurrentRepByMaterialIdAndDepotId(@Param("materialId")Long materialId,@Param("depotId") Long depotId); + BigDecimal getCurrentRepByMaterialIdAndDepotId(@Param("materialId") Long materialId, @Param("depotId") Long depotId,@Param("tenantId")Long tenantId); } diff --git a/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java b/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java index 5d107f3a..ac02cb01 100644 --- a/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java +++ b/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java @@ -30,6 +30,7 @@ import java.math.BigDecimal; import java.util.Date; import java.util.List; import java.util.Map; +import java.util.Objects; @Service public class DepotItemService { @@ -819,8 +820,18 @@ public class DepotItemService { */ public BigDecimal getCurrentRepByMaterialIdAndDepotId(Long materialId,Long depotId) { BigDecimal result = BigDecimal.ZERO; + HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); + Long tenantId=null; + Object tenantIdO = request.getSession().getAttribute("tenantId"); + if(tenantIdO!=null){ + //多租户模式,租户id从当前用户获取 + tenantId=Long.valueOf(tenantId.toString()); + } else { + //无租户模式,租户id为-1 + tenantId=Long.valueOf(-1); + } try{ - result =depotItemMapperEx.getCurrentRepByMaterialIdAndDepotId(materialId,depotId); + result =depotItemMapperEx.getCurrentRepByMaterialIdAndDepotId(materialId,depotId,tenantId); }catch(Exception e){ logger.error("异常码[{}],异常提示[{}],异常[{}]", ExceptionConstants.DATA_READ_FAIL_CODE,ExceptionConstants.DATA_READ_FAIL_MSG,e); diff --git a/src/main/resources/mapper_xml/DepotItemMapperEx.xml b/src/main/resources/mapper_xml/DepotItemMapperEx.xml index 545c50fd..642c9073 100644 --- a/src/main/resources/mapper_xml/DepotItemMapperEx.xml +++ b/src/main/resources/mapper_xml/DepotItemMapperEx.xml @@ -618,6 +618,8 @@ jsh_depothead dh,jsh_depotitem di where 1=1 and dh.id=di.HeaderId + and dh.tenant_id=#{tenantId} + and di.tenant_id=#{tenantId} and di.MaterialId=#{materialId} and ifnull(dh.delete_Flag,'0') !='1' and ifnull(di.delete_Flag,'0') !='1') as curep From 5e7b0d692d7a03aeac3a9145998c2c451f8df373 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Tue, 11 Jun 2019 14:47:54 +0800 Subject: [PATCH 095/117] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=90=AD=E5=BB=BA?= =?UTF-8?q?=E7=8E=AF=E5=A2=83=E8=B5=84=E6=BA=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 91e0e7b9..0795eed4 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ * DB: Mysql5.7.4 * JDK: JDK1.8 * Maven: Maven3.2.3+ -* 为方便大家搭建开发环境,分享了下载地址 **http://pan.baidu.com/s/1nuKnlNV** +* 为方便大家搭建开发环境,分享了下载地址 **https://pan.baidu.com/s/1iuNOSuijcU9vrVT4PCl0hQ** 提取码:bik7 # 运行环境 * 数据库服务器:Mysql5.7.4 From 41086d71063094cc1b6e759c05cebf9c211e7be9 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Wed, 12 Jun 2019 12:30:14 +0800 Subject: [PATCH 096/117] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8D=95=E6=8D=AE?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E6=95=B0=E6=8D=AE=E9=87=8D=E5=A4=8D=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper_xml/DepotHeadMapperEx.xml | 33 ++++++++++++------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/src/main/resources/mapper_xml/DepotHeadMapperEx.xml b/src/main/resources/mapper_xml/DepotHeadMapperEx.xml index 4b5df748..6dbfa42a 100644 --- a/src/main/resources/mapper_xml/DepotHeadMapperEx.xml +++ b/src/main/resources/mapper_xml/DepotHeadMapperEx.xml @@ -3,11 +3,9 @@ - - @@ -42,15 +40,11 @@ From aa2588b03ba43ca0a52a482fdd193511096e4d14 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Wed, 12 Jun 2019 14:18:56 +0800 Subject: [PATCH 097/117] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=BA=A4=E6=B5=81?= =?UTF-8?q?=E7=A4=BE=E5=8C=BA=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0795eed4..167a57be 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ * 欢迎加入乾坤平台-华夏ERP群,群号码:693725296 扫码加群: ![乾坤平台-华夏ERP群二维码.png](https://qkpt.top/mnt/upload/2019/04/乾坤平台-华夏ERP群二维码-5ca242ee.png) -* [交流社区](https://qiankunpingtai.cn/symphony/domain/%E8%BF%9B%E9%94%80%E5%AD%98) +* [交流社区](https://qiankunpingtai.cn/domain/%E8%BF%9B%E9%94%80%E5%AD%98) * 联系方式二:QQ:752718920,交流群二,群号码:120725710 * 部署如遇到困难请参考Wiki文档 **https://gitee.com/jishenghua/JSH_ERP/wikis/pages** * **[本系统演示地址一](http://39.105.146.63:8080) 如需试用,欢迎注册** From e3711f4778cdc2f9edd5eccbcfb9e18d5b1a2e9d Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Thu, 13 Jun 2019 09:23:13 +0800 Subject: [PATCH 098/117] =?UTF-8?q?=E4=BF=AE=E6=94=B9sql=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/mapper_xml/AccountMapperEx.xml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/main/resources/mapper_xml/AccountMapperEx.xml b/src/main/resources/mapper_xml/AccountMapperEx.xml index ff2e11f1..2fa45d2a 100644 --- a/src/main/resources/mapper_xml/AccountMapperEx.xml +++ b/src/main/resources/mapper_xml/AccountMapperEx.xml @@ -110,10 +110,6 @@ dh.AccountIdList as AList,dh.AccountMoneyList as AMList from jsh_depothead dh inner join jsh_supplier s on dh.OrganId = s.id and ifnull(s.delete_Flag,'0') !='1' where 1=1 - - - and remark like #{remark} - and dh.AccountIdList like #{accountId} From cfe1683861fdfb4adc958d0c31e4ce0d2338d13b Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Thu, 13 Jun 2019 10:44:12 +0800 Subject: [PATCH 099/117] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=A7=92=E8=89=B2?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E6=97=A0=E6=B3=95=E6=98=BE=E7=A4=BA=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jsh/erp/controller/RoleController.java | 41 +++++++++++++++++-- .../erp/datasource/mappers/RoleMapperEx.java | 2 + .../com/jsh/erp/service/role/RoleService.java | 7 ++-- .../resources/mapper_xml/RoleMapperEx.xml | 10 +++++ 4 files changed, 52 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/jsh/erp/controller/RoleController.java b/src/main/java/com/jsh/erp/controller/RoleController.java index acef713d..1c99f729 100644 --- a/src/main/java/com/jsh/erp/controller/RoleController.java +++ b/src/main/java/com/jsh/erp/controller/RoleController.java @@ -2,19 +2,28 @@ package com.jsh.erp.controller; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import com.jsh.erp.constants.BusinessConstants; import com.jsh.erp.constants.ExceptionConstants; import com.jsh.erp.datasource.entities.Role; import com.jsh.erp.exception.BusinessRunTimeException; import com.jsh.erp.service.role.RoleService; import com.jsh.erp.service.user.UserService; import com.jsh.erp.service.userBusiness.UserBusinessService; +import com.jsh.erp.utils.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; + +import static com.jsh.erp.utils.ResponseJsonUtil.returnJson; /** * @author ji sheng hua 华夏ERP @@ -75,11 +84,35 @@ public class RoleController { return arr; } - @PostMapping(value = "/list") - public List list(HttpServletRequest request)throws Exception { - return roleService.getRole(); + @RequestMapping(value = "/list") + public String list(@RequestParam(value = Constants.PAGE_SIZE, required = false) Integer pageSize, + @RequestParam(value = Constants.CURRENT_PAGE, required = false) Integer currentPage, + @RequestParam("name") String name, + HttpServletRequest request)throws Exception { + Map parameterMap = ParamUtils.requestToMap(request); + parameterMap.put("name", name); + PageQueryInfo queryInfo = new PageQueryInfo(); + Map objectMap = new HashMap(); + if (pageSize == null || pageSize <= 0) { + pageSize = BusinessConstants.DEFAULT_PAGINATION_PAGE_SIZE; + } + if (currentPage == null || currentPage <= 0) { + currentPage = BusinessConstants.DEFAULT_PAGINATION_PAGE_NUMBER; + } + PageHelper.startPage(currentPage,pageSize,true); + List list = roleService.getRoleList(parameterMap); + //获取分页查询后的数据 + PageInfo pageInfo = new PageInfo<>(list); + objectMap.put("page", queryInfo); + if (list == null) { + queryInfo.setRows(new ArrayList()); + queryInfo.setTotal(BusinessConstants.DEFAULT_LIST_NULL_NUMBER); + return returnJson(objectMap, "查找不到数据", ErpInfo.OK.code); + } + queryInfo.setRows(list); + queryInfo.setTotal(pageInfo.getTotal()); + return returnJson(objectMap, ErpInfo.OK.name, ErpInfo.OK.code); } - /** * create by: qiankunpingtai * website:https://qiankunpingtai.cn diff --git a/src/main/java/com/jsh/erp/datasource/mappers/RoleMapperEx.java b/src/main/java/com/jsh/erp/datasource/mappers/RoleMapperEx.java index 969a0cd4..3fb62fb2 100644 --- a/src/main/java/com/jsh/erp/datasource/mappers/RoleMapperEx.java +++ b/src/main/java/com/jsh/erp/datasource/mappers/RoleMapperEx.java @@ -6,6 +6,7 @@ import org.apache.ibatis.annotations.Param; import java.util.Date; import java.util.List; +import java.util.Map; public interface RoleMapperEx { @@ -18,4 +19,5 @@ public interface RoleMapperEx { @Param("name") String name); int batchDeleteRoleByIds(@Param("updateTime") Date updateTime, @Param("updater") Long updater, @Param("ids") String ids[]); + List getRoleList(Map parameterMap); } \ No newline at end of file diff --git a/src/main/java/com/jsh/erp/service/role/RoleService.java b/src/main/java/com/jsh/erp/service/role/RoleService.java index 74267a23..af1534bb 100644 --- a/src/main/java/com/jsh/erp/service/role/RoleService.java +++ b/src/main/java/com/jsh/erp/service/role/RoleService.java @@ -23,6 +23,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.util.Date; import java.util.List; +import java.util.Map; @Service public class RoleService { @@ -50,12 +51,10 @@ public class RoleService { return result; } - public List getRole()throws Exception { - RoleExample example = new RoleExample(); - example.createCriteria().andDeleteFlagNotEqualTo(BusinessConstants.DELETE_FLAG_DELETED); + public List getRoleList(Map parameterMap)throws Exception { List list=null; try{ - list=roleMapper.selectByExample(example); + list=roleMapperEx.getRoleList(parameterMap); }catch(Exception e){ logger.error("异常码[{}],异常提示[{}],异常[{}]", ExceptionConstants.DATA_READ_FAIL_CODE,ExceptionConstants.DATA_READ_FAIL_MSG,e); diff --git a/src/main/resources/mapper_xml/RoleMapperEx.xml b/src/main/resources/mapper_xml/RoleMapperEx.xml index fe0900ec..dfea5893 100644 --- a/src/main/resources/mapper_xml/RoleMapperEx.xml +++ b/src/main/resources/mapper_xml/RoleMapperEx.xml @@ -35,4 +35,14 @@ ) + \ No newline at end of file From 69c30c49a9948fb3c8e6913c1a5620bd7c52d832 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Thu, 13 Jun 2019 10:46:28 +0800 Subject: [PATCH 100/117] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=A7=92=E8=89=B2?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E6=97=A0=E6=B3=95=E6=98=BE=E7=A4=BA=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- erp_web/pages/manage/role.html | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/erp_web/pages/manage/role.html b/erp_web/pages/manage/role.html index 6141c3b5..d0689894 100644 --- a/erp_web/pages/manage/role.html +++ b/erp_web/pages/manage/role.html @@ -398,9 +398,7 @@ url: "/role/list", dataType: "json", data: ({ - search: JSON.stringify({ - name: searchName - }), + name: searchName, currentPage: pageNo, pageSize: pageSize }), From 2adeeebc3002bd69de93321d66e72a861f839429 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Thu, 13 Jun 2019 15:09:09 +0800 Subject: [PATCH 101/117] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=A4=9A=E7=A7=9F?= =?UTF-8?q?=E6=88=B7=E5=9F=BA=E7=A1=80=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sql/jsh_erp(后续更新参考这个更新).sql | 51 +++++++++++++++++++++++++- sql/华夏ERP数据库设计汇总.xlsx | Bin 86961 -> 87603 bytes 2 files changed, 50 insertions(+), 1 deletion(-) diff --git a/sql/jsh_erp(后续更新参考这个更新).sql b/sql/jsh_erp(后续更新参考这个更新).sql index 9fd03f74..f401d0b2 100644 --- a/sql/jsh_erp(后续更新参考这个更新).sql +++ b/sql/jsh_erp(后续更新参考这个更新).sql @@ -1763,4 +1763,53 @@ update jsh_supplier set tenant_id=-1 where tenant_id is null; update jsh_systemconfig set tenant_id=-1 where tenant_id is null; update jsh_unit set tenant_id=-1 where tenant_id is null; update jsh_user set tenant_id=-1 where tenant_id is null; -update jsh_userbusiness set tenant_id=-1 where tenant_id is null; \ No newline at end of file +update jsh_userbusiness set tenant_id=-1 where tenant_id is null; +-- ---------------------------- +-- 时间:2019年6月12日 +-- version:1.0.16 +-- 此次更新 +-- 设置注册多租户时基础菜单列表 +-- 特别提醒:之后的sql都是在之前基础上迭代,可以对已存在的系统进行数据保留更新 +-- ---------------------------- +-- ---------------------------- +-- 多租户基础角色模板 +-- ---------------------------- +INSERT INTO jsh_role(Id, Name, type, value, description, tenant_id, delete_Flag) VALUES (10, '多租户', NULL, NULL, NULL, -1, '0'); +SET GLOBAL group_concat_max_len=10240; +-- ---------------------------- +-- 设置多租户角色拥有的应用和菜单 +-- ---------------------------- + +DROP FUNCTION IF EXISTS _setTenantRoleAppsAndFunctions; +DELIMITER ;; +CREATE FUNCTION _setTenantRoleAppsAndFunctions () RETURNS mediumtext CHARSET utf8 +begin + +declare _apps varchar(1000); -- 所有应用 +declare _functions varchar(10000); -- 所有功能 +declare _functionBtns varchar(2000); -- 所有功能 +declare _success_msg varchar(50) default '设置多租户角色的应用和菜单成功'; +-- 获取应用列表 +set _apps=(select GROUP_CONCAT(id separator '][') from jsh_app where tenant_id=-1 and ifnull(delete_Flag,'0') !='1'); +-- 获取功能列表 +set _functions=(select GROUP_CONCAT(id separator '][') from jsh_functions where tenant_id=-1 and ifnull(delete_Flag,'0') !='1'); +-- 获取功能按钮列表 +set _functionBtns=(select GROUP_CONCAT((CONCAT('"funId":"',id,'","btnStr":"',PushBtn,'"')) separator '},{') from jsh_functions where 1=1 and PushBtn is not null and tenant_id=-1 and ifnull(delete_Flag,'0') !='1'); +delete from jsh_userbusiness where Type='RoleAPP' and KeyId=10 and tenant_id=-1; +delete from jsh_userbusiness where Type='RoleFunctions' and KeyId=10 and tenant_id=-1; +-- 创建多租户的应用模板 +INSERT INTO jsh_userbusiness ( Type, KeyId, Value, BtnStr, delete_Flag, tenant_id) VALUES ( 'RoleAPP', 10, CONCAT('[',_apps,']') , NULL, '0', -1); +-- 创建多租户的菜单模板 +INSERT INTO jsh_userbusiness ( Type, KeyId, Value, BtnStr, delete_Flag, tenant_id) VALUES ( 'RoleFunctions', 10, CONCAT('[',_functions,']') , CONCAT('[{',_functionBtns,'}]'), '0', -1); +return _success_msg; +end +;; +DELIMITER ; +-- ---------------------------- +-- 设置多租户角色拥有的应用和菜单 +-- ---------------------------- +select _setTenantRoleAppsAndFunctions() from dual; +-- ---------------------------- +-- 删除一次性函数 +-- ---------------------------- +DROP FUNCTION _setTenantRoleAppsAndFunctions; \ No newline at end of file diff --git a/sql/华夏ERP数据库设计汇总.xlsx b/sql/华夏ERP数据库设计汇总.xlsx index 094a53a9f4bcf98aaf39425fc483bdeed95a92d0..b596436d82435ee65906855888e3997c553a6162 100644 GIT binary patch delta 67798 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≀q>A7vdUe=r7&>r8>_<;Qqj9#;{CI z&ZGkHT@gl!3ytxdNVK`cC59aq_KJ=IA$x`Q^tq!Xd_)tXkA)`@uUgTq@+^TH3E8n) zW_#ov$MjQ~GfJ#!45@LkI&~`#ySJ))5Vn$Z_H!%5UrUvi0TqfQx!|(*U-uJHq{0)Z0G(%zRrc0HB{4u0aWB2fB$TQ z{JcbM#$=xwLU@MFJ|`38?1C<(_33F%ksrC?3;pA$S? zRoDLuzBmJre*wZ5$5Vn1a+}q}{m`NOb+g-$ZD6Uw!o`6d<2df`$7J`2{@yaNzM>(8 zWw2$myO3Jh98T{f*1&0qFPk8tMC2u?l$V@3qg<#WhtR#omEgT+|wop^X@*3_yN{2hi6jkBR z%XA=oao8w39$bcwq^yWL{T#)bZ8`(3&Z~!z^@{&yJ=`)dGerYx1Ho z8!{FrWee6xR(3pd8pY_d!gZ1x+`6Y~z>o#d8qzuP(vVnzLfCm^vA$$uby&Pe6CvOS zOqHHL``Bp^Q;ixoM-Vz~Ixk4a^TP8VWQC#`UO8H&RH4q1Z_H#hS>0WQ$MML0P^0zg zf4=xfpc13~le}qhm3|KgRwSYW&&$B<4?qEa#O zFHss(Ry}EUwue;_*r9>)bwS#H6#Vm!UV9Aw>4qj}LT*Lu*|^Ev=%VjSphDq(8Gf%G zH7E*ui7x-F{A`j%0yoz8$8!_#ihTvcB5N0#bsV^`M&Qq2Sc8OLDO3p;9}paB818bF z1j_8nFl)(hD04rS|B+jQ^4%pzp0F}skH_d3JMGe1TA%-smH6IlZva6l)jqOK?Wege z8U6i{k+k96Hy&eR%y2FO4fWypfSXx#ge*_nUUajYI)ZXR2`F2r7J>Esv(*wIjd$Bd|mo5&gO{> zd1Y{8Q{3v*(8?UMsbacoH?fR?=-ko}gamU81-z(FzEz*4BvbSJ|FvLf?)4>su1NSU zbq?QB5RhJ*KKFV-h3Up>`U^{_WBI4L3IuNB4haVg`1WRW#8MnXAS)@{TOF1Shl4}| zBBTK>Rc6qT?aJ!Uw~u^=(~r55+X{V0!XDl2buJnex$N_|JSJ_lpB;2O%=kMozjA6fhT%Of5V<_;km`!QHawp1|=d3rk zyJV8`+z|pS(DQdm?lXmTh-u!n_&8-$?)FzO(c1RfZ2zK4sIHCm+kBAl4xA(wz2nav z`KMGlD&BEh5PTkHs=#}`xxW(vhB@0nsD^-io?K4|fOXj*5bs8V}qh)WUhUg~uJ4l>9@dpylpD%x|RXYzk zWsj}4AiH;7^GrLPNGwg-buF{ByFdUDJ*iPlG%5zbhmm9MqUUPQBgL0 z;ehcLZZGZ@`N~g26Rq90$%c5qw4OTxL|#|?O$i}n&9wzuTBX%GWqeHD#p)7}1ic~h z*Uw`O$gqbylSzu(#_mOlvaQCV_5yd$?_Dq8htn~?K95ozXA^?;By#WOh%Y$I&+yOy z>9C=pMW;qcO|->If#vuilQg0-VGAy937~ufdf97P!;*IREu{b}w7U3C7B!)XV5Tne zwQYtqsPsVrh8L40kclIWqYhUp;1j#%d($?CI6tj%{$Qr!qk@N8Cj~KZ-s>Qn7h3&{ zJ9i1YQv8_^{0&e840HUZ-BP~EKlO_OH5`Xazp1q-ZY_C5jpx2OP5xqGeETKw1pwtL z!Dn-Ve3Ar*H3RF&wlcgIYJeuu=T86%GZupbaZj*v;*Ot68S)K|n61N$nU#P?&4G(% zC#Ynb6`2_|;;Lt7<%wohX+in)uL5lpwJqT(Co^q?=7N36v6Y(%Z0cR6&}T*nbqX5t zhEiG2JAt0~N{zoSAsAls%=G~#z@1Q|tl|FqG$Y1%wO3eaKtuc5C9o80Uf?3*+s>sJ zkX6aiA)ivJq>(}bE#QxjkF>6UJjX70Y;sgi=fKps`?v7=Rv$m1Dlw9JOMLm5Lnx{a zrw*tmnVXm$NspOD6fwGPx79yOKeEpjgP~*$b#50h9spo_*4#YgbKpah{^GU>ye(Wl zi!Z|fS@8>2eDY4`4H)4M%_h$4R>Sg%MYG?IC=PA(-xDbKF;=j}U)lreE>)i(CXMle zU4M5D`6F_pYNdaMaVooe-*Xmq?5?S^48(Rn;_kdEaFl72KS=C@y}pH5OL<{+YJAyk z)N&h<&QfV3Y;YEzLYEABKauxGA&{kvi zctOCExEJ7+-IrpByrdN2e$0ymcjk>`vYq1&GaymUX2#m4`OrfMdNgB0-HhOgAskZ~ z4g4D-Aji53rYW!kPePU{1A9dwz67V2_sa?cNU~0+DE<)-16~GZsXViy!MF+~iT|`g z0m4s>YX`jFev;WI!P+|te4GzHiXaMZ;0$7H%0!-wYDAB+LwVS5K73P&Gs{mB_sr)B zr>{aE_WUUQ9yZ4eJZ4L-8E?WfO{s(n^`FDcTR3?e6ChudLuLofEd2iMN zirD1?998)x<5+=;7V<2B;446U&1547oZchW29ff1@{wmDGHH{?y!Q7u{+-+o&Ur_(cAURxg zKK`=Xc;=hTtpO^F(e827l}K^lZK7qh*qBEH6*Snp&#E&SN2v&TxS92K18@;MB%i2x zQW{SS6N1qtAn)wtJT@uq=>C&J0^8&)Iisjg^=9`+G>!iPt=eQa2&z z25A3*+HN4ls6)}#R~Z|zOTPoEf!1t< z;CR?(9ixt+gmPVrGeY9L?ud0qD91?gdX8%?3ESw?FDORSoqHYB#I$aru<5tQTF~6I z&SDY%UjFqjHuhtQ>sQZo_@$=o&!+VyR#FDX9KXd25+WQKhS!+!AJY-M6Z*^QxB+684jC=~LLe_d;X` zL|v^_utoa!LS>H~UmlW2^nzrM{k>4o-vxur4p8{J>ek|*8UW9|jWZIrgEG3iSii|! z*`iM(fFrVxK?uw%uSu?WDs#aU0b6v)w8pVH=$dp|ZhPAJtH7+%T_W(CKPP2pn;{t* zQm=wTPpZ_TWFOPyuumd9(m=(eqb*8>p9dz`)W|m_24G7}S4u6!FM<^71Pf8ZwVl}h z<7MEHREB<;TM~ZXb{|$7HBtR(PltrbIP^awSH`FVBZV51N9{^j***ZgB0vpi3BH>X zWQ-#CnJJhT-}1m1;uLA(Z_ucgsae&8l~CkxXPLi-%tb&T(bP#J!@n5<)nDNbmB1-q za#7%D)}Xoh+P~Lj;!tQYr(K@JBo6$}@IQ1~A8YQ7YGm*!{v3;6h^1`_vncZ-hd_VP z4LOTbBMYVY0b~Kt!4|j=A#Kc&fF*^N`b^Rjy zDmpB~j`kSle7?Rv;ca{WhBNcf!Wgv@{{;G1P3L@~K1I!tVN`?@t|epv|V@nZSfLB!5^E|BxiZ(Dvwy(^*9`SF>`2O#;9dwd71TUpy+ zxGE6!Sr9o_$g$i7f7Rw`^&v{G)##->v{1h`07@bqKeQwoD%sMPGWfVII{Qvx0a>Su zK|LwbX|toM>Czf^Z-CF7udnU*TghvTfegTP8PDxaiZ5RT-pW(aEnYG9CpcP*4ScDU z+Er9=XazBtewkdg4$o)Bkkck8e|ORTlUTrPD+B00SZ%#r@Mga*t;6f{)fV81D-Fm~ zynOx%lEe2?^t1u)QuDT!4=1YO@Q(HNs|Qw*OtRjbVZ_;lCi-f7b9HUghAm^#Rmtak z?flUhHuLfGI`^p-vTR;gy-7i8qc930V+X*?e051%^g`>xTDLCe4vT2Q`xsS_Ul;A@ zwUr9(__!+gOp%wsZf)Q^B^#bk)G&VqkbUYsuFZHzk?2wUg(@jQuKG7ikm~5}03~9+ z-JKX#%dF$!zH9jC>hpCJQP2JMu_Y_BqCOlfh^aFvsX2(gbOB?@sa$RUB*>cTJYRRQ zZMH3KAX?rGJar->tz`USb+J#7pomP0`^AZcn3 zyIGJXjvVJ_lm%5O4pr!2VtC2$$0a`aN+pufnTH3q01U!K)egE+s!Sw1xm}W_tFL)G#kIJX)pfm_CG%Pp zgKUtn0XB#VbJ^>YpDmKp4!CJOv0S@a=GG4cr&_^!D8>5KiVEp3E6!HaMIEQxl>Nro zsm=jT^0arslnKLScRBYE(`C^Y)9D|mb=m0yK6z}s#|TGSp!1F<`6<$v08`B82X*am zT?4ENHeH`E7FM|zLxhAYMfwDR=~7*lNdl{qq_aa&=A27ebh+#Jo>6O0G~OROY}=>} z-_8`H@Ea@ZJi=TwNAV)e#7Bh@5TsH^+Eh}+)MHww>{8M@rkjWz%qd{67-HW)dO=ze z(!(D^{ym+ivZP%%_87hZi{qRtZceZ{0Mxoxxuo5ZBU9m3Oh=5SK=O+%B2Em%2e`@L zM+WA&AriXrOe@z1!?`lKQD|Frv4&Q7{cTTla((_q9YNIW=H@yZCtFeucXJWw+N!1W ztEE-_i}Kou^IBEmrmb6kZPMVV(HjK0LNIF#4Q9>d<<|X$%K0K-?JwS2bfTzaq<9!8 zMON*m1Q>|)yxaRs$twQk4~q7Z+AuE;4ue=vrY?_lr_Tbl$nY1dV3A1-g-c+YT4o!^XewduSW6np|& z$oYC{-|w`28`UHLWjZx#E^id*MGyHf1?e{J9+hbACC1O)sB--t9r^Dy%kx-^a>J+F zp7IwRnBdue+$364i>e8#d{_I0Wh2w{RFhqn4H7#W%I=-?&V|C&Ph*Zl%LUI6BEgulZV+EOnP zt(PEd*sjf_i1iuJFA`ywqsE1Z!FE&+ns3sp6TuUKY5Dr51_#osolFgHU_Seu^2dDV zxc71hy-pqgvdPqh4$&7YSCpXY_>Oz+ThZLlvbKHc5*=^D;4@lY`f)#uoa=K@rnneX zBb*`yrl?)~ZP#zdG*@~X%x({K9(|KN`=DZ9@nqU>>cJEd=k^?h$2Tku}#F7IY9`$=0m^WGWw3mrN-YM_ElcNbU?Ke(v8gH)E z&2sDYjkevX<>)YNU+VrgG^zc__IF~4knyr;Sw03P%X!3!=+%1^s_>u0`=2RvOK09< z8>?{uralu3VML;89*TUEG6GvCoITOa{)jl_MJ5O21GRZJE`*n%rcSHv##X28#?A#c ze%WT$-xfA@^zN#YhhOK}8We?DAox$$zuM+u-Le;LBwdEpKcK{f?qk~W-!XotT@d^f zeCJKt_RcmjDDZM-c5j5`8GViWg2?LKwl$6h^ls<;y1zn1^t$((juK1Q`Xugvua=#3 zhW+6p;XSvlre^xI6Sl>kvBcNeV%hQ>&7Y_fxW%m3{M(V{_bOPcg7KjP;Bf!i)~+*S zvw0Y*hHW>mJ+EdSl2+mem0#r8^@x^+2+ma8f`Y3VU>+Zhyy8W(MSIO_u0!4+*8@cr zz-mXx`1_9^V?5i81%cgC>}Hw;6Xb9?JP!dVZ01~Lyik(KT8{n2qOpFNrmp8gS=_gb zYX)5RKnewOIxys1x0DPZx8+*~Pf$%*MTw^Z%lT{h_z(UG#Vej*kj- zR{V;5iY`1Rxl-=G1a*l41(N~kH9IJ-sU8^p>1w5Z2bC4ZE+H=r5m_)U6TBJPFk8<0 zR-g+GBf;Lt{+e-q@T%edac9E6T#VIMi=@RB*~w`d3~+vMpRif+B-zSY?jYxt0nknG zY<~@=+_-u!z)6+{F?psyhH|8ep+y?LcFbrqu4~ND%1cC|A=$p_Wy6x&sI9hZQ+ocT zxzCEseu)0H>I=!n66m$3_0;)=R*qn|jMpXT-DMKaoBS*6R6cs{muY!_jBi&&X#V>n75g;6tR7J2L z*@U6zvq9xsnXc*y7Ejj1d~1K-ke`IX9{W!Hmf#Qy~Gc;*#z-LtVwTNAT4%HiK2e>v;3`y(Yq|G_dAn)RyO2V$IpB! zS4&@yt92@kteevc!H98BEWq9)s11dihhm4mt)50_V8oDF;T~KuI*(>>0+$1?X z9m`%3Xx~ri*%0XVLkyMGR@8@lBd1YZ?V_~YR}OqpZ_`aA1A;D`y8+(n$l3~NS&CTs zleP8j!;PhMRIpMYdI}r7t`u!6p-M1TCVTB3sv`SRWnA+wdhZJVyFcoL@EY7-{TxI0CBb?Sul^alMwt;aO4$%fe zrW#2kYKu{ehHa&-cYyFE0>vP?Yt(`I>yTLO=L#<>PEu&sR}hAWhP;(WAC6NY2yo4 zw7dfdA!N@cHLb}RB}apzF0$0uPv-O~=eP(Y6wrkI?iPcK5ZB)E}M zJ7MXR2TaDK@AkreMMngU;)2bpAq`g$+Nel}ea%(<7Ge!89~vp(-LkCY2PG+yGBl*6 zm-2x0C6B>t}0qr2f zOz~?v$~s0*ETB3`UT4y3E&`q@`_=trs8O+rhyCvJHxB>jVEDdA?tczoQhmJShG?R`WDrFT(Fv!jb1vPS={V~-tB^cNWU z+c=4-AnLfov*8M2K^QrI41sQ7NTqKiVU6<|uSQ`ABN9EIwW}(#+$5?7O`wX+ODKX3 z)#J9N1b}*9=sMr2wVnYGYo+5GFfN9Q?I)tSj`;K9nP(xBb!XLXRAqHu27pySk=bY1*SB;PYe0z>eL5dl_5q^-YI8 zp!v_bL$PR+rRX|FxMdf1Tk%TktW}<6(HPTL6yQfn?OxZ)PJWD7uJ^+n!tbK;d&4XC zTjPnfMVPh*SFL22f=$i5i0<4|DZ8TDc6Ip1;Zdb$K2hK!W7}Y;T1KqVaTaK)Mxv#P zTS)2B5sqd?L@Qc_o2wF;NJjRIh3$Rvupg{x(=1@9B}tcr)SWATR<-(q%+-Sg02VHj z0QIH~r|X7NBQd8+*@jOFF3X&62NcZN3$(|Wj-%h;3PQNhHFZ>W^9HpQs#>4dlC{kL z)^~`8w$#+Q5g1W^B6Xd8FXk-X33hicdkEsO&tA|4%V#5w_BT6M(0mZ;_CAohdgX4A zmpZ$8RJ7<=8R`D3^hlr%(nJ>mLliiy1ZY(h!$_B)Mu*{QOc6@p=}TJB>M&SRpn)^f~lhuKNMv$x{fTR^E$^tL!gyN0TPtpjfn8ZXc#(C6I?tkKra!40v)f zx&_NKhZ!ca1FBi?lPaaY?ba?0K=(rsy`HDl)$4}(2KCj_(rblb_wDk3Z)u&rHSnuh zNo&j*@H+frCBY7!hcd_ZIqJ$xq^!-(m?OQNv`jNBZ7v*+$ou@tr{rpj-NIc*Va(&1{|A zlo4FF*71)z!@q-3#43-*M zh@02m=InE=lzu&I5vYLDp5_1kHSMKz05z`7r|nu*@8ailo8`lIo;a09Y7gEmzoyS# zY`da8O_>fmuy0H_?sZ({^-kPer4pjiXviK74A!wL;$)1WSo;zremhH7)K_o7QJww9 z;7-rlEpsw6vDUa4TT6mt&{-Z!QpsCOs&FECq4bAprmNsEk+P&Z3+hrUOMjZzw*)z zR{cr7@lNNcGF?-fchpLCGM_ZX9JCWT4&R2BSXYeTT%W?xph$vAwZP>y!Rl!| zRNYSUcB;P4SYc@IebZ;Y{6hOC46reP_k1E{QkyD-shOB(4Y;RHKdIlO@;q#>UX0Kw%}$NgQs`*YIHau+M=_D@Ki##V+?Qab8IP`MKu7vNW6@DuDY z#d=3MsHrbx%dCF)t9mi|u>t5uGtD2&E&I6(xZU~^g{Rw*RF+Hj0Ke&m`kfTWICKXW z7JeQs5-rO=={Lc>u;lywwXy>%^*;#p(~jw4eMB+e< zs)k7H?dQVRQp%v*ZlkB8>y&3Xqh0hW#G2f-O9=8&pd`n|to+{}r@K;!WFYE@$Q`2fga`^t}1d?#+saGd7v zsB+za!s7SZFDH_vzLFyXJKtBV!$<2oRH03>S8PiQf~tHEi?ZGmxa(oAW|rOdID2Q) z<9RE=kOMq)k@3CEzOebO(<6ZQAdwhk*gSS!Wp-a%&Q`X!{I2#>Hh72bR^Ui<``+y6 z9*17J&N5a{6?Kw)-V~Mbo_Ts!Zbrm6b?uHU=pzD^);!N+4DK{a>mE?_KICX z*YnUzHQn>op*HpTx_ngg{@(A_{TYO~{UU0RislloGnEBfqim4Q@zsKn?S0hMV28;} zn0g z9cZmK<@>&ykmKEBaB2%RgKr!7rY8NRqQDkJ1;-wDr}uGwzrG!4>G@cohu)n%<;;dt;QJE?F z3>ksGPc^s+BO6y;G!dLKSMl&9pXDWwHERZ>*D9dhYnodJNIcUU7!qu;ApDUu&L8m* z=9+z}mb`R46zUR$Hol?-LhgqU!(mg6*@Olw^~5;o&6)P| zhiVur;;_|^i}KF>u22oO?2r4Gh7>&>pA$Sez30=_m~Do>191rI@XC31C5b&p;$DeJ zwNwv$&oUe}a`Q-k@8iyu5J!c-A+5K@Qe6P`U=a4d6>Ak&=(dX6`?3eC>9HLrCq9FG zAy6RfMAP>Na-N$3pVz$66ZT)BKfG?=w>!TMYa%fZI1wvg4u4oR!c8SOP6=T#TBe#~ zhLR|i8r+HQu}N;0R72ZI@V15K?Y2$PA~*lmCoMIX@7L%#0KS}a)=<@{h zaTc*&6q|SpFfv_ePO?pwQXsxmu&jm}*S1U08byL>yBY|L7<7!|a-K9NmTVw3?8Y!E~fY(HFFX2Q8;iWA^3z z<2;NSYYdvRhgl*^^p@d5oX1Z{xba51EIrHBpJc7+mIoQ6|WM&CxW+ z@KDgdRxO+x^HK>h!bz%WnIELNGD1aDEQQN@C^b=Cv!G&BGcWYz^he^$%k z{L$_Jk1fAQq5h6dz?#Z2c1sZf>Rv$s@0B&PXsZw2nrfleyng9vU8g3kj1Z$bkM8|o zyDk_U)!l4n$+Ku#&n~YUJ$xl(S%h@R4Aejagg!Cc1%q1!|aKx6M-*&79B!o89YO^ zSTpL*-1lv#|Ffu_g_%t=H+~NO0fi+<58>OZXFLSi4Q0{ds>AO>C zj3j|xjA$Al=lg6|vhCyjS)=FmRkh6fywk$>JLqv80C=p~_Luv;0k#G}dozWFlwOaF zSh2^)${L54gDsaeIJ~0*kL``UNpQD8w1sMNA1exlL`U|OsXRayXWfH#*uv}ggd?#z z@h3Q3oy^CM5~uN#$HOiW{7EovcaQ2r%4<9i`4+iVH}mRwlDf;;F(|h{;0&eVi>#X( z(p@)EeAHi}3|4yaBeT@~j~2sId=U}@2X5BaI)8x7;d z?J07^n`WWWn%AikKXvPkF4G`O_rr$Jp_ntAes{Ei5bl_ZUA#9^MC4~EFRS))ja5&Y z{h)O#jL%(bN|nD?%hfrL*Ac+`@NtW&z)U~Kt7dhhzxjpO>tPeXk#a_(Kl-y|U+S-S zblCI02E(R-j6;HsKe}8@k~2zY9~ZN!x<3dQt93H<;siwYnqTkH2{mOzQnXoRBj2uK zoXiSR%7S9R%ke3e2|ozj0vw(GDtNj@GBv|*vZT^B^-V=qTL`q;Y=>Wi9=D|n)GYDv zR64&1oc%Zq+iRi#%64|MDtJ(Y9omsi#3p-X51?5F_Y!g6NP=+aIix#^x?{6jR`t`j zTfWSP$&O(0cHr-kLRzE!Z0R?Zd&P>jy~s;?VQD?IV*70mdf z-2Z?NKb-q$+Cke{7H||+uYG$OBh~(geWCilfGZqaN@K<4*MKP zo7<7wCNK5BjAvA~H;of-hbtq+>crkfeF(&-Y)0>)Rvls7{r3+8wmws^ z*>-p=%!#!=!(Tj!YMkX8?{~`)+`noe8BXlIp0-hCwx=3I$%!KZS3w{g*mvFPi@Gji}o@ zi7{JX!-TgFgr!~&@i^9WpJPT!i$TxUgnu?l66r6rh={bV@bV|4%tG zN(h<6F%$+`E75TE7-{r`-#6VNxLuJh`$wP^C_Rp^^e5@zGpk+ z0k}!R>s5L~3DZ5=zklB>7%j*@{*Eq?9WnbO|Bg62l%bfz4hMo;tUxOeElpP&65SV~ z{rdCj^XVkwD%zn_DVumGhOE3GhK;?(#g;Br?gy#6EP ziua`#wuG+B@%5R^e)I3BT+hQkVb5DLjf77GE+|kI)xQkq7Id21%Dkb!u=NL`UFuet{ z4;Yt2V%wlag2$hsosGQvi&6FNB2Vndk#))CwCuxMHL^ko--@(SPXmOq&E(`O3a!bi zQb&Tg=~RaxMq6UdMrcP+GTec}6eTv3-#na9-P?~_?9%-f`p0iR4AYLWS`W5q>a=Jz*maHqax51C690Lk0 z%~pwsKB#b{%_JAn!g6wAVRHWj?Uk*g6WW2_?D66G$!>?88c9%?_WCx2L` zULVHn8sMC}zsgshlq*;Wy0g&o7Eg>?CRhZ+0PY5NQHXUul!l4|EpXr>%@}tVVSj@W z9;w@mCjQ<(?>dyWLXzFcB)}%d*@u~l+ZW3BY|Lz!)?Dj2_&b!=AJF0JzdmZ?0{f(D z&MZ|g&wW~mkc45f*w={$IiGn_72A_+2IlXJp2p@P-bFtNJe(!M7crp;Tay)tZYg6m zkZ!oM0K)+$1nZGaIJqDCaeg18VwpVLfkYGml?}9q1+f1AgHBj{FhdH1kaH2o`6vJ zFa$)<)N906hrFKqw8{A8rYe@NzK}+FxfYfqZnr=35RuZt=UXUaiV#9e5F;QUjn0wP z-Gl@+2A={f5kG`4Ncq0lZ}=x+c9wudz>v7HnZAbsBY~wPAQMhJT{~2m6@pl%v!J*! zF`zmlRE+Q||5@!`X(90tCY-6L-tdyyzJUul4PD+M+?m*sdIrGw5H9RWk}wDrx*Q4qgY1EJjF~TDtju3B+G!4vbXFwm@~GQa<|4^LBTRJ)eU;;kSLDP z@2QyJP^A7_vOHy48T4Evp`;FmN8Cu!z*GipoOu1uI|)crdYbZ{W1Kjf(Iz9=Q0EBr z;$U&6FKrwqp?&Q{`Z^8T)*sd3L~-g0nqi=d8%zpw0G2rIu$`3_CTZcz@5}}*BD+Bg zKjWN0l}|C{iIHgwH7LRzhPw(BEvarXhN0pt2|6tXaw_MVNQisU!V-~M(h1{4!wf7h zHuU1mBz}`REfdRR{FTlKD;4h}o*Lg2-#0Tn@_LFBp9*XxLJnJy7Ds2ErM89eA#kwP zm=sf>0Nh!y{P0LSaS+}&MOG{jwk54t`ZmJ!j47=ZmlKv*M^?|K&Mk5&+I2yr=ORMr z0^Vk}KX9zTAG#ndt$r!KZ+a`lSqKsKO@{X3TsW?O)Y)J|7)xxly@j$WGSO^_=Q?OeGF3riu_AU52D1WA{TT+e>IPr*JdeV-E z-(scEas^Nw={3`?##xd|xb%e$=yeGeg{JwChFz*evYe{b1EzsP&Kz;=;Y&O4l&v_e zmh}UEUG-zPN`#vxKk~K!)3}>=EX7jadnqq)z%&Go>Zv{S?Uk}&X_(F>x~_B7rh(-` zrf~uR+$hJUaeNW!V5Az43KqA_&K}Ag>EKG8{H1{b^a!7{b-j!ymRiSbgmwmY$C?Y0 zAf3&<>D-=8|ADEJAar^88Hv68+R4{B_3z$W2ST;?2u$8W>4xP48gQ696TG;dZS$UP z=n>Rp<>cX|)a*X{TP=6HWD%R0_uQa_1Scb311S0MGv*_fo^=$-g2esAb)*BqDO&n( z)gJ6l?`+L1*WcoXwe|?LO06rmAAi0T-#m<;d`%pYkTH3n4@e5DH0)Q({dheeNI-Y) zGfoqia4H63i1!HuIHKmou6#!vDL`JmTEH| zn37}qR}*qOy`z`4D#0^iPn=wn5Y#Sk!90y{$(oe^P+&Svq2RBR|Cj(bx{Avu_93g4 zX0H-)K5!K;#!xIx@?9z_&2cua-1ljcY0AAa> zf?i6jWK2IUT$N1v3|N`FnT=B;R6;h7t1BxIwuG#ZU5+18{bTZ=`G!Jh|f-HFQf1*PL`U=g7Q4n z+)7q5cf4hVmQv-lMCNFaWIjU9Jf0J!LUO#6CS~pCPqoGJlDMjSJ%X~5g(}tsweS2G z+ec;b#(={Ttz|B`E0FCEMf9=DKLb^Yvj3oe9^_1!xf9_3Ef(v2X9ANFX57xluLW|H z?7s4}VQB-`^c5Ofk!QpTUnK>{i*#M1YX)$|jo6<wpT9$_}!*H7OB3EslN+lQhRN z(bY4SGeZCD6)C{c*hE;wCZa@x3<&WVU@tU9ocd=_h%?Pb;zD`oHOodFaej*L zGEzbg%27(dzU!R!MaI1AZ1g6R`oj9=W1wXI>qYaZ*w7-lL}g6(I2uUY%0uJ$W?zTN zQk80Duu+mS26n^`L}-2~$G}XHbTOo&Ua$GlctJ=Jhag=iE!)EpRPDgDAFoIj&jpB6 zVg`Pym6kORudauD6yPt<*p;q`Jz66zD@m!=uph~nVv+w5HqJbd8zX}~Y_~%i9gU=M zdG0l3msN3Wpe0@eMR1SWCfNbHS9!{#b2Nq9`zdFVyT?$-dP6K3mlVHwU@<|jzSQ;9a~GRR1T z72zamF);Q)a%jRmX#RFQE+DXjkh*{pQvC>1&Kip_yUYyCT`&PEHlw2LOD^Yr7e{p% zJ0s078F(~lLxqzfUVvkk9&Vm9c|e$=v5EA@n;yq6e>n9(ZZ;bBA}foVk^wq#d0e)n zUy|&tD!tAD014#%LuEB5WQ(Xno-wRu;FY*ds<51*ns>COD8qTsAipJ3Xe8x)AOiHs}NCWTrfp@mf9VWuPZtzUic(|Dj7 zrst37i#9$SPsyvGUwvfjDH3nwJ`@oCcFZiwrv#>6FZxK8OD17Nd&U{cKE}oWnWd}D zGd37%LrHcBycwJ#_myt?s2~xiE-B~y5x|tIY>p@}TCTxx9?BXx+<^2n+COEs6SV~2X{P8hovFC$+tCnWc_ z@N0tQWhfmDy2@S-U0)*Ykt$~Q;FJ?xnA%nfUqVmz`82V-X~|9rWF3J>Wh96C3{&Lr zN03ne$!7&-7ZNLn`^oTW@yWd%1E8axvLPK77H3R&_lhRe2#L=UR<5AF?J+9!n|ElD z6{6;ANhBCc*k!%VkP~qX=!GBS{^U2zSS4G@6PnM@# zDF62sHlES==>_Dr^*x@j&kj*>AX!r)MTF0?gpJAF_RJ13ITF$9qY>co+p9~^7+LGC zL(|ugV*&e&m+dmkm&^6Ns*amYS`q%2K6|1-b|q#>$_MnHyhA^whRiO-+%)*NNF_J* zZY7T?%J*^4V|_#MlbwSWA5N8A$COD?ydcldNCn&6m*&YbkZA?{@yMH#6 zxf6}Kz7o(Q`0;Qz_G=DEvfBYV=E#u$znsi}QZo0CY)Ss4U#fcCJdaEmbJ|7zlLg$K zSPJYvhSNG9MoWZ9!O9FaXzL$qasCHXQwp`KE z8v=T)?+0P)vSjH__Z9Z>DQc>t_*#JSlmub@=cr|~Rk=T_qx?e*~38HD8lX*_nz z3rCy*+aoVjn=zbD#`&5V6YtEfGyjklu*O=#KviRNaQRJmxCP;h&+O~1L z;YhZI_o`@i_QyPiH~afra-I*CaU7XLDl`$d!z%T-h39VUn!Kiqy+0K{QsN%iW+)cc zEtc0Txiro0d$bZA4jR)2cz1df{Tr;uuEO?B; z;i|F-;<9mO5po`5NdydCEdUKit8ZLM z9U2|iQK|dDlE~5XxsHNCiu<-vY02?YYqq=F$M|!zuS2y)D^tY9(kN+V#WhBV3muVPI^N87dq4Ijox`0iz$Spi zpOrO$Uj^4DpfKV(A925&DG85Erb|hwWQ*~;pSrFm_D`zW4)LzHscW}~;iXZleeqJ> zlwc9SCb()u`^y*&?I)bZdM^xTirm=*p~R_T*HNP{=3&Q3@aFpnsQAlR$m8>9mUi08 zZQJqWUnbA?4s|dTl*B$|wch?P@X>95K!m1;=FS*V!c)5XW^3A_P0DM}g&>(>ovg46 z?5x*>hF9DEx^rRAn;h`Bx&Dqu$OX%b=zdHFjE;ecY1sD1Srhx6Qdw-wO4|5OMl*tj zBR;=Ur2uQ{sd`=-d^pa+AivX>CUdi|G;`wvE59F|Z1)n+VHM&^lw0&{m_27H+nQM% zeRLe?3jKy8gOogP)^g~f`_+5&=_7u8!Q2j&aSpdt0NFXzv@{4CnUfs~k}!5Sp zaa7jydeC?4VNn*|I-U#}%M54m%=&TE;y_vEbEDTuVJgq(uBe(xAvxWeRD}5DUhR^l z%eBanUd)841fir%MT=CdBWA4~Hyr8|f7`ljYjax#-2vuGSDl>wgeq3kvZkuNE2Q0vA$t;BX!jLVos z*(BIXMBrKEyh{t&bf`=oCLSp22kK`ibHST5aGgn)bv4_voCI{j0K!5*%6iA1WhEF2F;;Z+7%FGbsiV|@6Qr^f;Z4o}B1+{-L)z%ek&PI} zF{6?M-^AfX8K?SFYovySCq=c(y|1fGckUAPh&C?b%RyNT_ISvFxEH{bnGrSZKI$ZT zqHydRKTgRka`B?EI9d}~E33&L10tU1fs&%Tc@zvEV{@kr!1&hp@*+f3`P+)y(2YK8 z_57D!Q*axVb#F_Av;Q1jNG`d9I>xR*^gZ5}HJLiy`>YrjEpxboj+V_- z2hV#tyJ$auv3d&G_kfH5Y=M`0X#~gUdc1&li`PA8Ab}(lr&b6GbK*fjFO{30*%5*$ z^PZ&ybFoI#{l}g3kpAz< zw9rp|nCl(Ue-M*j-Le3nN+ zmeMXg_sH6E~-?*X}Pm}(_y36or8L8t7E+MqZgJtTD64+`#{Q!-gYT<&Gb7Gy&j$-xBX&>Yq?aZNT~`}qY?cu| zTCxp?;ELDTi=r1@o6QD-Ue#8-)~d8g@=dTdKfe>@{T2n%R=(_C;f+%wL%R*UrJ0KQ z$&_e|FdYx@NH&to7R|J?seAc$DITvZX`@u=GE@ks{~6{2#c*Y-s}&yJgpI(YB+GiW z^rjl;51XhK2ZL;h>o62n3U{`lUO^rFC^~%Fd7y5it?4DNJl$OUaVMBv=O@TsOIxVl zwxvC;Kv9R{j|9PN0$1FUo&DZ_+g%UiG137B?aZACeK%VVr!3$P6Qp0VMDIEr#~KE;lK zsI4tY{re4-h*lk-_P#E%y2G_d1IM^TQv=haH=V}OzoCPMQ`(QqQ=?(L zL*UVLx|hALuiwKwY5jg7;pO!iCw#L3>=N5tc8ffocpP?T=5!pd30Jk{B+Lwlzn`_@ z=dvMDHjBqi!>T!&eHJ@m%6=F>C69Lf97=)^ng=45>MkiP=?%Hrx*rh5kGnG#OP?=P z2SA8bAfG%w8{d@S7!tYdG=aq?8Df>tuPsnA-&ma>62HaFz1tp8_+L@Ek~d35(>j;c3eGB-aYl~P7+c%gM?*$AJRrU2Ihg7I>QZIc#vAJWUVyk{oJedI894Xdtm0dC!5 zNkD1L)W<`R>6FB8xJ0~+F-s(@+?)Y!ObEyINvxfFgGmslXVU6R3{e!-t-;=>3)!zr z(HhWq=#70BEpl(o1Bd#HuW-s88XL%tnK9AQnwJRXfoglJdBS-S!QvlWFyNO)_B>a*w4$G0JPPT^kRWr1QM1Em;#gNAyA;!~T2vZHz}dw+V12T*NTg!|#51ZVElq(C>OcWme-ZBiXAu;r#v0RtRQ(yb1VMPJrPTQS zV)wT%F%#v4w;ejtBcH1>m(DaYSofH=Jtn?zXVm>L>nbYh#WV=d@}q6g!CcgXVqvQd zat`Fl|BS$`RiBzXe+~GI4Y(qgX|(k&R6LO>L^pYSNo#eytN6Hn;B7-FG=g_!TWR&n zs0gVSTD>~8ec?F>51A_zM#r!2n@jj5*OWG8d0hFED+WyYdjX*vjjvNxY}6Xt=LCLM zz}RW$s-Gv`X5NK`x&7}Ie_xn-SO9+k~(#M8Rm&)DW<13ce3ULpc($Qd%gv zyfnuM)LkL3kp;{n`4qKKu94F2k$vdPF)p)s3_LO@VSJfXR?(P0_M;B9pMEZ+v53JL+) zf5~x8$E*tCKSO7REWhNnmsokLyi*qm5(EJ$$Ze21Sl9daRX2fH04}HS=tr{%TkJ&%~SI$&GbrdUaP`z ze|Q%-Bz4*L&8tb8$OlDj?JBLL<0(7jG)}tV+r-oBn^a*_xB4rb{@|!-6AQ2C!IsbG zI@Ah$Abx=3jxwLUE@$*o%f)CgSc!h{`Agb6&PIo?uub&EoF0W3?4iZ)QQ~O34w7(! z1b@|Hisg5GPo9aL65J;$LakM)ow)lJ5ys7)W)=7ommpC}e>~DQ*&EYG2=WU-Net^% z(kc_Pr3>Q&XBJj|>m~Ij;#8|~H`1r9#;dEN!`~^uu5A6$;Yv%LJ2*JOJ}75%)h(t) zA=#`+3-2f7z65V=ufK-&6l(E|eoxUE&RojArgO;K&D9^ep4U=a!)NDb+I!eO!|uE8 z`?uT^vWd2slx0Cx!#J>TI=mIzl5G`lFzovQlG`eEZD{L$*OR1{t=jwH^4Z+@33p>* zQ>1jDO0}QgG)(79q);Z+!lV$sz;2q;E(-_cnSfN#Y>74dJ3QN^PT95iQCWETIvW+6 zj|WyZe35n_hxzn+<=({}yNJc=Z}^_%<3ElJhw6&XB=IYBkN}lJx4wmDxM=T*HJY$7 zjZG^>W@?TGf^TX3>&wmw>J<(Nuel?)d$qTKg4V4d_0cA6N4U8)@Qz((vEO%9Gu^2V zL@x_*a6|P{g-Ub-N)pZOGbg_*CGczUP!g^`g z_#QnbqENpklZ!%+ut}{-85g>i<#r!(z9F!eWpEpk?S?gPm*3PY@=|Wb^Uf@REbkE? z@O@Vz`DGF_At}3_TMMmQLT3X?sXnifJJ*sY(W<}7O+H%9AO9f;Ix>`78jo?XloHcS z(j{`duUMF~G>j){h`Y}pRVh#_^LM4-ORGuO=Lf;IroziIVE@Yy_k`kaZ1O8@M74^y zpMHrO3+8=2u}(RZR-6w)L^zlzRN4LP22iIVMc3{ok7-j(e-v?<8HOkxBan5)bR!Pi z>VQ&F--mFn`72-?A0ZtK)2+#o_94Vpy`FtzZY?dLnoiiwmltE=o{?02U}l1dC?(#B zivOlNKg_SPuc^mTS?9fns%{57?XSRx&6Cmd+FLv4DiZhTW%S=iTQl!(ehQr}uK{h3 zw5WFuTY`$c*m^(a=9r%sDz4Fv5}}i(&1|fOHgC@QKH25PUq1?vD#qXIHr>ZQ@A3Ff zt78!H;-R=mf)vfXgoszcd|S(k9{SkfE%b#EbN0xsxbkLbmDOu`E3qUAJ^e|<;BfEa zgGBFj8*8O5yo7~!Kf%OdP7be!2Y|K@wKCAH$V6~-h3i zV(Z_4 zPfAOdw}?5%QZSmxg}hj53YDzivgWJH<_3bH&B?Ck)_avp&!@e z-3RWs+`&YZ2o1SAU&8krcltPXwuikI)$1{WhAs@t=CIjc3-)G&Ts4>p-nn*jCCnZt z*e@B{qo}utJHqC49|l9DAdSAr@6Y7vhHYAREi$B04OCNrt5apR)&Lo0k>@56txe7< z?Ja5-|3?JBpINz%d5aT*>7{t7FQ-j=`ezb5kBR%kT(MI;E}bS+sYOj5zdpLl4>_+< z!>=)sy-L40Pja^FZEyelQq|@|$bfec+H^#ILVce_VX2+|#F7y3$z5-l@sPj~JLQsX zPB$gWL832^uo1S=_XSu+L1ZPAg@>ypwH?jwB-EeEB(Kp(CP{JJhPvUQ;!sSpx8IuO zkv~TcIsdXr>+Nis7wXD^Euk1pH-b+&lN0@F*6DVLglUq%cFOXltDkUzH+Eg*rRRm3 z|JKNUoXmne2h;KS%7}S_cU_7bRN(nbMC4BL=nu(vQ)Zy z*J{GHUnTg4W}V z56OJ%ta_m_u)+*gz`DiR%VzLWsOB5;;H0~W_Ps;A%#b1-C7X)2X*WAc>1qn!Nax?^ zOOj5&w}VkZr&(Z++R1}ILk?w|_FLWM3B|6XgbvefE_H_e1?-r=p%VdHfL_`)xk;Y1 zM?|cc82%!4VQ-_e40^|bWfB(&`Yaa+`l;KQ%Y^)cg#uDQwS-%9a_2{TLB0%nUA7fB zF+~$ETV&m-0do`a)q>}Xp^f5A!M2^|FGs^!XPloJnYRIqqNQJO$vtVq^= ze$e|7N-o@tEINeBz&4{7l<3dW7~$u9@d||Qa9S(i08&n>vOCSX51E8}(fye_yw)AB z2F*x|(I_b5h{O?mO)Z*?W>cjb1V!%acZu+a+>cH*|DLnx{bAfh^<0H=RpOx3G%8JHv>^*wX zy%U>$Q}w32bhWdE*fBD{h}NDyb3KZ(Sq&6uH(B@n_Jn)^clF28R_l-U(3t2PcyI22 zKohM(Z`uDlt3{i|AxV8k+mM&zH4e3c_1H0ZU-iq16m z@KL3MXBMS^dbRIn&N_j2Tk-USxT!xLDpx>PoZv2D4)C&zMyvV$)tets##|vDE8