Explorar o código

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

guq %!s(int64=7) %!d(string=hai) anos
pai
achega
41fd9eea01
Modificáronse 60 ficheiros con 409 adicións e 1363 borrados
  1. 2 2
      applications/commons/commons-dto/src/main/java/com/usoftchina/saas/commons/exception/BizExceptionCode.java
  2. 8 0
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/controller/AddressController.java
  3. 2 0
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/mapper/AddressMapper.java
  4. 2 0
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/AddressService.java
  5. 5 0
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/AddressServiceImpl.java
  6. 2 3
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/WarehouseServiceImpl.java
  7. 14 6
      applications/document/document-server/src/main/resources/mapper/AddressMapper.xml
  8. 1 1
      applications/purchase/purchase-server/src/main/resources/mapper/ProdInOutListMapper.xml
  9. 1 12
      applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/SaleApplication.java
  10. 1 1
      applications/sale/sale-server/src/main/resources/mapper/ProdInOutListMapper.xml
  11. 2 0
      base-servers/account/account-server/src/main/java/com/usoftchina/saas/account/service/impl/AccountCenterServiceImpl.java
  12. 1 1
      frontend/saas-portal-web/src/components/conenter/company.vue
  13. 17 5
      frontend/saas-portal-web/src/components/conenter/enterprise.vue
  14. 23 36
      frontend/saas-portal-web/src/components/conenter/problem.vue
  15. 1 1
      frontend/saas-portal-web/src/components/conenter/qiyexiangxi.vue
  16. 25 0
      frontend/saas-portal-web/src/pages/cell/cell.html
  17. 0 0
      frontend/saas-portal-web/src/pages/cell/cell.js
  18. 15 0
      frontend/saas-portal-web/src/pages/cell/cell.vue
  19. 0 108
      frontend/saas-portal-web/static/css/animate.css
  20. 3 3
      frontend/saas-portal-web/static/css/gongsi.css
  21. 40 920
      frontend/saas-portal-web/static/css/main.css
  22. 10 1
      frontend/saas-web/app.json
  23. 1 1
      frontend/saas-web/app/view/core/base/GridPanel.js
  24. 1 2
      frontend/saas-web/app/view/core/dbfind/types/VendorDbfindTrigger.js
  25. 2 2
      frontend/saas-web/app/view/core/dbfind/types/WarehouseDbfindTrigger.js
  26. 15 7
      frontend/saas-web/app/view/core/form/FormPanel.js
  27. 1 1
      frontend/saas-web/app/view/document/bom/FormController.js
  28. 2 2
      frontend/saas-web/app/view/document/bom/FormPanel.js
  29. 1 1
      frontend/saas-web/app/view/document/customer/FormController.js
  30. 2 2
      frontend/saas-web/app/view/document/customer/FormPanel.js
  31. 13 4
      frontend/saas-web/app/view/document/kind/ChildForm.js
  32. 2 2
      frontend/saas-web/app/view/document/kind/Kind.js
  33. 1 1
      frontend/saas-web/app/view/document/product/FormController.js
  34. 3 3
      frontend/saas-web/app/view/document/product/FormPanel.js
  35. 1 1
      frontend/saas-web/app/view/document/vendor/FormController.js
  36. 2 2
      frontend/saas-web/app/view/document/vendor/FormPanel.js
  37. 1 1
      frontend/saas-web/app/view/home/infoCardList/Payment.js
  38. 17 23
      frontend/saas-web/app/view/home/infoCardList/SaleOut.js
  39. 1 1
      frontend/saas-web/app/view/home/infoCardList/UnauditCheckIn.js
  40. 1 1
      frontend/saas-web/app/view/money/fundtransfer/FormPanel.js
  41. 2 2
      frontend/saas-web/app/view/money/payBalance/FormPanelController.js
  42. 15 13
      frontend/saas-web/app/view/money/report/AccountBalance.js
  43. 14 18
      frontend/saas-web/app/view/money/report/CustomerCheck.js
  44. 5 13
      frontend/saas-web/app/view/money/report/PayDetail.js
  45. 8 19
      frontend/saas-web/app/view/money/report/RecDetail.js
  46. 14 18
      frontend/saas-web/app/view/money/report/VendorCheck.js
  47. 50 0
      frontend/saas-web/app/view/money/verification/FormPanelController.js
  48. 0 14
      frontend/saas-web/app/view/purchase/purchase/QueryPanel.js
  49. 0 11
      frontend/saas-web/app/view/purchase/purchaseIn/QueryPanel.js
  50. 0 14
      frontend/saas-web/app/view/purchase/purchaseOut/QueryPanel.js
  51. 1 22
      frontend/saas-web/app/view/sale/sale/QueryPanel.js
  52. 46 11
      frontend/saas-web/app/view/sale/saleIn/QueryPanel.js
  53. 1 6
      frontend/saas-web/app/view/sale/saleOut/QueryPanel.js
  54. 0 6
      frontend/saas-web/app/view/stock/appropriationInOut/QueryPanel.js
  55. 0 8
      frontend/saas-web/app/view/stock/make/QueryPanel.js
  56. 0 12
      frontend/saas-web/app/view/stock/otherIn/QueryPanel.js
  57. 0 6
      frontend/saas-web/app/view/stock/otherOut/QueryPanel.js
  58. 1 0
      frontend/saas-web/app/view/stock/report/Prodiodetail.js
  59. 1 4
      frontend/saas-web/overrides/form/field/TrimVtype.js
  60. 9 9
      frontend/saas-web/resources/json/navigation.json

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

