Przeglądaj źródła

Merge remote-tracking branch 'origin/dev' into dev

zhoudw 7 lat temu
rodzic
commit
c45bb96a80
23 zmienionych plików z 752 dodań i 105 usunięć
  1. 1 0
      applications/commons/commons-dto/src/main/java/com/usoftchina/saas/commons/exception/BizExceptionCode.java
  2. 1 0
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/CustomerServiceImpl.java
  3. 1 0
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/VendorServiceImpl.java
  4. 1 1
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/mapper/BanksubledgerMapper.java
  5. 1 1
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/mapper/SubledgerMapper.java
  6. 1 1
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/mapper/VerificationMapper.java
  7. 3 2
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/FundtransferServiceImpl.java
  8. 6 4
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/OthreceiptsServiceImpl.java
  9. 7 4
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/OthspendingsServiceImpl.java
  10. 7 4
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/PaybalanceServiceImpl.java
  11. 20 32
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/RecbalanceServiceImpl.java
  12. 25 22
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/VerificationServiceImpl.java
  13. 2 1
      applications/money/money-server/src/main/resources/mapper/BanksubledgerMapper.xml
  14. 2 1
      applications/money/money-server/src/main/resources/mapper/SubledgerMapper.xml
  15. 3 2
      applications/money/money-server/src/main/resources/mapper/VerificationMapper.xml
  16. 1 1
      frontend/saas-web/app/view/core/dbfind/types/VendorDbfindTrigger.js
  17. 48 1
      frontend/saas-web/app/view/core/report/ReportPanel.js
  18. 72 0
      frontend/saas-web/app/view/money/othreceipts/FormPanelController.js
  19. 72 0
      frontend/saas-web/app/view/money/othspendings/FormPanelController.js
  20. 68 0
      frontend/saas-web/app/view/money/payBalance/FormPanelController.js
  21. 72 0
      frontend/saas-web/app/view/money/recBalance/FormPanelController.js
  22. 59 10
      frontend/saas-web/app/view/money/verification/FormPanel.js
  23. 279 18
      frontend/saas-web/app/view/money/verification/FormPanelController.js

+ 1 - 0
applications/commons/commons-dto/src/main/java/com/usoftchina/saas/commons/exception/BizExceptionCode.java

@@ -86,6 +86,7 @@ public enum BizExceptionCode implements BaseExceptionCode {
     SUBLEDGER_NOT_EXIS(74005,"来源单据不存在"),
     CHECK_SETACOUNT_EXIS(74006, "不能删除单据日期小于等于结账期间<u>%s</u>的单据"),
     VERIFICATION_CHECK_BALANCE(74007,"核销金额不能大于未核销金额"),
+    DELETE_NOT_EXIS(74008,"删除失败,当前单据不存在!"),
 
 
 

+ 1 - 0
applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/CustomerServiceImpl.java

@@ -147,6 +147,7 @@ public class CustomerServiceImpl extends CommonBaseServiceImpl<CustomerMapper, C
                 String mes = String.format(BizExceptionCode.LIMIT_PERIOD_CUSTOMER.getMessage(),YM);
                 throw new BizException(code , mes);
             }
+            YM = beginDate;
         }
         //编号校验
         cu_code = RegexpUtils.replaceSpecCharacter(cu_code);

+ 1 - 0
applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/VendorServiceImpl.java

@@ -133,6 +133,7 @@ public class VendorServiceImpl extends CommonBaseServiceImpl<VendorMapper, Vendo
                 String mes = String.format(BizExceptionCode.LIMIT_PERIOD_VENDOR.getMessage(),YM);
                 throw new BizException(code , mes);
             }
+            YM = beginDate;
         }
         ve_code = RegexpUtils.replaceSpecCharacter(ve_code);
         String code = pushMaxnubmer(ve_code, main.getId());

+ 1 - 1
applications/money/money-server/src/main/java/com/usoftchina/saas/money/mapper/BanksubledgerMapper.java

