mirror of
https://shylinux.com/x/enterprise
synced 2025-07-01 20:41:20 +08:00
opt some
This commit is contained in:
parent
bd0c6f76d4
commit
a8cbcf7e43
2
go.mod
2
go.mod
@ -11,6 +11,7 @@ require (
|
|||||||
require (
|
require (
|
||||||
shylinux.com/x/ice v1.5.74
|
shylinux.com/x/ice v1.5.74
|
||||||
shylinux.com/x/icebergs v1.9.76
|
shylinux.com/x/icebergs v1.9.76
|
||||||
|
shylinux.com/x/operation v0.0.14
|
||||||
shylinux.com/x/toolkits v1.0.19
|
shylinux.com/x/toolkits v1.0.19
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -46,5 +47,4 @@ require (
|
|||||||
modernc.org/mathutil v1.5.0 // indirect
|
modernc.org/mathutil v1.5.0 // indirect
|
||||||
modernc.org/memory v1.5.0 // indirect
|
modernc.org/memory v1.5.0 // indirect
|
||||||
modernc.org/sqlite v1.23.1 // indirect
|
modernc.org/sqlite v1.23.1 // indirect
|
||||||
shylinux.com/x/operation v0.0.14 // indirect
|
|
||||||
)
|
)
|
||||||
|
41
src/guanfangwangzhan/common.go
Normal file
41
src/guanfangwangzhan/common.go
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
package guanfangwangzhan
|
||||||
|
|
||||||
|
import (
|
||||||
|
"shylinux.com/x/ice"
|
||||||
|
kit "shylinux.com/x/toolkits"
|
||||||
|
|
||||||
|
"shylinux.com/x/enterprise/src/guanlixitong"
|
||||||
|
"shylinux.com/x/enterprise/src/guanfangwangzhan/model"
|
||||||
|
)
|
||||||
|
|
||||||
|
type Table struct {
|
||||||
|
guanlixitong.Table
|
||||||
|
list string `name:"list website_uid uid auto" role:"void"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s Table) Inputs(m *ice.Message, arg ...string) {
|
||||||
|
switch arg[0] {
|
||||||
|
case model.USER_WEBSITE_ROLE:
|
||||||
|
s.InputsListRole(m, UserWebsiteRoleList, arg...)
|
||||||
|
case model.WEBSITE_TYPE:
|
||||||
|
s.InputsList(m, WebsiteTypeList, arg...)
|
||||||
|
default:
|
||||||
|
s.Table.Inputs(m, arg...)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func (s Table) RewriteAppend(m *ice.Message, arg ...string) *ice.Message {
|
||||||
|
m.RewriteAppend(func(value, key string, index int) string {
|
||||||
|
switch key {
|
||||||
|
case model.USER_WEBSITE_ROLE:
|
||||||
|
value = UserWebsiteRole(kit.Int(value)).String()
|
||||||
|
case model.WEBSITE_TYPE:
|
||||||
|
value = WebsiteType(kit.Int(value)).String()
|
||||||
|
}
|
||||||
|
return value
|
||||||
|
})
|
||||||
|
return s.Table.RewriteAppend(m)
|
||||||
|
}
|
||||||
|
|
||||||
|
type Tables struct { Table }
|
||||||
|
|
||||||
|
func (s Tables) BeforeMigrate(m *ice.Message, arg ...string) {}
|
34
src/guanfangwangzhan/model/model.go
Normal file
34
src/guanfangwangzhan/model/model.go
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
package model
|
||||||
|
|
||||||
|
import "shylinux.com/x/mysql-story/src/db"
|
||||||
|
|
||||||
|
const (
|
||||||
|
UID = "uid"
|
||||||
|
NAME = "name"
|
||||||
|
INFO = "info"
|
||||||
|
TYPE = "type"
|
||||||
|
TITLE = "title"
|
||||||
|
CONTENT = "content"
|
||||||
|
USER_UID = "user_uid"
|
||||||
|
USER_WEBSITE_ROLE = "user_website_role"
|
||||||
|
WEBSITE_UID = "website_uid"
|
||||||
|
WEBSITE_NAME = "website_name"
|
||||||
|
WEBSITE_TYPE = "website_type"
|
||||||
|
PORTAL_UID = "portal_uid"
|
||||||
|
)
|
||||||
|
|
||||||
|
type UserWebsite struct {
|
||||||
|
db.ModelUserPlace
|
||||||
|
WebsiteUID string `gorm:"type:char(32);index"`
|
||||||
|
}
|
||||||
|
type Website struct {
|
||||||
|
db.ModelPlace
|
||||||
|
CompanyUID string `gorm:"type:char(32);index"`
|
||||||
|
}
|
||||||
|
type Portal struct {
|
||||||
|
db.ModelContent
|
||||||
|
WebsiteUID string `gorm:"type:char(32);index"`
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
func init() { db.CmdModels("", &UserWebsite{}, &Website{}, &Portal{}) }
|
13
src/guanfangwangzhan/portal.go
Normal file
13
src/guanfangwangzhan/portal.go
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
package guanfangwangzhan
|
||||||
|
|
||||||
|
import (
|
||||||
|
"shylinux.com/x/community/src/gonganxitong"
|
||||||
|
"shylinux.com/x/enterprise/src/guanlixitong"
|
||||||
|
)
|
||||||
|
|
||||||
|
type Portal struct {
|
||||||
|
guanlixitong.Portal
|
||||||
|
placeCreate string `name:"placeCreate city_name* company_name* website_name* website_type:select" role:"void"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() { gonganxitong.PortalCmd(Portal{Portal: guanlixitong.NewPortal(userWebsite{}, website{})}) }
|
9
src/guanfangwangzhan/portal.js
Normal file
9
src/guanfangwangzhan/portal.js
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
Volcanos(chat.ONIMPORT, {
|
||||||
|
_init: function(can, msg) {
|
||||||
|
can.onimport.myView(can, msg, function(value) { return [
|
||||||
|
{view: html.TITLE, list: [value.title||value.name]},
|
||||||
|
{view: html.STATUS, list: [value.uid.slice(0, 6), can.onimport.timeView(can, value), value.user_name]},
|
||||||
|
{view: html.OUTPUT, list: [value.content||value.info]},
|
||||||
|
] })
|
||||||
|
},
|
||||||
|
})
|
31
src/guanfangwangzhan/portal.json
Normal file
31
src/guanfangwangzhan/portal.json
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
{
|
||||||
|
"portal": "官方网站",
|
||||||
|
"portal": "场景应用",
|
||||||
|
"icons": {
|
||||||
|
"portal": "https://img.icons8.com/officel/80/activity-grid.png"
|
||||||
|
},
|
||||||
|
"input": {
|
||||||
|
"My Website": "我的场景",
|
||||||
|
"user_website_role": "成员角色",
|
||||||
|
"website_name": "场景名称",
|
||||||
|
"website_type": "场景类型"
|
||||||
|
},
|
||||||
|
"value": {
|
||||||
|
"user_website_role": {
|
||||||
|
"visitor": "访客",
|
||||||
|
"creator": "创建人",
|
||||||
|
"leader": "管理人员",
|
||||||
|
"worker": "工作人员",
|
||||||
|
"server": "服务人员",
|
||||||
|
"style": {
|
||||||
|
"creator": "danger",
|
||||||
|
"leader": "danger"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"website_type": {
|
||||||
|
"RD": "研发群",
|
||||||
|
"OP": "运维群",
|
||||||
|
"HR": "人力群"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
15
src/guanfangwangzhan/userWebsite.go
Normal file
15
src/guanfangwangzhan/userWebsite.go
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
package guanfangwangzhan
|
||||||
|
|
||||||
|
import (
|
||||||
|
"shylinux.com/x/ice"
|
||||||
|
|
||||||
|
"shylinux.com/x/enterprise/src/guanlixitong"
|
||||||
|
)
|
||||||
|
|
||||||
|
type userWebsite struct{ Table }
|
||||||
|
|
||||||
|
func init() { ice.TeamCtxCmd(userWebsite{}) }
|
||||||
|
|
||||||
|
type UserWebsiteRole = guanlixitong.UserGroupRole
|
||||||
|
|
||||||
|
var UserWebsiteRoleList = guanlixitong.UserGroupRoleList
|
23
src/guanfangwangzhan/website.go
Normal file
23
src/guanfangwangzhan/website.go
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
package guanfangwangzhan
|
||||||
|
|
||||||
|
import "shylinux.com/x/ice"
|
||||||
|
|
||||||
|
type website struct{ Table }
|
||||||
|
|
||||||
|
func init() { ice.TeamCtxCmd(website{}) }
|
||||||
|
|
||||||
|
type WebsiteType int
|
||||||
|
|
||||||
|
const (
|
||||||
|
WebsiteRD WebsiteType = iota
|
||||||
|
WebsiteOP
|
||||||
|
WebsiteHR
|
||||||
|
)
|
||||||
|
|
||||||
|
var WebsiteTypeList = map[WebsiteType]string{
|
||||||
|
WebsiteRD: "RD",
|
||||||
|
WebsiteOP: "OP",
|
||||||
|
WebsiteHR: "HR",
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s WebsiteType) String() string { return WebsiteTypeList[s] }
|
41
src/kehuguanli/common.go
Normal file
41
src/kehuguanli/common.go
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
package kehuguanli
|
||||||
|
|
||||||
|
import (
|
||||||
|
"shylinux.com/x/ice"
|
||||||
|
kit "shylinux.com/x/toolkits"
|
||||||
|
|
||||||
|
"shylinux.com/x/enterprise/src/guanlixitong"
|
||||||
|
"shylinux.com/x/enterprise/src/kehuguanli/model"
|
||||||
|
)
|
||||||
|
|
||||||
|
type Table struct {
|
||||||
|
guanlixitong.Table
|
||||||
|
list string `name:"list sale_uid uid auto" role:"void"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s Table) Inputs(m *ice.Message, arg ...string) {
|
||||||
|
switch arg[0] {
|
||||||
|
case model.USER_SALE_ROLE:
|
||||||
|
s.InputsListRole(m, UserSaleRoleList, arg...)
|
||||||
|
case model.SALE_TYPE:
|
||||||
|
s.InputsList(m, SaleTypeList, arg...)
|
||||||
|
default:
|
||||||
|
s.Table.Inputs(m, arg...)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func (s Table) RewriteAppend(m *ice.Message, arg ...string) *ice.Message {
|
||||||
|
m.RewriteAppend(func(value, key string, index int) string {
|
||||||
|
switch key {
|
||||||
|
case model.USER_SALE_ROLE:
|
||||||
|
value = UserSaleRole(kit.Int(value)).String()
|
||||||
|
case model.SALE_TYPE:
|
||||||
|
value = SaleType(kit.Int(value)).String()
|
||||||
|
}
|
||||||
|
return value
|
||||||
|
})
|
||||||
|
return s.Table.RewriteAppend(m)
|
||||||
|
}
|
||||||
|
|
||||||
|
type Tables struct { Table }
|
||||||
|
|
||||||
|
func (s Tables) BeforeMigrate(m *ice.Message, arg ...string) {}
|
34
src/kehuguanli/model/model.go
Normal file
34
src/kehuguanli/model/model.go
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
package model
|
||||||
|
|
||||||
|
import "shylinux.com/x/mysql-story/src/db"
|
||||||
|
|
||||||
|
const (
|
||||||
|
UID = "uid"
|
||||||
|
NAME = "name"
|
||||||
|
INFO = "info"
|
||||||
|
TYPE = "type"
|
||||||
|
TITLE = "title"
|
||||||
|
CONTENT = "content"
|
||||||
|
USER_UID = "user_uid"
|
||||||
|
USER_SALE_ROLE = "user_sale_role"
|
||||||
|
SALE_UID = "sale_uid"
|
||||||
|
SALE_NAME = "sale_name"
|
||||||
|
SALE_TYPE = "sale_type"
|
||||||
|
PRODUCT_UID = "product_uid"
|
||||||
|
)
|
||||||
|
|
||||||
|
type UserSale struct {
|
||||||
|
db.ModelUserPlace
|
||||||
|
SaleUID string `gorm:"type:char(32);index"`
|
||||||
|
}
|
||||||
|
type Sale struct {
|
||||||
|
db.ModelPlace
|
||||||
|
CompanyUID string `gorm:"type:char(32);index"`
|
||||||
|
}
|
||||||
|
type Product struct {
|
||||||
|
db.ModelContent
|
||||||
|
SaleUID string `gorm:"type:char(32);index"`
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
func init() { db.CmdModels("", &UserSale{}, &Sale{}, &Product{}) }
|
13
src/kehuguanli/portal.go
Normal file
13
src/kehuguanli/portal.go
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
package kehuguanli
|
||||||
|
|
||||||
|
import (
|
||||||
|
"shylinux.com/x/community/src/gonganxitong"
|
||||||
|
"shylinux.com/x/enterprise/src/guanlixitong"
|
||||||
|
)
|
||||||
|
|
||||||
|
type Portal struct {
|
||||||
|
guanlixitong.Portal
|
||||||
|
placeCreate string `name:"placeCreate city_name* company_name* sale_name* sale_type:select" role:"void"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() { gonganxitong.PortalCmd(Portal{Portal: guanlixitong.NewPortal(userSale{}, sale{})}) }
|
31
src/kehuguanli/portal.json
Normal file
31
src/kehuguanli/portal.json
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
{
|
||||||
|
"portal": "客户管理",
|
||||||
|
"product": "场景应用",
|
||||||
|
"icons": {
|
||||||
|
"product": "https://img.icons8.com/officel/80/activity-grid.png"
|
||||||
|
},
|
||||||
|
"input": {
|
||||||
|
"My Sale": "我的场景",
|
||||||
|
"user_sale_role": "成员角色",
|
||||||
|
"sale_name": "场景名称",
|
||||||
|
"sale_type": "场景类型"
|
||||||
|
},
|
||||||
|
"value": {
|
||||||
|
"user_sale_role": {
|
||||||
|
"visitor": "访客",
|
||||||
|
"creator": "创建人",
|
||||||
|
"leader": "管理人员",
|
||||||
|
"worker": "工作人员",
|
||||||
|
"server": "服务人员",
|
||||||
|
"style": {
|
||||||
|
"creator": "danger",
|
||||||
|
"leader": "danger"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sale_type": {
|
||||||
|
"RD": "研发群",
|
||||||
|
"OP": "运维群",
|
||||||
|
"HR": "人力群"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
15
src/kehuguanli/product.go
Normal file
15
src/kehuguanli/product.go
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
package kehuguanli
|
||||||
|
|
||||||
|
import "shylinux.com/x/ice"
|
||||||
|
|
||||||
|
type product struct {
|
||||||
|
Table
|
||||||
|
order string `data:"1"`
|
||||||
|
fields string `data:"title,content,user_uid"`
|
||||||
|
create string `name:"create title* content*" role:"leader"`
|
||||||
|
remove string `name:"remove" role:"leader"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s product) List(m *ice.Message, arg ...string) { s.ValueList(m, arg).Display("") }
|
||||||
|
|
||||||
|
func init() { ice.TeamCtxCmd(product{}) }
|
9
src/kehuguanli/product.js
Normal file
9
src/kehuguanli/product.js
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
Volcanos(chat.ONIMPORT, {
|
||||||
|
_init: function(can, msg) {
|
||||||
|
can.onimport.myView(can, msg, function(value) { return [
|
||||||
|
{view: html.TITLE, list: [value.title||value.name]},
|
||||||
|
{view: html.STATUS, list: [value.uid.slice(0, 6), can.onimport.timeView(can, value), value.user_name]},
|
||||||
|
{view: html.OUTPUT, list: [value.content||value.info]},
|
||||||
|
] })
|
||||||
|
},
|
||||||
|
})
|
23
src/kehuguanli/sale.go
Normal file
23
src/kehuguanli/sale.go
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
package kehuguanli
|
||||||
|
|
||||||
|
import "shylinux.com/x/ice"
|
||||||
|
|
||||||
|
type sale struct{ Table }
|
||||||
|
|
||||||
|
func init() { ice.TeamCtxCmd(sale{}) }
|
||||||
|
|
||||||
|
type SaleType int
|
||||||
|
|
||||||
|
const (
|
||||||
|
SaleRD SaleType = iota
|
||||||
|
SaleOP
|
||||||
|
SaleHR
|
||||||
|
)
|
||||||
|
|
||||||
|
var SaleTypeList = map[SaleType]string{
|
||||||
|
SaleRD: "RD",
|
||||||
|
SaleOP: "OP",
|
||||||
|
SaleHR: "HR",
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s SaleType) String() string { return SaleTypeList[s] }
|
15
src/kehuguanli/userSale.go
Normal file
15
src/kehuguanli/userSale.go
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
package kehuguanli
|
||||||
|
|
||||||
|
import (
|
||||||
|
"shylinux.com/x/ice"
|
||||||
|
|
||||||
|
"shylinux.com/x/enterprise/src/guanlixitong"
|
||||||
|
)
|
||||||
|
|
||||||
|
type userSale struct{ Table }
|
||||||
|
|
||||||
|
func init() { ice.TeamCtxCmd(userSale{}) }
|
||||||
|
|
||||||
|
type UserSaleRole = guanlixitong.UserGroupRole
|
||||||
|
|
||||||
|
var UserSaleRoleList = guanlixitong.UserGroupRoleList
|
@ -11,6 +11,12 @@ import (
|
|||||||
_ "shylinux.com/x/enterprise/src/yingxiaotuiguang"
|
_ "shylinux.com/x/enterprise/src/yingxiaotuiguang"
|
||||||
_ "shylinux.com/x/enterprise/src/zijinlian"
|
_ "shylinux.com/x/enterprise/src/zijinlian"
|
||||||
_ "shylinux.com/x/operation/src/production"
|
_ "shylinux.com/x/operation/src/production"
|
||||||
|
|
||||||
|
_ "shylinux.com/x/enterprise/src/guanfangwangzhan"
|
||||||
|
|
||||||
|
_ "shylinux.com/x/enterprise/src/kehuguanli"
|
||||||
|
|
||||||
|
_ "shylinux.com/x/enterprise/src/rongzijihua"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() { print(ice.Run()) }
|
func main() { print(ice.Run()) }
|
||||||
|
41
src/rongzijihua/common.go
Normal file
41
src/rongzijihua/common.go
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
package rongzijihua
|
||||||
|
|
||||||
|
import (
|
||||||
|
"shylinux.com/x/ice"
|
||||||
|
kit "shylinux.com/x/toolkits"
|
||||||
|
|
||||||
|
"shylinux.com/x/enterprise/src/guanlixitong"
|
||||||
|
"shylinux.com/x/enterprise/src/rongzijihua/model"
|
||||||
|
)
|
||||||
|
|
||||||
|
type Table struct {
|
||||||
|
guanlixitong.Table
|
||||||
|
list string `name:"list funding_uid uid auto" role:"void"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s Table) Inputs(m *ice.Message, arg ...string) {
|
||||||
|
switch arg[0] {
|
||||||
|
case model.USER_FUNDING_ROLE:
|
||||||
|
s.InputsListRole(m, UserFundingRoleList, arg...)
|
||||||
|
case model.FUNDING_TYPE:
|
||||||
|
s.InputsList(m, FundingTypeList, arg...)
|
||||||
|
default:
|
||||||
|
s.Table.Inputs(m, arg...)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func (s Table) RewriteAppend(m *ice.Message, arg ...string) *ice.Message {
|
||||||
|
m.RewriteAppend(func(value, key string, index int) string {
|
||||||
|
switch key {
|
||||||
|
case model.USER_FUNDING_ROLE:
|
||||||
|
value = UserFundingRole(kit.Int(value)).String()
|
||||||
|
case model.FUNDING_TYPE:
|
||||||
|
value = FundingType(kit.Int(value)).String()
|
||||||
|
}
|
||||||
|
return value
|
||||||
|
})
|
||||||
|
return s.Table.RewriteAppend(m)
|
||||||
|
}
|
||||||
|
|
||||||
|
type Tables struct { Table }
|
||||||
|
|
||||||
|
func (s Tables) BeforeMigrate(m *ice.Message, arg ...string) {}
|
23
src/rongzijihua/funding.go
Normal file
23
src/rongzijihua/funding.go
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
package rongzijihua
|
||||||
|
|
||||||
|
import "shylinux.com/x/ice"
|
||||||
|
|
||||||
|
type funding struct{ Table }
|
||||||
|
|
||||||
|
func init() { ice.TeamCtxCmd(funding{}) }
|
||||||
|
|
||||||
|
type FundingType int
|
||||||
|
|
||||||
|
const (
|
||||||
|
FundingRD FundingType = iota
|
||||||
|
FundingOP
|
||||||
|
FundingHR
|
||||||
|
)
|
||||||
|
|
||||||
|
var FundingTypeList = map[FundingType]string{
|
||||||
|
FundingRD: "RD",
|
||||||
|
FundingOP: "OP",
|
||||||
|
FundingHR: "HR",
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s FundingType) String() string { return FundingTypeList[s] }
|
34
src/rongzijihua/model/model.go
Normal file
34
src/rongzijihua/model/model.go
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
package model
|
||||||
|
|
||||||
|
import "shylinux.com/x/mysql-story/src/db"
|
||||||
|
|
||||||
|
const (
|
||||||
|
UID = "uid"
|
||||||
|
NAME = "name"
|
||||||
|
INFO = "info"
|
||||||
|
TYPE = "type"
|
||||||
|
TITLE = "title"
|
||||||
|
CONTENT = "content"
|
||||||
|
USER_UID = "user_uid"
|
||||||
|
USER_FUNDING_ROLE = "user_funding_role"
|
||||||
|
FUNDING_UID = "funding_uid"
|
||||||
|
FUNDING_NAME = "funding_name"
|
||||||
|
FUNDING_TYPE = "funding_type"
|
||||||
|
PRODUCT_UID = "product_uid"
|
||||||
|
)
|
||||||
|
|
||||||
|
type UserFunding struct {
|
||||||
|
db.ModelUserPlace
|
||||||
|
FundingUID string `gorm:"type:char(32);index"`
|
||||||
|
}
|
||||||
|
type Funding struct {
|
||||||
|
db.ModelPlace
|
||||||
|
CompanyUID string `gorm:"type:char(32);index"`
|
||||||
|
}
|
||||||
|
type Product struct {
|
||||||
|
db.ModelContent
|
||||||
|
FundingUID string `gorm:"type:char(32);index"`
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
func init() { db.CmdModels("", &UserFunding{}, &Funding{}, &Product{}) }
|
13
src/rongzijihua/portal.go
Normal file
13
src/rongzijihua/portal.go
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
package rongzijihua
|
||||||
|
|
||||||
|
import (
|
||||||
|
"shylinux.com/x/community/src/gonganxitong"
|
||||||
|
"shylinux.com/x/enterprise/src/guanlixitong"
|
||||||
|
)
|
||||||
|
|
||||||
|
type Portal struct {
|
||||||
|
guanlixitong.Portal
|
||||||
|
placeCreate string `name:"placeCreate city_name* company_name* funding_name* funding_type:select" role:"void"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() { gonganxitong.PortalCmd(Portal{Portal: guanlixitong.NewPortal(userFunding{}, funding{})}) }
|
31
src/rongzijihua/portal.json
Normal file
31
src/rongzijihua/portal.json
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
{
|
||||||
|
"portal": "融资计划",
|
||||||
|
"product": "场景应用",
|
||||||
|
"icons": {
|
||||||
|
"product": "https://img.icons8.com/officel/80/activity-grid.png"
|
||||||
|
},
|
||||||
|
"input": {
|
||||||
|
"My Funding": "我的场景",
|
||||||
|
"user_funding_role": "成员角色",
|
||||||
|
"funding_name": "场景名称",
|
||||||
|
"funding_type": "场景类型"
|
||||||
|
},
|
||||||
|
"value": {
|
||||||
|
"user_funding_role": {
|
||||||
|
"visitor": "访客",
|
||||||
|
"creator": "创建人",
|
||||||
|
"leader": "管理人员",
|
||||||
|
"worker": "工作人员",
|
||||||
|
"server": "服务人员",
|
||||||
|
"style": {
|
||||||
|
"creator": "danger",
|
||||||
|
"leader": "danger"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"funding_type": {
|
||||||
|
"RD": "研发群",
|
||||||
|
"OP": "运维群",
|
||||||
|
"HR": "人力群"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
15
src/rongzijihua/product.go
Normal file
15
src/rongzijihua/product.go
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
package rongzijihua
|
||||||
|
|
||||||
|
import "shylinux.com/x/ice"
|
||||||
|
|
||||||
|
type product struct {
|
||||||
|
Table
|
||||||
|
order string `data:"1"`
|
||||||
|
fields string `data:"title,content,user_uid"`
|
||||||
|
create string `name:"create title* content*" role:"leader"`
|
||||||
|
remove string `name:"remove" role:"leader"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s product) List(m *ice.Message, arg ...string) { s.ValueList(m, arg).Display("") }
|
||||||
|
|
||||||
|
func init() { ice.TeamCtxCmd(product{}) }
|
9
src/rongzijihua/product.js
Normal file
9
src/rongzijihua/product.js
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
Volcanos(chat.ONIMPORT, {
|
||||||
|
_init: function(can, msg) {
|
||||||
|
can.onimport.myView(can, msg, function(value) { return [
|
||||||
|
{view: html.TITLE, list: [value.title||value.name]},
|
||||||
|
{view: html.STATUS, list: [value.uid.slice(0, 6), can.onimport.timeView(can, value), value.user_name]},
|
||||||
|
{view: html.OUTPUT, list: [value.content||value.info]},
|
||||||
|
] })
|
||||||
|
},
|
||||||
|
})
|
15
src/rongzijihua/userFunding.go
Normal file
15
src/rongzijihua/userFunding.go
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
package rongzijihua
|
||||||
|
|
||||||
|
import (
|
||||||
|
"shylinux.com/x/ice"
|
||||||
|
|
||||||
|
"shylinux.com/x/enterprise/src/guanlixitong"
|
||||||
|
)
|
||||||
|
|
||||||
|
type userFunding struct{ Table }
|
||||||
|
|
||||||
|
func init() { ice.TeamCtxCmd(userFunding{}) }
|
||||||
|
|
||||||
|
type UserFundingRole = guanlixitong.UserGroupRole
|
||||||
|
|
||||||
|
var UserFundingRoleList = guanlixitong.UserGroupRoleList
|
@ -10,4 +10,6 @@ type Portal struct {
|
|||||||
placeCreate string `name:"placeCreate city_name* company_name* promotion_name* promotion_type:select" role:"void"`
|
placeCreate string `name:"placeCreate city_name* company_name* promotion_name* promotion_type:select" role:"void"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() { gonganxitong.PortalCmd(Portal{Portal: guanlixitong.NewPortal(userPromotion{}, promotion{})}) }
|
func init() {
|
||||||
|
gonganxitong.PortalCmd(Portal{Portal: guanlixitong.NewPortal(userPromotion{}, promotion{})})
|
||||||
|
}
|
||||||
|
@ -62,6 +62,13 @@
|
|||||||
"type": "hash"
|
"type": "hash"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"241390aff151d6a0b74ae02c77a84e78": {
|
||||||
|
"meta": {
|
||||||
|
"index": "web.team.rongzijihua.portal",
|
||||||
|
"time": "2025-05-27 13:06:08.551",
|
||||||
|
"type": "hash"
|
||||||
|
}
|
||||||
|
},
|
||||||
"27c6988eeb07c78cbb49aa15c577cfa4": {
|
"27c6988eeb07c78cbb49aa15c577cfa4": {
|
||||||
"meta": {
|
"meta": {
|
||||||
"index": "web.team.gonganxitong.apply",
|
"index": "web.team.gonganxitong.apply",
|
||||||
@ -146,6 +153,13 @@
|
|||||||
"type": "hash"
|
"type": "hash"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"6293d3defb48d6a43e1e679b76b728d0": {
|
||||||
|
"meta": {
|
||||||
|
"index": "web.team.guanfangwangzhan.portal",
|
||||||
|
"time": "2025-05-27 12:55:27.772",
|
||||||
|
"type": "hash"
|
||||||
|
}
|
||||||
|
},
|
||||||
"63c64bf8b1b104e2db3493f457fd48a7": {
|
"63c64bf8b1b104e2db3493f457fd48a7": {
|
||||||
"meta": {
|
"meta": {
|
||||||
"index": "aaa.asign",
|
"index": "aaa.asign",
|
||||||
@ -272,6 +286,13 @@
|
|||||||
"type": "hash"
|
"type": "hash"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"c411368dd5841972ec12fd8fc0a79b20": {
|
||||||
|
"meta": {
|
||||||
|
"index": "web.team.kehuguanli.portal",
|
||||||
|
"time": "2025-05-27 13:00:09.387",
|
||||||
|
"type": "hash"
|
||||||
|
}
|
||||||
|
},
|
||||||
"c6520dba0442a3f84f5be9cb3ceb7a34": {
|
"c6520dba0442a3f84f5be9cb3ceb7a34": {
|
||||||
"meta": {
|
"meta": {
|
||||||
"index": "web.team.shengyixitong.userStore",
|
"index": "web.team.shengyixitong.userStore",
|
||||||
@ -279,6 +300,13 @@
|
|||||||
"type": "hash"
|
"type": "hash"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"caf2ff30fce9825f81ea59f9f675187d": {
|
||||||
|
"meta": {
|
||||||
|
"index": "web.team.production.portal",
|
||||||
|
"time": "2025-05-26 19:08:31.408",
|
||||||
|
"type": "hash"
|
||||||
|
}
|
||||||
|
},
|
||||||
"cedc4d97efc7332e5d248514294c803e": {
|
"cedc4d97efc7332e5d248514294c803e": {
|
||||||
"meta": {
|
"meta": {
|
||||||
"index": "web.team.shichangyingxiao.portal",
|
"index": "web.team.shichangyingxiao.portal",
|
||||||
|
@ -1,18 +1,63 @@
|
|||||||
{
|
{
|
||||||
|
"03acc6ed03fa47e9639f1e5c459c3b50": {
|
||||||
|
"meta": {
|
||||||
|
"icons": "/p/usr/local/work/20240903-operation/src/operation/activity-grid.png",
|
||||||
|
"index": "web.team.operation.template",
|
||||||
|
"name": "云模板",
|
||||||
|
"order": "2",
|
||||||
|
"time": "2025-05-26 20:30:46.342"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"03f7f410d292fb30026cbcd99290e943": {
|
||||||
|
"meta": {
|
||||||
|
"auth": "issued",
|
||||||
|
"icons": "https://img.icons8.com/officel/80/online-store.png",
|
||||||
|
"index": "web.team.operation.goodslist",
|
||||||
|
"name": "在线商城",
|
||||||
|
"order": "91",
|
||||||
|
"role": "leader,worker",
|
||||||
|
"time": "2025-05-26 20:30:46.364"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"2511b9e18bf167ae0171c740e8f0513c": {
|
||||||
|
"meta": {
|
||||||
|
"auth": "issued",
|
||||||
|
"icons": "https://img.icons8.com/officel/80/agreement.png",
|
||||||
|
"index": "web.team.operation.contract",
|
||||||
|
"name": "在线合同",
|
||||||
|
"order": "95",
|
||||||
|
"role": "leader,worker",
|
||||||
|
"time": "2025-05-26 20:30:46.353"
|
||||||
|
}
|
||||||
|
},
|
||||||
"3b0ced2e41179097e594b91c3c36536b": {
|
"3b0ced2e41179097e594b91c3c36536b": {
|
||||||
"meta": {
|
"meta": {
|
||||||
|
"icons": "/p/src/gonganxitong/member.png?pod=20240724-community",
|
||||||
"index": "web.team.operation.member",
|
"index": "web.team.operation.member",
|
||||||
|
"name": "组织成员",
|
||||||
"order": "80",
|
"order": "80",
|
||||||
|
"role": "leader,worker,server",
|
||||||
"time": "2024-08-24 11:07:55.172"
|
"time": "2024-08-24 11:07:55.172"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"53b0f8b9867485bb8864f2205e31897e": {
|
"53b0f8b9867485bb8864f2205e31897e": {
|
||||||
"meta": {
|
"meta": {
|
||||||
|
"icons": "/p/src/gonganxitong/service.png?pod=20240724-community",
|
||||||
"index": "web.team.operation.service",
|
"index": "web.team.operation.service",
|
||||||
|
"name": "服务发现",
|
||||||
"order": "102",
|
"order": "102",
|
||||||
"time": "2024-08-24 11:07:55.179"
|
"time": "2024-08-24 11:07:55.179"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"64be90144c205e73b1fc216962d7ad25": {
|
||||||
|
"meta": {
|
||||||
|
"icons": "/p/usr/local/work/20240903-operation/src/operation/activity-grid.png",
|
||||||
|
"index": "web.team.operation.product",
|
||||||
|
"name": "云服务",
|
||||||
|
"order": "5",
|
||||||
|
"time": "2025-05-26 20:30:46.354"
|
||||||
|
}
|
||||||
|
},
|
||||||
"65c0459a8b23e672deebedb5c1c76fe5": {
|
"65c0459a8b23e672deebedb5c1c76fe5": {
|
||||||
"meta": {
|
"meta": {
|
||||||
"index": "web.team.operation.publish",
|
"index": "web.team.operation.publish",
|
||||||
@ -22,52 +67,175 @@
|
|||||||
},
|
},
|
||||||
"6ca4f1fc571350c2498bc5c1d7ac3563": {
|
"6ca4f1fc571350c2498bc5c1d7ac3563": {
|
||||||
"meta": {
|
"meta": {
|
||||||
|
"icons": "/p/src/gonganxitong/qrcode.png?pod=20240724-community",
|
||||||
"index": "web.team.operation.qrcode",
|
"index": "web.team.operation.qrcode",
|
||||||
|
"name": "场景码",
|
||||||
"order": "90",
|
"order": "90",
|
||||||
"role": "creator",
|
"role": "creator",
|
||||||
"time": "2024-08-24 11:07:55.167"
|
"time": "2024-08-24 11:07:55.167"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"700c65f09a19cb53ee5c2dfbb98a5a0b": {
|
||||||
|
"meta": {
|
||||||
|
"auth": "issued",
|
||||||
|
"icons": "https://img.icons8.com/officel/80/video-conference.png",
|
||||||
|
"index": "web.team.operation.meeting",
|
||||||
|
"name": "在线会议",
|
||||||
|
"order": "93",
|
||||||
|
"role": "leader,worker",
|
||||||
|
"time": "2025-05-26 20:30:46.348"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"7abb3b3760a9b686457938511c0ee7df": {
|
||||||
|
"meta": {
|
||||||
|
"icons": "/p/usr/local/work/20240903-operation/src/operation/activity-grid.png",
|
||||||
|
"index": "web.team.operation.project",
|
||||||
|
"name": "云项目",
|
||||||
|
"order": "4",
|
||||||
|
"time": "2025-05-26 20:30:46.360"
|
||||||
|
}
|
||||||
|
},
|
||||||
"85c8678d4af08bb0c3e9560155b7c98f": {
|
"85c8678d4af08bb0c3e9560155b7c98f": {
|
||||||
"meta": {
|
"meta": {
|
||||||
|
"icons": "/p/src/gonganxitong/event.png?pod=20240724-community",
|
||||||
"index": "web.team.operation.event",
|
"index": "web.team.operation.event",
|
||||||
|
"name": "事件流",
|
||||||
"order": "91",
|
"order": "91",
|
||||||
"role": "creator",
|
"role": "creator",
|
||||||
"time": "2024-08-24 11:07:55.172"
|
"time": "2024-08-24 11:07:55.172"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"91b0ca086b5b8aa00e84737c4395a19f": {
|
||||||
|
"meta": {
|
||||||
|
"auth": "issued",
|
||||||
|
"icons": "https://img.icons8.com/officel/80/ios-photos.png",
|
||||||
|
"index": "web.team.operation.photo",
|
||||||
|
"name": "在线相册",
|
||||||
|
"order": "96",
|
||||||
|
"role": "leader,worker",
|
||||||
|
"time": "2025-05-26 20:30:46.365"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"aa58390a9fac9f8210eca564d1ad82ff": {
|
||||||
|
"meta": {
|
||||||
|
"icons": "/p/src/gonganxitong/credit.png?pod=20240724-community",
|
||||||
|
"index": "web.team.operation.credit",
|
||||||
|
"name": "用户名片",
|
||||||
|
"order": "101",
|
||||||
|
"time": "2025-05-26 20:30:46.341"
|
||||||
|
}
|
||||||
|
},
|
||||||
"b2d8434f3ab5340408f71c4bf087e3d9": {
|
"b2d8434f3ab5340408f71c4bf087e3d9": {
|
||||||
"meta": {
|
"meta": {
|
||||||
|
"icons": "/p/src/gonganxitong/recent.png?pod=20240724-community",
|
||||||
"index": "web.team.operation.recent",
|
"index": "web.team.operation.recent",
|
||||||
|
"name": "最近访问",
|
||||||
"order": "101",
|
"order": "101",
|
||||||
"time": "2024-08-24 11:07:55.176"
|
"time": "2024-08-24 11:07:55.176"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"c8159ab932f400dbafa08fb995e16355": {
|
||||||
|
"meta": {
|
||||||
|
"icons": "/p/usr/local/work/20240903-operation/src/operation/activity-grid.png",
|
||||||
|
"index": "web.team.operation.cluster",
|
||||||
|
"name": "云集群",
|
||||||
|
"order": "1",
|
||||||
|
"time": "2025-05-26 20:30:46.358"
|
||||||
|
}
|
||||||
|
},
|
||||||
"ca74fb83cfd850b1ca03fe18976c253a": {
|
"ca74fb83cfd850b1ca03fe18976c253a": {
|
||||||
"meta": {
|
"meta": {
|
||||||
|
"icons": "bi bi-card-checklist",
|
||||||
"index": "web.team.operation.message",
|
"index": "web.team.operation.message",
|
||||||
|
"name": "消息待办",
|
||||||
"order": "100",
|
"order": "100",
|
||||||
"time": "2024-08-24 11:07:55.173"
|
"time": "2024-08-24 11:07:55.173"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"d2c6f264302bdd5d46beb921f389efda": {
|
||||||
|
"meta": {
|
||||||
|
"icons": "/p/src/gonganxitong/notice.png?pod=20240724-community",
|
||||||
|
"index": "web.team.operation.notice",
|
||||||
|
"name": "通知公告",
|
||||||
|
"order": "505",
|
||||||
|
"role": "leader",
|
||||||
|
"time": "2025-05-26 20:30:46.339"
|
||||||
|
}
|
||||||
|
},
|
||||||
"d47d5d11064235734413113c7440af7f": {
|
"d47d5d11064235734413113c7440af7f": {
|
||||||
"meta": {
|
"meta": {
|
||||||
|
"icons": "/p/src/gonganxitong/allow.png?pod=20240724-community",
|
||||||
"index": "web.team.operation.allow",
|
"index": "web.team.operation.allow",
|
||||||
|
"name": "权限审批",
|
||||||
"order": "93",
|
"order": "93",
|
||||||
"role": "creator",
|
"role": "creator",
|
||||||
"time": "2024-08-24 11:07:55.187"
|
"time": "2024-08-24 11:07:55.187"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"d8f6d139d6a5f9b5aa504702e7777eb3": {
|
||||||
|
"meta": {
|
||||||
|
"icons": "/p/usr/local/work/20240903-operation/src/operation/activity-grid.png",
|
||||||
|
"index": "web.team.operation.gateway",
|
||||||
|
"name": "云主机",
|
||||||
|
"order": "3",
|
||||||
|
"time": "2025-05-26 20:30:46.359"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"d953e8b2c9159b1f4d32ff1c15793314": {
|
||||||
|
"meta": {
|
||||||
|
"auth": "issued",
|
||||||
|
"icons": "https://img.icons8.com/officel/80/documents.png",
|
||||||
|
"index": "web.team.operation.document",
|
||||||
|
"name": "在线文档",
|
||||||
|
"order": "94",
|
||||||
|
"role": "leader,worker",
|
||||||
|
"time": "2025-05-26 20:30:46.363"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dad14d38feac6ebfb61953f8aae393bb": {
|
||||||
|
"meta": {
|
||||||
|
"icons": "bi bi-ubuntu",
|
||||||
|
"index": "web.team.operation.market",
|
||||||
|
"name": "人民广场",
|
||||||
|
"order": "901",
|
||||||
|
"time": "2025-05-26 20:30:46.352"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"e0b69dbd47a289ed57d970877000fa40": {
|
||||||
|
"meta": {
|
||||||
|
"icons": "/p/src/gonganxitong/setting.png?pod=20240724-community",
|
||||||
|
"index": "web.team.operation.setting",
|
||||||
|
"name": "服务配置",
|
||||||
|
"order": "103",
|
||||||
|
"role": "leader,worker,server",
|
||||||
|
"time": "2025-05-26 20:30:46.356"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"e9150ed09fcdb4da60f1e9f0d5fe54ea": {
|
||||||
|
"meta": {
|
||||||
|
"auth": "issued",
|
||||||
|
"icons": "https://img.icons8.com/officel/80/online-payment-with-a-credit-card.png",
|
||||||
|
"index": "web.team.operation.paymentlist",
|
||||||
|
"name": "在线支付",
|
||||||
|
"order": "92",
|
||||||
|
"role": "leader,worker",
|
||||||
|
"time": "2025-05-26 20:30:46.350"
|
||||||
|
}
|
||||||
|
},
|
||||||
"ec25b5c62a4d26688fe114d9b25f7a56": {
|
"ec25b5c62a4d26688fe114d9b25f7a56": {
|
||||||
"meta": {
|
"meta": {
|
||||||
|
"icons": "/p/src/gonganxitong/support.png?pod=20240724-community",
|
||||||
"index": "web.team.operation.support",
|
"index": "web.team.operation.support",
|
||||||
|
"name": "客服支持",
|
||||||
"order": "103",
|
"order": "103",
|
||||||
"time": "2024-08-24 11:07:55.187"
|
"time": "2024-08-24 11:07:55.187"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"f7484dd174d63a6800f84d1fb5fbb584": {
|
"f7484dd174d63a6800f84d1fb5fbb584": {
|
||||||
"meta": {
|
"meta": {
|
||||||
|
"icons": "/p/src/gonganxitong/apply.png?pod=20240724-community",
|
||||||
"index": "web.team.operation.apply",
|
"index": "web.team.operation.apply",
|
||||||
|
"name": "权限申请",
|
||||||
"order": "92",
|
"order": "92",
|
||||||
"role": "creator",
|
"role": "creator",
|
||||||
"time": "2024-08-24 11:07:55.200"
|
"time": "2024-08-24 11:07:55.200"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user