mirror of
https://shylinux.com/x/operation
synced 2025-07-02 21:41:20 +08:00
79 lines
2.7 KiB
Go
79 lines
2.7 KiB
Go
package production
|
|
|
|
import (
|
|
"strings"
|
|
|
|
"shylinux.com/x/ice"
|
|
kit "shylinux.com/x/toolkits"
|
|
|
|
"shylinux.com/x/operation/src/production/model"
|
|
)
|
|
|
|
type Date struct {
|
|
Tables
|
|
order string `data:"9"`
|
|
role string `data:"leader,worker"`
|
|
discuss string `name:"discuss meet_type*:select issue_uid*:select meet_link* begin_time*:select@date" role:"leader"`
|
|
}
|
|
|
|
func (s Date) Inputs(m *ice.Message, arg ...string) {
|
|
switch arg[0] {
|
|
case model.ISSUE_UID:
|
|
args := m.OptionSimple(model.STORY_UID)
|
|
switch MeetType(kit.Int(m.Option(model.MEET_TYPE))) {
|
|
case MeetTalk:
|
|
args = append(args, model.STATUS, kit.Format(IssueCreate))
|
|
case MeetValue:
|
|
args = append(args, model.STATUS, kit.Format(IssueSubmit))
|
|
case MeetCheck:
|
|
s.Fields(m, model.ISSUE_UID, model.TITLE, model.USER_UID).Limit(m, 300)
|
|
m.Cmdy(Design{}, s.Select, args, model.STATUS, IssueSubmit)
|
|
m.RenameAppend(model.ISSUE_UID, arg[0])
|
|
m.DisplayInputKeyNameIconTitle()
|
|
return
|
|
case MeetPlan:
|
|
args = append(args, model.STATUS, kit.Format(IssueCreate))
|
|
}
|
|
s.InputsUID(m, arg, Issue{}, args...)
|
|
default:
|
|
s.Tables.Inputs(m, arg...)
|
|
}
|
|
}
|
|
func (s Date) Discuss(m *ice.Message, arg ...string) {
|
|
msg := m.Cmd(Issue{}, s.Select, model.UID, m.Option(model.ISSUE_UID), m.OptionSimple(model.STORY_UID))
|
|
m.Cmdy(Meet{}, s.Create, m.OptionSimple(model.ISSUE_UID), arg, model.FROM_USER_UID, m.Option(model.USER_UID), model.TO_USER_UID, msg.Append(model.USER_UID),
|
|
msg.AppendSimple(model.TITLE), model.CONTENT, msg.Append(model.ISSUE_CONTENT))
|
|
}
|
|
func (s Date) List(m *ice.Message, arg ...string) {
|
|
s.Limit(m, 300)
|
|
if msg := s.SelectJoinAuth(m.Cmd(story{}, s.Select, model.UID, arg[0])); msg.Append("auth_status") == "issued" {
|
|
m.Cmdy(Meet{}, s.Select, msg.AppendSimple(model.COMPANY_UID))
|
|
} else {
|
|
m.Cmdy(Meet{}, s.Select, model.STORY_UID, arg[0])
|
|
}
|
|
s.SelectJoin(m, story{}, model.NAME, model.INFO)
|
|
m.RenameAppend(model.TO_USER_UID, model.USER_UID)
|
|
m.Action().Display("").DisplayCSS("")
|
|
s.head(m)
|
|
}
|
|
|
|
func init() { ice.TeamCtxCmd(Date{}) }
|
|
|
|
func (s Date) head(m *ice.Message, arg ...string) {
|
|
s.SettingSelect(m)
|
|
head := []string{}
|
|
for i := -kit.Int(m.OptionDefault("date_begin", kit.Select(m.Option(DATE_BEGIN_DAYS), "0", m.IsMobileUA()))); i < kit.Int(m.OptionDefault("date_end", m.Option(DATE_END_DAYS))); i++ {
|
|
head = append(head, strings.Split(m.Time(kit.Format("%dh", i*24)), " ")[0])
|
|
}
|
|
list := []string{}
|
|
for i := kit.Int(m.OptionDefault("date_start", m.Option(DATE_START_HOURS))) * 2; i < kit.Int(m.OptionDefault("date_stop", m.Option(DATE_STOP_HOURS)))*2; i++ {
|
|
if i%2 == 0 {
|
|
list = append(list, kit.Format("%2d:00", i/2))
|
|
} else {
|
|
list = append(list, kit.Format("%2d:30", i/2))
|
|
}
|
|
}
|
|
m.Option("head", strings.Join(head, ","))
|
|
m.Option("list", strings.Join(list, ","))
|
|
}
|