@@ -17,7 +17,7 @@ public interface BanksubledgerMapper extends CommonBaseMapper<Banksubledger> {
 
     int deleteByExample(BanksubledgerExample example);
 
-    int deleteByPrimaryKey(@Param("code") String code, @Param("kind") String kind);
+    int deleteByPrimaryKey(@Param("code") String code, @Param("kind") String kind ,@Param("companyid") Long companyid);
 
 //    Long insert(Banksubledger record);
 

+ 1 - 1
applications/money/money-server/src/main/java/com/usoftchina/saas/money/mapper/SubledgerMapper.java

@@ -13,7 +13,7 @@ import java.util.List;
  * @date 2018/11/6 10:33
  **/
 public interface SubledgerMapper {
-    int deleteByPrimaryKey(@Param("code") String code, @Param("kind") String kind);
+    int deleteByPrimaryKey(@Param("code") String code, @Param("kind") String kind , @Param("companyid") Long companyid);
 
     int insert(Subledger record);
 

+ 1 - 1
applications/money/money-server/src/main/java/com/usoftchina/saas/money/mapper/VerificationMapper.java

@@ -39,5 +39,5 @@ public interface VerificationMapper extends CommonBaseMapper<Verification> {
 
     String validateResAudit(Long id);
 
-    int validateSetAcount(int detno);
+    int validateSetAcount(@Param("detno") int detno,@Param("companyid")Long companyid);
 }

+ 3 - 2
applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/FundtransferServiceImpl.java

@@ -200,7 +200,7 @@ public class FundtransferServiceImpl extends CommonBaseServiceImpl<FundtransferM
 
         //删除中间表
         fundtransfer = fundtransferMapper.selectByPrimaryKey(id);
-        banksubledgerMapper.deleteByPrimaryKey(fundtransfer.getFt_code(), "资金转账");
+        banksubledgerMapper.deleteByPrimaryKey(fundtransfer.getFt_code(), "资金转账",BaseContextHolder.getCompanyId());
 
         //资金
         //取从表金额
@@ -256,9 +256,10 @@ public class FundtransferServiceImpl extends CommonBaseServiceImpl<FundtransferM
 
     @Override
     public void delete(int id) {
+        DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
         fundtransferMapper.deleteByPrimaryKey(id);
         fundtransferdetailMapper.deleteByPrimaryKey(id);
-        DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
+
         //日志记录
         messageLogService.delete(baseDTO);
     }

+ 6 - 4
applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/OthreceiptsServiceImpl.java

@@ -216,7 +216,7 @@ public class OthreceiptsServiceImpl extends CommonBaseServiceImpl<OthreceiptsMap
 
         //删除中间表
         othreceipts = othreceiptsMapper.selectByPrimaryKey(id);
-        banksubledgerMapper.deleteByPrimaryKey(othreceipts.getOr_code(), "其他收入单");
+        banksubledgerMapper.deleteByPrimaryKey(othreceipts.getOr_code(), "其他收入单",BaseContextHolder.getCompanyId());
 
 
         //更新资金
@@ -263,7 +263,7 @@ public class OthreceiptsServiceImpl extends CommonBaseServiceImpl<OthreceiptsMap
             customer.setCu_recamount(recamount - or_amount);
             customer.setCu_leftamount(beginapamount + beginprepayamount + recamount - or_amount - preamount);
             recbalanceMapper.updateCustomerByPrimaryKeySelective(customer);
-            subledgerMapper.deleteByPrimaryKey(othreceipts.getOr_code(), "其他收入单");
+            subledgerMapper.deleteByPrimaryKey(othreceipts.getOr_code(), "其他收入单",BaseContextHolder.getCompanyId());
         }
 
 
@@ -287,16 +287,18 @@ public class OthreceiptsServiceImpl extends CommonBaseServiceImpl<OthreceiptsMap
 
     @Override
     public void delete(int id) {
+        DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
         othreceiptsMapper.deleteByPrimaryKey(id);
         othreceiptsdetailMapper.deleteByPrimaryKey(id);
-        DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
+
         //日志记录
         messageLogService.delete(baseDTO);
     }
 
     public void deleteItem(int id) {
-        othreceiptsdetailMapper.deleteItem(id);
         DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
+        othreceiptsdetailMapper.deleteItem(id);
+
         //日志记录
         messageLogService.deleteDetail(baseDTO);
     }

+ 7 - 4
applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/OthspendingsServiceImpl.java

@@ -106,17 +106,20 @@ public class OthspendingsServiceImpl extends CommonBaseServiceImpl<OthspendingsM
 
     @Override
     public void delete(int id) {
+        DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
+
         othspendingsMapper.deleteByPrimaryKey(id);
         othspendingsdetailMapper.deleteItem(id);
-        DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
+
         //日志记录
         messageLogService.delete(baseDTO);
     }
 
     @Override
     public void deleteItem(int id) {
-        othspendingsdetailMapper.deleteItem(id);
         DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
+        othspendingsdetailMapper.deleteItem(id);
+
         //日志记录
         messageLogService.deleteDetail(baseDTO);
     }
@@ -248,7 +251,7 @@ public class OthspendingsServiceImpl extends CommonBaseServiceImpl<OthspendingsM
 
         //删除中间表
         othspendings = othspendingsMapper.selectByPrimaryKey(id);
-        banksubledgerMapper.deleteByPrimaryKey(othspendings.getOs_code(), "其他支出单");
+        banksubledgerMapper.deleteByPrimaryKey(othspendings.getOs_code(), "其他支出单",BaseContextHolder.getCompanyId());
 
         //资金
         Double amount = banksubledgerMapper.selectThisamount(othspendings.getOs_bankcode());
@@ -294,7 +297,7 @@ public class OthspendingsServiceImpl extends CommonBaseServiceImpl<OthspendingsM
             vendor.setVe_leftamount(beginapamount + beginprepayamount - payamount + bk_amount + preamount);
             paybalanceMapper.updateVendorByPrimaryKeySelective(vendor);
 
-            subledgerMapper.deleteByPrimaryKey(othspendings.getOs_code(), "其他支出单");
+            subledgerMapper.deleteByPrimaryKey(othspendings.getOs_code(), "其他支出单",BaseContextHolder.getCompanyId());
         }
 
 

+ 7 - 4
applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/PaybalanceServiceImpl.java

@@ -354,8 +354,8 @@ public class PaybalanceServiceImpl extends CommonBaseServiceImpl<PaybalanceMappe
 
         //删除中间表
         paybalance = paybalanceMapper.selectByPrimaryKey(Long.valueOf(id));
-        subledgerMapper.deleteByPrimaryKey(paybalance.getPb_code(), paybalance.getPb_kind());
-        banksubledgerMapper.deleteByPrimaryKey(paybalance.getPb_code(), paybalance.getPb_kind());
+        subledgerMapper.deleteByPrimaryKey(paybalance.getPb_code(), paybalance.getPb_kind(),BaseContextHolder.getCompanyId());
+        banksubledgerMapper.deleteByPrimaryKey(paybalance.getPb_code(), paybalance.getPb_kind(),BaseContextHolder.getCompanyId());
 
         //计算期间金额
         Statsinfo statsinfo = new Statsinfo();
@@ -377,10 +377,12 @@ public class PaybalanceServiceImpl extends CommonBaseServiceImpl<PaybalanceMappe
     }
 
     public void delete(int id){
+        DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
+
         paybalanceMapper.deleteByPrimaryKey(id);
         paybalancedetailMapper.deleteByPrimaryKey(id);
         paybalancedetMapper.deleteByPrimaryKey(id);
-        DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
+
         //日志记录
         messageLogService.delete(baseDTO);
     }
