From 67439e90dd64610f386c36dae43650727fdf4f12 Mon Sep 17 00:00:00 2001 From: shy Date: Fri, 4 Oct 2024 12:23:27 +0800 Subject: [PATCH] add some --- src/gonganxitong/allow.go | 5 +- src/gonganxitong/apply.go | 10 ++-- src/gonganxitong/common.go | 33 ++++++----- src/gonganxitong/model/model.go | 1 + src/gonganxitong/notice.go | 10 +++- src/gonganxitong/portal.css | 11 ++-- src/gonganxitong/portal.go | 2 +- src/gonganxitong/portal.js | 14 +++-- src/gonganxitong/portal.json | 3 +- src/gonganxitong/setting.go | 7 --- src/gonganxitong/template/portal.go | 2 +- src/renzhengshouquan/model/model.go | 1 + src/renzhengshouquan/profile.go | 91 +++++++++++++++++------------ src/renzhengshouquan/profile.js | 63 +++++++------------- src/yuehaoxitong/call.go | 2 +- src/yuehaoxitong/volume.go | 3 +- 16 files changed, 136 insertions(+), 122 deletions(-) diff --git a/src/gonganxitong/allow.go b/src/gonganxitong/allow.go index dc6698b..8191792 100644 --- a/src/gonganxitong/allow.go +++ b/src/gonganxitong/allow.go @@ -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 { diff --git a/src/gonganxitong/apply.go b/src/gonganxitong/apply.go index 22b96fa..5ebc6e3 100644 --- a/src/gonganxitong/apply.go +++ b/src/gonganxitong/apply.go @@ -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()}) } diff --git a/src/gonganxitong/common.go b/src/gonganxitong/common.go index 81e9c2b..3a512ca 100644 --- a/src/gonganxitong/common.go +++ b/src/gonganxitong/common.go @@ -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(`%s`, value, role) + return kit.Format(`%s`, 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 { diff --git a/src/gonganxitong/model/model.go b/src/gonganxitong/model/model.go index 97519dd..641547e 100644 --- a/src/gonganxitong/model/model.go +++ b/src/gonganxitong/model/model.go @@ -94,6 +94,7 @@ const ( NODETYPE = "nodetype" SPACE = "space" INDEX = "index" + FIELD = "field" ICON = "icon" ARGS = "args" INIT = "init" diff --git a/src/gonganxitong/notice.go b/src/gonganxitong/notice.go index edebcfb..2cd4667 100644 --- a/src/gonganxitong/notice.go +++ b/src/gonganxitong/notice.go @@ -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, "") diff --git a/src/gonganxitong/portal.css b/src/gonganxitong/portal.css index c5868cd..e1c0de0 100644 --- a/src/gonganxitong/portal.css +++ b/src/gonganxitong/portal.css @@ -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); } diff --git a/src/gonganxitong/portal.go b/src/gonganxitong/portal.go index 7cb1623..1069f8a 100644 --- a/src/gonganxitong/portal.go +++ b/src/gonganxitong/portal.go @@ -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"` } diff --git a/src/gonganxitong/portal.js b/src/gonganxitong/portal.js index 898c629..14cddcf 100644 --- a/src/gonganxitong/portal.js +++ b/src/gonganxitong/portal.js @@ -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, "") diff --git a/src/gonganxitong/portal.json b/src/gonganxitong/portal.json index 19f5154..2cfc6d6 100644 --- a/src/gonganxitong/portal.json +++ b/src/gonganxitong/portal.json @@ -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": "门户首页", diff --git a/src/gonganxitong/setting.go b/src/gonganxitong/setting.go index b498355..41f8ccc 100644 --- a/src/gonganxitong/setting.go +++ b/src/gonganxitong/setting.go @@ -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()}) } diff --git a/src/gonganxitong/template/portal.go b/src/gonganxitong/template/portal.go index dc7e306..61ef7aa 100644 --- a/src/gonganxitong/template/portal.go +++ b/src/gonganxitong/template/portal.go @@ -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"}}{})}) } diff --git a/src/renzhengshouquan/model/model.go b/src/renzhengshouquan/model/model.go index dc81c6d..a795597 100644 --- a/src/renzhengshouquan/model/model.go +++ b/src/renzhengshouquan/model/model.go @@ -35,6 +35,7 @@ const ( DASHBOARD_UID = "dashboard_uid" SPACE = "space" INDEX = "index" + VALUE = "value" PATH = "path" ) diff --git a/src/renzhengshouquan/profile.go b/src/renzhengshouquan/profile.go index 7ac82c1..80c2bd1 100644 --- a/src/renzhengshouquan/profile.go +++ b/src/renzhengshouquan/profile.go @@ -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") +} diff --git a/src/renzhengshouquan/profile.js b/src/renzhengshouquan/profile.js index a5a36de..0192f2d 100644 --- a/src/renzhengshouquan/profile.js +++ b/src/renzhengshouquan/profile.js @@ -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) }, diff --git a/src/yuehaoxitong/call.go b/src/yuehaoxitong/call.go index 4e3f5b0..8ef9835 100644 --- a/src/yuehaoxitong/call.go +++ b/src/yuehaoxitong/call.go @@ -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) }) diff --git a/src/yuehaoxitong/volume.go b/src/yuehaoxitong/volume.go index 0775dcc..77b9843 100644 --- a/src/yuehaoxitong/volume.go +++ b/src/yuehaoxitong/volume.go @@ -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{}) }