package createView import ( "fyne.io/fyne/v2" "fyne.io/fyne/v2/container" "fyne.io/fyne/v2/dialog" "fyne.io/fyne/v2/widget" "work_cation/global" "work_cation/models" "work_cation/pkg/utils" "work_cation/repo" "work_cation/service" ) func CreateExecFile(w fyne.Window) fyne.CanvasObject { if erlangCard == nil { erlangCard = &models.ErlangCards{ UUID: utils.Uuid.CreateUUID(), UserID: repo.User.GetUserInfo(global.DB).ID, } } var ( // 基础表单 formBase = &widget.Form{} // 变量表单 formVars = &widget.Form{} ) formBase.AppendItem(&widget.FormItem{Text: "名称", Widget: newDefaultEntry(&erlangCard.Title)}) formBase.AppendItem(&widget.FormItem{Text: "描述", Widget: newDefaultEntry(&erlangCard.Text)}) formBase.AppendItem(&widget.FormItem{Text: "封面", Widget: newDefaultEntry(&erlangCard.Covers), HintText: "暂未支持可不填"}) formBase.AppendItem(&widget.FormItem{Text: "是否默认展示", Widget: newDefaultEntry(&erlangCard.IsShowOut)}) formBase.AppendItem(&widget.FormItem{Text: "模版内容", Widget: newDefaultEntryCallback(&erlangCard.Template, func() { generateVariableForm1(erlangCard, formVars) })}) // 刷新变量表单 generateVariableForm1(erlangCard, formVars) // 保存按钮 buttonSave := widget.NewButton("保存", func() { err := service.ErlangCard.Create(erlangCard) if err != nil { dialog.ShowError(err, w) return } dialog.ShowInformation("ok", "创建成功", w) // 更换 erlangCard.UUID = utils.Uuid.CreateUUID() }) return container.NewBorder(container.NewHBox(widget.NewLabel("新建"), widget.NewSeparator()), nil, nil, nil, container.NewScroll( container.NewVBox( formBase, formVars, buttonSave, ))) }