Browse Source

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

jinsy 7 years ago
parent
commit
0fd970eb2b
82 changed files with 1735 additions and 1332 deletions
  1. 4 0
      applications/commons/commons-api/src/main/java/com/usoftchina/saas/commons/api/CommonService.java
  2. 10 0
      applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/controller/CommonController.java
  3. 2 0
      applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/service/CommonService.java
  4. 33 1
      applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/service/impl/CommonServiceImpl.java
  5. 1 1
      applications/commons/commons-server/src/main/resources/config/application-docker-prod.yml
  6. 1 1
      applications/document/document-server/src/main/resources/config/application-docker-prod.yml
  7. 26 22
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/VerificationServiceImpl.java
  8. 1 1
      applications/money/money-server/src/main/resources/config/application-docker-prod.yml
  9. 2 2
      applications/money/money-server/src/main/resources/mapper/StatsinfoMapper.xml
  10. 1 1
      applications/purchase/purchase-server/src/main/resources/config/application-docker-prod.yml
  11. 4 0
      applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/service/impl/SaleServiceImpl.java
  12. 1 1
      applications/sale/sale-server/src/main/resources/config/application-docker-prod.yml
  13. 1 1
      applications/storage/storage-server/src/main/resources/config/application-docker-prod.yml
  14. 6 6
      frontend/saas-web/app/util/BaseUtil.js
  15. 8 8
      frontend/saas-web/app/view/core/form/FormPanelController.js
  16. 2 2
      frontend/saas-web/app/view/core/report/ReportPanel.js
  17. 7 2
      frontend/saas-web/app/view/document/bom/BasePanel.js
  18. 0 1
      frontend/saas-web/app/view/document/bom/FormPanel.js
  19. 13 12
      frontend/saas-web/app/view/document/customer/BasePanel.js
  20. 9 0
      frontend/saas-web/app/view/document/customer/BasePanelController.js
  21. 2 3
      frontend/saas-web/app/view/document/kind/ChildForm.js
  22. 13 12
      frontend/saas-web/app/view/document/product/BasePanel.js
  23. 10 8
      frontend/saas-web/app/view/document/vendor/BasePanel.js
  24. 2 0
      frontend/saas-web/app/view/money/fundtransfer/FormPanel.js
  25. 14 24
      frontend/saas-web/app/view/money/fundtransfer/QueryPanel.js
  26. 22 0
      frontend/saas-web/app/view/money/fundtransfer/QueryPanelController.js
  27. 2 0
      frontend/saas-web/app/view/money/othreceipts/FormPanel.js
  28. 30 11
      frontend/saas-web/app/view/money/othreceipts/QueryPanel.js
  29. 44 0
      frontend/saas-web/app/view/money/othreceipts/QueryPanelController.js
  30. 2 0
      frontend/saas-web/app/view/money/othspendings/FormPanel.js
  31. 30 24
      frontend/saas-web/app/view/money/othspendings/QueryPanel.js
  32. 46 1
      frontend/saas-web/app/view/money/othspendings/QueryPanelController.js
  33. 2 1
      frontend/saas-web/app/view/money/payBalance/FormPanel.js
  34. 29 35
      frontend/saas-web/app/view/money/payBalance/QueryPanel.js
  35. 23 8
      frontend/saas-web/app/view/money/payBalance/QueryPanelController.js
  36. 2 1
      frontend/saas-web/app/view/money/recBalance/FormPanel.js
  37. 27 33
      frontend/saas-web/app/view/money/recBalance/QueryPanel.js
  38. 21 8
      frontend/saas-web/app/view/money/recBalance/QueryPanelController.js
  39. 79 80
      frontend/saas-web/app/view/money/report/AccountBalance.js
  40. 83 297
      frontend/saas-web/app/view/money/report/AccountDetails.js
  41. 25 25
      frontend/saas-web/app/view/money/report/AccountDetailsController.js
  42. 1 1
      frontend/saas-web/app/view/money/report/AccountDetailsMode.js
  43. 4 2
      frontend/saas-web/app/view/money/report/VendorCheck.js
  44. 2 1
      frontend/saas-web/app/view/money/verification/FormPanel.js
  45. 61 1
      frontend/saas-web/app/view/money/verification/FormPanelController.js
  46. 24 34
      frontend/saas-web/app/view/money/verification/QueryPanel.js
  47. 26 157
      frontend/saas-web/app/view/money/verification/QueryPanelController.js
  48. 29 7
      frontend/saas-web/app/view/purchase/purchase/QueryPanel.js
  49. 22 0
      frontend/saas-web/app/view/purchase/purchase/QueryPanelController.js
  50. 45 13
      frontend/saas-web/app/view/purchase/purchaseIn/QueryPanel.js
  51. 33 0
      frontend/saas-web/app/view/purchase/purchaseIn/QueryPanelController.js
  52. 45 13
      frontend/saas-web/app/view/purchase/purchaseOut/QueryPanel.js
  53. 33 0
      frontend/saas-web/app/view/purchase/purchaseOut/QueryPanelController.js
  54. 2 1
      frontend/saas-web/app/view/sale/sale/FormPanel.js
  55. 24 10
      frontend/saas-web/app/view/sale/sale/QueryPanel.js
  56. 33 0
      frontend/saas-web/app/view/sale/sale/QueryPanelController.js
  57. 2 1
      frontend/saas-web/app/view/sale/saleIn/FormPanel.js
  58. 40 12
      frontend/saas-web/app/view/sale/saleIn/QueryPanel.js
  59. 33 0
      frontend/saas-web/app/view/sale/saleIn/QueryPanelController.js
  60. 2 1
      frontend/saas-web/app/view/sale/saleOut/FormPanel.js
  61. 41 12
      frontend/saas-web/app/view/sale/saleOut/QueryPanel.js
  62. 33 0
      frontend/saas-web/app/view/sale/saleOut/QueryPanelController.js
  63. 42 7
      frontend/saas-web/app/view/stock/appropriationInOut/QueryPanel.js
  64. 49 3
      frontend/saas-web/app/view/stock/appropriationInOut/QueryPanelController.js
  65. 106 36
      frontend/saas-web/app/view/stock/inventory/EditDataList.js
  66. 25 8
      frontend/saas-web/app/view/stock/make/QueryPanel.js
  67. 35 1
      frontend/saas-web/app/view/stock/make/QueryPanelController.js
  68. 0 7
      frontend/saas-web/app/view/stock/otherIn/FormPanel.js
  69. 41 13
      frontend/saas-web/app/view/stock/otherIn/QueryPanel.js
  70. 45 1
      frontend/saas-web/app/view/stock/otherIn/QueryPanelController.js
  71. 0 7
      frontend/saas-web/app/view/stock/otherOut/FormPanel.js
  72. 35 13
      frontend/saas-web/app/view/stock/otherOut/QueryPanel.js
  73. 45 1
      frontend/saas-web/app/view/stock/otherOut/QueryPanelController.js
  74. 107 0
      frontend/saas-web/app/view/stock/report/DataList.js
  75. 10 0
      frontend/saas-web/app/view/stock/report/DataListController.js
  76. 4 0
      frontend/saas-web/app/view/stock/report/DataListlModel.js
  77. 1 1
      frontend/saas-web/app/view/stock/report/Prodiodetail.js
  78. 0 312
      frontend/saas-web/app/view/stock/stockamount/DataList.js
  79. 0 10
      frontend/saas-web/app/view/stock/stockamount/DataListController.js
  80. 0 4
      frontend/saas-web/app/view/stock/stockamount/DataListlModel.js
  81. 13 7
      frontend/saas-web/app/view/sys/config/FormPanel.js
  82. 2 2
      frontend/saas-web/resources/json/navigation.json

+ 4 - 0
applications/commons/commons-api/src/main/java/com/usoftchina/saas/commons/api/CommonService.java

@@ -9,4 +9,8 @@ public interface CommonService {
     @PostMapping("/action/audit")
     public String commonAudit(@RequestParam("table") String table, @RequestParam("keyvalue") String keyvalue, @RequestParam("status") String status,
                                       @RequestParam("statuscode") String statuscode, @RequestParam("auditdate") String auditdate, @RequestParam("auditman") String auditman);
+
+    @PostMapping("/action/resAudit")
+    public String commonResAudit(@RequestParam("table") String table, @RequestParam("keyvalue") String keyvalue, @RequestParam("status") String status,
+                              @RequestParam("statuscode") String statuscode, @RequestParam("auditdate") String auditdate, @RequestParam("auditman") String auditman);
 }

+ 10 - 0
applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/controller/CommonController.java

@@ -39,6 +39,16 @@ public class CommonController {
         return deferredResult;
     }
 
+    @PostMapping("/action/resAudit")
+    public DeferredResult commonResAudit(@RequestParam("table") String table, @RequestParam("keyvalue") String keyvalue, @RequestParam("status") String status,
+                                      @RequestParam("statuscode") String statuscode, @RequestParam("auditdate") String auditdate, @RequestParam("auditman") String auditman) {
+
+        DeferredResult<String> deferredResult = new DeferredResult<>();
+        CompletableFuture.supplyAsync(() -> commonService.commonResAudit(table, keyvalue, status, statuscode, auditdate, auditman))
+                .whenCompleteAsync((result, throwable) -> deferredResult.setResult(result));
+        return deferredResult;
+    }
+
     @GetMapping("/timeout/test")
     public void timeout(@RequestParam("time") Long time){
         try {

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

@@ -11,4 +11,6 @@ public interface CommonService {
     InitStatusDTO initCheck();
 
     String commonAudit(String table, String keyvalue, String status, String statuscode, String auditdate, String auditman);
+
+    String commonResAudit(String table, String keyvalue, String status, String statuscode, String auditdate, String auditman);
 }

+ 33 - 1
applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/service/impl/CommonServiceImpl.java

@@ -61,7 +61,18 @@ public class CommonServiceImpl implements CommonService {
         }
         return "success";
     }
-
+    @Override
+    public String commonResAudit(String table, String keyvalue, String status, String statuscode, String auditdate, String auditman) {
+        Long companyId = BaseContextHolder.getCompanyId();
+        if (StringUtils.isEmpty(table) || StringUtils.isEmpty(keyvalue)) {
+            return null;
+        }
+        String sql = resAuditedSql(table, keyvalue, status, statuscode, auditdate, auditman, companyId);
+        if (null != sql) {
+            commonMapper.commonAudit(sql);
+        }
+        return "success";
+    }
     private String praseSql(String table, String keyvalue, String status, String statuscode, String auditdate, String auditman, Long companyId) {
         String sql = "update " + table + " set ";
         StringBuilder sb = new StringBuilder();
@@ -83,4 +94,25 @@ public class CommonServiceImpl implements CommonService {
         }
         return null;
     }
+    private String resAuditedSql(String table, String keyvalue, String status, String statuscode, String auditdate, String auditman, Long companyId) {
+        String sql = "update " + table + " set ";
+        StringBuilder sb = new StringBuilder();
+        if (!StringUtils.isEmpty(status)) {
+            sb.append(" " + status + " = '" + Status.UNAUDITED.getDisplay() + "',");
+        }
+        if (!StringUtils.isEmpty(statuscode)) {
+            sb.append(" " + statuscode + "='" + Status.UNAUDITED.name() + "',");
+        }
+        if (!StringUtils.isEmpty(auditdate)) {
+            sb.append(" " + auditdate + "= null ,");
+        }
+        if (!StringUtils.isEmpty(auditman)) {
+            sb.append(" " + auditman + "= null ,");
+        }
+        if (sb.length() > 0) {
+            sql =  sql + sb.substring(0, sb.length() - 1) + " where " + keyvalue + " and companyId=" + companyId;
+            return sql;
+        }
+        return null;
+    }
 }

+ 1 - 1
applications/commons/commons-server/src/main/resources/config/application-docker-prod.yml

@@ -13,7 +13,7 @@ spring:
     username: saas
     password: select123***
   datasource:
-    url: jdbc:mysql://10.10.100.18:3306/saas_biz?characterEncoding=utf-8&useSSL=false
+    url: jdbc:mysql://10.10.100.18:3306/saas_biz?characterEncoding=utf-8&useSSL=false&allowMultiQueries=true
     username: saas
     password: select111***
 logging:

+ 1 - 1
applications/document/document-server/src/main/resources/config/application-docker-prod.yml

@@ -13,7 +13,7 @@ spring:
     username: saas
     password: select123***
   datasource:
-    url: jdbc:mysql://10.10.100.18:3306/saas_biz?characterEncoding=utf-8&useSSL=false
+    url: jdbc:mysql://10.10.100.18:3306/saas_biz?characterEncoding=utf-8&useSSL=false&allowMultiQueries=true
     username: saas
     password: select111***
   redis:

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

@@ -305,17 +305,19 @@ public class VerificationServiceImpl extends CommonBaseServiceImpl<VerificationM
      */
     private void updateAuditSubledeger(Long id , Double nowBalance){
         Subledger subledger = subledgerMapper.selectByPrimaryKey(Math.toIntExact(id));
-        Subledger newSubledeger = new Subledger();
-        newSubledeger.setId(id);
-        Double newNamout = subledger.getSl_namount()==null?new Double(0):subledger.getSl_namount()-nowBalance;
-        Double newYamout = subledger.getSl_yamount()==null?new Double(0):subledger.getSl_yamount()+nowBalance;
-        newSubledeger.setSl_yamount(newYamout);
-        newSubledeger.setSl_namount(newNamout);
-        newSubledeger.setCompanyId(BaseContextHolder.getCompanyId());
-        newSubledeger.setUpdaterName(BaseContextHolder.getUserName());
-        newSubledeger.setUpdaterId(BaseContextHolder.getUserId());
-        newSubledeger.setUpdateTime(new Date());
-        subledgerMapper.updateByPrimaryKeySelective(newSubledeger);
+        if (subledger != null) {
+            Subledger newSubledeger = new Subledger();
+            newSubledeger.setId(id);
+            Double newNamout = subledger.getSl_namount() == null ? new Double(0) : subledger.getSl_namount() - nowBalance;
+            Double newYamout = subledger.getSl_yamount() == null ? new Double(0) : subledger.getSl_yamount() + nowBalance;
+            newSubledeger.setSl_yamount(newYamout);
+            newSubledeger.setSl_namount(newNamout);
+            newSubledeger.setCompanyId(BaseContextHolder.getCompanyId());
+            newSubledeger.setUpdaterName(BaseContextHolder.getUserName());
+            newSubledeger.setUpdaterId(BaseContextHolder.getUserId());
+            newSubledeger.setUpdateTime(new Date());
+            subledgerMapper.updateByPrimaryKeySelective(newSubledeger);
+        }
     }
     /**
      * 反审核更新来源单据的已核销,未核销
@@ -324,17 +326,19 @@ public class VerificationServiceImpl extends CommonBaseServiceImpl<VerificationM
      */
     private void updateResAuditSubledeger(Long id , Double nowBalance){
         Subledger subledger = subledgerMapper.selectByPrimaryKey(Math.toIntExact(id));
-        Subledger newSubledeger = new Subledger();
-        newSubledeger.setId(Long.valueOf(String.valueOf(id)));
-        Double newNamout = subledger.getSl_namount()==null?new Double(0):subledger.getSl_namount()+nowBalance;
-        Double newYamout = subledger.getSl_yamount()==null?new Double(0):subledger.getSl_yamount()-nowBalance;
-        newSubledeger.setSl_yamount(newYamout);
-        newSubledeger.setSl_namount(newNamout);
-        newSubledeger.setCompanyId(BaseContextHolder.getCompanyId());
-        newSubledeger.setUpdaterName(BaseContextHolder.getUserName());
-        newSubledeger.setUpdaterId(BaseContextHolder.getUserId());
-        newSubledeger.setUpdateTime(new Date());
-        subledgerMapper.updateByPrimaryKeySelective(newSubledeger);
+        if(subledger != null) {
+            Subledger newSubledeger = new Subledger();
+            newSubledeger.setId(Long.valueOf(String.valueOf(id)));
+            Double newNamout = subledger.getSl_namount() == null ? new Double(0) : subledger.getSl_namount() + nowBalance;
+            Double newYamout = subledger.getSl_yamount() == null ? new Double(0) : subledger.getSl_yamount() - nowBalance;
+            newSubledeger.setSl_yamount(newYamout);
+            newSubledeger.setSl_namount(newNamout);
+            newSubledeger.setCompanyId(BaseContextHolder.getCompanyId());
+            newSubledeger.setUpdaterName(BaseContextHolder.getUserName());
+            newSubledeger.setUpdaterId(BaseContextHolder.getUserId());
+            newSubledeger.setUpdateTime(new Date());
+            subledgerMapper.updateByPrimaryKeySelective(newSubledeger);
+        }
     }
     /**
      * 转换核销单类型

+ 1 - 1
applications/money/money-server/src/main/resources/config/application-docker-prod.yml

@@ -13,7 +13,7 @@ spring:
     username: saas
     password: select123***
   datasource:
-    url: jdbc:mysql://10.10.100.18:3306/saas_biz?characterEncoding=utf-8&useSSL=false
+    url: jdbc:mysql://10.10.100.18:3306/saas_biz?characterEncoding=utf-8&useSSL=false&allowMultiQueries=true
     username: saas
     password: select111***
   redis:

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

@@ -39,9 +39,9 @@
                 #{si_yearmonth,jdbcType=INTEGER},
             </if>
             <if test="si_amount_pay != null" >
-                select sum(pd_amount) from paybalancedet left join paybalance on pd_pbid=pb_id
+                (select sum(pd_amount) from paybalancedet left join paybalance on pd_pbid=pb_id
                 where paybalance.companyId= #{companyid,jdbcType=INTEGER}
-                and pd_ym=#{si_yearmonth,jdbcType=INTEGER} and pb_statuscode='AUDITED',
+                and pd_ym=#{si_yearmonth,jdbcType=INTEGER} and pb_statuscode='AUDITED'),
             </if>
             <if test="si_amount_otherpay != null" >
                 (select sum(os_amount) from othspendings RIGHT JOIN othspendingsdetail on os_id = osd_osid

+ 1 - 1
applications/purchase/purchase-server/src/main/resources/config/application-docker-prod.yml

@@ -13,7 +13,7 @@ spring:
     username: saas
     password: select123***
   datasource:
-    url: jdbc:mysql://10.10.100.18:3306/saas_biz?characterEncoding=utf-8&useSSL=false
+    url: jdbc:mysql://10.10.100.18:3306/saas_biz?characterEncoding=utf-8&useSSL=false&allowMultiQueries=true
     username: saas
     password: select111***
 logging:

+ 4 - 0
applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/service/impl/SaleServiceImpl.java

@@ -319,6 +319,8 @@ public class SaleServiceImpl implements SaleService{
         sale.setUpdaterId(BaseContextHolder.getUserId());
         //更新存在字段
         saleMapper.updateByPrimaryKeySelective(sale);
+        commonService.commonResAudit("sale", "sa_id=" + id, "sa_status",
+                "sa_statuscode", "sa_auditdate", "sa_auditman");
         DocBaseDTO docBaseDTO = getBaseDTOById(id);
         //日志
         messageLogService.unAudit(docBaseDTO);
@@ -512,6 +514,8 @@ public class SaleServiceImpl implements SaleService{
         saleMapper.updateByPrimaryKeySelective(sale);
         prodIODetailMapper.updatePDSaleOut(pi_id);
         prodInOutMapper.updatePiTotal(pi_id);
+        //更新创建人
+        prodInOutMapper.updateCreator(BaseContextHolder.getUserId(), BaseContextHolder.getUserName(), pi_id);
         //日志记录
         DocBaseDTO log = new DocBaseDTO(id, sale.getSa_code(), BillCodeSeq.SALEOUT.getCaller());
         messageLogService.customizeLog(log, Operation.TURNPRODOUT);

+ 1 - 1
applications/sale/sale-server/src/main/resources/config/application-docker-prod.yml

@@ -13,7 +13,7 @@ spring:
     username: saas
     password: select123***
   datasource:
-    url: jdbc:mysql://10.10.100.18:3306/saas_biz?characterEncoding=utf-8&useSSL=false
+    url: jdbc:mysql://10.10.100.18:3306/saas_biz?characterEncoding=utf-8&useSSL=false&allowMultiQueries=true
     username: saas
     password: select111***
 logging:

+ 1 - 1
applications/storage/storage-server/src/main/resources/config/application-docker-prod.yml

@@ -13,7 +13,7 @@ spring:
     username: saas
     password: select123***
   datasource:
-    url: jdbc:mysql://10.10.100.18:3306/saas_biz?characterEncoding=utf-8&useSSL=false
+    url: jdbc:mysql://10.10.100.18:3306/saas_biz?characterEncoding=utf-8&useSSL=false&allowMultiQueries=true
     username: saas
     password: select111***
 logging:

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

@@ -54,8 +54,8 @@ Ext.define('saas.util.BaseUtil', {
          * @param title: 标题
          * 
          */
-        showSuccessToast: function (content, title) {
-            Ext.toast({
+        showSuccessToast: function (content, title, configs) {
+            Ext.toast(Ext.Object.merge({
                 cls:'x-toast-success',
                 html: content,
                 title: title,
@@ -64,11 +64,11 @@ Ext.define('saas.util.BaseUtil', {
                 autoCloseDelay:3000,
                 autoClose:true,
                 maxWidth: 400
-            });
+            }, configs));
         },
 
-        showErrorToast: function (content, title) {
-            Ext.toast({
+        showErrorToast: function (content, title, configs) {
+            Ext.toast(Ext.Object.merge({
                 cls:'x-toast-error',
                 html: content,
                 title: title,
@@ -77,7 +77,7 @@ Ext.define('saas.util.BaseUtil', {
                 autoCloseDelay:3000,
                 autoClose:true,
                 maxWidth: 400
-            });
+            }, configs));
         },
 
         /**

+ 8 - 8
frontend/saas-web/app/view/core/form/FormPanelController.js

@@ -63,14 +63,14 @@ Ext.define('saas.view.core.form.FormPanelController', {
         main[form._statusCodeField] = auditTexts.unAuditCode;
         main[form._statusField] = auditTexts.unAuditText;
         //录入人,录入日期,审核人,审核日期清空
-        main['creatorId'] = null;
-        main['creatorName'] = null;
-        main['createTime'] = null;
-        main['updaterId'] = null;
-        main['updaterName'] = null;
-        main['updateTime'] = null;
-        main[form._auditmanField] = null;
-        main[form._auditdateField] = null;
+        main['creatorId'] = undefined;
+        main['creatorName'] = undefined;
+        main['createTime'] = undefined;
+        main['updaterId'] = undefined;
+        main['updaterName'] = undefined;
+        main['updateTime'] = undefined;
+        main[form._auditmanField] = undefined;
+        main[form._auditdateField] = undefined;
 
 
 

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

@@ -229,7 +229,7 @@ Ext.define('saas.view.core.report.ReportPanel', {
                         try {
                             var grid = me.items.items[1],
                             columns = grid.columns,
-                            summaryData = data.data.calculate || [];
+                            summaryData = data.data ? (data.data.calculate || []) : [];
     
                             Ext.Array.each(columns, function(c) {
                                 var type = c.summaryType,
@@ -244,7 +244,7 @@ Ext.define('saas.view.core.report.ReportPanel', {
                                     c.summaryValue = 0;
                                 }
                             });
-                            return data.data.list.list;
+                            return data.data ? (data.data.list ? data.data.list.list : []) : [];
                         }catch(e) {
                             saas.util.BaseUtil.showErrorToast(e.message);
                         }

+ 7 - 2
frontend/saas-web/app/view/document/bom/BasePanel.js

@@ -11,11 +11,16 @@ Ext.define('saas.view.document.bom.BasePanel', {
         xtype : "textfield", 
         name : "bo_mothercode", 
         width:150, 
-        emptyText:'产品编号或名称',
+        emptyText:'产品',
         getCondition: function(value) {
            return  ' (bo_mothername like\'%' + value + '%\'' 
                 +' or bo_mothercode like \'%'+value+'%\' ) ';
         }
+    },{
+        xtype : "textfield", 
+        name : "bo_version", 
+        width:110, 
+        emptyText:'版本'
     },{
         xtype: 'combobox',
         name: 'bo_statuscode',
@@ -24,7 +29,7 @@ Ext.define('saas.view.document.bom.BasePanel', {
         valueField: 'bo_statuscode',
         emptyText :'状态',
         editable:false,
-        width:90,
+        width:110,
         store: Ext.create('Ext.data.ArrayStore', {
         fields: ['bo_statuscode', 'bo_status'],
         data: [

+ 0 - 1
frontend/saas-web/app/view/document/bom/FormPanel.js

@@ -70,7 +70,6 @@ Ext.define('saas.view.document.bom.FormPanel', {
         name: 'pr_spec',
         fieldLabel: '产品规格',
         reddOnly:true,
-        ignore:true
     },{
         xtype: 'hidden',
         name: 'bo_statuscode',

+ 13 - 12
frontend/saas-web/app/view/document/customer/BasePanel.js

@@ -9,21 +9,27 @@ Ext.define('saas.view.document.customer.BasePanel', {
     deleteOneMsg: '删除的客户资料将不能恢复,请确认是否删除?',
 
     searchField:[{
+        xtype : "textfield", 
+        name : "cu_code", 
+        width:150, 
+        emptyText:'编号'
+    }, {
         xtype : "textfield", 
         name : "cu_name", 
         width:150, 
-        emptyText:'客户编号或名称',
-        getCondition: function(value) {
-           return  ' (cu_code like\'%' + value + '%\'' 
-                +' or cu_name like \'%'+value+'%\' ) ';
-        }
+        emptyText:'名称'
     },{
         xtype : "remotecombo", 
         storeUrl:'/api/document/customerkind/getCombo',
         name : "cu_type", 
-        emptyText : "类型", 
+        emptyText : "客户类型", 
         width:110,
         hiddenBtn:true
+    }, {
+        xtype : "employeeDbfindTrigger", 
+        name : "cu_sellername", 
+        width:150, 
+        emptyText:'业务员'
     },{
         xtype: 'combobox',
         name: 'cu_statuscode',
@@ -32,7 +38,7 @@ Ext.define('saas.view.document.customer.BasePanel', {
         valueField: 'cu_statuscode',
         emptyText :'状态',
         editable:false,
-        width:90,
+        width:110,
         store: Ext.create('Ext.data.ArrayStore', {
         fields: ['cu_statuscode', 'cu_status'],
         data: [
@@ -48,11 +54,6 @@ Ext.define('saas.view.document.customer.BasePanel', {
                 return 'cu_statuscode=\'' + value + '\'';
             }
         }
-    },{
-        xtype : "textfield", 
-        name : "cu_sellername", 
-        emptyText : "业务员", 
-        width:110
     }],
 
     //字段属性

+ 9 - 0
frontend/saas-web/app/view/document/customer/BasePanelController.js

@@ -27,6 +27,15 @@ Ext.define('saas.view.document.customer.BasePanelController', {
                         }],
                     }) ;   
                 }
+            },'employeeDbfindTrigger[name=cu_sellername]':{
+                beforerender:function(f){
+                    Ext.apply(f,{
+                        dbfinds:[{
+                            from:'em_name',to:'cu_sellername'
+                        }],
+                    }) ;   
+
+                }
             }
         });
     }

+ 2 - 3
frontend/saas-web/app/view/document/kind/ChildForm.js

@@ -329,7 +329,7 @@ Ext.define('KitchenSink.view.binding.ChildForm', {
                                 method: 'GET',
                                 headers:{
                                     'Access-Control-Allow-Origin': '*',
-                                    "Content-Type": 'application/json;charset=UTF-8'
+                                    "Content-Type": 'application/json;charset=UTF-8',
                                 },
                                 success: function (response) {
                                     form.setLoading(false);
@@ -495,8 +495,7 @@ Ext.define('KitchenSink.view.binding.ChildForm', {
                 xtype:'textfield',
                 fieldLabel: '联系电话',
                 name: 'em_mobile',
-                allowBlank:true,
-                beforeLabelTextTpl: '',
+                allowBlank:false,
                 maxLength: 20
             },{
                 xtype:'textfield',

+ 13 - 12
frontend/saas-web/app/view/document/product/BasePanel.js

@@ -9,22 +9,28 @@ Ext.define('saas.view.document.product.BasePanel', {
     deleteOneMsg: '删除的物料将不能恢复,请确认是否删除?',
 
     searchField:[{
+        xtype : "textfield", 
+        name : "pr_code", 
+        width:150, 
+        emptyText:'编号'
+    }, {
         xtype : "textfield", 
         name : "pr_detail", 
         width:150, 
-        emptyText:'物料编号或名称',
-        getCondition: function(value) {
-           return  ' (pr_code like\'%' + value + '%\'' 
-                +' or pr_detail like \'%'+value+'%\' ) ';
-        }
+        emptyText:'名称'
     }, {
         editable:true,
         hiddenBtn:true,
         xtype : "remotecombo", 
         storeUrl: '/api/document/producttype/getCombo',
         name : "pr_kind", 
-        emptyText : "类型",
+        emptyText : "物料类型",
         width:110,
+    }, {
+        xtype : "textfield", 
+        name : "pr_brand", 
+        emptyText : "品牌", 
+        width:110
     }, {
         xtype: 'combobox',
         name: 'pr_statuscode',
@@ -32,7 +38,7 @@ Ext.define('saas.view.document.product.BasePanel', {
         displayField: 'pr_status',
         valueField: 'pr_statuscode',
         emptyText :'状态',
-        width:90,
+        width:110,
         editable:false,
         store: Ext.create('Ext.data.ArrayStore', {
         fields: ['pr_statuscode', 'pr_status'],
@@ -49,11 +55,6 @@ Ext.define('saas.view.document.product.BasePanel', {
                 return 'pr_statuscode=\'' + value + '\'';
             }
         }
-    }, {
-        xtype : "textfield", 
-        name : "pr_brand", 
-        emptyText : "品牌", 
-        width:110
     }],
 
     //字段属性

+ 10 - 8
frontend/saas-web/app/view/document/vendor/BasePanel.js

@@ -7,20 +7,22 @@ Ext.define('saas.view.document.vendor.BasePanel', {
     deleteMoreMsg: '删除的供应商资料将不能恢复,请确认是否删除?',
     deleteOneMsg: '删除的供应商资料将不能恢复,请确认是否删除?',
 
-    searchField:[{
+    searchField:[
+    {
+        xtype : "textfield", 
+        name : "ve_code", 
+        width:150, 
+        emptyText:'编号'
+    }, {
         xtype : "textfield", 
         name : "ve_name", 
         width:150, 
-        emptyText:'供应商编号或名称',
-        getCondition: function(value) {
-           return  ' (ve_code like\'%' + value + '%\'' 
-                +' or ve_name like \'%'+value+'%\' ) ';
-        }
+        emptyText:'名称'
     },{
         xtype : "remotecombo", 
         storeUrl:'/api/document/vendorkind/getCombo',
         name : "ve_type", 
-        emptyText : "类别", 
+        emptyText : "供应商类型", 
         width:110,
         hiddenBtn:true
     },{
@@ -30,7 +32,7 @@ Ext.define('saas.view.document.vendor.BasePanel', {
         displayField: 've_status',
         valueField: 've_statuscode',
         emptyText :'状态',
-        width:90,
+        width:110,
         editable:false,
         store: Ext.create('Ext.data.ArrayStore', {
         fields: ['ve_statuscode', 've_status'],

+ 2 - 0
frontend/saas-web/app/view/money/fundtransfer/FormPanel.js

@@ -14,6 +14,8 @@ Ext.define('saas.view.money.fundtransfer.FormPanel', {
      _codeField: 'ft_code',
      _statusField: 'ft_status',
      _statusCodeField: 'ft_statuscode',
+     _auditmanField: 'ft_auditman',
+     _auditdateField:'ft_auditdate',
      _relationColumn: 'ftd_ftid',
      _readUrl:'/api/money/fundtransfer/read',
      _saveUrl:'/api/money/fundtransfer/save',

+ 14 - 24
frontend/saas-web/app/view/money/fundtransfer/QueryPanel.js

@@ -19,11 +19,11 @@ Ext.define('saas.view.money.fundtransfer.QueryPanel', {
     } ,{
         xtype : "bandinfoDbfindTrigger",
         name : "ftd_bankname",
-        fieldLabel : "转出账",
+        fieldLabel : "转出账",
     },{
         xtype : "bandinfoDbfindTrigger",
         name : "ftd_inbankname",
-        fieldLabel : "转入账",
+        fieldLabel : "转入账",
     },{
         xtype: 'combobox',
         name: 'ft_statuscode',
@@ -48,34 +48,24 @@ Ext.define('saas.view.money.fundtransfer.QueryPanel', {
                 return 'ft_statuscode=\'' + value + '\'';
             }
         }
-    },{
-        name : "ftd_paymethod",
-        fieldLabel : "结算方式",
-        xtype:'combo',
-        queryMode: 'local',
-        displayField: 'display',
-        valueField: 'value',
-        emptyText :'全部',
-        store:Ext.create('Ext.data.Store', {
-            fields: ['value', 'display'],
-            data : [
-                {value:"信用卡", display:"信用卡"},
-                {value:"支票", display:"支票"},
-                {value:"汇票", display:"汇票"},
-                {value:"现金", display:"现金"},
-                {value:"银行转账", display:"银行转账"},
-                {value:"支付宝转账", display:"支付宝转账"},
-                {value:"微信转账", display:"微信转账"}
-            ]
-        }),
+    }, {
+        xtype: 'employeeDbfindTrigger',
+        name: 'creatorName',
+        fieldLabel: '录入人',
+        emptyText:'请输入人员编号或名称',
         getCondition: function(value) {
             if(!value) {
                 return '1=1';
             }else {
-                return 'ftd_paymethod like \'%' + value + '\'%';
+                return 'fundtransfer.creatorName like\'%' + value + '%\'';
             }
         }
-    } ],
+    }, {
+        xtype: 'employeeDbfindTrigger',
+        name: 'ft_auditman',
+        fieldLabel: '审核人',
+        emptyText:'请输入人员编号或名称'
+    }],
     moreQueryFormItems: [],
     queryGridConfig: {
         idField: 'id',

+ 22 - 0
frontend/saas-web/app/view/money/fundtransfer/QueryPanelController.js

@@ -32,6 +32,28 @@ Ext.define('saas.view.money.fundtransfer.QueryPanelController', {
                             }],
                     }) ;
 
+                }
+            },'employeeDbfindTrigger[name=creatorName]':{
+                beforerender:function(f){
+                    Ext.apply(f,{
+                        dbfinds:[{
+                            from:'em_code',to:'em_code'
+                        },{
+                            from:'em_name',to:'creatorName'
+                        }],
+                    }) ;   
+
+                }
+            },'employeeDbfindTrigger[name=ft_auditman]':{
+                beforerender:function(f){
+                    Ext.apply(f,{
+                        dbfinds:[{
+                            from:'em_code',to:'em_code'
+                        },{
+                            from:'em_name',to:'ft_auditman',
+                        }],
+                    }) ;   
+
                 }
             }
         });

+ 2 - 0
frontend/saas-web/app/view/money/othreceipts/FormPanel.js

@@ -14,6 +14,8 @@ Ext.define('saas.view.money.othreceipts.FormPanel', {
      _codeField: 'or_code',
      _statusField: 'or_status',
      _statusCodeField: 'or_statuscode',
+     _auditmanField: 'or_auditman',
+     _auditdateField:'or_auditdate',
      _relationColumn: 'ord_orid',
      _readUrl:'/api/money/othreceipts/read',
      _saveUrl:'/api/money/othreceipts/save',

+ 30 - 11
frontend/saas-web/app/view/money/othreceipts/QueryPanel.js

@@ -10,22 +10,19 @@ Ext.define('saas.view.money.othreceipts.QueryPanel', {
     queryFormItems: [ {
         xtype: 'textfield',
         name: 'or_code',
-        emptyText:'请输入单号或客户或账号',
-        getCondition: function(value) {
-           return  ' (or_code like\'%' + value + '%\'' 
-                +' or or_custcode like \'%'+value+'%\''
-                +' or or_custname like \'%'+value+'%\''
-                +' or or_bankcode like \'%'+value+'%\''
-                +' or or_bankname like \'%'+value+'%\''
-                +') ';
-        }
+        emptyText:'请输入单号'
     },  {
         xtype: 'condatefield',
         name: 'or_date',
         fieldLabel: '日期',
         columnWidth: 0.5,
         operation: 'between'
-    } , {
+    }, {
+        xtype : "customerDbfindTrigger", 
+        name : "or_custname", 
+        fieldLabel : "客户",
+        emptyText:'请输入客户编号或名称'
+    }, {
         name: 'ord_type',
         fieldLabel: '收入类别',
         xtype : "remotecombo",
@@ -41,10 +38,15 @@ Ext.define('saas.view.money.othreceipts.QueryPanel', {
                 return 'ord_type like \'%' + value + '%\'';
             }
         }
+    }, {
+        xtype : "bandinfoDbfindTrigger", 
+        name : "or_bankname", 
+        fieldLabel : "账户名称",
+        emptyText:'请输入账户编号或名称'
     }, {
         xtype: 'combobox',
         name: 'or_statuscode',
-        fieldLabel: '状态',
+        fieldLabel: '单据状态',
         queryMode: 'local',
         displayField: 'or_status',
         valueField: 'or_statuscode',
@@ -66,6 +68,23 @@ Ext.define('saas.view.money.othreceipts.QueryPanel', {
                 return 'or_statuscode=\'' + value + '\'';
             }
         }
+    }, {
+        xtype: 'employeeDbfindTrigger',
+        name: 'creatorName',
+        fieldLabel: '录入人',
+        emptyText:'请输入人员编号或名称',
+        getCondition: function(value) {
+            if(!value) {
+                return '1=1';
+            }else {
+                return 'othreceipts.creatorName like\'%' + value + '%\'';
+            }
+        }
+    }, {
+        xtype: 'employeeDbfindTrigger',
+        name: 'or_auditman',
+        fieldLabel: '审核人',
+        emptyText:'请输入人员编号或名称'
     }],
     moreQueryFormItems: [],
     queryGridConfig: {

+ 44 - 0
frontend/saas-web/app/view/money/othreceipts/QueryPanelController.js

@@ -4,6 +4,50 @@ Ext.define('saas.view.money.othreceipts.QueryPanelController', {
     init: function (form) {
         var me = this;
         this.control({
+            //放大镜赋值关系 以及 tpl模板
+            'bandinfoDbfindTrigger[name=or_bankname]': {
+                beforerender: function (f) {
+                    Ext.apply(f, {
+                        dbfinds: [{
+                            from: 'bk_bankcode', to: 'bk_bankcode' 
+                        },{
+                            from: 'bk_bankname', to: 'or_bankname' }
+                        ],
+                    });
+                }
+            },'customerDbfindTrigger[name=or_custname]':{
+                beforerender: function (f) {
+                    Ext.apply(f, {
+                        dbfinds: [{
+                            from: 'cu_code', to: 'cu_code'
+                        }, {
+                            from: 'cu_name', to: 'or_custname'
+                        }],
+                    });
+                }
+            },'employeeDbfindTrigger[name=creatorName]':{
+                beforerender:function(f){
+                    Ext.apply(f,{
+                        dbfinds:[{
+                            from:'em_code',to:'em_code'
+                        },{
+                            from:'em_name',to:'creatorName'
+                        }],
+                    }) ;   
+
+                }
+            },'employeeDbfindTrigger[name=or_auditman]':{
+                beforerender:function(f){
+                    Ext.apply(f,{
+                        dbfinds:[{
+                            from:'em_code',to:'em_code'
+                        },{
+                            from:'em_name',to:'or_auditman',
+                        }],
+                    }) ;   
+
+                }
+            }
         });
     }
 });

+ 2 - 0
frontend/saas-web/app/view/money/othspendings/FormPanel.js

@@ -14,6 +14,8 @@ Ext.define('saas.view.money.othspendings.FormPanel', {
      _codeField: 'os_code',
      _statusField: 'os_status',
      _statusCodeField: 'os_statuscode',
+     _auditmanField: 'os_auditman',
+     _auditdateField:'os_auditdate',
      _relationColumn: 'osd_osid',
      _readUrl:'/api/money/othspendings/read',
      _saveUrl:'/api/money/othspendings/save',

+ 30 - 24
frontend/saas-web/app/view/money/othspendings/QueryPanel.js

@@ -8,36 +8,20 @@ Ext.define('saas.view.money.othspendings.QueryPanel', {
     viewName: 'money-othspendings-querypanel',
     
     queryFormItems: [{
-        xtype: 'hidden',
-        name: 'os_id',
-        fieldLabel: 'ID',
-        allowBlank: true,
-        columnWidth: 0,
-        getCondition: function(value) {
-            return 'os_id=' + value;
-        }
-    },{
         xtype: 'textfield',
         name: 'os_code',
-        emptyText:'请输入单号或供应商或账号',
-        getCondition: function(value) {
-            if(value == 'ALL') {
-                return '1=1';
-            }else {
-                return  ' (os_code like\'%' + value + '%\'' 
-                +' or os_vendcode like \'%'+value+'%\''
-                +' or os_vendname like \'%'+value+'%\''
-                +' or os_bankcode like \'%'+value+'%\''
-                +' or os_bankname like \'%'+value+'%\''
-                +') ';
-            }
-        }
+        emptyText:'请输入单号'
     },{
         xtype: 'condatefield',
         name: 'os_date',
         columnWidth: 0.5,
         fieldLabel: '日期'
-    },{
+    }, {
+        xtype: 'vendorDbfindTrigger',
+        name: 'os_vendname',
+        fieldLabel: '供应商',
+        emptyText :'请输入供应商编号或名称'
+    }, {
         name: 'osd_type',
         fieldLabel: '支出类别',
         xtype : "remotecombo",
@@ -52,10 +36,15 @@ Ext.define('saas.view.money.othspendings.QueryPanel', {
                 return 'osd_type like \'%' + value + '%\'';
             }
         }
+    }, {
+        xtype : "bandinfoDbfindTrigger", 
+        name : "os_bankname", 
+        fieldLabel : "账户名称",
+        emptyText:'请输入账户编号或名称'
     },{
         xtype: 'combobox',
         name: 'os_statuscode',
-        fieldLabel: '状态',
+        fieldLabel: '单据状态',
         queryMode: 'local',
         displayField: 'os_status',
         valueField: 'os_statuscode',
@@ -76,6 +65,23 @@ Ext.define('saas.view.money.othspendings.QueryPanel', {
                 return 'os_statuscode=\'' + value + '\'';
             }
         }
+    }, {
+        xtype: 'employeeDbfindTrigger',
+        name: 'creatorName',
+        fieldLabel: '录入人',
+        emptyText:'请输入人员编号或名称',
+        getCondition: function(value) {
+            if(!value) {
+                return '1=1';
+            }else {
+                return 'othspendings.creatorName like\'%' + value + '%\'';
+            }
+        }
+    }, {
+        xtype: 'employeeDbfindTrigger',
+        name: 'os_auditman',
+        fieldLabel: '审核人',
+        emptyText:'请输入人员编号或名称'
     }],
     moreQueryFormItems: [],
     queryGridConfig: {

+ 46 - 1
frontend/saas-web/app/view/money/othspendings/QueryPanelController.js

@@ -3,7 +3,52 @@ Ext.define('saas.view.money.othspendings.QueryPanelController', {
     alias: 'controller.money-othspendings-querypanel',
     init: function (form) {
         var me = this;
-        this.control({
+        this.control({ 
+            //放大镜赋值关系 以及 tpl模板
+            'bandinfoDbfindTrigger[name=os_bankname]': {
+                beforerender: function (f) {
+                    Ext.apply(f, {
+                        dbfinds: [{
+                            from: 'bk_bankcode', to: 'bk_bankcode' 
+                        },{
+                            from: 'bk_bankname', to: 'os_bankname' }
+                        ]
+                    });
+                }
+            },'vendorDbfindTrigger[name=os_vendname]':{
+                beforerender: function (f) {
+                    Ext.apply(f, {
+                        dbfinds: [{
+                            from:'ve_code',to:'ve_code'
+                        },{
+                            from: 've_name', to: 'os_vendname'
+                        }],
+                    });
+                }
+            },'employeeDbfindTrigger[name=creatorName]':{
+                beforerender:function(f){
+                    Ext.apply(f,{
+                        dbfinds:[{
+                            from:'em_code',to:'em_code'
+                        },{
+                            from:'em_name',to:'creatorName'
+                        }],
+                    }) ;   
+
+                }
+            },'employeeDbfindTrigger[name=os_auditman]':{
+                beforerender:function(f){
+                    Ext.apply(f,{
+                        dbfinds:[{
+                            from:'em_code',to:'em_code'
+                        },{
+                            from:'em_name',to:'os_auditman',
+                        }],
+                    }) ;   
+
+                }
+            }
+        
         });
     }
 });

+ 2 - 1
frontend/saas-web/app/view/money/payBalance/FormPanel.js

@@ -14,7 +14,8 @@ Ext.define('saas.view.money.payBalance.FormPanel', {
     _codeField: 'pb_code',
     _statusField: 'pb_status',
     _statusCodeField: 'pb_statuscode',
-    
+    _auditmanField: 'pb_auditman',
+    _auditdateField:'pb_auditdate',
     _readUrl: '/api/money/paybalance/read',
     _saveUrl: '/api/money/paybalance/save',
     _auditUrl: '/api/money/paybalance/audit',

+ 29 - 35
frontend/saas-web/app/view/money/payBalance/QueryPanel.js

@@ -18,51 +18,45 @@ Ext.define('saas.view.money.paybalance.QueryPanel', {
     }, {
         xtype: 'textfield',
         name: 'pb_code',
-        emptyText :'请输入单号或供应商',
-        getCondition: function(value) {
-            if(value == 'ALL') {
-                return '1=1';
-            }else {
-                return  ' (pb_code like\'%' + value + '%\' '
-                +' or pb_vendcode like \'%'+value+'%\' '
-                +' or pb_vendname like \'%'+value+'%\') ';
-            }
-        }
-    },{
-        xtype: 'bandinfoDbfindTrigger',
-        name: 'pd_bankname',
-        fieldLabel: '资金账户',
-        showDetail: true
-    },{
+        emptyText :'请输入单号'
+    }, {
         xtype: 'condatefield',
         name: 'pb_date',
         fieldLabel: '日期',
         columnWidth: 0.5,
         operation: 'between'
-    },{
-        xtype: 'combobox',
-        name: 'pb_statuscode',
-        fieldLabel: '状态',
-        queryMode: 'local',
-        displayField: 'name',
-        valueField: 'value',
-        emptyText :'全部',
-        editable:false,
-        store: Ext.create('Ext.data.ArrayStore', {
-            fields: ['value', 'name'],
-            data: [
-                ["ALL", "全部"],
-                ["AUDITED", "已审核"],
-                ["UNAUDITED", "未审核"]
-            ]
-        }),
+    }, {
+        xtype: 'vendorDbfindTrigger',
+        name: 'pb_vendname',
+        fieldLabel: '供应商',
+        emptyText :'请输入供应商编号或名称'
+    }/*,  {
+        xtype: 'textfield',
+        name: 'pbd_slcode',
+        fieldLabel: '来源单号',
+        showDetail: true
+    } ,{
+        xtype:'textfield',
+        name:'pbd_slkind',
+        fieldLabel: '业务类型',
+        showDetail: true
+    }*/, {
+        xtype: 'employeeDbfindTrigger',
+        name: 'creatorName',
+        fieldLabel: '录入人',
+        emptyText:'请输入人员编号或名称',
         getCondition: function(value) {
-            if(value == 'ALL') {
+            if(!value) {
                 return '1=1';
             }else {
-                return 'pb_statuscode=\'' + value + '\'';
+                return 'paybalance.creatorName like\'%' + value + '%\'';
             }
         }
+    }, {
+        xtype: 'employeeDbfindTrigger',
+        name: 'pb_auditman',
+        fieldLabel: '审核人',
+        emptyText:'请输入人员编号或名称'
     }],
     moreQueryFormItems: [],
     queryGridConfig: {

+ 23 - 8
frontend/saas-web/app/view/money/payBalance/QueryPanelController.js

@@ -5,18 +5,33 @@ Ext.define('saas.view.money.paybalance.QueryPanelController', {
     init: function (form) {
         var me = this;
         this.control({
-            'dbfindtrigger[name=pd_bankname]':{
+            'vendorDbfindTrigger[name=pb_vendname]':{
                 beforerender: function (f) {
                     Ext.apply(f, {
                         dbfinds: [{
-                            from: 'id',
-                            to: 'pd_bankid',ignore:true
-                        }, {
-                            from: 'bk_bankcode',
-                            to: 'pd_bankcode'
+                            from: 've_code', to: 've_code'
                         },{
-                            from: 'bk_bankname',
-                            to: 'pd_bankname'
+                            from: 've_name', to: 'pb_vendname'
+                        }],
+                    });
+                }
+            },'employeeDbfindTrigger[name=creatorName]':{
+                beforerender: function (f) {
+                    Ext.apply(f, {
+                        dbfinds: [{
+                            from:'em_code',to:'em_code'
+                        },{
+                            from: 'em_name', to: 'creatorName'
+                        }],
+                    });
+                }
+            },'employeeDbfindTrigger[name=pb_auditman]':{
+                beforerender: function (f) {
+                    Ext.apply(f, {
+                        dbfinds: [{
+                            from:'em_code',to:'em_code'
+                        },{
+                            from: 'em_name', to: 'pb_auditman'
                         }],
                     });
                 }

+ 2 - 1
frontend/saas-web/app/view/money/recBalance/FormPanel.js

@@ -15,7 +15,8 @@ Ext.define('saas.view.money.recBalance.FormPanel', {
     _codeField: 'rb_code',
     _statusField: 'rb_status',
     _statusCodeField: 'rb_statuscode',
-    
+    _auditmanField: 'rb_auditman',
+    _auditdateField:'rb_auditdate',
     _readUrl: '/api/money/recbalance/read',
     _saveUrl: '/api/money/recbalance/save',
     _auditUrl: '/api/money/recbalance/audit',

+ 27 - 33
frontend/saas-web/app/view/money/recBalance/QueryPanel.js

@@ -10,51 +10,45 @@ Ext.define('saas.view.money.recBalance.QueryPanel', {
     queryFormItems: [{
         xtype: 'textfield',
         name: 'rb_code',
-        emptyText :'请输入单号或客户',
-        getCondition: function(value) {
-            if(value == 'ALL') {
-                return '1=1';
-            }else {
-                return  ' (rb_code like\'%' + value + '%\' '
-                +' or rb_custcode like \'%'+value+'%\' '
-                +' or rb_custname like \'%'+value+'%\') ';
-            }
-        }
-    },{
-        xtype: 'bandinfoDbfindTrigger',
-        name: 'rd_bankname',
-        fieldLabel: '资金账户',
-        showDetail: true
+        emptyText :'请输入单号'
     },{
         xtype: 'condatefield',
         name: 'rb_date',
         fieldLabel: '日期',
         columnWidth: 0.5,
         operation: 'between'
+    }, {
+        xtype: 'customerDbfindTrigger',
+        name: 'rb_custname',
+        fieldLabel: '客户',
+        emptyText :'请输入客户编号或名称'
+    }/* , {
+        xtype: 'textfield',
+        name: 'rbd_slcode',
+        fieldLabel: '来源单号',
+        showDetail: true
     },{
-        xtype: 'combobox',
-        name: 'rb_statuscode',
-        fieldLabel: '状态',
-        queryMode: 'local',
-        displayField: 'name',
-        valueField: 'value',
-        emptyText :'全部',
-        editable:false,
-        store: Ext.create('Ext.data.ArrayStore', {
-            fields: ['value', 'name'],
-            data: [
-                ["ALL", "全部"],
-                ["AUDITED", "已审核"],
-                ["UNAUDITED", "未审核"]
-            ]
-        }),
+        xtype:'textfield',
+        name:'rbd_slkind',
+        fieldLabel: '业务类型',
+        showDetail: true
+    } */, {
+        xtype: 'employeeDbfindTrigger',
+        name: 'creatorName',
+        fieldLabel: '录入人',
+        emptyText:'请输入人员编号或名称',
         getCondition: function(value) {
-            if(value == 'ALL') {
+            if(!value) {
                 return '1=1';
             }else {
-                return 'rb_statuscode=\'' + value + '\'';
+                return 'recbalance.creatorName like\'%' + value + '%\'';
             }
         }
+    }, {
+        xtype: 'employeeDbfindTrigger',
+        name: 'rb_auditman',
+        fieldLabel: '审核人',
+        emptyText:'请输入人员编号或名称'
     }],
     moreQueryFormItems: [],
     queryGridConfig: {

+ 21 - 8
frontend/saas-web/app/view/money/recBalance/QueryPanelController.js

@@ -5,18 +5,31 @@ Ext.define('saas.view.money.recBalance.QueryPanelController', {
     init: function (form) {
         var me = this;
         this.control({
-            'dbfindtrigger[name=rd_bankname]':{
+            'customerDbfindTrigger[name=rb_custname]':{
                 beforerender: function (f) {
                     Ext.apply(f, {
                         dbfinds: [{
-                            from: 'id',
-                            to: 'rd_bankid',ignore:true
-                        }, {
-                            from: 'bk_bankcode',
-                            to: 'rd_bankcode'
+                            from: 'cu_code', to: 'cu_code'
                         },{
-                            from: 'bk_bankname',
-                            to: 'rd_bankname'
+                            from: 'cu_name', to: 'rb_custname'
+                        }],
+                    });
+                }
+            },'employeeDbfindTrigger[name=creatorName]':{
+                beforerender: function (f) {
+                    Ext.apply(f, {
+                        dbfinds: [{
+                            from: 'em_name',
+                            to: 'creatorName'
+                        }],
+                    });
+                }
+            },'employeeDbfindTrigger[name=rb_auditman]':{
+                beforerender: function (f) {
+                    Ext.apply(f, {
+                        dbfinds: [{
+                            from: 'em_name',
+                            to: 'rb_auditman'
                         }],
                     });
                 }

+ 79 - 80
frontend/saas-web/app/view/money/report/AccountBalance.js

@@ -11,9 +11,9 @@ Ext.define('saas.view.money.report.AccountBalance', {
     listUrl: '/api/money/report/accountBalance',
     defaultCondition: null,
     reportTitle: '资金账户余额表',
-    QueryWidth:0.25,
+    QueryWidth: 0.25,
     //筛选:账户、日期(必填)
-    searchItems: [ {
+    searchItems: [{
         xtype: 'bandinfoDbfindTrigger',
         name: 'bankname',
         fieldLabel: '账户名称',
@@ -25,82 +25,81 @@ Ext.define('saas.view.money.report.AccountBalance', {
         columnWidth: 0.5
     }],
 
-    reportColumns: [
-         {
-            text: '账户编号',
-            dataIndex: 'bankcode',
-            width: 150
-        }, {
-            text: '账户名称',
-            dataIndex: 'bankname',
-            width: 200
-        }, {
-            text: '日期',
-            dataIndex: 'date',
-            xtype:'datecolumn',
-            width: 110
-        }, {
-            text: '业务类型',
-            dataIndex: 'kind',
-            width: 110
-        },{
-            text:'收入',
-            dataIndex:'inamount',
-            xtype: 'numbercolumn',
-            width: 110,
-            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:'outamount',
-            xtype: 'numbercolumn',
-            width: 110,
-            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: 'thisamount',
-            xtype: 'numbercolumn',
-            width: 110,
-            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);
-            }
-        }, {
-            text: '往来单位',
-            dataIndex: 'bname',
-            width: 150
-        }, {
-            text: '收付款人',
-            dataIndex: 'bmanname',
-            width: 110
-        }, {
-            text: '备注',
-            dataIndex: 'remark',
-            width: 250,
-        }]
+    reportColumns: [{
+        text: '账户编号',
+        dataIndex: 'bankcode',
+        width: 150
+    }, {
+        text: '账户名称',
+        dataIndex: 'bankname',
+        width: 200
+    }, {
+        text: '日期',
+        dataIndex: 'date',
+        xtype: 'datecolumn',
+        width: 110
+    }, {
+        text: '业务类型',
+        dataIndex: 'kind',
+        width: 110
+    }, {
+        text: '收入',
+        dataIndex: 'inamount',
+        xtype: 'numbercolumn',
+        width: 110,
+        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: 'outamount',
+        xtype: 'numbercolumn',
+        width: 110,
+        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: 'thisamount',
+        xtype: 'numbercolumn',
+        width: 110,
+        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);
+        }
+    }, {
+        text: '往来单位',
+        dataIndex: 'bname',
+        width: 150
+    }, {
+        text: '收付款人',
+        dataIndex: 'bmanname',
+        width: 110
+    }, {
+        text: '备注',
+        dataIndex: 'remark',
+        width: 250,
+    }]
 });

+ 83 - 297
frontend/saas-web/app/view/money/report/AccountDetails.js

@@ -1,314 +1,100 @@
 Ext.define('saas.view.money.report.AccountDetails', {
-    extend: 'Ext.grid.Panel',
+    extend: 'saas.view.core.report.ReportPanel',
     xtype: 'monry-report-accountdetails',
 
     controller: 'money-report-accountdetails',
     viewModel: 'money-report-accountdetails',
 
     viewName: 'money-report-accountdetails',
-    autoScroll: true,
-    frame:true,
-    layout:'fit',
-    //工具类
-    FormUtil: Ext.create('saas.util.FormUtil'),
-    BaseUtil: Ext.create('saas.util.BaseUtil'),
 
     // groupField: null,
-    dataUrl: '/api/money/report/accountdetails',
+    listUrl: '/api/money/report/accountdetails',
     defaultCondition: null,
     reportTitle: '核销对账表',
-    QueryWidth:0.25,
+    QueryWidth: 0.2,
     //筛选:客户/供应商、日期、单据类型(必填)
-    tbar: [{
-        width: 150,
-        name: 'sl_kind',
+    searchItems: [{
+        name: 'sl_code',
         xtype: 'textfield',
-        emptyText : '单据类型'
-    },{
-        width: 400,
+        emptyText: '单号',
+        columnWidth: 0.1
+    }, {
+        xtype: 'multicombo',
+        name: 'sl_kind',
+        emptyText: '单据类型',
+        columnWidth: 0.1,
+        datas: [
+            ["采购验收单", "采购验收单"],
+            ["采购验退单", "采购验退单"],
+            ["出货单", "出货单"],
+            ["销售退货单", "销售退货单"],
+            ["完工入库单", "完工入库单"],
+            ["生产领料单", "生产领料单"],
+            ["拆件领料单", "拆件领料单"],
+            ["其它入库单", "其它入库单"],
+            ["其它出库单", "其它出库单"],
+            ["调拨单", "调拨单"],
+            ["库存初始化", "库存初始化"]
+        ]
+    }, {
         name: 'date',
         xtype: 'condatefield',
-        emptyText : '单据日期'
-    },{
-        width: 200,
+        emptyText: '日期',
+        columnWidth: 0.3
+    }, {
+    //     name: 'pb_code',
+    //     xtype: 'textfield',
+    //     emptyText: '核销单号',
+    //     columnWidth: 0.1
+    // }, {
+        xtype: "customerDbfindTrigger",
+        name: "cu_name",
+        emptyText: '客户编号/名称',
+        columnWidth: 0.15
+    }, {
+        xtype: 'vendorDbfindTrigger',
         name: 've_name',
-        xtype: 'textfield',
-        emptyText : '供应商名称'
-    },{
-            width: 200,
-            name: 'cu_name',
-            xtype: 'textfield',
-            emptyText : '客户名称'
-    },{
-        cls:'x-formpanel-btn-blue',
-        xtype:'button',
-        text:'查询',
-        listeners: {
-            click:function(b){
-                var grid = b.ownerCt.ownerCt;
-                var tbar = b.ownerCt;
-                grid.condition = '';
-                var items = [];
-                var fields = tbar.items.items.map(f => f.name);
-                Ext.each(fields, function(f, index){
-                    var field = tbar.down('[name='+f+']');
-                    if(field){
-                        items.push(field);
-                    }
-                });
-                grid.condition = grid.getCondition(items);
-                grid.store.loadPage(1);
-            }
-        }
-    },'->'],
-    columns: [
-        {
-            text: 'id',
-            dataIndex: 'pi_id',
-            hidden: true
-        }, {
-            text: '单据编号',
-            dataIndex: 'sl_code',
-            width: 150
-        }, {
-            text: '单据类型',
-            dataIndex: 'sl_kind',
-            width: 110
-        }, {
-            text: '单据日期',
-            dataIndex: 'date',
-            xtype:'datecolumn',
-            width: 110
-        },{
-            text:'供应商名称',
-            dataIndex:'ve_name',
-            width: 200
-        },{
-            text:'客户名称',
-            dataIndex:'cu_name',
-            width: 200
-        },{
-            text:'核销单号',
-            dataIndex:'pb_code',
-            width: 200
-        },{
-            text: '本期核销金额',
-            dataIndex: 'sl_amount',
-            xtype: 'numbercolumn',
-            width: 130,
-            // renderer : function(v) {
-            //     var arr = (v + '.').split('.');
-            //     var xr = (new Array(arr[1].length > 2 ? 2 : 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: '总金额',
-            dataIndex: 'total',
-            xtype: 'numbercolumn',
-            width: 110,
-            // 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);
-            // }
-        }],
-
-    dbSearchFields: [],
-    condition:'',
-
-    initComponent: function() {
-        var me = this;
-        if(me.columns){
-            var fields = me.columns.map(column => column.dataIndex);
-            me.store = Ext.create('Ext.data.Store',{
-                fields:fields,
-                autoLoad: true,
-                pageSize: 11,
-                data: [],
-                proxy: {
-                    timeout:8000,
-                    type: 'ajax',
-                    url: me.dataUrl,
-                    actionMethods: {
-                        read: 'GET'
-                    },
-                    reader: {
-                        type: 'json',
-                        rootProperty: 'data.list.list',
-                        totalProperty: 'data.list.total',
-                    }
-                },
-                listeners: {
-                    beforeload: function (store, op) {
-                        var condition = me.condition;
-                        if (Ext.isEmpty(condition)) {
-                            condition = "";
-                        }
-                        Ext.apply(store.proxy.extraParams, {
-                            number: op._page,
-                            size: store.pageSize,
-                            condition: JSON.stringify(condition)
-                        });
-                    }
-                }
-            });
-
-            Ext.apply(me, {
-                dockedItems:[{
-                    xtype: 'pagingtoolbar',
-                    dock: 'bottom',
-                    displayInfo: true,
-                    store: me.store
-                }]
-            });
-        }
-        me.callParent(arguments);
-    },
-
-    getGridSelected:function(type){
-        var isErrorSelect = false;
-        var checkField = this.statusCodeField;
-        var me = this,
-            items = me.selModel.getSelection(),
-            data = new Array() ;
-        Ext.each(items, function(item, index){
-            if(!Ext.isEmpty(item.data[me.idField])){
-                var o = new Object();
-                if(me.idField){
-                    o['id'] = item.data[me.idField];
-                }
-                if(me.codeField){
-                    o['code'] = item.data[me.codeField];
-                }
-                if(type&&type==item.data[checkField]){
-                    isErrorSelect = true
-                }
-                data.push(o);
-            }
-        });
-        if(isErrorSelect){
-            return false;
-        }
-        return data;
-    },
-
-    /**
-     * 获得过滤条件
-     */
-    getCondition: function(items) {
-        var me = this,
-            conditions = [];
-
-        for(var i = 0; i < items.length; i++) {
-            var item = items[i];
-            var field = item.name,
-                func = item.getCondition,
-                value = item.value,
-                condition;
-
-            if(typeof func == 'function') {
-                condition = {
-                    type: 'condition',
-                    value: func(value)
-                }
-            }else {
-                var xtype = item.xtype || 'textfield',
-                    type = item.fieldType || me.getDefaultFieldType(xtype),
-                    operation = item.operation || me.getDefaultFieldOperation(xtype),
-                    conditionValue = me.getConditionValue(xtype, value);
-
-                if(!conditionValue) {
-                    continue;
-                }
-                condition = {
-                    type: type,
-                    field: field,
-                    operation: operation,
-                    value: conditionValue
-                }
-            }
-            conditions.push(condition);
-        };
-        return conditions;
-    },
-
-    getDefaultFieldType: function(xtype) {
-        var type;
-
-        if(Ext.Array.contains(['numberfield'], xtype)) {
-            type = 'number';
-        }else if(Ext.Array.contains(['datefield', 'condatefield'], xtype)) {
-            type = 'date';
-        }else if(Ext.Array.contains(['combobox', 'multicombo', 'combo', 'radiofield', 'radio'], xtype)) {
-            type = 'enum';
-        }else {
-            type = 'string';
-        }
-
-        return type;
-    },
-
-    getDefaultFieldOperation: function(xtype) {
-        var operation;
-
-        if(Ext.Array.contains(['numberfield'], xtype)) {
-            operation = '=';
-        }else if(Ext.Array.contains(['datefield'], xtype)) {
-            operation = '=';
-        }else if(Ext.Array.contains(['condatefield'], xtype)) {
-            operation = 'between';
-        }else if(Ext.Array.contains(['combobox', 'multicombo', 'combo'], xtype)) {
-            operation = 'in';
-        }else {
-            operation = 'like';
-        }
-
-        return operation;
-    },
-
-    /**
-     * 处理部分字段值
-     */
-    getConditionValue: function(xtype, value) {
-        var conditionValue;
-        if(xtype == 'datefield') {
-            conditionValue = Ext.Date.format(new Date(from), 'Y-m-d H:i:s');
-        }else if(xtype == 'condatefield') {
-            var from = value.from,
-                to = value.to;
-
-            conditionValue = Ext.Date.format(new Date(from), 'Y-m-d 00:00:00') + ',' + Ext.Date.format(new Date(to), 'Y-m-d 23:59:59');
-        }else if(xtype == 'combobox' || xtype == 'combo') {
-            conditionValue = '\'' + value + '\'';
-        }else if(xtype == 'multicombo') {
-            conditionValue = value.map(function(v) {
-                return '\'' + v.value + '\'';
-            }).join(',');
-        }else {
-            conditionValue = value;
-        }
-
-        return conditionValue;
-    },
-
-    refresh:function(){
-        //debugger
-    }
-
+        emptyText: '供应商编号/名称',
+        columnWidth: 0.15
+    }],
+    reportColumns: [{
+        text: 'id',
+        dataIndex: 'pi_id',
+        hidden: true
+    }, {
+        text: '单据编号',
+        dataIndex: 'sl_code',
+        width: 150
+    }, {
+        text: '单据类型',
+        dataIndex: 'sl_kind',
+        width: 110
+    }, {
+        text: '单据日期',
+        dataIndex: 'date',
+        xtype: 'datecolumn',
+        width: 110
+    }, {
+        text: '供应商名称',
+        dataIndex: 've_name',
+        width: 200
+    }, {
+        text: '客户名称',
+        dataIndex: 'cu_name',
+        width: 200
+    }, {
+        text: '核销单号',
+        dataIndex: 'pb_code',
+        width: 200
+    }, {
+        text: '本期核销金额',
+        dataIndex: 'sl_amount',
+        xtype: 'numbercolumn',
+        width: 130
+    }, {
+        text: '总金额',
+        dataIndex: 'total',
+        xtype: 'numbercolumn',
+        width: 110
+    }],
 });

+ 25 - 25
frontend/saas-web/app/view/money/report/AccountDetailsController.js

@@ -1,34 +1,34 @@
 Ext.define('saas.view.money.report.AccountDetailsController', {
-    extend: 'saas.view.core.base.BasePanelController',
+    extend: 'saas.view.core.report.ReportPanelController',
     alias: 'controller.money-report-accountdetails',
-    // init: function (form) {
-    //     this.control({
-    //         // 供应商编号
-    //         'dbfindtrigger[name=ve_name]':{
-    //             beforerender:function(f){
-    //                 Ext.apply(f,{
-    //                     dbfinds:[{
-    //                         from:'ve_name',to:'ve_name'
-    //                     }],
-    //                 }) ;
-    //             }
-    //         },
-    //         // 客户编号
-    //         'dbfindtrigger[name=cu_name]':{
-    //             beforerender:function(f){
-    //                 Ext.apply(f,{
-    //                     dbfinds:[{
-    //                         from:'cu_name',to:'cu_name'
-    //                     }],
-    //                 }) ;
-    //             }
-    //         }
-    //     });
-    // }
 
     init: function (form) {
         var me = this;
         this.control({
+            'customerDbfindTrigger[name=cu_name]':{
+                beforerender:function(f){
+                    Ext.apply(f,{
+                        dbfinds:[{
+                            from:'cu_code',to:'cu_code'
+                        },{
+                            from:'cu_name',to:'cu_name'
+                        }]
+                    }) ;   
+
+                }
+            },
+            'vendorDbfindTrigger[name=ve_name]':{
+                beforerender:function(f){
+                    Ext.apply(f,{
+                        dbfinds:[{
+                            from:'ve_code',to:'ve_code'
+                        },{
+                            from:'ve_name',to:'ve_name'
+                        }]
+                    }) ;   
+
+                }
+            }
         });
     }
 });

+ 1 - 1
frontend/saas-web/app/view/money/report/AccountDetailsMode.js

@@ -1,4 +1,4 @@
 Ext.define('saas.view.money.report.AccountDetailsModel', {
-    extend: 'saas.view.core.base.BasePanelModel',
+    extend: 'saas.view.core.report.ReportPanelModel',
     alias: 'viewmodel.money-report-accountdetails'
 });

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

@@ -61,11 +61,13 @@ Ext.define('saas.view.money.report.VendorCheck', {
     },{
         text:'供应商编号',
         dataIndex:'pi_vendcode',
-        width: 150
+        width: 150,
+        hidden:true
     },{
         text:'供应商名称',
         dataIndex:'pi_vendname',
-        width: 200
+        width: 200,
+        hidden:true
     },{
         text: '物料编号',
         dataIndex: 'pr_code',

+ 2 - 1
frontend/saas-web/app/view/money/verification/FormPanel.js

@@ -16,7 +16,8 @@ Ext.define('saas.view.money.verification.FormPanel', {
     _codeField: 'vc_code',
     _statusField: 'vc_status',
     _statusCodeField: 'vc_statuscode',
-
+    _auditmanField: 'vc_auditman',
+    _auditdateField:'vc_auditdate',
     _readUrl: '/api/money/verification/read',
     _saveUrl: '/api/money/verification/save',
     _auditUrl: '/api/money/verification/audit',

+ 61 - 1
frontend/saas-web/app/view/money/verification/FormPanelController.js

@@ -599,5 +599,65 @@ Ext.define('saas.view.money.verification.FormPanelController', {
             saas.util.BaseUtil.showErrorToast('保存失败: ' + res.message);
             form.fireEvent('aftersave', false, form, res);
         });
-    }
+    },
+    audit: function() {
+        var me = this,
+        form = me.getView(),
+        viewModel = me.getViewModel(),
+        detailCount = form.detailCount,
+        modelData = viewModel.getData();
+
+        //form里面数据
+        var formData = form.getFormData();
+        var params = {
+            main: formData.main
+        };
+
+        for(var i = 0; i < detailCount; i++) {
+            params['items' + ( i + 1)] = formData['detail' + i];
+        }
+
+        saas.util.BaseUtil.request({
+            url: form._auditUrl,
+            params: JSON.stringify(params),
+            method: 'POST',
+        })
+        .then(function(localJson) {
+            if(localJson.success){
+                // 未保存直接审核会返回id
+                if(localJson.data) {
+                    var id = localJson.data.id;
+                    var code = localJson.data.code;
+                    
+                    form.initId = id;
+
+                    var newId = form.xtype + '-' + id;
+                    var newTitle = form._title + '(' + code + ')';
+
+                    saas.util.BaseUtil.refreshTabTitle(newId, newTitle);
+                }
+                saas.util.FormUtil.loadData(form);
+                form.setEditable(false);
+                saas.util.BaseUtil.showSuccessToast('审核成功' + (localJson.message ? ': ' + localJson.message : ''));
+                form.fireEvent('afteraudit', true, form, localJson);
+            }
+        })
+        .catch(function(res) {
+            console.error(res);
+            if(res.data) {
+                var id = localJson.data.id;
+                var code = localJson.data.code;
+                
+                form.initId = id;
+
+                var newId = form.xtype + '-' + id;
+                var newTitle = form._title + '(' + code + ')';
+
+                saas.util.BaseUtil.refreshTabTitle(newId, newTitle);
+                saas.util.FormUtil.loadData(form);
+            }
+            saas.util.BaseUtil.showErrorToast('审核失败: ' + res.message);
+            form.fireEvent('afteraudit', false, form, res);
+        });
+    },
 });

+ 24 - 34
frontend/saas-web/app/view/money/verification/QueryPanel.js

@@ -10,23 +10,23 @@ Ext.define('saas.view.money.verification.QueryPanel', {
     queryFormItems: [{
         xtype: 'textfield',
         name: 'vc_code',
-        fieldLabel: '',
-        emptyText :'请输入单号或者供应商名或者客户名',
-        getCondition: function(value) {
-            if(value == 'ALL') {
-                return '1=1';
-            }else {
-                return  ' (vc_code like\'%' + value + '%\' '
-                    +' or vc_vendcode like \'%'+value+'%\' '
-                    +' or vc_custcode like \'%'+value+'%\') ';
-            }
-        }
+        emptyText :'请输入单号'
     },{
         xtype: 'condatefield',
         name: 'vc_date',
-        fieldLabel: '单据日期',
+        fieldLabel: '日期',
         columnWidth: 0.5,
         operation: 'between'
+    }, {
+        xtype: 'customerDbfindTrigger',
+        name: 'vc_custname',
+        fieldLabel: '客户',
+        emptyText :'请输入客户编号或名称'
+    }, {
+        xtype: 'vendorDbfindTrigger',
+        name: 'vc_vendname',
+        fieldLabel: '供应商',
+        emptyText :'请输入供应商编号或名称'
     },{
         xtype: 'combobox',
         name: 'vc_statuscode',
@@ -51,33 +51,23 @@ Ext.define('saas.view.money.verification.QueryPanel', {
                 return 'vc_statuscode=\'' + value + '\'';
             }
         }
-    },{
-        xtype: 'combobox',
-        name: 'vc_kind',
-        fieldLabel: '业务类型',
-        queryMode: 'local',
-        displayField: 'name',
-        valueField: 'value',
-        emptyText :'全部',
-        editable:false,
-        store: Ext.create('Ext.data.ArrayStore', {
-            fields: ['value', 'name'],
-            data: [
-                ["ALL", "全部"],
-                ["预收冲应收", "预收冲应收"],
-                ["预付冲应付", "预付冲应付"],
-                ["应收冲应付", "应收冲应付"],
-                ["应收转应收", "应收转应收"],
-                ["应付转应付", "应付转应付"]
-            ]
-        }),
+    }, {
+        xtype: 'employeeDbfindTrigger',
+        name: 'creatorName',
+        fieldLabel: '录入人',
+        emptyText:'请输入人员编号或名称',
         getCondition: function(value) {
-            if(value == 'ALL') {
+            if(!value) {
                 return '1=1';
             }else {
-                return 'vc_kind=\'' + value + '\'';
+                return 'verification.creatorName like\'%' + value + '%\'';
             }
         }
+    }, {
+        xtype: 'employeeDbfindTrigger',
+        name: 'vc_auditman',
+        fieldLabel: '审核人',
+        emptyText:'请输入人员编号或名称'
     }],
     moreQueryFormItems: [],
     queryGridConfig: {

+ 26 - 157
frontend/saas-web/app/view/money/verification/QueryPanelController.js

@@ -6,176 +6,45 @@ Ext.define('saas.view.money.verification.QueryPanelController', {
         var me = this;
         this.control({
             //放大镜赋值关系 以及 tpl模板
-            'dbfindtrigger[name=pu_vendname]':{
-                beforerender:function(f){
-                    Ext.apply(f,{
-                        dataUrl: '/api/document/vendor/list',
-                        addXtype: 'document-vendor-formpanel',
-                        addTitle: '供应商资料',
-                        dbfinds:[{
-                            from:'ve_code',to:'pu_vendcode'
+            'customerDbfindTrigger[name=vc_custname]':{
+                beforerender: function (f) {
+                    Ext.apply(f, {
+                        dbfinds: [{
+                            from: 'cu_code', to: 'cu_code'
                         },{
-                            from:'ve_name',to:'pu_vendname'
+                            from:'cu_name',to:"vc_custname"
                         }],
-                        dbtpls:[{
-                            field:'ve_code',width:100
+                    });
+                }
+            },'vendorDbfindTrigger[name=vc_vendname]':{
+                beforerender: function (f) {
+                    Ext.apply(f, {
+                        dbfinds: [{
+                            from: 've_code', to: 've_code'
                         },{
-                            field:'ve_name',width:100
-                        }],
-                        defaultCondition: "ve_statuscode='OPEN'",
-                        dbSearchFields:[{
-                            emptyText:'输入供应商编号或名称',
-                            xtype : "textfield", 
-                            name : "search", 
-                            getCondition: function(v) {
-                                return "(upper(ve_code) like '%"+v.toUpperCase()+"%' or upper(ve_name) like '%"+v.toUpperCase()+"%')";
-                            },
-                            allowBlank : true, 
-                            columnWidth : 0.25
+                            from:'ve_name',to:'vc_vendname'
                         }],
-                        dbColumns:[{
-                            "text": "供应商ID",
-                            "hidden": true,
-                            "dataIndex": "id",
-                            "width": 100,
-                            "xtype": "numbercolumn"
+                    });
+                }
+            },'employeeDbfindTrigger[name=creatorName]':{
+                beforerender:function(f){
+                    Ext.apply(f,{
+                        dbfinds:[{
+                            from:'em_code',to:'em_code'
                         },{
-                            "text": "供应商编号",
-                            "flex": 1,
-                            "dataIndex": "ve_code",
-                            "width": 100
-                        }, {
-                            "text": "供应商名称",
-                            "flex": 1,
-                            "dataIndex": "ve_name",
-                            "width": 100
-                        }, {
-                            "text": "供应商类型",
-                            "flex": 0,
-                            "dataIndex": "ve_type",
-                            "width": 200,
-                            "items": null
-                        }, {
-                            "text": "税率",
-                            "flex": 1,
-                            "dataIndex": "ve_taxrate",
-                            "width": 100
-                        }, {
-                            "text": "结算天数",
-                            "flex": 1,
-                            "dataIndex": "ve_promisedays",
-                            "width": 100
-                        }, {
-                            "text": "纳税人识别号",
-                            "flex": 1,
-                            "dataIndex": "ve_bankaccount",
-                            "width": 100
-                        }, {
-                            "text": "开户银行",
-                            "flex": 1,
-                            "dataIndex": "ve_bankaccount",
-                            "width": 100
-                        }, {
-                            "text": "银行账户",
-                            "flex": 1,
-                            "dataIndex": "ve_bankcode",
-                            "width": 100
-                        }]
+                            from:'em_name',to:'creatorName'
+                        }],
                     }) ;   
 
                 }
-            },
-            //放大镜赋值关系 以及 tpl模板
-            'dbfindtrigger[name=pd_prodcode]':{
+            },'employeeDbfindTrigger[name=vc_auditman]':{
                 beforerender:function(f){
                     Ext.apply(f,{
-                        conditionCode:'pr_code',
-                        dataUrl: '/api/document/product/list',
-                        addXtype: 'document-product-formpanel',
-                        addTitle: '物料资料',
                         dbfinds:[{
-                            from:'pr_code',to:'pd_prodcode',
-                        }, {
-                            from:'pr_detail',to:'pr_detail'
-                        }],
-                        dbtpls:[{
-                            field:'pr_code',width:100
+                            from:'em_code',to:'em_code'
                         },{
-                            field:'pr_detail',width:100
+                            from:'em_name',to:'vc_auditman',
                         }],
-                        defaultCondition: "pr_statuscode='OPEN'",
-                        dbSearchFields:[{
-                            emptyText:'输入物料编号、名称或规格',
-                            xtype : "textfield", 
-                            name : "search", 
-                            width: 200,
-                            getCondition: function(v) {
-                                return "(upper(pr_spec) like '%" + v.toUpperCase()+"%' or upper(pr_code) like '%"+v.toUpperCase()+"%' or upper(pr_detail) like '%"+v.toUpperCase()+"%')";
-                            },
-                            allowBlank : true, 
-                            columnWidth : 0.25
-                        }],
-                        dbColumns:[{
-                            "text": "物料ID",
-                            "hidden": true,
-                            "dataIndex": "id",
-                        }, {
-                            "text": "物料编号",       
-                            "dataIndex": "pr_code",
-                            "width": 200,
-                        }, {
-                            "text": "物料名称",
-                            "width": 200,
-                            "dataIndex": "pr_detail",
-                        }, {
-                            "text": "规格",
-                            "dataIndex": "pr_spec",
-                            "width": 100,
-                        }, {
-                            "text": "单位",
-                            "dataIndex": "pr_spec",
-                            "width": 100,
-                        },{
-                            "text": "仓库id",
-                            "dataIndex": "pr_whid",
-                            "hidden": true,
-                        },{
-                            "text": "仓库编号",
-                            "dataIndex": "pr_whcode",
-                            "hidden": true,
-                        },{
-                            "text": "仓库",
-                            "dataIndex": "pr_whname",
-                            "width": 200,
-                        },{
-                            "text": "总库存数",
-                            "dataIndex": "po_onhand",
-                            "width": 100,
-                        },{
-                            "text": "类型",
-                            "dataIndex": "pr_kind",
-                            "width": 100,
-                        },{
-                            "text": "型号",
-                            "dataIndex": "pr_orispeccode",
-                            "width": 100,
-                        },{
-                            "text": "品牌",
-                            "dataIndex": "pr_brand",
-                            "width": 100,
-                        },{
-                            "text": "供应商",
-                            "dataIndex": "pr_vendname",
-                            "width": 100,
-                        },{
-                            "text": "最小包装",
-                            "dataIndex": "pr_zxbzs",
-                            "width": 100,
-                        },{
-                            "text": "L/T",
-                            "dataIndex": "pr_leadtime",
-                            "width": 100,
-                        }]   
                     }) ;   
 
                 }

+ 29 - 7
frontend/saas-web/app/view/purchase/purchase/QueryPanel.js

@@ -24,12 +24,6 @@ Ext.define('saas.view.purchase.purchase.QueryPanel', {
         getCondition: function(value) {
             return  ' (pu_code like\'%' + value + '%\' or pu_vendcode like \'%'+value+'%\' or pu_vendname like \'%'+value+'%\') ';
         }
-    }, {
-        xtype: 'textfield',
-        name: 'pd_prodcode',
-        fieldLabel: '物料编号',
-        showDetail: true,
-        hidden:true
     }, {
         xtype: 'condatefield',
         name: 'pu_date',
@@ -42,10 +36,16 @@ Ext.define('saas.view.purchase.purchase.QueryPanel', {
         fieldLabel: '物料',
         showDetail: true,
         emptyText:'输入物料编号或名称',
+    }, {
+        xtype: 'textfield',
+        name: 'pd_prodcode',
+        fieldLabel: '物料编号',
+        showDetail: true,
+        hidden:true
     }, {
         xtype: 'combobox',
         name: 'pu_statuscode',
-        fieldLabel: '审核状态',
+        fieldLabel: '单据状态',
         queryMode: 'local',
         displayField: 'pu_status',
         valueField: 'pu_statuscode',
@@ -77,6 +77,28 @@ Ext.define('saas.view.purchase.purchase.QueryPanel', {
             ["PART2IN", "部分入库"],
             ["CLOSE", "已关闭"]
         ]
+    }, {
+        xtype: 'textfield',
+        name: 'pd_salecode',
+        fieldLabel: '关联销售单号',
+        showDetail: true,
+    }, {
+        xtype: 'employeeDbfindTrigger',
+        name: 'creatorName',
+        fieldLabel: '录入人',
+        emptyText:'请输入人员编号或名称',
+        getCondition: function(value) {
+            if(!value) {
+                return '1=1';
+            }else {
+                return 'purchase.creatorName like\'%' + value + '%\'';
+            }
+        }
+    }, {
+        xtype: 'employeeDbfindTrigger',
+        name: 'pu_auditman',
+        fieldLabel: '审核人',
+        emptyText:'请输入人员编号或名称'
     }],
     queryGridConfig: {
         idField: 'pu_id',

+ 22 - 0
frontend/saas-web/app/view/purchase/purchase/QueryPanelController.js

@@ -16,6 +16,28 @@ Ext.define('saas.view.purchase.purchase.QueryPanelController', {
                         }],
                     }) ;   
 
+                }
+            },'employeeDbfindTrigger[name=creatorName]':{
+                beforerender:function(f){
+                    Ext.apply(f,{
+                        dbfinds:[{
+                            from:'em_code',to:'em_code'
+                        },{
+                            from:'em_name',to:'creatorName'
+                        }],
+                    }) ;   
+
+                }
+            },'employeeDbfindTrigger[name=pu_auditman]':{
+                beforerender:function(f){
+                    Ext.apply(f,{
+                        dbfinds:[{
+                            from:'em_code',to:'em_code'
+                        },{
+                            from:'em_name',to:'pu_auditman',
+                        }],
+                    }) ;   
+
                 }
             }
         });

+ 45 - 13
frontend/saas-web/app/view/purchase/purchaseIn/QueryPanel.js

@@ -20,11 +20,11 @@ Ext.define('saas.view.purchase.purchaseIn.QueryPanel', {
             return  ' (pi_inoutno like\'%' + value + '%\' or pi_vendcode like \'%'+value+'%\' or pi_vendname like \'%'+value+'%\') ';
         }
     }, {
-        xtype: 'textfield',
-        name: 'pd_prodcode',
-        fieldLabel: '物料编号',
-        hidden:true,
-        showDetail: true
+        xtype: 'condatefield',
+        name: 'pi_date',
+        fieldLabel: '日期',
+        columnWidth: 0.5,
+        operation: 'between'
     }, {
         xtype: 'productDbfindTrigger',
         name: 'pr_detail',
@@ -33,14 +33,10 @@ Ext.define('saas.view.purchase.purchaseIn.QueryPanel', {
         showDetail: true
     }, {
         xtype: 'textfield',
-        name: 'pi_pucode',
-        fieldLabel: '关联单号'
-    }, {
-        xtype: 'condatefield',
-        name: 'pi_date',
-        fieldLabel: '日期',
-        columnWidth: 0.5,
-        operation: 'between'
+        name: 'pd_prodcode',
+        fieldLabel: '物料编号',
+        hidden:true,
+        showDetail: true
     }, {
         xtype: 'combobox',
         name: 'pi_statuscode',
@@ -66,6 +62,42 @@ Ext.define('saas.view.purchase.purchaseIn.QueryPanel', {
                 return 'pi_statuscode=\'' + value + '\'';
             }
         }
+    }, {
+        xtype: 'multicombo',
+        name: 'pi_prstatus',
+        fieldLabel: '付款状态',
+        emptyText :'全部',
+        datas: [
+            ["PAYNONE", "未付款"],
+            ["PAYPART", "部分付款"],
+            ["PAYALL", "已付款"]
+        ]
+    }, {
+        xtype: 'warehouseDbfindTrigger',
+        name: 'pd_whname',
+        fieldLabel: '仓库',
+        emptyText:'请输入仓库编号或名称',
+    }, {
+        xtype: 'textfield',
+        name: 'pi_pucode',
+        fieldLabel: '关联采购单号'
+    }, {
+        xtype: 'employeeDbfindTrigger',
+        name: 'creatorName',
+        fieldLabel: '录入人',
+        emptyText:'请输入人员编号或名称',
+        getCondition: function(value) {
+            if(!value) {
+                return '1=1';
+            }else {
+                return 'prodinout.creatorName like\'%' + value + '%\'';
+            }
+        }
+    }, {
+        xtype: 'employeeDbfindTrigger',
+        name: 'pi_auditman',
+        fieldLabel: '审核人',
+        emptyText:'请输入人员编号或名称'
     }],
     queryGridConfig: {
         idField:'id',

+ 33 - 0
frontend/saas-web/app/view/purchase/purchaseIn/QueryPanelController.js

@@ -16,6 +16,39 @@ Ext.define('saas.view.purchase.purchaseIn.QueryPanelController', {
                         }],
                     }) ;   
 
+                }
+            }, 'warehouseDbfindTrigger[name=pd_whname]':{
+                beforerender:function(f){
+                    Ext.apply(f,{
+                        dbfinds:[{
+                            from:'wh_code',to:'wh_code'
+                        },{
+                            from:'wh_description',to:'pd_whname',
+                        }],
+                    }) ;   
+
+                }
+            },'employeeDbfindTrigger[name=creatorName]':{
+                beforerender:function(f){
+                    Ext.apply(f,{
+                        dbfinds:[{
+                            from:'em_code',to:'em_code'
+                        },{
+                            from:'em_name',to:'creatorName'
+                        }],
+                    }) ;   
+
+                }
+            },'employeeDbfindTrigger[name=pi_auditman]':{
+                beforerender:function(f){
+                    Ext.apply(f,{
+                        dbfinds:[{
+                            from:'em_code',to:'em_code'
+                        },{
+                            from:'em_name',to:'pi_auditman',
+                        }],
+                    }) ;   
+
                 }
             }
         });

+ 45 - 13
frontend/saas-web/app/view/purchase/purchaseOut/QueryPanel.js

@@ -23,11 +23,11 @@ Ext.define('saas.view.purchase.purchaseOut.QueryPanel', {
             return  ' (pi_inoutno like\'%' + value + '%\' or pi_vendcode like \'%'+value+'%\' or pi_vendname like \'%'+value+'%\') ';
         }
     }, {
-        xtype: 'textfield',
-        name: 'pd_prodcode',
-        fieldLabel: '物料编号',
-        hidden:true,
-        showDetail: true
+        xtype: 'condatefield',
+        name: 'pi_date',
+        fieldLabel: '日期',
+        columnWidth: 0.5,
+        operation: 'between'
     }, {
         xtype: 'productDbfindTrigger',
         name: 'pr_detail',
@@ -36,14 +36,10 @@ Ext.define('saas.view.purchase.purchaseOut.QueryPanel', {
         showDetail: true
     }, {
         xtype: 'textfield',
-        name: 'pi_pucode',
-        fieldLabel: '关联单号'
-    }, {
-        xtype: 'condatefield',
-        name: 'pi_date',
-        fieldLabel: '日期',
-        columnWidth: 0.5,
-        operation: 'between'
+        name: 'pd_prodcode',
+        fieldLabel: '物料编号',
+        hidden:true,
+        showDetail: true
     }, {
         xtype: 'combobox',
         name: 'pi_statuscode',
@@ -69,6 +65,42 @@ Ext.define('saas.view.purchase.purchaseOut.QueryPanel', {
                 return 'pi_statuscode=\'' + value + '\'';
             }
         }
+    }, {
+        xtype: 'multicombo',
+        name: 'pi_prstatus',
+        fieldLabel: '付款状态',
+        emptyText :'全部',
+        datas: [
+            ["PAYNONE", "未付款"],
+            ["PAYPART", "部分付款"],
+            ["PAYALL", "已付款"]
+        ]
+    }, {
+        xtype: 'warehouseDbfindTrigger',
+        name: 'pd_whname',
+        fieldLabel: '仓库',
+        emptyText:'请输入仓库编号或名称'
+    }, {
+        xtype: 'textfield',
+        name: 'pi_iocode',
+        fieldLabel: '关联验收单号'
+    }, {
+        xtype: 'employeeDbfindTrigger',
+        name: 'creatorName',
+        fieldLabel: '录入人',
+        emptyText:'请输入人员编号或名称',
+        getCondition: function(value) {
+            if(!value) {
+                return '1=1';
+            }else {
+                return 'prodinout.creatorName like\'%' + value + '%\'';
+            }
+        }
+    }, {
+        xtype: 'employeeDbfindTrigger',
+        name: 'pi_auditman',
+        fieldLabel: '审核人',
+        emptyText:'请输入人员编号或名称'
     }],
     queryGridConfig: {
         idField:'id',

+ 33 - 0
frontend/saas-web/app/view/purchase/purchaseOut/QueryPanelController.js

@@ -16,6 +16,39 @@ Ext.define('saas.view.purchase.purchaseOut.QueryPanelController', {
                         }],
                     }) ;   
 
+                }
+            }, 'warehouseDbfindTrigger[name=pd_whname]':{
+                beforerender:function(f){
+                    Ext.apply(f,{
+                        dbfinds:[{
+                            from:'wh_code',to:'wh_code'
+                        },{
+                            from:'wh_description',to:'pd_whname',
+                        }],
+                    }) ;   
+
+                }
+            },'employeeDbfindTrigger[name=creatorName]':{
+                beforerender:function(f){
+                    Ext.apply(f,{
+                        dbfinds:[{
+                            from:'em_code',to:'em_code'
+                        },{
+                            from:'em_name',to:'creatorName'
+                        }],
+                    }) ;   
+
+                }
+            },'employeeDbfindTrigger[name=pi_auditman]':{
+                beforerender:function(f){
+                    Ext.apply(f,{
+                        dbfinds:[{
+                            from:'em_code',to:'em_code'
+                        },{
+                            from:'em_name',to:'pi_auditman',
+                        }],
+                    }) ;   
+
                 }
             }
         });

+ 2 - 1
frontend/saas-web/app/view/sale/sale/FormPanel.js

@@ -14,7 +14,8 @@ Ext.define('saas.view.sale.sale.FormPanel', {
      _codeField: 'sa_code',
      _statusField: 'sa_status',
      _statusCodeField: 'sa_statuscode',
-     
+     _auditmanField: 'sa_auditman',
+     _auditdateField:'sa_auditdate',
      _relationColumn: 'sd_puid',
      _readUrl:'/api/sale/sale/read',
      _saveUrl:'/api/sale/sale/save',

+ 24 - 10
frontend/saas-web/app/view/sale/sale/QueryPanel.js

@@ -23,24 +23,19 @@ Ext.define('saas.view.sale.sale.QueryPanel', {
            return  ' (sa_code like\'%' + value + '%\' or sa_custcode like \'%'+value+'%\' or sa_custname like \'%'+value+'%\') ';
         }
     }, {
-        xtype: 'hidden',
-        name: 'sd_prodcode',
-        fieldLabel: '物料编号',
-        showDetail: true
+        xtype: 'condatefield',
+        name: 'sa_date',
+        fieldLabel: '日期',
+        columnWidth: 0.5
     }, {
         xtype: 'productDbfindTrigger',
         name: 'pr_detail',
         fieldLabel: '物料',
         showDetail: true
-    }, {
-        xtype: 'condatefield',
-        name: 'sa_date',
-        fieldLabel: '日期',
-        columnWidth: 0.5
     }, {
         xtype: 'combobox',
         name: 'sa_statuscode',
-        fieldLabel: '审核状态',
+        fieldLabel: '单据状态',
         queryMode: 'local',
         displayField: 'sa_status',
         valueField: 'sa_statuscode',
@@ -73,6 +68,25 @@ Ext.define('saas.view.sale.sale.QueryPanel', {
             ["PARTOUT", "部分出库"],
             ["CLOSE", "已关闭"]
         ]
+    }, {
+        xtype: 'employeeDbfindTrigger',
+        name: 'sa_seller',
+        fieldLabel: '业务员'
+    }, {
+        xtype: 'employeeDbfindTrigger',
+        name: 'creatorName',
+        fieldLabel: '录入人',
+        getCondition: function(value) {
+            if(!value) {
+                return '1=1';
+            }else {
+                return 'sale.creatorName like\'%' + value + '%\'';
+            }
+        }
+    }, {
+        xtype: 'employeeDbfindTrigger',
+        name: 'sa_auditman',
+        fieldLabel: '审核人'
     }],
     moreQueryFormItems: [],
     queryGridConfig: {

+ 33 - 0
frontend/saas-web/app/view/sale/sale/QueryPanelController.js

@@ -15,6 +15,39 @@ Ext.define('saas.view.sale.sale.QueryPanelController', {
                         }],
                     }) ;   
 
+                }
+            },'employeeDbfindTrigger[name=sa_seller]':{
+                beforerender:function(f){
+                    Ext.apply(f,{
+                        dbfinds:[{
+                            from:'em_code',to:'em_code'
+                        },{
+                            from:'em_name',to:'sa_seller'
+                        }],
+                    }) ;   
+
+                }
+            },'employeeDbfindTrigger[name=creatorName]':{
+                beforerender:function(f){
+                    Ext.apply(f,{
+                        dbfinds:[{
+                            from:'em_code',to:'em_code'
+                        },{
+                            from:'em_name',to:'creatorName'
+                        }],
+                    }) ;   
+
+                }
+            },'employeeDbfindTrigger[name=sa_auditman]':{
+                beforerender:function(f){
+                    Ext.apply(f,{
+                        dbfinds:[{
+                            from:'em_code',to:'em_code'
+                        },{
+                            from:'em_name',to:'sa_auditman',
+                        }],
+                    }) ;   
+
                 }
             }
         });

+ 2 - 1
frontend/saas-web/app/view/sale/saleIn/FormPanel.js

@@ -14,7 +14,8 @@ Ext.define('saas.view.sale.saleIn.FormPanel', {
     _codeField: 'pi_inoutno',
     _statusField: 'pi_status',
     _statusCodeField: 'pi_statuscode',
-    
+    _auditmanField: 'pi_auditman',
+    _auditdateField:'pi_auditdate',
     _relationColumn: 'pd_piid',
     _readUrl:'/api/sale/prodinout/read',
     _saveUrl:'/api/sale/prodinout/save',

+ 40 - 12
frontend/saas-web/app/view/sale/saleIn/QueryPanel.js

@@ -14,26 +14,21 @@ Ext.define('saas.view.sale.saleIn.QueryPanel', {
     },{
         xtype: 'textfield',
         name: 'pi_inoutno',
-        emptyText:'请输入单号或客户或关联单号',
+        emptyText:'请输入单号或客户',
         getCondition: function(value) {
-            return  ' (pi_inoutno like\'%' + value + '%\' or pi_custcode like \'%'+value+'%\' or pi_custname like \'%'+value+'%\' or pi_sacode like \'%'+value+'%\') ';
+            return  ' (pi_inoutno like\'%' + value + '%\' or pi_custcode like \'%'+value+'%\' or pi_custname like \'%'+value+'%\' ) ';
         }
-    }, {
-        xtype: 'hidden',
-        name: 'pd_prodcode',
-        fieldLabel: '物料编号',
-        showDetail: true
-    }, {
-        xtype: 'productDbfindTrigger',
-        name: 'pr_detail',
-        fieldLabel: '物料',
-        showDetail: true
     }, {
         xtype: 'condatefield',
         name: 'pi_date',
         fieldLabel: '日期',
         allowBlank: true,
         columnWidth: 0.5
+    }, {
+        xtype: 'productDbfindTrigger',
+        name: 'pr_detail',
+        fieldLabel: '物料',
+        showDetail: true
     }, {
         xtype: 'combobox',
         name: 'pi_statuscode',
@@ -58,6 +53,39 @@ Ext.define('saas.view.sale.saleIn.QueryPanel', {
                 return 'pi_statuscode=\'' + value + '\'';
             }
         }
+    }, {
+        xtype: 'multicombo',
+        name: 'pi_prstatus',
+        fieldLabel: '付款状态',
+        emptyText :'全部',
+        datas: [
+            ["PAYNONE", "未付款"],
+            ["PAYPART", "部分付款"],
+            ["PAYALL", "已付款"]
+        ]
+    }, {
+        xtype: 'warehouseDbfindTrigger',
+        name: 'pd_whname',
+        fieldLabel: '仓库'
+    }, {
+        xtype: 'textfield',
+        name: 'pi_iocode',
+        fieldLabel: '关联出货单号'
+    }, {
+        xtype: 'employeeDbfindTrigger',
+        name: 'creatorName',
+        fieldLabel: '录入人',
+        getCondition: function(value) {
+            if(!value) {
+                return '1=1';
+            }else {
+                return 'prodinout.creatorName like\'%' + value + '%\'';
+            }
+        }
+    }, {
+        xtype: 'employeeDbfindTrigger',
+        name: 'pi_auditman',
+        fieldLabel: '审核人'
     }],
     moreQueryFormItems: [],
     queryGridConfig: {

+ 33 - 0
frontend/saas-web/app/view/sale/saleIn/QueryPanelController.js

@@ -15,6 +15,39 @@ Ext.define('saas.view.sale.saleIn.QueryPanelController', {
                         }],
                     }) ;   
 
+                }
+            }, 'warehouseDbfindTrigger[name=pd_whname]':{
+                beforerender:function(f){
+                    Ext.apply(f,{
+                        dbfinds:[{
+                            from:'wh_code',to:'wh_code'
+                        },{
+                            from:'wh_description',to:'pd_whname',
+                        }],
+                    }) ;   
+
+                }
+            },'employeeDbfindTrigger[name=creatorName]':{
+                beforerender:function(f){
+                    Ext.apply(f,{
+                        dbfinds:[{
+                            from:'em_code',to:'em_code'
+                        },{
+                            from:'em_name',to:'creatorName'
+                        }],
+                    }) ;   
+
+                }
+            },'employeeDbfindTrigger[name=pi_auditman]':{
+                beforerender:function(f){
+                    Ext.apply(f,{
+                        dbfinds:[{
+                            from:'em_code',to:'em_code'
+                        },{
+                            from:'em_name',to:'pi_auditman',
+                        }],
+                    }) ;   
+
                 }
             }
         });

+ 2 - 1
frontend/saas-web/app/view/sale/saleOut/FormPanel.js

@@ -14,7 +14,8 @@ Ext.define('saas.view.sale.saleout.FormPanel', {
     _codeField: 'pi_inoutno',
     _statusField: 'pi_status',
     _statusCodeField: 'pi_statuscode',
-    
+    _auditmanField: 'pi_auditman',
+    _auditdateField:'pi_auditdate',
     _relationColumn: 'pd_piid',
     _readUrl:'/api/sale/prodinout/read',
     _saveUrl:'/api/sale/prodinout/save',

+ 41 - 12
frontend/saas-web/app/view/sale/saleOut/QueryPanel.js

@@ -15,26 +15,21 @@ Ext.define('saas.view.sale.saleout.QueryPanel', {
     },{
         xtype: 'textfield',
         name: 'pi_inoutno',
-        emptyText:'请输入单号或客户或关联单号',
+        emptyText:'请输入单号或客户',
         getCondition: function(value) {
-            return  ' (pi_inoutno like\'%' + value + '%\' or pi_custcode like \'%'+value+'%\' or pi_custname like \'%'+value+'%\' or pi_iocode like \'%'+value+'%\') ';
+            return  ' (pi_inoutno like\'%' + value + '%\' or pi_custcode like \'%'+value+'%\' or pi_custname like \'%'+value+'%\' ) ';
         }
-    }, {
-        xtype: 'hidden',
-        name: 'pd_prodcode',
-        fieldLabel: '物料编号',
-        showDetail: true
-    }, {
-        xtype: 'productDbfindTrigger',
-        name: 'pr_detail',
-        fieldLabel: '物料',
-        showDetail: true
     }, {
         xtype: 'condatefield',
         name: 'pi_date',
         fieldLabel: '日期',
         allowBlank: true,
         columnWidth: 0.5
+    }, {
+        xtype: 'productDbfindTrigger',
+        name: 'pr_detail',
+        fieldLabel: '物料',
+        showDetail: true
     }, {
         xtype: 'combobox',
         name: 'pi_statuscode',
@@ -59,6 +54,40 @@ Ext.define('saas.view.sale.saleout.QueryPanel', {
                 return 'pi_statuscode=\'' + value + '\'';
             }
         }
+    }, {
+        xtype: 'multicombo',
+        name: 'pi_prstatus',
+        fieldLabel: '付款状态',
+        emptyText :'全部',
+        datas: [
+            ["RECNONE", "未收款"],
+            ["RECPART", "部分收款"],
+            ["RECALL", "已收款"]
+        ]
+    }, {
+        xtype: 'warehouseDbfindTrigger',
+        name: 'pd_whname',
+        emptyText:'请输入物料编号或名称',
+        fieldLabel: '仓库'
+    }, {
+        xtype: 'textfield',
+        name: 'pi_sacode',
+        fieldLabel: '关联销售单号'
+    }, {
+        xtype: 'employeeDbfindTrigger',
+        name: 'creatorName',
+        fieldLabel: '录入人',
+        getCondition: function(value) {
+            if(!value) {
+                return '1=1';
+            }else {
+                return 'prodinout.creatorName like\'%' + value + '%\'';
+            }
+        }
+    }, {
+        xtype: 'employeeDbfindTrigger',
+        name: 'pi_auditman',
+        fieldLabel: '审核人'
     }],
     moreQueryFormItems: [],
     queryGridConfig: {

+ 33 - 0
frontend/saas-web/app/view/sale/saleOut/QueryPanelController.js

@@ -16,6 +16,39 @@ Ext.define('saas.view.sale.saleout.QueryPanelController', {
                         }],
                     }) ;   
 
+                }
+            }, 'warehouseDbfindTrigger[name=pd_whname]':{
+                beforerender:function(f){
+                    Ext.apply(f,{
+                        dbfinds:[{
+                            from:'wh_code',to:'wh_code'
+                        },{
+                            from:'wh_description',to:'pd_whname',
+                        }],
+                    }) ;   
+
+                }
+            },'employeeDbfindTrigger[name=creatorName]':{
+                beforerender:function(f){
+                    Ext.apply(f,{
+                        dbfinds:[{
+                            from:'em_code',to:'em_code'
+                        },{
+                            from:'em_name',to:'creatorName'
+                        }],
+                    }) ;   
+
+                }
+            },'employeeDbfindTrigger[name=pi_auditman]':{
+                beforerender:function(f){
+                    Ext.apply(f,{
+                        dbfinds:[{
+                            from:'em_code',to:'em_code'
+                        },{
+                            from:'em_name',to:'pi_auditman',
+                        }],
+                    }) ;   
+
                 }
             }
         });

+ 42 - 7
frontend/saas-web/app/view/stock/appropriationInOut/QueryPanel.js

@@ -16,13 +16,13 @@ Ext.define('saas.view.stock.appropriationInOut.QueryPanel', {
     },{
         xtype: 'textfield',
         name: 'pi_inoutno',
-        emptyText:'请输入单号或物料',
+        emptyText:'请输入单号',
         showDetail: true,
         getCondition: function(value) {
             if(value == ''|| value ==null) {
                 return '1=1';
             }else {
-                return  ' (pi_inoutno like\'%' + value + '%\' or pd_prodcode like \'%'+value+'%\' ) ';
+                return  ' (pi_inoutno like\'%' + value + '%\' ) ';
             }
         }
     }, {
@@ -31,14 +31,19 @@ Ext.define('saas.view.stock.appropriationInOut.QueryPanel', {
         fieldLabel: '日期',
         allowBlank: true,
         columnWidth: 0.5
+    }, {
+        xtype: 'productDbfindTrigger',
+        name: 'pr_detail',
+        fieldLabel: '物料',
+        emptyText:'请输入物料编号或名称',
+        showDetail: true
     }, {
         xtype: 'combobox',
         name: 'pi_statuscode',
-        fieldLabel: '状态',
+        fieldLabel: '单据状态',
         allowBlank: true,
         editable:false,
         columnWidth: 0.25,
-        showDetail: true,
         queryMode: 'local',
         emptyText :'全部',
         editable:false,
@@ -61,17 +66,47 @@ Ext.define('saas.view.stock.appropriationInOut.QueryPanel', {
         }
     },{
         xtype: 'warehouseDbfindTrigger',
-        name: 'pd_whcode',
-        fieldLabel: '仓',
+        name: 'pd_whname',
+        fieldLabel: '拨出仓',
         emptyText :'请输入仓库名或仓库编号',
         showDetail: true,
         getCondition: function(value) {
             if(value == '' || value == null) {
                 return '1=1';
             }else {
-                return  ' (pd_whcode like\'%' + value + '%\' or pd_whname like \'%'+value+'%\' or pd_inwhcode like\'%' + value + '%\' or pd_inwhname like \'%'+value+'%\') ';                
+                return  ' (pd_whcode like\'%' + value + '%\' or pd_whname like \'%'+value+'%\' ) ';                
             }
         }
+    },{
+        xtype: 'warehouseDbfindTrigger',
+        name: 'pd_inwhname',
+        fieldLabel: '拨入仓',
+        emptyText :'请输入仓库名或仓库编号',
+        showDetail: true,
+        getCondition: function(value) {
+            if(value == '' || value == null) {
+                return '1=1';
+            }else {
+                return  ' (pd_inwhcode like\'%' + value + '%\' or pd_inwhname like \'%'+value+'%\') ';                
+            }
+        }
+    }, {
+        xtype: 'employeeDbfindTrigger',
+        name: 'creatorName',
+        fieldLabel: '录入人',
+        emptyText:'请输入人员编号或名称',
+        getCondition: function(value) {
+            if(!value) {
+                return '1=1';
+            }else {
+                return 'prodinout.creatorName like\'%' + value + '%\'';
+            }
+        }
+    }, {
+        xtype: 'employeeDbfindTrigger',
+        name: 'pi_auditman',
+        fieldLabel: '审核人',
+        emptyText:'请输入人员编号或名称'
     }],
     moreQueryFormItems: [],
     queryGridConfig: {

+ 49 - 3
frontend/saas-web/app/view/stock/appropriationInOut/QueryPanelController.js

@@ -6,13 +6,59 @@ Ext.define('saas.view.stock.appropriationInOut.QueryPanelController', {
         var me = this;
         this.control({
              //放大镜赋值关系 以及 tpl模板
-            'warehouseDbfindTrigger[name=pd_whcode]':{
+             'dbfindtrigger[name=pr_detail]':{
                 beforerender:function(f){
                     Ext.apply(f,{
                         dbfinds:[{
-                            from:'wh_code',to:'pd_whcode'                          
+                            from:'pr_code',to:'pd_prodcode'
                         },{
-                            from:'wh_description',to:'pd_whname'
+                            from:'pr_detail',to:'pr_detail'
+                        }]
+                    }) ;   
+
+                }
+            },
+            'warehouseDbfindTrigger[name=pd_whname]':{
+                beforerender:function(f){
+                    Ext.apply(f,{
+                        dbfinds:[{
+                            from:'wh_code',to:'wh_code'
+                        },{
+                            from:'wh_description',to:'pd_whname'                          
+                        }]
+                    }) ;   
+
+                }
+            },
+            'warehouseDbfindTrigger[name=pd_inwhname]':{
+                beforerender:function(f){
+                    Ext.apply(f,{
+                        dbfinds:[{
+                            from:'wh_code',to:'wh_code'
+                        },{
+                            from:'wh_description',to:'pd_inwhname'                          
+                        }]
+                    }) ;   
+
+                }
+            },'employeeDbfindTrigger[name=creatorName]':{
+                beforerender:function(f){
+                    Ext.apply(f,{
+                        dbfinds:[{
+                            from:'em_code',to:'em_code'
+                        },{
+                            from:'em_name',to:'creatorName'
+                        }],
+                    }) ;   
+
+                }
+            },'employeeDbfindTrigger[name=pi_auditman]':{
+                beforerender:function(f){
+                    Ext.apply(f,{
+                        dbfinds:[{
+                            from:'em_code',to:'em_code'
+                        },{
+                            from:'em_name',to:'pi_auditman',
                         }],
                     }) ;   
 

+ 106 - 36
frontend/saas-web/app/view/stock/inventory/EditDataList.js

@@ -253,16 +253,15 @@ Ext.define('saas.view.stock.inventory.EditDataList', {
         var me = this;
         if(me.columns){
             var fields = me.columns.map(column => column.dataIndex);
-            me.store = Ext.create('Ext.data.Store',{
-                model:'saas.model.document.stocking',
-                fields:fields,
+            me.store = Ext.create('Ext.data.Store', {
+                fields: fields,
                 autoLoad: true,
-                pageSize: 11,
+                pageSize: 15,
                 data: [],
                 proxy: {
-                    timeout:8000,
                     type: 'ajax',
                     url: me.dataUrl,
+                    timeout: 8000,
                     actionMethods: {
                         read: 'GET'
                     },
@@ -270,6 +269,21 @@ Ext.define('saas.view.stock.inventory.EditDataList', {
                         type: 'json',
                         rootProperty: 'data.list',
                         totalProperty: 'data.total',
+                    },
+                    listeners: {
+                        exception: function(proxy, response, operation, eOpts) {
+                            if(operation.success) {
+                                if(response.timedout) {
+                                    saas.util.BaseUtil.showErrorToast('请求超时');
+                                }
+                            }else {
+                                if(response.timedout) {
+                                    saas.util.BaseUtil.showErrorToast('请求超时');
+                                }else{
+                                    saas.util.BaseUtil.showErrorToast('查询失败:' + response.responseJson.message);
+                                }
+                            }
+                        }
                     }
                 },
                 listeners: {
@@ -278,11 +292,6 @@ Ext.define('saas.view.stock.inventory.EditDataList', {
                         if (Ext.isEmpty(condition)) {
                             condition = "";
                         }
-                        // Ext.apply(store.proxy.extraParams, {
-                        //     number: op._page,
-                        //     size: store.pageSize,
-                        //     condition: JSON.stringify(condition)
-                        // });
                         Ext.apply(store.proxy.extraParams, {
                             number: store.exportNumber?store.exportNumber:op._page,
                             size: store.exportPageSize?store.exportPageSize:store.pageSize,
@@ -305,41 +314,100 @@ Ext.define('saas.view.stock.inventory.EditDataList', {
         me.callParent(arguments);
     },
 
+    listeners: {
+        boxready: function(grid, width, height, eOpts) {
+            var store = grid.getStore(),
+            gridBodyBox = grid.body.dom.getBoundingClientRect(),
+            gridBodyBoxHeight = gridBodyBox.height;
+
+            var pageSize = Math.floor(gridBodyBoxHeight / 32);
+
+            store.setPageSize(pageSize);
+        },
+    },
+
      /**
      * 获得过滤条件
      */
-    getCondition: function(items) {
+    getConditions: function(moreQuery) {
         var me = this,
+        formItems = me.queryFormItems,
+        moreQueryFormItems = me.moreQueryFormItems,
+        viewModel = me.getViewModel(),
+        viewModelData = viewModel.getData(),
+        bindItems = viewModelData['form'],
+        moreItems = viewModelData['moreForm'],
+        condition,
         conditions = [];
-        for(var i = 0; i < items.length; i++) {
-            var item = items[i];
-            var field = item.name,
-            func = item.getCondition,
-            value = item.value,
-            condition;
-            if(typeof func == 'function') {
-                condition = {
-                    type: 'condition',
-                    value: func(value)
-                }
-            }else {
-                var xtype = item.xtype || 'textfield',
-                type = item.fieldType || me.getDefaultFieldType(xtype),
-                operation = item.operation || me.getDefaultFieldOperation(xtype),
-                conditionValue = me.getConditionValue(xtype, value);
+
+        if(moreQuery) {
+            for(k in moreItems) {
+                var item = Ext.Array.findBy(moreQueryFormItems, function(i) {
+                    return i.name == k;
+                });
+                var field = item.name,
+                func = item.getCondition,
+                value = moreItems[k],
+                condition;
     
-                if(!conditionValue) {
-                    continue;
+                if(typeof func == 'function') {
+                    condition = {
+                        type: 'condition',
+                        value: func(value)
+                    }
+                }else {
+                    var xtype = item.xtype || 'textfield',
+                    type = item.fieldType || me.getDefaultFieldType(xtype),
+                    operation = item.operation || me.getDefaultFieldOperation(xtype),
+                    conditionValue = me.getConditionValue(xtype, value);
+        
+                    if(!conditionValue) {
+                        continue;
+                    }
+                    condition = {
+                        type: type,
+                        field: field,
+                        operation: operation,
+                        value: conditionValue
+                    }
                 }
-                condition = {
-                    type: type,
-                    field: field,
-                    operation: operation,
-                    value: conditionValue
+                conditions.push(condition);
+            }
+        }else {
+            for(k in bindItems) {
+                var item = Ext.Array.findBy(formItems, function(i) {
+                    return i.name == k;
+                });
+                var field = item.name,
+                func = item.getCondition,
+                value = bindItems[k],
+                condition;
+    
+                if(typeof func == 'function') {
+                    condition = {
+                        type: 'condition',
+                        value: func(value)
+                    }
+                }else {
+                    var xtype = item.xtype || 'textfield',
+                    type = item.fieldType || me.getDefaultFieldType(xtype),
+                    operation = item.operation || me.getDefaultFieldOperation(xtype),
+                    conditionValue = me.getConditionValue(xtype, value);
+        
+                    if(!conditionValue) {
+                        continue;
+                    }
+                    condition = {
+                        type: type,
+                        field: field,
+                        operation: operation,
+                        value: conditionValue
+                    }
                 }
+                conditions.push(condition);
             }
-            conditions.push(condition);
-        };
+        }
+
         return conditions;
     },
 
@@ -358,6 +426,7 @@ Ext.define('saas.view.stock.inventory.EditDataList', {
 
         return type;
     },
+
     getDefaultFieldOperation: function(xtype) {
         var operation;
 
@@ -375,6 +444,7 @@ Ext.define('saas.view.stock.inventory.EditDataList', {
 
         return operation;
     },
+
     /**
      * 处理部分字段值
      */

+ 25 - 8
frontend/saas-web/app/view/stock/make/QueryPanel.js

@@ -18,9 +18,15 @@ Ext.define('saas.view.stock.make.QueryPanel', {
     },{
         xtype: 'textfield',
         name: 'ma_code',
-        emptyText :'请输入单据编号',
+        emptyText :'请输入单号',
+    }, {
+        xtype: 'condatefield',
+        name: 'createTime',
+        fieldLabel: '日期',
+        columnWidth: 0.5,
+        operation: 'between'
     },{
-        xtype: 'textfield',
+        xtype: 'productDbfindTrigger',
         name: 'ma_prodcode',
         fieldLabel: '产品',
         emptyText :'请输入产品名称或编号',
@@ -31,12 +37,6 @@ Ext.define('saas.view.stock.make.QueryPanel', {
                 return  ' (ma_prodcode like\'%' + value + '%\' or ma_proddetail like \'%'+value+'%\') ';
             }
         }
-    }, {
-        xtype: 'condatefield',
-        name: 'createTime',
-        fieldLabel: '日期',
-        columnWidth: 0.5,
-        operation: 'between'
     }, {
         xtype: 'combobox',
         name: 'ma_type',
@@ -87,6 +87,23 @@ Ext.define('saas.view.stock.make.QueryPanel', {
                 return 'ma_statuscode=\'' + value + '\'';
             }
         }
+    }, {
+        xtype: 'employeeDbfindTrigger',
+        name: 'creatorName',
+        fieldLabel: '录入人',
+        emptyText:'请输入人员编号或名称',
+        getCondition: function(value) {
+            if(!value) {
+                return '1=1';
+            }else {
+                return 'make.creatorName like\'%' + value + '%\'';
+            }
+        }
+    }, {
+        xtype: 'employeeDbfindTrigger',
+        name: 'ma_auditman',
+        fieldLabel: '审核人',
+        emptyText:'请输入人员编号或名称'
     }],
     moreQueryFormItems: [],
     queryGridConfig: {

+ 35 - 1
frontend/saas-web/app/view/stock/make/QueryPanelController.js

@@ -5,7 +5,41 @@ Ext.define('saas.view.stock.make.QueryPanelController', {
     init: function (form) {
         var me = this;
         this.control({
-        });
+            //放大镜赋值关系 以及 tpl模板
+            'dbfindtrigger[name=ma_prodcode]':{
+                beforerender:function(f){
+                    Ext.apply(f,{
+                        dbfinds:[{
+                            from:'pr_code',to:'ma_prodcode',
+                        },{
+                            from:'pr_detail',to:'pr_detail'
+                        }],
+                    }) ;   
+
+                }
+            },'employeeDbfindTrigger[name=creatorName]':{
+                beforerender:function(f){
+                    Ext.apply(f,{
+                        dbfinds:[{
+                            from:'em_code',to:'em_code'
+                        },{
+                            from:'em_name',to:'creatorName'
+                        }],
+                    }) ;   
 
+                }
+            },'employeeDbfindTrigger[name=ma_auditman]':{
+                beforerender:function(f){
+                    Ext.apply(f,{
+                        dbfinds:[{
+                            from:'em_code',to:'em_code'
+                        },{
+                            from:'em_name',to:'ma_auditman'
+                        }],
+                    }) ;   
+
+                }
+            }
+        });
     }
 });

+ 0 - 7
frontend/saas-web/app/view/stock/otherIn/FormPanel.js

@@ -30,14 +30,12 @@ Ext.define('saas.view.stock.otherIn.FormPanel', {
     defaultItems: [{
         xtype: 'hidden',
         name: 'id',
-        bind: '{id}',
         fieldLabel: 'id',
         allowBlank: true,
         columnWidth: 0
     },{
         xtype : "textfield", 
         name : "pi_class", 
-        bind : "{pi_class}", 
         fieldLabel : "单据类型", 
         readOnly:true,
         allowBlank : true, 
@@ -45,19 +43,16 @@ Ext.define('saas.view.stock.otherIn.FormPanel', {
     },{
         xtype : "hidden", 
         name : "pi_custid", 
-        bind : "{pi_custid}", 
         fieldLabel : "客户ID", 
         allowBlank : true, 
         columnWidth : 0.0
     },{
         xtype: 'hidden',
         name: 'pi_custcode',
-        bind: '{pi_custcode}',
         fieldLabel: '客户编号'
     }, {
         xtype: 'hidden',
         name: 'pi_custname',
-        bind: '{pi_custname}',
         fieldLabel: '客户名称'
     },{
         xtype : "hidden", 
@@ -77,7 +72,6 @@ Ext.define('saas.view.stock.otherIn.FormPanel', {
     },{
         xtype : "datefield", 
         name : "pi_date", 
-        bind : "{pi_date}", 
         fieldLabel : "单据日期", 
         allowBlank : false, 
         columnWidth : 0.25,
@@ -85,7 +79,6 @@ Ext.define('saas.view.stock.otherIn.FormPanel', {
     },{
         xtype : "textfield", 
         name : "pi_total", 
-        bind : "{pi_total}", 
         fieldLabel : "总额", 
         allowBlank : true,
         readOnly: true,

+ 41 - 13
frontend/saas-web/app/view/stock/otherIn/QueryPanel.js

@@ -16,20 +16,20 @@ Ext.define('saas.view.stock.otherIn.QueryPanel', {
     },{
         xtype: 'textfield',
         name: 'pi_inoutno',
-        emptyText:'请输入单号或供应商',
+        emptyText:'请输入单号',
         getCondition: function(value) {
             if(value == 'ALL') {
                 return '1=1';
             }else {
-                return  ' (pi_inoutno like\'%' + value + '%\' or pi_vendcode like \'%'+value+'%\' or pi_vendname like \'%'+value+'%\') ';
+                return  ' (pi_inoutno like\'%' + value + '%\') ';
             }
         }
     }, {
-        xtype: 'textfield',
-        name: 'pd_prodcode',
-        fieldLabel: '物料编号',
-        hidden:true,
-        showDetail: true
+        xtype: 'condatefield',
+        name: 'pi_date',
+        fieldLabel: '日期',
+        columnWidth: 0.5,
+        operation: 'between'
     }, {
         xtype: 'productDbfindTrigger',
         name: 'pr_detail',
@@ -37,15 +37,20 @@ Ext.define('saas.view.stock.otherIn.QueryPanel', {
         emptyText:'输入物料编号或名称',
         showDetail: true
     }, {
-        xtype: 'condatefield',
-        name: 'pi_date',
-        fieldLabel: '单据日期',
-        columnWidth: 0.5,
-        operation: 'between'
+        xtype: 'textfield',
+        name: 'pd_prodcode',
+        fieldLabel: '物料编号',
+        hidden:true,
+        showDetail: true
+    }, {
+        xtype: 'vendorDbfindTrigger',
+        name: 'pi_vendcode',
+        fieldLabel: '供应商',
+        emptyText:'输入供应商编号或名称'
     }, {
         xtype: 'combobox',
         name: 'pi_statuscode',
-        fieldLabel: '状态',
+        fieldLabel: '单据状态',
         allowBlank: true,
         emptyText :'全部',
         editable:false,
@@ -67,6 +72,29 @@ Ext.define('saas.view.stock.otherIn.QueryPanel', {
                 return 'pi_statuscode=\'' + value + '\'';
             }
         }
+    }, {
+        xtype: 'warehouseDbfindTrigger',
+        name: 'pd_whname',
+        fieldLabel: '仓库',
+        showDetail: true,
+        emptyText:'请输入仓库编号或名称'
+    }, {
+        xtype: 'employeeDbfindTrigger',
+        name: 'creatorName',
+        fieldLabel: '录入人',
+        emptyText:'请输入人员编号或名称',
+        getCondition: function(value) {
+            if(!value) {
+                return '1=1';
+            }else {
+                return 'prodinout.creatorName like \'%' + value + '%\'';
+            }
+        }
+    }, {
+        xtype: 'employeeDbfindTrigger',
+        name: 'pi_auditman',
+        fieldLabel: '审核人',
+        emptyText:'请输入人员编号或名称'
     }],
     queryGridConfig: {
         idField:'id',

+ 45 - 1
frontend/saas-web/app/view/stock/otherIn/QueryPanelController.js

@@ -6,7 +6,7 @@ Ext.define('saas.view.stock.otherIn.QueryPanelController', {
         var me = this;
         this.control({
             // 物料编号
-            'dbfindtrigger[name=pr_detail]':{
+            'productDbfindTrigger[name=pr_detail]':{
                 beforerender:function(f){
                     Ext.apply(f,{
                         dbfinds:[{
@@ -16,6 +16,50 @@ Ext.define('saas.view.stock.otherIn.QueryPanelController', {
                         }],
                     }) ;   
 
+                }
+            },'vendorDbfindTrigger[name=pi_vendcode]':{
+                beforerender:function(f){
+                    Ext.apply(f,{
+                        dbfinds:[{
+                            from:'ve_code',to:'pi_vendcode'
+                        },{
+                            from:'ve_name',to:'ve_name'
+                        }]
+                    }) ;   
+
+                }
+            }, 'warehouseDbfindTrigger[name=pd_whname]':{
+                beforerender:function(f){
+                    Ext.apply(f,{
+                        dbfinds:[{
+                            from:'wh_code',to:'wh_code'
+                        },{
+                            from:'wh_description',to:'pd_whname'
+                        }],
+                    }) ;   
+
+                }
+            },'employeeDbfindTrigger[name=creatorName]':{
+                beforerender:function(f){
+                    Ext.apply(f,{
+                        dbfinds:[{
+                            from:'em_code',to:'em_code'
+                        },{
+                            from:'em_name',to:'creatorName'
+                        }],
+                    }) ;   
+
+                }
+            },'employeeDbfindTrigger[name=pi_auditman]':{
+                beforerender:function(f){
+                    Ext.apply(f,{
+                        dbfinds:[{
+                            from:'em_code',to:'em_code'
+                        },{
+                            from:'em_name',to:'pi_auditman',
+                        }],
+                    }) ;   
+
                 }
             }
         });

+ 0 - 7
frontend/saas-web/app/view/stock/otherOut/FormPanel.js

@@ -29,14 +29,12 @@ Ext.define('saas.view.stock.otherOut.FormPanel', {
     defaultItems: [{
         xtype: 'hidden',
         name: 'id',
-        bind: '{id}',
         fieldLabel: 'id',
         allowBlank: true,
         columnWidth: 0
     }, {
         xtype: "textfield",
         name: "pi_class",
-        bind: "{pi_class}",
         fieldLabel: "单据类型",
         readOnly: true,
         allowBlank: true,
@@ -44,25 +42,21 @@ Ext.define('saas.view.stock.otherOut.FormPanel', {
     }, {
         xtype: "hidden",
         name: "pi_custid",
-        bind: "{pi_custid}",
         fieldLabel: "客户ID",
         allowBlank: true,
         columnWidth: 0.0
     }, {
         xtype: 'hidden',
         name: 'pi_custcode',
-        bind: '{pi_custcode}',
         fieldLabel: '客户编号'
     }, {
         xtype: 'customerDbfindTrigger',
         name: 'pi_custname',
-        bind: '{pi_custname}',
         allowBlank : true,
         fieldLabel: '客户名称'
     }, {
         xtype: "datefield",
         name: "pi_date",
-        bind: "{pi_date}",
         fieldLabel: "单据日期",
         allowBlank: false,
         columnWidth: 0.25,
@@ -70,7 +64,6 @@ Ext.define('saas.view.stock.otherOut.FormPanel', {
     }, {
         xtype: "textfield",
         name: "pi_total",
-        bind: "{pi_total}",
         fieldLabel: "总额",
         allowBlank: true,
         readOnly: true,

+ 35 - 13
frontend/saas-web/app/view/stock/otherOut/QueryPanel.js

@@ -16,20 +16,20 @@ Ext.define('saas.view.stock.otherOut.QueryPanel', {
     }, {
         xtype: 'textfield',
         name: 'pi_inoutno',
-        emptyText:'请输入单号或客户',
+        emptyText:'请输入单号',
         getCondition: function(value) {
             if(value == 'ALL') {
                 return '1=1';
             }else {
-                return  ' (pi_inoutno like\'%' + value + '%\' or pi_custcode like \'%'+value+'%\' or pi_custname like \'%'+value+'%\') ';
+                return  ' (pi_inoutno like\'%' + value + '%\') ';
             }
         }
     }, {
-        xtype: 'textfield',
-        name: 'pd_prodcode',
-        fieldLabel: '物料编号',
-        hidden:true,
-        showDetail: true
+        xtype: 'condatefield',
+        name: 'pi_date',
+        fieldLabel: '日期',
+        columnWidth: 0.5,
+        operation: 'between'
     }, {
         xtype: 'productDbfindTrigger',
         name: 'pr_detail',
@@ -37,15 +37,14 @@ Ext.define('saas.view.stock.otherOut.QueryPanel', {
         emptyText:'输入物料编号或名称',
         showDetail: true
     }, {
-        xtype: 'condatefield',
-        name: 'pi_date',
-        fieldLabel: '单据日期',
-        columnWidth: 0.5,
-        operation: 'between'
+        xtype: 'customerDbfindTrigger',
+        name: 'pi_custname',
+        fieldLabel: '客户',
+        emptyText:'输入客户编号或名称'
     }, {
         xtype: 'combobox',
         name: 'pi_statuscode',
-        fieldLabel: '状态',
+        fieldLabel: '单据状态',
         allowBlank: true,
         emptyText :'全部',
         editable:false,
@@ -67,6 +66,29 @@ Ext.define('saas.view.stock.otherOut.QueryPanel', {
                 return 'pi_statuscode=\'' + value + '\'';
             }
         }
+    }, {
+        xtype: 'warehouseDbfindTrigger',
+        name: 'pd_whname',
+        fieldLabel: '仓库',
+        emptyText:'请输入仓库编号或名称',
+        showDetail: true
+    }, {
+        xtype: 'employeeDbfindTrigger',
+        name: 'creatorName',
+        fieldLabel: '录入人',
+        emptyText:'请输入人员编号或名称',
+        getCondition: function(value) {
+            if(!value) {
+                return '1=1';
+            }else {
+                return 'prodinout.creatorName like\'%' + value + '%\'';
+            }
+        }
+    }, {
+        xtype: 'employeeDbfindTrigger',
+        name: 'pi_auditman',
+        fieldLabel: '审核人',
+        emptyText:'请输入人员编号或名称'
     }],
     queryGridConfig: {
         idField:'id',

+ 45 - 1
frontend/saas-web/app/view/stock/otherOut/QueryPanelController.js

@@ -6,7 +6,7 @@ Ext.define('saas.view.stock.otherOut.QueryPanelController', {
         var me = this;
         this.control({
             // 物料编号
-            'dbfindtrigger[name=pr_detail]':{
+            'productDbfindTrigger[name=pr_detail]':{
                 beforerender:function(f){
                     Ext.apply(f,{
                         dbfinds:[{
@@ -16,6 +16,50 @@ Ext.define('saas.view.stock.otherOut.QueryPanelController', {
                         }],
                     }) ;   
 
+                }
+            },'customerDbfindTrigger[name=pi_custname]':{
+                beforerender:function(f){
+                    Ext.apply(f,{
+                        dbfinds:[{
+                            from:'cu_code',to:'cu_code'
+                        },{
+                            from:'cu_name',to:'pi_custname'
+                        }],
+                    }) ;   
+
+                }
+            }, 'warehouseDbfindTrigger[name=pd_whname]':{
+                beforerender:function(f){
+                    Ext.apply(f,{
+                        dbfinds:[{
+                            from:'wh_code',to:'wh_code'
+                        },{
+                            from:'wh_description',to:'pd_whname',
+                        }],
+                    }) ;   
+
+                }
+            },'employeeDbfindTrigger[name=creatorName]':{
+                beforerender:function(f){
+                    Ext.apply(f,{
+                        dbfinds:[{
+                            from:'em_code',to:'em_code'
+                        },{
+                            from:'em_name',to:'creatorName'
+                        }],
+                    }) ;   
+
+                }
+            },'employeeDbfindTrigger[name=pi_auditman]':{
+                beforerender:function(f){
+                    Ext.apply(f,{
+                        dbfinds:[{
+                            from:'em_code',to:'em_code'
+                        },{
+                            from:'em_name',to:'pi_auditman',
+                        }],
+                    }) ;   
+
                 }
             }
         });

+ 107 - 0
frontend/saas-web/app/view/stock/report/DataList.js

@@ -0,0 +1,107 @@
+Ext.define('saas.view.stock.report.DataList', {
+    extend: 'saas.view.core.report.ReportPanel',
+    xtype: 'stock-report-datalist',
+
+    controller: 'stock-report-datalist',
+    viewModel: 'stock-report-datalist',
+
+    viewName: 'stock-report-datalist',
+
+    groupField: null,
+    listUrl: '/api/document/product/ReserveCost',
+    defaultCondition: null,
+    reportTitle: '物料库存数量金额表',
+    QueryWidth:0.2,
+
+    searchItems: [{
+        name: 'pr_code',
+        xtype: 'textfield',
+        emptyText : '物料编号',
+        columnWidth: 0.2
+    },{
+        name: 'pr_detail',
+        xtype: 'textfield',
+        emptyText : '物料名称',
+        columnWidth: 0.2
+    },{
+        name: 'wh_code',
+        xtype: 'textfield',
+        emptyText : '仓库编号',
+        columnWidth: 0.2
+    },{
+        name: 'wh_description',
+        xtype: 'textfield',
+        emptyText : '仓库名称',
+        columnWidth: 0.2
+    }],
+
+    reportColumns : [{
+        text : "物料编号", 
+        width : 150, 
+        dataIndex : "rc_prodCode", 
+        xtype : "", 
+    },{
+        text : "物料名称", 
+        width : 200.0, 
+        dataIndex : "rc_prodDetail", 
+    }, 
+    {
+        text : "物料规格", 
+        dataIndex : "rc_prodSpec", 
+        width : 150.0, 
+    }, 
+    {
+        text : "单位", 
+        dataIndex : "rc_prodUnit", 
+        width : 80.0, 
+    }, 
+    {
+        text : "仓库编号", 
+        dataIndex : "rc_whCode", 
+        width : 150, 
+    }, 
+    {
+        text : "仓库名称", 
+        dataIndex : "rc_whName", 
+        width : 200.0, 
+    }, 
+    {
+        text : "数量",
+        xtype: 'numbercolumn',
+        dataIndex : "rc_number", 
+        width : 110.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);
+        }
+    }, 
+    {
+        text : "单价",
+        xtype: 'numbercolumn',
+        align: 'end',
+        dataIndex : "rc_price", 
+        width : 110.0, 
+        renderer : function(v) {
+            var arr = (v + '.').split('.');
+            var xr = (new Array(arr[1].length>8?8:arr[1].length)).fill('0');
+            var format = '0.' + xr.join();
+            return Ext.util.Format.number(v, format);
+        }
+    }, 
+    {
+        text : "金额", 
+        xtype: 'numbercolumn',
+        dataIndex : "rc_amount", 
+        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.' + xr.join();
+            return Ext.util.Format.number(v, format);
+        },
+    }],
+})
+
+

+ 10 - 0
frontend/saas-web/app/view/stock/report/DataListController.js

@@ -0,0 +1,10 @@
+Ext.define('saas.view.stock.report.DataListController', {
+    extend: 'saas.view.core.report.ReportPanelController',
+    alias: 'controller.stock-report-datalist',
+
+    init: function (form) {
+        var me = this;
+        this.control({
+        });
+    }
+});

+ 4 - 0
frontend/saas-web/app/view/stock/report/DataListlModel.js

@@ -0,0 +1,4 @@
+Ext.define('saas.view.stock.report.DataListModel', {
+    extend: 'saas.view.core.report.ReportPanelModel',
+    alias: 'viewmodel.stock-report-datalist'
+});

+ 1 - 1
frontend/saas-web/app/view/stock/report/Prodiodetail.js

@@ -95,7 +95,7 @@ Ext.define('saas.view.stock.report.Prodiodetail', {
         width: 150
     }, {
         text: '单位',
-        dataIndex: 'pd_unit',
+        dataIndex: 'pr_unit',
         width: 80
     }, {
         text: '入库数量',

+ 0 - 312
frontend/saas-web/app/view/stock/stockamount/DataList.js

@@ -1,312 +0,0 @@
-/**
- * Created by zhouy on 2018/10/18.
- */
-Ext.define('saas.view.stock.stockamount.DataList', {
-    extend: 'Ext.grid.Panel',
-    xtype: 'stock-stockamount-datalist',
-    controller: 'stock-stockamount-datalist',
-    viewModel: 'stock-stockamount-datalist',
-    autoScroll: true,
-    frame:true,
-    layout:'fit',
-    //工具类
-    FormUtil: Ext.create('saas.util.FormUtil'),
-    BaseUtil: Ext.create('saas.util.BaseUtil'),
-    dataUrl:'/api/document/product/ReserveCost',                 
-
-    tbar: [{
-        width: 150,
-        name: 'pr_code',
-        xtype: 'textfield',
-        emptyText : '物料编号'
-    },{
-        width: 200,
-        name: 'pr_detail',
-        xtype: 'textfield',
-        emptyText : '物料名称'
-    },{
-        width: 150,
-        name: 'wh_code',
-        xtype: 'textfield',
-        emptyText : '仓库编号'
-    },{
-        width: 200,
-        name: 'wh_description',
-        xtype: 'textfield',
-        emptyText : '仓库名称'
-    },{
-        cls:'x-formpanel-btn-blue',
-        xtype:'button',
-        text:'查询',
-        listeners: {
-            click:function(b){
-                var grid = b.ownerCt.ownerCt;
-                var tbar = b.ownerCt;
-                grid.condition = '';
-                var items = [];
-                var fields = tbar.items.items.map(f => f.name);
-                Ext.each(fields, function(f, index){
-                    var field = tbar.down('[name='+f+']');
-                    if(field){
-                        items.push(field);
-                    }
-                });
-                grid.condition = grid.getCondition(items);
-                grid.store.loadPage(1);
-            }
-        }
-    },'->'],
-
-    columns : [{
-        text : "物料编号", 
-        width : 150, 
-        dataIndex : "rc_prodCode", 
-        xtype : "", 
-    },{
-        text : "物料名称", 
-        width : 200.0, 
-        dataIndex : "rc_prodDetail", 
-    }, 
-    {
-        text : "物料规格", 
-        dataIndex : "rc_prodSpec", 
-        width : 150.0, 
-    }, 
-    {
-        text : "单位", 
-        dataIndex : "rc_prodUnit", 
-        width : 80.0, 
-    }, 
-    {
-        text : "仓库编号", 
-        dataIndex : "rc_whCode", 
-        width : 150, 
-    }, 
-    {
-        text : "仓库名称", 
-        dataIndex : "rc_whName", 
-        width : 200.0, 
-    }, 
-    {
-        text : "数量",
-        xtype: 'numbercolumn',
-        dataIndex : "rc_number", 
-        width : 110.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);
-        }
-    }, 
-    {
-        text : "单价",
-        xtype: 'numbercolumn',
-        align: 'end',
-        dataIndex : "rc_price", 
-        width : 110.0, 
-        renderer : function(v) {
-            var arr = (v + '.').split('.');
-            var xr = (new Array(arr[1].length>8?8:arr[1].length)).fill('0');
-            var format = '0.' + xr.join();
-            return Ext.util.Format.number(v, format);
-        }
-    }, 
-    {
-        text : "金额", 
-        xtype: 'numbercolumn',
-        dataIndex : "rc_amount", 
-        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.' + xr.join();
-            return Ext.util.Format.number(v, format);
-        },
-    }],
-
-    dbSearchFields: [],
-    condition:'',
-
-    initComponent: function() {
-        var me = this;
-        if(me.columns){
-            var fields = me.columns.map(column => column.dataIndex);
-            me.store = Ext.create('Ext.data.Store',{
-                fields:fields,
-                autoLoad: true,
-                pageSize: 11,
-                data: [],
-                proxy: {
-                    timeout:8000,
-                    type: 'ajax',
-                    url: me.dataUrl,
-                    actionMethods: {
-                        read: 'GET'
-                    },
-                    reader: {
-                        type: 'json',
-                        rootProperty: 'data.list',
-                        totalProperty: 'data.total',
-                    }
-                },
-                listeners: {
-                    beforeload: function (store, op) {
-                        var condition = me.condition;
-                        if (Ext.isEmpty(condition)) {
-                            condition = "";
-                        }
-                        Ext.apply(store.proxy.extraParams, {
-                            number: op._page,
-                            size: store.pageSize,
-                            condition: JSON.stringify(condition)
-                        });
-                    }
-                }
-            });
-
-            Ext.apply(me, {
-                dockedItems:[{
-                    xtype: 'pagingtoolbar',
-                    dock: 'bottom',
-                    displayInfo: true,
-                    store: me.store
-                }]
-            });
-        }
-        me.callParent(arguments);
-    },
-
-    getGridSelected:function(type){
-        var isErrorSelect = false;
-        var checkField = this.statusCodeField;
-        var me = this,
-        items = me.selModel.getSelection(),
-        data = new Array() ;
-        Ext.each(items, function(item, index){
-            if(!Ext.isEmpty(item.data[me.idField])){
-                var o = new Object();
-                if(me.idField){
-                    o['id'] = item.data[me.idField];
-                }
-                if(me.codeField){
-                    o['code'] = item.data[me.codeField];
-                }
-                if(type&&type==item.data[checkField]){
-                    isErrorSelect = true
-                }
-                data.push(o);
-            }
-        });
-        if(isErrorSelect){
-            return false;
-        }
-		return data;
-    },
-
-    /**
-     * 获得过滤条件
-     */
-    getCondition: function(items) {
-        var me = this,
-        conditions = [];
-
-        for(var i = 0; i < items.length; i++) {
-            var item = items[i];
-            var field = item.name,
-            func = item.getCondition,
-            value = item.value,
-            condition;
-
-            if(typeof func == 'function') {
-                condition = {
-                    type: 'condition',
-                    value: func(value)
-                }
-            }else {
-                var xtype = item.xtype || 'textfield',
-                type = item.fieldType || me.getDefaultFieldType(xtype),
-                operation = item.operation || me.getDefaultFieldOperation(xtype),
-                conditionValue = me.getConditionValue(xtype, value);
-    
-                if(!conditionValue) {
-                    continue;
-                }
-                condition = {
-                    type: type,
-                    field: field,
-                    operation: operation,
-                    value: conditionValue
-                }
-            }
-            conditions.push(condition);
-        };
-        return conditions;
-    },
-
-    getDefaultFieldType: function(xtype) {
-        var type;
-
-        if(Ext.Array.contains(['numberfield'], xtype)) {
-            type = 'number';
-        }else if(Ext.Array.contains(['datefield', 'condatefield'], xtype)) {
-            type = 'date';
-        }else if(Ext.Array.contains(['combobox', 'multicombo', 'combo', 'radiofield', 'radio'], xtype)) {
-            type = 'enum';
-        }else {
-            type = 'string';
-        }
-
-        return type;
-    },
-
-    getDefaultFieldOperation: function(xtype) {
-        var operation;
-
-        if(Ext.Array.contains(['numberfield'], xtype)) {
-            operation = '=';
-        }else if(Ext.Array.contains(['datefield'], xtype)) {
-            operation = '=';
-        }else if(Ext.Array.contains(['condatefield'], xtype)) {
-            operation = 'between';
-        }else if(Ext.Array.contains(['combobox', 'multicombo', 'combo'], xtype)) {
-            operation = 'in';
-        }else {
-            operation = 'like';
-        }
-
-        return operation;
-    },
-
-    /**
-     * 处理部分字段值
-     */
-    getConditionValue: function(xtype, value) {
-        var conditionValue;
-        if(xtype == 'datefield') {
-            conditionValue = Ext.Date.format(new Date(from), 'Y-m-d H:i:s');
-        }else if(xtype == 'condatefield') {
-            var from = value.from,
-            to = value.to;
-
-            conditionValue = Ext.Date.format(new Date(from), 'Y-m-d 00:00:00') + ',' + Ext.Date.format(new Date(to), 'Y-m-d 23:59:59');
-        }else if(xtype == 'combobox' || xtype == 'combo') {
-            conditionValue = '\'' + value + '\'';
-        }else if(xtype == 'multicombo') {
-            conditionValue = value.map(function(v) {
-                return '\'' + v.value + '\'';
-            }).join(',');
-        }else {
-            conditionValue = value;
-        }
-
-        return conditionValue;
-    },
-
-    refresh:function(){
-        //debugger
-    }
-
-})
-
-

+ 0 - 10
frontend/saas-web/app/view/stock/stockamount/DataListController.js

@@ -1,10 +0,0 @@
-Ext.define('saas.view.stock.stockamount.DataListController', {
-    extend: 'saas.view.core.base.BasePanelController',
-    alias: 'controller.stock-stockamount-datalist',
-
-    init: function (form) {
-        var me = this;
-        this.control({
-        });
-    }
-});

+ 0 - 4
frontend/saas-web/app/view/stock/stockamount/DataListlModel.js

@@ -1,4 +0,0 @@
-Ext.define('saas.view.stock.stockamount.DataListModel', {
-    extend: 'saas.view.core.base.BasePanelModel',
-    alias: 'viewmodel.stock-stockamount-datalist'
-});

+ 13 - 7
frontend/saas-web/app/view/sys/config/FormPanel.js

@@ -166,7 +166,10 @@ Ext.define('saas.view.sys.config.FormPanel', {
                     var fileEl = field.fileInputEl.dom;
                     fileEl.setAttribute("accept","image/*");
                 },
-                change: function(field){
+                change: function(field,nowValue,oldValue){
+                    if(nowValue==""){
+                        return true;
+                    }
                     var form = field.ownerCt.ownerCt;
                     var myForm = field.ownerCt;
                     var fileEl = field.fileInputEl.dom;
@@ -199,7 +202,7 @@ Ext.define('saas.view.sys.config.FormPanel', {
                                 if(data.id){
                                     var serverOptions = Ext.manifest.server;
                                     var img = myForm.down('[name=SignetPhoto]');
-                                    img.el.dom.src = serverOptions.basePath.http + '/api/file/download?path='+data.fullPath;
+                                    img.el.dom.src = (serverOptions.basePath.http?serverOptions.basePath.http:serverOptions.basePath) + '/api/file/download?path='+data.fullPath;
                                     var showSignetPhoto = form.down('[name=showSignetPhoto]');
                                     showSignetPhoto.show();
                                 }
@@ -293,7 +296,10 @@ Ext.define('saas.view.sys.config.FormPanel', {
                     var fileEl = field.fileInputEl.dom;
                     fileEl.setAttribute("accept","image/*");
                 },
-                change: function(field){
+                change: function(field,nowValue,oldValue){
+                    if(nowValue==""){
+                        return true;
+                    }
                     var form = field.ownerCt.ownerCt;
                     var myForm = field.ownerCt;
                     var fileEl = field.fileInputEl.dom;
@@ -325,7 +331,7 @@ Ext.define('saas.view.sys.config.FormPanel', {
                                 if(data.id){
                                     var serverOptions = Ext.manifest.server;
                                     var img = myForm.down('[name=LogoPhoto]');
-                                    img.el.dom.src = serverOptions.basePath.http + '/api/file/download?path='+data.fullPath;
+                                    img.el.dom.src = (serverOptions.basePath.http?serverOptions.basePath.http:serverOptions.basePath) + '/api/file/download?path='+data.fullPath;
                                     var showLogoPhoto = form.down('[name=showLogoPhoto]');
                                     showLogoPhoto.show();
                                 }
@@ -414,7 +420,7 @@ Ext.define('saas.view.sys.config.FormPanel', {
         var signet = form.down('[name=signet]').value;
         if(signet&&signet!=''){
             var img = form.down('[name=SignetPhoto]');
-            img.el.dom.src = serverOptions.basePath.http + '/api/file/download?path='+signet;
+            img.el.dom.src = (serverOptions.basePath.http?serverOptions.basePath.http:serverOptions.basePath) + '/api/file/download?path='+signet;
             var showSignetPhoto = form.down('[name=showSignetPhoto]');
             showSignetPhoto.show();
         }
@@ -422,7 +428,7 @@ Ext.define('saas.view.sys.config.FormPanel', {
         var logoUrl = form.down('[name=logoUrl]').value;
         if(logoUrl&&logoUrl!=''){
             var img = form.down('[name=LogoPhoto]');
-            img.el.dom.src = serverOptions.basePath.http + '/api/file/download?path='+logoUrl;
+            img.el.dom.src = (serverOptions.basePath.http?serverOptions.basePath.http:serverOptions.basePath) + '/api/file/download?path='+logoUrl;
             var showLogoPhoto = form.down('[name=showLogoPhoto]');
             showLogoPhoto.show();
         }
@@ -472,7 +478,7 @@ Ext.define('saas.view.sys.config.FormPanel', {
 
     downLoad:function(path){
         var serverOptions = Ext.manifest.server;
-        window.location.href = serverOptions.basePath.http + '/api/file/download?path='+path;
+        window.location.href = (serverOptions.basePath.http?serverOptions.basePath.http:serverOptions.basePath) + '/api/file/download?path='+path;
         //ajax 响应下载必须要创建一个form实例
         // if (!Ext.fly('ext-attach-download')) {  
 		// 	var frm = document.createElement('form');  

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

@@ -110,8 +110,8 @@
             "viewType": "stock-report-prodinoutCount"
         }, {
             "text": "物料库存数量金额表",
-            "id":"stock-stockamount-datalist",
-            "viewType": "stock-stockamount-datalist"
+            "id":"stock-report-datalist",
+            "viewType": "stock-report-datalist"
         }]
     }]
 }, {