@@ -61,7 +61,7 @@ public enum BizExceptionCode implements BaseExceptionCode {
     VENDOR_ISCLOSE(79505, "供应商已关闭"),
     PRODUCT_ISCLOSE(79506, "物料已关闭"),
     CUSTOMER_ISCLOSE(79507, "客户资料已关闭"),
-    REQUIREDFIELD_NULL(79508,"存在必填字段空"),
+    REQUIREDFIELD_NULL(79508,"存在必填字段空"),
 
     //采购 70000-71999
     PURCCHECKIN_POST_ERROR(70000,""),
@@ -101,7 +101,7 @@ public enum BizExceptionCode implements BaseExceptionCode {
     DELETE_NOT_EXIS(74008,"删除失败,当前单据不存在!"),
     DOCUMENTS_AUDITED(74009,"存在已审核单据:%S"),
     DOCUMENTS_UNAUDITED(74010,"存在未审核单据:%S"),
-    BANK_AMOUNT_NOTENOUGHS(74011, "资金账不足:%S"),
+    BANK_AMOUNT_NOTENOUGHS(74011, "资金账户余额不足:%S"),
 
     //反结账
     EARLY_USERING(74012, "期初余额被使用,无法反结账"),

+ 8 - 0
applications/document/document-server/src/main/java/com/usoftchina/saas/document/controller/AddressController.java

@@ -27,6 +27,14 @@ public class AddressController {
         return Result.success();
     }
 
+    @PostMapping("/setDefault/{id}")
+    public Result setDefault(@PathVariable("id") Long id){
+        addressService.setDefault(id);
+        return Result.success();
+    }
+
+
+
     @PostMapping("/batchDelete")
     public Result deleteByIds(String ids){
         addressService.removeByIds(ids);

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

@@ -32,4 +32,6 @@ public interface AddressMapper extends CommonBaseMapper<Address> {
     List<Address> selectAll(@Param("companyId") Long companyId);
 
     int getCountFromPurchase(@Param("id") Long id, @Param("companyId") Long companyId);
+
+    void setDefault(@Param("id") Long id, @Param("companyId") Long companyId);
 }

+ 2 - 0
applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/AddressService.java

@@ -17,4 +17,6 @@ public interface AddressService extends CommonBaseService<AddressMapper, Address
     List<Address> selectAll();
 
     DocBaseDTO saveData(Address address);
+
+    void setDefault(Long id);
 }

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

@@ -58,6 +58,11 @@ public class AddressServiceImpl extends CommonBaseServiceImpl<AddressMapper, Add
         return docBaseDTO;
     }
 
+    @Override
+    public void setDefault(Long id) {
+        getMapper().setDefault(id,BaseContextHolder.getCompanyId());
+    }
+
     /**
      * 通过主键删除
      * @param id

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

@@ -232,8 +232,7 @@ public class WarehouseServiceImpl extends CommonBaseServiceImpl<WarehouseMapper,
     public void delete(Long id) {
         //删除前检测物料是否存在默认仓库
         Long companyId = BaseContextHolder.getCompanyId();
-        companyId = 1l;
-        Integer num = 0;
+        int num = 0;
         num = warehouseMapper.deleteCheckProduct(id, companyId);
         if (num > 0) {
             throw new BizException(BizExceptionCode.PRODUCT_HAS_WAREHOUSE);
@@ -254,8 +253,8 @@ public class WarehouseServiceImpl extends CommonBaseServiceImpl<WarehouseMapper,
     private void singleDelete(Long id) {
         if (null != id) {
             //主表删除
-            getMapper().deleteByPrimaryKey(id);
             DocBaseDTO docBaseDTO = getBaseDTOById(id);
+            getMapper().deleteByPrimaryKey(id);
             //日志
             messageLogService.delete(docBaseDTO);
         }

+ 14 - 6
applications/document/document-server/src/main/resources/mapper/AddressMapper.xml

@@ -204,10 +204,18 @@
         </if>
     </where>
   </select>
-    <select id="getCombo" resultType="com.usoftchina.saas.commons.dto.ComboDTO">
-        SELECT AD_ADDRESS display,AD_ADDRESS value FROM ADDRESS WHERE COMPANYID=#{companyId}
-    </select>
-    <select id="getCountFromPurchase" resultType="int">
-        SELECT COUNT(*) FROM PURCHASE WHERE PU_SHIPADDRESSCODE = (SELECT AD_ADDRESS FROM ADDRESS WHERE AD_ID = #{id}) AND companyId = #{companyId}
-    </select>
+  <select id="getCombo" resultType="com.usoftchina.saas.commons.dto.ComboDTO">
+      SELECT AD_ADDRESS display,AD_ADDRESS value FROM ADDRESS WHERE COMPANYID=#{companyId}
+  </select>
+  <select id="getCountFromPurchase" resultType="int">
+      SELECT COUNT(*) FROM PURCHASE WHERE PU_SHIPADDRESSCODE = (SELECT AD_ADDRESS FROM ADDRESS WHERE AD_ID = #{id}) AND companyId = #{companyId}
+  </select>
+
+  <update id="setDefault">
+    update address set ad_default = 1 where ad_id=#{id} and companyId=#{companyId};
+    update address set ad_default = 0 where ad_id!=#{id} and companyId=#{companyId};
+  </update>
+
+
+
 </mapper>

+ 1 - 1
applications/purchase/purchase-server/src/main/resources/mapper/ProdInOutListMapper.xml

@@ -218,7 +218,7 @@
 
   <select id="selectHomePageList" resultMap="homePageList">
     select  *,
-    case WHEN pi_class='采购验收单' then pd_inqty when pi_class='采购验退单' then pd_outqty else 0 end qty
+    case WHEN pi_class='采购验收单' then ifnull(pd_inqty,0) when pi_class='采购验退单' then ifnull(pd_outqty,0) else 0 end qty
     from prodinout left join prodiodetail on pi_id = pd_piid left join vendor on pi_vendid=ve_id
     left join product on pd_prodid=pr_id
     <where>

+ 1 - 12
applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/SaleApplication.java

@@ -6,8 +6,6 @@ import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
 import org.springframework.cloud.openfeign.EnableFeignClients;
-import org.springframework.web.servlet.config.annotation.CorsRegistry;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
 
 
 /**
@@ -19,18 +17,9 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter
 @EnableEurekaClient
 @EnableFeignClients("com.usoftchina.saas")
 @EnableAuthClient
-public class SaleApplication extends WebMvcConfigurerAdapter {
+public class SaleApplication  {
     public static void main(String[] args) {
         SpringApplication.run(SaleApplication.class, args);
     }
-    @Override
-    public void addCorsMappings(CorsRegistry registry) {
-
-        registry.addMapping("/**")
-                .allowCredentials(true)
-                .allowedHeaders("*")
-                .allowedOrigins("*")
-                .allowedMethods("*");
-    }
 
 }

+ 1 - 1
applications/sale/sale-server/src/main/resources/mapper/ProdInOutListMapper.xml

@@ -204,7 +204,7 @@
 
   <select id="selectHomePageList" resultMap="homePageList">
     select  *,
-    case WHEN pi_class='出货单' then pd_outqty when pi_class='销售退货单' then pd_inqty else 0 end qty
+    case WHEN pi_class='出货单' then ifnull(pd_outqty,0) when pi_class='销售退货单' then ifnull(pd_inqty,0) else 0 end qty
     from prodinout left join prodiodetail on pi_id = pd_piid left join product on pr_id = pd_prodid
     left join customer on pi_custid=cu_id
     <where>

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

@@ -101,6 +101,8 @@ public class AccountCenterServiceImpl implements AccountCenterService {
         if (role != null) {
             accountService.bindRole(accountId, role.getId());
         }
+        //清除角色缓存
+        accountService.clearCache(accountId);
         return Result.success(company.getId());
     }
 

+ 1 - 1
frontend/saas-portal-web/src/components/conenter/company.vue

@@ -56,7 +56,7 @@
       </div>
     </div>
 
-        <div class="gs-qiyebox" ref="qiyebox" style="margin-top: 70px;" :class="isheigh ? 'heigh' : ''">
+        <div class="gs-qiyebox" ref="qiyebox" :class="isheigh ? 'heigh' : ''">
             <!-- 点击查看企业详情 -->
             <div v-for="(d , i) in arr " :key="i" class="gs-xiangqing xs">
                 <div class="left gs-xqleft" @click= "getEnterpriseInfo(d)">

+ 17 - 5
frontend/saas-portal-web/src/components/conenter/enterprise.vue

@@ -48,9 +48,9 @@
                 </div>
     <!-- 个人信息------------------------------------------------------------------- -->
                 <div :class= "{gsqiye:nowindex == 1}">
-                    <div class="over gr-worp" style="margin-bottom: 30px;margin-top: 60px;">
+                    <div class="over gr-worp" style="margin-bottom: 30px;">
                         <div class="left gr-left">
-                            <img src="../../../static/img/qiye/yonghu@2x.png" alt="">
+                            <img src="/static/img/qiye/yonghu@2x.png" alt="">
                         </div>
                         <div class="left gr-right">
                             <ul>
@@ -74,14 +74,14 @@
 
                 <div :class="{gsqiye:nowindex == 2}">
                     <div class="gs-anquanxinxi">
-                        <div class="over aq-title"><span class="left">登录密码</span><button class="right dianji">更换密码</button></div>
+                        <div class="over aq-title"><span class="left">登录密码</span><button @click="changpasd" class="right dianji">更换密码</button></div>
                         <div class="aq-text">
                             <p>安全性高的密码可以使账号更安全,建议您定期更换密码,并且设置一个包含数字和字母,长度超过8位以上的密码。
                             </p>
                         </div>
                     </div>
                     <div class="gs-anquanxinxi">
-                        <div class="over aq-title"><span class="left">手机验证</span><button class="right dianji">修改手机号</button></div>
+                        <div class="over aq-title"><span class="left">手机验证</span><button @click="changphone" class="right dianji">修改手机号</button></div>
                         <div class="aq-text">
                             <p>您绑定的手机:{{mobile}}。若已丢失或停用,请立即更换,避免账户被盗。
                             </p>
@@ -112,7 +112,8 @@ import { setTimeout } from 'timers';
             }
         },
         mounted(){
-            let mob = this.mytoken.mobile;
+            let mob = this.mytoken.mobile.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2');
+            this.mobile = mob
         },
         computed :{
             setTokenPage() {
@@ -130,6 +131,14 @@ import { setTimeout } from 'timers';
                 frame.postMessage('', '*')
                 Session.remove()
                 window.location.href=this.$url.sso+'/logquit?appId=sp&returnURL=https://'+window.location.host
+            },
+            //修改密码
+            changpasd(){
+                window.location.href = 'https://sso.ubtob.com/reset/forgetPasswordValidationAccount?returnURL='+this.$url.web+'&appId=sp'
+            },
+            //修改手机号
+            changphone(){
+                window.location.href = 'https://sso.ubtob.com/validation/phoneValidation?returnURL='+this.$url.web+'&appId=sp'
             }
         },
     }
@@ -140,4 +149,7 @@ import { setTimeout } from 'timers';
         padding-top: 100px;
         background: #FDFDFD;
     }
+    .gsqiye div:last-child {
+        margin-bottom: 100px;
+    }
 </style>

+ 23 - 36
frontend/saas-portal-web/src/components/conenter/problem.vue

@@ -13,33 +13,19 @@
                 </div>
                 <button class="bz-btn">搜索</button>
               </div>
-              <div class="bz-content">
-                <div class="bz-right">
-                  <div class="bz-right-conent">
-                    <div class= "shows">
-                      <ul>
-                        <li>
-                          <span class="left bz-yuandian"></span>
-                          <span class="left">方式不同吧好像是差不多 </span>
-                          <img @click="shows" class="right bz-copy" :class="isrotate ? 'rotates' : 'norotate'" src="/static/img/Triangle Copy 4.png" alt="">
-                          <div class="Text-content" :class="isshow ? 'dispays' : 'hides'">
-                            <p>警方圣诞快乐JFK的实力积分积分累积角度考虑实际疯狂的世界佛教埃及空军看见反抗类毒素解放就</p>
-                          </div>
-                        </li>
-                        <li>
-                          <span class="left bz-yuandian"></span>
-                          <span class="left">XXXXXXXXXXXXXXX操作文档</span>
-                          <img class="right bz-copy" src="/static/img/Triangle Copy 4.png" alt="">
-                        </li>
-                        <li>
-                          <span class="left bz-yuandian"></span>
-                          <span class="left">XXXXXXXXXXXXXXX操作文档</span>
-                          <img class="right bz-copy" src="/static/img/Triangle Copy 4.png" alt="">
-                        </li>
-                      </ul>
+              <div class="bz-right-conent">
+                <ul>
+                  <li v-for="(d , i) in arr" :key="i">
+                    <div class="over" @click="shows(d,i)" style="cursor: pointer">
+                      <span class="left bz-yuandian"></span>
+                      <span class="left">{{d.title}}</span>
+                      <img  class="right bz-copy" :class="d.isshow ? 'rotates' : 'norotate'" src="/static/img/Triangle Copy 4.png" alt="">
                     </div>
-                  </div>
-                </div>
+                    <div ref="title" class="Text-content" :class="d.isshow ? 'dispays' : 'hides'">
+                      <p ref="text">{{d.centent}}</p>
+                    </div>
+                  </li>
+                </ul>
               </div>
             </div>
           </div>
@@ -51,14 +37,18 @@
     export default {
         data(){
           return {
-            isshow: false,
-            isrotate: false
+            arr:[
+              {isshow: true, title:'方式不同吧好像是差不多',centent:'警方圣诞快乐JFK的实力积分积分累积角度考虑实际疯狂的世界佛教埃及空军看见反抗类毒素解放就'},
+              {isshow: false, title:'XXXXXXXXXXXXXXX操作文档',centent:'警方圣诞快发顺丰到付乐JFK的实力积分积分累积角度狂的世界佛教埃及空军看见反抗类毒素解放就'},
+              {isshow: false, title:'XXXXXXXXXXXXX操作文档',centent:'警方圣诞快分积分累积角度考虑实际疯狂的世界佛教埃及空军看见反抗类毒素解放就'},
+            ]
           }
         },
         methods: {
-          shows(){
-            this.isshow = !this.isshow
-            this.isrotate = !this.isrotate
+          shows(d,i){
+            d.isshow = !d.isshow
+            let textH =  this.$refs.text[i].offsetHeight;
+            this.$refs.title[i].style.height = textH + 'px'
           }
         }
     }
@@ -66,16 +56,13 @@
 
 <style scoped>
 .dispays {
-  /* display: block; */
-  height: 60px;
   transition: All 0.4s ease-in-out;
   -webkit-transition: All 0.4s ease-in-out;
   -moz-transition: All 0.4s ease-in-out;
   -o-transition: All 0.4s ease-in-out;
 }
 .hides {
-  /* display: none; */
-  height: 0;
+  height: 0 !important;
   margin-bottom: -13px;
   transition: All 0.4s ease-in-out;
   -webkit-transition: All 0.4s ease-in-out;
@@ -128,7 +115,7 @@
 }
 .bz-copy {
     margin-right: 7px;
-    cursor: pointer;
+    margin-top: 5px;
     transition: All 0.4s ease-in-out;
     -webkit-transition: All 0.4s ease-in-out;
     -moz-transition: All 0.4s ease-in-out;

+ 1 - 1
frontend/saas-portal-web/src/components/conenter/qiyexiangxi.vue

@@ -5,7 +5,7 @@
         <div v-if="xiugai">
             <div class="gs-worp qy-worp" style="width:100%">
                 <div class="qy-title">
-                    <span><img @click= "gobick" style="float: left;padding: 20px; cursor:pointer" src="../../../static/img/fanhui.png" alt=""></span>
+                    <span><img @click= "gobick" style="float: left;padding: 20px; cursor:pointer" src="/static/img/fanhui.png" alt=""></span>
                     <span>企业基本信息</span>
                     <span v-if="isxiugaiId" @click="xiugaiqiye" class="qy-xiugai dianji">修改</span>
                 </div>

+ 25 - 0
frontend/saas-portal-web/src/pages/cell/cell.html

@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta http-equiv="X-UA-Compatible" content="ie=edge">
+    <title>Document</title>
+</head>
+<body>
+    <div id="app">hello</div>
+    <script>
+        // iframe接收消息
+        window.addEventListener('message', function(e) {
+            if (e.data == 'removeToken') {
+                if (e.source != window.parent) {
+                    return;
+                }
+                var storeKey = 'app-state-session';
+                localStorage.removeItem(storeKey);
+                window.parent.postMessage("success", "*");
+            }
+        });
+    </script>
+</body>
+</html>

+ 0 - 0
frontend/saas-portal-web/src/pages/cell/cell.js


+ 15 - 0
frontend/saas-portal-web/src/pages/cell/cell.vue

@@ -0,0 +1,15 @@
+<template>
+    <div>
+
+    </div>
+</template>
+
+<script>
+    export default {
+        
+    }
+</script>
+
+<style scoped>
+
+</style>

+ 0 - 108
frontend/saas-portal-web/static/css/animate.css

@@ -23,116 +23,8 @@ Copyright (c) 2013 Daniel Eden
           animation-duration: 2s;
 }
 
