Browse Source

Merge branch 'dev' of ssh://10.10.100.21/source/saas-platform into dev

hy 7 years ago
parent
commit
b859bcef5e
27 changed files with 959 additions and 998 deletions
  1. 11 0
      applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/controller/HomePageController.java
  2. 2 0
      applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/mapper/HomePageMapper.java
  3. 2 0
      applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/service/HomePageService.java
  4. 7 0
      applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/service/impl/HomePageServiceImpl.java
  5. 25 0
      applications/commons/commons-server/src/main/resources/mapper/HomePageMapper.xml
  6. 11 39
      applications/document/document-dto/src/main/java/com.usoftchina.saas.document.dto/VendorDTO.java
  7. 11 184
      applications/document/document-dto/src/main/java/com/usoftchina/saas/document/entities/Vendor.java
  8. 11 0
      applications/document/document-dto/src/main/java/com/usoftchina/saas/document/entities/VendorList.java
  9. 48 62
      applications/document/document-server/src/main/resources/mapper/VendorMapper.xml
  10. 1 1
      frontend/saas-web/app/util/BaseUtil.js
  11. 4 1
      frontend/saas-web/app/view/core/chart/ChartBase.scss
  12. 15 11
      frontend/saas-web/app/view/core/dbfind/types/ProductDbfindTrigger.js
  13. 15 11
      frontend/saas-web/app/view/core/dbfind/types/ProductMultiDbfindTrigger.js
  14. 8 1
      frontend/saas-web/app/view/core/tab/Controller.js
  15. 2 1
      frontend/saas-web/app/view/core/tab/Panel.js
  16. 4 0
      frontend/saas-web/app/view/document/vendor/BasePanel.js
  17. 18 1
      frontend/saas-web/app/view/document/vendor/FormController.js
  18. 23 1
      frontend/saas-web/app/view/document/vendor/FormPanel.js
  19. 35 1
      frontend/saas-web/app/view/home/Home.js
  20. 7 2
      frontend/saas-web/app/view/home/InfoCard.js
  21. 4 0
      frontend/saas-web/app/view/home/InfoCard.scss
  22. 8 7
      frontend/saas-web/app/view/main/MainContainerWrap.js
  23. 2 2
      frontend/saas-web/app/view/money/report/TotalRecDetail.js
  24. 352 348
      frontend/saas-web/app/view/purchase/purchase/FormPanel.js
  25. 6 0
      frontend/saas-web/app/view/purchase/purchase/FormPanelController.js
  26. 318 316
      frontend/saas-web/app/view/sale/sale/FormPanel.js
  27. 9 9
      frontend/saas-web/resources/json/navigation.json

+ 11 - 0
applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/controller/HomePageController.java

@@ -93,4 +93,15 @@ public class HomePageController {
         return homePageService.saleFutureData();
     }
 
+    /**
+     * @Description 关键数据
+     * @return: com.usoftchina.saas.base.Result
+     * @Author: guq
+     * @Date: 2018/11/14
+     */
+    @GetMapping("/keyData")
+    public Result keyData() {
+        return homePageService.keyData();
+    }
+
 }

+ 2 - 0
applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/mapper/HomePageMapper.java

@@ -17,4 +17,6 @@ public interface HomePageMapper {
     String getSaleData(Long componyId);
 
     String getSaleFutureData(Long componyId);
+
+    String getKeyData(Long companyId);
 }

+ 2 - 0
applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/service/HomePageService.java

@@ -49,4 +49,6 @@ public interface HomePageService {
     Result saleData();
 
     Result saleFutureData();
+
+    Result keyData();
 }

+ 7 - 0
applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/service/impl/HomePageServiceImpl.java

@@ -79,6 +79,13 @@ public class HomePageServiceImpl implements HomePageService{
         return Result.success(json);
     }
 
