Browse Source

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

chenw 7 years ago
parent
commit
0c9bd32050
40 changed files with 126 additions and 77 deletions
  1. 3 1
      applications/commons/commons-dto/src/main/java/com/usoftchina/saas/commons/exception/BizExceptionCode.java
  2. 1 1
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/mapper/BanksubledgerMapper.java
  3. 2 2
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/FundtransferServiceImpl.java
  4. 2 2
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/OthreceiptsServiceImpl.java
  5. 2 2
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/OthspendingsServiceImpl.java
  6. 2 2
      applications/money/money-server/src/main/resources/mapper/BanksubledgerMapper.xml
  7. 2 2
      applications/money/money-server/src/main/resources/mapper/StatsinfoMapper.xml
  8. 4 0
      applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/mapper/PurchaseMapper.java
  9. 6 0
      applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/service/impl/PurchaseServiceImpl.java
  10. 3 0
      applications/purchase/purchase-server/src/main/resources/mapper/PurchaseMapper.xml
  11. 1 1
      applications/storage/storage-server/src/main/resources/mapper/StockTakingMapper.xml
  12. 1 1
      base-servers/auth/auth-server/src/main/java/com/usoftchina/saas/auth/controller/AuthController.java
  13. 2 0
      base-servers/gateway-server/src/main/resources/application.yml
  14. 9 1
      frontend/saas-portal-web/src/components/conenter/addgongsi.vue
  15. 10 7
      frontend/saas-portal-web/src/components/conenter/company.vue
  16. 10 5
      frontend/saas-portal-web/src/components/conenter/enterprise.vue
  17. 30 29
      frontend/saas-portal-web/src/components/conenter/home.vue
  18. 3 2
      frontend/saas-portal-web/src/components/footer/footer.vue
  19. 7 2
      frontend/saas-portal-web/static/css/main.css
  20. BIN
      frontend/saas-portal-web/static/img/banner.png
  21. BIN
      frontend/saas-portal-web/static/img/banner@3x@2x.png
  22. BIN
      frontend/saas-portal-web/static/img/feature/illustration1@2x.png
  23. BIN
      frontend/saas-portal-web/static/img/feature/illustration2@2x.png
  24. BIN
      frontend/saas-portal-web/static/img/feature/illustration3@2x.png
  25. BIN
      frontend/saas-portal-web/static/img/feature/illustration4@2x.png
  26. BIN
      frontend/saas-portal-web/static/img/feature/mix1x.png
  27. BIN
      frontend/saas-portal-web/static/img/feature/mix2x.png
  28. BIN
      frontend/saas-portal-web/static/img/feature/mix3x.png
  29. BIN
      frontend/saas-portal-web/static/img/feature/mix4x.png
  30. BIN
      frontend/saas-portal-web/static/img/qr_mall.jpg
  31. BIN
      frontend/saas-portal-web/static/img/qrusoftchina_1.jpg
  32. 3 0
      frontend/saas-web/app.json
  33. 3 3
      frontend/saas-web/app/Application.scss
  34. 2 1
      frontend/saas-web/app/model/sale/Saledetail.js
  35. 1 1
      frontend/saas-web/app/view/core/report/ReportPanel.js
  36. 1 1
      frontend/saas-web/app/view/document/kind/ChildForm.js
  37. 3 5
      frontend/saas-web/app/view/main/Main.js
  38. 4 3
      frontend/saas-web/app/view/money/payBalance/FormPanelController.js
  39. 4 2
      frontend/saas-web/app/view/money/recBalance/FormPanelController.js
  40. 5 1
      frontend/saas-web/app/view/viewport/ViewportController.js

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

