rainco 7 years ago
parent
commit
f76ee2708f
38 changed files with 242 additions and 110 deletions
  1. 1 0
      applications/commons/commons-dto/src/main/java/com/usoftchina/saas/commons/exception/BizExceptionCode.java
  2. 4 4
      applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/controller/JasperReportController.java
  3. 1 1
      applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/service/JasperReportService.java
  4. 10 2
      applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/service/impl/JasperReportServiceImpl.java
  5. 29 3
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/controller/EmployeeController.java
  6. 2 0
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/mapper/BankinformationMapper.java
  7. 2 0
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/mapper/CustomerMapper.java
  8. 4 0
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/EmployeeService.java
  9. 19 0
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/BankinformationServiceImpl.java
  10. 18 1
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/CustomerServiceImpl.java
  11. 52 0
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/EmployeeServiceImpl.java
  12. 4 0
      applications/document/document-server/src/main/resources/mapper/BankinformationMapper.xml
  13. 5 0
      applications/document/document-server/src/main/resources/mapper/CustomerMapper.xml
  14. 4 0
      applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/po/SaleList.java
  15. 1 1
      applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/service/impl/ProdInOutServiceImpl.java
  16. 1 1
      applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/service/impl/SaleServiceImpl.java
  17. 2 0
      applications/sale/sale-server/src/main/resources/mapper/SaleListMapper.xml
  18. 2 23
      base-servers/account/account-server/src/main/java/com/usoftchina/saas/account/service/impl/RoleServiceImpl.java
  19. 3 0
      frontend/saas-web/app/view/core/dbfind/DbfindGridPanel.scss
  20. 1 0
      frontend/saas-web/app/view/core/dbfind/DbfindTrigger.js
  21. 1 0
      frontend/saas-web/app/view/core/form/FormPanel.js
  22. 4 1
      frontend/saas-web/app/view/core/form/field/ConDateField.js
  23. 35 14
      frontend/saas-web/app/view/core/form/field/DetailGridField.js
  24. 14 8
      frontend/saas-web/app/view/core/query/QueryFormPanel.js
  25. 1 1
      frontend/saas-web/app/view/core/query/QueryGridPanel.js
  26. 1 1
      frontend/saas-web/app/view/money/fundtransfer/QueryPanel.js
  27. 1 1
      frontend/saas-web/app/view/money/payBalance/QueryPanel.js
  28. 1 1
      frontend/saas-web/app/view/money/payBalance/QueryPanelController.js
  29. 2 2
      frontend/saas-web/app/view/money/recBalance/FormPanelController.js
  30. 1 1
      frontend/saas-web/app/view/money/recBalance/QueryPanelController.js
  31. 2 1
      frontend/saas-web/app/view/money/report/AccountBalance.js
  32. 1 1
      frontend/saas-web/app/view/sale/sale/FormPanelController.js
  33. 2 0
      frontend/saas-web/app/view/sys/config/FormPanel.js
  34. 0 7
      frontend/saas-web/app/view/sys/power/FormPanelController.js
  35. 0 34
      frontend/saas-web/app/view/sys/power/GroupGrid.js
  36. 4 0
      frontend/saas-web/app/view/viewport/Viewport.js
  37. 6 0
      frontend/saas-web/app/view/viewport/ViewportController.js
  38. 1 1
      frontend/saas-web/resources/json/navigation.json

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