+    @Override
+    public Result keyData() {
+        Long companyId = BaseContextHolder.getCompanyId();
+        Object data = parseJson(homePageMapper.getKeyData(companyId));
+        return Result.success(data);
+    }
+
     private Object parseJson(String text) {
         Object json = null;
         if (null != text) {

+ 25 - 0
applications/commons/commons-server/src/main/resources/mapper/HomePageMapper.xml

@@ -91,4 +91,29 @@
 
         (select concat('{"x":',DATE_FORMAT(date_sub(now(),interval 5 MONTH),'%c'),',"sale":',ifnull(ROUND(sum((ifnull(si_amount/10000,0))),2),'0'),',"saleback":',ifnull(ROUND(sum((ifnull(si_amount_rec/10000,0))),2),'0'),'}') d6 from  statsinfo where companyid=#{componyId} and si_yearmonth=DATE_FORMAT(date_sub(now(),interval 5 MONTH),'%Y%m') and si_type='SALERETURN' ORDER BY si_amount desc)data_6)
        </select>
+
+    <select id="getKeyData" parameterType="long" resultType="string">
+          select concat('{"storageTotal":',storageTotal,',"receiveTotal":',receiveTotal,',"payTotal":',payTotal,',"balanceTotal":',balanceTotal,'}') from (
+            #库存总额:
+            (
+            SELECT ifnull(storage_,0) storageTotal from (
+            select sum(ifnull(po_amount,0)) storage_ from productonhand where companyid=#{componyId})a
+            ) a1,
+            #应收总额
+            (
+            select ifnull(receive_,0) receiveTotal from (
+            select sum(ifnull(cu_leftamount,0)) receive_ from customer where companyid=#{componyId}) b
+            )b1,
+            #应付总额
+            (
+            select ifnull(pay_,0) payTotal from (
+            select sum(ifnull(ve_leftamount,0)) pay_ from vendor where companyId=#{componyId}) c
+            )c1,
+            #账户余额
+            (
+            select ifnull(balance_,0) balanceTotal from (
+            select sum(ifnull(bk_thisamount,0)) balance_ from bankinformation where companyid=#{componyId})d
+            )d1
+            );
+    </select>
 </mapper>

+ 11 - 39
applications/document/document-dto/src/main/java/com.usoftchina.saas.document.dto/VendorDTO.java

@@ -1,58 +1,30 @@
 package com.usoftchina.saas.document.dto;
 
 import com.usoftchina.saas.base.dto.CommonBaseDTO;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 
 import java.io.Serializable;
 
-@ApiModel(value = "Vendor", description = "供应商资料")
+@Data
 public class VendorDTO extends CommonBaseDTO implements Serializable{
 
-    @ApiModelProperty(value = "供应商编号")
-    private String ve_code;
-    @ApiModelProperty(value = "供应商名称")
-    private String ve_name;
-    @ApiModelProperty(value = "供应商类型")
-    private String ve_type;
-    @ApiModelProperty(value = "状态")
-    private String ve_status;
-    @ApiModelProperty(value = "备注")
-    private String ve_remark;
 
-    public String getVe_code() {
-        return ve_code;
-    }
+    private String ve_code;
 
-    public void setVe_code(String ve_code) {
-        this.ve_code = ve_code;
-    }
+    private String ve_shortname;
 
-    public String getVe_name() {
-        return ve_name;
-    }
+    private String ve_name;
 
-    public void setVe_name(String ve_name) {
-        this.ve_name = ve_name;
-    }
+    private String ve_type;
 
-    public String getVe_type() {
-        return ve_type;
-    }
+    private String ve_status;
 
-    public void setVe_type(String ve_type) {
-        this.ve_type = ve_type;
-    }
+    private String ve_remark;
 
-    public String getVe_status() {
-        return ve_status;
-    }
+    private Long ve_buyerid;
 
-    public void setVe_status(String ve_status) {
-        this.ve_status = ve_status;
-    }
+    private String ve_buyercode;
 
-    public String getVe_remark(){return ve_remark;}
+    private String ve_buyername;
 
-    public void setVe_remark(String cu_remark) { this.ve_remark = ve_remark; }
 }

+ 11 - 184
applications/document/document-dto/src/main/java/com/usoftchina/saas/document/entities/Vendor.java

@@ -1,6 +1,7 @@
 package com.usoftchina.saas.document.entities;
 
 import com.usoftchina.saas.base.entity.CommonBaseEntity;
+import lombok.Data;
 
 import java.io.Serializable;
 import java.util.Date;
@@ -10,12 +11,19 @@ import java.util.Date;
  * @author chenwei
  * @Date 2018/10/13
  */
+@Data
 public class Vendor extends CommonBaseEntity implements Serializable{
 
     /**
      * 供应商编号
      */
     private String ve_code;
+
+    /**
+     * 供应商简称
+     */
+    private String ve_shortname;
+
     /**
      * 供应商名称
      */
@@ -99,191 +107,10 @@ public class Vendor extends CommonBaseEntity implements Serializable{
 
     private String ve_remark;
 
-    public String getVe_remark(){return ve_remark;}
-
-    public void setVe_remark(String ve_remark){this.ve_remark = ve_remark;}
-
-    public Double getVe_payamount() {
-        return ve_payamount;
-    }
-
-    public void setVe_payamount(Double ve_payamount) {
-        this.ve_payamount = ve_payamount;
-    }
-
-    public Double getVe_leftamount() {
-        return ve_leftamount;
-    }
-
-    public void setVe_leftamount(Double ve_leftamount) {
-        this.ve_leftamount = ve_leftamount;
-    }
-
-    public Integer getVe_beginym() {
-        return ve_beginym;
-    }
-
-    public void setVe_beginym(Integer ve_beginym) {
-        this.ve_beginym = ve_beginym;
-    }
-
-    public String getVe_code() {
-        return ve_code;
-    }
-
-    public void setVe_code(String ve_code) {
-        this.ve_code = ve_code;
-    }
-
-    public String getVe_name() {
-        return ve_name;
-    }
-
-    public void setVe_name(String ve_name) {
-        this.ve_name = ve_name;
-    }
-
-    public String getVe_uu() {
-        return ve_uu;
-    }
-
-    public void setVe_uu(String ve_uu) {
-        this.ve_uu = ve_uu;
-    }
-
-    public String getVe_type() {
-        return ve_type;
-    }
-
-    public void setVe_type(String ve_type) {
-        this.ve_type = ve_type;
-    }
-
-    public Date getVe_begindate() {
-        return ve_begindate;
-    }
-
-    public void setVe_begindate(Date ve_begindate) {
-        this.ve_begindate = ve_begindate;
-    }
-
-    public Double getVe_beginapamount() {
-        return ve_beginapamount;
-    }
-
-    public void setVe_beginapamount(Double ve_beginapamount) {
-        this.ve_beginapamount = ve_beginapamount;
-    }
-
-    public Double getVe_beginprepayamount() {
-        return ve_beginprepayamount;
-    }
-
-    public void setVe_beginprepayamount(Double ve_beginprepayamount) {
-        this.ve_beginprepayamount = ve_beginprepayamount;
-    }
-
-    public Long getVe_promisedays() {
-        return ve_promisedays;
-    }
-
-    public void setVe_promisedays(Long ve_promisedays) {
-        this.ve_promisedays = ve_promisedays;
-    }
-
-    public Double getVe_taxrate() {
-        return ve_taxrate;
-    }
-
-    public void setVe_taxrate(Double ve_taxrate) {
-        this.ve_taxrate = ve_taxrate;
-    }
-
-    public String getVe_nsrzh() {
-        return ve_nsrzh;
-    }
-
-    public void setVe_nsrzh(String ve_nsrzh) {
-        this.ve_nsrzh = ve_nsrzh;
-    }
-
-    public String getVe_bankaccount() {
-        return ve_bankaccount;
-    }
-
-    public void setVe_bankaccount(String ve_bankaccount) {
-        this.ve_bankaccount = ve_bankaccount;
-    }
-
-    public String getVe_bankcode() {
-        return ve_bankcode;
-    }
-
-    public void setVe_bankcode(String ve_bankcode) {
-        this.ve_bankcode = ve_bankcode;
-    }
-
-    public String getVe_status() {
-        return ve_status;
-    }
-
-    public void setVe_status(String ve_status) {
-        this.ve_status = ve_status;
-    }
-
-    public String getVe_statuscode() {
-        return ve_statuscode;
-    }
-
-    public void setVe_statuscode(String ve_statuscode) {
-        this.ve_statuscode = ve_statuscode;
-    }
-
-    public String getVe_text1() {
-        return ve_text1;
-    }
-
-    public void setVe_text1(String ve_text1) {
-        this.ve_text1 = ve_text1;
-    }
-
-    public String getVe_text2() {
-        return ve_text2;
-    }
-
-    public void setVe_text2(String ve_text2) {
-        this.ve_text2 = ve_text2;
-    }
-
-    public String getVe_text3() {
-        return ve_text3;
-    }
-
-    public void setVe_text3(String ve_text3) {
-        this.ve_text3 = ve_text3;
-    }
-
-    public String getVe_text4() {
-        return ve_text4;
-    }
-
-    public void setVe_text4(String ve_text4) {
-        this.ve_text4 = ve_text4;
-    }
-
-    public String getVe_text5() {
-        return ve_text5;
-    }
+    private Long ve_buyerid;
 
-    public void setVe_text5(String ve_text5) {
-        this.ve_text5 = ve_text5;
-    }
+    private String ve_buyercode;
 
-    public Double getVe_preamount() {
-        return ve_preamount;
-    }
+    private String ve_buyername;
 
-    public void setVe_preamount(Double ve_preamount) {
-        this.ve_preamount = ve_preamount;
-    }
 }

+ 11 - 0
applications/document/document-dto/src/main/java/com/usoftchina/saas/document/entities/VendorList.java

@@ -14,6 +14,11 @@ public class VendorList implements Serializable {
      * 供应商编号
      */
     private String ve_code;
+
+    /**
+     * 供应商简称
+     */
+    private String ve_shortname;
     /**
      * 供应商名称
      */
@@ -93,6 +98,12 @@ public class VendorList implements Serializable {
 
     private String ve_remark;
 
+    private Long ve_buyerid;
+
+    private String ve_buyercode;
+
+    private String ve_buyername;
+
     /* 从表字段 */
 
     private Integer vc_veid;

+ 48 - 62
applications/document/document-server/src/main/resources/mapper/VendorMapper.xml

@@ -4,6 +4,7 @@
     <resultMap id="VendorResultMapper" type="com.usoftchina.saas.document.entities.Vendor">
         <id column="ve_id" property="id" jdbcType="INTEGER" />
         <result column="ve_code" property="ve_code" jdbcType="VARCHAR" />
+        <result column="ve_shortname" property="ve_shortname" jdbcType="VARCHAR"/>
         <result column="ve_uu" property="ve_uu" jdbcType="VARCHAR" />
         <result column="ve_name" property="ve_name" jdbcType="VARCHAR" />
         <result column="ve_type" property="ve_type" jdbcType="VARCHAR" />
@@ -34,6 +35,7 @@
     <resultMap id="VendorDTOResultMapper" type="com.usoftchina.saas.document.dto.VendorDTO">
         <id column="ve_id" property="id" jdbcType="INTEGER" />
         <result column="ve_code" property="ve_code" jdbcType="VARCHAR" />
+        <result column="ve_shortname" property="ve_shortname" jdbcType="VARCHAR"/>
         <result column="ve_name" property="ve_name" jdbcType="VARCHAR" />
         <result column="ve_type" property="ve_type" jdbcType="VARCHAR" />
         <result column="ve_status" property="ve_status" jdbcType="VARCHAR" />
@@ -57,6 +59,7 @@
         <id column="ve_id" property="id" jdbcType="INTEGER" />
         <result column="ve_code" property="ve_code" jdbcType="VARCHAR" />
         <result column="ve_uu" property="ve_uu" jdbcType="VARCHAR" />
+        <result column="ve_shortname" property="ve_shortname" jdbcType="VARCHAR"/>
         <result column="ve_name" property="ve_name" jdbcType="VARCHAR" />
         <result column="ve_type" property="ve_type" jdbcType="VARCHAR" />
         <result column="ve_begindate" property="ve_begindate" jdbcType="TIMESTAMP" />
@@ -75,6 +78,10 @@
         <result column="ve_text3" property="ve_text3" jdbcType="VARCHAR" />
         <result column="ve_text4" property="ve_text4" jdbcType="VARCHAR" />
         <result column="ve_text5" property="ve_text5" jdbcType="VARCHAR" />
+        <result column="ve_remark" property="ve_remark" jdbcType="VARCHAR" />
+        <result column="ve_buyerid" property="ve_buyerid" jdbcType="INTEGER" />
+        <result column="ve_buyercode" property="ve_buyercode" jdbcType="VARCHAR" />
+        <result column="ve_buyername" property="ve_buyername" jdbcType="VARCHAR" />
         <result column="vc_veid" property="vc_veid" jdbcType="INTEGER" />
         <result column="vc_detno" property="vc_detno" jdbcType="INTEGER" />
         <result column="vc_name" property="vc_name" jdbcType="VARCHAR" />
@@ -87,7 +94,6 @@
         <result column="vc_text4" property="vc_text4" jdbcType="VARCHAR" />
         <result column="vc_text5" property="vc_text5" jdbcType="VARCHAR" />
         <result column="vc_default" property="vc_default" jdbcType="VARCHAR" />
-        <result column="ve_remark" property="ve_remark" jdbcType="VARCHAR" />
     </resultMap>
 
     <select id="getListDataByCondition" resultMap="VendorListResultMapper">
@@ -102,10 +108,11 @@
     </select>
 
     <sql id="Base_Column_List" >
-        ve_id, ve_code, ve_name, ve_uu, ve_type, ve_begindate, ve_beginapamount, ve_beginprepayamount,
+        ve_id, ve_code, ve_shortname,ve_name, ve_uu, ve_type, ve_begindate, ve_beginapamount, ve_beginprepayamount,
         ve_promisedays, ve_taxrate, ve_nsrzh, ve_bankaccount, ve_bankcode, ve_status, ve_statuscode,
         companyId, updaterId, updateTime, ve_text1,
-        ve_text2, ve_text3, ve_text4, ve_text5, ve_payamount, ve_leftamount, ve_beginym, ve_preamount,ve_remark
+        ve_text2, ve_text3, ve_text4, ve_text5, ve_payamount, ve_leftamount, ve_beginym, ve_preamount,ve_remark,
+        ve_buyerid,ve_buyercode,ve_buyername
     </sql>
     <select id="selectByPrimaryKey" resultMap="VendorResultMapper" parameterType="java.lang.Long" >
         select
@@ -117,31 +124,6 @@
         delete from vendor
         where ve_id = #{id}
     </delete>
-    <insert id="insert" parameterType="com.usoftchina.saas.document.entities.Vendor" >
-        insert into vendor (ve_code, ve_name,
-        ve_uu, ve_type, ve_begindate,
-        ve_beginapamount, ve_beginprepayamount,
-        ve_promisedays, ve_taxrate, ve_nsrzh,
-        ve_bankaccount, ve_bankcode, ve_status,
-        ve_statuscode, companyId, updaterId,
-        updateTime, ve_text1, ve_text2,
-        ve_text3, ve_text4, ve_text5,
-        ve_payamount, ve_leftamount, ve_beginym ,ve_preamount,
-        creatorId,createTime,creatorName,ve_remark
-        )
-        values (#{ve_code,jdbcType=VARCHAR}, #{ve_name,jdbcType=VARCHAR},
-        #{ve_uu,jdbcType=VARCHAR}, #{ve_type,jdbcType=VARCHAR}, #{ve_begindate,jdbcType=TIMESTAMP},
-        #{ve_beginapamount,jdbcType=DOUBLE}, #{ve_beginprepayamount,jdbcType=DOUBLE},
-        #{ve_promisedays,jdbcType=DECIMAL}, #{ve_taxrate,jdbcType=DOUBLE}, #{ve_nsrzh,jdbcType=VARCHAR},
-        #{ve_bankaccount,jdbcType=VARCHAR}, #{ve_bankcode,jdbcType=VARCHAR}, #{ve_status,jdbcType=VARCHAR},
-        #{ve_statuscode,jdbcType=VARCHAR}, #{companyId,jdbcType=DECIMAL}, #{updaterId,jdbcType=DECIMAL},
-        #{updateTime,jdbcType=TIMESTAMP}, #{ve_text1,jdbcType=VARCHAR}, #{ve_text2,jdbcType=VARCHAR},
-        #{ve_text3,jdbcType=VARCHAR}, #{ve_text4,jdbcType=VARCHAR}, #{ve_text5,jdbcType=VARCHAR},
-        #{ve_payamount,jdbcType=DOUBLE}, #{ve_leftamount,jdbcType=DOUBLE}, #{ve_beginym,jdbcType=INTEGER},
-        #{ve_preamount,jdbcType=DOUBLE},
-        #{creatorId,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{creatorName,jdbcType=VARCHAR},#{ve_remark,jdbcType=VARCHAR}
-        )
-    </insert>
     <insert id="insertSelective" parameterType="com.usoftchina.saas.document.entities.Vendor" >
         <selectKey resultType="java.lang.Long" keyProperty="id">
             SELECT LAST_INSERT_ID() AS ID
@@ -151,6 +133,9 @@
             <if test="ve_code != null" >
                 ve_code,
             </if>
+            <if test="ve_shortname !=null">
+                ve_shortname,
+            </if>
             <if test="ve_name != null" >
                 ve_name,
             </if>
@@ -236,13 +221,25 @@
                 creatorName,
             </if>
             <if test="ve_remark!=null">
-                ve_remark
+                ve_remark,
+            </if>
+            <if test="ve_buyerid!=null">
+                ve_buyerid,
+            </if>
+            <if test="ve_buyercode!=null">
+                ve_buyercode,
+            </if>
+            <if test="ve_buyername!=null">
+                ve_buyername
             </if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides="," >
             <if test="ve_code != null" >
                 #{ve_code,jdbcType=VARCHAR},
             </if>
+            <if test="ve_shortname !=null">
+                #{ve_shortname,jdbcType=VARCHAR},
+            </if>
             <if test="ve_name != null" >
                 #{ve_name,jdbcType=VARCHAR},
             </if>
@@ -328,7 +325,16 @@
                 #{creatorName,jdbcType=VARCHAR},
             </if>
             <if test="ve_remark != null">
-                #{ve_remark,jdbcType=VARCHAR}
+                #{ve_remark,jdbcType=VARCHAR},
+            </if>
+            <if test="ve_buyerid != null">
+                #{ve_buyerid,jdbcType=INTEGER},
+            </if>
+            <if test="ve_buyercode != null">
+                #{ve_buyercode,jdbcType=VARCHAR},
+            </if>
+            <if test="ve_buyername != null">
+                #{ve_buyername,jdbcType=VARCHAR}
             </if>
         </trim>
     </insert>
@@ -338,6 +344,9 @@
             <if test="ve_code != null" >
                 ve_code = #{ve_code,jdbcType=VARCHAR},
             </if>
+            <if test="ve_shortname !=null">
+                ve_shortname = #{ve_shortname,jdbcType=VARCHAR},
+            </if>
             <if test="ve_name != null" >
                 ve_name = #{ve_name,jdbcType=VARCHAR},
             </if>
@@ -416,41 +425,18 @@
             <if test="ve_remark != null" >
                 ve_remark = #{ve_remark,jdbcType=VARCHAR},
             </if>
+            <if test="ve_buyerid != null" >
+                ve_buyerid = #{ve_buyerid,jdbcType=INTEGER},
+            </if>
+            <if test="ve_buyercode != null" >
+                ve_buyercode = #{ve_buyercode,jdbcType=VARCHAR},
+            </if>
+            <if test="ve_buyername != null" >
+                ve_buyername = #{ve_buyername,jdbcType=VARCHAR}
+            </if>
         </set>
         where ve_id = #{id}
     </update>
-    <update id="updateByPrimaryKey" parameterType="com.usoftchina.saas.document.entities.Vendor" >
-        update vendor
-        set ve_code = #{ve_code,jdbcType=VARCHAR},
-        ve_name = #{ve_name,jdbcType=VARCHAR},
-        ve_uu = #{ve_uu,jdbcType=VARCHAR},
-        ve_type = #{ve_type,jdbcType=VARCHAR},
-        ve_begindate = #{ve_begindate,jdbcType=TIMESTAMP},
-        ve_beginapamount = #{ve_beginapamount,jdbcType=DOUBLE},
-        ve_beginprepayamount = #{ve_beginprepayamount,jdbcType=DOUBLE},
-        ve_promisedays = #{ve_promisedays,jdbcType=DECIMAL},
-        ve_taxrate = #{ve_taxrate,jdbcType=DOUBLE},
-        ve_nsrzh = #{ve_nsrzh,jdbcType=VARCHAR},
-        ve_bankaccount = #{ve_bankaccount,jdbcType=VARCHAR},
-        ve_bankcode = #{ve_bankcode,jdbcType=VARCHAR},
-        ve_status = #{ve_status,jdbcType=VARCHAR},
-        ve_statuscode = #{ve_statuscode,jdbcType=VARCHAR},
-        companyId = #{companyId,jdbcType=DECIMAL},
-        updaterId = #{updaterId,jdbcType=DECIMAL},
-        updateTime = #{updateTime,jdbcType=TIMESTAMP},
-        ve_text1 = #{ve_text1,jdbcType=VARCHAR},
-        ve_text2 = #{ve_text2,jdbcType=VARCHAR},
-        ve_text3 = #{ve_text3,jdbcType=VARCHAR},
-        ve_text4 = #{ve_text4,jdbcType=VARCHAR},
-        ve_text5 = #{ve_text5,jdbcType=VARCHAR},
-        ve_payamount = #{ve_payamount,jdbcType=DOUBLE},
-        ve_leftamount = #{ve_leftamount,jdbcType=DOUBLE},
-        ve_beginym = #{ve_beginym,jdbcType=INTEGER},
-        ve_preamount =#{ve_preamount,jdbcType=DOUBLE},
-        ve_remark = #{ve_remark,jdbcType=VARCHAR}
-        where ve_id = #{id}
-    </update>
-
     <select id="validateCodeWhenInsert" resultType="int">
         select count(*) from VENDOR where VE_CODE = #{code} and companyId =#{companyId}
     </select>

+ 1 - 1
frontend/saas-web/app/util/BaseUtil.js

@@ -127,7 +127,7 @@ Ext.define('saas.util.BaseUtil', {
         },
 
         getCurrentUser: function () {
-            return saas.util.State.get('session') ? saas.util.State.get('session').account : null;
+            return saas.util.State.get('session') ? saas.util.State.get('session').account : {};
         },
 
         /**

+ 4 - 1
frontend/saas-web/app/view/core/chart/ChartBase.scss

@@ -26,5 +26,8 @@
                 }
             }
         }
-    } 
+    }
+    .x-mask {
+        background-color: transparent;
+    }
 }

+ 15 - 11
frontend/saas-web/app/view/core/dbfind/types/ProductDbfindTrigger.js

@@ -33,22 +33,22 @@ Ext.define('saas.view.core.dbfind.types.ProductDbfindTrigger', {
         text: "物料编号",       
         dataIndex: "pr_code",
         width: 150
-    }, {
+    },{
+        text: "类型",
+        dataIndex: "pr_kind",
+        width: 110
+    },{
         text: "物料名称",
         width: 200,
         dataIndex: "pr_detail"
     }, {
-        text: "型号规格",
-        dataIndex: "pr_spec",
-        width: 150
-    }, {
-        text: "类型",
-        dataIndex: "pr_kind",
-        width: 110
+        text : "型号", 
+        dataIndex : "pr_orispeccode", 
+        width : 150.0
     }, {
-        text: "单位",
-        dataIndex: "pr_unit",
-        width: 80
+        text : "规格", 
+        dataIndex : "pr_spec", 
+        width : 150.0
     },{
         text: "品牌",
         dataIndex: "pr_brand",
@@ -64,6 +64,10 @@ Ext.define('saas.view.core.dbfind.types.ProductDbfindTrigger', {
             var format = '0,000.' + xr.join();
             return Ext.util.Format.number(v, format);
         }
+    },{
+        text: "单位",
+        dataIndex: "pr_unit",
+        width: 80
     }, {
         text: "采购提前期",
         dataIndex: "pr_leadtime",

+ 15 - 11
frontend/saas-web/app/view/core/dbfind/types/ProductMultiDbfindTrigger.js

@@ -40,22 +40,22 @@ Ext.define('saas.view.core.dbfind.types.ProductMultiDbfindTrigger', {
         text: "物料编号",       
         dataIndex: "pr_code",
         width: 150
-    }, {
+    },{
+        text: "类型",
+        dataIndex: "pr_kind",
+        width: 110
+    },{
         text: "物料名称",
         width: 200,
         dataIndex: "pr_detail"
     }, {
-        text: "型号规格",
-        dataIndex: "pr_spec",
-        width: 150
-    }, {
-        text: "类型",
-        dataIndex: "pr_kind",
-        width: 110
+        text : "型号", 
+        dataIndex : "pr_orispeccode", 
+        width : 150.0
     }, {
-        text: "单位",
-        dataIndex: "pr_unit",
-        width: 80
+        text : "规格", 
+        dataIndex : "pr_spec", 
+        width : 150.0
     },{
         text: "品牌",
         dataIndex: "pr_brand",
@@ -71,6 +71,10 @@ Ext.define('saas.view.core.dbfind.types.ProductMultiDbfindTrigger', {
             var format = '0,000.' + xr.join();
             return Ext.util.Format.number(v, format);
         },
+    },{
+        text: "单位",
+        dataIndex: "pr_unit",
+        width: 80
     }, {
         text: "采购提前期",
         dataIndex: "pr_leadtime",

+ 8 - 1
frontend/saas-web/app/view/core/tab/Controller.js

@@ -19,7 +19,7 @@ Ext.define('saas.view.core.tab.Controller', {
     },
 
     onTabActivate: function(component) {
-        var tabView = component.down('panel');
+        var tabView = component.down('container');
 
         if(typeof tabView.refresh == 'function') {
             tabView.refresh();
@@ -63,5 +63,12 @@ Ext.define('saas.view.core.tab.Controller', {
 
             component.resetCloseClick = true;
         }
+
+        tabView.fireEvent('onTabActivate', tabView);
+    },
+
+    onTabDeactivate: function(component) {
+        var tabView = component.down('container');
+        tabView.fireEvent('onTabDeactivate', tabView);
     }
 });

+ 2 - 1
frontend/saas-web/app/view/core/tab/Panel.js

@@ -5,6 +5,7 @@ Ext.define('saas.view.core.tab.Panel', {
     layout: 'fit',
     
     listeners: {
-        activate: 'onTabActivate'
+        activate: 'onTabActivate',
+        deactivate: 'onTabDeactivate'
     }
 });

+ 4 - 0
frontend/saas-web/app/view/document/vendor/BasePanel.js

@@ -75,6 +75,10 @@ Ext.define('saas.view.document.vendor.BasePanel', {
             text : "供应商编号", 
             width : 150.0, 
             dataIndex : "ve_code" 
+        },{
+            text : "供应商简称", 
+            width : 150.0, 
+            dataIndex : "ve_shortname" 
         }, {
             text : "供应商名称", 
             dataIndex : "ve_name", 

+ 18 - 1
frontend/saas-web/app/view/document/vendor/FormController.js

@@ -3,7 +3,24 @@ Ext.define('saas.view.document.vendor.FormController', {
     alias: 'controller.document-vendor-formpanel',
     init: function (form) {
         var me = this;
-        this.control({});
+        this.control({
+            //主表单选放大镜模板
+            'employeeDbfindTrigger[name=ve_buyername]':{
+                beforerender:function(f){
+                    Ext.apply(f,{
+                        dbfinds:[{
+                            from:'id',to:'ve_buyerid'
+                        },{
+                            from:'em_code',to:'ve_buyercode'
+                        },{
+                            from:'em_name',to:'ve_buyername'
+                        }],
+                    }) ;   
+
+                }
+            }
+        });
+
     },
 
     auditBtnClick: function() {

+ 23 - 1
frontend/saas-web/app/view/document/vendor/FormPanel.js

@@ -34,12 +34,18 @@ Ext.define('saas.view.document.vendor.FormPanel', {
         fieldLabel: '供应商编号',
         allowBlank: false,
         columnWidth: 0.25
+    },{
+        xtype: 'textfield',
+        name: 've_shortname',
+        fieldLabel: '供应商简称',
+        allowBlank: true,
+        columnWidth: 0.25
     },{
         xtype: 'textfield',
         name: 've_name',
         fieldLabel: '供应商名称',
         allowBlank: false,
-        columnWidth: 0.5
+        columnWidth: 0.25
     },{
         xtype: 'hidden',
         name: 've_status',
@@ -188,6 +194,22 @@ Ext.define('saas.view.document.vendor.FormPanel', {
             var format = '0.' + xr.join();
             return Ext.util.Format.number(v, format);
         },  
+    },
+    {
+        xtype : "hidden", 
+        name : "ve_buyercode", 
+        fieldLabel : "采购员编号"
+    },{
+        xtype : "employeeDbfindTrigger", 
+        name : "ve_buyername", 
+        fieldLabel : "采购员",
+        columnWidth : 0.25,
+        defaultValue:saas.util.BaseUtil.getCurrentUser().realname
+    },{
+        xtype : "hidden", 
+        name : "ve_buyerid", 
+        fieldLabel : "采购员ID",
+        defaultValue:saas.util.BaseUtil.getCurrentUser().id
     },{
         fieldLabel : "备注", 
         xtype:'textfield',

+ 35 - 1
frontend/saas-web/app/view/home/Home.js

@@ -21,6 +21,8 @@ Ext.define('saas.view.home.Home', {
 
     scrollable: true,
 
+    REFRESH_INTERVALS: 5 * 60 * 1000, // 刷新间隔
+
     defaults: {
         shadow: true,
         cls: 'x-home-box',
@@ -69,5 +71,37 @@ Ext.define('saas.view.home.Home', {
         }, {
             xtype: 'stock-amount'
         }]
-    }]
+    }],
+
+    initComponent: function() {
+        this.lastTime = Ext.Date.now();
+        this.callParent(arguments);
+    },
+
+    listeners: {
+        onTabActivate: function(p) {
+            p.refreshId = window.setInterval((p.refreshStores.bind(p)()).bind(p), p.REFRESH_INTERVALS);
+        },
+        onTabDeactivate: function(p) {
+            p.lastTime = 0;
+            window.clearInterval(p.refreshId);
+        }
+    },
+
+    refreshStores: function() {
+        var me = this,
+        lastTime = me.lastTime || 0,
+        now = Ext.Date.now(),
+        viewModel = me.getViewModel(),
+        stores = viewModel.storeInfo;
+
+        if(now - lastTime > me.REFRESH_INTERVALS) {
+            for(var key in stores) {
+                var store = stores[key];
+                store.load();
+            }
+            me.lastTime = Ext.Date.now();
+        }
+        return me.refreshStores;
+    }
 });

+ 7 - 2
frontend/saas-web/app/view/home/InfoCard.js

@@ -34,8 +34,6 @@ Ext.define('saas.view.home.InfoCard', {
     initComponent: function () {
         var me = this;
 
-        var companyId = saas.util.BaseUtil.getCurrentUser().companyId;
-
         Ext.apply(me, {
             cards: {
                 unship: {
@@ -106,6 +104,7 @@ Ext.define('saas.view.home.InfoCard', {
     addCardItems: function(infoData) {
         infoData = infoData || {};
         var me = this,
+        currentIndex = me.currentIndex,
         p = me.up('home'),
         cards = me.cards,
         datas = [],
@@ -158,6 +157,11 @@ Ext.define('saas.view.home.InfoCard', {
             me.showPageTrigger();
         }
 
+        if(Ext.isNumber(currentIndex)) {
+            me.setActiveItem(me.items.items[currentIndex]);
+        }else {
+            me.currentIndex = 0;
+        }
         me.updateLayout(true);
     },
 
@@ -182,6 +186,7 @@ Ext.define('saas.view.home.InfoCard', {
         var c = me.items.items.length;
         var next = parseInt(i, 10) + incr;
         l.setActiveItem(next);
+        me.currentIndex = me.currentIndex + incr;
 
         me.down('#card-prev').setDisabled(next === 0);
         me.down('#card-next').setDisabled(next === (c-1));

+ 4 - 0
frontend/saas-web/app/view/home/InfoCard.scss

@@ -52,6 +52,10 @@ $max-card-width: 235px;
     .x-toolbar-default-vertical {
         padding: 0;
     }
+
+    .x-mask {
+        background-color: transparent;
+    }
 }
 
 .x-scroller-button {

+ 8 - 7
frontend/saas-web/app/view/main/MainContainerWrap.js

@@ -36,14 +36,15 @@ Ext.define('saas.view.main.MainContainerWrap', {
                 closeAllTabsText: '关闭全部页',
                 closeOthersTabsText: '关闭其他页'
             })],
-            items: [
-                {
-                    iconCls: 'x-sa sa-home',
+            items: [{
+                xtype: 'core-tab-panel',
+                iconCls: 'x-sa sa-home',
+                title: '首页',
+                closable: false,
+                items: [{
                     xtype: 'home',
-                    title: '首页',
-                    closable: false
-                }
-            ]
+                }]
+            }]
         }
     ],
 });

+ 2 - 2
frontend/saas-web/app/view/money/report/TotalRecDetail.js

@@ -26,12 +26,12 @@ Ext.define('saas.view.money.report.TotalRecDetail', {
         },
     }, {
         xtype: 'monthdatefield',
-        name: 'vm_yearmonth',
+        name: 'cm_yearmonth',
         fieldLabel: '起始期间',
         columnWidth: 0.2
     }, {
         xtype: 'monthdatefield',
-        name: 'vm_yearmonthTo',
+        name: 'cm_yearmonthTo',
         fieldLabel: '结束期间',
         columnWidth: 0.2
     }],

+ 352 - 348
frontend/saas-web/app/view/purchase/purchase/FormPanel.js

@@ -24,364 +24,368 @@ Ext.define('saas.view.purchase.purchase.FormPanel', {
      _deleteUrl:'/api/purchase/purchase/delete',
      _turnInUrl:'/api/purchase/purchase/turnProdin',
      initId:0,
- 
-     toolBtns: [{
-         xtype: 'button',
-         text: '转采购验收单',
-         hidden: true,
-         bind: {
-            hidden: '{turnHidden}'
-        },
-         handler: 'turnIn'
-     }],
-
-    defaultItems: [{
-        xtype: 'hidden',
-        name: 'id',
-        fieldLabel: 'id'
-    },{
-        xtype : "hidden", 
-        name : "pu_vendid", 
-        fieldLabel : "供应商ID"
-    }, {
-        xtype : "hidden", 
-        name : "pu_vendcode", 
-        fieldLabel : "供应商编号"
-    }, {
-        xtype : "vendorDbfindTrigger", 
-        name : "pu_vendname", 
-        fieldLabel : "供应商名称",
-        allowBlank : false,
-    },{
-        xtype : "datefield", 
-        name : "pu_delivery", 
-        fieldLabel : "交货日期",
-        allowBlank:false,
-        defaultValue: new Date(),
-        columnWidth : 0.25,
-    },{
-        name : "pu_shipaddresscode", 
-        editable:false,
-        xtype : "remotecombo", 
-        storeUrl:'/api/document/address/getCombo',
-        fieldLabel : "交货地址", 
-        allowBlank : false, 
-        columnWidth : 0.5,
-        hiddenBtn:false,//true 则会关闭新增按钮功能
-        addHandler:function(b){
-            var form = this.ownerCmp.ownerCt;
-            this.dialog = form.add({
-                xtype: 'document-address-window',
-                bind: {
-                    title: '新增交货地址'
-                },
-                _parent:form,
-                _combo:this.ownerCmp,
-                record:null,
-                session: true
-            });
-            this.dialog.show();
-        }
-    },{
-        name : "detailGridField", 
-        xtype : "detailGridField", 
-        storeModel:'saas.model.purchase.Purchasedetail',
-        detnoColumn:  'pd_detno',
-        deleteDetailUrl:'/api/purchase/purchase/deleteDetail',
-        allowEmpty: false,
-        columns : [
-            {
-                text : "id", 
-                dataIndex : "id", 
-                xtype : "numbercolumn",
-                hidden:true
+     initComponent:function() {
+        Ext.applyIf(this,{
+            defaultItems: [{
+                xtype: 'hidden',
+                name: 'id',
+                fieldLabel: 'id'
             },{
-                text : "物料id", 
-                dataIndex : "pd_prodid", 
-                xtype : "numbercolumn",
-                hidden:true
-            },
-            {
-                text : "物料编号", 
-                width : 150.0, 
-                dataIndex : "pd_prodcode", 
-                xtype : "", 
-                items : null,
+                xtype : "hidden", 
+                name : "pu_vendid", 
+                fieldLabel : "供应商ID"
+            }, {
+                xtype : "hidden", 
+                name : "pu_vendcode", 
+                fieldLabel : "供应商编号"
+            }, {
+                xtype : "vendorDbfindTrigger", 
+                name : "pu_vendname", 
+                fieldLabel : "供应商名称",
                 allowBlank : false,
-                editor : {
-                    xtype : "productMultiDbfindTrigger"
-                }
-            },
-            {
-                text : "名称", 
-                width : 200.0, 
-                dataIndex : "pr_detail",
-                ignore:true,
-                renderer: function (v, m, r) {
-                    if(!v){
-                        return r.data["productDTO"]?r.data["productDTO"][m.column.dataIndex]:null; 
-                    }                     
-                    return v;
-                }
             },{
-                text: 'model映射需要',
-                dataIndex: 'productDTO',
-                hidden: true,
-            },
-            {
-                text : "规格", 
-                dataIndex : "pr_spec", 
-                width : 150.0,
-                ignore:true,
-                renderer: function (v, m, r) {
-                    if(!v){
-                        return r.data["productDTO"]?r.data["productDTO"][m.column.dataIndex]:null; 
-                    }                     
-                    return v;    
-                }
-            },            
-            {
-                text : "数量", 
-                dataIndex : "pd_qty", 
-                xtype: 'numbercolumn',
-                width : 110.0,
-                allowBlank : false,
-                editor : {
-                    xtype : "numberfield",
-                    decimalPrecision: 3,
-                    minValue:0
-                },
-                renderer : function(v) {
-                    var arr = (v + '.').split('.');
-                    var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
-                    var format = '0.' + xr.join();
-                    return Ext.util.Format.number(v, format);
-                },
-                summaryType: 'sum',
-                summaryRenderer: function(v) {
-                    var arr = (v + '.').split('.');
-                    var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
-                    var format = '0.' + xr.join();
-                    return Ext.util.Format.number(v, format);
-                }
-            },
-            {
-                text : "单价", 
-                xtype: 'numbercolumn',
-                dataIndex : "pd_price", 
-                width : 110.0,
-                editor : {
-                    xtype : "numberfield",
-                    decimalPrecision: 8,
-                    minValue:0
-                },
-                renderer : function(v) {
-                    var arr = (v + '.').split('.');
-                    var xr = (new Array(arr[1].length > 8 ? 8 :(arr[1].length < 2? 2 : arr[1].length))).fill('0');
-                    var format = '0,000.' + xr.join();
-                    return Ext.util.Format.number(v, format);
-                },
-            },
-            {
-                text : "已转数", 
-                dataIndex : "pd_yqty", 
-                xtype: 'numbercolumn',
-                width : 0,
-                hidden:true,
-                editor : {
-                    xtype : "numberfield",
-                    decimalPrecision: 3,
-                    editable : false
-                },
-                renderer : function(v) {
-                    var arr = (v + '.').split('.');
-                    var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
-                    var format = '0.' + xr.join();
-                    return Ext.util.Format.number(v, format);
-                },
-                summaryType: 'sum',
-                summaryRenderer: function(v) {
-                    var arr = (v + '.').split('.');
-                    var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
-                    var format = '0.' + xr.join();
-                    return Ext.util.Format.number(v, format);
-                }
-            }, 
-            {
-                text : "税率", 
-                xtype: 'numbercolumn',
-                dataIndex : "pd_taxrate", 
-                width : 80.0,
-                editor : {
-                    xtype : "numberfield",
-                    decimalPrecision: 0,
-                    minValue: 0,
-                    maxValue: 100
-                },
-                renderer : function(v) {
-                    return Ext.util.Format.number(v, '0');
-                }
+                xtype : "datefield", 
+                name : "pu_delivery", 
+                fieldLabel : "交货日期",
+                allowBlank:false,
+                defaultValue: new Date(),
+                columnWidth : 0.25,
             },{
-                text : "需求日期", 
-                dataIndex : "pd_delivery", 
-                xtype:'datecolumn',
-                width : 110.0, 
-                editor : {
-                    xtype : "datefield",
-                    editable : false, 
-                    hideTrigger : false
+                name : "pu_shipaddresscode", 
+                editable:false,
+                xtype : "remotecombo", 
+                storeUrl:'/api/document/address/getCombo',
+                fieldLabel : "交货地址", 
+                allowBlank : false, 
+                columnWidth : 0.5,
+                hiddenBtn:false,//true 则会关闭新增按钮功能
+                addHandler:function(b){
+                    var form = this.ownerCmp.ownerCt;
+                    this.dialog = form.add({
+                        xtype: 'document-address-window',
+                        bind: {
+                            title: '新增交货地址'
+                        },
+                        _parent:form,
+                        _combo:this.ownerCmp,
+                        record:null,
+                        session: true
+                    });
+                    this.dialog.show();
                 }
+            },{
+                name : "detailGridField", 
+                xtype : "detailGridField", 
+                storeModel:'saas.model.purchase.Purchasedetail',
+                detnoColumn:  'pd_detno',
+                deleteDetailUrl:'/api/purchase/purchase/deleteDetail',
+                allowEmpty: false,
+                columns : [
+                    {
+                        text : "id", 
+                        dataIndex : "id", 
+                        xtype : "numbercolumn",
+                        hidden:true
+                    },{
+                        text : "物料id", 
+                        dataIndex : "pd_prodid", 
+                        xtype : "numbercolumn",
+                        hidden:true
+                    },
+                    {
+                        text : "物料编号", 
+                        width : 150.0, 
+                        dataIndex : "pd_prodcode", 
+                        xtype : "", 
+                        items : null,
+                        allowBlank : false,
+                        editor : {
+                            xtype : "productMultiDbfindTrigger"
+                        }
+                    },
+                    {
+                        text : "名称", 
+                        width : 200.0, 
+                        dataIndex : "pr_detail",
+                        ignore:true,
+                        renderer: function (v, m, r) {
+                            if(!v){
+                                return r.data["productDTO"]?r.data["productDTO"][m.column.dataIndex]:null; 
+                            }                     
+                            return v;
+                        }
+                    },{
+                        text: 'model映射需要',
+                        dataIndex: 'productDTO',
+                        hidden: true,
+                    },
+                    {
+                        text : "规格", 
+                        dataIndex : "pr_spec", 
+                        width : 150.0,
+                        ignore:true,
+                        renderer: function (v, m, r) {
+                            if(!v){
+                                return r.data["productDTO"]?r.data["productDTO"][m.column.dataIndex]:null; 
+                            }                     
+                            return v;    
+                        }
+                    },            
+                    {
+                        text : "数量", 
+                        dataIndex : "pd_qty", 
+                        xtype: 'numbercolumn',
+                        width : 110.0,
+                        allowBlank : false,
+                        editor : {
+                            xtype : "numberfield",
+                            decimalPrecision: 3,
+                            minValue:0
+                        },
+                        renderer : function(v) {
+                            var arr = (v + '.').split('.');
+                            var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
+                            var format = '0.' + xr.join();
+                            return Ext.util.Format.number(v, format);
+                        },
+                        summaryType: 'sum',
+                        summaryRenderer: function(v) {
+                            var arr = (v + '.').split('.');
+                            var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
+                            var format = '0.' + xr.join();
+                            return Ext.util.Format.number(v, format);
+                        }
+                    },
+                    {
+                        text : "单价", 
+                        xtype: 'numbercolumn',
+                        dataIndex : "pd_price", 
+                        width : 110.0,
+                        editor : {
+                            xtype : "numberfield",
+                            decimalPrecision: 8,
+                            minValue:0
+                        },
+                        renderer : function(v) {
+                            var arr = (v + '.').split('.');
+                            var xr = (new Array(arr[1].length > 8 ? 8 :(arr[1].length < 2? 2 : arr[1].length))).fill('0');
+                            var format = '0,000.' + xr.join();
+                            return Ext.util.Format.number(v, format);
+                        },
+                    },
+                    {
+                        text : "已转数", 
+                        dataIndex : "pd_yqty", 
+                        xtype: 'numbercolumn',
+                        width : 0,
+                        hidden:true,
+                        editor : {
+                            xtype : "numberfield",
+                            decimalPrecision: 3,
+                            editable : false
+                        },
+                        renderer : function(v) {
+                            var arr = (v + '.').split('.');
+                            var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
+                            var format = '0.' + xr.join();
+                            return Ext.util.Format.number(v, format);
+                        },
+                        summaryType: 'sum',
+                        summaryRenderer: function(v) {
+                            var arr = (v + '.').split('.');
+                            var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
+                            var format = '0.' + xr.join();
+                            return Ext.util.Format.number(v, format);
+                        }
+                    }, 
+                    {
+                        text : "税率", 
+                        xtype: 'numbercolumn',
+                        dataIndex : "pd_taxrate", 
+                        width : 80.0,
+                        editor : {
+                            xtype : "numberfield",
+                            decimalPrecision: 0,
+                            minValue: 0,
+                            maxValue: 100
+                        },
+                        renderer : function(v) {
+                            return Ext.util.Format.number(v, '0');
+                        }
+                    },{
+                        text : "需求日期", 
+                        dataIndex : "pd_delivery", 
+                        xtype:'datecolumn',
+                        width : 110.0, 
+                        editor : {
+                            xtype : "datefield",
+                            editable : false, 
+                            hideTrigger : false
+                        }
+                    },
+                    {
+                        text : "含税金额", 
+                        xtype: 'numbercolumn',
+                        dataIndex : "pd_total", 
+                        width : 110.0, 
+                        // editor : {
+                        //     xtype : "numberfield",
+                        //     decimalPrecision: 2,
+                        //     editable : false
+                        // },
+                        renderer : function(v) {
+                            var arr = (v + '.').split('.');
+                            var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
+                            var format = '0,000.' + xr.join();
+                            return Ext.util.Format.number(v, format);
+                        },
+                        summaryType: 'sum',
+                        summaryRenderer: function(v) {
+                            var arr = (v + '.').split('.');
+                            var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
+                            var format = '0,000.' + xr.join();
+                            return Ext.util.Format.number(v, format);
+                        }
+                    }, 
+                    {
+                        text : "未税金额", 
+                        xtype: 'numbercolumn',
+                        dataIndex : "pd_taxtotal", 
+                        width : 110.0,
+                        // editor : {
+                        //     xtype : "numberfield",
+                        //     decimalPrecision: 2,
+                        //     editable : false
+                        // },
+                        renderer : function(v) {
+                            var arr = (v + '.').split('.');
+                            var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
+                            var format = '0,000.' + xr.join();
+                            return Ext.util.Format.number(v, format);
+                        },
+                        summaryType: 'sum',
+                        summaryRenderer: function(v) {
+                            var arr = (v + '.').split('.');
+                            var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
+                            var format = '0,000.' + xr.join();
+                            return Ext.util.Format.number(v, format);
+                        }
+                    },
+                    {
+                        text : "最小包装数", 
+                        xtype: 'numbercolumn',
+                        dataIndex : "pr_zxbzs",
+                        width : 110.0,
+                        ignore:true,
+                        renderer: function (v, m, r) {
+                            if(!v){
+                                return r.data["productDTO"]?r.data["productDTO"][m.column.dataIndex]:null; 
+                            }                     
+                            return v; 
+                        }
+                    },
+                    {
+                        text : "关联销售单号", 
+                        dataIndex : "pd_salecode", 
+                        width : 150.0
+                    },{
+                        text : "备注", 
+                        dataIndex : "pd_remark",
+                        width : 250, 
+                        items : null,
+                        editor : {
+                            xtype : "textfield"
+                        },
+                    }
+                ]
+            }, {
+                xtype : "textfield", 
+                name : "pu_remark", 
+                fieldLabel : "备注", 
+                columnWidth : 1
+            }, {
+                xtype : "datefield", 
+                name : "pu_date", 
+                fieldLabel : "单据日期", 
+                defaultValue: new Date()
+            }, {
+                xtype : "textfield", 
+                name : "pu_total", 
+                fieldLabel : "采购金额",
+                readOnly:true,
+                columnWidth : 0.25,
+            },{
+                xtype : "hidden", 
+                name : "pu_buyercode", 
+                fieldLabel : "采购员编号"
+            },{
+                xtype : "employeeDbfindTrigger", 
+                name : "pu_buyername", 
+                fieldLabel : "采购员",
+                columnWidth : 0.25,
+                defaultValue:saas.util.BaseUtil.getCurrentUser().realname
+            },{
+                xtype : "hidden", 
+                name : "pu_buyerid", 
+                fieldLabel : "采购员ID",
+                defaultValue:saas.util.BaseUtil.getCurrentUser().id
             },
             {
-                text : "含税金额", 
-                xtype: 'numbercolumn',
-                dataIndex : "pd_total", 
-                width : 110.0, 
-                // editor : {
-                //     xtype : "numberfield",
-                //     decimalPrecision: 2,
-                //     editable : false
-                // },
-                renderer : function(v) {
-                    var arr = (v + '.').split('.');
-                    var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
-                    var format = '0,000.' + xr.join();
-                    return Ext.util.Format.number(v, format);
-                },
-                summaryType: 'sum',
-                summaryRenderer: function(v) {
-                    var arr = (v + '.').split('.');
-                    var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
-                    var format = '0,000.' + xr.join();
-                    return Ext.util.Format.number(v, format);
-                }
-            }, 
-            {
-                text : "未税金额", 
-                xtype: 'numbercolumn',
-                dataIndex : "pd_taxtotal", 
-                width : 110.0,
-                // editor : {
-                //     xtype : "numberfield",
-                //     decimalPrecision: 2,
-                //     editable : false
-                // },
-                renderer : function(v) {
-                    var arr = (v + '.').split('.');
-                    var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
-                    var format = '0,000.' + xr.join();
-                    return Ext.util.Format.number(v, format);
-                },
-                summaryType: 'sum',
-                summaryRenderer: function(v) {
-                    var arr = (v + '.').split('.');
-                    var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
-                    var format = '0,000.' + xr.join();
-                    return Ext.util.Format.number(v, format);
-                }
+                xtype : "hidden", 
+                name : "creatorId", 
+                fieldLabel : "录入人ID", 
+                readOnly:true
             },
             {
-                text : "最小包装数", 
-                xtype: 'numbercolumn',
-                dataIndex : "pr_zxbzs",
-                width : 110.0,
-                ignore:true,
-                renderer: function (v, m, r) {
-                    if(!v){
-                        return r.data["productDTO"]?r.data["productDTO"][m.column.dataIndex]:null; 
-                    }                     
-                    return v; 
-                }
-            },
-            {
-                text : "关联销售单号", 
-                dataIndex : "pd_salecode", 
-                width : 150.0
+                xtype : "textfield", 
+                name : "creatorName", 
+                fieldLabel : "录入人", 
+                readOnly:true
+            }, {
+                xtype : "datefield", 
+                name : "createTime", 
+                fieldLabel : "录入日期",
+                readOnly:true, 
+                defaultValue: new Date()
             },{
-                text : "备注", 
-                dataIndex : "pd_remark",
-                width : 250, 
-                items : null,
-                editor : {
-                    xtype : "textfield"
-                },
-            }
-        ]
-    }, {
-        xtype : "textfield", 
-        name : "pu_remark", 
-        fieldLabel : "备注", 
-        columnWidth : 1
-    }, {
-        xtype : "datefield", 
-        name : "pu_date", 
-        fieldLabel : "单据日期", 
-        defaultValue: new Date()
-    }, {
-        xtype : "textfield", 
-        name : "pu_total", 
-        fieldLabel : "采购金额",
-        readOnly:true,
-        columnWidth : 0.25,
-    },{
-        xtype : "hidden", 
-        name : "pu_buyercode", 
-        fieldLabel : "采购员编号"
-    },{
-        xtype : "employeeDbfindTrigger", 
-        name : "pu_buyername", 
-        fieldLabel : "采购员",
-        columnWidth : 0.25,
-        defaultValue:saas.util.BaseUtil.getCurrentUser().realname
-    },{
-        xtype : "hidden", 
-        name : "pu_buyerid", 
-        fieldLabel : "采购员ID",
-        defaultValue:saas.util.BaseUtil.getCurrentUser().id
-    },
-    {
-        xtype : "hidden", 
-        name : "creatorId", 
-        fieldLabel : "录入人ID", 
-        readOnly:true
+                xtype : "hidden", 
+                name : "updaterId", 
+                fieldLabel : "更新人ID", 
+                readOnly:true
+            },{
+                xtype : "hidden", 
+                name : "updaterName", 
+                fieldLabel : "更新人", 
+                readOnly:true
+            }, {
+                xtype : "hidden", 
+                name : "updateTime", 
+                fieldLabel : "更新日期",
+                readOnly:true, 
+                defaultValue: new Date()
+            }, {
+                xtype : "textfield", 
+                name : "pu_auditman", 
+                fieldLabel : "审核人", 
+                readOnly:true
+            }, {
+                xtype : "datefield", 
+                name : "pu_auditdate", 
+                fieldLabel : "审核日期",
+                readOnly:true
+            }]
+        });
+        this.callParent();
     },
-    {
-        xtype : "textfield", 
-        name : "creatorName", 
-        fieldLabel : "录入人", 
-        readOnly:true
-    }, {
-        xtype : "datefield", 
-        name : "createTime", 
-        fieldLabel : "录入日期",
-        readOnly:true, 
-        defaultValue: new Date()
-    },{
-        xtype : "hidden", 
-        name : "updaterId", 
-        fieldLabel : "更新人ID", 
-        readOnly:true
-    },{
-        xtype : "hidden", 
-        name : "updaterName", 
-        fieldLabel : "更新人", 
-        readOnly:true
-    }, {
-        xtype : "hidden", 
-        name : "updateTime", 
-        fieldLabel : "更新日期",
-        readOnly:true, 
-        defaultValue: new Date()
-    }, {
-        xtype : "textfield", 
-        name : "pu_auditman", 
-        fieldLabel : "审核人", 
-        readOnly:true
-    }, {
-        xtype : "datefield", 
-        name : "pu_auditdate", 
-        fieldLabel : "审核日期",
-        readOnly:true
-    }]
+     toolBtns: [{
+         xtype: 'button',
+         text: '转采购验收单',
+         hidden: true,
+         bind: {
+            hidden: '{turnHidden}'
+        },
+         handler: 'turnIn'
+     }]
+
 
 });

+ 6 - 0
frontend/saas-web/app/view/purchase/purchase/FormPanelController.js

@@ -15,6 +15,12 @@ Ext.define('saas.view.purchase.purchase.FormPanelController', {
                             from:'ve_code',to:'pu_vendcode'
                         },{
                             from:'ve_name',to:'pu_vendname'
+                        },{
+                            from:'ve_buyerid',to:'pu_buyerid'
+                        },{
+                            from:'ve_buyercode',to:'pu_buyercode'
+                        },{
+                            from:'ve_buyername',to:'pu_buyername'
                         }],
                     }) ; 
                 }

+ 318 - 316
frontend/saas-web/app/view/sale/sale/FormPanel.js

@@ -25,7 +25,323 @@ Ext.define('saas.view.sale.sale.FormPanel', {
      _turnOutUrl:'/api/sale/sale/turnProdOut',
      _turnPurchase:'/api/sale/sale/saleTurnPurchase',
      initId:0,
- 
+     initComponent:function() {
+        Ext.applyIf(this,{
+            defaultItems: [{
+                xtype: 'hidden',
+                name: 'id',
+                fieldLabel: 'id'
+            }, {
+                xtype : 'hidden',
+                name : 'sa_custid', 
+                fieldLabel : '客户ID'
+            }
+            , {
+                xtype : 'hidden', 
+                name : 'sa_custcode', 
+                fieldLabel : '客户编号'
+            }, {
+                xtype : "customerDbfindTrigger", 
+                name : "sa_custname", 
+                fieldLabel : "客户名称",
+                allowBlank : false
+            }, {
+                name : "sa_toplace", 
+                xtype : "textfield", 
+                fieldLabel : "交货地址", 
+                allowBlank : false, 
+                columnWidth : 0.5,
+                hiddenBtn:false,//true 则会关闭新增按钮功能
+                addHandler:function(b){
+                    var form = this.ownerCmp.ownerCt;
+                    this.dialog = form.add({
+                        xtype: 'document-address-window',
+                        bind: {
+                            title: '新增交货地址'
+                        },
+                        _parent:form,
+                        _combo:this.ownerCmp,
+                        record:null,
+                        session: true
+                    });
+                    this.dialog.show();
+                }
+            }, {
+                name : "detailGridField", 
+                xtype : "detailGridField", 
+                detnoColumn: 'sd_detno',
+                storeModel:'saas.model.sale.Saledetail',
+                deleteDetailUrl:'/api/sale/sale/deleteDetail',
+                columns : [
+                   {
+                        text : "id", 
+                        dataIndex : "id", 
+                        xtype : "numbercolumn",
+                        hidden:true
+                    }, {
+                        text : "物料id", 
+                        dataIndex : "sd_prodid", 
+                        width : 0
+                    }, {
+                        text : "物料编号", 
+                        width : 150.0, 
+                        dataIndex : "sd_prodcode", 
+                        xtype : "", 
+                        items : null,
+                        allowBlank:false,
+                        editor : {
+                            displayField : "display", 
+                            editable : true, 
+                            format : "", 
+                            hideTrigger : false, 
+                            maxLength : 100.0, 
+                            minValue : null, 
+                            positiveNum : false, 
+                            queryMode : "local", 
+                            store : null, 
+                            valueField : "value", 
+                            xtype : "productMultiDbfindTrigger"
+                        }
+                    },{
+                        text: 'model映射需要',
+                        dataIndex: 'productDTO',
+                        hidden: true,
+                    }, {
+                        text : "名称", 
+                        dataIndex : "pr_detail", 
+                        width : 200.0,
+                        ignore:true,
+                        renderer: function (v, m, r) {
+                            if(!v){
+                                return r.data["productDTO"]?r.data["productDTO"][m.column.dataIndex]:null;
+                            }
+                            return v;
+                        }
+                    }, {
+                        text : "规格", 
+                        dataIndex : "pr_spec",
+                        ignore:true,
+                        width : 150.0, 
+                        renderer: function (v, m, r) {
+                            if(!v){
+                                return r.data["productDTO"]?r.data["productDTO"][m.column.dataIndex]:null;
+                            }
+                            return v;
+                        }
+                    }, {
+                        text : "数量", 
+                        dataIndex : "sd_qty", 
+                        width : 110.0,
+                        xtype: 'numbercolumn',
+                        allowBlank:false, 
+                        editor : {
+                            xtype : "numberfield",
+                            decimalPrecision: 3,
+                            minValue:0
+                        },
+                        renderer : function(v) {
+                            var arr = (v + '.').split('.');
+                            var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
+                            var format = '0.' + xr.join();
+                            return Ext.util.Format.number(v, format);
+                        },
+                        summaryType: 'sum',
+                        summaryRenderer: function(v) {
+                            var arr = (v + '.').split('.');
+                            var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
+                            var format = '0.' + xr.join();
+                            return Ext.util.Format.number(v, format);
+                        }
+                    },  {
+                        text : "已转数", 
+                        xtype: 'numbercolumn',
+                        dataIndex : "sd_yqty", 
+                        width : 0, 
+                        hidden : true,
+                        editor : {
+                            xtype : "numberfield",
+                            decimalPrecision: 3
+                        },
+                        renderer : function(v) {
+                            var arr = (v + '.').split('.');
+                            var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
+                            var format = '0.' + xr.join();
+                            return Ext.util.Format.number(v, format);
+                        },
+                        summaryType: 'sum',
+                        summaryRenderer: function(v) {
+                            var arr = (v + '.').split('.');
+                            var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
+                            var format = '0.' + xr.join();
+                            return Ext.util.Format.number(v, format);
+                        }
+                    },
+                    {
+                        text : "单价", 
+                        xtype: 'numbercolumn',
+                        dataIndex : "sd_price", 
+                        width : 110.0,
+                        editor : {
+                            xtype : "numberfield",
+                            decimalPrecision: 8,
+                            minValue:0
+                        },
+                        renderer : function(v) {
+                            var arr = (v + '.').split('.');
+                            var xr = (new Array(arr[1].length > 8 ? 8 :(arr[1].length < 2? 2 : arr[1].length))).fill('0');
+                            var format = '0,000.' + xr.join();
+                            return Ext.util.Format.number(v, format);
+                       }
+                    }, 
+                    {
+                        text : "税率", 
+                        xtype: 'numbercolumn',
+                        dataIndex : "sd_taxrate", 
+                        width : 80.0, 
+                        editor : {
+                            xtype : "numberfield",
+                            decimalPrecision: 0,
+                            minValue: 0,
+                            maxValue: 100
+                        },
+                        renderer : function(v) {
+                            return Ext.util.Format.number(v, '0');
+                        }
+                    },{
+                        text : "交货日期", 
+                        dataIndex : "sd_delivery", 
+                        width : 110.0, 
+                        xtype:'datecolumn',
+                        editor : {
+                            xtype : "datefield",
+                            editable : true, 
+                            hideTrigger : false
+                        }
+                    },
+                    {
+                        text : "含税金额", 
+                        xtype: 'numbercolumn',
+                        dataIndex : "sd_total", 
+                        width : 110.0,
+                        renderer : function(v) {
+                            var arr = (v + '.').split('.');
+                            var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
+                            var format = '0,000.' + xr.join();
+                            return Ext.util.Format.number(v, format);
+                        },
+                        summaryType: 'sum',
+                        summaryRenderer: function(v) {
+                            var arr = (v + '.').split('.');
+                            var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
+                            var format = '0,000.' + xr.join();
+                            return Ext.util.Format.number(v, format);
+                        }
+                    }, 
+                    {
+                        text : "未税金额", 
+                        xtype: 'numbercolumn',
+                        dataIndex : "sd_nettotal", 
+                        width : 110.0,
+                        renderer : function(v) {
+                            var arr = (v + '.').split('.');
+                            var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
+                            var format = '0,000.' + xr.join();
+                            return Ext.util.Format.number(v, format);
+                        },
+                        summaryType: 'sum',
+                        summaryRenderer: function(v) {
+                            var arr = (v + '.').split('.');
+                            var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
+                            var format = '0,000.' + xr.join();
+                            return Ext.util.Format.number(v, format);
+                        }
+                    },{
+                        text : "备注", 
+                        dataIndex : "sd_remark",
+                        width : 250, 
+                        items : null,
+                        editor : {
+                            xtype : "textfield"
+                        },
+                    }
+                ]
+            }, {
+                xtype : "textfield", 
+                name : "sa_remark", 
+                fieldLabel : "备注", 
+                columnWidth : 1
+            }, {
+                xtype : "datefield", 
+                name : "sa_date", 
+                fieldLabel : "单据日期", 
+                defaultValue: new Date()
+            }, {
+                xtype : "textfield", 
+                name : "sa_total", 
+                fieldLabel : "销售金额",
+                readOnly:true
+            },{
+                xtype : "hidden", 
+                name : "sa_sellercode", 
+                fieldLabel : "业务员编号",
+            },{
+                xtype : "employeeDbfindTrigger", 
+                name : "sa_seller", 
+                fieldLabel : "业务员",
+                defaultValue:saas.util.BaseUtil.getCurrentUser().realname
+            }, {
+                xtype : 'textfield', 
+                name : 'sa_sendstatus', 
+                fieldLabel : '出货状态', 
+                hidden : true,
+                defaultValue:saas.util.BaseUtil.getCurrentUser().id
+             },{
+                xtype : "hidden", 
+                name : "creatorId", 
+                fieldLabel : "录入人ID", 
+                readOnly:true
+            },
+            {
+                xtype : "textfield", 
+                name : "creatorName", 
+                fieldLabel : "录入人", 
+                readOnly:true
+            }, {
+                xtype : "datefield", 
+                name : "createTime", 
+                fieldLabel : "录入日期",
+                readOnly:true, 
+                defaultValue: new Date()
+            },{
+                xtype : "hidden", 
+                name : "updaterId", 
+                fieldLabel : "更新人ID", 
+                readOnly:true
+            },{
+                xtype : "hidden", 
+                name : "updaterName", 
+                fieldLabel : "更新人", 
+                readOnly:true
+            }, {
+                xtype : "hidden", 
+                name : "updateTime", 
+                fieldLabel : "更新日期",
+                readOnly:true, 
+                defaultValue: new Date()
+            }, {
+                xtype : "textfield", 
+                name : "sa_auditman", 
+                fieldLabel : "审核人", 
+                readOnly:true
+            }, {
+                xtype : "datefield", 
+                name : "sa_auditdate", 
+                fieldLabel : "审核日期",
+                readOnly:true
+            }]
+        });
+       this.callParent();
+     },   
      toolBtns: [{
          xtype: 'button',
          text: '转出货单',
@@ -42,319 +358,5 @@ Ext.define('saas.view.sale.sale.FormPanel', {
          bind: {
              hidden: '{sa_statuscode!="AUDITED"}'
          }
-     }],
-
-    defaultItems: [{
-        xtype: 'hidden',
-        name: 'id',
-        fieldLabel: 'id'
-    }, {
-        xtype : 'hidden',
-        name : 'sa_custid', 
-        fieldLabel : '客户ID'
-    }
-    , {
-        xtype : 'hidden', 
-        name : 'sa_custcode', 
-        fieldLabel : '客户编号'
-    }, {
-        xtype : "customerDbfindTrigger", 
-        name : "sa_custname", 
-        fieldLabel : "客户名称",
-        allowBlank : false
-    }, {
-        name : "sa_toplace", 
-        xtype : "textfield", 
-        fieldLabel : "交货地址", 
-        allowBlank : false, 
-        columnWidth : 0.5,
-        hiddenBtn:false,//true 则会关闭新增按钮功能
-        addHandler:function(b){
-            var form = this.ownerCmp.ownerCt;
-            this.dialog = form.add({
-                xtype: 'document-address-window',
-                bind: {
-                    title: '新增交货地址'
-                },
-                _parent:form,
-                _combo:this.ownerCmp,
-                record:null,
-                session: true
-            });
-            this.dialog.show();
-        }
-    }, {
-        name : "detailGridField", 
-        xtype : "detailGridField", 
-        detnoColumn: 'sd_detno',
-        storeModel:'saas.model.sale.Saledetail',
-        deleteDetailUrl:'/api/sale/sale/deleteDetail',
-        columns : [
-           {
-                text : "id", 
-                dataIndex : "id", 
-                xtype : "numbercolumn",
-                hidden:true
-            }, {
-                text : "物料id", 
-                dataIndex : "sd_prodid", 
-                width : 0
-            }, {
-                text : "物料编号", 
-                width : 150.0, 
-                dataIndex : "sd_prodcode", 
-                xtype : "", 
-                items : null,
-                allowBlank:false,
-                editor : {
-                    displayField : "display", 
-                    editable : true, 
-                    format : "", 
-                    hideTrigger : false, 
-                    maxLength : 100.0, 
-                    minValue : null, 
-                    positiveNum : false, 
-                    queryMode : "local", 
-                    store : null, 
-                    valueField : "value", 
-                    xtype : "productMultiDbfindTrigger"
-                }
-            },{
-                text: 'model映射需要',
-                dataIndex: 'productDTO',
-                hidden: true,
-            }, {
-                text : "名称", 
-                dataIndex : "pr_detail", 
-                width : 200.0,
-                ignore:true,
-                renderer: function (v, m, r) {
-                    if(!v){
-                        return r.data["productDTO"]?r.data["productDTO"][m.column.dataIndex]:null;
-                    }
-                    return v;
-                }
-            }, {
-                text : "规格", 
-                dataIndex : "pr_spec",
-                ignore:true,
-                width : 150.0, 
-                renderer: function (v, m, r) {
-                    if(!v){
-                        return r.data["productDTO"]?r.data["productDTO"][m.column.dataIndex]:null;
-                    }
-                    return v;
-                }
-            }, {
-                text : "数量", 
-                dataIndex : "sd_qty", 
-                width : 110.0,
-                xtype: 'numbercolumn',
-                allowBlank:false, 
-                editor : {
-                    xtype : "numberfield",
-                    decimalPrecision: 3,
-                    minValue:0
-                },
-                renderer : function(v) {
-                    var arr = (v + '.').split('.');
-                    var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
-                    var format = '0.' + xr.join();
-                    return Ext.util.Format.number(v, format);
-                },
-                summaryType: 'sum',
-                summaryRenderer: function(v) {
-                    var arr = (v + '.').split('.');
-                    var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
-                    var format = '0.' + xr.join();
-                    return Ext.util.Format.number(v, format);
-                }
-            },  {
-                text : "已转数", 
-                xtype: 'numbercolumn',
-                dataIndex : "sd_yqty", 
-                width : 0, 
-                hidden : true,
-                editor : {
-                    xtype : "numberfield",
-                    decimalPrecision: 3
-                },
-                renderer : function(v) {
-                    var arr = (v + '.').split('.');
-                    var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
-                    var format = '0.' + xr.join();
-                    return Ext.util.Format.number(v, format);
-                },
-                summaryType: 'sum',
-                summaryRenderer: function(v) {
-                    var arr = (v + '.').split('.');
-                    var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
-                    var format = '0.' + xr.join();
-                    return Ext.util.Format.number(v, format);
-                }
-            },
-            {
-                text : "单价", 
-                xtype: 'numbercolumn',
-                dataIndex : "sd_price", 
-                width : 110.0,
-                editor : {
-                    xtype : "numberfield",
-                    decimalPrecision: 8,
-                    minValue:0
-                },
-                renderer : function(v) {
-                    var arr = (v + '.').split('.');
-                    var xr = (new Array(arr[1].length > 8 ? 8 :(arr[1].length < 2? 2 : arr[1].length))).fill('0');
-                    var format = '0,000.' + xr.join();
-                    return Ext.util.Format.number(v, format);
-               }
-            }, 
-            {
-                text : "税率", 
-                xtype: 'numbercolumn',
-                dataIndex : "sd_taxrate", 
-                width : 80.0, 
-                editor : {
-                    xtype : "numberfield",
-                    decimalPrecision: 0,
-                    minValue: 0,
-                    maxValue: 100
-                },
-                renderer : function(v) {
-                    return Ext.util.Format.number(v, '0');
-                }
-            },{
-                text : "交货日期", 
-                dataIndex : "sd_delivery", 
-                width : 110.0, 
-                xtype:'datecolumn',
-                editor : {
-                    xtype : "datefield",
-                    editable : true, 
-                    hideTrigger : false
-                }
-            },
-            {
-                text : "含税金额", 
-                xtype: 'numbercolumn',
-                dataIndex : "sd_total", 
-                width : 110.0,
-                renderer : function(v) {
-                    var arr = (v + '.').split('.');
-                    var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
-                    var format = '0,000.' + xr.join();
-                    return Ext.util.Format.number(v, format);
-                },
-                summaryType: 'sum',
-                summaryRenderer: function(v) {
-                    var arr = (v + '.').split('.');
-                    var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
-                    var format = '0,000.' + xr.join();
-                    return Ext.util.Format.number(v, format);
-                }
-            }, 
-            {
-                text : "未税金额", 
-                xtype: 'numbercolumn',
-                dataIndex : "sd_nettotal", 
-                width : 110.0,
-                renderer : function(v) {
-                    var arr = (v + '.').split('.');
-                    var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
-                    var format = '0,000.' + xr.join();
-                    return Ext.util.Format.number(v, format);
-                },
-                summaryType: 'sum',
-                summaryRenderer: function(v) {
-                    var arr = (v + '.').split('.');
-                    var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
-                    var format = '0,000.' + xr.join();
-                    return Ext.util.Format.number(v, format);
-                }
-            },{
-                text : "备注", 
-                dataIndex : "sd_remark",
-                width : 250, 
-                items : null,
-                editor : {
-                    xtype : "textfield"
-                },
-            }
-        ]
-    }, {
-        xtype : "textfield", 
-        name : "sa_remark", 
-        fieldLabel : "备注", 
-        columnWidth : 1
-    }, {
-        xtype : "datefield", 
-        name : "sa_date", 
-        fieldLabel : "单据日期", 
-        defaultValue: new Date()
-    }, {
-        xtype : "textfield", 
-        name : "sa_total", 
-        fieldLabel : "销售金额",
-        readOnly:true
-    },{
-        xtype : "hidden", 
-        name : "sa_sellercode", 
-        fieldLabel : "业务员编号",
-    },{
-        xtype : "employeeDbfindTrigger", 
-        name : "sa_seller", 
-        fieldLabel : "业务员",
-        defaultValue:saas.util.BaseUtil.getCurrentUser().realname
-    }, {
-        xtype : 'textfield', 
-        name : 'sa_sendstatus', 
-        fieldLabel : '出货状态', 
-        hidden : true,
-        defaultValue:saas.util.BaseUtil.getCurrentUser().id
-     },{
-        xtype : "hidden", 
-        name : "creatorId", 
-        fieldLabel : "录入人ID", 
-        readOnly:true
-    },
-    {
-        xtype : "textfield", 
-        name : "creatorName", 
-        fieldLabel : "录入人", 
-        readOnly:true
-    }, {
-        xtype : "datefield", 
-        name : "createTime", 
-        fieldLabel : "录入日期",
-        readOnly:true, 
-        defaultValue: new Date()
-    },{
-        xtype : "hidden", 
-        name : "updaterId", 
-        fieldLabel : "更新人ID", 
-        readOnly:true
-    },{
-        xtype : "hidden", 
-        name : "updaterName", 
-        fieldLabel : "更新人", 
-        readOnly:true
-    }, {
-        xtype : "hidden", 
-        name : "updateTime", 
-        fieldLabel : "更新日期",
-        readOnly:true, 
-        defaultValue: new Date()
-    }, {
-        xtype : "textfield", 
-        name : "sa_auditman", 
-        fieldLabel : "审核人", 
-        readOnly:true
-    }, {
-        xtype : "datefield", 
-        name : "sa_auditdate", 
-        fieldLabel : "审核日期",
-        readOnly:true
-    }
-    ]
+     }]
 });

+ 9 - 9
frontend/saas-web/resources/json/navigation.json

@@ -128,15 +128,15 @@
     "items": [{
         "text": "制单",
         "items": [{
-            "id": "payBalance",
-            "text": "付款单",
-            "addType": "money-paybalance-formpanel",
-            "viewType": "money-paybalance-querypanel"
-        }, {
             "id": "recBbalance",
             "text": "收款单",
             "addType": "money-recbalance-formpanel",
             "viewType": "money-recbalance-querypanel"
+        }, {
+            "id": "payBalance",
+            "text": "付款单",
+            "addType": "money-paybalance-formpanel",
+            "viewType": "money-paybalance-querypanel"
         }, {
             "id": "verification",
             "text": "核销单",
@@ -161,13 +161,13 @@
     }, {
         "text": "报表",
         "items": [{
-            "text": "应付账款明细表",
-            "id": "monry-report-paydetail",
-            "viewType":"monry-report-paydetail"
-        }, {
             "text": "应收账款明细表",
             "id": "monry-report-recdetail",
             "viewType":"monry-report-recdetail"
+        }, {
+            "text": "应付账款明细表",
+            "id": "monry-report-paydetail",
+            "viewType":"monry-report-paydetail"
         }, {
             "text": "账户收支明细表",
             "id": "monry-report-accountbalance",