anncic-apihelper 3.4.87 → 3.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/configuration.js +38 -1
- package/dist/helper.js +40 -1
- package/dist/index.js +8 -1
- package/dist/service/ApicreateService.js +259 -1
- package/dist/templateFun/Action.js +57 -1
- package/dist/templateFun/Common.js +50 -1
- package/dist/templateFun/Entities.js +131 -1
- package/dist/templateFun/Event.js +24 -1
- package/dist/templateFun/Handler.js +99 -1
- package/dist/templateFun/Search.js +85 -1
- package/dist/templateFun/Validator.js +238 -1
- package/dist/templateVue/Api.js +53 -1
- package/dist/templateVue/Layout.js +39 -1
- package/dist/templateVue/LayoutVue.js +398 -1
- package/dist/templateVue/Router.js +36 -1
- package/dist/templateVue/Validator.js +188 -1
- package/dist/templateVueV2/Api.js +43 -1
- package/dist/templateVueV2/Layout.js +36 -1
- package/dist/templateVueV2/LayoutVue.js +392 -1
- package/dist/templateVueV2/Router.js +39 -1
- package/dist/templateVueV2/Validator.js +180 -1
- package/dist/templateVueV3/Api.js +43 -1
- package/dist/templateVueV3/Layout.js +36 -1
- package/dist/templateVueV3/LayoutVue.js +567 -1
- package/dist/templateVueV3/Router.js +47 -1
- package/dist/templateVueV3/Validator.js +180 -1
- package/dist/types/index.js +3 -1
- package/package.json +3 -3
|
@@ -1 +1,567 @@
|
|
|
1
|
-
function a23_0x160d(){const _0x1e91fc=['mkdirSync','/pages/','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','\x22\x20:limit=\x221\x22\x20','\x20\x20\x20\x20\x20\x20\x20\x20router.back();\x0a','<dialog-add-vue\x20ref=\x22refDialogAdd\x22\x20@save=\x22LoadDatas()\x22\x20/>','\x22\x20type=\x22primary\x22\x20text>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20编辑\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</el-button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<el-button\x20v-if=\x22$hasPrem(`post@/','14ePKrhJ','\x20\x20\x20\x20</page-main>\x0a','EditRule\x20}\x20from\x20\x27../interface\x27;\x0a','<template\x20#reference>','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','datetime','\x0aimport\x20{\x20','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','开始时间\x22\x20type=\x22datetime\x22\x20value-format=\x22YYYY-MM-DD\x20HH:mm:ss\x22/>','apply','import\x20{\x20','\x22\x20align=\x22center\x22\x20fixed=\x22left\x22\x20/>','string','(((.+)+)+)+$','3qRSVzx','开始时间\x22\x20type=\x22date\x22\x20value-format=\x22YYYY-MM-DD\x22/>','thumbs','285789uWMlXD','default','Edit(item.','longtext','thumb','</template>\x0a','结束时间\x22\x20type=\x22date\x22\x20value-format=\x22YYYY-MM-DD\x22/>','displayorder','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','1399548opgtnF','defineExpose({\x20open\x20})\x0a','}\x0a\x0a\x0a','\x22\x20type=\x22date\x22\x20value-format=\x22YYYY-MM-DD\x22/>','Add\x20}\x20from\x20\x27@/apis/','<el-form-item\x20label=\x22排序\x22\x20prop=\x22displayorder\x22>','Detail\x20}\x20from\x20\x27@/apis/','cwd','</el-form-item>','deleted_at','img','4584816LPwVpY',',\x20{\x20[field]:\x20item[field]\x20}).then(res\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(\x20typeof(res?.data)\x20!=\x20\x27undefined\x27\x20){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20item\x20=\x20res.data;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20loading.value\x20=\x20false,\x20$notify.success(res?.message\x20||\x20\x27操作成功\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}).catch(err\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20loading.value\x20=\x20false,\x20$notify.error(err\x20||\x20\x27操作失败\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20})\x0a\x20\x20\x20\x20}\x0a}\x0a\x0a/**\x0a\x20*\x20加载数据\x0a\x20*\x20**/\x0aLoadDatas()\x0a\x0a</script>','existsSync',')\x20{\x0a','Detail(','Comment','getProp','<el-popover\x20placement=\x22bottom\x22\x20trigger=\x22click\x22>','apps/','const\x20loading\x20=\x20ref(false),\x20router\x20=\x20useRouter();\x0a\x0a','updated_at','/edit/:','\x22\x20value=\x22','\x22\x20target=\x22_blank\x22\x20title=\x22查看最大化图片\x22>','5VlOfpA','\x22\x20clearable/>','\x22\x20split=\x22-\x22\x20clearable/>','/pages/apps/','<template>\x0a','timestamp',':\x20item.','\x22\x20lakey=\x22id\x22\x20\x20label=\x22id\x22\x20clearable/>','<el-input-number\x20v-model=\x22formdata.','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<el-table-column\x20label=\x22排序\x22\x20prop=\x22displayorder\x22\x20align=\x22center\x22\x20width=\x2280\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<template\x20#default=\x22scope\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<el-input\x20v-model=\x22scope.row.displayorder\x22\x20type=\x22number\x22\x20@change=\x22handlerFieldChange(scope.row,\x27displayorder\x27)\x22></el-input>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</template>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</el-table-column>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<el-table-column\x20label=\x22操作\x22\x20align=\x22center\x22\x20fixed=\x22right\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<template\x20#default=\x22scope\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<el-button\x20v-if=\x22$hasPrem(`get@/','\x20\x20\x20\x20\x20\x20\x20\x20loading.value\x20=\x20true,\x20','const\x20loading\x20=\x20ref(false),\x20refDialog\x20=\x20ref(null),\x20refForm\x20=\x20ref(null),\x20formdata\x20=\x20ref<any>({}),\x20emits\x20=\x20defineEmits([\x27save\x27]),\x20open\x20=\x20(',')\x20=>\x20{\x0a','\x22\x20:limit=\x225\x22\x20','<dialog-edit-vue\x20ref=\x22refDialogEdit\x22\x20@save=\x22LoadDatas()\x22/>','\x22\x20:model=\x22formdata\x22\x20:rules=\x22','\x22\x20align=\x27center\x27\x20sortable=\x22custom\x22>','\x22\x20\x20placeholder=\x22请输入','<el-date-picker\x20v-model=\x22props.search.','<el-form-item\x20label=\x22','935752IHmQVc','/list/','Type','\x22\x20align=\x27center\x27\x20sortable=\x22custom\x22\x20show-overflow-tooltip\x20/>','\x20\x20\x20\x20\x20\x20\x20\x20$notify.error(err\x20||\x20\x27网络请求错误\x27)\x0a','43532YqQFEg','\x22\x20placeholder=\x22请输入','_ids','dirname','logo','Edit,\x20','342KibIoT','defineProperty','_start\x22\x20placeholder=\x22选择','\x0a</template>\x0a<script\x20lang=\x22ts\x22\x20setup>\x0aconst\x20props\x20=\x20defineProps({\x0a\x20\x20\x20\x20search:\x20{type:\x20Object\x20,default:\x20()=>{return\x20{}}},\x0a})\x0a</script>','add','\x20\x20\x20\x20\x20\x20\x20\x20formdata.value\x20=\x20res?.data\x20||\x20{},\x20refDialog?.value?.open();\x0a','\x20\x20\x20\x20<page-main>\x0a','\x20\x20\x20\x20}\x20else\x20{\x0a','\x20/>','\x20\x20\x20\x20\x20\x20\x20\x20})\x0a','_end\x22\x20placeholder=\x22选择','getEnum','__esModule','List(Object.assign({},\x20route?.query\x20||\x20{},\x20table.search\x20||\x20{},\x20sortable)).then(res\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20loading.value\x20=\x20false,\x20table.data\x20=\x20res.data\x20||\x20[],\x20table.search\x20=\x20{\x20...table.search,\x20...res?.extra?.pageinfo\x20||\x20{},\x20_count:\x20res?.extra?.pagetotal\x20||\x200\x20};\x0a\x20\x20\x20\x20}).catch(err\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20loading.value\x20=\x20false,\x20$notify.error(err\x20||\x20\x27网络请求错误\x27);\x0a\x20\x20\x20\x20});\x0a}\x0a\x0a/**\x0a\x20*\x20删除数据\x0a\x20*\x20**/\x0aconst\x20handlerRemove\x20=\x20(item:any)\x20=>\x20{\x0a\x20\x20\x20\x20loading.value\x20=\x20true,\x20$confirm(`确定删除数据吗?`,\x20\x27提示\x27,\x20{\x20confirmButtonText:\x20\x27确定\x27,\x20cancelButtonText:\x20\x27取消\x27,\x20type:\x20\x27warning\x27\x20}).then(()\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20','AddRule\x20}\x20from\x20\x27../interface\x27;\x0a','\x22\x20\x20type=\x22primary\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20添加\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</el-button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</template>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<template\x20#column>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','edit/:','<el-date-picker\x20v-model=\x22formdata.','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20loading.value\x20=\x20false,\x20$notify.error(err\x20||\x20\x27网络请求错误\x27),\x20router.back();\x0a','created_at',').then(res\x20=>\x20{\x0a','Add','}`)','\x27;\x0a\x0a','padEnd','\x22\x20placeholder=\x22请选择','\x20as\x20unknown\x20as\x20','\x20\x20\x20\x20','//\x20保存数据\x0a','item).then(res=>{\x0a','}\x0a\x0a','indexOf','<template\x20#default=\x22scope\x22>','<tinymce-editor\x20v-model=\x22formdata.','\x22\x20placeholder=\x22选择','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','<el-input\x20v-model=\x22formdata.','const\x20handlerSave\x20=\x20()=>{\x0a','217662fgerqh','<el-select\x20v-model=\x22formdata.','<template>\x0a\x20\x20\x20\x20',')\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20loading.value\x20=\x20true,\x20','Field','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20loading.value\x20=\x20false,\x20$notify.success(res?.message\x20||\x20\x27操作成功\x27),\x20emits(\x27save\x27),\x20refDialog?.value?.close()\x0a','\x20\x20\x20\x20\x20\x20\x20\x20}).catch(err\x20=>\x20{\x0a','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</template>\x0a','Rule\x22\x20:loading=\x22loading\x22\x20:disabled=\x22!$hasPrem(`post@/','import\x20dialogAddVue\x20from\x20\x27./components/dialog-add.vue\x27;','$refs?.refDialogEdit?.open(scope.row.id)','\x22\x20api=\x22','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','\x22\x20style=\x22cursor:pointer\x22/>','<template>\x0a\x20\x20\x20\x20<page-main>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<elplus-table\x20:datas=\x22table.data\x22\x20:pageinfo=\x22table.search\x22\x20:loading=\x22loading\x22\x20@transform=\x22LoadDatas\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<template\x20#search>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<search\x20v-model:search=\x22table.search\x22\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</template>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<template\x20#header>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<el-button\x20v-if=\x22$hasPrem(`get@/','mediumtext','`)\x22>\x0a','<el-table-column\x20prop=','</a>','num','index.vue','\x22\x20:min=\x221\x22\x20controls-position=\x22right\x22\x20/>','path','utf-8','number','<elplus-select-search\x20v-model=\x22formdata.','\x20label=\x22','\x0a\x20\x20\x20\x20</page-main>\x0a</template>\x0a<script\x20lang=\x22ts\x22\x20setup>\x0aimport\x20search\x20from\x20\x27./components/search.vue\x27;\x0a','\x20\x20\x20\x20\x20\x20\x20\x20}).catch(err=>{\x0a','\x22\x20/>','tags','\x20\x20\x20\x20})\x0a','\x22\x20type=\x22datetime\x22\x20value-format=\x22YYYY-MM-DD\x20HH:mm:ss\x22/>','length','\x22\x20type=\x22textarea\x22\x20:rows=\x224\x22/>','module=\x22','edit','\x22\x20placeholder=\x22请输入或选择','\x20\x20\x20\x20\x20\x20\x20\x20loading.value\x20=\x20true,\x20formdata.value\x20=\x20{};\x0a','Detail,\x20','<script\x20lang=\x22ts\x22\x20setup>\x0a','`)\x22\x20type=\x22primary\x22\x20@click=\x22handlerSave()\x22>保存</el-button>\x0a','\x0a\x20\x20\x20\x20\x20\x20\x20\x20','Edit','11WzgWvk','\x22\x20class=\x22block\x22>','<a\x20:href=\x22scope.row.','\x22\x20clearable>','const\x20getDetail\x20=\x20(','<el-input-number\x20v-model=\x22formdata.displayorder\x22\x20placeholder=\x22请输入排序权重\x22\x20controls-position=\x22right\x22/>','</script>\x0a','/remove`)\x22\x20@click=\x22handlerRemove(scope.row)\x22\x20type=\x22danger\x22\x20text>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20删除\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</el-button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</template>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</el-table-column>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</template>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</elplus-table>\x0a\x20\x20\x20\x20\x20\x20\x20\x20','\x20\x20\x20\x20formdata.value\x20=\x20{},\x20refDialog?.value?.open();\x0a','item.','\x20\x20\x20\x20\x20\x20\x20\x20','writeFileSync','</el-table-column>','search','</template>','substring','\x22>\x0a','\x20\x20\x20\x20\x20\x20\x20\x20</template>\x0a','/vue','\x22\x20prop=\x22','<elplus-select-tags\x20v-model=\x22formdata.','Remove({\x20','//\x20获取详情\x0a','\x20\x20\x20\x20\x20\x20\x20\x20<elplus-form\x20ref=\x22refForm\x22\x20title=\x22','\x27;\x0a\x0aconst\x20loading\x20=\x20ref(false),\x20route\x20=\x20useRoute(),\x20table\x20=\x20reactive({\x0a\x20\x20\x20\x20data:\x20[],\x0a\x20\x20\x20\x20select:\x20[],\x0a\x20\x20\x20\x20search:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20_page:\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20_size:\x2020,\x0a\x20\x20\x20\x20\x20\x20\x20\x20_count:\x200,\x0a\x20\x20\x20\x20}\x0a})\x0a\x0a\x0a/**\x0a\x20*\x20获取数据列表\x0a\x20*\x20@param\x20page\x20分页-当前页\x0a\x20*\x20@param\x20size\x20分页-每页数量\x0a\x20*\x20**/\x0aconst\x20LoadDatas\x20=\x20(page?:\x20number,\x20size?:\x20number,\x20sortable\x20=\x20{})\x20=>\x20{\x0a\x20\x20\x20\x20loading.value\x20=\x20true,\x20page\x20&&\x20(table.search._page\x20=\x20page),\x20size\x20&&\x20(table.search._size\x20=\x20size);\x0a\x20\x20\x20\x20','.vue','$router.push(`add`)','import\x20dialogEditVue\x20from\x20\x27./components/dialog-edit.vue\x27;','date','enum','<el-input-number\x20v-model=\x22props.search.','/add`)\x22\x20@click=\x22','<attachment-image\x20v-model=\x22formdata.','=${scope.row.','\x20\x20\x20\x20formdata.value\x20=\x20{},\x20','Edit\x20}\x20from\x20\x27@/apis/','\x20\x20\x20\x20<elplus-dialog\x20ref=\x22refDialog\x22\x20:loading=\x22loading\x22\x20title=\x22','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<template\x20#footer>\x0a','\x20\x20\x20\x20\x20\x20\x20\x20<template\x20#footer>\x0a','endsWith','117370fYnwZN','substr','<elplus-select-search\x20v-model=\x22props.search.','\x20\x20\x20\x20\x20\x20\x20\x20</elplus-form>\x0a','/components/dialog-','toString','\x20\x20\x20\x20refForm.value?.validate().then((item:\x20any)\x20=>\x20{\x0a','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20loading.value\x20=\x20false,\x20$notify.success(res?.message\x20||\x20\x27操作成功\x27),\x20router.back();\x0a','/index.vue','_id','$refs?.refDialogAdd?.open()','\x20}).then(res\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20loading.value\x20=\x20false,\x20$notify.success(res?.message\x20||\x20\x27删除成功\x27),\x20LoadDatas();\x0a\x20\x20\x20\x20\x20\x20\x20\x20}).catch(err\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20loading.value\x20=\x20false,\x20$notify.error(err\x20||\x20\x27删除失败\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20})\x0a\x20\x20\x20\x20}).catch(()\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20loading.value\x20=\x20false;\x0a\x20\x20\x20\x20})\x0a}\x0a\x0a/**\x0a\x20*\x20修改字段状态\x0a\x20*\x20**/\x0a\x20const\x20handlerFieldChange\x20=\x20(item:\x20any,\x20field:string)=>{\x0a\x20\x20\x20\x20if\x20(item.','tinyint','</el-select>','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20loading.value\x20=\x20false,\x20formdata.value\x20=\x20res.data;\x0a','text','<el-option\x20label=\x22','<el-input\x20v-model=\x22props.search.','\x20\x20\x20\x20if\x20('];a23_0x160d=function(){return _0x1e91fc;};return a23_0x160d();}const a23_0x37a181=a23_0x61ca;(function(_0x59daf8,_0x13303d){const _0x269794=a23_0x61ca,_0x1d33ca=_0x59daf8();while(!![]){try{const _0x4ad8a8=parseInt(_0x269794(0x11f))/0x1+-parseInt(_0x269794(0xa0))/0x2+-parseInt(_0x269794(0x11c))/0x3*(parseInt(_0x269794(0x15a))/0x4)+-parseInt(_0x269794(0x141))/0x5*(-parseInt(_0x269794(0x128))/0x6)+-parseInt(_0x269794(0x10e))/0x7*(parseInt(_0x269794(0x155))/0x8)+-parseInt(_0x269794(0x160))/0x9*(-parseInt(_0x269794(0xf4))/0xa)+parseInt(_0x269794(0xcc))/0xb*(-parseInt(_0x269794(0x133))/0xc);if(_0x4ad8a8===_0x13303d)break;else _0x1d33ca['push'](_0x1d33ca['shift']());}catch(_0x2004c2){_0x1d33ca['push'](_0x1d33ca['shift']());}}}(a23_0x160d,0x37fd5));const a23_0x4ebf11=(function(){let _0x4a90a7=!![];return function(_0xce4af1,_0x4e42e9){const _0x249bcb=_0x4a90a7?function(){const _0x1cdf66=a23_0x61ca;if(_0x4e42e9){const _0x17d08d=_0x4e42e9[_0x1cdf66(0x117)](_0xce4af1,arguments);return _0x4e42e9=null,_0x17d08d;}}:function(){};return _0x4a90a7=![],_0x249bcb;};}()),a23_0x51387d=a23_0x4ebf11(this,function(){const _0x3df235=a23_0x61ca;return a23_0x51387d[_0x3df235(0xf9)]()[_0x3df235(0xd9)](_0x3df235(0x11b))[_0x3df235(0xf9)]()['constructor'](a23_0x51387d)['search'](_0x3df235(0x11b));});a23_0x51387d();'use strict';Object[a23_0x37a181(0x161)](exports,a23_0x37a181(0x16c),{'value':!![]}),exports[a23_0x37a181(0x120)]=default_1;const fs=require('fs'),path_1=require(a23_0x37a181(0xb6)),helper_1=require('../helper');async function default_1({moduleName:_0x1fd82b,controller:_0x4af841,tablestartUpShort:_0x37a6a2,tablestartUpShort2:_0x5d2f13,Primary:_0x3f90fd,Fields:_0x5b4ac0,apporbasic:_0x29d59e,Comment:_0x56cbdd,vuedialog:_0x24dc22}){const _0x257cfd=a23_0x37a181;await createIndex({'moduleName':_0x1fd82b,'controller':_0x4af841,'tablestartUpShort':_0x37a6a2,'tablestartUpShort2':_0x5d2f13,'Primary':_0x3f90fd,'Fields':_0x5b4ac0,'apporbasic':_0x29d59e,'vuedialog':_0x24dc22}),await createSearch({'moduleName':_0x1fd82b,'controller':_0x4af841,'tablestartUpShort2':_0x5d2f13,'Primary':_0x3f90fd,'Fields':_0x5b4ac0,'apporbasic':_0x29d59e,'vuedialog':_0x24dc22}),!_0x24dc22?(await createAddOrEdit({'moduleName':_0x1fd82b,'controller':_0x4af841,'tablestartUpShort':_0x37a6a2,'tablestartUpShort2':_0x5d2f13,'Primary':_0x3f90fd,'Fields':_0x5b4ac0,'apporbasic':_0x29d59e,'Comment':_0x56cbdd},_0x257cfd(0x164)),await createAddOrEdit({'moduleName':_0x1fd82b,'controller':_0x4af841,'tablestartUpShort':_0x37a6a2,'tablestartUpShort2':_0x5d2f13,'Primary':_0x3f90fd,'Fields':_0x5b4ac0,'apporbasic':_0x29d59e,'Comment':_0x56cbdd},_0x257cfd(0xc4))):(await createAddOrEditDialog({'moduleName':_0x1fd82b,'controller':_0x4af841,'tablestartUpShort':_0x37a6a2,'tablestartUpShort2':_0x5d2f13,'Primary':_0x3f90fd,'Fields':_0x5b4ac0,'apporbasic':_0x29d59e,'Comment':_0x56cbdd},_0x257cfd(0x164)),await createAddOrEditDialog({'moduleName':_0x1fd82b,'controller':_0x4af841,'tablestartUpShort':_0x37a6a2,'tablestartUpShort2':_0x5d2f13,'Primary':_0x3f90fd,'Fields':_0x5b4ac0,'apporbasic':_0x29d59e,'Comment':_0x56cbdd},_0x257cfd(0xc4)));}function a23_0x61ca(_0x4d6b82,_0x45facb){const _0xa531a1=a23_0x160d();return a23_0x61ca=function(_0x51387d,_0x4ebf11){_0x51387d=_0x51387d-0x8b;let _0x160d58=_0xa531a1[_0x51387d];return _0x160d58;},a23_0x61ca(_0x4d6b82,_0x45facb);}async function createIndex({moduleName:_0xe15d35,controller:_0x5cb756,tablestartUpShort:_0x58830e,tablestartUpShort2:_0x409b9c,Primary:_0x5275cb,Fields:_0xf66d3c,apporbasic:_0x27ba99,vuedialog:_0x3c5c23}){const _0x2c9eb3=a23_0x37a181;let _0x546bcf=process['cwd']()+_0x2c9eb3(0xde)+(typeof _0x5cb756==_0x2c9eb3(0x11a)?'/'+_0x5cb756:'');_0xe15d35?_0x546bcf=_0x546bcf+(_0x2c9eb3(0x144)+_0xe15d35+'/'+_0x409b9c+(!_0x3c5c23?_0x2c9eb3(0x156):'/')+_0x2c9eb3(0xb4)):_0x546bcf=_0x546bcf+(_0x2c9eb3(0x108)+_0x27ba99+'/'+_0x409b9c+(!_0x3c5c23?'/list/':'/')+_0x2c9eb3(0xb4));if(!fs[_0x2c9eb3(0x135)](_0x546bcf)){let _0x5db95c=_0x2c9eb3(0xb1)+('\x22'+_0x5275cb['Field']+'\x22')[_0x2c9eb3(0x92)](0x14)+(_0x2c9eb3(0xba)+(_0x5275cb[_0x2c9eb3(0x138)]||'编号')+_0x2c9eb3(0x119));for(let _0x52078c in _0xf66d3c){const _0x5b4bca=_0xf66d3c[_0x52078c];if([_0x2c9eb3(0x8d),_0x2c9eb3(0x13d),_0x2c9eb3(0x131),'displayorder']['indexOf'](_0x52078c)!=-0x1)continue;if(_0x52078c[_0x2c9eb3(0xdb)](_0x52078c[_0x2c9eb3(0xc1)]-0x3)==_0x2c9eb3(0x132)||_0x52078c['substring'](_0x52078c[_0x2c9eb3(0xc1)]-0x5)=='thumb'||_0x52078c==_0x2c9eb3(0x123)||_0x52078c[_0x2c9eb3(0xdb)](_0x52078c[_0x2c9eb3(0xc1)]-0x4)==_0x2c9eb3(0x15e)||_0x52078c==_0x2c9eb3(0x15e))_0x5db95c+='\x0a'+_0x2c9eb3(0x127)+_0x2c9eb3(0xb1)+('\x22'+_0x52078c+'\x22')[_0x2c9eb3(0x92)](0x14)+('\x20label=\x22'+(_0x5b4bca[_0x2c9eb3(0x138)]||_0x5b4bca[_0x2c9eb3(0xa4)])+'\x22\x20align=\x27center\x27\x20show-overflow-tooltip>'),_0x5db95c+='\x0a'+_0x2c9eb3(0x115)+_0x2c9eb3(0x9a),_0x5db95c+='\x0a'+_0x2c9eb3(0x109)+_0x2c9eb3(0x13a),_0x5db95c+='\x0a'+_0x2c9eb3(0x112)+(_0x2c9eb3(0xce)+_0x52078c+_0x2c9eb3(0x140)),_0x5db95c+='\x0a'+_0x2c9eb3(0xac)+('<img\x20:src=\x22scope.row.'+_0x52078c+'\x22\x20style=\x22width:\x20100%;max-width:500px\x22\x20/>'),_0x5db95c+='\x0a'+_0x2c9eb3(0x112)+_0x2c9eb3(0xb2),_0x5db95c+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x2c9eb3(0x111),_0x5db95c+='\x0a'+_0x2c9eb3(0xac)+('<el-avatar\x20:src=\x22scope.row.'+_0x52078c+_0x2c9eb3(0xad)),_0x5db95c+='\x0a'+_0x2c9eb3(0x112)+'</template>',_0x5db95c+='\x0a'+_0x2c9eb3(0x109)+'</el-popover>',_0x5db95c+='\x0a'+_0x2c9eb3(0x115)+_0x2c9eb3(0xda),_0x5db95c+='\x0a'+_0x2c9eb3(0x127)+_0x2c9eb3(0xd8);else{if([_0x2c9eb3(0x100)][_0x2c9eb3(0x99)]((0x0,helper_1[_0x2c9eb3(0x139)])(_0x5b4bca[_0x2c9eb3(0x157)]))!=-0x1)_0x5db95c+='\x0a'+_0x2c9eb3(0x127)+'<el-table-column\x20prop='+('\x22'+_0x52078c+'\x22')[_0x2c9eb3(0x92)](0x14)+(_0x2c9eb3(0xba)+(_0x5b4bca['Comment']||_0x5b4bca[_0x2c9eb3(0xa4)])+_0x2c9eb3(0x151)),_0x5db95c+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x2c9eb3(0x9a),_0x5db95c+='\x0a'+_0x2c9eb3(0x109)+('<elplus-switch\x20v-model=\x22scope.row\x22\x20field=\x22'+_0x52078c+'\x22\x20active-text=\x22启用\x22\x20inactive-text=\x22禁用\x22\x20@change=\x22handlerFieldChange\x22\x20/>'),_0x5db95c+='\x0a'+_0x2c9eb3(0x115)+_0x2c9eb3(0xda),_0x5db95c+='\x0a'+_0x2c9eb3(0x127)+'</el-table-column>';else[_0x2c9eb3(0x103)][_0x2c9eb3(0x99)]((0x0,helper_1[_0x2c9eb3(0x139)])(_0x5b4bca[_0x2c9eb3(0x157)]))==-0x1&&(_0x5db95c+='\x0a'+_0x2c9eb3(0x127)+_0x2c9eb3(0xb1)+('\x22'+_0x52078c+'\x22')[_0x2c9eb3(0x92)](0x14)+(_0x2c9eb3(0xba)+(_0x5b4bca[_0x2c9eb3(0x138)]||_0x5b4bca[_0x2c9eb3(0xa4)])+_0x2c9eb3(0x158)));}}const _0x2e176e=''+(typeof _0x5cb756=='string'?_0x5cb756+'/':'')+(_0xe15d35?_0xe15d35+'/':'')+_0x409b9c;fs[_0x2c9eb3(0x107)]((0x0,path_1[_0x2c9eb3(0x15d)])(_0x546bcf),{'recursive':!![]}),fs[_0x2c9eb3(0xd7)](_0x546bcf,_0x2c9eb3(0xae)+_0x2e176e+_0x2c9eb3(0xeb)+(!_0x3c5c23?_0x2c9eb3(0xe6):_0x2c9eb3(0xfe))+_0x2c9eb3(0x16f)+_0x5db95c+_0x2c9eb3(0x14a)+_0x2e176e+_0x2c9eb3(0x13e)+_0x5275cb['Field']+'`)\x22\x20@click=\x22'+(!_0x3c5c23?'$router.push(`edit?'+_0x5275cb[_0x2c9eb3(0xa4)]+_0x2c9eb3(0xed)+_0x5275cb['Field']+_0x2c9eb3(0x90):_0x2c9eb3(0xaa))+_0x2c9eb3(0x10d)+_0x2e176e+_0x2c9eb3(0xd3)+(!_0x3c5c23?'':_0x2c9eb3(0x10c))+_0x2c9eb3(0xca)+(!_0x3c5c23?'':_0x2c9eb3(0x14f))+_0x2c9eb3(0xbb)+(!_0x3c5c23?'':_0x2c9eb3(0xa9))+'\x0a'+(!_0x3c5c23?'':_0x2c9eb3(0xe7))+_0x2c9eb3(0x114)+_0x58830e+'List,\x20'+_0x58830e+'Remove,\x20'+_0x58830e+_0x2c9eb3(0xef)+(_0xe15d35?_0x2c9eb3(0x13b)+_0xe15d35:''+_0x27ba99)+'/'+_0x58830e+_0x2c9eb3(0xe4)+_0x58830e+_0x2c9eb3(0x16d)+_0x58830e+_0x2c9eb3(0xe1)+_0x5275cb['Field']+_0x2c9eb3(0x147)+_0x5275cb[_0x2c9eb3(0xa4)]+_0x2c9eb3(0xff)+_0x5275cb[_0x2c9eb3(0xa4)]+_0x2c9eb3(0xa3)+_0x58830e+_0x2c9eb3(0x121)+_0x5275cb['Field']+_0x2c9eb3(0x134),_0x2c9eb3(0xb7));}}async function createSearch({moduleName:_0x2a857e,tablestartUpShort2:_0x24faf3,controller:_0x134ec8,Primary:_0x18c8c9,Fields:_0x3ac377,apporbasic:_0x305b15,vuedialog:_0x474eed}){const _0x4eeee4=a23_0x37a181;let _0x4cfeb9=process[_0x4eeee4(0x12f)]()+_0x4eeee4(0xde)+(typeof _0x134ec8==_0x4eeee4(0x11a)?'/'+_0x134ec8:'');_0x2a857e?_0x4cfeb9=_0x4cfeb9+('/pages/apps/'+_0x2a857e+'/'+_0x24faf3+(!_0x474eed?'/list/':'/')+'components/search.vue'):_0x4cfeb9=_0x4cfeb9+(_0x4eeee4(0x108)+_0x305b15+'/'+_0x24faf3+(!_0x474eed?'/list/':'/')+'components/search.vue');if(!fs['existsSync'](_0x4cfeb9)){let _0x25f576='';_0x25f576+='\x0a'+_0x4eeee4(0x95)+(_0x4eeee4(0x154)+(_0x18c8c9[_0x4eeee4(0x138)]||'编号')+'\x22>'),_0x25f576+='\x0a'+_0x4eeee4(0xd6)+('<el-input\x20v-model=\x22props.search.'+_0x18c8c9['Field']+'\x22\x20placeholder=\x22请输入'+(_0x18c8c9[_0x4eeee4(0x138)]||'编号')+'\x22\x20clearable/>'),_0x25f576+='\x0a'+'\x20\x20\x20\x20'+_0x4eeee4(0x130);for(let _0x3fd17a in _0x3ac377){const _0x3939e2=_0x3ac377[_0x3fd17a];if(['updated_at','deleted_at','displayorder'][_0x4eeee4(0x99)](_0x3fd17a)!=-0x1)continue;if(_0x3fd17a[_0x4eeee4(0xdb)](_0x3fd17a[_0x4eeee4(0xc1)]-0x3)==_0x4eeee4(0x132)||_0x3fd17a[_0x4eeee4(0xdb)](_0x3fd17a[_0x4eeee4(0xc1)]-0x5)==_0x4eeee4(0x123)||_0x3fd17a==_0x4eeee4(0x123)||_0x3fd17a[_0x4eeee4(0xdb)](_0x3fd17a[_0x4eeee4(0xc1)]-0x4)==_0x4eeee4(0x15e)||_0x3fd17a==_0x4eeee4(0x15e))continue;if(_0x3fd17a[_0x4eeee4(0xdb)](_0x3fd17a[_0x4eeee4(0xc1)]-0x3)==_0x4eeee4(0xb3))_0x25f576+='\x0a'+_0x4eeee4(0x95)+(_0x4eeee4(0x154)+(_0x3939e2[_0x4eeee4(0x138)]||_0x3939e2[_0x4eeee4(0xa4)])+'\x22>'),_0x25f576+='\x0a'+_0x4eeee4(0xd6)+(_0x4eeee4(0xea)+_0x3fd17a+_0x4eeee4(0x15b)+_0x3939e2['Comment']+'\x22\x20:min=\x221\x22\x20controls-position=\x22right\x22\x20clearable/>'),_0x25f576+='\x0a'+_0x4eeee4(0x95)+'</el-form-item>'+'\x0a';else{if(_0x3fd17a[_0x4eeee4(0xf3)](_0x4eeee4(0xfd))){let _0x1907c4=''+(typeof _0x134ec8==_0x4eeee4(0x11a)?_0x134ec8+'/':'')+(_0x2a857e?_0x2a857e+'/':'')+_0x24faf3;_0x25f576+='\x0a'+_0x4eeee4(0xd6)+(_0x4eeee4(0x154)+(_0x3939e2[_0x4eeee4(0x138)]||_0x3939e2[_0x4eeee4(0xa4)])+'\x22>'),_0x25f576+='\x0a'+_0x4eeee4(0x9d)+(_0x4eeee4(0xf6)+_0x3fd17a+_0x4eeee4(0xab)+_0x1907c4+'\x22\x20lakey=\x22id\x22\x20\x20label=\x22id\x22\x20clearable/>'),_0x25f576+='\x0a'+_0x4eeee4(0xd6)+_0x4eeee4(0x130)+'\x0a';}else switch((0x0,helper_1['getProp'])(_0x3939e2[_0x4eeee4(0x157)])){case _0x4eeee4(0xe9):_0x25f576+='\x0a'+_0x4eeee4(0x95)+('<el-form-item\x20label=\x22'+(_0x3939e2[_0x4eeee4(0x138)]||_0x3939e2[_0x4eeee4(0xa4)])+'\x22>'),_0x25f576+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20'+('<el-select\x20v-model=\x22props.search.'+_0x3fd17a+'\x22\x20placeholder=\x22请选择'+_0x3939e2[_0x4eeee4(0x138)]+_0x4eeee4(0xcf));for(let _0x5cda29 of(0x0,helper_1[_0x4eeee4(0x16b)])(_0x3939e2['Type'])){_0x25f576+='\x0a'+_0x4eeee4(0x9d)+(_0x4eeee4(0x104)+_0x5cda29+_0x4eeee4(0x13f)+_0x5cda29+_0x4eeee4(0xbd));}_0x25f576+='\x0a'+_0x4eeee4(0xd6)+'</el-select>',_0x25f576+='\x0a'+_0x4eeee4(0x95)+_0x4eeee4(0x130)+'\x0a';break;case _0x4eeee4(0xe8):_0x25f576+='\x0a'+_0x4eeee4(0x95)+(_0x4eeee4(0x154)+(_0x3939e2[_0x4eeee4(0x138)]||_0x3939e2[_0x4eeee4(0xa4)])+'\x22>'),_0x25f576+='\x0a'+_0x4eeee4(0xd6)+(_0x4eeee4(0x153)+_0x3fd17a+'_start\x22\x20placeholder=\x22选择'+_0x3939e2['Comment']+_0x4eeee4(0x11d)),_0x25f576+='\x0a'+'\x20\x20\x20\x20'+_0x4eeee4(0x130)+'\x0a',_0x25f576+='\x0a'+_0x4eeee4(0x95)+(_0x4eeee4(0x154)+(_0x3939e2['Comment']||_0x3939e2['Field'])+'\x22>'),_0x25f576+='\x0a'+_0x4eeee4(0xd6)+('<el-date-picker\x20v-model=\x22props.search.'+_0x3fd17a+_0x4eeee4(0x16a)+_0x3939e2[_0x4eeee4(0x138)]+_0x4eeee4(0x125)),_0x25f576+='\x0a'+'\x20\x20\x20\x20'+'</el-form-item>'+'\x0a';break;case _0x4eeee4(0x113):_0x25f576+='\x0a'+_0x4eeee4(0x95)+('<el-form-item\x20label=\x22'+(_0x3939e2[_0x4eeee4(0x138)]||_0x3939e2[_0x4eeee4(0xa4)])+'\x22>'),_0x25f576+='\x0a'+_0x4eeee4(0xd6)+(_0x4eeee4(0x153)+_0x3fd17a+_0x4eeee4(0x162)+_0x3939e2[_0x4eeee4(0x138)]+_0x4eeee4(0x116)),_0x25f576+='\x0a'+_0x4eeee4(0x95)+'</el-form-item>'+'\x0a',_0x25f576+='\x0a'+_0x4eeee4(0x95)+('<el-form-item\x20label=\x22'+(_0x3939e2[_0x4eeee4(0x138)]||_0x3939e2['Field'])+'\x22>'),_0x25f576+='\x0a'+_0x4eeee4(0xd6)+(_0x4eeee4(0x153)+_0x3fd17a+_0x4eeee4(0x16a)+_0x3939e2[_0x4eeee4(0x138)]+'结束时间\x22\x20type=\x22datetime\x22\x20value-format=\x22YYYY-MM-DD\x20HH:mm:ss\x22/>'),_0x25f576+='\x0a'+_0x4eeee4(0x95)+'</el-form-item>'+'\x0a';break;case _0x4eeee4(0x146):_0x25f576+='\x0a'+'\x20\x20\x20\x20'+(_0x4eeee4(0x154)+(_0x3939e2[_0x4eeee4(0x138)]||_0x3939e2['Field'])+'\x22>'),_0x25f576+='\x0a'+_0x4eeee4(0xd6)+(_0x4eeee4(0x153)+_0x3fd17a+_0x4eeee4(0x162)+_0x3939e2[_0x4eeee4(0x138)]+'开始时间\x22\x20type=\x22datetime\x22\x20value-format=\x22YYYY-MM-DD\x20HH:mm:ss\x22/>'),_0x25f576+='\x0a'+_0x4eeee4(0x95)+'</el-form-item>'+'\x0a',_0x25f576+='\x0a'+_0x4eeee4(0x95)+('<el-form-item\x20label=\x22'+(_0x3939e2[_0x4eeee4(0x138)]||_0x3939e2['Field'])+'\x22>'),_0x25f576+='\x0a'+_0x4eeee4(0xd6)+(_0x4eeee4(0x153)+_0x3fd17a+_0x4eeee4(0x16a)+_0x3939e2[_0x4eeee4(0x138)]+'结束时间\x22\x20type=\x22datetime\x22\x20value-format=\x22YYYY-MM-DD\x20HH:mm:ss\x22/>'),_0x25f576+='\x0a'+_0x4eeee4(0x95)+_0x4eeee4(0x130)+'\x0a';break;case _0x4eeee4(0x11a):_0x25f576+='\x0a'+_0x4eeee4(0x95)+(_0x4eeee4(0x154)+(_0x3939e2[_0x4eeee4(0x138)]||_0x3939e2[_0x4eeee4(0xa4)])+'\x22>'),_0x25f576+='\x0a'+_0x4eeee4(0xd6)+(_0x4eeee4(0x105)+_0x3fd17a+'\x22\x20placeholder=\x22请输入'+_0x3939e2[_0x4eeee4(0x138)]+_0x4eeee4(0x142)),_0x25f576+='\x0a'+_0x4eeee4(0x95)+_0x4eeee4(0x130)+'\x0a';}}}fs[_0x4eeee4(0x107)]((0x0,path_1[_0x4eeee4(0x15d)])(_0x4cfeb9),{'recursive':!![]}),fs[_0x4eeee4(0xd7)](_0x4cfeb9,_0x4eeee4(0xa2)+_0x25f576+_0x4eeee4(0x163),'utf-8');}}async function createAddOrEdit({moduleName:_0x590fa9,controller:_0x2c04bd,tablestartUpShort:_0x3608fc,tablestartUpShort2:_0x3c765d,Primary:_0x14138c,Fields:_0x42dbcd,apporbasic:_0x1636e0,Comment:_0x27a074},_0x1e4321=a23_0x37a181(0x164)){const _0x3954c4=a23_0x37a181;let _0x1d2b0e=process[_0x3954c4(0x12f)]()+'/vue'+(typeof _0x2c04bd==_0x3954c4(0x11a)?'/'+_0x2c04bd:'');_0x590fa9?_0x1d2b0e=_0x1d2b0e+('/pages/apps/'+_0x590fa9+'/'+_0x3c765d+'/'+_0x1e4321+_0x3954c4(0xfc)):_0x1d2b0e=_0x1d2b0e+(_0x3954c4(0x108)+_0x1636e0+'/'+_0x3c765d+'/'+_0x1e4321+'/index.vue');if(!fs[_0x3954c4(0x135)](_0x1d2b0e)){const _0x488bdc=[_0x3954c4(0x103),_0x3954c4(0xaf),_0x3954c4(0x11a)]['indexOf']((0x0,helper_1[_0x3954c4(0x139)])(_0x14138c['Type']))==-0x1,_0x1f05b6=''+(typeof _0x2c04bd=='string'?_0x2c04bd+'/':'')+(_0x590fa9?_0x590fa9+'/':'')+_0x3c765d;let _0x1c33ab='';for(let _0x305de4 in _0x42dbcd){const _0x4f2a5e=_0x42dbcd[_0x305de4];if([_0x3954c4(0x8d),_0x3954c4(0x13d),_0x3954c4(0x131),_0x3954c4(0x126)]['indexOf'](_0x305de4)!=-0x1)continue;if(_0x305de4[_0x3954c4(0xdb)](_0x305de4[_0x3954c4(0xc1)]-0x4)=='imgs'||_0x305de4[_0x3954c4(0xdb)](_0x305de4[_0x3954c4(0xc1)]-0x6)=='thumbs')_0x1c33ab+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x3954c4(0x154)+(_0x4f2a5e[_0x3954c4(0x138)]||_0x4f2a5e[_0x3954c4(0xa4)])+_0x3954c4(0xdf)+_0x305de4+'\x22\x20class=\x22block\x22>'),_0x1c33ab+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x3954c4(0xec)+_0x305de4+'\x22\x20:limit=\x225\x22\x20'+(_0x590fa9?'module=\x22'+_0x590fa9+'\x22':'')+_0x3954c4(0x168)),_0x1c33ab+='\x0a'+_0x3954c4(0x9d)+_0x3954c4(0x130)+'\x0a';else{if(_0x305de4[_0x3954c4(0xdb)](_0x305de4[_0x3954c4(0xc1)]-0x3)==_0x3954c4(0x132)||_0x305de4['substring'](_0x305de4['length']-0x5)==_0x3954c4(0x123)||_0x305de4==_0x3954c4(0x123)||_0x305de4[_0x3954c4(0xdb)](_0x305de4[_0x3954c4(0xc1)]-0x4)==_0x3954c4(0x15e)||_0x305de4=='logo')_0x1c33ab+='\x0a'+_0x3954c4(0x9d)+(_0x3954c4(0x154)+(_0x4f2a5e[_0x3954c4(0x138)]||_0x4f2a5e['Field'])+_0x3954c4(0xdf)+_0x305de4+_0x3954c4(0xcd)),_0x1c33ab+='\x0a'+_0x3954c4(0x127)+(_0x3954c4(0xec)+_0x305de4+_0x3954c4(0x10a)+(_0x590fa9?_0x3954c4(0xc3)+_0x590fa9+'\x22':'')+'/>'),_0x1c33ab+='\x0a'+_0x3954c4(0x9d)+_0x3954c4(0x130)+'\x0a';else{if(_0x305de4[_0x3954c4(0xdb)](_0x305de4[_0x3954c4(0xc1)]-0x4)==_0x3954c4(0xbe)||_0x305de4[_0x3954c4(0xdb)](_0x305de4[_0x3954c4(0xc1)]-0x3)=='tag')_0x1c33ab+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x3954c4(0x154)+(_0x4f2a5e[_0x3954c4(0x138)]||_0x4f2a5e['Field'])+_0x3954c4(0xdf)+_0x305de4+'\x22>'),_0x1c33ab+='\x0a'+_0x3954c4(0x127)+('<elplus-select-tags\x20v-model=\x22formdata.'+_0x305de4+'\x22\x20placeholder=\x22请输入或选择'+_0x4f2a5e[_0x3954c4(0x138)]+'\x22\x20split=\x22-\x22\x20clearable/>'),_0x1c33ab+='\x0a'+_0x3954c4(0x9d)+'</el-form-item>'+'\x0a';else{if(_0x305de4['substr'](-0x3)=='num')_0x1c33ab+='\x0a'+_0x3954c4(0x9d)+(_0x3954c4(0x154)+(_0x4f2a5e[_0x3954c4(0x138)]||_0x4f2a5e['Field'])+'\x22\x20prop=\x22'+_0x305de4+'\x22>'),_0x1c33ab+='\x0a'+_0x3954c4(0x127)+(_0x3954c4(0x149)+_0x305de4+'\x22\x20placeholder=\x22请输入'+_0x4f2a5e[_0x3954c4(0x138)]+'\x22\x20:min=\x221\x22\x20controls-position=\x22right\x22\x20/>'),_0x1c33ab+='\x0a'+_0x3954c4(0x9d)+_0x3954c4(0x130)+'\x0a';else{if(_0x305de4['substr'](-0x4)==_0x3954c4(0x15c))_0x1c33ab+='\x0a'+_0x3954c4(0x9d)+(_0x3954c4(0x154)+(_0x4f2a5e['Comment']||_0x4f2a5e[_0x3954c4(0xa4)])+'\x22\x20prop=\x22'+_0x305de4+'\x22>'),_0x1c33ab+='\x0a'+_0x3954c4(0x127)+(_0x3954c4(0x9e)+_0x305de4+_0x3954c4(0x15b)+_0x4f2a5e[_0x3954c4(0x138)]+_0x3954c4(0x142)),_0x1c33ab+='\x0a'+_0x3954c4(0x9d)+_0x3954c4(0x130)+'\x0a';else{if(_0x305de4[_0x3954c4(0xf5)](-0x3)==_0x3954c4(0xfd)){let _0x1348ed=''+(typeof _0x2c04bd=='string'?_0x2c04bd+'/':'')+(_0x590fa9?_0x590fa9+'/':'')+_0x3c765d;_0x1c33ab+='\x0a'+_0x3954c4(0x9d)+(_0x3954c4(0x154)+(_0x4f2a5e[_0x3954c4(0x138)]||_0x4f2a5e['Field'])+'\x22\x20prop=\x22'+_0x305de4+'\x22>'),_0x1c33ab+='\x0a'+_0x3954c4(0x127)+(_0x3954c4(0xb9)+_0x305de4+_0x3954c4(0xab)+_0x1348ed+_0x3954c4(0x148)),_0x1c33ab+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x3954c4(0x130)+'\x0a';}else switch((0x0,helper_1[_0x3954c4(0x139)])(_0x4f2a5e[_0x3954c4(0x157)])){case _0x3954c4(0xb8):_0x1c33ab+='\x0a'+_0x3954c4(0x9d)+(_0x3954c4(0x154)+(_0x4f2a5e['Comment']||_0x4f2a5e[_0x3954c4(0xa4)])+_0x3954c4(0xdf)+_0x305de4+'\x22>'),_0x1c33ab+='\x0a'+_0x3954c4(0x127)+('<el-input-number\x20v-model=\x22formdata.'+_0x305de4+_0x3954c4(0x15b)+_0x4f2a5e[_0x3954c4(0x138)]+'\x22\x20:min=\x221\x22\x20controls-position=\x22right\x22\x20/>'),_0x1c33ab+='\x0a'+_0x3954c4(0x9d)+_0x3954c4(0x130)+'\x0a';break;case _0x3954c4(0xe9):_0x1c33ab+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x3954c4(0x154)+(_0x4f2a5e[_0x3954c4(0x138)]||_0x4f2a5e['Field'])+_0x3954c4(0xdf)+_0x305de4+'\x22>'),_0x1c33ab+='\x0a'+_0x3954c4(0x127)+(_0x3954c4(0xa1)+_0x305de4+_0x3954c4(0x93)+_0x4f2a5e[_0x3954c4(0x138)]+'\x22\x20clearable>');for(let _0x12ca25 of(0x0,helper_1['getEnum'])(_0x4f2a5e[_0x3954c4(0x157)])){_0x1c33ab+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x3954c4(0x104)+_0x12ca25+_0x3954c4(0x13f)+_0x12ca25+'\x22\x20/>');}_0x1c33ab+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x3954c4(0x101),_0x1c33ab+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x3954c4(0x130)+'\x0a';break;case _0x3954c4(0x103):_0x1c33ab+='\x0a'+_0x3954c4(0x9d)+(_0x3954c4(0x154)+(_0x4f2a5e[_0x3954c4(0x138)]||_0x4f2a5e[_0x3954c4(0xa4)])+_0x3954c4(0xdf)+_0x305de4+_0x3954c4(0xcd)),_0x1c33ab+='\x0a'+_0x3954c4(0x127)+('<el-input\x20v-model=\x22formdata.'+_0x305de4+_0x3954c4(0x152)+_0x4f2a5e[_0x3954c4(0x138)]+_0x3954c4(0xc2)),_0x1c33ab+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x3954c4(0x130)+'\x0a';break;case _0x3954c4(0x122):_0x1c33ab+='\x0a'+_0x3954c4(0x9d)+('<el-form-item\x20label=\x22'+(_0x4f2a5e[_0x3954c4(0x138)]||_0x4f2a5e['Field'])+'\x22\x20prop=\x22'+_0x305de4+'\x22\x20class=\x22block\x22>'),_0x1c33ab+='\x0a'+_0x3954c4(0x127)+(_0x3954c4(0x9b)+_0x305de4+'\x22\x20'+(_0x590fa9?'module=\x22'+_0x590fa9+'\x22':'')+'/>'),_0x1c33ab+='\x0a'+_0x3954c4(0x9d)+_0x3954c4(0x130)+'\x0a';break;case _0x3954c4(0xaf):_0x1c33ab+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+('<el-form-item\x20label=\x22'+(_0x4f2a5e[_0x3954c4(0x138)]||_0x4f2a5e[_0x3954c4(0xa4)])+_0x3954c4(0xdf)+_0x305de4+_0x3954c4(0xcd)),_0x1c33ab+='\x0a'+_0x3954c4(0x127)+(_0x3954c4(0x9b)+_0x305de4+'\x22\x20'+(_0x590fa9?'module=\x22'+_0x590fa9+'\x22':'')+'/>'),_0x1c33ab+='\x0a'+_0x3954c4(0x9d)+_0x3954c4(0x130)+'\x0a';break;case _0x3954c4(0xe8):_0x1c33ab+='\x0a'+_0x3954c4(0x9d)+(_0x3954c4(0x154)+(_0x4f2a5e['Comment']||_0x4f2a5e[_0x3954c4(0xa4)])+'\x22\x20prop=\x22'+_0x305de4+'\x22>'),_0x1c33ab+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x3954c4(0x8b)+_0x305de4+_0x3954c4(0x9c)+_0x4f2a5e[_0x3954c4(0x138)]+_0x3954c4(0x12b)),_0x1c33ab+='\x0a'+_0x3954c4(0x9d)+_0x3954c4(0x130)+'\x0a';break;case _0x3954c4(0x113):_0x1c33ab+='\x0a'+_0x3954c4(0x9d)+(_0x3954c4(0x154)+(_0x4f2a5e[_0x3954c4(0x138)]||_0x4f2a5e[_0x3954c4(0xa4)])+_0x3954c4(0xdf)+_0x305de4+'\x22>'),_0x1c33ab+='\x0a'+_0x3954c4(0x127)+(_0x3954c4(0x8b)+_0x305de4+'\x22\x20placeholder=\x22选择'+_0x4f2a5e['Comment']+_0x3954c4(0xc0)),_0x1c33ab+='\x0a'+_0x3954c4(0x9d)+_0x3954c4(0x130)+'\x0a';break;case _0x3954c4(0x146):_0x1c33ab+='\x0a'+_0x3954c4(0x9d)+('<el-form-item\x20label=\x22'+(_0x4f2a5e[_0x3954c4(0x138)]||_0x4f2a5e[_0x3954c4(0xa4)])+_0x3954c4(0xdf)+_0x305de4+'\x22>'),_0x1c33ab+='\x0a'+_0x3954c4(0x127)+(_0x3954c4(0x8b)+_0x305de4+'\x22\x20placeholder=\x22选择'+_0x4f2a5e[_0x3954c4(0x138)]+'\x22\x20type=\x22datetime\x22\x20value-format=\x22YYYY-MM-DD\x20HH:mm:ss\x22/>'),_0x1c33ab+='\x0a'+_0x3954c4(0x9d)+_0x3954c4(0x130)+'\x0a';break;default:_0x1c33ab+='\x0a'+_0x3954c4(0x9d)+(_0x3954c4(0x154)+(_0x4f2a5e[_0x3954c4(0x138)]||_0x4f2a5e['Field'])+'\x22\x20prop=\x22'+_0x305de4+'\x22>'),_0x1c33ab+='\x0a'+_0x3954c4(0x127)+(_0x3954c4(0x9e)+_0x305de4+_0x3954c4(0x15b)+_0x4f2a5e[_0x3954c4(0x138)]+_0x3954c4(0x142)),_0x1c33ab+='\x0a'+_0x3954c4(0x9d)+_0x3954c4(0x130)+'\x0a';}}}}}}}_0x1c33ab+='\x0a'+_0x3954c4(0x9d)+_0x3954c4(0x12d),_0x1c33ab+='\x0a'+_0x3954c4(0x127)+'<el-input-number\x20v-model=\x22formdata.displayorder\x22\x20placeholder=\x22请输入排序权重\x22\x20controls-position=\x22right\x22/>',_0x1c33ab+='\x0a'+_0x3954c4(0x9d)+_0x3954c4(0x130)+'\x0a';let _0x3e162d=_0x3954c4(0x145);_0x3e162d+=_0x3954c4(0x166),_0x3e162d+=_0x3954c4(0xe3)+(_0x1e4321=='add'?'添加'+_0x27a074:'编辑'+_0x27a074)+_0x3954c4(0x150)+_0x3608fc+(_0x1e4321==_0x3954c4(0x164)?'Add':_0x3954c4(0xcb))+'Rule\x22\x20:loading=\x22loading\x22\x20:disabled=\x22!$hasPrem(`post@/'+_0x1f05b6+'/'+(_0x1e4321=='add'?'add':_0x3954c4(0x170)+_0x14138c[_0x3954c4(0xa4)])+_0x3954c4(0xb0),_0x3e162d+='\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x1c33ab+'\x0a\x0a',_0x3e162d+=_0x3954c4(0xf1),_0x3e162d+='\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<el-button\x20v-if=\x22$hasPrem(`post@/'+_0x1f05b6+'/'+(_0x1e4321==_0x3954c4(0x164)?_0x3954c4(0x164):_0x3954c4(0x170)+_0x14138c[_0x3954c4(0xa4)])+'`)\x22\x20type=\x22primary\x22\x20@click=\x22handlerSave()\x22>保存</el-button>\x0a',_0x3e162d+=_0x3954c4(0xa7),_0x3e162d+=_0x3954c4(0xf7),_0x3e162d+=_0x3954c4(0x10f),_0x3e162d+='</template>\x0a',_0x3e162d+=_0x3954c4(0xc8);if(_0x1e4321==_0x3954c4(0x164))_0x3e162d+='import\x20{\x20'+_0x3608fc+_0x3954c4(0x16e),_0x3e162d+='import\x20{\x20'+_0x3608fc+'Add\x20}\x20from\x20\x27@/apis/'+(_0x590fa9?'apps/'+_0x590fa9:''+_0x1636e0)+'/'+_0x3608fc+'\x27;\x0a\x0a';else _0x1e4321=='edit'&&(_0x3e162d+=_0x3954c4(0x118)+_0x3608fc+_0x3954c4(0x110),_0x3e162d+=_0x3954c4(0x118)+_0x3608fc+_0x3954c4(0x15f)+_0x3608fc+_0x3954c4(0x12e)+(_0x590fa9?'apps/'+_0x590fa9:''+_0x1636e0)+'/'+_0x3608fc+'\x27;\x0a\x0a');_0x3e162d+='const\x20refForm\x20=\x20ref(),\x20formdata\x20=\x20ref<any>({});\x0a';if(_0x1e4321==_0x3954c4(0x164))_0x3e162d+=_0x3954c4(0x13c);else _0x1e4321==_0x3954c4(0xc4)&&(_0x3e162d+='const\x20loading\x20=\x20ref(false),\x20router\x20=\x20useRouter(),\x20route\x20=\x20useRoute();\x0a\x0a');_0x3e162d+=_0x3954c4(0x96),_0x3e162d+=_0x3954c4(0x9f),_0x3e162d+=_0x3954c4(0xfa),_0x3e162d+='\x20\x20\x20\x20\x20\x20\x20\x20loading.value\x20=\x20true,\x20'+_0x3608fc+(_0x1e4321==_0x3954c4(0x164)?_0x3954c4(0x8f):_0x3954c4(0xcb))+'('+(_0x1e4321==_0x3954c4(0xc4)?_0x3954c4(0xd5)+_0x14138c['Field']+',\x20':'')+_0x3954c4(0x97),_0x3e162d+=_0x3954c4(0xfb),_0x3e162d+=_0x3954c4(0xbc),_0x3e162d+='\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20loading.value\x20=\x20false,\x20$notify.error(err\x20||\x20\x27网络请求错误\x27);\x0a',_0x3e162d+=_0x3954c4(0x169),_0x3e162d+=_0x3954c4(0xbf),_0x3e162d+=_0x3954c4(0x98),_0x1e4321=='edit'&&(_0x3e162d+=_0x3954c4(0xe2),_0x3e162d+=_0x3954c4(0xd0)+_0x14138c[_0x3954c4(0xa4)]+':\x20'+(_0x488bdc?_0x3954c4(0xb8):_0x3954c4(0x11a))+_0x3954c4(0x14d),_0x3e162d+=_0x3954c4(0x106)+_0x14138c['Field']+_0x3954c4(0x136),_0x3e162d+=_0x3954c4(0xc6),_0x3e162d+=_0x3954c4(0xd6)+_0x3608fc+_0x3954c4(0x137)+_0x14138c['Field']+').then(res\x20=>\x20{\x0a',_0x3e162d+=_0x3954c4(0x102),_0x3e162d+=_0x3954c4(0xa6),_0x3e162d+=_0x3954c4(0x8c),_0x3e162d+=_0x3954c4(0x169),_0x3e162d+=_0x3954c4(0x167),_0x3e162d+=_0x3954c4(0x10b),_0x3e162d+='\x20\x20\x20\x20}\x0a',_0x3e162d+=_0x3954c4(0x12a),_0x3e162d+='getDetail(route?.query?.'+_0x14138c['Field']+_0x3954c4(0x94)+(_0x488bdc?_0x3954c4(0xb8):_0x3954c4(0x11a))+')\x0a'),_0x3e162d+='</script>\x0a',fs['mkdirSync']((0x0,path_1[_0x3954c4(0x15d)])(_0x1d2b0e),{'recursive':!![]}),fs[_0x3954c4(0xd7)](_0x1d2b0e,_0x3e162d,_0x3954c4(0xb7));}}async function createAddOrEditDialog({moduleName:_0x3083a8,controller:_0x5af91b,tablestartUpShort:_0x571511,tablestartUpShort2:_0x58e1e3,Primary:_0x59e4c4,Fields:_0xdc983c,apporbasic:_0x8e550b,Comment:_0x29900c},_0x3923cf='add'){const _0x40a884=a23_0x37a181;let _0x11cd29=process[_0x40a884(0x12f)]()+_0x40a884(0xde)+(typeof _0x5af91b==_0x40a884(0x11a)?'/'+_0x5af91b:'');_0x3083a8?_0x11cd29=_0x11cd29+(_0x40a884(0x144)+_0x3083a8+'/'+_0x58e1e3+_0x40a884(0xf8)+_0x3923cf+_0x40a884(0xe5)):_0x11cd29=_0x11cd29+(_0x40a884(0x108)+_0x8e550b+'/'+_0x58e1e3+'/components/dialog-'+_0x3923cf+_0x40a884(0xe5));if(!fs[_0x40a884(0x135)](_0x11cd29)){const _0x34493c=''+(typeof _0x5af91b==_0x40a884(0x11a)?_0x5af91b+'/':'')+(_0x3083a8?_0x3083a8+'/':'')+_0x58e1e3;let _0x5a1118='';for(let _0x4f34b4 in _0xdc983c){const _0x4f5091=_0xdc983c[_0x4f34b4];if([_0x40a884(0x8d),_0x40a884(0x13d),_0x40a884(0x131),_0x40a884(0x126)][_0x40a884(0x99)](_0x4f34b4)!=-0x1)continue;if(_0x4f34b4[_0x40a884(0xdb)](_0x4f34b4[_0x40a884(0xc1)]-0x4)=='imgs'||_0x4f34b4[_0x40a884(0xdb)](_0x4f34b4[_0x40a884(0xc1)]-0x6)==_0x40a884(0x11e))_0x5a1118+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x40a884(0x154)+(_0x4f5091['Comment']||_0x4f5091['Field'])+_0x40a884(0xdf)+_0x4f34b4+_0x40a884(0xcd)),_0x5a1118+='\x0a'+_0x40a884(0x127)+('<attachment-image\x20v-model=\x22formdata.'+_0x4f34b4+_0x40a884(0x14e)+(_0x3083a8?_0x40a884(0xc3)+_0x3083a8+'\x22':'')+_0x40a884(0x168)),_0x5a1118+='\x0a'+_0x40a884(0x9d)+_0x40a884(0x130)+'\x0a';else{if(_0x4f34b4['substring'](_0x4f34b4[_0x40a884(0xc1)]-0x3)=='img'||_0x4f34b4[_0x40a884(0xdb)](_0x4f34b4[_0x40a884(0xc1)]-0x5)==_0x40a884(0x123)||_0x4f34b4=='thumb'||_0x4f34b4['substring'](_0x4f34b4[_0x40a884(0xc1)]-0x4)=='logo'||_0x4f34b4==_0x40a884(0x15e))_0x5a1118+='\x0a'+_0x40a884(0x9d)+(_0x40a884(0x154)+(_0x4f5091[_0x40a884(0x138)]||_0x4f5091['Field'])+_0x40a884(0xdf)+_0x4f34b4+_0x40a884(0xcd)),_0x5a1118+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x40a884(0xec)+_0x4f34b4+_0x40a884(0x10a)+(_0x3083a8?_0x40a884(0xc3)+_0x3083a8+'\x22':'')+'/>'),_0x5a1118+='\x0a'+_0x40a884(0x9d)+_0x40a884(0x130)+'\x0a';else{if(_0x4f34b4[_0x40a884(0xdb)](_0x4f34b4[_0x40a884(0xc1)]-0x4)==_0x40a884(0xbe)||_0x4f34b4['substring'](_0x4f34b4[_0x40a884(0xc1)]-0x3)=='tag')_0x5a1118+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+('<el-form-item\x20label=\x22'+(_0x4f5091[_0x40a884(0x138)]||_0x4f5091[_0x40a884(0xa4)])+'\x22\x20prop=\x22'+_0x4f34b4+'\x22>'),_0x5a1118+='\x0a'+_0x40a884(0x127)+(_0x40a884(0xe0)+_0x4f34b4+_0x40a884(0xc5)+_0x4f5091[_0x40a884(0x138)]+_0x40a884(0x143)),_0x5a1118+='\x0a'+_0x40a884(0x9d)+'</el-form-item>'+'\x0a';else{if(_0x4f34b4[_0x40a884(0xf5)](-0x3)==_0x40a884(0xb3))_0x5a1118+='\x0a'+_0x40a884(0x9d)+(_0x40a884(0x154)+(_0x4f5091['Comment']||_0x4f5091[_0x40a884(0xa4)])+_0x40a884(0xdf)+_0x4f34b4+'\x22>'),_0x5a1118+='\x0a'+_0x40a884(0x127)+(_0x40a884(0x149)+_0x4f34b4+_0x40a884(0x15b)+_0x4f5091['Comment']+'\x22\x20:min=\x221\x22\x20controls-position=\x22right\x22\x20/>'),_0x5a1118+='\x0a'+_0x40a884(0x9d)+'</el-form-item>'+'\x0a';else{if(_0x4f34b4['substr'](-0x4)==_0x40a884(0x15c))_0x5a1118+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x40a884(0x154)+(_0x4f5091['Comment']||_0x4f5091[_0x40a884(0xa4)])+'\x22\x20prop=\x22'+_0x4f34b4+'\x22>'),_0x5a1118+='\x0a'+_0x40a884(0x127)+(_0x40a884(0x9e)+_0x4f34b4+_0x40a884(0x15b)+_0x4f5091['Comment']+_0x40a884(0x142)),_0x5a1118+='\x0a'+_0x40a884(0x9d)+_0x40a884(0x130)+'\x0a';else{if(_0x4f34b4[_0x40a884(0xf5)](-0x3)=='_id'){let _0x4cc754=''+(typeof _0x5af91b==_0x40a884(0x11a)?_0x5af91b+'/':'')+(_0x3083a8?_0x3083a8+'/':'')+_0x58e1e3;_0x5a1118+='\x0a'+_0x40a884(0x9d)+(_0x40a884(0x154)+(_0x4f5091[_0x40a884(0x138)]||_0x4f5091['Field'])+_0x40a884(0xdf)+_0x4f34b4+'\x22>'),_0x5a1118+='\x0a'+_0x40a884(0x127)+(_0x40a884(0xb9)+_0x4f34b4+_0x40a884(0xab)+_0x4cc754+_0x40a884(0x148)),_0x5a1118+='\x0a'+_0x40a884(0x9d)+'</el-form-item>'+'\x0a';}else switch((0x0,helper_1[_0x40a884(0x139)])(_0x4f5091[_0x40a884(0x157)])){case _0x40a884(0xb8):_0x5a1118+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x40a884(0x154)+(_0x4f5091[_0x40a884(0x138)]||_0x4f5091[_0x40a884(0xa4)])+_0x40a884(0xdf)+_0x4f34b4+'\x22>'),_0x5a1118+='\x0a'+_0x40a884(0x127)+(_0x40a884(0x149)+_0x4f34b4+_0x40a884(0x15b)+_0x4f5091[_0x40a884(0x138)]+_0x40a884(0xb5)),_0x5a1118+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x40a884(0x130)+'\x0a';break;case _0x40a884(0xe9):_0x5a1118+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x40a884(0x154)+(_0x4f5091[_0x40a884(0x138)]||_0x4f5091[_0x40a884(0xa4)])+'\x22\x20prop=\x22'+_0x4f34b4+'\x22>'),_0x5a1118+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x40a884(0xa1)+_0x4f34b4+_0x40a884(0x93)+_0x4f5091[_0x40a884(0x138)]+_0x40a884(0xcf));for(let _0x499525 of(0x0,helper_1[_0x40a884(0x16b)])(_0x4f5091[_0x40a884(0x157)])){_0x5a1118+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x40a884(0x104)+_0x499525+_0x40a884(0x13f)+_0x499525+'\x22\x20/>');}_0x5a1118+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x40a884(0x101),_0x5a1118+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x40a884(0x130)+'\x0a';break;case _0x40a884(0x103):_0x5a1118+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+('<el-form-item\x20label=\x22'+(_0x4f5091[_0x40a884(0x138)]||_0x4f5091[_0x40a884(0xa4)])+_0x40a884(0xdf)+_0x4f34b4+'\x22\x20class=\x22block\x22>'),_0x5a1118+='\x0a'+_0x40a884(0x127)+(_0x40a884(0x9e)+_0x4f34b4+'\x22\x20\x20placeholder=\x22请输入'+_0x4f5091[_0x40a884(0x138)]+_0x40a884(0xc2)),_0x5a1118+='\x0a'+_0x40a884(0x9d)+_0x40a884(0x130)+'\x0a';break;case _0x40a884(0x122):_0x5a1118+='\x0a'+_0x40a884(0x9d)+(_0x40a884(0x154)+(_0x4f5091[_0x40a884(0x138)]||_0x4f5091[_0x40a884(0xa4)])+'\x22\x20prop=\x22'+_0x4f34b4+'\x22\x20class=\x22block\x22>'),_0x5a1118+='\x0a'+_0x40a884(0x127)+(_0x40a884(0x9b)+_0x4f34b4+'\x22\x20'+(_0x3083a8?_0x40a884(0xc3)+_0x3083a8+'\x22':'')+'/>'),_0x5a1118+='\x0a'+_0x40a884(0x9d)+_0x40a884(0x130)+'\x0a';break;case _0x40a884(0xaf):_0x5a1118+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+('<el-form-item\x20label=\x22'+(_0x4f5091[_0x40a884(0x138)]||_0x4f5091[_0x40a884(0xa4)])+_0x40a884(0xdf)+_0x4f34b4+'\x22\x20class=\x22block\x22>'),_0x5a1118+='\x0a'+_0x40a884(0x127)+(_0x40a884(0x9b)+_0x4f34b4+'\x22\x20'+(_0x3083a8?_0x40a884(0xc3)+_0x3083a8+'\x22':'')+'/>'),_0x5a1118+='\x0a'+_0x40a884(0x9d)+_0x40a884(0x130)+'\x0a';break;case _0x40a884(0xe8):_0x5a1118+='\x0a'+_0x40a884(0x9d)+('<el-form-item\x20label=\x22'+(_0x4f5091[_0x40a884(0x138)]||_0x4f5091['Field'])+_0x40a884(0xdf)+_0x4f34b4+'\x22>'),_0x5a1118+='\x0a'+_0x40a884(0x127)+(_0x40a884(0x8b)+_0x4f34b4+_0x40a884(0x9c)+_0x4f5091[_0x40a884(0x138)]+_0x40a884(0x12b)),_0x5a1118+='\x0a'+_0x40a884(0x9d)+_0x40a884(0x130)+'\x0a';break;case _0x40a884(0x113):_0x5a1118+='\x0a'+_0x40a884(0x9d)+('<el-form-item\x20label=\x22'+(_0x4f5091[_0x40a884(0x138)]||_0x4f5091[_0x40a884(0xa4)])+_0x40a884(0xdf)+_0x4f34b4+'\x22>'),_0x5a1118+='\x0a'+_0x40a884(0x127)+(_0x40a884(0x8b)+_0x4f34b4+_0x40a884(0x9c)+_0x4f5091[_0x40a884(0x138)]+_0x40a884(0xc0)),_0x5a1118+='\x0a'+_0x40a884(0x9d)+_0x40a884(0x130)+'\x0a';break;case _0x40a884(0x146):_0x5a1118+='\x0a'+_0x40a884(0x9d)+(_0x40a884(0x154)+(_0x4f5091[_0x40a884(0x138)]||_0x4f5091[_0x40a884(0xa4)])+_0x40a884(0xdf)+_0x4f34b4+'\x22>'),_0x5a1118+='\x0a'+_0x40a884(0x127)+(_0x40a884(0x8b)+_0x4f34b4+'\x22\x20placeholder=\x22选择'+_0x4f5091[_0x40a884(0x138)]+_0x40a884(0xc0)),_0x5a1118+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+'</el-form-item>'+'\x0a';break;default:_0x5a1118+='\x0a'+_0x40a884(0x9d)+(_0x40a884(0x154)+(_0x4f5091[_0x40a884(0x138)]||_0x4f5091[_0x40a884(0xa4)])+_0x40a884(0xdf)+_0x4f34b4+'\x22>'),_0x5a1118+='\x0a'+_0x40a884(0x127)+(_0x40a884(0x9e)+_0x4f34b4+_0x40a884(0x15b)+_0x4f5091[_0x40a884(0x138)]+'\x22\x20clearable/>'),_0x5a1118+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x40a884(0x130)+'\x0a';}}}}}}}_0x5a1118+='\x0a'+_0x40a884(0x9d)+_0x40a884(0x12d),_0x5a1118+='\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x40a884(0xd1),_0x5a1118+='\x0a'+_0x40a884(0x9d)+_0x40a884(0x130)+'\x0a';let _0x40799a=_0x40a884(0x145);_0x40799a+=_0x40a884(0xf0)+(_0x3923cf==_0x40a884(0x164)?'添加'+_0x29900c:'编辑'+_0x29900c)+_0x40a884(0xdc),_0x40799a+='\x20\x20\x20\x20\x20\x20\x20\x20<elplus-form\x20ref=\x22refForm\x22\x20:model=\x22formdata\x22\x20:rules=\x22'+_0x571511+(_0x3923cf==_0x40a884(0x164)?_0x40a884(0x8f):'Edit')+_0x40a884(0xa8)+_0x34493c+'/'+(_0x3923cf=='add'?_0x40a884(0x164):_0x40a884(0x170)+_0x59e4c4[_0x40a884(0xa4)])+_0x40a884(0xb0),_0x40799a+='\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x5a1118+'\x0a\x0a',_0x40799a+='\x20\x20\x20\x20\x20\x20\x20\x20</elplus-form>\x0a',_0x40799a+=_0x40a884(0xf2),_0x40799a+='\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<el-button\x20v-if=\x22$hasPrem(`post@/'+_0x34493c+'/'+(_0x3923cf==_0x40a884(0x164)?'add':_0x40a884(0x170)+_0x59e4c4['Field'])+_0x40a884(0xc9),_0x40799a+=_0x40a884(0xdd),_0x40799a+='\x20\x20\x20\x20</elplus-dialog>\x0a',_0x40799a+=_0x40a884(0x124),_0x40799a+='<script\x20lang=\x22ts\x22\x20setup>\x0a';if(_0x3923cf==_0x40a884(0x164))_0x40799a+=_0x40a884(0x118)+_0x571511+'AddRule\x20}\x20from\x20\x27../interface\x27;\x0a',_0x40799a+=_0x40a884(0x118)+_0x571511+_0x40a884(0x12c)+(_0x3083a8?_0x40a884(0x13b)+_0x3083a8:''+_0x8e550b)+'/'+_0x571511+_0x40a884(0x91);else _0x3923cf==_0x40a884(0xc4)&&(_0x40799a+=_0x40a884(0x118)+_0x571511+_0x40a884(0x110),_0x40799a+='import\x20{\x20'+_0x571511+_0x40a884(0xc7)+_0x571511+_0x40a884(0xef)+(_0x3083a8?_0x40a884(0x13b)+_0x3083a8:''+_0x8e550b)+'/'+_0x571511+_0x40a884(0x91));if(_0x3923cf==_0x40a884(0x164))_0x40799a+='const\x20loading\x20=\x20ref(false),\x20refDialog\x20=\x20ref(null),\x20refForm\x20=\x20ref(null),\x20formdata\x20=\x20ref<any>({}),\x20emits\x20=\x20defineEmits([\x27save\x27]),\x20open\x20=\x20()\x20=>\x20{\x0a',_0x40799a+=_0x40a884(0xd4),_0x40799a+=_0x40a884(0x98);else _0x3923cf=='edit'&&(_0x40799a+=_0x40a884(0x14c)+_0x59e4c4[_0x40a884(0xa4)]+')\x20=>\x20{\x0a',_0x40799a+=_0x40a884(0xee)+_0x571511+_0x40a884(0x137)+_0x59e4c4[_0x40a884(0xa4)]+_0x40a884(0x8e),_0x40799a+=_0x40a884(0x165),_0x40799a+='\x20\x20\x20\x20}).catch(err\x20=>\x20{\x0a',_0x40799a+=_0x40a884(0x159),_0x40799a+='\x20\x20\x20\x20})\x0a',_0x40799a+=_0x40a884(0x98));;_0x40799a+=_0x40a884(0x96),_0x40799a+=_0x40a884(0x9f),_0x40799a+=_0x40a884(0xfa),_0x40799a+=_0x40a884(0x14b)+_0x571511+(_0x3923cf=='add'?'Add':_0x40a884(0xcb))+'('+(_0x3923cf=='edit'?_0x40a884(0xd5)+_0x59e4c4[_0x40a884(0xa4)]+',\x20':'')+_0x40a884(0x97),_0x40799a+=_0x40a884(0xa5),_0x40799a+='\x20\x20\x20\x20\x20\x20\x20\x20}).catch(err=>{\x0a',_0x40799a+='\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20loading.value\x20=\x20false,\x20$notify.error(err\x20||\x20\x27网络请求错误\x27);\x0a',_0x40799a+='\x20\x20\x20\x20\x20\x20\x20\x20})\x0a',_0x40799a+=_0x40a884(0xbf),_0x40799a+=_0x40a884(0x98),_0x40799a+=_0x40a884(0x129),_0x40799a+=_0x40a884(0xd2),fs[_0x40a884(0x107)]((0x0,path_1[_0x40a884(0x15d)])(_0x11cd29),{'recursive':!![]}),fs['writeFileSync'](_0x11cd29,_0x40799a,_0x40a884(0xb7));}}
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = default_1;
|
|
4
|
+
const fs = require("fs");
|
|
5
|
+
const path_1 = require("path");
|
|
6
|
+
const helper_1 = require("../helper");
|
|
7
|
+
async function default_1({ moduleName, controller, tablestartUpShort, tablestartUpShort2, Primary, Fields, apporbasic, Comment, vuedialog }) {
|
|
8
|
+
await createIndex({ moduleName, controller, tablestartUpShort, tablestartUpShort2, Primary, Fields, apporbasic, vuedialog });
|
|
9
|
+
await createSearch({ moduleName, controller, tablestartUpShort2, Primary, Fields, apporbasic, vuedialog });
|
|
10
|
+
if (!vuedialog) {
|
|
11
|
+
await createAddOrEdit({ moduleName, controller, tablestartUpShort, tablestartUpShort2, Primary, Fields, apporbasic, Comment }, 'add');
|
|
12
|
+
await createAddOrEdit({ moduleName, controller, tablestartUpShort, tablestartUpShort2, Primary, Fields, apporbasic, Comment }, 'edit');
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
await createAddOrEditDialog({ moduleName, controller, tablestartUpShort, tablestartUpShort2, Primary, Fields, apporbasic, Comment }, 'add');
|
|
16
|
+
await createAddOrEditDialog({ moduleName, controller, tablestartUpShort, tablestartUpShort2, Primary, Fields, apporbasic, Comment }, 'edit');
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
async function createIndex({ moduleName, controller, tablestartUpShort, tablestartUpShort2, Primary, Fields, apporbasic, vuedialog }) {
|
|
20
|
+
let TmpFilePath = `${process.cwd()}/vue` + (typeof (controller) == 'string' ? `/${controller}` : ``);
|
|
21
|
+
if (moduleName) {
|
|
22
|
+
TmpFilePath = TmpFilePath + `/pages/apps/${moduleName}/${tablestartUpShort2}${!vuedialog ? '/list/' : '/'}index.vue`;
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
TmpFilePath = TmpFilePath + `/pages/${apporbasic}/${tablestartUpShort2}${!vuedialog ? '/list/' : '/'}index.vue`;
|
|
26
|
+
}
|
|
27
|
+
if (!fs.existsSync(TmpFilePath)) {
|
|
28
|
+
let tmpstr = `<el-table-column prop=` + `"${Primary.Field}"`.padEnd(20) + ` label="${Primary.Comment || '编号'}" align="center" fixed="left" />`;
|
|
29
|
+
for (let tableKey in Fields) {
|
|
30
|
+
const Field = Fields[tableKey];
|
|
31
|
+
if (['created_at', 'updated_at', 'deleted_at', 'displayorder'].indexOf(tableKey) != -1) {
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
if (tableKey.substring(tableKey.length - 3) == 'img' || tableKey.substring(tableKey.length - 5) == 'thumb' || tableKey == 'thumb' || tableKey.substring(tableKey.length - 4) == 'logo' || tableKey == 'logo') {
|
|
35
|
+
tmpstr += "\n" + ' ' + `<el-table-column prop=` + `"${tableKey}"`.padEnd(20) + ` label="${Field.Comment || Field.Field}" align='center' show-overflow-tooltip>`;
|
|
36
|
+
tmpstr += "\n" + ' ' + `<template #default="scope">`;
|
|
37
|
+
tmpstr += "\n" + ' ' + `<el-popover placement="bottom" trigger="click">`;
|
|
38
|
+
tmpstr += "\n" + ' ' + `<a :href="scope.row.${tableKey}" target="_blank" title="查看最大化图片">`;
|
|
39
|
+
tmpstr += "\n" + ' ' + `<img :src="scope.row.${tableKey}" style="width: 100%;max-width:500px" />`;
|
|
40
|
+
tmpstr += "\n" + ' ' + `</a>`;
|
|
41
|
+
tmpstr += "\n" + ' ' + `<template #reference>`;
|
|
42
|
+
tmpstr += "\n" + ' ' + `<el-avatar :src="scope.row.${tableKey}" style="cursor:pointer"/>`;
|
|
43
|
+
tmpstr += "\n" + ' ' + `</template>`;
|
|
44
|
+
tmpstr += "\n" + ' ' + `</el-popover>`;
|
|
45
|
+
tmpstr += "\n" + ' ' + `</template>`;
|
|
46
|
+
tmpstr += "\n" + ' ' + `</el-table-column>`;
|
|
47
|
+
}
|
|
48
|
+
else if (['tinyint'].indexOf((0, helper_1.getProp)(Field.Type)) != -1) {
|
|
49
|
+
tmpstr += "\n" + ' ' + `<el-table-column prop=` + `"${tableKey}"`.padEnd(20) + ` label="${Field.Comment || Field.Field}" align='center' sortable="custom">`;
|
|
50
|
+
tmpstr += "\n" + ' ' + `<template #default="scope">`;
|
|
51
|
+
tmpstr += "\n" + ' ' + `<elplus-switch v-model="scope.row" field="${tableKey}" active-text="启用" inactive-text="禁用" @change="handlerFieldChange" />`;
|
|
52
|
+
tmpstr += "\n" + ' ' + `</template>`;
|
|
53
|
+
tmpstr += "\n" + ' ' + `</el-table-column>`;
|
|
54
|
+
}
|
|
55
|
+
else if (['text'].indexOf((0, helper_1.getProp)(Field.Type)) == -1) {
|
|
56
|
+
tmpstr += "\n" + ' ' + `<el-table-column prop=` + `"${tableKey}"`.padEnd(20) + ` label="${Field.Comment || Field.Field}" align='center' sortable="custom" show-overflow-tooltip />`;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
const apiPrefix = `${typeof (controller) == 'string' ? controller + '/' : ''}${moduleName ? moduleName + '/' : ''}${tablestartUpShort2}`;
|
|
60
|
+
fs.mkdirSync((0, path_1.dirname)(TmpFilePath), { recursive: true });
|
|
61
|
+
fs.writeFileSync(TmpFilePath, `<template>
|
|
62
|
+
<page-main>
|
|
63
|
+
<elplus-table :datas="table.data" :pageinfo="table.search" :loading="loading" @transform="LoadDatas">
|
|
64
|
+
<template #search>
|
|
65
|
+
<search v-model:search="table.search" />
|
|
66
|
+
</template>
|
|
67
|
+
|
|
68
|
+
<template #header>
|
|
69
|
+
<el-button v-if="$hasPrem(\`get@/${apiPrefix}/add\`)" @click="${!vuedialog ? '$router.push(\`add\`)' : '$refs?.refDialogAdd?.open()'}" type="primary">
|
|
70
|
+
添加
|
|
71
|
+
</el-button>
|
|
72
|
+
</template>
|
|
73
|
+
|
|
74
|
+
<template #column>
|
|
75
|
+
${tmpstr}
|
|
76
|
+
<el-table-column label="排序" prop="displayorder" align="center" width="80">
|
|
77
|
+
<template #default="scope">
|
|
78
|
+
<el-input v-model="scope.row.displayorder" type="number" @change="handlerFieldChange(scope.row,'displayorder')"></el-input>
|
|
79
|
+
</template>
|
|
80
|
+
</el-table-column>
|
|
81
|
+
|
|
82
|
+
<el-table-column label="操作" align="center" fixed="right">
|
|
83
|
+
<template #default="scope">
|
|
84
|
+
<el-button v-if="$hasPrem(\`get@/${apiPrefix}/edit/:${Primary.Field}\`)" @click="${!vuedialog ? `$router.push(\`edit?${Primary.Field}=\${scope.row.${Primary.Field}}\`)` : `$refs?.refDialogEdit?.open(scope.row.id)`}" type="primary" text>
|
|
85
|
+
编辑
|
|
86
|
+
</el-button>
|
|
87
|
+
<el-button v-if="$hasPrem(\`post@/${apiPrefix}/remove\`)" @click="handlerRemove(scope.row)" type="danger" text>
|
|
88
|
+
删除
|
|
89
|
+
</el-button>
|
|
90
|
+
</template>
|
|
91
|
+
</el-table-column>
|
|
92
|
+
</template>
|
|
93
|
+
</elplus-table>
|
|
94
|
+
${!vuedialog ? `` : `<dialog-add-vue ref="refDialogAdd" @save="LoadDatas()" />`}
|
|
95
|
+
${!vuedialog ? `` : `<dialog-edit-vue ref="refDialogEdit" @save="LoadDatas()"/>`}
|
|
96
|
+
</page-main>
|
|
97
|
+
</template>
|
|
98
|
+
<script lang="ts" setup>
|
|
99
|
+
import search from './components/search.vue';
|
|
100
|
+
${!vuedialog ? `` : `import dialogAddVue from './components/dialog-add.vue';`}
|
|
101
|
+
${!vuedialog ? `` : `import dialogEditVue from './components/dialog-edit.vue';`}
|
|
102
|
+
import { ${tablestartUpShort}List, ${tablestartUpShort}Remove, ${tablestartUpShort}Edit } from '@/apis/${moduleName ? `apps/${moduleName}` : `${apporbasic}`}/${tablestartUpShort}';
|
|
103
|
+
|
|
104
|
+
const loading = ref(false), route = useRoute(), table = reactive({
|
|
105
|
+
data: [],
|
|
106
|
+
select: [],
|
|
107
|
+
search: {
|
|
108
|
+
_page: 1,
|
|
109
|
+
_size: 20,
|
|
110
|
+
_count: 0,
|
|
111
|
+
}
|
|
112
|
+
})
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* 获取数据列表
|
|
117
|
+
* @param page 分页-当前页
|
|
118
|
+
* @param size 分页-每页数量
|
|
119
|
+
* **/
|
|
120
|
+
const LoadDatas = (page?: number, size?: number, sortable = {}) => {
|
|
121
|
+
loading.value = true, page && (table.search._page = page), size && (table.search._size = size);
|
|
122
|
+
${tablestartUpShort}List(Object.assign({}, route?.query || {}, table.search || {}, sortable)).then(res => {
|
|
123
|
+
loading.value = false, table.data = res.data || [], table.search = { ...table.search, ...res?.extra?.pageinfo || {}, _count: res?.extra?.pagetotal || 0 };
|
|
124
|
+
}).catch(err => {
|
|
125
|
+
loading.value = false, $notify.error(err || '网络请求错误');
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* 删除数据
|
|
131
|
+
* **/
|
|
132
|
+
const handlerRemove = (item:any) => {
|
|
133
|
+
loading.value = true, $confirm(\`确定删除数据吗?\`, '提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' }).then(() => {
|
|
134
|
+
${tablestartUpShort}Remove({ ${Primary.Field}: item.${Primary.Field} }).then(res => {
|
|
135
|
+
loading.value = false, $notify.success(res?.message || '删除成功'), LoadDatas();
|
|
136
|
+
}).catch(err => {
|
|
137
|
+
loading.value = false, $notify.error(err || '删除失败');
|
|
138
|
+
})
|
|
139
|
+
}).catch(() => {
|
|
140
|
+
loading.value = false;
|
|
141
|
+
})
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* 修改字段状态
|
|
146
|
+
* **/
|
|
147
|
+
const handlerFieldChange = (item: any, field:string)=>{
|
|
148
|
+
if (item.${Primary.Field}) {
|
|
149
|
+
loading.value = true, ${tablestartUpShort}Edit(item.${Primary.Field}, { [field]: item[field] }).then(res => {
|
|
150
|
+
if( typeof(res?.data) != 'undefined' ){
|
|
151
|
+
item = res.data;
|
|
152
|
+
}
|
|
153
|
+
loading.value = false, $notify.success(res?.message || '操作成功');
|
|
154
|
+
}).catch(err => {
|
|
155
|
+
loading.value = false, $notify.error(err || '操作失败');
|
|
156
|
+
})
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* 加载数据
|
|
162
|
+
* **/
|
|
163
|
+
LoadDatas()
|
|
164
|
+
|
|
165
|
+
</script>`, 'utf-8');
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
async function createSearch({ moduleName, tablestartUpShort2, controller, Primary, Fields, apporbasic, vuedialog }) {
|
|
169
|
+
let TmpFilePath = `${process.cwd()}/vue` + (typeof (controller) == 'string' ? `/${controller}` : ``);
|
|
170
|
+
if (moduleName) {
|
|
171
|
+
TmpFilePath = TmpFilePath + `/pages/apps/${moduleName}/${tablestartUpShort2}${!vuedialog ? '/list/' : '/'}components/search.vue`;
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
TmpFilePath = TmpFilePath + `/pages/${apporbasic}/${tablestartUpShort2}${!vuedialog ? '/list/' : '/'}components/search.vue`;
|
|
175
|
+
}
|
|
176
|
+
if (!fs.existsSync(TmpFilePath)) {
|
|
177
|
+
let tmpstr = '';
|
|
178
|
+
tmpstr += "\n" + ' ' + `<el-form-item label="${Primary.Comment || '编号'}">`;
|
|
179
|
+
tmpstr += "\n" + ' ' + `<el-input v-model="props.search.${Primary.Field}" placeholder="请输入${Primary.Comment || '编号'}" clearable/>`;
|
|
180
|
+
tmpstr += "\n" + ' ' + `</el-form-item>`;
|
|
181
|
+
for (let tableKey in Fields) {
|
|
182
|
+
const Field = Fields[tableKey];
|
|
183
|
+
if (['updated_at', 'deleted_at', 'displayorder'].indexOf(tableKey) != -1) {
|
|
184
|
+
continue;
|
|
185
|
+
}
|
|
186
|
+
if (tableKey.substring(tableKey.length - 3) == 'img' || tableKey.substring(tableKey.length - 5) == 'thumb' || tableKey == 'thumb' || tableKey.substring(tableKey.length - 4) == 'logo' || tableKey == 'logo') {
|
|
187
|
+
continue;
|
|
188
|
+
}
|
|
189
|
+
if (tableKey.substring(tableKey.length - 3) == 'num') {
|
|
190
|
+
tmpstr += "\n" + ' ' + `<el-form-item label="${Field.Comment || Field.Field}">`;
|
|
191
|
+
tmpstr += "\n" + ' ' + `<el-input-number v-model="props.search.${tableKey}" placeholder="请输入${Field.Comment}" :min="1" controls-position="right" clearable/>`;
|
|
192
|
+
tmpstr += "\n" + ' ' + `</el-form-item>` + "\n";
|
|
193
|
+
}
|
|
194
|
+
else if (tableKey.endsWith('_id')) {
|
|
195
|
+
let _table_ = `${typeof (controller) == 'string' ? controller + '/' : ''}${moduleName ? moduleName + '/' : ''}${tablestartUpShort2}`;
|
|
196
|
+
tmpstr += "\n" + ' ' + `<el-form-item label="${Field.Comment || Field.Field}">`;
|
|
197
|
+
tmpstr += "\n" + ' ' + `<elplus-select-search v-model="props.search.${tableKey}" api="${_table_}" lakey="id" label="id" clearable/>`;
|
|
198
|
+
tmpstr += "\n" + ' ' + `</el-form-item>` + "\n";
|
|
199
|
+
}
|
|
200
|
+
else {
|
|
201
|
+
switch ((0, helper_1.getProp)(Field.Type)) {
|
|
202
|
+
case 'enum':
|
|
203
|
+
tmpstr += "\n" + ' ' + `<el-form-item label="${Field.Comment || Field.Field}">`;
|
|
204
|
+
tmpstr += "\n" + ' ' + `<el-select v-model="props.search.${tableKey}" placeholder="请选择${Field.Comment}" clearable>`;
|
|
205
|
+
for (let _enum of (0, helper_1.getEnum)(Field.Type)) {
|
|
206
|
+
tmpstr += "\n" + ' ' + `<el-option label="${_enum}" value="${_enum}" />`;
|
|
207
|
+
}
|
|
208
|
+
tmpstr += "\n" + ' ' + `</el-select>`;
|
|
209
|
+
tmpstr += "\n" + ' ' + `</el-form-item>` + "\n";
|
|
210
|
+
break;
|
|
211
|
+
case 'date':
|
|
212
|
+
tmpstr += "\n" + ' ' + `<el-form-item label="${Field.Comment || Field.Field}">`;
|
|
213
|
+
tmpstr += "\n" + ' ' + `<el-date-picker v-model="props.search.${tableKey}_start" placeholder="选择${Field.Comment}开始时间" type="date" value-format="YYYY-MM-DD"/>`;
|
|
214
|
+
tmpstr += "\n" + ' ' + `</el-form-item>` + "\n";
|
|
215
|
+
tmpstr += "\n" + ' ' + `<el-form-item label="${Field.Comment || Field.Field}">`;
|
|
216
|
+
tmpstr += "\n" + ' ' + `<el-date-picker v-model="props.search.${tableKey}_end" placeholder="选择${Field.Comment}结束时间" type="date" value-format="YYYY-MM-DD"/>`;
|
|
217
|
+
tmpstr += "\n" + ' ' + `</el-form-item>` + "\n";
|
|
218
|
+
break;
|
|
219
|
+
case 'datetime':
|
|
220
|
+
tmpstr += "\n" + ' ' + `<el-form-item label="${Field.Comment || Field.Field}">`;
|
|
221
|
+
tmpstr += "\n" + ' ' + `<el-date-picker v-model="props.search.${tableKey}_start" placeholder="选择${Field.Comment}开始时间" type="datetime" value-format="YYYY-MM-DD HH:mm:ss"/>`;
|
|
222
|
+
tmpstr += "\n" + ' ' + `</el-form-item>` + "\n";
|
|
223
|
+
tmpstr += "\n" + ' ' + `<el-form-item label="${Field.Comment || Field.Field}">`;
|
|
224
|
+
tmpstr += "\n" + ' ' + `<el-date-picker v-model="props.search.${tableKey}_end" placeholder="选择${Field.Comment}结束时间" type="datetime" value-format="YYYY-MM-DD HH:mm:ss"/>`;
|
|
225
|
+
tmpstr += "\n" + ' ' + `</el-form-item>` + "\n";
|
|
226
|
+
break;
|
|
227
|
+
case 'timestamp':
|
|
228
|
+
tmpstr += "\n" + ' ' + `<el-form-item label="${Field.Comment || Field.Field}">`;
|
|
229
|
+
tmpstr += "\n" + ' ' + `<el-date-picker v-model="props.search.${tableKey}_start" placeholder="选择${Field.Comment}开始时间" type="datetime" value-format="YYYY-MM-DD HH:mm:ss"/>`;
|
|
230
|
+
tmpstr += "\n" + ' ' + `</el-form-item>` + "\n";
|
|
231
|
+
tmpstr += "\n" + ' ' + `<el-form-item label="${Field.Comment || Field.Field}">`;
|
|
232
|
+
tmpstr += "\n" + ' ' + `<el-date-picker v-model="props.search.${tableKey}_end" placeholder="选择${Field.Comment}结束时间" type="datetime" value-format="YYYY-MM-DD HH:mm:ss"/>`;
|
|
233
|
+
tmpstr += "\n" + ' ' + `</el-form-item>` + "\n";
|
|
234
|
+
break;
|
|
235
|
+
case 'string':
|
|
236
|
+
tmpstr += "\n" + ' ' + `<el-form-item label="${Field.Comment || Field.Field}">`;
|
|
237
|
+
tmpstr += "\n" + ' ' + `<el-input v-model="props.search.${tableKey}" placeholder=\"请输入${Field.Comment}\" clearable/>`;
|
|
238
|
+
tmpstr += "\n" + ' ' + `</el-form-item>` + "\n";
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
fs.mkdirSync((0, path_1.dirname)(TmpFilePath), { recursive: true });
|
|
243
|
+
fs.writeFileSync(TmpFilePath, `<template>
|
|
244
|
+
${tmpstr}
|
|
245
|
+
</template>
|
|
246
|
+
<script lang="ts" setup>
|
|
247
|
+
const props = defineProps({
|
|
248
|
+
search: {type: Object ,default: ()=>{return {}}},
|
|
249
|
+
})
|
|
250
|
+
</script>`, 'utf-8');
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
async function createAddOrEdit({ moduleName, controller, tablestartUpShort, tablestartUpShort2, Primary, Fields, apporbasic, Comment }, addOrEdit = 'add') {
|
|
254
|
+
let TmpFilePath = `${process.cwd()}/vue` + (typeof (controller) == 'string' ? `/${controller}` : ``);
|
|
255
|
+
if (moduleName) {
|
|
256
|
+
TmpFilePath = TmpFilePath + `/pages/apps/${moduleName}/${tablestartUpShort2}/${addOrEdit}/index.vue`;
|
|
257
|
+
}
|
|
258
|
+
else {
|
|
259
|
+
TmpFilePath = TmpFilePath + `/pages/${apporbasic}/${tablestartUpShort2}/${addOrEdit}/index.vue`;
|
|
260
|
+
}
|
|
261
|
+
if (!fs.existsSync(TmpFilePath)) {
|
|
262
|
+
const primaryIsInt = ['text', 'mediumtext', 'string'].indexOf((0, helper_1.getProp)(Primary.Type)) == -1;
|
|
263
|
+
const apiPrefix = `${typeof (controller) == 'string' ? controller + '/' : ''}${moduleName ? moduleName + '/' : ''}${tablestartUpShort2}`;
|
|
264
|
+
let tmpstr = '';
|
|
265
|
+
for (let tableKey in Fields) {
|
|
266
|
+
const Field = Fields[tableKey];
|
|
267
|
+
if (['created_at', 'updated_at', 'deleted_at', 'displayorder'].indexOf(tableKey) != -1) {
|
|
268
|
+
continue;
|
|
269
|
+
}
|
|
270
|
+
if (tableKey.substring(tableKey.length - 4) == 'imgs' || tableKey.substring(tableKey.length - 6) == 'thumbs') {
|
|
271
|
+
tmpstr += "\n" + ' ' + `<el-form-item label="${Field.Comment || Field.Field}" prop="${tableKey}" class="block">`;
|
|
272
|
+
tmpstr += "\n" + ' ' + `<attachment-image v-model="formdata.${tableKey}" :limit="5" ${moduleName ? `module="${moduleName}"` : ``} />`;
|
|
273
|
+
tmpstr += "\n" + ' ' + `</el-form-item>` + "\n";
|
|
274
|
+
}
|
|
275
|
+
else if (tableKey.substring(tableKey.length - 3) == 'img' || tableKey.substring(tableKey.length - 5) == 'thumb' || tableKey == 'thumb' || tableKey.substring(tableKey.length - 4) == 'logo' || tableKey == 'logo') {
|
|
276
|
+
tmpstr += "\n" + ' ' + `<el-form-item label="${Field.Comment || Field.Field}" prop="${tableKey}" class="block">`;
|
|
277
|
+
tmpstr += "\n" + ' ' + `<attachment-image v-model="formdata.${tableKey}" :limit="1" ${moduleName ? `module="${moduleName}"` : ``}/>`;
|
|
278
|
+
tmpstr += "\n" + ' ' + `</el-form-item>` + "\n";
|
|
279
|
+
}
|
|
280
|
+
else if (tableKey.substring(tableKey.length - 4) == 'tags' || tableKey.substring(tableKey.length - 3) == 'tag') {
|
|
281
|
+
tmpstr += "\n" + ' ' + `<el-form-item label="${Field.Comment || Field.Field}" prop="${tableKey}">`;
|
|
282
|
+
tmpstr += "\n" + ' ' + `<elplus-select-tags v-model="formdata.${tableKey}" placeholder="请输入或选择${Field.Comment}" split="-" clearable/>`;
|
|
283
|
+
tmpstr += "\n" + ' ' + `</el-form-item>` + "\n";
|
|
284
|
+
}
|
|
285
|
+
else if (tableKey.substr(-3) == 'num') {
|
|
286
|
+
tmpstr += "\n" + ' ' + `<el-form-item label="${Field.Comment || Field.Field}" prop="${tableKey}">`;
|
|
287
|
+
tmpstr += "\n" + ' ' + `<el-input-number v-model="formdata.${tableKey}" placeholder="请输入${Field.Comment}" :min="1" controls-position="right" />`;
|
|
288
|
+
tmpstr += "\n" + ' ' + `</el-form-item>` + "\n";
|
|
289
|
+
}
|
|
290
|
+
else if (tableKey.substr(-4) == '_ids') {
|
|
291
|
+
tmpstr += "\n" + ' ' + `<el-form-item label="${Field.Comment || Field.Field}" prop="${tableKey}">`;
|
|
292
|
+
tmpstr += "\n" + ' ' + `<el-input v-model="formdata.${tableKey}" placeholder=\"请输入${Field.Comment}\" clearable/>`;
|
|
293
|
+
tmpstr += "\n" + ' ' + `</el-form-item>` + "\n";
|
|
294
|
+
}
|
|
295
|
+
else if (tableKey.substr(-3) == '_id') {
|
|
296
|
+
let _table_ = `${typeof (controller) == 'string' ? controller + '/' : ''}${moduleName ? moduleName + '/' : ''}${tablestartUpShort2}`;
|
|
297
|
+
tmpstr += "\n" + ' ' + `<el-form-item label="${Field.Comment || Field.Field}" prop="${tableKey}">`;
|
|
298
|
+
tmpstr += "\n" + ' ' + `<elplus-select-search v-model="formdata.${tableKey}" api="${_table_}" lakey="id" label="id" clearable/>`;
|
|
299
|
+
tmpstr += "\n" + ' ' + `</el-form-item>` + "\n";
|
|
300
|
+
}
|
|
301
|
+
else {
|
|
302
|
+
switch ((0, helper_1.getProp)(Field.Type)) {
|
|
303
|
+
case 'number':
|
|
304
|
+
tmpstr += "\n" + ' ' + `<el-form-item label="${Field.Comment || Field.Field}" prop="${tableKey}">`;
|
|
305
|
+
tmpstr += "\n" + ' ' + `<el-input-number v-model="formdata.${tableKey}" placeholder="请输入${Field.Comment}" :min="1" controls-position="right" />`;
|
|
306
|
+
tmpstr += "\n" + ' ' + `</el-form-item>` + "\n";
|
|
307
|
+
break;
|
|
308
|
+
case 'enum':
|
|
309
|
+
tmpstr += "\n" + ' ' + `<el-form-item label="${Field.Comment || Field.Field}" prop="${tableKey}">`;
|
|
310
|
+
tmpstr += "\n" + ' ' + `<el-select v-model="formdata.${tableKey}" placeholder="请选择${Field.Comment}" clearable>`;
|
|
311
|
+
for (let _enum of (0, helper_1.getEnum)(Field.Type)) {
|
|
312
|
+
tmpstr += "\n" + ' ' + `<el-option label="${_enum}" value="${_enum}" />`;
|
|
313
|
+
}
|
|
314
|
+
tmpstr += "\n" + ' ' + `</el-select>`;
|
|
315
|
+
tmpstr += "\n" + ' ' + `</el-form-item>` + "\n";
|
|
316
|
+
break;
|
|
317
|
+
case 'text':
|
|
318
|
+
tmpstr += "\n" + ' ' + `<el-form-item label="${Field.Comment || Field.Field}" prop="${tableKey}" class="block">`;
|
|
319
|
+
tmpstr += "\n" + ' ' + `<el-input v-model="formdata.${tableKey}" placeholder="请输入${Field.Comment}" type="textarea" :rows="4"/>`;
|
|
320
|
+
tmpstr += "\n" + ' ' + `</el-form-item>` + "\n";
|
|
321
|
+
break;
|
|
322
|
+
case 'longtext':
|
|
323
|
+
tmpstr += "\n" + ' ' + `<el-form-item label="${Field.Comment || Field.Field}" prop="${tableKey}" class="block">`;
|
|
324
|
+
tmpstr += "\n" + ' ' + `<tinymce-editor v-model="formdata.${tableKey}" ${moduleName ? `module="${moduleName}"` : ``}/>`;
|
|
325
|
+
tmpstr += "\n" + ' ' + `</el-form-item>` + "\n";
|
|
326
|
+
break;
|
|
327
|
+
case 'mediumtext':
|
|
328
|
+
tmpstr += "\n" + ' ' + `<el-form-item label="${Field.Comment || Field.Field}" prop="${tableKey}" class="block">`;
|
|
329
|
+
tmpstr += "\n" + ' ' + `<tinymce-editor v-model="formdata.${tableKey}" ${moduleName ? `module="${moduleName}"` : ``}/>`;
|
|
330
|
+
tmpstr += "\n" + ' ' + `</el-form-item>` + "\n";
|
|
331
|
+
break;
|
|
332
|
+
case 'date':
|
|
333
|
+
tmpstr += "\n" + ' ' + `<el-form-item label="${Field.Comment || Field.Field}" prop="${tableKey}">`;
|
|
334
|
+
tmpstr += "\n" + ' ' + `<el-date-picker v-model="formdata.${tableKey}" placeholder="选择${Field.Comment}" type="date" value-format="YYYY-MM-DD"/>`;
|
|
335
|
+
tmpstr += "\n" + ' ' + `</el-form-item>` + "\n";
|
|
336
|
+
break;
|
|
337
|
+
case 'datetime':
|
|
338
|
+
tmpstr += "\n" + ' ' + `<el-form-item label="${Field.Comment || Field.Field}" prop="${tableKey}">`;
|
|
339
|
+
tmpstr += "\n" + ' ' + `<el-date-picker v-model="formdata.${tableKey}" placeholder="选择${Field.Comment}" type="datetime" value-format="YYYY-MM-DD HH:mm:ss"/>`;
|
|
340
|
+
tmpstr += "\n" + ' ' + `</el-form-item>` + "\n";
|
|
341
|
+
break;
|
|
342
|
+
case 'timestamp':
|
|
343
|
+
tmpstr += "\n" + ' ' + `<el-form-item label="${Field.Comment || Field.Field}" prop="${tableKey}">`;
|
|
344
|
+
tmpstr += "\n" + ' ' + `<el-date-picker v-model="formdata.${tableKey}" placeholder="选择${Field.Comment}" type="datetime" value-format="YYYY-MM-DD HH:mm:ss"/>`;
|
|
345
|
+
tmpstr += "\n" + ' ' + `</el-form-item>` + "\n";
|
|
346
|
+
break;
|
|
347
|
+
default:
|
|
348
|
+
tmpstr += "\n" + ' ' + `<el-form-item label="${Field.Comment || Field.Field}" prop="${tableKey}">`;
|
|
349
|
+
tmpstr += "\n" + ' ' + `<el-input v-model="formdata.${tableKey}" placeholder=\"请输入${Field.Comment}\" clearable/>`;
|
|
350
|
+
tmpstr += "\n" + ' ' + `</el-form-item>` + "\n";
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
tmpstr += "\n" + ' ' + `<el-form-item label="排序" prop="displayorder">`;
|
|
355
|
+
tmpstr += "\n" + ' ' + `<el-input-number v-model="formdata.displayorder" placeholder="请输入排序权重" controls-position="right"/>`;
|
|
356
|
+
tmpstr += "\n" + ' ' + `</el-form-item>` + "\n";
|
|
357
|
+
let template = `<template>\n`;
|
|
358
|
+
template += ` <page-main>\n`;
|
|
359
|
+
template += ` <elplus-form ref="refForm" title="${addOrEdit == 'add' ? `添加${Comment}` : `编辑${Comment}`}" :model="formdata" :rules="${tablestartUpShort}${addOrEdit == 'add' ? 'Add' : 'Edit'}Rule" :loading="loading" :disabled="!$hasPrem(\`post@/${apiPrefix}/${addOrEdit == 'add' ? 'add' : `edit/:${Primary.Field}`}\`)">\n`;
|
|
360
|
+
template += ` ${tmpstr}\n\n`;
|
|
361
|
+
template += ` <template #footer>\n`;
|
|
362
|
+
template += ` <el-button v-if="$hasPrem(\`post@/${apiPrefix}/${addOrEdit == 'add' ? `add` : `edit/:${Primary.Field}`}\`)" type="primary" @click="handlerSave()">保存</el-button>\n`;
|
|
363
|
+
template += ` </template>\n`;
|
|
364
|
+
template += ` </elplus-form>\n`;
|
|
365
|
+
template += ` </page-main>\n`;
|
|
366
|
+
template += `</template>\n`;
|
|
367
|
+
template += `<script lang="ts" setup>\n`;
|
|
368
|
+
if (addOrEdit == 'add') {
|
|
369
|
+
template += `import { ${tablestartUpShort}AddRule } from '../interface';\n`;
|
|
370
|
+
template += `import { ${tablestartUpShort}Add } from '@/apis/${moduleName ? `apps/${moduleName}` : `${apporbasic}`}/${tablestartUpShort}';\n\n`;
|
|
371
|
+
}
|
|
372
|
+
else if (addOrEdit == 'edit') {
|
|
373
|
+
template += `import { ${tablestartUpShort}EditRule } from '../interface';\n`;
|
|
374
|
+
template += `import { ${tablestartUpShort}Edit, ${tablestartUpShort}Detail } from '@/apis/${moduleName ? `apps/${moduleName}` : `${apporbasic}`}/${tablestartUpShort}';\n\n`;
|
|
375
|
+
}
|
|
376
|
+
template += `const refForm = ref(), formdata = ref<any>({});\n`;
|
|
377
|
+
if (addOrEdit == 'add') {
|
|
378
|
+
template += `const loading = ref(false), router = useRouter();\n\n`;
|
|
379
|
+
}
|
|
380
|
+
else if (addOrEdit == 'edit') {
|
|
381
|
+
template += `const loading = ref(false), router = useRouter(), route = useRoute();\n\n`;
|
|
382
|
+
}
|
|
383
|
+
template += `// 保存数据\n`;
|
|
384
|
+
template += `const handlerSave = ()=>{\n`;
|
|
385
|
+
template += ` refForm.value?.validate().then((item: any) => {\n`;
|
|
386
|
+
template += ` loading.value = true, ${tablestartUpShort}${addOrEdit == 'add' ? 'Add' : 'Edit'}(${addOrEdit == 'edit' ? `item.${Primary.Field}, ` : ''}item).then(res=>{\n`;
|
|
387
|
+
template += ` loading.value = false, $notify.success(res?.message || '操作成功'), router.back();\n`;
|
|
388
|
+
template += ` }).catch(err=>{\n`;
|
|
389
|
+
template += ` loading.value = false, $notify.error(err || '网络请求错误');\n`;
|
|
390
|
+
template += ` })\n`;
|
|
391
|
+
template += ` })\n`;
|
|
392
|
+
template += `}\n\n`;
|
|
393
|
+
if (addOrEdit == 'edit') {
|
|
394
|
+
template += `// 获取详情\n`;
|
|
395
|
+
template += `const getDetail = (${Primary.Field}: ${primaryIsInt ? 'number' : 'string'}) => {\n`;
|
|
396
|
+
template += ` if (${Primary.Field}) {\n`;
|
|
397
|
+
template += ` loading.value = true, formdata.value = {};\n`;
|
|
398
|
+
template += ` ${tablestartUpShort}Detail(${Primary.Field}).then(res => {\n`;
|
|
399
|
+
template += ` loading.value = false, formdata.value = res.data;\n`;
|
|
400
|
+
template += ` }).catch(err => {\n`;
|
|
401
|
+
template += ` loading.value = false, $notify.error(err || '网络请求错误'), router.back();\n`;
|
|
402
|
+
template += ` })\n`;
|
|
403
|
+
template += ` } else {\n`;
|
|
404
|
+
template += ` router.back();\n`;
|
|
405
|
+
template += ` }\n`;
|
|
406
|
+
template += `}\n\n\n`;
|
|
407
|
+
template += `getDetail(route?.query?.${Primary.Field} as unknown as ${primaryIsInt ? 'number' : 'string'})\n`;
|
|
408
|
+
}
|
|
409
|
+
template += `</script>\n`;
|
|
410
|
+
fs.mkdirSync((0, path_1.dirname)(TmpFilePath), { recursive: true });
|
|
411
|
+
fs.writeFileSync(TmpFilePath, template, 'utf-8');
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
async function createAddOrEditDialog({ moduleName, controller, tablestartUpShort, tablestartUpShort2, Primary, Fields, apporbasic, Comment }, addOrEdit = 'add') {
|
|
415
|
+
let TmpFilePath = `${process.cwd()}/vue` + (typeof (controller) == 'string' ? `/${controller}` : ``);
|
|
416
|
+
if (moduleName) {
|
|
417
|
+
TmpFilePath = TmpFilePath + `/pages/apps/${moduleName}/${tablestartUpShort2}/components/dialog-${addOrEdit}.vue`;
|
|
418
|
+
}
|
|
419
|
+
else {
|
|
420
|
+
TmpFilePath = TmpFilePath + `/pages/${apporbasic}/${tablestartUpShort2}/components/dialog-${addOrEdit}.vue`;
|
|
421
|
+
}
|
|
422
|
+
if (!fs.existsSync(TmpFilePath)) {
|
|
423
|
+
const apiPrefix = `${typeof (controller) == 'string' ? controller + '/' : ''}${moduleName ? moduleName + '/' : ''}${tablestartUpShort2}`;
|
|
424
|
+
let tmpstr = '';
|
|
425
|
+
for (let tableKey in Fields) {
|
|
426
|
+
const Field = Fields[tableKey];
|
|
427
|
+
if (['created_at', 'updated_at', 'deleted_at', 'displayorder'].indexOf(tableKey) != -1) {
|
|
428
|
+
continue;
|
|
429
|
+
}
|
|
430
|
+
if (tableKey.substring(tableKey.length - 4) == 'imgs' || tableKey.substring(tableKey.length - 6) == 'thumbs') {
|
|
431
|
+
tmpstr += "\n" + ' ' + `<el-form-item label="${Field.Comment || Field.Field}" prop="${tableKey}" class="block">`;
|
|
432
|
+
tmpstr += "\n" + ' ' + `<attachment-image v-model="formdata.${tableKey}" :limit="5" ${moduleName ? `module="${moduleName}"` : ``} />`;
|
|
433
|
+
tmpstr += "\n" + ' ' + `</el-form-item>` + "\n";
|
|
434
|
+
}
|
|
435
|
+
else if (tableKey.substring(tableKey.length - 3) == 'img' || tableKey.substring(tableKey.length - 5) == 'thumb' || tableKey == 'thumb' || tableKey.substring(tableKey.length - 4) == 'logo' || tableKey == 'logo') {
|
|
436
|
+
tmpstr += "\n" + ' ' + `<el-form-item label="${Field.Comment || Field.Field}" prop="${tableKey}" class="block">`;
|
|
437
|
+
tmpstr += "\n" + ' ' + `<attachment-image v-model="formdata.${tableKey}" :limit="1" ${moduleName ? `module="${moduleName}"` : ``}/>`;
|
|
438
|
+
tmpstr += "\n" + ' ' + `</el-form-item>` + "\n";
|
|
439
|
+
}
|
|
440
|
+
else if (tableKey.substring(tableKey.length - 4) == 'tags' || tableKey.substring(tableKey.length - 3) == 'tag') {
|
|
441
|
+
tmpstr += "\n" + ' ' + `<el-form-item label="${Field.Comment || Field.Field}" prop="${tableKey}">`;
|
|
442
|
+
tmpstr += "\n" + ' ' + `<elplus-select-tags v-model="formdata.${tableKey}" placeholder="请输入或选择${Field.Comment}" split="-" clearable/>`;
|
|
443
|
+
tmpstr += "\n" + ' ' + `</el-form-item>` + "\n";
|
|
444
|
+
}
|
|
445
|
+
else if (tableKey.substr(-3) == 'num') {
|
|
446
|
+
tmpstr += "\n" + ' ' + `<el-form-item label="${Field.Comment || Field.Field}" prop="${tableKey}">`;
|
|
447
|
+
tmpstr += "\n" + ' ' + `<el-input-number v-model="formdata.${tableKey}" placeholder="请输入${Field.Comment}" :min="1" controls-position="right" />`;
|
|
448
|
+
tmpstr += "\n" + ' ' + `</el-form-item>` + "\n";
|
|
449
|
+
}
|
|
450
|
+
else if (tableKey.substr(-4) == '_ids') {
|
|
451
|
+
tmpstr += "\n" + ' ' + `<el-form-item label="${Field.Comment || Field.Field}" prop="${tableKey}">`;
|
|
452
|
+
tmpstr += "\n" + ' ' + `<el-input v-model="formdata.${tableKey}" placeholder=\"请输入${Field.Comment}\" clearable/>`;
|
|
453
|
+
tmpstr += "\n" + ' ' + `</el-form-item>` + "\n";
|
|
454
|
+
}
|
|
455
|
+
else if (tableKey.substr(-3) == '_id') {
|
|
456
|
+
let _table_ = `${typeof (controller) == 'string' ? controller + '/' : ''}${moduleName ? moduleName + '/' : ''}${tablestartUpShort2}`;
|
|
457
|
+
tmpstr += "\n" + ' ' + `<el-form-item label="${Field.Comment || Field.Field}" prop="${tableKey}">`;
|
|
458
|
+
tmpstr += "\n" + ' ' + `<elplus-select-search v-model="formdata.${tableKey}" api="${_table_}" lakey="id" label="id" clearable/>`;
|
|
459
|
+
tmpstr += "\n" + ' ' + `</el-form-item>` + "\n";
|
|
460
|
+
}
|
|
461
|
+
else {
|
|
462
|
+
switch ((0, helper_1.getProp)(Field.Type)) {
|
|
463
|
+
case 'number':
|
|
464
|
+
tmpstr += "\n" + ' ' + `<el-form-item label="${Field.Comment || Field.Field}" prop="${tableKey}">`;
|
|
465
|
+
tmpstr += "\n" + ' ' + `<el-input-number v-model="formdata.${tableKey}" placeholder="请输入${Field.Comment}" :min="1" controls-position="right" />`;
|
|
466
|
+
tmpstr += "\n" + ' ' + `</el-form-item>` + "\n";
|
|
467
|
+
break;
|
|
468
|
+
case 'enum':
|
|
469
|
+
tmpstr += "\n" + ' ' + `<el-form-item label="${Field.Comment || Field.Field}" prop="${tableKey}">`;
|
|
470
|
+
tmpstr += "\n" + ' ' + `<el-select v-model="formdata.${tableKey}" placeholder="请选择${Field.Comment}" clearable>`;
|
|
471
|
+
for (let _enum of (0, helper_1.getEnum)(Field.Type)) {
|
|
472
|
+
tmpstr += "\n" + ' ' + `<el-option label="${_enum}" value="${_enum}" />`;
|
|
473
|
+
}
|
|
474
|
+
tmpstr += "\n" + ' ' + `</el-select>`;
|
|
475
|
+
tmpstr += "\n" + ' ' + `</el-form-item>` + "\n";
|
|
476
|
+
break;
|
|
477
|
+
case 'text':
|
|
478
|
+
tmpstr += "\n" + ' ' + `<el-form-item label="${Field.Comment || Field.Field}" prop="${tableKey}" class="block">`;
|
|
479
|
+
tmpstr += "\n" + ' ' + `<el-input v-model="formdata.${tableKey}" placeholder="请输入${Field.Comment}" type="textarea" :rows="4"/>`;
|
|
480
|
+
tmpstr += "\n" + ' ' + `</el-form-item>` + "\n";
|
|
481
|
+
break;
|
|
482
|
+
case 'longtext':
|
|
483
|
+
tmpstr += "\n" + ' ' + `<el-form-item label="${Field.Comment || Field.Field}" prop="${tableKey}" class="block">`;
|
|
484
|
+
tmpstr += "\n" + ' ' + `<tinymce-editor v-model="formdata.${tableKey}" ${moduleName ? `module="${moduleName}"` : ``}/>`;
|
|
485
|
+
tmpstr += "\n" + ' ' + `</el-form-item>` + "\n";
|
|
486
|
+
break;
|
|
487
|
+
case 'mediumtext':
|
|
488
|
+
tmpstr += "\n" + ' ' + `<el-form-item label="${Field.Comment || Field.Field}" prop="${tableKey}" class="block">`;
|
|
489
|
+
tmpstr += "\n" + ' ' + `<tinymce-editor v-model="formdata.${tableKey}" ${moduleName ? `module="${moduleName}"` : ``}/>`;
|
|
490
|
+
tmpstr += "\n" + ' ' + `</el-form-item>` + "\n";
|
|
491
|
+
break;
|
|
492
|
+
case 'date':
|
|
493
|
+
tmpstr += "\n" + ' ' + `<el-form-item label="${Field.Comment || Field.Field}" prop="${tableKey}">`;
|
|
494
|
+
tmpstr += "\n" + ' ' + `<el-date-picker v-model="formdata.${tableKey}" placeholder="选择${Field.Comment}" type="date" value-format="YYYY-MM-DD"/>`;
|
|
495
|
+
tmpstr += "\n" + ' ' + `</el-form-item>` + "\n";
|
|
496
|
+
break;
|
|
497
|
+
case 'datetime':
|
|
498
|
+
tmpstr += "\n" + ' ' + `<el-form-item label="${Field.Comment || Field.Field}" prop="${tableKey}">`;
|
|
499
|
+
tmpstr += "\n" + ' ' + `<el-date-picker v-model="formdata.${tableKey}" placeholder="选择${Field.Comment}" type="datetime" value-format="YYYY-MM-DD HH:mm:ss"/>`;
|
|
500
|
+
tmpstr += "\n" + ' ' + `</el-form-item>` + "\n";
|
|
501
|
+
break;
|
|
502
|
+
case 'timestamp':
|
|
503
|
+
tmpstr += "\n" + ' ' + `<el-form-item label="${Field.Comment || Field.Field}" prop="${tableKey}">`;
|
|
504
|
+
tmpstr += "\n" + ' ' + `<el-date-picker v-model="formdata.${tableKey}" placeholder="选择${Field.Comment}" type="datetime" value-format="YYYY-MM-DD HH:mm:ss"/>`;
|
|
505
|
+
tmpstr += "\n" + ' ' + `</el-form-item>` + "\n";
|
|
506
|
+
break;
|
|
507
|
+
default:
|
|
508
|
+
tmpstr += "\n" + ' ' + `<el-form-item label="${Field.Comment || Field.Field}" prop="${tableKey}">`;
|
|
509
|
+
tmpstr += "\n" + ' ' + `<el-input v-model="formdata.${tableKey}" placeholder=\"请输入${Field.Comment}\" clearable/>`;
|
|
510
|
+
tmpstr += "\n" + ' ' + `</el-form-item>` + "\n";
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
}
|
|
514
|
+
tmpstr += "\n" + ' ' + `<el-form-item label="排序" prop="displayorder">`;
|
|
515
|
+
tmpstr += "\n" + ' ' + `<el-input-number v-model="formdata.displayorder" placeholder="请输入排序权重" controls-position="right"/>`;
|
|
516
|
+
tmpstr += "\n" + ' ' + `</el-form-item>` + "\n";
|
|
517
|
+
let template = `<template>\n`;
|
|
518
|
+
template += ` <elplus-dialog ref="refDialog" :loading="loading" title="${addOrEdit == 'add' ? `添加${Comment}` : `编辑${Comment}`}">\n`;
|
|
519
|
+
template += ` <elplus-form ref="refForm" :model="formdata" :rules="${tablestartUpShort}${addOrEdit == 'add' ? 'Add' : 'Edit'}Rule" :loading="loading" :disabled="!$hasPrem(\`post@/${apiPrefix}/${addOrEdit == 'add' ? 'add' : `edit/:${Primary.Field}`}\`)">\n`;
|
|
520
|
+
template += ` ${tmpstr}\n\n`;
|
|
521
|
+
template += ` </elplus-form>\n`;
|
|
522
|
+
template += ` <template #footer>\n`;
|
|
523
|
+
template += ` <el-button v-if="$hasPrem(\`post@/${apiPrefix}/${addOrEdit == 'add' ? `add` : `edit/:${Primary.Field}`}\`)" type="primary" @click="handlerSave()">保存</el-button>\n`;
|
|
524
|
+
template += ` </template>\n`;
|
|
525
|
+
template += ` </elplus-dialog>\n`;
|
|
526
|
+
template += `</template>\n`;
|
|
527
|
+
template += `<script lang="ts" setup>\n`;
|
|
528
|
+
if (addOrEdit == 'add') {
|
|
529
|
+
template += `import { ${tablestartUpShort}AddRule } from '../interface';\n`;
|
|
530
|
+
template += `import { ${tablestartUpShort}Add } from '@/apis/${moduleName ? `apps/${moduleName}` : `${apporbasic}`}/${tablestartUpShort}';\n\n`;
|
|
531
|
+
}
|
|
532
|
+
else if (addOrEdit == 'edit') {
|
|
533
|
+
template += `import { ${tablestartUpShort}EditRule } from '../interface';\n`;
|
|
534
|
+
template += `import { ${tablestartUpShort}Detail, ${tablestartUpShort}Edit } from '@/apis/${moduleName ? `apps/${moduleName}` : `${apporbasic}`}/${tablestartUpShort}';\n\n`;
|
|
535
|
+
}
|
|
536
|
+
if (addOrEdit == 'add') {
|
|
537
|
+
template += `const loading = ref(false), refDialog = ref(null), refForm = ref(null), formdata = ref<any>({}), emits = defineEmits(['save']), open = () => {\n`;
|
|
538
|
+
template += ` formdata.value = {}, refDialog?.value?.open();\n`;
|
|
539
|
+
template += `}\n\n`;
|
|
540
|
+
}
|
|
541
|
+
else if (addOrEdit == 'edit') {
|
|
542
|
+
template += `const loading = ref(false), refDialog = ref(null), refForm = ref(null), formdata = ref<any>({}), emits = defineEmits(['save']), open = (${Primary.Field}) => {\n`;
|
|
543
|
+
template += ` formdata.value = {}, ${tablestartUpShort}Detail(${Primary.Field}).then(res => {\n`;
|
|
544
|
+
template += ` formdata.value = res?.data || {}, refDialog?.value?.open();\n`;
|
|
545
|
+
template += ` }).catch(err => {\n`;
|
|
546
|
+
template += ` $notify.error(err || '网络请求错误')\n`;
|
|
547
|
+
template += ` })\n`;
|
|
548
|
+
template += `}\n\n`;
|
|
549
|
+
}
|
|
550
|
+
;
|
|
551
|
+
template += `// 保存数据\n`;
|
|
552
|
+
template += `const handlerSave = ()=>{\n`;
|
|
553
|
+
template += ` refForm.value?.validate().then((item: any) => {\n`;
|
|
554
|
+
template += ` loading.value = true, ${tablestartUpShort}${addOrEdit == 'add' ? 'Add' : 'Edit'}(${addOrEdit == 'edit' ? `item.${Primary.Field}, ` : ''}item).then(res=>{\n`;
|
|
555
|
+
template += ` loading.value = false, $notify.success(res?.message || '操作成功'), emits('save'), refDialog?.value?.close()\n`;
|
|
556
|
+
template += ` }).catch(err=>{\n`;
|
|
557
|
+
template += ` loading.value = false, $notify.error(err || '网络请求错误');\n`;
|
|
558
|
+
template += ` })\n`;
|
|
559
|
+
template += ` })\n`;
|
|
560
|
+
template += `}\n\n`;
|
|
561
|
+
template += `defineExpose({ open })\n`;
|
|
562
|
+
template += `</script>\n`;
|
|
563
|
+
fs.mkdirSync((0, path_1.dirname)(TmpFilePath), { recursive: true });
|
|
564
|
+
fs.writeFileSync(TmpFilePath, template, 'utf-8');
|
|
565
|
+
}
|
|
566
|
+
}
|
|
567
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGF5b3V0VnVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RlbXBsYXRlVnVlVjMvTGF5b3V0VnVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBSUEsNEJBWUM7QUFoQkQseUJBQXlCO0FBQ3pCLCtCQUE4QjtBQUM5QixzQ0FBNEM7QUFFN0IsS0FBSyxvQkFBVyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRTtJQUU3SSxNQUFNLFdBQVcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQTtJQUM1SCxNQUFNLFlBQVksQ0FBQyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQTtJQUUxRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDYixNQUFNLGVBQWUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDckksTUFBTSxlQUFlLENBQUMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0lBQzFJLENBQUM7U0FBSSxDQUFDO1FBQ0YsTUFBTSxxQkFBcUIsQ0FBQyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEVB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
|