浏览代码

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

hy 7 年之前
父节点
当前提交
9d16aa0fd5
共有 29 个文件被更改,包括 340 次插入147 次删除
  1. 5 0
      applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/service/impl/PurchaseServiceImpl.java
  2. 2 1
      applications/purchase/purchase-server/src/main/resources/mapper/ProdInOutMapper.xml
  3. 2 0
      applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/po/SaleList.java
  4. 5 0
      applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/service/impl/SaleServiceImpl.java
  5. 1 0
      applications/sale/sale-server/src/main/resources/mapper/SaleListMapper.xml
  6. 2 0
      applications/storage/storage-dto/src/main/java/com/usoftchina/saas/storage/dto/ProdInOutDTO.java
  7. 2 0
      applications/storage/storage-dto/src/main/java/com/usoftchina/saas/storage/po/ProdInOut.java
  8. 2 0
      applications/storage/storage-dto/src/main/java/com/usoftchina/saas/storage/po/ProdInOutList.java
  9. 2 2
      applications/storage/storage-server/src/main/resources/mapper/ProdIODetailMapper.xml
  10. 1 0
      applications/storage/storage-server/src/main/resources/mapper/ProdInOutListMapper.xml
  11. 8 1
      applications/storage/storage-server/src/main/resources/mapper/ProdInOutMapper.xml
  12. 33 26
      frontend/saas-portal-web/src/components/conenter/addenterprise.vue
  13. 11 6
      frontend/saas-portal-web/src/components/conenter/company.vue
  14. 12 11
      frontend/saas-portal-web/src/components/conenter/details.vue
  15. 122 56
      frontend/saas-portal-web/src/components/conenter/enterprise.vue
  16. 25 0
      frontend/saas-portal-web/src/components/conenter/failure.vue
  17. 44 17
      frontend/saas-portal-web/src/components/conenter/home.vue
  18. 8 2
      frontend/saas-portal-web/src/components/conenter/invitation.vue
  19. 1 1
      frontend/saas-portal-web/src/pages/index/index.js
  20. 6 0
      frontend/saas-portal-web/src/router/index.js
  21. 17 11
      frontend/saas-portal-web/static/css/gongsi.css
  22. 24 8
      frontend/saas-portal-web/static/css/main.css
  23. 二进制
      frontend/saas-portal-web/static/img/pageshixiao.png
  24. 二进制
      frontend/saas-portal-web/static/img/xiaologo@2x.png
  25. 二进制
      frontend/saas-portal-web/static/img/zanwushuju2x.png
  26. 1 1
      frontend/saas-web/app/view/document/kind/Kind.js
  27. 1 1
      frontend/saas-web/app/view/document/kind/KindController.js
  28. 2 2
      frontend/saas-web/app/view/document/product/FormController.js
  29. 1 1
      frontend/saas-web/app/view/main/Navigation.js

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

@@ -451,6 +451,11 @@ public class PurchaseServiceImpl extends CommonBaseServiceImpl<PurchaseMapper, P
         prodInOut.setUpdaterId(userId);
         prodInOut.setUpdaterName(userName);
         prodInOut.setUpdateTime(new Date());
+        //币别 采购员
+        prodInOut.setPi_currency(purchase.getPu_currency());
+        prodInOut.setPi_buyerid(purchase.getPu_buyerid());
+        prodInOut.setPi_buyercode(purchase.getPu_buyercode());
+        prodInOut.setPi_buyername(purchase.getPu_buyername());
         prodInOutMapper.insertSelective(prodInOut);
         //插入验收单从表
         long pi_id = prodInOut.getId();

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

@@ -47,6 +47,7 @@
     <result column="pi_sellerid" jdbcType="INTEGER" property="pi_sellerid" />
     <result column="pi_sellercode" jdbcType="VARCHAR" property="pi_sellercode" />
     <result column="pi_seller" jdbcType="VARCHAR" property="pi_seller" />
+    <result column="pi_nettotal" jdbcType="DOUBLE" property="pi_nettotal"/>
   </resultMap>
   <resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="com.usoftchina.saas.purchase.po.ProdInOut">
     <result column="pi_address" jdbcType="LONGVARCHAR" property="pi_address" />
@@ -58,7 +59,7 @@
     pi_id, pi_inoutno, pi_class, pi_date, pi_vendid, pi_vendcode, pi_vendname, pi_custid, 
     pi_custcode, pi_custname, pi_puid, pi_pucode, pi_said, pi_sacode, pi_total, pi_status, pi_statuscode, pi_printstatus, pi_printstatuscode,
     companyid, updaterid,updaterName,updatetime,creatorid,creatorName,createtime, pi_text1, pi_text2, pi_text3, pi_text4, pi_text5,pi_auditdate,
-    pi_auditman,pi_remark,pi_ioid,pi_iocode,pi_prstatus,pi_prstatuscode,pi_currency,pi_buyerid,pi_buyercode,pi_buyername,pi_sellerid,pi_sellercode,pi_seller
+    pi_auditman,pi_remark,pi_ioid,pi_iocode,pi_prstatus,pi_prstatuscode,pi_currency,pi_buyerid,pi_buyercode,pi_buyername,pi_sellerid,pi_sellercode,pi_seller,pi_nettotal
   </sql>
   <sql id="Blob_Column_List">
     pi_address

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

