政企超链接开始集成

This commit is contained in:
hoteas 2022-03-02 12:14:07 +08:00
parent 3dda86d170
commit 4597a0a50d
5 changed files with 173 additions and 23 deletions

View File

@ -420,8 +420,14 @@ func (that *Application) handler(w http.ResponseWriter, req *http.Request) {
header.Set("Cache-Control", "no-cache")
}
if strings.Index(path, ".m3u8") != -1 {
header.Add("Content-Type", "audio/mpegurl")
t := strings.LastIndex(path, ".")
if t != -1 {
tt := path[t:]
if MimeMaps[tt] != "" {
header.Add("Content-Type", MimeMaps[tt])
}
}
//w.Write(data)

View File

@ -3,6 +3,10 @@ package app
import (
. "../../../hotime"
. "../../common"
"fmt"
"github.com/xuri/excelize"
"os"
"sort"
"time"
)
@ -25,6 +29,80 @@ var analyseCtr = Ctr{
res["n_item_data"] = res.GetMap("n_item_data")
this.Display(0, res)
},
"home_excel": func(this *Context) {
orgId := ObjToInt(this.Req.FormValue("org_id"))
if orgId == 0 {
this.Display(3, "参数错误")
return
}
res := this.Db.Get("org_analyse", "*", Map{"org_id": orgId})
if res == nil {
this.Display(4, "找不到该数据")
return
}
homeData := res.GetMap("home_data")
sixItemData := res.GetMap("six_item_data")
threeItemData := res.GetMap("three_item_data")
nItemData := res.GetMap("n_item_data")
filePath := "temp/home" + ObjToStr(orgId) + ".xlsx"
f, e := excelize.OpenFile(this.Config.GetString("tpt") + "/" + filePath)
if e != nil {
f = excelize.NewFile()
// 创建一个工作表
f.NewSheet("IEDC全局分析")
// 创建一个工作表
f.NewSheet("“6”项量化")
f.NewSheet("“3”项定性")
f.NewSheet("“N”项特色")
f.DeleteSheet("Sheet1")
// 设置单元格的值
f.SetCellValue("IEDC全局分析", "A1", "指标项")
f.SetCellValue("IEDC全局分析", "B1", "指标值")
// 设置单元格的值
f.SetCellValue("“6”项量化", "A1", "指标项")
f.SetCellValue("“6”项量化", "B1", "指标值")
// 设置单元格的值
f.SetCellValue("“3”项定性", "A1", "指标项")
f.SetCellValue("“3”项定性", "B1", "指标值")
// 设置单元格的值
f.SetCellValue("“N”项特色", "A1", "指标项")
f.SetCellValue("“N”项特色", "B1", "指标值")
os.MkdirAll(this.Config.GetString("tpt")+"/temp/", os.ModeDir)
// 根据指定路径保存文件
if err := f.SaveAs(this.Config.GetString("tpt") + "/" + filePath); err != nil {
fmt.Println(err)
this.Display(4, "输出异常")
return
}
}
run := func(str string, data Map, f *excelize.File) {
var keys []string
for k := range data {
keys = append(keys, k)
}
//按字典升序排列
sort.Strings(keys)
for k, v := range keys {
// 设置单元格的值
f.SetCellValue(str, "A"+ObjToStr(k+2), v)
f.SetCellValue(str, "B"+ObjToStr(k+2), data[v])
}
}
run("IEDC全局分析", homeData, f)
run("“6”项量化", sixItemData, f)
run("“3”项定性", threeItemData, f)
run("“N”项特色", nItemData, f)
//f.SetCellValue("Sheet1", "B2", 100)
f.Save()
this.Resp.Header().Set("Location", "/"+filePath)
this.Resp.WriteHeader(307) //关键在这里!
this.Display(0, filePath)
},
"home1_data": func(this *Context) {
orgId := ObjToInt(this.Req.FormValue("org_id"))
if orgId == 0 {
@ -83,7 +161,6 @@ var analyseCtr = Ctr{
this.Display(3, "参数错误")
return
}
res := this.Db.Get("industry_analyse", "*", Map{"AND": Map{"org_id": orgId, "industry_id": industryId}})
if res == nil {
this.Display(4, "找不到该数据")
@ -95,7 +172,67 @@ var analyseCtr = Ctr{
res["home_name"] = res1.GetString("name")
this.Display(0, res)
},
"industry_excel": func(this *Context) {
orgId := ObjToInt(this.Req.FormValue("org_id"))
industryId := ObjToInt(this.Req.FormValue("industry_id"))
if orgId == 0 || industryId == 0 {
this.Display(3, "参数错误")
return
}
res := this.Db.Get("industry_analyse", "*", Map{"AND": Map{"org_id": orgId, "industry_id": industryId}})
if res == nil {
this.Display(4, "找不到该数据")
return
}
res["data"] = res.GetMap("data")
//res1 := this.Db.Get("org_analyse", "name,home_data", Map{"org_id": orgId})
//res["home"] = res1.GetMap("home_data")
//res["home_name"] = res1.GetString("name")
filePath := "temp/industry" + ObjToStr(industryId) + "x" + ObjToStr(orgId) + ".xlsx"
f, e := excelize.OpenFile(this.Config.GetString("tpt") + "/" + filePath)
if e != nil {
f = excelize.NewFile()
// 创建一个工作表
f.NewSheet(res.GetString("name"))
f.DeleteSheet("Sheet1")
// 设置单元格的值
f.SetCellValue(res.GetString("name"), "A1", "指标项")
f.SetCellValue(res.GetString("name"), "B1", "指标值")
os.MkdirAll(this.Config.GetString("tpt")+"/temp/", os.ModeDir)
// 根据指定路径保存文件
if err := f.SaveAs(this.Config.GetString("tpt") + "/" + filePath); err != nil {
fmt.Println(err)
this.Display(4, "输出异常")
return
}
}
run := func(str string, data Map, f *excelize.File) {
var keys []string
for k := range data {
keys = append(keys, k)
}
//按字典升序排列
sort.Strings(keys)
for k, v := range keys {
// 设置单元格的值
f.SetCellValue(str, "A"+ObjToStr(k+2), v)
f.SetCellValue(str, "B"+ObjToStr(k+2), data[v])
}
}
run(res.GetString("name"), res.GetMap("data"), f)
//f.SetCellValue("Sheet1", "B2", 100)
f.Save()
this.Resp.Header().Set("Location", "/"+filePath)
this.Resp.WriteHeader(307) //关键在这里!
this.Display(0, filePath)
},
"map": func(this *Context) {
orgId := ObjToInt(this.Req.FormValue("org_id"))
@ -188,6 +325,7 @@ var analyseCtr = Ctr{
pageSize := ObjToInt(this.Req.FormValue("pageSize"))
orgId := ObjToInt(this.Req.FormValue("org_id"))
search := this.Req.FormValue("search")
sort := this.Req.FormValue("sort")
where := Map{"state": 0}
levelStr := this.Req.FormValue("level")
if levelStr != "" {
@ -206,7 +344,12 @@ var analyseCtr = Ctr{
if len(where) > 1 {
where = Map{"AND": where}
}
if sort != "" {
where["ORDER"] = sort
} else {
where["ORDER"] = "score DESC"
}
if page == 0 {
page = 1
}
@ -231,28 +374,29 @@ var analyseCtr = Ctr{
res["upload_data"] = res.GetMap("upload_data")
res["collect_data"] = res.GetMap("collect_data")
res["collect_data"] = res.GetMap("collect_data")
if res.GetMap("collect_data") == nil && page == 1 {
go func(res Map, this *Context) {
path := "company/" + Md5(res.GetString("name")) + time.Now().Format("/200601021504.json")
data := getCompany(res.GetString("name"), this.Config.GetString("tpt")+"/"+path)
if len(data) != 0 {
data["path"] = path
this.Db.Update("company", Map{"collect_data": data.ToJsonString(),
"address": data.GetString("companyAddress"),
"sn": data.GetString("creditNo"),
"unit": data.GetString("authority"),
}, Map{"id": res.GetCeilInt("id")})
res["collect_data"] = data
}
}(res, this)
}
//if res.GetMap("collect_data") == nil && page == 1 {
// go func(res Map, this *Context) {
// path := "company/" + Md5(res.GetString("name")) + time.Now().Format("/200601021504.json")
//
// data := getCompany(res.GetString("name"), this.Config.GetString("tpt")+"/"+path)
//
// if len(data) != 0 {
// data["path"] = path
// this.Db.Update("company", Map{"collect_data": data.ToJsonString(),
// "address": data.GetString("companyAddress"),
// "sn": data.GetString("creditNo"),
// "unit": data.GetString("authority"),
// }, Map{"id": res.GetCeilInt("id")})
// res["collect_data"] = data
// }
// }(res, this)
//}
}
this.Display(0, Map{"count": count, "pageSize": pageSize, "data": companys})
},
"company": func(this *Context) {
id := ObjToInt(this.Req.FormValue("id"))
if id == 0 {

View File

@ -39,7 +39,7 @@ var User = Ctr{
t := time.Now().Unix()
questions := this.Db.Select("question", "*", Map{"AND": Map{"org_id": user.GetCeilInt("org_id"), "start_time[<=]": t, "end_time[>=]": t, "state": 0}})
questions := this.Db.Select("question", "*", Map{"AND": Map{"org_id": user.GetCeilInt("org_id"), "state": 0}})
re := []Map{}
for _, v := range questions {

Binary file not shown.

View File

@ -1,3 +1,3 @@
<!DOCTYPE html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="favicon.ico"><title></title><style>body{
margin: 0px;
}</style><link href="css/chunk-04e35d82.5cc24c46.css" rel="prefetch"><link href="css/chunk-10a72523.993d1e17.css" rel="prefetch"><link href="css/chunk-1968ce68.26f55e87.css" rel="prefetch"><link href="css/chunk-2c0b72c6.f9cf649c.css" rel="prefetch"><link href="css/chunk-3d8462ce.26cbd584.css" rel="prefetch"><link href="css/chunk-6feafdad.c460e209.css" rel="prefetch"><link href="js/chunk-04e35d82.054c5f8b.js" rel="prefetch"><link href="js/chunk-10a72523.f9d2509e.js" rel="prefetch"><link href="js/chunk-1968ce68.99a1cb89.js" rel="prefetch"><link href="js/chunk-2c0b72c6.fa1690a2.js" rel="prefetch"><link href="js/chunk-3d8462ce.ac9d69b2.js" rel="prefetch"><link href="js/chunk-6feafdad.545f8201.js" rel="prefetch"><link href="js/chunk-78ba61e2.520b239c.js" rel="prefetch"><link href="js/chunk-a2efa204.7909c937.js" rel="prefetch"><link href="js/chunk-d83135a2.4680b3b0.js" rel="prefetch"><link href="css/app.5e2eb449.css" rel="preload" as="style"><link href="js/app.a381d207.js" rel="preload" as="script"><link href="css/app.5e2eb449.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but hotime doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="js/app.a381d207.js"></script></body></html>
}</style><link href="css/chunk-04e35d82.5cc24c46.css" rel="prefetch"><link href="css/chunk-10a72523.993d1e17.css" rel="prefetch"><link href="css/chunk-1968ce68.26f55e87.css" rel="prefetch"><link href="css/chunk-2c0b72c6.f9cf649c.css" rel="prefetch"><link href="css/chunk-3d8462ce.26cbd584.css" rel="prefetch"><link href="css/chunk-6feafdad.c460e209.css" rel="prefetch"><link href="js/chunk-04e35d82.054c5f8b.js" rel="prefetch"><link href="js/chunk-10a72523.f9d2509e.js" rel="prefetch"><link href="js/chunk-1968ce68.99a1cb89.js" rel="prefetch"><link href="js/chunk-2c0b72c6.fa1690a2.js" rel="prefetch"><link href="js/chunk-3d8462ce.ac9d69b2.js" rel="prefetch"><link href="js/chunk-6feafdad.545f8201.js" rel="prefetch"><link href="js/chunk-78ba61e2.520b239c.js" rel="prefetch"><link href="js/chunk-a2efa204.7909c937.js" rel="prefetch"><link href="js/chunk-d83135a2.4680b3b0.js" rel="prefetch"><link href="css/app.1c7362c1.css" rel="preload" as="style"><link href="js/app.3612dc2e.js" rel="preload" as="script"><link href="css/app.1c7362c1.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but hotime doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="js/app.3612dc2e.js"></script></body></html>