@@ -395,8 +397,9 @@ public class PaybalanceServiceImpl extends CommonBaseServiceImpl<PaybalanceMappe
 
     @Override
     public void deleteItems(int id) {
-        paybalancedetailMapper.deleteItem(id);
         DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
+        paybalancedetailMapper.deleteItem(id);
+
         //日志记录
         messageLogService.deleteDetail(baseDTO);
     }

+ 20 - 32
applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/RecbalanceServiceImpl.java

@@ -192,10 +192,12 @@ public class RecbalanceServiceImpl extends CommonBaseServiceImpl<RecbalanceMappe
 
     @Override
     public void delete(int id) {
+        DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
+
         recbalanceMapper.deleteByPrimaryKey(id);
-        recbalancedetMapper.deleteByPrimaryKey(id);
         recbalancedetailMapper.deleteByPrimaryKey(id);
-        DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
+        recbalancedetMapper.deleteByPrimaryKey(id);
+
         //日志记录
         messageLogService.delete(baseDTO);
     }
@@ -214,16 +216,18 @@ public class RecbalanceServiceImpl extends CommonBaseServiceImpl<RecbalanceMappe
 
     @Override
     public void deleteItem(int id) {
-        recbalancedetMapper.deleteItem(id);
         DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
+        recbalancedetMapper.deleteItem(id);
+
         //日志记录
         messageLogService.deleteDetail(baseDTO);
     }
 
     @Override
     public void deleteItems(int id) {
-        recbalancedetailMapper.deleteItem(id);
         DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
+        recbalancedetailMapper.deleteItem(id);
+
         //日志记录
         messageLogService.deleteDetail(baseDTO);
     }
@@ -378,8 +382,8 @@ public class RecbalanceServiceImpl extends CommonBaseServiceImpl<RecbalanceMappe
 
         //删除中间表
         recbalance = recbalanceMapper.selectByPrimaryKey(id.intValue());
-        subledgerMapper.deleteByPrimaryKey(recbalance.getRb_code(), recbalance.getRb_kind());
-        banksubledgerMapper.deleteByPrimaryKey(recbalance.getRb_code(), recbalance.getRb_kind());
+        subledgerMapper.deleteByPrimaryKey(recbalance.getRb_code(), recbalance.getRb_kind(),BaseContextHolder.getCompanyId());
+        banksubledgerMapper.deleteByPrimaryKey(recbalance.getRb_code(), recbalance.getRb_kind(),BaseContextHolder.getCompanyId());
 
         //更新源单数据
         List<Recbalancedetail> recbalancedetail = recbalancedetailMapper.selectByPrimaryKey(Math.toIntExact(id));
@@ -516,32 +520,15 @@ public class RecbalanceServiceImpl extends CommonBaseServiceImpl<RecbalanceMappe
         subledger.setSl_vendid(0);
         subledger.setSl_date(recbalance.getRb_date());
         subledger.setSl_ym(DateUtils.getYm(recbalance.getRb_date()));
-        if (recbalance.getRb_rdamount() == null){
-            subledger.setSl_amount((double) 0);
-        }else {
-            subledger.setSl_amount(recbalance.getRb_rdamount() * -1);
-        }
-        subledger.setSl_orderamount(recbalance.getRb_rdamount());
-
-        Double yamount = recbalance.getRb_preamount();
-        if (yamount == null){
-            yamount = Double.valueOf(0);
-        }
-        if (yamount > 0 || yamount < 0){
-            subledger.setSl_yamount(yamount);
-        }else {
-            subledger.setSl_yamount((double) 0);
-        }
-        if (subledger.getSl_orderamount() == null){
-            subledger.setSl_orderamount((double) 0);
-        }
+        Double rdamount = recbalance.getRb_rdamount()==null?new Double(0):recbalance.getRb_rdamount();
+        Double preamount = recbalance.getRb_preamount()==null?new Double(0):recbalance.getRb_preamount();
+        subledger.setSl_amount(-rdamount);
+        subledger.setSl_yamount(preamount);
+        subledger.setSl_orderamount(rdamount);
 
-        if (subledger.getSl_discount() == null){
-            subledger.setSl_discount((double) 0);
-        }
-        subledger.setSl_namount(subledger.getSl_orderamount() + subledger.getSl_discount() - subledger.getSl_yamount());
+        subledger.setSl_namount(rdamount-preamount);
         subledger.setSl_remark(subledger.getSl_remark());
-        subledger.setSl_preamount(subledger.getSl_preamount());
+        subledger.setSl_preamount(preamount);
 
         subledgerMapper.insertSelective(subledger);
     }
@@ -569,10 +556,11 @@ public class RecbalanceServiceImpl extends CommonBaseServiceImpl<RecbalanceMappe
             banksubledger.setBl_assid(recbalance.getRb_custid());
             banksubledger.setBl_asscode(recbalance.getRb_custcode());
             banksubledger.setBl_assname(recbalance.getRb_custname());
-            banksubledger.setBl_spending(recbalancedet.getRd_amount());
+            Double amount = recbalancedet.getRd_amount()==null?new Double(0):recbalancedet.getRd_amount();
+            banksubledger.setBl_spending(amount);
             banksubledger.setBl_manname(recbalance.getRb_manname());
             banksubledger.setBl_remark(recbalancedet.getRd_remark());
