58 lines
1.7 KiB
Go
58 lines
1.7 KiB
Go
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,
|
|
)))
|
|
}
|