@@ -117,6 +117,8 @@ public class SaleList implements Serializable {
     //已转数
     private Double sd_yqty;
 
+    private String sa_currecy;
+
     //private ProductDTO productDTO;级联属性会导致分页查询出现BUG,设置数与查询数量不一致
     private Long pr_id;
     private String pr_code;

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

@@ -488,6 +488,11 @@ public class SaleServiceImpl implements SaleService{
 
         prodInOut.setPi_prstatus(Status.RECNONE.getDisplay());
         prodInOut.setPi_prstatuscode(Status.RECNONE.name());
+        //币别 业务员
+        prodInOut.setPi_currency(sale.getSa_currency());
+        prodInOut.setPi_sellerid(sale.getSa_sellerid());
+        prodInOut.setPi_sellercode(sale.getSa_sellercode());
+        prodInOut.setPi_seller(sale.getSa_seller());
         prodInOutMapper.insertSelective(prodInOut);
         //插入出货单从表
         long pi_id = prodInOut.getId();

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

@@ -54,6 +54,7 @@
         <result column="sd_text3" property="sd_text3" jdbcType="VARCHAR" />
         <result column="sd_text4" property="sd_text4" jdbcType="VARCHAR" />
         <result column="sd_text5" property="sd_text5" jdbcType="VARCHAR" />
+        <result column="sa_currecy" property="sa_currecy" jdbcType="VARCHAR"/>
         <result column="pr_id" property="pr_id"/>
         <result column="pr_code" property="pr_code"/>
         <result column="pr_detail" property="pr_detail"/>

+ 2 - 0
applications/storage/storage-dto/src/main/java/com/usoftchina/saas/storage/dto/ProdInOutDTO.java

@@ -74,4 +74,6 @@ public class ProdInOutDTO extends CommonBaseDTO implements Serializable {
     private Long pi_ioid;
 
     private String pi_iocode;
+
+    private Double pi_costtotal;
 }

+ 2 - 0
applications/storage/storage-dto/src/main/java/com/usoftchina/saas/storage/po/ProdInOut.java

@@ -84,4 +84,6 @@ public class ProdInOut extends CommonBaseEntity implements Serializable {
     private String pi_sellercode;
 
     private String pi_seller;
+
+    private Double pi_costtotal;
 }

+ 2 - 0
applications/storage/storage-dto/src/main/java/com/usoftchina/saas/storage/po/ProdInOutList.java

@@ -60,6 +60,8 @@ public class ProdInOutList extends CommonBaseEntity{
 
     private String pi_address;
 
+    private Double pi_costtotal;
+
     private Long pd_piid;
 
     private String pd_inoutno;

+ 2 - 2
applications/storage/storage-server/src/main/resources/mapper/ProdIODetailMapper.xml

@@ -757,11 +757,11 @@
   </delete>
 
   <update id="calcProdIn">
-    update prodinout set pi_total = (select sum(pd_total) from prodiodetail where pd_piid = #{pi_id,jdbcType=INTEGER} ) where pi_id = #{pi_id,jdbcType=INTEGER};
+    update prodinout set pi_costtotal = (select sum(pd_total) from prodiodetail where pd_piid = #{pi_id,jdbcType=INTEGER} ) where pi_id = #{pi_id,jdbcType=INTEGER};
   </update>
 
   <update id="calcProdOut">
-    update prodinout set pi_total = (select sum(pd_total) from prodiodetail where pd_piid = #{pi_id,jdbcType=INTEGER} ) where pi_id = #{pi_id,jdbcType=INTEGER};
+    update prodinout set pi_costtotal = (select sum(pd_total) from prodiodetail where pd_piid = #{pi_id,jdbcType=INTEGER} ) where pi_id = #{pi_id,jdbcType=INTEGER};
   </update>
 
   <delete id="deleteByInOutNo" >

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

@@ -30,6 +30,7 @@
     <result column="pi_auditman" jdbcType="VARCHAR" property="pi_auditman" />
     <result column="pi_address" jdbcType="VARCHAR" property="pi_address" />
     <result column="pi_remark" jdbcType="VARCHAR" property="pi_remark" />
+    <result column="pi_costtotal" jdbcType="DOUBLE" property="pi_costtotal"/>
     <result column="pd_piid" jdbcType="INTEGER" property="pd_piid" />
     <result column="pd_inoutno" jdbcType="VARCHAR" property="pd_inoutno" />
     <result column="pd_piclass" jdbcType="VARCHAR" property="pd_piclass" />

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

@@ -37,6 +37,7 @@
     <result column="pi_auditman" jdbcType="VARCHAR" property="pi_auditman" />
     <result column="pi_remark" jdbcType="VARCHAR" property="pi_remark" />
     <result column="pi_ioid" jdbcType="INTEGER" property="pi_ioid" />
+    <result column="pi_costtotal" jdbcType="DOUBLE" property="pi_costtotal"/>
   </resultMap>
   <resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="com.usoftchina.saas.storage.po.ProdInOut">
     <result column="pi_address" jdbcType="LONGVARCHAR" property="pi_address" />
@@ -48,7 +49,7 @@
     pi_id, pi_inoutno, pi_class, pi_date, pi_vendid, pi_vendcode, pi_vendname, pi_custid, 
     pi_custcode, pi_custname, pi_puid, pi_pucode, pi_said, pi_sacode, pi_total,pi_status, pi_statuscode, pi_printstatus, pi_printstatuscode,
     companyid, updaterid,updaterName,updatetime,creatorid,creatorName,createtime, pi_text1, pi_text2, pi_text3, pi_text4, pi_text5,pi_auditdate,
-    pi_auditman,pi_remark,pi_ioid
+    pi_auditman,pi_remark,pi_ioid,pi_costtotal
   </sql>
   <sql id="Blob_Column_List">
     pi_address
@@ -184,6 +185,9 @@
         <if test="pi_macode != null">
             pi_macode,
         </if>
+      <if test="pi_costtotal!=null">
+        pi_costtotal,
+      </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
 
@@ -298,6 +302,9 @@
         <if test="pi_macode != null">
             #{pi_macode,jdbcType=VARCHAR},
         </if>
+      <if test="pi_costtotal !=null">
+        #{pi_costtotal,jdbcType=DOUBLE},
+      </if>
     </trim>
   </insert>
 

+ 33 - 26
frontend/saas-portal-web/src/components/conenter/addenterprise.vue

@@ -12,15 +12,15 @@
                     </ul>
                 </div>
                 <div class="qy-conent" :class= "{showqiye:nowindex == 0}" style="padding-top: 60px;">
-                    <ul>
-                        <li style="margin: 0">
+                    <ul style="padding:0;text-align: center;">
+                        <li>
                             <span class="qy-biaoti"><span class="xingxing">*</span>企业名称</span>
                             <input autofocus class="inpind" ref="qyname" @change= "spaceName" type="text" placeholder="请填写企业全称">
                             <div class="qy-Tips Tips-buttom"><span ref="qyno" style="color:red"></span></div>
                         </li>
                         <li>
                             <span class="qy-biaoti">所属行业</span>
-                            <select ref="qyindustry" style="width:59%;height: 30px;padding-left:5px" name="selectAge" id="selectAge">   
+                            <select ref="qyindustry" style="width:30%;height: 32px;padding-left:5px" name="selectAge" id="selectAge">   
                                 <option value="">请选择所属行业</option>
                                 <option value="贸易零售">贸易零售</option>
                                 <option value="制造加工">制造加工</option>
@@ -41,7 +41,7 @@
                                 <option value="其他">其他</option>   
                             </select>
                         </li>
-                        <li style="margin:0">
+                        <li>
                             <span class="qy-biaoti"><span class="xingxing">*</span>企业地址</span>
                             <input ref="address" @change="address" class="inpind" type="text" placeholder="输入企业详细地址">
                             <!-- <div class="addbiaoqian">
@@ -52,20 +52,20 @@
                                 <span ref="ress" style="color:red"></span>
                             </div>
                         </li>
-                        <li style="margin:0">
+                        <li>
                             <span class="qy-biaoti"><span class="xingxing">*</span>姓名</span>
                             <input class="inpind" @change= "yzusername" ref="name" type="text" value="">
                             <div class="qy-Tips Tips-buttom"><span ref="usname" style="color:red"></span></div>
                         </li>
-                        <li><span class="qy-biaoti">手机号</span><span>{{mytoken.account.mobile}}</span></li>
-                        <li style='margin:0'>
+                        <li><span class="qy-biaoti">手机号</span><span class="qy-mobile">{{mytoken.account.mobile}}</span></li>
+                        <li style="margin-bottom: 64px;">
                             <span class="qy-biaoti">邮箱</span>
                             <input class="inpind" @change="email" ref="email" type="email" value="">
-                            <div class="qy-Tips Tips-buttom"><span style="color:red">{{Email}}</span></div>
+                            <div class="qy-Tips Tips-buttom"><span style="color:red" v-html="Email"></span></div>
                         </li>
                         <li>
                             <div class="qy-anniu">
-                                <span @click= "Preservation" class="qy-xiugai dianji" style="left: -2px">保存</span>
+                                <span @click= "Preservation" class="qy-xiugai dianji" style="left: 0;">保存</span>
                                 <span @click= "tjquxiao" class="qy-quxiao xs">取消</span>
                             </div>
                         </li>
@@ -97,7 +97,7 @@
                         </li>
                         <li>
                             <div class="qy-anniu" style="margin-top: 70px;">
-                                <span @click="Submission" class="qy-xiugai dianji" style="left: -2px">提交</span>
+                                <span @click="Submission" class="qy-xiugai dianji" style="left: 0;">提交</span>
                                 <span @click= "tjquxiao" class="qy-quxiao xs">取消</span>
                             </div>
                         </li>
@@ -168,10 +168,10 @@ import { setTimeout, clearTimeout } from 'timers';
             spaceName(){
                 let qyname = this.$refs.qyname.value.replace(/\s+/g, "");//公司名字过滤空格
                 if(qyname == ''){
-                    this.$refs.qyno.innerHTML = '企业名称不能为空';
+                    this.$refs.qyno.innerHTML = ' <img style="width:14px" src="/static/img/warning.png" alt=""> 企业名称不能为空';
                 } else {
                     if (this.reg.test(qyname)) {
-                        this.$refs.qyno.innerHTML = '不能包含符号等非法字符';
+                        this.$refs.qyno.innerHTML = ' <img style="width:14px" src="/static/img/warning.png" alt=""> 不能包含符号等非法字符';
                         this.isspaceName = false;
                     } else {
                         this.$refs.qyno.innerHTML = '';
@@ -187,9 +187,9 @@ import { setTimeout, clearTimeout } from 'timers';
                         .then(res=>{
                             if (res.data.data.success) {
                                 this.qymingzi = true;
-                                this.$refs.qyno.innerHTML = '<span style="color:green">该企业可创建</span>';
+                                this.$refs.qyno.innerHTML = '<span style="color:green"><img style="width:14px" src="/static/img/ok.png" alt=""></span>';
                             } else {
-                                this.$refs.qyno.innerHTML = '该企业已在优软云注册';
+                                this.$refs.qyno.innerHTML = ' <img style="width:14px" src="/static/img/warning.png" alt=""> 该企业已在优软云注册';
                                 this.qymingzi = false;
                             }
                         })
@@ -241,13 +241,13 @@ import { setTimeout, clearTimeout } from 'timers';
             yzusername(){
                 let name = this.$refs.name.value.replace(/\s+/g, "");//姓名过滤空格
                 if (name == '') {
-                    this.$refs.usname.innerHTML = '个人姓名不能为空';
+                    this.$refs.usname.innerHTML = '<img style="width:14px" src="/static/img/warning.png" alt=""> 个人姓名不能为空';
                 } else {
                     if (this.reg.test(name)) {
-                        this.$refs.usname.innerHTML = '不能包含符号等非法字符';
+                        this.$refs.usname.innerHTML = '<img style="width:14px" src="/static/img/warning.png" alt=""> 不能包含符号等非法字符';
                         this.isname = false;
                     } else {
-                        this.$refs.usname.innerHTML = '';
+                        this.$refs.usname.innerHTML = '<img style="width:14px" src="/static/img/ok.png" alt="">';
                         this.isname = true;
                     }
                 }
@@ -330,15 +330,15 @@ import { setTimeout, clearTimeout } from 'timers';
             address(){
                 let address = this.$refs.address.value.replace(/\s+/g, "");//过滤空格
                 if (address == '') {
-                    this.$refs.ress.innerHTML = '企业地址不能为空';
+                    this.$refs.ress.innerHTML = '<img style="width:14px" src="/static/img/warning.png" alt=""> 企业地址不能为空';
                     this.isaddressname = false;
                 } else {
                     this.isaddressname = true;
                     if (this.reg.test(address)) {
-                        this.$refs.ress.innerHTML = '不能包含符号等非法字符';
+                        this.$refs.ress.innerHTML = '<img style="width:14px" src="/static/img/warning.png" alt=""> 不能包含符号等非法字符';
                         this.isaddress = false;
                     } else {
-                        this.$refs.ress.innerHTML = '';
+                        this.$refs.ress.innerHTML = '<img style="width:14px" src="/static/img/ok.png" alt="">';
                         this.isaddress = true;
                     }
                 }
@@ -351,10 +351,10 @@ import { setTimeout, clearTimeout } from 'timers';
                     this.Email = '';
                 } else {
                     if (!reg.test(email)) {
-                        this.Email = '请填写正确的邮箱';
+                        this.Email = '<img style="width:14px" src="/static/img/warning.png" alt=""> 请填写正确的邮箱';
                         this.isemail = false;
                     } else {
-                        this.Email = '';
+                        this.Email = '<img style="width:14px" src="/static/img/ok.png" alt="">';
                         this.isemail = true;
                     }
                 }
@@ -485,10 +485,12 @@ import { setTimeout, clearTimeout } from 'timers';
     margin: 0;
     text-align: left;
     height: 26px;
-    margin-left: 16%;
+    display: inline-block;
+    position: absolute;
+    margin-left: 10px;
 }
 .Tips-buttom {
-    margin-left: 22%;
+    /* margin-left: 22%; */
 }
 .inpind {
     padding-left: 10px;
@@ -528,7 +530,12 @@ import { setTimeout, clearTimeout } from 'timers';
     max-height: 170px;
     overflow-y: scroll;
 }
-.maxtxt {
-    font-size: 16px !important;
+.qy-mobile {
+    display: inline-block;
+    width: 30%;
+    text-align: left;
+}
+.qy-anniu > span {
+    margin-left: 40px;
 }
 </style>

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

@@ -33,14 +33,16 @@
       </div>
     </div>
     <!-- 该企业已开通服务弹窗 -->
-    <div class="tanchuang qy-yikaitong" v-if="isokopensaas">
+    <div class="tanchuang qy-yikaitong" v-if="isokopensaas" style="width: 493px;height: 264px;">
       <div class="over"><img @click="guanbitc" class="right xs" src="/static/img/qiye/chahao.png" alt=""></div>
       <div>
-        <div class="tc-okkaitong"><span>该企业已开通服务,联系管理员邀请加入</span></div>
+        <div class="tc-okkaitong"><span>该企业已开通服务</span></div>
         <div class="tc-context">
-          <p><span>saas服务管理员:</span><span>{{admin}}</span></p>
-          <p><span>saas服务管理员手机号:</span><span>{{adminMobile}}</span></p>
-          <p><span>saas服务管理员邮箱:</span><span></span></p>
+            <p>进入服务方式一:可通过添加企业中加入企业申请,待管理员批准通过</p>
+            <p>进入服务方式二:联系管理员邀请加入</p>
+            <p><span>saas服务管理员:</span><span>{{admin}}</span></p>
+            <p><span>saas服务管理员手机号:</span><span>{{adminMobile}}</span></p>
+            <p><span>saas服务管理员邮箱:</span><span></span></p>
         </div>
       </div>
     </div>
@@ -88,7 +90,7 @@
                 </div>
                 <!-- 下 -->
                 <div class="gs-xqright over">
-                    <div v-if= "d.saas_" class="gs-xqright-left left" style="margin-top: 5%;">
+                    <div v-if= "d.saas_" class="gs-xqright-left left" style="margin-top: 5%;width:67%">
                         <p><span>saas管理员:</span>{{d.admin}}</p>
                         <p><span>联系方式:</span>{{d.adminMobile}}</p>
                         <!-- <p><span>开通日期:</span></p> -->
@@ -401,4 +403,7 @@
 .blue:hover {
     background: #0f6fd2;
 }
+.tc-context > p {
+    font-size: 14px;
+}
 </style>

+ 12 - 11
frontend/saas-portal-web/src/components/conenter/details.vue

@@ -48,7 +48,7 @@
                         </li>
                         <li>
                             <span class="qy-biaoti">所属行业</span>
-                            <select ref="qyindustry" style="width:59%;height: 30px" name="selectAge" id="selectAge">   
+                            <select ref="qyindustry" style="width:30%;height: 32px" name="selectAge" id="selectAge">   
                                 <option value="">请选择所属行业</option>
                                 <option value="贸易零售">贸易零售</option>
                                 <option value="制造加工">制造加工</option>
@@ -82,12 +82,12 @@
                 </div>
                 <div class="qy-conent">
                     <ul>
-                        <li><span class="qy-biaoti">姓名</span><span>{{content.admin}}</span></li>
+                        <li><span class="qy-biaoti">姓<span style="width:2em;display: inline-block;"></span>名</span><span>{{content.admin}}</span></li>
                         <li><span class="qy-biaoti">手机号</span><span>{{content.adminMobile}}</span></li>
                         <li>
-                            <span class="qy-biaoti">邮箱</span>
+                            <span class="qy-biaoti">邮<span style="width:2em;display: inline-block;"></span>箱</span>
                             <input @change="email" ref="email" type="text" value="">
-                            <div class="qy-Tips"><span style="color:red">{{Email}}</span></div>
+                            <div class="qy-Tips"><span style="color:red" v-html="Email"></span></div>
                         </li>
                     </ul>
                 </div>
@@ -146,10 +146,10 @@ import Session from '@/utils/session'
                     this.isemail = true
                 } else {
                     if (!reg.test(email)) {
-                        this.Email = '请填写正确的邮箱'
+                        this.Email = '<img style="width:14px" src="/static/img/warning.png" alt=""> 请填写正确的邮箱'
                         this.isemail = false
                     } else {
-                        this.Email = ''
+                        this.Email = '<img style="width:14px" src="/static/img/ok.png" alt="">'
                         this.isemail = true
                     }
                 }
@@ -198,11 +198,8 @@ import Session from '@/utils/session'
                         // console.log("请求失败",err)
                     })
                 } else {
-                    this.$refs.Tips.innerHTML= "请填写正确的邮箱"
+                    this.$message.error('请填写正确的邮箱');
                     // this.isTipsmail = true;
-                    setTimeout(()=>{
-                        this.$refs.Tips.innerHTML= ""
-                    },3000)
                 }
             },
             //返回
@@ -233,7 +230,11 @@ import Session from '@/utils/session'
     height: 20px;
 }
 .qy-Tips {
+    margin: 0;
+    text-align: left;
     height: 26px;
-    margin-left: 21%;
+    display: inline-block;
+    position: absolute;
+    margin-left: 10px;
 }
 </style>

+ 122 - 56
frontend/saas-portal-web/src/components/conenter/enterprise.vue

@@ -1,6 +1,57 @@
 <template>
     <div class="div">
-        <div id="navigation" class="navbar-inverse navbar-fixed-top animated-header">
+
+        <div class="top-nav">
+            <div class="container">
+            <ul>
+                <li class="profile">
+                <span>
+                    <img style="width: 64px;margin-top: -3px;" src="/static/img/xiaologo@2x.png" alt="">
+                </span>
+                    <span class="user-info">
+                        <span id="user-info">{{mytoken.realname || mytoken.username}} | </span>
+                        <span @click="loginout">[退出]</span>
+                    </span>
+                </li>
+            </ul>
+            </div>
+        </div>
+            <div id="navigation" class="navbar-inverse navbar-fixed-top animated-header" style="margin-top:35px;">
+            <div class="container">
+                <div class="navbar-header">
+                    <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                        <span class="sr-only">Toggle navigation</span>
+                        <span class="icon-bar"></span>
+                        <span class="icon-bar"></span>
+                        <span class="icon-bar"></span>
+                    </button>
+                    <h1 class="navbar-brand">
+                        <a href="#">
+                            <img class="logo-img" src="/static/img/assets/dalogo@2x_1.png" alt="">
+                        </a>
+                    </h1>
+                </div>
+            <div class="collapse navbar-collapse navbar-right" role="navigation" style="position: absolute;left: 38%;">
+            <ul @click="gohome" id="nav" class="nav navbar-nav menu">
+                <li><router-link to="/home"><a @click="setTurnHome"><span style="color: white">首页</span></a></router-link></li>
+                <li><a href="#" @click="feature"><span>特色</span></a></li>
+                <li><a href="#" @click="service"><span>功能</span></a></li>
+                <li>
+                <el-dropdown trigger="hover" size="mini" placement='bottom-start'>
+                    <a><span style="color:white;font-size: 16px">帮助中心</span></a>
+                    <el-dropdown-menu slot="dropdown">
+                        <el-dropdown-item>
+                            <span @click="navproblem">常见问题</span>
+                        </el-dropdown-item>
+                    </el-dropdown-menu>
+                </el-dropdown>
+                </li>
+                <li><a href="https://uas.usoftchina.com/about" target="_blank"><span>关于我们</span></a></li>
+            </ul>
+            </div>
+            </div>
+        </div>
+        <!-- <div id="navigation" class="navbar-inverse navbar-fixed-top animated-header">
         <div class="container">
             <div class="navbar-header">
                 <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
@@ -17,7 +68,6 @@
             </div>
             <div class="collapse navbar-collapse navbar-right" role="navigation">
                 <ul id="nav" class="nav navbar-nav menu">
-                    <!-- <li><router-link to="/invitation">邀请</router-link></li> -->
                     <li><router-link to="/home"><a href="#" @click="setTurnHome"><span style="color: white">首页</span></a></router-link></li>
                     <li><a href="https://uas.usoftchina.com/about" target="_blank"><span>关于我们</span></a></li>
                     <li style="margin-left:30px;margin-top: 13px;cursor: pointer;">
@@ -30,7 +80,7 @@
                 </ul>
             </div>
         </div>
-        </div>
+        </div> -->
 
         <iframe hidden :src="setTokenPage"></iframe>
         <div class="gs-worp">
@@ -149,14 +199,15 @@
                                 <span v-else-if='d.status == 2'>待批准</span>
                                 <span><button v-if="d.status == 0" @click="Rejoin(i)" class="news-btn">重新加入</button></span>
                             </li>
-                            <li v-if="!isnews">
-                                <img style="width:100%" src="/static/img/nodata.png" alt="">
+                            <li v-if="!isnews" class="wushuju">
+                                <img src="/static/img/zanwushuju2x.png" alt="">
+                                <p>暂无消息</p>
                             </li>
                         </ul>
                         <div v-if="isnews" class="my-pagination">
                             <el-pagination
                                 background
-                                :page-size=size
+                                :page-size="10"
                                 @current-change="handleCurrentChange"
                                 layout="prev, pager, next"
                                 :total= listtotal>
@@ -190,9 +241,10 @@ import { setTimeout } from 'timers';
                     {name: '安全设置'},
                     {name: '消息'},
                 ],
-                arr: [],
+                arr: [],//分页数据
+                list:[],//全部数据
                 listtotal:1,
-                size: 10,//每页显示数量
+                size: 1000,//每页显示数量
             }
         },
         mounted(){
@@ -204,7 +256,9 @@ import { setTimeout } from 'timers';
             arr:function(){
                 this.$nextTick(function(){
                     this.boxheight();
-                    this.isnews = true;
+                    if (this.arr != '') {
+                        this.isnews = true;
+                    }
                 })
             }
         },
@@ -247,17 +301,19 @@ import { setTimeout } from 'timers';
                         success:function(res){
                             _this.$store.state.isloading = false;
                             if (res.success) {
-                                _this.arr = [];
-                                let list = res.data.list;
-                                for (let i = 0; i < list.length - 1; i++) {
-                                    for (let j = 0; j < list.length - i - 1; j++) {
-                                        if (list[i].companyName == list[j].companyName && list[i].status == 0) {
-                                            delete list[i]
+                                _this.list = [];
+                                let list2 = [];
+                                list2 = res.data.list;
+                                for (let i = 0; i < list2.length; i++) {
+                                    for (let j = i + 1; j < list2.length; j++) {
+                                        if(list2[i].companyName == list2[j].companyName && list2[i].status == 0){
+                                            j = ++i;
                                         }
                                     }
-                                    _this.arr.push(list[i])
+                                    _this.list.push(list2[i])
                                 }
-                                _this.listtotal = res.data.total;
+                                _this.listtotal = _this.list.length;
+                                _this.pagingtion(1,10);
                                 // _this.$store.state.ishongdian = false;//红点
                             }
                         }
@@ -291,45 +347,20 @@ import { setTimeout } from 'timers';
                 })
             },
             // 分页
-             handleCurrentChange(val) {
-                this.$store.state.isloading = true;
+            handleCurrentChange(val) {
                 document.documentElement.scrollTop = 0;
-                let id = this.mytoken.id;
-                let param = [{
-                    type:'condition',
-                    value:'creatorId='+id+''
-                }];
-                let _this = this
-                $.ajax({
-                    url: this.$url.api+'/api/commons/remind/apply/list',
-                    type: "GET",
-                    data:{
-                        condition:JSON.stringify(param),
-                        number:val,
-                        size:this.size
-                    },
-                    headers:{
-                        'Access-Control-Allow-Origin':'*',
-                        'Content-Type':'application/json;charset=UTF-8',
-                        "Authorization":Session.getToken()
-                    },
-                    success:function(res){
-                        _this.$store.state.isloading = false;
-                        if (res.success) {
-                            let arr2 = [];
-                            let list = res.data.list;
-                            for (let i = 0; i < list.length - 1; i++) {
-                                for (let j = 0; j < list.length - i - 1; j++) {
-                                    if (list[i].companyName == list[j].companyName && list[i].status == 0) {
-                                        delete list[i]
-                                    }
-                                }
-                                arr2.push(list[i])
-                            }
-                            _this.arr = arr2
-                        }
-                    }
-                })
+                this.pagingtion(val,10);
+            },
+            //分页函数
+            pagingtion(min,max){
+                //定义一个空数组存放分割的数据
+                this.arr = []
+                //对源数组进行分割
+                let list = this.list.concat().splice(min * max - max, max)
+                //循环插入新数组中进行展示
+                for (let i = 0; i < list.length; i++) {
+                    this.arr.push(list[i]);
+                }
             },
             setTurnHome(){
                 this.$parent.turnHome = true
@@ -403,6 +434,24 @@ import { setTimeout } from 'timers';
                     })
                 }
             },