-            banksubledger.setBl_orderamount(recbalancedet.getRd_amount());
+            banksubledger.setBl_orderamount(amount);
             if (banksubledgerMapper.selectCode(banksubledger.getBl_code()) == null){
                 banksubledgerMapper.insertSelective(banksubledger);
             }else {

+ 25 - 22
applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/VerificationServiceImpl.java

@@ -373,27 +373,30 @@ public class VerificationServiceImpl extends CommonBaseServiceImpl<VerificationM
         if (null != id) {
             Verification verification = verificationMapper.selectByPrimaryKey(Math.toIntExact(id));
             SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMM");
-            String ym = simpleDateFormat.format(verification.getVc_date());
-            int detno = Integer.valueOf(ym);
-            if(checkSetAcount(detno)){
-                throw new BizException(500, BizExceptionCode.CHECK_SETACOUNT_EXIS.getMessage());
+            if(verification!=null){
+                String ym = simpleDateFormat.format(verification.getVc_date());
+                int detno = Integer.valueOf(ym);
+                if(checkSetAcount(detno)){
+                    throw new BizException(500, String.format(BizExceptionCode.CHECK_SETACOUNT_EXIS.getMessage(),detno));
+                }
+                //删除中间表
+                subledgerMapper.deleteByPrimaryKey(verification.getVc_code(),verification.getVc_kind(),BaseContextHolder.getCompanyId());
+
+                //从表删除
+                verificationdetMapper.deleteByParentPrimaryKey(id);
+                verificationdetailMapper.deleteByParentPrimaryKey(id);
+                //主表删除
+                verificationMapper.deleteByPrimaryKey(id);
+
+                DocBaseDTO baseDTO = new DocBaseDTO();
+                baseDTO.setId(id);
+                baseDTO.setCode(verification.getVc_code());
+                baseDTO.setName(BillCodeSeq.VERIFICATION.getName());
+                //日志
+                messageLogService.delete(baseDTO);
+            }else{
+                throw new BizException(500, BizExceptionCode.DELETE_NOT_EXIS.getMessage());
             }
-            //删除中间表
-            subledgerMapper.deleteByPrimaryKey(verification.getVc_code(),verification.getVc_kind());
-
-            //从表删除
-            verificationdetMapper.deleteByParentPrimaryKey(id);
-            verificationdetailMapper.deleteByParentPrimaryKey(id);
-            //主表删除
-            verificationMapper.deleteByPrimaryKey(id);
-
-            String code = verificationMapper.selectCodeById(id);
-            DocBaseDTO baseDTO = new DocBaseDTO();
-            baseDTO.setId(id);
-            baseDTO.setCode(code);
-            baseDTO.setName(BillCodeSeq.VERIFICATION.getName());
-            //日志
-            messageLogService.delete(baseDTO);
         }
     }
 
@@ -401,9 +404,9 @@ public class VerificationServiceImpl extends CommonBaseServiceImpl<VerificationM
      *
      * @param detno
      */
-    private boolean checkSetAcount(Integer detno){
+    private boolean checkSetAcount(int detno){
         boolean isSetAcount = false;
-        int count = verificationMapper.validateSetAcount(detno);
+        int count = verificationMapper.validateSetAcount(detno,BaseContextHolder.getCompanyId());
         if(count>0){
             isSetAcount = true;
         }

+ 2 - 1
applications/money/money-server/src/main/resources/mapper/BanksubledgerMapper.xml

@@ -107,9 +107,10 @@
         from banksubledger
         where bl_id = #{bl_id,jdbcType=INTEGER}
     </select>
-    <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
+    <delete id="deleteByPrimaryKey">
     delete from banksubledger
     where bl_id = #{code,jdbcType=VARCHAR} and bl_kind = #{kind, jdbcType=VARCHAR}
+    and companyid = #{companyid}
   </delete>
     <delete id="deleteByExample" parameterType="com.usoftchina.saas.money.po.BanksubledgerExample">
         delete from banksubledger

+ 2 - 1
applications/money/money-server/src/main/resources/mapper/SubledgerMapper.xml

@@ -37,9 +37,10 @@
     from subledger
     where sl_id = #{sl_id,jdbcType=INTEGER}
   </select>
-  <delete id="deleteByPrimaryKey" parameterType="java.lang.String" >
+  <delete id="deleteByPrimaryKey" >
     delete from subledger
     where sl_code = #{code,jdbcType=VARCHAR} and sl_kind = #{kind, jdbcType=VARCHAR}
+    and companyid = #{companyid}
   </delete>
   <insert id="insert" parameterType="com.usoftchina.saas.money.po.Subledger" >
     insert into subledger (sl_id, sl_code, sl_kind, 

+ 3 - 2
applications/money/money-server/src/main/resources/mapper/VerificationMapper.xml

@@ -645,8 +645,9 @@
     select vc_code from Verification where vc_id = #{id} and IFNULL(vc_statuscode,'UNAUDITED')='UNAUDITED'
   </select>
 
-  <select id="validateSetAcount" parameterType="long" resultType="java.lang.String">
-    select count(1) from periodsdetail where pd_detno = #{detno} and IFNULL(pd_status,0)=0
+  <select id="validateSetAcount" resultType="java.lang.Integer">
+    select count(1) from periodsdetail where pd_detno = #{detno} and IFNULL(pd_status,0)=99
+    and companyid= #{companyid}
   </select>
   <select id="checkStatus" resultType="int">
     select count(1) from Verification where ifnull(vc_statuscode,'')='AUDITED' and vc_id= #{id,jdbcType=INTEGER}

+ 1 - 1
frontend/saas-web/app/view/core/dbfind/types/VendorDbfindTrigger.js

@@ -61,7 +61,7 @@ Ext.define('saas.view.core.dbfind.types.VendorDbfindTrigger', {
             var format = '0.' + xr.join();
             return Ext.util.Format.number(v, format);
         }
-    }, {
+    },{
         text: "结算天数",
         dataIndex: "ve_promisedays",
         width: 110,

+ 48 - 1
frontend/saas-web/app/view/core/report/ReportPanel.js

@@ -151,6 +151,27 @@ Ext.define('saas.view.core.report.ReportPanel', {
                     displayInfo: true,
                     store: store
                 }],
+                actions: {
+                    copy: {
+                        iconCls: 'x-fa fa-copy',
+                        text: '复制单元格',
+                        handler: function() {
+                            me.onCopy(me.selectedData);
+                        }
+                    }
+                },
+                viewConfig: {
+                    deferEmptyText: false,
+                    emptyText: '无数据',
+                    listeners: {
+                        itemcontextmenu: function(view, rec, node, index, e) {
+                            e.stopEvent();
+                            me.getContextMenu().show().setLocalXY(e.getXY());
+                            me.selectedData = e.target.innerText;
+                            return false;
+                        }
+                    }
+                },
             }]
         });
 
@@ -480,5 +501,31 @@ Ext.define('saas.view.core.report.ReportPanel', {
 
     applyParams: function(p) {
         return p;
-    }
+    },
+
+    getContextMenu: function() {
+        var me = this,
+        grid = me.items.items[1];
+
+        return grid.contextMenu || (grid.contextMenu = grid.add({
+            xtype: 'menu',
+            items: [
+                // Actions can be converted into MenuItems
+                '@copy',
+            ]
+        }));
+    },
+
+    onCopy: function(text) {
+		var target = Ext.DomHelper.append(document.body, {
+			tag: 'textarea',
+			style: 'opacity: 0;position: absolute;top: -10000px;right: 0;',
+			html: text
+		});
+		target.focus();
+		target.select();
+	    document.execCommand('Copy');
+	    target.blur();
+	    document.body.removeChild(target);
+	},
 });

