diff --git a/src/production/common.go b/src/production/common.go index 2fd1a85..ccc7138 100644 --- a/src/production/common.go +++ b/src/production/common.go @@ -182,7 +182,10 @@ func (s Table) PushIssueButton(m *ice.Message, value ice.Maps, arg ...ice.Any) { button = append(button, arg...) } if isLeaderFinish { - button = append(button, s.Finish, s.Reback) + button = append(button, s.Finish) + } + if isLeader { + button = append(button, s.Reback) } case IssueFinish: if isWorker && value[model.LINK] != "" { diff --git a/src/production/date.go b/src/production/date.go index a67588a..3e1aa77 100644 --- a/src/production/date.go +++ b/src/production/date.go @@ -59,11 +59,11 @@ func init() { ice.TeamCtxCmd(Date{}) } func (s Date) head(m *ice.Message, arg ...string) { head := []string{} - for i := -kit.Int(m.OptionDefault("date_begin", kit.Select("0", "2", !m.IsMobileUA()))); i < kit.Int(m.OptionDefault("date_end", "2")); i++ { + for i := -kit.Int(m.OptionDefault("date_begin", kit.Select("0", "2", !m.IsMobileUA()))); i < kit.Int(m.OptionDefault("date_end", "3")); i++ { head = append(head, strings.Split(m.Time(kit.Format("%dh", i*24)), " ")[0]) } list := []string{} - for i := kit.Int(m.OptionDefault("date_start", "40")); i < kit.Int(m.OptionDefault("date_stop", "44")); i++ { + for i := kit.Int(m.OptionDefault("date_start", "18")); i < kit.Int(m.OptionDefault("date_stop", "48")); i++ { if i%2 == 0 { list = append(list, kit.Format("%2d:00", i/2)) } else { diff --git a/src/production/issue.go b/src/production/issue.go index 6e8acdb..795e00c 100644 --- a/src/production/issue.go +++ b/src/production/issue.go @@ -10,6 +10,7 @@ import ( type Issue struct { Table order string `data:"2"` + portal string `data:"true"` fields string `data:"updated_at,title,issue_content,issue_type,level,status,price,score,link,design_count,task_count,begin_time,end_time,process_time,finish_time,plan_uid,story_uid,user_uid"` create string `name:"create plan_uid*:select title* issue_content* price=1000 begin_time:select@date end_time:select@date" role:"worker"` modify string `name:"modify title* issue_content* price* link" role:"worker"` diff --git a/src/production/portal.go b/src/production/portal.go index f4cc72f..42a7018 100644 --- a/src/production/portal.go +++ b/src/production/portal.go @@ -15,11 +15,11 @@ type Portal struct { func (s Plan) AfterMigrate(m *ice.Message, arg ...string) { s.Table.AfterMigrate(m, arg...) - s.SettingCreate(m, "leader_approved", "radio", "help", "允许管理人员审批项目", "role", "creator") - s.SettingCreate(m, "leader_finish", "radio", "help", "允许管理人员验收项目", "role", "creator") - s.SettingCreate(m, "leader_payfor", "radio", "help", "允许管理人员支付项目", "role", "creator") - s.SettingCreate(m, "leader_program", "radio", "help", "允许管理人员本地开发", "role", "tech") - s.SettingCreate(m, "creator_program", "radio", "help", "允许创建人本地开发", "role", "tech") + s.SettingCreate(m, "leader_approved", "", "允许管理人员审批项目", "creator", "100") + s.SettingCreate(m, "leader_finish", "", "允许管理人员验收项目", "creator", "101") + s.SettingCreate(m, "leader_payfor", "", "允许管理人员支付项目", "creator", "102") + s.SettingCreate(m, "leader_program", "", "允许管理人员本地开发", "tech", "103") + s.SettingCreate(m, "creator_program", "", "允许创建人本地开发", "tech", "104") } func (s Portal) AfterPlaceAuth(m *ice.Message, arg ...string) { defer s.DashboardCreate(m, "")() diff --git a/src/production/portal.json b/src/production/portal.json index d8f8da4..1496ebc 100644 --- a/src/production/portal.json +++ b/src/production/portal.json @@ -19,7 +19,6 @@ "finish": "notice", "issueCreate": "notice", "designCreate": "notice", - "taskCreate": "notice", "caseCreate": "notice" }, "icons": { diff --git a/src/production/take.go b/src/production/take.go index 94d1786..b9c0b53 100644 --- a/src/production/take.go +++ b/src/production/take.go @@ -41,12 +41,14 @@ func (s take) List(m *ice.Message, arg ...string) { } } m.Cmd(Plan{}, s.Select, model.STORY_UID, value[model.UID]).Table(func(val ice.Maps) { + task_count := 0 switch PlanStatus(kit.Int(val[model.PLAN_STATUS])) { case PlanProcess: if kit.Int(val[model.ISSUE_COUNT]) == 0 { push(val, "PM可接单") } else { m.Cmd(Issue{}, s.Select, model.STORY_UID, value[model.UID], model.PLAN_UID, val[model.UID], model.DESIGN_COUNT, "0").Table(func(val ice.Maps) { + task_count += kit.Int(val[model.TASK_COUNT]) switch IssueStatus(kit.Int(val[model.STATUS])) { case IssueProcess, IssueFinish: push(val, "UI可接单") @@ -54,7 +56,7 @@ func (s take) List(m *ice.Message, arg ...string) { }) } case PlanFinish: - if m.IsTech() { + if task_count == 0 && m.IsTech() { push(val, "RD可接单") } }