hy 7 лет назад
Родитель
Сommit
eeef8c0f23
100 измененных файлов с 2108 добавлено и 444 удалено
  1. 19 0
      applications/commons/commons-api/src/main/java/com/usoftchina/saas/commons/api/CommonServiceFallback.java
  2. 1 0
      applications/commons/commons-dto/src/main/java/com/usoftchina/saas/commons/po/BillCodeSeq.java
  3. 70 0
      applications/operation/operation-server/pom.xml
  4. 6 0
      applications/operation/operation-server/src/main/docker/Dockerfile
  5. 24 0
      applications/operation/operation-server/src/main/java/com/usoftchina/saas/operation/OperationApplication.java
  6. 39 0
      applications/operation/operation-server/src/main/java/com/usoftchina/saas/operation/controller/CustomerFeedBackController.java
  7. 46 0
      applications/operation/operation-server/src/main/java/com/usoftchina/saas/operation/controller/DataController.java
  8. 135 0
      applications/operation/operation-server/src/main/java/com/usoftchina/saas/operation/dto/AccountDTO.java
  9. 100 0
      applications/operation/operation-server/src/main/java/com/usoftchina/saas/operation/dto/CompanyDTO.java
  10. 57 0
      applications/operation/operation-server/src/main/java/com/usoftchina/saas/operation/dto/LoginDTO.java
  11. 13 0
      applications/operation/operation-server/src/main/java/com/usoftchina/saas/operation/mapper/AccountMapper.java
  12. 14 0
      applications/operation/operation-server/src/main/java/com/usoftchina/saas/operation/mapper/CompanyMapper.java
  13. 21 0
      applications/operation/operation-server/src/main/java/com/usoftchina/saas/operation/mapper/CustomerfeedbackMapper.java
  14. 185 0
      applications/operation/operation-server/src/main/java/com/usoftchina/saas/operation/po/Company.java
  15. 103 0
      applications/operation/operation-server/src/main/java/com/usoftchina/saas/operation/po/CustomerFeedBack.java
  16. 13 0
      applications/operation/operation-server/src/main/java/com/usoftchina/saas/operation/service/CustomerFeedBackService.java
  17. 19 0
      applications/operation/operation-server/src/main/java/com/usoftchina/saas/operation/service/DataService.java
  18. 57 0
      applications/operation/operation-server/src/main/java/com/usoftchina/saas/operation/service/impl/CustomerFedBackServiceImpl.java
  19. 71 0
      applications/operation/operation-server/src/main/java/com/usoftchina/saas/operation/service/impl/DataServiceImpl.java
  20. 82 0
      applications/operation/operation-server/src/main/resources/application.yml
  21. 13 0
      applications/operation/operation-server/src/main/resources/config/application-dev.yml
  22. 12 0
      applications/operation/operation-server/src/main/resources/config/application-docker-dev.yml
  23. 23 0
      applications/operation/operation-server/src/main/resources/config/application-docker-prod.yml
  24. 10 0
      applications/operation/operation-server/src/main/resources/config/application-docker.yml
  25. 115 0
      applications/operation/operation-server/src/main/resources/logback-spring.xml
  26. 34 0
      applications/operation/operation-server/src/main/resources/mapper/AccoutMapper.xml
  27. 20 0
      applications/operation/operation-server/src/main/resources/mapper/CompanyMapper.xml
  28. 142 0
      applications/operation/operation-server/src/main/resources/mapper/CustomerfeedbackMapper.xml
  29. 1 1
      base-servers/account/account-server/src/main/java/com/usoftchina/saas/account/controller/AccountController.java
  30. 13 0
      base-servers/auth/auth-server/src/main/resources/config/application-dev.yml
  31. 12 0
      base-servers/sms/sms-server/src/main/resources/config/application-docker-dev.yml
  32. 6 2
      frontend/operation-web/app/view/main/Main.scss
  33. 2 3
      frontend/operation-web/app/view/main/MainController.js
  34. 1 1
      frontend/operation-web/app/view/main/Navigation.scss
  35. 7 2
      frontend/saas-portal-web/src/components/conenter/enterprise.vue
  36. 93 9
      frontend/saas-portal-web/src/components/conenter/home.vue
  37. 14 5
      frontend/saas-portal-web/static/css/main.css
  38. 1 1
      frontend/saas-portal-web/static/js/mains.js
  39. 137 97
      frontend/saas-web/app/Application.scss
  40. 13 0
      frontend/saas-web/app/util/BaseUtil.js
  41. 3 1
      frontend/saas-web/app/view/core/dbfind/DbfindGridPanel.js
  42. 2 0
      frontend/saas-web/app/view/core/dbfind/DbfindGridPanel.scss
  43. 1 1
      frontend/saas-web/app/view/core/dbfind/types/CustomerDbfindTrigger.js
  44. 3 3
      frontend/saas-web/app/view/core/dbfind/types/OriOrderMutiDbfindTrigger.js
  45. 3 3
      frontend/saas-web/app/view/core/dbfind/types/ProductAddMultiDbfindTrigger.js
  46. 4 4
      frontend/saas-web/app/view/core/dbfind/types/ProductDbfindTrigger.js
  47. 4 4
      frontend/saas-web/app/view/core/dbfind/types/ProductMultiDbfindTrigger.js
  48. 1 1
      frontend/saas-web/app/view/core/dbfind/types/VendorDbfindTrigger.js
  49. 0 4
      frontend/saas-web/app/view/core/form/field/DetailGridField.js
  50. 87 62
      frontend/saas-web/app/view/core/report/ReportPanel.js
  51. 15 1
      frontend/saas-web/app/view/core/report/ReportPanel.scss
  52. 2 2
      frontend/saas-web/app/view/document/bankinformation/DataList.js
  53. 2 2
      frontend/saas-web/app/view/document/bankinformation/Window.js
  54. 1 1
      frontend/saas-web/app/view/document/bom/FormPanel.js
  55. 3 3
      frontend/saas-web/app/view/document/customer/BasePanel.js
  56. 4 4
      frontend/saas-web/app/view/document/customer/FormPanel.js
  57. 4 4
      frontend/saas-web/app/view/document/product/BasePanel.js
  58. 5 5
      frontend/saas-web/app/view/document/product/FormPanel.js
  59. 3 3
      frontend/saas-web/app/view/document/vendor/BasePanel.js
  60. 3 3
      frontend/saas-web/app/view/document/vendor/FormPanel.js
  61. 7 1
      frontend/saas-web/app/view/home/charts/MonthSale.js
  62. 0 2
      frontend/saas-web/app/view/home/infoCardList/InfoList.js
  63. 5 5
      frontend/saas-web/app/view/home/infoCardList/Payment.js
  64. 5 5
      frontend/saas-web/app/view/home/infoCardList/PurchaseIn.js
  65. 8 8
      frontend/saas-web/app/view/home/infoCardList/Recment.js
  66. 4 4
      frontend/saas-web/app/view/home/infoCardList/SaleOut.js
  67. 5 5
      frontend/saas-web/app/view/home/infoCardList/UnauditCheckIn.js
  68. 8 8
      frontend/saas-web/app/view/home/infoCardList/UnauditSaleOut.js
  69. 6 2
      frontend/saas-web/app/view/main/Main.scss
  70. 2 3
      frontend/saas-web/app/view/main/MainController.js
  71. 2 2
      frontend/saas-web/app/view/money/fundtransfer/FormPanel.js
  72. 1 1
      frontend/saas-web/app/view/money/fundtransfer/QueryPanel.js
  73. 3 4
      frontend/saas-web/app/view/money/othreceipts/FormPanel.js
  74. 3 3
      frontend/saas-web/app/view/money/othreceipts/FormPanelController.js
  75. 3 3
      frontend/saas-web/app/view/money/othreceipts/QueryPanel.js
  76. 2 2
      frontend/saas-web/app/view/money/othspendings/FormPanel.js
  77. 3 3
      frontend/saas-web/app/view/money/othspendings/FormPanelController.js
  78. 3 3
      frontend/saas-web/app/view/money/othspendings/QueryPanel.js
  79. 10 10
      frontend/saas-web/app/view/money/payBalance/FormPanel.js
  80. 3 5
      frontend/saas-web/app/view/money/payBalance/FormPanelController.js
  81. 2 2
      frontend/saas-web/app/view/money/payBalance/QueryPanel.js
  82. 10 10
      frontend/saas-web/app/view/money/recBalance/FormPanel.js
  83. 3 5
      frontend/saas-web/app/view/money/recBalance/FormPanelController.js
  84. 2 2
      frontend/saas-web/app/view/money/recBalance/QueryPanel.js
  85. 4 4
      frontend/saas-web/app/view/money/report/AccountBalance.js
  86. 3 3
      frontend/saas-web/app/view/money/report/CustomerCheck.js
  87. 2 2
      frontend/saas-web/app/view/money/report/OtherIODetail.js
  88. 3 3
      frontend/saas-web/app/view/money/report/PayDetail.js
  89. 6 6
      frontend/saas-web/app/view/money/report/ProfitDetail.js
  90. 6 6
      frontend/saas-web/app/view/money/report/RecDetail.js
  91. 11 11
      frontend/saas-web/app/view/money/report/TotalPayDetail.js
  92. 11 11
      frontend/saas-web/app/view/money/report/TotalRecDetail.js
  93. 3 3
      frontend/saas-web/app/view/money/report/VendorCheck.js
  94. 16 16
      frontend/saas-web/app/view/money/verification/FormPanel.js
  95. 12 12
      frontend/saas-web/app/view/money/verification/FormPanelController.js
  96. 1 1
      frontend/saas-web/app/view/money/verification/QueryPanel.js
  97. 11 11
      frontend/saas-web/app/view/purchase/purchase/FormPanel.js
  98. 7 7
      frontend/saas-web/app/view/purchase/purchase/QueryPanel.js
  99. 11 11
      frontend/saas-web/app/view/purchase/purchaseIn/FormPanel.js
  100. 7 7
      frontend/saas-web/app/view/purchase/purchaseIn/QueryPanel.js

+ 19 - 0
applications/commons/commons-api/src/main/java/com/usoftchina/saas/commons/api/CommonServiceFallback.java

@@ -0,0 +1,19 @@
+package com.usoftchina.saas.commons.api;
+
+
+public class CommonServiceFallback implements CommonService {
+    @Override
+    public String commonAudit(String table, String keyvalue, String status, String statuscode, String auditdate, String auditman) {
+        return null;
+    }
+
+    @Override
+    public String commonResAudit(String table, String keyvalue, String status, String statuscode, String auditdate, String auditman) {
+        return null;
+    }
+/*
+    @Override
+    public String timeout(Long time) {
+        return "网络异常,请重试!";
+    }*/
+}

+ 1 - 0
applications/commons/commons-dto/src/main/java/com/usoftchina/saas/commons/po/BillCodeSeq.java

@@ -56,6 +56,7 @@ public enum  BillCodeSeq {
 
     UNENDPRODUCT ("反结账", "UNENDPRODUCT"),
 
+    CUSTOMERFEDBACK ("客户反馈", "CUSTOMERFEDBACK"),
 
     BOM("BOM资料", "Bom");
 

+ 70 - 0
applications/operation/operation-server/pom.xml

@@ -10,6 +10,76 @@
     <modelVersion>4.0.0</modelVersion>
 
     <artifactId>operation-server</artifactId>
+    <dependencies>
+        <dependency>
+            <groupId>com.usoftchina.saas</groupId>
+            <artifactId>auth-dto</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.usoftchina.saas</groupId>
+            <artifactId>auth-common</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.usoftchina.saas</groupId>
+            <artifactId>account-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.usoftchina.saas</groupId>
+            <artifactId>server-starter</artifactId>
+        </dependency>
+        <!-- db -->
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.mybatis.spring.boot</groupId>
+            <artifactId>mybatis-spring-boot-starter</artifactId>
+        </dependency>
+        <!-- api doc -->
+        <dependency>
+            <groupId>io.springfox</groupId>
+            <artifactId>springfox-swagger-ui</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.springfox</groupId>
+            <artifactId>springfox-swagger2</artifactId>
+        </dependency>
 
+        <!-- sleuth -->
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-starter-zipkin</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.amqp</groupId>
+            <artifactId>spring-rabbit</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>net.logstash.logback</groupId>
+            <artifactId>logstash-logback-encoder</artifactId>
+        </dependency>
+        <!-- test -->
+        <dependency>
+            <groupId>com.usoftchina.saas</groupId>
+            <artifactId>test-starter</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.github.pagehelper</groupId>
+            <artifactId>pagehelper-spring-boot-starter</artifactId>
+        </dependency>
+    </dependencies>
 
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>com.spotify</groupId>
+                <artifactId>docker-maven-plugin</artifactId>
+            </plugin>
+        </plugins>
+    </build>
 </project>

+ 6 - 0
applications/operation/operation-server/src/main/docker/Dockerfile

@@ -0,0 +1,6 @@
+FROM frolvlad/alpine-oraclejdk8:slim
+VOLUME /tmp
+ADD operation-server-1.0.0-SNAPSHOT.jar app.jar
+RUN sh -c 'touch /app.jar'
+ENV JAVA_OPTS=""
+ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]

+ 24 - 0
applications/operation/operation-server/src/main/java/com/usoftchina/saas/operation/OperationApplication.java

@@ -0,0 +1,24 @@
+package com.usoftchina.saas.operation;
+
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
+import org.springframework.cloud.openfeign.EnableFeignClients;
+
+/**
+ * @author: guq
+ * @create: 2019-01-04 14:53
+ **/
+@SpringBootApplication
+@EnableEurekaClient
+@EnableFeignClients(basePackages = {
+        "com.usoftchina.saas.account.api"
+})
+@MapperScan(basePackages = "com.usoftchina.saas.operation.mapper")
+public class OperationApplication {
+
+    public static void main(String[] args) {
+        SpringApplication.run(OperationApplication.class, args);
+    }
+}

+ 39 - 0
applications/operation/operation-server/src/main/java/com/usoftchina/saas/operation/controller/CustomerFeedBackController.java

@@ -0,0 +1,39 @@
+package com.usoftchina.saas.operation.controller;
+
+import com.github.pagehelper.PageInfo;
+import com.usoftchina.saas.base.Result;
+import com.usoftchina.saas.commons.dto.DocBaseDTO;
+import com.usoftchina.saas.commons.dto.ListReqDTO;
+import com.usoftchina.saas.operation.po.CustomerFeedBack;
+import com.usoftchina.saas.operation.service.CustomerFeedBackService;
+import com.usoftchina.saas.page.PageDefault;
+import com.usoftchina.saas.page.PageRequest;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 客户反馈
+ * @author: guq
+ * @create: 2019-01-04 17:52
+ **/
+@RequestMapping("/customerFeedBack")
+@RestController
+public class CustomerFeedBackController {
+
+    @Autowired
+    private CustomerFeedBackService customerFeedBackService;
+
+    @GetMapping("/list")
+    public Result<PageInfo<CustomerFeedBack>> getListData(@PageDefault(size = 10) PageRequest page, ListReqDTO req) {
+        PageInfo<CustomerFeedBack> listData = customerFeedBackService.getListData(page, req);
+        return Result.success(listData);
+    }
+
+    @RequestMapping("/save")
+    public Result<DocBaseDTO> save(@RequestBody CustomerFeedBack feedBack) {
+        DocBaseDTO save = customerFeedBackService.save(feedBack);
+        return Result.success(save);
+    }
+
+
+}

+ 46 - 0
applications/operation/operation-server/src/main/java/com/usoftchina/saas/operation/controller/DataController.java

@@ -0,0 +1,46 @@
+package com.usoftchina.saas.operation.controller;
+
+import com.github.pagehelper.PageInfo;
+import com.usoftchina.saas.base.Result;
+import com.usoftchina.saas.commons.dto.ListReqDTO;
+import com.usoftchina.saas.operation.dto.AccountDTO;
+import com.usoftchina.saas.operation.dto.CompanyDTO;
+import com.usoftchina.saas.operation.dto.LoginDTO;
+import com.usoftchina.saas.operation.service.DataService;
+import com.usoftchina.saas.page.PageDefault;
+import com.usoftchina.saas.page.PageRequest;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 统计数据
+ * @author: guq
+ * @create: 2019-01-04 15:27
+ **/
+@RequestMapping("/data")
+@RestController
+public class DataController {
+
+    @Autowired
+    private DataService dataService;
+
+    @GetMapping("/getCompany")
+    public Result<PageInfo<CompanyDTO>> getCompany(@PageDefault(size = 10) PageRequest page, ListReqDTO req){
+        return Result.success(dataService.getCompany(page, req));
+    }
+
+
+    @GetMapping("/getAccount")
+    public Result<PageInfo<AccountDTO>> getAccount(@PageDefault(size = 10) PageRequest page, ListReqDTO req) {
+        return Result.success(dataService.getAccount(page, req));
+    }
+
+    @GetMapping("/getLogin")
+    public Result<PageInfo<LoginDTO>> getLogin(@PageDefault(size = 10) PageRequest page, ListReqDTO req) {
+        return Result.success(dataService.getLogin(page, req));
+    }
+
+
+}

+ 135 - 0
applications/operation/operation-server/src/main/java/com/usoftchina/saas/operation/dto/AccountDTO.java