-@-webkit-keyframes bounce {
-  0%, 20%, 50%, 80%, 100% {
-    -webkit-transform: translateY(0);
-    transform: translateY(0);
-  }
-
-  40% {
-    -webkit-transform: translateY(-30px);
-    transform: translateY(-30px);
-  }
-
-  60% {
-    -webkit-transform: translateY(-15px);
-    transform: translateY(-15px);
-  }
-}
-
-@keyframes bounce {
-  0%, 20%, 50%, 80%, 100% {
-    -webkit-transform: translateY(0);
-    -ms-transform: translateY(0);
-    transform: translateY(0);
-  }
-
-  40% {
-    -webkit-transform: translateY(-30px);
-    -ms-transform: translateY(-30px);
-    transform: translateY(-30px);
-  }
-
-  60% {
-    -webkit-transform: translateY(-15px);
-    -ms-transform: translateY(-15px);
-    transform: translateY(-15px);
-  }
-}
-
-.bounce {
-  -webkit-animation-name: bounce;
-  animation-name: bounce;
-}
-
-@-webkit-keyframes flash {
-  0%, 50%, 100% {
-    opacity: 1;
-  }
-
-  25%, 75% {
-    opacity: 0;
-  }
-}
-
-@keyframes flash {
-  0%, 50%, 100% {
-    opacity: 1;
-  }
-
-  25%, 75% {
-    opacity: 0;
-  }
-}
-
-.flash {
-  -webkit-animation-name: flash;
-  animation-name: flash;
-}
-
 /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
 