@@ -32,6 +32,7 @@ public enum BizExceptionCode implements BaseExceptionCode {
     BIZ_RELDELETE_DELETEPROD(79308,"存在关联单据,不允许删除"),
     BIZ_PRODWHCODE_REPEAT(79309, "明细仓库重复"),
     BIZ_UNENDPRODUCT(79310,"系统还未结账,不能反结账"),
+    BIZ_RELUPDATE_CODEANDNAME(79311,"存在关联单据,不允许更新编号,名称"),
     NO_OPRATIONDATA(79400,"无可操作单据"),
     BOM_SAVE(79401, "产品编号+版本号已存在"),
     REPEAT_NAME(79501, "名称重复"),

+ 4 - 4
applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/controller/JasperReportController.java

@@ -30,14 +30,14 @@ public class JasperReportController {
     }
 
     @PostMapping("/print")
-    public Result print(String caller, String reportName, Integer id, boolean isProdIO) {
-        JasperResult print = jasperReportService.print(caller, reportName, id, isProdIO, false);
+    public Result print(String caller, String code, String reportName, Integer id, boolean isProdIO) {
+        JasperResult print = jasperReportService.print(caller, code, reportName, id, isProdIO, false);
         return Result.success(print);
     }
 
     @PostMapping("/printByDefault")
-    public Result printByDefault(String caller, String reportName, Integer id, boolean isProdIO) {
-        JasperResult print = jasperReportService.print(caller, reportName, id, isProdIO, true);
+    public Result printByDefault(String caller, String code, String reportName, Integer id, boolean isProdIO) {
+        JasperResult print = jasperReportService.print(caller, code, reportName, id, isProdIO, true);
         return Result.success(print);
     }
 }

+ 1 - 1
applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/service/JasperReportService.java

@@ -9,5 +9,5 @@ public interface JasperReportService {
 
     List<SysPrintSet> getPrintSet(String caller);
 
-    JasperResult print(String caller, String reportName, Integer id, boolean isProdIO, boolean isDefault);
+    JasperResult print(String caller, String code, String reportName, Integer id, boolean isProdIO, boolean isDefault);
 }

+ 10 - 2
applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/service/impl/JasperReportServiceImpl.java

@@ -1,11 +1,14 @@
 package com.usoftchina.saas.commons.service.impl;
 
+import com.usoftchina.saas.commons.dto.DocBaseDTO;
 import com.usoftchina.saas.commons.mapper.SysprintsetMapper;
 import com.usoftchina.saas.commons.po.Configs;
 import com.usoftchina.saas.commons.po.JasperResult;
+import com.usoftchina.saas.commons.po.Operation;
 import com.usoftchina.saas.commons.po.SysPrintSet;
 import com.usoftchina.saas.commons.service.ConfigsService;
 import com.usoftchina.saas.commons.service.JasperReportService;
+import com.usoftchina.saas.commons.service.MessageLogService;
 import com.usoftchina.saas.context.BaseContextHolder;
 import com.usoftchina.saas.context.SpringContextHolder;
 import com.usoftchina.saas.exception.BizException;
@@ -29,6 +32,8 @@ public class JasperReportServiceImpl implements JasperReportService{
     private SysprintsetMapper sysprintsetMapper;
     @Autowired
     private ConfigsService configsService;
+    @Autowired
+    private MessageLogService messageLogService;
 
     @Override
     public List<SysPrintSet> getPrintSet(String caller) {
@@ -40,7 +45,7 @@ public class JasperReportServiceImpl implements JasperReportService{
     }
 
     @Override
-    public JasperResult print(String caller, String reportName, Integer id, boolean isProdIO, boolean isDefault) {
+    public JasperResult print(String caller, String code, String reportName, Integer id, boolean isProdIO, boolean isDefault) {
         Long companyId = BaseContextHolder.getCompanyId();
         JasperResult result = new JasperResult();
         SysPrintSet printSet = null;
@@ -71,9 +76,12 @@ public class JasperReportServiceImpl implements JasperReportService{
         if (!StringUtils.isEmpty(printSet.getDefaultcondition())) {
             condition += " and " + printSet.getDefaultcondition();
         }
+        //日志记录
+        DocBaseDTO baseDTO = new DocBaseDTO(Long.valueOf(id), code, caller);
+        messageLogService.customizeLog(baseDTO, Operation.PRINT);
 
         result.setReportName(printSet.getReportname());
-        result.setTitle(printSet.getTitle());
+        result.setTitle(StringUtils.isEmpty(code) ? printSet.getTitle() : printSet.getTitle() + "(" + code + ")");
         result.setPrinturl(printUrl);
         result.setWhereCondition(condition);
         result.setPrinttype(StringUtils.isEmpty(printSet.getPrinttype()) ? "" : printSet.getPrinttype());

+ 29 - 3
applications/document/document-server/src/main/java/com/usoftchina/saas/document/controller/EmployeeController.java

@@ -7,7 +7,7 @@ import com.usoftchina.saas.commons.dto.DocBaseDTO;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.document.dto.CustomerFormDTO;
 import com.usoftchina.saas.document.dto.EmployeeDTO;
-import com.usoftchina.saas.document.dto.EmployeeFormDTO;
+import com.usoftchina.saas.document.entities.Employee;
 import com.usoftchina.saas.document.service.EmployeeService;
 import com.usoftchina.saas.page.PageRequest;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -60,8 +60,8 @@ public class EmployeeController {
      * @return
      */
     @PostMapping("/save")
-    public Result<DocBaseDTO> saveFormData(@RequestBody EmployeeFormDTO data) {
-        DocBaseDTO save = employeeService.saveFormData(data.getMain());
+    public Result<DocBaseDTO> saveFormData(@RequestBody Employee employee) {
+        DocBaseDTO save = employeeService.saveFormData(employee);
         return Result.success(save);
     }
 
@@ -90,6 +90,32 @@ public class EmployeeController {
         return Result.success();
     }
 
+    /**
+     * 关闭
+     * @param id
+     * @return
+     */
+    @PostMapping("/close/{id}")
+    public Result close(@PathVariable("id") Long id){
+        DocBaseDTO docBaseDTO = employeeService.close(id);
+        return Result.success(docBaseDTO);
+    }
+
+    /**
+     * 开启
+     * @param id
+     * @return
+     */
+    @PostMapping("/open/{id}")
+    public Result open(@PathVariable("id") Long id){
+        DocBaseDTO docBaseDTO = employeeService.open(id);
+        return Result.success(docBaseDTO);
+    }
+
+
+
+
+
     @GetMapping("/getEmployeeByAccount")
     public Map<String,Object> getEmployeeByAccount(){
         return employeeService.getEmployeeByAccount();

+ 2 - 0
applications/document/document-server/src/main/java/com/usoftchina/saas/document/mapper/BankinformationMapper.java

@@ -29,4 +29,6 @@ public interface BankinformationMapper extends CommonBaseMapper<Bankinformation>
 
     void check(Map<String, Object> map);
 
+    Double selectamount(Long id);
+
 }

+ 2 - 0
applications/document/document-server/src/main/java/com/usoftchina/saas/document/mapper/CustomerMapper.java

@@ -31,4 +31,6 @@ public interface CustomerMapper extends CommonBaseMapper<Customer> {
     int validFinish(@Param("id") Long id,@Param("companyId") Long companyId);
 
     void check(Map<String, Object> map);
+
+    int validNameAndCodeWhenRelated(Customer customer);
 }

+ 4 - 0
applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/EmployeeService.java

@@ -29,4 +29,8 @@ public interface EmployeeService extends CommonBaseService<EmployeeMapper, Emplo
     void batchDelete(BatchDealBaseDTO baseDTOs);
 
     Map<String,Object> getEmployeeByAccount();
+
+    DocBaseDTO close(Long id);
+
+    DocBaseDTO open(Long id);
 }

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

@@ -47,6 +47,7 @@ public class BankinformationServiceImpl extends CommonBaseServiceImpl<Bankinform
         bankinformation.setCompanyId(BaseContextHolder.getCompanyId());
         bankinformation.setBk_income(new Double(0));
         bankinformation.setBk_spending(new Double(0));
+        int bid = Math.toIntExact(bankinformation.getId());
 
         String bktion = bankinformationMapper.selectBankcode(bankinformation.getBk_bankcode());
         //先判断ID,再判断编号
@@ -58,6 +59,24 @@ public class BankinformationServiceImpl extends CommonBaseServiceImpl<Bankinform
             bankinformation.setBk_thisamount(bankinformation.getBk_beginamount());
             bankinformationMapper.insertSelective(bankinformation);
         }else {
+            //判断是否能修改期初金额
+            Double beginamount = bankinformationMapper.selectamount(bankinformation.getId());
+            Double fbeginamount = bankinformation.getBk_beginamount();
+            if (!(fbeginamount.equals(beginamount))){
+                DocBaseDTO docBaseDTO = getBaseDTOById(bid);
+                Map<String, Object> map = new HashMap<String, Object>();
+                map.put("v_id",bid);
+                map.put("v_code", docBaseDTO.getCode());
+                map.put("v_type","bank");
+                map.put("v_companyid",BaseContextHolder.getCompanyId());
+                map.put("v_res","");
+                bankinformationMapper.check(map);
+                Object result =  map.get("v_res");
+                if(!StringUtils.isEmpty(result)){
+                    throw new BizException(BizExceptionCode.USING_EXISTS.getCode(),result.toString());
+                }
+            }
+
             Long id = bankinformationMapper.selectBankId(bankinformation.getBk_bankcode());
             if (bktion != null){
                 if (id.equals(bankinformation.getId())){

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

@@ -138,13 +138,13 @@ public class CustomerServiceImpl extends CommonBaseServiceImpl<CustomerMapper, C
         cu_code = pushMaxnubmer(cu_code, cu_id);
         //单号赋值
         customer.setCu_code(cu_code);
+        //新增
         if (StringUtils.isEmpty(cu_id) || "0".equals(cu_id.toString())) {
             //检查名称和编号
             int count = getMapper().validNameAndCodeWhenInsert(customer);
             if (count>0) {
                 throw new BizException(BizExceptionCode.REPEAT_CUSTOMERCODE);
             }
-            //插入操作
             getMapper().insertSelective(customer);
             cu_id = customer.getId();
             //添加从表传输对象
@@ -173,6 +173,7 @@ public class CustomerServiceImpl extends CommonBaseServiceImpl<CustomerMapper, C
             if (insertDetail2.size()>0) {
                 customeraddressMapper.batchInsert(insertDetail2);
             }
+            //更新
         }else {
             //检查名称和编号
             int count = getMapper().validNameAndCodeWhenUpdate(customer);
@@ -180,6 +181,22 @@ public class CustomerServiceImpl extends CommonBaseServiceImpl<CustomerMapper, C
                 throw new BizException(BizExceptionCode.REPEAT_CUSTOMERCODE);
             }
 
+            //有关联时不可修改名称编号
+            Map<String, Object> map = new HashMap<String, Object>();
+            map.put("v_id",cu_id);
+            map.put("v_code", cu_code);
+            map.put("v_type","cust");
+            map.put("v_companyid",BaseContextHolder.getCompanyId());
+            map.put("v_res","");
+            customerMapper.check(map);
+            Object result =  map.get("v_res");
+            if(!StringUtils.isEmpty(result)){
+                count = getMapper().validNameAndCodeWhenRelated(customer);
+                if (count > 0) {
+                    throw new BizException(BizExceptionCode.BIZ_RELUPDATE_CODEANDNAME);
+                }
+            }
+
             //检查期初日期是否已结转
             count = getMapper().validFinish(cu_id, companyId);
             if (count > 0) {

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

@@ -122,6 +122,58 @@ public class EmployeeServiceImpl extends CommonBaseServiceImpl<EmployeeMapper, E
         return map;
     }
 
+    @Override
+    public DocBaseDTO close(Long id) {
+        if (id != null && id > 0){
+            Employee employee = getMapper().selectByPrimaryKey(id);
+            if (employee == null) {
+                throw new BizException(BizExceptionCode.NO_DATA);
+            }
+            if ("正式".equals(employee.getEm_class())){
+                String code = employee.getEm_code();
+                employee = new Employee();
+                employee.setId(id);
+                employee.setEm_class("离职");
+                employee.setUpdaterId(BaseContextHolder.getUserId());
+                employee.setUpdateTime(new Date());
+                getMapper().updateByPrimaryKeySelective(employee);
+                DocBaseDTO docBaseDTO = generateMsgObj(id,code);
+                messageLogService.open(docBaseDTO);
+                return docBaseDTO;
+            }else {
+                throw new BizException(BizExceptionCode.BIZ_CLOSE);
+            }
+        }else {
+            throw new BizException(BizExceptionCode.ILLEGAL_ID);
+        }
+    }
+
+    @Override
+    public DocBaseDTO open(Long id) {
+        if (id != null && id > 0){
+            Employee employee = getMapper().selectByPrimaryKey(id);
+            if (employee == null) {
+                throw new BizException(BizExceptionCode.NO_DATA);
+            }
+            if ("离职".equals(employee.getEm_class())){
+                String code = employee.getEm_code();
+                employee = new Employee();
+                employee.setId(id);
+                employee.setEm_class("正式");
+                employee.setUpdaterId(BaseContextHolder.getUserId());
+                employee.setUpdateTime(new Date());
+                getMapper().updateByPrimaryKeySelective(employee);
+                DocBaseDTO docBaseDTO = generateMsgObj(id,code);
+                messageLogService.open(docBaseDTO);
+                return docBaseDTO;
+            }else {
+                throw new BizException(BizExceptionCode.BIZ_OPEN);
+            }
+        }else {
+            throw new BizException(BizExceptionCode.ILLEGAL_ID);
+        }
+    }
+
     private List<EmployeeDTO> getList(ListReqDTO listReqDTO){
         Long companyId = BaseContextHolder.getCompanyId();
         String condition = listReqDTO.getFinalCondition();

+ 4 - 0
applications/document/document-server/src/main/resources/mapper/BankinformationMapper.xml

@@ -344,6 +344,10 @@
         select bk_id from bankinformation where bk_bankcode = #{bk_bankcode,jdbcType=VARCHAR}
    </select>
 
+  <select id="selectamount" parameterType="java.lang.Long" resultType="java.lang.Double">
+        select bk_beginamount from bankinformation where bk_id = #{bk_id,jdbcType=INTEGER}
+   </select>
+
   <select id="check" parameterMap="checkParamMap" statementType="CALLABLE">
         CALL SP_LIMITBASE(?, ?, ?, ?,?)
     </select>

+ 5 - 0
applications/document/document-server/src/main/resources/mapper/CustomerMapper.xml

@@ -402,5 +402,10 @@
     <parameter property="v_res" jdbcType="VARCHAR" mode="OUT" />
   </parameterMap>
 
+  <select id="validNameAndCodeWhenRelated" parameterType="com.usoftchina.saas.document.entities.Customer" resultType="int">
+    select count(1) from customer where (cu_code != #{cu_code,jdbcType=VARCHAR} or cu_name != #{cu_name,jdbcType=VARCHAR})
+    and cu_id != #{id} and companyId =#{companyId}
+  </select>
+
 
 </mapper>

+ 4 - 0
applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/po/SaleList.java

@@ -67,6 +67,10 @@ public class SaleList implements Serializable {
 
     private String sa_text5;
 
+    private String creatorname;
+
+    private String sa_auditman;
+
     private Integer sd_id;
 
     private Integer sd_said;

+ 1 - 1
applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/service/impl/ProdInOutServiceImpl.java

@@ -481,7 +481,7 @@ public class ProdInOutServiceImpl extends CommonBaseServiceImpl<ProdInOutMapper,
         setTotal(targetPi);
 
         //日志记录
-        DocBaseDTO baseDTO = new DocBaseDTO(pi_id, piInoutno, BillCodeSeq.SALEIN.getName());
+        DocBaseDTO baseDTO = new DocBaseDTO(id, sourcePi.getPi_inoutno(), BillCodeSeq.SALEIN.getCaller());
         messageLogService.customizeLog(baseDTO, Operation.TURNPRODOUTRETURN);
         return baseDTO;
 

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

@@ -492,7 +492,7 @@ public class SaleServiceImpl implements SaleService{
         prodIODetailMapper.updatePDSaleOut(pi_id);
         prodInOutMapper.updatePiTotal(pi_id);
         //日志记录
-        DocBaseDTO baseDTO = new DocBaseDTO(pi_id, pi_inoutno, BillCodeSeq.SALEOUT.getName());
+        DocBaseDTO baseDTO = new DocBaseDTO(id, sale.getSa_code(), BillCodeSeq.SALEOUT.getCaller());
         messageLogService.customizeLog(baseDTO, Operation.TURNPRODOUT);
         return baseDTO;
     }

+ 2 - 0
applications/sale/sale-server/src/main/resources/mapper/SaleListMapper.xml

@@ -19,6 +19,8 @@
         <result column="sa_printstatuscode" property="sa_printstatuscode" jdbcType="VARCHAR" />
         <result column="sa_recorderid" property="sa_recorderid" jdbcType="INTEGER" />
         <result column="sa_recorder" property="sa_recorder" jdbcType="VARCHAR" />
+        <result column="creatorname" property="creatorname" jdbcType="VARCHAR" />
+        <result column="sa_auditman" property="sa_auditman" jdbcType="VARCHAR" />
         <result column="sa_recorddate" property="sa_recorddate" jdbcType="TIMESTAMP" />
         <result column="companyid" property="companyid" jdbcType="INTEGER" />
         <result column="updaterId" property="updaterId" jdbcType="INTEGER" />

+ 2 - 23
base-servers/account/account-server/src/main/java/com/usoftchina/saas/account/service/impl/RoleServiceImpl.java

@@ -108,33 +108,12 @@ public class RoleServiceImpl extends CommonBaseServiceImpl<RoleMapper, Role> imp
                     String classify = String.valueOf(map.get("classify"));
                     //角色有权限的,设置为true
                     setPowerValue(powerDTO, classify, true);
-                    setOtherPower(powerDTO, powerInfo.getGrougId(), id, otherPowerList);
                 }
+                //设置其他权限
+                setOtherPower(powerDTO, powerInfo.getGrougId(), id, otherPowerList);
             }
             powerDTOList.add(powerDTO);
         }
-
-        /*//查询所有模块
-        List<ResourceModule> modules = resourceModuleMapper.selectByAppId(BaseContextHolder.getAppId());
-        for (ResourceModule module : modules){
-            //查询所有分组
-            List<ResourceGroup> groups = resourceGroupMapper.selectByModuleId(module.getId());
-            for (ResourceGroup group : groups) {
-                PowerDTO powerDTO = new PowerDTO();
-                powerDTO.setGroupId(group.getId());
-                powerDTO.setModuleName(module.getName());
-                powerDTO.setGroupName(group.getName());
-                //赋值权限
-                for (Map<String, Object> map : classifyList){
-                    if (group.getId().equals(map.get("group_id"))){
-                        String classify = String.valueOf(map.get("classify"));
-                        setPowerValue(powerDTO, classify);
-                        setOtherPower(powerDTO, group.getId(), id, otherPowerList);
-                    }
-                }
-                powerDTOList.add(powerDTO);
-            }
-        }*/
         return powerDTOList;
     }
 

+ 3 - 0
frontend/saas-web/app/view/core/dbfind/DbfindGridPanel.scss

@@ -0,0 +1,3 @@
+.x-window-dbfind{
+    border:none;
+}

+ 1 - 0
frontend/saas-web/app/view/core/dbfind/DbfindTrigger.js

@@ -6,6 +6,7 @@ Ext.define('saas.view.core.dbfind.DbfindTrigger', {
     displayField: 'dispaly',
     valueField: 'value',
     triggerCls: 'x-form-search-trigger',
+    cls:'x-window-dbfind',
     minChars:1, // 设置用户输入字符多少时触发查询
     tpl: '',
     enableKeyEvents:true,

+ 1 - 0
frontend/saas-web/app/view/core/form/FormPanel.js

@@ -300,6 +300,7 @@ Ext.define('saas.view.core.form.FormPanel', {
                 detnoColumn = grid.detnoColumn,
                 store = detail.detailStore;
 
+            store.removeAll();
             if (detailData.length > 0) {
 
                 for(var j = 0; j < detailData.length; j++) {

+ 4 - 1
frontend/saas-web/app/view/core/form/ConDateField.js → frontend/saas-web/app/view/core/form/field/ConDateField.js

@@ -1,7 +1,7 @@
 /**
  * Created by UAS30 on 2018/10/11.
  */
-Ext.define('saas.view.core.form.ConDateField', {
+Ext.define('saas.view.core.form.field.ConDateField', {
     extend: 'Ext.form.FieldContainer',
     alias: 'widget.condatefield',
     layout: 'hbox',
@@ -14,6 +14,9 @@ Ext.define('saas.view.core.form.ConDateField', {
     },
     columnWidth: 0.5,
     defaultBindProperty: 'value',
+
+    cls: 'x-condatefield',
+
     initComponent : function(){
         this.cls = (this.cls || '') + ' x-form-field-multi';
         this.callParent(arguments);

+ 35 - 14
frontend/saas-web/app/view/core/form/field/DetailGridField.js

@@ -225,23 +225,44 @@ Ext.define('saas.view.core.form.field.DetailGridField', {
         records = store.getData().items,
         selectedRecord = records.find(function(r) {
             return r.get(detnoColumn) == v;
-        }),
-        detno = 0;
+        });
+
+        store.each(function(item){
+            var t = item.data[detnoColumn];
+            if(t > v) {
+                item.set(detnoColumn, t + 1);
+            }
+        });
 
-        //当前行后序号全部加1
-        if(selectedRecord){
-            detno = selectedRecord.data[detnoColumn];
-            var store = me.store;
-            store.each(function(item){
-                var t = item.data[detnoColumn];
-                if(Number(t) > detno) {
-                    item.set(detnoColumn, Number(t) + 1);
-                }
-            });
-        }
         var data = d || {};
-        data[detnoColumn] = detno + 1;
+        data[detnoColumn] = v + 1;
         var r = store.insert(store.indexOf(selectedRecord) + 1, data);
+
+        store.each(function(s) {
+            var itemFields = s.fields,
+            itemData = s.getData(),
+            dirtyFields = [];
+
+            for(var x = 0; x < itemFields.length; x++) {
+                var field = itemFields[x],
+                name = field.name,
+                type = field.type;
+
+                if(type == 'int' && itemData[name] == 0) {
+                }else if(type == 'string' && itemData[name] == '') {
+                }else if(type == 'float' && itemData[name] == 0) {
+                }else if(type == 'date' && itemData[name] == null) {
+                }else {
+                    dirtyFields.push(name);
+                }
+            }
+
+            // 如果有有效数据(非ID和序号列)才算dirty,否则直接commit
+            if(dirtyFields.length == 2 && Ext.Array.contains(dirtyFields, 'id') && Ext.Array.contains(dirtyFields, detnoColumn)) {
+                s.commit()
+            }
+        });
+
         me.fireEvent('validChange');
         return r;
     },

+ 14 - 8
frontend/saas-web/app/view/core/query/QueryFormPanel.js

@@ -34,14 +34,20 @@ Ext.define('saas.view.core.query.QueryFormPanel', {
 
     listeners: {
         beforerender: function(form) {
-            var fiels = form.getForm().getFields();
-            fiels.each(function(f) {
-                f.on && f.on({
-                    keydown: {
-                        fn: 'onQuery',
-                    }
-                });
-            });
+            // var fiels = form.getForm().getFields();
+            // fiels.each(function(f) {
+            //     console.log(f, f.on);
+            //     f.on && f.on({
+            //         keydown: {
+            //             // fn: 'onQuery',
+            //             fn: function(th, e, eOpts) {
+            //                 if(e.keyCode == 13) {
+            //                     form.up('core-query-querypanel').getController().onQuery()
+            //                 }
+            //             }
+            //         }
+            //     });
+            // });
         }
     }
 

+ 1 - 1
frontend/saas-web/app/view/core/query/QueryGridPanel.js

@@ -85,7 +85,7 @@ Ext.define('saas.view.core.query.QueryGridPanel', {
                                 }
                             }else {
                                 console.error('exception: ', response.responseJson);
-                                saas.util.BaseUtil.showToast('请求错误:' + response.responseJson.message);
+                                saas.util.BaseUtil.showToast('查询失败:' + response.responseJson.message);
                             }
                         }
                     }

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

@@ -134,7 +134,7 @@ Ext.define('saas.view.money.fundtransfer.QueryPanel', {
             dataIndex: 'ftd_paymethod',
             width: 120
         }, {
-            text: '结算号',
+            text: '结算号',
             dataIndex: 'ftd_paycode',
             width: 120
         }, {

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

@@ -14,7 +14,7 @@ Ext.define('saas.view.money.paybalance.QueryPanel', {
     },{
         xtype: 'vendorDbfindTrigger',
         name: 'pb_vendname',
-        fieldLabel: '供应商',
+        fieldLabel: '供应商名称',
     },{
         xtype: 'textfield',
         name: 'pb_manname',

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

@@ -21,7 +21,7 @@ Ext.define('saas.view.money.paybalance.QueryPanelController', {
                 beforerender:function(f){
                     Ext.apply(f,{
                         dbfinds:[{
-                            from:'pr_code',to:'pd_prodcode',
+                            from:'pr_code',to:'pd_prodcode'
                         }, {
                             from:'pr_detail',to:'pr_detail'
                         }],

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

@@ -27,7 +27,7 @@ Ext.define('saas.view.money.recBalance.FormPanelController', {
                     Ext.apply(f,{
                         //赋值 
                         dbfinds:[{
-                            from: 'id', to: 'rd_bankid'
+                            from: 'id', to: 'rd_bankid',ignore:true
                         }, {
                             from:'bk_bankcode', to:'rd_bankcode'
                         },{
@@ -44,7 +44,7 @@ Ext.define('saas.view.money.recBalance.FormPanelController', {
                         addTitle: '源单单据',
                         dbfinds: [{
                             from: 'id',
-                            to: 'rbd_slid'
+                            to: 'rbd_slid',ignore:true
                         }, {
                             from: 'sl_code',
                             to: 'rbd_slcode'

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

@@ -10,7 +10,7 @@ Ext.define('saas.view.money.recBalance.QueryPanelController', {
                     Ext.apply(f,{
                         //赋值
                         dbfinds:[{
-                            from: 'id', to: 'rb_custid'
+                            from: 'id', to: 'rb_custid',ignore:true
                         }, {
                             from:'cu_code', to:'rb_custcode'
                         },{

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

@@ -37,6 +37,7 @@ Ext.define('saas.view.money.report.AccountBalance', {
         }, {
             text: '日期',
             dataIndex: 'date',
+            xtype:'datecolumn',
             width: 200
         }, {
             text: '业务类型',
@@ -60,7 +61,7 @@ Ext.define('saas.view.money.report.AccountBalance', {
             }
         },{
             text:'支出',
-            dataIndex:'outamount',
+            dataIndex:'inamount',
             xtype: 'numbercolumn',
             renderer : function(v) {
                 var arr = (v + '.').split('.');

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

@@ -70,7 +70,7 @@ Ext.define('saas.view.sale.sale.FormPanelController', {
             if(localJson.success){
                 var intValue = localJson.data.id,
                     codeValue= localJson.data.code,
-                    name = localJson.data.name;
+                    name = '出货单';
                 saas.util.BaseUtil.openTab('sale-saleout-formpanel',name+"("+codeValue+")",codeValue+intValue, {
                     initId: intValue
                 });

+ 2 - 0
frontend/saas-web/app/view/sys/config/FormPanel.js

@@ -172,6 +172,7 @@ Ext.define('saas.view.sys.config.FormPanel', {
                     var fileEl = field.fileInputEl.dom;
                     var fd = new FormData();
                     fd.append('file', fileEl.files[0]);
+                    fd.append('folderId', 0);
                     form.setLoading(true);
                     Ext.Ajax.request({
                         url: '/api/file/upload',//这里是填写需要跨域访问的URL
@@ -297,6 +298,7 @@ Ext.define('saas.view.sys.config.FormPanel', {
                     var myForm = field.ownerCt;
                     var fileEl = field.fileInputEl.dom;
                     var fd = new FormData();
+                    fd.append('folderId', 0);
                     fd.append('file', fileEl.files[0]);
                     form.setLoading(true);
                     Ext.Ajax.request({

+ 0 - 7
frontend/saas-web/app/view/sys/power/FormPanelController.js

@@ -94,13 +94,6 @@ Ext.define('saas.view.sys.power.FormPanelController', {
                 checked:data['audit']
             })
         }
-        if((typeof modified.update) == 'boolean'){
-            powerSetList.push({
-                groupId:groupId,
-                classify:'update',
-                checked:data['update']
-            })
-        }
         if((typeof modified.unAudit) == 'boolean'){
             powerSetList.push({
                 groupId:groupId,

+ 0 - 34
frontend/saas-web/app/view/sys/power/GroupGrid.js

@@ -114,38 +114,6 @@ Ext.define('saas.view.sys.power.GroupGrid', {
         doUpdateHeaderState: function(e) {
             return true;
         }
-    }, {
-        header: '修改',
-        dataIndex: 'update',
-        xtype: 'checkcolumn',
-        headerCheckbox: true,
-        menuDisabled:true,
-        flex: 1,
-        stopSelection: false,
-        onTitleElClick:function(a,b,c,d){
-            var me = this;
-            var records = me.ownerCt.ownerCt.store.data.items;
-            var first = 'null',isAllCheck = true;
-            Ext.Array.each(records,function(rec){
-                var data = rec.get('update');
-                if(data!=null&&(typeof data)=='boolean'){
-                    if(first=='null'){
-                        first = data;
-                    }else{
-                        if(first!=data){
-                            isAllCheck = false
-                        }
-                    }
-                    rec.set('update',!data)
-                }
-            });
-            if(isAllCheck){
-                me.setHeaderStatus(!first)
-            }
-        },
-        doUpdateHeaderState: function(e) {
-            return true;
-        }
     }, {
         header: '删除',
         dataIndex: 'delete',
@@ -362,7 +330,6 @@ Ext.define('saas.view.sys.power.GroupGrid', {
                 {name: 'add'},
                 {name: 'delete'},
                 {name: 'audit'},
-                {name: 'update'},
                 {name: 'unAudit'},
                 {name: 'fileExport'},
                 {name: 'fileImport'},
@@ -420,7 +387,6 @@ Ext.define('saas.view.sys.power.GroupGrid', {
         data.query = record.get('query')==null?null:bool;
         data.delete = record.get('delete')==null?null:bool;
         data.audit = record.get('audit')==null?null:bool;
-        data.update = record.get('update')==null?null:bool;
         data.unAudit= record.get('unAudit')==null?null:bool;
         data.fileExport= record.get('fileExport')==null?null:bool;
         data.fileImport= record.get('fileImport')==null?null:bool;

+ 4 - 0
frontend/saas-web/app/view/viewport/Viewport.js

@@ -7,5 +7,9 @@ Ext.define('saas.view.viewport.Viewport', {
     layout: {
         type: 'card',
         anchor: '100%'
+    },
+
+    listeners: {
+        boxready: 'mainviewboxready'
     }
 });

+ 6 - 0
frontend/saas-web/app/view/viewport/ViewportController.js

@@ -22,6 +22,12 @@ Ext.define('saas.view.viewport.ViewportController', {
         this.restoreSession();
     },
 
+    mainviewboxready: function() {
+        if(!Ext.isChrome && !Ext.isFirefox) {
+            saas.util.BaseUtil.showConfirm('温馨提示', '为了更好地呈现页面效果,推荐使用Chrome浏览器或火狐浏览器');
+        }
+    },
+
     showView: function(xtype) {
         var view = this.lookup(xtype),
             viewport = this.getView();

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

@@ -171,7 +171,7 @@
             "id": "monry-report-customercheck",
             "viewType":"monry-report-customercheck"
         }, {
-            "text": "应收款明细表",
+            "text": "应收款明细表",
             "id": "monry-report-recdetail",
             "viewType":"monry-report-recdetail"
         }, {