@@ -0,0 +1,135 @@
+package com.usoftchina.saas.operation.dto;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author: guq
+ * @create: 2019-01-05 13:27
+ **/
+public class AccountDTO implements Serializable{
+    private Long id;
+    private String username;
+    private String realname;
+    private String email;
+    private String mobile;
+    /**
+     * 头像
+     */
+    private String avatarUrl;
+    /**
+     * 账号类型 0 - 管理员
+     */
+    private Integer type;
+    private Boolean enabled;
+    private Date createTime;
+    private long creatorId;
+    private Date updateTime;
+    private long updaterId;
+    private Long uu;
+
+    public String getUsername() {
+        return username;
+    }
+
+    public void setUsername(String username) {
+        this.username = username;
+    }
+
+
+    public String getRealname() {
+        return realname;
+    }
+
+    public void setRealname(String realname) {
+        this.realname = realname;
+    }
+
+    public String getEmail() {
+        return email;
+    }
+
+    public void setEmail(String email) {
+        this.email = email;
+    }
+
+    public String getMobile() {
+        return mobile;
+    }
+
+    public void setMobile(String mobile) {
+        this.mobile = mobile;
+    }
+
+    public String getAvatarUrl() {
+        return avatarUrl;
+    }
+
+    public void setAvatarUrl(String avatarUrl) {
+        this.avatarUrl = avatarUrl;
+    }
+
+    public Integer getType() {
+        return type;
+    }
+
+    public void setType(Integer type) {
+        this.type = type;
+    }
+
+    public Boolean isEnabled() {
+        return enabled;
+    }
+
+    public void setEnabled(Boolean enabled) {
+        this.enabled = enabled;
+    }
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public long getCreatorId() {
+        return creatorId;
+    }
+
+    public void setCreatorId(long creatorId) {
+        this.creatorId = creatorId;
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public long getUpdaterId() {
+        return updaterId;
+    }
+
+    public void setUpdaterId(long updaterId) {
+        this.updaterId = updaterId;
+    }
+
+    public Long getUu() {
+        return uu;
+    }
+
+    public void setUu(Long uu) {
+        this.uu = uu;
+    }
+}

+ 100 - 0
applications/operation/operation-server/src/main/java/com/usoftchina/saas/operation/dto/CompanyDTO.java

@@ -0,0 +1,100 @@
+package com.usoftchina.saas.operation.dto;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author: guq
+ * @create: 2019-01-04 16:19
+ **/
+public class CompanyDTO implements Serializable{
+    /**
+     * 唯一名称
+     */
+    private String name;
+
+    /**
+     * 商业登记证号
+
+     */
+    private String business_code;
+    private String address;
+    private String tel;
+    private String fax;
+    private String realname;
+    private String mobile;
+    private Long uu;
+    private Date create_time;
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getBusiness_code() {
+        return business_code;
+    }
+
+    public void setBusiness_code(String business_code) {
+        this.business_code = business_code;
+    }
+
+    public String getAddress() {
+        return address;
+    }
+
+    public void setAddress(String address) {
+        this.address = address;
+    }
+
+    public String getTel() {
+        return tel;
+    }
+
+    public void setTel(String tel) {
+        this.tel = tel;
+    }
+
+    public String getFax() {
+        return fax;
+    }
+
+    public void setFax(String fax) {
+        this.fax = fax;
+    }
+
+    public String getRealname() {
+        return realname;
+    }
+
+    public void setRealname(String realname) {
+        this.realname = realname;
+    }
+
+    public String getMobile() {
+        return mobile;
+    }
+
+    public void setMobile(String mobile) {
+        this.mobile = mobile;
+    }
+
+    public Long getUu() {
+        return uu;
+    }
+
+    public void setUu(Long uu) {
+        this.uu = uu;
+    }
+
+    public Date getCreate_time() {
+        return create_time;
+    }
+
+    public void setCreate_time(Date create_time) {
+        this.create_time = create_time;
+    }
+}

+ 57 - 0
applications/operation/operation-server/src/main/java/com/usoftchina/saas/operation/dto/LoginDTO.java

@@ -0,0 +1,57 @@
+package com.usoftchina.saas.operation.dto;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author: guq
+ * @create: 2019-01-05 15:28
+ **/
+public class LoginDTO implements Serializable{
+
+    private Long account_id;
+    private int login_num;
+    private String username;
+    private Date lastesttime;
+    private String mobile;
+
+    public Long getAccount_id() {
+        return account_id;
+    }
+
+    public void setAccount_id(Long account_id) {
+        this.account_id = account_id;
+    }
+
+    public int getLogin_num() {
+        return login_num;
+    }
+
+    public void setLogin_num(int login_num) {
+        this.login_num = login_num;
+    }
+
+    public String getUsername() {
+        return username;
+    }
+
+    public void setUsername(String username) {
+        this.username = username;
+    }
+
+    public Date getLastesttime() {
+        return lastesttime;
+    }
+
+    public void setLastesttime(Date lastesttime) {
+        this.lastesttime = lastesttime;
+    }
+
+    public String getMobile() {
+        return mobile;
+    }
+
+    public void setMobile(String mobile) {
+        this.mobile = mobile;
+    }
+}

+ 13 - 0
applications/operation/operation-server/src/main/java/com/usoftchina/saas/operation/mapper/AccountMapper.java

@@ -0,0 +1,13 @@
+package com.usoftchina.saas.operation.mapper;
+
+import com.usoftchina.saas.operation.dto.AccountDTO;
+import com.usoftchina.saas.operation.dto.LoginDTO;
+
+import java.util.List;
+
+public interface AccountMapper {
+
+    List<AccountDTO> findAccountByCondition(String con);
+
+    List<LoginDTO> getLogin(String con);
+}

+ 14 - 0
applications/operation/operation-server/src/main/java/com/usoftchina/saas/operation/mapper/CompanyMapper.java

@@ -0,0 +1,14 @@
+package com.usoftchina.saas.operation.mapper;
+
+import com.usoftchina.saas.operation.dto.CompanyDTO;
+
+import java.util.List;
+
+/**
+ * @author: guq
+ * @create: 2019-01-04 17:10
+ **/
+public interface CompanyMapper {
+
+    List<CompanyDTO> findCompanyByCondition(String con);
+}

+ 21 - 0
applications/operation/operation-server/src/main/java/com/usoftchina/saas/operation/mapper/CustomerfeedbackMapper.java

@@ -0,0 +1,21 @@
+package com.usoftchina.saas.operation.mapper;
+
+import com.usoftchina.saas.operation.po.CustomerFeedBack;
+
+import java.util.List;
+
+public interface CustomerfeedbackMapper {
+    int deleteByPrimaryKey(Integer cf_id);
+
+    int insert(CustomerFeedBack record);
+
+    int insertSelective(CustomerFeedBack record);
+
+    CustomerFeedBack selectByPrimaryKey(Integer cf_id);
+
+    int updateByPrimaryKeySelective(CustomerFeedBack record);
+
+    int updateByPrimaryKey(CustomerFeedBack record);
+
+    List<CustomerFeedBack> selectByCondition(String con);
+}

+ 185 - 0
applications/operation/operation-server/src/main/java/com/usoftchina/saas/operation/po/Company.java

@@ -0,0 +1,185 @@
+package com.usoftchina.saas.operation.po;
+
+import java.util.Date;
+
+/**
+ * 注册企业
+ * @author: guq
+ * @create: 2019-01-04 16:14
+ **/
+
+public class Company {
+    private Long id;
+    /**
+     * 唯一名称
+     */
+    private String name;
+    /**
+     * 商业登记证号
+     */
+    private String businessCode;
+    private String address;
+    /**
+     * 企业logo
+     */
+    private String logoUrl;
+    private String tel;
+    private String fax;
+    private String signet;
+    /**
+     * 所属行业
+     */
+    private String type;
+    /**
+     * 数据中心
+     */
+    private String dcName;
+
+    private Date createTime;
+    private long creatorId;
+    private Date updateTime;
+    private long updaterId;
+    private Long uu;
+
+    private String admin;
+    private String admin_phone;
+
+    public String getAdmin() {
+        return admin;
+    }
+
+    public void setAdmin(String admin) {
+        this.admin = admin;
+    }
+
+    public String getAdmin_phone() {
+        return admin_phone;
+    }
+
+    public void setAdmin_phone(String admin_phone) {
+        this.admin_phone = admin_phone;
+    }
+
+
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public String getTel() {
+        return tel;
+    }
+
+    public void setTel(String tel) {
+        this.tel = tel;
+    }
+
+    public String getFax() {
+        return fax;
+    }
+
+    public void setFax(String fax) {
+        this.fax = fax;
+    }
+
+    public String getSignet() {
+        return signet;
+    }
+
+    public void setSignet(String signet) {
+        this.signet = signet;
+    }
+
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getBusinessCode() {
+        return businessCode;
+    }
+
+    public void setBusinessCode(String businessCode) {
+        this.businessCode = businessCode;
+    }
+
+    public String getAddress() {
+        return address;
+    }
+
+    public void setAddress(String address) {
+        this.address = address;
+    }
+
+    public String getLogoUrl() {
+        return logoUrl;
+    }
+
+    public void setLogoUrl(String logoUrl) {
+        this.logoUrl = logoUrl;
+    }
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public long getCreatorId() {
+        return creatorId;
+    }
+
+    public void setCreatorId(long creatorId) {
+        this.creatorId = creatorId;
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public long getUpdaterId() {
+        return updaterId;
+    }
+
+    public void setUpdaterId(long updaterId) {
+        this.updaterId = updaterId;
+    }
+
+    public Long getUu() {
+        return uu;
+    }
+
+    public void setUu(Long uu) {
+        this.uu = uu;
+    }
+
+    public String getDcName() {
+        return dcName;
+    }
+
+    public void setDcName(String dcName) {
+        this.dcName = dcName;
+    }
+}

+ 103 - 0
applications/operation/operation-server/src/main/java/com/usoftchina/saas/operation/po/CustomerFeedBack.java

@@ -0,0 +1,103 @@
+package com.usoftchina.saas.operation.po;
+
+import java.util.Date;
+
+/**
+ * @author: guq
+ * @create: 2019-01-04 18:18
+ **/
+public class CustomerFeedBack {
+
+    private Long cf_id;
+
+    private String cf_creator;
+
+    private Date cf_creatime;
+
+    private Long cf_creatorid;
+
+    private String cf_content;
+
+    private String cf_status;
+
+    private Long cf_companyid;
+
+    private String cf_company;
+
+    private String cf_remark;
+
+    public Long getCf_id() {
+        return cf_id;
+    }
+
+    public void setCf_id(Long cf_id) {
+        this.cf_id = cf_id;
+    }
+
+    public String getCf_creator() {
+        return cf_creator;
+    }
+
+    public void setCf_creator(String cf_creator) {
+        this.cf_creator = cf_creator == null ? null : cf_creator.trim();
+    }
+
+    public Date getCf_creatime() {
+        return cf_creatime;
+    }
+
+    public void setCf_creatime(Date cf_creatime) {
+        this.cf_creatime = cf_creatime;
+    }
+
+
+    public String getCf_content() {
+        return cf_content;
+    }
+
+    public void setCf_content(String cf_content) {
+        this.cf_content = cf_content == null ? null : cf_content.trim();
+    }
+
+    public String getCf_status() {
+        return cf_status;
+    }
+
+    public Long getCf_creatorid() {
+        return cf_creatorid;
+    }
+
+    public void setCf_creatorid(Long cf_creatorid) {
+        this.cf_creatorid = cf_creatorid;
+    }
+
+    public Long getCf_companyid() {
+        return cf_companyid;
+    }
+
+    public void setCf_companyid(Long cf_companyid) {
+        this.cf_companyid = cf_companyid;
+    }
+
+    public void setCf_status(String cf_status) {
+        this.cf_status = cf_status == null ? null : cf_status.trim();
+    }
+
+
+    public String getCf_company() {
+        return cf_company;
+    }
+
+    public void setCf_company(String cf_company) {
+        this.cf_company = cf_company == null ? null : cf_company.trim();
+    }
+
+    public String getCf_remark() {
+        return cf_remark;
+    }
+
+    public void setCf_remark(String cf_remark) {
+        this.cf_remark = cf_remark == null ? null : cf_remark.trim();
+    }
+
+}

+ 13 - 0
applications/operation/operation-server/src/main/java/com/usoftchina/saas/operation/service/CustomerFeedBackService.java

@@ -0,0 +1,13 @@
+package com.usoftchina.saas.operation.service;
+
+import com.github.pagehelper.PageInfo;
+import com.usoftchina.saas.commons.dto.DocBaseDTO;
+import com.usoftchina.saas.commons.dto.ListReqDTO;
+import com.usoftchina.saas.operation.po.CustomerFeedBack;
+import com.usoftchina.saas.page.PageRequest;
+
+public interface CustomerFeedBackService {
+    DocBaseDTO save(CustomerFeedBack fedBack);
+
+    PageInfo<CustomerFeedBack> getListData(PageRequest page, ListReqDTO req);
+}

+ 19 - 0
applications/operation/operation-server/src/main/java/com/usoftchina/saas/operation/service/DataService.java

@@ -0,0 +1,19 @@
+package com.usoftchina.saas.operation.service;
+
+import com.github.pagehelper.PageInfo;
+import com.usoftchina.saas.commons.dto.ListReqDTO;
+import com.usoftchina.saas.operation.dto.AccountDTO;
+import com.usoftchina.saas.operation.dto.CompanyDTO;
+import com.usoftchina.saas.operation.dto.LoginDTO;
+import com.usoftchina.saas.page.PageRequest; /**
+ * @author: guq
+ * @create: 2019-01-04 15:27
+ **/
+public interface DataService {
+
+    PageInfo<CompanyDTO> getCompany(PageRequest page, ListReqDTO req);
+
+    PageInfo<AccountDTO> getAccount(PageRequest page, ListReqDTO req);
+
+    PageInfo<LoginDTO> getLogin(PageRequest page, ListReqDTO req);
+}

+ 57 - 0
applications/operation/operation-server/src/main/java/com/usoftchina/saas/operation/service/impl/CustomerFedBackServiceImpl.java

@@ -0,0 +1,57 @@
+package com.usoftchina.saas.operation.service.impl;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.usoftchina.saas.commons.dto.DocBaseDTO;
+import com.usoftchina.saas.commons.dto.ListReqDTO;
+import com.usoftchina.saas.commons.exception.BizExceptionCode;
+import com.usoftchina.saas.commons.po.BillCodeSeq;
+import com.usoftchina.saas.context.BaseContextHolder;
+import com.usoftchina.saas.exception.BizException;
+import com.usoftchina.saas.operation.mapper.CustomerfeedbackMapper;
+import com.usoftchina.saas.operation.po.CustomerFeedBack;
+import com.usoftchina.saas.operation.service.CustomerFeedBackService;
+import com.usoftchina.saas.page.PageRequest;
+import com.usoftchina.saas.utils.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author: guq
+ * @create: 2019-01-04 18:29
+ **/
+@Service
+public class CustomerFedBackServiceImpl implements CustomerFeedBackService {
+
+    @Autowired
+    private CustomerfeedbackMapper customerfedbackMapper;
+
+    @Override
+    public DocBaseDTO save(CustomerFeedBack fedBack) {
+        if (StringUtils.isEmpty(fedBack)){
+            throw new BizException(BizExceptionCode.EMPTY_DATA);
+        }
+        fedBack.setCf_creator(BaseContextHolder.getUserName());
+        fedBack.setCf_creatorid(BaseContextHolder.getUserId());
+        fedBack.setCf_companyid(BaseContextHolder.getCompanyId());
+        fedBack.setCf_creatime(new Date());
+        customerfedbackMapper.insertSelective(fedBack);
+        DocBaseDTO baseDTO = new DocBaseDTO(fedBack.getCf_id(), null, BillCodeSeq.CUSTOMERFEDBACK.getName());
+        return baseDTO;
+    }
+
+    @Override
+    public PageInfo<CustomerFeedBack> getListData(PageRequest page, ListReqDTO req) {
+        PageHelper.startPage(page.getNumber(), page.getSize());
+        String con = req.getFinalCondition();
+        if (null == con) {
+            con = "1=1";
+        }
+        List<CustomerFeedBack> list = customerfedbackMapper.selectByCondition(con);
+        PageInfo<CustomerFeedBack> fedbacks = new PageInfo<CustomerFeedBack>(list);
+        return fedbacks;
+    }
+}

+ 71 - 0
applications/operation/operation-server/src/main/java/com/usoftchina/saas/operation/service/impl/DataServiceImpl.java

@@ -0,0 +1,71 @@
+package com.usoftchina.saas.operation.service.impl;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.usoftchina.saas.commons.dto.ListReqDTO;
+import com.usoftchina.saas.operation.dto.AccountDTO;
+import com.usoftchina.saas.operation.dto.CompanyDTO;
+import com.usoftchina.saas.operation.dto.LoginDTO;
+import com.usoftchina.saas.operation.mapper.AccountMapper;
+import com.usoftchina.saas.operation.mapper.CompanyMapper;
+import com.usoftchina.saas.operation.service.DataService;
+import com.usoftchina.saas.page.PageRequest;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @author: guq
+ * @create: 2019-01-04 15:28
+ **/
+@Service
+public class DataServiceImpl implements DataService{
+
+    @Autowired
+    private CompanyMapper companyMapper;
+    @Autowired
+    private AccountMapper accountMapper;
+
+    @Override
+    public PageInfo<CompanyDTO> getCompany(PageRequest page, ListReqDTO req) {
+        PageHelper.startPage(page.getNumber(), page.getSize());
+        //查询数据
+        String con = req.getFinalCondition();
+        if (null == con) {
+            con = "1=1";
+        }
+        List<CompanyDTO> companies = companyMapper.findCompanyByCondition(con);
+        //取分页信息
+        PageInfo<CompanyDTO> pageInfo = new PageInfo<CompanyDTO>(companies);
+        return pageInfo;
+    }
+
+    @Override
+    public PageInfo<AccountDTO> getAccount(PageRequest page, ListReqDTO req) {
+        PageHelper.startPage(page.getNumber(), page.getSize());
+        //查询数据
+        String con = req.getFinalCondition();
+        if (null == con) {
+            con = "1=1";
+        }
+        List<AccountDTO> accounts = accountMapper.findAccountByCondition(con);
+        //取分页信息
+        PageInfo<AccountDTO> pageInfo = new PageInfo<AccountDTO>(accounts);
+        return pageInfo;
+    }
+
+    @Override
+    public PageInfo<LoginDTO> getLogin(PageRequest page, ListReqDTO req) {
+        PageHelper.startPage(page.getNumber(), page.getSize());
+        //查询数据
+        String con = req.getFinalCondition();
+        if (null == con) {
+            con = "1=1";
+        }
+        List<LoginDTO> info = accountMapper.getLogin(con);
+        //取分页信息
+        PageInfo<LoginDTO> pageInfo = new PageInfo<LoginDTO>(info);
+        return pageInfo;
+    }
+}

+ 82 - 0
applications/operation/operation-server/src/main/resources/application.yml

@@ -0,0 +1,82 @@
+spring:
+  profiles:
+    active: dev
+  application:
+    name: operation-server
+  security:
+    user:
+      name: admin
+      password: select111***
+  rabbitmq:
+    host: 10.1.81.75
+    port: 5672
+    virtual-host: dev
+    username: saas
+    password: select123***
+  zipkin:
+    sender:
+      type: rabbit
+    locator:
+      discovery:
+        enabled: true
+  sleuth:
+    sampler:
+      probability: 1.0
+  datasource:
+    driver-class-name: com.mysql.cj.jdbc.Driver
+    url: jdbc:mysql://10.1.81.79:3306/saas_auth?characterEncoding=utf-8&useSSL=false
+    username: root
+    password: select111***
+    hikari:
+      minimum-idle: 5
+      maximum-pool-size: 50
+      idle-timeout: 30000
+      max-lifetime: 1800000
+      connection-timeout: 30000
+  redis:
+    host: 10.1.81.62
+    port: 6379
+  jackson:
+    date-format: yyyy-MM-dd HH:mm:ss
+    time-zone: GMT+8
+eureka:
+  instance:
+    leaseRenewalIntervalInSeconds: 10
+    health-check-url-path: /actuator/health
+    status-page-url-path: /actuator/info
+    prefer-ip-address: true
+    metadata-map:
+      user.name: ${spring.security.user.name}
+      user.password: ${spring.security.user.password}
+  client:
+    registryFetchIntervalSeconds: 5
+    serviceUrl:
+      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@10.1.81.61:8510/eureka/
+server:
+  port: 9040
+  tomcat:
+    uri-encoding: UTF-8
+management:
+  endpoints:
+    web:
+      exposure:
+        include: "*"
+  endpoint:
+    health:
+      show-details: always
+    shutdown:
+      enabled: true
+    restart:
+      enabled: true
+info:
+  name: '@project.artifactId@'
+  description: '@project.description@'
+  version: '@project.version@'
+  spring-boot-version: '@spring.boot.version@'
+  spring-cloud-version: '@spring.cloud.version@'
+mybatis:
+  type-aliases-package: com.usoftchina.saas.operation.po
+  mapper-locations: classpath:mapper/*.xml
+ribbon:
+  ReadTimeout: 5000
+  ConnectTimeout: 5000

+ 13 - 0
applications/operation/operation-server/src/main/resources/config/application-dev.yml

@@ -0,0 +1,13 @@
+eureka:
+  instance:
+    leaseRenewalIntervalInSeconds: 10
+    health-check-url-path: /actuator/health
+    status-page-url-path: /actuator/info
+    prefer-ip-address: true
+    metadata-map:
+      user.name: ${spring.security.user.name}
+      user.password: ${spring.security.user.password}
+  client:
+    registryFetchIntervalSeconds: 5
+    serviceUrl:
+      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@127.0.0.1:8500/eureka/

+ 12 - 0
applications/operation/operation-server/src/main/resources/config/application-docker-dev.yml

@@ -0,0 +1,12 @@
+eureka:
+  instance:
+    hostname: saas-operation-server-dev
+    prefer-ip-address: false
+  client:
+    serviceUrl:
+      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@saas-eureka-server-dev:8510/eureka/
+spring:
+  rabbitmq:
+    virtual-host: dev
+server:
+  port: 9040

+ 23 - 0
applications/operation/operation-server/src/main/resources/config/application-docker-prod.yml

@@ -0,0 +1,23 @@
+eureka:
+  instance:
+    hostname: saas-operation-server
+    prefer-ip-address: false
+  client:
+    serviceUrl:
+      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@saas-eureka-server:8500/eureka/
+spring:
+  rabbitmq:
+    host: 10.10.100.103
+    port: 5672
+    virtual-host: docker
+    username: saas
+    password: select123***
+  datasource:
+    url: jdbc:mysql://10.10.100.18:3306/saas_auth?characterEncoding=utf-8&useSSL=false
+    username: saas
+    password: select111***
+  redis:
+    host: 10.10.100.173
+    port: 6379
+logging:
+  destination: 10.10.100.160:5000

+ 10 - 0
applications/operation/operation-server/src/main/resources/config/application-docker.yml

@@ -0,0 +1,10 @@
+eureka:
+  instance:
+    hostname: saas-operation-server
+    prefer-ip-address: false
+  client:
+    serviceUrl:
+      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@saas-eureka-server:8500/eureka/
+spring:
+  rabbitmq:
+    virtual-host: docker

+ 115 - 0
applications/operation/operation-server/src/main/resources/logback-spring.xml

@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration>
+    <include resource="org/springframework/boot/logging/logback/base.xml" />
+    <jmxConfigurator/>
+
+    <!--
+    %m
+    输出代码中指定的消息
+    %p
+    输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
+    %r
+    输出自应用启动到输出该log信息耗费的毫秒数
+    %c
+    输出所属的类目,通常就是所在类的全名
+    %t
+    输出产生该日志事件的线程名
+    %n
+    输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n”
+    %d
+    输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},
+    输出类似:2002年10月18日 22:10:28,921
+    %l
+    输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10)
+    -->
+
+    <springProperty scope="context" name="log.path" source="logging.path" defaultValue="/var/log/saas/operation-server"/>
+    <springProperty scope="context" name="spring.application.name" source="spring.application.name" defaultValue="operation-server"/>
+    <springProperty scope="context" name="spring.profiles.active" source="spring.profiles.active" defaultValue="dev"/>
+    <springProperty scope="context" name="common-pattern" source="logging.common-pattern" defaultValue="%d{yyyy-MM-dd HH:mm:ss.SSS}:[%5p] [%t:%r] [%C{1}:%M:%L] --> %m%n"/>
+    <springProperty scope="context" name="log.level.console" source="logging.level.console" defaultValue="INFO"/>
+    <springProperty scope="context" name="log.destination" source="logging.destination" defaultValue="10.1.81.1:5000"/>
+
+    <contextName>${spring.application.name}-${spring.profiles.active}-logback</contextName>
+
+    <appender name="CONSOLE_APPENDER" class="ch.qos.logback.core.ConsoleAppender">
+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+            <level>${log.level.console}</level>
+        </filter>
+        <encoder>
+            <pattern>${common-pattern}</pattern>
+        </encoder>
+    </appender>
+
+    <appender name="ROOT_APPENDER" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <file>${log.path}/root.log</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
+            <fileNamePattern>${log.path}/%d{yyyy-MM}/root-%d{yyyy-MM-dd}-%i.log.gz</fileNamePattern>
+            <maxFileSize>128MB</maxFileSize>
+            <maxHistory>7</maxHistory>
+            <totalSizeCap>20GB</totalSizeCap>
+        </rollingPolicy>
+        <encoder>
+            <pattern>${common-pattern}</pattern>
+        </encoder>
+    </appender>
+
+    <!-- Appender to log in a JSON format -->
+    <appender name="JSON_APPENDER" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
+        <destination>${log.destination}</destination>
+        <encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
+            <providers>
+                <pattern>
+                    <pattern>
+                        {
+                        "severity": "%level",
+                        "service": "${spring.application.name:-}",
+                        "trace": "%X{X-B3-TraceId:-}",
+                        "span": "%X{X-B3-SpanId:-}",
+                        "parent": "%X{X-B3-ParentSpanId:-}",
+                        "exportable": "%X{X-Span-Export:-}",
+                        "pid": "${PID:-}",
+                        "thread": "%thread",
+                        "class": "%logger{40}",
+                        "rest": "%message"
+                        }
+                    </pattern>
+                </pattern>
+            </providers>
+        </encoder>
+    </appender>
+
+    <logger name="org.springframework" level="INFO"/>
+    <logger name="com.usoftchina.saas" level="INFO"/>
+
+    <springProfile name="dev">
+        <root level="INFO">
+            <appender-ref ref="CONSOLE_APPENDER"/>
+        </root>
+    </springProfile>
+
+    <springProfile name="docker">
+        <logger name="org.springframework" level="WARN"/>
+        <logger name="com.usoftchina.saas" level="WARN"/>
+        <root level="WARN">
+            <appender-ref ref="CONSOLE_APPENDER"/>
+            <appender-ref ref="JSON_APPENDER"/>
+        </root>
+    </springProfile>
+
+    <springProfile name="docker-dev">
+        <root level="INFO">
+            <appender-ref ref="CONSOLE_APPENDER"/>
+        </root>
+    </springProfile>
+
+    <springProfile name="docker-prod">
+        <logger name="org.springframework" level="WARN"/>
+        <logger name="com.usoftchina.saas" level="WARN"/>
+        <root level="WARN">
+            <appender-ref ref="CONSOLE_APPENDER"/>
+            <appender-ref ref="JSON_APPENDER"/>
+        </root>
+    </springProfile>
+
+</configuration>

+ 34 - 0
applications/operation/operation-server/src/main/resources/mapper/AccoutMapper.xml

@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.usoftchina.saas.operation.mapper.AccountMapper">
+    <resultMap id="BaseResultMap" type="com.usoftchina.saas.operation.dto.AccountDTO">
+        <id column="id" jdbcType="BIGINT" property="id"/>
+        <result column="username" jdbcType="VARCHAR" property="username"/>
+        <result column="realname" jdbcType="VARCHAR" property="realname"/>
+        <result column="email" jdbcType="VARCHAR" property="email"/>
+        <result column="mobile" jdbcType="VARCHAR" property="mobile"/>
+        <result column="type" jdbcType="INTEGER" property="type"/>
+        <result column="uu" jdbcType="BIGINT" property="uu"/>
+        <result column="enabled" jdbcType="BOOLEAN" property="enabled"/>
+        <result column="creator_id" jdbcType="BIGINT" property="creatorId"/>
+        <result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
+        <result column="updater_id" jdbcType="BIGINT" property="updaterId"/>
+        <result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
+    </resultMap>
+
+    <resultMap id="loginMap" type="com.usoftchina.saas.operation.dto.LoginDTO">
+        <id column="account_id" jdbcType="INTEGER" property="account_id"/>
+        <result column="username" jdbcType="VARCHAR" property="username"/>
+        <result column="login_num" jdbcType="INTEGER" property="login_num"/>
+        <result column="lastesttime" jdbcType="TIMESTAMP" property="lastesttime"/>
+        <result column="mobile" jdbcType="VARCHAR" property="mobile"/>
+    </resultMap>
+
+    <select id="findAccountByCondition" parameterType="string" resultMap="BaseResultMap">
+        select * from saas_account.ac_account  where #{con}
+    </select>
+    <select id="getLogin" parameterType="string" resultMap="loginMap">
+        SELECT * FROM (select account_id  ,count(account_id) login_num,max(ac_account.realname) username,max(login_time) lastesttime, max(ac_account.mobile) mobile from au_authorize_log left join saas_account.ac_account on account_id= ac_account.id  where login_time >  date_sub(now(),interval 3 MONTH) GROUP BY account_id order by lastesttime desc
+        )login_info where #{con}
+    </select>
+</mapper>

+ 20 - 0
applications/operation/operation-server/src/main/resources/mapper/CompanyMapper.xml

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.usoftchina.saas.operation.mapper.CompanyMapper">
+    <resultMap id="baseMap" type="com.usoftchina.saas.operation.dto.CompanyDTO">
+        <result column="name" property="name" jdbcType="VARCHAR" />
+        <result column="business_code" property="business_code" jdbcType="VARCHAR" />
+        <result column="address" property="address" jdbcType="VARCHAR" />
+        <result column="tel" property="tel" jdbcType="VARCHAR" />
+        <result column="fax" property="fax" jdbcType="VARCHAR" />
+        <result column="realname" property="realname" jdbcType="VARCHAR" />
+        <result column="mobile" property="mobile" jdbcType="VARCHAR" />
+        <result column="create_time" property="create_time" jdbcType="TIMESTAMP" />
+        <result column="uu" property="uu" jdbcType="INTEGER" />
+    </resultMap>
+
+    <select id="findCompanyByCondition" parameterType="string" resultMap="baseMap">
+         select name,business_code,address,tel,fax,realname,mobile,ac_company.create_time,ac_company.uu from saas_account.ac_company
+        left join saas_account.ac_account on ac_account.id = ac_company.creator_id where #{con}
+    </select>
+</mapper>

+ 142 - 0
applications/operation/operation-server/src/main/resources/mapper/CustomerfeedbackMapper.xml

@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.usoftchina.saas.operation.mapper.CustomerfeedbackMapper" >
+  <resultMap id="BaseResultMap" type="com.usoftchina.saas.operation.po.CustomerFeedBack" >
+    <id column="cf_id" property="cf_id" jdbcType="INTEGER" />
+    <result column="cf_creator" property="cf_creator" jdbcType="VARCHAR" />
+    <result column="cf_creatime" property="cf_creatime" jdbcType="TIMESTAMP" />
+    <result column="cf_creatorid" property="cf_creatorid" jdbcType="INTEGER" />
+    <result column="cf_content" property="cf_content" jdbcType="VARCHAR" />
+    <result column="cf_status" property="cf_status" jdbcType="VARCHAR" />
+    <result column="cf_companyid" property="cf_companyid" jdbcType="INTEGER" />
+    <result column="cf_company" property="cf_company" jdbcType="VARCHAR" />
+    <result column="cf_remark" property="cf_remark" jdbcType="VARCHAR" />
+  </resultMap>
+  <sql id="Base_Column_List" >
+    cf_id, cf_creator, cf_creatime, cf_creatorid, cf_content, cf_status, cf_companyid, 
+    cf_company, cf_remark
+  </sql>
+  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
+    select 
+    <include refid="Base_Column_List" />
+    from customerfedback
+    where cf_id = #{cf_id,jdbcType=INTEGER}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
+    delete from customerfedback
+    where cf_id = #{cf_id,jdbcType=INTEGER}
+  </delete>
+  <insert id="insert" parameterType="com.usoftchina.saas.operation.po.CustomerFeedBack" >
+    insert into customerfedback (cf_id, cf_creator, cf_creatime, 
+      cf_creatorid, cf_content, cf_status, 
+      cf_companyid, cf_company, cf_remark
+      )
+    values (#{cf_id,jdbcType=INTEGER}, #{cf_creator,jdbcType=VARCHAR}, #{cf_creatime,jdbcType=TIMESTAMP}, 
+      #{cf_creatorid,jdbcType=INTEGER}, #{cf_content,jdbcType=VARCHAR}, #{cf_status,jdbcType=VARCHAR}, 
+      #{cf_companyid,jdbcType=INTEGER}, #{cf_company,jdbcType=VARCHAR}, #{cf_remark,jdbcType=VARCHAR}
+      )
+  </insert>
+  <insert id="insertSelective" parameterType="com.usoftchina.saas.operation.po.CustomerFeedBack" >
+    <selectKey  resultType="java.lang.Long" keyProperty="cf_id">
+      SELECT LAST_INSERT_ID() AS cf_id
+    </selectKey>
+    insert into saas_manage.customerfedback
+    <trim prefix="(" suffix=")" suffixOverrides="," >
+      <if test="cf_creator != null" >
+        cf_creator,
+      </if>
+      <if test="cf_creatime != null" >
+        cf_creatime,
+      </if>
+      <if test="cf_creatorid != null" >
+        cf_creatorid,
+      </if>
+      <if test="cf_content != null" >
+        cf_content,
+      </if>
+      <if test="cf_status != null" >
+        cf_status,
+      </if>
+      <if test="cf_companyid != null" >
+        cf_companyid,
+      </if>
+      <if test="cf_company != null" >
+        cf_company,
+      </if>
+      <if test="cf_remark != null" >
+        cf_remark,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides="," >
+      <if test="cf_creator != null" >
+        #{cf_creator,jdbcType=VARCHAR},
+      </if>
+      <if test="cf_creatime != null" >
+        #{cf_creatime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="cf_creatorid != null" >
+        #{cf_creatorid},
+      </if>
+      <if test="cf_content != null" >
+        #{cf_content,jdbcType=VARCHAR},
+      </if>
+      <if test="cf_status != null" >
+        #{cf_status,jdbcType=VARCHAR},
+      </if>
+      <if test="cf_companyid != null" >
+        #{cf_companyid},
+      </if>
+      <if test="cf_company != null" >
+        #{cf_company,jdbcType=VARCHAR},
+      </if>
+      <if test="cf_remark != null" >
+        #{cf_remark,jdbcType=VARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKeySelective" parameterType="com.usoftchina.saas.operation.po.CustomerFeedBack" >
+    update customerfedback
+    <set >
+      <if test="cf_creator != null" >
+        cf_creator = #{cf_creator,jdbcType=VARCHAR},
+      </if>
+      <if test="cf_creatime != null" >
+        cf_creatime = #{cf_creatime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="cf_creatorid != null" >
+        cf_creatorid = #{cf_creatorid,jdbcType=INTEGER},
+      </if>
+      <if test="cf_content != null" >
+        cf_content = #{cf_content,jdbcType=VARCHAR},
+      </if>
+      <if test="cf_status != null" >
+        cf_status = #{cf_status,jdbcType=VARCHAR},
+      </if>
+      <if test="cf_companyid != null" >
+        cf_companyid = #{cf_companyid,jdbcType=INTEGER},
+      </if>
+      <if test="cf_company != null" >
+        cf_company = #{cf_company,jdbcType=VARCHAR},
+      </if>
+      <if test="cf_remark != null" >
+        cf_remark = #{cf_remark,jdbcType=VARCHAR},
+      </if>
+    </set>
+    where cf_id = #{cf_id,jdbcType=INTEGER}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.usoftchina.saas.operation.po.CustomerFeedBack" >
+    update customerfedback
+    set cf_creator = #{cf_creator,jdbcType=VARCHAR},
+      cf_creatime = #{cf_creatime,jdbcType=TIMESTAMP},
+      cf_creatorid = #{cf_creatorid,jdbcType=INTEGER},
+      cf_content = #{cf_content,jdbcType=VARCHAR},
+      cf_status = #{cf_status,jdbcType=VARCHAR},
+      cf_companyid = #{cf_companyid,jdbcType=INTEGER},
+      cf_company = #{cf_company,jdbcType=VARCHAR},
+      cf_remark = #{cf_remark,jdbcType=VARCHAR}
+    where cf_id = #{cf_id,jdbcType=INTEGER}
+  </update>
+  <select id="selectByCondition" parameterType="string" resultMap="BaseResultMap">
+      select * from saas_manage.customerfedback where #{con}
+  </select>
+</mapper>

+ 1 - 1
base-servers/account/account-server/src/main/java/com/usoftchina/saas/account/controller/AccountController.java

@@ -520,7 +520,7 @@ public class AccountController {
     * @Author: guq
     * @Date: 2019/1/4
     */
-    @PostMapping("/account/updatePassword")
+    @PostMapping("/updatePassword")
     Result updatePassword(@RequestBody CookieInfo info) {
         accountService.updatePassword(info);
         return Result.success();

+ 13 - 0
base-servers/auth/auth-server/src/main/resources/config/application-dev.yml

@@ -0,0 +1,13 @@
+eureka:
+  instance:
+    leaseRenewalIntervalInSeconds: 10
+    health-check-url-path: /actuator/health
+    status-page-url-path: /actuator/info
+    prefer-ip-address: true
+    metadata-map:
+      user.name: ${spring.security.user.name}
+      user.password: ${spring.security.user.password}
+  client:
+    registryFetchIntervalSeconds: 5
+    serviceUrl:
+      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@127.0.0.1:8500/eureka/

+ 12 - 0
base-servers/sms/sms-server/src/main/resources/config/application-docker-dev.yml

@@ -0,0 +1,12 @@
+eureka:
+  instance:
+    hostname: saas-sms-server-dev
+    prefer-ip-address: false
+  client:
+    serviceUrl:
+      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@saas-eureka-server-dev:8510/eureka/
+spring:
+  rabbitmq:
+    virtual-host: dev
+server:
+  port: 8680

+ 6 - 2
frontend/operation-web/app/view/main/Main.scss

@@ -44,7 +44,11 @@ $treelist-nav-ui: (
 }
 
 .main-right-tabpanel {
-    
+    .x-tab-default-top {
+        .x-tab-inner-default {
+            font-size: 14px;
+        }
+    }
     .x-panel-bodyWrap {
 
         // &>.x-tab-bar {
@@ -84,7 +88,7 @@ $treelist-nav-ui: (
 
         .logo-text {
             // font-family: 'pingFangSC-Regular';
-            font-size: 14px;
+            font-size: 18px;
             color: #FFFFFF;
             text-align: left;
             top: 22px;

+ 2 - 3
frontend/operation-web/app/view/main/MainController.js

@@ -16,12 +16,11 @@ Ext.define('saas.view.main.MainController', {
         new_width = navCollapsed ? viewModel.get('smallNavWidth') : viewModel.get('navWidth'),
         newLogoImgStyle = navCollapsed ? { width: 36, height: 36, top: 6, left: 12 } : { width: 32, height: 32, top: 8, left: 28 },
         newLogoTextStyle = navCollapsed ? {
-            5: { opacity: 0 },
-            10: { opacity: 0 },
+            0: { opacity: 0 },
             100: { opacity: 0, display: 'none' }
         } : {
             10: { opacity: 0 },
-            50: { opacity: 1 }
+            90: { opacity: 1 }
         },
         newNavIconStyle = navCollapsed ? { marginLeft: 6, fontSize: 28 } : { marginLeft: 22, fontSize: 24 },
         newNavTextStyle = navCollapsed ? { opacity: 0 } : { opacity: 1 },

+ 1 - 1
frontend/operation-web/app/view/main/Navigation.scss

@@ -65,7 +65,7 @@ $menu-body-background-color: #65678C;
                                     .nav-inner-text {
                                         font-size: $nav-font-size;
                                         color: $nav-font-color;
-                                        letter-spacing: 4px;
+                                        // letter-spacing: 4px;
                                         text-align: left;
                                         line-height: 60px;
                                         height: 60px;

+ 7 - 2
frontend/saas-portal-web/src/components/conenter/enterprise.vue

@@ -236,6 +236,11 @@ import { setTimeout } from 'timers';
                 size: 10,//每页显示数量
             }
         },
+        created() {
+            if (!this.mytoken) {
+                this.$router.push({path:'/home'})
+            }
+        },
         mounted(){
             let phone = this.mytoken.mobile.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2');
             this.mobile = phone;
@@ -257,7 +262,7 @@ import { setTimeout } from 'timers';
             },
             //红点
             ishongdian(){
-                return this.$store.state.ishongdian;
+                // return this.$store.state.ishongdian;
             },
         },
         methods: {
@@ -361,7 +366,7 @@ import { setTimeout } from 'timers';
                 frame.postMessage('', '*')
                 Session.remove()
                 window.location.href=this.$url.sso+'/logquit?appId=sp&returnURL='+window.location.origin
-                // this.$router.puth({path:'/home'})
+                // this.$router.push({path:'/home'})
             },
             //修改密码
             changpasd(){

+ 93 - 9
frontend/saas-portal-web/src/components/conenter/home.vue

@@ -1,5 +1,5 @@
 <template>
-    <div>
+    <div id="scroll">
       <div class="top-nav">
         <div class="container">
           <ul>
@@ -118,37 +118,37 @@
           <!-- 1 -->
           <div class="ts-box">
             <div>
-              <img class="left" src="/static/img/feature/for2x.png" alt="">
+              <img class="left animate1" src="/static/img/feature/for2x.png" alt="">
             </div>
             <div>
-              <img class="right" src="/static/img/feature/onemin2x.png" alt="">
+              <img class="right animate1" src="/static/img/feature/onemin2x.png" alt="">
             </div>
           </div>
           <!-- 2 -->
           <div class="ts-box ts-boxtow">
             <div>
-              <img class="left" src="/static/img/feature/towmin2x.png" alt="">
+              <img class="left animate2" src="/static/img/feature/towmin2x.png" alt="">
             </div>
             <div>
-              <img class="right" style="margin-right:20px; width:80%" src="/static/img/feature/three2x.png" alt="">
+              <img class="right animate2" style="margin-right:20px; width:80%" src="/static/img/feature/three2x.png" alt="">
             </div>
           </div>
           <!-- 3 -->
           <div class="ts-box" style="padding-bottom:0px">
             <div>
-              <img class="left" style="width:88%" src="/static/img/feature/one2x.png" alt="">
+              <img class="left animate3" style="width:88%" src="/static/img/feature/one2x.png" alt="">
             </div>
             <div>
-              <img class="right" style="margin-top:-30%;" src="/static/img/feature/threemin2x.png" alt="">
+              <img class="right animate3-2" style="margin-top:-30%;" src="/static/img/feature/threemin2x.png" alt="">
             </div>
           </div>
           <!-- 4 -->
           <div class="ts-box ts-boxtow ts-forbox" style="padding-bottom:0px">
             <div>
-              <img class="left" style="margin-top:-39%;" src="/static/img/feature/formin2x.png" alt="">
+              <img class="left animate4-1" style="margin-top:-39%;" src="/static/img/feature/formin2x.png" alt="">
             </div>
             <div>
-              <img class="right" style="margin-right:30px;" src="/static/img/feature/tow2x.png" alt="">
+              <img class="right animate4" style="margin-right:30px;" src="/static/img/feature/tow2x.png" alt="">
             </div>
           </div>
         </div>
@@ -329,6 +329,82 @@
       // 从本地加载已经登录的信息
       this.account = Session.getAccount()
       document.documentElement.scrollTop = this.isfeature;
+      $(window).scroll(function() {
+        let Y = $(window).scrollTop();
+        console.log(Y);
+        if (Y >= 500 && Y <= 1500) {
+          $(".animate1").stop();
+          $(".animate1").animate({
+            top:'0px',
+            opacity:'1'
+          },1000);
+        } else {
+          $(".animate1").stop();
+          $(".animate1").animate({
+            top:'100px',
+            opacity:'0'
+          },1000);
+        };
+        if (Y > 1200 && Y < 2200) {
+          $(".animate2").stop();
+          $(".animate2").animate({
+            top:'0px',
+            opacity:'1'
+          },1000);
+        } else {
+          $(".animate2").stop();
+          $(".animate2").animate({
+            top:'100px',
+            opacity:'0'
+          },1000);
+        };
+        if (Y > 1900 && Y < 2900) {
+          $(".animate3").stop();
+          $(".animate3").animate({
+            top:'0px',
+            opacity:'1'
+          },1000);
+          $(".animate3-2").stop();
+          $(".animate3-2").animate({
+            marginTop:'-60%',
+            opacity:'1'
+          },1000);
+        } else {
+          $(".animate3").stop();
+          $(".animate3").animate({
+            top:'100px',
+            opacity:'0'
+          },1000);
+          $(".animate3-2").stop();
+          $(".animate3-2").animate({
+            marginTop:'-30%',
+            opacity:'0'
+          },1000);
+        };
+        if (Y > 2600 && Y < 3600) {
+          $(".animate4").stop();
+          $(".animate4").animate({
+            top:'0px',
+            opacity:'1'
+          },1000);
+          $(".animate4-1").stop();
+          $(".animate4-1").animate({
+            marginTop:'-60%',
+            opacity:'1'
+          },1000);
+        } else {
+          $(".animate4").stop();
+          $(".animate4").animate({
+            top:'100px',
+            opacity:'0'
+          },1000);
+          $(".animate4-1").stop();
+          $(".animate4-1").animate({
+            marginTop:'-30%',
+            opacity:'0'
+          },1000);
+        };
+      })
     },
     computed: {
       setTokenPage() {
@@ -490,6 +566,14 @@
 </script>
 
 <style scoped>
+.ts-box {
+  height: 700px;
+}
+.animate1, .animate2, .animate3, .animate4, .animate4-1, .animate3-2 {
+  position: relative;
+  opacity: 0;
+  top: 100px;
+}
 .shut {
   cursor: pointer;
   position: absolute;

+ 14 - 5
frontend/saas-portal-web/static/css/main.css

@@ -161,6 +161,10 @@ main > section {
     color: #FFFFFF;
     border: 0;
 }
+.my-tiyan:hover {
+    background: #317ef3;
+    margin-top: 1px;
+}
 /* 特色 .......................................*/
 .ts-worp {
     width: 100%;
@@ -359,18 +363,20 @@ main > section {
 .footer .container{
     margin: 0 auto;
     width: 80%;
-    height: 260px;
+    /* height: 260px; */
     overflow: hidden;
     text-align: center;
 }
 .footer-section .link{
     overflow: hidden;
     float: left;
-    margin-right: 100px;
+    /* margin-right: 100px; */
+    width: 52%;
 }
 .footer-section ul{
     float: left;
-    margin-right: 45px;
+    /* margin-right: 45px; */
+    width: 25%;
 }
 .footer-section ul:last-child {
     margin-right: 0;
@@ -403,8 +409,9 @@ main > section {
 }
 .footer-section .about{
     float: left;
-    margin-right: 30px;
-    width: 245px;
+    /* margin-right: 30px;
+    width: 245px; */
+    width: 25%;
     text-align: left;
 }
 .footer-section .about .logo{
@@ -449,6 +456,8 @@ main > section {
 }
 .footer .footer-list{
     margin: 55px auto 22px;
+    overflow: hidden;
+    width: 100%;
 }
 
 

+ 1 - 1
frontend/saas-portal-web/static/js/mains.js

@@ -55,7 +55,7 @@ $(document).ready(function(){
     //         $(".el-menu--popup-bottom-start").css("margin-top","5px")
     //     }
     // });
-
+    
 	/* ========================================================================= */
 	/*	Fix Slider Height
 	/* ========================================================================= */

+ 137 - 97
frontend/saas-web/app/Application.scss

@@ -83,7 +83,9 @@ body.launching {
 .x-form-text-default,
 .x-column-header,
 .x-grid-item,
-.x-grid-row-summary .x-grid-cell, .x-grid-row-summary .x-grid-rowwrap, .x-grid-row-summary .x-grid-cell-rowbody,
+.x-grid-row-summary .x-grid-cell,
+.x-grid-row-summary .x-grid-rowwrap,
+.x-grid-row-summary .x-grid-cell-rowbody,
 .x-boundlist-item {
   // font-family: 'pingFangSC-Regular';
 }
@@ -106,7 +108,7 @@ body.launching {
   transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
 
   .x-btn-inner-default-toolbar-small {
-    color: #34BAF6 ;
+    color: #34BAF6;
   }
 }
 
@@ -120,6 +122,7 @@ body.launching {
   .x-form-text-default {
     background: #EEF1F7;
   }
+
   .x-form-trigger {
     background: #EEF1F7;
   }
@@ -133,21 +136,21 @@ body.launching {
   opacity: 0.72;
 }
 
-.x-btn-over{
-  .x-btn-wrap{
-    .x-btn-button{
-      .x-btn-inner{
-        color:#fff;
+.x-btn-over {
+  .x-btn-wrap {
+    .x-btn-button {
+      .x-btn-inner {
+        color: #fff;
       }
     }
   }
 }
 
 .x-toolbar {
-  .x-btn-over.x-btn-plain-toolbar-small{
-    .x-btn-wrap{
-      .x-btn-button{
-        .x-btn-inner{
+  .x-btn-over.x-btn-plain-toolbar-small {
+    .x-btn-wrap {
+      .x-btn-button {
+        .x-btn-inner {
           color: #606060;
         }
       }
@@ -155,21 +158,21 @@ body.launching {
   }
 }
 
-.x-btn-pressed{
-  .x-btn-wrap{
-    .x-btn-button{
-      .x-btn-inner{
-        color:#fff !important;
+.x-btn-pressed {
+  .x-btn-wrap {
+    .x-btn-button {
+      .x-btn-inner {
+        color: #fff !important;
       }
     }
   }
 }
 
-.x-btn-showicon{
-  .x-btn-wrap{
-    .x-btn-button{
-      .x-btn-inner{
-        color:#999 !important;
+.x-btn-showicon {
+  .x-btn-wrap {
+    .x-btn-button {
+      .x-btn-inner {
+        color: #999 !important;
       }
     }
   }
@@ -179,12 +182,12 @@ body.launching {
   background: inherit;
   opacity: 1;
   box-shadow: none;
-  border:1px solid #34BAF6;
+  border: 1px solid #34BAF6;
 }
 
 .x-segmented-button-item .x-keyboard-mode .x-btn-focus.x-btn-default-toolbar-small {
   background: #34BAF6 !important;
-  border:1px solid #34BAF6 !important;
+  border: 1px solid #34BAF6 !important;
   opacity: 1;
   box-shadow: none;
 }
@@ -208,42 +211,46 @@ body.launching {
 }
 
 .x-btn-default-small,
-.x-btn-default-toolbar-small{
-  border-radius: 2px !important;
+.x-btn-default-toolbar-small {
+  border-radius: 2px;
 }
 
 .x-formpanel-btn-orange {
   border-color: #f67f00;
-  background: linear-gradient(to bottom,#da7101 0,#f67f00 100%) !important;
-  
-  .x-btn-inner-default-toolbar-small{
-      color:#fff !important;
+  background: linear-gradient(to bottom, #da7101 0, #f67f00 100%) !important;
+
+  .x-btn-inner-default-toolbar-small {
+    color: #fff !important;
   }
 }
 
 .x-formpanel-btn-blue {
   background: #34BAF6;
   border-color: #34BAF6;
-  .x-btn-inner-default-toolbar-small{
-      color:#fff !important;
+
+  .x-btn-inner-default-toolbar-small {
+    color: #fff !important;
   }
 }
+
 .x-formpanel-btn-white {
-    border: 1px solid #c1c1c1 !important;
-    //border-radius: 2px;
-    //box-shadow: 0 1px 1px rgba(0,0,0,.15);
-    /*background: #fff;
+  border: 1px solid #c1c1c1 !important;
+
+  //border-radius: 2px;
+  //box-shadow: 0 1px 1px rgba(0,0,0,.15);
+  /*background: #fff;
     background: -moz-linear-gradient(top,#fff,#f4f4f4);
     background: -webkit-gradient(linear,0 0,0 100%,from(#fff),to(#f4f4f4));
     background: -o-linear-gradient(top,#fff,#f4f4f4);
     background: -ms-linear-gradient(top,#fff 0,#f4f4f4 100%);
     background: linear-gradient(top,#fff,#f4f4f4); */
-    // border-color: #fff;
-    // background: linear-gradient(to bottom,#fff,#f4f4f4 100%) !important;
-    .x-btn-inner-default-toolbar-small{
-      color: #555;
+  // border-color: #fff;
+  // background: linear-gradient(to bottom,#fff,#f4f4f4 100%) !important;
+  .x-btn-inner-default-toolbar-small {
+    color: #555;
   }
 }
+
 .x-grid-body {
   border-width: 1px;
   border-color: #ABDAFF;
@@ -303,7 +310,8 @@ body.launching {
   border-width: 0 1px 0 0;
 }
 
-.x-grid-scrollbar-clipper-locked, .x-grid-scrollbar-locked {
+.x-grid-scrollbar-clipper-locked,
+.x-grid-scrollbar-locked {
   // border-color: #ABDAFF;
   border-color: transparent;
 }
@@ -322,7 +330,7 @@ body.launching {
   border-color: transparent;
 }
 
-.x-keyboard-mode  .x-grid-item-focused .x-grid-cell-inner:before {
+.x-keyboard-mode .x-grid-item-focused .x-grid-cell-inner:before {
   border: none;
 }
 
@@ -344,6 +352,7 @@ div::-webkit-scrollbar {
   width: 10px;
   height: 10px;
 }
+
 div::-webkit-scrollbar-thumb {
   background: #C2EAFC;
   border-radius: 8px;
@@ -352,75 +361,95 @@ div::-webkit-scrollbar-thumb {
     background: #74c3e6;
   }
 }
+
 div::-webkit-scrollbar-track {
   background: #fff;
   border: 1px solid #e5e5e5;
   border-radius: 8px;
 }
+
 /**date-picker*/
 .x-datepicker-month .x-btn-inner {
   font-size: 12px;
 }
+
 .x-datepicker {
   width: 212px;
 }
+
 .x-datepicker-column-header {
   width: 30px;
 }
+
 .x-datepicker-column-header-inner {
   line-height: 25px;
   padding: 0 9px 0 0;
 }
+
 .x-datepicker-cell {
   text-align: right;
   border: 1px solid #fff;
 }
+
 .x-datepicker-date {
   padding: 0 7px 0 0;
   cursor: pointer;
   line-height: 23px;
 }
-.x-datepicker-footer, .x-monthpicker-buttons {
+
+.x-datepicker-footer,
+.x-monthpicker-buttons {
   padding: 3px 0;
   text-align: center;
 }
+
 .x-monthpicker {
   width: 212px;
   border-width: 1px;
 }
+
 .x-monthpicker-months {
   width: 105px;
 }
+
 .x-monthpicker-item-inner {
   margin: 0 5px 0 5px;
   line-height: 22px;
 }
+
 .x-monthpicker-months .x-monthpicker-item {
   width: 52px;
 }
+
 .x-monthpicker-years {
   width: 105px;
 }
+
 .x-monthpicker-years .x-monthpicker-item {
   width: 52px;
 }
+
 .x-monthpicker-yearnav {
   height: 34px;
 }
+
 .x-monthpicker-yearnav-button-ct {
   width: 52px;
 }
+
 .x-monthpicker-yearnav-button {
   height: 12px;
   width: 12px;
   cursor: pointer;
   margin-top: 11px;
 }
-.x-datepicker-footer .x-btn-default-toolbar-small{
+
+.x-datepicker-footer .x-btn-default-toolbar-small {
   padding: 2px 2px 2px 2px;
   min-width: 56px;
 }
-.x-monthpicker-buttons .x-btn-default-toolbar-small{
+
+.x-monthpicker-buttons .x-btn-default-toolbar-small {
   padding: 2px 2px 2px 2px;
   min-width: 56px;
 }
@@ -435,7 +464,7 @@ div::-webkit-scrollbar-track {
 .x-form-field-date .x-form-date-trigger {
   background: #F1F9FF;
   border-left: 1px solid #D2D6E5;
-  
+
   &:before {
     // content: "\e80f";
     // font-family: font-saas;
@@ -445,55 +474,61 @@ div::-webkit-scrollbar-track {
 
 /** toast **/
 
-.x-toast-success{
+.x-toast-success {
   border-color: #adeaa4 !important;
   border-radius: 4px !important;
-  .x-window-body{
-      background: #f3ffef !important;
-      border-color: #f3ffef !important;
+
+  .x-window-body {
+    background: #f3ffef !important;
+    border-color: #f3ffef !important;
   }
-  .x-autocontainer-innerCt{
-      word-wrap: break-word;
-      color: #3ec12a;
-      padding: 4px 30px 4px 46px !important;
+
+  .x-autocontainer-innerCt {
+    word-wrap: break-word;
+    color: #3ec12a;
+    padding: 4px 30px 4px 46px !important;
   }
-  .x-autocontainer-innerCt::before{
-      margin-left: -19px;
-      margin-top: 1px;
-      content: ' ';
-      width: 16px;
-      position: absolute;
-      display: block;
-      height: 16px;
-      background: url(../../../../resources/images/default/toast_over.png) 0 0 no-repeat; 
-      background-size: 16px 16px;
-      background-position: center;
+
+  .x-autocontainer-innerCt::before {
+    margin-left: -19px;
+    margin-top: 1px;
+    content: ' ';
+    width: 16px;
+    position: absolute;
+    display: block;
+    height: 16px;
+    background: url(../../../../resources/images/default/toast_over.png) 0 0 no-repeat;
+    background-size: 16px 16px;
+    background-position: center;
   }
 }
 
-.x-toast-error{
+.x-toast-error {
   border-color: #f39d70 !important;
   border-radius: 4px !important;
-  .x-window-body{
-      background: #fdefcd !important;
-      border-color: #fdefcd !important;
+
+  .x-window-body {
+    background: #fdefcd !important;
+    border-color: #fdefcd !important;
   }
-  .x-autocontainer-innerCt{
-      word-wrap: break-word;
-      color: #ea800e;
-      padding: 4px 30px 4px 46px !important;
+
+  .x-autocontainer-innerCt {
+    word-wrap: break-word;
+    color: #ea800e;
+    padding: 4px 30px 4px 46px !important;
   }
-  .x-autocontainer-innerCt::before{
-      margin-left: -19px;
-      margin-top: 1px;
-      content: ' ';
-      width: 16px;
-      position: absolute;
-      display: block;
-      height: 16px;
-      background: url(../../../../resources/images/default/toast_close.png) 0 0 no-repeat; 
-      background-size: 16px 16px;
-      background-position: center;
+
+  .x-autocontainer-innerCt::before {
+    margin-left: -19px;
+    margin-top: 1px;
+    content: ' ';
+    width: 16px;
+    position: absolute;
+    display: block;
+    height: 16px;
+    background: url(../../../../resources/images/default/toast_close.png) 0 0 no-repeat;
+    background-size: 16px 16px;
+    background-position: center;
   }
 }
 
@@ -504,7 +539,7 @@ div::-webkit-scrollbar-track {
 
 /** tabclosemenu **/
 .x-menu.x-tab-close-menu {
-  & > div > div > div.x-box-inner.x-box-scroller-body-vertical.x-scroller > div > div > a > span {
+  &>div>div>div.x-box-inner.x-box-scroller-body-vertical.x-scroller>div>div>a>span {
     margin-left: 28px;
   }
 }
@@ -513,8 +548,8 @@ div::-webkit-scrollbar-track {
 .x-responsivecolumn {
   padding: 0;
 
-  & > * {
-      margin: 0;
+  &>* {
+    margin: 0;
 
   }
 }
@@ -561,15 +596,20 @@ div::-webkit-scrollbar-track {
 // And classes for small-size responsive items
 
 .x-responsivecolumn-small {
-   > .small-100 {
-      float: left;
-      // width: 100%;
-      @include responsivecolumn-item(100%);
-   }
-
-   > .small-50 {
-      float: left;
-      // width: 50%;
-      @include responsivecolumn-item(50%);
-   }
+  >.small-100 {
+    float: left;
+    // width: 100%;
+    @include responsivecolumn-item(100%);
+  }
+
+  >.small-50 {
+    float: left;
+    // width: 50%;
+    @include responsivecolumn-item(50%);
+  }
+}
+
+input::-webkit-input-placeholder {
+  /* placeholder颜色  */
+  color: #C3C3C3;
 }

+ 13 - 0
frontend/saas-web/app/util/BaseUtil.js

@@ -213,5 +213,18 @@ Ext.define('saas.util.BaseUtil', {
 
             win.show();
         },
+
+        hashcode: function(obj) {
+            let str = JSON.stringify(obj);
+            let hash = 0,
+                i, chr, len;
+            if (str.length === 0) return hash;
+            for (i = 0, len = str.length; i < len; i++) {
+                chr = str.charCodeAt(i);
+                hash = ((hash << 5) - hash) + chr;
+                hash |= 0;
+            }
+            return hash;
+        }
     }
 });

+ 3 - 1
frontend/saas-web/app/view/core/dbfind/DbfindGridPanel.js

@@ -1,7 +1,6 @@
 Ext.define('saas.view.core.dbfind.DbfindGridPanel', {
     extend: 'Ext.grid.Panel',
     xtype: 'dbfindgridpanel',
-    BaseUtil: Ext.create('saas.util.BaseUtil'),
     dataUrl: '',
     dbSearchFields: [],
     condition:'',
@@ -67,6 +66,9 @@ Ext.define('saas.view.core.dbfind.DbfindGridPanel', {
                 dockedItems:[{
                     xtype:'toolbar',
                     dock:'top',
+                    style: {
+                        marginRight: '-8px'
+                    },
                     items:me.getSearchFields().concat([{
                         xtype:'button',
                         text:'查询',

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

@@ -22,6 +22,7 @@
         content: ' ';
         display: block;
         border-style: solid;
+        border-radius: 4px;
         background-color: #34baf6;
         position: fixed;
         width: 0px;
@@ -33,6 +34,7 @@
     }
     .x-window-body{
         padding-top: 0px !important;
+        background-image: url(get-resource-path('images/default/win-bg-img.png'));
     }
     .x-toolbar-docked-top {
         padding: 6px 0 12px 0px;

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

@@ -53,7 +53,7 @@ Ext.define('saas.view.core.dbfind.types.CustomerDbfindTrigger', {
         dataIndex: "cu_taxrate",
         xtype: 'numbercolumn',
         width:80,
-        renderer: function (v) {
+        renderer: function (v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, false);
         }
     }, {

+ 3 - 3
frontend/saas-web/app/view/core/dbfind/types/OriOrderMutiDbfindTrigger.js

@@ -41,7 +41,7 @@ Ext.define('saas.view.core.dbfind.types.OriOrderMutiDbfindTrigger', {
         "dataIndex": "sl_orderamount",
         "width": 110,
         xtype: 'numbercolumn',
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         },
     }, {
@@ -49,7 +49,7 @@ Ext.define('saas.view.core.dbfind.types.OriOrderMutiDbfindTrigger', {
         "dataIndex": "sl_yamount",
         "width": 120,
         xtype: 'numbercolumn',
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         },
     }, {
@@ -57,7 +57,7 @@ Ext.define('saas.view.core.dbfind.types.OriOrderMutiDbfindTrigger', {
         "dataIndex": "sl_namount",
         "width": 120,
         xtype: 'numbercolumn',
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         },
     },{

+ 3 - 3
frontend/saas-web/app/view/core/dbfind/types/ProductAddMultiDbfindTrigger.js

@@ -69,7 +69,7 @@ Ext.define('saas.view.core.dbfind.types.ProductAddMultiDbfindTrigger', {
         dataIndex: "po_onhand",
         width: 100,
         xtype: 'numbercolumn',
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 3, false);
         },
     }, {
@@ -94,7 +94,7 @@ Ext.define('saas.view.core.dbfind.types.ProductAddMultiDbfindTrigger', {
         dataIndex: "pr_purcprice",
         xtype: 'numbercolumn',
         hidden:true,
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 4, true);
         }
     }, {
@@ -102,7 +102,7 @@ Ext.define('saas.view.core.dbfind.types.ProductAddMultiDbfindTrigger', {
         dataIndex: "pr_saleprice",
         xtype: 'numbercolumn',
         hidden:true,
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 4, true);
         }
     }, {

+ 4 - 4
frontend/saas-web/app/view/core/dbfind/types/ProductDbfindTrigger.js

@@ -66,7 +66,7 @@ Ext.define('saas.view.core.dbfind.types.ProductDbfindTrigger', {
         dataIndex: "po_onhand",
         width: 100,
         xtype: 'numbercolumn',
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 3, false);
         }
     },{
@@ -91,7 +91,7 @@ Ext.define('saas.view.core.dbfind.types.ProductDbfindTrigger', {
         dataIndex: "pr_purcprice",
         xtype: 'numbercolumn',
         hidden:true,
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 4, true);
         }
     }, {
@@ -99,7 +99,7 @@ Ext.define('saas.view.core.dbfind.types.ProductDbfindTrigger', {
         dataIndex: "pr_saleprice",
         xtype: 'numbercolumn',
         hidden:true,
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 4, true);
         }
     }, {
@@ -107,7 +107,7 @@ Ext.define('saas.view.core.dbfind.types.ProductDbfindTrigger', {
         dataIndex: "po_avprice",
         xtype: 'numbercolumn',
         hidden:true,
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 4, true);
         }
     }, {

+ 4 - 4
frontend/saas-web/app/view/core/dbfind/types/ProductMultiDbfindTrigger.js

@@ -71,7 +71,7 @@ Ext.define('saas.view.core.dbfind.types.ProductMultiDbfindTrigger', {
         dataIndex: "po_onhand",
         width: 100,
         xtype: 'numbercolumn',
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 3, false);
         },
     }, {
@@ -96,7 +96,7 @@ Ext.define('saas.view.core.dbfind.types.ProductMultiDbfindTrigger', {
         dataIndex: "pr_purcprice",
         xtype: 'numbercolumn',
         hidden:true,
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 4, true);
         }
     }, {
@@ -104,7 +104,7 @@ Ext.define('saas.view.core.dbfind.types.ProductMultiDbfindTrigger', {
         dataIndex: "pr_saleprice",
         xtype: 'numbercolumn',
         hidden:true,
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 4, true);
         }
     }, {
@@ -112,7 +112,7 @@ Ext.define('saas.view.core.dbfind.types.ProductMultiDbfindTrigger', {
         dataIndex: "po_avprice",
         xtype: 'numbercolumn',
         hidden:true,
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 4, true);
         }
     }, {

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

@@ -55,7 +55,7 @@ Ext.define('saas.view.core.dbfind.types.VendorDbfindTrigger', {
         width: 80,
         xtype: 'numbercolumn',
         align:'end',
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, false);
         }
     }, {

+ 0 - 4
frontend/saas-web/app/view/core/form/field/DetailGridField.js

@@ -266,8 +266,6 @@ Ext.define('saas.view.core.form.field.DetailGridField', {
             }
         });
 
-        // 不写该方法合计列会错位,这里触发afterEdit事件用来刷新grid
-        store.getAt(0) ? store.afterEdit(store.getAt(0), ['']) : null;
         me.fireEvent('validChange');
         return r;
     },
@@ -315,8 +313,6 @@ Ext.define('saas.view.core.form.field.DetailGridField', {
             store.remove(selectedRecord);
             me.fireEvent('validChange');
         }
-        // 不写该方法合计列会错位,这里触发afterEdit事件用来刷新grid
-        store.getAt(0) ? store.afterEdit(store.getAt(0), ['']) : null;
     },
 
     swapUp: function() {

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

@@ -34,8 +34,6 @@ Ext.define('saas.view.core.report.ReportPanel', {
 
     initComponent: function () {
         var me = this;
-        var printAble = me.printAble;
-        var exportAble = me.exportAble;
         var store = me.initStore();
         Ext.apply(me, {
             items: [{
@@ -50,66 +48,11 @@ Ext.define('saas.view.core.report.ReportPanel', {
                 },
                 items: me.initSearchItems().concat([{
                     xtype: 'container',
+                    cls: 'button-container',
+                    margin: '0 -2 5 0',
                     columnWidth: me.QueryWidth || 0.5,
-                    items: [{
-                        xtype: 'button',
-                        text: '查询',
-                        handler: 'onQuery',
-                        formBind: true
-                    }, {
-                        xtype: 'button',
-                        text: '打印',
-                        hidden: !printAble,
-                        style: {
-                            float: 'right'
-                        },
-                        handler: 'exportTo',
-                        cfg: {
-                            type: 'html',
-                            includeGroups: true,
-                            includeSummary: true,
-                            isPrint: true
-                        }
-                    }, {
-                        xtype: 'button',
-                        style: {
-                            float: 'right'
-                        },
-                        text: '导出',
-                        hidden: !exportAble,
-                        menu: {
-                            defaults: {
-                                handler: 'exportTo'
-                            },
-                            items: [{
-                                text: 'Excel xlsx',
-                                cfg: {
-                                    type: 'excel',
-                                    ext: 'xlsx'
-                                }
-                            }, {
-                                text: 'Excel xlsx (包含分组合计)',
-                                cfg: {
-                                    type: 'excel',
-                                    ext: 'xlsx',
-                                    includeGroups: true,
-                                    includeSummary: true
-                                }
-                            }, {
-                                text: 'CSV',
-                                cfg: {
-                                    type: 'csv'
-                                }
-                            }, {
-                                text: 'CSV (包含分组合计)',
-                                cfg: {
-                                    type: 'csv',
-                                    includeGroups: true,
-                                    includeSummary: true
-                                }
-                            }]
-                        }
-                    }]
+                    layout: 'hbox',
+                    items: me.getButtons()
                 }])
             }, {
                 xtype: 'grid',
@@ -170,6 +113,88 @@ Ext.define('saas.view.core.report.ReportPanel', {
         }
     },
 
+    getButtons: function() {
+        var me = this,
+        exportAble = me.exportAble,
+        printAble = me.printAble,
+        arr = [{
+            xtype: 'button',
+            text: '查询',
+            handler: 'onQuery',
+            formBind: true
+        }, {
+            flex: 1,
+        }, {
+            xtype: 'button',
+            text: '导出',
+            hidden: !exportAble,
+            cls: 'x-group-btn',
+            menu: {
+                defaults: {
+                    handler: 'exportTo'
+                },
+                items: [{
+                    text: 'Excel xlsx',
+                    cfg: {
+                        type: 'excel',
+                        ext: 'xlsx'
+                    }
+                }, {
+                    text: 'Excel xlsx (包含分组合计)',
+                    cfg: {
+                        type: 'excel',
+                        ext: 'xlsx',
+                        includeGroups: true,
+                        includeSummary: true
+                    }
+                }, {
+                    text: 'CSV',
+                    cfg: {
+                        type: 'csv'
+                    }
+                }, {
+                    text: 'CSV (包含分组合计)',
+                    cfg: {
+                        type: 'csv',
+                        includeGroups: true,
+                        includeSummary: true
+                    }
+                }]
+            }
+        }, {
+            xtype: 'button',
+            text: '打印',
+            hidden: !printAble,
+            cls: 'x-group-btn',
+            handler: 'exportTo',
+            cfg: {
+                type: 'html',
+                includeGroups: true,
+                includeSummary: true,
+                isPrint: true
+            }
+        }],
+        count = {
+            first: -1,
+            last: -1
+        };
+
+        for(let i = 0; i < arr.length; i++) {
+            let a = arr[i];
+            if(a.cls == 'x-group-btn' && !a.hidden) {
+                count.first = count.first == -1 ? i : count.first;
+                count.last = i;
+            }
+        }
+
+        if(count.first != -1) {
+            arr[count.first].cls += ' x-group-btn-first';
+            arr[count.last].cls += ' x-group-btn-last';
+        }
+
+        return arr;
+    },
+
     refreshColumns: function () {
         this.initColumns(Ext.Array.clone(this.reportColumns))
     },
@@ -343,7 +368,7 @@ Ext.define('saas.view.core.report.ReportPanel', {
             } else if (c.xtype == 'numbercolumn') {
                 Ext.applyIf(c, {
                     align: 'end', // 数字右对齐
-                    // renderer: function (v) {
+                    // renderer: function(v, m, r) {
                     //     var arr = (v + '.').split('.');
                     //     var xr = (new Array(arr[1].length)).fill('0');
                     //     var format = '0.' + xr.join('');

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

@@ -1,7 +1,21 @@
 $border-color: #999;
 
 .x-report-panel {
-    
+
+    .button-container {
+        .x-group-btn {
+            border-radius: 0 !important;
+            border-right-width: 0;
+        }
+        .x-group-btn-first {
+            border-radius: 2px 0 0 2px !important;
+        }
+        .x-group-btn-last {
+            border-radius: 0 2px 2px 0 !important;
+            border-right-width: 1px;
+        }
+    }
+
     .x-report-grid {
 
         .x-panel-bodyWrap {

+ 2 - 2
frontend/saas-web/app/view/document/bankinformation/DataList.js

@@ -42,7 +42,7 @@ Ext.define('saas.view.document.bankinformation.DataList', {
                 text: '期初金额(元)',
                 dataIndex: 'bk_beginamount',
                 xtype: 'numbercolumn',
-                renderer : function(v) {
+                renderer : function(v, m, r) {
                     return saas.util.BaseUtil.numberFormat(v, 2, true);
                 },
                 width: 110
@@ -50,7 +50,7 @@ Ext.define('saas.view.document.bankinformation.DataList', {
                 text: '当前余额(元)',
                 dataIndex: 'bk_thisamount',
                 xtype: 'numbercolumn',
-                renderer : function(v) {
+                renderer : function(v, m, r) {
                     return saas.util.BaseUtil.numberFormat(v, 2, true);
                 },
                 width: 110

+ 2 - 2
frontend/saas-web/app/view/document/bankinformation/Window.js

@@ -27,7 +27,7 @@ Ext.define('saas.view.document.bankinformation.Window', {
             text: '期初金额(元)',
             dataIndex: 'bk_beginamount',
             xtype: 'numbercolumn',
-            renderer : function(v) {
+            renderer : function(v, m, r) {
                 return saas.util.BaseUtil.numberFormat(v, 2, true);
             },
             flex: 1
@@ -35,7 +35,7 @@ Ext.define('saas.view.document.bankinformation.Window', {
             text: '当前余额(元)',
             dataIndex: 'bk_thisamount',
             xtype: 'numbercolumn',
-            renderer : function(v) {
+            renderer : function(v, m, r) {
                 return saas.util.BaseUtil.numberFormat(v, 2, true);
             },
             flex: 1

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

@@ -199,7 +199,7 @@ Ext.define('saas.view.document.bom.FormPanel', {
                         maxLength: 10,
                         align: 'end'
                     },
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 3, false);
                     }
                 }, {

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

@@ -109,14 +109,14 @@ Ext.define('saas.view.document.customer.BasePanel', {
                     dataIndex : "cu_taxrate", 
                     xtype: 'numbercolumn', 
                     width : 80.0, 
-                    renderer : function(v) {
+                    renderer : function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 2, false);
                     }
                 }, {
                     text : "结算天数", 
                     xtype: 'numbercolumn',
                     dataIndex : "cu_promisedays", 
-                    renderer : function(v) {
+                    renderer : function(v, m, r) {
                         return Ext.util.Format.number(v, '0');
                     }
                 }, {
@@ -124,7 +124,7 @@ Ext.define('saas.view.document.customer.BasePanel', {
                     xtype: 'numbercolumn',
                     dataIndex: 'cu_leftamount',
                     width: 120,
-                    renderer : function(v) {
+                    renderer : function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     }
                 }, {

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

@@ -149,7 +149,7 @@ Ext.define('saas.view.document.customer.FormPanel', {
                 thousandSeparator: ',',
                 minValue: 0,
                 group: '交易信息',
-                renderer: function (v) {
+                renderer: function(v, m, r) {
                     return saas.util.BaseUtil.numberFormat(v, 2, true);
                 },
             }, {
@@ -163,7 +163,7 @@ Ext.define('saas.view.document.customer.FormPanel', {
                 thousandSeparator: ',',
                 minValue: 0,
                 group: '交易信息',
-                renderer: function (v) {
+                renderer: function(v, m, r) {
                     return saas.util.BaseUtil.numberFormat(v, 2, true);
                 },
             }, {
@@ -176,7 +176,7 @@ Ext.define('saas.view.document.customer.FormPanel', {
                 decimalPrecision: 2,
                 thousandSeparator: ',',
                 group: '交易信息',
-                renderer: function (v) {
+                renderer: function(v, m, r) {
                     return saas.util.BaseUtil.numberFormat(v, 2, true);
                 },
             }, {
@@ -226,7 +226,7 @@ Ext.define('saas.view.document.customer.FormPanel', {
                 decimalPrecision: 2,
                 minValue: 0,
                 group: '交易信息',
-                renderer: function (v) {
+                renderer: function(v, m, r) {
                     return saas.util.BaseUtil.numberFormat(v, 2, true);
                 },
             }, {

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

@@ -104,7 +104,7 @@ Ext.define('saas.view.document.product.BasePanel', {
                     dataIndex : "po_onhand",
                     xtype: 'numbercolumn',
                     width : 100.0,
-                    renderer : function(v) {
+                    renderer : function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 3, false);
                     }
                 }, {
@@ -116,7 +116,7 @@ Ext.define('saas.view.document.product.BasePanel', {
                     dataIndex : "pr_standardprice",
                     xtype: 'numbercolumn',
                     width : 110.0,
-                    renderer : function(v) {
+                    renderer : function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 4, true);
                     }
                 },  {
@@ -124,7 +124,7 @@ Ext.define('saas.view.document.product.BasePanel', {
                     dataIndex : "pr_purcprice",
                     xtype: 'numbercolumn',
                     width : 110.0,
-                    renderer : function(v) {
+                    renderer : function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 4, true);
                     }
                 }, {
@@ -132,7 +132,7 @@ Ext.define('saas.view.document.product.BasePanel', {
                     dataIndex : "pr_saleprice",
                     xtype: 'numbercolumn',
                     width : 110.0,
-                    renderer : function(v) {
+                    renderer : function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 4, true);
                     }
                 }, {

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

@@ -332,11 +332,11 @@ Ext.define('saas.view.document.product.FormPanel', {
                     listeners: {
                         edit: 'amount_change'
                     },
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 3, false);
                     },
                     summaryType: 'sum',
-                    summaryRenderer: function (v) {
+                    summaryRenderer: function(v, d, f, m) {
                         return saas.util.BaseUtil.numberFormat(v, 3, false);
                     }
                 }, {
@@ -355,7 +355,7 @@ Ext.define('saas.view.document.product.FormPanel', {
                     listeners: {
                         edit: 'amount_change'
                     },
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 4, true);
                     },
                 }, {
@@ -365,11 +365,11 @@ Ext.define('saas.view.document.product.FormPanel', {
                     align: 'end',
                     width: 110.0,
                     allowBlank: true,
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     },
                     summaryType: 'sum',
-                    summaryRenderer: function (v) {
+                    summaryRenderer: function(v, d, f, m) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     }
                 }, {

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

@@ -99,7 +99,7 @@ Ext.define('saas.view.document.vendor.BasePanel', {
                     xtype: 'numbercolumn',
                     dataIndex: "ve_taxrate",
                     width: 80.0,
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 2, false);
                     }
                 }, {
@@ -107,7 +107,7 @@ Ext.define('saas.view.document.vendor.BasePanel', {
                     xtype: 'numbercolumn',
                     dataIndex: "ve_promisedays",
                     width: 110.0,
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return Ext.util.Format.number(v, '0');
                     }
                 }, {
@@ -115,7 +115,7 @@ Ext.define('saas.view.document.vendor.BasePanel', {
                     xtype: 'numbercolumn',
                     dataIndex: 've_leftamount',
                     width: 120,
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     }
                 }, {

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

@@ -155,7 +155,7 @@ Ext.define('saas.view.document.vendor.FormPanel', {
                 thousandSeparator: ',',
                 minValue: 0,
                 group: '交易信息',
-                renderer: function (v) {
+                renderer: function(v, m, r) {
                     return saas.util.BaseUtil.numberFormat(v, 2, true);
                 },
             }, {
@@ -169,7 +169,7 @@ Ext.define('saas.view.document.vendor.FormPanel', {
                 thousandSeparator: ',',
                 minValue: 0,
                 group: '交易信息',
-                renderer: function (v) {
+                renderer: function(v, m, r) {
                     return saas.util.BaseUtil.numberFormat(v, 2, true);
                 },
             }, {
@@ -183,7 +183,7 @@ Ext.define('saas.view.document.vendor.FormPanel', {
                 decimalPrecision: 2,
                 thousandSeparator: ',',
                 group: '交易信息',
-                renderer: function (v) {
+                renderer: function(v, m, r) {
                     return saas.util.BaseUtil.numberFormat(v, 2, true);
                 },
             }, {

+ 7 - 1
frontend/saas-web/app/view/home/charts/MonthSale.js

@@ -83,7 +83,13 @@ Ext.define('saas.view.home.charts.MonthSale', {
                 icon: 'circle',
                 data: fields,
                 itemWidth: 9,
-                itemHeight: 9
+                itemHeight: 9,
+                formatter: function (name) {
+                    var cWidth = Ext.getCmp('month_sale').items.items[0].echarts.getWidth() * 0.3,
+                        dataCount = fields.length,
+                        maxLength = Math.ceil((cWidth / dataCount) / 20);
+                    return name.length > maxLength ? name.substring(0, maxLength) + '...' : name;
+                },
             },
             series: [
                 {

+ 0 - 2
frontend/saas-web/app/view/home/infoCardList/InfoList.js

@@ -7,9 +7,7 @@ Ext.define('saas.view.home.infoCardList.InfoList', {
     //基础属性
     border: 1,
     loadMask: true,
-    showIndex: true,
     columnWidth: 1.0,
-    showRowNum: true,
 
     codeField: '',
     columns: [],

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

@@ -50,7 +50,7 @@ Ext.define('saas.view.home.infoCardList.Payment', {
         text: '总额(元)',
         dataIndex: 'pi_total',
         width: 80,
-        renderer: function (v) {
+        renderer: function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         },
     },{
@@ -99,7 +99,7 @@ Ext.define('saas.view.home.infoCardList.Payment', {
         xtype: 'numbercolumn',
         width: 110,
         hidden: true,
-        renderer: function (v) {
+        renderer: function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 3, false);
         },
     }, {
@@ -112,7 +112,7 @@ Ext.define('saas.view.home.infoCardList.Payment', {
         dataIndex: 'pd_orderprice',
         xtype: 'numbercolumn',
         hidden: true,
-        renderer: function (v) {
+        renderer: function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 4, true);
         },
         width: 110
@@ -122,7 +122,7 @@ Ext.define('saas.view.home.infoCardList.Payment', {
         xtype: 'numbercolumn',
         hidden: true,
         width: 80,
-        renderer: function (v) {
+        renderer: function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, false);
         },
     }, {
@@ -131,7 +131,7 @@ Ext.define('saas.view.home.infoCardList.Payment', {
         xtype: 'numbercolumn',
         width: 110,
         hidden: true,
-        renderer: function (v) {
+        renderer: function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         },
     }],

+ 5 - 5
frontend/saas-web/app/view/home/infoCardList/PurchaseIn.js

@@ -43,7 +43,7 @@ Ext.define('saas.view.home.infoCardList.PurchaseIn', {
         dataIndex: 'pd_detno',
         xtype: 'numbercolumn',
         width: 80,
-        renderer: function (v) {
+        renderer: function(v, m, r) {
             return Ext.util.Format.number(v, '0');
         }
     }, {
@@ -71,7 +71,7 @@ Ext.define('saas.view.home.infoCardList.PurchaseIn', {
         dataIndex: 'pd_qty',
         xtype: 'numbercolumn',
         width: 110,
-        renderer: function (v) {
+        renderer: function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 3, false);
         },
     }, {
@@ -88,7 +88,7 @@ Ext.define('saas.view.home.infoCardList.PurchaseIn', {
         dataIndex: 'pd_price',
         xtype: 'numbercolumn',
         width: 110,
-        renderer: function (v) {
+        renderer: function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 4, true);
         }
     }, {
@@ -96,7 +96,7 @@ Ext.define('saas.view.home.infoCardList.PurchaseIn', {
         dataIndex: 'pd_taxrate',
         xtype: 'numbercolumn',
         width: 80,
-        renderer: function (v) {
+        renderer: function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, false);
         },
     }, {
@@ -104,7 +104,7 @@ Ext.define('saas.view.home.infoCardList.PurchaseIn', {
         dataIndex: 'pd_total',
         xtype: 'numbercolumn',
         width: 110,
-        renderer: function (v) {
+        renderer: function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         }
     }, {

+ 8 - 8
frontend/saas-web/app/view/home/infoCardList/Recment.js

@@ -43,7 +43,7 @@ Ext.define('saas.view.home.infoCardList.Recment', {
         dataIndex: 'pi_total',
         xtype:'numbercolumn',
         width: 110,
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         },
     },{
@@ -61,7 +61,7 @@ Ext.define('saas.view.home.infoCardList.Recment', {
         xtype: 'numbercolumn',
         width: 100,
         hidden:true,
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             var format = '0'
             return Ext.util.Format.number(v, format);
         }
@@ -76,7 +76,7 @@ Ext.define('saas.view.home.infoCardList.Recment', {
         xtype:'numbercolumn',
         width: 100,
         hidden:true,
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             if (v == 0) {
                 v= '';
             }
@@ -100,7 +100,7 @@ Ext.define('saas.view.home.infoCardList.Recment', {
         xtype:'numbercolumn',
         width: 110,
         hidden:true,
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 3, false);
         }
     }, {
@@ -109,7 +109,7 @@ Ext.define('saas.view.home.infoCardList.Recment', {
         xtype:'numbercolumn',
         hidden:true,
         width: 140,
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 4, true);
         }
     }, {
@@ -118,7 +118,7 @@ Ext.define('saas.view.home.infoCardList.Recment', {
         xtype:'numbercolumn',
         width: 110,
         hidden:true,
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         }
     }, {
@@ -127,7 +127,7 @@ Ext.define('saas.view.home.infoCardList.Recment', {
         xtype:'numbercolumn',
         width: 80,
         hidden:true,
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, false);
         }
     }, {
@@ -136,7 +136,7 @@ Ext.define('saas.view.home.infoCardList.Recment', {
         xtype:'numbercolumn',
         width: 140,
         hidden:true,
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 4, true);
         }
     }, {

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

@@ -44,7 +44,7 @@ Ext.define('saas.view.home.infoCardList.SaleOut', {
         dataIndex: 'sd_detno',
         xtype: 'numbercolumn',
         width: 100,
-        renderer: function (v) {
+        renderer: function(v, m, r) {
             return Ext.util.Format.number(v, '0');
         }
     }, {
@@ -76,7 +76,7 @@ Ext.define('saas.view.home.infoCardList.SaleOut', {
         dataIndex: 'sd_qty',
         xtype: 'numbercolumn',
         width: 110,
-        renderer: function (v) {
+        renderer: function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 3, false);
         },
     }, {
@@ -88,7 +88,7 @@ Ext.define('saas.view.home.infoCardList.SaleOut', {
         dataIndex: 'sd_price',
         xtype: 'numbercolumn',
         width: 110,
-        renderer: function (v) {
+        renderer: function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 4, true);
         },
     }, {
@@ -96,7 +96,7 @@ Ext.define('saas.view.home.infoCardList.SaleOut', {
         dataIndex: 'sd_sendqty',
         xtype: 'numbercolumn',
         width: 110,
-        renderer: function (v) {
+        renderer: function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 3, false);
         },
     }, {

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

@@ -50,7 +50,7 @@ Ext.define('saas.view.home.infoCardList.UnauditCheckIn', {
         text: '总额(元)',
         dataIndex: 'pi_total',
         width: 80,
-        renderer: function (v) {
+        renderer: function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         },
     },{
@@ -99,7 +99,7 @@ Ext.define('saas.view.home.infoCardList.UnauditCheckIn', {
         xtype: 'numbercolumn',
         width: 110,
         hidden: true,
-        renderer: function (v) {
+        renderer: function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 3, false);
         },
     }, {
@@ -112,7 +112,7 @@ Ext.define('saas.view.home.infoCardList.UnauditCheckIn', {
         dataIndex: 'pd_orderprice',
         hidden: true,
         xtype: 'numbercolumn',
-        renderer: function (v) {
+        renderer: function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 4, true);
         },
         width: 110
@@ -122,7 +122,7 @@ Ext.define('saas.view.home.infoCardList.UnauditCheckIn', {
         xtype: 'numbercolumn',
         hidden: true,
         width: 80,
-        renderer: function (v) {
+        renderer: function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, false);
         },
     }, {
@@ -131,7 +131,7 @@ Ext.define('saas.view.home.infoCardList.UnauditCheckIn', {
         xtype: 'numbercolumn',
         hidden: true,
         width: 110,
-        renderer: function (v) {
+        renderer: function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         },
     }],

+ 8 - 8
frontend/saas-web/app/view/home/infoCardList/UnauditSaleOut.js

@@ -43,7 +43,7 @@ Ext.define('saas.view.home.infoCardList.UnauditSaleOut', {
         dataIndex: 'pi_total',
         xtype:'numbercolumn',
         width: 110,
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         },
     },{
@@ -61,7 +61,7 @@ Ext.define('saas.view.home.infoCardList.UnauditSaleOut', {
         xtype: 'numbercolumn',
         width: 100,
         hidden:true,
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             var format = '0'
             return Ext.util.Format.number(v, format);
         }
@@ -76,7 +76,7 @@ Ext.define('saas.view.home.infoCardList.UnauditSaleOut', {
         xtype:'numbercolumn',
         width: 100,
         hidden:true,
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             var format = '0'
             return Ext.util.Format.number(v, format);
         }
@@ -97,7 +97,7 @@ Ext.define('saas.view.home.infoCardList.UnauditSaleOut', {
         xtype:'numbercolumn',
         width: 110,
         hidden:true,
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 3, false);
         }
     }, {
@@ -106,7 +106,7 @@ Ext.define('saas.view.home.infoCardList.UnauditSaleOut', {
         xtype:'numbercolumn',
         width: 140,
         hidden:true,
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 4, true);
         }
     }, {
@@ -115,7 +115,7 @@ Ext.define('saas.view.home.infoCardList.UnauditSaleOut', {
         xtype:'numbercolumn',
         width: 110,
         hidden:true,
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         }
     }, {
@@ -124,7 +124,7 @@ Ext.define('saas.view.home.infoCardList.UnauditSaleOut', {
         xtype:'numbercolumn',
         width: 80,
         hidden:true,
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, false);
         }
     }, {
@@ -133,7 +133,7 @@ Ext.define('saas.view.home.infoCardList.UnauditSaleOut', {
         xtype:'numbercolumn',
         width: 140,
         hidden:true,
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 4, true);
         }
     }, {

+ 6 - 2
frontend/saas-web/app/view/main/Main.scss

@@ -44,7 +44,11 @@ $treelist-nav-ui: (
 }
 
 .main-right-tabpanel {
-    
+    .x-tab-default-top {
+        .x-tab-inner-default {
+            font-size: 14px;
+        }
+    }
     .x-panel-bodyWrap {
 
         // &>.x-tab-bar {
@@ -84,7 +88,7 @@ $treelist-nav-ui: (
 
         .logo-text {
             // font-family: 'pingFangSC-Regular';
-            font-size: 14px;
+            font-size: 18px;
             color: #FFFFFF;
             text-align: left;
             top: 22px;

+ 2 - 3
frontend/saas-web/app/view/main/MainController.js

@@ -42,12 +42,11 @@ Ext.define('saas.view.main.MainController', {
         new_width = navCollapsed ? viewModel.get('smallNavWidth') : viewModel.get('navWidth'),
         newLogoImgStyle = navCollapsed ? { width: 36, height: 36, top: 6, left: 12 } : { width: 32, height: 32, top: 8, left: 28 },
         newLogoTextStyle = navCollapsed ? {
-            5: { opacity: 0 },
-            10: { opacity: 0 },
+            0: { opacity: 0 },
             100: { opacity: 0, display: 'none' }
         } : {
             10: { opacity: 0 },
-            50: { opacity: 1 }
+            90: { opacity: 1 }
         },
         newNavIconStyle = navCollapsed ? { marginLeft: 6, fontSize: 28 } : { marginLeft: 22, fontSize: 24 },
         newNavTextStyle = navCollapsed ? { opacity: 0 } : { opacity: 1 },

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

@@ -132,11 +132,11 @@ Ext.define('saas.view.money.fundtransfer.FormPanel', {
                         xtype: "numberfield",
                         decimalPrecision: 2
                     },
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     },
                     summaryType: 'sum',
-                    summaryRenderer: function (v) {
+                    summaryRenderer: function(v, d, f, m) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     }
                 }, {

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

@@ -105,7 +105,7 @@ Ext.define('saas.view.money.fundtransfer.QueryPanel', {
                     xtype: 'numbercolumn',
                     dataIndex: 'ftd_nowbalance',
                     width: 110,
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     },
                 }, {

+ 3 - 4
frontend/saas-web/app/view/money/othreceipts/FormPanel.js

@@ -80,12 +80,11 @@ Ext.define('saas.view.money.othreceipts.FormPanel', {
                 storeModel: 'saas.model.money.Othreceipts',
                 detnoColumn: 'ord_detno',
                 deleteDetailUrl: '/api/money/othreceipts/deleteDetail',
-                columnWidth: 1,
                 columns: [{
                     text: "id",
                     dataIndex: "id",
                     xtype: "numbercolumn",
-                    hidden: true
+                    hidden: true,
                 }, {
                     text: "期间",
                     dataIndex: "ord_ym",
@@ -135,11 +134,11 @@ Ext.define('saas.view.money.othreceipts.FormPanel', {
                         xtype: "numberfield",
                         decimalPrecision: 2
                     },
-                    renderer: function (v) {
+                    renderer: function (v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     },
                     summaryType: 'sum',
-                    summaryRenderer: function (v,m,r) {
+                    summaryRenderer: function(v, d, f, m) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     }
                 }, {

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

@@ -45,7 +45,7 @@ Ext.define('saas.view.money.othreceipts.FormPanelController', {
                             dataIndex: "cu_taxrate",
                             xtype: 'numbercolumn',
                             width:80,
-                            renderer: function (v) {
+                            renderer: function(v, m, r) {
                                 return saas.util.BaseUtil.numberFormat(v, 2, false);
                             }
                         },{
@@ -53,7 +53,7 @@ Ext.define('saas.view.money.othreceipts.FormPanelController', {
                             dataIndex: "cu_leftamount",
                             width:110,
                             xtype: 'numbercolumn',
-                            renderer : function(v) {
+                            renderer : function(v, m, r) {
                                 return saas.util.BaseUtil.numberFormat(v, 2, true);
                             }
                         }, {
@@ -61,7 +61,7 @@ Ext.define('saas.view.money.othreceipts.FormPanelController', {
                             dataIndex: "cu_promisedays",
                             width:110,
                             xtype: 'numbercolumn',
-                            renderer: function (v) {
+                            renderer: function(v, m, r) {
                                 return saas.util.BaseUtil.numberFormat(v, 0, false);
                             }
                         }, {

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

@@ -123,7 +123,7 @@ Ext.define('saas.view.money.othreceipts.QueryPanel', {
                     xtype: 'numbercolumn',
                     dataIndex: 'or_amount',
                     width: 110,
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     }
                 }, {
@@ -162,7 +162,7 @@ Ext.define('saas.view.money.othreceipts.QueryPanel', {
                     xtype: 'numbercolumn',
                     dataIndex: 'or_amount',
                     width: 110,
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     }
                 }, {
@@ -179,7 +179,7 @@ Ext.define('saas.view.money.othreceipts.QueryPanel', {
                     xtype: 'numbercolumn',
                     dataIndex: 'ord_nowbalance',
                     width: 110,
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     },
                 }, {

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

@@ -134,11 +134,11 @@ Ext.define('saas.view.money.othspendings.FormPanel', {
                         xtype: "numberfield",
                         decimalPrecision: 2
                     },
-                    renderer: function (v,m,r) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     },
                     summaryType: 'sum',
-                    summaryRenderer: function (v,m,r) {
+                    summaryRenderer: function(v, d, f, m) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     }
                 }, {

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

@@ -31,7 +31,7 @@ Ext.define('saas.view.money.othspendings.FormPanelController', {
                             width: 80,
                             xtype: 'numbercolumn',
                             align:'end',
-                            renderer : function(v) {
+                            renderer : function(v, m, r) {
                                 return saas.util.BaseUtil.numberFormat(v, 2, false);
                             }
                         }, {
@@ -39,7 +39,7 @@ Ext.define('saas.view.money.othspendings.FormPanelController', {
                             dataIndex: "ve_leftamount",
                             width:110,
                             xtype: 'numbercolumn',
-                            renderer : function(v) {
+                            renderer : function(v, m, r) {
                                 return saas.util.BaseUtil.numberFormat(v, 2, true);
                             }
                         },{
@@ -48,7 +48,7 @@ Ext.define('saas.view.money.othspendings.FormPanelController', {
                             width: 110,
                             xtype: 'numbercolumn',
                             align: 'end',
-                            renderer : function(v) {
+                            renderer : function(v, m, r) {
                                 return Ext.util.Format.number(v, '0');
                             }
                         }, {

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

@@ -121,7 +121,7 @@ Ext.define('saas.view.money.othspendings.QueryPanel', {
                     xtype: 'numbercolumn',
                     dataIndex: 'os_amount',
                     width: 110,
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     }
                 }, {
@@ -161,7 +161,7 @@ Ext.define('saas.view.money.othspendings.QueryPanel', {
                     xtype: 'numbercolumn',
                     dataIndex: 'os_amount',
                     width: 110,
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     }
                 }, {
@@ -178,7 +178,7 @@ Ext.define('saas.view.money.othspendings.QueryPanel', {
                     xtype: 'numbercolumn',
                     dataIndex: 'osd_nowbalance',
                     width: 110,
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     },
                 }, {

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

@@ -140,11 +140,11 @@ Ext.define('saas.view.money.payBalance.FormPanel', {
                         decimalPrecision: 2,
                         thousandSeparator: ','
                     },
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     },
                     summaryType: 'sum',
-                    summaryRenderer: function (v) {
+                    summaryRenderer: function(v, d, f, m) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     }
                 }, {
@@ -295,11 +295,11 @@ Ext.define('saas.view.money.payBalance.FormPanel', {
                     xtype: 'numbercolumn',
                     dataIndex: "pbd_amount",
                     width: 110,
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     },
                     summaryType: 'sum',
-                    summaryRenderer: function (v) {
+                    summaryRenderer: function(v, d, f, m) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     }
                 }, {
@@ -308,11 +308,11 @@ Ext.define('saas.view.money.payBalance.FormPanel', {
                     dataIndex: "sl_yamount",
                     width: 120,
                     ignore: true,
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     },
                     summaryType: 'sum',
-                    summaryRenderer: function (v) {
+                    summaryRenderer: function(v, d, f, m) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     }
                 }, {
@@ -321,11 +321,11 @@ Ext.define('saas.view.money.payBalance.FormPanel', {
                     dataIndex: "sl_namount",
                     ignore: true,
                     width: 120,
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     },
                     summaryType: 'sum',
-                    summaryRenderer: function (v) {
+                    summaryRenderer: function(v, d, f, m) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     }
                 }, {
@@ -338,11 +338,11 @@ Ext.define('saas.view.money.payBalance.FormPanel', {
                         decimalPrecision: 2
                     },
                     allowBlank: false,
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     },
                     summaryType: 'sum',
-                    summaryRenderer: function (v) {
+                    summaryRenderer: function(v, d, f, m) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     }
                 }, {

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

@@ -32,7 +32,7 @@ Ext.define('saas.view.money.payBalance.FormPanelController', {
                             width: 80,
                             xtype: 'numbercolumn',
                             align:'end',
-                            renderer : function(v) {
+                            renderer : function(v, m, r) {
                                 return saas.util.BaseUtil.numberFormat(v, 2, false);
                             }
                         }, {
@@ -40,7 +40,7 @@ Ext.define('saas.view.money.payBalance.FormPanelController', {
                             dataIndex: "ve_leftamount",
                             width:110,
                             xtype: 'numbercolumn',
-                            renderer : function(v) {
+                            renderer : function(v, m, r) {
                                 return saas.util.BaseUtil.numberFormat(v, 2, true);
                             }
                         },{
@@ -49,7 +49,7 @@ Ext.define('saas.view.money.payBalance.FormPanelController', {
                             width: 110,
                             xtype: 'numbercolumn',
                             align: 'end',
-                            renderer : function(v) {
+                            renderer : function(v, m, r) {
                                 return Ext.util.Format.number(v, '0');
                             }
                         }, {
@@ -325,7 +325,5 @@ Ext.define('saas.view.money.payBalance.FormPanelController', {
         })
         store.removeAll();
         store.add(datas);
-        // 不写该方法合计列会错位,这里触发afterEdit事件用来刷新grid
-        store.getAt(0) ? store.afterEdit(store.getAt(0), ['']) : null;
     },
 });

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

@@ -94,7 +94,7 @@ Ext.define('saas.view.money.paybalance.QueryPanel', {
                         xtype: 'numbercolumn',
                         dataIndex: 'pb_amount',
                         width: 120,
-                        renderer: function (v) {
+                        renderer: function(v, m, r) {
                             return saas.util.BaseUtil.numberFormat(v, 2, true);
                         },
                     }, {
@@ -142,7 +142,7 @@ Ext.define('saas.view.money.paybalance.QueryPanel', {
                     xtype: 'numbercolumn',
                     dataIndex: 'pd_amount',
                     width: 120,
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     },
                 } ,{

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

@@ -142,11 +142,11 @@ Ext.define('saas.view.money.recBalance.FormPanel', {
                         xtype: "numberfield",
                         decimalPrecision: 2
                     },
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     },
                     summaryType: 'sum',
-                    summaryRenderer: function (v) {
+                    summaryRenderer: function(v, d, f, m) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     }
                 }, {
@@ -302,11 +302,11 @@ Ext.define('saas.view.money.recBalance.FormPanel', {
                     xtype: 'numbercolumn',
                     dataIndex: "rbd_amount",
                     width: 110,
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     },
                     summaryType: 'sum',
-                    summaryRenderer: function (v) {
+                    summaryRenderer: function(v, d, f, m) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     }
                 }, {
@@ -315,11 +315,11 @@ Ext.define('saas.view.money.recBalance.FormPanel', {
                     dataIndex: "sl_yamount",
                     width: 120,
                     ignore: true,
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     },
                     summaryType: 'sum',
-                    summaryRenderer: function (v) {
+                    summaryRenderer: function(v, d, f, m) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     }
                 }, {
@@ -328,11 +328,11 @@ Ext.define('saas.view.money.recBalance.FormPanel', {
                     dataIndex: "sl_namount",
                     width: 120,
                     ignore: true,
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     },
                     summaryType: 'sum',
-                    summaryRenderer: function (v) {
+                    summaryRenderer: function(v, d, f, m) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     }
                 }, {
@@ -345,11 +345,11 @@ Ext.define('saas.view.money.recBalance.FormPanel', {
                         decimalPrecision: 2
                     },
                     allowBlank: false,
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     },
                     summaryType: 'sum',
-                    summaryRenderer: function (v) {
+                    summaryRenderer: function(v, d, f, m) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     }
                 }, {

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

@@ -46,7 +46,7 @@ Ext.define('saas.view.money.recBalance.FormPanelController', {
                             dataIndex: "cu_taxrate",
                             xtype: 'numbercolumn',
                             width:80,
-                            renderer: function (v) {
+                            renderer: function(v, m, r) {
                                 return saas.util.BaseUtil.numberFormat(v, 2, false);
                             }
                         },{
@@ -54,7 +54,7 @@ Ext.define('saas.view.money.recBalance.FormPanelController', {
                             dataIndex: "cu_leftamount",
                             width:110,
                             xtype: 'numbercolumn',
-                            renderer : function(v) {
+                            renderer : function(v, m, r) {
                                 return saas.util.BaseUtil.numberFormat(v, 2, true);
                             }
                         }, {
@@ -62,7 +62,7 @@ Ext.define('saas.view.money.recBalance.FormPanelController', {
                             dataIndex: "cu_promisedays",
                             width:110,
                             xtype: 'numbercolumn',
-                            renderer: function (v) {
+                            renderer: function(v, m, r) {
                                 return Ext.util.Format.number(v, '0');
                             }
                         }, {
@@ -306,7 +306,5 @@ Ext.define('saas.view.money.recBalance.FormPanelController', {
         })
         store.removeAll();
         store.add(datas);
-        // 不写该方法合计列会错位,这里触发afterEdit事件用来刷新grid
-        store.getAt(0) ? store.afterEdit(store.getAt(0), ['']) : null;
     },
 });

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

@@ -85,7 +85,7 @@ Ext.define('saas.view.money.recBalance.QueryPanel', {
                     text: '收款金额(元)',
                     dataIndex: 'rb_amount',
                     width: 120,
-                    renderer : function(v) {
+                    renderer : function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     }
                 }, {
@@ -134,7 +134,7 @@ Ext.define('saas.view.money.recBalance.QueryPanel', {
                     xtype: 'numbercolumn',
                     dataIndex: 'rd_amount',
                     width: 120,
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     }
                 }, {

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

@@ -49,11 +49,11 @@ Ext.define('saas.view.money.report.AccountBalance', {
         exportFormat: 'Amount',
         xtype: 'numbercolumn',
         width: 120,
-        renderer: function (v) {
+        renderer: function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         },
         summaryType: 'sum',
-        summaryRenderer: function (v) {
+        summaryRenderer: function(v, d, f, m) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         }
     }, {
@@ -62,11 +62,11 @@ Ext.define('saas.view.money.report.AccountBalance', {
         xtype: 'numbercolumn',
         exportFormat: 'Amount',
         width: 120,
-        renderer: function (v) {
+        renderer: function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         },
         summaryType: 'sum',
-        summaryRenderer: function (v) {
+        summaryRenderer: function(v, d, f, m) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         }
     }, {

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

@@ -114,7 +114,7 @@ Ext.define('saas.view.money.report.CustomerCheckCheck', {
         exportFormat: 'Amount',
         width: 120,
         dataIndex: 'pd_nettotal',
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         },
     }, {
@@ -132,7 +132,7 @@ Ext.define('saas.view.money.report.CustomerCheckCheck', {
         xtype: 'numbercolumn',
         exportFormat: 'Amount',
         dataIndex: 'pd_ordertotal-pd_nettotal',
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             var arr = (v + '.').split('.');
             var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
             var format = '0,000.' + xr.join('');
@@ -149,7 +149,7 @@ Ext.define('saas.view.money.report.CustomerCheckCheck', {
         xtype: 'numbercolumn',
         exportFormat: 'Amount',
         dataIndex: 'pd_ordertotal',
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             var arr = (v + '.').split('.');
             var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
             var format = '0,000.' + xr.join('');

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

@@ -84,7 +84,7 @@ Ext.define('saas.view.money.report.OtherIODetail', {
         dataIndex: 'bl_income',
         exportFormat: 'Amount',
         width: 120,
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         },
         summaryType: 'sum',
@@ -97,7 +97,7 @@ Ext.define('saas.view.money.report.OtherIODetail', {
         dataIndex: 'bl_spending',
         exportFormat: 'Amount',
         width: 120,
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         },
         summaryType: 'sum',

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

@@ -50,7 +50,7 @@ Ext.define('saas.view.money.report.PayDetail', {
         exportFormat: 'Amount',
         dataIndex: 'pd_addpay',
         width: 120,
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         },
         summaryLabel: '增加应付',
@@ -64,7 +64,7 @@ Ext.define('saas.view.money.report.PayDetail', {
         exportFormat: 'Amount',
         dataIndex: 'pd_addpre',
         width: 120,
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         },
         summaryLabel: '增加预付',
@@ -78,7 +78,7 @@ Ext.define('saas.view.money.report.PayDetail', {
         exportFormat: 'Amount',
         dataIndex: 'pd_remain',
         width: 120,
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         },
         summaryLabel: '应收余额(合计)',

+ 6 - 6
frontend/saas-web/app/view/money/report/ProfitDetail.js

@@ -55,7 +55,7 @@ Ext.define('saas.view.money.report.ProfitDetail', {
         exportFormat: 'Amount',
         xtype: 'numbercolumn',
         width: 120,
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         },
     }, {
@@ -64,7 +64,7 @@ Ext.define('saas.view.money.report.ProfitDetail', {
         exportFormat: 'Amount',
         xtype: 'numbercolumn',
         width: 120,
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         },
     }, {
@@ -73,7 +73,7 @@ Ext.define('saas.view.money.report.ProfitDetail', {
         exportFormat: 'Amount',
         xtype: 'numbercolumn',
         width: 120,
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         },
         summaryType: 'sum',
@@ -88,7 +88,7 @@ Ext.define('saas.view.money.report.ProfitDetail', {
         xtype: 'numbercolumn',
         width: 120,
         summaryLabel: '成本金额',
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         },
     }, {
@@ -97,7 +97,7 @@ Ext.define('saas.view.money.report.ProfitDetail', {
         exportFormat: 'Amount',
         xtype: 'numbercolumn',
         width: 120,
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         },
         summaryType: 'sum',
@@ -110,7 +110,7 @@ Ext.define('saas.view.money.report.ProfitDetail', {
         dataIndex: 'profitpresent',
         width: 100,
         xtype: 'numbercolumn',
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         },
     },{

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

@@ -51,12 +51,12 @@ Ext.define('saas.view.money.report.RecDetail', {
         exportFormat: 'Amount',
         xtype: 'numbercolumn',
         width: 120,
-        renderer: function (v) {
+        renderer: function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         },
         summaryLabel: '增加应收',
         summaryType: 'sum',
-        summaryRenderer: function (v) {
+        summaryRenderer: function(v, d, f, m) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         }
     }, {
@@ -65,12 +65,12 @@ Ext.define('saas.view.money.report.RecDetail', {
         exportFormat: 'Amount',
         dataIndex: 'rd_addpre',
         width: 120,
-        renderer: function (v) {
+        renderer: function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         },
         summaryLabel: '增加预收',
         summaryType: 'sum',
-        summaryRenderer: function (v) {
+        summaryRenderer: function(v, d, f, m) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         }
     }, {
@@ -79,12 +79,12 @@ Ext.define('saas.view.money.report.RecDetail', {
         exportFormat: 'Amount',
         dataIndex: 'rd_remain',
         width: 120,
-        renderer: function (v) {
+        renderer: function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         },
         summaryLabel: '应收余额(合计)',
         summaryType: 'customize_last',
-        summaryRenderer: function (v) {
+        summaryRenderer: function(v, d, f, m) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         },
         mySummaryRenderer: function (grid, column, datas) {

+ 11 - 11
frontend/saas-web/app/view/money/report/TotalPayDetail.js

@@ -47,7 +47,7 @@ Ext.define('saas.view.money.report.TotalPayDetail', {
             exportFormat: 'Amount',
             dataIndex: 'vm_beginpreamount',
             width: 120,
-            renderer: function (v) {
+            renderer: function(v, m, r) {
                 return saas.util.BaseUtil.numberFormat(v, 2, true);
             }
         }, {
@@ -56,7 +56,7 @@ Ext.define('saas.view.money.report.TotalPayDetail', {
             exportFormat: 'Amount',
             dataIndex: 'vm_beginamount',
             width: 120,
-            renderer: function (v) {
+            renderer: function(v, m, r) {
                 return saas.util.BaseUtil.numberFormat(v, 2, true);
             }
         }]
@@ -68,7 +68,7 @@ Ext.define('saas.view.money.report.TotalPayDetail', {
             exportFormat: 'Amount',
             dataIndex: 'vm_nowpreamount',
             width: 120,
-            renderer: function (v) {
+            renderer: function(v, m, r) {
                 return saas.util.BaseUtil.numberFormat(v, 2, true);
             }
         }, {
@@ -77,7 +77,7 @@ Ext.define('saas.view.money.report.TotalPayDetail', {
             exportFormat: 'Amount',
             dataIndex: 'vm_nowamount',
             width: 120,
-            renderer: function (v) {
+            renderer: function(v, m, r) {
                 return saas.util.BaseUtil.numberFormat(v, 2, true);
             }
         }, {
@@ -86,7 +86,7 @@ Ext.define('saas.view.money.report.TotalPayDetail', {
             exportFormat: 'Amount',
             dataIndex: 'vm_nowpayamount',
             width: 120,
-            renderer: function (v) {
+            renderer: function(v, m, r) {
                 return saas.util.BaseUtil.numberFormat(v, 2, true);
             } 
         }]
@@ -98,11 +98,11 @@ Ext.define('saas.view.money.report.TotalPayDetail', {
             exportFormat: 'Amount',
             xtype: 'numbercolumn',
             width: 120,
-            renderer: function (v) {
+            renderer: function(v, m, r) {
                 return saas.util.BaseUtil.numberFormat(v, 2, true);
             },
             summaryType: 'sum',
-            summaryRenderer: function (v) {
+            summaryRenderer: function(v, d, f, m) {
                 return saas.util.BaseUtil.numberFormat(v, 2, true);
             }
         }, {
@@ -111,11 +111,11 @@ Ext.define('saas.view.money.report.TotalPayDetail', {
             exportFormat: 'Amount',
             xtype: 'numbercolumn',
             width: 120,
-            renderer: function (v) {
+            renderer: function(v, m, r) {
                 return saas.util.BaseUtil.numberFormat(v, 2, true);
             },
             summaryType: 'sum',
-            summaryRenderer: function (v) {
+            summaryRenderer: function(v, d, f, m) {
                 return saas.util.BaseUtil.numberFormat(v, 2, true);
             }
         }]
@@ -125,12 +125,12 @@ Ext.define('saas.view.money.report.TotalPayDetail', {
         exportFormat: 'Amount',
         xtype: 'numbercolumn',
         width: 120,
-        renderer: function (v) {
+        renderer: function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         },
         summaryType: 'sum',
         summaryLabel: '应付余额',
-        summaryRenderer: function (v) {
+        summaryRenderer: function(v, d, f, m) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         }
     }, {

+ 11 - 11
frontend/saas-web/app/view/money/report/TotalRecDetail.js

@@ -47,7 +47,7 @@ Ext.define('saas.view.money.report.TotalRecDetail', {
             exportFormat: 'Amount',
             dataIndex: 'cm_beginpreamount',
             width: 120,
-            renderer: function (v) {
+            renderer: function(v, m, r) {
                 return saas.util.BaseUtil.numberFormat(v, 2, true);
             }
         }, {
@@ -56,7 +56,7 @@ Ext.define('saas.view.money.report.TotalRecDetail', {
             exportFormat: 'Amount',
             dataIndex: 'cm_beginamount',
             width: 120,
-            renderer: function (v) {
+            renderer: function(v, m, r) {
                 return saas.util.BaseUtil.numberFormat(v, 2, true);
             }
         }]
@@ -68,7 +68,7 @@ Ext.define('saas.view.money.report.TotalRecDetail', {
             exportFormat: 'Amount',
             dataIndex: 'cm_nowpreamount',
             width: 120,
-            renderer: function (v) {
+            renderer: function(v, m, r) {
                 return saas.util.BaseUtil.numberFormat(v, 2, true);
             }
         }, {
@@ -77,7 +77,7 @@ Ext.define('saas.view.money.report.TotalRecDetail', {
             exportFormat: 'Amount',
             dataIndex: 'cm_nowamount',
             width: 120,
-            renderer: function (v) {
+            renderer: function(v, m, r) {
                 return saas.util.BaseUtil.numberFormat(v, 2, true);
             }
         }, {
@@ -86,7 +86,7 @@ Ext.define('saas.view.money.report.TotalRecDetail', {
             exportFormat: 'Amount',
             dataIndex: 'cm_nowpayamount',
             width: 120,
-            renderer: function (v) {
+            renderer: function(v, m, r) {
                 return saas.util.BaseUtil.numberFormat(v, 2, true);
             } 
         }]
@@ -98,11 +98,11 @@ Ext.define('saas.view.money.report.TotalRecDetail', {
             exportFormat: 'Amount',
             xtype: 'numbercolumn',
             width: 120,
-            renderer: function (v) {
+            renderer: function(v, m, r) {
                 return saas.util.BaseUtil.numberFormat(v, 2, true);
             },
             summaryType: 'sum',
-            summaryRenderer: function (v) {
+            summaryRenderer: function(v, d, f, m) {
                 return saas.util.BaseUtil.numberFormat(v, 2, true);
             }
         }, {
@@ -111,11 +111,11 @@ Ext.define('saas.view.money.report.TotalRecDetail', {
             exportFormat: 'Amount',
             xtype: 'numbercolumn',
             width: 120,
-            renderer: function (v) {
+            renderer: function(v, m, r) {
                 return saas.util.BaseUtil.numberFormat(v, 2, true);
             },
             summaryType: 'sum',
-            summaryRenderer: function (v) {
+            summaryRenderer: function(v, d, f, m) {
                 return saas.util.BaseUtil.numberFormat(v, 2, true);
             }
         }]
@@ -125,12 +125,12 @@ Ext.define('saas.view.money.report.TotalRecDetail', {
         exportFormat: 'Amount',
         xtype: 'numbercolumn',
         width: 120,
-        renderer: function (v) {
+        renderer: function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         },
         summaryType: 'sum',
         summaryLabel: '应收余额',
-        summaryRenderer: function (v) {
+        summaryRenderer: function(v, d, f, m) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         }
     }, {

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

@@ -61,7 +61,7 @@ Ext.define('saas.view.money.report.VendorCheck', {
         align: 'center',
         exportFormat: 'Integer',
         width: 65,
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 0, true);
         }
     }, {
@@ -121,7 +121,7 @@ Ext.define('saas.view.money.report.VendorCheck', {
         exportFormat: 'Amount',
         xtype: 'numbercolumn',
         width: 120,
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         },
     }, {
@@ -130,7 +130,7 @@ Ext.define('saas.view.money.report.VendorCheck', {
         exportFormat: 'Amount',
         xtype: 'numbercolumn',
         width: 80,
-        renderer : function(v) {
+        renderer : function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, false);
         },
     }, {

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

@@ -180,11 +180,11 @@ Ext.define('saas.view.money.verification.FormPanel', {
                         xtype: 'numbercolumn',
                         dataIndex: "vd_amount",
                         width: 110,
-                        renderer: function (v) {
+                        renderer: function(v, m, r) {
                             return saas.util.BaseUtil.numberFormat(v, 2, true);
                         },
                         summaryType: 'sum',
-                        summaryRenderer: function (v) {
+                        summaryRenderer: function(v, d, f, m) {
                             return saas.util.BaseUtil.numberFormat(v, 2, true);
                         }
                     }, {
@@ -193,11 +193,11 @@ Ext.define('saas.view.money.verification.FormPanel', {
                         dataIndex: "sl_yamount",
                         width: 120,
                         ignore: true,
-                        renderer: function (v) {
+                        renderer: function(v, m, r) {
                             return saas.util.BaseUtil.numberFormat(v, 2, true);
                         },
                         summaryType: 'sum',
-                        summaryRenderer: function (v) {
+                        summaryRenderer: function(v, d, f, m) {
                             return saas.util.BaseUtil.numberFormat(v, 2, true);
                         }
                     }, {
@@ -206,11 +206,11 @@ Ext.define('saas.view.money.verification.FormPanel', {
                         dataIndex: "sl_namount",
                         width: 120,
                         ignore: true,
-                        renderer: function (v) {
+                        renderer: function(v, m, r) {
                             return saas.util.BaseUtil.numberFormat(v, 2, true);
                         },
                         summaryType: 'sum',
-                        summaryRenderer: function (v) {
+                        summaryRenderer: function(v, d, f, m) {
                             return saas.util.BaseUtil.numberFormat(v, 2, true);
                         }
                     }, {
@@ -223,11 +223,11 @@ Ext.define('saas.view.money.verification.FormPanel', {
                             decimalPrecision: 2
                         },
                         allowBlank: false,
-                        renderer: function (v) {
+                        renderer: function(v, m, r) {
                             return saas.util.BaseUtil.numberFormat(v, 2, true);
                         },
                         summaryType: 'sum',
-                        summaryRenderer: function (v) {
+                        summaryRenderer: function(v, d, f, m) {
                             return saas.util.BaseUtil.numberFormat(v, 2, true);
                         }
                     }, {
@@ -324,11 +324,11 @@ Ext.define('saas.view.money.verification.FormPanel', {
                         xtype: 'numbercolumn',
                         dataIndex: "vcd_amount",
                         width: 110,
-                        renderer: function (v) {
+                        renderer: function(v, m, r) {
                             return saas.util.BaseUtil.numberFormat(v, 2, true);
                         },
                         summaryType: 'sum',
-                        summaryRenderer: function (v) {
+                        summaryRenderer: function(v, d, f, m) {
                             return saas.util.BaseUtil.numberFormat(v, 2, true);
                         }
                     }, {
@@ -337,11 +337,11 @@ Ext.define('saas.view.money.verification.FormPanel', {
                         dataIndex: "sl_yamount",
                         width: 120,
                         ignore: true,
-                        renderer: function (v) {
+                        renderer: function(v, m, r) {
                             return saas.util.BaseUtil.numberFormat(v, 2, true);
                         },
                         summaryType: 'sum',
-                        summaryRenderer: function (v) {
+                        summaryRenderer: function(v, d, f, m) {
                             return saas.util.BaseUtil.numberFormat(v, 2, true);
                         }
                     }, {
@@ -350,11 +350,11 @@ Ext.define('saas.view.money.verification.FormPanel', {
                         dataIndex: "sl_namount",
                         width: 120,
                         ignore: true,
-                        renderer: function (v) {
+                        renderer: function(v, m, r) {
                             return saas.util.BaseUtil.numberFormat(v, 2, true);
                         },
                         summaryType: 'sum',
-                        summaryRenderer: function (v) {
+                        summaryRenderer: function(v, d, f, m) {
                             return saas.util.BaseUtil.numberFormat(v, 2, true);
                         }
                     }, {
@@ -367,11 +367,11 @@ Ext.define('saas.view.money.verification.FormPanel', {
                             xtype: "numberfield",
                             decimalPrecision: 2
                         },
-                        renderer: function (v) {
+                        renderer: function(v, m, r) {
                             return saas.util.BaseUtil.numberFormat(v, 2, true);
                         },
                         summaryType: 'sum',
-                        summaryRenderer: function (v) {
+                        summaryRenderer: function(v, d, f, m) {
                             return saas.util.BaseUtil.numberFormat(v, 2, true);
                         }
                     }, {

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

@@ -46,7 +46,7 @@ Ext.define('saas.view.money.verification.FormPanelController', {
                             dataIndex: "cu_taxrate",
                             xtype: 'numbercolumn',
                             width:80,
-                            renderer: function (v) {
+                            renderer: function(v, m, r) {
                                 return saas.util.BaseUtil.numberFormat(v, 2, false);
                             }
                         },{
@@ -54,7 +54,7 @@ Ext.define('saas.view.money.verification.FormPanelController', {
                             dataIndex: "cu_leftamount",
                             width:110,
                             xtype: 'numbercolumn',
-                            renderer : function(v) {
+                            renderer : function(v, m, r) {
                                 return saas.util.BaseUtil.numberFormat(v, 2, true);
                             }
                         }, {
@@ -62,7 +62,7 @@ Ext.define('saas.view.money.verification.FormPanelController', {
                             dataIndex: "cu_promisedays",
                             width:110,
                             xtype: 'numbercolumn',
-                            renderer: function (v) {
+                            renderer: function(v, m, r) {
                                 return Ext.util.Format.number(v, '0');
                             }
                         }, {
@@ -128,7 +128,7 @@ Ext.define('saas.view.money.verification.FormPanelController', {
                             dataIndex: "cu_taxrate",
                             xtype: 'numbercolumn',
                             width:80,
-                            renderer: function (v) {
+                            renderer: function(v, m, r) {
                                 return saas.util.BaseUtil.numberFormat(v, 2, false);
                             }
                         },{
@@ -136,7 +136,7 @@ Ext.define('saas.view.money.verification.FormPanelController', {
                             dataIndex: "cu_leftamount",
                             width:110,
                             xtype: 'numbercolumn',
-                            renderer : function(v) {
+                            renderer : function(v, m, r) {
                                 return saas.util.BaseUtil.numberFormat(v, 2, true);
                             }
                         }, {
@@ -144,7 +144,7 @@ Ext.define('saas.view.money.verification.FormPanelController', {
                             dataIndex: "cu_promisedays",
                             width:110,
                             xtype: 'numbercolumn',
-                            renderer: function (v) {
+                            renderer: function(v, m, r) {
                                 return Ext.util.Format.number(v, '0');
                             }
                         }, {
@@ -196,7 +196,7 @@ Ext.define('saas.view.money.verification.FormPanelController', {
                             width: 80,
                             xtype: 'numbercolumn',
                             align:'end',
-                            renderer : function(v) {
+                            renderer : function(v, m, r) {
                                 return saas.util.BaseUtil.numberFormat(v, 2, false);
                             }
                         }, {
@@ -204,7 +204,7 @@ Ext.define('saas.view.money.verification.FormPanelController', {
                             dataIndex: "ve_leftamount",
                             width:110,
                             xtype: 'numbercolumn',
-                            renderer : function(v) {
+                            renderer : function(v, m, r) {
                                 return saas.util.BaseUtil.numberFormat(v, 2, true);
                             }
                         },{
@@ -213,7 +213,7 @@ Ext.define('saas.view.money.verification.FormPanelController', {
                             width: 110,
                             xtype: 'numbercolumn',
                             align: 'end',
-                            renderer : function(v) {
+                            renderer : function(v, m, r) {
                                 return Ext.util.Format.number(v, '0');
                             }
                         }, {
@@ -271,7 +271,7 @@ Ext.define('saas.view.money.verification.FormPanelController', {
                             width: 80,
                             xtype: 'numbercolumn',
                             align:'end',
-                            renderer : function(v) {
+                            renderer : function(v, m, r) {
                                 return saas.util.BaseUtil.numberFormat(v, 2, false);
                             }
                         }, {
@@ -279,7 +279,7 @@ Ext.define('saas.view.money.verification.FormPanelController', {
                             dataIndex: "ve_leftamount",
                             width:110,
                             xtype: 'numbercolumn',
-                            renderer : function(v) {
+                            renderer : function(v, m, r) {
                                 return saas.util.BaseUtil.numberFormat(v, 2, true);
                             }
                         },{
@@ -288,7 +288,7 @@ Ext.define('saas.view.money.verification.FormPanelController', {
                             width: 110,
                             xtype: 'numbercolumn',
                             align: 'end',
-                            renderer : function(v) {
+                            renderer : function(v, m, r) {
                                 return Ext.util.Format.number(v, '0');
                             }
                         }, {

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

@@ -125,7 +125,7 @@ Ext.define('saas.view.money.verification.QueryPanel', {
                     dataIndex: 'vc_amount1',
                     xtype: 'numbercolumn',
                     width: 110,
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     }
                 }]

+ 11 - 11
frontend/saas-web/app/view/purchase/purchase/FormPanel.js

@@ -169,11 +169,11 @@ Ext.define('saas.view.purchase.purchase.FormPanel', {
                         decimalPrecision: 3,
                         minValue: 0
                     },
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 3, false);
                     },
                     summaryType: 'sum',
-                    summaryRenderer: function (v) {
+                    summaryRenderer: function(v, d, f, m) {
                         return saas.util.BaseUtil.numberFormat(v, 3, false);
                     }
                 }, {
@@ -197,7 +197,7 @@ Ext.define('saas.view.purchase.purchase.FormPanel', {
                         decimalPrecision: 4,
                         minValue: 0
                     },
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 4, true);
                     }
                 }, {
@@ -210,7 +210,7 @@ Ext.define('saas.view.purchase.purchase.FormPanel', {
                         decimalPrecision: 4,
                         minValue: 0
                     },
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 4, true);
                     },
                     listeners: {
@@ -226,11 +226,11 @@ Ext.define('saas.view.purchase.purchase.FormPanel', {
                     xtype: 'numbercolumn',
                     dataIndex: "pd_taxtotal",
                     width: 120,
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     },
                     summaryType: 'sum',
-                    summaryRenderer: function (v) {
+                    summaryRenderer: function(v, d, f, m) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     }
                 }, {
@@ -244,7 +244,7 @@ Ext.define('saas.view.purchase.purchase.FormPanel', {
                         minValue: 0,
                         maxValue: 100
                     },
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 2, false);
                     }
                 }, {
@@ -252,11 +252,11 @@ Ext.define('saas.view.purchase.purchase.FormPanel', {
                     xtype: 'numbercolumn',
                     dataIndex: "pd_taxamount",
                     width: 120,
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     },
                     summaryType: 'sum',
-                    summaryRenderer: function (v) {
+                    summaryRenderer: function(v, d, f, m) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     }
                 }, {
@@ -264,11 +264,11 @@ Ext.define('saas.view.purchase.purchase.FormPanel', {
                     xtype: 'numbercolumn',
                     dataIndex: "pd_total",
                     width: 120,
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     },
                     summaryType: 'sum',
-                    summaryRenderer: function (v) {
+                    summaryRenderer: function(v, d, f, m) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     }
                 }, {

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

@@ -118,7 +118,7 @@ Ext.define('saas.view.purchase.purchase.QueryPanel', {
                     dataIndex: 'pu_taxtotal',
                     xtype: 'numbercolumn',
                     width: 110,
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     }
                 }, {
@@ -126,7 +126,7 @@ Ext.define('saas.view.purchase.purchase.QueryPanel', {
                     dataIndex: 'pu_total',
                     xtype: 'numbercolumn',
                     width: 110,
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     }
                 }, {
@@ -204,7 +204,7 @@ Ext.define('saas.view.purchase.purchase.QueryPanel', {
                     dataIndex: 'pd_qty',
                     xtype: 'numbercolumn',
                     width: 110,
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 3, false);
                     }
                 }, {
@@ -216,7 +216,7 @@ Ext.define('saas.view.purchase.purchase.QueryPanel', {
                     dataIndex: 'pd_taxprice',
                     xtype: 'numbercolumn',
                     width: 110,
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 4, true);
                     }
                 }, {
@@ -224,7 +224,7 @@ Ext.define('saas.view.purchase.purchase.QueryPanel', {
                     dataIndex: 'pd_price',
                     xtype: 'numbercolumn',
                     width: 110,
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 4, true);
                     }
                 }, {
@@ -232,7 +232,7 @@ Ext.define('saas.view.purchase.purchase.QueryPanel', {
                     dataIndex: 'pd_taxtotal',
                     xtype: 'numbercolumn',
                     width: 110,
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     }
                 }, {
@@ -249,7 +249,7 @@ Ext.define('saas.view.purchase.purchase.QueryPanel', {
                     dataIndex: 'pd_total',
                     xtype: 'numbercolumn',
                     width: 110,
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     }
                 }, {

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

@@ -217,11 +217,11 @@ Ext.define('saas.view.purchase.purchaseIn.FormPanel', {
                         decimalPrecision: 3,
                         minValue: 0
                     },
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 3, false);
                     },
                     summaryType: 'sum',
-                    summaryRenderer: function (v) {
+                    summaryRenderer: function(v, d, f, m) {
                         return saas.util.BaseUtil.numberFormat(v, 3, false);
                     }
                 }, {
@@ -246,7 +246,7 @@ Ext.define('saas.view.purchase.purchaseIn.FormPanel', {
                     },
                     dataIndex: "pd_netprice",
                     width: 120,
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 4, true);
                     },
                 }, {
@@ -260,7 +260,7 @@ Ext.define('saas.view.purchase.purchaseIn.FormPanel', {
                     },
                     dataIndex: "pd_orderprice",
                     width: 120.0,
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 4, true);
                     },
                     listeners: {
@@ -276,11 +276,11 @@ Ext.define('saas.view.purchase.purchaseIn.FormPanel', {
                     xtype: 'numbercolumn',
                     dataIndex: "pd_nettotal",
                     width: 120,
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     },
                     summaryType: 'sum',
-                    summaryRenderer: function (v) {
+                    summaryRenderer: function(v, d, f, m) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     }
                 }, {
@@ -294,7 +294,7 @@ Ext.define('saas.view.purchase.purchaseIn.FormPanel', {
                         minValue: 0,
                         maxValue: 100
                     },
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 2, false);
                     },
                 }, {
@@ -302,11 +302,11 @@ Ext.define('saas.view.purchase.purchaseIn.FormPanel', {
                     xtype: 'numbercolumn',
                     dataIndex: "pd_taxamount",
                     width: 120,
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     },
                     summaryType: 'sum',
-                    summaryRenderer: function (v) {
+                    summaryRenderer: function(v, d, f, m) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     }
                 }, {
@@ -314,11 +314,11 @@ Ext.define('saas.view.purchase.purchaseIn.FormPanel', {
                     xtype: 'numbercolumn',
                     dataIndex: "pd_ordertotal",
                     width: 120,
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     },
                     summaryType: 'sum',
-                    summaryRenderer: function (v) {
+                    summaryRenderer: function(v, d, f, m) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     }
                 }, {

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

@@ -128,7 +128,7 @@ Ext.define('saas.view.purchase.purchaseIn.QueryPanel', {
                     xtype: 'numbercolumn',
                     dataIndex: 'pi_nettotal',
                     width: 110,
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     }
                 }, {
@@ -136,7 +136,7 @@ Ext.define('saas.view.purchase.purchaseIn.QueryPanel', {
                     xtype: 'numbercolumn',
                     dataIndex: 'pi_total',
                     width: 110,
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     }
                 }, {
@@ -215,7 +215,7 @@ Ext.define('saas.view.purchase.purchaseIn.QueryPanel', {
                     dataIndex: 'pd_inqty',
                     xtype: 'numbercolumn',
                     width: 110,
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 3, false);
                     }
                 }, {
@@ -226,7 +226,7 @@ Ext.define('saas.view.purchase.purchaseIn.QueryPanel', {
                     text: '单价(元)',
                     dataIndex: 'pd_netprice',
                     xtype: 'numbercolumn',
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 4, true);
                     },
                     width: 110
@@ -234,7 +234,7 @@ Ext.define('saas.view.purchase.purchaseIn.QueryPanel', {
                     text: '含税单价(元)',
                     dataIndex: 'pd_orderprice',
                     xtype: 'numbercolumn',
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 4, true);
                     },
                     width: 110
@@ -243,7 +243,7 @@ Ext.define('saas.view.purchase.purchaseIn.QueryPanel', {
                     dataIndex: 'pd_nettotal',
                     xtype: 'numbercolumn',
                     width: 110,
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     },
                 }, {
@@ -260,7 +260,7 @@ Ext.define('saas.view.purchase.purchaseIn.QueryPanel', {
                     dataIndex: 'pd_ordertotal',
                     xtype: 'numbercolumn',
                     width: 110,
-                    renderer: function (v) {
+                    renderer: function(v, m, r) {
                         return saas.util.BaseUtil.numberFormat(v, 2, true);
                     },
                 }, {

Некоторые файлы не были показаны из-за большого количества измененных файлов