-@-webkit-keyframes pulse {
-  0% {
-    -webkit-transform: scale(1);
-    transform: scale(1);
-  }
-
-  50% {
-    -webkit-transform: scale(1.1);
-    transform: scale(1.1);
-  }
-
-  100% {
-    -webkit-transform: scale(1);
-    transform: scale(1);
-  }
-}
-
-@keyframes pulse {
-  0% {
-    -webkit-transform: scale(1);
-    -ms-transform: scale(1);
-    transform: scale(1);
-  }
-
-  50% {
-    -webkit-transform: scale(1.1);
-    -ms-transform: scale(1.1);
-    transform: scale(1.1);
-  }
-
-  100% {
-    -webkit-transform: scale(1);
-    -ms-transform: scale(1);
-    transform: scale(1);
-  }
-}
-
-.pulse {
-  -webkit-animation-name: pulse;
-  animation-name: pulse;
-}
 
 @-webkit-keyframes rubberBand {
   0% {

+ 3 - 3
frontend/saas-portal-web/static/css/gongsi.css

@@ -99,7 +99,7 @@
 }
 .gsqiye {
     display: block !important;
-    margin-top: -30px;
+    margin-top: 70px;
 }
 .gs-xiangqing {
     height: 112px;
@@ -276,7 +276,7 @@
     border-radius: 4px;
     overflow: hidden;
     margin-bottom: 24px;
-    padding: 28px 93px 28px 103px;
+    padding: 28px 70px;
 }
 .aq-title span {
     font-family: PingFangSC-Medium;
@@ -296,7 +296,7 @@
 .aq-text {
     font-family: PingFangSC-Regular;
     font-size: 14px;
-    color: #243A52;
+    color: #808D98;
     text-align: left;
     margin-top: 20px;
 }

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 40 - 920
frontend/saas-portal-web/static/css/main.css


+ 10 - 1
frontend/saas-web/app.json

@@ -322,6 +322,7 @@
             "type": "yui"
         },
         "server": {
+            /** 暂时更改
             "accountCenter": "https://saas-test.usoftchina.com:5443",
             "accountEnterprise": "https://saas-test.usoftchina.com:5443/#/enterprise",
             "basePath": {
@@ -329,6 +330,14 @@
                 "http": "http://192.168.0.181:8575"
             },
             "urlPattern": "^\/api\/"
+            **/
+            "accountCenter":"http://192.168.0.181:8000",
+            "accountEnterprise":"http://192.168.0.181:8000/#/enterprise",
+            "basePath": {
+                "https": "https://saas-api-dev.usoftchina.com:5443",
+                "http": "http://192.168.0.181:8560"
+            },
+            "urlPattern": "^\/api\/"
         }
     },
 
@@ -344,7 +353,7 @@
             "accountEnterprise":"http://192.168.0.181:8000/#/enterprise",
             "basePath": {
                 "https": "https://saas-api-dev.usoftchina.com:5443",
-                "http": "http://192.168.253.58:8560"
+                "http": "http://192.168.0.181:8560"
             },
             "urlPattern": "^\/api\/"
         }

+ 1 - 1
frontend/saas-web/app/view/core/base/GridPanel.js