+            //常见问题
+            navproblem(){
+                this.$router.push({name: 'Home', params: {isporblem: false}})
+                this.$store.commit('problemfalse');
+                document.documentElement.scrollTop = 0;
+            },
+            // 特色
+            feature(){
+                this.$router.push({name: 'Home', params: {isfeature: 700}})
+            },
+            //功能
+            service(){
+                this.$router.push({name: 'Home', params: {isfeature: 3550}})
+            },
+            gohome(e){
+                this.$store.commit('problemtrue')
+                // this.isproblem = true
+            },
             //内容不足500固定高度
             boxheight(){
                 let H = this.$refs.qiyebox.offsetHeight;
@@ -418,7 +467,7 @@ import { setTimeout } from 'timers';
 
 <style scoped>
 .div {
-    padding-top: 100px;
+    padding-top: 140px;
     background: #FDFDFD;
 }
 .heigh {
@@ -555,4 +604,21 @@ import { setTimeout } from 'timers';
     text-align: center !important;
     margin-top: 50px;
 }
+.wushuju {
+    text-align: center;
+    border-top: 2px solid #B7D9FB;
+    margin-top: 20px;
+    padding: 100px 0px;
+}
+.wushuju > img {
+    width: 18%
+}
+.wushuju > p {
+    font-family: PingFangSC-Regular;
+    font-size: 14px;
+    color: #BEBEBE;
+    letter-spacing: 0;
+    text-align: center;
+    line-height: 26px;
+}
 </style>

+ 25 - 0
frontend/saas-portal-web/src/components/conenter/failure.vue

@@ -0,0 +1,25 @@
+<template>
+    <div>
+        <img style="width:100%" src="/static/img/pageshixiao.png" alt="">
+    </div>
+</template>
+
+<script>
+    export default {
+        data(){
+            return {
+
+            }
+        },
+        created(){
+            this.$store.state.isinvitation = false;
+        },
+        destroyed(){
+            this.$store.state.isinvitation = true
+        },
+    }
+</script>
+
+<style scoped>
+
+</style>

+ 44 - 17
frontend/saas-portal-web/src/components/conenter/home.vue

@@ -1,6 +1,29 @@
 <template>
     <div>
-		<div id="navigation" class="navbar-inverse navbar-fixed-top animated-header">
+      <div class="top-nav">
+        <div class="container">
+          <ul>
+            <li class="login" v-if="!account" style="margin-left: 30px;">
+              <span>
+                <img style="width: 64px;margin-top: -3px;" src="/static/img/xiaologo@2x.png" alt="">
+              </span>
+              <span @click="login"><img src="/static/img/assets/denglu3x.png" alt="">登录  &nbsp;</span>
+              <span @click="register"><img src="/static/img/assets/zhuce3x.png" alt="">注册</span>
+            </li>
+            <li class="profile" v-if="account">
+              <span>
+                <img style="width: 64px;margin-top: -3px;" src="/static/img/xiaologo@2x.png" alt="">
+              </span>
+							<span class="user-info">
+								<span id="user-info">{{account.realname || account.username}} | </span>
+                <span @click="loginout">[退出]</span>
+							</span>
+              <router-link to="/enterprise"><a><span @click="home" style="color: white">账户中心</span></a></router-link>
+            </li>
+          </ul>
+        </div>
+      </div>
+		<div id="navigation" class="navbar-inverse navbar-fixed-top animated-header" style="margin-top:35px;">
         <div class="container">
             <div class="navbar-header">
                 <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
@@ -15,27 +38,24 @@
                     </a>
                 </h1>
             </div>
-        <div class="collapse navbar-collapse navbar-right" role="navigation">
+        <div class="collapse navbar-collapse navbar-right" role="navigation" style="position: absolute;left: 38%;">
           <ul @click="gohome" id="nav" class="nav navbar-nav menu">
             <li><a href="#" @click="setTurnHome"><span>首页</span></a></li>
-            <li><a href="https://www.usoftchina.com/" target="_blank"><span>优软云</span></a></li>
             <li>
               <a href="#feature"><span>特色</span></a>
             </li>
             <li><a href="#service"><span>功能</span></a></li>
-            <li><a href="https://uas.usoftchina.com/about" target="_blank"><span>关于我们</span></a></li>
-            <li class="login" v-if="!account" style="margin-left: 30px;">
-              <span @click="login"><img src="/static/img/assets/denglu3x.png" alt="">登录  &nbsp;</span>
-              <span @click="register"><img src="/static/img/assets/zhuce3x.png" alt="">注册</span>
-            </li>
-            <li class="profile" v-if="account">
-							<span class="user-info">
-								<img src="/static/img/assets/denglu3x.png" alt="">
-								<span id="user-info">{{account.realname || account.username}}</span>
-							</span>
-              <span @click="loginout">【退出】</span>    |
-              <router-link to="/enterprise"><a><span @click="home" style="color: white">账户中心</span></a></router-link>
+            <li>
+              <el-dropdown trigger="hover" size="mini" placement='bottom-start'>
+                <a><span style="color:white;font-size: 16px">帮助中心</span></a>
+                  <el-dropdown-menu slot="dropdown">
+                      <el-dropdown-item>
+                          <span @click="navproblem">常见问题</span>
+                      </el-dropdown-item>
+                  </el-dropdown-menu>
+              </el-dropdown>
             </li>
+            <li><a href="https://uas.usoftchina.com/about" target="_blank"><span>关于我们</span></a></li>
           </ul>
         </div>
         </div>
@@ -246,6 +266,7 @@
         account: null,
         isexperience: false,
         isproblem: true,//常见问题
+        isfeature:this.$route.params.isfeature,
       }
     },
     components: {
@@ -254,7 +275,7 @@
     watch: {
       getnewproblem(val){
           this.isproblem = val
-      }
+      },
     },
     created(){
       if (this.$route.params.isporblem == undefined) {
@@ -301,6 +322,7 @@
       this.clientId = Math.random().toString(36).substr(2)
       // 从本地加载已经登录的信息
       this.account = Session.getAccount()
+      document.documentElement.scrollTop = this.isfeature;
     },
     computed: {
       setTokenPage() {
@@ -318,7 +340,7 @@
       },
       getnewproblem() {
         return this.$store.state.isproblem;
-      }
+      },
     },
     methods: {
       home() {
@@ -431,6 +453,11 @@
           }
         }
       },
