|
@@ -29,7 +29,7 @@ type TreeService interface {
|
|
|
ValidRule(ctx iris.Context) (viewmodels.Tree, error)
|
|
|
Create(data viewmodels.Tree) error
|
|
|
GetAllProject(projectId int) *viewmodels.Tree
|
|
|
- GetAllContract(projectId int) *viewmodels.Tree
|
|
|
+ GetAllContract(projectId int) *viewmodels.TreeContract
|
|
|
Rename(treevm viewmodels.Tree, projectId int) error
|
|
|
GetFolderAndBid(id int, projectId int) ([]models.CmTree, error)
|
|
|
DeleteFolderAndBid(id int, projectId int) error
|
|
@@ -119,11 +119,11 @@ func (s *treeService) GetAllProject(projectId int) *viewmodels.Tree {
|
|
|
}
|
|
|
|
|
|
// 获得合同管理的目录
|
|
|
-func (s *treeService) GetAllContract(projectId int) *viewmodels.Tree {
|
|
|
+func (s *treeService) GetAllContract(projectId int) *viewmodels.TreeContract {
|
|
|
datalist := s.dao.GetAllTree(projectId)
|
|
|
- folderlist := make([]viewmodels.Tree, 0)
|
|
|
+ folderlist := make([]viewmodels.TreeContract, 0)
|
|
|
// 生成根
|
|
|
- folder := viewmodels.Tree{}
|
|
|
+ folder := viewmodels.TreeContract{}
|
|
|
id, _ := comm.AesEncrypt(strconv.Itoa(0), conf.SignSecret)
|
|
|
parentId, _ := comm.AesEncrypt(strconv.Itoa(-1), conf.SignSecret)
|
|
|
folder.Id = id
|
|
@@ -132,42 +132,66 @@ func (s *treeService) GetAllContract(projectId int) *viewmodels.Tree {
|
|
|
folderlist = append(folderlist, folder)
|
|
|
// 加入数据
|
|
|
for _, data := range datalist {
|
|
|
- folder := viewmodels.Tree{}
|
|
|
+ folder := viewmodels.TreeContract{}
|
|
|
id, _ := comm.AesEncrypt(strconv.Itoa(data.Id), conf.SignSecret)
|
|
|
parentId, _ := comm.AesEncrypt(strconv.Itoa(data.ParentId), conf.SignSecret)
|
|
|
projectId, _ := comm.AesEncrypt(strconv.Itoa(data.ProjectId), conf.SignSecret)
|
|
|
- serial, _ := comm.AesEncrypt(strconv.Itoa(data.Serial), conf.SignSecret)
|
|
|
folder.Id = id
|
|
|
folder.Name = data.Name
|
|
|
folder.ParentId = parentId
|
|
|
folder.ProjectId = projectId
|
|
|
- folder.Depth = data.Depth + 1
|
|
|
- folder.Serial = serial
|
|
|
- folder.Ancounts = data.Ancounts
|
|
|
// 合同数据
|
|
|
+ folder.Contracts = data.Contracts
|
|
|
+ folder.ContractsIncome = data.ContractsIncome
|
|
|
+ folder.ContractsReturned = data.ContractsReturned
|
|
|
+ // 汇款进度
|
|
|
+ ContractsIncome, err := strconv.ParseFloat(data.ContractsIncome, 64)
|
|
|
+ if err != nil {
|
|
|
+ ContractsIncome = 0
|
|
|
+ }
|
|
|
+ ContractsReturned, err := strconv.ParseFloat(data.ContractsReturned, 64)
|
|
|
+ if err != nil || ContractsReturned == 0 {
|
|
|
+ ContractsReturned = 0
|
|
|
+ folder.ContractsIncomeProgress = "0%"
|
|
|
+ } else {
|
|
|
+ folder.ContractsIncomeProgress = fmt.Sprintf("%.0f", (ContractsReturned/ContractsIncome)*100) + "%"
|
|
|
+ }
|
|
|
+
|
|
|
+ folder.ContractsPay = data.ContractsPay
|
|
|
+ folder.ContractsPaid = data.ContractsPaid
|
|
|
+ // 支付进度
|
|
|
+ ContractsPay, err := strconv.ParseFloat(data.ContractsPay, 64)
|
|
|
+ if err != nil {
|
|
|
+ ContractsPay = 0
|
|
|
+ }
|
|
|
+ ContractsPaid, err := strconv.ParseFloat(data.ContractsPaid, 64)
|
|
|
+ if err != nil || ContractsPaid == 0 {
|
|
|
+ ContractsPaid = 0
|
|
|
+ folder.ContractsPayProgress = "0%"
|
|
|
+ } else {
|
|
|
+ folder.ContractsPayProgress = fmt.Sprintf("%.0f", (ContractsPaid/ContractsPay)*100) + "%"
|
|
|
+ }
|
|
|
|
|
|
folder.Isfolder = data.Isfolder
|
|
|
folder.IsEnd = false
|
|
|
|
|
|
folder.HasFolder = false
|
|
|
folder.IsBid = false
|
|
|
- folder.CreateTime = data.CreateTime.Format(conf.SysTimeform)
|
|
|
folderlist = append(folderlist, folder)
|
|
|
}
|
|
|
|
|
|
//fmt.Println(folderlist)
|
|
|
|
|
|
- var data []*viewmodels.Tree
|
|
|
- data = make([]*viewmodels.Tree, 0)
|
|
|
+ var data []*viewmodels.TreeContract
|
|
|
+ data = make([]*viewmodels.TreeContract, 0)
|
|
|
for i, _ := range folderlist {
|
|
|
- var a *viewmodels.Tree
|
|
|
+ var a *viewmodels.TreeContract
|
|
|
a = &folderlist[i]
|
|
|
data = append(data, a)
|
|
|
}
|
|
|
|
|
|
node := &folderlist[0] //父节点
|
|
|
- maketree(data, node) //调用生成tree
|
|
|
- //transformjson(node) //转化为json
|
|
|
+ comm.MakeTreeContract(data, node)
|
|
|
return node
|
|
|
}
|
|
|
|
|
@@ -401,7 +425,7 @@ func (s *treeService) Move(id int, moveId int, projectId int) error {
|
|
|
return nil
|
|
|
}
|
|
|
|
|
|
-// 创建一颗树
|
|
|
+// 创建一颗树...interface{}
|
|
|
func maketree(Data []*viewmodels.Tree, node *viewmodels.Tree) { //参数为父节点,添加父节点的子节点指针切片
|
|
|
childs, _ := havechild(Data, node) //判断节点是否有子节点并返回
|
|
|
if childs != nil {
|