|
@@ -1,6 +1,9 @@
|
|
|
package util
|
|
package util
|
|
|
|
|
|
|
|
-import "strings"
|
|
|
|
|
|
|
+import (
|
|
|
|
|
+ "sort"
|
|
|
|
|
+ "strings"
|
|
|
|
|
+)
|
|
|
|
|
|
|
|
// 修改mysql数据库对应的go类型
|
|
// 修改mysql数据库对应的go类型
|
|
|
func formatSqlToVueType(str string) string {
|
|
func formatSqlToVueType(str string) string {
|
|
@@ -76,15 +79,15 @@ func MysqlToVueApi() {
|
|
|
"\n}" +
|
|
"\n}" +
|
|
|
"\n" +
|
|
"\n" +
|
|
|
"\nexport function SaveBase" + table.GreatHump + "(" + table.GreatHump + ": " + table.GreatHump + ") {" +
|
|
"\nexport function SaveBase" + table.GreatHump + "(" + table.GreatHump + ": " + table.GreatHump + ") {" +
|
|
|
- "\n return api.PostDataByPath(\"/back/base/" + table.LittleHump + "\", {article: " + table.GreatHump + "}, true) as Promise<ResponseData<" + table.GreatHump + ">>;" +
|
|
|
|
|
|
|
+ "\n return api.PostDataByPath(\"/back/base/" + table.LittleHump + "\", {" + table.LittleHump + ": " + table.GreatHump + "}, true) as Promise<ResponseData<" + table.GreatHump + ">>;" +
|
|
|
"\n}" +
|
|
"\n}" +
|
|
|
"\n" +
|
|
"\n" +
|
|
|
"\nexport function UpdateBase" + table.GreatHump + "(" + table.GreatHump + ": " + table.GreatHump + ", id: number | string) {" +
|
|
"\nexport function UpdateBase" + table.GreatHump + "(" + table.GreatHump + ": " + table.GreatHump + ", id: number | string) {" +
|
|
|
- "\n return api.GetDataByPath(\"/back/base/" + table.LittleHump + "\", {" + table.LittleHump + ": " + table.GreatHump + ", id: id}, true) as Promise<ResponseData<" + table.GreatHump + ">>;" +
|
|
|
|
|
|
|
+ "\n return api.PutDataByPath(\"/back/base/" + table.LittleHump + "\", {" + table.LittleHump + ": " + table.GreatHump + ", id: id}, true) as Promise<ResponseData<" + table.GreatHump + ">>;" +
|
|
|
"\n}" +
|
|
"\n}" +
|
|
|
"\n" +
|
|
"\n" +
|
|
|
"\nexport function DeleteBase" + table.GreatHump + "ById(id: number | string) {" +
|
|
"\nexport function DeleteBase" + table.GreatHump + "ById(id: number | string) {" +
|
|
|
- "\n return api.GetDataByPath(\"/back/base/" + table.LittleHump + "?id=\" + id, {}, true) as Promise<ResponseData<any>>;" +
|
|
|
|
|
|
|
+ "\n return api.DeleteDataByPath(\"/back/base/" + table.LittleHump + "?id=\" + id, {}, true) as Promise<ResponseData<any>>;" +
|
|
|
"\n}\n\n"
|
|
"\n}\n\n"
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -93,6 +96,345 @@ func MysqlToVueApi() {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// MysqlToVueView 生成vue的view表单
|
|
// MysqlToVueView 生成vue的view表单
|
|
|
-func MysqlToVueView() {
|
|
|
|
|
|
|
+// 查询类型,搁置
|
|
|
|
|
+// 输入框 input
|
|
|
|
|
+// 文本域 textarea
|
|
|
|
|
+// 下拉框 Select
|
|
|
|
|
+// 复选框 Checkbox
|
|
|
|
|
+// 单选框 Radio
|
|
|
|
|
+// 时间选择 Time
|
|
|
|
|
+// 图片上传 image
|
|
|
|
|
+// 文件上传 File
|
|
|
|
|
+// 富文本 Editor
|
|
|
|
|
|
|
|
|
|
+func CreateVue() {
|
|
|
|
|
+ //sql表格名
|
|
|
|
|
+ for _, gTable := range GTables {
|
|
|
|
|
+ view := MysqlToVueView(gTable, gTable.GenTableColumn)
|
|
|
|
|
+ WriteFile("E:\\project\\kkc\\go-xorm-create\\file\\"+gTable.GenTable.Name+"View.vue", view)
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+func MysqlToVueView(table GTable, columns []GenTableColumn) string {
|
|
|
|
|
+ vueContent := "<template>" +
|
|
|
|
|
+ "\n <div class=\"back-form-container\">" +
|
|
|
|
|
+ "\n <div class=\"back-table-handler\">" +
|
|
|
|
|
+ "\n <el-row :gutter=\"10\" class=\"mb8\">" +
|
|
|
|
|
+ "\n <el-col :span=\"1.5\">" +
|
|
|
|
|
+ "\n <el-button" +
|
|
|
|
|
+ "\n type=\"primary\"" +
|
|
|
|
|
+ "\n plain size=\"small\"" +
|
|
|
|
|
+ "\n @click=\"getList(pageNum)\">" +
|
|
|
|
|
+ "\n <el-icon>" +
|
|
|
|
|
+ "\n <RefreshLeft/>" +
|
|
|
|
|
+ "\n </el-icon>" +
|
|
|
|
|
+ "\n <span>刷新</span>" +
|
|
|
|
|
+ "\n </el-button>" +
|
|
|
|
|
+ "\n </el-col>" +
|
|
|
|
|
+ "\n <el-col :span=\"1.5\">" +
|
|
|
|
|
+ "\n <el-button" +
|
|
|
|
|
+ "\n type=\"primary\"" +
|
|
|
|
|
+ "\n plain size=\"small\"" +
|
|
|
|
|
+ "\n @click=\"openDialog('save', " + table.GenTable.Name + ".Create())\">" +
|
|
|
|
|
+ "\n <el-icon>" +
|
|
|
|
|
+ "\n <Plus/>" +
|
|
|
|
|
+ "\n </el-icon>" +
|
|
|
|
|
+ "\n <span>新增</span>" +
|
|
|
|
|
+ "\n </el-button>" +
|
|
|
|
|
+ "\n </el-col>" +
|
|
|
|
|
+ "\n <el-col :span=\"1.5\">" +
|
|
|
|
|
+ "\n <el-button" +
|
|
|
|
|
+ "\n type=\"danger\"" +
|
|
|
|
|
+ "\n plain size=\"small\"" +
|
|
|
|
|
+ "\n @click=\"deleteByIds()\">" +
|
|
|
|
|
+ "\n <el-icon>" +
|
|
|
|
|
+ "\n <Delete/>" +
|
|
|
|
|
+ "\n </el-icon>" +
|
|
|
|
|
+ "\n <span>删除</span>" +
|
|
|
|
|
+ "\n </el-button>" +
|
|
|
|
|
+ "\n </el-col>" +
|
|
|
|
|
+ "\n </el-row>" +
|
|
|
|
|
+ "\n </div>"
|
|
|
|
|
+ //========================================表格部分内容
|
|
|
|
|
+ {
|
|
|
|
|
+ vueContent += "\n <div class=\"back-table\">" +
|
|
|
|
|
+ "\n <el-table v-loading=\"listLoading\" :data=\"list\" @selection-change=\"selected\" border>" +
|
|
|
|
|
+ "\n <el-table-column type=\"selection\" width=\"40\" align=\"center\"/>"
|
|
|
|
|
+ //数组排序
|
|
|
|
|
+ sort.SliceStable(columns, func(i, j int) bool {
|
|
|
|
|
+ return columns[i].Sort < columns[j].Sort
|
|
|
|
|
+ })
|
|
|
|
|
+ for _, column := range columns {
|
|
|
|
|
+ _, value := FormatName(column.ColumnName)
|
|
|
|
|
+ name := column.ColumnComment
|
|
|
|
|
+ if name == "" {
|
|
|
|
|
+ name = value
|
|
|
|
|
+ }
|
|
|
|
|
+ if column.IsKey == "1" {
|
|
|
|
|
+ vueContent += elTableColumn(name, value, column.VueShowType, column.DictType)
|
|
|
|
|
+ } else {
|
|
|
|
|
+ vueContent += elTableColumn(name, value, column.VueShowType, column.DictType)
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ vueContent += "\n <el-table-column label=\"操作\" align=\"center\" fixed=\"right\">" +
|
|
|
|
|
+ "\n <template #default=\"scope\">" +
|
|
|
|
|
+ "\n <el-button link type=\"primary\" @click=\"openDialog('update',scope.row)\">修改</el-button>" +
|
|
|
|
|
+ "\n <el-button link type=\"danger\" @click=\"deleteById(scope.row.id)\">删除</el-button>" +
|
|
|
|
|
+ "\n </template>" +
|
|
|
|
|
+ "\n </el-table-column>" +
|
|
|
|
|
+ "\n </el-table>" +
|
|
|
|
|
+ "\n <div class=\"pagination-container\">" +
|
|
|
|
|
+ "\n <el-pagination" +
|
|
|
|
|
+ "\n background" +
|
|
|
|
|
+ "\n :current-page=\"pageNum\"" +
|
|
|
|
|
+ "\n @current-change=\"getList\"" +
|
|
|
|
|
+ "\n :page-size=\"pageSize\"" +
|
|
|
|
|
+ "\n :page-sizes=\"[10, 20, 30, 50,100]\"" +
|
|
|
|
|
+ "\n :total=\"total\"" +
|
|
|
|
|
+ "\n @size-change=\"SetPageSized\"" +
|
|
|
|
|
+ "\n layout=\"total, sizes, prev, pager, next\"" +
|
|
|
|
|
+ "\n />" +
|
|
|
|
|
+ "\n </div>"
|
|
|
|
|
+ }
|
|
|
|
|
+ //===========================================form表单修改
|
|
|
|
|
+ {
|
|
|
|
|
+ vueContent += "\n <!-- 添加或修改参数配置对话框 -->" +
|
|
|
|
|
+ "\n <el-dialog :title=\"dialogType=='update'?'更改字典类型':'新增字典类型'\" v-model=\"open\" width=\"500px\"" +
|
|
|
|
|
+ "\n append-to-body>" +
|
|
|
|
|
+ "\n <el-form ref=\"dictRef\" :model=\"dialogForm\" label-width=\"80px\"><!--:rules=\"rules\"-->"
|
|
|
|
|
+ for _, column := range columns {
|
|
|
|
|
+ _, value := FormatName(column.ColumnName)
|
|
|
|
|
+ if strings.ToLower(value) == "id" {
|
|
|
|
|
+ continue
|
|
|
|
|
+ }
|
|
|
|
|
+ name := column.ColumnComment
|
|
|
|
|
+ if name == "" {
|
|
|
|
|
+ name = value
|
|
|
|
|
+ }
|
|
|
|
|
+ vueContent += elDialog(name, value, column.VueShowType, column.DictType)
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ vueContent += "\n </el-form>" +
|
|
|
|
|
+ "\n <template #footer>" +
|
|
|
|
|
+ "\n <div class=\"dialog-footer\">" +
|
|
|
|
|
+ "\n <el-button type=\"primary\" @click=\"submitForm()\">确 定</el-button>" +
|
|
|
|
|
+ "\n <el-button @click=\"open=false\">取 消</el-button>" +
|
|
|
|
|
+ "\n </div>" +
|
|
|
|
|
+ "\n </template>" +
|
|
|
|
|
+ "\n </el-dialog>" +
|
|
|
|
|
+ "\n </div>" +
|
|
|
|
|
+ "\n </div>" +
|
|
|
|
|
+ "\n</template>" +
|
|
|
|
|
+ "\n" +
|
|
|
|
|
+ // =============================js代码部分
|
|
|
|
|
+ "\n<script setup lang=\"ts\">" +
|
|
|
|
|
+ "\nimport {ref} from \"vue\";" +
|
|
|
|
|
+ "\nimport {" +
|
|
|
|
|
+ "\n DeleteBase" + table.GenTable.Name + "ById," +
|
|
|
|
|
+ "\n " + table.GenTable.Name + "," +
|
|
|
|
|
+ "\n GetBase" + table.GenTable.Name + "ListBy" + table.GenTable.Name + "," +
|
|
|
|
|
+ "\n SaveBase" + table.GenTable.Name + "," +
|
|
|
|
|
+ "\n UpdateBase" + table.GenTable.Name + "" +
|
|
|
|
|
+ "\n} from \"../../../api/back/BaseBackApi.ts\";" +
|
|
|
|
|
+ "\nimport {ElMessage} from \"element-plus\";" +
|
|
|
|
|
+ "\nimport {Delete, Plus, RefreshLeft} from \"@element-plus/icons-vue\";" +
|
|
|
|
|
+ "\nimport router from \"../../../router\";" +
|
|
|
|
|
+ "\nimport {store} from \"../../../state/TokenState.ts\";" +
|
|
|
|
|
+ "\n" +
|
|
|
|
|
+ "\nlet listLoading = ref(true)" +
|
|
|
|
|
+ "\n" +
|
|
|
|
|
+ "\nlet total = ref(0)" +
|
|
|
|
|
+ "\nlet pageNum = ref(1)" +
|
|
|
|
|
+ "\nlet pageSize = ref(10)" +
|
|
|
|
|
+ "\n" +
|
|
|
|
|
+ "\nlet list = ref<" + table.GenTable.Name + "[]>([])" +
|
|
|
|
|
+ "\n//搜索用" +
|
|
|
|
|
+ "\nlet search = ref<" + table.GenTable.Name + ">(" + table.GenTable.Name + ".Create())" +
|
|
|
|
|
+ "\n//修改,添加用" +
|
|
|
|
|
+ "\nlet open = ref(false)" +
|
|
|
|
|
+ "\nlet dialogType = ref(\"\")//save添加,update修改" +
|
|
|
|
|
+ "\nlet dialogForm = ref<" + table.GenTable.Name + ">(null)" +
|
|
|
|
|
+ "\n" +
|
|
|
|
|
+ "\nlet selectItems = ref<" + table.GenTable.Name + "[]>([])" +
|
|
|
|
|
+ "\nconst selected = (arr: " + table.GenTable.Name + "[]) => {" +
|
|
|
|
|
+ "\n selectItems.value = arr" +
|
|
|
|
|
+ "\n}" +
|
|
|
|
|
+ "\n" +
|
|
|
|
|
+ "\ngetList()" +
|
|
|
|
|
+ "\nconst SetPageSized = (val: number) => {" +
|
|
|
|
|
+ "\n pageSize.value = val" +
|
|
|
|
|
+ "\n getList(pageNum.value)" +
|
|
|
|
|
+ "\n}" +
|
|
|
|
|
+ "\n" +
|
|
|
|
|
+ "\nfunction openDialog(type: string, row: " + table.GenTable.Name + ") {" +
|
|
|
|
|
+ "\n open.value = true" +
|
|
|
|
|
+ "\n dialogType.value = type" +
|
|
|
|
|
+ "\n //深拷贝,不会影响数据" +
|
|
|
|
|
+ "\n dialogForm.value = JSON.parse(JSON.stringify(row))" +
|
|
|
|
|
+ "\n" +
|
|
|
|
|
+ "\n}" +
|
|
|
|
|
+ "\n" +
|
|
|
|
|
+ "\nfunction deleteByIds() {" +
|
|
|
|
|
+ "\n for (let i = 0; i < selectItems.value.length; i++) {" +
|
|
|
|
|
+ "\n deleteById(selectItems[i].id)" +
|
|
|
|
|
+ "\n }" +
|
|
|
|
|
+ "\n}" +
|
|
|
|
|
+ "\n" +
|
|
|
|
|
+ "\nfunction deleteById(id) {" +
|
|
|
|
|
+ "\n DeleteBase" + table.GenTable.Name + "ById(id).then(response => {" +
|
|
|
|
|
+ "\n if (response.code == 200) {" +
|
|
|
|
|
+ "\n ElMessage.success(\"删除成功,id:\" + id)" +
|
|
|
|
|
+ "\n getList()" +
|
|
|
|
|
+ "\n } else {" +
|
|
|
|
|
+ "\n ElMessage.error(\"删除失败,id:\" + id)" +
|
|
|
|
|
+ "\n }" +
|
|
|
|
|
+ "\n })" +
|
|
|
|
|
+ "\n}" +
|
|
|
|
|
+ "\n" +
|
|
|
|
|
+ "\nfunction getList(pn = 1) {" +
|
|
|
|
|
+ "\n pageNum.value = pn" +
|
|
|
|
|
+ "\n GetBase" + table.GenTable.Name + "ListBy" + table.GenTable.Name + "(search.value, pageNum.value, pageSize.value).then(response => {" +
|
|
|
|
|
+ "\n let data = response.data" +
|
|
|
|
|
+ "\n total.value = data.total" +
|
|
|
|
|
+ "\n list.value = response.data.list" +
|
|
|
|
|
+ "\n listLoading.value = false" +
|
|
|
|
|
+ "\n })" +
|
|
|
|
|
+ "\n}" +
|
|
|
|
|
+ "\n" +
|
|
|
|
|
+ "\nfunction submitForm() {" +
|
|
|
|
|
+ "\n switch (dialogType.value) {" +
|
|
|
|
|
+ "\n case \"update\":" +
|
|
|
|
|
+ "\n UpdateBase" + table.GenTable.Name + "(dialogForm.value, dialogForm.value.id).then(response => {" +
|
|
|
|
|
+ "\n if (response.code == 200) {" +
|
|
|
|
|
+ "\n open.value = false" +
|
|
|
|
|
+ "\n getList()" +
|
|
|
|
|
+ "\n ElMessage.success(\"修改成功\")" +
|
|
|
|
|
+ "\n } else {" +
|
|
|
|
|
+ "\n ElMessage.error(\"修改失败\")" +
|
|
|
|
|
+ "\n }" +
|
|
|
|
|
+ "\n })" +
|
|
|
|
|
+ "\n break" +
|
|
|
|
|
+ "\n case \"save\":" +
|
|
|
|
|
+ "\n SaveBase" + table.GenTable.Name + "(dialogForm.value).then(response => {" +
|
|
|
|
|
+ "\n if (response.code == 200) {" +
|
|
|
|
|
+ "\n open.value = false" +
|
|
|
|
|
+ "\n getList()" +
|
|
|
|
|
+ "\n ElMessage.success(\"添加成功\")" +
|
|
|
|
|
+ "\n } else {" +
|
|
|
|
|
+ "\n ElMessage.error(\"添加失败\")" +
|
|
|
|
|
+ "\n }" +
|
|
|
|
|
+ "\n })" +
|
|
|
|
|
+ "\n break" +
|
|
|
|
|
+ "\n default:" +
|
|
|
|
|
+ "\n break" +
|
|
|
|
|
+ "\n }" +
|
|
|
|
|
+ "\n}" +
|
|
|
|
|
+ "\n</script>"
|
|
|
|
|
+ }
|
|
|
|
|
+ return vueContent
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 输入框 input
|
|
|
|
|
+// 文本域 textarea
|
|
|
|
|
+// 下拉框 Select
|
|
|
|
|
+// 复选框 Checkbox
|
|
|
|
|
+// 单选框 Radio
|
|
|
|
|
+// 时间选择 Time
|
|
|
|
|
+// 图片上传 Image
|
|
|
|
|
+// 文件上传 File
|
|
|
|
|
+// 富文本 Editor
|
|
|
|
|
+func elTableColumn(name, value, typeName string, dictType string) string {
|
|
|
|
|
+ if typeName == "input" || typeName == "textarea" || typeName == "select" || typeName == "radio" || typeName == "checkbox" || typeName == "time" {
|
|
|
|
|
+ if dictType == "" {
|
|
|
|
|
+ return "\n <el-table-column label=\"" + name + "\" align=\"center\" prop=\"" + value + "\"/>"
|
|
|
|
|
+ } else {
|
|
|
|
|
+ return "\n <el-table-column label=\"" + name + "\" align=\"center\" prop=\"" + value + "\">" +
|
|
|
|
|
+ "\n <template #default=\"scope\">" +
|
|
|
|
|
+ "\n <DictTag :dict-type=\"'" + dictType + "'\" :dict-value=\"scope.row." + value + "\"/>" +
|
|
|
|
|
+ "\n </template>" +
|
|
|
|
|
+ "\n </el-table-column>"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ if typeName == "image" {
|
|
|
|
|
+ return "\n <el-table-column label=\"" + name + "\" align=\"center\" prop=\"" + value + "\">" +
|
|
|
|
|
+ "\n <template #default=\"scope\">" +
|
|
|
|
|
+ "\n <el-image src=" + value + "></el-image>" +
|
|
|
|
|
+ "\n </template>" +
|
|
|
|
|
+ "\n </el-table-column>"
|
|
|
|
|
+ }
|
|
|
|
|
+ return ""
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+func elDialog(name, value, typeName, dictType string) string {
|
|
|
|
|
+ typeName = strings.ToLower(typeName)
|
|
|
|
|
+ if typeName == "input" {
|
|
|
|
|
+ return "\n <el-form-item label=\"" + name + "\" prop=\"" + value + "\">" +
|
|
|
|
|
+ "\n <el-input v-model=\"dialogForm." + value + "\" placeholder=\"请输入" + name + "\"/>" +
|
|
|
|
|
+ "\n </el-form-item>"
|
|
|
|
|
+ } else if typeName == "number" {
|
|
|
|
|
+ return "\n <el-form-item label=\"" + name + "\" prop=\"" + value + "\">" +
|
|
|
|
|
+ "\n <el-input-number v-model=\"dialogForm." + value + "\" placeholder=\"请输入" + name + "\"/>" +
|
|
|
|
|
+ "\n </el-form-item>"
|
|
|
|
|
+ } else if typeName == "textarea" {
|
|
|
|
|
+ return "\n <el-form-item label=\"" + name + "\" prop=\"" + value + "\">" +
|
|
|
|
|
+ "\n <el-input v-model=\"dialogForm." + value + "\" placeholder=\"请输入" + name + "\" type=\"textarea\"/>" +
|
|
|
|
|
+ "\n </el-form-item>"
|
|
|
|
|
+ } else if typeName == "select" {
|
|
|
|
|
+ return "" +
|
|
|
|
|
+ "\n <el-form-item label=\"" + name + "\" prop=\"" + value + "\">" +
|
|
|
|
|
+ "\n <el-select v-model=\"dialogForm." + value + "\" placeholder=\"请选择" + name + "\">" +
|
|
|
|
|
+ "\n <el-option" +
|
|
|
|
|
+ "\n v-for=\"item in store.state.dicts.get('" + dictType + "')\"" +
|
|
|
|
|
+ "\n :key=\"item.dictValue\"" +
|
|
|
|
|
+ "\n :label=\"item.dictLabel\"" +
|
|
|
|
|
+ "\n :value=\"item.dictValue\"/>" +
|
|
|
|
|
+ "\n </el-select>" +
|
|
|
|
|
+ "\n </el-form-item>"
|
|
|
|
|
+ } else if typeName == "radio" {
|
|
|
|
|
+ if dictType == "" {
|
|
|
|
|
+ return "\n <el-form-item label=\"" + name + "\" prop=\"" + value + "\">" +
|
|
|
|
|
+ " <el-radio-group v-model=\"dialogForm." + value + "\">" +
|
|
|
|
|
+ "\n <el-radio" +
|
|
|
|
|
+ "\n v-for=\"item in [['0','否'], ['1','是']]\"" +
|
|
|
|
|
+ "\n :key=\"item[0]\"" +
|
|
|
|
|
+ "\n :label=\"item[0]\">" +
|
|
|
|
|
+ "\n {{ item[1] }}" +
|
|
|
|
|
+ "\n </el-radio>" +
|
|
|
|
|
+ "\n </el-radio-group>" +
|
|
|
|
|
+ "\n </el-form-item>"
|
|
|
|
|
+ } else {
|
|
|
|
|
+ return "\n <el-form-item label=\"" + name + "\" prop=\"" + value + "\">" +
|
|
|
|
|
+ "\n <el-radio-group v-model=\"dialogForm." + value + "\">" +
|
|
|
|
|
+ "\n <el-radio" +
|
|
|
|
|
+ "\n v-for=\"item in store.state.dicts.get(" + dictType + ")\"" +
|
|
|
|
|
+ "\n :key=\"item.dictValue\"" +
|
|
|
|
|
+ "\n :label=\"item.dictLabel\">" +
|
|
|
|
|
+ "\n {{item.dictLabel}}" +
|
|
|
|
|
+ "\n </el-radio>" +
|
|
|
|
|
+ "\n </el-radio-group>" +
|
|
|
|
|
+ "\n </el-form-item>"
|
|
|
|
|
+ }
|
|
|
|
|
+ } else if typeName == "checkbox" {
|
|
|
|
|
+ return "\n <el-form-item label=\"" + name + "\" prop=\"" + value + "\">" +
|
|
|
|
|
+ "\n <el-checkbox-group v-model=\"dialogForm." + value + "\">" +
|
|
|
|
|
+ "\n <el-checkbox :label=\"item.dictLabel\" :value=\"item.dictValue\" v-for=\"item in store.state.dicts.get('" + dictType + "')\"/>" +
|
|
|
|
|
+ "\n </el-checkbox-group>" +
|
|
|
|
|
+ "\n </el-form-item>"
|
|
|
|
|
+ } else if typeName == "time" {
|
|
|
|
|
+ return "\n <el-form-item label=\"" + name + "\" prop=\"" + value + "\">" +
|
|
|
|
|
+ " <el-date-picker v-model=\"dialogForm." + value + "\" type=\"datetime\" placeholder=\"请选择时间\"\n/>" +
|
|
|
|
|
+ "\n </el-form-item>"
|
|
|
|
|
+ } else if typeName == "image" {
|
|
|
|
|
+ return "\n <el-form-item label=\"" + name + "\" prop=\"" + value + "\">" +
|
|
|
|
|
+ " <ImageUpload v-model:ImgUrl=\"dialogForm." + value + "\"/>" +
|
|
|
|
|
+ "\n </el-form-item>"
|
|
|
|
|
+ } else if typeName == "file" {
|
|
|
|
|
+
|
|
|
|
|
+ } else if typeName == "editor" {
|
|
|
|
|
+
|
|
|
|
|
+ return "\n <el-form-item label=\"" + name + "\" prop=\"" + value + "\">" +
|
|
|
|
|
+ " <EditorComponent v-model:htmlString=\"dialogForm." + value + "\"/>" +
|
|
|
|
|
+ "\n </el-form-item>"
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+ return ""
|
|
|
}
|
|
}
|