+      //常见问题
+      navproblem(){
+        this.$store.commit('problemfalse');
+        document.documentElement.scrollTop = 0;
+      },
       gohome(e){
         this.$store.commit('problemtrue')
         // this.isproblem = true

+ 8 - 2
frontend/saas-portal-web/src/components/conenter/invitation.vue

@@ -221,12 +221,17 @@ import { setTimeout } from 'timers';
             },
             //获取页面参数
             param(){
-                let param = "dXNlcm5hbWU96ZmI54KcJmNvbXBhbnlJZD0yNjImdGltZXN0bWFwPTE1NDUyODAyODU1MjQmZGVsYXk9MSZjb21wYW55TmFtZT3pmYjngpw."
+                let url = window.location.search;
+                let param = url.substring(url.lastIndexOf('=')+1, url.length);
                 this.$ajax({
-                    url: this.$url.api+"/api/commons/share/valid/param"+`?param=${param}`,
+                    url: this.$url.api+"/api/commons/share/valid/param",
                     method:'POST',
+                    data:{
+                        param:param
+                    },
                     headers:{
                         "Authorization":Session.getToken(),
+                        "Content-Type":"application/x-www-form-urlencoded",
                     }
                 })
                 .then(res=>{
@@ -234,6 +239,7 @@ import { setTimeout } from 'timers';
                         this.enterprise = res.data.data;
                     } else {
                         this.$message.error(res.data.message);
+                        this.$router.push({path:'/failure'})
                     }
                 })
             },