@@ -118,7 +118,7 @@ Ext.define('saas.view.core.base.GridPanel', {
                                 text:'启用',
                                 handler:function(){
                                     var form = this.ownerCt.ownerCmp.ownerCt.ownerCt.ownerCt;
-                                    me.onVastDeal(form._batchOpenUrl,'OPEN');
+                                    me.onVastDeal(form._batchOpenUrl,'ENABLE');
                                 }
                             }],
                             listeners: {

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

@@ -9,7 +9,6 @@ Ext.define('saas.view.core.dbfind.types.VendorDbfindTrigger', {
     dataUrl:'/api/document/vendor/list',
     addXtype: 'document-vendor-formpanel',
     addTitle: '供应商资料',
-    defaultCondition:"ve_statuscode='ENABLE'",
 
     //联想设置
     dbtpls:[{
@@ -17,7 +16,7 @@ Ext.define('saas.view.core.dbfind.types.VendorDbfindTrigger', {
     },{
         field:'ve_name',width:200
     }],
-    defaultCondition: "ve_statuscode='OPEN'",
+    defaultCondition: "ve_statuscode='ENABLE'",
     dbSearchFields:[{
         emptyText:'输入供应商编号或名称',
         xtype : "textfield", 

+ 2 - 2
frontend/saas-web/app/view/core/dbfind/types/WarehouseDbfindTrigger.js

@@ -83,7 +83,7 @@ Ext.define('saas.view.core.dbfind.types.WarehouseDbfindTrigger', {
                     items: [{
                         iconCls:'',
                         getClass: function(v, meta, rec) {
-                            if(rec.get('wh_statuscode')=='OPEN'){
+                            if(rec.get('wh_statuscode')=='ENABLE'){
                                 return 'x-grid-checkcolumn-checked-btn';
                             }else{
                                 return 'x-grid-checkcolumn-btn';
@@ -91,7 +91,7 @@ Ext.define('saas.view.core.dbfind.types.WarehouseDbfindTrigger', {
                         },
                         handler: function(view, rowIndex, colIndex) {
                             var rec = view.getStore().getAt(rowIndex);
-                            var type=rec.get('wh_statuscode')=='OPEN'?true:false;
+                            var type=rec.get('wh_statuscode')=='ENABLE'?true:false;
                             //  禁用/启用
                             var form = this.ownerCt.ownerCt.ownerCt;
                             var grid = this.ownerCt.ownerCt;

+ 15 - 7
frontend/saas-web/app/view/core/form/FormPanel.js

@@ -365,16 +365,24 @@ Ext.define('saas.view.core.form.FormPanel', {
             name = item.name,
             ignore = item.ignore,
             defaultValue = item.defaultValue;
-            
-            if (xtype == 'detailGridField') {
-                item.listeners = item.listeners || {};
-                item.listeners.validChange = function() {
-                    me.isValid();
-                }
 
+            item.listeners = item.listeners || {};
+            item.listeners.validChange = function() {
+                me.isValid();
+            }
+            item.listeners.validitychange = function() {
+                me.isValid();
+            }
+
+
+            if (xtype == 'detailGridField') {
                 return;
             }
 
+            if(item.readOnly){
+                item.defaultReadOnly = item.readOnly;
+            }
+
             if (bind) {
                 if (!Ext.isString(bind)) {
                     Ext.apply(bind, {
@@ -429,7 +437,7 @@ Ext.define('saas.view.core.form.FormPanel', {
 
         Ext.Array.each(items, function(item) {
             if(typeof item.setReadOnly  == 'function') {
-               item.setReadOnly (!able);
+               item.setReadOnly (item.defaultReadOnly || !able);
             }
         });
     },

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

@@ -68,7 +68,7 @@ Ext.define('saas.view.document.bom.FormController', {
         statusCodeField = form._statusCodeField,
         viewModel = me.getViewModel(),
         status = viewModel.data[statusCodeField];
-        status == 'OPEN' ? me.unAudit() : me.audit();
+        status == 'ENABLE' ? me.unAudit() : me.audit();
     },
 
     audit: function(){

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

@@ -219,9 +219,9 @@ Ext.define('saas.view.document.bom.FormPanel', {
     }],
 
     auditTexts: {
-        auditCode: 'CLOSE',
+        auditCode: 'BANNED',
         auditText: '已禁用',
-        unAuditCode: 'OPEN',
+        unAuditCode: 'ENABLE',
         unAuditText: '已启用',
         auditBtnText: '禁用',
         unAuditBtnText: '启用',

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

@@ -27,7 +27,7 @@ Ext.define('saas.view.document.customer.FormController', {
         statusCodeField = form._statusCodeField,
         viewModel = me.getViewModel(),
         status = viewModel.data[statusCodeField];
-        status == 'OPEN' ? me.unAudit() : me.audit();
+        status == 'ENABLE' ? me.unAudit() : me.audit();
     },
 
     audit: function(){

+ 2 - 2
frontend/saas-web/app/view/document/customer/FormPanel.js

@@ -437,9 +437,9 @@ Ext.define('saas.view.document.customer.FormPanel', {
         handler: "auditBtnClick",
     }],
     auditTexts: {
-        auditCode: 'CLOSE',
+        auditCode: 'BANNED',
         auditText: '已禁用',
-        unAuditCode: 'OPEN',
+        unAuditCode: 'ENABLE',
         unAuditText: '已启用',
         auditBtnText: '禁用',
         unAuditBtnText: '启用',

+ 13 - 4
frontend/saas-web/app/view/document/kind/ChildForm.js

@@ -229,6 +229,7 @@ Ext.define('KitchenSink.view.binding.ChildForm', {
                 xtype:'textfield',
                 name:'ft_name',
                 allowBlank:false,
+                relativeField:'ord_type',
                 fieldLabel:'收支名称',
                 maxLength: 20
             },{
@@ -478,7 +479,7 @@ Ext.define('KitchenSink.view.binding.ChildForm', {
                 xtype:'hidden',
                 fieldLabel: '仓库状态码',
                 name: 'wh_statuscode',
-                value:'OPEN'
+                value:'ENABLE'
             }]
         },
         employee:{
@@ -621,6 +622,7 @@ Ext.define('KitchenSink.view.binding.ChildForm', {
         var form=this.down('form');
         var combo = this._combo;
         var params = {};
+        var relativeField,relativeValue;//要赋值的字段和值
         var names = belong.columns.map(column => column.dataIndex);
 
         //账户资料特殊保存逻辑
@@ -645,7 +647,10 @@ Ext.define('KitchenSink.view.binding.ChildForm', {
                     }
 
                     params[name] = value;
-                    params._value = value;
+                    if(!relativeValue){
+                        relativeField = dataField.relativeField;
+                        relativeValue = value;
+                    }
                 }
             }
         });
@@ -665,9 +670,14 @@ Ext.define('KitchenSink.view.binding.ChildForm', {
                 if(grid){
                     grid.store.load();
                 }
+                if(relativeField&&relativeValue&&form.ownerCt._parent){
+                    var grid = form.ownerCt._parent.down('grid');
+                    var rec = grid.getSelectionModel().getLastSelected();
+                    rec.set(relativeField,relativeValue);
+                }
                 if(combo){
                     combo.store.load(function() {
-                        typeof combo.setValue == 'function' && combo.setValue(params._value);
+                        typeof combo.setValue == 'function' && combo.setValue(relativeValue);
                     });
                 }
                 saas.util.BaseUtil.showSuccessToast('保存成功');
@@ -697,7 +707,6 @@ Ext.define('KitchenSink.view.binding.ChildForm', {
                 var dataField = form.down('[name='+name+']');
                 if(dataField&&dataField.value){
                     params[name] = dataField.value;
-                    params._value = dataField.value;
                 }
             }
         });

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

@@ -354,7 +354,7 @@ Ext.define('saas.view.document.kind.Kind', {
                 items: [{
                     iconCls:'',
                     getClass: function(v, meta, rec) {
-                        if(rec.get('wh_statuscode')=='OPEN'){
+                        if(rec.get('wh_statuscode')=='ENABLE'){
                             return 'x-grid-checkcolumn-checked-btn';
                         }else{
                             return 'x-grid-checkcolumn-btn';
@@ -362,7 +362,7 @@ Ext.define('saas.view.document.kind.Kind', {
                     },
                     handler: function(view, rowIndex, colIndex) {
                         var rec = view.getStore().getAt(rowIndex);
-                        var type=rec.get('wh_statuscode')=='OPEN'?true:false;
+                        var type=rec.get('wh_statuscode')=='ENABLE'?true:false;
                         //  禁用/启用
                         var form = this.ownerCt.ownerCt.ownerCt;
                         var grid = this.ownerCt.ownerCt;

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

@@ -98,7 +98,7 @@ Ext.define('saas.view.document.product.FormController', {
         statusCodeField = form._statusCodeField,
         viewModel = me.getViewModel(),
         status = viewModel.data[statusCodeField];
-        status == 'OPEN' ? me.unAudit() : me.audit();
+        status == 'ENABLE' ? me.unAudit() : me.audit();
     },
     audit: function(){
         var me = this,

+ 3 - 3
frontend/saas-web/app/view/document/product/FormPanel.js

@@ -198,7 +198,7 @@ Ext.define('saas.view.document.product.FormPanel', {
         fieldLabel : "更新时间"
     }, {
         xtype: 'numberfield',
-        fieldLabel: '采购提前期',
+        fieldLabel: '提前期',
         name: 'pr_leadtime',
         minValue: 0,
         maxLength: 10
@@ -356,9 +356,9 @@ Ext.define('saas.view.document.product.FormPanel', {
         handler: "auditBtnClick",
     }],
     auditTexts: {
-        auditCode: 'CLOSE',
+        auditCode: 'BANNED',
         auditText: '已禁用',
-        unAuditCode: 'OPEN',
+        unAuditCode: 'ENABLE',
         unAuditText: '已启用',
         auditBtnText: '禁用',
         unAuditBtnText: '启用',

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

@@ -12,7 +12,7 @@ Ext.define('saas.view.document.vendor.FormController', {
         statusCodeField = form._statusCodeField,
         viewModel = me.getViewModel(),
         status = viewModel.data[statusCodeField];
-        status == 'OPEN' ? me.unAudit() : me.audit();
+        status == 'ENABLE' ? me.unAudit() : me.audit();
     },
 
     audit: function(){

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

@@ -321,9 +321,9 @@ Ext.define('saas.view.document.vendor.FormPanel', {
         handler: "auditBtnClick",
     }],
     auditTexts: {
-        auditCode: 'CLOSE',
+        auditCode: 'BANNED',
         auditText: '已禁用',
-        unAuditCode: 'OPEN',
+        unAuditCode: 'ENABLE',
         unAuditText: '已启用',
         auditBtnText: '禁用',
         unAuditBtnText: '启用',

+ 1 - 1
frontend/saas-web/app/view/home/infoCardList/Payment.js

@@ -36,7 +36,7 @@ Ext.define('saas.view.home.infoCardList.Payment', {
     }, {
         text: '供应商名称',
         dataIndex: 'pi_vendname',
-        width: 150
+        width: 250
     }, {
         text: '审核状态',
         align: 'center',

+ 17 - 23
frontend/saas-web/app/view/home/infoCardList/SaleOut.js

@@ -19,46 +19,51 @@ Ext.define('saas.view.home.infoCardList.SaleOut', {
     }, {
         text: '单据编号',
         dataIndex: 'sa_code',
-        width: 200
+        width: 150
     }, {
         text: '单据状态',
         align: 'center',
         dataIndex: 'sa_status',
-        width: 120
+        width: 90
+    }, {
+        text: '业务状态',
+        align: 'center',
+        dataIndex: 'sa_sendstatus',
+        width: 90
     }, {
         text: '单据日期',
         dataIndex: 'sa_date',
         xtype: 'datecolumn',
-        width: 200
+        width: 110
     }, {
         text: '客户名称',
         dataIndex: 'sa_custname',
-        width: 120
+        width: 250
     }, {
         text: '明细序号',
         dataIndex: 'sd_detno',
         xtype: 'numbercolumn',
-        width: 120,
+        width: 100,
         renderer: function (v) {
             return Ext.util.Format.number(v, '0');
         }
     }, {
         text: '物料编号',
         dataIndex: 'sd_prodcode',
-        width: 120
+        width: 150
     }, {
         text: '物料名称',
         dataIndex: 'pr_detail',
-        width: 120
+        width: 200
     }, {
         text: '物料规格',
         dataIndex: 'pr_spec',
-        width: 120
+        width: 150
     }, {
         text: '数量',
         dataIndex: 'sd_qty',
         xtype: 'numbercolumn',
-        width: 120,
+        width: 110,
         renderer: function (v) {
             var arr = (v + '.').split('.');
             var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
@@ -69,7 +74,7 @@ Ext.define('saas.view.home.infoCardList.SaleOut', {
         text: '单价',
         dataIndex: 'sd_price',
         xtype: 'numbercolumn',
-        width: 120,
+        width: 110,
         renderer: function (v) {
             var arr = (v + '.').split('.');
             var xr = (new Array(arr[1].length > 8 ? 8 : arr[1].length)).fill('0');
@@ -80,7 +85,7 @@ Ext.define('saas.view.home.infoCardList.SaleOut', {
         text: '已转数',
         dataIndex: 'sd_yqty',
         xtype: 'numbercolumn',
-        width: 120,
+        width: 110,
         renderer: function (v) {
             var arr = (v + '.').split('.');
             var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
@@ -91,18 +96,7 @@ Ext.define('saas.view.home.infoCardList.SaleOut', {
         text: '已出货数',
         dataIndex: 'sd_sendqty',
         xtype: 'numbercolumn',
-        width: 120,
-        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: '已审核采购单数',
-        dataIndex: 'sd_pdqty',
-        xtype: 'numbercolumn',
-        width: 180,
+        width: 110,
         renderer: function (v) {
             var arr = (v + '.').split('.');
             var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');

+ 1 - 1
frontend/saas-web/app/view/home/infoCardList/UnauditCheckIn.js

@@ -36,7 +36,7 @@ Ext.define('saas.view.home.infoCardList.UnauditCheckIn', {
     }, {
         text: '供应商名称',
         dataIndex: 'pi_vendname',
-        width: 150
+        width: 250
     }, {
         text: '审核状态',
         align: 'center',

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

@@ -189,7 +189,7 @@ Ext.define('saas.view.money.fundtransfer.FormPanel', {
         name : "ft_remark", 
         fieldLabel : "备注", 
         allowBlank : true, 
-        columnWidth : 0.75
+        columnWidth : 1
     },{
         xtype : "hidden", 
         name : "creatorId", 

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

@@ -214,8 +214,8 @@ Ext.define('saas.view.money.payBalance.FormPanelController', {
         var sum_pbd_nowbalance = store2.sum('pbd_nowbalance'); // 本次核销金额合计
 
         var flag = sum_pd_amount + pb_discounts - sum_pbd_nowbalance;
-         viewModel.set("pb_pbdamount",sum_rbd_nowbalance);
-         viewModel.set("pb_pdamount",sum_rd_amount);
+         viewModel.set("pb_pbdamount",sum_pbd_nowbalance);
+         viewModel.set("pb_pdamount",sum_pd_amount);
          viewModel.set("pb_preamount",flag);
         if(flag != 0) {
             var t = flag > 0 ? '大' : '小';

+ 15 - 13
frontend/saas-web/app/view/money/report/AccountBalance.js

@@ -10,7 +10,7 @@ Ext.define('saas.view.money.report.AccountBalance', {
     groupField: 'bankname',
     listUrl: '/api/money/report/accountBalance',
     defaultCondition: null,
-    reportTitle: '资金账户余额表',
+    reportTitle: '账户收支明细表',
     QueryWidth: 0.25,
     //筛选:账户、日期(必填)
     searchItems: [{
@@ -78,18 +78,20 @@ Ext.define('saas.view.money.report.AccountBalance', {
             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: '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

+ 14 - 18
frontend/saas-web/app/view/money/report/CustomerCheck.js

@@ -11,7 +11,7 @@ Ext.define('saas.view.money.report.CustomerCheckCheck', {
     listUrl: '/api/money/report/customercheck',
     defaultCondition: null,
     reportTitle: '客户对账单',
-    QueryWidth: 0.2,
+    QueryWidth: 0.4,
     autoLoad: false,
     //筛选:客户、日期(必填)
     searchItems: [{
@@ -26,11 +26,11 @@ Ext.define('saas.view.money.report.CustomerCheckCheck', {
             }
         }
     }, {
-        xtype: 'monthdatefield',
-        name: 'ym',
-        fieldLabel: '期初日期',
-        columnWidth: 0.2
-    }, {
+    //     xtype: 'monthdatefield',
+    //     name: 'ym',
+    //     fieldLabel: '期初日期',
+    //     columnWidth: 0.2
+    // }, {
         xtype: 'condatefield',
         name: 'pi_date',
         fieldLabel: '单据日期',
@@ -41,19 +41,15 @@ Ext.define('saas.view.money.report.CustomerCheckCheck', {
         text: 'id',
         dataIndex: 'pi_id',
         hidden: true
-    }, {
-        text: '单号',
-        dataIndex: 'pi_inoutno',
-        width: 150
-    }, {
-        text: '单据类型',
-        dataIndex: 'pi_class',
-        width: 110
-    }, {
+    },  {
         text: '单据日期',
         dataIndex: 'pi_date',
         xtype: 'datecolumn',
         width: 110
+    }, {
+        text: '单号',
+        dataIndex: 'pi_inoutno',
+        width: 150
     }, {
         text: '序号',
         dataIndex: 'pd_pdno',
@@ -135,9 +131,9 @@ Ext.define('saas.view.money.report.CustomerCheckCheck', {
         //     return Ext.util.Format.number(v, format);
         // }
     }, {
-        text: '备注',
-        dataIndex: 'pd_remark',
-        width: 250
+        text: '单据类型',
+        dataIndex: 'pi_class',
+        width: 110
     }, {
         text: '期初应收',
         dataIndex: 'beginamount',

+ 5 - 13
frontend/saas-web/app/view/money/report/PayDetail.js

@@ -29,27 +29,19 @@ Ext.define('saas.view.money.report.PayDetail', {
             text: 'id',
             dataIndex: 'pi_id',
             hidden: true
+        }, {
+            text: '单据日期',
+            xtype: 'datecolumn',
+            dataIndex: 'pb_date',
+            width: 110
         }, {
             text: '单号',
             dataIndex: 'pi_inoutno',
             width: 150
-        },{
-            text:'供应商编号',
-            dataIndex:'pi_vendcode',
-            width: 150
-        },{
-            text:'供应商名称',
-            width: 200,
-            dataIndex:'pi_vendname'
         }, {
             text: '单据类型',
             dataIndex: 'pi_class',
             width: 110
-        }, {
-            text: '单据日期',
-            xtype: 'datecolumn',
-            dataIndex: 'pb_date',
-            width: 110
         }, {
             text: '采购员',
             dataIndex: 'pu_buyercode',

+ 8 - 19
frontend/saas-web/app/view/money/report/RecDetail.js

@@ -34,14 +34,6 @@ Ext.define('saas.view.money.report.RecDetail', {
             text: '单号',
             dataIndex: 'pi_inoutno',
             width: 150
-        }, {
-            text: '客户编号',
-            dataIndex: 'pi_custcode',
-            width: 150
-        }, {
-            text: '客户名称',
-            dataIndex: 'pi_custname',
-            width: 200
         }, {
             text: '单据类型',
             dataIndex: 'pi_class',
@@ -54,12 +46,14 @@ Ext.define('saas.view.money.report.RecDetail', {
             text: '单据日期',
             dataIndex: 'rb_date',
             width: 110
-        }, {
-            text: '序号',
-            dataIndex: 'pd_pdno',
-            xtype: 'numbercolumn',
-            width: 80
-        },{
+        },
+        // }, {
+        //     text: '序号',
+        //     dataIndex: 'pd_pdno',
+        //     xtype: 'numbercolumn',
+        //     width: 80
+        // },{
+        {
             text:'期初应收',
             dataIndex:'cu_beginaramount',
             xtype: 'numbercolumn',
@@ -115,11 +109,6 @@ Ext.define('saas.view.money.report.RecDetail', {
                 var format = '0,000.' + xr.join();
                 return Ext.util.Format.number(v, format);
             }
-        }, {
-            text: '应收日期',
-            dataIndex: 'mustdate',
-            xtype:'datecolumn',
-            width: 110
         }, {
             text: '单据总金额',
             dataIndex: 'pi_total',

+ 14 - 18
frontend/saas-web/app/view/money/report/VendorCheck.js

@@ -11,7 +11,7 @@ Ext.define('saas.view.money.report.VendorCheck', {
     listUrl: '/api/money/report/vendorCheck',
     defaultCondition: null,
     reportTitle: '供应商对账单',
-    QueryWidth:0.2,
+    QueryWidth:0.4,
     autoLoad:false,
     //筛选:供应商、日期(必填)
     searchItems: [ {
@@ -26,11 +26,11 @@ Ext.define('saas.view.money.report.VendorCheck', {
             }
         }
     }, {
-        xtype: 'monthdatefield',
-        name: 'ym',
-        fieldLabel: '期初日期',
-        columnWidth: 0.2
-    }, {
+    //     xtype: 'monthdatefield',
+    //     name: 'ym',
+    //     fieldLabel: '期初日期',
+    //     columnWidth: 0.2
+    // }, {
         xtype: 'condatefield',
         name: 'pi_date',
         fieldLabel: '单据日期',
@@ -41,20 +41,16 @@ Ext.define('saas.view.money.report.VendorCheck', {
         text: 'id',
         dataIndex: 'pi_id',
         hidden: true
-    }, {
-        text: '单号',
-        dataIndex: 'pi_inoutno',
-        width: 150
-    }, {
-        text: '单据类型',
-        dataIndex: 'pi_class',
-        width: 110
     }, {
         text: '单据日期',
         dataIndex: 'pi_date',
         xtype:'datecolumn',
         width: 110
     }, {
+        text: '单号',
+        dataIndex: 'pi_inoutno',
+        width: 150
+    },  {
         text: '序号',
         dataIndex: 'pd_pdno',
         width: 80
@@ -85,7 +81,7 @@ Ext.define('saas.view.money.report.VendorCheck', {
         dataIndex: 'pd_unit',
         width: 80
     }, {
-        text: '采购数量',
+        text: '数量',
         xtype: 'numbercolumn',
         dataIndex: 'qty',
         xtype: 'numbercolumn',
@@ -143,9 +139,9 @@ Ext.define('saas.view.money.report.VendorCheck', {
         xtype: 'numbercolumn',
         width: 110
     }, {
-        text: '备注',
-        dataIndex: 'pd_remark',
-        width: 250
+        text: '单据类型',
+        dataIndex: 'pi_class',
+        width: 110
     }, {
         text: '期初应付',
         dataIndex: 'beginamount',

+ 50 - 0
frontend/saas-web/app/view/money/verification/FormPanelController.js

@@ -485,6 +485,56 @@ Ext.define('saas.view.money.verification.FormPanelController', {
         return defaultCondition;
     },
 
+    /**
+     * 清空所有从表数据
+     */
+    clearDetails: function() {
+        var me = this;
+        
+        me.clearDetail0();
+        me.clearDetail1();
+    },
+
+    /**
+     * 清空第一个从表数据
+     */
+    clearDetail0: function(f, n, o) {
+        var me = this,
+        form = me.getView(),
+        grid = form.query('detailGridField')[0];
+        me.clearDetail(grid);
+    },
+
+    /**
+     * 清空第二个从表数据
+     */
+    clearDetail1: function() {
+        var me = this,
+        form = me.getView(),
+        grid = form.query('detailGridField')[1];
+        me.clearDetail(grid);
+    },
+
+    /**
+     * 清空一个从表数据
+     */
+    clearDetail: function(grid) {
+        var datas = [],
+        emptyRows = grid.emptyRows,
+        detnoColumn = grid.detnoColumn,
+        detno = 0,
+        store = grid.getStore();
+        
+        Ext.Array.each(new Array(emptyRows), function() {
+            detno += 1;
+            var data = {};
+            data[detnoColumn] = detno;
+            datas.push(data);
+        })
+        store.removeAll();
+        store.add(datas);
+    },
+
     onSave: function() {
         var me = this,
             form = me.getView(),

+ 0 - 14
frontend/saas-web/app/view/purchase/purchase/QueryPanel.js

@@ -8,14 +8,6 @@ Ext.define('saas.view.purchase.purchase.QueryPanel', {
     viewName: 'purchase-purchase-querypanel',
     
     queryFormItems: [{
-        xtype: 'hidden',
-        name: 'pu_id',
-        fieldLabel: 'ID',
-        allowBlank: true,
-        getCondition: function(value) {
-            return 'pu_id=' + value;
-        }
-    }, {
         xtype: 'textfield',
         name: 'pu_code',
         fieldLabel: ' ',
@@ -36,12 +28,6 @@ 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',

+ 0 - 11
frontend/saas-web/app/view/purchase/purchaseIn/QueryPanel.js

@@ -8,11 +8,6 @@ Ext.define('saas.view.purchase.purchaseIn.QueryPanel', {
     viewName: 'purchase-purchasein-querypanel',
 
     queryFormItems: [{
-        xtype: 'hidden',
-        name: 'id',
-        fieldLabel: 'ID',
-        columnWidth: 0
-    },{
         xtype: 'textfield',
         name: 'pi_inoutno',
         emptyText:'请输入单号或供应商',
@@ -31,12 +26,6 @@ Ext.define('saas.view.purchase.purchaseIn.QueryPanel', {
         fieldLabel: '物料',
         emptyText:'输入物料编号或名称',
         showDetail: true
-    }, {
-        xtype: 'textfield',
-        name: 'pd_prodcode',
-        fieldLabel: '物料编号',
-        hidden:true,
-        showDetail: true
     }, {
         xtype: 'combobox',
         name: 'pi_statuscode',

+ 0 - 14
frontend/saas-web/app/view/purchase/purchaseOut/QueryPanel.js

@@ -8,14 +8,6 @@ Ext.define('saas.view.purchase.purchaseOut.QueryPanel', {
     viewName: 'purchase-purchaseout-querypanel',
 
     queryFormItems: [{
-        xtype: 'hidden',
-        name: 'id',
-        fieldLabel: 'ID',
-        columnWidth: 0,
-        getCondition: function(value) {
-            return 'pi_id=' + value;
-        }
-    },{
         xtype: 'textfield',
         name: 'pi_inoutno',
         emptyText:'请输入单号或供应商',
@@ -34,12 +26,6 @@ Ext.define('saas.view.purchase.purchaseOut.QueryPanel', {
         fieldLabel: '物料',
         emptyText:'输入物料编号或名称',
         showDetail: true
-    }, {
-        xtype: 'textfield',
-        name: 'pd_prodcode',
-        fieldLabel: '物料编号',
-        hidden:true,
-        showDetail: true
     }, {
         xtype: 'combobox',
         name: 'pi_statuscode',

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

@@ -8,14 +8,6 @@ Ext.define('saas.view.sale.sale.QueryPanel', {
     viewName: 'sale-sale-querypanel',
     
     queryFormItems: [{
-        xtype: 'hidden',
-        name: 'sa_id',
-        fieldLabel: 'ID',
-        columnWidth: 0,
-        getCondition: function(value) {
-            return 'sa_id=' + value;
-        }
-    },{
         xtype: 'textfield',
         name: 'sa_code',
         emptyText:'请输入单号或客户',
@@ -254,20 +246,7 @@ Ext.define('saas.view.sale.sale.QueryPanel', {
                 var format = '0.' + xr.join();
                 return Ext.util.Format.number(v, format);
             },
-        },
-        //  {
-        //     text: '已审核采购单数',
-        //     dataIndex: 'sd_pdqty',
-        //     xtype: 'numbercolumn',
-        //     width: 180,
-        //     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: '备注',
             dataIndex: 'sd_remark',
             width: 250

+ 46 - 11
frontend/saas-web/app/view/sale/saleIn/QueryPanel.js

@@ -8,10 +8,6 @@ Ext.define('saas.view.sale.saleIn.QueryPanel', {
     viewName: 'sale-salein-querypanel',
 
     queryFormItems: [{
-        xtype: 'hidden',
-        name: 'id',
-        fieldLabel: 'ID'
-    },{
         xtype: 'textfield',
         name: 'pi_inoutno',
         emptyText:'请输入单号或客户',
@@ -122,7 +118,13 @@ Ext.define('saas.view.sale.saleIn.QueryPanel', {
             text: '总金额',
             dataIndex: 'pi_total',
             xtype:'numbercolumn',
-            width: 110
+            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.' + xr.join();
+                return Ext.util.Format.number(v, format);
+            }
         }, {
             text: '单据状态',
             align: 'center',
@@ -149,7 +151,13 @@ Ext.define('saas.view.sale.saleIn.QueryPanel', {
             text: '未含税金额',
             dataIndex: 'pi_nettotal',
             xtype:'numbercolumn',
-            width: 0
+            width: 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);
+            }
         },{
             text: '单据类型',
             dataIndex: 'pi_class',
@@ -204,27 +212,54 @@ Ext.define('saas.view.sale.saleIn.QueryPanel', {
             text: '退货数量',
             dataIndex: 'pd_inqty',
             xtype:'numbercolumn',
-            width: 110
+            width: 110,
+            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: '销售单价',
             dataIndex: 'pd_sendprice',
             xtype:'numbercolumn',
-            width: 110
+            width: 110,
+            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: '金额',
             dataIndex: 'pd_total',
             xtype:'numbercolumn',
-            width: 110
+            width: 110,
+            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: '税率',
             dataIndex: 'pd_taxrate',
             xtype:'numbercolumn',
-            width: 80
+            width: 80,
+            renderer : function(v) {
+                return Ext.util.Format.number(v, '0');
+            }
         }, {
             text: '成本单价',
             dataIndex: 'pd_price',
             xtype:'numbercolumn',
-            width: 110
+            width: 110,
+            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: '备注',
             dataIndex: 'pd_remark',

+ 1 - 6
frontend/saas-web/app/view/sale/saleOut/QueryPanel.js

@@ -8,11 +8,6 @@ Ext.define('saas.view.sale.saleout.QueryPanel', {
     viewName: 'sale-saleout-querypanel',
 
     queryFormItems: [{
-        xtype: 'hidden',
-        name: 'pi_id',
-        fieldLabel: 'ID',
-        columnWidth: 0
-    },{
         xtype: 'textfield',
         name: 'pi_inoutno',
         emptyText:'请输入单号或客户',
@@ -258,7 +253,7 @@ Ext.define('saas.view.sale.saleout.QueryPanel', {
             width: 110,
             renderer : function(v) {
                 var arr = (v + '.').split('.');
-                var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
+                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);
             }

+ 0 - 6
frontend/saas-web/app/view/stock/appropriationInOut/QueryPanel.js

@@ -8,12 +8,6 @@ Ext.define('saas.view.stock.appropriationInOut.QueryPanel', {
     viewName: 'stock-appropriationinout-querypanel',
 
     queryFormItems: [{
-        xtype: 'hidden',
-        name: 'id',
-        fieldLabel: 'ID',
-        allowBlank: true,
-        columnWidth: 0
-    },{
         xtype: 'textfield',
         name: 'pi_inoutno',
         emptyText:'请输入单号',

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

@@ -8,14 +8,6 @@ Ext.define('saas.view.stock.make.QueryPanel', {
     viewName: 'stock-make-querypanel',
     
     queryFormItems: [{
-        xtype: 'hidden',
-        name: 'ma_id',
-        fieldLabel: 'ID',
-        allowBlank: true,
-        getCondition: function(value) {
-            return 'ma_id=' + value;
-        }
-    },{
         xtype: 'textfield',
         name: 'ma_code',
         emptyText :'请输入单号',

+ 0 - 12
frontend/saas-web/app/view/stock/otherIn/QueryPanel.js

@@ -8,12 +8,6 @@ Ext.define('saas.view.stock.otherIn.QueryPanel', {
     viewName: 'stock-otherin-querypanel',
 
     queryFormItems: [{
-        xtype: 'hidden',
-        name: 'id',
-        fieldLabel: 'ID',
-        allowBlank: true,
-        columnWidth: 0
-    },{
         xtype: 'textfield',
         name: 'pi_inoutno',
         emptyText:'请输入单号',
@@ -36,12 +30,6 @@ Ext.define('saas.view.stock.otherIn.QueryPanel', {
         fieldLabel: '物料',
         emptyText:'输入物料编号或名称',
         showDetail: true
-    }, {
-        xtype: 'textfield',
-        name: 'pd_prodcode',
-        fieldLabel: '物料编号',
-        hidden:true,
-        showDetail: true
     }, {
         xtype: 'vendorDbfindTrigger',
         name: 'pi_vendcode',

+ 0 - 6
frontend/saas-web/app/view/stock/otherOut/QueryPanel.js

@@ -8,12 +8,6 @@ Ext.define('saas.view.stock.otherOut.QueryPanel', {
     viewName: 'stock-otherout-querypanel',
 
     queryFormItems: [{
-        xtype: 'hidden',
-        name: 'id',
-        fieldLabel: 'ID',
-        allowBlank: true,
-        columnWidth: 0
-    }, {
         xtype: 'textfield',
         name: 'pi_inoutno',
         emptyText:'请输入单号',

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

@@ -30,6 +30,7 @@ Ext.define('saas.view.stock.report.Prodiodetail', {
             ["其它入库单", "其它入库单"],
             ["其它出库单", "其它出库单"],
             ["调拨单", "调拨单"],
+            ["拨入单", "拨入单"],
             ["库存初始化","库存初始化"]
         ]
     }, {		

+ 1 - 4
frontend/saas-web/overrides/form/field/TrimVtype.js

@@ -8,8 +8,5 @@ Ext.define('saas.override.form.field.TrimVtype', {
     // RegExp for the value to be tested against within the validation function
     trimRe: /^(?! ).*(?<! )$/i,
     // vtype Text property: The error text to display when the validation function returns false
-    trimText: '请不要在内容的开头和结尾添加空格',
-    // vtype Mask property: The keystroke filter mask
-    trimMask: /[\d\s:amp]/i
-
+    trimText: '请不要在内容的开头和结尾添加空格'
 });

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

@@ -29,6 +29,10 @@
             "id": "report-purchasepay",
             "text": "采购付款一览表",
             "viewType": "purchase-report-purchasepay"
+        }, {
+            "text": "供应商对账单",
+            "id": "monry-report-vendorcheck",
+            "viewType":"monry-report-vendorcheck"
         }]
     }]
 }, {
@@ -66,6 +70,10 @@
             "id": "report-saleprofit",
             "text": "销售利润表",
             "viewType": "sale-report-saleprofit"
+        }, {
+            "text": "客户对账单",
+            "id": "monry-report-customercheck",
+            "viewType":"monry-report-customercheck"
         }]
     }]
 }, {
@@ -153,23 +161,15 @@
     }, {
         "text": "报表",
         "items": [{
-            "text": "供应商对账单",
-            "id": "monry-report-vendorcheck",
-            "viewType":"monry-report-vendorcheck"
-        }, {
             "text": "应付账款明细表",
             "id": "monry-report-paydetail",
             "viewType":"monry-report-paydetail"
-        }, {
-            "text": "客户对账单",
-            "id": "monry-report-customercheck",
-            "viewType":"monry-report-customercheck"
         }, {
             "text": "应收账款明细表",
             "id": "monry-report-recdetail",
             "viewType":"monry-report-recdetail"
         }, {
-            "text": "资金账户余额表",
+            "text": "账户收支明细表",
             "id": "monry-report-accountbalance",
             "viewType":"monry-report-accountbalance"
         }, {

Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio