Compare commits

..

7 Commits

Author SHA1 Message Date
hoteas c0ae31f499 修复部分bug 2022-11-05 01:55:11 +08:00
hoteas 25edb6b5b7 修复部分bug 2022-11-04 03:22:00 +08:00
hoteas ead64dc776 修复bug 2022-11-04 02:55:58 +08:00
hoteas 876e3b1f45 优化性能 2022-11-04 02:34:48 +08:00
hoteas d6e940803d 优化性能 2022-11-04 02:25:33 +08:00
hoteas 203e72f8a2 优化性能 2022-11-04 02:12:07 +08:00
hoteas 541c82410e 修正bug 2022-10-21 04:28:51 +08:00
6 changed files with 3591 additions and 5357 deletions
+53 -21
View File
@@ -46,7 +46,7 @@ var TptProject = Proj{
continue
}
if (column["list"] == nil || column.GetBool("list")) && column.GetString("link") != "" {
if (column["info"] == nil || column.GetBool("info")) && column.GetString("link") != "" {
seStr := "id," + column.GetString("value")
if that.MakeCodeRouter[hotimeName].TableColumns[column.GetString("link")]["phone"] != nil {
seStr = seStr + ",phone"
@@ -218,6 +218,9 @@ var TptProject = Proj{
}
inData["parent_ids"] = parent_ids + ObjToStr(re) + ","
that.Db.Update(tableName, Map{"parent_ids": inData["parent_ids"]}, Map{"id": re})
} else {
inData["parent_ids"] = "," + ObjToStr(re) + ","
that.Db.Update(tableName, Map{"parent_ids": inData["parent_ids"]}, Map{"id": re})
}
that.Log["table_id"] = re
@@ -365,22 +368,28 @@ var TptProject = Proj{
}
if inData.Get("parent_id") != nil {
if _, ok := inData["parent_id"]; ok {
//1
//12 62
//123 623
Index := that.Db.Get(tableName, "parent_id,`parent_ids`", Map{"id": that.RouterString[2]})
if inData.GetCeilInt64("parent_id") != Index.GetCeilInt64("parent_id") {
parentIndex := that.Db.Get(tableName, "`parent_ids`", Map{"id": inData.Get("parent_id")})
if strings.Contains(parentIndex.GetString("parent_ids"), ","+that.RouterString[2]+",") {
that.Display(4, "不能将子级设置为父级")
return
}
parent_ids := parentIndex.GetString("parent_ids") + that.RouterString[2] + ","
childNodes := that.Db.Select(tableName, "id,`parent_ids`", Map{"parent_ids[~]": "," + that.RouterString[2] + ","})
for _, v := range childNodes {
v["parent_ids"] = strings.Replace(v.GetString("parent_ids"), Index.GetString("parent_ids"), parent_ids, -1)
that.Db.Update(tableName, Map{"parent_ids": v["parent_ids"]}, Map{"id": v.GetCeilInt("id")})
if inData.GetCeilInt64("parent_id") == 0 {
that.Db.Update(tableName, Map{"parent_ids": "," + that.RouterString[2] + ","}, Map{"id": that.RouterString[2]})
} else {
Index := that.Db.Get(tableName, "parent_id,`parent_ids`", Map{"id": that.RouterString[2]})
if inData.GetCeilInt64("parent_id") != Index.GetCeilInt64("parent_id") {
parentIndex := that.Db.Get(tableName, "`parent_ids`", Map{"id": inData.Get("parent_id")})
if strings.Contains(parentIndex.GetString("parent_ids"), ","+that.RouterString[2]+",") {
that.Display(4, "不能将子级设置为父级")
return
}
parent_ids := parentIndex.GetString("parent_ids") + that.RouterString[2] + ","
childNodes := that.Db.Select(tableName, "id,`parent_ids`", Map{"parent_ids[~]": "," + that.RouterString[2] + ","})
for _, v := range childNodes {
v["parent_ids"] = strings.Replace(v.GetString("parent_ids"), Index.GetString("parent_ids"), parent_ids, -1)
that.Db.Update(tableName, Map{"parent_ids": v["parent_ids"]}, Map{"id": v.GetCeilInt("id")})
}
}
}
@@ -490,7 +499,7 @@ var TptProject = Proj{
}
//}
columnStr, leftJoin, where := that.MakeCodeRouter[hotimeName].Search(tableName, data, where, that.Req, that.Db)
columnStr, where := that.MakeCodeRouter[hotimeName].Search(tableName, data, where, that.Req, that.Db)
page := ObjToInt(that.Req.FormValue("page"))
pageSize := ObjToInt(that.Req.FormValue("pageSize"))
@@ -509,12 +518,12 @@ var TptProject = Proj{
var reData []Map
//是否下载
if download == 0 {
count = that.Db.Count(tableName, leftJoin, where)
count = that.Db.Count(tableName, where)
reData = that.Db.Page(page, pageSize).
PageSelect(tableName, leftJoin, columnStr, where)
PageSelect(tableName, columnStr, where)
}
if download == 1 {
reData = that.Db.Select(tableName, leftJoin, columnStr, where)
reData = that.Db.Select(tableName, columnStr, where)
}
for _, v := range reData {
@@ -546,11 +555,11 @@ var TptProject = Proj{
column := that.MakeCodeRouter[hotimeName].TableColumns[tableName][k]
if column == nil {
break
if column == nil || column["link"] == nil || !(column["list"] == nil || column["list"] == true) || v.GetCeilInt64(column.GetString("name")) == 0 {
continue
}
if (column["list"] == nil || column["list"] == true) && column["name"] == "parent_id" && column.GetString("link") != "" {
if column["name"] == "parent_id" {
parentC := that.Db.Get(column.GetString("link"), column.GetString("value"), Map{"id": v.GetCeilInt(k)})
v[column.GetString("link")+"_"+column.GetString("name")+"_"+column.GetString("value")] = ""
@@ -559,6 +568,29 @@ var TptProject = Proj{
}
}
if column.GetString("name") != "parent_id" {
reStr := ""
if column.GetString("value") == "name" && that.MakeCodeRouter[hotimeName].TableColumns[column.GetString("link")]["nickname"] != nil {
reStr += "nickname,"
}
if that.MakeCodeRouter[hotimeName].TableColumns[column.GetString("link")]["phone"] != nil {
reStr += "phone,"
}
reStr += column.GetString("value")
joinData := that.Db.Get(column.GetString("link"), reStr, Map{"id": v.GetCeilInt64(column.GetString("name"))})
if joinData != nil {
for kj, vj := range joinData {
v[column.GetString("link")+"_"+column.GetString("name")+"_"+kj] = vj
}
}
}
//return isEnd
}
}
+113 -86
View File
@@ -208,7 +208,7 @@ func (that *MakeCode) Db2JSON(db *db.HoTimeDB, config Map) {
for _, ColumnName := range that.RuleConfig {
if (ColumnName.GetBool("strict") && coloum.GetString("name") == ColumnName.GetString("name")) ||
(!ColumnName.GetBool("strict") && strings.Contains(coloum.GetString("name"), ColumnName.GetString("name"))) ||
(info.GetString("name")+"."+coloum.GetString("name") == ColumnName.GetString("name")) {
(v.GetString("name")+"."+coloum.GetString("name") == ColumnName.GetString("name")) {
//全部都不需要则不加入
if ColumnName.GetBool("edit") == false && ColumnName.GetBool("list") == false && ColumnName.GetBool("info") == false {
coloum["notUse"] = true
@@ -743,17 +743,23 @@ func (that *MakeCode) Add(table string, user Map, req *http.Request) Map {
}
reqValue := req.FormValue(v.GetString("name"))
if (reqValue == "" || reqValue == "null") && strings.Contains(v.GetString("name"), "id") {
data[v.GetString("name")] = nil
} else {
if v.GetString("type") == "password" {
data[v.GetString("name")] = Md5(reqValue)
} else {
data[v.GetString("name")] = reqValue
}
if req.Form[v.GetString("name")] == nil {
continue
}
reqValue := req.FormValue(v.GetString("name"))
if reqValue == "null" {
data[v.GetString("name")] = nil
continue
}
if v.GetString("type") == "password" {
data[v.GetString("name")] = Md5(reqValue)
continue
}
data[v.GetString("name")] = reqValue
}
//sn则自动生成
if v.GetString("name") == "sn" {
@@ -802,13 +808,21 @@ func (that *MakeCode) Edit(table string, req *http.Request) Map {
}
if v.Get("edit") == nil || v.GetBool("edit") {
if len(req.Form[v.GetString("name")]) == 0 {
continue
}
reqValue := req.FormValue(v.GetString("name"))
if reqValue == "null" {
data[v.GetString("name")] = nil
continue
}
if v.GetString("type") == "number" && reqValue == "" {
data[v.GetString("name")] = nil
continue
}
if v.GetString("type") == "password" {
data[v.GetString("name")] = Md5(reqValue)
} else {
@@ -847,9 +861,9 @@ func (that *MakeCode) Delete(table string, req *http.Request) Map {
return data
}
func (that *MakeCode) Search(table string, userData Map, data Map, req *http.Request, db *db.HoTimeDB) (string, Map, Map) {
func (that *MakeCode) Search(table string, userData Map, data Map, req *http.Request, db *db.HoTimeDB) (string, Map) {
reStr := ""
leftJoin := Map{}
//leftJoin := Map{}
//data := Map{}
if data == nil {
data = Map{}
@@ -881,46 +895,48 @@ func (that *MakeCode) Search(table string, userData Map, data Map, req *http.Req
if v["list"] != false {
if v.GetString("link") != "" &&
v.GetString("name") != "parent_id" {
reStr += table + "." + v.GetString("name") + "," +
v.GetString("link") + "." + v.GetString("value") + " AS " +
v.GetString("link") + "_" + v.GetString("name") + "_" + v.GetString("value") + ","
if v.GetString("value") == "name" && that.TableColumns[v.GetString("link")]["nickname"] != nil {
reStr += v.GetString("link") + ".nickname AS " +
v.GetString("link") + "_" + v.GetString("name") + "_nickname,"
}
if that.TableColumns[v.GetString("link")]["phone"] != nil {
reStr += v.GetString("link") + ".phone AS " +
v.GetString("link") + "_" + v.GetString("name") + "_phone,"
}
leftJoin["[>]"+v.GetString("link")] =
table + "." + v.GetString("name") + "=" +
v.GetString("link") + ".id"
if v.GetString("link") == "admin" {
hasUser = true
}
reqValue := req.FormValue(v.GetString("name"))
if reqValue != "" {
data[table+"."+v.GetString("name")] = reqValue
}
} else {
reStr += table + "." + v.GetString("name") + ","
//if v.GetString("link") != "" &&
// v.GetString("name") != "parent_id" {
//
// reStr += table + "." + v.GetString("name") + ","
// //+
// // v.GetString("link") + "." + v.GetString("value") + " AS " +
// // v.GetString("link") + "_" + v.GetString("name") + "_" + v.GetString("value") + ","
//
// if v.GetString("value") == "name" && that.TableColumns[v.GetString("link")]["nickname"] != nil {
// reStr += v.GetString("link") + ".nickname AS " +
// v.GetString("link") + "_" + v.GetString("name") + "_nickname,"
// }
//
// if that.TableColumns[v.GetString("link")]["phone"] != nil {
// reStr += v.GetString("link") + ".phone AS " +
// v.GetString("link") + "_" + v.GetString("name") + "_phone,"
// }
//
// leftJoin["[>]"+v.GetString("link")] =
// table + "." + v.GetString("name") + "=" +
// v.GetString("link") + ".id"
//
// if v.GetString("link") == "admin" {
// hasUser = true
// }
//
reqValue := req.FormValue(v.GetString("name"))
if v.GetString("name") != "parent_id" && reqValue != "" {
data[v.GetString("name")] = reqValue
}
//
//} else {
if v["name"] == "parent_id" && v.GetString("link") != "" {
leftJoin["[>]"+v.GetString("link")+" selfParent"] =
"selfParent.id=" +
v.GetString("link") + "." + v.GetString("name")
reStr += "selfParent." + v.GetString("value") + " AS " + v.GetString("link") + "_" + v.GetString("name") + "_" + v.GetString("value") + ","
}
reStr += v.GetString("name") + ","
//}
//if v["name"] == "parent_id" && v.GetString("link") != "" {
// leftJoin["[>]"+v.GetString("link")+" selfParent"] =
// "selfParent.id=" +
// v.GetString("link") + "." + v.GetString("name")
// reStr += "selfParent." + v.GetString("value") + " AS " + v.GetString("link") + "_" + v.GetString("name") + "_" + v.GetString("value") + ","
//}
//准备加入索引权限
if v.GetString("link") != "" &&
@@ -970,7 +986,7 @@ func (that *MakeCode) Search(table string, userData Map, data Map, req *http.Req
if strings.Contains(v.GetString("type"), "text") {
reqValue := req.FormValue(v.GetString("name"))
if reqValue != "" {
data[table+"."+v.GetString("name")+"[~]"] = reqValue
data[v.GetString("name")+"[~]"] = reqValue
}
}
@@ -978,9 +994,9 @@ func (that *MakeCode) Search(table string, userData Map, data Map, req *http.Req
if v.GetString("type") == "unixtime" {
if len(req.Form[v.GetString("name")]) == 1 {
daterange[table+"."+v.GetString("name")+"[>]"] = req.FormValue("daterange")
daterange[v.GetString("name")+"[>]"] = req.FormValue("daterange")
} else if len(req.Form[v.GetString("name")]) == 2 {
daterange[table+"."+v.GetString("name")+"[<>]"] = ObjToSlice(req.Form["daterange"])
daterange[v.GetString("name")+"[<>]"] = ObjToSlice(req.Form["daterange"])
}
//fmt.Println(req.Form["daterange"])
@@ -993,12 +1009,12 @@ func (that *MakeCode) Search(table string, userData Map, data Map, req *http.Req
if len(req.Form[v.GetString("name")]) == 1 {
t := time.Unix(ObjToCeilInt64(req.FormValue(v.GetString("name"))), 0).Format("2006-01-02 15:04:05")
daterange[table+"."+v.GetString("name")+"[>]"] = t
daterange[v.GetString("name")+"[>]"] = t
} else if len(req.Form[v.GetString("name")]) == 2 {
t1 := time.Unix(ObjToCeilInt64(req.Form[v.GetString("name")][0]), 0).Format("2006-01-02 15:04:05")
t2 := time.Unix(ObjToCeilInt64(req.Form[v.GetString("name")][1]), 0).Format("2006-01-02 15:04:05")
daterange[table+"."+v.GetString("name")+"[<>]"] = Slice{t1, t2}
daterange[v.GetString("name")+"[<>]"] = Slice{t1, t2}
}
}
@@ -1038,8 +1054,8 @@ func (that *MakeCode) Search(table string, userData Map, data Map, req *http.Req
for _, v := range r {
reqValue = append(reqValue, v.GetString("id"))
}
if data[table+"."+searchItemName] != nil {
data[table+"."+searchItemName] = reqValue
if data[searchItemName] != nil {
data[searchItemName] = reqValue
}
}
@@ -1063,10 +1079,10 @@ func (that *MakeCode) Search(table string, userData Map, data Map, req *http.Req
if v.GetString("type") == "unixtime" {
//fmt.Println(req.Form["daterange"])
if len(req.Form["daterange"]) == 1 && req.Form["daterange"][0] != "" {
daterange[table+"."+v.GetString("name")+"[>]"] = req.FormValue("daterange")
daterange[v.GetString("name")+"[>]"] = req.FormValue("daterange")
} else if len(req.Form["daterange"]) == 2 {
daterange[table+"."+v.GetString("name")+"[<>]"] = ObjToSlice(req.Form["daterange"])
daterange[v.GetString("name")+"[<>]"] = ObjToSlice(req.Form["daterange"])
}
}
if v.GetString("type") == "time" {
@@ -1075,12 +1091,12 @@ func (that *MakeCode) Search(table string, userData Map, data Map, req *http.Req
if len(req.Form["daterange"]) == 1 && req.Form["daterange"][0] != "" {
t := time.Unix(ObjToCeilInt64(req.FormValue("daterange")), 0).Format("2006-01-02 15:04:05")
daterange[table+"."+v.GetString("name")+"[>]"] = t
daterange[v.GetString("name")+"[>]"] = t
} else if len(req.Form["daterange"]) == 2 {
t1 := time.Unix(ObjToCeilInt64(req.Form["daterange"][0]), 0).Format("2006-01-02 15:04:05")
t2 := time.Unix(ObjToCeilInt64(req.Form["daterange"][1]), 0).Format("2006-01-02 15:04:05")
daterange[table+"."+v.GetString("name")+"[<>]"] = Slice{t1, t2}
daterange[v.GetString("name")+"[<>]"] = Slice{t1, t2}
}
}
@@ -1090,7 +1106,7 @@ func (that *MakeCode) Search(table string, userData Map, data Map, req *http.Req
if keywordTableStr != "" {
if keywordTableStr == v.GetString("name") {
data[table+"."+keywordTableStr+"[~]"] = keywordStr
data[keywordTableStr+"[~]"] = keywordStr
}
if keywordTableStr == v.GetString("value") {
@@ -1107,11 +1123,11 @@ func (that *MakeCode) Search(table string, userData Map, data Map, req *http.Req
}
if strings.Contains(v.GetString("type"), "text") {
keyword[table+"."+v.GetString("name")+"[~]"] = keywordStr
keyword[v.GetString("name")+"[~]"] = keywordStr
}
if v.GetString("name") == "id" {
keyword[table+"."+v.GetString("name")] = keywordStr
keyword[v.GetString("name")] = keywordStr
}
if v.GetString("link") != "" &&
v.GetString("name") != "parent_id" {
@@ -1130,7 +1146,7 @@ func (that *MakeCode) Search(table string, userData Map, data Map, req *http.Req
}
if len(reqValue) != 0 && searchItem.GetString("name") == "sort" && reqValue[0] != "" {
sortMap["ORDER"] = table + "." + reqValue[0]
sortMap["ORDER"] = reqValue[0]
}
continue
@@ -1141,7 +1157,7 @@ func (that *MakeCode) Search(table string, userData Map, data Map, req *http.Req
parentID := ObjToInt(req.FormValue("parent_id"))
if parentID == 0 {
parentID = userData.GetCeilInt(table + "_id")
data["OR"] = Map{table + ".id": parentID, table + ".parent_id": nil}
data["OR"] = Map{"id": parentID, "parent_id": nil}
} else {
//是否展示全部子级
where := Map{}
@@ -1149,21 +1165,21 @@ func (that *MakeCode) Search(table string, userData Map, data Map, req *http.Req
for _, v := range reqValue {
if len(where) == 0 {
where[table+"."+parent_idsStr] = "," + v + ","
where[parent_idsStr] = "," + v + ","
continue
}
where = Map{"OR": where, table + "." + parent_idsStr: "," + v + ","}
where = Map{"OR": where, parent_idsStr: "," + v + ","}
}
} else {
where[table+".parent_id"] = reqValue
where["parent_id"] = reqValue
}
//是否展示自己
if req.FormValue("showself") == "1" {
if len(where) == 0 {
data["OR"] = Map{table + ".id": reqValue}
data["OR"] = Map{"id": reqValue}
} else {
data["OR"] = Map{"OR": where, table + ".id": reqValue}
data["OR"] = Map{"OR": where, "id": reqValue}
}
} else {
if len(where) != 0 {
@@ -1179,26 +1195,37 @@ func (that *MakeCode) Search(table string, userData Map, data Map, req *http.Req
if parent_idsStr != "" {
where := Map{}
//where := Map{}
//是否全部展示
if req.FormValue("showall") != "1" {
where[table+"."+searchItem.GetString("name")] = reqValue
if len(reqValue) != 0 {
data[searchItem.GetString("name")] = reqValue
}
} else {
ls := []int64{}
for _, v := range reqValue {
if len(where) == 0 {
where[searchItem.GetString("link")+"."+parent_idsStr] = "," + v + ","
continue
ls1 := db.Select(searchItem.GetString("link"), "id", Map{"OR": Map{parent_idsStr: "," + v + ",", "id": v}})
for _, vls1 := range ls1 {
ls = append(ls, vls1.GetCeilInt64("id"))
}
where = Map{"OR": where, searchItem.GetString("link") + "." + parent_idsStr: "," + v + ","}
}
if len(ls) != 0 {
data[searchItem.GetString("name")] = ls
}
}
//用户
if userData[searchItem.GetString("name")] != nil {
where = Map{"AND": Map{searchItem.GetString("link") + "." + parent_idsStr: "," + ObjToStr(userData.GetCeilInt64(searchItem.GetString("name"))) + ",", "OR": where}}
}
data["OR"] = where
//if userData[searchItem.GetString("name")] != nil {
//
// where = Map{"AND": Map{searchItem.GetString("link") + "." + parent_idsStr: "," + ObjToStr(userData.GetCeilInt64(searchItem.GetString("name"))) + ",", "OR": where}}
//}
//if len(where)!=0{
// data["OR"] = where
//}
continue
//r := db.Select(searchItem.GetString("link"), "id", where)
@@ -1210,13 +1237,13 @@ func (that *MakeCode) Search(table string, userData Map, data Map, req *http.Req
}
if len(reqValue) != 0 && reqValue[0] != "" {
data[table+"."+searchItemName] = reqValue
data[searchItemName] = reqValue
}
}
if sortMap["ORDER"] == nil {
sortMap["ORDER"] = table + ".id DESC"
sortMap["ORDER"] = "id DESC"
}
where := Map{}
@@ -1273,5 +1300,5 @@ func (that *MakeCode) Search(table string, userData Map, data Map, req *http.Req
}
}
return reStr, leftJoin, where
return reStr, where
}
+2 -2
View File
@@ -1029,7 +1029,7 @@ func (that *HoTimeDB) varCond(k string, v interface{}) (string, []interface{}) {
v = "%" + ObjToStr(v) + "%"
res = append(res, v)
case "[!~]": //左边任意
k = strings.Replace(k, "[~]", "", -1)
k = strings.Replace(k, "[!~]", "", -1)
if !strings.Contains(k, ".") {
k = "`" + k + "` "
}
@@ -1037,7 +1037,7 @@ func (that *HoTimeDB) varCond(k string, v interface{}) (string, []interface{}) {
v = "%" + ObjToStr(v) + ""
res = append(res, v)
case "[~!]": //右边任意
k = strings.Replace(k, "[~]", "", -1)
k = strings.Replace(k, "[~!]", "", -1)
if !strings.Contains(k, ".") {
k = "`" + k + "` "
}
-419
View File
@@ -1,419 +0,0 @@
{
"flow": {
"admin": {
"sql": {
"org_id": "org_id",
"parent_ids[~]": "%,id,%",
"role_id": "role_id",
"zone_id": "zone_id"
},
"stop": true,
"table": "admin"
},
"channel": {
"sql": {
"admin_id": "id",
"org_id": "org_id",
"zone_id": "zone_id"
},
"stop": false,
"table": "channel"
},
"company": {
"sql": {
"admin_id": "id",
"org_id": "org_id",
"zone_id": "zone_id"
},
"stop": false,
"table": "company"
},
"logs": {
"sql": {
"admin_id": "id"
},
"stop": false,
"table": "logs"
},
"org": {
"sql": {
"admin_id": "id",
"parent_ids[~]": "%,org_id,%",
"zone_id": "zone_id"
},
"stop": true,
"table": "org"
},
"proj": {
"sql": {
"admin_id": "id",
"org_id": "org_id",
"sc_admin_id": "sc_admin_id",
"xm_admin_id": "xm_admin_id",
"zone_id": "zone_id"
},
"stop": false,
"table": "proj"
},
"role": {
"sql": {
"id": "role_id"
},
"stop": true,
"table": "role"
},
"sea": {
"sql": {
"admin_id": "id"
},
"stop": false,
"table": "sea"
},
"task": {
"sql": {
"admin_id": "id",
"zone_id": "zone_id"
},
"stop": false,
"table": "task"
},
"task_admin": {
"sql": {
"admin_id": "id",
"zone_id": "zone_id"
},
"stop": false,
"table": "task_admin"
},
"user": {
"sql": {
"admin_id": "id",
"zone_id": "zone_id"
},
"stop": false,
"table": "user"
},
"wechat": {
"sql": {
"admin_id": "id",
"org_id": "org_id"
},
"stop": false,
"table": "wechat"
},
"zone": {
"sql": {
"parent_ids[~]": "%,zone_id,%"
},
"stop": true,
"table": "zone"
}
},
"id": "023d5002b1e2c64ed744a12ac442c00e",
"label": "HoTime管理平台",
"labelConfig": {
"add": "添加",
"delete": "删除",
"download": "下载清单",
"edit": "编辑",
"info": "查看详情",
"show": "开启"
},
"menus": [
{
"auth": [
"show"
],
"icon": "Setting",
"label": "系统管理",
"menus": [
{
"auth": [
"show",
"add",
"delete",
"edit",
"info",
"download"
],
"label": "角色管理",
"table": "role"
},
{
"auth": [
"show",
"add",
"delete",
"edit",
"info",
"download"
],
"label": "联络人管理",
"table": "user"
},
{
"auth": [
"show",
"add",
"delete",
"edit",
"info",
"download"
],
"label": "项目分类",
"table": "category"
},
{
"auth": [
"show",
"add",
"delete",
"edit",
"info",
"download"
],
"label": "标签管理",
"table": "out_tag"
},
{
"auth": [
"show",
"add",
"delete",
"edit",
"info",
"download"
],
"label": "考勤管理",
"table": "time_tag"
},
{
"auth": [
"show",
"add",
"delete",
"edit",
"info",
"download"
],
"label": "车辆管理",
"table": "car"
},
{
"auth": [
"show",
"download"
],
"label": "日志管理",
"table": "logs"
},
{
"auth": [
"show",
"add",
"delete",
"edit",
"info",
"download"
],
"label": "系统设置",
"table": "system"
},
{
"auth": [
"show",
"add",
"delete",
"edit",
"info",
"download"
],
"label": "标签管理",
"table": "visit_tag"
},
{
"auth": [
"show",
"add",
"delete",
"edit",
"info",
"download"
],
"label": "城市管理",
"table": "city"
},
{
"auth": [
"show",
"add",
"delete",
"edit",
"info",
"download"
],
"label": "项目管理",
"table": "proj"
},
{
"auth": [
"show",
"add",
"delete",
"edit",
"info",
"download"
],
"label": "客户管理",
"table": "company"
},
{
"auth": [
"show",
"add",
"delete",
"edit",
"info",
"download"
],
"label": "项目归口",
"table": "department"
},
{
"auth": [
"show",
"add",
"delete",
"edit",
"info",
"download"
],
"label": "部门管理",
"table": "org"
},
{
"auth": [
"show",
"add",
"delete",
"edit",
"info",
"download"
],
"label": "用章管理",
"table": "seal_tag"
},
{
"auth": [
"show",
"add",
"delete",
"edit",
"info",
"download"
],
"label": "微信信息",
"table": "wechat"
},
{
"auth": [
"show",
"add",
"delete",
"edit",
"info",
"download"
],
"label": "联盟公司",
"table": "zone"
},
{
"auth": [
"show",
"add",
"delete",
"edit",
"info",
"download"
],
"label": "人员管理",
"table": "admin"
},
{
"auth": [
"show",
"add",
"delete",
"edit",
"info",
"download"
],
"label": "供应商管理",
"table": "channel"
}
],
"name": "sys"
},
{
"auth": [
"show"
],
"icon": "Setting",
"label": "任务执行",
"menus": [
{
"auth": [
"show",
"add",
"delete",
"edit",
"info",
"download"
],
"label": "任务执行",
"table": "task_admin"
},
{
"auth": [
"show",
"add",
"delete",
"edit",
"info",
"download"
],
"label": "任务管理",
"table": "task"
}
],
"name": "sys:task"
},
{
"auth": [
"show"
],
"icon": "Setting",
"label": "跟进管理",
"menus": [
{
"auth": [
"show",
"add",
"delete",
"edit",
"info",
"download"
],
"label": "跟进管理",
"table": "sea"
}
],
"name": "sys:sea"
}
],
"name": "admin",
"stop": [
"role",
"org"
]
}
+3422 -4828
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -24,7 +24,7 @@
"db": {
"mysql": {
"host": "192.168.6.253",
"name": "rfcb",
"name": "dgs-cms",
"password": "dasda8454456",
"port": "3306",
"user": "root"