+ 1 - 1
frontend/saas-portal-web/src/pages/index/index.js

@@ -11,7 +11,7 @@ Vue.use(ElementUI);
 
 Axios.defaults.withCredentials=true;
 Axios.interceptors.request.use(function (config) {
-  store.state.isloading = true
+  store.state.isloading = true;
   return config;
 })
 Axios.interceptors.response.use(function (config) {

+ 6 - 0
frontend/saas-portal-web/src/router/index.js

@@ -6,6 +6,7 @@ import company from '../components/conenter/company.vue'//企业列表
 import addenterprise from '../components/conenter/addenterprise.vue'//添加公司
 import details from '../components/conenter/details.vue'//企业详细
 import invitation from '../components/conenter/invitation.vue'//邀请页面
+import failure from '../components/conenter/failure.vue'//邀请链接失效
 
 Vue.use(Router)
 
@@ -25,6 +26,11 @@ export default new Router({
       name:'invitation',
       component:invitation
     },
+    {
+      path:'/failure',
+      name:'failure',
+      component:failure
+    },
     {
       path: '/enterprise',
       name: 'enterprise',

+ 17 - 11
frontend/saas-portal-web/static/css/gongsi.css

@@ -26,9 +26,10 @@
     left: 50%;
     transform: translate(-50%, -50%); 
     z-index: 10001;
-    border: 1px solid black;
     padding: 16px;
-    text-align: center
+    text-align: center;
+    background: #FFFFFF;
+    border-radius: 2px 6px 6px 6px;
 }
 .tc-conent {
     padding: 33px 0 16px 0;
@@ -71,7 +72,7 @@
 
 /* 主体 */
 .gs-worp {
-    width: 55%;
+    width: 60%;
     margin: 0 auto;
     font-size: 14px;
     color: #243A52;
@@ -121,6 +122,7 @@
     letter-spacing: 0;
     font-size: 20px;
     line-height: 30px;
+    word-wrap:break-word;
 }
 .dotted {
     border: 1px dashed rgba(30,136,245,0.32);
@@ -166,8 +168,7 @@
 }
 .gs-xqright {
     height: 35%;
-    background: #EFF7FF
-    ;
+    background: #EFF7FF;
     padding: 10px;
 }
 .gs-xqright div {
@@ -176,6 +177,10 @@
 .gs-xqright div p{
     font-size: 12px;
     letter-spacing: 0;
+    width: 100%;
+    overflow: hidden;
+    text-overflow: ellipsis;
+    white-space: nowrap;
 }
 .gs-border {
     margin-top: 8%;
@@ -216,7 +221,7 @@
     color: #1E88F5;
     text-align: center;
     position: relative;
-    padding: 6px 26px;
+    padding: 6px 33px;
     font-size: 14px;
 }
 .xingxing {
@@ -230,7 +235,8 @@
 }
 .qy-conent input {
     border: 1px solid #1E88F5;
-    width: 59%;
+    width: 30%;
+    height: 32px;
 }
 .tj-biaoqian {
     border: 1px dashed #7CBAFA;
@@ -364,12 +370,12 @@
     text-align: center;
     position: relative;
     left: 200px;
-    padding: 6px 26px;
+    padding: 6px 33px;
     background: #1E88F5;
     border-radius: 2px;
 }
 .qy-conent {
-    padding: 30px 0 0 20px;
+    padding: 30px 0px;
 }
 .qy-conent li{
     list-style: none;
@@ -381,7 +387,7 @@
     text-align: right;
     font-weight: 600;
     display: inline-block;
-    width: 15%;
+    width: 10%;
     margin-right: 6%;
 }
 .jr-conent {
@@ -389,7 +395,7 @@
     text-align: center;
 }
 .jr-conent input {
-    width: 31%;
+    width: 30%;
     padding-left: 10px;
 }
 .hied {

+ 24 - 8
frontend/saas-portal-web/static/css/main.css

@@ -71,9 +71,28 @@ main > section {
     background-color: #0aa6bd;
 }
 .logo-img {
-    width: 120px;
-    margin-top: -4px;
+    width: 100px;
+    margin-top: 2px;
+}
+/* 顶部导航 */
+.top-nav {
+    background: #484443;
+    height: 35px;
+    position: fixed;
+    top: 0;
+    left: 0;
+    z-index: 1001;
+    width: 100%;
+    line-height: 35px;
+}
+.top-nav ul {
+    float: right;
 }
+.el-dropdown {
+    line-height: 50px;
+    font-size: 16px;
+}
+
 /* 遮罩 */
 .zhezhao {
     position: fixed;
@@ -102,17 +121,14 @@ main > section {
 /* 11/12注册页面 ..........................................*/
 .login,.profile {
     color: white;
-    font-size: 16px;
+    font-size: 12px;
     /* font-weight: 600; */
 }
-.login {
-    margin-top: 12px;
-}
 .profile .user-info {
    margin: 0 15px;
 }
 .login img,.profile img {
-    width: 20px;
+    width: 16px;
     margin-right: 5px;
 }
 .login > span:hover,.profile > span:hover{
@@ -133,7 +149,7 @@ main > section {
     top: 64%;
     left: 50%;
     transform: translate(-50%, -50%);
-    z-index: 1000;
+    z-index: 100;
 }
 .my-tiyan {
     background: #1E88F5;

二进制
frontend/saas-portal-web/static/img/pageshixiao.png


二进制
frontend/saas-portal-web/static/img/xiaologo@2x.png


二进制
frontend/saas-portal-web/static/img/zanwushuju2x.png


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

@@ -128,7 +128,7 @@ Ext.define('saas.view.document.kind.Kind', {
         
         if(button&&button.xtype!="tbfill"){
             button.click();
-            me.ownerCt.setTitle(button.typeText + '查询');
+            me.ownerCt.setTitle(button.typeText);
         }
     }
 })

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

@@ -31,7 +31,7 @@ Ext.define('saas.view.document.kind.KindController', {
         grid.reconfigure(store, columns);
         if(store) store.reload();
         vm.set('title', button.typeText);
-        grid.ownerCt.ownerCt.setTitle(button.typeText+'查询');
+        grid.ownerCt.ownerCt.setTitle(button.typeText);
     },
     onAdd:function(b){
         var dk = b.ownerCt.ownerCt;

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

@@ -5,7 +5,7 @@ Ext.define('saas.view.document.product.FormController', {
         var me = this;
         this.control({
             //主表单选放大镜模板
-            'vendorDbfindTrigger[name=pr_vendcode]':{
+            'vendorDbfindTrigger[name=pr_vendname]':{
                 beforerender:function(f){
                     Ext.apply(f,{
                         dbfinds:[{
@@ -20,7 +20,7 @@ Ext.define('saas.view.document.product.FormController', {
                 }
             },
             // 仓库编号
-            'warehouseDbfindTrigger[name=pr_whcode]':{
+            'warehouseDbfindTrigger[name=pr_whname]':{
                 beforerender:function(f){
                     Ext.apply(f,{
                         dbfinds:[{

+ 1 - 1
frontend/saas-web/app/view/main/Navigation.js

@@ -154,7 +154,7 @@ Ext.define('saas.view.main.Navigation', {
                                     config = dataset.config,
                                     id = dataset.id;
 
-                                    var tabTitle = text + '查询',
+                                    var tabTitle = text,
                                     tabId = 'maintab-' + type + '-' + id;
 
                                     menu.navItem.classList.remove(menu.navView.overItemCls);