@@ -56,7 +56,7 @@ public enum BizExceptionCode implements BaseExceptionCode {
     VENDOR_ISCLOSE(79505, "供应商已关闭"),
     PRODUCT_ISCLOSE(79506, "物料已关闭"),
     CUSTOMER_ISCLOSE(79507, "客户资料已关闭"),
-
+    REQUIREDFIELD_NULL(79508,"存在必填字段未空"),
 
     //采购 70000-71999
     PURCCHECKIN_POST_ERROR(70000,""),
@@ -65,6 +65,8 @@ public enum BizExceptionCode implements BaseExceptionCode {
     PURCHASE_ORDER_HASAUDIT(70002, "存在已审核单据,单据编号:%s"),
     PURCHASE_ORDER_HASUNAUDIT(70003, "存在未审核单据,单据编号:%s"),
 
+
+
     //销售
     SALE_ALL_TURNOUT(72000, "该销售单已全部转出货,无法转出货单"),
     SALE_CLOSE(72001, "单据已关闭,无法进行操作"),

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

@@ -38,5 +38,5 @@ public interface BanksubledgerMapper extends CommonBaseMapper<Banksubledger> {
 
     int updateBankcode(@Param("bk_thisamount") Double bk_thisamount, @Param("nowbalance") Double nowbalance,
                        @Param("bankcode") String bankcode, @Param("symbol") String symbol);
-    Double selectThisamount(String bankcode);
+    Double selectThisamount(@Param("bankcode") String bankcode, @Param("companyId") Long companyId);
 }

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

@@ -216,8 +216,8 @@ public class FundtransferServiceImpl extends CommonBaseServiceImpl<FundtransferM
         Iterator isList = fundtransferdetailList.iterator();
         while (isList.hasNext()){
             Fundtransferdetail fundtransferdetail = (Fundtransferdetail) isList.next();
-            Double amount = banksubledgerMapper.selectThisamount(fundtransferdetail.getFtd_bankcode());
-            Double inamount = banksubledgerMapper.selectThisamount(fundtransferdetail.getFtd_inbankcode());
+            Double amount = banksubledgerMapper.selectThisamount(fundtransferdetail.getFtd_bankcode(), BaseContextHolder.getCompanyId());
+            Double inamount = banksubledgerMapper.selectThisamount(fundtransferdetail.getFtd_inbankcode(), BaseContextHolder.getCompanyId());
             banksubledgerMapper.updateBankcode(amount, fundtransferdetail.getFtd_nowbalance(),
                     fundtransferdetail.getFtd_bankcode(), "+");
             banksubledgerMapper.updateBankcode(inamount, fundtransferdetail.getFtd_nowbalance(),

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

@@ -119,7 +119,7 @@ public class OthreceiptsServiceImpl extends CommonBaseServiceImpl<OthreceiptsMap
         DocBaseDTO docBaseDTO = this.insert(othte);
         Long id = docBaseDTO.getId();
 
-        Double amount = banksubledgerMapper.selectThisamount(othreceipts.getOr_bankcode());
+        Double amount = banksubledgerMapper.selectThisamount(othreceipts.getOr_bankcode(), companyId);
         //取从表金额
         List<Othreceiptsdetail> othreceiptsdetailList = othte.getItems();
         Iterator isList = othreceiptsdetailList.iterator();
@@ -219,7 +219,7 @@ public class OthreceiptsServiceImpl extends CommonBaseServiceImpl<OthreceiptsMap
 
 
         //更新资金
-        Double amount = banksubledgerMapper.selectThisamount(othreceipts.getOr_bankcode());
+        Double amount = banksubledgerMapper.selectThisamount(othreceipts.getOr_bankcode(), BaseContextHolder.getCompanyId());
         List<Othreceiptsdetail> othreceiptsdetailList = othreceiptsdetailMapper.selectByPrimaryKey(id);
         Iterator isList = othreceiptsdetailList.iterator();
         while (isList.hasNext()){

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

@@ -159,7 +159,7 @@ public class OthspendingsServiceImpl extends CommonBaseServiceImpl<OthspendingsM
         DocBaseDTO docBaseDTO = this.insert(othsp);
         Long id = docBaseDTO.getId();
 
-        Double amount = banksubledgerMapper.selectThisamount(othspendings.getOs_bankcode());
+        Double amount = banksubledgerMapper.selectThisamount(othspendings.getOs_bankcode(), companyId);
         //取从表金额
         List<Othspendingsdetail> othspendingsdetailList = othsp.getItems();
         Iterator isList = othspendingsdetailList.iterator();
@@ -253,7 +253,7 @@ public class OthspendingsServiceImpl extends CommonBaseServiceImpl<OthspendingsM
         banksubledgerMapper.deleteByPrimaryKey(othspendings.getOs_code(), "其他支出单",BaseContextHolder.getCompanyId());
 
         //资金
-        Double amount = banksubledgerMapper.selectThisamount(othspendings.getOs_bankcode());
+        Double amount = banksubledgerMapper.selectThisamount(othspendings.getOs_bankcode(), BaseContextHolder.getCompanyId());
         //取从表金额
         List<Othspendingsdetail> othspendingsdetailList = othspendingsdetailMapper.selectByPrimaryKey(id);
         Iterator isList = othspendingsdetailList.iterator();

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

@@ -443,9 +443,9 @@
     where bk_bankcode = #{bankcode,jdbcType=VARCHAR}
   </update>
 
-    <select id="selectThisamount" resultType="java.lang.Double" parameterType="java.lang.String">
+    <select id="selectThisamount" resultType="java.lang.Double">
    select bk_thisamount from bankinformation
-    where bk_bankcode = #{bankcode,jdbcType=VARCHAR}
+    where bk_bankcode = #{bankcode,jdbcType=VARCHAR} and companyId = #{companyId}
   </select>
 
 </mapper>

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

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

+ 4 - 0
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/mapper/PurchaseMapper.java

@@ -38,4 +38,8 @@ public interface PurchaseMapper extends CommonBaseMapper<Purchase>{
     Integer validateProduct(@Param("id") Long id);
 
     void updateDelivery(@Param("id")Long id);
+
+    Integer checkPurchaseRequiredField(Long id);
+
+
 }

+ 6 - 0
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/service/impl/PurchaseServiceImpl.java

@@ -498,12 +498,18 @@ public class PurchaseServiceImpl extends CommonBaseServiceImpl<PurchaseMapper, P
     public Result singleAudit(Long id) {
         DocBaseDTO docBaseDTO = getBaseDTOById(id);
         Result result = Result.success(docBaseDTO);
+
         //检查供应商是否开启状态
         Integer count =0;
         count = purchaseMapper.validateVendor(id);
         if (count != 0) {
             throw new BizException(BizExceptionCode.VENDOR_ISCLOSE);
         }
+        //检验必填项
+        count = getMapper().checkPurchaseRequiredField(id);
+        if (count>0){
+            throw new BizException(BizExceptionCode.REQUIREDFIELD_NULL);
+        }
         //检查物料是否开启状态
         count = purchaseMapper.validateProduct(id);
         if (count != 0) {

+ 3 - 0
applications/purchase/purchase-server/src/main/resources/mapper/PurchaseMapper.xml

@@ -443,5 +443,8 @@
     update purchasedetail set PD_DELIVERY = (select PU_DELIVERY from purchase where pu_id=#{id}) where pd_puid=#{id} and PD_DELIVERY is null
   </update>
 
+  <select id="checkPurchaseRequiredField" resultType="int" parameterType="long">
+    select count(1) from purchase where pu_id = #{id} and (pu_vendid is null or pu_delivery is null or pu_shipaddresscode is null)
+  </select>
 
 </mapper>

+ 1 - 1
applications/storage/storage-server/src/main/resources/mapper/StockTakingMapper.xml

@@ -266,7 +266,7 @@
     count(a.st_prodid)
     from
     (select pd_prodid,pd_whid from prodiodetail left join prodinout on pd_piid = pi_id
-    where prodinout.companyId=#{companyId,jdbcType=INTEGER} and (pi_remark='盘盈单' or pi_remark='盘亏单')) b
+    where prodinout.companyId=#{companyId,jdbcType=INTEGER} and pi_statuscode!='AUDITED' and (pi_remark='盘盈单' or pi_remark='盘亏单')) b
     left join
     (select st_prodid,st_whid from stocktaking where companyId=#{companyId} ) a
     on a.st_prodid = b.pd_prodid and a.st_whid = b.pd_whid

+ 1 - 1
base-servers/auth/auth-server/src/main/java/com/usoftchina/saas/auth/controller/AuthController.java

@@ -64,7 +64,7 @@ public class AuthController {
     @Value("${auth.header:Authorization}")
     private String authHeader;
 
-    @Value("${auth.expire:18000}")
+    @Value("${auth.expire:1800000}")
     private int expire;
 
     @Value("${auth.max-errors:5}")

+ 2 - 0
base-servers/gateway-server/src/main/resources/application.yml

@@ -185,6 +185,8 @@ auth:
     - /api/auth/info
     - /ws/**
     - /api/file/download
+    - /api/commons/excel/import/templet
+    - /api/account/resource/url/list
   cookie:
     name: uid
     secret-key: 0taQcW073Z7G628g5H

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

@@ -92,7 +92,7 @@ import VDistpicker from 'v-distpicker'
                 mytoken: JSON.parse(localStorage.getItem('app-state-session')),//本地储存的用户信息
                 reg: new RegExp(/[\@\#\$\%\&\*!\¥]/),//非法字符
                 isaddress: false,//公司地址验证
-                isname: false,//姓名验证
+                isname: true,//姓名验证
                 isspaceName: false,//公司名验证
                 isemail: true,//验证邮箱
                 disabled: true
@@ -204,7 +204,15 @@ import VDistpicker from 'v-distpicker'
                 let mobile = mytoken.account.mobile;//手机号
                 let company = {'name':qyname,'address':address,'type':qyindustry};
                 let account = {'realname':name,'email':email,'mobile':mobile, 'uu':uu}
+                // console.log('姓名',name)//个人姓名
+                // console.log('企业',qyname)//企业姓名
+                // console.log('企业名字',this.qymingzi)//企业有没有注册
+                // console.log('企业地址',this.isaddress)//企业地址
+                // console.log('姓名',this.isname)//个人姓名正则
+                // console.log('企业名字',this.isspaceName)//企业名字正则
+                // console.log('邮箱',this.isemail)//邮箱正则
                 if (name != '' && qyname != '' && this.qymingzi && this.isaddress && this.isname && this.isspaceName && this.isemail) {
+                    
                     this.$ajax({
                         url: this.$url.api+"/api/account/accountCenter/companyAccount/save",//http://192.168.253.31:8560
                         method: 'post',

+ 10 - 7
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;">
+        <div class="gs-qiyebox" ref="qiyebox" style="margin-top: 70px;" :class="isheigh ? 'heigh' : ''">
             <!-- 点击查看企业详情 -->
             <div v-for="(d , i) in arr " :key="i" class="gs-xiangqing xs">
                 <div class="left gs-xqleft" @click= "getEnterpriseInfo(d)">
@@ -102,7 +102,8 @@
                 isDefault: true,//开通默认
                 isAutoLogin: this.$store.state.isAutoLogin,
                 mytoken: JSON.parse(localStorage.getItem('app-state-session')),//本地储存的用户信息
-                arr: []//企业列表信息
+                arr: [],//企业列表信息
+                isheigh:true//是否添加默认高度
             }
         },
         computed :{
@@ -256,8 +257,8 @@
                 .then(res=>{
                     // console.log('请求成功',res)
                     if (res.data.success) {
-                        this.ktsass = false;
                         this.saasid = res.data.data
+                        this.ktsass = false;
                     } else {
                         this.isokopensaas = true;
                     }
@@ -293,10 +294,10 @@
             //没有内容也要有一定的高度
             boxheight(){
                 let H = this.$refs.qiyebox.offsetHeight;
-                if (H < 300) {
-                    this.$refs.qiyebox.style.height = 500+'px';
+                if (H < 400) {
+                    this.isheigh = true
                 } else {
-                    this.$refs.qiyebox.style.height = '';
+                    this.isheigh = false
                 }
             },
         }
@@ -304,5 +305,7 @@
 </script>
 
 <style scoped>
-
+.heigh {
+    height: 500px;
+}
 </style>

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

@@ -137,14 +137,19 @@ import { setTimeout } from 'timers';
             },
             //退出
             loginout(){
-                this.$router.push({path:'/name'});
-                this.loginout2()
-            },
-            loginout2(){
+                //this.$router.push({path:'/name'});
                 const frame = window.frames[window.frames.length - 1]
                 frame.postMessage('', '*')
                 Session.remove()
-            } 
+                window.location.href=this.$url.sso+'/logquit?appId=sp&returnURL=https://'+window.location.host
+                // this.loginout2()
+            }
+            // ,
+            // loginout2(){
+            //     const frame = window.frames[window.frames.length - 1]
+            //     frame.postMessage('', '*')
+            //     Session.remove()
+            // } 
         },
     }
 </script>

+ 30 - 29
frontend/saas-portal-web/src/components/conenter/home.vue

@@ -41,7 +41,7 @@
           </ul>
         </div>
         </div>
-        
+
     </div>
 
     <iframe hidden :src="setTokenPage"></iframe>
@@ -88,6 +88,8 @@
               <div class="mask-overly"></div>
               <div class="bg-img slider-1">
                 <img src="/static/img/banner@2x@2x.png" alt="">
+                <!-- <img src="/static/img/banner@3x@2x.png" alt=""> -->
+                <!-- <img src="/static/img/banner.png" alt=""> -->
               </div>
               <!-- 首页内容 -->
               <div class="my-text">
@@ -114,7 +116,7 @@
           <!-- 1 -->
           <div class="ts-box">
             <div class="ts-boximg">
-              <img src="/static/img/feature/illustration1@2x.png" alt="">
+              <img style="margin-left: 18px;" src="/static/img/feature/mix1x.png" alt="">
             </div>
             <div>
               <img class="ts-img" src="/static/img/feature/blue1@2x.png" alt="">
@@ -125,14 +127,14 @@
             <div>
               <img class="ts-img" src="/static/img/feature/yellow2@2x.png" alt="">
             </div>
-            <div class="ts-boximg" style="right:0">
-              <img src="/static/img/feature/illustration2@2x.png" alt="">
+            <div class="ts-boximg">
+              <img style="float: right;" src="/static/img/feature/mix2x.png" alt="">
             </div>
           </div>
           <!-- 3 -->
           <div class="ts-box">
             <div class="ts-boximg">
-              <img src="/static/img/feature/illustration3@2x.png" alt="">
+              <img src="/static/img/feature/mix3x.png" alt="">
             </div>
             <div>
               <img class="ts-img" src="/static/img/feature/blue3@2x.png" alt="">
@@ -141,10 +143,10 @@
           <!-- 4 -->
           <div class="ts-box">
             <div>
-              <img class="ts-img" src="/static/img/feature/yellow4@2x.png" alt="">
+              <img style="width:94%" class="ts-img" src="/static/img/feature/yellow4@2x.png" alt="">
             </div>
-            <div class="ts-boximg" style="right:0">
-              <img src="/static/img/feature/illustration4@2x.png" alt="">
+            <div class="ts-boximg">
+              <img style="float: right;" src="/static/img/feature/mix4x.png" alt="">
             </div>
           </div>
         </div>
@@ -339,10 +341,8 @@
       }
     },
     created(){
-      var uid = this.getCookie('uid');
-      if(uid){
         this.$ajax({
-          url: '/api/auth/info',
+          url: this.$url.api+'/api/auth/info',
           method: 'get',
           async:false,
           withCredentials:true
@@ -352,11 +352,11 @@
           account.companies = account.companies || []
           session.account = account
           Session.set(session);
+          this.account = Session.getAccount();
         })
         .catch(err=>{
           console.log("请求失败",err)
         })
-      }
     },
     mounted() {
       this.clientId = Math.random().toString(36).substr(2)
@@ -379,20 +379,20 @@
       }
     },
     methods: {
-        getCookie(cookieName){  
-          var cookieValue="";  
-          if (document.cookie && document.cookie != '') {   
-              var cookies = document.cookie.split(';');  
-              for (var i = 0; i < cookies.length; i++) {   
-                  var cookie = cookies[i];  
-                  if (cookie.substring(0, cookieName.length + 2).trim() == cookieName.trim() + "=") {  
-                        cookieValue = cookie.substring(cookieName.length + 2, cookie.length);   
-                        break;  
-                  }  
-              }  
-          }   
-          return cookieValue;  
-      }, 
+      //   hasCookie(cookieName){
+      //     var hasUid=false;
+      //     if (document.cookie && document.cookie != '') {
+      //         var cookies = document.cookie.split(';');
+      //         for (var i = 0; i < cookies.length; i++) {
+      //             var cookie = cookies[i];
+      //             if (cookie.substring(0, cookieName.length+1).trim() == cookieName.trim() + "=") {
+      //                   hasUid=true;
+      //                   break;
+      //             }
+      //         }
+      //     }
+      //     return hasUid;
+      // },
       tab(i){
         this.Nowindex = i;
       },
@@ -418,7 +418,7 @@
               // 跳转应用页面
               window.location.href = me.$url.web
             }
-           } 
+           }
           }, false)
           frame.postMessage(JSON.stringify(session), '*')
         })
@@ -438,7 +438,8 @@
         const frame = window.frames[window.frames.length - 1]
         frame.postMessage('', '*')
         Session.remove()
-        this.$router.go(0); 
+        window.location.href=this.$url.sso+'/logquit?appId=sp&returnURL=https://'+window.location.host
+        //this.$router.go(0);
       },
       // 关闭窗口
       closeModal() {
@@ -495,7 +496,7 @@
                 // console.log("请求失败",err)
             })
           }
-        } 
+        }
       },
     }
   }

+ 3 - 2
frontend/saas-portal-web/src/components/footer/footer.vue

@@ -12,7 +12,7 @@
 					</div>
 					<div class="link">
 						<ul>
-							<li><span>常用链接</span></li>
+							<li><span>常用链接</span></li>
 							<li><a href="https://uas.usoftchina.com/" target="_blank">UAS官网</a></li>
 							<li><a href="https://www.usoftchina.com/" target="_blank">U软云</a></li>
 							<li><a href="http://www.yitoa.com/" target="_blank">英唐官网</a></li>
@@ -40,7 +40,8 @@
 					<div class="qr">
 						<div class="qr-top">
 							<div class="qr-tech qr-code">
-								<img src="/static/img/qr-tech.png" alt="">
+								<!-- <img src="/static/img/qr-tech.png" alt=""> -->
+								<img src="/static/img/qrusoftchina_1.jpg" alt="">
 								<div class="db-text">
 									<span>科技公众号</span>
 								</div>

+ 7 - 2
frontend/saas-portal-web/static/css/main.css

@@ -337,10 +337,14 @@ main > section {
     /* margin-top: 50px; */
     position: relative;
     padding: 150px 0;
+    width: 98%;
 }
 .ts-boximg {
     position: absolute;
-    top: 40px;
+    top: 50px;
+}
+.ts-boximg img {
+    width: 65%;
 }
 .ts-lefttext p {
     text-align: right;
@@ -359,7 +363,8 @@ main > section {
     float: right;
 }
 .ts-img {
-    width: 100%;
+    width: 98%;
+    margin-left: 2%;
 }
 .right-text {
     text-align: right;

BIN
frontend/saas-portal-web/static/img/banner.png


BIN
frontend/saas-portal-web/static/img/banner@3x@2x.png


BIN
frontend/saas-portal-web/static/img/feature/illustration1@2x.png


BIN
frontend/saas-portal-web/static/img/feature/illustration2@2x.png


BIN
frontend/saas-portal-web/static/img/feature/illustration3@2x.png


BIN
frontend/saas-portal-web/static/img/feature/illustration4@2x.png


BIN
frontend/saas-portal-web/static/img/feature/mix1x.png


BIN
frontend/saas-portal-web/static/img/feature/mix2x.png


BIN
frontend/saas-portal-web/static/img/feature/mix3x.png


BIN
frontend/saas-portal-web/static/img/feature/mix4x.png


BIN
frontend/saas-portal-web/static/img/qr_mall.jpg


BIN
frontend/saas-portal-web/static/img/qrusoftchina_1.jpg


+ 3 - 0
frontend/saas-web/app.json

@@ -296,6 +296,7 @@
         },
         "server": {
             "accountCenter":"https://saas.usoftchina.com",
+            "accountEnterprise":"https://saas.usoftchina.com/#/enterprise",
             "basePath": "https://saas-api.usoftchina.com",
             "urlPattern": "^\/api\/"
         }
@@ -307,6 +308,7 @@
     "testing": {
         "server": {
             "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"
@@ -324,6 +326,7 @@
         },
         "server": {
             "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"

+ 3 - 3
frontend/saas-web/app/Application.scss

@@ -231,9 +231,9 @@ body.launching {
   background: #E5F7FF;
   border-right: 1px solid #ABDAFF;
 
-  &:last-child {
-    border: none;
-  }
+  // &:last-child {
+  //   border: none;
+  // }
 }
 
 .x-column-header-text-inner {

+ 2 - 1
frontend/saas-web/app/model/sale/Saledetail.js

@@ -13,7 +13,8 @@ Ext.define('saas.model.sale.Saledetail', {
         { name: 'sd_delivery', type: 'date' },
         { name: 'sd_taxtotal', type: 'float' },
         { name: 'sd_pucode', type: 'string' },
-        { name: 'sd_text1', type: 'string' }
+        { name: 'sd_text1', type: 'string' },
+        { name: 'sd_remark', type: 'string' }
     ],
     //一对一映射
     associations: [{ type: 'hasOne', model: 'saas.model.document.Product', associationKey: 'productDTO'}]

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

@@ -229,7 +229,7 @@ Ext.define('saas.view.core.report.ReportPanel', {
                         try {
                             var grid = me.items.items[1],
                             columns = grid.columns,
-                            summaryData = data.data.calculate || [];
+                            summaryData = data.data ? (data.data.calculate || []) : [];
     
                             Ext.Array.each(columns, function(c) {
                                 var type = c.summaryType,

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

@@ -495,7 +495,7 @@ Ext.define('KitchenSink.view.binding.ChildForm', {
                 xtype:'textfield',
                 fieldLabel: '联系电话',
                 name: 'em_mobile',
-                allowBlank:true,
+                allowBlank:false,
                 beforeLabelTextTpl: '',
                 maxLength: 20
             },{

+ 3 - 5
frontend/saas-web/app/view/main/Main.js

@@ -78,15 +78,13 @@ Ext.define('saas.view.main.Main', {
                         cls:'x-main-menu sa-nav-menu',
                         items: [{
                             text: '新手导航',
-                            //fa-comment-o sa-userGuite
                             iconCls:'x-fa sa-navicon fa-comment-o',
                             handler:function(){
                                saas.util.BaseUtil.openTab('sys-guide-formpanel','新手导航', 'sys-guide-formpanel-nav');
                             }
-                        },{
+                        }/* ,{
                             text: '用户手册',
                             hidden:true,
-                            //fa-address-book-o sa-userBook
                             iconCls:'x-fa sa-navicon  fa-address-book-o',
                             handler:function(){
                                 window.open('http://www.usoftchina.com','_blank');
@@ -97,7 +95,7 @@ Ext.define('saas.view.main.Main', {
                             handler:function(){
                                 window.open('http://www.usoftchina.com','_blank');
                             }
-                        },{
+                        } */,{
                             text: '客服热线',
                             iconCls:'x-fa fa-phone sa-navicon',
                             menu:{
@@ -141,7 +139,7 @@ Ext.define('saas.view.main.Main', {
                             text: '账户中心',
                             iconCls:'x-fa fa-user-o sa-navicon',
                             handler:function(){
-                                window.open(Ext.manifest.server.accountCenter,'_blank');
+                                window.open(Ext.manifest.server.accountEnterprise,'_blank');
                             }
                         },{  
                             text: '意见反馈',

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

@@ -123,7 +123,8 @@ Ext.define('saas.view.money.payBalance.FormPanelController', {
                             from:'sl_namount',
                             to:'pbd_nowbalance'
                         }],
-                        defaultCondition: "sl_vendid<>0 and sl_kind in ('期初余额','采购验收单','采购验退单') and sl_namount<>0" 
+                        defaultCondition: "sl_vendid<>0 and ((sl_kind in ('采购验收单','采购验退单')) or (sl_kind='期初余额' and sl_ym="+
+                                  "'(select min(pd_detno) from periodsdetail  where pd_status=0 and periodsdetail.companyid=subledger.companyid))) and sl_namount<>0'"
                     });
                 }
             },
@@ -204,7 +205,6 @@ Ext.define('saas.view.money.payBalance.FormPanelController', {
             saas.util.BaseUtil.showErrorToast(form.invalidText);
             return false;
         }
-
         var sum_pd_amount = store1.sum('pd_amount'); // 付款金额合计
         var pb_discounts = viewModel.get('pb_discounts'); // 折扣金额
         var sum_pbd_nowbalance = store2.sum('pbd_nowbalance'); // 本次核销金额合计
@@ -234,7 +234,8 @@ Ext.define('saas.view.money.payBalance.FormPanelController', {
         }else{
             c ='';
         }
-        dbfindtrigger.defaultCondition = "sl_vendid<>0 and sl_kind in ('期初余额','采购验收单','采购验退单') and sl_namount<>0" + c;
+        dbfindtrigger.defaultCondition="((sl_kind in ('采购验收单','采购验退单')) or (sl_kind='期初余额' and sl_ym="+
+        "(select min(pd_detno) from periodsdetail  where pd_status=0 and periodsdetail.companyid=subledger.companyid))) and sl_namount<>0" + c
     },
     myInitCopyData: function(formData) {
         var main = formData.main;

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

@@ -137,7 +137,8 @@ Ext.define('saas.view.money.recBalance.FormPanelController', {
                             from: 'sl_namount',
                             to: 'rbd_nowbalance'
                         }],
-                        defaultCondition: "sl_custid<>0 and sl_kind in ('期初余额','出货单','销售退货单') and sl_namount<>0"
+                        defaultCondition: "sl_custid<>0 and ((sl_kind in ('出货单','销售退货单')) or (sl_kind='期初余额' and sl_ym="+
+                        "'(select min(pd_detno) from periodsdetail  where pd_status=0 and periodsdetail.companyid=subledger.companyid))) and sl_namount<>0'"
                     });
 
                 }
@@ -231,7 +232,8 @@ Ext.define('saas.view.money.recBalance.FormPanelController', {
         }else{
             c ='';
         }
-        dbfindtrigger.defaultCondition = "sl_custid<>0 and sl_kind in ('期初余额','出货单','销售退货单') and sl_namount<>0" + c;
+        dbfindtrigger.defaultCondition="((sl_kind in ('出货单','销售退货单')) or (sl_kind='期初余额' and sl_ym="+
+        "(select min(pd_detno) from periodsdetail  where pd_status=0 and periodsdetail.companyid=subledger.companyid))) and sl_namount<>0 " + c
 
     },
     myInitCopyData: function(formData) {

+ 5 - 1
frontend/saas-web/app/view/viewport/ViewportController.js

@@ -76,7 +76,11 @@ Ext.define('saas.view.viewport.ViewportController', {
             //没有session时  判断cookie中的uid
             var hasValidCookie = Ext.util.Cookies.get('uid')?me.getAccountCookie():false;
             if(!hasValidCookie){
-                me.redirectTo('login', {replace: true});
+                if(window.location.host.indexOf('.usoftchina.com')>-1){
+                    window.location.href = Ext.manifest.server.accountCenter
+                }else{
+                    me.redirectTo('login', {replace: true});
+                }
             }else{
                 me.redirectTo('main', {replace: true});
             }