This commit is contained in:
IT 老营长 @云轩领航-创始人 2024-10-04 12:23:27 +08:00
parent 9efe388f90
commit 67439e90dd
16 changed files with 136 additions and 122 deletions

View File

@ -20,7 +20,7 @@ type allow struct {
func (s allow) Create(m *ice.Message, arg ...string) {
s.Insert(m.Spawn(), arg...)
m.Option(model.COMMAND_UID, CommandUID(m, m.PrefixKey()))
s.GetCommandUID(m)
s.SendMessage(m, m.Option(model.FROM_USER_UID), "")
s.SendTemplate(m, "", "", m.Trans("please allow", "权限审批 请处理"))
}
@ -72,7 +72,8 @@ func (s allow) process(m *ice.Message, from, to AllowStatus, icon string, title
return
}
m.Cmdy(s.Prefix(m, s.apply), m.ActionKey(), m.Option(model.UID)).ProcessRefresh()
s.RecordEvent(m, kit.JoinWord(icon, title, kit.Cut(m.Option(model.UID), 6), s.TransRole(m), m.Option(model.USER_NAME)), m.Option(model.UID))
style := kit.Select("notice", "danger", kit.Int(m.Option(model.ROLE)) == 2)
s.RecordEvent(m, kit.JoinWord(icon, title, kit.Cut(m.Option(model.UID), 6), s.TransRole(m, "", style), m.Option(model.USER_NAME)), m.Option(model.UID))
s.DoneMessage(m)
}
func (s allow) changeStatus(m *ice.Message, from, to AllowStatus, arg ...string) *ice.Message {

View File

@ -63,12 +63,12 @@ func (s apply) Submit(m *ice.Message, arg ...string) {
if m.WarnNotValid(msg.IsErr()) {
return
}
role := UserPlaceCreator
role, style := UserPlaceCreator, ""
switch UserPlaceRole(kit.Int(msg.Append(model.ROLE))) {
case UserPlaceLandlord:
role = UserPlaceCreator
role, style = UserPlaceCreator, "danger"
default:
role = UserPlaceLandlord
role, style = UserPlaceLandlord, "notice"
}
msg = m.Cmd(s.UserPlace, s.Select, m.OptionSimple(s.Keys(s.Place, model.UID)), model.ROLE, role)
if m.WarnNotFound(msg.Length() == 0, role.String()) {
@ -76,12 +76,13 @@ func (s apply) Submit(m *ice.Message, arg ...string) {
}
m.Option(model.FROM_USER_UID, m.Option(model.USER_UID))
m.Cmd(s.Prefix(m, allow{}), s.Create, model.APPLY_UID, m.Option(model.UID), model.PLACE_UID, m.Option(s.Keys(s.Place, model.UID)), msg.AppendSimple(model.USER_UID), model.STATUS, AllowCreate)
s.RecordEvent(m, kit.JoinWord("🕑", m.Trans("apply submit", "权限申请 已提交"), kit.Cut(m.Option(model.UID), 6), s.TransRole(m), m.Option(model.USER_NAME)), m.Option(model.UID))
s.RecordEvent(m, kit.JoinWord("🕑", m.Trans("apply submit", "权限申请 已提交"), kit.Cut(m.Option(model.UID), 6), s.TransRole(m, "", style), m.Option(model.USER_NAME)), m.Option(model.UID))
s.SendMessage(m, msg.Append(model.USER_UID), m.Option(model.USER_UID))
}
func (s apply) Reject(m *ice.Message, arg ...string) {
msg := s.changeStatus(m, ApplySubmit, ApplyRejected)
s.SendTemplate(msg, "", "", m.Trans("apply rejected", "权限申请 已驳回"))
m.Option(model.ROLE, msg.Append(model.ROLE))
}
func (s apply) Approve(m *ice.Message, arg ...string) {
msg := s.changeStatus(m, ApplySubmit, ApplyApproved)
@ -90,6 +91,7 @@ func (s apply) Approve(m *ice.Message, arg ...string) {
}
m.Cmd(s.UserPlace, s.Insert, s.Keys(s.Place, model.UID), msg.Append(model.PLACE_UID), msg.AppendSimple(model.USER_UID, model.ROLE))
s.SendTemplate(msg, "", "", m.Trans("apply approved", "权限申请 已通过"))
m.Option(model.ROLE, msg.Append(model.ROLE))
}
func init() { ice.TeamCtxCmd(apply{Table: newTable()}) }

View File

@ -197,7 +197,9 @@ func (s Table) SelectJoinRecent(m *ice.Message, PLACE_UID string, arg ...string)
kit.If(len(arg) == 0, func() { arg = append(arg, model.CITY_NAME, model.STREET_NAME, model.PLACE_NAME) })
list := []string{}
m.Table(func(value ice.Maps) { kit.If(value[PLACE_UID], func(v string) { list = kit.AddUniq(list, v) }) })
recents := m.CmdMap(recent{}, s.SelectList, model.PLACE_UID, list, model.PLACE_UID)
msg := m.Spawn()
s.Fields(msg, kit.JoinFields("DISTINCT place_uid", kit.JoinFields(arg...)))
recents := msg.CmdMap(recent{}, s.SelectList, model.PLACE_UID, list, model.PLACE_UID)
m.Table(func(value ice.Maps) {
recent := recents[value[PLACE_UID]]
kit.For(arg, func(k string) { m.Push(k, recent[k]) })
@ -236,7 +238,7 @@ func (s Table) RewriteAppend(m *ice.Message, arg ...string) *ice.Message {
})
return m
}
func (s Table) Update(m *ice.Message, data ice.Map, arg ...string) {
func (s Table) Update(m *ice.Message, data ice.Any, arg ...string) {
if len(arg) == 0 {
arg = append(arg, model.UID, kit.Select(m.Option(model.UID), m.Option(s.Keys(m.CommandKey(), model.UID))))
}
@ -252,15 +254,15 @@ func (s Table) UploadUpdate(m *ice.Message, field, uid string, arg ...string) {
if m.IsErr() {
return
}
p := m.UploadSave(path.Join(nfs.USR, kit.Select(field, m.Option("field")), uid) + nfs.PS)
s.Update(m, kit.Dict(kit.Select(m.Option("field"), field), p), model.UID, uid)
p := m.UploadSave(path.Join(nfs.USR, kit.Select(field, m.Option(model.FIELD)), uid) + nfs.PS)
s.Update(m, kit.Dict(kit.Select(m.Option(model.FIELD), field), p), model.UID, uid)
}
func (s Table) UploadCreate(m *ice.Message, field, uid string, arg ...string) {
if m.IsErr() {
return
}
p := m.UploadSave(path.Join(nfs.USR, kit.Select(field, m.Option("field")), uid) + nfs.PS)
s.Create(m, kit.Select(m.Option("field"), field), p, model.UID, uid)
p := m.UploadSave(path.Join(nfs.USR, kit.Select(field, m.Option(model.FIELD)), uid) + nfs.PS)
s.Create(m, kit.Select(m.Option(model.FIELD), field), p, model.UID, uid)
}
func (s Table) ChangeStatus(m *ice.Message, place_uid, uid string, from, to int, arg ...string) *ice.Message {
msg := s.ValueList(m.Spawn(), []string{place_uid, uid}, model.STATUS)
@ -324,6 +326,15 @@ func (s Table) CityList(m *ice.Message, arg ...string) *ice.Message {
m.Cmdy(s.Prefix(m, city{}), arg).RenameAppend(model.NAME, model.CITY_NAME)
return m
}
func (s Table) CityCmd(m *ice.Message, arg ...ice.Any) *ice.Message {
return m.Cmd(append([]ice.Any{city{}}, arg...)...)
}
func (s Table) CreditCmdy(m *ice.Message, arg ...ice.Any) *ice.Message {
return m.Cmdy(append([]ice.Any{s.Prefix(m, credit{})}, arg...)...)
}
func (s Table) SettingCmdy(m *ice.Message, arg ...ice.Any) *ice.Message {
return m.Cmdy(append([]ice.Any{s.Prefix(m, setting{})}, arg...)...)
}
func (s Table) AuthCreate(m *ice.Message, authType int, fromUID string, arg ...string) {
s.AutoCmdy(m, api.RENZHENGSHOUQUAN_PORTAL, Portal{}.PlaceCreate,
model.AUTH_NAME, m.Option(model.NAME), model.AUTH_INFO, m.Option(model.INFO),
@ -421,7 +432,7 @@ func (s Table) TransValue(m *ice.Message, key string, arg ...string) string {
func (s Table) TransRole(m *ice.Message, arg ...string) string {
value := kit.Select(m.Option(s.Keys(s.UserPlace, model.ROLE)), arg, 0)
role := s.Place.TransValue(m, s.Keys(s.UserPlace, model.ROLE), arg...)
return kit.Format(`<span class="role %s">%s</span>`, value, role)
return kit.Format(`<span class="role %s %s">%s</span>`, value, kit.Select("", arg, 1), role)
}
func (s Table) Prefix(m *ice.Message, target ice.Any) string {
@ -454,13 +465,7 @@ func (s Table) AutoCmd(m *ice.Message, arg ...ice.Any) *ice.Message {
}
func (s Table) ProcessPodCmd(m, msg *ice.Message, arg ...string) *ice.Message {
m.ProcessPodCmd(msg.Append(web.SPACE), msg.Append(ctx.INDEX), kit.Split(msg.Append(ctx.ARGS)))
m.RewriteAppend(func(value, key string, index int) string {
if key == "style" {
value = "output"
}
return value
})
m.Push("field.option", kit.Format(kit.Dict(arg)))
m.Push(ice.FIELD_OPTION, kit.Format(kit.Dict(arg)))
return m
}
func (s Table) Link(m *ice.Message, arg ...string) string {

View File

@ -94,6 +94,7 @@ const (
NODETYPE = "nodetype"
SPACE = "space"
INDEX = "index"
FIELD = "field"
ICON = "icon"
ARGS = "args"
INIT = "init"

View File

@ -12,16 +12,22 @@ type notice struct {
order string `data:"505"`
role string `data:"leader"`
fields string `data:"title,content,user_uid"`
create string `name:"create title* content*" role:"leader"`
remove string `name:"remove" role:"leader"`
create string `name:"create title* content*" role:"void"`
remove string `name:"remove" role:"void"`
}
func (s notice) Create(m *ice.Message, arg ...string) {
if m.WarnNotRight(!s.IsLeader(m)) {
return
}
m.Option(model.PLACE_UID, m.Option(s.Keys(s.Place, model.UID)))
s.Insert(m, kit.Simple(arg, m.OptionSimple(model.PLACE_UID, model.USER_UID))...)
s.RecordEventWithName(m, "")
}
func (s notice) Remove(m *ice.Message, arg ...string) {
if m.WarnNotRight(!s.IsLeader(m)) {
return
}
m.Option(model.PLACE_UID, m.Option(s.Keys(s.Place, model.UID)))
s.Delete(m, m.OptionSimple(model.PLACE_UID, model.UID)...)
s.RecordEventWithName(m, "")

View File

@ -59,7 +59,7 @@ $output div.item.card div.title { width:100%; display:flex; align-items:center;
$output div.item.card div.title span:first-child { word-break:break-all; }
$output div.item.card div.title span.auth { font-size:14px; }
$output div.item.card div.title span.time { position:absolute; right:0; font-size:12px; color:gray; }
$output div.item.card div.status span { word-break:break-all; white-space:pre; }
$output div.item.card div.status span { word-break:break-all; }
$output div.item.card img { border-radius:5px; padding:0; margin:0; margin-right:10px; height:48px; width:48px; min-width:48px; object-fit:cover; }
$output div.item.card.sticky>div.output { background-color:var(--plugin-bg-color); color:var(--notice-bg-color); }
$action div.item.notice input[type=button] { border:var(--box-notice); color:var(--notice-bg-color); }
@ -67,10 +67,9 @@ $action div.item.danger input[type=button] { border:var(--box-danger); color:var
$output input.notice[type=button] { background-color:var(--notice-bg-color); color:var(--notice-fg-color); }
$output input.danger[type=button] { border:var(--box-danger); color:var(--danger-bg-color); }
$output input[type=button][name=submit] { background-color:var(--notice-bg-color); color:var(--notice-fg-color); }
body.mobile $output img.qrcode { width:100%; margin:0; }
$output span.type { border:none; border-radius:5px; background-color:var(--hover-bg-color); padding:2px 8px; }
$output span.role { border:none; border-radius:5px; background-color:var(--hover-bg-color); padding:2px 8px; }
$output span.status { border:none; border-radius:5px; background-color:var(--hover-bg-color); padding:2px 8px; }
$output span.type { border:none; border-radius:5px; background-color:var(--hover-bg-color); color:var(--notice-bg-color); padding:2px 8px; }
$output span.role { border:none; border-radius:5px; background-color:var(--hover-bg-color); color:var(--notice-bg-color); padding:2px 8px; }
$output span.status { border:none; border-radius:5px; background-color:var(--hover-bg-color); color:var(--notice-bg-color); padding:2px 8px; }
$output span.type.danger { color:var(--danger-bg-color); }
$output span.role.danger { color:var(--danger-bg-color); }
$output span.status.danger { color:var(--danger-bg-color); }
@ -106,6 +105,7 @@ $output fieldset.story.form>div.output>div.code>input[type=button] { font-size:1
$output>fieldset.story.web.team.renzhengshouquan.profile { margin-top:0; }
fieldset.web.team.renzhengshouquan.profile>div.output div.code { margin-top:60px; margin-bottom:240px; }
$output>fieldset.story.web.team.credit { margin-top:0; }
$output>fieldset.story.web.team.credit>div.output>div.code { margin-top:32px; }
$output>fieldset.message div.tabs span.select { border-top:var(--box-border); }
$output>fieldset.message div.tabs span.create.select { border-top:var(--box-danger); }
$output>fieldset.message div.tabs span.read.select { border-top:var(--box-notice); }
@ -127,6 +127,7 @@ $output.public>div>div.list.myplace>div.output { padding:0; }
$output.public>div>div.list.myplace div.item.card div.output { padding:0; }
fieldset.web.team.storage.file div.item.card div.title span:first-child { flex-grow:1; }
body.dark $output>div>div.list.mynotice>span:first-child { background-color:var(--hover-bg-color); color:yellow; white-space:pre; }
body.mobile $output img.qrcode { width:100%; margin:0; }
body.mobile div.input.float { position:absolute; top:0 !important; margin:0; width:100% !important; max-width:100% !important; }
body.mobile div.input.float input[name=submit] { background-color:var(--notice-bg-color); color:var(--notice-fg-color); }
body.mobile fieldset.panel.Action>div.output { background-color:var(--plugin-bg-color); }

View File

@ -28,7 +28,7 @@ type Portal struct {
field string `data:"time,icons,name,index,order,enable,init,type,role,view"`
create string `name:"create index name icons"`
list string `name:"list place_uid index uid auto" role:"void"`
placeCreate string `name:"placeCreate city_name* street_name* place_name* place_type*:select address" icon:"bi bi-plus-square-dotted" role:"void"`
placeCreate string `name:"placeCreate city_name* street_name* place_name* place_type:select address" icon:"bi bi-plus-square-dotted" role:"void"`
placeRemove string `name:"placeRemove" role:"void"`
}

View File

@ -155,18 +155,24 @@ Volcanos(chat.ONACTION, {
can.user.isMobile && can.page.style(can, can._root.Action._output, html.VISIBILITY, html.HIDDEN)
sub.Option("city_name", "深圳市")
// sub.Option("city_name", "邹城市")
sub.Option("street_name", "航城街道")
sub.Option("school_name", "深圳中学")
sub.Option("company_name", "云境互联")
sub.Option("class_name", "初一二班")
sub.Option("group_name", "爬山群")
sub.Option("grade", "2024级")
// sub.Option("company_name", "老邵木器加工")
sub.Option("store_name", "老邵木器加工")
sub.Option("place_name", "易尚三维")
sub.Option("queue_name", "二楼产检")
sub.Option("group_name", "爬山群")
sub.Option("class_name", "初一二班")
sub.Option("exam_name", "初一期末考试")
sub.Option("store_name", "老邵木器加工")
sub.Option("capital_name", "国资委")
sub.Option("channel_name", "公众号")
sub.Option("reception_name", "科室1")
sub.Option("volume_amount", "100")
sub.Option("grade", "2024级")
},
afterInputs: function(event, can, button, target) {
can.user.isMobile && can.page.style(can, can._root.Action._output, html.VISIBILITY, "")

View File

@ -50,6 +50,7 @@
"place_type": "场景类型",
"place_address": "场景地址",
"street_name": "街道名称",
"school_name": "学校名称",
"company_uid": "公司",
"company_name": "公司名称",
"city_name": "城市名称",
@ -130,7 +131,7 @@
"revoked": "❌ 已吊销"
},
"setting": {
"profile": "个人名片"
"profile": "将本服务展示到个人名片"
},
"qrcode_type": {
"portal": "门户首页",

View File

@ -46,12 +46,5 @@ func (s setting) List(m *ice.Message, arg ...string) {
}
s.DisplayBase(m, "").DisplayCSS("")
}
func (s setting) Profile(m *ice.Message, arg ...string) {
s.Fields(m, model.PLACE_UID)
s.Select(m, model.USER_UID, arg[0], model.NAME, m.ActionKey(), model.VALUE, "on")
}
func (s Table) SettingProfile(m *ice.Message, arg ...string) *ice.Message {
return m.Cmdy(s.Prefix(m, setting{}), setting{}.Profile, arg)
}
func init() { ice.TeamCtxCmd(setting{Table: newTable()}) }

View File

@ -7,7 +7,7 @@ import (
type Portal struct {
guanlixitong.Portal
placeCreate string `name:"placeCreate city_name* company_name* {{.Option "class"}}_name* {{.Option "class"}}_type*:select" role:"void"`
placeCreate string `name:"placeCreate city_name* company_name* {{.Option "class"}}_name* {{.Option "class"}}_type:select" role:"void"`
}
func init() { gonganxitong.PortalCmd(Portal{Portal: guanlixitong.NewPortal(user{{.Option "Class"}}{}, {{.Option "class"}}{})}) }

View File

@ -35,6 +35,7 @@ const (
DASHBOARD_UID = "dashboard_uid"
SPACE = "space"
INDEX = "index"
VALUE = "value"
PATH = "path"
)

View File

@ -2,10 +2,7 @@ package renzhengshouquan
import (
"shylinux.com/x/ice"
"shylinux.com/x/icebergs/base/aaa"
"shylinux.com/x/icebergs/base/ctx"
"shylinux.com/x/icebergs/base/mdb"
"shylinux.com/x/icebergs/base/web"
kit "shylinux.com/x/toolkits"
"shylinux.com/x/community/src/renzhengshouquan/model"
@ -14,71 +11,72 @@ import (
type profile struct {
Auth
order string `data:"3"`
modify string `name:"modify info" role:"void"`
upload string `name:"upload" role:"void"`
modify string `name:"modify info" role:"leader,worker"`
upload string `name:"upload" role:"leader,worker"`
authList string `name:"authList" role:"void"`
fromList string `name:"fromList" role:"void"`
memberList string `name:"memberList" role:"void"`
serviceList string `name:"serviceList" role:"void"`
fromList string `name:"fromList" role:"void"`
authPersonal string `name:"authPersonal" role:"void"`
}
func (s profile) Modify(m *ice.Message, arg ...string) {
s.Update(m, kit.Dict(m.OptionSimple(model.INFO)), model.UID, m.Option(model.AUTH_UID))
s.Update(m, m.OptionSimple(model.INFO), model.UID, m.Option(model.AUTH_UID))
}
func (s profile) Upload(m *ice.Message, arg ...string) {
m.WarnNotValid(!kit.IsIn(m.OptionDefault(mdb.FIELD, aaa.AVATAR), aaa.AVATAR, aaa.BACKGROUND))
s.Table.UploadUpdate(m, "", m.Option(model.AUTH_UID))
if m.WarnNotValid(!kit.IsIn(m.OptionDefault(mdb.FIELD, model.AVATAR), model.AVATAR, model.BACKGROUND)) {
return
}
s.UploadUpdate(m, "", m.Option(model.AUTH_UID))
}
func (s profile) List(m *ice.Message, arg ...string) {
if len(arg) == 1 {
if len(arg) == 0 {
s.Select(m)
s.RewriteAppend(m)
m.PushAction(s.Remove)
return
} else if len(arg) == 1 {
s.Select(m, model.UID, arg[0])
kit.If(s.IsVisitor(m), func() { m.Action() }, func() { m.Action(s.Modify) })
kit.If(s.IsWorker(m), func() { m.Action(s.Modify) }, func() { m.Action() })
} else {
return
}
switch AuthType(kit.Int(m.Append(model.AUTH_TYPE))) {
case AuthService:
kit.If(s.IsVisitor(m), func() { m.Action() }, func() { m.Action(s.Modify, s.Enter) })
kit.If(s.IsWorker(m), func() { m.Action(s.Modify, s.Enter) }, func() { m.Action() })
s.SelectJoinRecent(m, model.PLACE_UID)
s.SelectJoinService(m)
defer m.Echo(m.Append(model.CITY_NAME) + " " + m.Append(model.STREET_NAME) + " " + m.Append(model.PLACE_NAME))
defer m.Echo(kit.JoinWord(m.Append(model.CITY_NAME), m.Append(model.STREET_NAME), m.Append(model.PLACE_NAME)))
case AuthPersonal:
s.SelectJoinUser(m)
defer m.Echo(m.Append(model.NAME))
fallthrough
default:
defer m.Echo(m.Append(model.NAME))
}
s.RewriteAppend(m)
m.EchoQRCode(s.Link(m, arg[0], m.PrefixKey()))
m.Display("").DisplayCSS("")
}
func (s profile) FromList(m *ice.Message, arg ...string) {
from := arg[0]
for {
msg := s.Select(m.Spawn(), model.UID, from)
m.Copy(msg)
if msg.Append(model.FROM_UID) != "" {
from = msg.Append(model.FROM_UID)
} else {
break
}
}
m.EchoQRCode(s.Link(m, arg[0], m.PrefixKey())).Display("").DisplayCSS("")
}
func (s profile) AuthList(m *ice.Message, arg ...string) {
m.Cmdy(s.Auth, m.Option(model.AUTH_UID)).Table(func(value ice.Maps) {
m.Cmdy(s.Auth, arg[0]).Table(func(value ice.Maps) {
if value[model.PLACE_UID] == "" {
m.PushButton()
} else {
m.PushButton(s.Enter)
}
})
s.SelectJoinRecent(m, model.PLACE_UID)
s.SelectJoinService(m)
s.RewriteAppend(m)
}
func (s profile) MemberList(m *ice.Message, arg ...string) {
user_uid := m.Option(model.USER_UID)
msg := s.Select(m.Spawn(), model.UID, m.Option(model.AUTH_UID))
service := s.Table.ServiceList(m, msg.Append(model.PLACE_UID), msg.Append(model.SERVICE_UID))
m.Cmdy(web.SPACE, service.Append(model.SPACE), service.Append(model.INDEX), ctx.ACTION, m.ActionKey(), msg.Append(model.PLACE_UID))
s.Fields(m, model.USER_UID)
s.settingProfile(m, model.PLACE_UID, arg[0])
if m.Length() == 0 {
return
}
s.SelectJoinUser(m, model.NAME, model.INFO, model.AVATAR, model.BACKGROUND, model.AUTH_UID)
s.SelectJoinAuth(m)
m.Table(func(value ice.Maps) {
if value[model.AUTH_STATUS] == "" && value[model.USER_UID] == user_uid {
m.PushButton(s.AuthPersonal)
@ -89,15 +87,36 @@ func (s profile) MemberList(m *ice.Message, arg ...string) {
s.RewriteAppend(m)
}
func (s profile) ServiceList(m *ice.Message, arg ...string) {
list := s.SettingProfile(m.Spawn(), arg...).Appendv(model.PLACE_UID)
msg := m.Spawn()
s.Fields(msg, model.PLACE_UID)
list := s.settingProfile(msg, model.USER_UID, arg[0]).Appendv(model.PLACE_UID)
if m.WarnNotFound(len(list) == 0, model.USER_UID, arg[0]) {
return
}
s.FieldsWithCreatedAT(m, s.Auth, kit.TransArgs(kit.Split(m.Config(mdb.FIELDS), ",", ","))...)
s.SelectList(m, kit.Simple(model.PLACE_UID, kit.Sort(list))...)
s.SelectJoinRecent(m, model.PLACE_UID)
s.SelectJoinService(m).PushAction(s.Enter)
s.RewriteAppend(m)
}
func (s profile) Enter(m *ice.Message, arg ...string) {}
func (s profile) AuthPersonal(m *ice.Message, arg ...string) {
m.Cmdy(m.Prefix("credit"), m.ActionKey())
func (s profile) FromList(m *ice.Message, arg ...string) {
from := arg[0]
for {
msg := s.Select(m.Spawn(), model.UID, from)
if m.Copy(msg); msg.Append(model.FROM_UID) != "" {
from = msg.Append(model.FROM_UID)
} else {
break
}
}
}
func (s profile) AuthPersonal(m *ice.Message, arg ...string) {
s.CreditCmdy(m, m.ActionKey(), arg)
}
func (s profile) Enter(m *ice.Message, arg ...string) {}
func init() { ice.TeamCtxCmd(profile{}) }
func (s profile) settingProfile(m *ice.Message, arg ...string) *ice.Message {
return s.SettingCmdy(m, s.Select, arg, model.NAME, "profile", model.VALUE, "on")
}

View File

@ -1,8 +1,5 @@
Volcanos(chat.ONIMPORT, {
_init: function(can, msg) {
msg.Option("_share_title", msg.Append(mdb.NAME)), msg.Option("_share_content", msg.Append(mdb.INFO)), msg.Option("_share_icons", msg.Append(aaa.AVATAR))
// if (!can.base.isIn(msg.Option(USER_ROLE), "1", "2", "3")) { delete(can.onaction.updateAvatar), delete(can.onaction.updateBackground) }
can.ui = can.page.Appends(can, can._output, [html.HEAD, html.LIST, "from"])
_init: function(can, msg) { can.ui = can.page.Appends(can, can._output, [html.HEAD, html.LIST, "from"])
msg.Table(function(value) {
can.page.Append(can, can.ui.head, [{img: can.misc.Resource(can, value.background||html.BACKGROUND_JPG), onclick: function(event) {
can.onaction.updateBackground && can.onaction.updateBackground(event, can)
@ -16,34 +13,34 @@ Volcanos(chat.ONIMPORT, {
switch (msg.Append(AUTH_TYPE)) {
case "root": can.onimport.myTitle(can, "My City", "城市列表", can.ui.list); break
case "city": can.onimport.myTitle(can, "My Company", "组织列表", can.ui.list); break
case "service": can.onimport.myTitle(can, "My Member", "成员列表", can.ui.list); break
default: can.onimport.myTitle(can, "My Auth", "服务列表", can.ui.list)
} can.onimport.myTitle(can, "My From", "认证机构", can.ui.from)
msg.Append(AUTH_TYPE) == "personal"? can.onimport.serviceList(can, msg): msg.Append(AUTH_TYPE) == "service"? can.onimport.memberList(can, msg): can.onimport.authList(can, msg)
default: can.onimport.myTitle(can, "My Auth", "服务列表"); break
}
msg.Append(AUTH_TYPE) == "personal"? can.onimport.serviceList(can, msg, can.ui.list): msg.Append(AUTH_TYPE) == "service"? can.onimport.memberList(can, msg, can.ui.list): can.onimport.authList(can, msg)
can.onimport.fromList(can, msg, can.ui.from), can.onappend.board(can, msg)
msg.Option("_share_title", msg.Append(mdb.NAME)), msg.Option("_share_content", msg.Append(mdb.INFO)), msg.Option("_share_icons", msg.Append(aaa.AVATAR))
if (!can.base.isIn(msg.Option(USER_ROLE), "1", "2", "3")) { delete(can.onaction.updateAvatar), delete(can.onaction.updateBackground) }
},
myTitle: function(can, name, help, target) {
can.page.Append(can, target, [{view: html.TITLE, list: [{text: can.user.trans(can, name, help)}]}])
can.page.Appends(can, target||can.ui.list, [{view: html.TITLE, list: [{text: can.user.trans(can, name, help)}]}])
},
authList: function(can, msg) {
can.runAction(can.request({}, {auth_uid: msg.Append(UID)}), "authList", [], function(msg) {
authList: function(can, msg, action, uid, target) {
can.runAction({}, action||"authList", [uid||msg.Append(UID)], function(msg) { if (msg.Length() == 0) { return can.onmotion.hidden(can, target) }
can.onimport.myView(can, msg, function(value) {
return [
{view: html.TITLE, list: [value.name, can.onimport.authView(can, value), can.onimport.textView(can, value, AUTH_TYPE), can.onimport.titleAction(can, value)]},
{view: html.STATUS, list: [value.info, value.service_name]},
{view: html.STATUS, list: [value.city_name, value.street_name, value.service_name]},
{view: html.STATUS, list: [value.info]},
]
}, function(event, value) {
can.Option(AUTH_UID, value.uid), can.Update(event)
}, can.ui.list)
}, target||can.ui.list)
})
},
memberList: function(can, msg) {
can.runAction(can.request({}, {auth_uid: msg.Append(UID)}), "memberList", [], function(msg) {
memberList: function(can, msg, target) { can.onimport.myTitle(can, "My Member", "成员列表")
can.runAction({}, "memberList", [msg.Append(PLACE_UID)], function(msg) { if (msg.Length() == 0) { return can.onmotion.hidden(can, target) }
can.onimport.myView(can, msg, function(value) { value.icons = value.auth_avatar||value.user_avatar||html.AVATAR_JPG
return [
{view: html.TITLE, list: [value.auth_name||value.user_name, can.onimport.authView(can, value), can.onimport.textView(can, value, AUTH_TYPE),
can.onimport.titleAction(can, value),
]},
{view: html.TITLE, list: [value.auth_name||value.user_name, can.onimport.authView(can, value), can.onimport.textView(can, value, AUTH_TYPE), can.onimport.titleAction(can, value)]},
{view: html.STATUS, list: [value.auth_info||value.user_info]},
]
}, function(event, value) {
@ -55,35 +52,17 @@ Volcanos(chat.ONIMPORT, {
}, can.ui.list)
})
},
serviceList: function(can, msg) {
can.runAction(can.request({}, {}), "serviceList", [msg.Append(USER_UID)||msg.Option(USER_UID)], function(msg) {
can.onimport.myView(can, msg, function(value) { value.icons = value.avatar||value.service_icon||html.AVATAR_JPG
return [
{view: html.TITLE, list: [value.name, can.onimport.authView(can, value), can.onimport.textView(can, value, AUTH_TYPE), can.onimport.titleAction(can, value)]},
{view: html.STATUS, list: [value.info, value.service_name]},
]
}, function(event, value) {
can.Option(AUTH_UID, value.uid), can.Update(event)
}, can.ui.list)
})
serviceList: function(can, msg, target) {
can.onimport.myTitle(can, "My Auth", "服务列表")
can.onimport.authList(can, msg, "serviceList", msg.Append(USER_UID))
},
fromList: function(can, msg, target) {
can.runAction(can.request({}, {}), "fromList", [msg.Append("from_uid")], function(msg) {
if (msg.Length() == 0) { return can.onmotion.hidden(can, target) }
can.onimport.myView(can, msg, function(value) {
return [
{view: html.TITLE, list: [value.name, can.onimport.authView(can, value), can.onimport.textView(can, value, AUTH_TYPE), can.onimport.titleAction(can, value)]},
{view: html.STATUS, list: [value.info, value.service_name]},
]
}, function(event, value) {
can.Option(AUTH_UID, value.uid), can.Update(event)
}, target)
})
fromList: function(can, msg, target) { can.onimport.myTitle(can, "My From", "认证机构", target)
can.onimport.authList(can, msg, "fromList", msg.Append("from_uid"), target)
},
})
Volcanos(chat.ONACTION, {
enter: function(event, can) { var msg = can.request(event)
can.onimport.myPlugin(can, {space: msg.Option("nodename"), index: msg.Option("index"), args: [msg.Option("place_uid")]})
can.onimport.myPlugin(can, {space: msg.Option("nodename"), index: msg.Option(ctx.INDEX), args: [msg.Option(PLACE_UID)]})
},
updateBackground: function(event, can) { can.user.upload(can.request(event, {field: aaa.BACKGROUND}), can) },
updateAvatar: function(event, can) { can.user.upload(can.request(event, {field: aaa.AVATAR}), can) },

View File

@ -17,7 +17,7 @@ type call struct {
func (s call) List(m *ice.Message, arg ...string) {
if len(arg) == 1 {
m.Cmdy(s.reception, arg).RenameAppend(model.UID, model.RECEPTION_UID).PushAction().Action()
m.Echo("请选择服务场所")
m.Echo("请选择服务场所")
} else if len(arg) == 2 {
s.SelectByStatus(m.Options(mdb.ORDER, model.TAKE_TIME), arg[0], kit.Format(ScheduleTake), model.RECEPTION_UID, arg[1])
kit.If(m.Length() == 0, func() { m.Echo(m.Trans("wait take", "等待取号")) }, func() { m.Action(s.Call) })

View File

@ -32,8 +32,7 @@ func (s Volume) List(m *ice.Message, arg ...string) *ice.Message {
} else {
return m
}
s.SelectJoinUser(m)
return m.Display("")
return s.SelectJoinUser(m).Display("")
}
func init() { ice.TeamCtxCmd(Volume{}) }