+ 72 - 0
frontend/saas-web/app/view/money/othreceipts/FormPanelController.js

@@ -8,6 +8,78 @@ Ext.define('saas.view.money.othreceipts.FormPanelController', {
             'customerDbfindTrigger[name=or_custname]': {
                 beforerender: function (f) {
                     Ext.apply(f, {
+                        dbColumns: [{
+                            conditionCode: 'id',
+                            text: "客户ID",
+                            dataIndex: "id",
+                            hidden:true,
+                            xtype: "",
+                        }, {
+                            conditionCode: 'cu_code',
+                            text: "客户编号",
+                            dataIndex: "cu_code",
+                            width: 150,
+                            xtype: "",
+                        }, {
+                            conditionCode: 'cu_name',
+                            text: "客户名称",
+                            dataIndex: "cu_name",
+                            width: 200,
+                            xtype: "",
+                        }, {
+                            conditionCode: 'cu_type',
+                            text: "客户类型",
+                            dataIndex: "cu_type",
+                            width: 110,
+                            xtype: "",
+                        }, {
+                            text: "业务员编号",
+                            dataIndex: "cu_sellercode",
+                            width:110
+                        }, {
+                            text: "业务员",
+                            dataIndex: "cu_sellername",
+                            width:110
+                        }, {
+                            text: "税率",
+                            dataIndex: "cu_taxrate",
+                            xtype: 'numbercolumn',
+                            width:80,
+                            renderer: function (v) {
+                                return Ext.util.Format.number(v, '0');
+                            }
+                        },{
+                            text: "应收款余额",
+                            dataIndex: "cu_leftamount",
+                            width:110,
+                            xtype: 'numbercolumn',
+                            renderer : function(v) {
+                                if(!v) {
+                                    return 0;
+                                }
+                                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: "结算天数",
+                            dataIndex: "cu_promisedays",
+                            width:110,
+                            xtype: 'numbercolumn',
+                            renderer: function (v) {
+                                return Ext.util.Format.number(v, '0');
+                            }
+                        }, {
+                            text: "额度",
+                            dataIndex: "cu_credit",
+                            width:110,
+                            xtype: 'numbercolumn',
+                        }, {
+                            text: "客户地址",
+                            dataIndex: "ca_address",
+                            width: 250
+                        }],
                         dbfinds: [{
                             from: 'id',
                             to: 'or_custid',ignore:true

+ 72 - 0
frontend/saas-web/app/view/money/othspendings/FormPanelController.js

@@ -8,6 +8,78 @@ Ext.define('saas.view.money.othspendings.FormPanelController', {
             'vendorDbfindTrigger[name=os_vendname]': {
                 beforerender: function (f) {
                     Ext.apply(f, {
+                        dbColumns: [{
+                            conditionCode: 'id',
+                            text: "客户ID",
+                            dataIndex: "id",
+                            hidden:true,
+                            xtype: "",
+                        }, {
+                            conditionCode: 'cu_code',
+                            text: "客户编号",
+                            dataIndex: "cu_code",
+                            width: 150,
+                            xtype: "",
+                        }, {
+                            conditionCode: 'cu_name',
+                            text: "客户名称",
+                            dataIndex: "cu_name",
+                            width: 200,
+                            xtype: "",
+                        }, {
+                            conditionCode: 'cu_type',
+                            text: "客户类型",
+                            dataIndex: "cu_type",
+                            width: 110,
+                            xtype: "",
+                        }, {
+                            text: "业务员编号",
+                            dataIndex: "cu_sellercode",
+                            width:110
+                        }, {
+                            text: "业务员",
+                            dataIndex: "cu_sellername",
+                            width:110
+                        }, {
+                            text: "税率",
+                            dataIndex: "cu_taxrate",
+                            xtype: 'numbercolumn',
+                            width:80,
+                            renderer: function (v) {
+                                return Ext.util.Format.number(v, '0');
+                            }
+                        },{
+                            text: "应收款余额",
+                            dataIndex: "cu_leftamount",
+                            width:110,
+                            xtype: 'numbercolumn',
+                            renderer : function(v) {
+                                if(!v) {
+                                    return 0;
+                                }
+                                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: "结算天数",
+                            dataIndex: "cu_promisedays",
+                            width:110,
+                            xtype: 'numbercolumn',
+                            renderer: function (v) {
+                                return Ext.util.Format.number(v, '0');
+                            }
+                        }, {
+                            text: "额度",
+                            dataIndex: "cu_credit",
+                            width:110,
+                            xtype: 'numbercolumn',
+                        }, {
+                            text: "客户地址",
+                            dataIndex: "ca_address",
+                            width: 250
+                        }],
                         dbfinds: [{
                             from: 'id',
                             to: 'os_vendid',

+ 68 - 0
frontend/saas-web/app/view/money/payBalance/FormPanelController.js

@@ -9,6 +9,74 @@ Ext.define('saas.view.money.payBalance.FormPanelController', {
             'dbfindtrigger[name=pb_vendname]':{
                 beforerender: function (f) {
                     Ext.apply(f, {
+                        dbColumns:[{
+                            text: "供应商ID",
+                            hidden: true,
+                            dataIndex: "id",
+                            xtype: "numbercolumn"
+                        },{
+                            text: "供应商编号",
+                            dataIndex: "ve_code",
+                            width: 150
+                        }, {
+                            text: "供应商名称",
+                            dataIndex: "ve_name",
+                            width: 200
+                        }, {
+                            text: "供应商类型",
+                            dataIndex: "ve_type",
+                            width: 110,
+                        }, {
+                            text: "税率",
+                            dataIndex: "ve_taxrate",
+                            width: 80,
+                            xtype: 'numbercolumn',
+                            align:'end',
+                            renderer : function(v) {
+                                if(!v) {
+                                    return 0;
+                                }
+                                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: "应付款余额",
+                            dataIndex: "ve_leftamount",
+                            width:110,
+                            xtype: 'numbercolumn',
+                            renderer : function(v) {
+                                if(!v) {
+                                    return 0;
+                                }
+                                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: "结算天数",
+                            dataIndex: "ve_promisedays",
+                            width: 110,
+                            xtype: 'numbercolumn',
+                            align: 'end',
+                            renderer : function(v) {
+                                return Ext.util.Format.number(v, '0');
+                            }
+                        }, {
+                            text: "纳税人识别号",
+                            dataIndex: "ve_nsrzh",
+                            width: 150
+                        }, {
+                            text: "开户银行",
+                            dataIndex: "ve_bankcode",
+                            width: 150
+                        }, {
+                            text: "银行账户",
+                            dataIndex: "ve_bankaccount",
+                            width: 200
+                        }],
                         dbfinds: [{
                             from: 've_code',
                             to: 'pb_vendcode'

+ 72 - 0
frontend/saas-web/app/view/money/recBalance/FormPanelController.js

@@ -8,6 +8,78 @@ Ext.define('saas.view.money.recBalance.FormPanelController', {
             'dbfindtrigger[name=rb_custname]':{
                 beforerender:function(f){
                     Ext.apply(f,{
+                        dbColumns: [{
+                            conditionCode: 'id',
+                            text: "客户ID",
+                            dataIndex: "id",
+                            hidden:true,
+                            xtype: "",
+                        }, {
+                            conditionCode: 'cu_code',
+                            text: "客户编号",
+                            dataIndex: "cu_code",
+                            width: 150,
+                            xtype: "",
+                        }, {
+                            conditionCode: 'cu_name',
+                            text: "客户名称",
+                            dataIndex: "cu_name",
+                            width: 200,
+                            xtype: "",
+                        }, {
+                            conditionCode: 'cu_type',
+                            text: "客户类型",
+                            dataIndex: "cu_type",
+                            width: 110,
+                            xtype: "",
+                        }, {
+                            text: "业务员编号",
+                            dataIndex: "cu_sellercode",
+                            width:110
+                        }, {
+                            text: "业务员",
+                            dataIndex: "cu_sellername",
+                            width:110
+                        }, {
+                            text: "税率",
+                            dataIndex: "cu_taxrate",
+                            xtype: 'numbercolumn',
+                            width:80,
+                            renderer: function (v) {
+                                return Ext.util.Format.number(v, '0');
+                            }
+                        },{
+                            text: "应收款余额",
+                            dataIndex: "cu_leftamount",
+                            width:110,
+                            xtype: 'numbercolumn',
+                            renderer : function(v) {
+                                if(!v) {
+                                    return 0;
+                                }
+                                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: "结算天数",
+                            dataIndex: "cu_promisedays",
+                            width:110,
+                            xtype: 'numbercolumn',
+                            renderer: function (v) {
+                                return Ext.util.Format.number(v, '0');
+                            }
+                        }, {
+                            text: "额度",
+                            dataIndex: "cu_credit",
+                            width:110,
+                            xtype: 'numbercolumn',
+                        }, {
+                            text: "客户地址",
+                            dataIndex: "ca_address",
+                            width: 250
+                        }],
                         //赋值 
                         dbfinds:[{
                             from: 'id', to: 'rb_custid',ignore:true

+ 59 - 10
frontend/saas-web/app/view/money/verification/FormPanel.js

@@ -301,11 +301,54 @@ Ext.define('saas.view.money.verification.FormPanel', {
             }]
         },
         other: [{
-            fieldLabel: '备注',
             xtype: 'textfield',
+            name: 'vc_remark',
             columnWidth: 1,
-            name: 'vc_remark'
-        }],
+            fieldLabel: '备注'
+        }, {
+            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: 'vc_auditman',
+                fieldLabel: '审核人',
+                readOnly: true
+            },{
+                xtype: "datefield",
+                name: "vc_auditdate",
+                fieldLabel: "审核日期",
+                readOnly: true
+            }],
 
         // 预收冲应收
         receipts_offset_receivable : {
@@ -340,8 +383,9 @@ Ext.define('saas.view.money.verification.FormPanel', {
                 xtype: "hidden",
                 name: "vc_amount2",
                 fieldLabel: "未核销金额"
-            },],
-            details: ['detail1', 'detail2']
+            }],
+            details: ['detail1', 'detail2'],
+            other: ['other']
         },
 
         // 预付冲应付
@@ -378,7 +422,8 @@ Ext.define('saas.view.money.verification.FormPanel', {
                 name: "vc_amount2",
                 fieldLabel: "未核销金额"
             }],
-            details: ['detail1', 'detail2']
+            details: ['detail1', 'detail2'],
+            other: ['other']
         },
 
         // 应收冲应付
@@ -432,7 +477,8 @@ Ext.define('saas.view.money.verification.FormPanel', {
                 name: "vc_amount2",
                 fieldLabel: "未核销金额"
             }],
-            details: ['detail1', 'detail2']
+            details: ['detail1', 'detail2'],
+            other: ['other']
         },
 
         // 应收转应收
@@ -485,7 +531,8 @@ Ext.define('saas.view.money.verification.FormPanel', {
                 name: "vc_amount2",
                 fieldLabel: "未核销金额"
             }],
-            details: ['detail1']
+            details: ['detail1'],
+            other: ['other']
         },
 
         // 应付转应付
@@ -538,7 +585,8 @@ Ext.define('saas.view.money.verification.FormPanel', {
                 name: "vc_amount2",
                 fieldLabel: "未核销金额"
             }],
-            details: ['detail1']
+            details: ['detail1'],
+            other: ['other']
         },
 
         defaultConditions: {
@@ -546,7 +594,8 @@ Ext.define('saas.view.money.verification.FormPanel', {
                 'ifnull(sl_custid,0)={vc_custid} and ifnull(sl_preamount,0)=0 and ifnull(sl_namount,0)<>0 ' +
                 'and sl_kind in (\'期初余额\',\'出货单\',\'销售退货单\')'],
             prepaid_offset_payable: ['ifnull(sl_vendid,0)={vc_vendid} and ifnull(sl_preamount,0)<>0 and ifnull(sl_namount,0)<>0',
-                'ifnull(sl_vendid,0)={vc_vendid} and ifnull(sl_preamount,0)=0 and ifnull(sl_namount,0)<>0'],
+                'ifnull(sl_vendid,0)={vc_vendid} and ifnull(sl_preamount,0)=0 and ifnull(sl_namount,0)<>0' +
+                'and sl_kind in (\'期初余额\',\'采购验收单\',\'采购验退单\')'],
             receivable_offset_payable: ['ifnull(sl_custid,0)={vc_custid} and ifnull(sl_preamount,0)=0 and ifnull(sl_namount,0)<>0',
                 'ifnull(sl_vendid,0)={vc_vendid} and ifnull(sl_preamount,0)=0 and ifnull(sl_namount,0)<>0'],
             receivable_to_receivable: ['ifnull(sl_custid,0)={vc_custid} and ifnull(sl_preamount,0)=0 and ifnull(sl_namount,0)<>0 ' +

+ 279 - 18
frontend/saas-web/app/view/money/verification/FormPanelController.js

@@ -9,6 +9,78 @@ Ext.define('saas.view.money.verification.FormPanelController', {
             'dbfindtrigger[name=vc_custname]':{
                 beforerender:function(f){
                     Ext.apply(f,{
+                        dbColumns: [{
+                            conditionCode: 'id',
+                            text: "客户ID",
+                            dataIndex: "id",
+                            hidden:true,
+                            xtype: "",
+                        }, {
+                            conditionCode: 'cu_code',
+                            text: "客户编号",
+                            dataIndex: "cu_code",
+                            width: 150,
+                            xtype: "",
+                        }, {
+                            conditionCode: 'cu_name',
+                            text: "客户名称",
+                            dataIndex: "cu_name",
+                            width: 200,
+                            xtype: "",
+                        }, {
+                            conditionCode: 'cu_type',
+                            text: "客户类型",
+                            dataIndex: "cu_type",
+                            width: 110,
+                            xtype: "",
+                        }, {
+                            text: "业务员编号",
+                            dataIndex: "cu_sellercode",
+                            width:110
+                        }, {
+                            text: "业务员",
+                            dataIndex: "cu_sellername",
+                            width:110
+                        }, {
+                            text: "税率",
+                            dataIndex: "cu_taxrate",
+                            xtype: 'numbercolumn',
+                            width:80,
+                            renderer: function (v) {
+                                return Ext.util.Format.number(v, '0');
+                            }
+                        },{
+                            text: "应收款余额",
+                            dataIndex: "cu_leftamount",
+                            width:110,
+                            xtype: 'numbercolumn',
+                            renderer : function(v) {
+                                if(!v) {
+                                    return 0;
+                                }
+                                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: "结算天数",
+                            dataIndex: "cu_promisedays",
+                            width:110,
+                            xtype: 'numbercolumn',
+                            renderer: function (v) {
+                                return Ext.util.Format.number(v, '0');
+                            }
+                        }, {
+                            text: "额度",
+                            dataIndex: "cu_credit",
+                            width:110,
+                            xtype: 'numbercolumn',
+                        }, {
+                            text: "客户地址",
+                            dataIndex: "ca_address",
+                            width: 250
+                        }],
                         //赋值 
                         dbfinds:[{
                             from: 'id', to: 'vc_custid',ignore:true
@@ -25,6 +97,78 @@ Ext.define('saas.view.money.verification.FormPanelController', {
             'dbfindtrigger[name=vc_turncustname]':{
                 beforerender:function(f){
                     Ext.apply(f,{
+                        dbColumns: [{
+                            conditionCode: 'id',
+                            text: "客户ID",
+                            dataIndex: "id",
+                            hidden:true,
+                            xtype: "",
+                        }, {
+                            conditionCode: 'cu_code',
+                            text: "客户编号",
+                            dataIndex: "cu_code",
+                            width: 150,
+                            xtype: "",
+                        }, {
+                            conditionCode: 'cu_name',
+                            text: "客户名称",
+                            dataIndex: "cu_name",
+                            width: 200,
+                            xtype: "",
+                        }, {
+                            conditionCode: 'cu_type',
+                            text: "客户类型",
+                            dataIndex: "cu_type",
+                            width: 110,
+                            xtype: "",
+                        }, {
+                            text: "业务员编号",
+                            dataIndex: "cu_sellercode",
+                            width:110
+                        }, {
+                            text: "业务员",
+                            dataIndex: "cu_sellername",
+                            width:110
+                        }, {
+                            text: "税率",
+                            dataIndex: "cu_taxrate",
+                            xtype: 'numbercolumn',
+                            width:80,
+                            renderer: function (v) {
+                                return Ext.util.Format.number(v, '0');
+                            }
+                        },{
+                            text: "应收款余额",
+                            dataIndex: "cu_leftamount",
+                            width:110,
+                            xtype: 'numbercolumn',
+                            renderer : function(v) {
+                                if(!v) {
+                                    return 0;
+                                }
+                                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: "结算天数",
+                            dataIndex: "cu_promisedays",
+                            width:110,
+                            xtype: 'numbercolumn',
+                            renderer: function (v) {
+                                return Ext.util.Format.number(v, '0');
+                            }
+                        }, {
+                            text: "额度",
+                            dataIndex: "cu_credit",
+                            width:110,
+                            xtype: 'numbercolumn',
+                        }, {
+                            text: "客户地址",
+                            dataIndex: "ca_address",
+                            width: 250
+                        }],
                         //赋值 
                         dbfinds:[{
                             from: 'id', to: 'vc_turncustid',ignore:true
@@ -41,6 +185,74 @@ Ext.define('saas.view.money.verification.FormPanelController', {
             'dbfindtrigger[name=vc_vendname]':{
                 beforerender: function (f) {
                     Ext.apply(f, {
+                        dbColumns:[{
+                            text: "供应商ID",
+                            hidden: true,
+                            dataIndex: "id",
+                            xtype: "numbercolumn"
+                        },{
+                            text: "供应商编号",
+                            dataIndex: "ve_code",
+                            width: 150
+                        }, {
+                            text: "供应商名称",
+                            dataIndex: "ve_name",
+                            width: 200
+                        }, {
+                            text: "供应商类型",
+                            dataIndex: "ve_type",
+                            width: 110,
+                        }, {
+                            text: "税率",
+                            dataIndex: "ve_taxrate",
+                            width: 80,
+                            xtype: 'numbercolumn',
+                            align:'end',
+                            renderer : function(v) {
+                                if(!v) {
+                                    return 0;
+                                }
+                                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: "应付款余额",
+                            dataIndex: "ve_leftamount",
+                            width:110,
+                            xtype: 'numbercolumn',
+                            renderer : function(v) {
+                                if(!v) {
+                                    return 0;
+                                }
+                                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: "结算天数",
+                            dataIndex: "ve_promisedays",
+                            width: 110,
+                            xtype: 'numbercolumn',
+                            align: 'end',
+                            renderer : function(v) {
+                                return Ext.util.Format.number(v, '0');
+                            }
+                        }, {
+                            text: "纳税人识别号",
+                            dataIndex: "ve_nsrzh",
+                            width: 150
+                        }, {
+                            text: "开户银行",
+                            dataIndex: "ve_bankcode",
+                            width: 150
+                        }, {
+                            text: "银行账户",
+                            dataIndex: "ve_bankaccount",
+                            width: 200
+                        }],
                         dbfinds: [{
                             from: 'id',
                             to: 'vc_vendid',
@@ -56,29 +268,78 @@ Ext.define('saas.view.money.verification.FormPanelController', {
 
                 }
             },
-            // 转供应商
-            'dbfindtrigger[name=vc_outvendname]':{
+            // 转供应商
+            'dbfindtrigger[name=vc_turnvendname]':{
                 beforerender: function (f) {
                     Ext.apply(f, {
-                        dbfinds: [{
-                            from: 'id',
-                            to: 'vc_outvendid',
-                            ignore: true
+                        dbColumns:[{
+                            text: "供应商ID",
+                            hidden: true,
+                            dataIndex: "id",
+                            xtype: "numbercolumn"
+                        },{
+                            text: "供应商编号",
+                            dataIndex: "ve_code",
+                            width: 150
                         }, {
-                            from: 've_code',
-                            to: 'vc_outvendcode'
+                            text: "供应商名称",
+                            dataIndex: "ve_name",
+                            width: 200
                         }, {
-                            from: 've_name',
-                            to: 'vc_outvendname'
+                            text: "供应商类型",
+                            dataIndex: "ve_type",
+                            width: 110,
+                        }, {
+                            text: "税率",
+                            dataIndex: "ve_taxrate",
+                            width: 80,
+                            xtype: 'numbercolumn',
+                            align:'end',
+                            renderer : function(v) {
+                                if(!v) {
+                                    return 0;
+                                }
+                                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: "应付款余额",
+                            dataIndex: "ve_leftamount",
+                            width:110,
+                            xtype: 'numbercolumn',
+                            renderer : function(v) {
+                                if(!v) {
+                                    return 0;
+                                }
+                                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: "结算天数",
+                            dataIndex: "ve_promisedays",
+                            width: 110,
+                            xtype: 'numbercolumn',
+                            align: 'end',
+                            renderer : function(v) {
+                                return Ext.util.Format.number(v, '0');
+                            }
+                        }, {
+                            text: "纳税人识别号",
+                            dataIndex: "ve_nsrzh",
+                            width: 150
+                        }, {
+                            text: "开户银行",
+                            dataIndex: "ve_bankcode",
+                            width: 150
+                        }, {
+                            text: "银行账户",
+                            dataIndex: "ve_bankaccount",
+                            width: 200
                         }],
-                    });
-
-                }
-            },
-            // 转入供应商
-            'dbfindtrigger[name=vc_turnvendname]':{
-                beforerender: function (f) {
-                    Ext.apply(f, {
                         dbfinds: [{
                             from: 'id',
                             to: 'vc_turnvendid',